All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:15,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: extract_avg_init
    functionSourceFile: /src/tdengine/tests/script/sh/extract_avg.c
    functionUses: []
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t extract_avg_init() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/extract_avg.c:50,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:56,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/tests/script/sh/extract_avg.c:59,1
    - Dst: memset
      Src: /src/tdengine/tests/script/sh/extract_avg.c:67,1
    - Dst: strtod
      Src: /src/tdengine/tests/script/sh/extract_avg.c:85,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/extract_avg.c:88,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:60,1
    - Dst: varDataVal
      Src: /src/tdengine/tests/script/sh/extract_avg.c:68,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:70,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:94,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:80,1
    - Dst: strtok_r
      Src: /src/tdengine/tests/script/sh/extract_avg.c:74,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/sh/extract_avg.c:99,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/sh/extract_avg.c:76,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:38,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/extract_avg.c:42,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/sh/extract_avg.c:68,1
    - Dst: varDataLen
      Src: /src/tdengine/tests/script/sh/extract_avg.c:68,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/extract_avg.c:101,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:107,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/extract_avg.c:64,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/sh/extract_avg.c:104,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 3
    argNames:
    - inputBlock
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 109
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 109
    functionName: extract_avg
    functionSourceFile: /src/tdengine/tests/script/sh/extract_avg.c
    functionUses: []
    functionsReached:
    - malloc
    - varDataLen
    - strtod
    - udfTrace
    - varDataVal
    - memset
    - udfColDataIsNull
    - strlen
    - strtok_r
    - udfColDataGetData
    - memcpy
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t extract_avg(SUdfDataBlock *inputBlock, SUdfInterBuf
      *interBuf, SUdfInterBuf *newInterBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/extract_avg.c:22,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - interBuf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: extract_avg_start
    functionSourceFile: /src/tdengine/tests/script/sh/extract_avg.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t extract_avg_start(SUdfInterBuf *interBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - interBuf
    - result
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: extract_avg_finish
    functionSourceFile: /src/tdengine/tests/script/sh/extract_avg.c
    functionUses: []
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t extract_avg_finish(SUdfInterBuf *interBuf, SUdfInterBuf
      *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/extract_avg.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: extract_avg_destroy
    functionSourceFile: /src/tdengine/tests/script/sh/extract_avg.c
    functionUses: []
    functionsReached:
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t extract_avg_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 6
    functionName: l2norm_init
    functionSourceFile: /src/tdengine/tests/script/sh/l2norm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_init() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/l2norm.c:13,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: l2norm_start
    functionSourceFile: /src/tdengine/tests/script/sh/l2norm.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_start(SUdfInterBuf* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: l2norm_destroy
    functionSourceFile: /src/tdengine/tests/script/sh/l2norm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_destroy() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:25,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/tests/script/sh/l2norm.c:42,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/l2norm.c:49,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/l2norm.c:30,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:43,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:52,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/l2norm.c:56,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:59,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:67,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:74,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 76
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 76
    functionName: l2norm
    functionSourceFile: /src/tdengine/tests/script/sh/l2norm.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm(SUdfDataBlock* block, SUdfInterBuf* interBuf,
      SUdfInterBuf* newInterBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/tests/script/sh/l2norm.c:80,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/l2norm.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: l2norm_finish
    functionSourceFile: /src/tdengine/tests/script/sh/l2norm.c
    functionUses: []
    functionsReached:
    - sqrt
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_finish(SUdfInterBuf* buf, SUdfInterBuf*
      resultData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: gpd_init
    functionSourceFile: /src/tdengine/tests/script/sh/gpd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/gpd.c:31,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/gpd.c:32,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/sh/gpd.c:37,1
    - Dst: varDataVal
      Src: /src/tdengine/tests/script/sh/gpd.c:37,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/gpd.c:33,1
    - Dst: varDataLen
      Src: /src/tdengine/tests/script/sh/gpd.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/sh/gpd.c:38,1
    - Dst: varDataVal
      Src: /src/tdengine/tests/script/sh/gpd.c:38,1
    - Dst: varDataLen
      Src: /src/tdengine/tests/script/sh/gpd.c:38,1
    - Dst: printf
      Src: /src/tdengine/tests/script/sh/gpd.c:39,1
    - Dst: udfColDataSet
      Src: /src/tdengine/tests/script/sh/gpd.c:41,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: gpd
    functionSourceFile: /src/tdengine/tests/script/sh/gpd.c
    functionUses: []
    functionsReached:
    - varDataLen
    - udfColDataSet
    - varDataVal
    - printf
    - udfColDataGetData
    - memcpy
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd(SUdfDataBlock* block, SUdfColumn *resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: gpd_destroy
    functionSourceFile: /src/tdengine/tests/script/sh/gpd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: bit_and_init
    functionSourceFile: /src/tdengine/tests/script/sh/bit_and.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: bit_and_destroy
    functionSourceFile: /src/tdengine/tests/script/sh/bit_and.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and_destroy() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:10,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/tests/script/sh/bit_and.c:28,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/bit_and.c:13,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/bit_and.c:20,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/tests/script/sh/bit_and.c:29,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:30,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/bit_and.c:34,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:35,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/tests/script/sh/bit_and.c:39,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/tests/script/sh/bit_and.c:40,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/bit_and.c:45,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:41,1
    - Dst: udfColDataSet
      Src: /src/tdengine/tests/script/sh/bit_and.c:51,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:57,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:52,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/bit_and.c:47,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 60
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 60
    functionName: bit_and
    functionSourceFile: /src/tdengine/tests/script/sh/bit_and.c
    functionUses: []
    functionsReached:
    - udfColDataSet
    - udfTrace
    - udfColDataSetNull
    - udfColDataIsNull
    - udfColDataGetData
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and(SUdfDataBlock* block, SUdfColumn* resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: max_vol_init
    functionSourceFile: /src/tdengine/tests/script/sh/max_vol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t max_vol_init() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/max_vol.c:15,1
    - Dst: memset
      Src: /src/tdengine/tests/script/sh/max_vol.c:20,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 25
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 25
    functionName: max_vol_start
    functionSourceFile: /src/tdengine/tests/script/sh/max_vol.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    - memset
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t max_vol_start(SUdfInterBuf *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 10
    functionName: max_vol_destroy
    functionSourceFile: /src/tdengine/tests/script/sh/max_vol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t max_vol_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tests/script/sh/max_vol.c:99,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:110,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/sh/max_vol.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 112
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 112
    functionName: max_vol_finish
    functionSourceFile: /src/tdengine/tests/script/sh/max_vol.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t max_vol_finish(SUdfInterBuf *buf, SUdfInterBuf
      *resultData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:28,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/max_vol.c:49,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/max_vol.c:34,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/tests/script/sh/max_vol.c:60,1
    - Dst: udfError
      Src: /src/tdengine/tests/script/sh/max_vol.c:44,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:61,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/max_vol.c:65,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:69,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/tests/script/sh/max_vol.c:72,1
    - Dst: udfColDataGetDataLen
      Src: /src/tdengine/tests/script/sh/max_vol.c:73,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:81,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/sh/max_vol.c:88,1
    - Dst: strncpy
      Src: /src/tdengine/tests/script/sh/max_vol.c:87,1
    - Dst: snprintf
      Src: /src/tdengine/tests/script/sh/max_vol.c:80,1
    - Dst: udfTrace
      Src: /src/tdengine/tests/script/sh/max_vol.c:91,1
    - Dst: strncpy
      Src: /src/tdengine/tests/script/sh/max_vol.c:79,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 93
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 93
    functionName: max_vol
    functionSourceFile: /src/tdengine/tests/script/sh/max_vol.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncpy
    - udfTrace
    - udfColDataIsNull
    - strlen
    - udfColDataGetDataLen
    - udfColDataGetData
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t max_vol(SUdfDataBlock *block, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:22,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:25,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:23,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 26
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 26
    functionName: createdb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: 'void createdb(TAOS* taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:111,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:112,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:113,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:119,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:100,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:109,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:114,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:118,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:127,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:129,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:103,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:105,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:123,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:125,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:103,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:104,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:101,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:112,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:116,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:123,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:124,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:122,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 5
    argNames:
    - taos
    - tbs
    - tags
    - paramv
    - sql
    argTypes:
    - TAOS*
    - char**
    - TAOS_STMT2_BIND**
    - TAOS_STMT2_BIND**
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: insert
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - exit
    - clock
    - taos_stmt2_init
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_exec
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void insert(TAOS* taos, char **tbs, TAOS_STMT2_BIND **tags, TAOS_STMT2_BIND
      **paramv, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:153,1
    - Dst: UINIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:168,1
    - Dst: insert
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:166,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 15
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 169
    functionName: insert_dup_rows
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - insert
    - UINIT
    - INIT
    linkageType: ''
    returnType: void
    signature: 'void insert_dup_rows(TAOS* taos, const char *sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:11,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:14,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:15,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:14,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:12,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:18,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 19
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 19
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS* taos, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:140,1
    - Dst: UINIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:144,1
    - Dst: insert
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 4
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: insert_dist
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - insert
    - UINIT
    - INIT
    linkageType: ''
    returnType: void
    signature: 'void insert_dist(TAOS* taos, const char *sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:177,1
    - Dst: insert
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:187,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:180,1
    - Dst: UINIT
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:189,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 12
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: insert_dup_tables
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - insert
    - UINIT
    - INIT
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void insert_dup_tables(TAOS* taos, const char *sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:193,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:195,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:195,1
    - Dst: createdb
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:199,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:196,1
    - Dst: insert_dist
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:201,1
    - Dst: insert_dup_rows
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:203,1
    - Dst: insert_dup_tables
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:205,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:207,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - insert_dist
    - exit
    - createdb
    - insert_dup_rows
    - taos_connect
    - insert_dup_tables
    - printf
    - taos_close
    - taos_errstr
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:677,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/tests/script/api/stmt2-test.c:683,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:690,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:685,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 692
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 692
    functionName: generateQueryCondSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - bpAppendOperatorParam
    - bpAppendColumnName
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateQueryCondSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2919
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2919
    functionName: bpSetStartupTs
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bpSetStartupTs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:696,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:708,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:700,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/tests/script/api/stmt2-test.c:703,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 709
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 709
    functionName: bpGenerateConstInOpSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - bpAppendOperatorParam
    - bpAppendColumnName
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void bpGenerateConstInOpSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2042,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2058,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2062,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2068,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2030,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2057,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2053,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2056,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2048,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2052,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2064,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2070,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2077,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2025,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2027,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2029,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2040,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2057,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2043,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2063,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2029,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2033,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2039,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2042,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2063,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2082
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2082
    functionName: insertMPMETest1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - destroyData
    - bpCheckAffectedRows
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMPMETest1(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1665,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1668,1
    - Dst: st_stmt2_set_tbname
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1666,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1669,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1668,1
    - Dst: bpCheckTagFields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1672,1
    - Dst: st_stmt2_set_tags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1674,1
    - Dst: st_stmt2_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1676,1
    - Dst: st_stmt2_set_tbname
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - data
    - tblIdx
    - tblName
    - stmt
    argTypes:
    - BindData*
    - int32_t
    - char*
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1681
    functionName: bpSetTableNameTags
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - bpCheckTagFields
    - st_stmt2_set_tbname_tags
    - st_stmt2_error
    - printf
    - st_stmt2_set_tags
    - rand
    - st_stmt2_set_tbname
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpSetTableNameTags(BindData *data, int32_t tblIdx, char *tblName,
      TAOS_STMT2 *stmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2470,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2472,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2475,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2474,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2474,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2478,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2480,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2482,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2482,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2483,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2489,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2488,1
    - Dst: bpAddWrongVarBuffLen
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2486,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2495
    functionName: insertVarLenErr
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - st_stmt2_error
    - bpSetTableNameTags
    - bpAddWrongVarBuffLen
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertVarLenErr(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2501,1
    - Dst: generateErrorSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2502,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2504,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2506,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2506,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2508,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2509,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2516
    functionName: errorSQLTest1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - st_stmt2_error
    - destroyData
    - generateErrorSQL
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: 'int errorSQLTest1(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2606,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2626,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2618,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2620,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2610,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2627,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2633,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2635,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2636,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2638,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2653,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2650,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2646,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2643,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2638,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2645,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2656
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2656
    functionName: sql_perf_s1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - taos_query
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - calloc
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_perf_s1(TAOS *taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2563,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2581,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2569,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2571,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2573,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2583,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2584,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2586,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2586,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2587,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2591,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2594,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2588,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2598,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2593,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2602
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2602
    functionName: sql_perf1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_perf1(TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1967,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1971,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1969,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1986,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1996,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2004,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1971,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1975,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2001,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1999,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2006,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2012,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1984,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1987,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1991,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2000,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1992,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2005,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2011,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2014,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1972,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1983,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1986,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2000,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2005,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2017
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 2017
    functionName: insertMBMETest4
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest4(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - tags
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1359
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1359
    functionName: st_stmt2_set_tags
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_set_tags(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *tags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - stmt
    - name
    - tags
    argTypes:
    - TAOS_STMT2*
    - char*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1367
    functionName: st_stmt2_set_tbname_tags
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_set_tbname_tags(TAOS_STMT2 *stmt, char *name,
      TAOS_STMT2_BIND *tags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:611,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/stmt2-test.c:611,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:620,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:619,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 622
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 622
    functionName: bpAppendFunctionParam
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - sprintf
    - printf
    - rand
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void bpAppendFunctionParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1181,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1182,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1189,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1186,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1190,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - result
    - printr
    - rows
    argTypes:
    - TAOS_RES*
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1194
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1194
    functionName: bpFetchRows
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_fetch_row
    - taos_num_fields
    - taos_print_row
    - memset
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void bpFetchRows(TAOS_RES *result, bool printr, int32_t *rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pBind
    - dataType
    argTypes:
    - TAOS_STMT2_BIND*
    - int32_t
    constantsTouched: []
    func_position:
      end: 417
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 417
    functionName: colExists
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool colExists(TAOS_STMT2_BIND *pBind, int32_t dataType) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:627,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:630,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:633,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:636,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:639,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:642,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:645,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:648,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:651,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:654,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:670,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:660,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:669,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:666,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:657,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:663,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - data
    - type
    - len
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 674
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 674
    functionName: bpAppendColumnName
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpAppendColumnName(BindData *data, int32_t type, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1197,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1201,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1198,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1200,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1200,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1202,1
    - Dst: bpFetchRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1205,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - taos
    - sql
    - printr
    - rows
    argTypes:
    - TAOS*
    - char*
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1208
    functionName: bpExecQuery
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    - bpFetchRows
    linkageType: ''
    returnType: void
    signature: 'void bpExecQuery(TAOS *taos, char *sql, bool printr, int32_t *rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - affected_rows
    argTypes:
    - TAOS_STMT2*
    - int*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1301
    functionName: st_stmt2_exec
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_exec
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_exec(TAOS_STMT2 *stmt, int *affected_rows) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - stmt
    - idx
    - type
    - bytes
    argTypes:
    - TAOS_STMT2*
    - int
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1345
    functionName: st_stmt2_get_param
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taos_stmt2_get_fields
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_get_param(TAOS_STMT2 *stmt, int idx, int *type,
      int *bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_is_insert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT2*
    - int*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1303
    functionName: st_stmt2_is_insert
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_is_insert
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_is_insert(TAOS_STMT2 *stmt, int *insert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - name
    argTypes:
    - TAOS_STMT2*
    - char*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1352
    functionName: st_stmt2_set_tbname
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_set_tbname(TAOS_STMT2 *stmt, char *name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1564,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1566,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1567,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1566,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1575,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1577
    functionName: bpCheckTagFields
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_error
    - taos_stmt2_get_fields
    - taos_stmt2_free_fields
    - printf
    - bpCheckColTagFields
    linkageType: ''
    returnType: void
    signature: 'void bpCheckTagFields(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *pBind) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2211,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2213,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2215,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2229,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2246,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2215,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2219,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2243,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2248,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2263,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2227,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2230,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2241,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2242,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2247,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2253,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2216,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2226,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2229,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2235,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2237,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2242,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2238,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2247,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2255,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2268
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2268
    functionName: insertAUTOTest2
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - destroyData
    - bpCheckAffectedRows
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest2(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1589,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1595,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1591,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1592,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1606
    functionName: bpCheckColFields
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - taosMemoryFree
    - st_stmt2_error
    - taos_stmt2_get_fields
    - taosMemoryMalloc
    - printf
    - bpCheckColTagFields
    linkageType: ''
    returnType: void
    signature: 'void bpCheckColFields(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *pBind) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-test.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: taosMemoryFree
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void taosMemoryFree(const void *ptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:746,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:756,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:750,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:753,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:759,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:764,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 766
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 766
    functionName: generateErrorSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateErrorSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    functionName: st_stmt2_bind_param
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_bind_param(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *bind) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:778,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:797,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:792,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/tests/script/api/stmt2-test.c:779,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/stmt2-test.c:794,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/stmt2-test.c:806,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 5
    argNames:
    - isQuery
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - bool
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 816
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 816
    functionName: generateColDataType
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - colExists
    - IS_NUMERIC_TYPE
    - rand
    linkageType: ''
    returnType: void
    signature: 'void generateColDataType(bool isQuery, BindData *data, int32_t bindIdx,
      int32_t colIdx, int32_t *dataType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1390
    functionName: st_stmt2_add_batch
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_add_batch(TAOS_STMT2 *stmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2277,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2294,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2297,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2298,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2308,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2313,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2303,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2287,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2291,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2301,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2302,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2307,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2315,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2322,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2286,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2284,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2282,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2302,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2307,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2286,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2327
    functionName: insertAUTOTest3
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - destroyData
    - bpCheckAffectedRows
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - generateInsertSQL
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest3(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/tests/script/api/stmt2-test.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: taosGetTimestampMs
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t taosGetTimestampMs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1289
    functionName: st_stmt2_close
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_close
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_close(TAOS_STMT2 *stmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2340,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2354,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2355,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2361,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2356,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2369,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2339,1
    - Dst: prepareQueryCondData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2335,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2337,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2350,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2351,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2356,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2371,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2334,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2339,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2347,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2362,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2366,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2344,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2362,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2363,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2357,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2375
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2375
    functionName: queryColumnTest
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - destroyData
    - printf
    - memset
    - st_stmt2_exec
    - bpCheckIsInsert
    - bpCheckQueryResult
    - rand
    - st_stmt2_add_batch
    - prepareQueryCondData
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int queryColumnTest(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2104,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2124,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2130,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2092,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2115,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2110,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2121,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2114,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2126,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2132,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2087,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2089,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2091,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2102,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2119,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2105,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2120,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2125,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2134,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2091,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2095,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2101,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2104,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2120,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2137
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2137
    functionName: insertStbTest
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - destroyData
    - bpCheckAffectedRows
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertStbTest(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: runCase
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 3131
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3131
    functionName: runCaseList
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - runCase
    linkageType: ''
    returnType: void*
    signature: 'void *runCaseList(TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tests/script/api/stmt2-test.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: taosGetTimeOfDay
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetTimeOfDay(struct timeval *tv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1291
    functionName: st_stmt2_error
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_error
    linkageType: ''
    returnType: char*
    signature: 'static char *st_stmt2_error(TAOS_STMT2 *stmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3139,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3145,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3151,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3154,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3163,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3164,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3170,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3183,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3184,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3180,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3192,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3173,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3136,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3134,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3140,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3142,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3146,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3148,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3157,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3158,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3160,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3169,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3153,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3178,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3190,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3186,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3135,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3205,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3177,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 3206
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3206
    functionName: runAll
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - strcpy
    - runCaseList
    - printf
    linkageType: ''
    returnType: void
    signature: 'void runAll(TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - sql
    - length
    argTypes:
    - TAOS_STMT2*
    - char*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 1295
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1295
    functionName: st_stmt2_prepare
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_prepare
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_prepare(TAOS_STMT2 *stmt, const char *sql, unsigned
      long length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - stmt
    - bindv
    - col_idx
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BINDV*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: st_stmt2_bind
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_bind(TAOS_STMT2 *stmt, TAOS_STMT2_BINDV *bindv,
      int32_t col_idx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2149,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2153,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2159,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2162,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2183,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2198,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2145,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2162,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2182,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2178,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2188,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2150,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2172,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2177,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2176,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2173,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2168,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2184,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2190,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2149,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2147,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2160,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2177,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2163,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2203
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2203
    functionName: insertAUTOTest1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - destroyData
    - bpCheckAffectedRows
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest1(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2387,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2402,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2403,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2409,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2404,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2414,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2398,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2399,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2404,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2411,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2382,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2388,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2395,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2410,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2417,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2385,1
    - Dst: prepareQueryMiscData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2383,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2387,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2392,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2410,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2405,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2419,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2423
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2423
    functionName: queryMiscTest
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - destroyData
    - printf
    - prepareQueryMiscData
    - memset
    - bpCheckIsInsert
    - st_stmt2_exec
    - bpCheckQueryResult
    - rand
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int queryMiscTest(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/tests/script/api/stmt2-test.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: taosGetTimestampUs
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t taosGetTimestampUs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:713,1
    - Dst: bpAppendFunctionParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:720,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:723,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 724
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 724
    functionName: bpGenerateConstInFuncSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - bpAppendFunctionParam
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void bpGenerateConstInFuncSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:967,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:974,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:980,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:978,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:970,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:968,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:973,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:977,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:985,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:979,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:983,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1011,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1020,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1026,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:972,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:976,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:984,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:982,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:971,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:975,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:987,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1030,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 111
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 1033
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1033
    functionName: prepareInsertData
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - generateInsertSQL
    - prepareColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareInsertData(BindData *data) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1213,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1221,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1217,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1225,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1229,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1234,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1238,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1242,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1251,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1258,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1266,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1270,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1274,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1275,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1262,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 5
    argNames:
    - buf
    - type
    - value
    - valueLen
    - len
    argTypes:
    - char*
    - int
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1277
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1277
    functionName: bpAppendValueString
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - memcpy
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpAppendValueString(char *buf, int type, void *value, int32_t
      valueLen, int32_t *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1443,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1453,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1449,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1445,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1457,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1461,1
    - Dst: bpExecQuery
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1464,1
    - Dst: st_stmt2_use_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1467,1
    - Dst: bpFetchRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1469,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1472,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1476,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1473,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - stmt
    - taos
    - stmtSql
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    - char*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1477
    functionName: bpCheckQueryResult
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - bpExecQuery
    - strchr
    - strcpy
    - st_stmt2_use_result
    - printf
    - bpAppendValueString
    - memcpy
    - bpFetchRows
    linkageType: ''
    returnType: void
    signature: 'void bpCheckQueryResult(TAOS_STMT2 *stmt, TAOS *taos, char *stmtSql,
      TAOS_STMT2_BIND *bind) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2664,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2674,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2679,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2672,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2670,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2681,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2682,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2684,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2684,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2685,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2686,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2692,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2689,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2691,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2700
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2700
    functionName: sql_s_perf1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_s_perf1(TAOS *taos) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2707,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2711,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2767,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2778,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2829,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2863,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2808,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2763,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2854,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2866,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2869,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2802,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2836,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2860,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2848,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2720,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2741,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2744,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2771,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2781,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2784,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2787,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2790,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2793,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2796,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2814,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2842,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2857,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2875,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2879,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2872,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2883,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2854,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2805,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2869,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2821,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2887,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2799,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2704,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2723,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2726,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2729,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2732,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2735,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2738,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2747,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2753,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2759,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2836,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2774,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2863,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2851,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2750,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2811,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2878,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2845,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2715,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2762,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2825,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2832,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2839,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2842,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2845,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2820,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2848,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2851,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2839,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2872,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2756,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2817,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2875,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2857,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2866,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 219
    argCount: 5
    argNames:
    - buf
    - tblIdx
    - colNum
    - colList
    - tableType
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2889
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2889
    functionName: generateCreateTableSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - rand
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateCreateTableSQL(char *buf, int32_t tblIdx, int32_t colNum,
      int32_t *colList, int32_t tableType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpGenerateConstInFuncSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:728,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:740,1
    - Dst: bpGenerateConstInOpSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:734,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 742
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 742
    functionName: generateQueryMiscSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - bpGenerateConstInOpSQL
    - bpGenerateConstInFuncSQL
    - printf
    linkageType: ''
    returnType: void
    signature: 'void generateQueryMiscSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1039,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1044,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1048,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1052,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1064,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1066,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1070,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1074,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1043,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1047,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1055,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1053,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1051,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1065,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1067,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1071,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1042,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1046,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1050,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1054,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1061,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1062,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1068,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1072,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1083,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1041,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1040,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1045,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1049,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1057,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1063,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1069,1
    - Dst: generateQueryCondSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 136
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1090
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1090
    functionName: prepareQueryCondData
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - prepareColData
    - rand
    - generateQueryCondSQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareQueryCondData(BindData *data, int32_t tblIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - taos
    - stb_insert
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: st_stmt2_init
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_init
    linkageType: ''
    returnType: TAOS_STMT2*
    signature: 'static TAOS_STMT2 *st_stmt2_init(TAOS *taos, bool stb_insert) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1490,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1542,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1556,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1484,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1499,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1502,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1538,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1542,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1504,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1550,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1491,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1484,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1497,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1544,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1537,1
    - Dst: st_stmt2_get_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1535,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1548,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1485,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1497,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1502,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1537,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1548,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1556,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 6
    argNames:
    - stmt
    - fieldNum
    - pFields
    - expecteNum
    - pBind
    - type
    argTypes:
    - TAOS_STMT2*
    - int32_t
    - TAOS_FIELD_ALL*
    - int32_t
    - TAOS_STMT2_BIND*
    - BP_BIND_TYPE
    constantsTouched: []
    func_position:
      end: 1558
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1558
    functionName: bpCheckColTagFields
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - BP_BIND_TYPE_STR
    - st_stmt2_error
    - printf
    - st_stmt2_get_param
    linkageType: ''
    returnType: void
    signature: 'void bpCheckColTagFields(TAOS_STMT2 *stmt, int32_t fieldNum, TAOS_FIELD_ALL
      *pFields, int32_t expecteNum, TAOS_STMT2_BIND *pBind, BP_BIND_TYPE type) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:423,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:435,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:425,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:451,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:469,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:481,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:506,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:528,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:540,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:565,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:534,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:557,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:543,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:546,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:570,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:448,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:466,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:460,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:478,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:503,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:519,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:525,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:537,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:549,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:553,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:563,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:560,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:516,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:428,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:442,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:445,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:457,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:475,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:463,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:485,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:492,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:495,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:499,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:567,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:522,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:552,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:432,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:438,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:472,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:454,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:484,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:489,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:497,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:510,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:513,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:531,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 167
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 572
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 572
    functionName: generateInsertSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateInsertSQL(BindData *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:582,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/stmt2-test.c:587,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:587,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:594,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/stmt2-test.c:582,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:596,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:600,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:601,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 603
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 603
    functionName: bpAppendOperatorParam
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - sprintf
    - printf
    - rand
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void bpAppendOperatorParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:828,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/stmt2-test.c:835,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 845
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 845
    functionName: generateTagDataType
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - colExists
    - rand
    linkageType: ''
    returnType: void
    signature: 'void generateTagDataType(BindData *data, int32_t bindIdx, int32_t
      colIdx, int32_t *dataType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1097,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1104,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1108,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1112,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1122,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1124,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1128,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1099,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1103,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1111,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1118,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1107,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1119,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1125,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1129,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1098,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1102,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1114,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1106,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1120,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1126,1
    - Dst: generateQueryMiscSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1152,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1096,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1101,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1105,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1109,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1121,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1123,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1127,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1131,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 142
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1155
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1155
    functionName: prepareQueryMiscData
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - generateQueryMiscSQL
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - prepareColData
    - rand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareQueryMiscData(BindData *data, int32_t tblIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1392
    functionName: st_stmt2_use_result
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_result
    linkageType: ''
    returnType: TAOS_RES*
    signature: 'static TAOS_RES *st_stmt2_use_result(TAOS_STMT2 *stmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1409,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1411,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1410,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1415,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1410,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT2*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1418
    functionName: bpCheckParamNum
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_error
    - taos_stmt2_get_fields
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpCheckParamNum(TAOS_STMT2 *stmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2427,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2429,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2432,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2431,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2431,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2435,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2438,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2440,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2441,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2444,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2445,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2449,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2451,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2446,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2450,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2454,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2457
    functionName: insertNonExistsTb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - st_stmt2_error
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_bind_param_batch
    - bpCheckIsInsert
    - st_stmt2_exec
    linkageType: ''
    returnType: int
    signature: 'int insertNonExistsTb(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: generateTagDataType
      Src: /src/tdengine/tests/script/api/stmt2-test.c:854,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:950,1
    - Dst: generateColDataType
      Src: /src/tdengine/tests/script/api/stmt2-test.c:857,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:949,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 6
    argNames:
    - isQuery
    - bType
    - data
    - bindIdx
    - rowIdx
    - colIdx
    argTypes:
    - bool
    - BP_BIND_TYPE
    - BindData*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 961
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 961
    functionName: prepareColData
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - generateTagDataType
    - exit
    - generateColDataType
    - printf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareColData(bool isQuery, BP_BIND_TYPE bType, BindData
      *data, int32_t bindIdx, int32_t rowIdx, int32_t colIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1177
    functionName: destroyData
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyData(BindData *data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_stmt2_is_insert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1396,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1398,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1397,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1402,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1397,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1405
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1405
    functionName: bpCheckIsInsert
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_error
    - st_stmt2_is_insert
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpCheckIsInsert(TAOS_STMT2 *stmt, int32_t insert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - stmt
    - times
    argTypes:
    - TAOS_STMT2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1432
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1432
    functionName: bpCheckAffectedRows
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bpCheckAffectedRows(TAOS_STMT2 *stmt, int32_t times) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pBind
    argTypes:
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2466
    functionName: bpAddWrongVarBuffLen
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bpAddWrongVarBuffLen(TAOS_STMT2_BIND *pBind) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1799,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1803,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1809,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1812,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1818,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1833,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1839,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1812,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1832,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1828,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1838,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1841,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1800,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1822,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1826,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1827,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1823,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1834,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1795,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1797,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1799,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1810,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1813,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1827,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1833,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1844
    functionName: insertMBMETest1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest1(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1907,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1911,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1917,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1920,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1936,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1933,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1946,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1951,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1956,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1959,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1903,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1920,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1935,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1944,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1945,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1950,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1908,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1926,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1935,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1941,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1940,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1945,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1950,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1905,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1907,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1918,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1921,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1932,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1949,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1957,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1962
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1962
    functionName: insertMBMETest3
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest3(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stmt
    - bind
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1374
    functionName: st_stmt2_bind_param_batch
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_bind_param_batch(TAOS_STMT2 *stmt, TAOS_STMT2_BIND
      *bind) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - stmt
    - bind
    - col_idx
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    - int
    constantsTouched: []
    func_position:
      end: 1381
      start: 1376
    functionDepth: 0
    functionLinenumber: 1376
    functionLinenumberEnd: 1381
    functionName: st_stmt2_bind_single_param_batch
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_bind_param
    linkageType: ''
    returnType: int
    signature: 'static int st_stmt2_bind_single_param_batch(TAOS_STMT2 *stmt, TAOS_STMT2_BIND
      *bind, int col_idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1611,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - bind
    - num
    argTypes:
    - TAOS_STMT2_BIND*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1614
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1614
    functionName: bpShowBindParam
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpShowBindParam(TAOS_STMT2_BIND *bind, int32_t num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2526,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2535,1
    - Dst: bpExecQuery
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2527,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2534,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - taos
    - tname
    - printr
    - expected
    - silent
    argTypes:
    - TAOS*
    - char*
    - bool
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 2537
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2537
    functionName: prepareCheckResultImpl
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - strcat
    - printf
    - bpExecQuery
    linkageType: ''
    returnType: void
    signature: 'void prepareCheckResultImpl(TAOS *taos, char *tname, bool printr,
      int expected, bool silent) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bpCheckColFields
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1620,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1627,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1625,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1629,1
    - Dst: st_stmt2_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1633,1
    - Dst: st_stmt2_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1643,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1627,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1628,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1637,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1635,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1635,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1636,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1652,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1645,1
    - Dst: st_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1650,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1647,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1654,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1645,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1652,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1646,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1653,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - stmt
    - bind
    - expectFail
    argTypes:
    - TAOS_STMT2*
    - TAOS_STMT2_BIND*
    - bool
    constantsTouched: []
    func_position:
      end: 1660
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1660
    functionName: bpBindParam
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - bpShowBindParam
    - exit
    - st_stmt2_error
    - st_stmt2_bind_param
    - st_stmt2_bind_single_param_batch
    - printf
    - st_stmt2_bind_param_batch
    - bpCheckColFields
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpBindParam(TAOS_STMT2 *stmt, TAOS_STMT2_BIND *bind, bool
      expectFail) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2543,1
    - Dst: prepareCheckResultImpl
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2548,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - taos
    - silent
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 2555
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2555
    functionName: prepareCheckResult
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - prepareCheckResultImpl
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void prepareCheckResult(TAOS *taos, bool silent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1701,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1704,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1725,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1691,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1700,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1703,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1719,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1725,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1686,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1688,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1690,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1703,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1714,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1717,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1713,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1718,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1724,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1730,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1690,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1694,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1709,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1718,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1726,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1729,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1732,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1735
    functionName: insertMBSETest1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBSETest1(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2902
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2902
    functionName: bpPrecisionStr
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *bpPrecisionStr(uint8_t precision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 383
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 383
    functionName: taosMemoryMalloc
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemoryMalloc(uint64_t size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1745,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1756,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1779,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1773,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1740,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1744,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1742,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1757,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1760,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1769,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1781,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1787,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1744,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1748,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1759,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1772,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1774,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1780,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1785,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1759,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1764,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1773,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1765,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1780,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1784,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1790
    functionName: insertMBSETest2
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBSETest2(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1854,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1881,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1886,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1849,1
    - Dst: st_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1851,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1853,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1864,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1867,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1881,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1886,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1853,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1857,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1863,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1866,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1877,1
    - Dst: st_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1885,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1893,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1866,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1882,1
    - Dst: st_stmt2_add_batch
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1880,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1873,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1872,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1887,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1892,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/stmt2-test.c:1895,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT2*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1898
    functionName: insertMBMETest2
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_prepare
    - bpCheckParamNum
    - st_stmt2_error
    - sprintf
    - bpSetTableNameTags
    - bpCheckAffectedRows
    - destroyData
    - printf
    - prepareInsertData
    - st_stmt2_exec
    - bpCheckIsInsert
    - st_stmt2_add_batch
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest2(TAOS_STMT2 *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2927,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2935,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2950,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2942,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2941,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2956,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2968,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2976,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2980,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2981,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2937,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2952,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2953,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2963,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2964,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2970,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2980,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2932,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2933,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2939,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2949,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2952,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2961,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2966,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2967,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2982,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2984,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2978,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2926,1
    - Dst: bpPrecisionStr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2929,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2929,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2930,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2935,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2936,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2948,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2954,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2966,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2977,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 4
    argNames:
    - taos
    - colNum
    - colList
    - prepareStb
    argTypes:
    - TAOS*
    - int32_t
    - int32_t*
    - int
    constantsTouched: []
    func_position:
      end: 2988
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2988
    functionName: prepare
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - sprintf
    - generateCreateTableSQL
    - printf
    - bpPrecisionStr
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void prepare(TAOS *taos, int32_t colNum, int32_t *colList, int prepareStb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/stmt2-test.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 385
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 385
    functionName: taosMemoryCalloc
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemoryCalloc(int32_t num, int32_t size) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: bpSetStartupTs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:2997,1
    - Dst: runCase
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3008,1
    - Dst: prepare
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3070,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3063,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3073,1
    - Dst: st_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3075,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3077,1
    - Dst: st_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3077,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3078,1
    - Dst: st_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3083,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3085,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3094,1
    - Dst: prepareCheckResult
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3088,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 4
    argNames:
    - taos
    - caseIdx
    - caseRunIdx
    - silent
    argTypes:
    - TAOS*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 3099
      start: 2990
    functionDepth: 0
    functionLinenumber: 2990
    functionLinenumberEnd: 3099
    functionName: runCase
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - st_stmt2_init
    - st_stmt2_error
    - bpSetStartupTs
    - printf
    - taosGetTimestampUs
    - prepareCheckResult
    - runCase
    - st_stmt2_close
    - prepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t runCase(TAOS *taos, int32_t caseIdx, int32_t caseRunIdx, bool
      silent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3211,1
    - Dst: time
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3211,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3215,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3219,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3221,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3221,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3222,1
    - Dst: runAll
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3225,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-test.c:3227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3230
      start: 3208
    functionDepth: 0
    functionLinenumber: 3208
    functionLinenumberEnd: 3230
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-test.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - srand
    - printf
    - runAll
    - time
    - taos_close
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tests/script/api/batchprepare.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: taosGetTimeOfDay
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetTimeOfDay(struct timeval *tv) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:607,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:616,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:613,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:610,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:619,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:622,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:625,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:628,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:631,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:634,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:643,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:650,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:640,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:646,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:649,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:637,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - data
    - type
    - len
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 654
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 654
    functionName: bpAppendColumnName
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpAppendColumnName(BindData *data, int32_t type, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - bind
    - num
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1461
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1461
    functionName: bpShowBindParam
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpShowBindParam(TAOS_MULTI_BIND *bind, int32_t num) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1648,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1652,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1658,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1661,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1681,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1687,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1690,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1661,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1677,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1683,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1649,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1667,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1671,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1676,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1675,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1672,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1682,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1644,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1646,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1648,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1659,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1662,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1676,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1682,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1688,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1693
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1693
    functionName: insertMBMETest1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest1(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1713,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1721,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1734,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1730,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1729,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1722,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1716,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1742,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1702,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1706,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1712,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1715,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1736,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1741,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1744,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1698,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1702,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1700,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1715,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1731,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1735,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1703,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1726,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1730,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1735,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1747
    functionName: insertMBMETest2
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest2(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1875,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1879,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1877,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1892,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1908,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1907,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1914,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1920,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1927,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1879,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1898,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1913,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1890,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1893,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1913,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1880,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1883,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1889,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1892,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1907,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1902,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1903,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1912,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1906,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1918,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1932
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1932
    functionName: insertMPMETest1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMPMETest1(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2287,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2297,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2307,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2312,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2302,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2315,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2288,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2291,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2296,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2300,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2310,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2305,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2283,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2285,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2287,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:2294,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2301,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2311,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2318
    functionName: insertNonExistsTb
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - taos_stmt_execute
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: int
    signature: 'int insertNonExistsTb(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:2468,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2482,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:2472,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2485,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2486,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2493,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2495,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2496,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2498,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:2509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:2512,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2500,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2506,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2505,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2503,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2498,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2515
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2515
    functionName: sql_perf_s1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taos_query
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - calloc
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_perf_s1(TAOS *taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: taosMemoryMalloc
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemoryMalloc(uint64_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:657,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/tests/script/api/batchprepare.c:663,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:670,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:665,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 672
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 672
    functionName: generateQueryCondSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - bpAppendOperatorParam
    - bpAppendColumnName
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateQueryCondSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: bpCheckColFields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1467,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1482,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1482,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1483,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1499,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/batchprepare.c:1497,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1501,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1499,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1500,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1474,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1472,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1476,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1480,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1494,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1492,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1490,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1474,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1475,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1484,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1492,1
    - Dst: bpShowBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1493,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - stmt
    - bind
    - expectFail
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    - bool
    constantsTouched: []
    func_position:
      end: 1507
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1507
    functionName: bpBindParam
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - bpShowBindParam
    - exit
    - taos_stmt_bind_single_param_batch
    - taos_stmt_errstr
    - printf
    - bpCheckColFields
    - taos_stmt_bind_param
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpBindParam(TAOS_STMT *stmt, TAOS_MULTI_BIND *bind, bool expectFail) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pBind
    argTypes:
    - TAOS_MULTI_BIND*
    constantsTouched: []
    func_position:
      end: 2326
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2326
    functionName: bpAddWrongVarBuffLen
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bpAddWrongVarBuffLen(TAOS_MULTI_BIND* pBind) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2564,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2571,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2583,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2586,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2589,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2592,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2595,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2598,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2619,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2610,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2702,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2717,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2677,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2638,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2699,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2705,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2723,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2613,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2601,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2622,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2604,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2623,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2665,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2668,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2685,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2692,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2696,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2662,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2711,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2714,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2729,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2702,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2735,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2681,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2717,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2726,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2747,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2708,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2735,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2567,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2607,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2627,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2634,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2680,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2689,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2696,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2720,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2723,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2726,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2699,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2732,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2739,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2616,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2714,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2743,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2738,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2580,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2575,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2631,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2641,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2644,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2647,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2650,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2653,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2656,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2671,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2674,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2705,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2708,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2729,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2711,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2659,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2732,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 219
    argCount: 5
    argNames:
    - buf
    - tblIdx
    - colNum
    - colList
    - tableType
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2749
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2749
    functionName: generateCreateTableSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - rand
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateCreateTableSQL(char *buf, int32_t tblIdx, int32_t colNum,
      int32_t *colList, int32_t tableType) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1606,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1614,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1628,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1613,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1622,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1594,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1605,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1608,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1622,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1630,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1589,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1593,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1591,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1608,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1609,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1618,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1629,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1634,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1593,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1597,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1621,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1623,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1629,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1633,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1639
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1639
    functionName: insertMBSETest2
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBSETest2(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1822,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1833,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1836,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1854,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1850,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1821,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1836,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1841,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1842,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1846,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1856,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1862,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1821,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1825,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1849,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1851,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1855,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1861,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1864,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1817,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1819,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1834,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1850,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1837,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1855,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1867
    functionName: insertMBMETest4
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest4(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:2148,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2151,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2152,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2160,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2156,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2169,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:2176,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2141,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2145,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2162,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2131,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:2136,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2138,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2140,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2161,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2157,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2140,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2161,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2155,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2167,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2156,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2181
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2181
    functionName: insertAUTOTest3
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - taos_stmt_errstr
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - generateInsertSQL
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest3(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:2424,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2434,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2430,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2432,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2440,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2442,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2443,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2445,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2445,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2446,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2450,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:2456,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2452,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2460
    functionName: sql_perf1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_perf1(TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2787,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2792,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2793,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2799,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2810,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2809,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:2821,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2826,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2827,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:2837,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2790,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2795,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2796,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2812,1
    - Dst: generateCreateTableSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:2808,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2813,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2826,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2841,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2841,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2845,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2795,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2802,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2812,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2801,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2816,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2828,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2842,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2843,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2786,1
    - Dst: bpPrecisionStr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2789,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2789,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2797,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2814,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2823,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2824,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2830,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2838,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2839,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 4
    argNames:
    - taos
    - colNum
    - colList
    - prepareStb
    argTypes:
    - TAOS*
    - int32_t
    - int32_t*
    - int
    constantsTouched: []
    func_position:
      end: 2850
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2850
    functionName: prepare
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - sprintf
    - generateCreateTableSQL
    - printf
    - bpPrecisionStr
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void prepare(TAOS *taos, int32_t colNum, int32_t *colList, int prepareStb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/tests/script/api/batchprepare.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: taosGetTimestampMs
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t taosGetTimestampMs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - num
    - size
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: taosMemoryCalloc
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemoryCalloc(int32_t num, int32_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/tests/script/api/batchprepare.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: taosGetTimestampUs
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t taosGetTimestampUs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:676,1
    - Dst: bpAppendColumnName
      Src: /src/tdengine/tests/script/api/batchprepare.c:683,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:688,1
    - Dst: bpAppendOperatorParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:685,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 689
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 689
    functionName: bpGenerateConstInOpSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - bpAppendOperatorParam
    - bpAppendColumnName
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void bpGenerateConstInOpSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: generateTagDataType
      Src: /src/tdengine/tests/script/api/batchprepare.c:838,1
    - Dst: generateColDataType
      Src: /src/tdengine/tests/script/api/batchprepare.c:841,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:933,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:932,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 6
    argNames:
    - isQuery
    - bType
    - data
    - bindIdx
    - rowIdx
    - colIdx
    argTypes:
    - bool
    - BP_BIND_TYPE
    - BindData*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 944
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 944
    functionName: prepareColData
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - generateTagDataType
    - exit
    - generateColDataType
    - printf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareColData(bool isQuery, BP_BIND_TYPE bType, BindData
      *data, int32_t bindIdx, int32_t rowIdx, int32_t colIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bpGenerateConstInFuncSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:710,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:722,1
    - Dst: bpGenerateConstInOpSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 724
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 724
    functionName: generateQueryMiscSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - bpGenerateConstInOpSQL
    - bpGenerateConstInFuncSQL
    - printf
    linkageType: ''
    returnType: void
    signature: 'void generateQueryMiscSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1161
    functionName: destroyData
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyData(BindData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_get_tag_fields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1427,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1430,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1429,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1429,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: bpCheckTagFields
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_get_tag_fields
    - taosMemoryFree
    - taos_stmt_errstr
    - printf
    - bpCheckColTagFields
    linkageType: ''
    returnType: void
    signature: 'void bpCheckTagFields(TAOS_STMT *stmt, TAOS_MULTI_BIND* pBind) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tests/script/api/batchprepare.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: taosMemoryFree
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void taosMemoryFree(const void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:694,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:704,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:698,1
    - Dst: bpAppendFunctionParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 705
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 705
    functionName: bpGenerateConstInFuncSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - bpAppendFunctionParam
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void bpGenerateConstInFuncSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:730,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:734,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:740,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:743,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:737,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 750
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 750
    functionName: generateErrorSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateErrorSQL(BindData *data, int32_t tblIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:953,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:958,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:966,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:970,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:962,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:968,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:955,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:957,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:961,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:967,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:965,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1008,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:954,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:956,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:960,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:964,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:993,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:951,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:959,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:963,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1002,1
    - Dst: generateInsertSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:1013,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 111
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 1016
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1016
    functionName: prepareInsertData
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - generateInsertSQL
    - prepareColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareInsertData(BindData *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1165,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:1173,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/batchprepare.c:1170,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/batchprepare.c:1174,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - result
    - printr
    - rows
    argTypes:
    - TAOS_RES*
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1178
    functionName: bpFetchRows
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_fetch_row
    - taos_num_fields
    - taos_print_row
    - memset
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void bpFetchRows(TAOS_RES *result, bool printr, int32_t *rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_get_col_fields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1445,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1448,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1447,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1447,1
    - Dst: bpCheckColTagFields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1451,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - stmt
    - pBind
    argTypes:
    - TAOS_STMT*
    - TAOS_MULTI_BIND*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1453
    functionName: bpCheckColFields
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taosMemoryFree
    - taos_stmt_get_col_fields
    - taos_stmt_errstr
    - printf
    - bpCheckColTagFields
    linkageType: ''
    returnType: void
    signature: 'void bpCheckColFields(TAOS_STMT *stmt, TAOS_MULTI_BIND* pBind) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1756,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1760,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1785,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1782,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1789,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1775,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1790,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1794,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1798,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1806,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1767,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1781,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1784,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1770,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1800,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1805,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1808,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1757,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1766,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1769,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1784,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1795,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1799,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1752,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1756,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1754,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1769,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1793,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1794,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1799,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1811
    functionName: insertMBMETest3
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBMETest3(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2205,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2206,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2217,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2211,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2224,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:2189,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2195,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:2202,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2217,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2226,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2192,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2194,1
    - Dst: prepareQueryCondData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2190,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2199,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2212,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2216,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/tests/script/api/batchprepare.c:2221,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2194,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2211,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2218,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2209,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2230
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2230
    functionName: queryColumnTest
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - taos_stmt_errstr
    - destroyData
    - printf
    - memset
    - bpCheckIsInsert
    - bpCheckQueryResult
    - taos_stmt_add_batch
    - rand
    - prepareQueryCondData
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int queryColumnTest(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pBind
    - dataType
    argTypes:
    - TAOS_MULTI_BIND*
    - int32_t
    constantsTouched: []
    func_position:
      end: 396
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 396
    functionName: colExists
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool colExists(TAOS_MULTI_BIND* pBind, int32_t dataType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:561,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/batchprepare.c:566,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:573,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:566,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/batchprepare.c:561,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:575,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:579,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:580,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 582
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 582
    functionName: bpAppendOperatorParam
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - sprintf
    - printf
    - rand
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void bpAppendOperatorParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1512,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1515,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1515,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/batchprepare.c:1513,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1516,1
    - Dst: bpCheckTagFields
      Src: /src/tdengine/tests/script/api/batchprepare.c:1519,1
    - Dst: taos_stmt_set_tags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1521,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1523,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/batchprepare.c:1526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - data
    - tblIdx
    - tblName
    - stmt
    argTypes:
    - BindData*
    - int32_t
    - char*
    - TAOS_STMT*
    constantsTouched: []
    func_position:
      end: 1528
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1528
    functionName: bpSetTableNameTags
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - bpCheckTagFields
    - taos_stmt_set_tbname_tags
    - taos_stmt_set_tbname
    - taos_stmt_set_tags
    - taos_stmt_errstr
    - printf
    - rand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpSetTableNameTags(BindData *data, int32_t tblIdx, char *tblName,
      TAOS_STMT *stmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/tdengine/tests/script/api/batchprepare.c:2387,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2396,1
    - Dst: bpExecQuery
      Src: /src/tdengine/tests/script/api/batchprepare.c:2388,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2395,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - taos
    - tname
    - printr
    - expected
    - silent
    argTypes:
    - TAOS*
    - char*
    - bool
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 2398
      start: 2379
    functionDepth: 0
    functionLinenumber: 2379
    functionLinenumberEnd: 2398
    functionName: prepareCheckResultImpl
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - strcat
    - printf
    - bpExecQuery
    linkageType: ''
    returnType: void
    signature: 'void prepareCheckResultImpl(TAOS * taos, char *tname, bool printr,
      int expected, bool silent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2779
    functionName: bpSetStartupTs
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void bpSetStartupTs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:2524,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2532,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2530,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2534,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2540,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:2542,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:2543,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2545,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2545,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2546,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2547,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2553,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:2550,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/batchprepare.c:2556,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2560
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2560
    functionName: sql_s_perf1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taosMemoryFree
    - taos_errno
    - sprintf
    - taosMemoryCalloc
    - printf
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sql_s_perf1(TAOS *taos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: runCase
      Src: /src/tdengine/tests/script/api/batchprepare.c:2990,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 3000
      start: 2970
    functionDepth: 0
    functionLinenumber: 2970
    functionLinenumberEnd: 3000
    functionName: runCaseList
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - runCase
    linkageType: ''
    returnType: void*
    signature: 'void * runCaseList(TAOS *taos) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:411,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:451,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:445,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:433,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:463,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:468,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:489,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:492,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:504,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:510,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:513,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:542,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:507,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:539,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:402,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:404,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:430,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:442,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:460,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:474,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:485,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:501,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:519,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:531,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:549,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:522,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:536,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:417,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:427,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:439,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:457,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:476,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:482,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:495,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:498,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:516,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:525,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:407,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:414,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:421,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:424,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:436,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:454,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:448,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:464,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:471,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:478,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:544,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:532,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:528,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:546,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 167
    argCount: 1
    argNames:
    - data
    argTypes:
    - BindData*
    constantsTouched: []
    func_position:
      end: 551
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 551
    functionName: generateInsertSQL
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void generateInsertSQL(BindData *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:590,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:595,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:599,1
    - Dst: tListLen
      Src: /src/tdengine/tests/script/api/batchprepare.c:590,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - data
    - len
    - dataType
    - idx
    argTypes:
    - BindData*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 601
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 601
    functionName: bpAppendFunctionParam
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - sprintf
    - printf
    - rand
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void bpAppendFunctionParam(BindData *data, int32_t *len, int32_t dataType,
      int32_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2405,1
    - Dst: prepareCheckResultImpl
      Src: /src/tdengine/tests/script/api/batchprepare.c:2410,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - taos
    - silent
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 2414
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2414
    functionName: prepareCheckResult
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - prepareCheckResultImpl
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void prepareCheckResult(TAOS *taos, bool silent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3008,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3014,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3015,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3020,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3033,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3032,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3035,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3023,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3052,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3053,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3055,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3047,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3059,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3005,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3074,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3003,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3009,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3011,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3017,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3022,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3029,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3027,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3038,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3026,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3039,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3061,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3042,1
    - Dst: runCaseList
      Src: /src/tdengine/tests/script/api/batchprepare.c:3049,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3004,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3058,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:3046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 3075
      start: 3002
    functionDepth: 0
    functionLinenumber: 3002
    functionLinenumberEnd: 3075
    functionName: runAll
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - strcpy
    - runCaseList
    - printf
    linkageType: ''
    returnType: void
    signature: 'void runAll(TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2001,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2005,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:2020,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2034,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2035,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:2012,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2030,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2015,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2035,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:2050,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2002,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2011,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2014,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2025,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2028,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2024,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2029,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2040,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1997,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2001,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1999,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2014,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2029,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2036,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2042,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2055
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2055
    functionName: insertAUTOTest1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest1(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1941,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1971,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1960,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1970,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1975,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1984,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1952,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1955,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1975,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1942,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1945,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1951,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1954,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1964,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1974,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1965,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1980,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1937,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1941,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1939,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1954,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1970,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1969,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1976,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1987
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1987
    functionName: insertStbTest
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertStbTest(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2762
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2762
    functionName: bpPrecisionStr
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *bpPrecisionStr(uint8_t precision) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:762,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:776,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:781,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/batchprepare.c:778,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/tests/script/api/batchprepare.c:763,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/batchprepare.c:790,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 5
    argNames:
    - isQuery
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - bool
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 800
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 800
    functionName: generateColDataType
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - colExists
    - IS_NUMERIC_TYPE
    - rand
    linkageType: ''
    returnType: void
    signature: 'void generateColDataType(bool isQuery, BindData *data, int32_t bindIdx,
      int32_t colIdx, int32_t *dataType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1022,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1025,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1029,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1031,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1035,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1044,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1037,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1047,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1051,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1053,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1023,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1024,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1028,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1030,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1040,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1034,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1048,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1052,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1054,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1027,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1033,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1045,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1049,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1055,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:1056,1
    - Dst: generateQueryCondSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:1069,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1026,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1036,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1038,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1032,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1046,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1050,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1065,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 136
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1072
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1072
    functionName: prepareQueryCondData
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - prepareColData
    - rand
    - generateQueryCondSQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareQueryCondData(BindData *data, int32_t tblIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/batchprepare.c:1181,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:1185,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1184,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/batchprepare.c:1182,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1184,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1186,1
    - Dst: bpFetchRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1189,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:1191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - taos
    - sql
    - printr
    - rows
    argTypes:
    - TAOS*
    - char*
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1192
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1192
    functionName: bpExecQuery
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    - bpFetchRows
    linkageType: ''
    returnType: void
    signature: 'void bpExecQuery(TAOS * taos, char* sql, bool printr, int32_t *rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_is_insert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1269,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1271,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1275,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1270,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1270,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - stmt
    - insert
    argTypes:
    - TAOS_STMT*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1278
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1278
    functionName: bpCheckIsInsert
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_errstr
    - taos_stmt_is_insert
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpCheckIsInsert(TAOS_STMT *stmt, int32_t insert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1294,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1301,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - stmt
    - times
    argTypes:
    - TAOS_STMT*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1303
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1303
    functionName: bpCheckAffectedRows
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - taos_stmt_affected_rows
    linkageType: ''
    returnType: void
    signature: 'void bpCheckAffectedRows(TAOS_STMT *stmt, int32_t times) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1322,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/tests/script/api/batchprepare.c:1332,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:1324,1
    - Dst: bpAppendValueString
      Src: /src/tdengine/tests/script/api/batchprepare.c:1336,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:1328,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1340,1
    - Dst: bpExecQuery
      Src: /src/tdengine/tests/script/api/batchprepare.c:1343,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/batchprepare.c:1346,1
    - Dst: bpFetchRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1348,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1351,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1355,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1352,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - stmt
    - taos
    - stmtSql
    - bind
    argTypes:
    - TAOS_STMT*
    - TAOS*
    - char*
    - TAOS_MULTI_BIND*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1356
    functionName: bpCheckQueryResult
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - bpExecQuery
    - strchr
    - strcpy
    - printf
    - bpAppendValueString
    - taos_stmt_use_result
    - memcpy
    - bpFetchRows
    linkageType: ''
    returnType: void
    signature: 'void bpCheckQueryResult(TAOS_STMT *stmt, TAOS *taos, char *stmtSql,
      TAOS_MULTI_BIND* bind) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2069,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2080,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2083,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2100,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2083,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2096,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2095,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2102,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:2117,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2070,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2073,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:2089,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2091,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2097,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2092,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2096,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2101,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2107,1
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2065,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2067,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2069,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:2081,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2084,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2101,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2109,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2122
    functionName: insertAUTOTest2
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertAUTOTest2(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2330,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2332,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2335,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2334,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2334,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2338,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:2340,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2342,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2342,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2343,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2349,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2352,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2348,1
    - Dst: bpAddWrongVarBuffLen
      Src: /src/tdengine/tests/script/api/batchprepare.c:2346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2355
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2355
    functionName: insertVarLenErr
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - taos_stmt_errstr
    - bpSetTableNameTags
    - bpAddWrongVarBuffLen
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertVarLenErr(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:812,1
    - Dst: colExists
      Src: /src/tdengine/tests/script/api/batchprepare.c:819,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - data
    - bindIdx
    - colIdx
    - dataType
    argTypes:
    - BindData*
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 829
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 829
    functionName: generateTagDataType
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - colExists
    - rand
    linkageType: ''
    returnType: void
    signature: 'void generateTagDataType(BindData *data, int32_t bindIdx, int32_t
      colIdx, int32_t *dataType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1084,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1090,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1106,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1112,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:1113,1
    - Dst: generateQueryMiscSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:1134,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1083,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1087,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1095,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1089,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1093,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1103,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1107,1
    - Dst: prepareColData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1128,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1079,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1082,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1086,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1088,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1092,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1094,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1101,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1102,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1104,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1108,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1081,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1080,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1085,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1097,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/batchprepare.c:1091,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1105,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1109,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:1111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 142
    argCount: 2
    argNames:
    - data
    - tblIdx
    argTypes:
    - BindData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1137
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1137
    functionName: prepareQueryMiscData
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - generateQueryMiscSQL
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - prepareColData
    - rand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareQueryMiscData(BindData *data, int32_t tblIdx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1198,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1210,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1214,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1206,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1202,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1219,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1223,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1227,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/batchprepare.c:1236,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1243,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1247,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1259,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1251,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1255,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1260,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 5
    argNames:
    - buf
    - type
    - value
    - valueLen
    - len
    argTypes:
    - char*
    - int
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1262
    functionName: bpAppendValueString
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - memcpy
    - exit
    - printf
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bpAppendValueString(char *buf, int type, void *value, int32_t
      valueLen, int32_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_num_params
      Src: /src/tdengine/tests/script/api/batchprepare.c:1282,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1283,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1283,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1288,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1284,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - stmt
    argTypes:
    - TAOS_STMT*
    constantsTouched: []
    func_position:
      end: 1291
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1291
    functionName: bpCheckParamNum
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_errstr
    - taos_stmt_num_params
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpCheckParamNum(TAOS_STMT *stmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_affected_rows_once
      Src: /src/tdengine/tests/script/api/batchprepare.c:1306,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1309,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stmt
    - expectedNum
    argTypes:
    - TAOS_STMT*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1311
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1311
    functionName: bpCheckAffectedRowsOnce
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - taos_stmt_affected_rows_once
    linkageType: ''
    returnType: void
    signature: 'void bpCheckAffectedRowsOnce(TAOS_STMT *stmt, int32_t expectedNum) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1363,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1375,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1376,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1381,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1390,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1386,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1402,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1406,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1411,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1418,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1368,1
    - Dst: taos_stmt_get_param
      Src: /src/tdengine/tests/script/api/batchprepare.c:1399,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1387,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1401,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1406,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1418,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1362,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1375,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1382,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1390,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1401,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1391,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1412,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1362,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1369,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1381,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1386,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1407,1
    - Dst: BP_BIND_TYPE_STR
      Src: /src/tdengine/tests/script/api/batchprepare.c:1411,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 6
    argNames:
    - stmt
    - fieldNum
    - pFields
    - expecteNum
    - pBind
    - type
    argTypes:
    - TAOS_STMT*
    - int32_t
    - TAOS_FIELD_E*
    - int32_t
    - TAOS_MULTI_BIND*
    - BP_BIND_TYPE
    constantsTouched: []
    func_position:
      end: 1420
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1420
    functionName: bpCheckColTagFields
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - BP_BIND_TYPE_STR
    - taos_stmt_errstr
    - taos_stmt_get_param
    - printf
    linkageType: ''
    returnType: void
    signature: 'void bpCheckColTagFields(TAOS_STMT *stmt, int32_t fieldNum, TAOS_FIELD_E*
      pFields, int32_t expecteNum, TAOS_MULTI_BIND* pBind, BP_BIND_TYPE type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:2362,1
    - Dst: generateErrorSQL
      Src: /src/tdengine/tests/script/api/batchprepare.c:2363,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2365,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2367,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2367,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2369,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2370,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2377
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2377
    functionName: errorSQLTest1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - taos_stmt_errstr
    - destroyData
    - generateErrorSQL
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: 'int errorSQLTest1(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bpSetStartupTs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2859,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2935,1
    - Dst: prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2932,1
    - Dst: runCase
      Src: /src/tdengine/tests/script/api/batchprepare.c:2870,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2925,1
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/tests/script/api/batchprepare.c:2942,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/batchprepare.c:2944,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2947,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2947,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2948,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/batchprepare.c:2953,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tests/script/api/batchprepare.c:2955,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2964,1
    - Dst: prepareCheckResult
      Src: /src/tdengine/tests/script/api/batchprepare.c:2958,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 4
    argNames:
    - taos
    - caseIdx
    - caseRunIdx
    - silent
    argTypes:
    - TAOS*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2968
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2968
    functionName: runCase
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - bpSetStartupTs
    - taos_stmt_errstr
    - taos_stmt_init_with_options
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - taosGetTimestampUs
    - prepareCheckResult
    - runCase
    - prepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t runCase(TAOS *taos, int32_t caseIdx, int32_t caseRunIdx, bool
      silent) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareInsertData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1534,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1538,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:1536,1
    - Dst: bpSetTableNameTags
      Src: /src/tdengine/tests/script/api/batchprepare.c:1549,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1551,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1562,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:1565,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:1561,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1566,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1574,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1538,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1542,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1548,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:1557,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1566,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1573,1
    - Dst: bpCheckAffectedRows
      Src: /src/tdengine/tests/script/api/batchprepare.c:1578,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1552,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:1573,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:1577,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:1580,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1539,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:1551,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:1567,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:1572,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1583
    functionName: insertMBSETest1
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - sprintf
    - taos_stmt_errstr
    - bpSetTableNameTags
    - destroyData
    - printf
    - prepareInsertData
    - bpCheckIsInsert
    - taos_stmt_add_batch
    - bpCheckAffectedRows
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int insertMBSETest1(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tests/script/api/batchprepare.c:3081,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3085,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:3091,1
    - Dst: time
      Src: /src/tdengine/tests/script/api/batchprepare.c:3081,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/batchprepare.c:3089,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:3091,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:3092,1
    - Dst: runAll
      Src: /src/tdengine/tests/script/api/batchprepare.c:3095,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/batchprepare.c:3097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 3100
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3100
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - srand
    - printf
    - runAll
    - time
    - taos_close
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tests/script/api/batchprepare.c:2237,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2243,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/batchprepare.c:2258,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2265,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/batchprepare.c:2257,1
    - Dst: destroyData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2274,1
    - Dst: prepareQueryMiscData
      Src: /src/tdengine/tests/script/api/batchprepare.c:2238,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2242,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/batchprepare.c:2240,1
    - Dst: bpBindParam
      Src: /src/tdengine/tests/script/api/batchprepare.c:2253,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2254,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/batchprepare.c:2264,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2260,1
    - Dst: bpCheckQueryResult
      Src: /src/tdengine/tests/script/api/batchprepare.c:2269,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2242,1
    - Dst: bpCheckParamNum
      Src: /src/tdengine/tests/script/api/batchprepare.c:2250,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2259,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/batchprepare.c:2266,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2247,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/batchprepare.c:2259,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/batchprepare.c:2265,1
    - Dst: bpCheckIsInsert
      Src: /src/tdengine/tests/script/api/batchprepare.c:2272,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - stmt
    - taos
    argTypes:
    - TAOS_STMT*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2278
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2278
    functionName: queryMiscTest
    functionSourceFile: /src/tdengine/tests/script/api/batchprepare.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - bpCheckParamNum
    - taos_stmt_execute
    - taos_stmt_errstr
    - destroyData
    - printf
    - prepareQueryMiscData
    - memset
    - bpCheckIsInsert
    - bpCheckQueryResult
    - taos_stmt_add_batch
    - rand
    - bpBindParam
    linkageType: ''
    returnType: int
    signature: 'int queryMiscTest(TAOS_STMT *stmt, TAOS *taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:55,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:56,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:58,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:58,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:59,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:60,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:61,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:62,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:65,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - taos
    - sql
    - vgId
    argTypes:
    - TAOS*
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: rtFetchVgId
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - taos_fetch_row
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    - taos_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void rtFetchVgId(TAOS *taos, char *sql, int *vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtError
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:77,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: rtExit
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtError
    - exit
    linkageType: ''
    returnType: void
    signature: 'void rtExit(char* prefix, const char* errMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: rtGetTimeOfDay
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rtGetTimeOfDay(struct timeval *tv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtGetTimeOfDay
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: rtGetTimestampMs
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t rtGetTimestampMs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtGetTimeOfDay
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: rtGetTimestampUs
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtGetTimeOfDay
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t rtGetTimestampUs() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:146,1
    - Dst: taos_get_table_vgId
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:148,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:149,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:147,1
    - Dst: rtExit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:152,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:152,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:155,1
    - Dst: rtFetchVgId
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:159,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:160,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:169,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:172,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 175
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 175
    functionName: rtGetTableRouteInfo
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtGetTimestampUs
    - exit
    - sprintf
    - fprintf
    - rtFetchVgId
    - taos_get_table_vgId
    - printf
    - taos_errstr
    - rtExit
    linkageType: ''
    returnType: int
    signature: 'int rtGetTableRouteInfo(TAOS * taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: rtClose
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: 'void rtClose(TAOS * taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:238,1
    - Dst: rtGetTableRouteInfo
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:239,1
    - Dst: rtClose
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:241,1
    - Dst: rtGetDbRouteInfo
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: rtRunCase2
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtClose
    - rtPrepare
    - rtGetTableRouteInfo
    - rtGetDbRouteInfo
    linkageType: ''
    returnType: int
    signature: 'int rtRunCase2(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:38,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:41,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:41,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:42,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:43,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:44,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:45,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: rtExecSQL
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    - taos_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void rtExecSQL(TAOS *taos, char *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:84,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:87,1
    - Dst: rtExecSQL
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:88,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:85,1
    - Dst: rtExit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:85,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:90,1
    - Dst: rtExecSQL
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:91,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:93,1
    - Dst: rtExecSQL
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:94,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:97,1
    - Dst: rtExecSQL
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - p
    - prefix
    - suffix
    argTypes:
    - TAOS**
    - int
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 104
    functionName: rtPrepare
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_connect
    - rtExecSQL
    - sprintf
    - strcpy
    - taos_errstr
    - rtExit
    linkageType: ''
    returnType: int
    signature: 'int rtPrepare(TAOS ** p, int prefix, int suffix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: rtError
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void rtError(char* prefix, const char* errMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_get_db_route_info
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:124,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:133,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:126,1
    - Dst: rtExit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:126,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: rtGetDbRouteInfo
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_get_db_route_info
    - rtExit
    - taos_errstr
    - printf
    linkageType: ''
    returnType: int
    signature: 'int rtGetDbRouteInfo(TAOS * taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:179,1
    - Dst: taos_get_tables_vgId
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:191,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:190,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:185,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:186,1
    - Dst: rtGetTimestampUs
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:192,1
    - Dst: rtExit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:195,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:195,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:199,1
    - Dst: rtFetchVgId
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:201,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:203,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:204,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:210,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:215,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:206,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:213,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 218
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 218
    functionName: rtGetTablesRouteInfo
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - taos_get_tables_vgId
    - malloc
    - rtGetTimestampUs
    - exit
    - sprintf
    - fprintf
    - free
    - rtFetchVgId
    - printf
    - taos_errstr
    - rtExit
    linkageType: ''
    returnType: int
    signature: 'int rtGetTablesRouteInfo(TAOS * taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:228,1
    - Dst: rtGetTableRouteInfo
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:230,1
    - Dst: rtGetDbRouteInfo
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:229,1
    - Dst: rtClose
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: rtRunCase1
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtGetTableRouteInfo
    - rtClose
    - rtPrepare
    - rtGetDbRouteInfo
    linkageType: ''
    returnType: int
    signature: 'int rtRunCase1(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rtPrepare
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:248,1
    - Dst: rtClose
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:250,1
    - Dst: rtGetTablesRouteInfo
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: rtRunCase3
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - rtClose
    - rtGetTablesRouteInfo
    - rtPrepare
    linkageType: ''
    returnType: int
    signature: 'int rtRunCase3(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:258,1
    - Dst: srand
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:262,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:264,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:259,1
    - Dst: time
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:262,1
    - Dst: rtRunCase1
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:266,1
    - Dst: rtRunCase2
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:267,1
    - Dst: rtRunCase3
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:268,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:272,1
    - Dst: sleep
      Src: /src/tdengine/tests/script/api/dbTableRoute.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 277
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/dbTableRoute.c
    functionUses: []
    functionsReached:
    - exit
    - srand
    - rtRunCase2
    - strcpy
    - sleep
    - printf
    - time
    - rtRunCase3
    - rtRunCase1
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: genReqid
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nchar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t genReqid() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:41,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:45,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:66,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:67,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:97,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:193,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:195,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:211,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:212,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:237,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:151,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:213,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:242,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:251,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:43,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:40,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:70,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:83,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:86,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:88,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:145,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:191,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:215,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:216,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:249,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:250,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:238,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:222,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:248,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:64,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:63,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:94,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:95,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:146,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:147,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:148,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:150,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:194,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:215,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:238,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:245,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:247,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:96,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:220,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:150,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:38,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:39,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:45,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:49,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:51,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:66,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:84,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:52,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:85,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:87,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:219,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:223,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:210,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:235,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:243,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:239,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:221,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 159
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 252
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 252
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nchar.c
    functionUses: []
    functionsReached:
    - taos_stmt_close
    - taos_select_db
    - taos_errstr
    - malloc
    - clock
    - usleep
    - taos_stmt2_init
    - free
    - taos_query
    - printf
    - taos_stmt2_exec
    - taos_free_result
    - taos_stmt2_prepare
    - taos_stmt2_get_fields
    - taos_errno
    - taos_stmt_errstr
    - taos_stmt2_free_fields
    - taos_stmt2_bind_param
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: 'void veriry_stmt(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:259,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:262,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:260,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:262,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:263,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:266,1
    - Dst: veriry_stmt
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:267,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:269,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:270,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nchar.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - veriry_stmt
    - printf
    - taos_close
    - taos_errstr
    - taos_options
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/stmt2-nchar.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 35
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nchar.c
    functionUses: []
    functionsReached:
    - taos_affected_rows
    linkageType: ''
    returnType: void
    signature: 'void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 14
    functionName: genReqid
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nohole.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t genReqid() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:75,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:296,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:308,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:210,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:322,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:83,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:111,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:71,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:57,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:81,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:121,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:347,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:212,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:330,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:297,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:344,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:50,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:51,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:69,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:108,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:256,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:301,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:43,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:44,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:50,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:212,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:208,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:309,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:306,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:106,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:109,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:346,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:343,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:268,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:325,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:114,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:87,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:340,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:324,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:80,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:83,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:84,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:326,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:305,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:345,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:72,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:71,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:342,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:280,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:339,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:54,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:301,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:302,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:68,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:112,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:298,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:45,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:56,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:123,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:209,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:341,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:329,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:255,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:307,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:337,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:113,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:122,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:207,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:267,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:281,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:213,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:48,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:120,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:325,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:279,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:277,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:299,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:107,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:110,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 218
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 348
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 348
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nohole.c
    functionUses: []
    functionsReached:
    - strcpy
    - taos_stmt_close
    - taos_select_db
    - taos_errstr
    - malloc
    - clock
    - usleep
    - taos_stmt2_init
    - free
    - taos_stmt2_error
    - taos_query
    - printf
    - taos_stmt2_exec
    - taos_free_result
    - taos_stmt2_prepare
    - taos_stmt2_get_fields
    - taos_errno
    - taos_stmt_errstr
    - taos_stmt2_free_fields
    - strlen
    - taos_stmt2_bind_param
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: 'void veriry_stmt(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:355,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:359,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:358,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:356,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:358,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:362,1
    - Dst: veriry_stmt
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:363,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:365,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:366,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 368
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nohole.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - veriry_stmt
    - printf
    - taos_close
    - taos_errstr
    - taos_options
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:19,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-nohole.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-nohole.c
    functionUses: []
    functionsReached:
    - taos_affected_rows
    - printf
    linkageType: ''
    returnType: void
    signature: 'void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtTest.c:11,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtTest.c:14,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtTest.c:15,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtTest.c:12,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtTest.c:18,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/tests/script/api/stmtTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void execute_simple_sql(void *taos, char *sql) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtTest.c:25,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtTest.c:28,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtTest.c:30,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtTest.c:27,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:31,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmtTest.c:37,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtTest.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - taos
    - id
    - expected
    argTypes:
    - TAOS*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 48
    functionName: check_result
    functionSourceFile: /src/tdengine/tests/script/api/stmtTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - sprintf
    - taos_fetch_row
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void check_result(TAOS *taos, int id, int expected) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtTest.c:62,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtTest.c:65,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtTest.c:69,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:78,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:177,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:87,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtTest.c:173,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:199,1
    - Dst: check_result
      Src: /src/tdengine/tests/script/api/stmtTest.c:232,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtTest.c:67,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tests/script/api/stmtTest.c:74,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtTest.c:184,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmtTest.c:216,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmtTest.c:217,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmtTest.c:218,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtTest.c:219,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtTest.c:230,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtTest.c:61,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtTest.c:63,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtTest.c:71,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtTest.c:83,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:190,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmtTest.c:51,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtTest.c:60,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:55,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtTest.c:186,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/tests/script/api/stmtTest.c:195,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtTest.c:222,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtTest.c:225,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 236
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 236
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmtTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taos_stmt_execute
    - taos_connect
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - strcpy
    - taos_stmt_close
    - check_result
    - taos_stmt_init
    - strlen
    - taos_stmt_set_sub_tbname
    - taos_stmt_add_batch
    - taos_stmt_bind_param
    - taos_load_table_info
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:40,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:45,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:57,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:62,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:54,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:61,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:58,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:53,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:65,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:66,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:89,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:73,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:41,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:42,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:52,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:92,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:119,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:120,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:74,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:69,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:112,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:88,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:82,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:49,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:50,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:60,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:64,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:56,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:68,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:72,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:77,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:78,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:81,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:111,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:84,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:90,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:85,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:43,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:46,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:48,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:76,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:113,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:80,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:122,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:86,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:115,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:112,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 64
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 123
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 123
    functionName: prepareData
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - CHECK_CONDITION
    - taos_query
    - usleep
    - taos_affected_rows
    - CHECK_RES
    - taos_select_db
    - taos_free_result
    - CHECK_CODE
    linkageType: ''
    returnType: void
    signature: 'static void prepareData(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:154,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:155,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:156,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:159,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - res
    - nlimit
    argTypes:
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: printResult
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - taos_fetch_row
    - puts
    - taos_num_fields
    - taos_print_row
    - taos_fetch_fields
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t printResult(TAOS_RES* res, int32_t nlimit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:198,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:201,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - param
    - res
    - nrows
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 203
    functionName: retrieveCallback
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - printResult
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: 'void retrieveCallback(void* param, TAOS_RES* res, int32_t nrows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:211,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:215,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:212,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:213,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:214,1
    - Dst: sleep
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 218
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 218
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - sleep
    - taos_query_a_with_reqid
    linkageType: ''
    returnType: void
    signature: 'static void verifyQueryAsync(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:30,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:32,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:32,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: getNewConnection
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - CHECK_CONDITION
    - taos_errstr
    - taos_options
    - taos_connect
    linkageType: ''
    returnType: TAOS*
    signature: 'static TAOS * getNewConnection() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_schemaless_insert_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:141,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:144,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:144,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:143,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: verifySchemaLess
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - taos_affected_rows
    - printf
    - CHECK_RES
    - taos_schemaless_insert_with_reqid
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'static void verifySchemaLess(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:186,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:190,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:191,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:168,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:169,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:173,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:178,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:183,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:189,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:170,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:171,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:175,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:176,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:181,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:180,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:185,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:174,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:179,1
    - Dst: CHECK_RES
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:184,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:188,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 194
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 194
    functionName: verifyQuery
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - taos_query_with_reqid
    - printf
    - printResult
    - CHECK_RES
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'static void verifyQuery(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:206,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: selectCallback
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - CHECK_CODE
    linkageType: ''
    returnType: void
    signature: 'void selectCallback(void* param, TAOS_RES* res, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:318,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:354,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:360,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:362,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:367,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:371,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:236,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:238,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:240,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:242,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:350,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:323,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:353,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:359,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:364,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:368,1
    - Dst: taos_stmt_init_with_reqid
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:244,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:322,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:320,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:357,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:341,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:365,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:369,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:235,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:239,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:237,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:241,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:356,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:366,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:370,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 133
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 372
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 372
    functionName: veriryStmt
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - malloc
    - taos_stmt_prepare
    - taos_stmt_execute
    - taos_stmt_set_tbname
    - strcpy
    - free
    - taos_stmt_close
    - strlen
    - taos_stmt_init_with_reqid
    - taos_stmt_add_batch
    - CHECK_CODE
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: void
    signature: 'void veriryStmt(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNewConnection
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:378,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:380,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:382,1
    - Dst: prepareData
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:383,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:379,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:386,1
    - Dst: verifySchemaLess
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:387,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:389,1
    - Dst: verifyQuery
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:390,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:392,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:395,1
    - Dst: veriryStmt
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:396,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:401,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:402,1
    - Dst: verifyQueryAsync
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:393,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/sameReqidTest.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 405
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/sameReqidTest.c
    functionUses: []
    functionsReached:
    - getNewConnection
    - printf
    - verifyQuery
    - taos_select_db
    - prepareData
    - taos_close
    - verifyQueryAsync
    - veriryStmt
    - CHECK_CODE
    - taos_cleanup
    - verifySchemaLess
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:86,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:92,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - param
    - ext
    - type
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: __taos_notify_cb
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void __taos_notify_cb(void *param, void *ext, int type) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:141,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:156,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:153,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:150,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:147,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:159,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:162,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:165,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:168,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tests/script/api/passwdTest.c:172,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:173,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:189,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/passwdTest.c:185,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tests/script/api/passwdTest.c:177,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:192,1
    - Dst: varDataLen
      Src: /src/tdengine/tests/script/api/passwdTest.c:184,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:178,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 4
    argNames:
    - str
    - row
    - fields
    - numFields
    argTypes:
    - char*
    - TAOS_ROW
    - TAOS_FIELD*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 198
    functionName: printRow
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - varDataLen
    - GET_FLOAT_VAL
    - sprintf
    - memcpy
    - GET_DOUBLE_VAL
    linkageType: ''
    returnType: int
    signature: 'int printRow(char *str, TAOS_ROW row, TAOS_FIELD *fields, int numFields) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:226,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/passwdTest.c:230,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:232,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:233,1
    - Dst: createUsers
      Src: /src/tdengine/tests/script/api/passwdTest.c:235,1
    - Dst: passVerTestMulti
      Src: /src/tdengine/tests/script/api/passwdTest.c:236,1
    - Dst: sysInfoTest
      Src: /src/tdengine/tests/script/api/passwdTest.c:237,1
    - Dst: userDroppedTest
      Src: /src/tdengine/tests/script/api/passwdTest.c:238,1
    - Dst: clearTestEnv
      Src: /src/tdengine/tests/script/api/passwdTest.c:239,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:241,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:243,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/passwdTest.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - userDroppedTest
    - exit
    - taos_connect
    - sysInfoTest
    - printf
    - taos_close
    - clearTestEnv
    - passVerTestMulti
    - createUsers
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:296,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:305,1
    - Dst: taosMsleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:314,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:320,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:325,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/passwdTest.c:280,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:283,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/passwdTest.c:304,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:311,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:334,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:337,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/tests/script/api/passwdTest.c:286,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:290,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:292,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:297,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:298,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:300,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:302,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:301,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:332,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:289,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:282,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:319,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:326,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:330,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - host
    - qstr
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 339
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 339
    functionName: passVerTestMulti
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - queryDB
    - fprintf
    - strcpy
    - printf
    - taos_close
    - taos_set_notify_cb
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: 'void passVerTestMulti(const char *host, char *qstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:70,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ms
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: taosMsleep
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - Sleep
    - usleep
    linkageType: ''
    returnType: void
    signature: 'void taosMsleep(int64_t ms) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/passwdTest.c:201,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:206,1
    - Dst: strncpy
      Src: /src/tdengine/tests/script/api/passwdTest.c:210,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/passwdTest.c:208,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/passwdTest.c:202,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/passwdTest.c:214,1
    - Dst: printRow
      Src: /src/tdengine/tests/script/api/passwdTest.c:216,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/passwdTest.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - res
    - output
    argTypes:
    - TAOS_RES*
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 220
    functionName: printResult
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - strncpy
    - taos_fetch_row
    - sprintf
    - puts
    - taos_num_fields
    - printRow
    - taos_fetch_fields
    linkageType: ''
    returnType: int
    signature: 'static int printResult(TAOS_RES *res, char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:108,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/passwdTest.c:112,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/passwdTest.c:113,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:120,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/passwdTest.c:120,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:121,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:122,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:125,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: queryDB
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void queryDB(TAOS *taos, char *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:249,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/passwdTest.c:253,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:250,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:251,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:255,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:256,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/tests/script/api/passwdTest.c:259,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:262,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:263,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:265,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:269,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 272
    functionName: createUsers
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - sprintf
    - queryDB
    - fprintf
    - printf
    - taos_set_notify_cb
    linkageType: ''
    returnType: void
    signature: 'void createUsers(TAOS *taos, const char *host, char *qstr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/passwdTest.c:347,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:378,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:384,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/passwdTest.c:390,1
    - Dst: strstr
      Src: /src/tdengine/tests/script/api/passwdTest.c:391,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:392,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:394,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:397,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:400,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:417,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:350,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:355,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:358,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:360,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:368,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:372,1
    - Dst: strstr
      Src: /src/tdengine/tests/script/api/passwdTest.c:377,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/passwdTest.c:391,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:415,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:416,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:393,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/passwdTest.c:371,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:373,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:371,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:382,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/passwdTest.c:389,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:399,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:411,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:412,1
    - Dst: taosMsleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:402,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:342,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:354,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:349,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:356,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:359,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/passwdTest.c:369,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/passwdTest.c:370,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/passwdTest.c:375,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:362,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/passwdTest.c:376,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:379,1
    - Dst: taosMsleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:386,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 3
    argNames:
    - taosRoot
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 418
    functionName: sysInfoTest
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_query
    - taos_connect
    - taos_errno
    - sprintf
    - queryDB
    - fprintf
    - strstr
    - printResult
    - taos_close
    - taos_free_result
    - taos_errstr
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: 'void sysInfoTest(TAOS *taosRoot, const char *host, char *qstr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:432,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:440,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:470,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:465,1
    - Dst: taosMsleep
      Src: /src/tdengine/tests/script/api/passwdTest.c:457,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:462,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:477,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:478,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/tests/script/api/passwdTest.c:434,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/passwdTest.c:429,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/passwdTest.c:438,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:446,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/passwdTest.c:461,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:454,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:480,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:431,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:436,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:472,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:469,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:479,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/passwdTest.c:426,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:447,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 485
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 485
    functionName: userDroppedTest
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - sprintf
    - queryDB
    - fprintf
    - printf
    - taos_close
    - taos_set_notify_cb
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: 'void userDroppedTest(TAOS *taos, const char *host, char *qstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:488,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:496,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:490,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:495,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/passwdTest.c:491,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/passwdTest.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - taos
    - host
    - qstr
    argTypes:
    - TAOS*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: clearTestEnv
    functionSourceFile: /src/tdengine/tests/script/api/passwdTest.c
    functionUses: []
    functionsReached:
    - queryDB
    - fprintf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void clearTestEnv(TAOS *taos, const char *host, char *qstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:12,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:15,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:16,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:15,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:13,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 20
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 20
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS* taos, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:34,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:35,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - taos
    - tbname
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: createCtb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - do_query
    - malloc
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void createCtb(TAOS* taos, const char* tbname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:47,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:85,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:128,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:129,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:130,1
    - Dst: clock_gettime
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:144,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:148,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:149,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:156,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:150,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:52,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:54,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:74,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:83,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:86,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:93,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:115,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:129,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:139,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:140,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:54,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:72,1
    - Dst: createCtb
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:76,1
    - Dst: clock_gettime
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:121,1
    - Dst: clock_gettime
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:134,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:140,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:151,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:155,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:157,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:158,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:161,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:153,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:167,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:154,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:170,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:165,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:51,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:55,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:75,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:84,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:107,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:110,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:92,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:106,1
    - Dst: clock_gettime
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:137,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:141,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:162,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 3
    argNames:
    - taos
    - sql
    - hasTag
    argTypes:
    - TAOS*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 171
    functionName: do_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - malloc
    - initEnv
    - createCtb
    - sprintf
    - taos_stmt2_init
    - free
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_exec
    - clock_gettime
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void do_stmt(TAOS* taos, const char* sql, bool hasTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:223,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:226,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:225,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:231,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:225,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:233,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:236,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 238
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 238
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - printf
    - taos_close
    - taos_errstr
    - do_stmt
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:23,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:26,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:26,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:24,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:27,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: do_ins
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_ins(TAOS* taos, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:40,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:42,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:43,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: initEnv
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: 'void initEnv(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initEnv
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:174,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:184,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:190,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:216,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:213,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:208,1
    - Dst: do_ins
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:215,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:218,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:179,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:206,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:183,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:176,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:177,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:189,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:199,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:200,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:206,1
    - Dst: createCtb
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:185,1
    - Dst: snprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:203,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-performance.c:208,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 220
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 220
    functionName: do_taosc
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-performance.c
    functionUses: []
    functionsReached:
    - malloc
    - clock
    - initEnv
    - snprintf
    - do_ins
    - createCtb
    - sprintf
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void do_taosc(TAOS* taos) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_block
      Src: /src/tdengine/tests/script/api/demoapi.c:197,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:204,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:226,1
    - Dst: taos_is_null
      Src: /src/tdengine/tests/script/api/demoapi.c:222,1
    - Dst: taos_get_column_data_offset
      Src: /src/tdengine/tests/script/api/demoapi.c:254,1
    - Dst: taos_is_null
      Src: /src/tdengine/tests/script/api/demoapi.c:235,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:239,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/demoapi.c:266,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:268,1
    - Dst: warnPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:282,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/demoapi.c:185,1
    - Dst: warnPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:194,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:210,1
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/demoapi.c:260,1
    - Dst: strncpy
      Src: /src/tdengine/tests/script/api/demoapi.c:261,1
    - Dst: taos_is_null
      Src: /src/tdengine/tests/script/api/demoapi.c:294,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:298,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/demoapi.c:286,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tests/script/api/demoapi.c:288,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:189,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/demoapi.c:186,1
    - Dst: taos_is_null
      Src: /src/tdengine/tests/script/api/demoapi.c:209,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:263,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:274,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/demoapi.c:283,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/demoapi.c:285,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:291,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tests/script/api/demoapi.c:198,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:213,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:236,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:223,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:248,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 83
    argCount: 3
    argNames:
    - tbname
    - res
    - block
    argTypes:
    - char*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 307
    functionName: print_result
    functionSourceFile: /src/tdengine/tests/script/api/demoapi.c
    functionUses: []
    functionsReached:
    - taos_fetch_block
    - strncpy
    - taos_fetch_row
    - puts
    - taos_num_fields
    - free
    - warnPrint
    - printf
    - calloc
    - taos_is_null
    - taos_print_row
    - taos_fetch_lengths
    - taos_fetch_fields
    - taos_get_column_data_offset
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int print_result(char *tbname, TAOS_RES* res, int block) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atoll
      Src: /src/tdengine/tests/script/api/demoapi.c:57,1
    - Dst: atoll
      Src: /src/tdengine/tests/script/api/demoapi.c:65,1
    - Dst: warnPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:67,1
    - Dst: warnPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 74
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 74
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tests/script/api/demoapi.c
    functionUses: []
    functionsReached:
    - atoll
    - warnPrint
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parse_opt(int key, char *arg, struct argp_state *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tests/script/api/demoapi.c:343,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:348,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:347,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/demoapi.c:345,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/demoapi.c:349,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tests/script/api/demoapi.c:352,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:353,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tests/script/api/demoapi.c:354,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:355,1
    - Dst: prepare_data
      Src: /src/tdengine/tests/script/api/demoapi.c:357,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/demoapi.c:361,1
    - Dst: okPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:362,1
    - Dst: verify_query
      Src: /src/tdengine/tests/script/api/demoapi.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 365
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/demoapi.c
    functionUses: []
    functionsReached:
    - exit
    - taos_get_client_info
    - taos_connect
    - taos_get_server_info
    - prepare_data
    - argp_parse
    - printf
    - taos_close
    - okPrint
    - taos_errstr
    - verify_query
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:80,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:83,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:137,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:140,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:152,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/demoapi.c:154,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:157,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:158,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:167,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:168,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:173,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:166,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:172,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/demoapi.c:85,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:86,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:96,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/demoapi.c:102,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:104,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:112,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:118,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:135,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:165,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:175,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:92,1
    - Dst: okPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:97,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:99,1
    - Dst: okPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:120,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:100,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:122,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:123,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:131,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:138,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:139,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/demoapi.c:169,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:153,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/demoapi.c:141,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:81,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:84,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:95,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:101,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:119,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:125,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/demoapi.c:147,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:145,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:149,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:160,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/demoapi.c:164,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:144,1
    - Dst: okPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 109
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 180
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 180
    functionName: prepare_data
    functionSourceFile: /src/tdengine/tests/script/api/demoapi.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - sprintf
    - taos_affected_rows
    - taos_select_db
    - okPrint
    - rand
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void prepare_data(TAOS* taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:316,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/demoapi.c:317,1
    - Dst: taos_field_count
      Src: /src/tdengine/tests/script/api/demoapi.c:322,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/demoapi.c:321,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/demoapi.c:318,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/demoapi.c:323,1
    - Dst: print_result
      Src: /src/tdengine/tests/script/api/demoapi.c:324,1
    - Dst: okPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:325,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:328,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:329,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/demoapi.c:333,1
    - Dst: errorPrint
      Src: /src/tdengine/tests/script/api/demoapi.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 336
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 336
    functionName: verify_query
    functionSourceFile: /src/tdengine/tests/script/api/demoapi.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_field_count
    - taos_errno
    - sprintf
    - print_result
    - printf
    - okPrint
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void verify_query(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:11,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:15,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:15,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:12,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:13,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 20
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 20
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS* taos, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 74
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 74
    functionName: test1
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: 'void test1(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: test3
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: 'void test3(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:88,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:94,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:91,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:90,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:90,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:95,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:96,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:97,1
    - Dst: test1
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:99,1
    - Dst: test2
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:100,1
    - Dst: test3
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:101,1
    - Dst: test4
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:102,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:104,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 106
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - do_query
    - exit
    - taos_connect
    - test1
    - test2
    - printf
    - taos_close
    - taos_cleanup
    - taos_errstr
    - test4
    - test3
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:26,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:34,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:33,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:36,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:36,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:37,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:57,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:59,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:59,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:60,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:64,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:65,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:66,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:69,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:65,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:71,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 7
    argNames:
    - taos
    - tbname1
    - tbname2
    - tag2
    - col2
    - case_desc
    - size
    argTypes:
    - TAOS*
    - char*
    - char*
    - int8_t*
    - int8_t*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 72
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 72
    functionName: execute_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - taos_stmt2_init
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_exec
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void execute_test(TAOS* taos, const char* tbname1, const char* tbname2,
      int8_t* tag2, int8_t* col2, const char* case_desc, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: test2
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: 'void test2(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: execute_test
      Src: /src/tdengine/tests/script/api/stmt2-geometry-test.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: test4
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-geometry-test.c
    functionUses: []
    functionsReached:
    - execute_test
    linkageType: ''
    returnType: void
    signature: 'void test4(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:29,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:31,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:34,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:33,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:30,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:35,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:38,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:41,1
    - Dst: taos_field_count
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:42,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:44,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:47,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - msg
    argTypes:
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 51
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 51
    functionName: msg_process
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - taos_field_count
    - taos_fetch_row
    - tmq_get_db_name
    - taos_print_row
    - printf
    - taos_result_precision
    - tmq_get_topic_name
    - taos_fetch_fields
    - tmq_get_vgroup_id
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msg_process(TAOS_RES* msg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tmq_conf_new
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:202,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:203,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:205,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:208,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:210,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:213,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:215,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:218,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:220,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:223,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:228,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:230,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:235,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:225,1
    - Dst: tmq_conf_set_auto_commit_cb
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:239,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:233,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:243,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:240,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 245
    functionName: build_consumer
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - tmq_conf_destroy
    - tmq_conf_set
    - tmq_consumer_new
    - tmq_conf_set_auto_commit_cb
    - tmq_conf_new
    linkageType: ''
    returnType: tmq_t*
    signature: 'tmq_t * build_consumer() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:169,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:171,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:178,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:177,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:176,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:178,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:181,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:183,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:184,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:185,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:190,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:188,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 192
    functionName: create_topic
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - taos_errno
    - printf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t create_topic() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:64,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:70,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:77,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:90,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:96,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:101,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:103,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:108,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:110,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:113,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:126,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:133,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:132,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:139,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:152,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:147,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:150,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:129,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:136,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:153,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:159,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:163,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:61,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:68,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:77,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:72,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:84,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:86,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:93,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:96,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:102,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:109,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:120,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:124,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:123,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:126,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:131,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:133,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:138,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:147,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:145,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:54,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:63,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:62,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:69,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:80,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:87,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:99,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:106,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:110,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:115,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:117,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:125,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:154,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:140,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:157,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:146,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:143,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:117,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:64,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:66,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:70,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:83,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:76,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:75,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:87,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:94,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:95,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:103,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:116,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:164,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:154,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:140,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 166
    functionName: init_env
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - taos_errno
    - printf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t init_env() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:262,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:272,1
    - Dst: msg_process
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:265,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    constantsTouched: []
    func_position:
      end: 273
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 273
    functionName: basic_consume_loop
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - msg_process
    - tmq_consumer_poll
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void basic_consume_loop(tmq_t* tmq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - tmq
    - code
    - param
    argTypes:
    - tmq_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: tmq_commit_cb_print
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void tmq_commit_cb_print(tmq_t* tmq, int32_t code, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:248,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:251,1
    - Dst: tmq_list_append
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: build_topic_list
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - tmq_list_new
    - tmq_list_destroy
    - tmq_list_append
    linkageType: ''
    returnType: tmq_list_t*
    signature: 'tmq_list_t * build_topic_list() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_get_topic_assignment
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:279,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:281,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:281,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:290,1
    - Dst: tmq_offset_seek
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:288,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:290,1
    - Dst: tmq_free_assignment
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:294,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - tmq
    argTypes:
    - tmq_t*
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: consume_repeatly
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - fprintf
    - tmq_err2str
    - tmq_get_topic_assignment
    - tmq_free_assignment
    - basic_consume_loop
    - tmq_offset_seek
    linkageType: ''
    returnType: void
    signature: 'void consume_repeatly(tmq_t* tmq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: init_env
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:303,1
    - Dst: build_consumer
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:311,1
    - Dst: create_topic
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:307,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:313,1
    - Dst: build_topic_list
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:317,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:322,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:323,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:323,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:326,1
    - Dst: basic_consume_loop
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:328,1
    - Dst: consume_repeatly
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:330,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:336,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:334,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:332,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tests/script/api/tmqViewTest.c:334,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/tmqViewTest.c
    functionUses: []
    functionsReached:
    - consume_repeatly
    - init_env
    - fprintf
    - tmq_err2str
    - tmq_list_destroy
    - tmq_subscribe
    - build_consumer
    - tmq_consumer_close
    - basic_consume_loop
    - create_topic
    - build_topic_list
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:18,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt-crash.c:25,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt-crash.c:33,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt-crash.c:49,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:51,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:39,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt-crash.c:48,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:187,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:189,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt-crash.c:206,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:249,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/stmt-crash.c:275,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt-crash.c:23,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:26,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:30,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:37,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt-crash.c:51,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:52,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt-crash.c:149,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmt-crash.c:159,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt-crash.c:187,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt-crash.c:188,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt-crash.c:218,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt-crash.c:254,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:281,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:264,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt-crash.c:251,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt-crash.c:29,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:35,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt-crash.c:41,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:42,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:55,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:183,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:261,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmt-crash.c:272,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:279,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt-crash.c:285,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt-crash.c:255,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:248,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:276,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt-crash.c:191,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:25,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt-crash.c:32,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-crash.c:36,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt-crash.c:35,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-crash.c:53,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt-crash.c:84,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt-crash.c:181,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt-crash.c:203,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt-crash.c:204,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt-crash.c:247,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-crash.c:260,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/stmt-crash.c:269,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt-crash.c:258,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/stmt-crash.c:268,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt-crash.c:219,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt-crash.c:259,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 205
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 288
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 288
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt-crash.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - strcpy
    - taos_stmt_close
    - taos_stmt_init
    - taos_stmt_use_result
    - taos_errstr
    - taos_stmt_bind_param
    - taos_stmt_prepare
    - memcpy
    - taos_query
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_stmt_add_batch
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - taos_stmt_errstr
    - taos_fetch_fields
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tests/script/api/insert_stb.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: currTimeInUs
    functionSourceFile: /src/tdengine/tests/script/api/insert_stb.c
    functionUses: []
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t currTimeInUs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currTimeInUs
      Src: /src/tdengine/tests/script/api/insert_stb.c:69,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:73,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:77,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insert_stb.c:83,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:86,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:63,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:66,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:81,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:97,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:98,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:85,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:62,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:67,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insert_stb.c:84,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insert_stb.c:87,1
    - Dst: currTimeInUs
      Src: /src/tdengine/tests/script/api/insert_stb.c:93,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:64,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insert_stb.c:85,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - taos
    - qstr
    - pElapsedTime
    argTypes:
    - TAOS*
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 99
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 99
    functionName: testInsert
    functionSourceFile: /src/tdengine/tests/script/api/insert_stb.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_free_result
    - taos_errno
    - sprintf
    - currTimeInUs
    - printf
    - executeSql
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void testInsert(TAOS *taos, char *qstr, double* pElapsedTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: currTimeInUs
      Src: /src/tdengine/tests/script/api/insert_stb.c:109,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:113,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:117,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insert_stb.c:124,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:127,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:103,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:106,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:121,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:126,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:102,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:107,1
    - Dst: currTimeInUs
      Src: /src/tdengine/tests/script/api/insert_stb.c:134,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insert_stb.c:128,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insert_stb.c:125,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:104,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:130,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:137,1
    - Dst: executeSql
      Src: /src/tdengine/tests/script/api/insert_stb.c:138,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insert_stb.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - taos
    - qstr
    - pElapsedTime
    argTypes:
    - TAOS*
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 139
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 139
    functionName: testInsertStb
    functionSourceFile: /src/tdengine/tests/script/api/insert_stb.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_free_result
    - taos_errno
    - sprintf
    - currTimeInUs
    - printf
    - executeSql
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void testInsertStb(TAOS *taos, char *qstr, double *pElapsedTime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:40,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insert_stb.c:45,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/insert_stb.c:52,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insert_stb.c:44,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insert_stb.c:52,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:53,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/insert_stb.c:54,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insert_stb.c:55,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insert_stb.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 59
    functionName: executeSql
    functionSourceFile: /src/tdengine/tests/script/api/insert_stb.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void executeSql(TAOS *taos, char *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:146,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/insert_stb.c:150,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insert_stb.c:152,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insert_stb.c:153,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:152,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/insert_stb.c:155,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:157,1
    - Dst: testInsert
      Src: /src/tdengine/tests/script/api/insert_stb.c:161,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:164,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:175,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/insert_stb.c:178,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/insert_stb.c:179,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insert_stb.c:168,1
    - Dst: testInsertStb
      Src: /src/tdengine/tests/script/api/insert_stb.c:172,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/insert_stb.c:177,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 180
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/insert_stb.c
    functionUses: []
    functionsReached:
    - exit
    - malloc
    - taos_connect
    - testInsert
    - free
    - printf
    - taos_close
    - testInsertStb
    - taos_errstr
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - tags
    argTypes:
    - TAOS_MULTI_BIND*
    constantsTouched: []
    func_position:
      end: 56
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 56
    functionName: prepareBindTags
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void prepareBindTags(TAOS_MULTI_BIND *tags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:36,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:36,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - stmt
    - code
    - msg
    argTypes:
    - TAOS_STMT*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: checkErrorCode
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_errstr
    - printf
    linkageType: ''
    returnType: void
    signature: 'void checkErrorCode(TAOS_STMT *stmt, int code, const char *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:102,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:112,1
    - Dst: prepareBindTags
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:111,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:106,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:107,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:113,1
    - Dst: prepareBindParams
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:116,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:118,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:119,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:121,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:125,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:122,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:129,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:132,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:126,1
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - taos
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS*
    - int64_t*
    - float*
    - int*
    - float*
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: insertData
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taos_stmt_affected_rows
    - prepareBindParams
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - prepareBindTags
    - taos_stmt_add_batch
    - checkErrorCode
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: void
    signature: 'void insertData(TAOS *taos, int64_t *ts, float *current, int *voltage,
      float *phase) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:175,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:177,1
    - Dst: executeSQL
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:180,1
    - Dst: executeSQL
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:181,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:178,1
    - Dst: executeSQL
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:182,1
    - Dst: executeSQL
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:183,1
    - Dst: insertData
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:192,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:197,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:202,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:212,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:215,1
    - Dst: insertDataInterlace
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:207,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - exit
    - executeSQL
    - insertData
    - taos_connect
    - printf
    - taos_close
    - insertDataInterlace
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - params
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS_MULTI_BIND*
    - int64_t*
    - float*
    - int*
    - float*
    constantsTouched: []
    func_position:
      end: 93
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 93
    functionName: prepareBindParams
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void prepareBindParams(TAOS_MULTI_BIND *params, int64_t *ts, float
      *current, int *voltage, float *phase) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:141,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:151,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:145,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:146,1
    - Dst: prepareBindTags
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:150,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:152,1
    - Dst: prepareBindParams
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:155,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:157,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:158,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:160,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:164,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:165,1
    - Dst: taos_stmt_affected_rows
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:167,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:168,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:171,1
    - Dst: checkErrorCode
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - taos
    - ts
    - current
    - voltage
    - phase
    argTypes:
    - TAOS*
    - int64_t*
    - float*
    - int*
    - float*
    constantsTouched: []
    func_position:
      end: 172
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 172
    functionName: insertDataInterlace
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taos_stmt_affected_rows
    - prepareBindParams
    - taos_stmt_init_with_options
    - taos_stmt_close
    - printf
    - prepareBindTags
    - taos_stmt_add_batch
    - checkErrorCode
    - taos_stmt_bind_param_batch
    linkageType: ''
    returnType: void
    signature: 'void insertDataInterlace(TAOS *taos, int64_t *ts, float *current,
      int *voltage, float *phase) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:16,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:17,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:19,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:19,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:20,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:21,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:22,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 25
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 25
    functionName: executeSQL
    functionSourceFile: /src/tdengine/tests/script/api/stmt-insert-dupkeys.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - printf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void executeSQL(TAOS *taos, const char *sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:38,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:40,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - taos
    - tbname
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: createCtb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached:
    - do_query
    - malloc
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void createCtb(TAOS* taos, const char* tbname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:164,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:171,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:177,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:186,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:195,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:202,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:210,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:217,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:218,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:168,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:174,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:179,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:183,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:188,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:189,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:199,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:204,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:214,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:211,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:216,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:163,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:167,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:170,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:176,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:180,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:185,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:192,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:196,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:201,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:205,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:161,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:163,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:173,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:182,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:193,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:198,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:207,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:208,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 219
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - printf
    - taos_close
    - taos_errstr
    - do_stmt
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:18,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:21,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:22,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:19,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:21,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 26
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS* taos, const char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:31,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:34,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:32,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: initEnv
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached:
    - do_query
    linkageType: ''
    returnType: void
    signature: 'void initEnv(TAOS* taos) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:60,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:76,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:127,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:133,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:134,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:135,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:140,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:141,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:146,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:153,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:134,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:126,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:58,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:60,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:61,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:66,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:87,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:93,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:142,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:148,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:150,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:128,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:145,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:157,1
    - Dst: initEnv
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:44,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:68,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:68,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:75,1
    - Dst: createCtb
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:78,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:86,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:127,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:143,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:147,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:149,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:57,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:70,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:84,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:85,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:73,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:94,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:106,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:107,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:110,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:115,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2-memleak.c:155,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 6
    argNames:
    - taos
    - sql
    - interlaceMode
    - hasTag
    - preCreateTb
    - asyncExec
    argTypes:
    - TAOS*
    - char*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 158
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 158
    functionName: do_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-memleak.c
    functionUses: []
    functionsReached:
    - malloc
    - initEnv
    - taos_stmt2_get_fields
    - createCtb
    - sprintf
    - taos_stmt2_init
    - free
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_bind_param
    - taos_stmt2_exec
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void do_stmt(TAOS* taos, const char* sql, bool interlaceMode, bool
      hasTag, bool preCreateTb, bool asyncExec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:65,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:68,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:69,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stopquery.c:66,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:68,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:70,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stopquery.c:71,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stopquery.c:72,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 76
    functionName: sqExecSQL
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    - taos_cleanup
    linkageType: ''
    returnType: void
    signature: 'static void sqExecSQL(TAOS *taos, char *command) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stop_query
      Src: /src/tdengine/tests/script/api/stopquery.c:98,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: sqStopFetchCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_stop_query
    linkageType: ''
    returnType: void
    signature: 'void sqStopFetchCb(void *param, TAOS_RES *pRes, int numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_kill_query
      Src: /src/tdengine/tests/script/api/stopquery.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 171
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 171
    functionName: sqKillFetchCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_kill_query
    linkageType: ''
    returnType: void
    signature: 'void sqKillFetchCb(void *param, TAOS_RES *pRes, int numOfRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:190,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: sqAsyncFetchCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: 'void sqAsyncFetchCb(void *param, TAOS_RES *pRes, int numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:608,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:617,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:614,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:616,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:613,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:619,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 622
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 622
    functionName: sqConKillAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - CASE_LEAVE
    - pthread_create
    - taos_close
    - CASE_ENTER
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConKillAsyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:82,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: sqExecSQLE
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_query
    linkageType: ''
    returnType: void
    signature: 'static void sqExecSQLE(TAOS *taos, char *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:108,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:115,1
    - Dst: taos_stop_query
      Src: /src/tdengine/tests/script/api/stopquery.c:110,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:111,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: sqStopQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - taos_stop_query
    - sqExit
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void sqStopQueryCb(void *param, TAOS_RES *pRes, int code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:177,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tests/script/api/stopquery.c:179,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:183,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: sqKillQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - taos_errstr
    - sqExit
    - taos_kill_query
    linkageType: ''
    returnType: void
    signature: 'void sqKillQueryCb(void *param, TAOS_RES *pRes, int code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:204,1
    - Dst: sqError
      Src: /src/tdengine/tests/script/api/stopquery.c:212,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:207,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:214,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 216
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 216
    functionName: sqAsyncQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    - sqError
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void sqAsyncQueryCb(void *param, TAOS_RES *pRes, int code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:625,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:633,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:631,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:634,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:630,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 638
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 638
    functionName: sqConCleanupSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConCleanupSyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: sqError
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void sqError(char* prefix, const char* errMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: sqFreeFetchCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'void sqFreeFetchCb(void *param, TAOS_RES *pRes, int numOfRows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:283,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:290,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:287,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:288,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:288,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:291,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:293,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:294,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:296,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:297,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stopquery.c:298,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:300,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stopquery.c:304,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:307,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:300,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:310,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 311
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 311
    functionName: sqFreeSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - taos_errno
    - taos_fetch_row
    - taos_close
    - CASE_ENTER
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqFreeSyncQuery(bool fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:461,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stopquery.c:461,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:462,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: closeThreadFp
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_close
    - rand
    - usleep
    linkageType: ''
    returnType: void*
    signature: 'void *closeThreadFp(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:485,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stopquery.c:486,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stopquery.c:485,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: cleanupThreadFp
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_cleanup
    - rand
    - usleep
    linkageType: ''
    returnType: void*
    signature: 'void *cleanupThreadFp(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqError
      Src: /src/tdengine/tests/script/api/stopquery.c:92,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stopquery.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prefix
    - errMsg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: sqExit
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - exit
    - sqError
    linkageType: ''
    returnType: void
    signature: 'void sqExit(char* prefix, const char* errMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:130,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:136,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:136,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 138
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 138
    functionName: sqFreeQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    - taos_errstr
    - sqExit
    linkageType: ''
    returnType: void
    signature: 'void sqFreeQueryCb(void *param, TAOS_RES *pRes, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:314,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:319,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:321,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:318,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:319,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:322,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:324,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:325,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:327,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/stopquery.c:333,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:340,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:335,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 341
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 341
    functionName: sqFreeAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - usleep
    - taos_close
    - CASE_ENTER
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqFreeAsyncQuery(bool fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:473,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tests/script/api/stopquery.c:474,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:477,1
    - Dst: rand
      Src: /src/tdengine/tests/script/api/stopquery.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 479
    functionName: killThreadFp
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_kill_query
    - rand
    - usleep
    linkageType: ''
    returnType: void*
    signature: 'void *killThreadFp(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:497,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:503,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:505,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:502,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:506,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 509
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 509
    functionName: sqConCloseSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConCloseSyncQuery(bool fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stopquery.c:708,1
    - Dst: time
      Src: /src/tdengine/tests/script/api/stopquery.c:712,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stopquery.c:714,1
    - Dst: srand
      Src: /src/tdengine/tests/script/api/stopquery.c:712,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stopquery.c:709,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stopquery.c:715,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stopquery.c:716,1
    - Dst: sqRunAllCase
      Src: /src/tdengine/tests/script/api/stopquery.c:718,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 721
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 721
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - exit
    - srand
    - strcpy
    - printf
    - time
    - sqRunAllCase
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:344,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:349,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:349,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:348,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:351,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:352,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:354,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:355,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:357,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:358,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:361,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:371,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:368,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stopquery.c:365,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stopquery.c:359,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:361,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 372
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 372
    functionName: sqCloseSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - taos_errno
    - taos_fetch_row
    - taos_close
    - CASE_ENTER
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqCloseSyncQuery(bool fetch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:406,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:407,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:407,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:411,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/tests/script/api/stopquery.c:412,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:414,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/tests/script/api/stopquery.c:415,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:417,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:418,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stopquery.c:421,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 427
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 427
    functionName: syncQueryThreadFp
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - sqExecSQLE
    - sqExit
    - sprintf
    - taos_fetch_row
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void*
    signature: 'void *syncQueryThreadFp(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:375,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:382,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:379,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:380,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:380,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:383,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:385,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:386,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:388,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/stopquery.c:394,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:396,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 400
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 400
    functionName: sqCloseAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - usleep
    - CASE_ENTER
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqCloseAsyncQuery(bool fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:433,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:438,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/tests/script/api/stopquery.c:439,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:434,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:434,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:441,1
    - Dst: sqExecSQLE
      Src: /src/tdengine/tests/script/api/stopquery.c:442,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:444,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/stopquery.c:450,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:452,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 454
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 454
    functionName: asyncQueryThreadFp
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    - taos_connect
    - sqExecSQLE
    - sqExit
    - sprintf
    - usleep
    - taos_errstr
    linkageType: ''
    returnType: void*
    signature: 'void *asyncQueryThreadFp(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:143,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - param
    - pRes
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 148
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 148
    functionName: sqCloseFetchCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_close
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'void sqCloseFetchCb(void *param, TAOS_RES *pRes, int numOfRows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:220,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:225,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:227,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:225,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:224,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:228,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:230,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:231,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:233,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:234,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stopquery.c:235,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stopquery.c:241,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:237,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:247,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:249,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:237,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:245,1
    - Dst: taos_stop_query
      Src: /src/tdengine/tests/script/api/stopquery.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: sqStopSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - taos_stop_query
    - sqExit
    - sprintf
    - sqExecSQL
    - taos_errno
    - taos_fetch_row
    - CASE_LEAVE
    - taos_close
    - CASE_ENTER
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqStopSyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:512,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:521,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:518,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:517,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:520,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 524
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 524
    functionName: sqConCloseAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConCloseAsyncQuery(bool fetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:560,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:567,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:564,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:565,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:565,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:568,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:570,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:571,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:573,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/stopquery.c:580,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:582,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:587,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 588
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 588
    functionName: sqKillAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - usleep
    - taos_close
    - CASE_ENTER
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqKillAsyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:641,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:649,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:647,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:650,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:646,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 654
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 654
    functionName: sqConCleanupAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - pthread_create
    - CASE_ENTER
    - CASE_LEAVE
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConCleanupAsyncQuery(bool fetch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/stopquery.c:154,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:156,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stopquery.c:159,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:162,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 164
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 164
    functionName: sqCloseQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - sqExit
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void sqCloseQueryCb(void *param, TAOS_RES *pRes, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:253,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:258,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:257,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:260,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:258,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:261,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:263,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:264,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:266,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/stopquery.c:272,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:277,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stopquery.c:274,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 280
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 280
    functionName: sqStopAsyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - usleep
    - taos_close
    - CASE_ENTER
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqStopAsyncQuery(bool fetch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:528,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:533,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:533,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stopquery.c:532,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:535,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:536,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:538,1
    - Dst: sqExecSQL
      Src: /src/tdengine/tests/script/api/stopquery.c:539,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stopquery.c:541,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stopquery.c:542,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stopquery.c:549,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tests/script/api/stopquery.c:552,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stopquery.c:543,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stopquery.c:545,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:556,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:554,1
    - Dst: sqExit
      Src: /src/tdengine/tests/script/api/stopquery.c:545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 557
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 557
    functionName: sqKillSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_connect
    - CASE_LEAVE
    - sqExit
    - sprintf
    - sqExecSQL
    - taos_errno
    - taos_fetch_row
    - taos_kill_query
    - taos_close
    - CASE_ENTER
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int sqKillSyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CASE_ENTER
      Src: /src/tdengine/tests/script/api/stopquery.c:591,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:597,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:600,1
    - Dst: pthread_create
      Src: /src/tdengine/tests/script/api/stopquery.c:596,1
    - Dst: pthread_join
      Src: /src/tdengine/tests/script/api/stopquery.c:599,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stopquery.c:602,1
    - Dst: CASE_LEAVE
      Src: /src/tdengine/tests/script/api/stopquery.c:604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: sqConKillSyncQuery
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - CASE_LEAVE
    - pthread_create
    - taos_close
    - CASE_ENTER
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'int sqConKillSyncQuery(bool fetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqStopSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:660,1
    - Dst: sqStopAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:662,1
    - Dst: sqFreeSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:665,1
    - Dst: sqFreeAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:667,1
    - Dst: sqCloseAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:672,1
    - Dst: sqConCloseAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:677,1
    - Dst: sqKillAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:682,1
    - Dst: sqFreeSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:664,1
    - Dst: sqConCloseAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:676,1
    - Dst: sqCloseAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:671,1
    - Dst: sqKillAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:681,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stopquery.c:700,1
    - Dst: sqStopSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:659,1
    - Dst: sqCloseSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:670,1
    - Dst: sqKillSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:680,1
    - Dst: sqConCloseSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:675,1
    - Dst: sqStopAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:661,1
    - Dst: sqFreeAsyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:666,1
    - Dst: sqCloseSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:669,1
    - Dst: sqKillSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:679,1
    - Dst: sqConCloseSyncQuery
      Src: /src/tdengine/tests/script/api/stopquery.c:674,1
    - Dst: sleep
      Src: /src/tdengine/tests/script/api/stopquery.c:701,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stopquery.c:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 704
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 704
    functionName: sqRunAllCase
    functionSourceFile: /src/tdengine/tests/script/api/stopquery.c
    functionUses: []
    functionsReached:
    - sqKillSyncQuery
    - sqStopSyncQuery
    - sqConCloseAsyncQuery
    - sqCloseSyncQuery
    - sqFreeAsyncQuery
    - sqStopAsyncQuery
    - sqConCloseSyncQuery
    - printf
    - sqKillAsyncQuery
    - sleep
    - sqFreeSyncQuery
    - sqCloseAsyncQuery
    linkageType: ''
    returnType: void
    signature: 'void sqRunAllCase(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-example.c:6,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-example.c:7,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-example.c:9,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-example.c:10,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:9,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-example.c:13,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 14
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 14
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-example.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS* taos, const char* sql) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-example.c:17,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-example.c:46,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:67,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-example.c:80,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-example.c:91,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-example.c:19,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-example.c:18,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:54,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2-example.c:83,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-example.c:92,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-example.c:52,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-example.c:54,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-example.c:55,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-example.c:61,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:65,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:86,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:63,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-example.c:63,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt2-example.c:78,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt2-example.c:79,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2-example.c:85,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-example.c:86,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-example.c:87,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 93
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 93
    functionName: do_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-example.c
    functionUses: []
    functionsReached:
    - do_query
    - taos_stmt2_get_fields
    - strcpy
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - strlen
    - taos_stmt2_bind_param
    - taos_stmt2_exec
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void do_stmt(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-example.c:96,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-example.c:98,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-example.c:98,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-example.c:99,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-example.c:102,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-example.c:103,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-example.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-example.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - printf
    - taos_close
    - taos_errstr
    - do_stmt
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:31,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insertSameTs.c:35,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insertSameTs.c:43,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insertSameTs.c:36,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:43,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:44,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/insertSameTs.c:45,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insertSameTs.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:49,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: queryDB
    functionSourceFile: /src/tdengine/tests/script/api/insertSameTs.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void queryDB(TAOS *taos, char *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:59,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insertSameTs.c:66,1
    - Dst: Test
      Src: /src/tdengine/tests/script/api/insertSameTs.c:68,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/insertSameTs.c:63,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:65,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/insertSameTs.c:69,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/insertSameTs.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/insertSameTs.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - Test
    - taos_close
    - printf
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/insertSameTs.c:73,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:85,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insertSameTs.c:88,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insertSameTs.c:89,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insertSameTs.c:99,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:96,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insertSameTs.c:100,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:105,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/insertSameTs.c:111,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/insertSameTs.c:112,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/insertSameTs.c:129,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/insertSameTs.c:121,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:133,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/insertSameTs.c:78,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:86,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:91,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:94,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insertSameTs.c:90,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insertSameTs.c:101,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:102,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/insertSameTs.c:113,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insertSameTs.c:115,1
    - Dst: taos_field_count
      Src: /src/tdengine/tests/script/api/insertSameTs.c:120,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:79,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:90,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/insertSameTs.c:98,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:101,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:113,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:123,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:124,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/insertSameTs.c:126,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:130,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/insertSameTs.c:76,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/insertSameTs.c:74,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insertSameTs.c:92,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/insertSameTs.c:103,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/insertSameTs.c:110,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/insertSameTs.c:114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 2
    argNames:
    - taos
    - qstr
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 134
    functionName: Test
    functionSourceFile: /src/tdengine/tests/script/api/insertSameTs.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_field_count
    - taos_fetch_fields
    - taos_errno
    - sprintf
    - queryDB
    - taos_fetch_row
    - strcpy
    - taos_print_row
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void Test(TAOS *taos, char *qstr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 17
    functionName: genReqid
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t genReqid() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/tests/script/api/apitest.c:111,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:115,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - line
    - res
    - expected
    argTypes:
    - int
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: check_row_count
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - print_result
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void check_row_count(int line, TAOS_RES* res, int expected) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:26,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:42,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:53,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:78,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:51,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:24,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:32,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:36,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:33,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:41,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:37,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:40,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:43,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:47,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:21,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:25,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/apitest.c:27,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:29,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:49,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:74,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:76,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:50,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:22,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:23,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:30,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:35,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:38,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:34,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:45,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:48,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/apitest.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 51
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 79
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 79
    functionName: prepare_data
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_query
    - usleep
    - taos_affected_rows
    - printf
    - taos_select_db
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'static void prepare_data(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/tests/script/api/apitest.c:163,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - tsub
    - res
    - param
    - code
    argTypes:
    - TAOS_SUB*
    - TAOS_RES*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: subscribe_callback
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - print_result
    - printf
    linkageType: ''
    returnType: void
    signature: 'void subscribe_callback(TAOS_SUB* tsub, TAOS_RES* res, void* param,
      int code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:364,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:382,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:383,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:489,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:491,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:492,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/apitest.c:518,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:534,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:535,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/apitest.c:565,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:567,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:588,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:566,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:596,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:591,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:365,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:367,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:373,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:389,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:406,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/apitest.c:376,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:407,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:409,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:411,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:491,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:498,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/apitest.c:572,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:592,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/apitest.c:583,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/apitest.c:531,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:542,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:594,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:362,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:363,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:369,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:370,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:386,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:385,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:414,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:498,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:533,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:534,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/apitest.c:576,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:590,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:595,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:568,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:587,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/apitest.c:580,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:567,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:597,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:369,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:375,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:385,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:405,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:408,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:410,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:412,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/apitest.c:496,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/apitest.c:527,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/apitest.c:530,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:593,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:543,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:584,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:539,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/apitest.c:577,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:499,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 198
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 598
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 598
    functionName: verify_prepare2
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_stmt_set_tbname
    - strcpy
    - taos_stmt_close
    - taos_stmt_init
    - taos_select_db
    - taos_stmt_use_result
    - taos_errstr
    - taos_stmt_bind_param
    - malloc
    - taos_stmt_prepare
    - usleep
    - free
    - taos_stmt_bind_param_batch
    - taos_query
    - taos_stmt_execute
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_stmt_add_batch
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - taos_stmt_errstr
    - strlen
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void verify_prepare2(TAOS* taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:861,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/apitest.c:862,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:867,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:865,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:869,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - param
    - tres
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 871
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 871
    functionName: retrieve_callback
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    - printf
    linkageType: ''
    returnType: void
    signature: 'void retrieve_callback(void* param, TAOS_RES* tres, int numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/tests/script/api/apitest.c:882,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/apitest.c:883,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: verify_async
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - prepare_data
    - taos_query_a
    - usleep
    linkageType: ''
    returnType: void
    signature: 'void verify_async(TAOS* taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/tests/script/api/apitest.c:120,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:124,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:129,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/tests/script/api/apitest.c:127,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/tests/script/api/apitest.c:132,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/apitest.c:137,1
    - Dst: check_row_count
      Src: /src/tdengine/tests/script/api/apitest.c:149,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/apitest.c:157,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:159,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/apitest.c:137,1
    - Dst: check_row_count
      Src: /src/tdengine/tests/script/api/apitest.c:138,1
    - Dst: taos_field_count
      Src: /src/tdengine/tests/script/api/apitest.c:140,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/apitest.c:148,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/apitest.c:152,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:153,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:155,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/apitest.c:157,1
    - Dst: taos_stop_query
      Src: /src/tdengine/tests/script/api/apitest.c:158,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:134,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tests/script/api/apitest.c:139,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tests/script/api/apitest.c:142,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:146,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:141,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/apitest.c:148,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:144,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:150,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/apitest.c:152,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tests/script/api/apitest.c:122,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:139,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:154,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: verify_query
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_query_with_reqid
    - taos_field_count
    - taos_stop_query
    - taos_errno
    - prepare_data
    - printf
    - genReqid
    - taos_result_precision
    - taos_validate_sql
    - taos_fetch_lengths
    - taos_errstr
    - taos_free_result
    - check_row_count
    - taos_load_table_info
    linkageType: ''
    returnType: void
    signature: 'static void verify_query(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/apitest.c:83,1
    - Dst: taos_fetch_block
      Src: /src/tdengine/tests/script/api/apitest.c:89,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/apitest.c:98,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/apitest.c:100,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/apitest.c:84,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/apitest.c:101,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - res
    - blockFetch
    argTypes:
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 108
    functionName: print_result
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_fetch_block
    - taos_fetch_row
    - puts
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: int
    signature: 'static int print_result(TAOS_RES* res, int blockFetch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:174,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:172,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:181,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:193,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/apitest.c:286,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:299,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:325,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:328,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/apitest.c:335,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:337,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:357,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/apitest.c:347,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:168,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:169,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:176,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:177,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/apitest.c:190,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:191,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/apitest.c:190,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/apitest.c:184,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:297,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/apitest.c:321,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/apitest.c:353,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:176,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:183,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:221,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:197,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:324,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:331,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/apitest.c:346,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:358,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:336,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:171,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:193,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:194,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:299,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:300,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/apitest.c:320,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:323,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:332,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:338,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/apitest.c:342,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:337,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/apitest.c:350,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:324,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 154
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 359
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 359
    functionName: verify_prepare
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - strcpy
    - taos_stmt_close
    - genReqid
    - taos_stmt_init
    - taos_select_db
    - taos_stmt_use_result
    - taos_errstr
    - taos_stmt_bind_param
    - taos_stmt_prepare
    - usleep
    - taos_query_with_reqid
    - taos_query
    - taos_stmt_execute
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_stmt_add_batch
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - taos_stmt_errstr
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void verify_prepare(TAOS* taos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:606,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:604,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:612,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:628,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/apitest.c:634,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:665,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:667,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:668,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:670,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/apitest.c:777,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/apitest.c:835,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:847,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:825,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:854,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:826,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:856,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:827,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:601,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:602,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:608,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:609,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:625,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/apitest.c:615,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:624,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:673,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:750,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:751,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:843,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:852,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:801,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:794,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/apitest.c:842,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:793,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/apitest.c:836,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:758,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:608,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:614,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:664,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:624,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:666,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:669,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/apitest.c:671,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:750,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:757,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:793,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/apitest.c:824,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:849,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:855,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:850,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/apitest.c:603,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/apitest.c:621,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/apitest.c:622,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:748,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/apitest.c:755,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/apitest.c:786,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/apitest.c:789,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/apitest.c:790,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/apitest.c:797,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:826,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/apitest.c:831,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:851,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:757,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/apitest.c:839,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/apitest.c:792,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/apitest.c:800,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/apitest.c:846,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/apitest.c:853,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 211
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 857
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 857
    functionName: verify_prepare3
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - strcpy
    - taos_stmt_close
    - taos_stmt_init
    - taos_select_db
    - taos_stmt_use_result
    - taos_errstr
    - taos_stmt_bind_param
    - malloc
    - taos_stmt_prepare
    - usleep
    - free
    - taos_stmt_bind_param_batch
    - taos_query
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_stmt_add_batch
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - taos_stmt_errstr
    - strlen
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void verify_prepare3(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/apitest.c:875,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - param
    - tres
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: select_callback
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - printf
    linkageType: ''
    returnType: void
    signature: 'void select_callback(void* param, TAOS_RES* tres, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/apitest.c:892,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/apitest.c:897,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/apitest.c:893,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:895,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/apitest.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - param
    - res
    - row
    argTypes:
    - void*
    - TAOS_RES*
    - TAOS_ROW
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: stream_callback
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - puts
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void stream_callback(void* param, TAOS_RES* res, TAOS_ROW row) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/apitest.c:906,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/apitest.c:910,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tests/script/api/apitest.c:913,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tests/script/api/apitest.c:915,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:916,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:921,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/apitest.c:909,1
    - Dst: verify_async
      Src: /src/tdengine/tests/script/api/apitest.c:922,1
    - Dst: verify_query
      Src: /src/tdengine/tests/script/api/apitest.c:919,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/apitest.c:934,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:909,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/apitest.c:907,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:927,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:929,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:932,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:914,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:918,1
    - Dst: verify_prepare2
      Src: /src/tdengine/tests/script/api/apitest.c:928,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/apitest.c:924,1
    - Dst: verify_prepare
      Src: /src/tdengine/tests/script/api/apitest.c:925,1
    - Dst: verify_prepare3
      Src: /src/tdengine/tests/script/api/apitest.c:930,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/apitest.c:933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 935
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 935
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/apitest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_get_client_info
    - taos_connect
    - taos_get_server_info
    - verify_prepare
    - printf
    - verify_async
    - verify_prepare3
    - taos_close
    - taos_cleanup
    - taos_errstr
    - taos_options
    - verify_query
    - verify_prepare2
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/asyncQuery.c:43,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/asyncQuery.c:44,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/asyncQuery.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - res
    - nlimit
    argTypes:
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 49
    functionName: printResult
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - taos_fetch_fields
    - taos_num_fields
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t printResult(TAOS_RES* res, int32_t nlimit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:67,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:69,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/asyncQuery.c:68,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - param
    - res
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: selectCallback
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    - atomic_add_fetch_64
    linkageType: ''
    returnType: void
    signature: 'void selectCallback(void* param, TAOS_RES* res, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/asyncQuery.c:31,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/asyncQuery.c:33,1
    - Dst: CHECK_CONDITION
      Src: /src/tdengine/tests/script/api/asyncQuery.c:33,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/asyncQuery.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: getNewConnection
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - CHECK_CONDITION
    - taos_errstr
    - taos_options
    - taos_connect
    linkageType: ''
    returnType: TAOS*
    signature: 'static TAOS * getNewConnection() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/asyncQuery.c:53,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:54,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:55,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/asyncQuery.c:57,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:58,1
    - Dst: printResult
      Src: /src/tdengine/tests/script/api/asyncQuery.c:60,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - param
    - res
    - nrows
    argTypes:
    - void*
    - TAOS_RES*
    - int32_t
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: retrieveCallback
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - printResult
    - atomic_add_fetch_64
    - taos_fetch_rows_a
    linkageType: ''
    returnType: void
    signature: 'void retrieveCallback(void* param, TAOS_RES* res, int32_t nrows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:91,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:95,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:93,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:94,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:92,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:96,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:97,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:98,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:99,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: 'static void verifyQueryAsync(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNewConnection
      Src: /src/tdengine/tests/script/api/asyncQuery.c:108,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/tests/script/api/asyncQuery.c:110,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/asyncQuery.c:112,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/asyncQuery.c:109,1
    - Dst: verifyQueryAsync
      Src: /src/tdengine/tests/script/api/asyncQuery.c:117,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/asyncQuery.c:118,1
    - Dst: atomic_load_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:119,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/asyncQuery.c:120,1
    - Dst: atomic_load_64
      Src: /src/tdengine/tests/script/api/asyncQuery.c:120,1
    - Dst: taosMsleep
      Src: /src/tdengine/tests/script/api/asyncQuery.c:121,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/asyncQuery.c:126,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/asyncQuery.c:127,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/asyncQuery.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - getNewConnection
    - printf
    - taos_close
    - taos_select_db
    - verifyQueryAsync
    - taosMsleep
    - CHECK_CODE
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:78,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:80,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:79,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:81,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:82,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:83,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:84,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:85,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:86,1
    - Dst: taos_query_a
      Src: /src/tdengine/tests/script/api/asyncQuery.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: verifyQueryAsync
    functionSourceFile: /src/tdengine/tests/script/api/asyncQuery.c
    functionUses: []
    functionsReached:
    - taos_query_a
    linkageType: ''
    returnType: void
    signature: 'static void verifyQueryAsync(TAOS* taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3217,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3239,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3345,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3238,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3240,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3339,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3373,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3373,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3396,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3380,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3207,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3211,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3212,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3213,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3237,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3241,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3242,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3358,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3358,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3371,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3218,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3347,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3347,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3355,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3356,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3363,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3365,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3365,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3392,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3215,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3219,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3220,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3394,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 263
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3400
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3400
    functionName: stmt_specifyCol_bind_case_001_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taosMemoryMalloc
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_001_autoCreateTbl(TAOS_STMT *stmt,
      int tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3631,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3752,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3752,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3781,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3783,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3785,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3788,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3787,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3767,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3772,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3779,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3600,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3608,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3613,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3633,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3733,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3739,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3634,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3632,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3750,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3767,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3791,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3789,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3610,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3611,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3636,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3635,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3765,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3774,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3790,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3604,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3605,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3606,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3612,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3741,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3741,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3749,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3757,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3759,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3759,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 263
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3794
      start: 3599
    functionDepth: 0
    functionLinenumber: 3599
    functionLinenumberEnd: 3794
    functionName: stmt_specifyCol_bind_case_003_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taosMemoryMalloc
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_003_autoCreateTbl(TAOS_STMT *stmt,
      int tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2474,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2482,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2502,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2578,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2580,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2580,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2588,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2588,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2609,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2485,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2503,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2504,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2505,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2573,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2573,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2595,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2595,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2602,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2604,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2480,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2479,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2478,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2484,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2507,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2506,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2571,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2610,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2606,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2611,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2486,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2556,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2570,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2560,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2562,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2562,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2605,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2607,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 185
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2614
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2614
    functionName: stmt_specifyCol_bind_case_002
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_002(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3413,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3435,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3436,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3567,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3574,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3576,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3581,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3588,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3589,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3403,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3407,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3409,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3408,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3416,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3433,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3437,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3543,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3543,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3438,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3561,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3414,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3434,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3554,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3554,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3576,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3583,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3587,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3593,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3561,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3411,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3415,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3541,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3535,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3551,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3552,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3569,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3569,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3591,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3559,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 247
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3596
      start: 3402
    functionDepth: 0
    functionLinenumber: 3402
    functionLinenumberEnd: 3596
    functionName: stmt_specifyCol_bind_case_002_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taosMemoryMalloc
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_002_autoCreateTbl(TAOS_STMT *stmt,
      int tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2333,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2331,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2332,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2360,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2359,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2446,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2464,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2339,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2409,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2415,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2415,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2448,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2448,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2457,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2327,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2335,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2337,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2355,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2441,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2441,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2463,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2338,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2356,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2357,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2358,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2413,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2431,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2433,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2433,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2462,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 178
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2467
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2467
    functionName: stmt_specifyCol_bind_case_001
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_001(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:241,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:242,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:245,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:366,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:366,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:269,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:377,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:377,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:398,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:412,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:413,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:249,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:375,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:392,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:414,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:406,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:237,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:243,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:247,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:265,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:364,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:374,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:415,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:248,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:266,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:268,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:361,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:267,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:382,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:384,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:400,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:400,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:410,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 257
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 418
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 418
    functionName: stmt_bind_case_002
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_case_002(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4073,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4204,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4253,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4303,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4320,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4332,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4364,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4382,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4226,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4245,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4019,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4200,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4213,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4227,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4397,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4126,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4139,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4302,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4345,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4346,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4383,1
    - Dst: stmt_specifyCol_bind_case_004_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4393,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4310,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4093,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4063,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4104,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4150,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4277,1
    - Dst: stmt_specifyCol_bind_case_002_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4295,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4341,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4117,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4190,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4222,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4055,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4076,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4094,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4135,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4276,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4323,1
    - Dst: stmt_specifyCol_bind_case_002_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4272,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4203,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4285,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4042,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4087,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4180,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4199,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4167,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4374,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4396,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4024,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4072,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4299,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4298,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4301,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4300,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4319,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4255,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4365,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4392,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4020,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4246,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4373,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4254,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4107,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4157,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4348,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4229,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4275,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4262,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4294,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4032,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4045,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4103,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4118,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4056,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4149,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4170,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4223,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4347,1
    - Dst: stmt_specifyCol_bind_case_001_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4136,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4181,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4228,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4325,1
    - Dst: stmt_specifyCol_bind_case_003_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4342,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4355,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4249,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4205,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4236,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4251,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4010,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4023,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4041,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4252,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4271,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4250,1
    - Dst: prepareVcolumn_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4025,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4086,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4324,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4368,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4369,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4370,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4371,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4372,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 256
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 4404
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 4404
    functionName: SpecifyColumnBatchCase_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - stmt_specifyCol_bind_case_001_autoCreateTbl
    - stmt_specifyCol_bind_case_003_autoCreateTbl
    - prepareVcolumn_autoCreateTbl
    - stmt_specifyCol_bind_case_002_autoCreateTbl
    - stmt_specifyCol_bind_case_004_autoCreateTbl
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - checkResult
    linkageType: ''
    returnType: void
    signature: 'static void SpecifyColumnBatchCase_autoCreateTbl(TAOS *taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4596,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4614,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4671,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4667,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4615,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4616,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4691,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4693,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4693,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4706,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4589,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4593,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4617,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4684,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4686,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4686,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4717,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4718,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4719,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4597,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4673,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4681,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4673,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4701,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4701,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4713,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4721,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4585,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4590,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4595,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4613,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4618,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4686,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4699,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4708,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4708,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 186
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4727
      start: 4584
    functionDepth: 0
    functionLinenumber: 4584
    functionLinenumberEnd: 4727
    functionName: stmt_specifyCol_bind_error_case_002
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taos_stmt_errstr
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_error_case_002(TAOS_STMT *stmt, int
      tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:426,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:428,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:427,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:432,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:450,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:454,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:455,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:488,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:488,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:499,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:433,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:451,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:497,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:499,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:514,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:536,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:521,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:521,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:422,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:430,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:496,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:486,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:535,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:531,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:434,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:453,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:452,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:483,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:504,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:506,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:519,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:534,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:530,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 149
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 540
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 540
    functionName: stmt_bind_case_003
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_case_003(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4760,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4843,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4997,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5032,1
    - Dst: stmt_specifyCol_bind_error_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4756,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4768,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4854,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4988,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4996,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4893,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5045,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4971,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5004,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4781,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4839,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5041,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4746,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4777,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4792,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4885,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4906,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4962,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5021,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4822,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4872,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4902,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4917,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5018,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5017,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4970,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5020,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5019,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5013,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4945,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4991,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4759,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4809,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4978,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4936,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4862,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4995,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4992,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4944,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4994,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4993,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4987,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4755,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4965,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4952,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4966,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4853,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4875,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5047,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4969,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4968,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4799,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4812,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4829,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4840,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4886,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4967,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5042,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4823,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4926,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4961,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4940,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4939,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4941,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5046,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4903,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4791,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4830,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4871,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5023,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4943,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5014,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4761,1
    - Dst: stmt_specifyCol_bind_error_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4778,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4808,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4916,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4942,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5022,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 194
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 5053
      start: 4729
    functionDepth: 0
    functionLinenumber: 4729
    functionLinenumberEnd: 5053
    functionName: SpecifyColumnBatchErrorCase
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - stmt_specifyCol_bind_case_002
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - stmt_specifyCol_bind_case_001
    - stmt_specifyCol_bind_error_case_001
    - checkResult
    - prepareVcolumn
    - stmt_specifyCol_bind_error_case_002
    linkageType: ''
    returnType: void
    signature: 'static void SpecifyColumnBatchErrorCase(TAOS *taos) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5073,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5082,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5081,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5079,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5076,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5086,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5088,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5088,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5096,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5098,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5107,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5111,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5104,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5113,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5113,1
    - Dst: SpecifyColumnBatchCase_autoCreateTbl
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5120,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:5108,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 5123
      start: 5055
    functionDepth: 0
    functionLinenumber: 5055
    functionLinenumberEnd: 5123
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taos_connect
    - taosMemoryCalloc
    - printf
    - taosThreadCreate
    - taosThreadJoin
    - SpecifyColumnBatchCase_autoCreateTbl
    - atoi
    - taos_errstr
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3798,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3806,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3811,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3828,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3938,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3936,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3930,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3938,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3946,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3947,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3808,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3829,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3831,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3830,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3962,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3983,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3987,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3982,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3988,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3804,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3803,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3802,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3810,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3833,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3832,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3954,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3956,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3956,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3985,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3984,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3976,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3809,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3949,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3949,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3964,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3971,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3971,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3978,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3980,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3981,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3969,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 247
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 3991
      start: 3797
    functionDepth: 0
    functionLinenumber: 3797
    functionLinenumberEnd: 3991
    functionName: stmt_specifyCol_bind_case_004_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_stmt_execute
    - taosMemoryMalloc
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_004_autoCreateTbl(TAOS_STMT *stmt,
      int tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:43,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:45,1
    - Dst: perror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: getCurrentTime
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - exit
    - perror
    - taosGetTimeOfDay
    linkageType: ''
    returnType: unsigned long long
    signature: 'unsigned long long getCurrentTime() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:941,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:945,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:946,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:947,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1068,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1081,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1081,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1116,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1118,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:970,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:971,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:972,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1065,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1079,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1088,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1088,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1103,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1103,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:949,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:951,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:969,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1070,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1070,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:973,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1078,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:974,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1101,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1119,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:952,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:953,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1115,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1113,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 255
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1122
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 1122
    functionName: stmt_bind_error_case_002
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_error_case_002(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2060,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2068,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2088,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2186,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2189,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2093,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2092,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2202,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2202,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2215,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2236,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2231,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2072,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2200,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2209,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2209,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2237,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2224,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2066,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2065,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2064,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2070,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2191,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2199,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2234,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2240,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2224,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2071,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2089,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2090,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2091,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2207,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2217,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2217,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2233,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2239,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 260
    argCount: 8
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    - startTs
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2243
      start: 2059
    functionDepth: 0
    functionLinenumber: 2059
    functionLinenumberEnd: 2243
    functionName: stmt_bind_case_001_long
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_case_001_long(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum, int64_t* startTs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1136,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1154,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1249,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1156,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1155,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1264,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1282,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1284,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1284,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1316,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1292,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1319,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1292,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1320,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1133,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1158,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1254,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1157,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1262,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1254,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1266,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1266,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1307,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1307,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1314,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1300,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1290,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1323,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1137,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1305,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1322,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1298,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1125,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1131,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1129,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1130,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1135,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1153,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1252,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1271,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1273,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1318,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 275
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1326
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1326
    functionName: stmt_bind_error_case_003
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_error_case_003(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2271,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2270,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2311,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2261,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2279,1
    - Dst: stmt_bind_case_001_long
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2303,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2306,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2307,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2309,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2308,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2310,1
    - Dst: prepareV_long
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2298,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2302,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2274,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2275,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2276,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2277,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2278,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2280,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2288,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2320
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2320
    functionName: runCase_long
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - prepareV
    - prepareV_long
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - checkResult
    - stmt_bind_case_001_long
    - stmt_bind_case_002
    linkageType: ''
    returnType: void
    signature: 'static void runCase_long(TAOS *taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4415,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4421,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4425,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4443,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4448,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4563,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4563,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4570,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4575,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4579,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4426,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4444,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4497,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4518,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4446,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4516,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4445,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4539,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4541,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4541,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4550,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4423,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4420,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4419,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4573,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4574,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4577,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4548,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4427,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4518,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4518,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4541,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4550,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4550,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4578,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4576,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:4561,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 184
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 4582
      start: 4414
    functionDepth: 0
    functionLinenumber: 4414
    functionLinenumberEnd: 4582
    functionName: stmt_specifyCol_bind_error_case_001
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - taos_stmt_errstr
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_error_case_001(TAOS_STMT *stmt, int
      tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:551,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:553,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:576,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:575,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:672,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:672,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:704,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:706,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:706,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:739,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:738,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:555,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:688,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:698,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:698,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:721,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:728,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:736,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:712,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:543,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:549,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:548,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:547,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:571,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:670,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:683,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:696,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:734,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:723,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:554,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:572,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:574,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:667,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:573,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:681,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:690,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:690,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:714,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:714,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:735,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 276
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 742
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 742
    functionName: stmt_bind_case_004
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_case_004(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1332,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1337,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1335,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1337,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1334,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1338,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1344,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1345,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1349,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1352,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1353,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1354,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1359,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1365,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - taos
    - tname
    - printr
    - expected
    argTypes:
    - TAOS*
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1367
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1367
    functionName: checkResult
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_fetch_fields
    - taos_errno
    - taos_fetch_row
    - taos_num_fields
    - taos_print_row
    - printf
    - memset
    - taos_free_result
    - taos_errstr
    - strcat
    linkageType: ''
    returnType: void
    signature: 'static void checkResult(TAOS *taos, char *tname, int printr, int expected) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1414,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1420,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1415,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1418,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1417,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1420,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1421,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1424,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1426,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1427,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1441,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1445,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1438,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1433,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1442,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1439,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1435,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    argTypes:
    - TAOS*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1448
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1448
    functionName: prepareV_long
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - sprintf
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void prepareV_long(TAOS *taos, int schemaCase, int tableNum,
      int lenOfBinaryDef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1648,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1749,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1767,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1845,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1861,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2030,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1914,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1777,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1630,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1684,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1791,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1809,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1759,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1889,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1968,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1569,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1617,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1787,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1832,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1846,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1860,1
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1880,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1915,1
    - Dst: stmt_bind_error_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1960,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2017,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1607,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1685,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1686,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1687,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1688,1
    - Dst: stmt_bind_case_003
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1856,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1870,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1888,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1942,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2023,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1554,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1568,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1586,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1680,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1713,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1710,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1712,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1711,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1714,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1896,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2031,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2044,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1739,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1564,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1576,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1599,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1651,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1706,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1736,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1738,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1737,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1740,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2049,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1765,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1762,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1662,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1732,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1764,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1763,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1766,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1933,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1986,1
    - Dst: stmt_bind_error_case_003
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2041,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1959,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1790,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1758,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1620,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1838,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1963,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1631,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1647,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1815,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1786,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1799,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1859,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1969,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1923,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1941,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1589,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1810,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1837,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1883,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1884,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1885,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1886,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1887,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2003,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1800,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1567,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1616,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1814,1
    - Dst: stmt_bind_case_003
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1833,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1879,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1909,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1910,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1911,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1912,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1563,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1690,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1823,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1855,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1905,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1936,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1937,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1938,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1939,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1940,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2013,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1585,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1600,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1681,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1716,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1932,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1949,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1996,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2022,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2050,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1990,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1707,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1671,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1689,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1742,1
    - Dst: stmt_bind_error_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2014,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1995,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2004,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1813,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1697,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1715,1
    - Dst: stmt_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1733,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1768,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1950,1
    - Dst: stmt_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1906,1
    - Dst: stmt_bind_case_004
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1987,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2040,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1792,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1638,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1661,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1723,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1741,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1836,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1977,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 339
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 2056
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 2056
    functionName: runCase
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - stmt_bind_case_001
    - prepareV
    - stmt_bind_error_case_002
    - taos_stmt_close
    - printf
    - taos_stmt_init
    - stmt_bind_case_004
    - stmt_bind_error_case_003
    - stmt_bind_error_case_001
    - checkResult
    - stmt_bind_case_002
    - stmt_bind_case_003
    linkageType: ''
    returnType: void
    signature: 'static void runCase(TAOS *taos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2621,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2629,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2631,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2649,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2719,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2735,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2632,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2650,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2688,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2651,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2652,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2688,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2682,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2721,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2721,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2728,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2625,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2627,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2626,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2653,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2654,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2714,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2714,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2736,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2633,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2704,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2686,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2706,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2706,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2712,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2731,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 142
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2740
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2740
    functionName: stmt_specifyCol_bind_case_001_maxRows
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_specifyCol_bind_case_001_maxRows(TAOS_STMT *stmt,
      int tableNum, int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct,
      int columnNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:52,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:60,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:179,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:192,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:205,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:214,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:223,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:81,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:82,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:83,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:176,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:190,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:199,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:227,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:226,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:56,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:58,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:57,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:62,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:80,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:181,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:84,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:181,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:189,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:225,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:228,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:63,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:64,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:199,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:207,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:229,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 257
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 233
    functionName: stmt_bind_case_001
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_case_001(TAOS_STMT *stmt, int tableNum, int rowsOfPerColum,
      int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int columnNum) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:745,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:751,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:749,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:750,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:755,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:773,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:872,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:885,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:885,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:918,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:756,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:774,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:869,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:775,1
    - Dst: memset
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:776,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:883,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:890,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:892,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:892,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:916,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:930,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:931,1
    - Dst: getCurrentTime
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:923,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:753,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:777,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:882,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:874,1
    - Dst: memcpy
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:778,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:874,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:925,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:932,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:757,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:900,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:902,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:902,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:909,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:911,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:911,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:933,1
    - Dst: tstrerror
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:918,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 270
    argCount: 7
    argNames:
    - stmt
    - tableNum
    - rowsOfPerColum
    - bingNum
    - lenOfBinaryDef
    - lenOfBinaryAct
    - columnNum
    argTypes:
    - TAOS_STMT*
    - int
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 937
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 937
    functionName: stmt_bind_error_case_001
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taosMemoryMalloc
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - taos_stmt_bind_single_param_batch
    - getCurrentTime
    - memset
    - printf
    - tstrerror
    - taos_stmt_add_batch
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int stmt_bind_error_case_001(TAOS_STMT *stmt, int tableNum,
      int rowsOfPerColum, int bingNum, int lenOfBinaryDef, int lenOfBinaryAct, int
      columnNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1374,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1378,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1377,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1380,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1375,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1380,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1381,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1384,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1386,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1387,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1393,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1401,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1402,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1398,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1405,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1401,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1399,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 4
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    argTypes:
    - TAOS*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1408
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1408
    functionName: prepareV
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - sprintf
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void prepareV(TAOS *taos, int schemaCase, int tableNum, int
      lenOfBinaryDef) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1460,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1461,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1471,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1483,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1489,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1463,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1485,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1469,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1486,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1459,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1456,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1463,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1467,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1485,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1455,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1457,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1464,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1476,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1470,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    - dbName
    argTypes:
    - TAOS*
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1490
    functionName: prepareVcolumn_autoCreateTbl
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - sprintf
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void prepareVcolumn_autoCreateTbl(TAOS *taos, int schemaCase,
      int tableNum, int lenOfBinaryDef, char* dbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2916,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2948,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3035,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3137,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3187,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3188,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3189,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3190,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3128,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3191,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3155,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3010,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2773,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2856,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3027,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3045,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3112,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3146,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3159,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3160,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3183,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2769,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2781,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2867,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3001,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3103,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3082,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3135,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3009,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2906,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3058,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3111,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3161,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3162,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3163,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3164,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2794,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2852,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3017,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2984,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3054,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3067,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3083,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3119,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3132,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3133,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2805,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2898,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2919,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2975,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3078,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3156,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3136,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2983,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3033,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2915,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3030,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2885,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3032,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2930,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3031,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3034,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3068,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2991,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3026,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2759,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2772,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2790,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2822,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2958,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3093,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3106,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3107,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2835,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2949,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3193,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2957,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3007,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2875,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3004,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3006,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3005,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3008,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3109,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3110,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3184,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2965,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2768,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3000,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3102,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3192,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2866,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2888,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3060,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3166,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2842,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2812,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2853,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2899,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2979,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2978,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2981,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2980,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2982,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3081,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2939,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2952,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2974,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3059,1
    - Dst: prepareV
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3077,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3165,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2825,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2804,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2843,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2884,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3036,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3055,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3138,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3174,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3108,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3134,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2953,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2929,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2954,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2955,1
    - Dst: checkResult
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2956,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2774,1
    - Dst: stmt_specifyCol_bind_case_001
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2791,1
    - Dst: prepareVcolumn
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2821,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:2836,1
    - Dst: stmt_specifyCol_bind_case_002
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:3129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 292
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 3199
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 3199
    functionName: SpecifyColumnBatchCase
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - prepareV
    - stmt_specifyCol_bind_case_002
    - taos_stmt_close
    - stmt_specifyCol_bind_case_001
    - taos_stmt_init
    - printf
    - checkResult
    - prepareVcolumn
    linkageType: ''
    returnType: void
    signature: 'static void SpecifyColumnBatchCase(TAOS *taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1505,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1506,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1512,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1527,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1498,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1501,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1505,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1519,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1513,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1497,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1499,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1511,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1524,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1525,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1521,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1531,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1502,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1503,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1509,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1527,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtBatchTest.c:1528,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - taos
    - schemaCase
    - tableNum
    - lenOfBinaryDef
    - dbName
    argTypes:
    - TAOS*
    - int
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1534
    functionName: prepareVcolumn
    functionSourceFile: /src/tdengine/tests/script/api/stmtBatchTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - sprintf
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void prepareVcolumn(TAOS *taos, int schemaCase, int tableNum,
      int lenOfBinaryDef, char* dbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: genReqid
    functionSourceFile: /src/tdengine/tests/script/api/stmt2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t genReqid() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/stmt2.c:314,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2.c:315,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:317,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:317,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2.c:318,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:321,1
    - Dst: veriry_stmt
      Src: /src/tdengine/tests/script/api/stmt2.c:322,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:324,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2.c:325,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2.c:326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - veriry_stmt
    - printf
    - taos_close
    - taos_errstr
    - taos_options
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2.c:40,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2.c:43,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2.c:49,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/stmt2.c:52,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2.c:70,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:66,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:104,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:192,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt2.c:193,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:242,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2.c:290,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:299,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:261,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:293,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:298,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tests/script/api/stmt2.c:288,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2.c:41,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:45,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2.c:46,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2.c:63,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2.c:67,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:87,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2.c:64,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:89,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:91,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:92,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:103,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:192,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tests/script/api/stmt2.c:244,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:189,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:302,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:301,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:300,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2.c:38,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2.c:39,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:45,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/stmt2.c:51,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:101,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2.c:102,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:187,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2.c:262,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:264,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:266,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:289,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2.c:272,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:305,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2.c:188,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:304,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:263,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt2.c:267,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:303,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:289,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:66,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:88,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:90,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:93,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:95,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:190,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:245,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:246,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:270,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:273,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/stmt2.c:94,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/stmt2.c:266,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2.c:296,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:286,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:294,1
    - Dst: clock
      Src: /src/tdengine/tests/script/api/stmt2.c:271,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/stmt2.c:306,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2.c:274,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 204
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 307
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 307
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2.c
    functionUses: []
    functionsReached:
    - taos_stmt_close
    - taos_select_db
    - taos_errstr
    - malloc
    - clock
    - usleep
    - taos_stmt2_init
    - free
    - taos_query
    - printf
    - taos_stmt2_exec
    - taos_free_result
    - taos_stmt2_prepare
    - taos_stmt2_get_fields
    - taos_errno
    - taos_stmt_errstr
    - taos_stmt2_free_fields
    - taos_stmt2_bind_param
    - taos_stmt2_close
    linkageType: ''
    returnType: void
    signature: 'void veriry_stmt(TAOS* taos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/stmt2.c:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pRes
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 35
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 35
    functionName: stmtAsyncQueryCb
    functionSourceFile: /src/tdengine/tests/script/api/stmt2.c
    functionUses: []
    functionsReached:
    - taos_affected_rows
    linkageType: ''
    returnType: void
    signature: 'void stmtAsyncQueryCb(void* param, TAOS_RES* pRes, int code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:109,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:115,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/whiteListTest.c:113,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/whiteListTest.c:116,1
    - Dst: createUsers
      Src: /src/tdengine/tests/script/api/whiteListTest.c:118,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:121,1
    - Dst: sleep
      Src: /src/tdengine/tests/script/api/whiteListTest.c:122,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:124,1
    - Dst: dropUsers
      Src: /src/tdengine/tests/script/api/whiteListTest.c:125,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/whiteListTest.c:126,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/whiteListTest.c:127,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - dropUsers
    - sleep
    - printf
    - taos_close
    - createUsers
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:64,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:69,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - param
    - code
    - taos
    - numOfWhiteLists
    - pWhiteList
    argTypes:
    - void*
    - int
    - TAOS*
    - int
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 71
    functionName: __taos_async_whitelist_cb
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void __taos_async_whitelist_cb(void *param, int code, TAOS *taos,
      int numOfWhiteLists, uint64_t* pWhiteList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:48,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:53,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:57,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - param
    - ext
    - type
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: __taos_notify_cb
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void __taos_notify_cb(void *param, void *ext, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:133,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/whiteListTest.c:135,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/whiteListTest.c:136,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 138
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 138
    functionName: dropUsers
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - queryDB
    - taos_close
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void dropUsers(TAOS *taos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/whiteListTest.c:80,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/whiteListTest.c:92,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/whiteListTest.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:92,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/whiteListTest.c:85,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/whiteListTest.c:93,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/whiteListTest.c:94,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/whiteListTest.c:95,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:97,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/whiteListTest.c:100,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: queryDB
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - fprintf
    - taos_close
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'static void queryDB(TAOS *taos, char *command) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:144,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:150,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/whiteListTest.c:146,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:145,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/whiteListTest.c:148,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/whiteListTest.c:151,1
    - Dst: taos_set_notify_cb
      Src: /src/tdengine/tests/script/api/whiteListTest.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:159,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/whiteListTest.c:163,1
    - Dst: queryDB
      Src: /src/tdengine/tests/script/api/whiteListTest.c:164,1
    - Dst: taos_fetch_whitelist_a
      Src: /src/tdengine/tests/script/api/whiteListTest.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - taos
    - host
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 169
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 169
    functionName: createUsers
    functionSourceFile: /src/tdengine/tests/script/api/whiteListTest.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - sprintf
    - queryDB
    - fprintf
    - taos_fetch_whitelist_a
    - printf
    - taos_set_notify_cb
    linkageType: ''
    returnType: void
    signature: 'void createUsers(TAOS *taos, const char *host) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmtQuery.c:11,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:16,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtQuery.c:15,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmtQuery.c:12,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmtQuery.c:14,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtQuery.c:18,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 21
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/tests/script/api/stmtQuery.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void execute_simple_sql(void *taos, char *sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmtQuery.c:26,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmtQuery.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - result
    - expected
    argTypes:
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: check_result
    functionSourceFile: /src/tdengine/tests/script/api/stmtQuery.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_row
    linkageType: ''
    returnType: void
    signature: 'void check_result(TAOS_RES *result, int expected) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtQuery.c:56,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:63,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:76,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:85,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:116,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:50,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:52,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmtQuery.c:58,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:60,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmtQuery.c:68,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tests/script/api/stmtQuery.c:72,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmtQuery.c:101,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:105,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmtQuery.c:111,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/stmtQuery.c:121,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmtQuery.c:40,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:49,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmtQuery.c:44,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmtQuery.c:65,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmtQuery.c:81,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:69,1
    - Dst: check_result
      Src: /src/tdengine/tests/script/api/stmtQuery.c:122,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:51,1
    - Dst: calloc
      Src: /src/tdengine/tests/script/api/stmtQuery.c:54,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmtQuery.c:66,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmtQuery.c:62,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmtQuery.c:94,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmtQuery.c:110,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmtQuery.c:113,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmtQuery.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 128
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmtQuery.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taos_stmt_execute
    - taos_connect
    - sprintf
    - execute_simple_sql
    - strcpy
    - taos_stmt_close
    - check_result
    - calloc
    - taos_stmt_init
    - strlen
    - taos_stmt_add_batch
    - taos_stmt_use_result
    - taos_stmt_bind_param
    - taos_load_table_info
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:10,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:13,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:13,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:14,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:11,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:19,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:21,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:21,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:23,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:25,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:31,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:29,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:30,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 32
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 32
    functionName: getFields
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-get-fields.c
    functionUses: []
    functionsReached:
    - taos_stmt2_get_fields
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void getFields(TAOS *taos, const char *sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:57,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:61,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:60,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:60,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:58,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: do_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-get-fields.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void do_query(TAOS *taos, const char *sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:244,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:246,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:246,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:247,1
    - Dst: do_stmt
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:250,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:251,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-get-fields.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - printf
    - taos_close
    - taos_errstr
    - do_stmt
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:71,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:69,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:75,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:102,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:114,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:121,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:138,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:145,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:150,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:157,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:190,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:208,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:227,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:209,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:220,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:221,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:184,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:166,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:185,1
    - Dst: getQueryFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:240,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:203,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:89,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:96,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:103,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:108,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:115,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:132,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:139,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:151,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:177,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:191,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:215,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:228,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:214,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:70,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:74,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:84,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:90,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:97,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:109,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:126,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:133,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:171,1
    - Dst: getQueryFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:178,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:68,1
    - Dst: do_query
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:76,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:91,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:120,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:127,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:144,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:156,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:165,1
    - Dst: getQueryFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:172,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:179,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:197,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:234,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:239,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:202,1
    - Dst: getFields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:222,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:233,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 86
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 241
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 241
    functionName: do_stmt
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-get-fields.c
    functionUses: []
    functionsReached:
    - getQueryFields
    - do_query
    - getFields
    - printf
    linkageType: ''
    returnType: void
    signature: 'void do_stmt(TAOS *taos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:36,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:39,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:39,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:40,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:37,1
    - Dst: taos_stmt2_get_fields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:45,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:47,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:47,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:49,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:51,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:53,1
    - Dst: taos_stmt2_free_fields
      Src: /src/tdengine/tests/script/api/stmt2-get-fields.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 54
    functionName: getQueryFields
    functionSourceFile: /src/tdengine/tests/script/api/stmt2-get-fields.c
    functionUses: []
    functionsReached:
    - taos_stmt2_get_fields
    - taos_stmt2_init
    - taos_stmt2_free_fields
    - printf
    - taos_stmt2_close
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: void
    signature: 'void getQueryFields(TAOS *taos, const char *sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 13
    functionName: genReqid
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t genReqid() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_validate_sql
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:128,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:133,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:142,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:137,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:140,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:144,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:138,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:153,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:144,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:135,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:150,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:150,1
    - Dst: prepare_data
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:116,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:125,1
    - Dst: taos_validate_sql
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:123,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:120,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:130,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:135,1
    - Dst: check_row_count
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:145,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:146,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:148,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:155,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:118,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:133,1
    - Dst: check_row_count
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:134,1
    - Dst: taos_field_count
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:136,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:148,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:149,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:151,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:153,1
    - Dst: taos_stop_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 156
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 156
    functionName: verify_query
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_query_with_reqid
    - taos_field_count
    - taos_stop_query
    - taos_errno
    - prepare_data
    - printf
    - genReqid
    - taos_result_precision
    - taos_validate_sql
    - taos_fetch_lengths
    - taos_errstr
    - taos_free_result
    - check_row_count
    - taos_load_table_info
    linkageType: ''
    returnType: void
    signature: 'static void verify_query(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:79,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:96,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:80,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:94,1
    - Dst: taos_fetch_block
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:85,1
    - Dst: puts
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:97,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - res
    - blockFetch
    argTypes:
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: print_result
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_fetch_block
    - taos_fetch_row
    - puts
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: int
    signature: 'static int print_result(TAOS_RES* res, int blockFetch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:174,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - param
    - tres
    - code
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: select_callback
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - printf
    linkageType: ''
    returnType: void
    signature: 'void select_callback(void* param, TAOS_RES* tres, int code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:189,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:191,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:198,1
    - Dst: taos_schemaless_insert_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:218,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:221,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:192,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:195,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:220,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:216,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:223,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:224,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:188,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:188,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:191,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:190,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:197,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:193,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:196,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:196,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:221,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:219,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 229
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 229
    functionName: verify_schema_less
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_query_with_reqid
    - taos_errno
    - usleep
    - taos_affected_rows
    - genReqid
    - printf
    - taos_select_db
    - taos_schemaless_insert_with_reqid
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t verify_schema_less(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:16,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:16,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:21,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:24,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:24,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:29,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:27,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:31,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:48,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:67,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:74,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:45,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:18,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:33,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:34,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:35,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:36,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:37,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:38,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:39,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:40,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:41,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:44,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:20,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:22,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:33,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:35,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:37,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:39,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:41,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:43,1
    - Dst: taos_affected_rows
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:68,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:70,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:72,1
    - Dst: taos_query_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:19,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:17,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:19,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:28,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:25,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:27,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:29,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:30,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:31,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:32,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:42,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 64
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 75
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 75
    functionName: prepare_data
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_query_with_reqid
    - taos_query
    - usleep
    - taos_affected_rows
    - genReqid
    - printf
    - taos_select_db
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'static void prepare_data(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:107,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:111,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - line
    - res
    - expected
    argTypes:
    - int
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: check_row_count
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - print_result
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void check_row_count(int line, TAOS_RES* res, int expected) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:160,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:168,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:164,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:166,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - param
    - tres
    - numOfRows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: retrieve_callback
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_fetch_rows_a
    - printf
    linkageType: ''
    returnType: void
    signature: 'void retrieve_callback(void* param, TAOS_RES* tres, int numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: prepare_data
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:181,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:183,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:182,1
    - Dst: taos_query_a_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: verify_async
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - prepare_data
    - taos_query_a_with_reqid
    - usleep
    - genReqid
    linkageType: ''
    returnType: void
    signature: 'void verify_async(TAOS* taos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:234,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:239,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:240,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:252,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:253,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:361,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:368,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:369,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:359,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:397,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:411,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:418,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:401,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:416,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:243,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:276,1
    - Dst: taos_select_db
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:246,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:255,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:278,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:280,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:282,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:361,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:362,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:388,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:400,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:415,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:413,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:232,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:233,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:255,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:256,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:366,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:403,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:404,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:409,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:368,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:414,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:417,1
    - Dst: free
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:412,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:405,1
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:235,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:237,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:239,1
    - Dst: usleep
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:245,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:275,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:259,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:277,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:279,1
    - Dst: malloc
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:281,1
    - Dst: taos_stmt_init_with_reqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:284,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:404,1
    - Dst: genReqid
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:284,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 166
    argCount: 1
    argNames:
    - taos
    argTypes:
    - TAOS*
    constantsTouched: []
    func_position:
      end: 419
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 419
    functionName: veriry_stmt
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - taos_stmt_set_tbname
    - strcpy
    - taos_stmt_close
    - genReqid
    - taos_select_db
    - taos_errstr
    - malloc
    - taos_stmt_prepare
    - usleep
    - free
    - taos_stmt_bind_param_batch
    - taos_query
    - taos_stmt_execute
    - printf
    - taos_stmt_add_batch
    - taos_free_result
    - taos_errno
    - taos_stmt_errstr
    - strlen
    - taos_stmt_init_with_reqid
    linkageType: ''
    returnType: void
    signature: 'void veriry_stmt(TAOS* taos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:426,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:430,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:427,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:429,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:429,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:433,1
    - Dst: verify_schema_less
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:434,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:436,1
    - Dst: verify_query
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:437,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:439,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:445,1
    - Dst: veriry_stmt
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:443,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:442,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:447,1
    - Dst: taos_close
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:446,1
    - Dst: verify_async
      Src: /src/tdengine/tests/script/api/api_with_reqid_test.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 448
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 448
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/api_with_reqid_test.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - verify_schema_less
    - veriry_stmt
    - printf
    - verify_async
    - taos_close
    - taos_errstr
    - taos_options
    - verify_query
    - taos_cleanup
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:33,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:42,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:36,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:37,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:40,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:43,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:45,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:46,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:47,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:47,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: taos_stmt_init_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_init_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:20,1
    - Dst: taos_print_row
      Src: /src/tdengine/tests/script/api/stmt_function.c:27,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tests/script/api/stmt_function.c:25,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tests/script/api/stmt_function.c:23,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tests/script/api/stmt_function.c:24,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - res
    argTypes:
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 30
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 30
    functionName: print_result
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_fetch_row
    - taos_num_fields
    - taos_print_row
    - printf
    - taos_fetch_fields
    linkageType: ''
    returnType: void
    signature: 'void print_result(TAOS_RES* res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:105,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:110,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:114,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:120,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:121,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:123,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:126,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:111,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:118,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:100,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:107,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:119,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:116,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:125,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:108,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:102,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:112,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:117,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:119,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:115,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:116,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 127
    functionName: taos_stmt_set_tbname_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taosMemoryFree
    - taos_connect
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_set_tbname_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:58,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:74,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:65,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:75,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:80,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:83,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:84,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:85,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:91,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:92,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:92,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:52,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:59,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:63,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:72,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:75,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:80,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:81,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:86,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:89,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:95,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:51,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:56,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:54,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:61,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:68,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:73,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:81,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:86,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:87,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:93,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:96,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:54,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:62,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:68,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:74,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:66,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:64,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:77,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:78,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:79,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:87,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 97
    functionName: taos_stmt_preprare_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - exit
    - taosMemoryFree
    - taos_connect
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_preprare_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:130,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:142,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:144,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:162,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:165,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:133,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:138,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:153,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:160,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:139,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:143,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:145,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:150,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:147,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:151,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:149,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt_function.c:153,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt_function.c:160,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:164,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:136,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:132,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:141,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:150,1
    - Dst: taos_stmt_set_tbname_tags
      Src: /src/tdengine/tests/script/api/stmt_function.c:151,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:146,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 166
    functionName: taos_stmt_set_tbname_tags_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taos_stmt_set_tbname_tags
    - taos_connect
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_set_tbname_tags_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:169,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:174,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:179,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:188,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:190,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:189,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:184,1
    - Dst: taos_stmt_set_sub_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:194,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:197,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:180,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:182,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:186,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:189,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:188,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:195,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:177,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:171,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:181,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:183,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:185,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:187,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:191,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:196,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 198
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 198
    functionName: taos_stmt_set_sub_tbname_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taosMemoryFree
    - taos_connect
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    - taos_stmt_set_sub_tbname
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_set_sub_tbname_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:201,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:205,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:208,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:211,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:213,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:217,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:218,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:215,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:234,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:235,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:210,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:214,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:219,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:234,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:204,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:212,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:216,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:220,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:233,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:238,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:204,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:207,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:217,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:233,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:237,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:236,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 240
    functionName: taos_stmt_bind_param_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taosMemoryFree
    - taos_connect
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    - taos_stmt_bind_param
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_bind_param_test() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:243,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:246,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:247,1
    - Dst: taos_stmt_bind_single_param_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: taos_stmt_bind_single_param_batch_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_bind_single_param_batch
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_bind_single_param_batch_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:9,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:11,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt_function.c:12,1
    - Dst: taos_errno
      Src: /src/tdengine/tests/script/api/stmt_function.c:10,1
    - Dst: taos_errstr
      Src: /src/tdengine/tests/script/api/stmt_function.c:11,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:13,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt_function.c:15,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 16
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 16
    functionName: execute_simple_sql
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_errno
    - printf
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void execute_simple_sql(void *taos, char *sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:251,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:255,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:254,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    functionName: taos_stmt_bind_param_batch_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_bind_param_batch
    - assert
    - printf
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_bind_param_batch_test() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:372,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:373,1
    - Dst: taos_stmt_use_result
      Src: /src/tdengine/tests/script/api/stmt_function.c:434,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:432,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:437,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:437,1
    - Dst: taos_free_result
      Src: /src/tdengine/tests/script/api/stmt_function.c:440,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:345,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:346,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:371,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:432,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:435,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:374,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:439,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt_function.c:365,1
    - Dst: strlen
      Src: /src/tdengine/tests/script/api/stmt_function.c:370,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:438,1
    - Dst: strcpy
      Src: /src/tdengine/tests/script/api/stmt_function.c:369,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:347,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:373,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:433,1
    - Dst: print_result
      Src: /src/tdengine/tests/script/api/stmt_function.c:436,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 3
    argNames:
    - taos
    - col
    - type
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 441
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 441
    functionName: taos_stmt_use_result_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - taos_stmt_execute
    - taosMemoryFree
    - taos_free_result
    - sprintf
    - taosMemoryCalloc
    - strcpy
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    - strlen
    - print_result
    - taos_stmt_use_result
    - taos_stmt_bind_param
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_use_result_query(void *taos, char *col, int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_api_reliability
      Src: /src/tdengine/tests/script/api/stmt_function.c:499,1
    - Dst: test_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 502
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 502
    functionName: main
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - test_query
    - test_api_reliability
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_init_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:481,1
    - Dst: taos_stmt_set_tbname_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:483,1
    - Dst: taos_stmt_set_tbname_tags_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:484,1
    - Dst: taos_stmt_preprare_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:482,1
    - Dst: taos_stmt_set_sub_tbname_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:485,1
    - Dst: taos_stmt_bind_param_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:486,1
    - Dst: taos_stmt_bind_single_param_batch_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:487,1
    - Dst: taos_stmt_bind_param_batch_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:488,1
    - Dst: taos_stmt_add_batch_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:489,1
    - Dst: taos_stmt_execute_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:490,1
    - Dst: taos_stmt_close_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: test_api_reliability
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_bind_param_batch_test
    - taos_stmt_bind_param_test
    - taos_stmt_bind_single_param_batch_test
    - taos_stmt_set_sub_tbname_test
    - taos_stmt_init_test
    - taos_stmt_preprare_test
    - taos_stmt_execute_test
    - taos_stmt_add_batch_test
    - taos_stmt_close_test
    - taos_stmt_set_tbname_test
    - taos_stmt_set_tbname_tags_test
    linkageType: ''
    returnType: void
    signature: 'void test_api_reliability() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:447,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:460,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:464,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:445,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:448,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:452,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:454,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:465,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:461,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:450,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:455,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:462,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:458,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:466,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:444,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:451,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:453,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:459,1
    - Dst: taos_stmt_use_result_query
      Src: /src/tdengine/tests/script/api/stmt_function.c:463,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:456,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 469
    functionName: taos_stmt_use_result_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_connect
    - taos_stmt_use_result_query
    - execute_simple_sql
    - printf
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_use_result_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:261,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:267,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:275,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:271,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:292,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:259,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:268,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:269,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:273,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:275,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:276,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:294,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:264,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:276,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:277,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:290,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:291,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:293,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:295,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:262,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:261,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:265,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:270,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:272,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:274,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:290,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:292,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:295,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 297
    functionName: taos_stmt_add_batch_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - exit
    - taos_stmt_prepare
    - taosMemoryFree
    - taos_connect
    - taos_stmt_set_tbname
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    - taos_stmt_add_batch
    - taos_stmt_bind_param
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_add_batch_test() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:308,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:314,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:318,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tests/script/api/stmt_function.c:332,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:333,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:335,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tests/script/api/stmt_function.c:336,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:337,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:302,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:309,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:311,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:314,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:313,1
    - Dst: sprintf
      Src: /src/tdengine/tests/script/api/stmt_function.c:316,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:332,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:339,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:340,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tests/script/api/stmt_function.c:302,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:305,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tests/script/api/stmt_function.c:317,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tests/script/api/stmt_function.c:312,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:319,1
    - Dst: taos_stmt_bind_param
      Src: /src/tdengine/tests/script/api/stmt_function.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tests/script/api/stmt_function.c:338,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tests/script/api/stmt_function.c:340,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:300,1
    - Dst: taos_connect
      Src: /src/tdengine/tests/script/api/stmt_function.c:303,1
    - Dst: exit
      Src: /src/tdengine/tests/script/api/stmt_function.c:306,1
    - Dst: execute_simple_sql
      Src: /src/tdengine/tests/script/api/stmt_function.c:310,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:317,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:318,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tests/script/api/stmt_function.c:315,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:333,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:334,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:335,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:337,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:341,1
    - Dst: assert
      Src: /src/tdengine/tests/script/api/stmt_function.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 64
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 342
    functionName: taos_stmt_execute_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_execute
    - exit
    - taos_stmt_prepare
    - taos_connect
    - taos_stmt_set_tbname
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - execute_simple_sql
    - taos_stmt_close
    - assert
    - printf
    - taos_stmt_init
    - taos_stmt_add_batch
    - taos_stmt_bind_param
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_execute_test() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt_use_result_test
      Src: /src/tdengine/tests/script/api/stmt_function.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 496
    functionName: test_query
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - taos_stmt_use_result_test
    linkageType: ''
    returnType: void
    signature: 'void test_query() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:472,1
    - Dst: printf
      Src: /src/tdengine/tests/script/api/stmt_function.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: taos_stmt_close_test
    functionSourceFile: /src/tdengine/tests/script/api/stmt_function.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void taos_stmt_close_test() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 6
    functionName: l2norm_init
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 8
    functionName: l2norm_destroy
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_destroy() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: udfError
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:13,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:17,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 22
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 22
    functionName: l2norm_start
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_start(SUdfInterBuf* buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:25,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:43,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:49,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:30,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:42,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:52,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:56,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:59,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:67,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:74,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 76
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 76
    functionName: l2norm
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c
    functionUses: []
    functionsReached:
    - udfTrace
    - udfError
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm(SUdfDataBlock* block, SUdfInterBuf* interBuf,
      SUdfInterBuf* newInterBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:80,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: l2norm_finish
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/l2norm.c
    functionUses: []
    functionsReached:
    - sqrt
    - udfTrace
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t l2norm_finish(SUdfInterBuf* buf, SUdfInterBuf*
      resultData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 15
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 15
    functionName: gpd_init
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/gpd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:31,1
    - Dst: varDataVal
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:37,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:32,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:33,1
    - Dst: varDataLen
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:38,1
    - Dst: varDataVal
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:38,1
    - Dst: varDataLen
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:38,1
    - Dst: printf
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:39,1
    - Dst: udfColDataSet
      Src: /src/tdengine/test/cases/25-UDFs/sh/gpd.c:41,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: gpd
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/gpd.c
    functionUses: []
    functionsReached:
    - varDataLen
    - udfColDataSet
    - varDataVal
    - printf
    - udfColDataGetData
    - memcpy
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd(SUdfDataBlock* block, SUdfColumn *resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 19
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 19
    functionName: gpd_destroy
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/gpd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t gpd_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 5
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 5
    functionName: bit_and_init
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and_init() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:10,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:28,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:13,1
    - Dst: udfError
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:20,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:29,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:30,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:34,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:35,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:39,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:40,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:41,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:45,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:57,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:47,1
    - Dst: udfTrace
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:52,1
    - Dst: udfColDataSet
      Src: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c:51,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 60
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 60
    functionName: bit_and
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c
    functionUses: []
    functionsReached:
    - udfColDataSet
    - udfTrace
    - udfColDataSetNull
    - udfColDataIsNull
    - udfColDataGetData
    - udfError
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and(SUdfDataBlock* block, SUdfColumn* resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: bit_and_destroy
    functionSourceFile: /src/tdengine/test/cases/25-UDFs/sh/bit_and.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t bit_and_destroy() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - connMode
    - dsn
    argTypes:
    - int8_t
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: workingMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t workingMode(int8_t connMode, char *dsn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:40,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:49,1
    - Dst: sprintf
      Src: /src/tdengine/tools/src/pub.c:42,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:57,1
    - Dst: strstr
      Src: /src/tdengine/tools/src/pub.c:67,1
    - Dst: sprintf
      Src: /src/tdengine/tools/src/pub.c:72,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 29
    argCount: 6
    argNames:
    - dsn
    - host
    - port
    - user
    - pwd
    - error
    argTypes:
    - char*
    - char**
    - char**
    - char**
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 77
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 77
    functionName: parseDsn
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached:
    - strstr
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseDsn(char* dsn, char **host, char **port, char **user,
      char **pwd, char *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - connMode
    - dsn
    argTypes:
    - int8_t
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 146
    functionName: defaultPort
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t defaultPort(int8_t connMode, char *dsn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/src/pub.c:21,1
    - Dst: tolower
      Src: /src/tdengine/tools/src/pub.c:27,1
    - Dst: malloc
      Src: /src/tdengine/tools/src/pub.c:22,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: strToLowerCopy
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached:
    - strlen
    - tolower
    - malloc
    linkageType: ''
    returnType: char*
    signature: 'char * strToLowerCopy(const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:82,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:82,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:84,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/src/pub.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:87,1
    - Dst: exit
      Src: /src/tdengine/tools/src/pub.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: getConnMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t getConnMode(char *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_options
      Src: /src/tdengine/tools/src/pub.c:106,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/src/pub.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/src/pub.c:113,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/src/pub.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - connMode
    - dsn
    - show
    argTypes:
    - int8_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: setConnMode
    functionSourceFile: /src/tdengine/tools/src/pub.c
    functionUses: []
    functionsReached:
    - taos_errstr
    - fprintf
    - taos_options
    - taos_errno
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setConnMode(int8_t connMode, char *dsn, bool show) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:180,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:184,1
    - Dst: shellGetNextCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:183,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: shellDeleteChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellGetNextCharSize
    - shellShowOnScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void shellDeleteChar(SShellCmd *cmd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shellGetScreenSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:383,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:392,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellCommand.c:391,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:389,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:390,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:394,1
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:398,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:402,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:404,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:408,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:411,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:431,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:432,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:433,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:430,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:419,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 435
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 435
    functionName: shellShowOnScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMbToWchar
    - sprintf
    - shellPositionCursor
    - strcmp
    - memset
    - taosWcharWidth
    - printf
    - shellGetScreenSize
    linkageType: ''
    returnType: void
    signature: 'void shellShowOnScreen(SShellCmd *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:198,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:204,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: shellMoveCursorLeft
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellGetPrevCharSize
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellMoveCursorLeft(SShellCmd *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:280,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellCommand.c:281,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellCommand.c:280,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:289,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: shellUpdateBuffer
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - strcat
    - shellRegexMatch
    - shellShowOnScreen
    - memset
    linkageType: ''
    returnType: void
    signature: 'void shellUpdateBuffer(SShellCmd *cmd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:441,1
    - Dst: ReadConsoleW
      Src: /src/tdengine/tools/shell/src/shellCommand.c:449,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:470,1
    - Dst: WideCharToMultiByte
      Src: /src/tdengine/tools/shell/src/shellCommand.c:457,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 472
    functionName: taosGetConsoleChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - ReadConsoleW
    - getchar
    - GetStdHandle
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: 'char taosGetConsoleChar() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:295,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:303,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:297,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:296,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellCommand.c:302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: shellIsReadyGo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - memset
    - shellRegexMatch
    linkageType: ''
    returnType: bool
    signature: 'bool shellIsReadyGo(SShellCmd *cmd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: shellCountPrefixOnes
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellCountPrefixOnes(uint8_t c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:83,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - str
    - pos
    - size
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: shellGetNextCharSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - taosWcharWidth
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: 'void shellGetNextCharSize(const char *str, int32_t pos, int32_t *size,
      int32_t *width) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:156,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:157,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: shellClearLineBefore
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellShowOnScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void shellClearLineBefore(SShellCmd *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:212,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:218,1
    - Dst: shellGetNextCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: shellMoveCursorRight
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellGetNextCharSize
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellMoveCursorRight(SShellCmd *cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:235,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: positionCursorMiddle
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void positionCursorMiddle(SShellCmd *cmd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:255,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - times
    argTypes:
    - char
    - int32_t
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: shellPrintChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void shellPrintChar(char c, int32_t times) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GetConsoleScreenBufferInfo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:341,1
    - Dst: ioctl
      Src: /src/tdengine/tools/shell/src/shellCommand.c:349,1
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:341,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - ws_col
    - ws_row
    argTypes:
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 358
    functionName: shellGetScreenSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - GetStdHandle
    - ioctl
    - GetConsoleScreenBufferInfo
    linkageType: ''
    returnType: void
    signature: 'void shellGetScreenSize(int32_t *ws_col, int32_t *ws_row) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:91,1
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:93,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:97,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:101,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:95,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:102,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - cmd
    - c
    - size
    argTypes:
    - SShellCmd*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 110
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 110
    functionName: shellInsertChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - taosMbToWchar
    - taosWcharWidth
    - memmove
    - shellClearScreen
    - memcpy
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellInsertChar(SShellCmd *cmd, char *c, int32_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/src/shellCommand.c:70,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:76,1
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - str
    - pos
    - size
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 77
    functionName: shellGetPrevCharSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - taosWcharWidth
    - shellCountPrefixOnes
    - taosMbToWchar
    linkageType: ''
    returnType: void
    signature: 'void shellGetPrevCharSize(const char *str, int32_t pos, int32_t *size,
      int32_t *width) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:170,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: shellClearLineAfter
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellClearLineAfter(SShellCmd *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:226,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: shellPositionCursorHome
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellPositionCursorHome(SShellCmd *cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:246,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: shellPositionCursorEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellPositionCursorEnd(SShellCmd *cmd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:264,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:266,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:268,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:272,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:270,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - step
    - direction
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: shellPositionCursor
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void shellPositionCursor(int32_t step, int32_t direction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellGetScreenSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:362,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:370,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:368,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:367,1
    - Dst: shellPositionCursor
      Src: /src/tdengine/tools/shell/src/shellCommand.c:373,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:375,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellCommand.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ecmd_pos
    - cursor_pos
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: shellClearScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellPositionCursor
    - fprintf
    - fflush
    - shellGetScreenSize
    linkageType: ''
    returnType: void
    signature: 'void shellClearScreen(int32_t ecmd_pos, int32_t cursor_pos) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:491,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellCommand.c:526,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:508,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:528,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:532,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:535,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:561,1
    - Dst: shellClearLineBefore
      Src: /src/tdengine/tools/shell/src/shellCommand.c:567,1
    - Dst: positionCursorMiddle
      Src: /src/tdengine/tools/shell/src/shellCommand.c:570,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:575,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:618,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:624,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:630,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:645,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:651,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:607,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:613,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:480,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:487,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:481,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:499,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:502,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:518,1
    - Dst: kill
      Src: /src/tdengine/tools/shell/src/shellCommand.c:522,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:529,1
    - Dst: shellIsReadyGo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:543,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:564,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:593,1
    - Dst: shellPositionCursorEnd
      Src: /src/tdengine/tools/shell/src/shellCommand.c:626,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:578,1
    - Dst: shellDeleteChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:620,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:595,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:482,1
    - Dst: shellCountPrefixOnes
      Src: /src/tdengine/tools/shell/src/shellCommand.c:496,1
    - Dst: raise
      Src: /src/tdengine/tools/shell/src/shellCommand.c:520,1
    - Dst: pressTabKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:506,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:514,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:517,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:544,1
    - Dst: shellUpdateBuffer
      Src: /src/tdengine/tools/shell/src/shellCommand.c:549,1
    - Dst: shellClearLineAfter
      Src: /src/tdengine/tools/shell/src/shellCommand.c:553,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellCommand.c:559,1
    - Dst: taosGetConsoleChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:635,1
    - Dst: shellInsertChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:656,1
    - Dst: shellBackspaceChar
      Src: /src/tdengine/tools/shell/src/shellCommand.c:653,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:490,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:503,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:527,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellCommand.c:541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:545,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellCommand.c:546,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:574,1
    - Dst: shellMoveCursorRight
      Src: /src/tdengine/tools/shell/src/shellCommand.c:601,1
    - Dst: shellMoveCursorLeft
      Src: /src/tdengine/tools/shell/src/shellCommand.c:604,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:609,1
    - Dst: pressOtherKey
      Src: /src/tdengine/tools/shell/src/shellCommand.c:655,1
    - Dst: shellPositionCursorHome
      Src: /src/tdengine/tools/shell/src/shellCommand.c:641,1
    - Dst: shellResetCommand
      Src: /src/tdengine/tools/shell/src/shellCommand.c:585,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 127
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 661
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 661
    functionName: shellReadCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - positionCursorMiddle
    - sprintf
    - taosMemoryCalloc
    - shellCountPrefixOnes
    - pressOtherKey
    - shellResetCommand
    - shellMoveCursorLeft
    - raise
    - shellDeleteChar
    - system
    - shellPositionCursorEnd
    - shellBackspaceChar
    - shellShowOnScreen
    - pressTabKey
    - shellClearLineAfter
    - kill
    - taosResetTerminalMode
    - shellInsertChar
    - shellIsReadyGo
    - shellUpdateBuffer
    - printf
    - shellClearLineBefore
    - shellMoveCursorRight
    - taosMemoryFreeClear
    - taosGetConsoleChar
    - shellPositionCursorHome
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellReadCommand(char *command) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:114,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:116,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:129,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - cmd
    - str
    - size
    argTypes:
    - SShellCmd*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: shellInsertStr
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - memcpy
    - shellShowOnScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void shellInsertStr(SShellCmd *cmd, char *str, int32_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellCommand.c:312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellCommand.c:316,1
    - Dst: taosMbsToWchars
      Src: /src/tdengine/tools/shell/src/shellCommand.c:314,1
    - Dst: taosWcharsWidth
      Src: /src/tdengine/tools/shell/src/shellCommand.c:315,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - str
    - size
    - width
    argTypes:
    - char*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: shellGetMbSizeInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosWcharsWidth
    - strlen
    - taosMbsToWchars
    linkageType: ''
    returnType: void
    signature: 'void shellGetMbSizeInfo(const char *str, int32_t *size, int32_t *width) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:137,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellCommand.c:140,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:149,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellCommand.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: shellBackspaceChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellGetPrevCharSize
    - shellShowOnScreen
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void shellBackspaceChar(SShellCmd *cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:322,1
    - Dst: shellGetMbSizeInfo
      Src: /src/tdengine/tools/shell/src/shellCommand.c:328,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellCommand.c:325,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:323,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellCommand.c:324,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellCommand.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - cmd
    - s
    argTypes:
    - SShellCmd*
    - char
    constantsTouched: []
    func_position:
      end: 335
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 335
    functionName: shellResetCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellCommand.c
    functionUses: []
    functionsReached:
    - strncpy
    - memset
    - shellGetMbSizeInfo
    - shellClearScreen
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void shellResetCommand(SShellCmd *cmd, const char s[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:467,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:471,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:480,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:457,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:463,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:460,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:466,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:470,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:479,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:465,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:469,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:473,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:478,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:477,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:475,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:459,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:461,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:468,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:472,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:474,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 1
    argNames:
    - type
    argTypes:
    - EVersionType
    constantsTouched: []
    func_position:
      end: 483
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 483
    functionName: printfIntroduction
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strlen
    - sprintf
    - printf
    linkageType: ''
    returnType: void
    signature: 'void printfIntroduction(EVersionType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - command
    - index
    argTypes:
    - SWords*
    - int32_t
    constantsTouched: []
    func_position:
      end: 684
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 684
    functionName: atWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SWord*
    signature: 'SWord * atWord(SWords* command, int32_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:690,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: wordType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: 'int wordType(const char* p, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:801,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:804,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:805,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:811,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:817,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:815,1
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:791,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:797,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:793,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:808,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:814,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:810,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/tools/shell/src/shellAuto.c:798,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:807,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:809,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:813,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:806,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:816,1
    - Dst: GenerateVarType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:812,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 818
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 818
    functionName: shellAutoInit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - GenerateVarType
    - taosThreadMutexInit
    - memset
    - parseCommand
    - SHELL_COMMAND_COUNT
    linkageType: ''
    returnType: void
    signature: 'void shellAutoInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:984,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellAuto.c:991,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellAuto.c:990,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:993,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:992,1
    - Dst: writeVarNames
      Src: /src/tdengine/tools/shell/src/shellAuto.c:998,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1001,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1006,1
    - Dst: setThreadNull
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1009,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1011
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1011
    functionName: varObtainThread
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - setThreadNull
    - taos_query
    - taosMemoryFree
    - taos_errno
    - writeVarNames
    - firstMatchCommand
    - taos_free_result
    linkageType: ''
    returnType: void*
    signature: 'void * varObtainThread(void* param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1131,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1134,1
    - Dst: getAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1139,1
    - Dst: putBackAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1146,1
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - type
    - pre
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1149
    functionName: tireSearchWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - getAutoPtr
    - updateTireValue
    - matchNextPrefix
    - putBackAutoPtr
    linkageType: ''
    returnType: char*
    signature: 'char * tireSearchWord(int type, char* pre) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1353,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1365,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1357,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1362,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1354,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1366,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1371,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1373,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1374,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1379
    functionName: firstMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - matchCommand
    - taosMemoryFree
    - taosMemoryMalloc
    - freeCommand
    - memset
    - printScreen
    - parseCommand
    - printf
    - shellShowOnScreen
    linkageType: ''
    returnType: bool
    signature: 'bool firstMatchCommand(TAOS* con, SShellCmd* cmd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1412,1
    - Dst: parseCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1419,1
    - Dst: createInputFromFirst
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1416,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1422,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1413,1
    - Dst: matchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1427,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1429,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1431,1
    - Dst: printScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1437,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1439,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1449,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1446,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1444,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - con
    - cmd
    - firstMatch
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    constantsTouched: []
    func_position:
      end: 1452
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1452
    functionName: nextMatchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - matchCommand
    - taosMemoryFree
    - taosMemoryMalloc
    - createInputFromFirst
    - freeCommand
    - memset
    - printScreen
    - parseCommand
    - printf
    - shellShowOnScreen
    linkageType: ''
    returnType: bool
    signature: 'bool nextMatchCommand(TAOS* con, SShellCmd* cmd, SWords* firstMatch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1689,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1711,1
    - Dst: searchAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1710,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1709,1
    - Dst: appendAfterSelect
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1718
    functionName: matchSelectQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - appendAfterSelect
    - searchAfterSelect
    - deleteCount
    linkageType: ''
    returnType: bool
    signature: 'bool matchSelectQuery(TAOS* con, SShellCmd* cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - conn
    - runOnce
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 826
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 826
    functionName: shellSetConn
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - updateTireValue
    linkageType: ''
    returnType: void
    signature: 'void shellSetConn(TAOS* conn, bool runOnce) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1249,1
    - Dst: compareCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1267,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - input
    - continueSearch
    argTypes:
    - SWords*
    - bool
    constantsTouched: []
    func_position:
      end: 1277
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1277
    functionName: matchCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - SHELL_COMMAND_COUNT
    - compareCommand
    linkageType: ''
    returnType: SWords*
    signature: 'SWords * matchCommand(SWords* input, bool continueSearch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:494,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:651,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:495,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:649,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:632,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:665,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 667
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 667
    functionName: showHelp
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void showHelp() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - command
    argTypes:
    - SWords*
    constantsTouched: []
    func_position:
      end: 771
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 771
    functionName: freeCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void freeCommand(SWords* command) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SHELL_COMMAND_COUNT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:831,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:837,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:844,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:840,1
    - Dst: freeCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:833,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:846,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:851,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:858,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 861
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 861
    functionName: shellAutoExit
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosDestroyThread
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - freeCommand
    - freeTire
    - SHELL_COMMAND_COUNT
    - freeMatch
    linkageType: ''
    returnType: void
    signature: 'void shellAutoExit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:869,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:881,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - type
    - pNew
    argTypes:
    - int
    - STire*
    constantsTouched: []
    func_position:
      end: 884
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 884
    functionName: setNewAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - freeTire
    linkageType: ''
    returnType: bool
    signature: 'bool setNewAutoPtr(int type, STire* pNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellAuto.c:930,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:947,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellAuto.c:944,1
    - Dst: createTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:938,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellAuto.c:935,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:949,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:954,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellAuto.c:960,1
    - Dst: setNewAutoPtr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - type
    - tres
    argTypes:
    - int
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 967
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 967
    functionName: writeVarNames
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - createTire
    - taos_fetch_row
    - sprintf
    - insertWord
    - memcpy
    - taos_fetch_lengths
    - taos_fetch_fields
    - setNewAutoPtr
    linkageType: ''
    returnType: int
    signature: 'int writeVarNames(int type, TAOS_RES* tres) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellClearScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1288,1
    - Dst: shellGetPrevCharSize
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1292,1
    - Dst: memmove
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cmd
    - count
    argTypes:
    - SShellCmd*
    - int
    constantsTouched: []
    func_position:
      end: 1300
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1300
    functionName: deleteCount
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - shellClearScreen
    - shellGetPrevCharSize
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void deleteCount(SShellCmd* cmd, int count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1478,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1485,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1489,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1480,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1494,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1498,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - con
    - cmd
    - pre
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1500
    functionName: fillTableName
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - tireSearchWord
    - taosMemoryFree
    - strlen
    - deleteCount
    - shellInsertStr
    linkageType: ''
    returnType: bool
    signature: 'bool fillTableName(TAOS* con, SShellCmd* cmd, char* pre) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2114,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2129,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2127,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2130,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2120,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2130,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2134,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2136,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2138,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2146,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2155,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2149,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2159,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2161,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2164
      start: 2112
    functionDepth: 0
    functionLinenumber: 2112
    functionLinenumberEnd: 2164
    functionName: dealCreateCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - strncasecmp
    - strstr
    - insertWord
    - strlen
    - getWordName
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'bool dealCreateCommand(char* sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:970,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:975,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 976
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: setThreadNull
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void setThreadNull(int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:487,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:488,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:490,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellAuto.c:489,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - end
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: showAD
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void showAD(bool end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:697,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:698,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:708,1
    - Dst: wordType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:705,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - p
    - len
    - pattern
    argTypes:
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 715
    functionName: addWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - wordType
    - memset
    linkageType: ''
    returnType: SWord*
    signature: 'SWord * addWord(const char* p, int32_t len, bool pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:721,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:742,1
    - Dst: addWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - command
    - pattern
    argTypes:
    - SWords*
    - bool
    constantsTouched: []
    func_position:
      end: 757
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 757
    functionName: parseCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strlen
    - addWord
    linkageType: ''
    returnType: void
    signature: 'void parseCommand(SWords* command, bool pattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1155,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1168,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1161,1
    - Dst: tireSearchWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1177,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1182,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - word1
    - word2
    argTypes:
    - SWord*
    - SWord*
    constantsTouched: []
    func_position:
      end: 1186
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1186
    functionName: matchVarWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - tireSearchWord
    - memcpy
    - strlen
    - taosMemoryFree
    linkageType: ''
    returnType: bool
    signature: 'bool matchVarWord(SWord* word1, SWord* word2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1386,1
    - Dst: strcat
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1395,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1387,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1402,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - input
    - firstMatch
    argTypes:
    - SWords*
    - SWords*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1405
    functionName: createInputFromFirst
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strcat
    - taosMemoryMalloc
    - strncpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void createInputFromFirst(SWords* input, SWords* firstMatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: matchNextPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1458,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1464,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1471,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - con
    - cmd
    - pre
    - type
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1473
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1473
    functionName: fillWithType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - shellInsertStr
    - matchNextPrefix
    linkageType: ''
    returnType: bool
    signature: 'bool fillWithType(TAOS* con, SShellCmd* cmd, char* pre, int type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1722,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1741,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1729,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1723,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1761
    functionName: fieldOptionsArea
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strrchr
    - strstr
    - strchr
    linkageType: ''
    returnType: bool
    signature: 'bool fieldOptionsArea(char* p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1016,1
    - Dst: taosDestroyThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1029,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1025,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1034,1
    - Dst: taosThreadRunning
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1023,1
    - Dst: taosCreateThread
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1036,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1037,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - type
    - autoFill
    argTypes:
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 1043
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1043
    functionName: updateTireValue
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosDestroyThread
    - taosThreadMutexLock
    - taosMemoryMalloc
    - taosCreateThread
    - taosThreadRunning
    linkageType: ''
    returnType: bool
    signature: 'bool updateTireValue(int type, bool autoFill) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1527,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1572,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1528,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1567,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1538,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1579
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1579
    functionName: fieldsInputEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strrchr
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'bool fieldsInputEnd(char* sql) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1783
    functionName: isCreateFieldsArea
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isCreateFieldsArea(char* p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1937,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1945,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1948,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1939,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1938,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1955,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1961,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1967,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1974,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1976
    functionName: matchEnd
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - strcmp
    - lastWord
    - strlen
    - strrchr
    - fillWithType
    linkageType: ''
    returnType: bool
    signature: 'bool matchEnd(TAOS* con, SShellCmd* cmd) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: showHelp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1987,1
    - Dst: firstMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2003,1
    - Dst: nextMatchCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2005,1
    - Dst: matchCreateTable
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1998,1
    - Dst: shellShowOnScreen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1989,1
    - Dst: matchOther
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2011,1
    - Dst: matchSelectQuery
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2015,1
    - Dst: matchEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2019,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 2022
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2022
    functionName: pressTabKey
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - showHelp
    - matchOther
    - nextMatchCommand
    - firstMatchCommand
    - matchEnd
    - matchSelectQuery
    - matchCreateTable
    - shellShowOnScreen
    linkageType: ''
    returnType: void
    signature: 'void pressTabKey(SShellCmd* cmd) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1788,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1815,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1817,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1808,1
    - Dst: isCreateFieldsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1820,1
    - Dst: fieldOptionsArea
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1821,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1823,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1826,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1833,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1835,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1854,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1837,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1849,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1845,1
    - Dst: strchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1847,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 1856
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1856
    functionName: matchCreateTable
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - isCreateFieldsArea
    - taosMemoryFree
    - taosStrndup
    - strncasecmp
    - strchr
    - strstr
    - lastWord
    - fieldOptionsArea
    - deleteCount
    - fillWithType
    linkageType: ''
    returnType: bool
    signature: 'bool matchCreateTable(TAOS* con, SShellCmd* cmd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:892,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 897
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 897
    functionName: getAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: STire*
    signature: 'STire * getAutoPtr(int type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_WORD
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1314,1
    - Dst: deleteCount
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1323,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1335,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1336,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1333,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1339,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1341,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1345,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - con
    - cmd
    - match
    argTypes:
    - TAOS*
    - SShellCmd*
    - SWords*
    constantsTouched: []
    func_position:
      end: 1347
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1347
    functionName: printScreen
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - MATCH_WORD
    - tstrncpy
    - deleteCount
    - shellInsertStr
    linkageType: ''
    returnType: void
    signature: 'void printScreen(TAOS* con, SShellCmd* cmd, SWords* match) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1866,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1875,1
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1874,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1877,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1878,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1879,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1882,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1886,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1889,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 2
    argNames:
    - con
    - cmd
    argTypes:
    - TAOS*
    - SShellCmd*
    constantsTouched: []
    func_position:
      end: 1931
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1931
    functionName: matchOther
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - strncmp
    - strstr
    - strcmp
    - lastWord
    - shellInsertStr
    - fillWithType
    linkageType: ''
    returnType: bool
    signature: 'bool matchOther(TAOS* con, SShellCmd* cmd) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2169,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2186,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2182,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2175,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2184,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2188,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2190,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2192,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2200,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2203,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2215,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2219,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2226,1
    - Dst: deleteWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2224,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2209,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2229
      start: 2167
    functionDepth: 0
    functionLinenumber: 2167
    functionLinenumberEnd: 2229
    functionName: dealDropCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - strncasecmp
    - deleteWord
    - strlen
    - getWordName
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'bool dealDropCommand(char* sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:774,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:779,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:781,1
    - Dst: insertWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - type
    - p
    - count
    argTypes:
    - int
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: GenerateVarType
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - createTire
    - taosThreadMutexLock
    - insertWord
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void GenerateVarType(int type, char** p, int count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:905,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:910,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellAuto.c:915,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - type
    - tire
    argTypes:
    - int
    - STire*
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: putBackAutoPtr
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - freeTire
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void putBackAutoPtr(int type, STire* tire) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1205,1
    - Dst: matchVarWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1226,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1210,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 2
    argNames:
    - cmdPattern
    - cmdInput
    argTypes:
    - SWords*
    - SWords*
    constantsTouched: []
    func_position:
      end: 1245
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1245
    functionName: compareCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - matchVarWord
    - strncasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareCommand(SWords* cmdPattern, SWords* cmdInput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1511,1
    - Dst: strrchr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1512,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1523
    functionName: lastWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'char * lastWord(char* p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1600,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1607,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1611,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1605,1
    - Dst: lastWord
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1613,1
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1616,1
    - Dst: shellInsertStr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1619,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1620,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1627,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1629,1
    - Dst: fillWithType
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1642,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1645,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1632,1
    - Dst: fillTableName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1640,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1637,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 4
    argNames:
    - con
    - cmd
    - sql
    - len
    argTypes:
    - TAOS*
    - SShellCmd*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1647
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1647
    functionName: appendAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - strstr
    - lastWord
    - strlen
    - fillTableName
    - shellInsertStr
    - fillWithType
    - fieldsInputEnd
    linkageType: ''
    returnType: bool
    signature: 'bool appendAfterSelect(TAOS* con, SShellCmd* cmd, char* sql, int32_t
      len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2073,1
    - Dst: getWordName
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2079,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2085,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2096,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2091,1
    - Dst: freeTire
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2102,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2105,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2109
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2109
    functionName: dealUseDB
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - strncasecmp
    - strcpy
    - getWordName
    - strcasecmp
    - freeTire
    linkageType: ''
    returnType: bool
    signature: 'bool dealUseDB(char* sql) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dealUseDB
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2239,1
    - Dst: dealCreateCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2246,1
    - Dst: dealDropCommand
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2251,1
    - Dst: updateTireValue
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - sqlstr
    - pSql
    - usedb
    argTypes:
    - char*
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 2256
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2256
    functionName: callbackAutoTab
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - dealCreateCommand
    - dealUseDB
    - updateTireValue
    - dealDropCommand
    linkageType: ''
    returnType: void
    signature: 'void callbackAutoTab(char* sqlstr, TAOS* pSql, bool usedb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1651,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1668,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1655,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1673,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1664,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1679,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1684
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1684
    functionName: searchAfterSelect
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - strstr
    - strncasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t searchAfterSelect(char* p, int32_t len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1052,1
    - Dst: enumAll
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1062,1
    - Dst: matchPrefix
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1067,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1065,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1066,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1072,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1086,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1102,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1110,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - tire
    - pre
    argTypes:
    - STire*
    - char*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1119
    functionName: matchNextPrefix
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - enumAll
    - taosMemoryMalloc
    - matchPrefix
    - strcmp
    - memset
    - taosStrdup
    - freeMatch
    linkageType: ''
    returnType: char*
    signature: 'char * matchNextPrefix(STire* tire, char* pre) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fieldsInputEnd
      Src: /src/tdengine/tools/shell/src/shellAuto.c:1590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - sql
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1596
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1596
    functionName: needInsertFrom
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - fieldsInputEnd
    linkageType: ''
    returnType: bool
    signature: 'bool needInsertFrom(char* sql, int len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellAuto.c:2043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 2046
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2046
    functionName: pressOtherKey
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached:
    - freeMatch
    linkageType: ''
    returnType: void
    signature: 'void pressOtherKey(char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - p
    - name
    - nameLen
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2068
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2068
    functionName: getWordName
    functionSourceFile: /src/tdengine/tools/shell/src/shellAuto.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int getWordName(char* p, char* name, int nameLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:136,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:136,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:137,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:146,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:148,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:150,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 157
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 157
    functionName: shellRecordCommandToHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strncasecmp
    - strcmp
    - taosStrdup
    - taosMemoryFreeClear
    - taosStrCaseStr
    linkageType: ''
    returnType: void
    signature: 'void shellRecordCommandToHistory(char *command) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:305,1
    - Dst: taosLocalTime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:334,1
    - Dst: strftime
      Src: /src/tdengine/tools/shell/src/shellEngine.c:337,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:340,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:342,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:344,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - buf
    - bufSize
    - val
    - precision
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 348
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 348
    functionName: shellFormatTimestamp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strftime
    - taosLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *shellFormatTimestamp(char *buf, int32_t bufSize, int64_t val,
      int32_t precision) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:361,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:373,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:420,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:420,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:442,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:451,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:460,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:464,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:465,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:376,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:379,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:402,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:415,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:402,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:404,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:404,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:415,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:416,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:448,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:456,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:469,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:408,1
    - Dst: tsnprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:418,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:418,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:452,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:459,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:382,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:385,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:388,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:391,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:394,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:397,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/shell/src/shellEngine.c:406,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:406,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:422,1
    - Dst: shellDumpHexValue
      Src: /src/tdengine/tools/shell/src/shellEngine.c:458,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 75
    argCount: 5
    argNames:
    - pFile
    - val
    - field
    - length
    - precision
    argTypes:
    - TdFilePtr
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 473
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 473
    functionName: shellDumpFieldToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellFormatTimestamp
    - snprintf
    - taosMemoryFree
    - GET_FLOAT_VAL
    - taosMemoryCalloc
    - shellDumpHexValue
    - taosAscii2Hex
    - GET_DOUBLE_VAL
    - tsnprintf
    - taosFprintfFile
    linkageType: ''
    returnType: void
    signature: 'void shellDumpFieldToFile(TdFilePtr pFile, const char *val, TAOS_FIELD
      *field, int32_t length, int32_t precision) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMbToWchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:530,1
    - Dst: taosWcharWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:542,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:574,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:560,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:551,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:579,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:585,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - str
    - length
    - width
    argTypes:
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 587
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 587
    functionName: shellPrintNChar
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosWcharWidth
    - putchar
    - taosMbToWchar
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellPrintNChar(const char *str, int32_t length, int32_t width) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shellDumpResultToFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1009,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1015,1
    - Dst: init_dump_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1013,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1020,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - tres
    - fname
    - error_no
    - vertical
    - sql
    argTypes:
    - TAOS_RES*
    - char*
    - int32_t*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1022
    functionName: shellDumpResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - shellDumpResultToFile
    - taos_errno
    - tsem_wait
    - init_dump_info
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t shellDumpResult(TAOS_RES *tres, char *fname, int32_t *error_no,
      bool vertical, const char *sql) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1069,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1075,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1081
    functionName: shellWriteHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosMemoryFree
    - taosCloseFile
    - taosFprintfFile
    linkageType: ''
    returnType: void
    signature: 'void shellWriteHistory() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1091
    functionName: shellCleanupHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void shellCleanupHistory() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shellIsEmptyCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:160,1
    - Dst: showHelp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:167,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:188,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:165,1
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:172,1
    - Dst: shellRunSingleCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:195,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - command
    - recordHistory
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 196
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 196
    functionName: shellRunCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellRunSingleCommand
    - showHelp
    - strncasecmp
    - shellIsEmptyCommand
    - shellRecordCommandToHistory
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellRunCommand(char *command, bool recordHistory) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:352,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - val
    - length
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 357
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 357
    functionName: shellDumpHexValue
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *shellDumpHexValue(char *buf, const char *val, int32_t length) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellEngine.c:477,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:481,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:488,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:478,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:486,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:492,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:493,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:494,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:498,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:500,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:506,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:513,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:509,1
    - Dst: shellDumpFieldToFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:511,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:519,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:516,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - fname
    - tres
    argTypes:
    - char*
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 522
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 522
    functionName: shellDumpResultToFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - shellDumpFieldToFile
    - taosCloseFile
    - taos_fetch_row
    - taosExpandDir
    - fprintf
    - taos_num_fields
    - tstrncpy
    - taos_result_precision
    - taos_fetch_lengths
    - taos_fetch_fields
    - taosFprintfFile
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t shellDumpResultToFile(const char *fname, TAOS_RES *tres) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:590,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:593,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:601,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:596,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - str
    - width
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: shellPrintString
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strlen
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellPrintString(const char *str, int32_t width) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1238
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1238
    functionName: shellCleanup
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosResetTerminalMode
    linkageType: ''
    returnType: void
    signature: 'void shellCleanup(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fdwCtrlType
    argTypes:
    - DWORD
    constantsTouched: []
    func_position:
      end: 1233
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1233
    functionName: shellQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: BOOL
    signature: 'BOOL shellQueryInterruptHandler(DWORD fdwCtrlType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:203,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:214,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 219
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 219
    functionName: strendG
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'char *strendG(const char *pstr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:720,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:736,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:732,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:728,1
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 741
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 741
    functionName: shellIsShowWhole
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosStrCaseStr
    linkageType: ''
    returnType: bool
    signature: 'bool shellIsShowWhole(const char *sql) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:833,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:843,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:882,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:900,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:847,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:873,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:890,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/shell/src/shellEngine.c:904,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:839,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:837,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:851,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:858,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:861,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:866,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:884,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:893,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:855,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:868,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:875,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:897,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:895,1
    - Dst: TMAX
      Src: /src/tdengine/tools/shell/src/shellEngine.c:902,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 47
    argCount: 2
    argNames:
    - field
    - precision
    argTypes:
    - TAOS_FIELD*
    - int32_t
    constantsTouched: []
    func_position:
      end: 908
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 908
    functionName: shellCalcColWidth
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - TMAX
    - strlen
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellCalcColWidth(TAOS_FIELD *field, int32_t precision) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1026,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1034,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1033,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1031,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1043,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1044,1
    - Dst: taosStatFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1046,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1047,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1054,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1060,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1061,1
    - Dst: taosFprintfFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1057,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1064
    functionName: shellReadHistory
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - taosMemoryFree
    - taosMemoryMalloc
    - taosCloseFile
    - taosGetsFile
    - taosStatFile
    - taosStrdup
    - taosMemoryFreeClear
    - taosFprintfFile
    linkageType: ''
    returnType: void
    signature: 'void shellReadHistory() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1241,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1258,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1248,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1254,1
    - Dst: tsem_wait
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1263
    functionName: shellCancelHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_kill_query
    - printf
    - tsem_wait
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'void *shellCancelHandler(void *arg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strendG
      Src: /src/tdengine/tools/shell/src/shellEngine.c:239,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:233,1
    - Dst: shellPrintError
      Src: /src/tdengine/tools/shell/src/shellEngine.c:248,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:252,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:256,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:267,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:271,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:265,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:289,1
    - Dst: strstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:228,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:244,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:247,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:286,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:292,1
    - Dst: callbackAutoTab
      Src: /src/tdengine/tools/shell/src/shellEngine.c:297,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:300,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:246,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:269,1
    - Dst: shellDumpResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:279,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:282,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:275,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:294,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:253,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:258,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:284,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:286,1
    - Dst: taos_affected_rows64
      Src: /src/tdengine/tools/shell/src/shellEngine.c:291,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:293,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 301
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 301
    functionName: shellRunSingleCommandImp
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_fetch_fields
    - taos_errno
    - strstr
    - taos_affected_rows64
    - printf
    - taosGetTimestampUs
    - shellPrintError
    - shellDumpResult
    - shellRegexMatch
    - taos_errstr
    - taos_free_result
    - callbackAutoTab
    - strendG
    linkageType: ''
    returnType: void
    signature: 'void shellRunSingleCommandImp(char *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrCaseStr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - sql
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: shellIsShowQuery
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosStrCaseStr
    linkageType: ''
    returnType: bool
    signature: 'bool shellIsShowQuery(const char *sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:914,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:916,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:920,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:921,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:923,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:925,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - fields
    - width
    - num_fields
    argTypes:
    - TAOS_FIELD*
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 927
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 927
    functionName: shellPrintHeader
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strlen
    - putchar
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellPrintHeader(TAOS_FIELD *fields, int32_t *width, int32_t
      num_fields) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1269,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1274,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1276,1
    - Dst: taosGetOldTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1270,1
    - Dst: taosThreadCleanupPush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1271,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1281,1
    - Dst: taosSetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1282,1
    - Dst: shellReadCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1284,1
    - Dst: taosResetTerminalMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1288,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1289,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1291,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1292,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1293,1
    - Dst: taosThreadCleanupPop
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1298
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1298
    functionName: shellThreadLoop
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellRunCommand
    - shellReadCommand
    - taosMemoryMalloc
    - taosSetTerminalMode
    - taosThreadCleanupPush
    - taosResetTerminalMode
    - printf
    - memset
    - shellWriteHistory
    - taosThreadCleanupPop
    - taosGetOldTerminalMode
    - taosMemoryFreeClear
    - shellExit
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'void *shellThreadLoop(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: shellIsEmptyCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool shellIsEmptyCommand(const char *cmd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:607,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:615,1
    - Dst: doAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:620,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:615,1
    - Dst: initCtxAsText
      Src: /src/tdengine/tools/shell/src/shellEngine.c:613,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:622,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/tools/shell/src/shellEngine.c:622,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:626,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/tools/shell/src/shellEngine.c:628,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - val
    - length
    - width
    argTypes:
    - unsigned char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 629
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 629
    functionName: shellPrintGeometry
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - initCtxAsText
    - geosFreeBuffer
    - getGeosErrMsg
    - doAsText
    - shellPrintString
    linkageType: ''
    returnType: void
    signature: 'void shellPrintGeometry(const unsigned char *val, int32_t length,
      int32_t width) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:755,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:758,1
    - Dst: shellIsShowWhole
      Src: /src/tdengine/tools/shell/src/shellEngine.c:764,1
    - Dst: taos_result_precision
      Src: /src/tdengine/tools/shell/src/shellEngine.c:760,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:759,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:771,1
    - Dst: shellCalcColWidth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:778,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - dump_info
    - tres
    - sql
    - vertical
    argTypes:
    - tsDumpInfo*
    - TAOS_RES*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 781
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 781
    functionName: init_dump_info
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - tsem_init
    - taos_num_fields
    - taos_result_precision
    - strlen
    - taos_fetch_fields
    - shellIsShowWhole
    - shellCalcColWidth
    linkageType: ''
    returnType: void
    signature: 'void init_dump_info(tsDumpInfo *dump_info, TAOS_RES *tres, const char
      *sql, bool vertical) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1094,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1096,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1095,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1095,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tres
    - st
    argTypes:
    - TAOS_RES*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1097
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1097
    functionName: shellPrintError
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_errno
    - fprintf
    - taosGetTimestampUs
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: void
    signature: 'void shellPrintError(TAOS_RES *tres, int64_t st) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: shellRecordCommandToHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1116,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1120,1
    - Dst: taosGetsFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1126,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1154,1
    - Dst: taosCloseFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1160,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1106,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1112,1
    - Dst: taosOpenFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1118,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1128,1
    - Dst: shellIsCommentLine
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1136,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1142,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1152,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1115,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1125,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1151,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1121,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1131,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1159,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1161
    functionName: shellSourceFile
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - shellIsCommentLine
    - taosMemoryFree
    - taosMemoryMalloc
    - shellRunCommand
    - taosExpandDir
    - sprintf
    - taosMemoryCalloc
    - taosGetsFile
    - fprintf
    - taosCloseFile
    - shellRecordCommandToHistory
    - tstrncpy
    - printf
    - memset
    - memcpy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void shellSourceFile(const char *file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:85,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:101,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:103,1
    - Dst: TRANGE
      Src: /src/tdengine/tools/shell/src/shellEngine.c:110,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:123,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:131,1
    - Dst: shellIsEmptyCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:81,1
    - Dst: system
      Src: /src/tdengine/tools/shell/src/shellEngine.c:93,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:104,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:116,1
    - Dst: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:128,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:118,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:125,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:105,1
    - Dst: shellRunSingleCommandImp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:120,1
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:95,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:106,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellEngine.c:109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 133
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 133
    functionName: shellRunSingleCommand
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strncasecmp
    - shellIsEmptyCommand
    - system
    - shellRunSingleCommandImp
    - strtok
    - shellSourceFile
    - printf
    - shellRegexMatch
    - atoi
    - TRANGE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellRunSingleCommand(char *command) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:673,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:673,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/tools/shell/src/shellEngine.c:690,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:693,1
    - Dst: shellPrintGeometry
      Src: /src/tdengine/tools/shell/src/shellEngine.c:703,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:684,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:657,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:660,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:663,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:663,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:666,1
    - Dst: taosGetUInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:666,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:642,1
    - Dst: taosGetFloatAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:671,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:671,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:694,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:706,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:707,1
    - Dst: shellPrintNChar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:700,1
    - Dst: shellFormatTimestamp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:706,1
    - Dst: shellPrintString
      Src: /src/tdengine/tools/shell/src/shellEngine.c:633,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:648,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:645,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:651,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:654,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:674,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:680,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:680,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:683,1
    - Dst: taosGetDoubleAligned
      Src: /src/tdengine/tools/shell/src/shellEngine.c:683,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:711,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 50
    argCount: 5
    argNames:
    - val
    - field
    - width
    - length
    - precision
    argTypes:
    - char*
    - TAOS_FIELD*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 715
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 715
    functionName: shellPrintField
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellFormatTimestamp
    - snprintf
    - taosMemoryFree
    - taosGetFloatAligned
    - shellPrintNChar
    - shellPrintGeometry
    - printf
    - taosGetInt64Aligned
    - taosGetUInt64Aligned
    - taosGetDoubleAligned
    - shellPrintString
    - taosAscii2Hex
    linkageType: ''
    returnType: void
    signature: 'void shellPrintField(const char *val, TAOS_FIELD *field, int32_t width,
      int32_t length, int32_t precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:784,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:796,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:794,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:786,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:801,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:802,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:804,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:805,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:806,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:813,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:814,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:815,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:817,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:818,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:816,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:819,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    constantsTouched: []
    func_position:
      end: 830
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 830
    functionName: shellVerticalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellPrintField
    - putchar
    - taos_fetch_row
    - printf
    - strlen
    - taos_fetch_lengths
    linkageType: ''
    returnType: void
    signature: 'void shellVerticalPrintResult(TAOS_RES *tres, tsDumpInfo *dump_info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shellRegexMatch
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - line
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: shellIsCommentLine
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellRegexMatch
    linkageType: ''
    returnType: bool
    signature: 'bool shellIsCommentLine(char *line) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1166,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1195,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1204,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1197,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1208,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1210,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1174,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1194,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1187,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1212,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1215,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1218,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1221,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1166,1
    - Dst: taos_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1172,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1167,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1178,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1178,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1184,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1198,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1191,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1190,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1206,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1180,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1186,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1205,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1224,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1227
    functionName: shellGetGrantInfo
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_query
    - exit
    - taos_field_count
    - taos_fetch_fields
    - taos_get_server_info
    - taos_errno
    - taos_fetch_row
    - sprintf
    - fprintf
    - strtok
    - strcmp
    - tstrncpy
    - memcpy
    - taos_free_result
    - taos_errstr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellGetGrantInfo(char *buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:959,1
    - Dst: shellIsShowQuery
      Src: /src/tdengine/tools/shell/src/shellEngine.c:960,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:976,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:932,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/shell/src/shellEngine.c:943,1
    - Dst: shellPrintField
      Src: /src/tdengine/tools/shell/src/shellEngine.c:946,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:951,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:961,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:966,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/shell/src/shellEngine.c:930,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:945,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:948,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:952,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:968,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:964,1
    - Dst: shellPrintHeader
      Src: /src/tdengine/tools/shell/src/shellEngine.c:939,1
    - Dst: putchar
      Src: /src/tdengine/tools/shell/src/shellEngine.c:949,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:958,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:963,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:967,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - tres
    - dump_info
    argTypes:
    - TAOS_RES*
    - tsDumpInfo*
    constantsTouched: []
    func_position:
      end: 979
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 979
    functionName: shellHorizontalPrintResult
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - putchar
    - shellPrintField
    - taos_fetch_row
    - printf
    - shellPrintHeader
    - taos_fetch_lengths
    - shellIsShowQuery
    linkageType: ''
    returnType: void
    signature: 'void shellHorizontalPrintResult(TAOS_RES *tres, tsDumpInfo *dump_info) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shellVerticalPrintResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:987,1
    - Dst: taos_fetch_rows_a
      Src: /src/tdengine/tools/shell/src/shellEngine.c:994,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:996,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1000,1
    - Dst: shellHorizontalPrintResult
      Src: /src/tdengine/tools/shell/src/shellEngine.c:989,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1000,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1002,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - param
    - tres
    - num_of_rows
    argTypes:
    - void*
    - TAOS_RES*
    - int
    constantsTouched: []
    func_position:
      end: 1004
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1004
    functionName: shellDumpResultCallback
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - taos_fetch_rows_a
    - printf
    - tstrerror
    - shellHorizontalPrintResult
    - tsem_post
    - shellVerticalPrintResult
    linkageType: ''
    returnType: void
    signature: 'void shellDumpResultCallback(void *param, TAOS_RES *tres, int num_of_rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1235
    functionName: shellQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void
      *context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1312,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1333,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1321,1
    - Dst: free
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1322,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1319,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1337,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1338,1
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1339,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1339,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1350,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1361,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1353,1
    - Dst: taos_connect_auth
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1359,1
    - Dst: free
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1365,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - SShellArgs*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1367
    functionName: createConnect
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - strToLowerCopy
    - taos_connect
    - sprintf
    - free
    - printf
    - strlen
    - memcpy
    - taos_connect_auth
    - atoi
    - parseDsn
    - defaultPort
    linkageType: ''
    returnType: TAOS*
    signature: 'TAOS * createConnect(SShellArgs *pArgs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1373,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1380,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1398,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1399,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1411,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1438,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1442,1
    - Dst: taosThreadClear
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1444,1
    - Dst: tsem_post
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1446,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1452,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1374,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1380,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1425,1
    - Dst: showAD
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1433,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1416,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1455,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1461,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1459,1
    - Dst: shellWriteHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1410,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1423,1
    - Dst: shellSetConn
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1387,1
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1408,1
    - Dst: shellSourceFile
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1405,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1416,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1421,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1424,1
    - Dst: shellGetGrantInfo
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1428,1
    - Dst: printfIntroduction
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1430,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1443,1
    - Dst: taos_kill_query
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1458,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1371,1
    - Dst: createConnect
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1377,1
    - Dst: workingMode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1372,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1380,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1382,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1401,1
    - Dst: taos_set_conn_mode
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1393,1
    - Dst: shellRunCommand
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1400,1
    - Dst: shellReadHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1388,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1392,1
    - Dst: tsem_init
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1415,1
    - Dst: shellCleanupHistory
      Src: /src/tdengine/tools/shell/src/shellEngine.c:1457,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1462
    functionName: shellExecute
    functionSourceFile: /src/tdengine/tools/shell/src/shellEngine.c
    functionUses: []
    functionsReached:
    - shellRunCommand
    - taosMemoryFree
    - shellSourceFile
    - workingMode
    - taosThreadJoin
    - shellReadHistory
    - taos_errstr
    - showAD
    - taosSetSignal
    - taos_close
    - taosThreadCreate
    - printfIntroduction
    - shellWriteHistory
    - taos_set_conn_mode
    - taosThreadClear
    - taos_get_client_info
    - fflush
    - printf
    - shellSetConn
    - tsem_post
    - createConnect
    - tsem_init
    - taos_errno
    - taos_kill_query
    - tstrerror
    - TAOS_RETURN
    - taosStrdup
    - shellGetGrantInfo
    - shellCleanupHistory
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellExecute(int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/tools/shell/src/shellUtil.c:27,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:28,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:35,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:29,1
    - Dst: regexec
      Src: /src/tdengine/tools/shell/src/shellUtil.c:33,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:38,1
    - Dst: regerror
      Src: /src/tdengine/tools/shell/src/shellUtil.c:41,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:42,1
    - Dst: regfree
      Src: /src/tdengine/tools/shell/src/shellUtil.c:43,1
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - s
    - reg
    - cflags
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 48
    functionName: shellRegexMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - regcomp
    - fprintf
    - regfree
    - regerror
    - shellExit
    - regexec
    linkageType: ''
    returnType: bool
    signature: 'bool shellRegexMatch(const char *s, const char *reg, int32_t cflags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/tools/shell/src/shellUtil.c:74,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:75,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: shellGenerateAuth
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - taosEncryptPass_c
    - strlen
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellGenerateAuth() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/tools/shell/src/shellUtil.c:80,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:87,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellUtil.c:83,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:83,1
    - Dst: taosInitCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:82,1
    - Dst: taosGetCfg
      Src: /src/tdengine/tools/shell/src/shellUtil.c:87,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: shellDumpConfig
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - fflush
    - terrstr
    - fprintf
    - taosGetCfg
    - cfgDumpCfg
    - osDefaultInit
    - taosInitCfg
    linkageType: ''
    returnType: void
    signature: 'void shellDumpConfig() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:52,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:56,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: shellCheckIntSize
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellCheckIntSize() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: shellPrintVersion
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellPrintVersion() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_check_server_status
      Src: /src/tdengine/tools/shell/src/shellUtil.c:97,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:100,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:109,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:106,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:103,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:112,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellUtil.c:115,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellUtil.c:116,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellUtil.c:118,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellUtil.c:120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: shellCheckServerStatus
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - fflush
    - printf
    - strlen
    - taosMsleep
    - taos_check_server_status
    linkageType: ''
    returnType: void
    signature: 'void shellCheckServerStatus() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/shell/src/shellUtil.c:129,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellUtil.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: shellExit
    functionSourceFile: /src/tdengine/tools/shell/src/shellUtil.c
    functionUses: []
    functionsReached:
    - taos_close
    - taos_cleanup
    linkageType: ''
    returnType: void
    signature: 'void shellExit() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:38,1
    - Dst: rpcOpen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:36,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:52,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellNettest.c:38,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:62,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:71,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:81,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:49,1
    - Dst: strtok
      Src: /src/tdengine/tools/shell/src/shellNettest.c:50,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:54,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:68,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellNettest.c:58,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellNettest.c:71,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/tools/shell/src/shellNettest.c:78,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:74,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/tools/shell/src/shellNettest.c:26,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/tools/shell/src/shellNettest.c:35,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:26,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/tools/shell/src/shellNettest.c:66,1
    - Dst: rpcClose
      Src: /src/tdengine/tools/shell/src/shellNettest.c:86,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:89,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 91
    functionName: shellWorkAsClient
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: []
    functionsReached:
    - rpcOpen
    - rpcMallocCont
    - terrstr
    - strtok
    - printf
    - taosEncryptPass_c
    - strlen
    - tstrncpy
    - taosGetTimestampUs
    - rpcSendRecv
    - tstrerror
    - rpcClose
    - rpcFreeCont
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: 'static void shellWorkAsClient() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: osDefaultInit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:141,1
    - Dst: rpcInit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:142,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellNettest.c:144,1
    - Dst: shellWorkAsClient
      Src: /src/tdengine/tools/shell/src/shellNettest.c:145,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellNettest.c:148,1
    - Dst: shellWorkAsServer
      Src: /src/tdengine/tools/shell/src/shellNettest.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: shellTestNetWork
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: []
    functionsReached:
    - rpcInit
    - shellWorkAsClient
    - shellWorkAsServer
    - strcmp
    - osDefaultInit
    linkageType: ''
    returnType: void
    signature: 'void shellTestNetWork() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellExit
      Src: /src/tdengine/tools/shell/src/shellNettest.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: shellNettestHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: []
    functionsReached:
    - shellExit
    linkageType: ''
    returnType: void
    signature: 'void shellNettestHandler(int32_t signum, void *sigInfo, void *context) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/shell/src/shellNettest.c:119,1
    - Dst: rpcOpen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:130,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellNettest.c:119,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/tools/shell/src/shellNettest.c:128,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:132,1
    - Dst: terrstr
      Src: /src/tdengine/tools/shell/src/shellNettest.c:132,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:134,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellNettest.c:135,1
    - Dst: taosMsleep
      Src: /src/tdengine/tools/shell/src/shellNettest.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: shellWorkAsServer
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: []
    functionsReached:
    - rpcOpen
    - taosSetSignal
    - terrstr
    - printf
    - strlen
    - memcpy
    - taosMsleep
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: 'static void shellWorkAsServer() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellNettest.c:94,1
    - Dst: fflush
      Src: /src/tdengine/tools/shell/src/shellNettest.c:95,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/tools/shell/src/shellNettest.c:97,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/tools/shell/src/shellNettest.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - p
    - pRpc
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    functionName: shellProcessMsg
    functionSourceFile: /src/tdengine/tools/shell/src/shellNettest.c
    functionUses: []
    functionsReached:
    - fflush
    - rpcSendResponse
    - rpcMallocCont
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void shellProcessMsg(void *p, SRpcMsg *pRpc, SEpSet *pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:22,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:23,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:26,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:25,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:24,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:27,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:28,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:30,1
    - Dst: taos_write_crashinfo
      Src: /src/tdengine/tools/shell/src/shellMain.c:33,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellMain.c:36,1
    - Dst: exit
      Src: /src/tdengine/tools/shell/src/shellMain.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: shellCrashHandler
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: []
    functionsReached:
    - exit
    - taos_write_crashinfo
    - taosIgnSignal
    linkageType: ''
    returnType: void
    signature: 'void shellCrashHandler(int signum, void *sigInfo, void *context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pArgs
    argTypes:
    - SShellArgs*
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: initArgument
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initArgument(SShellArgs *pArgs) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:59,1
    - Dst: shellGenerateAuth
      Src: /src/tdengine/tools/shell/src/shellMain.c:81,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/shell/src/shellMain.c:124,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:61,1
    - Dst: shellPrintVersion
      Src: /src/tdengine/tools/shell/src/shellMain.c:76,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/shell/src/shellMain.c:100,1
    - Dst: getDsnEnv
      Src: /src/tdengine/tools/shell/src/shellMain.c:95,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellMain.c:108,1
    - Dst: shellTestNetWork
      Src: /src/tdengine/tools/shell/src/shellMain.c:91,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellMain.c:134,1
    - Dst: taos_cleanup
      Src: /src/tdengine/tools/shell/src/shellMain.c:140,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:62,1
    - Dst: shellCheckIntSize
      Src: /src/tdengine/tools/shell/src/shellMain.c:67,1
    - Dst: shellDumpConfig
      Src: /src/tdengine/tools/shell/src/shellMain.c:117,1
    - Dst: taos_options
      Src: /src/tdengine/tools/shell/src/shellMain.c:106,1
    - Dst: taos_init
      Src: /src/tdengine/tools/shell/src/shellMain.c:123,1
    - Dst: taos_set_hb_quit
      Src: /src/tdengine/tools/shell/src/shellMain.c:129,1
    - Dst: shellExecute
      Src: /src/tdengine/tools/shell/src/shellMain.c:146,1
    - Dst: taosSetSignal
      Src: /src/tdengine/tools/shell/src/shellMain.c:63,1
    - Dst: initArgument
      Src: /src/tdengine/tools/shell/src/shellMain.c:65,1
    - Dst: shellParseArgs
      Src: /src/tdengine/tools/shell/src/shellMain.c:71,1
    - Dst: shellPrintHelp
      Src: /src/tdengine/tools/shell/src/shellMain.c:86,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellMain.c:124,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/shell/src/shellMain.c:124,1
    - Dst: shellCheckServerStatus
      Src: /src/tdengine/tools/shell/src/shellMain.c:133,1
    - Dst: shellTestNetWork
      Src: /src/tdengine/tools/shell/src/shellMain.c:139,1
    - Dst: shellAutoInit
      Src: /src/tdengine/tools/shell/src/shellMain.c:145,1
    - Dst: shellAutoExit
      Src: /src/tdengine/tools/shell/src/shellMain.c:147,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/tdengine/tools/shell/src/shellMain.c
    functionUses: []
    functionsReached:
    - shellPrintVersion
    - taos_errstr
    - shellAutoInit
    - shellParseArgs
    - taosSetSignal
    - taos_set_hb_quit
    - shellTestNetWork
    - taos_cleanup
    - shellCheckServerStatus
    - shellPrintHelp
    - shellDumpConfig
    - initArgument
    - fprintf
    - shellCheckIntSize
    - taos_init
    - shellAutoExit
    - shellGenerateAuth
    - taos_errno
    - shellExecute
    - setConnMode
    - taos_options
    - getDsnEnv
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:129,1
    - Dst: insertToTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:136,1
    - Dst: insertToList
      Src: /src/tdengine/tools/shell/src/shellTire.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: insertWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strlen
    - insertToTree
    - insertToList
    linkageType: ''
    returnType: bool
    signature: 'bool insertWord(STire* tire, char* word) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:200,1
    - Dst: deleteFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:207,1
    - Dst: deleteFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    constantsTouched: []
    func_position:
      end: 214
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 214
    functionName: deleteWord
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strlen
    - deleteFromTree
    - deleteFromList
    linkageType: ''
    returnType: bool
    signature: 'bool deleteWord(STire* tire, char* word) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:236,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:245,1
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:252,1
    - Dst: strncpy
      Src: /src/tdengine/tools/shell/src/shellTire.c:246,1
    - Dst: tListLen
      Src: /src/tdengine/tools/shell/src/shellTire.c:245,1
    - Dst: enumAllWords
      Src: /src/tdengine/tools/shell/src/shellTire.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - nodes
    - prefix
    - match
    argTypes:
    - STireNode**
    - char*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 258
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 258
    functionName: enumAllWords
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strncpy
    - memset
    - strlen
    - addWordToMatch
    - enumAllWords
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void enumAllWords(STireNode** nodes, char* prefix, SMatch* match) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:218,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellTire.c:220,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - match
    - word
    argTypes:
    - SMatch*
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: addWordToMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosStrdup
    - memset
    linkageType: ''
    returnType: void
    signature: 'void addWordToMatch(SMatch* match, char* word) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:103,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:115,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - tire
    - word
    - len
    argTypes:
    - STire*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 125
    functionName: insertToTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: bool
    signature: 'bool insertToTree(STire* tire, char* word, int len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - tire
    - word
    - len
    argTypes:
    - STire*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 196
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 196
    functionName: deleteFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool deleteFromTree(STire* tire, char* word, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:359,1
    - Dst: matchPrefix
      Src: /src/tdengine/tools/shell/src/shellTire.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - tire
    - match
    argTypes:
    - STire*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 364
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 364
    functionName: enumFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - addWordToMatch
    - matchPrefix
    linkageType: ''
    returnType: void
    signature: 'void enumFromTree(STire* tire, SMatch* match) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellTire.c:149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    constantsTouched: []
    func_position:
      end: 158
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 158
    functionName: deleteFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool deleteFromList(STire* tire, char* word) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:279,1
    - Dst: enumAllWords
      Src: /src/tdengine/tools/shell/src/shellTire.c:301,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 308
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 308
    functionName: matchPrefixFromTree
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strlen
    - enumAllWords
    linkageType: ''
    returnType: void
    signature: 'void matchPrefixFromTree(STire* tire, char* prefix, SMatch* match) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - tire
    - match
    argTypes:
    - STire*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: enumFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - addWordToMatch
    linkageType: ''
    returnType: void
    signature: 'void enumFromList(STire* tire, SMatch* match) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeMatchNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:398,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - SMatchNode*
    constantsTouched: []
    func_position:
      end: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: freeMatchNode
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - freeMatchNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void freeMatchNode(SMatchNode* node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: matchPrefixFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:317,1
    - Dst: matchPrefixFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: matchPrefix
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - matchPrefixFromTree
    - matchPrefixFromList
    linkageType: ''
    returnType: void
    signature: 'void matchPrefix(STire* tire, char* prefix, SMatch* match) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeTireNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:39,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - STireNode*
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: freeTireNode
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeTireNode
    linkageType: ''
    returnType: void
    signature: 'void freeTireNode(STireNode* node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:368,1
    - Dst: freeMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:384,1
    - Dst: enumFromList
      Src: /src/tdengine/tools/shell/src/shellTire.c:376,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:369,1
    - Dst: enumFromTree
      Src: /src/tdengine/tools/shell/src/shellTire.c:373,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - tire
    argTypes:
    - STire*
    constantsTouched: []
    func_position:
      end: 389
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 389
    functionName: enumAll
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - enumFromTree
    - taosMemoryMalloc
    - enumFromList
    - memset
    - freeMatch
    linkageType: ''
    returnType: SMatch*
    signature: 'SMatch * enumAll(STire* tire) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeMatchNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:405,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - match
    argTypes:
    - SMatch*
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: freeMatch
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - freeMatchNode
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void freeMatch(SMatch* match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:24,1
    - Dst: memset
      Src: /src/tdengine/tools/shell/src/shellTire.c:25,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: createTire
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: STire*
    signature: 'STire * createTire(char type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellTire.c:76,1
    - Dst: taosStrdup
      Src: /src/tdengine/tools/shell/src/shellTire.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - tire
    - word
    argTypes:
    - STire*
    - char*
    constantsTouched: []
    func_position:
      end: 89
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 89
    functionName: insertToList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosStrdup
    linkageType: ''
    returnType: bool
    signature: 'bool insertToList(STire* tire, char* word) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeTireNode
      Src: /src/tdengine/tools/shell/src/shellTire.c:52,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:63,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:54,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/tools/shell/src/shellTire.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - tire
    argTypes:
    - STire*
    constantsTouched: []
    func_position:
      end: 72
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 72
    functionName: freeTire
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeTireNode
    linkageType: ''
    returnType: void
    signature: 'void freeTire(STire* tire) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellTire.c:263,1
    - Dst: addWordToMatch
      Src: /src/tdengine/tools/shell/src/shellTire.c:267,1
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellTire.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - tire
    - prefix
    - match
    argTypes:
    - STire*
    - char*
    - SMatch*
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: matchPrefixFromList
    functionSourceFile: /src/tdengine/tools/shell/src/shellTire.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - addWordToMatch
    linkageType: ''
    returnType: void
    signature: 'void matchPrefixFromList(STire* tire, char* prefix, SMatch* match) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:83,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:85,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:84,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:60,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:62,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:67,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:71,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:69,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:78,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:80,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:82,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:91,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:81,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:59,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:61,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:66,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:68,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:70,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:73,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:77,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: shellPrintHelp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void shellPrintHelp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int32_t
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: shellParseOpt
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - shellParseSingleOpt
    linkageType: ''
    returnType: error_t
    signature: 'static error_t shellParseOpt(int32_t key, char *arg, struct argp_state
      *state) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:351,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:356,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:361,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:379,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:401,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:407,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:412,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:351,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:357,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:362,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:366,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:374,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:373,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:427,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:352,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:366,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:401,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:406,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:422,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:417,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:356,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:361,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:384,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:380,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:367,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:383,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:379,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:396,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:397,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:402,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 432
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 432
    functionName: shellCheckArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - taosExpandDir
    - strcmp
    - tstrncpy
    - printf
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t shellCheckArgs() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:492,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:500,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:508,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:502,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:501,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:509,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 519
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 519
    functionName: getDsnEnv
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - strlen
    - fprintf
    - getenv
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDsnEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/shell/src/shellArguments.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: shellParseArgsUseArgp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t shellParseArgsUseArgp(int argc, char *argv[]) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:162,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:217,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:208,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:214,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:196,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:221,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:222,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/tools/shell/src/shellArguments.c:225,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:227,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:227,1
    - Dst: taosExpandDir
      Src: /src/tdengine/tools/shell/src/shellArguments.c:230,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/shell/src/shellArguments.c:244,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:231,1
    - Dst: tstrerror
      Src: /src/tdengine/tools/shell/src/shellArguments.c:231,1
    - Dst: atoi
      Src: /src/tdengine/tools/shell/src/shellArguments.c:241,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 52
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 259
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 259
    functionName: shellParseSingleOpt
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - getConnMode
    - taosMemoryMalloc
    - taosExpandDir
    - printf
    - tstrncpy
    - strlen
    - tstrerror
    - atoi
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t shellParseSingleOpt(int32_t key, char *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:316,1
    - Dst: scanf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:321,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:319,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:318,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:320,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:322,1
    - Dst: taosSetConsoleEcho
      Src: /src/tdengine/tools/shell/src/shellArguments.c:324,1
    - Dst: getchar
      Src: /src/tdengine/tools/shell/src/shellArguments.c:325,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:326,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:329,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:330,1
    - Dst: printf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:332,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:336,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 347
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 347
    functionName: shellInitArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - taosSetConsoleEcho
    - strncmp
    - fprintf
    - strcpy
    - getchar
    - printf
    - tstrncpy
    - strlen
    - scanf
    linkageType: ''
    returnType: void
    signature: 'static void shellInitArgs(int argc, char *argv[]) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shellInitArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:435,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:446,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:466,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:474,1
    - Dst: getenv
      Src: /src/tdengine/tools/shell/src/shellArguments.c:479,1
    - Dst: shellParseArgsUseArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:480,1
    - Dst: shellCheckArgs
      Src: /src/tdengine/tools/shell/src/shellArguments.c:486,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:447,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:447,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:449,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:450,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:450,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:455,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:479,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:440,1
    - Dst: sprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:452,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:459,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:471,1
    - Dst: strcpy
      Src: /src/tdengine/tools/shell/src/shellArguments.c:442,1
    - Dst: snprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:470,1
    - Dst: getuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:470,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:453,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:467,1
    - Dst: getpwuid
      Src: /src/tdengine/tools/shell/src/shellArguments.c:470,1
    - Dst: shellParseArgsWithoutArgp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:476,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 487
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 487
    functionName: shellParseArgs
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - shellParseArgsUseArgp
    - snprintf
    - getpwuid
    - sprintf
    - shellParseArgsWithoutArgp
    - strcpy
    - shellInitArgs
    - getenv
    - strlen
    - shellCheckArgs
    - getuid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellParseArgs(int32_t argc, char *argv[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:267,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:269,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:267,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:268,1
    - Dst: strcmp
      Src: /src/tdengine/tools/shell/src/shellArguments.c:268,1
    - Dst: strlen
      Src: /src/tdengine/tools/shell/src/shellArguments.c:273,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:275,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:279,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:287,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:292,1
    - Dst: fprintf
      Src: /src/tdengine/tools/shell/src/shellArguments.c:301,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:295,1
    - Dst: shellParseSingleOpt
      Src: /src/tdengine/tools/shell/src/shellArguments.c:299,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 93
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 311
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 311
    functionName: shellParseArgsWithoutArgp
    functionSourceFile: /src/tdengine/tools/shell/src/shellArguments.c
    functionUses: []
    functionsReached:
    - strlen
    - shellParseSingleOpt
    - fprintf
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t shellParseArgsWithoutArgp(int argc, char *argv[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1919,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1926,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - recordSchema
    argTypes:
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1928
    functionName: freeRecordSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - freeTbDes
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeRecordSchema(RecordSchema *recordSchema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3545,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3549,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3554,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3548,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3550,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3555,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3556,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3562,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3563,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3567,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3568,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3571,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3578
      start: 3541
    functionDepth: 0
    functionLinenumber: 3541
    functionLinenumberEnd: 3578
    functionName: dumpInAvroTagInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - verbosePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagInt(FieldStruct *field, avro_value_t *value,
      char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3621,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3627,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3622,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3623,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3624,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3628,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3629,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3634,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3636,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3637,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3640,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3641,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3645
      start: 3617
    functionDepth: 0
    functionLinenumber: 3617
    functionLinenumberEnd: 3645
    functionName: dumpInAvroTagFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - avro_value_get_float
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagFloat(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6388,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6408,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6419,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6404,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6395,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6431,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6432,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6439,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6442,1
    - Dst: generateSubDirName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6448,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6463,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6452,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6457,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 6
    argNames:
    - avroType
    - fileName
    - dbInfo
    - stable
    - tbName
    - index
    argTypes:
    - enAVROTYPE
    - char*
    - SDbInfo*
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 6476
      start: 6382
    functionDepth: 0
    functionLinenumber: 6382
    functionLinenumberEnd: 6476
    functionName: generateFilename
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - generateSubDirName
    - snprintf
    - getUniqueIDFromEpoch
    - bkdrHash
    linkageType: ''
    returnType: int
    signature: 'static int generateFilename(enAVROTYPE avroType, char *fileName, const
      SDbInfo *dbInfo, const char * stable, const char *tbName, const int64_t index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mbtowc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8168,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8177,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8171,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8170,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 8186
      start: 8162
    functionDepth: 0
    functionLinenumber: 8162
    functionLinenumberEnd: 8186
    functionName: convertNCharToReadable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - stpcpy
    - mbtowc
    - memcpy
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int convertNCharToReadable(char *str, int size, char *buf,
      int bufsize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8281,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8282,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8296,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8298,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8299,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8307,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8311,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8314,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8315,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8320,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8252,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8256,1
    - Dst: taos_get_server_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8257,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8283,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8286,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8290,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8287,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8300,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8303,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8304,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8267,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8269,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8292,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8309,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8326,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8322,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8259,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8279,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8281,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8294,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8298,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8309,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8310,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8320,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8321,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8325,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    constantsTouched: []
    func_position:
      end: 8330
      start: 8249
    functionDepth: 0
    functionLinenumber: 8249
    functionLinenumberEnd: 8330
    functionName: dumpExtraInfoHead
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - fwrite
    - snprintf
    - taos_get_server_info
    - strchr
    - fseek
    - strlen
    - strerror
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int dumpExtraInfoHead(void *taos, FILE *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3584,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3586,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3587,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3588,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3592,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3593,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3594,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3600,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3601,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3605,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3610,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3609,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3615
      start: 3580
    functionDepth: 0
    functionLinenumber: 3580
    functionLinenumberEnd: 3615
    functionName: dumpInAvroTagBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - verbosePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagBigInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3651,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3653,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3654,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3655,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3658,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3659,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3660,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3664,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3666,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3667,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3670,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3669,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3674
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3674
    functionName: dumpInAvroTagDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - avro_value_get_double
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagDouble(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5969,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5973,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5986,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5992,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6008,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6012,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6003,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6015,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5948,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5970,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5972,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5990,1
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5945,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5965,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5997,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5994,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5944,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6004,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6007,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5998,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6013,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - dbPath
    - typeExt
    - pDbChange
    argTypes:
    - char*
    - char*
    - DBChange*
    constantsTouched: []
    func_position:
      end: 6018
      start: 5943
    functionDepth: 0
    functionLinenumber: 5943
    functionLinenumberEnd: 6018
    functionName: dumpInAvroWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - exit
    - debugPrint
    - getFilesNum
    - pthread_create
    - TOOLS_STRNCPY
    - free
    - calloc
    - strerror
    - verbosePrint
    - infoPrint
    - freeFileList
    - createDumpinList
    - errorPrint
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int dumpInAvroWorkThreads(const char* dbPath, const char *typeExt,
      DBChange *pDbChange) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8198,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8207,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8210,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8225,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8237,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8240,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8241,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8233,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8200,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8208,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8210,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8230,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8230,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8234,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8235,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8246,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8235,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8229,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8190,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8192,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8202,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8204,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8205,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8207,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8211,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8220,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8226,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8229,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8195,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8209,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8216,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8212,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8219,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8215,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8231,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8236,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8245,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - taos
    - fp
    argTypes:
    - void*
    - FILE*
    constantsTouched: []
    func_position:
      end: 8247
      start: 8188
    functionDepth: 0
    functionLinenumber: 8188
    functionLinenumberEnd: 8247
    functionName: dumpExtraInfoVar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - min
    - strcpy
    - taosQuery
    - taos_errstr
    - free
    - strerror
    - taos_fetch_lengths
    - strncpy
    - debugPrint
    - fprintf
    - calloc
    - taos_free_result
    - errorPrint
    - fwrite
    - snprintf
    - taos_errno
    - taos_fetch_row
    - strcmp
    - warnPrint
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void dumpExtraInfoVar(void *taos, FILE *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dumpExtraInfoHead
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8335,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8343,1
    - Dst: dumpExtraInfoVar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - taos_v
    - fp
    argTypes:
    - void**
    - FILE*
    constantsTouched: []
    func_position:
      end: 8346
      start: 8332
    functionDepth: 0
    functionLinenumber: 8332
    functionLinenumberEnd: 8346
    functionName: dumpExtraInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpExtraInfoHead
    - dumpExtraInfoVar
    - ferror
    linkageType: ''
    returnType: int
    signature: 'static int dumpExtraInfo(void **taos_v, FILE *fp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3807,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3821,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3843,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3848,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3859,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3803,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3814,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3808,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3823,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3827,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3856,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3850,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3860,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3816,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3855,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3832,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3834,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3865,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3867,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3806,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3828,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3841,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3871
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3871
    functionName: dumpInAvroTagUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagUnsignedTinyInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:897,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:903,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:907,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - precision
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 912
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 912
    functionName: getPrecisionByString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - errorPrint
    - strncasecmp
    linkageType: ''
    returnType: int
    signature: 'static int getPrecisionByString(char *precision) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1080,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1085,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1089,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1087,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1081,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1090,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1094,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1097,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1101
    functionName: inDatabasesSeq
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strstr
    - free
    - strcmp
    - strsep
    - tfree
    - strdup
    linkageType: ''
    returnType: int
    signature: 'int inDatabasesSeq(const char *dbName) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1477,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1481,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1497,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1505,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1533,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1517,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1545,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1546,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1556,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1615,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1662,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1493,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1522,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1530,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1526,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1523,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1547,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1563,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1588,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1597,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1604,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1630,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1675,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1649,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1489,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1537,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1519,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1538,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1552,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1553,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1560,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1578,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1581,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1584,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1634,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1637,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1652,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1666,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1656,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1607,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1659,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1485,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1501,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1509,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1515,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1516,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1549,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1567,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1569,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1574,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1592,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1641,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1679,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1611,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 126
    argCount: 4
    argNames:
    - index
    - tableDes
    - value
    - len
    argTypes:
    - int
    - TableDes*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1684
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1684
    functionName: processFieldsValueV2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncpy
    - GET_FLOAT_VAL
    - convertStringToReadable
    - free
    - memset
    - calloc
    - strlen
    - GET_DOUBLE_VAL
    - verbosePrint
    - errorPrint
    - convertNCharToReadable
    linkageType: ''
    returnType: int
    signature: 'int processFieldsValueV2( int index, TableDes *tableDes, const void
      *value, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2098,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2106,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2108,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2100,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2105,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2115,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2117,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2118,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2118,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2120,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2122,1
    - Dst: readJsonFields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 2129
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2129
    functionName: parse_json_to_recordschema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - readJsonFields
    - json_typeof
    - free
    - strcmp
    - tstrncpy
    - calloc
    - json_object_foreach
    - json_string_value
    - errorPrint
    linkageType: ''
    returnType: RecordSchema*
    signature: 'static RecordSchema *parse_json_to_recordschema(json_t *element) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7775,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7782,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - res
    - idx
    - col
    - len
    - data
    argTypes:
    - void*
    - int32_t
    - int32_t
    - uint32_t*
    - char**
    constantsTouched: []
    func_position:
      end: 7792
      start: 7772
    functionDepth: 0
    functionLinenumber: 7772
    functionLinenumberEnd: 7792
    functionName: readRow
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_fetch_lengths
    - taos_fetch_row
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readRow(void *res, int32_t idx, int32_t col, uint32_t *len,
      char **data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10079,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10087,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10126,1
    - Dst: dumpOut
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10141,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10149,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10169,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10082,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10097,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10135,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10151,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10168,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10092,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10093,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10117,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10129,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10114,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10115,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10145,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10153,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10158,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10160,1
    - Dst: checkParam
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10078,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10085,1
    - Dst: toolsGetNumberOfCores
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10089,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10091,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10123,1
    - Dst: dumpIn
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10147,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10159,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10164,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10176
      start: 10075
    functionDepth: 0
    functionLinenumber: 10075
    functionLinenumberEnd: 10176
    functionName: dumpEntry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - dumpIn
    - dumpOut
    - fclose
    - fprintf
    - free
    - localtime
    - printArgs
    - printf
    - time
    - okPrint
    - errorPrint
    - toolsGetNumberOfCores
    - taos_options
    - checkParam
    linkageType: ''
    returnType: int
    signature: 'static int dumpEntry() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1107,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1116,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1108,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1110,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1118,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1123,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - res
    argTypes:
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1136
    functionName: getDbCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - isSystemDatabase
    - strncpy
    - taos_fetch_row
    - inDatabasesSeq
    - strcmp
    - taos_fetch_lengths
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getDbCountNative(TAOS_RES *res) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1184,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1197,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1201,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1186,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1212,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1222,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1225,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1229,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1237,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1240,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1257,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1258,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1255,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1244,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 5
    argNames:
    - dbName
    - stable
    - tableDes
    - numColsAndTags
    - fp
    argTypes:
    - char*
    - char*
    - TableDes*
    - int
    - FILE*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1261
    functionName: dumpCreateMTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - snprintf
    - sprintf
    - fprintf
    - free
    - replaceCopy
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int dumpCreateMTableClause( const char* dbName, const char
      *stable, TableDes *tableDes, int numColsAndTags, FILE *fp ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1691,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - stbTableDes
    - table
    - ppTableDes
    argTypes:
    - TableDes*
    - char*
    - TableDes**
    constantsTouched: []
    func_position:
      end: 1699
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1699
    functionName: constructTableDesFromStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - memcpy
    - TOOLS_STRNCPY
    linkageType: ''
    returnType: void
    signature: 'void constructTableDesFromStb(const TableDes *stbTableDes, const char
      *table, TableDes **ppTableDes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2146,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2153,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2165,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2169,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2168,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2174,1
    - Dst: avro_schema_from_json_length
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2138,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2142,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2150,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2159,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2170,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2137,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2139,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2141,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2155,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2161,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2138,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2145,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2156,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 5
    argNames:
    - avroFilename
    - jsonSchema
    - schema
    - recordSchema
    - writer
    argTypes:
    - char*
    - char*
    - avro_schema_t*
    - RecordSchema**
    - avro_file_writer_t*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2177
    functionName: prepareAvroWface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - exit
    - json_decref
    - avro_strerror
    - print_json
    - strlen
    - parse_json_to_recordschema
    - avro_schema_from_json_length
    - avro_file_writer_create_with_codec
    - avro_generic_class_from_schema
    - verbosePrint
    - errorPrint
    - load_json
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t * prepareAvroWface( const char *avroFilename, char
      *jsonSchema, avro_schema_t *schema, RecordSchema **recordSchema, avro_file_writer_t
      *writer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3878,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3896,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3899,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3906,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3904,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3926,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3914,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3936,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3938,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3888,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3882,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3880,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3900,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3919,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3930,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3881,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3889,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3894,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3913,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3927,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3921,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3931,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3942
      start: 3873
    functionDepth: 0
    functionLinenumber: 3873
    functionLinenumberEnd: 3942
    functionName: dumpInAvroTagUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagUnsignedSmallInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6077,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6107,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6137,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6139,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6141,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6121,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6131,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6120,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6148,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6160,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6082,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6103,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6146,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6152,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6154,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6090,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6098,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6115,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6125,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6124,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6086,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6094,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6133,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6156,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 5
    argNames:
    - pstr
    - curr_sqlstr_len
    - type
    - value
    - len
    argTypes:
    - char*
    - int
    - uint8_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 6167
      start: 6070
    functionDepth: 0
    functionLinenumber: 6070
    functionLinenumberEnd: 6167
    functionName: processResultValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - sprintf
    - GET_FLOAT_VAL
    - convertStringToReadable
    - free
    - calloc
    - GET_DOUBLE_VAL
    - errorPrint
    - convertNCharToReadable
    linkageType: ''
    returnType: int
    signature: 'int processResultValue( char *pstr, const int curr_sqlstr_len, const
      uint8_t type, const void *value, uint32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8809,1
    - Dst: createDbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8817,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8821,1
    - Dst: dumpInDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8811,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8812,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8824,1
    - Dst: dumpInAvroWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8828,1
    - Dst: dumpInAvroWorkThreadsSub
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8830,1
    - Dst: dumpInDebugWorkThreads
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8834,1
    - Dst: freeDBChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8839,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8843
      start: 8805
    functionDepth: 0
    functionLinenumber: 8805
    functionLinenumberEnd: 8843
    functionName: dumpInWithDbPath
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - freeDBChange
    - dumpInDbs
    - dumpInAvroWorkThreadsSub
    - dumpInDebugWorkThreads
    - dumpInAvroWorkThreads
    - createDbChange
    - infoPrint
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int dumpInWithDbPath(const char *dbPath) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8906,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8938,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8924,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8943,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pThreadInfo
    - fp
    - dumpFilename
    argTypes:
    - threadInfo*
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 8948
      start: 8899
    functionDepth: 0
    functionLinenumber: 8899
    functionLinenumberEnd: 8948
    functionName: dumpTablesOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_64
    - dumpTable
    - debugPrint
    linkageType: ''
    returnType: void
    signature: 'static void dumpTablesOfStbNative( threadInfo *pThreadInfo, FILE *fp,
      char *dumpFilename) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1144,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1155,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1150,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1156,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1146,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1159,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1161,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1162,1
    - Dst: getDbCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1166,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1167,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1170,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1168,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1172
    functionName: getDumpDbCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - getDbCountNative
    - snprintf
    - free
    - calloc
    - taos_close
    - taosQuery
    - taos_free_result
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'static int getDumpDbCount() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2318,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2327,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2322,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2324,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - taos_v
    - dbInfo
    - stbName
    - pStbTableDes
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - char*
    - TableDes**
    - FILE*
    constantsTouched: []
    func_position:
      end: 2328
      start: 2309
    functionDepth: 0
    functionLinenumber: 2309
    functionLinenumberEnd: 2328
    functionName: dumpStableClasuse
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - errorPrint
    - exit
    - getTableDes
    - dumpCreateTableClause
    linkageType: ''
    returnType: int
    signature: 'static int dumpStableClasuse( void **taos_v, SDbInfo *dbInfo, const
      char *stbName, TableDes **pStbTableDes, FILE *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3470,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3479,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3473,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3474,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3475,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3480,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3481,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3486,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3488,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3493,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3498,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3494,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3503
      start: 3466
    functionDepth: 0
    functionLinenumber: 3466
    functionLinenumberEnd: 3503
    functionName: dumpInAvroTagTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - verbosePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagTinyInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7824,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7828,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7835,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7845,1
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7855,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7903,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7906,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7917,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7918,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7921,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7815,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7822,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7811,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7839,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7866,1
    - Dst: readNextTableDesNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7870,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7869,1
    - Dst: writeTagsToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7884,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7896,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7912,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7916,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7805,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7842,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7850,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7881,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7905,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7920,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7827,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7862,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7873,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7867,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7890,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7907,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7919,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 5
    argNames:
    - taos_v
    - dbInfo
    - stbDes
    - tbNameArr
    - tbCount
    argTypes:
    - void**
    - SDbInfo*
    - TableDes*
    - char**
    - int64_t
    constantsTouched: []
    func_position:
      end: 7924
      start: 7796
    functionDepth: 0
    functionLinenumber: 7796
    functionLinenumberEnd: 7924
    functionName: dumpStableMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - convertTbTagsDesToJsonLoose
    - openQuery
    - writeFile
    - tfree
    - strdup
    - strcat
    - readNextTableDesNative
    - prepareAvroWface
    - freeRecordSchema
    - free
    - memcpy
    - debugPrint
    - avro_schema_decref
    - tableDesToJson
    - avro_file_writer_close
    - closeQuery
    - memset
    - calloc
    - okPrint
    - convertTbTagsDesToJson
    - generateFilename
    - infoPrint
    - errorPrint
    - snprintf
    - freeTbDes
    - writeTagsToAvro
    - avro_value_iface_decref
    linkageType: ''
    returnType: int
    signature: 'static int dumpStableMeta( void **taos_v, const SDbInfo *dbInfo, TableDes
      *stbDes, char **tbNameArr, int64_t tbCount) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:750,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:753,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:754,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:760,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:773,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:763,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:768,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:767,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:769,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:772,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:815,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:810,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:799,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:791,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:776,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:797,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:812,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:752,1
    - Dst: setConsoleEcho
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:755,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:765,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:785,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:792,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:794,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:796,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:821,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:823,1
    - Dst: errorPrintReqArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:802,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:820,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:821,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:811,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:800,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:820,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:810,1
    - Dst: scanf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:756,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:757,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:762,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:777,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:779,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:781,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:782,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:784,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:787,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:790,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:809,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:803,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:807,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:771,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:806,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:775,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:796,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:751,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:788,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:822,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:814,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:812,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 134
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*
    - SArguments*
    constantsTouched: []
    func_position:
      end: 828
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 828
    functionName: parse_args
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - errorPrintReqArg
    - exit
    - setConsoleEcho
    - strncmp
    - strcpy
    - strcmp
    - printf
    - strlen
    - printVersion
    - scanf
    - errorPrint
    - errorPrintReqArg3
    linkageType: ''
    returnType: void
    signature: 'static void parse_args( int argc, char *argv[], SArguments *arguments) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2345,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2358,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2363,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2402,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2383,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2353,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2362,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2378,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2392,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2401,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2397,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2368,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2428,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2432,1
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2335,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2338,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2348,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2373,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2405,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2424,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2434,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2346,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2347,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2388,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2420,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2433,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 4
    argNames:
    - taos_v
    - dbInfo
    - isDumpProperty
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - bool
    - FILE*
    constantsTouched: []
    func_position:
      end: 2435
      start: 2330
    functionDepth: 0
    functionLinenumber: 2330
    functionLinenumberEnd: 2435
    functionName: dumpCreateDbClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpExtraInfo
    - debugPrint
    - sprintf
    - fprintf
    - strcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void dumpCreateDbClause( void **taos_v, SDbInfo *dbInfo, bool
      isDumpProperty, FILE *fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3509,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3517,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3513,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3511,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3512,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3518,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3519,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3524,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3525,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3529,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3530,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3533,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3539
      start: 3505
    functionDepth: 0
    functionLinenumber: 3505
    functionLinenumberEnd: 3539
    functionName: dumpInAvroTagSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - verbosePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagSmallInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7938,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7952,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7942,1
    - Dst: createMTableAvroHeadSpecified
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7945,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7957,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7961,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7964,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7966,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7971,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7972,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7974,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7995,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7991,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7978,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7986,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - index
    - taos_v
    - dbInfo
    - stbName
    - stbTableDes
    - childName
    argTypes:
    - int64_t
    - TAOS**
    - SDbInfo*
    - char*
    - TableDes*
    - char*
    constantsTouched: []
    func_position:
      end: 8000
      start: 7926
    functionDepth: 0
    functionLinenumber: 7926
    functionLinenumberEnd: 8000
    functionName: dumpTableBelongStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint
    - fclose
    - createMTableAvroHeadSpecified
    - dumpTable
    - getPrecisionByString
    - strlen
    - strerror
    - atomic_add_fetch_64
    - fopen
    - generateFilename
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpTableBelongStb( int64_t index, TAOS **taos_v, SDbInfo
      *dbInfo, char *stbName, const TableDes *stbTableDes, char *childName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2440,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2451,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2448,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2449,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2441,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2452,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2456,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - fptr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2458
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2458
    functionName: openDumpInFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - wordfree
    - strlen
    - strerror
    - fopen
    - wordexp
    - errorPrint
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE * openDumpInFile(char *fptr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3952,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3962,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3970,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3977,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4018,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4020,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3949,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3966,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3991,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3996,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4012,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3968,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3976,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3981,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3998,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4000,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3983,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3992,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4009,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4013,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3953,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3960,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3951,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4008,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4024
      start: 3944
    functionDepth: 0
    functionLinenumber: 3944
    functionLinenumberEnd: 4024
    functionName: dumpInAvroTagUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - sprintf
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagUnsignedInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6177,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6191,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6179,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6190,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6189,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6195,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6196,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6202,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6205,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6210,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6221,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6245,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6228,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6244,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6225,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6242,1
    - Dst: processResultValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6213,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 4
    argNames:
    - res
    - fp
    - dbName
    - tbName
    argTypes:
    - TAOS_RES*
    - FILE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6248
      start: 6169
    functionDepth: 0
    functionLinenumber: 6169
    functionLinenumberEnd: 6248
    functionName: writeResultDebugNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - taos_field_count
    - debugPrint
    - taos_fetch_row
    - sprintf
    - fprintf
    - free
    - calloc
    - taos_fetch_lengths
    - infoPrint
    - taos_fetch_fields
    - processResultValue
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t writeResultDebugNative( TAOS_RES *res, FILE *fp, const
      char *dbName, const char *tbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6492,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6497,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6498,1
    - Dst: dumpTableDataAvroTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 7
    argNames:
    - index
    - stable
    - belongStb
    - dbInfo
    - precision
    - colCount
    - tableDes
    argTypes:
    - int64_t
    - char*
    - bool
    - SDbInfo*
    - int
    - int
    - TableDes*
    constantsTouched: []
    func_position:
      end: 6507
      start: 6481
    functionDepth: 0
    functionLinenumber: 6481
    functionLinenumberEnd: 6507
    functionName: dumpTableDataAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - getEndTime
    - dumpTableDataAvroTsRange
    - getStartTime
    - generateFilename
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpTableDataAvro( const int64_t index, const char
      *stable, const bool belongStb, const SDbInfo *dbInfo, const int precision, const
      int colCount, TableDes *tableDes ) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6865,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6895,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6919,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6988,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6979,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7057,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7130,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7153,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6934,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6992,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7025,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6837,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6840,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6855,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6878,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7002,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7071,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7094,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6812,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6867,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6936,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6967,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6983,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7030,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7073,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7096,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7119,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7129,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7107,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7128,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6951,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6863,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6887,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6900,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7044,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7084,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7150,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6828,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7155,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6971,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6833,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6893,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6904,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6962,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7059,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7154,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7166,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7149,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7144,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7172,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6937,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6948,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6906,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7042,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7151,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6999,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6985,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6952,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7022,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6805,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6810,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6842,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6921,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7033,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7046,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7080,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7102,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6799,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6849,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6991,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6972,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6918,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7056,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7078,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7083,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7101,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7106,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7124,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7007,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6826,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6845,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6884,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6933,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7026,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7070,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7093,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7116,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7139,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7140,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7167,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7120,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6982,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6907,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6938,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6945,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7028,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7161,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7171,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6987,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6968,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7003,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6953,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6888,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6922,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6959,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7034,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7060,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7079,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7117,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6800,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6820,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6823,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6877,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6890,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7005,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7041,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6891,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6903,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6963,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7103,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7125,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7126,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7142,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6949,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6817,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6908,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6915,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6965,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7053,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7074,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7082,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7097,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7105,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7011,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6930,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6923,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7036,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7061,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7067,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7090,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7113,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7136,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7169,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 275
    argCount: 7
    argNames:
    - taos_v
    - dbName
    - stable
    - stbTableDes
    - tbName
    - writer
    - wface
    argTypes:
    - void**
    - char*
    - char*
    - TableDes*
    - char*
    - avro_file_writer_t
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 7175
      start: 6791
    functionDepth: 0
    functionLinenumber: 6791
    functionLinenumberEnd: 7175
    functionName: createMTableAvroHeadImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - avro_value_set_double
    - atof
    - avro_value_set_string
    - avro_value_set_bytes
    - avro_file_writer_append_value
    - avro_value_set_branch
    - malloc
    - strtoull
    - free
    - avro_value_append
    - avro_generic_value_new
    - atoi
    - memcpy
    - getTableDesFromStbNative
    - avro_value_set_boolean
    - debugPrint
    - avro_value_set_long
    - strncmp
    - avro_value_set_int
    - atoll
    - avro_value_get_by_name
    - memset
    - calloc
    - avro_value_set_null
    - replaceCopy
    - errorPrint
    - snprintf
    - avro_strerror
    - freeTbDes
    - avro_value_decref
    - strlen
    - avro_value_set_float
    - verbosePrint
    linkageType: ''
    returnType: int
    signature: 'static int createMTableAvroHeadImp( void **taos_v, const char *dbName,
      const char *stable, const TableDes *stbTableDes, const char *tbName, avro_file_writer_t
      writer, avro_value_iface_t *wface) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1945,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1951,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1960,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1976,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1961,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1978,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1982,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2017,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2033,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2034,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2064,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2070,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2049,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2025,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2042,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2075,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1936,1
    - Dst: ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1946,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1956,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1957,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1958,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1974,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1965,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1985,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2000,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2012,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2037,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2032,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2048,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1938,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1955,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1995,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1996,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2059,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2060,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2053,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2065,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2086,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2036,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2018,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2051,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1940,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1942,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1967,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1972,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1965,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1989,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1993,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2005,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2008,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2015,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2071,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2073,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 139
    argCount: 2
    argNames:
    - value
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 2092
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 2092
    functionName: readJsonFields
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_plural
    - json_string_value
    - typeStrToType
    - json_array_size
    - strcmp
    - tstrncpy
    - calloc
    - errorPrint
    - json_object_foreach
    - verbosePrint
    - json_typeof
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readJsonFields( json_t *value, RecordSchema *recordSchema) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2467,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2473,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2469,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2474,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2471,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2475,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2478,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2480,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2484,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2489,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - dbPath
    - ext
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2460
    functionDepth: 0
    functionLinenumber: 2460
    functionLinenumberEnd: 2494
    functionName: getFilesNum
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint
    - toolsGetDirEntryName
    - strcmp
    - strlen
    - toolsReadDir
    - verbosePrint
    - toolsOpenDir
    - toolsCloseDir
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getFilesNum(const char *dbPath, const char *ext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4033,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4047,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4058,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4072,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4088,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4077,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4049,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4051,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4063,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4079,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4073,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4081,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4064,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4092,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4093,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4031,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4042,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4035,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4034,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4043,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4059,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4089,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4098,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4104
      start: 4026
    functionDepth: 0
    functionLinenumber: 4026
    functionLinenumberEnd: 4104
    functionName: dumpInAvroTagUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - sprintf
    - avro_value_get_null
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagUnsignedBigInt(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6257,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6275,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6259,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6263,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - taos
    - dbName
    - tbName
    - precision
    - start_time
    - end_time
    argTypes:
    - TAOS*
    - char*
    - char*
    - int
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 6280
      start: 6251
    functionDepth: 0
    functionLinenumber: 6251
    functionLinenumberEnd: 6280
    functionName: queryDbForDumpOutNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - free
    - calloc
    - taosQuery
    - errorPrint
    linkageType: ''
    returnType: TAOS_RES*
    signature: 'TAOS_RES *queryDbForDumpOutNative(TAOS *taos, const char *dbName,
      const char *tbName, const int precision, const int64_t start_time, const int64_t
      end_time) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7213,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7236,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7241,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7183,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7184,1
    - Dst: convertTbTagsDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7200,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7209,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7232,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7234,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7243,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7187,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7190,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7205,1
    - Dst: createMTableAvroHeadImp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7224,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7233,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7219,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7239,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7231,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7242,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7247,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7195,1
    - Dst: convertTbTagsDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7202,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7208,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - taos_v
    - dumpFilename
    - dbName
    - stable
    - specifiedTb
    argTypes:
    - void**
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 7250
      start: 7177
    functionDepth: 0
    functionLinenumber: 7177
    functionLinenumberEnd: 7250
    functionName: createMTableAvroHeadSpecified
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - convertTbTagsDesToJsonLoose
    - writeFile
    - tfree
    - strcat
    - freeRecordSchema
    - prepareAvroWface
    - free
    - getTableDes
    - debugPrint
    - avro_schema_decref
    - avro_file_writer_close
    - tableDesToJson
    - calloc
    - convertTbTagsDesToJson
    - errorPrint
    - freeTbDes
    - createMTableAvroHeadImp
    - avro_value_iface_decref
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int createMTableAvroHeadSpecified( void **taos_v, char *dumpFilename,
      const char *dbName, const char *stable, const char *specifiedTb) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:568,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:588,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:590,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:592,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:649,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:650,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:706,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:729,1
    - Dst: errorWrongValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:574,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:569,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:583,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:593,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:619,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:603,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:630,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:641,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:646,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:688,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:725,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:730,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:567,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:572,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:575,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:613,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:642,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:647,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:681,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:689,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:692,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:715,1
    - Dst: setRenameDbs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:722,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:705,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:582,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:609,1
    - Dst: errorPrintReqArg3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:612,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:604,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:610,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:632,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:643,1
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:645,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:690,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:695,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:733,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:726,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 112
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 740
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 740
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - wordfree
    - exit
    - getConnMode
    - snprintf
    - setRenameDbs
    - toolsIsStringNumber
    - strcmp
    - warnPrint
    - printf
    - errorWrongValue
    - strlen
    - TOOLS_STRNCPY
    - atoi
    - wordexp
    - errorPrintReqArg2
    - errorPrint
    - errorPrintReqArg3
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parse_opt(int key, char *arg, struct argp_state *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7728
      start: 7724
    functionDepth: 0
    functionLinenumber: 7724
    functionLinenumberEnd: 7728
    functionName: closeQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_free_result
    linkageType: ''
    returnType: void
    signature: 'void closeQuery(void* res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9435,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9438,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9436,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - path
    - filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9446
      start: 9433
    functionDepth: 0
    functionLinenumber: 9433
    functionLinenumberEnd: 9446
    functionName: checkFileExists
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - access
    - snprintf
    linkageType: ''
    returnType: bool
    signature: 'static bool checkFileExists(char *path, char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:533,1
    - Dst: replaceNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:536,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:534,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 540
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 540
    functionName: afterRenameSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - replaceNewName
    linkageType: ''
    returnType: char*
    signature: 'char * afterRenameSql(char *cmd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9456,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9461,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9460,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9462,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9457,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9464,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9470,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9477,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9478,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9481,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9484,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9490,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - path
    - dirname
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9495
      start: 9448
    functionDepth: 0
    functionLinenumber: 9448
    functionLinenumberEnd: 9495
    functionName: checkFileExistsDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - readdir
    - strncmp
    - closedir
    - toolsGetDirEntryName
    - strlen
    - toolsReadDir
    - opendir
    - toolsOpenDir
    - toolsCloseDir
    linkageType: ''
    returnType: bool
    signature: 'static bool checkFileExistsDir(char *path, char *dirname) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:485,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:511,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:505,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:501,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:486,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:511,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:512,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:513,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:516,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:517,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:518,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - cmd
    - len
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 521
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 521
    functionName: replaceNewName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - malloc
    - findNewName
    - strchr
    - memset
    - strlen
    - memcpy
    - strcat
    linkageType: ''
    returnType: char*
    signature: 'char * replaceNewName(char* cmd, int len) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2662,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2677,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2683,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2689,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2671,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2695,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2701,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2707,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2713,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2719,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2732,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2739,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2753,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2725,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2746,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 5
    argNames:
    - tableDes
    - pos
    - ppstr
    - colOrTag
    - i
    argTypes:
    - TableDes*
    - int
    - char**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2759
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2759
    functionName: convertTbDesToJsonImplMore
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - errorPrint
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int convertTbDesToJsonImplMore( TableDes *tableDes, int pos,
      char **ppstr, char *colOrTag, int i) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: queryDbForDumpOutCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3315,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3331,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3368,1
    - Dst: processValueToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3398,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3392,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3387,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3428,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3443,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3323,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3365,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3367,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3408,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3409,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3393,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3423,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3439,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3442,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3385,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3445,1
    - Dst: queryDbForDumpOutOffset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3358,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3374,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3375,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3378,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3419,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3412,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3427,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3433,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3444,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 8
    argNames:
    - avroFilename
    - dbName
    - tbName
    - jsonSchema
    - taos_v
    - precision
    - start_time
    - end_time
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - void**
    - int
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 3448
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3448
    functionName: writeResultToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - taos_field_count
    - avro_value_set_string
    - avro_file_writer_append_value
    - avro_value_set_branch
    - printDotOrX
    - freeRecordSchema
    - prepareAvroWface
    - avro_generic_value_new
    - taos_fetch_lengths
    - queryDbForDumpOutOffset
    - avro_schema_decref
    - avro_file_writer_close
    - avro_value_get_by_name
    - replaceCopy
    - taos_free_result
    - infoPrint
    - errorPrint
    - processValueToAvro
    - queryDbForDumpOutCount
    - avro_strerror
    - taos_fetch_row
    - avro_value_decref
    - avro_value_iface_decref
    - taos_fetch_fields
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t writeResultToAvro( const char *avroFilename, const
      char *dbName, const char *tbName, char *jsonSchema, void **taos_v, int precision,
      int64_t start_time, int64_t end_time) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4432,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4440,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4442,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4448,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4444,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4453,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4455,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4458,1
    - Dst: afterRenameSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4463,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4465,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4475,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4480,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4491,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4471,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4492,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4484,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4469,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 6
    argNames:
    - taos_v
    - namespace
    - schema
    - reader
    - pDbChange
    - recordSchema
    argTypes:
    - void**
    - char*
    - avro_schema_t
    - avro_file_reader_t
    - DBChange*
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 4497
      start: 4419
    functionDepth: 0
    functionLinenumber: 4419
    functionLinenumberEnd: 4497
    functionName: dumpInAvroNtbImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - avro_value_get_current_branch
    - avro_value_decref
    - avro_value_get_string
    - free
    - avro_value_get_by_name
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - afterRenameSql
    - taosQuery
    - avro_generic_class_from_schema
    - infoPrint
    - taos_errstr
    - errorPrint
    - AddStbChanged
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpInAvroNtbImpl( void **taos_v, const char *namespace,
      avro_schema_t schema, avro_file_reader_t reader, DBChange* pDbChange, RecordSchema
      *recordSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4579,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4586,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4572,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4576,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4584,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4613,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4618,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4626,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4628,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4591,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4601,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4607,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4622,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4611,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4600,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4619,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4580,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4574,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4593,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4596,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4606,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4631
      start: 4566
    functionDepth: 0
    functionLinenumber: 4566
    functionLinenumberEnd: 4631
    functionName: dumpInAvroDataUnsignedSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataUnsignedSmallInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8010,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8013,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8014,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8018,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8020,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8021,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8028,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8009,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8023,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8025,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8026,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8036,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8003,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8008,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8012,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8031,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8032,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8033,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8034,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8035,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8007,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8005,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8011,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8017,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8016,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8015,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8030,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 8058
      start: 8002
    functionDepth: 0
    functionLinenumber: 8002
    functionLinenumberEnd: 8058
    functionName: printArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - printVersion
    - fprintf
    - strlen
    - fflush
    linkageType: ''
    returnType: void
    signature: 'static void printArgs(FILE *file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2771,1
    - Dst: convertTbDesToJsonImplMore
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2820,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2776,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2803,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2797,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2825,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2827,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2833,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2835,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 6
    argNames:
    - namespace
    - stable
    - tbName
    - tableDes
    - jsonSchema
    - onlyColumn
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - char**
    - bool
    constantsTouched: []
    func_position:
      end: 2839
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2839
    functionName: convertTbDesToJsonImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - replaceCopy
    - debugPrint
    - convertTbDesToJsonImplMore
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int convertTbDesToJsonImpl( const char *namespace, const char
      *stable, const char *tbName, TableDes *tableDes, char **jsonSchema, bool onlyColumn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3461,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - bindArray
    - elements
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3464
      start: 3450
    functionDepth: 0
    functionLinenumber: 3450
    functionLinenumberEnd: 3464
    functionName: freeBindArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - tfree
    linkageType: ''
    returnType: void
    signature: 'static void freeBindArray(char *bindArray, int elements) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4509,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4518,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4529,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4560,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4561,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4520,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4533,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4545,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4540,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4534,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4551,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4505,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4513,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4507,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4524,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4539,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4547,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4553,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4512,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4526,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4556,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4564
      start: 4499
    functionDepth: 0
    functionLinenumber: 4499
    functionLinenumberEnd: 4564
    functionName: dumpInAvroDataUnsignedBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - avro_value_get_null
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataUnsignedBigInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4639,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4643,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4651,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4660,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4695,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4696,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4653,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4667,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4679,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4675,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4691,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4669,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4641,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4647,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4663,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4686,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4674,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4681,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4646,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4658,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4699
      start: 4633
    functionDepth: 0
    functionLinenumber: 4633
    functionLinenumberEnd: 4699
    functionName: dumpInAvroDataUnsignedTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataUnsignedTinyInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - str
    - size
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 8160
      start: 8149
    functionDepth: 0
    functionLinenumber: 8149
    functionLinenumberEnd: 8160
    functionName: convertStringToReadable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - stpcpy
    linkageType: ''
    returnType: int
    signature: 'static int convertStringToReadable(char *str, int size, char *buf,
      int bufsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:234,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:243,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 247
    functionName: getUniqueIDFromEpoch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_64
    - debugPrint
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getUniqueIDFromEpoch() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:831,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:833,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:832,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:833,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:831,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:834,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:837,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 841
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 841
    functionName: copyHumanTimeToArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - TOOLS_STRNCPY
    linkageType: ''
    returnType: void
    signature: 'static void copyHumanTimeToArg(char *timeStr, bool isStartTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4109,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4113,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4117,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4111,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4112,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4118,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4120,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4126
      start: 4106
    functionDepth: 0
    functionLinenumber: 4106
    functionLinenumberEnd: 4126
    functionName: dumpInAvroBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - verbosePrint
    - avro_value_get_boolean
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroBool(avro_value_t *value, char *sqlstr, int32_t
      curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5041,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5044,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5047,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5046,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5042,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5049,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5051,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5056,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5057,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5059,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5061,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5070,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5068,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5066,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 5075
      start: 5035
    functionDepth: 0
    functionLinenumber: 5035
    functionLinenumberEnd: 5075
    functionName: dumpInAvroDataTinyInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - free
    - avro_value_get_int
    - verbosePrint
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataTinyInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5666,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5668,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5675,1
    - Dst: parse_json_to_recordschema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5700,1
    - Dst: mFileToRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5712,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5688,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5685,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5686,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5692,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5702,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5706,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5632,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5633,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5661,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5635,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5672,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5679,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5683,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5691,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5678,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5703,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5674,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5677,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5680,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5695,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 4
    argNames:
    - avroType
    - avroFile
    - schema
    - reader
    argTypes:
    - enAVROTYPE
    - char*
    - avro_schema_t*
    - avro_file_reader_t*
    constantsTouched: []
    func_position:
      end: 5716
      start: 5628
    functionDepth: 0
    functionLinenumber: 5628
    functionLinenumberEnd: 5716
    functionName: getSchemaAndReaderFromFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - json_decref
    - avro_strerror
    - print_json
    - avro_writer_free
    - calloc
    - avro_writer_memory
    - strlen
    - parse_json_to_recordschema
    - mFileToRecordSchema
    - avro_file_reader_get_writer_schema
    - tfree
    - avro_file_reader
    - verbosePrint
    - errorPrint
    - load_json
    - avro_schema_to_json
    linkageType: ''
    returnType: RecordSchema*
    signature: 'static RecordSchema *getSchemaAndReaderFromFile( enAVROTYPE avroType,
      char *avroFile, avro_schema_t *schema, avro_file_reader_t *reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - fp
    - taos
    argTypes:
    - FILE*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 8714
      start: 8710
    functionDepth: 0
    functionLinenumber: 8710
    functionLinenumberEnd: 8714
    functionName: getDBChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DBChange*
    signature: 'DBChange *getDBChange(FILE *fp, TAOS* taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9092,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9104,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9119,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9140,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9123,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9116,1
    - Dst: fillTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9145,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9165,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9099,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9089,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9105,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9114,1
    - Dst: dumpStableMeta
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9131,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9141,1
    - Dst: freeTbNameArr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9149,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9150,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9153,1
    - Dst: dumpSTableData
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9164,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9166,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9082,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9102,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9138,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9108,1
    - Dst: getTbCountOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9112,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9129,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9115,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9124,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9156,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - stbName
    argTypes:
    - void**
    - SDbInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 9168
      start: 9076
    functionDepth: 0
    functionLinenumber: 9076
    functionLinenumberEnd: 9168
    functionName: dumpStable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - freeTbDes
    - freeTbNameArr
    - dumpStableMeta
    - strcpy
    - getTableDes
    - calloc
    - dumpSTableData
    - getTbCountOfStbNative
    - infoPrint
    - fillTbNameArr
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpStable( void **taos_v, SDbInfo *dbInfo, const char
      *stbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9177,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9182,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9180,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9186,1
    - Dst: dumpStable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9195,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9200,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - taos_v
    - dbInfo
    - stable
    - fpDbs
    argTypes:
    - void**
    - SDbInfo*
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 9208
      start: 9170
    functionDepth: 0
    functionLinenumber: 9170
    functionLinenumberEnd: 9208
    functionName: dumpStbAndChildTb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - freeTbDes
    - dumpStableClasuse
    - dumpStable
    - calloc
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t dumpStbAndChildTb( void **taos_v, SDbInfo *dbInfo, const char
      *stable, FILE *fpDbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:845,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - timeStr
    - isStartTime
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 849
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 849
    functionName: copyTimestampToArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - atol
    linkageType: ''
    returnType: void
    signature: 'static void copyTimestampToArg(char *timeStr, bool isStartTime) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4158,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4175,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4160,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4190,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4209,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4213,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4226,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4229,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4274,1
    - Dst: dumpInAvroBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4286,1
    - Dst: dumpInAvroTagTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4291,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4389,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4377,1
    - Dst: dumpInAvroTagUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4349,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4410,1
    - Dst: dumpInAvroTagNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4329,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4395,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4412,1
    - Dst: dumpInAvroTagDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4316,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4173,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4176,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4183,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4220,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4224,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4222,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4215,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4234,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4240,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4252,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4280,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4374,1
    - Dst: dumpInAvroTagUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4344,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4378,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4386,1
    - Dst: dumpInAvroTagFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4311,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4225,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4230,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4233,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4238,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4242,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4249,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4250,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4256,1
    - Dst: idxInBindTags
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4273,1
    - Dst: dumpInAvroTagInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4301,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4364,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4380,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4398,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4407,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4403,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4359,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4382,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4397,1
    - Dst: dumpInAvroTagUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4339,1
    - Dst: AddStbChanged
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4148,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4185,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4219,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4263,1
    - Dst: dumpInAvroTagSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4296,1
    - Dst: dumpInAvroTagBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4306,1
    - Dst: dumpInAvroTagTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4334,1
    - Dst: dumpInAvroTagUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4354,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4387,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4388,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4406,1
    - Dst: dumpInAvroTagBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4321,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 143
    argCount: 7
    argNames:
    - taos_v
    - namespace
    - schema
    - reader
    - fileName
    - pDbChange
    - recordSchema
    argTypes:
    - void**
    - char*
    - avro_schema_t
    - avro_file_reader_t
    - char*
    - DBChange*
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4417
    functionName: dumpInAvroTbTagsImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - dumpInAvroTagUnsignedSmallInt
    - avro_value_get_current_branch
    - sprintf
    - taosQuery
    - avro_generic_class_from_schema
    - dumpInAvroTagBigInt
    - strdup
    - dumpInAvroTagUnsignedTinyInt
    - dumpInAvroTagTimeStamp
    - taos_errstr
    - debugPrint2
    - dumpInAvroTagNChar
    - dumpInAvroTagInt
    - free
    - getTableDes
    - avro_generic_value_new
    - freeTbNameIfLooseMode
    - dumpInAvroTagTinyInt
    - debugPrint
    - dumpInAvroTagBinary
    - avro_value_get_by_name
    - strsep
    - calloc
    - avro_file_reader_read_value
    - dumpInAvroTagUnsignedInt
    - taos_free_result
    - idxInBindTags
    - errorPrint
    - snprintf
    - freeTbDes
    - dumpInAvroTagDouble
    - avro_value_decref
    - avro_value_get_string
    - dumpInAvroTagSmallInt
    - dumpInAvroBool
    - strcmp
    - dumpInAvroTagFloat
    - warnPrint
    - avro_value_iface_decref
    - strlen
    - dumpInAvroTagUnsignedBigInt
    - TOOLS_STRNCPY
    - AddStbChanged
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpInAvroTbTagsImpl( void **taos_v, const char *namespace,
      avro_schema_t schema, avro_file_reader_t reader, char *fileName, DBChange *pDbChange,
      RecordSchema *recordSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5083,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5084,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5086,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5089,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5088,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5091,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5094,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5096,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5098,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5104,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5105,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5109,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5113,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5111,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 5118
      start: 5077
    functionDepth: 0
    functionLinenumber: 5077
    functionLinenumberEnd: 5118
    functionName: dumpInAvroDataInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - free
    - avro_value_get_int
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataInt(FieldStruct *field, avro_value_t *value,
      TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5720
      start: 5718
    functionDepth: 0
    functionLinenumber: 5718
    functionLinenumberEnd: 5720
    functionName: closeTaosConnWrapper
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_close
    linkageType: ''
    returnType: void
    signature: 'static void closeTaosConnWrapper(void *taos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8726,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8728,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8732,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8735,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8739,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8768,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8773,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8779,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8781,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8789,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8799,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8719,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8724,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8742,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8747,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8757,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8750,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8798,1
    - Dst: loadFileMark
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8771,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8792,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8793,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8741,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8743,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8763,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8762,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8755,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8775,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8785,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8802
      start: 8716
    functionDepth: 0
    functionLinenumber: 8716
    functionLinenumberEnd: 8802
    functionName: dumpInDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - loadFileMark
    - snprintf
    - debugPrint
    - closeTaosConnWrapper
    - fclose
    - openDumpInFile
    - strcpy
    - okPrint
    - strcasecmp
    - atoi
    - dumpInOneDebugFile
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'static int dumpInDbs(const char *dbPath) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9214,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9228,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9233,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9219,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9221,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9235,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9236,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9237,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9238,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9244,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9260,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9274,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9264,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9275,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9257,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9247,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9267,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9245,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - taos_v
    - dbInfo
    argTypes:
    - TAOS**
    - SDbInfo*
    constantsTouched: []
    func_position:
      end: 9278
      start: 9210
    functionDepth: 0
    functionLinenumber: 9210
    functionLinenumberEnd: 9278
    functionName: dumpNTablesOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncpy
    - taos_fetch_row
    - free
    - warnPrint
    - calloc
    - taosQuery
    - okPrint
    - taos_fetch_lengths
    - taos_free_result
    - taos_errstr
    - dumpTableNotBelong
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpNTablesOfDb(TAOS **taos_v, SDbInfo *dbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9351,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9364,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9354,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9359,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    constantsTouched: []
    func_position:
      end: 9370
      start: 9349
    functionDepth: 0
    functionLinenumber: 9349
    functionLinenumberEnd: 9370
    functionName: createDirForDbDump
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - errorPrint
    - getUniqueIDFromEpoch
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'static int createDirForDbDump(SDbInfo *dbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9069,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9072,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - tbNameArr
    - tbCount
    argTypes:
    - char**
    - int64_t
    constantsTouched: []
    func_position:
      end: 9073
      start: 9066
    functionDepth: 0
    functionLinenumber: 9066
    functionLinenumberEnd: 9073
    functionName: freeTbNameArr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeTbNameArr(char ** tbNameArr, int64_t tbCount) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3677,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3696,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3693,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - buf
    - val
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3715
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3715
    functionName: appendValues
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendValues(char *buf, char* val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4960,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4963,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4965,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4966,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4961,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4967,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4968,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4971,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4976,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4977,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4979,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4987,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4978,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4985,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4983,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4992
      start: 4954
    functionDepth: 0
    functionLinenumber: 4954
    functionLinenumberEnd: 4992
    functionName: dumpInAvroDataBigInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - free
    - verbosePrint
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataBigInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6297,1
    - Dst: convertTbDesToJson
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6306,1
    - Dst: convertTbDesToJsonLoose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6304,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6312,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6309,1
    - Dst: writeResultToAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6316,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6320,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 11
    argNames:
    - dataFilename
    - index
    - stable
    - tbName
    - belongStb
    - dbName
    - precision
    - colCount
    - tableDes
    - start_time
    - end_time
    argTypes:
    - char*
    - int64_t
    - char*
    - char*
    - bool
    - char*
    - int
    - int
    - TableDes*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 6324
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6324
    functionName: dumpTableDataAvroTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - convertTbDesToJson
    - taos_close
    - convertTbDesToJsonLoose
    - tfree
    - writeResultToAvro
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpTableDataAvroTsRange( char *dataFilename, int64_t
      index, const char *stable, const char *tbName, const bool belongStb, const char*
      dbName, const int precision, int colCount, TableDes *tableDes, int64_t start_time,
      int64_t end_time ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3720,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3726,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3730,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3731,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3734,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3738
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3738
    functionName: dumpInAvroTagBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_string
    - appendValues
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagBinary(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5000,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5003,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5005,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5006,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5001,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5008,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5010,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5015,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5016,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5018,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5026,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5024,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5019,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5028,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 5033
      start: 4994
    functionDepth: 0
    functionLinenumber: 4994
    functionLinenumberEnd: 5033
    functionName: dumpInAvroDataSmallInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - free
    - avro_value_get_int
    - verbosePrint
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataSmallInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6329,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6334,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6332,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6342,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6348,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6351,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6354,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6357,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6362,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6373,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6375,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6374,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - dbInfo
    - subDirName
    - stable
    argTypes:
    - SDbInfo*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 6380
      start: 6326
    functionDepth: 0
    functionLinenumber: 6326
    functionLinenumberEnd: 6380
    functionName: generateSubDirName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - bkdrHash
    - warnPrint
    - atomic_add_fetch_64
    - writeFile
    - errorPrint
    - mkdir
    - strcat
    - toolsOpenDir
    - toolsCloseDir
    linkageType: ''
    returnType: int
    signature: 'static int generateSubDirName( const SDbInfo *dbInfo, char *subDirName,
      const char *stable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7735,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7740,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7752,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7737,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7743,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7753,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7754,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7755,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7764,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - res
    - tbDes
    argTypes:
    - void*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 7770
      start: 7731
    functionDepth: 0
    functionLinenumber: 7731
    functionLinenumberEnd: 7770
    functionName: readNextTableDesNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strncpy
    - taos_fetch_row
    - strncmp
    - processFieldsValueV3
    - strcpy
    - taos_fetch_lengths
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int readNextTableDesNative(void* res, TableDes* tbDes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:252,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:257,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:258,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: printVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - fprintf
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void printVersion(FILE *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:356,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:359,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:361,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 370
    functionName: getStartTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - errorPrint
    - toolsParseTime
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getStartTime(int precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2942,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2945,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2950,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - count
    - printDot
    argTypes:
    - int64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 2951
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2951
    functionName: printDotOrX
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - fflush
    - putchar
    linkageType: ''
    returnType: void
    signature: 'void printDotOrX(int64_t count, bool *printDot) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9875,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9882,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9880,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9887,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9942,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9955,1
    - Dst: getTableRecordInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9969,1
    - Dst: dumpStableClasuse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10001,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10010,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10028,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10033,1
    - Dst: checkOutDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9870,1
    - Dst: getDumpDbCount
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9886,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9921,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9931,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9972,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9983,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10023,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9997,1
    - Dst: dumpTableNotBelong
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10036,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10052,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9878,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9891,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9896,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9906,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9898,1
    - Dst: dumpWholeDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9940,1
    - Dst: fillDbInfoNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9918,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9947,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9952,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9964,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9994,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9979,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10060,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10058,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9892,1
    - Dst: dumpExtraInfo
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9912,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9933,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9950,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9992,1
    - Dst: dumpTableBelongStb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10015,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10042,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10062,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10064,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10068,1
    - Dst: freeDbInfos
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10056,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 10073
      start: 9862
    functionDepth: 0
    functionLinenumber: 9862
    functionLinenumberEnd: 10073
    functionName: dumpOut
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpExtraInfo
    - exit
    - checkOutDir
    - dumpStableClasuse
    - freeDbInfos
    - dumpWholeDatabase
    - dumpTableNotBelong
    - fclose
    - createDbsSqlPerDb
    - strerror
    - dumpTableBelongStb
    - dumpStbAndChildTb
    - debugPrint
    - dumpCreateDbClause
    - calloc
    - getTableRecordInfo
    - okPrint
    - getDumpDbCount
    - fillDbInfoNative
    - errorPrint
    - snprintf
    - freeTbDes
    - closeTaosConnWrapper
    - strlen
    - atomic_add_fetch_64
    - fopen
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'static int dumpOut() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:375,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:377,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:379,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 387
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 387
    functionName: getEndTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - errorPrint
    - toolsParseTime
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getEndTime(int precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2959,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2964,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2966,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2968,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2961,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2972,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2975,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2979,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2983,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2984,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - command
    - taos
    - dbName
    - tbName
    - precision
    argTypes:
    - char*
    - TAOS*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 2986
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 2986
    functionName: queryDbForDumpOutCountNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - debugPrint
    - taos_errno
    - taos_fetch_row
    - free
    - taosQuery
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t queryDbForDumpOutCountNative( char *command, TAOS *taos, const
      char *dbName, const char *tbName, const int precision) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10187,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10186,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10200,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10214,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10238,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10243,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10253,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10258,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10262,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10266,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10284,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10288,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10297,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10318,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10340,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10345,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10346,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10279,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10189,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10197,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10198,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10203,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10225,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10230,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10231,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10247,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10249,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10316,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10328,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10275,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10335,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10272,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10327,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10179,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10181,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10196,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10201,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10205,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10207,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10226,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10227,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10228,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10245,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10313,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10347,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10336,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10326,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10314,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10198,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10212,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10210,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10221,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10234,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10235,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10268,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10269,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10292,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10295,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10305,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10339,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10312,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10348,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10360,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10325,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10362,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10317,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 161
    argCount: 1
    argNames:
    - element
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 10371
      start: 10178
    functionDepth: 0
    functionLinenumber: 10178
    functionLinenumberEnd: 10371
    functionName: parse_json_for_inspect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_plural
    - debugPrint
    - json_typeof
    - json_array_size
    - free
    - strcmp
    - calloc
    - TOOLS_STRNCPY
    - json_object_foreach
    - json_string_value
    - errorPrint
    linkageType: ''
    returnType: RecordSchema*
    signature: 'static RecordSchema *parse_json_for_inspect(json_t *element) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3038,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3054,1
    - Dst: queryDbForDumpOutOffsetNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3066,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3040,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3045,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 8
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    - start_time
    - end_time
    - limit
    - offset
    argTypes:
    - void**
    - char*
    - char*
    - int
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 3068
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3068
    functionName: queryDbForDumpOutOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - calloc
    - queryDbForDumpOutOffsetNative
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'void *queryDbForDumpOutOffset( void **taos_v, const char *dbName,
      const char *tbName, const int precision, const int64_t start_time, const int64_t
      end_time, const int64_t limit, const int64_t offset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2517,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2525,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2523,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - avroType
    - count
    argTypes:
    - enAVROTYPE
    - int64_t
    constantsTouched: []
    func_position:
      end: 2526
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2526
    functionName: freeFileList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - tfree
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void freeFileList(enAVROTYPE avroType, int64_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2846,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2846,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2854,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    constantsTouched: []
    func_position:
      end: 2855
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2855
    functionName: convertTbTagsDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - calloc
    - convertTbDesToJsonImpl
    - errorPrint
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: 'static int convertTbTagsDesToJsonLoose( const char *dbName, const
      char *stable, TableDes *tableDes, char **jsonSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4804,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4812,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4809,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4816
      start: 4796
    functionDepth: 0
    functionLinenumber: 4796
    functionLinenumberEnd: 4816
    functionName: dumpInAvroDataNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - debugPrint2
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataNChar(FieldStruct *field, avro_value_t *value,
      TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5754,1
    - Dst: dumpInAvroDataImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5769,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5791,1
    - Dst: dumpInAvroNtbImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5793,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5808,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5741,1
    - Dst: getSchemaAndReaderFromFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5738,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5750,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5779,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5807,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5799,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5732,1
    - Dst: dumpInAvroTbTagsImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5781,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5806,1
    - Dst: closeTaosConnWrapper
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5804,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5730,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5746,1
    - Dst: findNewName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5748,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5759,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5767,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 6
    argNames:
    - dbPath
    - avroType
    - fcharset
    - fileName
    - pDbChange
    - stbChange
    argTypes:
    - char*
    - enAVROTYPE
    - char*
    - char*
    - DBChange*
    - StbChange*
    constantsTouched: []
    func_position:
      end: 5811
      start: 5722
    functionDepth: 0
    functionLinenumber: 5722
    functionLinenumberEnd: 5811
    functionName: dumpInOneAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - snprintf
    - findNewName
    - debugPrint
    - dumpInAvroNtbImpl
    - dumpInAvroTbTagsImpl
    - closeTaosConnWrapper
    - freeRecordSchema
    - avro_schema_decref
    - dumpInAvroDataImpl
    - getSchemaAndReaderFromFile
    - infoPrint
    - avro_schema_namespace
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpInOneAvroFile( const char *dbPath, const enAVROTYPE
      avroType, char *fcharset, char *fileName, DBChange *pDbChange, StbChange* stbChange) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7259,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7261,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7263,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7264,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7263,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7274,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7275,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7279,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7284,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7285,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7297,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7287,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7304,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7310,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - taos
    - command
    - tbNameArr
    - stable
    - preCount
    argTypes:
    - TAOS*
    - char*
    - char**
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 7312
      start: 7252
    functionDepth: 0
    functionLinenumber: 7252
    functionLinenumberEnd: 7312
    functionName: fillTbNameArrNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strncpy
    - taos_errno
    - taos_fetch_row
    - debugPrint
    - calloc
    - taosQuery
    - okPrint
    - taos_fetch_lengths
    - infoPrint
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t fillTbNameArrNative( TAOS *taos, char *command, char
      **tbNameArr, const char *stable, const int64_t preCount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7714,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7717,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - taos_v
    - sql
    argTypes:
    - void**
    - char*
    constantsTouched: []
    func_position:
      end: 7721
      start: 7712
    functionDepth: 0
    functionLinenumber: 7712
    functionLinenumberEnd: 7721
    functionName: openQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taosQuery
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'void * openQuery(void** taos_v, const char * sql) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2537,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2536,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2555,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2643,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2617,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2631,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2629,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2605,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2539,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2539,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2566,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2569,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2576,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2579,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2580,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2585,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2600,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2601,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2635,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2646,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2531,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2546,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2549,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2550,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2565,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2575,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2594,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2604,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2608,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2619,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2625,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2623,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2534,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2533,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2545,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2560,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2570,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2559,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2556,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2597,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2599,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2611,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2613,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - dbPath
    - ext
    - count
    argTypes:
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2648
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2648
    functionName: createDumpinList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - toolsOpenDir
    - debugPrint
    - strncmp
    - min
    - toolsGetDirEntryName
    - strcmp
    - calloc
    - strlen
    - toolsReadDir
    - TOOLS_STRNCPY
    - verbosePrint
    - errorPrint
    - toolsCloseDir
    linkageType: ''
    returnType: enAVROTYPE
    signature: 'static enAVROTYPE createDumpinList(const char *dbPath, const char
      *ext, int64_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2862,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2862,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2864,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - dbName
    - stable
    - tableDes
    - jsonSchema
    argTypes:
    - char*
    - char*
    - TableDes*
    - char**
    constantsTouched: []
    func_position:
      end: 2869
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2869
    functionName: convertTbTagsDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - calloc
    - convertTbDesToJsonImpl
    - errorPrint
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: 'static int convertTbTagsDesToJson( const char *dbName, const char
      *stable, TableDes *tableDes, char **jsonSchema) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3104,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3118,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3155,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3255,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3226,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3291,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3084,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3147,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3174,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3185,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3222,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3225,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3284,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3254,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3237,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3134,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3166,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3181,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3271,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3258,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3248,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3109,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3128,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3197,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3281,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3295,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3144,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3227,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3283,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3215,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3112,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3116,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3138,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3157,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3182,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3187,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3257,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3217,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3114,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3125,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3194,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3234,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3264,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3086,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3148,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3163,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3267,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3110,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3154,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3165,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3266,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3238,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3248,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3207,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3270,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3292,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3175,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3206,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3245,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3269,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3203,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3093,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3135,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3177,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3202,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3247,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3258,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3201,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3244,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3127,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3186,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3214,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3268,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3280,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3145,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3162,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3167,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3223,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3183,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3103,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3161,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3294,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3221,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3195,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3124,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3205,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3263,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3235,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3089,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3137,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 149
    argCount: 9
    argNames:
    - col
    - record
    - avro_value
    - branch
    - name
    - type
    - bytes
    - value
    - len
    argTypes:
    - int32_t
    - avro_value_t
    - avro_value_t
    - avro_value_t
    - char*
    - uint8_t
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3304
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3304
    functionName: processValueToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - avro_value_set_double
    - avro_value_set_string
    - avro_value_set_bytes
    - avro_value_set_branch
    - free
    - avro_value_append
    - avro_value_set_boolean
    - debugPrint
    - strncpy
    - avro_value_set_long
    - GET_FLOAT_VAL
    - avro_value_set_int
    - avro_value_get_by_name
    - memset
    - avro_value_set_null
    - calloc
    - GET_DOUBLE_VAL
    - errorPrint
    - snprintf
    - avro_value_set_float
    - verbosePrint
    linkageType: ''
    returnType: int
    signature: 'int processValueToAvro( const int32_t col, avro_value_t record, avro_value_t
      avro_value, avro_value_t branch, const char *name, const uint8_t type, const
      int32_t bytes, const void *value, const int32_t len ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4826,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4833,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4830,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4828,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4837
      start: 4818
    functionDepth: 0
    functionLinenumber: 4818
    functionLinenumberEnd: 4837
    functionName: dumpInAvroDataBytes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - debugPrint2
    - avro_value_get_current_branch
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataBytes(FieldStruct *field, avro_value_t *value,
      TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: SET_THREAD_NAME
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5815,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5852,1
    - Dst: dumpInOneAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5858,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5866,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5870,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5906,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5869,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5816,1
    - Dst: readFolderStbName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5830,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5876,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5900,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5884,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5914,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5885,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5915,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5842,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5907,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5899,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5877,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5892,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5922,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5930,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5937,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 49
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5941
      start: 5813
    functionDepth: 0
    functionLinenumber: 5813
    functionLinenumberEnd: 5941
    functionName: dumpInAvroWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpInOneAvroFile
    - SET_THREAD_NAME
    - warnPrint
    - okPrint
    - atomic_add_fetch_64
    - infoPrint
    - verbosePrint
    - errorPrint
    - readFolderStbName
    linkageType: ''
    returnType: void*
    signature: 'static void * dumpInAvroWorkThreadFp(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7320,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7327,1
    - Dst: fillTbNameArrNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7336,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7322,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7333,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7338,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - taos_v
    - tbNameArr
    - dbInfo
    - stable
    - preCount
    argTypes:
    - void**
    - char**
    - SDbInfo*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 7343
      start: 7314
    functionDepth: 0
    functionLinenumber: 7314
    functionLinenumberEnd: 7343
    functionName: fillTbNameArr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - debugPrint
    - free
    - fillTbNameArrNative
    - calloc
    - infoPrint
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t fillTbNameArr( void **taos_v, char **tbNameArr, const
      SDbInfo *dbInfo, const char *stable, int64_t preCount) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7427,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7439,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7499,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7617,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7702,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7481,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7361,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7369,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7372,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7443,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7541,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7518,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7564,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7474,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7596,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7459,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7355,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7359,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7466,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7547,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7572,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7588,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7609,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7632,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7640,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7414,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7426,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7485,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7577,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7602,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7625,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7648,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7671,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7704,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7677,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7392,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7415,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7470,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7538,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7528,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7561,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7592,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7661,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7431,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7444,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7451,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7501,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7606,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7629,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7652,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7675,1
    - Dst: strtoull
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7679,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7507,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7487,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7382,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7400,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7423,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7429,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7436,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7608,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7631,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7654,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7665,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7688,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7524,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7515,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7402,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7455,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7580,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7663,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7386,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7440,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7457,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7569,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7498,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7664,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7377,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7404,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7472,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7503,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7519,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7566,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7594,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7689,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7701,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7685,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7521,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7375,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7389,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7558,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7535,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7488,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7686,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7641,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7484,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7582,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7684,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7420,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7469,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7570,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7562,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7539,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7543,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7591,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7613,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7618,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7636,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7442,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7473,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7578,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7595,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7605,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7628,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7651,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7660,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7674,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7690,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7495,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7458,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7424,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7504,1
    - Dst: atoll
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7489,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7523,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7655,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7696,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7706,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7659,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7366,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7454,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7508,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7527,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7614,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7615,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7619,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7637,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7638,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:7642,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 262
    argCount: 5
    argNames:
    - dbName
    - stbDes
    - tbDes
    - writer
    - wface
    argTypes:
    - char*
    - TableDes*
    - TableDes*
    - avro_file_writer_t
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 7709
      start: 7347
    functionDepth: 0
    functionLinenumber: 7347
    functionLinenumberEnd: 7709
    functionName: writeTagsToAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - avro_value_set_double
    - atof
    - avro_value_set_string
    - avro_value_set_bytes
    - avro_file_writer_append_value
    - avro_value_set_branch
    - malloc
    - strtoull
    - free
    - avro_value_append
    - avro_generic_value_new
    - atoi
    - memcpy
    - avro_value_set_boolean
    - debugPrint
    - avro_value_set_long
    - strncmp
    - avro_value_set_int
    - atoll
    - avro_value_get_by_name
    - memset
    - avro_value_set_null
    - replaceCopy
    - errorPrint
    - snprintf
    - avro_strerror
    - avro_value_decref
    - strlen
    - avro_value_set_float
    - verbosePrint
    linkageType: ''
    returnType: int
    signature: 'static int writeTagsToAvro( const char *dbName, const TableDes *stbDes,
      const TableDes *tbDes, avro_file_writer_t writer, avro_value_iface_t *wface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:390,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:391,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - first
    - prev
    argTypes:
    - char*
    - SRenameDB*
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: newNode
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: SRenameDB*
    signature: 'SRenameDB * newNode(char* first, SRenameDB* prev) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - oldName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 454
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 454
    functionName: findNewName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char*
    signature: 'char * findNewName(char* oldName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1266,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1270,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1283,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1272,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1276,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1287,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1289,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1290,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1296,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1300,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1303,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1302,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - dbName
    - stbName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1306
    functionName: getTbCountOfStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - taos_free_result
    - debugPrint
    - taos_fetch_row
    - free
    - calloc
    - taos_close
    - taosQuery
    - infoPrint
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getTbCountOfStbNative(const char *dbName, const char
      *stbName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4714,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4721,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4751,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4739,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4741,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4747,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4762,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4765,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4707,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4711,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4730,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4758,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4746,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4753,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4726,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4760,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4715,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4709,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4719,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4728,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4735,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4769,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4770,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4773
      start: 4701
    functionDepth: 0
    functionLinenumber: 4701
    functionLinenumberEnd: 4773
    functionName: dumpInAvroDataUnsignedInt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - debugPrint
    - avro_value_get_size
    - avro_value_get_null
    - avro_value_get_int
    - typeToStr
    - errorPrint
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataUnsignedInt(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6587,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6592,1
    - Dst: dumpCreateMTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6604,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6609,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6620,1
    - Dst: dumpCreateTableClauseAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6651,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6637,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6666,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6679,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6690,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6584,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6596,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6632,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6641,1
    - Dst: createNTableMFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6647,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6655,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6624,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6600,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6657,1
    - Dst: dumpTableDataDebug
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6706,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6715,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6569,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6570,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6612,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6616,1
    - Dst: dumpCreateTableClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6661,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6664,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6682,1
    - Dst: getTableDesFromStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6686,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6693,1
    - Dst: dumpTableDataAvro
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6699,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 93
    argCount: 10
    argNames:
    - index
    - taos_v
    - dbInfo
    - belongStb
    - stable
    - stbDes
    - tbName
    - precision
    - dumpFilename
    - fp
    argTypes:
    - int64_t
    - void**
    - SDbInfo*
    - bool
    - char*
    - TableDes*
    - char*
    - int
    - char*
    - FILE*
    constantsTouched: []
    func_position:
      end: 6718
      start: 6557
    functionDepth: 0
    functionLinenumber: 6557
    functionLinenumberEnd: 6718
    functionName: dumpTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpTableDataDebug
    - dumpCreateTableClause
    - freeTbDes
    - debugPrint
    - getTableDesFromStbNative
    - free
    - getTableDes
    - dumpTableDataAvro
    - calloc
    - strlen
    - createNTableMFile
    - dumpCreateMTableClause
    - generateFilename
    - errorPrint
    - dumpCreateTableClauseAvro
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t dumpTable( const int64_t index, void **taos_v, const SDbInfo
      *dbInfo, const bool belongStb, const char *stable, const TableDes *stbDes, const
      char *tbName, const int precision, char *dumpFilename, FILE *fp ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8065,1
    - Dst: printArgs
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8075,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8074,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8071,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8066,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8079,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8082,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8084,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8089,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8094,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8115,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8120,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8117,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8102,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8121,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 8125
      start: 8060
    functionDepth: 0
    functionLinenumber: 8060
    functionLinenumberEnd: 8125
    functionName: checkParam
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - strcpy
    - printArgs
    - printf
    - strerror
    - fopen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int checkParam() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9501,1
    - Dst: toolsGetDirEntryName
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9511,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9507,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9512,1
    - Dst: toolsReadDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9510,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9514,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9520,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9526,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9529,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9530,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9538,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9532,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - path
    - ext
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 9543
      start: 9497
    functionDepth: 0
    functionLinenumber: 9497
    functionLinenumberEnd: 9543
    functionName: checkFileExistsExt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - readdir
    - closedir
    - toolsGetDirEntryName
    - strcmp
    - strlen
    - toolsReadDir
    - opendir
    - toolsOpenDir
    - toolsCloseDir
    linkageType: ''
    returnType: bool
    signature: 'static bool checkFileExistsExt(char *path, char *ext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:404,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:426,1
    - Dst: newNode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:435,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 442
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 442
    functionName: setRenameDbs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - newNode
    - strlen
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void setRenameDbs(char* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: replaceCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'bool replaceCopy(char *des, char *src) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1315,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1316,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1340,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1343,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1359,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1383,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1393,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1374,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1427,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1441,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1350,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1370,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1452,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1448,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1462,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1318,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1331,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1347,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1378,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1390,1
    - Dst: convertStringToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1401,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1420,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1423,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1444,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1445,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1336,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1354,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1367,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1364,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1397,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1416,1
    - Dst: convertNCharToReadable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1434,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1437,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 93
    argCount: 4
    argNames:
    - index
    - tableDes
    - value
    - len
    argTypes:
    - int
    - TableDes*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1468
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1468
    functionName: processFieldsValueV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - snprintf
    - strncpy
    - strncmp
    - strcpy
    - convertStringToReadable
    - free
    - memset
    - calloc
    - errorPrint
    - convertNCharToReadable
    linkageType: ''
    returnType: int
    signature: 'int processFieldsValueV3( int index, TableDes *tableDes, const void
      *value, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4780,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4786,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4781,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4785,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4783,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4787,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4788,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4794
      start: 4775
    functionDepth: 0
    functionLinenumber: 4775
    functionLinenumberEnd: 4794
    functionName: dumpInAvroDataBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - verbosePrint
    - avro_value_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataBool(FieldStruct *field, avro_value_t *value,
      TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6729,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6739,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6747,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6730,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6735,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6752,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6757,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6759,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6761,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6765,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6767,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6781,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6784,1
    - Dst: dumpTable
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6770,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6778,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6766,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - index
    - taos_v
    - dbInfo
    - ntbName
    argTypes:
    - int64_t
    - void**
    - SDbInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 6789
      start: 6720
    functionDepth: 0
    functionLinenumber: 6720
    functionLinenumberEnd: 6789
    functionName: dumpTableNotBelong
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - fclose
    - dumpTable
    - getPrecisionByString
    - strlen
    - strerror
    - atomic_add_fetch_64
    - fopen
    - generateFilename
    - errorPrint
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t dumpTableNotBelong( int64_t index, void **taos_v, SDbInfo
      *dbInfo, char *ntbName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9549,1
    - Dst: checkFileExists
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9558,1
    - Dst: checkFileExistsDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9559,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9551,1
    - Dst: toolsOpenDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9550,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9560,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9561,1
    - Dst: checkFileExistsExt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9562,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9563,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9564,1
    - Dst: toolsCloseDir
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9576,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9568,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - outpath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9580
      start: 9545
    functionDepth: 0
    functionLinenumber: 9545
    functionLinenumberEnd: 9580
    functionName: checkOutDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - toolsOpenDir
    - checkFileExistsDir
    - checkFileExistsExt
    - strlen
    - checkFileExists
    - errorPrint
    - toolsCloseDir
    linkageType: ''
    returnType: bool
    signature: 'static bool checkOutDir(char *outpath) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_timestamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10731,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10744,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10750,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10771,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10759,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10763,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10765,1
    - Dst: parse_args
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10732,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10743,1
    - Dst: inspectAvroFiles
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10783,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10799,1
    - Dst: dumpEntry
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10785,1
    - Dst: getUniqueIDFromEpoch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10725,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10738,1
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10736,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10790,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10742,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10742,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10777,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 10804
      start: 10724
    functionDepth: 0
    functionLinenumber: 10724
    functionLinenumberEnd: 10804
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - parse_timestamp
    - inspectAvroFiles
    - taos_get_client_info
    - snprintf
    - debugPrint
    - getenv
    - argp_parse
    - warnPrint
    - free
    - parse_args
    - getUniqueIDFromEpoch
    - setConnMode
    - infoPrint
    - atoi
    - errorPrint
    - abort
    - dumpEntry
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:917,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 919
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 919
    functionName: freeDbInfos
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - tfree
    linkageType: ''
    returnType: void
    signature: 'static void freeDbInfos() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2207,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2205,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2242,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2264,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2246,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2274,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2279,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2212,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2226,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2237,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2240,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2268,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2270,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2277,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2185,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2222,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2255,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2250,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2252,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2249,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2260,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2273,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2276,1
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2220,1
    - Dst: prepareAvroWface
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2232,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2258,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2265,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2267,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2275,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2280,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 5
    argNames:
    - taos_v
    - dumpFilename
    - tableDes
    - numOfCols
    - dbName
    argTypes:
    - void**
    - char*
    - TableDes*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2283
    functionName: dumpCreateTableClauseAvro
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - avro_value_set_string
    - queryCreateTableSql
    - avro_file_writer_append_value
    - avro_value_set_branch
    - freeRecordSchema
    - prepareAvroWface
    - free
    - avro_generic_value_new
    - debugPrint
    - avro_schema_decref
    - avro_file_writer_close
    - avro_value_get_by_name
    - calloc
    - replaceCopy
    - errorPrint
    - snprintf
    - avro_strerror
    - avro_value_decref
    - avro_value_iface_decref
    linkageType: ''
    returnType: int
    signature: 'static int dumpCreateTableClauseAvro( void **taos_v, const char *dumpFilename,
      TableDes *tableDes, int numOfCols, const char* dbName) '
  - BBCount: 65
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5247,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5252,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5305,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5417,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5500,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5520,1
    - Dst: dumpInAvroDataUnsignedSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5533,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5562,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5218,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5284,1
    - Dst: printDotOrX
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5334,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5510,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5530,1
    - Dst: dumpInAvroDataUnsignedBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5543,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5577,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5579,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5608,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5435,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5444,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5192,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5256,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5324,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5426,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5393,1
    - Dst: dumpInAvroDataUnsignedInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5513,1
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5602,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5332,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5187,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5243,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5285,1
    - Dst: dumpInAvroDataBool
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5503,1
    - Dst: dumpInAvroDataUnsignedTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5523,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5576,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5589,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5211,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5471,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5357,1
    - Dst: dumpInAvroDataInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5411,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5453,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5462,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5484,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5320,1
    - Dst: dumpInAvroDataTimeStamp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5447,1
    - Dst: dumpInAvroDataSmallInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5429,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5408,1
    - Dst: dumpInAvroDataBigInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5438,1
    - Dst: dumpInAvroDataTinyInt
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5420,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5578,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5608,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5612,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5377,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5325,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5251,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5259,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5260,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5282,1
    - Dst: stmtPrepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5309,1
    - Dst: dumpInAvroDataDouble
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5465,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5319,1
    - Dst: dumpInAvroDataBinary
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5474,1
    - Dst: dumpInAvroDataNChar
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5482,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5189,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5249,1
    - Dst: dumpInAvroDataFloat
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5456,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5566,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5570,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5215,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5217,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5372,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5548,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5563,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5224,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5257,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5311,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5367,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5378,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5617,1
    - Dst: idxInBindCols
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5355,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5390,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5371,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5401,1
    - Dst: normalTableFolder
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5268,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5568,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5571,1
    - Dst: countFailureAndFree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5594,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5383,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5192,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5222,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5262,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5494,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5254,1
    - Dst: findStbChange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5269,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5295,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5297,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5373,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5312,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5360,1
    - Dst: dumpInAvroDataBytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5492,1
    - Dst: typeToStr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5551,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5592,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5391,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5585,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5620,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5380,1
    - Dst: FREE_DATAIMPL
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5298,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5540,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5598,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5607,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5315,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5301,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5396,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5242,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5234,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 300
    argCount: 9
    argNames:
    - taos_v
    - namespace
    - schema
    - reader
    - recordSchema
    - pDbChange
    - stbChange
    - dbPath
    - fileName
    argTypes:
    - void**
    - char*
    - avro_schema_t
    - avro_file_reader_t
    - RecordSchema*
    - DBChange*
    - StbChange*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5626
      start: 5173
    functionDepth: 0
    functionLinenumber: 5173
    functionLinenumberEnd: 5626
    functionName: dumpInAvroDataImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - avro_value_get_current_branch
    - dumpInAvroDataSmallInt
    - normalTableFolder
    - strcpy
    - taos_stmt_close
    - taos_stmt_init
    - avro_generic_class_from_schema
    - taos_errstr
    - strdup
    - tfree
    - printDotOrX
    - typeToStr
    - avro_value_get_long
    - malloc
    - debugPrint2
    - dumpInAvroDataDouble
    - dumpInAvroDataInt
    - dumpInAvroDataBigInt
    - free
    - getTableDes
    - dumpInAvroDataTimeStamp
    - dumpInAvroDataUnsignedInt
    - avro_generic_value_new
    - dumpInAvroDataBool
    - stmtPrepare
    - dumpInAvroDataBinary
    - dumpInAvroDataUnsignedSmallInt
    - dumpInAvroDataBytes
    - taos_stmt_bind_param_batch
    - taos_stmt_execute
    - debugPrint
    - idxInBindCols
    - avro_value_get_null
    - avro_value_get_by_name
    - strsep
    - calloc
    - dumpInAvroDataFloat
    - avro_file_reader_read_value
    - dumpInAvroDataUnsignedTinyInt
    - taos_stmt_add_batch
    - infoPrint
    - countFailureAndFree
    - dumpInAvroDataTinyInt
    - freeBindArray
    - errorPrint
    - findStbChange
    - FREE_DATAIMPL
    - snprintf
    - taos_errno
    - avro_value_get_string
    - taos_stmt_errstr
    - strcmp
    - warnPrint
    - assert
    - strlen
    - dumpInAvroDataUnsignedBigInt
    - dumpInAvroDataNChar
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpInAvroDataImpl( void **taos_v, char *namespace,
      avro_schema_t schema, avro_file_reader_t reader, RecordSchema *recordSchema,
      DBChange *pDbChange, StbChange *stbChange, const char *dbPath, char *fileName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6520,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6529,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6530,1
    - Dst: queryDbForDumpOutNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6524,1
    - Dst: writeResultDebugNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6527,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 8
    argNames:
    - index
    - fp
    - tbName
    - dbName
    - precision
    - tableDes
    - start_time
    - end_time
    argTypes:
    - int64_t
    - FILE*
    - char*
    - char*
    - int
    - TableDes*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 6533
      start: 6509
    functionDepth: 0
    functionLinenumber: 6509
    functionLinenumberEnd: 6533
    functionName: dumpTableDataDebugTsRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - writeResultDebugNative
    - taos_close
    - taos_free_result
    - queryDbForDumpOutNative
    - taosConnect
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpTableDataDebugTsRange( const int64_t index, FILE
      *fp, const char *tbName, const char* dbName, const int precision, TableDes *tableDes,
      const int64_t start_time, const int64_t end_time ) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9587,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9589,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9588,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9623,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9636,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9632,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9624,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9637,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9652,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9658,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9676,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9696,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9704,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9717,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9598,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9602,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9612,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9618,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9635,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9649,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9662,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9684,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9586,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9629,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9634,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9642,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9645,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9650,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9654,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9666,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9672,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9680,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9692,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9700,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9712,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9708,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9721,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9592,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9608,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9622,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9625,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9638,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9643,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9644,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9722,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9723,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9724,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9727,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9670,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9688,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 165
    argCount: 5
    argNames:
    - index
    - fields
    - row
    - lengths
    - fieldCount
    argTypes:
    - int
    - TAOS_FIELD*
    - TAOS_ROW
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 9733
      start: 9582
    functionDepth: 0
    functionLinenumber: 9582
    functionLinenumberEnd: 9733
    functionName: fillDBInfoWithFieldsNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint
    - min
    - strcmp
    - TOOLS_STRNCPY
    - errorPrint
    linkageType: ''
    returnType: bool
    signature: 'static bool fillDBInfoWithFieldsNative(const int index, const TAOS_FIELD
      *fields, const TAOS_ROW row, const int *lengths, int fieldCount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: queryCreateTableSql
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2292,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2300,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2301,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2299,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2298,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2301,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2302,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - taos_v
    - tableDes
    - numOfCols
    - fp
    - dbName
    argTypes:
    - void**
    - TableDes*
    - int
    - FILE*
    - char*
    constantsTouched: []
    func_position:
      end: 2307
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2307
    functionName: dumpCreateTableClause
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint
    - fprintf
    - free
    - queryCreateTableSql
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int dumpCreateTableClause( void ** taos_v, TableDes *tableDes,
      int numOfCols, FILE *fp, const char* dbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6543,1
    - Dst: dumpTableDataDebugTsRange
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6551,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:6544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 6
    argNames:
    - index
    - fp
    - tbName
    - dbInfo
    - precision
    - tableDes
    argTypes:
    - int64_t
    - FILE*
    - char*
    - SDbInfo*
    - int
    - TableDes*
    constantsTouched: []
    func_position:
      end: 6554
      start: 6535
    functionDepth: 0
    functionLinenumber: 6535
    functionLinenumberEnd: 6554
    functionName: dumpTableDataDebug
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - getStartTime
    - dumpTableDataDebugTsRange
    - getEndTime
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpTableDataDebug( const int64_t index, FILE *fp,
      const char *tbName, const SDbInfo* dbInfo, const int precision, TableDes *tableDes
      ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8443,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8446,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8451,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 8453
      start: 8438
    functionDepth: 0
    functionLinenumber: 8438
    functionLinenumberEnd: 8453
    functionName: queryDbImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_errstr
    - taosQuery
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int queryDbImplNative(TAOS *taos, char *command) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9740,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9753,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9750,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9745,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9742,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9755,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9758,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9760,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9764,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9770,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - taos
    - dbName
    - dbIndex
    argTypes:
    - void*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 9773
      start: 9735
    functionDepth: 0
    functionLinenumber: 9735
    functionLinenumberEnd: 9773
    functionName: fillDbExtraInfoV3Native
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - taos_free_result
    - taos_fetch_row
    - free
    - calloc
    - taosQuery
    - infoPrint
    - taos_fetch_fields
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int fillDbExtraInfoV3Native( void *taos, const char *dbName,
      const int dbIndex) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 303
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 303
    functionName: typeToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *typeToStr(int type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:951,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:955,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:963,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:964,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:970,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:966,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:989,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1011,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1014,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1016,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1034,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:938,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:965,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:987,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:990,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:979,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:974,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:995,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1033,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:994,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:999,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1032,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:946,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:950,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:948,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:961,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:967,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1004,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1006,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    - tryStable
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 1041
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1041
    functionName: getTableRecordInfoImplNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - strncpy
    - taos_fetch_row
    - min
    - free
    - memset
    - calloc
    - taos_close
    - taosQuery
    - strlen
    - taos_fetch_lengths
    - TOOLS_STRNCPY
    - taos_free_result
    - taos_errstr
    - errorPrint
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'static int getTableRecordInfoImplNative( char *dbName, char *table,
      TableRecordInfo *pTableRecordInfo, bool tryStable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1709,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1721,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1711,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1715,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1723,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1728,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1729,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1732,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1733,1
    - Dst: processFieldsValueV3
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1734,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1738,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1746,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1747,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1739,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1736,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 4
    argNames:
    - taos
    - dbName
    - table
    - ppTableDes
    argTypes:
    - TAOS*
    - char*
    - char*
    - TableDes**
    constantsTouched: []
    func_position:
      end: 1750
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1750
    functionName: getTableTagValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - taos_fetch_row
    - processFieldsValueV3
    - strcpy
    - free
    - calloc
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getTableTagValue( TAOS *taos, const char *dbName, const
      char *table, TableDes **ppTableDes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2993,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3002,1
    - Dst: getEndTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3000,1
    - Dst: getStartTime
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2999,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2995,1
    - Dst: queryDbForDumpOutCountNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3011,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - taos_v
    - dbName
    - tbName
    - precision
    argTypes:
    - void**
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 3014
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 3014
    functionName: queryDbForDumpOutCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - getStartTime
    - queryDbForDumpOutCountNative
    - calloc
    - errorPrint
    - getEndTime
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t queryDbForDumpOutCount( void **taos_v, const char *dbName,
      const char *tbName, const int precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5135,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5145,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5147,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5142,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5137,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5148,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5151,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5153,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5153,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - stmt
    - tbName
    - stbChange
    - recordSchema
    - nBindCols
    argTypes:
    - TAOS_STMT*
    - char*
    - StbChange*
    - RecordSchema*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5158
      start: 5128
    functionDepth: 0
    functionLinenumber: 5128
    functionLinenumberEnd: 5158
    functionName: stmtPrepare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - snprintf
    - debugPrint
    - sprintf
    - taos_stmt_errstr
    - free
    - calloc
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stmtPrepare(TAOS_STMT *stmt, char *tbName, StbChange
      *stbChange, RecordSchema *recordSchema, int32_t nBindCols) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8351,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8358,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8357,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8353,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8359,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8362,1
    - Dst: getline
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8365,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8371,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8372,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8373,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8377,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8380,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8384,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - fp
    - mark
    - fcharset
    argTypes:
    - FILE*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 8388
      start: 8348
    functionDepth: 0
    functionLinenumber: 8348
    functionLinenumberEnd: 8388
    functionName: loadFileMark
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - getline
    - strncpy
    - strncmp
    - calloc
    - strlen
    - fseek
    - tfree
    - fgets
    linkageType: ''
    returnType: void
    signature: 'static void loadFileMark(FILE *fp, char *mark, char *fcharset) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:309,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:313,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:311,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:315,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:318,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:320,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:322,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:331,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:333,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:324,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:335,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:337,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:329,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:339,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:341,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:343,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:306,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:307,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:316,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:323,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:326,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:328,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:346,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 1
    argNames:
    - type_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 351
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 351
    functionName: typeStrToType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int typeStrToType(const char *type_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: constructTableDesFromStb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1758,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - taos
    - dbName
    - stbTableDes
    - table
    - pptableDes
    argTypes:
    - TAOS*
    - char*
    - TableDes*
    - char*
    - TableDes**
    constantsTouched: []
    func_position:
      end: 1760
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1760
    functionName: getTableDesFromStbNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - getTableTagValue
    - constructTableDesFromStb
    linkageType: ''
    returnType: int
    signature: 'static inline int getTableDesFromStbNative( TAOS *taos, const char*
      dbName, const TableDes *stbTableDes, const char *table, TableDes **pptableDes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3019,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3025,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3021,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - taos
    - command
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 3027
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3027
    functionName: queryDbForDumpOutOffsetNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - taosQuery
    - free
    linkageType: ''
    returnType: TAOS_RES*
    signature: 'static TAOS_RES *queryDbForDumpOutOffsetNative(TAOS *taos, char *command) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8398,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8410,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8410,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8411,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8419,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8422,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8423,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8426,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8431,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8405,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8418,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8414,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8417,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8418,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8420,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8421,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8424,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8425,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8428,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8434,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8392,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8396,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8402,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8409,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8409,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8415,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 8436
      start: 8390
    functionDepth: 0
    functionLinenumber: 8390
    functionLinenumberEnd: 8436
    functionName: convertDbClauseForV3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - sprintf
    - strncmp
    - free
    - strcmp
    - strsep
    - strlen
    - atoi
    - strdup
    - errorPrint
    linkageType: ''
    returnType: bool
    signature: 'bool convertDbClauseForV3(char **cmd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:924,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:926,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:928,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:927,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - funcname
    - lineno
    - command
    - res
    argTypes:
    - char*
    - int
    - char*
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 930
    functionName: cleanIfQueryFailed
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - taos_errno
    - free
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int cleanIfQueryFailed(const char *funcname, int lineno, char
      *command, TAOS_RES *res) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: openQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1851,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1869,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1871,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1871,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1873,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1887,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1884,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1875,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1884,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1886,1
    - Dst: replaceCopy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1896,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1902,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1903,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1909,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1905,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1862,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1848,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1870,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1874,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1880,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1888,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1876,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1904,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1847,1
    - Dst: readRow
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1860,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1906,1
    - Dst: closeQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1889,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - taos_v
    - dbName
    - tbName
    argTypes:
    - void**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1913
    functionName: queryCreateTableSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - debugPrint
    - strncasecmp
    - closeQuery
    - memset
    - openQuery
    - readRow
    - strlen
    - calloc
    - replaceCopy
    - memcpy
    - errorPrint
    linkageType: ''
    returnType: char*
    signature: 'char *queryCreateTableSql(void** taos_v, const char *dbName, char
      *tbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeBindArray
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5122,1
    - Dst: freeTbNameIfLooseMode
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:5124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - bindArray
    - onlyCol
    - failed
    - tbName
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5120
    functionDepth: 0
    functionLinenumber: 5120
    functionLinenumberEnd: 5125
    functionName: countFailureAndFree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - freeTbNameIfLooseMode
    - freeBindArray
    linkageType: ''
    returnType: void
    signature: 'static void countFailureAndFree(char *bindArray, int32_t onlyCol,
      int64_t *failed, char *tbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:853,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:858,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:854,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:857,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:858,1
    - Dst: copyHumanTimeToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:859,1
    - Dst: copyTimestampToArg
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:861,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - input
    - isStartTime
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 864
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 864
    functionName: parseTimestampConvert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - exit
    - copyHumanTimeToArg
    - strchr
    - copyTimestampToArg
    - free
    - strdup
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void parseTimestampConvert(char *input, bool isStartTime) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1774,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1789,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1797,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1811,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1815,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1803,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1812,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1787,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1791,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1795,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1800,1
    - Dst: getTableTagValue
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1840,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1819,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1831,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1780,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1798,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1830,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1776,1
    - Dst: typeStrToType
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1805,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - taos
    - dbName
    - table
    - tableDes
    - colOnly
    argTypes:
    - TAOS*
    - char*
    - char*
    - TableDes*
    - bool
    constantsTouched: []
    func_position:
      end: 1841
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1841
    functionName: getTableDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - debugPrint
    - taos_fetch_row
    - strncpy
    - min
    - getTableTagValue
    - typeStrToType
    - free
    - strcmp
    - calloc
    - taosQuery
    - taos_fetch_lengths
    - TOOLS_STRNCPY
    - taos_free_result
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int getTableDes(TAOS *taos, const char* dbName, const char *table,
      TableDes *tableDes, const bool colOnly) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_THREAD_NAME
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8573,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8574,1
    - Dst: openDumpInFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8584,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8586,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8581,1
    - Dst: dumpInOneDebugFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8591,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8596,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8597,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8601,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8602,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8606,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 8610
      start: 8571
    functionDepth: 0
    functionLinenumber: 8571
    functionLinenumberEnd: 8610
    functionName: dumpInDebugWorkThreadFp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - snprintf
    - fclose
    - openDumpInFile
    - SET_THREAD_NAME
    - okPrint
    - atomic_add_fetch_64
    - dumpInOneDebugFile
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'static void * dumpInDebugWorkThreadFp(void *arg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9785,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9795,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9800,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9806,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9817,1
    - Dst: fillDBInfoWithFieldsNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9832,1
    - Dst: fillDbExtraInfoV3Native
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9838,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9852,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9789,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9797,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9830,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9853,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9779,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9781,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9791,1
    - Dst: inDatabasesSeq
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9813,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9822,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9824,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9794,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9798,1
    - Dst: isSystemDatabase
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9808,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 1
    argNames:
    - taos
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 9860
      start: 9775
    functionDepth: 0
    functionLinenumber: 9775
    functionLinenumberEnd: 9860
    functionName: fillDbInfoNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - taos_field_count
    - strncpy
    - taos_fetch_row
    - isSystemDatabase
    - fillDBInfoWithFieldsNative
    - inDatabasesSeq
    - free
    - strcmp
    - calloc
    - taosQuery
    - okPrint
    - taos_fetch_lengths
    - taos_free_result
    - taos_fetch_fields
    - errorPrint
    - fillDbExtraInfoV3Native
    linkageType: ''
    returnType: int
    signature: 'static int fillDbInfoNative(void *taos) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10394,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10504,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10464,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10623,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10663,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10688,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10378,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10476,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10494,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10576,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10631,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10642,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10703,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10693,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10483,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10392,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10411,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10535,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10564,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10582,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10592,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10656,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10579,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10605,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10438,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10473,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10543,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10523,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10412,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10437,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10640,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10659,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10665,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10678,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10409,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10428,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10446,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10519,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10532,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10590,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10614,1
    - Dst: freeRecordSchema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10697,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10559,1
    - Dst: parse_json_for_inspect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10434,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10500,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10551,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10556,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10569,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10607,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10670,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10701,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10496,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10536,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10439,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10493,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10530,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10502,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10578,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10586,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10643,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10694,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10515,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10479,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10380,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10413,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10610,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10616,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10636,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10382,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10414,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10475,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10541,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10491,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10488,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10575,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10583,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10585,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10646,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10702,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10512,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10521,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10698,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10472,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10526,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10381,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10399,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10401,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10436,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10570,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10573,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10598,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10676,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10510,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10507,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10419,1
    - Dst: tfree
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10429,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10561,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10593,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10596,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10621,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10633,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10648,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10672,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10393,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10417,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10408,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10450,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10516,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10553,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10485,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10555,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10539,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10470,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10533,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10654,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10705,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10513,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10379,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10448,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10466,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10699,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10497,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10546,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10452,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10549,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10406,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10420,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10422,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10426,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10682,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 258
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 10708
      start: 10374
    functionDepth: 0
    functionLinenumber: 10374
    functionLinenumberEnd: 10708
    functionName: inspectAvroFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - avro_generic_class_from_schema
    - avro_value_get_int
    - tfree
    - avro_schema_to_json
    - avro_value_get_double
    - avro_value_get_long
    - json_decref
    - freeRecordSchema
    - avro_value_get_size
    - avro_writer_free
    - avro_generic_value_new
    - strcasecmp
    - debugPrint
    - avro_schema_decref
    - print_json
    - fprintf
    - avro_value_get_null
    - avro_value_get_by_name
    - printf
    - calloc
    - avro_writer_memory
    - avro_file_reader_read_value
    - avro_file_reader
    - errorPrint
    - avro_file_reader_close
    - avro_strerror
    - parse_json_for_inspect
    - avro_value_get_string
    - avro_value_decref
    - avro_value_get_boolean
    - strcmp
    - avro_value_iface_decref
    - strlen
    - avro_value_get_float
    - avro_file_reader_get_writer_schema
    - verbosePrint
    - load_json
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int inspectAvroFile(char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9290,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9302,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9307,1
    - Dst: cleanIfQueryFailed
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9318,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9344,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9284,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9286,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9315,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9326,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9324,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9343,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9310,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9323,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9327,1
    - Dst: taosQuery
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9298,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9300,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9301,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9303,1
    - Dst: dumpStbAndChildTb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9331,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9337,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fpDbs
    argTypes:
    - TAOS**
    - SDbInfo*
    - FILE*
    constantsTouched: []
    func_position:
      end: 9347
      start: 9280
    functionDepth: 0
    functionLinenumber: 9280
    functionLinenumberEnd: 9347
    functionName: dumpStbAndChildTbOfDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - cleanIfQueryFailed
    - snprintf
    - strncpy
    - taos_fetch_row
    - debugPrint
    - free
    - calloc
    - taosQuery
    - taos_fetch_lengths
    - taos_free_result
    - taos_errstr
    - errorPrint
    - dumpStbAndChildTb
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpStbAndChildTbOfDb( TAOS **taos_v, SDbInfo *dbInfo,
      FILE *fpDbs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:871,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:875,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:874,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:880,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:872,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:881,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:882,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:885,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:886,1
    - Dst: parseTimestampConvert
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:891,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - argc
    - argv
    - arguments
    argTypes:
    - int
    - char*
    - SArguments*
    constantsTouched: []
    func_position:
      end: 894
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 894
    functionName: parse_timestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - parseTimestampConvert
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void parse_timestamp( int argc, char *argv[], SArguments *arguments) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8626,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8687,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8684,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8698,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8702,1
    - Dst: getFilesNum
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8616,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8618,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8666,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8674,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8668,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8677,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8688,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8701,1
    - Dst: freeFileList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8704,1
    - Dst: createDumpinList
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8622,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8630,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8657,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8661,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8678,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8627,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8629,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8667,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8683,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8672,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8693,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8697,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 8707
      start: 8612
    functionDepth: 0
    functionLinenumber: 8612
    functionLinenumberEnd: 8707
    functionName: dumpInDebugWorkThreads
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - exit
    - debugPrint
    - getFilesNum
    - strncpy
    - pthread_create
    - free
    - calloc
    - taos_close
    - strerror
    - atomic_add_fetch_64
    - verbosePrint
    - freeFileList
    - createDumpinList
    - errorPrint
    - pthread_join
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'static int dumpInDebugWorkThreads(const char *dbPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10714,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10717,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10715,1
    - Dst: inspectAvroFile
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:10716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 10721
      start: 10710
    functionDepth: 0
    functionLinenumber: 10710
    functionLinenumberEnd: 10721
    functionName: inspectAvroFiles
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - fprintf
    - inspectAvroFile
    linkageType: ''
    returnType: int
    signature: 'static int inspectAvroFiles(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableRecordInfoImplNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1046,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1054,1
    - Dst: getTableRecordInfoImplNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1049,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - dbName
    - table
    - pTableRecordInfo
    argTypes:
    - char*
    - char*
    - TableRecordInfo*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1056
    functionName: getTableRecordInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - getTableRecordInfoImplNative
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getTableRecordInfo( char *dbName, char *table, TableRecordInfo
      *pTableRecordInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4844,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4855,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4848,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4854,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4851,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4858
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4858
    functionName: dumpInAvroDataBinary
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strlen
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_string
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataBinary(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createDirForDbDump
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9376,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9386,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9381,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9379,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9384,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - dbInfo
    argTypes:
    - SDbInfo*
    constantsTouched: []
    func_position:
      end: 9392
      start: 9372
    functionDepth: 0
    functionLinenumber: 9372
    functionLinenumberEnd: 9392
    functionName: createDbsSqlPerDb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - snprintf
    - strerror
    - fopen
    - createDirForDbDump
    - errorPrint
    linkageType: ''
    returnType: FILE*
    signature: 'static FILE *createDbsSqlPerDb(SDbInfo *dbInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1060,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1065,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1073
    functionName: isSystemDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool isSystemDatabase(char *dbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4866,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4868,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4872,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4867,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4871,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4873,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4874,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4879,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4880,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4881,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4886,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4883,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4891
      start: 4860
    functionDepth: 0
    functionLinenumber: 4860
    functionLinenumberEnd: 4891
    functionName: dumpInAvroDataDouble
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - avro_value_get_double
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataDouble(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9396,1
    - Dst: dumpCreateDbClause
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9412,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9398,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9414,1
    - Dst: createDbsSqlPerDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9405,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9416,1
    - Dst: dumpStbAndChildTbOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9421,1
    - Dst: dumpNTablesOfDb
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9424,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - taos_v
    - dbInfo
    - fp
    argTypes:
    - void**
    - SDbInfo*
    - FILE*
    constantsTouched: []
    func_position:
      end: 9431
      start: 9394
    functionDepth: 0
    functionLinenumber: 9394
    functionLinenumberEnd: 9431
    functionName: dumpWholeDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpStbAndChildTbOfDb
    - fclose
    - dumpCreateDbClause
    - fprintf
    - createDbsSqlPerDb
    - dumpNTablesOfDb
    - atomic_add_fetch_64
    - infoPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t dumpWholeDatabase(void **taos_v, SDbInfo *dbInfo, FILE
      *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2879,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2887,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2879,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2882,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - dbName
    - stable
    - tbName
    - tableDes
    - colCount
    - jsonSchema
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2888
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2888
    functionName: convertTbDesToJsonLoose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - calloc
    - convertTbDesToJsonImpl
    - errorPrint
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: 'static int convertTbDesToJsonLoose( const char *dbName, const char
      *stable, const char *tbName, TableDes *tableDes, int colCount, char **jsonSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3746,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3748,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3752,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3755,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3753,1
    - Dst: appendValues
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3756,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3759
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3759
    functionName: dumpInAvroTagNChar
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_bytes
    - appendValues
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagNChar(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4899,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4901,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4900,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4904,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4905,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4906,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4907,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4912,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4913,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4914,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4919,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4916,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4924
      start: 4893
    functionDepth: 0
    functionLinenumber: 4893
    functionLinenumberEnd: 4924
    functionName: dumpInAvroDataFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    - avro_value_get_float
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataFloat(FieldStruct *field, avro_value_t *value,
      TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8953,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8968,1
    - Dst: generateFilename
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8960,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8954,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8965,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8973,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8976,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8978,1
    - Dst: dumpTablesOfStbNative
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8983,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:8985,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 8990
      start: 8950
    functionDepth: 0
    functionLinenumber: 8950
    functionLinenumberEnd: 8990
    functionName: dumpTablesOfStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - dumpTablesOfStbNative
    - debugPrint
    - fclose
    - strerror
    - fopen
    - generateFilename
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'static void *dumpTablesOfStbThread(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2897,1
    - Dst: convertTbDesToJsonImpl
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2905,1
    - Dst: getTbDesJsonSize
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2897,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:2900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - dbName
    - stable
    - tbName
    - tableDes
    - colCount
    - jsonSchema
    argTypes:
    - char*
    - char*
    - char*
    - TableDes*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 2906
      start: 2890
    functionDepth: 0
    functionLinenumber: 2890
    functionLinenumberEnd: 2906
    functionName: convertTbDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - calloc
    - convertTbDesToJsonImpl
    - errorPrint
    - getTbDesJsonSize
    linkageType: ''
    returnType: int
    signature: 'static int convertTbDesToJson( const char *dbName, const char *stable,
      const char *tbName, TableDes *tableDes, int colCount, char **jsonSchema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3765,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3768,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3767,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3772,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3766,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3773,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3774,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3780,1
    - Dst: verbosePrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3781,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3785,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3786,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3789,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:3790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - field
    - value
    - sqlstr
    - curr_sqlstr_len
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3796
      start: 3761
    functionDepth: 0
    functionLinenumber: 3761
    functionLinenumberEnd: 3796
    functionName: dumpInAvroTagTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - sprintf
    - avro_value_get_null
    - verbosePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpInAvroTagTimeStamp(FieldStruct *field, avro_value_t
      *value, char *sqlstr, int32_t curr_sqlstr_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4932,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4938,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4933,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4937,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4935,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4939,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4940,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4945,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4946,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4947,1
    - Dst: debugPrint2
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:4948,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - field
    - value
    - bind
    - is_null
    argTypes:
    - FieldStruct*
    - avro_value_t*
    - TAOS_MULTI_BIND*
    - char*
    constantsTouched: []
    func_position:
      end: 4952
      start: 4926
    functionDepth: 0
    functionLinenumber: 4926
    functionLinenumberEnd: 4952
    functionName: dumpInAvroDataTimeStamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - malloc
    - avro_value_get_long
    - debugPrint2
    - avro_value_get_current_branch
    - avro_value_get_null
    linkageType: ''
    returnType: void
    signature: 'static void dumpInAvroDataTimeStamp(FieldStruct *field, avro_value_t
      *value, TAOS_MULTI_BIND *bind, char *is_null) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9008,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9026,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9035,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9030,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9038,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9049,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9000,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9003,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9013,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9027,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9039,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9006,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9004,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9044,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9033,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9053,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9057,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9061,1
    - Dst: TOOLS_ASSERT
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9005,1
    - Dst: taosConnect
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9012,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9014,1
    - Dst: getPrecisionByString
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9024,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9045,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9048,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/taosdump.c:9060,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 4
    argNames:
    - dbInfo
    - stbDes
    - tbNameArr
    - tbCount
    argTypes:
    - SDbInfo*
    - TableDes*
    - char**
    - int64_t
    constantsTouched: []
    func_position:
      end: 9063
      start: 8992
    functionDepth: 0
    functionLinenumber: 8992
    functionLinenumberEnd: 9063
    functionName: dumpSTableData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/taosdump.c
    functionUses: []
    functionsReached:
    - TOOLS_ASSERT
    - exit
    - pthread_create
    - strcpy
    - free
    - calloc
    - getPrecisionByString
    - taos_close
    - strerror
    - infoPrint
    - errorPrint
    - pthread_join
    - taosConnect
    linkageType: ''
    returnType: int
    signature: 'int dumpSTableData(SDbInfo* dbInfo, TableDes* stbDes, char** tbNameArr,
      int64_t tbCount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:38,1
    - Dst: pthread_mutex_init
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:41,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - mutex
    - attr
    argTypes:
    - TdThreadMutex*
    - TdThreadMutexAttr*
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: taosThreadMutexInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - pthread_mutex_init
    - InitializeCriticalSection
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosThreadMutexInit(TdThreadMutex *mutex, const TdThreadMutexAttr
      *attr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:99,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: initLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - printf
    linkageType: ''
    returnType: bool
    signature: 'bool initLog() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:67,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:72,1
    - Dst: pthread_mutex_lock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: taosThreadMutexLock
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - EnterCriticalSection
    - TAOS_SYSTEM_ERROR
    - pthread_mutex_lock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosThreadMutexLock(TdThreadMutex *mutex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: exitLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void exitLog() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: lockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void lockLog(int8_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - idx
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: unlockLog
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void unlockLog(int8_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:52,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:57,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: taosThreadMutexDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - DeleteCriticalSection
    - pthread_mutex_destroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosThreadMutexDestroy(TdThreadMutex *mutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:81,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:84,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/tools/taos-tools/src/benchLog.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: taosThreadMutexUnlock
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchLog.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - pthread_mutex_unlock
    - LeaveCriticalSection
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosThreadMutexUnlock(TdThreadMutex *mutex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:140,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:141,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - num
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 169
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 169
    functionName: tools_strnatoi
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tools_strnatoi(char *num, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 7
    argNames:
    - year0
    - mon0
    - day
    - hour
    - min
    - sec
    - time_zone
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - int64_t
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: tools_user_mktime64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tools_user_mktime64(const unsigned int year0, const unsigned
      int mon0, const unsigned int day, const unsigned int hour, const unsigned int
      min, const unsigned int sec, int64_t time_zone) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:288,1
    - Dst: clock_gettime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - clock_id
    - pTS
    argTypes:
    - int
    - struct timespec*
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: toolsClockGetTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - clock_gettime
    - GetSystemTimeAsFileTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toolsClockGetTime(int clock_id, struct timespec *pTS) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: usleep
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mseconds
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: toolsMsleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - usleep
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void toolsMsleep(int32_t mseconds) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:205,1
    - Dst: tools_strnatoi
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:212,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - str
    - end
    - timePrec
    argTypes:
    - char*
    - char**
    - int32_t
    constantsTouched: []
    func_position:
      end: 216
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 216
    functionName: parseFraction
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - tools_strnatoi
    - assert
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t parseFraction(char* str, char** end, int32_t timePrec) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:251,1
    - Dst: tools_strnatoi
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:255,1
    - Dst: tools_strnatoi
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:269,1
    - Dst: tools_strnatoi
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:258,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - str
    - tzOffset
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 281
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 281
    functionName: toolsParseTimezone
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - strchr
    - tools_strnatoi
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toolsParseTimezone(char* str, int64_t* tzOffset) '
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:338,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:343,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:352,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:357,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:394,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:397,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:431,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:444,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:451,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:456,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:525,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:551,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:495,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:351,1
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:318,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:356,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:390,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:414,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:419,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:452,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:459,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:465,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:471,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:476,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:533,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:491,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:477,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:526,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:487,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:362,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:367,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:377,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:382,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:372,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:393,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:398,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:411,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:443,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:460,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:482,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:520,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:484,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:504,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:466,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:509,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:503,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:532,1
    - Dst: strptime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:563,1
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:317,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:361,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:371,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:366,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:376,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:381,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:415,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:418,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:430,1
    - Dst: LEGAL_ALT
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:448,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:472,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:521,1
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:552,1
    - Dst: conv_num
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:516,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 163
    argCount: 3
    argNames:
    - buf
    - fmt
    - tm
    argTypes:
    - char*
    - char*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 565
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 565
    functionName: toolsStrpTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - isspace
    - LEGAL_ALT
    - strptime
    - strncmp
    - strcmp
    - strlen
    - conv_num
    - toolsStrpTime
    linkageType: ''
    returnType: char*
    signature: 'char *toolsStrpTime(const char *buf, const char *fmt, struct tm *tm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateWaitableTimer
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:801,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:804,1
    - Dst: SetWaitableTimer
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:802,1
    - Dst: WaitForSingleObject
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - usec
    argTypes:
    - __int64
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: usleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - CreateWaitableTimer
    - SetWaitableTimer
    - CloseHandle
    - WaitForSingleObject
    linkageType: ''
    returnType: void
    signature: 'void usleep(__int64 usec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:823,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:844,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:842,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:825,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:832,1
    - Dst: FileTimeToSystemTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:852,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:863,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:865,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 3
    argNames:
    - timep
    - result
    - buf
    argTypes:
    - time_t*
    - struct tm*
    - char*
    constantsTouched: []
    func_position:
      end: 869
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 869
    functionName: tLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - sprintf
    - localtime_r
    - localtime
    - FileTimeToSystemTime
    - localtime_s
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm *tLocalTime(const time_t *timep, struct tm *result, char
      *buf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:900,1
    - Dst: tLocalTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:897,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:903,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:905,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:907,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 911
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 911
    functionName: toolsFormatTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - strftime
    - tLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *toolsFormatTimestamp(char *buf, int64_t val, int32_t precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - haystack
    - needle
    - len
    - skipquote
    argTypes:
    - char*
    - char
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: tools_strnchr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *tools_strnchr(char *haystack, char needle, int32_t len, bool
      skipquote) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:660,1
    - Dst: tools_user_mktime64
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:677,1
    - Dst: parseFraction
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:683,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 693
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 693
    functionName: parseLocaltime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - parseFraction
    - tools_user_mktime64
    - toolsStrpTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseLocaltime(char* timestr, int64_t* time, int32_t timePrec,
      char delim) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_strnchr
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:733,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:735,1
    - Dst: checkTzPresent
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:740,1
    - Dst: checkTzPresent
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:734,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - timestr
    - time
    - len
    - timePrec
    - day_light
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 746
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 746
    functionName: toolsParseTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - tools_strnchr
    - checkTzPresent
    - parseTimeWithTz
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toolsParseTime(char* timestr, int64_t* time, int32_t len,
      int32_t timePrec, int8_t day_light) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 757
    functionName: toolsGetTimestampSec
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - time
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t toolsGetTimestampSec() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: toolsGetTimestampMs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int64_t toolsGetTimestampMs() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 136
    functionName: forwardToTimeStringEnd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * forwardToTimeStringEnd(char* str) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:702,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:704,1
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:714,1
    - Dst: parseFraction
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:720,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 729
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 729
    functionName: parseLocaltimeWithDst
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - mktime
    - parseFraction
    - toolsStrpTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseLocaltimeWithDst(char* timestr, int64_t* time, int32_t
      timePrec, char delim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:750,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:752,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - timep
    - result
    argTypes:
    - time_t*
    - struct tm*
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: toolsLocalTime
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - localtime_r
    - localtime_s
    linkageType: ''
    returnType: struct tm*
    signature: 'struct tm * toolsLocalTime(const time_t *timep, struct tm *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimeOfDay
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 789
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 789
    functionName: toolsGetTimestampUs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - toolsGetTimeOfDay
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int64_t toolsGetTimestampUs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsClockGetTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 813
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 813
    functionName: toolsGetTimestampNs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - toolsClockGetTime
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int64_t toolsGetTimestampNs() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - dest
    - llim
    - ulim
    argTypes:
    - char**
    - int*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: conv_num
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int conv_num(const char **buf, int *dest, int llim, int ulim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTimeAsFileTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:764,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tv
    argTypes:
    - struct timeval*
    constantsTouched: []
    func_position:
      end: 776
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 776
    functionName: toolsGetTimeOfDay
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - GetSystemTimeAsFileTime
    - gettimeofday
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t toolsGetTimeOfDay(struct timeval *tv) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:577,1
    - Dst: toolsStrpTime
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:579,1
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:597,1
    - Dst: tools_user_mktime64
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:590,1
    - Dst: timegm
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:593,1
    - Dst: parseFraction
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:604,1
    - Dst: toolsParseTimezone
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:617,1
    - Dst: toolsParseTimezone
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:628,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 75
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 638
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 638
    functionName: parseTimeWithTz
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - parseFraction
    - timegm
    - toolsParseTimezone
    - forwardToTimeStringEnd
    - tools_user_mktime64
    - toolsStrpTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseTimeWithTz(char* timestr, int64_t* time, int32_t timePrec,
      char delim) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/tools/taos-tools/src/toolstime.c:641,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 652
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 652
    functionName: checkTzPresent
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolstime.c
    functionUses: []
    functionsReached:
    - forwardToTimeStringEnd
    linkageType: ''
    returnType: bool
    signature: 'bool checkTzPresent(char *str, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedExchangeAdd64
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:29,1
    - Dst: __atomic_add_fetch
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:33,1
    - Dst: __sync_add_and_fetch
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - int64_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: atomic_add_fetch_64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - __sync_add_and_fetch
    - __atomic_add_fetch
    - InterlockedExchangeAdd64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t atomic_add_fetch_64(int64_t volatile* ptr, int64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:48,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - program
    - wrong_arg
    - wrong_value
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: errorWrongValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void errorWrongValue(char *program, char *wrong_arg, char *wrong_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemInfo
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:40,1
    - Dst: sysconf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: toolsGetNumberOfCores
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - sysconf
    - GetSystemInfo
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t toolsGetNumberOfCores() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:64,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: errorPrintReqArg2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void errorPrintReqArg2(char *program, char *wrong_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:55,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: errorPrintReqArg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void errorPrintReqArg(char *program, char *wrong_arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:73,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - program
    - wrong_arg
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: errorPrintReqArg3
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void errorPrintReqArg3(char *program, char *wrong_arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:83,1
    - Dst: GetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:85,1
    - Dst: tcgetattr
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:98,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:91,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:99,1
    - Dst: tcsetattr
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:108,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/toolsSys.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - 'on'
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: setConsoleEcho
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsSys.c
    functionUses: []
    functionsReached:
    - GetConsoleMode
    - tcgetattr
    - tcsetattr
    - SetConsoleMode
    - perror
    - GetStdHandle
    linkageType: ''
    returnType: int
    signature: 'int setConsoleEcho(bool on) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:56,1
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:58,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:59,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:57,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:60,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:61,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: toolsLibFuncInclude
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: []
    functionsReached:
    - fread
    - srand
    - strtod
    - realloc
    - assert
    - rand
    - fputs
    linkageType: ''
    returnType: void
    signature: 'void toolsLibFuncInclude() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strnlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:43,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:44,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: stpncpy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: []
    functionsReached:
    - strnlen
    - memcpy
    - memset
    linkageType: ''
    returnType: char*
    signature: 'char *stpncpy(char *dest, const char *src, int n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:51,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: stpcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: char*
    signature: 'char *stpcpy(char *dest, const char *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:67,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/src/toolsString.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: toolsIsStringNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: []
    functionsReached:
    - strlen
    - isdigit
    linkageType: ''
    returnType: bool
    signature: 'bool toolsIsStringNumber(char *input) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - stringp
    - delim
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 38
    functionName: strsep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsString.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *strsep(char **stringp, const char *delim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - db
    - stb
    - tableName
    - pstr
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: genDelPreSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genDelPreSql(SDataBase* db, SSuperTable* stb, char* tableName,
      char* pstr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:294,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:303,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:295,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:301,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:298,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:308,1
    - Dst: GET_IDX
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:308,1
    - Dst: dataGenByField
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:320,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:324,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 6
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 327
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 327
    functionName: genRowMixAll
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - snprintf
    - sprintf
    - dataGenByField
    - GET_IDX
    - RD
    - benchArrayGet
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genRowMixAll(threadInfo* info, SSuperTable* stb, char* pstr,
      uint32_t len, int64_t ts, int64_t* k) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:497,1
    - Dst: appendRowRuleOld
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:508,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:501,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:503,1
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:498,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:513,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:518,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:519,1
    - Dst: appendRowRuleMix
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:522,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:539,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:585,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:608,1
    - Dst: fillBatchWithBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:581,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:592,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:567,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:557,1
    - Dst: fillBatchWithBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:553,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 10
    argNames:
    - info
    - stb
    - mix
    - pStartTime
    - pstr
    - slen
    - pBatT
    - pkCur
    - pkCnt
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - SMixRatio*
    - int64_t*
    - char*
    - uint32_t
    - STotal*
    - int32_t*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 611
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 611
    functionName: genBatchSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - debugPrint
    - sprintf
    - appendRowRuleOld
    - strstr
    - FORCE_TAKEOUT
    - RD
    - appendRowRuleMix
    - infoPrint
    - fillBatchWithBuf
    - FULL_DISORDER
    - needChangeTs
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genBatchSql(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, int64_t* pStartTime, char* pstr, uint32_t slen, STotal* pBatT, int32_t
      *pkCur, int32_t *pkCnt, int64_t *k) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:779,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:828,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:855,1
    - Dst: checkSqlsResult
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:884,1
    - Dst: genBatchDelSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:901,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:904,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:909,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:912,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:953,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:975,1
    - Dst: mixRatioExit
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:997,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:976,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:945,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:984,1
    - Dst: genInsertPreSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:835,1
    - Dst: genBatchSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:848,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:885,1
    - Dst: genDelPreSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:899,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:905,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:924,1
    - Dst: executeSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:925,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:927,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:935,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:936,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1018,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:787,1
    - Dst: mixRatioInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:811,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:816,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:829,1
    - Dst: appendEndCheckSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:880,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:851,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:949,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:955,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:961,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:967,1
    - Dst: checkCorrect
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:973,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1011,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:794,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:786,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:847,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:858,1
    - Dst: FAILED_BREAK
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:893,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:854,1
    - Dst: needExecDel
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:898,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:911,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:929,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:937,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:943,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1007,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:985,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:947,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:1020,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:985,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 169
    argCount: 3
    argNames:
    - info
    - db
    - stb
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 1023
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 1023
    functionName: insertDataMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - appendEndCheckSql
    - sprintf
    - queryCnt
    - checkSqlsResult
    - checkCorrect
    - needExecDel
    - executeSql
    - genDelPreSql
    - execInsert
    - benchArrayPush
    - benchCalloc
    - FULL_DISORDER
    - genBatchDelSql
    - fclose
    - succPrint
    - debugPrint
    - toolsGetTimestampUs
    - memset
    - infoPrint
    - errorPrint
    - mixRatioInit
    - genInsertPreSql
    - toolsMsleep
    - perfPrint
    - tmfree
    - mixRatioExit
    - toolsGetTimestampMs
    - generateTagData
    - FAILED_BREAK
    - genBatchSql
    - openTagCsv
    linkageType: ''
    returnType: bool
    signature: 'bool insertDataMix(threadInfo* info, SDataBase* db, SSuperTable* stb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:332,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:341,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:336,1
    - Dst: dataGenByCalcTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:337,1
    - Dst: GET_IDX
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 344
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 344
    functionName: genRowTsCalc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - dataGenByCalcTs
    - benchArrayGet
    - snprintf
    - GET_IDX
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genRowTsCalc(threadInfo* info, SSuperTable* stb, char* pstr,
      uint32_t len, int64_t ts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:399,1
    - Dst: takeRowOutToBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:405,1
    - Dst: NEED_TAKEOUT_ROW_TOBUF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:403,1
    - Dst: FORCE_TAKEOUT
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:400,1
    - Dst: createColsData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:411,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:416,1
    - Dst: NEED_TAKEOUT_ROW_TOBUF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:420,1
    - Dst: takeRowOutToBuf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:421,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 8
    argNames:
    - info
    - stb
    - mix
    - pstr
    - len
    - ts
    - pGenRows
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - SMixRatio*
    - char*
    - uint32_t
    - int64_t
    - uint32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 425
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 425
    functionName: appendRowRuleMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - NEED_TAKEOUT_ROW_TOBUF
    - debugPrint
    - FORCE_TAKEOUT
    - createColsData
    - takeRowOutToBuf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t appendRowRuleMix(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, char* pstr, uint32_t len, int64_t ts, uint32_t* pGenRows, int64_t *k) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:156,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:157,1
    - Dst: SWAP
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - cols
    - max
    - cnt
    argTypes:
    - uint16_t*
    - uint16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 160
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 160
    functionName: randomFillCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - RD
    - SWAP
    linkageType: ''
    returnType: void
    signature: 'void randomFillCols(uint16_t* cols, uint16_t max, uint16_t cnt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:258,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:262,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:266,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:280,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - stb
    - pstr
    - len
    - timestamp
    argTypes:
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: appendRowRuleOld
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - RD
    - snprintf
    - debugPrint
    - taosRandom
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t appendRowRuleOld(SSuperTable* stb, char* pstr, uint32_t len,
      int64_t timestamp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - mix
    - type
    - ts
    argTypes:
    - SMixRatio*
    - uint8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: takeRowOutToBuf
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool takeRowOutToBuf(SMixRatio* mix, uint8_t type, int64_t ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:164,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:169,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:165,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:170,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - info
    - stb
    argTypes:
    - threadInfo*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 175
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 175
    functionName: genBatColsNames
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - calloc
    - benchArrayGet
    - strcpy
    - strcat
    linkageType: ''
    returnType: char*
    signature: 'char * genBatColsNames(threadInfo* info, SSuperTable* stb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:708,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:723,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:713,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:719,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:716,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:727,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:734,1
    - Dst: queryTS
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:737,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:740,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:744,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:748,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:754,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:759,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 5
    argNames:
    - info
    - db
    - stb
    - tbName
    - lastTs
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 762
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 762
    functionName: checkCorrect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - sprintf
    - queryCnt
    - queryTS
    - infoPrint
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: bool
    signature: 'bool checkCorrect(threadInfo* info, SDataBase* db, SSuperTable* stb,
      char* tbName, int64_t lastTs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: genRowMixAll
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:353,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:363,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:358,1
    - Dst: genRowTsCalc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:355,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - info
    - stb
    - pstr
    - len
    - ts
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - char*
    - uint32_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: createColsData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - RD
    - snprintf
    - genRowTsCalc
    - genRowMixAll
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t createColsData(threadInfo* info, SSuperTable* stb, char*
      pstr, uint32_t len, int64_t ts, int64_t* k) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:75,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:104,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - mix
    - stb
    argTypes:
    - SMixRatio*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 111
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 111
    functionName: mixRatioInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - calloc
    - FULL_DISORDER
    - memset
    linkageType: ''
    returnType: void
    signature: 'void mixRatioInit(SMixRatio* mix, SSuperTable* stb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ABS_DIFF
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:621,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:632,1
    - Dst: FULL_DISORDER
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:639,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:638,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:639,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:644,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:645,1
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:648,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:652,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 8
    argNames:
    - stb
    - mix
    - batStartTime
    - taos
    - tbName
    - pstr
    - slen
    - sql
    argTypes:
    - SSuperTable*
    - SMixRatio*
    - int64_t
    - TAOS*
    - char*
    - char*
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 656
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 656
    functionName: genBatchDelSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - snprintf
    - sprintf
    - RD
    - queryCnt
    - ABS_DIFF
    - FULL_DISORDER
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genBatchDelSql(SSuperTable* stb, SMixRatio* mix, int64_t
      batStartTime, TAOS* taos, char* tbName, char* pstr, uint32_t slen, char * sql) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - mix
    argTypes:
    - SMixRatio*
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: mixRatioExit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void mixRatioExit(SMixRatio* mix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:660,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - info
    argTypes:
    - threadInfo*
    constantsTouched: []
    func_position:
      end: 669
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 669
    functionName: appendEndCheckSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: 'void appendEndCheckSql(threadInfo* info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - mix
    argTypes:
    - SMixRatio*
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: needExecDel
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool needExecDel(SMixRatio* mix) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:187,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:199,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:203,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:195,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:192,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:210,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:217,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:230,1
    - Dst: randomFillCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:232,1
    - Dst: genBatColsNames
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:235,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:237,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:236,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 7
    argNames:
    - info
    - db
    - stb
    - tableName
    - tagData
    - tableSeq
    - pstr
    argTypes:
    - threadInfo*
    - SDataBase*
    - SSuperTable*
    - char*
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 240
    functionName: genInsertPreSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - snprintf
    - sprintf
    - randomFillCols
    - free
    - RD
    - genBatColsNames
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genInsertPreSql(threadInfo* info, SDataBase* db, SSuperTable*
      stb, char* tableName, char* tagData, uint64_t tableSeq, char* pstr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:435,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:468,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:466,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:458,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:467,1
    - Dst: createColsData
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:472,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:475,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 11
    argNames:
    - info
    - stb
    - mix
    - startTime
    - pstr
    - len
    - pGenRows
    - type
    - maxFill
    - force
    - k
    argTypes:
    - threadInfo*
    - SSuperTable*
    - SMixRatio*
    - int64_t
    - char*
    - uint32_t
    - uint32_t*
    - uint8_t
    - uint32_t
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 484
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 484
    functionName: fillBatchWithBuf
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - debugPrint
    - sprintf
    - strstr
    - RD
    - createColsData
    - infoPrint
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t fillBatchWithBuf(threadInfo* info, SSuperTable* stb, SMixRatio*
      mix, int64_t startTime, char* pstr, uint32_t len, uint32_t* pGenRows, uint8_t
      type, uint32_t maxFill, bool force, int64_t *k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: queryCnt
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:682,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:689,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:688,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:690,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsertMix.c:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - info
    - rowsCnt
    - tbName
    - loop
    argTypes:
    - threadInfo*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 697
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 697
    functionName: checkSqlsResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsertMix.c
    functionUses: []
    functionsReached:
    - infoPrint
    - queryCnt
    - errorPrint
    linkageType: ''
    returnType: bool
    signature: 'bool checkSqlsResult(threadInfo* info, int32_t rowsCnt, char* tbName,
      int32_t loop) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:19,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:27,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:22,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:20,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - sql
    argTypes:
    - TAOS*
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: executeSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_query
    - taos_errno
    - printErrCmdCodeStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t executeSql(TAOS* taos, char* sql) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:62,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:71,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:70,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:63,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:65,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:72,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:74,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:84,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - taos
    - sql
    - pVal
    argTypes:
    - TAOS*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: queryTS
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_fetch_row
    - taos_errno
    - printErrCmdCodeStr
    - taos_free_result
    - taos_fetch_fields
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryTS(TAOS* taos, char* sql, int64_t* pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:34,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:42,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:43,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:37,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:35,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:44,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:46,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/wrapDb.c:56,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - taos
    - sql
    - pVal
    argTypes:
    - TAOS*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: queryCnt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/wrapDb.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_fetch_row
    - taos_errno
    - printErrCmdCodeStr
    - taos_free_result
    - taos_fetch_fields
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryCnt(TAOS* taos, char* sql, int64_t* pVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:478,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:484,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:485,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:492,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:487,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:495,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:496,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:499,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:502,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:503,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:514,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:507,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:516,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:509,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:520,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:506,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - conn
    - database
    argTypes:
    - SBenchConn*
    - SDataBase*
    constantsTouched: []
    func_position:
      end: 523
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 523
    functionName: getVgroupsNative
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - debugPrint
    - taos_fetch_row
    - taos_errno
    - printErrCmdCodeStr
    - benchArrayInit
    - taos_free_result
    - benchArrayGet
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVgroupsNative(SBenchConn *conn, SDataBase *database) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:799,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:804,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:800,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 8
    argNames:
    - len
    - buffer
    - database
    - stbInfo
    - tableSeq
    - tagData
    - i
    - ttl
    argTypes:
    - int
    - char*
    - SDataBase*
    - SSuperTable*
    - uint64_t
    - char*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 814
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 814
    functionName: generateChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - memset
    linkageType: ''
    returnType: int
    signature: "static int generateChildTblName(int len, char *buffer, SDataBase *database,\r
      SSuperTable *stbInfo, uint64_t tableSeq, char* tagData, int i,\r char *ttl) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:835,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pThreadInfo
    - stbInfo
    argTypes:
    - threadInfo*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 844
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 844
    functionName: getIntervalOfTblCreating
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: "static int getIntervalOfTblCreating(threadInfo *pThreadInfo,\r SSuperTable
      *stbInfo) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1112,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1115,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1127,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1119,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1123,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1139,1
    - Dst: startMultiThreadCreateChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1142,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1150,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1154,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1167
    functionName: createChildTables
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - startMultiThreadCreateChildTable
    - succPrint
    - infoPrintToFile
    - debugPrint
    - toolsGetTimestampMs
    - infoPrint
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: 'static int createChildTables() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1528,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1534,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pThreadInfo
    - mode
    argTypes:
    - threadInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1543
    functionName: cleanupAndPrint
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - succPrint
    - tools_cJSON_Delete
    linkageType: ''
    returnType: void
    signature: 'static void cleanupAndPrint(threadInfo *pThreadInfo, char *mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2512,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2520,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2535,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 9
    argNames:
    - pThreadInfo
    - tableSeq
    - sampleDataBuf
    - timestamp
    - i
    - ttl
    - protocol
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - uint64_t
    - char*
    - int64_t*
    - uint64_t
    - char*
    - int
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2548
    functionName: prepareProgressDataSmlLineOrTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - needChangeTs
    - snprintf
    - makeTimestampDisorder
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataSmlLineOrTelnet(\r threadInfo *pThreadInfo,
      uint64_t tableSeq, char *sampleDataBuf,\r int64_t *timestamp, uint64_t i, char
      *ttl, int protocol, int32_t *pkCur, int32_t *pkCnt) "
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3748,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3761,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3771,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3780,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3783,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3798,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3847,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3864,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3867,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3868,1
    - Dst: generateSmlJsonValues
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3890,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3898,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3913,1
    - Dst: generateSmlJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3872,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3887,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3888,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3919,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3885,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3750,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3790,1
    - Dst: initStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3781,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3804,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3800,1
    - Dst: copyBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3807,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3827,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3829,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3834,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3859,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3905,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3917,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3741,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3746,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3773,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3810,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3817,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3841,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3845,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3862,1
    - Dst: generateSmlTaosJsonTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3878,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3883,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3904,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3908,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3922,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3900,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3921,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3770,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3773,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3791,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3783,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3802,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3809,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3833,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3851,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3869,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3886,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3909,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 176
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3934
      start: 3733
    functionDepth: 0
    functionLinenumber: 3733
    functionLinenumberEnd: 3934
    functionName: genInsertTheadInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - accumulateRowLen
    - taos_stmt_close
    - taos_select_db
    - generateSmlTaosJsonTags
    - taos_errstr
    - new_ds
    - generateRandData
    - benchCalloc
    - benchArrayGet
    - initStmt2
    - generateSmlJsonTags
    - debugPrint
    - taos_stmt2_close
    - tools_cJSON_CreateArray
    - memset
    - benchArrayInit
    - copyBArray
    - generateSmlJsonValues
    - initBenchConn
    - errorPrint
    - tmfree
    - snprintf
    - queryDbExecCall
    - createSockFd
    - initStmt
    linkageType: ''
    returnType: void*
    signature: 'void *genInsertTheadInfo(void* arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4012,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4029,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4032,1
    - Dst: pthread_tryjoin_np
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4027,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4015,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4041,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4043,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4049,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4060,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4063,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4067,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - limitThread
    - infos
    - pids
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - int32_t
    - threadInfo*
    - pthread_t*
    constantsTouched: []
    func_position:
      end: 4070
      start: 4011
    functionDepth: 0
    functionLinenumber: 4011
    functionLinenumberEnd: 4070
    functionName: runInsertLimitThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - pthread_tryjoin_np
    - tmfree
    - debugPrint
    - pthread_create
    - infoPrint
    - benchCalloc
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t runInsertLimitThread(SDataBase* database, SSuperTable* stbInfo,
      int32_t nthreads, int32_t limitThread, threadInfo *infos, pthread_t *pids) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:530,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:555,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:549,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:552,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:537,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:563,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:567,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:572,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:583,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:588,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:596,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:592,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 3
    argNames:
    - database
    - command
    - remainVnodes
    argTypes:
    - SDataBase*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 602
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 602
    functionName: geneDbCreateCmd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - trimCaseCmp
    - infoPrint
    - benchArrayGet
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int geneDbCreateCmd(SDataBase *database, char *command, int remainVnodes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pThreadInfo
    - stbInfo
    argTypes:
    - threadInfo*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: getBatchOfTblCreating
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    linkageType: ''
    returnType: int
    signature: "static int getBatchOfTblCreating(threadInfo *pThreadInfo,\r SSuperTable
      *stbInfo) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1549,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - stbInfo
    - disorderRange
    argTypes:
    - SSuperTable*
    - int*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1563
    functionName: getDisorderTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - taosRandom
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getDisorderTs(SSuperTable *stbInfo, int *disorderRange) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prepareProgressDataSmlLineOrTelnet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2569,1
    - Dst: prepareProgressDataSmlJsonText
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2576,1
    - Dst: prepareProgressDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2582,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2588,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 14
    argCount: 8
    argNames:
    - pThreadInfo
    - childTbl
    - tableSeq
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - SChildTable*
    - uint64_t
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2594
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2594
    functionName: prepareProgressDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - prepareProgressDataSmlLineOrTelnet
    - prepareProgressDataSmlJsonText
    - errorPrint
    - prepareProgressDataSmlJson
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataSml(\r threadInfo *pThreadInfo,\r
      SChildTable *childTbl,\r uint64_t tableSeq,\r int64_t *timestamp, uint64_t i,
      char *ttl, int32_t *pkCur, int32_t *pkCnt) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseBufferToStmtBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3723,1
    - Dst: parseBufferToStmtBatchChildTbl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - bind_ts_array
    - stbInfo
    argTypes:
    - uint64_t*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3731
      start: 3722
    functionDepth: 0
    functionLinenumber: 3722
    functionLinenumberEnd: 3731
    functionName: initTsArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - parseBufferToStmtBatchChildTbl
    - parseBufferToStmtBatch
    linkageType: ''
    returnType: void
    signature: 'void initTsArray(uint64_t *bind_ts_array, SSuperTable* stbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4075,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4090,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4081,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4083,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4091,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - pids
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - pthread_t*
    constantsTouched: []
    func_position:
      end: 4095
      start: 4074
    functionDepth: 0
    functionLinenumber: 4074
    functionLinenumberEnd: 4095
    functionName: runInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - infoPrint
    - pthread_create
    - pthread_join
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t runInsertThread(SDataBase* database, SSuperTable* stbInfo,
      int32_t nthreads, threadInfo *infos, pthread_t *pids) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4359,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4364,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4367,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4362,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4361,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dbName
    - stbName
    - taos
    argTypes:
    - char*
    - char*
    - TAOS*
    constantsTouched: []
    func_position:
      end: 4375
      start: 4356
    functionDepth: 0
    functionLinenumber: 4356
    functionLinenumberEnd: 4375
    functionName: getStbInsertedRows
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_fetch_row
    - taos_errno
    - printErrCmdCodeStr
    - taos_free_result
    linkageType: ''
    returnType: int
    signature: 'static int getStbInsertedRows(char* dbName, char* stbName, TAOS* taos) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1037,1
    - Dst: FREE_PIDS_INFOS_RETURN_MINUS_1
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1065,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1045,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1038,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1063,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1069,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1079,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1081,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1086,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1089,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1106,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1105,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1096,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1108
    functionName: startMultiThreadCreateChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - pthread_create
    - FREE_PIDS_INFOS_RETURN_MINUS_1
    - free
    - closeBenchConn
    - infoPrint
    - createSockFd
    - initBenchConn
    - benchCalloc
    - pthread_join
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: 'static int startMultiThreadCreateChildTable(SDataBase* database, SSuperTable*
      stbInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1192,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1203,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1211,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1216,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1233,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1222,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1246,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1252,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1253,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1264,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1201,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1207,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1214,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1229,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1224,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1232,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1221,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1235,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1270,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1274,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1212,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1226,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1237,1
    - Dst: freeChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1247,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1261,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1282,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1198,1
    - Dst: tmfclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1194,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1219,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1218,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1255,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1271,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1278,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1281,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1283,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1284
    functionName: postFreeResource
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - freeChildTable
    - benchArrayDestroy
    - tmfclose
    - free
    - tools_cJSON_Delete
    - infoPrint
    - benchArrayGet
    linkageType: ''
    returnType: void
    signature: 'void postFreeResource() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: submitStmt2Impl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1713,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1733,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1735,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1726,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1728,1
    - Dst: reConnectStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1736,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1739,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 8
    argNames:
    - pThreadInfo
    - bindv
    - delay1
    - delay3
    - startTs
    - endTs
    - generated
    - w
    argTypes:
    - threadInfo*
    - TAOS_STMT2_BINDV*
    - int64_t*
    - int64_t*
    - int64_t*
    - int64_t*
    - uint32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1750
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1750
    functionName: submitStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - submitStmt2Impl
    - infoPrint
    - reConnectStmt2
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: "int32_t submitStmt2(threadInfo * pThreadInfo, TAOS_STMT2_BINDV *bindv,
      int64_t *delay1, int64_t *delay3,\r int64_t* startTs, int64_t* endTs, uint32_t*
      generated, int32_t w) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3315,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3321,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3322,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3320,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3316,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3323,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3325,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - stbInfo
    - childTbl
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - SChildTable*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 3329
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3329
    functionName: parseBufferToStmtBatchChildTbl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - initStmtData
    - initStmtDataValue
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: "static int parseBufferToStmtBatchChildTbl(SSuperTable *stbInfo,\r
      SChildTable* childTbl, uint64_t *bind_ts_array) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3352,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3357,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3362
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3362
    functionName: fillChildTblNameByCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - strdup
    - snprintf
    - debugPrint
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t fillChildTblNameByCount(SSuperTable *stbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3694,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3702,1
    - Dst: taos_stmt_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3695,1
    - Dst: taos_stmt_init_with_options
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3703,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 3704
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3704
    functionName: initStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - infoPrint
    - taos_stmt_init
    - taos_stmt_init_with_options
    - memset
    linkageType: ''
    returnType: TAOS_STMT*
    signature: 'TAOS_STMT * initStmt(TAOS* taos, bool single) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3709,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3717,1
    - Dst: taos_stmt2_init
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3713,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3715,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - taos
    - single
    argTypes:
    - TAOS*
    - bool
    constantsTouched: []
    func_position:
      end: 3719
      start: 3707
    functionDepth: 0
    functionLinenumber: 3707
    functionLinenumberEnd: 3719
    functionName: initStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - succPrint
    - taos_stmt2_init
    - errorPrint
    - memset
    linkageType: ''
    returnType: TAOS_STMT2*
    signature: 'TAOS_STMT2 * initStmt2(TAOS* taos, bool single) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4709,1
    - Dst: bindVColsProgressive
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4741,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4743,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4737,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4731,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4744,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4750,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4754,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4756,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4759,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4759,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4762,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 12
    argNames:
    - pThreadInfo
    - childTbl
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    - delay1
    - delay3
    - startTs
    - endTs
    - w
    argTypes:
    - threadInfo*
    - SChildTable*
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    - int64_t*
    - int64_t*
    - int64_t*
    - int64_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4766
      start: 4701
    functionDepth: 0
    functionLinenumber: 4701
    functionLinenumberEnd: 4766
    functionName: stmt2BindAndSubmit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - freeBindV
    - bindVColsProgressive
    - showBindV
    - infoPrint
    - createBindV
    - errorPrint
    - submitStmt2
    - taos_stmt2_error
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t stmt2BindAndSubmit(\r threadInfo *pThreadInfo,\r SChildTable
      *childTbl,\r int64_t *timestamp, uint64_t i, char *ttl, int32_t *pkCur, int32_t
      *pkCnt, int64_t *delay1,\r int64_t *delay3, int64_t* startTs, int64_t* endTs,
      int32_t w) "
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1779,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1936,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1952,1
    - Dst: new_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2222,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2268,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1890,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1926,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1972,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2195,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2230,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2093,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2247,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1987,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1765,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1786,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1929,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1984,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2092,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2124,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1855,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1957,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2050,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2263,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2236,1
    - Dst: generateSmlJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2098,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2295,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2056,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1862,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2221,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2225,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2143,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1969,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2269,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2233,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1817,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1945,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2007,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2291,1
    - Dst: loadChildTableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1773,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1809,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1874,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2013,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2104,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2114,1
    - Dst: submitStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2188,1
    - Dst: ds_add_str
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1869,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1937,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2000,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2089,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2103,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2136,1
    - Dst: showBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2186,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2109,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2020,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2199,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1882,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1939,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1975,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2260,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2166,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2194,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1767,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1787,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1756,1
    - Dst: createBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1803,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1810,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1921,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2010,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2008,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2017,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2170,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1905,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2001,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2168,1
    - Dst: bindVColsInterlace
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2067,1
    - Dst: bindVTags
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2062,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2219,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2266,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2238,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1895,1
    - Dst: ds_add_strs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1948,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1954,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1993,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2202,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2245,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2278,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1865,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2280,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2293,1
    - Dst: freeBindV
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2296,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 357
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2298
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 2298
    functionName: syncWriteInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_stmt_set_tbname
    - bindParamBatch
    - tools_cJSON_GetArrayItem
    - execInsert
    - new_ds
    - benchArrayPush
    - benchCalloc
    - fclose
    - tools_cJSON_PrintUnformatted
    - bindVTags
    - ds_len
    - toolsGetTimestamp
    - ds_add_strs
    - generateSmlJsonCols
    - tools_cJSON_Duplicate
    - debugPrint
    - freeBindV
    - generateSmlTaosJsonCols
    - free_ds
    - toolsGetTimestampUs
    - tools_cJSON_CreateArray
    - prepareStmt
    - memset
    - showBindV
    - needChangeTs
    - infoPrint
    - getDisorderTs
    - errorPrint
    - prepareStmt2
    - perfPrint
    - toolsMsleep
    - tmfree
    - snprintf
    - ds_add_str
    - taos_stmt_errstr
    - cleanupAndPrint
    - tools_cJSON_Delete
    - toolsGetTimestampMs
    - generateTagData
    - bindVColsInterlace
    - createBindV
    - loadChildTableInfo
    - submitStmt2
    - openTagCsv
    linkageType: ''
    returnType: void*
    signature: 'static void *syncWriteInterlace(void *sarg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3335,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3340,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3338,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3339,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3341,1
    - Dst: initStmtData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3343,1
    - Dst: initStmtDataValue
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - stbInfo
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 3347
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3347
    functionName: parseBufferToStmtBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - initStmtData
    - initStmtDataValue
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'static int parseBufferToStmtBatch(SSuperTable* stbInfo, uint64_t *bind_ts_array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3368,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3376
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3376
    functionName: fillChildTblNameByFromTo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - strdup
    - snprintf
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t fillChildTblNameByFromTo(SDataBase *database,\r SSuperTable*
      stbInfo) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3554,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3561,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3559,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3562,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3563,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3565,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3566,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3570,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3572,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3573,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3582,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3585,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3584,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3581,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3588
      start: 3553
    functionDepth: 0
    functionLinenumber: 3553
    functionLinenumberEnd: 3588
    functionName: fillSTableLastTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_free_result
    - toolsFormatTimestamp
    - taos_errno
    - taos_fetch_row
    - printErrCmdCodeStr
    - closeBenchConn
    - memset
    - infoPrint
    - initBenchConn
    linkageType: ''
    returnType: bool
    signature: 'static bool fillSTableLastTs(SDataBase *database, SSuperTable *stbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3380,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3399,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3398,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3386,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3392,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3400,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3403,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3404,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3408,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3409,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3418,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3410,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3419,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3411,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3414,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3421
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3421
    functionName: fillChildTblNameByLimitOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - debugPrint
    - taos_errno
    - taos_fetch_row
    - strncpy
    - printErrCmdCodeStr
    - closeBenchConn
    - taos_fetch_lengths
    - taos_free_result
    - initBenchConn
    - benchCalloc
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t fillChildTblNameByLimitOffset(SDataBase *database,\r
      SSuperTable* stbInfo) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4516,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4521,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4518,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4527
      start: 4514
    functionDepth: 0
    functionLinenumber: 4514
    functionLinenumberEnd: 4527
    functionName: changeGlobalIface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - infoPrint
    - benchArrayGet
    linkageType: ''
    returnType: void
    signature: 'void changeGlobalIface() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4379,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4385,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4390,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - tsma
    - conn
    - stbName
    argTypes:
    - TSMA*
    - SBenchConn*
    - char*
    constantsTouched: []
    func_position:
      end: 4392
      start: 4377
    functionDepth: 0
    functionLinenumber: 4377
    functionLinenumberEnd: 4392
    functionName: create_tsma
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - queryDbExecCall
    - snprintf
    - infoPrint
    linkageType: ''
    returnType: void
    signature: 'static void create_tsma(TSMA* tsma, SBenchConn* conn, char* stbName) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4537,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4552,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4553,1
    - Dst: createDatabase
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4561,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4577,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4578,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4574,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4573,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4566,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4615,1
    - Dst: changeGlobalIface
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4534,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4547,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4551,1
    - Dst: createSuperTable
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4598,1
    - Dst: fillSTableLastTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4605,1
    - Dst: calcExprFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4610,1
    - Dst: fillChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4614,1
    - Dst: prepareTagsStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4623,1
    - Dst: createChildTables
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4665,1
    - Dst: createStream
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4671,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4646,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4641,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4532,1
    - Dst: getVgroupsNative
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4571,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4657,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4669,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4683,1
    - Dst: startMultiThreadInsertData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4688,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4652,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4680,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4530,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4538,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4562,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4585,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4569,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4588,1
    - Dst: getSuperTableFromServer
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4592,1
    - Dst: prepareSampleData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4617,1
    - Dst: queryDbExec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4630,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4687,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 119
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4695
      start: 4529
    functionDepth: 0
    functionLinenumber: 4529
    functionLinenumberEnd: 4695
    functionName: insertTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - encodeAuthBase64
    - getSuperTableFromServer
    - closeBenchConn
    - prepareTagsStmt
    - createChildTables
    - startMultiThreadInsertData
    - prompt
    - benchCalloc
    - prepareSampleData
    - createDatabase
    - getVgroupsNative
    - benchArrayGet
    - changeGlobalIface
    - createStream
    - succPrint
    - isRest
    - pthread_create
    - createSuperTable
    - fillSTableLastTs
    - queryDbExec
    - infoPrint
    - fillChildTblName
    - initBenchConn
    - errorPrint
    - convertServAddr
    - calcExprFromServer
    linkageType: ''
    returnType: int
    signature: 'int insertTestProcess() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:49,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:54,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: getSuperTableFromServerRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - createSockFd
    - postProcessSql
    - destroySockFd
    linkageType: ''
    returnType: int
    signature: "static int getSuperTableFromServerRest(\r SDataBase* database, SSuperTable*
      stbInfo, char *command) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:692,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:749,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:734,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:745,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:762,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:766,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:774,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:757,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:742,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:775,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:699,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:705,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:714,1
    - Dst: getRemainVnodes
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:732,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:725,1
    - Dst: geneDbCreateCmd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:741,1
    - Dst: getVgroupsNative
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:772,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:704,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:701,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:708,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:709,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:719,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:722,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:748,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:763,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:781,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    constantsTouched: []
    func_position:
      end: 783
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 783
    functionName: createDatabaseTaosc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - queryDbExecCall
    - getVgroupsNative
    - getRemainVnodes
    - warnPrint
    - closeBenchConn
    - memset
    - infoPrint
    - benchArrayGet
    - initBenchConn
    - errorPrint
    - geneDbCreateCmd
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: 'int createDatabaseTaosc(SDataBase* database) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1613,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1618,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1635,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1620,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1627,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1637,1
    - Dst: initStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1641,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1643,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1643,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1647,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1649,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1650,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    constantsTouched: []
    func_position:
      end: 1655
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1655
    functionName: reCreateConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - initStmt2
    - succPrint
    - closeBenchConn
    - taos_select_db
    - taos_errstr
    - taos_stmt2_close
    - initBenchConn
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reCreateConn(threadInfo * pThreadInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2307,1
    - Dst: taos_stmt_set_tbname
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2314,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2316,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2313,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2310,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2319,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2322,1
    - Dst: bindParamBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2329,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 10
    argNames:
    - pThreadInfo
    - childTbl
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    - delay1
    - delay2
    - delay3
    argTypes:
    - threadInfo*
    - SChildTable*
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    - int64_t*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2337
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2337
    functionName: prepareProgressDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - taos_stmt_set_tbname
    - taos_stmt_errstr
    - toolsGetTimestampUs
    - bindParamBatch
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataStmt(\r threadInfo *pThreadInfo,\r
      SChildTable *childTbl,\r int64_t *timestamp, uint64_t i, char *ttl, int32_t
      *pkCur, int32_t *pkCnt, int64_t *delay1, int64_t *delay2, int64_t *delay3) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2371,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2390,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2380,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2383,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2377,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2393,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2399,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2402,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2408,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2411,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2440,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2442,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2436,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2429,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2424,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 7
    argNames:
    - pThreadInfo
    - tableSeq
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - uint64_t
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2445
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2445
    functionName: prepareProgressDataSmlJsonText
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - debugPrint
    - strncat
    - makeTimestampDisorder
    - needChangeTs
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataSmlJsonText(\r threadInfo *pThreadInfo,\r
      uint64_t tableSeq,\r int64_t *timestamp, uint64_t i, char *ttl, int32_t *pkCur,
      int32_t *pkCnt) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2609,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - stbInfo
    - pkCur
    - pkCnt
    argTypes:
    - SSuperTable*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2627
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2627
    functionName: needChangeTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - RD
    linkageType: ''
    returnType: bool
    signature: 'bool needChangeTs(SSuperTable * stbInfo, int32_t *pkCur, int32_t *pkCnt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3474,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3499,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3490,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3480,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3497,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3502,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3505,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 9
    argNames:
    - database
    - totalDelay
    - totalDelay1
    - totalDelay2
    - totalDelay3
    - total_delay_list
    - threads
    - totalInsertRows
    - spend
    argTypes:
    - SDataBase*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - BArray*
    - int
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 3512
      start: 3458
    functionDepth: 0
    functionLinenumber: 3458
    functionLinenumberEnd: 3512
    functionName: printTotalDelay
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - succPrint
    - sprintf
    linkageType: ''
    returnType: int
    signature: "static int printTotalDelay(SDataBase *database,\r int64_t totalDelay,\r
      int64_t totalDelay1,\r int64_t totalDelay2,\r int64_t totalDelay3,\r BArray
      *total_delay_list,\r int threads,\r int64_t totalInsertRows,\r int64_t spend) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3528,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3538,1
    - Dst: fillChildTblNameImp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3544,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3532,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3550
      start: 3526
    functionDepth: 0
    functionLinenumber: 3526
    functionLinenumberEnd: 3550
    functionName: fillChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - fillChildTblNameImp
    - fillChildTblNameByCount
    - strdup
    - benchCalloc
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t fillChildTblName(SDataBase *database, SSuperTable *stbInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:72,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:78,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:99,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:110,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:132,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:151,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:158,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:161,1
    - Dst: searchBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:148,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:77,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:80,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:85,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:95,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:117,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:118,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:120,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:122,1
    - Dst: searchBArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:129,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:139,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:82,1
    - Dst: taos_fetch_fields_e
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:96,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:112,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:101,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:114,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:121,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:140,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:159,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:166,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:141,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:100,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:105,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:113,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:125,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:131,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:133,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:150,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:152,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:144,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    constantsTouched: []
    func_position:
      end: 171
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 171
    functionName: getSuperTableFromServerTaosc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - searchBArray
    - taos_free_result
    - taos_fetch_fields_e
    - strncasecmp
    - taos_errno
    - taos_fetch_row
    - taos_num_fields
    - closeBenchConn
    - strlen
    - convertStringToDatatype
    - taos_fetch_lengths
    - infoPrint
    - initBenchConn
    - errorPrint
    linkageType: ''
    returnType: int
    signature: "static int getSuperTableFromServerTaosc(\r SDataBase *database, SSuperTable
      *stbInfo, char *command) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:787,1
    - Dst: createDatabaseTaosc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:790,1
    - Dst: createDatabaseRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    constantsTouched: []
    func_position:
      end: 793
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 793
    functionName: createDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - createDatabaseTaosc
    - createDatabaseRest
    - isRest
    linkageType: ''
    returnType: int
    signature: 'int createDatabase(SDataBase* database) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2343,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - timestamp
    - stbInfo
    argTypes:
    - int64_t*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2356
    functionName: makeTimestampDisorder
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - taosRandom
    linkageType: ''
    returnType: void
    signature: "static void makeTimestampDisorder(\r int64_t *timestamp, SSuperTable
      *stbInfo) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2459,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2460,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2465,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2475,1
    - Dst: generateSmlTaosJsonCols
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2466,1
    - Dst: makeTimestampDisorder
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2480,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2488,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2491,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2493,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 7
    argNames:
    - pThreadInfo
    - tableSeq
    - timestamp
    - i
    - ttl
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - uint64_t
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2497
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2497
    functionName: prepareProgressDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - tools_cJSON_Duplicate
    - debugPrint
    - tools_cJSON_PrintUnformatted
    - generateSmlTaosJsonCols
    - tools_cJSON_GetArrayItem
    - debugPrintJsonNoTime
    - makeTimestampDisorder
    - needChangeTs
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataSmlJson(\r threadInfo *pThreadInfo,\r
      uint64_t tableSeq,\r int64_t *timestamp, uint64_t i, char *ttl, int32_t *pkCur,
      int32_t *pkCnt) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2647,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2666,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2678,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2690,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2657,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2700,1
    - Dst: getDisorderTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2705,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2706,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2718,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 12
    argNames:
    - pThreadInfo
    - childTbl
    - tagData
    - tableSeq
    - sampleDataBuf
    - timestamp
    - i
    - ttl
    - pos
    - len
    - pkCur
    - pkCnt
    argTypes:
    - threadInfo*
    - SChildTable*
    - char*
    - uint64_t
    - char*
    - int64_t*
    - uint64_t
    - char*
    - int32_t*
    - uint64_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2733
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2733
    functionName: prepareProgressDataSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - needChangeTs
    - getDisorderTs
    - snprintf
    - debugPrint
    linkageType: ''
    returnType: int32_t
    signature: "static int32_t prepareProgressDataSql(\r threadInfo *pThreadInfo,\r
      SChildTable *childTbl, \r char* tagData,\r uint64_t tableSeq,\r char *sampleDataBuf,\r
      int64_t *timestamp, uint64_t i, char *ttl,\r int32_t *pos, uint64_t *len, int32_t*
      pkCur, int32_t* pkCnt) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fillChildTblNameByLimitOffset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3517,1
    - Dst: fillChildTblNameByCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3521,1
    - Dst: fillChildTblNameByFromTo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3524
      start: 3514
    functionDepth: 0
    functionLinenumber: 3514
    functionLinenumberEnd: 3524
    functionName: fillChildTblNameImp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - fillChildTblNameByFromTo
    - fillChildTblNameByCount
    - fillChildTblNameByLimitOffset
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t fillChildTblNameImp(SDataBase *database, SSuperTable
      *stbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3592,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3599,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3597,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3600,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3601,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3603,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3604,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3608,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3610,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3611,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3616,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3623,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3620,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3622,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3626
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3626
    functionName: calcExprFromServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_free_result
    - toolsFormatTimestamp
    - taos_errno
    - taos_fetch_row
    - printErrCmdCodeStr
    - closeBenchConn
    - memset
    - infoPrint
    - initBenchConn
    linkageType: ''
    returnType: bool
    signature: 'static bool calcExprFromServer(SDataBase *database, SSuperTable *stbInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4296,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4314,1
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4327,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4337,1
    - Dst: runInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4341,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4273,1
    - Dst: assignTableToThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4294,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4301,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4326,1
    - Dst: initInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4318,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4322,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4331,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4320,1
    - Dst: runInsertLimitThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4335,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4344,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4283,1
    - Dst: obtainTableCount
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4281,1
    - Dst: preProcessArgument
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4278,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4315,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4321,1
    - Dst: exitInsertThread
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 4354
      start: 4270
    functionDepth: 0
    functionLinenumber: 4270
    functionLinenumberEnd: 4354
    functionName: startMultiThreadInsertData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - infoPrint
    - assignTableToThread
    - runInsertLimitThread
    - preProcessArgument
    - initInsertThread
    - toolsGetTimestampUs
    - prompt
    - obtainTableCount
    - errorPrint
    - runInsertThread
    - benchCalloc
    - exitInsertThread
    linkageType: ''
    returnType: int
    signature: 'static int startMultiThreadInsertData(SDataBase* database, SSuperTable*
      stbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1579,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1582,1
    - Dst: taos_load_table_info
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1588,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1585,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1581,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1592,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1593,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1596,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - threadInfo*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1597
    functionName: loadChildTableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - sprintf
    - toolsGetTimestampUs
    - infoPrint
    - benchCalloc
    - taos_load_table_info
    linkageType: ''
    returnType: void
    signature: 'void loadChildTableInfo(threadInfo* pThreadInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4432,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4431,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4450,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4462,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4477,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4474,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4480,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4498,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4502,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4429,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4442,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4454,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4455,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4493,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4508,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4510,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4428,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4440,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4443,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4470,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4466,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4458,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4484,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4488,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4491,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4495,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4437,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4501,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 1
    argNames:
    - stream
    argTypes:
    - SSTREAM*
    constantsTouched: []
    func_position:
      end: 4512
      start: 4426
    functionDepth: 0
    functionLinenumber: 4426
    functionLinenumberEnd: 4512
    functionName: createStream
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - queryDbExecCall
    - closeBenchConn
    - memset
    - infoPrint
    - initBenchConn
    - benchCalloc
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStream(SSTREAM* stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4397,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4404,1
    - Dst: getStbInsertedRows
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4408,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4402,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4403,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4411,1
    - Dst: create_tsma
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4413,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4419,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4421,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4422,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4424
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4424
    functionName: create_tsmas
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - getStbInsertedRows
    - benchArrayDestroy
    - closeBenchConn
    - create_tsma
    - taos_select_db
    - benchArrayGet
    - initBenchConn
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: void*
    signature: 'static void * create_tsmas(void* args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:177,1
    - Dst: getSuperTableFromServerRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:182,1
    - Dst: getSuperTableFromServerTaosc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: getSuperTableFromServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - getSuperTableFromServerRest
    - snprintf
    - getSuperTableFromServerTaosc
    linkageType: ''
    returnType: int
    signature: 'static int getSuperTableFromServer(SDataBase* database, SSuperTable*
      stbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:239,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:245,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:243,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:242,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:240,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - col
    - buf
    argTypes:
    - Field*
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: getCompressStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - strlen
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int getCompressStr(Field* col, char* buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:608,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:629,1
    - Dst: geneDbCreateCmd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:634,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:619,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:614,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:635,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:646,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:649,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:650,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - database
    argTypes:
    - SDataBase*
    constantsTouched: []
    func_position:
      end: 666
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 666
    functionName: createDatabaseRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - snprintf
    - destroySockFd
    - postProcessSql
    - infoPrint
    - createSockFd
    - errorPrint
    - geneDbCreateCmd
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: 'int createDatabaseRest(SDataBase* database) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1174,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1176,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1180,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1184,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1178,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1186,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - childTbl
    - colsSize
    argTypes:
    - SChildTable*
    - int
    constantsTouched: []
    func_position:
      end: 1189
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1189
    functionName: freeChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - tmfree
    - benchArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeChildTable(SChildTable *childTbl, int colsSize) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1303,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1308,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1330,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1331,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1365,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1356,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1391,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1424,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1464,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1309,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1304,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1349,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1351,1
    - Dst: taos_stmt2_exec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1372,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1374,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1395,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1445,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1317,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1352,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1350,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1374,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1377,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1381,1
    - Dst: taos_schemaless_insert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1398,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1408,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1415,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1437,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1451,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1306,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1318,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1328,1
    - Dst: taos_stmt_execute
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1361,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1363,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1394,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1397,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1419,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1422,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1429,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1441,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 127
    argCount: 3
    argNames:
    - pThreadInfo
    - k
    - delay3
    argTypes:
    - threadInfo*
    - uint32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1475
    functionName: execInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_stmt_execute
    - taos_free_result
    - snprintf
    - debugPrint
    - taos_errno
    - queryDbExecCall
    - taos_stmt_errstr
    - taos_stmt2_error
    - toolsGetTimestampUs
    - strlen
    - taos_stmt2_exec
    - postProcessSql
    - taos_stmt_add_batch
    - infoPrint
    - taos_errstr
    - taos_schemaless_insert
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t execInsert(threadInfo *pThreadInfo, uint32_t k, int64_t *delay3) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reCreateConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1660,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1666,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pThreadInfo
    - w
    argTypes:
    - threadInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1672
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1672
    functionName: reConnectStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - reCreateConn
    - prepareStmt2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reConnectStmt2(threadInfo * pThreadInfo, int32_t w) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2766,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2773,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2779,1
    - Dst: prepareStmt2
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2833,1
    - Dst: prepareProgressDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2882,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2901,1
    - Dst: prepareProgressDataSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2859,1
    - Dst: prepareStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2827,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2905,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2943,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2975,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2988,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3032,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3060,1
    - Dst: executeSql
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2971,1
    - Dst: loadChildTableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2740,1
    - Dst: insertDataMix
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2743,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2754,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2767,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2818,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2902,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2956,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2991,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2996,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3000,1
    - Dst: cleanupAndPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3058,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3062,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2962,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2756,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2798,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2849,1
    - Dst: stmt2BindAndSubmit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2874,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2911,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2916,1
    - Dst: smartContinueIfFail
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2929,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2949,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2960,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2970,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3030,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3012,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3027,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2748,1
    - Dst: prepareProgressDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2868,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2923,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2964,1
    - Dst: perfPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:2973,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3010,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3024,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3033,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3042,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3044,1
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3007,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3004,1
    CyclomaticComplexity: 100
    EdgeCount: 100
    ICount: 218
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3064
      start: 2735
    functionDepth: 0
    functionLinenumber: 2735
    functionLinenumberEnd: 3064
    functionName: syncWriteProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - sprintf
    - executeSql
    - execInsert
    - benchArrayPush
    - benchCalloc
    - smartContinueIfFail
    - fclose
    - prepareProgressDataStmt
    - prepareProgressDataSql
    - insertDataMix
    - debugPrint
    - tools_cJSON_CreateArray
    - toolsGetTimestampUs
    - prepareStmt
    - memset
    - prepareProgressDataSml
    - infoPrint
    - prepareStmt2
    - perfPrint
    - toolsMsleep
    - tmfree
    - snprintf
    - cleanupAndPrint
    - tools_cJSON_Delete
    - warnPrint
    - toolsGetTimestampMs
    - stmt2BindAndSubmit
    - generateTagData
    - loadChildTableInfo
    - openTagCsv
    linkageType: ''
    returnType: void*
    signature: 'void *syncWriteProgressive(void *sarg) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3127,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3131,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3176,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3211,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3212,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3105,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3118,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3138,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3169,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3173,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3179,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3186,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3187,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3165,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3192,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3123,1
    - Dst: strToTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3126,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3149,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3161,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3202,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3116,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3155,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3158,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3197,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3200,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3210,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3217,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 99
    argCount: 3
    argNames:
    - stbInfo
    - childTbl
    - bind_ts_array
    argTypes:
    - SSuperTable*
    - SChildTable*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 3221
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3221
    functionName: initStmtDataValue
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - exit
    - strncpy
    - debugPrint
    - atof
    - min
    - free
    - strcmp
    - calloc
    - strlen
    - atol
    - convertDatatypeToString
    - atoi
    - benchArrayGet
    - strToTimestamp
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int initStmtDataValue(SSuperTable *stbInfo, SChildTable *childTbl,
      uint64_t *bind_ts_array) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:193,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:194,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:195,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:198,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:202,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:209,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:212,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:216,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:219,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:221,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:222,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - database
    - stbInfo
    - command
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 235
    functionName: queryDbExec
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - isRest
    - destroySockFd
    - queryDbExecCall
    - closeBenchConn
    - toolsMsleep
    - infoPrint
    - errorPrint
    - createSockFd
    - initBenchConn
    - queryDbExecRest
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: "static int queryDbExec(SDataBase *database,\r SSuperTable *stbInfo,
      char *command) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:273,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:283,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:285,1
    - Dst: getCompressStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:296,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:291,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:335,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:442,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:409,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:456,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:414,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:302,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:318,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:329,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:331,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:334,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:341,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:355,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:373,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:375,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:379,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:465,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:467,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:399,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:426,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:470,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:396,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:269,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:271,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:259,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:314,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:312,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:333,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:346,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:348,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:350,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:397,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:445,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:450,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:403,1
    - Dst: queryDbExec
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:469,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:258,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:263,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:279,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:281,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:324,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:298,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:319,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:358,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:388,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:390,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 222
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 472
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 472
    functionName: createSuperTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - getCompressStr
    - benchCalloc
    - free
    - convertDatatypeToString
    - queryDbExec
    - infoPrint
    - benchArrayGet
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int createSuperTable(SDataBase* database, SSuperTable* stbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:672,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:676,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:675,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:673,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:680,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:683,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SBenchConn*
    constantsTouched: []
    func_position:
      end: 687
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 687
    functionName: getRemainVnodes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - taos_query
    - debugPrint
    - taos_fetch_row
    - taos_errno
    - closeBenchConn
    - printErrCmdCodeStr
    - taos_free_result
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRemainVnodes(SBenchConn *conn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1485,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1494,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1486,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1506,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1498,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1509,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1512,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1513,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - pThreadInfo
    - childTbl
    - tagData
    - i
    - ttl
    argTypes:
    - threadInfo*
    - SChildTable*
    - char*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1523
    functionName: smartContinueIfFail
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - debugPrint
    - queryDbExecCall
    - queryDbExecRest
    - infoPrint
    - benchCalloc
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: "static int smartContinueIfFail(threadInfo *pThreadInfo,\r SChildTable
      *childTbl,\r char *tagData,\r int64_t i,\r char *ttl) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1677,1
    - Dst: taos_stmt2_bind_param
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1678,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1683,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1680,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1680,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1684,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1687,1
    - Dst: execInsert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1688,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 7
    argNames:
    - pThreadInfo
    - bindv
    - delay1
    - delay3
    - startTs
    - endTs
    - generated
    argTypes:
    - threadInfo*
    - TAOS_STMT2_BINDV*
    - int64_t*
    - int64_t*
    - int64_t*
    - int64_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1691
    functionName: submitStmt2Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - toolsGetTimestampUs
    - taos_stmt2_bind_param
    - execInsert
    - errorPrint
    - taos_stmt2_error
    linkageType: ''
    returnType: int32_t
    signature: "int32_t submitStmt2Impl(threadInfo * pThreadInfo, TAOS_STMT2_BINDV
      *bindv, int64_t *delay1, int64_t *delay3,\r int64_t* startTs, int64_t* endTs,
      uint32_t* generated) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3071,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3077,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3079,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - tsStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3083
    functionName: strToTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - strlen
    - atol
    - toolsParseTime
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t strToTimestamp(char * tsStr) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3229,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3238,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3231,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3239,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3246,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3253,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3269,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3255,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3291,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3293,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3261,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3275,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3284,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3286,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3301,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3305,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3306,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3304,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3237,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3230,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3245,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3247,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3267,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3268,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3254,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3292,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3262,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3274,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3260,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3276,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3285,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3300,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3299,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - dataType
    - data
    - length
    argTypes:
    - char
    - void**
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3308
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3308
    functionName: initStmtData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - exit
    - tmfree
    - assert
    - calloc
    - convertDatatypeToString
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void initStmtData(char dataType, void **data, uint32_t length) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3425,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3437,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3453,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3434,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3443,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3456
      start: 3423
    functionDepth: 0
    functionLinenumber: 3423
    functionLinenumberEnd: 3456
    functionName: preProcessArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - infoPrint
    - exit
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void preProcessArgument(SSuperTable *stbInfo) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:865,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:862,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:889,1
    - Dst: generateChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:916,1
    - Dst: getIntervalOfTblCreating
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:971,1
    - Dst: getBatchOfTblCreating
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:927,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:956,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:981,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1018,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:871,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:945,1
    - Dst: queryDbExecRest
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:997,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1005,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1012,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:896,1
    - Dst: generateTagData
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:911,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:960,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:941,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:974,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:984,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:993,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1021,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:856,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:864,1
    - Dst: openTagCsv
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:875,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:877,1
    - Dst: queryDbExecCall
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:953,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:959,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:976,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:1017,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 110
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1024
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 1024
    functionName: createTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - getBatchOfTblCreating
    - debugPrint
    - fclose
    - queryDbExecCall
    - queryDbExecRest
    - generateChildTblName
    - toolsGetTimestampMs
    - toolsMsleep
    - generateTagData
    - infoPrint
    - prctl
    - getIntervalOfTblCreating
    - benchCalloc
    - openTagCsv
    linkageType: ''
    returnType: void*
    signature: 'static void *createTable(void *sarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3640
      start: 3628
    functionDepth: 0
    functionLinenumber: 3628
    functionLinenumberEnd: 3640
    functionName: obtainTableCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t obtainTableCount(SDataBase* database, SSuperTable* stbInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3644,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3656,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3662,1
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3652,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3663,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3670,1
    - Dst: calcGroupIndex
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3676,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3680,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3681,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3687,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 3689
      start: 3643
    functionDepth: 0
    functionLinenumber: 3643
    functionLinenumberEnd: 3689
    functionName: assignTableToThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - debugPrint
    - closeBenchConn
    - calcGroupIndex
    - infoPrint
    - benchArrayGet
    - initBenchConn
    - benchCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t assignTableToThread(SDataBase* database, SSuperTable* stbInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3942,1
    - Dst: initTsArray
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3947,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3962,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3963,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3946,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3968,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3987,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3993,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3994,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:3998,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4001,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - div
    - mod
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 4006
      start: 3938
    functionDepth: 0
    functionLinenumber: 3938
    functionLinenumberEnd: 4006
    functionName: initInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - benchArrayGet
    - pthread_create
    - initTsArray
    - infoPrint
    - memcpy
    - benchCalloc
    - pthread_join
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initInsertThread(SDataBase* database, SSuperTable* stbInfo,
      int32_t nthreads, threadInfo *infos, int64_t div, int64_t mod) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4101,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4124,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4127,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4135,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4156,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4171,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4193,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4201,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4218,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4246,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4257,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4263,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4142,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4147,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4192,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4200,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4203,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4115,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4129,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4169,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4167,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4151,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4173,1
    - Dst: taos_stmt2_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4187,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4191,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4205,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4209,1
    - Dst: printTotalDelay
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4261,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4255,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4242,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4258,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4103,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4125,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4136,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4145,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4160,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4153,1
    - Dst: taos_stmt_close
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4181,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4216,1
    - Dst: free_ds
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4225,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4227,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4240,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchInsert.c:4252,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 109
    argCount: 6
    argNames:
    - database
    - stbInfo
    - nthreads
    - infos
    - pids
    - spend
    argTypes:
    - SDataBase*
    - SSuperTable*
    - int32_t
    - threadInfo*
    - pthread_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 4268
      start: 4099
    functionDepth: 0
    functionLinenumber: 4099
    functionLinenumberEnd: 4268
    functionName: exitInsertThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchInsert.c
    functionUses: []
    functionsReached:
    - tmfree
    - destroySockFd
    - benchArrayDestroy
    - free_ds
    - free
    - tools_cJSON_Delete
    - taos_stmt_close
    - closeBenchConn
    - benchArrayInit
    - benchArrayAddBatch
    - printTotalDelay
    - benchArrayGet
    - taos_stmt2_close
    - qsort
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t exitInsertThread(SDataBase* database, SSuperTable* stbInfo,
      int32_t nthreads, threadInfo *infos, pthread_t *pids, int64_t spend) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:63,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:65,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:72,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:81,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:74,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:83,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - val
    - len
    - prefix
    argTypes:
    - char*
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 94
    functionName: genRadomString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: []
    functionsReached:
    - RD
    - strlen
    - strcpy
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t genRadomString(char* val, uint32_t len, char* prefix) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:189,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:202,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:193,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:198,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:207,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:211,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:216,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:222,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:228,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 21
    argCount: 4
    argNames:
    - fd
    - pstr
    - len
    - ts
    argTypes:
    - Field*
    - char*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 230
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 230
    functionName: dataGenByCalcTs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: []
    functionsReached:
    - strcpy
    - sprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t dataGenByCalcTs(Field* fd, char* pstr, uint32_t len, int64_t
      ts) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:102,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:115,1
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:117,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:122,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:122,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:138,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:138,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:148,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:148,1
    - Dst: decimal128ToString
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:155,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:103,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:141,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:141,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:151,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:151,1
    - Dst: decimal64ToString
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:160,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:168,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:177,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:125,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:135,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:125,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:135,1
    - Dst: tmpDecimal128Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:154,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:171,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:111,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:111,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:116,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:118,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:131,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:131,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:128,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:128,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:144,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:144,1
    - Dst: tmpDecimal64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchDataMix.c:159,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 48
    argCount: 6
    argNames:
    - fd
    - pstr
    - len
    - prefix
    - k
    - nullVal
    argTypes:
    - Field*
    - char*
    - uint32_t
    - char*
    - int64_t*
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 179
    functionName: dataGenByField
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataMix.c
    functionUses: []
    functionsReached:
    - toolsFormatTimestamp
    - sprintf
    - decimal64ToString
    - strcpy
    - tmpStr
    - strcat
    - tmpUint32Impl
    - tmpFloatImpl
    - tmpInt16Impl
    - tmpGeometry
    - tmpInt8Impl
    - tmpUint8Impl
    - tmpUint64Impl
    - RD
    - decimal128ToString
    - tmpInt32Impl
    - tmpDecimal64Impl
    - tmpBool
    - toolsGetTimestampMs
    - tmpDoubleImpl
    - tmpDecimal128Impl
    - tmpInt64Impl
    - tmpUint16Impl
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t dataGenByField(Field* fd, char* pstr, uint32_t len, char*
      prefix, int64_t *k, char* nullVal) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ATOR
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:111,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:119,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:121,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:115,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:117,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:123,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:125,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:131,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 139
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 139
    functionName: funValueFloat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - cos
    - taosRandom
    - funSquare
    - funSaw
    - sin
    - funTriAngle
    - ATOR
    - funCount
    linkageType: ''
    returnType: float
    signature: 'float funValueFloat(Field *field, int32_t angle, int32_t loop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:421,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:423,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:431,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:424,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:433,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:434,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:438,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:442,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - sampleFile
    - insertRows
    argTypes:
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 445
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 445
    functionName: getAndSetRowsFromCsvFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - fclose
    - strerror
    - fopen
    - errorPrint
    - benchCalloc
    - fgets
    linkageType: ''
    returnType: int
    signature: 'static int getAndSetRowsFromCsvFile(char *sampleFile, uint64_t *insertRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randInt64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:887,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:887,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:888,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:888,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:887,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:890,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal64*
    - Decimal64*
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 891
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 891
    functionName: decimal64Rand
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    - randInt64
    linkageType: ''
    returnType: void
    signature: 'static void decimal64Rand(Decimal64* result, const Decimal64* min,
      const Decimal64* max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 935
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 935
    functionName: tmpDecimal64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - decimal64Rand
    linkageType: ''
    returnType: Decimal64
    signature: 'Decimal64 tmpDecimal64Impl(Field* field, int32_t angle, int32_t k) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateRandDataSQL
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1991,1
    - Dst: generateRandDataSml
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2010,1
    - Dst: generateRandDataStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2005,1
    - Dst: generateRandDataSQL
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1995,1
    - Dst: generateRandDataStmtForChildTable
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2000,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2013,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 10
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - childCols
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - BArray*
    constantsTouched: []
    func_position:
      end: 2018
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2018
    functionName: generateRandData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - generateRandDataStmtForChildTable
    - generateRandDataSml
    - generateRandDataStmt
    - errorPrint
    - generateRandDataSQL
    linkageType: ''
    returnType: int
    signature: 'int generateRandData(SSuperTable *stbInfo, char *sampleDataBuf, int64_t
      bufLen, int lenOfOneRow, BArray *fields, int64_t loop, bool tag, BArray *childCols) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2226,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2246,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2255,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2243,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2254,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2274,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2282,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2302,1
    - Dst: taos_stmt_bind_param_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2303,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2305,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2319,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2306,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2314,1
    - Dst: taos_stmt_add_batch
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2313,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2309,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2312,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2315,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 10
    argNames:
    - pThreadInfo
    - batch
    - startTime
    - pos
    - childTbl
    - pkCur
    - pkCnt
    - n
    - delay2
    - delay3
    argTypes:
    - threadInfo*
    - uint32_t
    - int64_t
    - int64_t
    - SChildTable*
    - int32_t*
    - int32_t*
    - int32_t*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2323
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2323
    functionName: bindParamBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - debugPrint
    - taos_stmt_errstr
    - toolsGetTimestampUs
    - memset
    - taos_stmt_add_batch
    - getTSRandTail
    - needChangeTs
    - benchArrayGet
    - convertDatatypeToString
    - taos_stmt_bind_param_batch
    - errorPrint
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bindParamBatch(threadInfo *pThreadInfo, uint32_t batch, int64_t
      startTime, int64_t pos, SChildTable *childTbl, int32_t *pkCur, int32_t *pkCnt,
      int32_t *n, int64_t *delay2, int64_t *delay3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:337,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:340,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:344,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:338,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - filePath
    - stbInfo
    - child
    argTypes:
    - char*
    - SSuperTable*
    - int64_t
    constantsTouched: []
    func_position:
      end: 349
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 349
    functionName: getSampleFileNameByPattern
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - strlen
    - strstr
    - snprintf
    linkageType: ''
    returnType: bool
    signature: 'static bool getSampleFileNameByPattern(char *filePath, SSuperTable
      *stbInfo, int64_t child) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:450,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:507,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 36
    argCount: 2
    argNames:
    - fields
    - iface
    argTypes:
    - BArray*
    - int
    constantsTouched: []
    func_position:
      end: 515
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 515
    functionName: accumulateRowLen
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - strlen
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t accumulateRowLen(BArray *fields, int iface) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:899,1
    - Dst: randInt64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:906,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:900,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:901,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:902,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:910,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:912,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:914,1
    - Dst: randUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:916,1
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:919,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:920,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:922,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:922,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - result
    - min
    - max
    argTypes:
    - Decimal128*
    - Decimal128*
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 925
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 925
    functionName: decimal128Rand
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - randUint64
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    - decimal128BCompare
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - randInt64
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Rand(Decimal128* result, const Decimal128* min,
      const Decimal128* max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: tmpDecimal128Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - decimal128Rand
    linkageType: ''
    returnType: Decimal128
    signature: 'Decimal128 tmpDecimal128Impl(Field* field, int32_t angle, int32_t
      k) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2329,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2339,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2344,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2372,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2335,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2330,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2333,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2336,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2362,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2360,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2331,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2350,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2370,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2357,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2358,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2364,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2385,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2340,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2345,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2349,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2378,1
    - Dst: debugPrintJsonNoTime
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2379,1
    - Dst: tools_cJSON_PrintUnformatted
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2380,1
    - Dst: debugPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2381,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2386,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 5
    argNames:
    - tagsList
    - sml_tags_json_array
    - stbInfo
    - start_table_from
    - tbSeq
    argTypes:
    - tools_cJSON*
    - char**
    - SSuperTable*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 2387
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2387
    functionName: generateSmlJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - debugPrintNoTimestamp
    - tmpBool
    - tools_cJSON_AddNumberToObject
    - tmpDouble
    - tools_cJSON_AddStringToObject
    - taosRandom
    - tools_cJSON_PrintUnformatted
    - rand_string
    - tools_cJSON_AddItemToArray
    - tmpFloat
    - debugPrintJsonNoTime
    - tools_cJSON_CreateObject
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void generateSmlJsonTags(tools_cJSON *tagsList, char **sml_tags_json_array,
      SSuperTable *stbInfo, uint64_t start_table_from, int tbSeq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: funTriAngle
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funTriAngle(int32_t min, int32_t max, int32_t period, int32_t
      loop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2899,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2910,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2904,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2906,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2912,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2915,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - stbInfo
    argTypes:
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 2918
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2918
    functionName: prepareTagsStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - debugPrint
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void prepareTagsStmt(SSuperTable* stbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - field
    argTypes:
    - Field*
    constantsTouched: []
    func_position:
      end: 602
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 602
    functionName: tmpBool
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - taosRandom
    linkageType: ''
    returnType: bool
    signature: 'bool tmpBool(Field *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: tmpUint8Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t tmpUint8Impl(Field *field, int64_t k) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - field
    - i
    - k
    argTypes:
    - Field*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 675
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 675
    functionName: tmpInt32ImplTag
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tmpInt32ImplTag(Field *field, int i, int k) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 705
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 705
    functionName: tmpInt64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueInt32
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tmpInt64Impl(Field *field, int32_t angle, int32_t k) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:977,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1007,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1026,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1027,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1033,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1072,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1074,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1084,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1090,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1065,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1085,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1077,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:965,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:984,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:990,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1002,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1008,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:996,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1020,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1039,1
    - Dst: decimal128ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1045,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1051,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1060,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1061,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1073,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1048,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1048,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1086,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1052,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:958,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:967,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:978,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:983,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:989,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:995,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1019,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1001,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1038,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1047,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1064,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1014,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1013,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1032,1
    - Dst: tmpDecimal128Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1044,1
    - Dst: tmpDecimal64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1057,1
    - Dst: decimal64ToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1058,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1079,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1089,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1094,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1104,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 174
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1121
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 1121
    functionName: generateRandDataSQL
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - decimal64ToString
    - DECIMAL128_LOW_WORD
    - tmpStr
    - tmpUint32Impl
    - benchCalloc
    - tmpFloatImpl
    - free
    - tmpInt16Impl
    - tmpGeometry
    - tmpJson
    - benchArrayGet
    - tmpInt8Impl
    - tmpUint8Impl
    - tmpUint64Impl
    - decimal128ToString
    - tmpInt32Impl
    - errorPrint
    - tmpDecimal64Impl
    - tmfree
    - snprintf
    - tmpBool
    - DECIMAL64_GET_VALUE
    - tmpDoubleImpl
    - strlen
    - tmpDecimal128Impl
    - DECIMAL128_HIGH_WORD
    - tmpInt64Impl
    - tmpUint16Impl
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataSQL(SSuperTable *stbInfo, char *sampleDataBuf,
      int64_t bufLen, int lenOfOneRow, BArray * fields, int64_t loop, bool tag) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2052,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2056,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2091,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2084,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2124,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2133,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2136,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2149,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2159,1
    - Dst: getAndSetRowsFromCsvFile
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2165,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2032,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2033,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2040,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2117,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2099,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2144,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2151,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2163,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2173,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2049,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2067,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2076,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2081,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2111,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2141,1
    - Dst: getSampleFileNameByPattern
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2158,1
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2175,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2190,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2062,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2063,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2093,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2109,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2106,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2167,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2181,1
    - Dst: initChildCols
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2187,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2195,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 136
    argCount: 2
    argNames:
    - database
    - stbInfo
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 2202
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2202
    functionName: prepareSampleData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - snprintf
    - accumulateRowLen
    - debugPrint
    - convertServAddr
    - strstr
    - getSampleFileNameByPattern
    - access
    - generateRandData
    - initChildCols
    - generateSampleFromCsv
    - getAndSetRowsFromCsvFile
    - infoPrint
    - benchArrayGet
    - benchCalloc
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int prepareSampleData(SDataBase* database, SSuperTable* stbInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2694,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2696,1
    - Dst: seekFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2700,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2701,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2696,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2702,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2702,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - stbInfo
    - seek
    argTypes:
    - SSuperTable*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2710
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2710
    functionName: openTagCsv
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - fclose
    - strerror
    - fopen
    - infoPrint
    - seekFromCsv
    - errorPrint
    linkageType: ''
    returnType: FILE*
    signature: 'FILE * openTagCsv(SSuperTable* stbInfo, uint64_t seek) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2801,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - bindv
    - tbIndex
    - w
    - fields
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - int32_t
    - BArray*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2795
    functionDepth: 0
    functionLinenumber: 2795
    functionLinenumberEnd: 2817
    functionName: bindVTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bindVTags(TAOS_STMT2_BINDV *bindv, int32_t tbIndex, int32_t
      w, BArray* fields) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: tmpInt8Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t tmpInt8Impl(Field *field, int64_t k) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: tmpInt16Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: 'int16_t tmpInt16Impl(Field *field, int64_t k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:682,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:684,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:687,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int
    - int64_t
    constantsTouched: []
    func_position:
      end: 695
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 695
    functionName: tmpUint32Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueInt32
    - taosRandom
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t tmpUint32Impl(Field *field, int i, int angle, int64_t k) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: tmpUint64Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueInt32
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t tmpUint64Impl(Field *field, int32_t angle, int64_t k) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1139,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1136,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1171,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1220,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1204,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1254,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1311,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1318,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1316,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1340,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1160,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1176,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1231,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1249,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1260,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1265,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1278,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1294,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1301,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1302,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1322,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1154,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1182,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1193,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1215,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1226,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1237,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1271,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1289,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1296,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1130,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1165,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1187,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1198,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1209,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1243,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1279,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1280,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1284,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1300,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1332,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1306,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 196
    argCount: 8
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    - childCols
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    - BArray*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1352
    functionName: fillStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmpStr
    - tmpUint32Impl
    - benchCalloc
    - tmpFloatImpl
    - free
    - tmpInt16Impl
    - tmpGeometry
    - tmpJson
    - benchArrayGet
    - tmpInt8Impl
    - debugPrint
    - tmpUint8Impl
    - tmpUint64Impl
    - tmpInt32Impl
    - errorPrint
    - tmfree
    - snprintf
    - tmpBool
    - tmpDoubleImpl
    - tmpInt64Impl
    - tmpUint16Impl
    linkageType: ''
    returnType: int
    signature: 'static int fillStmt( SSuperTable *stbInfo, char *sampleDataBuf, int64_t
      bufLen, int lenOfOneRow, BArray *fields, int64_t loop, bool tag, BArray *childCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2208,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - timeStampStep
    - seq
    - disorderRatio
    - disorderRange
    argTypes:
    - int64_t
    - int32_t
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2214
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2214
    functionName: getTSRandTail
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - taosRandom
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getTSRandTail(int64_t timeStampStep, int32_t seq, int disorderRatio,
      int disorderRange) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2514,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2525,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2529,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2541,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2547,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2548,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2516,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2520,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2519,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2550,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2539,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2554,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2560,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2515,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2524,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2530,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2536,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2537,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2561,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2549,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2543,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2555,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2559,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 5
    argNames:
    - array
    - tag
    - stbInfo
    - time_precision
    - timestamp
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - SSuperTable*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 2562
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2562
    functionName: generateSmlJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - tmpBool
    - tools_cJSON_AddNumberToObject
    - tmpDouble
    - tools_cJSON_AddStringToObject
    - rand_string
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddBoolToObject
    - tmpFloat
    - tmpGeometry
    - tools_cJSON_AddItemToObject
    - tools_cJSON_CreateObject
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void generateSmlJsonCols(tools_cJSON *array, tools_cJSON *tag, SSuperTable
      *stbInfo, uint32_t time_precision, int64_t timestamp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2403,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2405,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2428,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2449,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2450,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2451,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2391,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2396,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2398,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2409,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2410,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2416,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2427,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2431,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2433,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2439,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2395,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2392,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2400,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2404,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2430,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2441,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2447,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2393,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2399,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2411,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2417,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2424,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2415,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2425,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2442,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2443,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 4
    argNames:
    - tagsList
    - stbInfo
    - start_table_from
    - tbSeq
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    - uint64_t
    - int
    constantsTouched: []
    func_position:
      end: 2452
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2452
    functionName: generateSmlTaosJsonTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - tmpBool
    - tools_cJSON_AddStringToObject
    - tools_cJSON_AddNumberToObject
    - tmpDouble
    - taosRandom
    - rand_string
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddBoolToObject
    - tmpFloat
    - convertDatatypeToString
    - tools_cJSON_AddItemToObject
    - tools_cJSON_CreateObject
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void generateSmlTaosJsonTags(tools_cJSON *tagsList, SSuperTable *stbInfo,
      uint64_t start_table_from, int tbSeq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: funSaw
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funSaw(int32_t min, int32_t max, int32_t period, int32_t loop) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ATOR
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:143,1
    - Dst: funCount
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:151,1
    - Dst: sin
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:147,1
    - Dst: funSaw
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:153,1
    - Dst: cos
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:149,1
    - Dst: funSquare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:155,1
    - Dst: funTriAngle
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:157,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - field
    - angle
    - loop
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 172
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 172
    functionName: funValueInt32
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - cos
    - taosRandom
    - funSquare
    - funSaw
    - sin
    - funTriAngle
    - ATOR
    - funCount
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funValueInt32(Field *field, int32_t angle, int32_t loop) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:520,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:528,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:522,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:524,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:525,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:534,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:536,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:539,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:542,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:547,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:549,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:549,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - tmp
    - iface
    - field
    - k
    argTypes:
    - char*
    - int
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 553
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 553
    functionName: tmpStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosRandom
    - tools_cJSON_GetArraySize
    - rand_string
    - tools_cJSON_GetArrayItem
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int tmpStr(char *tmp, int iface, Field *field, int64_t k) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: funValueFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:720,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:735,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:732,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:726,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:728,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 751
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 751
    functionName: tmpFloatImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueFloat
    - taosRandom
    linkageType: ''
    returnType: float
    signature: 'float tmpFloatImpl(Field *field, int i, int32_t angle, int32_t k) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSampleFromCsv
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2641,1
    - Dst: generateRandData
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2648,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - stbInfo
    - buf
    - cnt
    - csv
    - tagsStmt
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - FILE*
    - BArray*
    constantsTouched: []
    func_position:
      end: 2660
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2660
    functionName: generateTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - errorPrint
    - generateSampleFromCsv
    - generateRandData
    linkageType: ''
    returnType: bool
    signature: 'bool generateTagData(SSuperTable *stbInfo, char *buf, int64_t cnt,
      FILE* csv, BArray* tagsStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2724,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2752,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2741,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2725,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2745,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2753,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2772,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2780,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 10
    argNames:
    - bindv
    - tbIndex
    - pThreadInfo
    - batch
    - startTime
    - pos
    - childTbl
    - pkCur
    - pkCnt
    - n
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - threadInfo*
    - uint32_t
    - int64_t
    - int64_t
    - SChildTable*
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2789
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2789
    functionName: bindVColsProgressive
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - debugPrint
    - memset
    - getTSRandTail
    - needChangeTs
    - benchArrayGet
    - convertDatatypeToString
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bindVColsProgressive(TAOS_STMT2_BINDV *bindv, int32_t tbIndex,
      threadInfo *pThreadInfo, uint32_t batch, int64_t startTime, int64_t pos, SChildTable
      *childTbl, int32_t *pkCur, int32_t *pkCnt, int32_t *n) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2851,1
    - Dst: getTSRandTail
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2877,1
    - Dst: needChangeTs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2885,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2855,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 10
    argNames:
    - bindv
    - tbIndex
    - pThreadInfo
    - batch
    - startTime
    - pos
    - childTbl
    - pkCur
    - pkCnt
    - n
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - threadInfo*
    - uint32_t
    - int64_t
    - int64_t
    - SChildTable*
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2892
      start: 2822
    functionDepth: 0
    functionLinenumber: 2822
    functionLinenumberEnd: 2892
    functionName: bindVColsInterlace
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - needChangeTs
    - benchArrayGet
    - getTSRandTail
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bindVColsInterlace(TAOS_STMT2_BINDV *bindv, int32_t tbIndex,
      threadInfo *pThreadInfo, uint32_t batch, int64_t startTime, int64_t pos, SChildTable
      *childTbl, int32_t *pkCur, int32_t *pkCnt, int32_t *n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - min
    - max
    - step
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 69
    functionName: funCount
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - abs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funCount(int32_t min, int32_t max, int32_t step, int32_t loop) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - min
    - max
    - period
    - loop
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: funSquare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funSquare(int32_t min, int32_t max, int32_t period, int32_t
      loop) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 110
    argCount: 2
    argNames:
    - p
    - unic
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 214
    functionName: usc2utf8
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int usc2utf8(char *p, int unic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:558,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:566,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:563,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:562,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:560,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:577,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:577,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:577,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:581,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:587,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:587,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:589,1
    - Dst: tmpUint16
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - tmp
    - iface
    - field
    - k
    argTypes:
    - char*
    - int
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 592
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 592
    functionName: tmpGeometry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosRandom
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetArrayItem
    - tmpUint16
    - strcat
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int tmpGeometry(char *tmp, int iface, Field *field, int64_t k) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: funValueFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:756,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:763,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:761,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - field
    - angle
    - k
    argTypes:
    - Field*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 779
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 779
    functionName: tmpDoubleImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueFloat
    - taosRandom
    linkageType: ''
    returnType: double
    signature: 'double tmpDoubleImpl(Field *field, int32_t angle, int32_t k) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2589,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2587,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2594,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2604,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2608,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2617,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2623,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2634,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2567,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2568,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2575,1
    - Dst: tools_cJSON_AddBoolToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2582,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2607,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2614,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2632,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2635,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2626,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2627,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2569,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2573,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2601,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2602,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2588,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2595,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2593,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2610,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2616,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2618,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2633,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2571,1
    - Dst: tools_cJSON_CreateObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2577,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2578,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2581,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2583,1
    - Dst: tools_cJSON_AddStringToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2605,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2615,1
    - Dst: tools_cJSON_AddNumberToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2625,1
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2631,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 5
    argNames:
    - array
    - tag
    - stbInfo
    - time_precision
    - timestamp
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - SSuperTable*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 2636
      start: 2564
    functionDepth: 0
    functionLinenumber: 2564
    functionLinenumberEnd: 2636
    functionName: generateSmlTaosJsonCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - tmpBool
    - tools_cJSON_AddStringToObject
    - tools_cJSON_AddNumberToObject
    - tmpDouble
    - taosRandom
    - rand_string
    - tools_cJSON_AddItemToArray
    - tools_cJSON_AddBoolToObject
    - tmpFloat
    - tmpGeometry
    - convertDatatypeToString
    - tools_cJSON_AddItemToObject
    - tools_cJSON_CreateObject
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void generateSmlTaosJsonCols(tools_cJSON *array, tools_cJSON *tag,
      SSuperTable *stbInfo, uint32_t time_precision, int64_t timestamp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:247,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:265,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:267,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:250,1
    - Dst: genQMark
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:256,1
    - Dst: workingMode
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:272,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:274,1
    - Dst: genColNames
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:279,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:280,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:289,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:291,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:296,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 307
    functionName: genPrepareSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - genQMark
    - workingMode
    - infoPrint
    - benchCalloc
    - genColNames
    linkageType: ''
    returnType: char*
    signature: 'char * genPrepareSql(SSuperTable *stbInfo, char* tagData, uint64_t
      tableSeq, char *db) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genPrepareSql
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:310,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:312,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:311,1
    - Dst: taos_stmt_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:312,1
    - Dst: taos_stmt_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:311,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:313,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:316,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:317,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - stmt
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - TAOS_STMT*
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: prepareStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - taos_stmt_prepare
    - tmfree
    - debugPrint
    - taos_stmt_errstr
    - strlen
    - genPrepareSql
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int prepareStmt(TAOS_STMT *stmt, SSuperTable *stbInfo, char* tagData,
      uint64_t tableSeq, char *db) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - field
    - k
    argTypes:
    - Field*
    - int64_t
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: tmpUint16Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t tmpUint16Impl(Field *field, int64_t k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:784,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:800,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:795,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:792,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:786,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:801,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:802,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:805,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:807,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:810,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:815,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:812,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 5
    argNames:
    - sampleDataBuf
    - bufLen
    - pos
    - fieldsSize
    - field
    argTypes:
    - char*
    - int
    - int64_t
    - int
    - Field*
    constantsTouched: []
    func_position:
      end: 821
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 821
    functionName: tmpJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - rand_string
    - errorPrint
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'static int tmpJson(char *sampleDataBuf, int bufLen, int64_t pos, int
      fieldsSize, Field *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateRandomUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:869,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 870
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 870
    functionName: randUint64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - generateRandomUint64
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t randUint64(uint64_t min, uint64_t max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1362,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1369,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1363,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1374,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1366,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1376,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1379,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - childCols
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - BArray*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1388
    functionName: generateRandDataStmtForChildTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - debugPrint
    - benchArrayGet
    - fillStmt
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataStmtForChildTable( SSuperTable *stbInfo,
      char *sampleDataBuf, int64_t bufLen, int lenOfOneRow, BArray *fields, int64_t
      loop, BArray *childCols) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1444,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1467,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1504,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1487,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1523,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1544,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1550,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1563,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1591,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1643,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1602,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1624,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1618,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1454,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1476,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1500,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1530,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1538,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1575,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1576,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1589,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1598,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1606,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1620,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1614,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1448,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1459,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1465,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1481,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1489,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1513,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1517,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1525,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1552,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1561,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1632,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1653,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1574,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1585,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1628,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1634,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1438,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1442,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1456,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1470,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1478,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1498,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1492,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1511,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1555,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1566,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1639,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1619,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1581,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1608,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 247
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1671
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1671
    functionName: generateRandDataSmlTelnet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmpStr
    - tmpUint32Impl
    - benchCalloc
    - tmpFloatImpl
    - tmpInt16Impl
    - tmpGeometry
    - tmpJson
    - benchArrayGet
    - tmpInt8Impl
    - tmpUint8Impl
    - tmpUint64Impl
    - tmpInt32Impl
    - errorPrint
    - tmfree
    - snprintf
    - tmpBool
    - tmpDoubleImpl
    - tmpInt64Impl
    - tmpUint16Impl
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataSmlTelnet(SSuperTable *stbInfo, char *sampleDataBuf,
      int bufLen, int lenOfOneRow, BArray * fields, int64_t loop, bool tag) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1822,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1856,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1858,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1845,1
    - Dst: tmpInt32ImplTag
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1854,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1883,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1891,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1908,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1921,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1928,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1804,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1818,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1828,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1834,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1877,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1878,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1890,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1898,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1904,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1912,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1821,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1808,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1827,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1833,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1839,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1864,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1865,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1871,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1916,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1917,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1924,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1846,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1870,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1840,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1884,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1899,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1900,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1931,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1918,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1942,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 153
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1960
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1960
    functionName: generateRandDataSmlLine
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmpStr
    - tmpUint32Impl
    - benchCalloc
    - tmpFloatImpl
    - free
    - tmpInt16Impl
    - tmpGeometry
    - tmpJson
    - benchArrayGet
    - tmpInt8Impl
    - tmpUint8Impl
    - tmpUint64Impl
    - tmpInt32Impl
    - errorPrint
    - tmfree
    - snprintf
    - tmpBool
    - tmpUint16Impl
    - tmpDoubleImpl
    - tmpInt64Impl
    - tmpInt32ImplTag
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataSmlLine(SSuperTable *stbInfo, char *sampleDataBuf,
      int bufLen, int lenOfOneRow, BArray * fields, int64_t loop, bool tag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genPrepareSql
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:322,1
    - Dst: taos_stmt2_prepare
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:323,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:324,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:323,1
    - Dst: taos_stmt2_error
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:324,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:325,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:328,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - stmt2
    - stbInfo
    - tagData
    - tableSeq
    - db
    argTypes:
    - TAOS_STMT2*
    - SSuperTable*
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 331
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 331
    functionName: prepareStmt2
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - debugPrint
    - strlen
    - genPrepareSql
    - errorPrint
    - taos_stmt2_error
    - taos_stmt2_prepare
    linkageType: ''
    returnType: int
    signature: 'int prepareStmt2(TAOS_STMT2 *stmt2, SSuperTable *stbInfo, char* tagData,
      uint64_t tableSeq, char *db) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: funValueInt32
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:640,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:642,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:645,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - field
    - i
    - angle
    - k
    argTypes:
    - Field*
    - int
    - int
    - int32_t
    constantsTouched: []
    func_position:
      end: 659
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 659
    functionName: tmpInt32Impl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - funValueInt32
    - taosRandom
    linkageType: ''
    returnType: int
    signature: 'int tmpInt32Impl(Field *field, int i, int angle, int32_t k) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:828,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:843,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 1
    argNames:
    - range
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 860
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 860
    functionName: generateRandomUint64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t generateRandomUint64(uint64_t range) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateRandomUint64
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 880
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 880
    functionName: randInt64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - generateRandomUint64
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t randInt64(int64_t min, int64_t max) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1398,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1411,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1405,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1403,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1409,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1414,1
    - Dst: fillStmt
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1424
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1424
    functionName: generateRandDataStmt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - debugPrint
    - benchArrayGet
    - fillStmt
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataStmt( SSuperTable *stbInfo, char *sampleDataBuf,
      int64_t bufLen, int lenOfOneRow, BArray *fields, int64_t loop, bool tag) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1682,1
    - Dst: tmpInt8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1692,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1686,1
    - Dst: tmpUint8Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1698,1
    - Dst: tmpUint64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1735,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1736,1
    - Dst: tmpInt32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1716,1
    - Dst: tmpDoubleImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1747,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1755,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1760,1
    - Dst: tmpJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1766,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1699,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1705,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1729,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1711,1
    - Dst: tmpInt64Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1722,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1723,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1762,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1687,1
    - Dst: tmpInt16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1704,1
    - Dst: tmpUint16Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1710,1
    - Dst: tmpUint32Impl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1728,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1742,1
    - Dst: tmpStr
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1756,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1757,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1776,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1693,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1717,1
    - Dst: tmpFloatImpl
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1741,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1748,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1793
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1793
    functionName: generateRandDataSmlJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmpStr
    - tmpUint32Impl
    - benchCalloc
    - tmpFloatImpl
    - free
    - tmpInt16Impl
    - tmpJson
    - benchArrayGet
    - tmpInt8Impl
    - tmpUint8Impl
    - tmpUint64Impl
    - tmpInt32Impl
    - errorPrint
    - tmfree
    - snprintf
    - tmpBool
    - tmpDoubleImpl
    - tmpInt64Impl
    - tmpUint16Impl
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataSmlJson(SSuperTable *stbInfo, char *sampleDataBuf,
      int bufLen, int lenOfOneRow, BArray * fields, int64_t loop, bool tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateRandDataSmlLine
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1970,1
    - Dst: generateRandDataSmlJson
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1976,1
    - Dst: generateRandDataSmlTelnet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:1973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 7
    argNames:
    - stbInfo
    - sampleDataBuf
    - bufLen
    - lenOfOneRow
    - fields
    - loop
    - tag
    argTypes:
    - SSuperTable*
    - char*
    - int64_t
    - int
    - BArray*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1981
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1981
    functionName: generateRandDataSml
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - generateRandDataSmlLine
    - generateRandDataSmlTelnet
    - generateRandDataSmlJson
    linkageType: ''
    returnType: int
    signature: 'static int generateRandDataSml(SSuperTable *stbInfo, char *sampleDataBuf,
      int64_t bufLen, int lenOfOneRow, BArray * fields, int64_t loop, bool tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2021,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2026,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2024,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - colsSize
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 2029
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2029
    functionName: initChildCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: BArray*
    signature: 'static BArray *initChildCols(int colsSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:225,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:236,1
    - Dst: usc2utf8
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - str
    - size
    - chinese
    argTypes:
    - char*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: rand_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - usc2utf8
    - taosRandom
    linkageType: ''
    returnType: void
    signature: 'void rand_string(char *str, int size, bool chinese) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2457,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2463,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2470,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2475,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2486,1
    - Dst: tmpGeometry
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2494,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2496,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2503,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2458,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2468,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2489,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2484,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2485,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2504,1
    - Dst: tmpBool
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2461,1
    - Dst: tmpDouble
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2476,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2493,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2498,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2502,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2462,1
    - Dst: tmpFloat
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2469,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2477,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2495,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchData.c:2487,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 3
    argNames:
    - sml_json_value_array
    - stbInfo
    - tableSeq
    argTypes:
    - char**
    - SSuperTable*
    - int
    constantsTouched: []
    func_position:
      end: 2509
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2509
    functionName: generateSmlJsonValues
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchData.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - tmpBool
    - tmpDouble
    - rand_string
    - strlen
    - tmpFloat
    - tmpGeometry
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void generateSmlJsonValues( char **sml_json_value_array, SSuperTable
      *stbInfo, int tableSeq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csvAlignTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - precision
    - start_ts
    - csv_ts_format
    argTypes:
    - int
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: csvGetStartSeconds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvAlignTimestamp
    linkageType: ''
    returnType: time_t
    signature: 'static time_t csvGetStartSeconds(int precision, int64_t start_ts,
      const char* csv_ts_format) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - stb
    argTypes:
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: csvGetFileNamingType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CsvNamingType
    signature: 'static CsvNamingType csvGetFileNamingType(SSuperTable* stb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCreateDbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:390,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:392,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:398,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:400,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:396,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: csvExportCreateDbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - fwrite
    - ferror
    - perror
    - errorPrint
    - csvGenCreateDbSql
    linkageType: ''
    returnType: int
    signature: 'static int csvExportCreateDbSql(CsvWriteMeta* write_meta, FILE* fp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:837,1
    - Dst: dataGenByField
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:844,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 29
    argCount: 5
    argNames:
    - buf
    - size
    - stb
    - fields_cate
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int
    - int64_t*
    constantsTouched: []
    func_position:
      end: 848
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 848
    functionName: csvGenRowFields
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - dataGenByField
    linkageType: ''
    returnType: int
    signature: 'static int csvGenRowFields(char* buf, int size, SSuperTable* stb,
      int fields_cate, int64_t* k) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toolsFormatTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:868,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:869,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - buf
    - size
    - stb
    - ts
    - precision
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int64_t
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 874
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 874
    functionName: csvGenRowColData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvGenRowFields
    - snprintf
    - toolsFormatTimestamp
    linkageType: ''
    returnType: int
    signature: 'static int csvGenRowColData(char* buf, int size, SSuperTable* stb,
      int64_t ts, int32_t precision, int64_t *k) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:904,1
    - Dst: csvGenRowTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:919,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:931,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:912,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    constantsTouched: []
    func_position:
      end: 933
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 933
    functionName: csvGenCtbTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvGenRowTagData
    - benchCalloc
    - csvFreeCtbTagData
    linkageType: ''
    returnType: CsvRowTagsBuf*
    signature: 'static CsvRowTagsBuf * csvGenCtbTagData(CsvWriteMeta* write_meta,
      CsvThreadMeta* thread_meta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:973,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:978,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:977,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:984,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:975,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:986,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:989,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:990,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - fhdl
    - buf
    - size
    argTypes:
    - CsvFileHandle*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 997
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 997
    functionName: csvWrite
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - ferror
    - fwrite
    - gzerror
    - gzwrite
    - perror
    - errorPrint
    linkageType: ''
    returnType: CsvIoError
    signature: 'static CsvIoError csvWrite(CsvFileHandle* fhdl, const char* buf, size_t
      size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1230,1
    - Dst: csvInitWriteMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1236,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1242,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1244,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1250,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1256,1
    - Dst: csvInitThreadMeta
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1260,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1262,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1264,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1272,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1298,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1276,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1300,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1288,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1277,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1299,1
    - Dst: csvExportCreateSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1295,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1290,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1302
    functionName: csvGenStbProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - tmfree
    - succPrint
    - pthread_create
    - csvInitWriteMeta
    - toolsGetTimestampMs
    - csvExportCreateSql
    - csvInitThreadMeta
    - infoPrint
    - perror
    - benchCalloc
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int csvGenStbProcess(SDataBase* db, SSuperTable* stb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:208,1
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:216,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:212,1
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:210,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - time_value
    - ts_format
    - time_buf
    - buf_size
    argTypes:
    - time_t
    - char*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: csvConvertTime2String
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - strftime
    - setlocale
    - localtime_r
    - localtime_s
    linkageType: ''
    returnType: void
    signature: 'static void csvConvertTime2String(time_t time_value, char* ts_format,
      char* time_buf, size_t buf_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - precision
    - secs
    argTypes:
    - int
    - time_t
    constantsTouched: []
    func_position:
      end: 250
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 250
    functionName: csvCalcTimestampFromSeconds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: 'static time_t csvCalcTimestampFromSeconds(int precision, time_t secs) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:419,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:455,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:454,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:483,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:487,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:490,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:490,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:501,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:513,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:543,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:549,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:413,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:439,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:450,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:470,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:451,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:519,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:537,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:425,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:445,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:459,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:458,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:487,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:495,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:507,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:525,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:433,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:416,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:437,1
    - Dst: convertDatatypeToString
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:437,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:439,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:464,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:473,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:531,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:540,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:553,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 237
    argCount: 4
    argNames:
    - db
    - stb
    - buf
    - size
    argTypes:
    - SDataBase*
    - SSuperTable*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 558
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 558
    functionName: csvGenCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - snprintf
    - strlen
    - convertDatatypeToString
    - benchArrayGet
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int csvGenCreateStbSql(SDataBase* db, SSuperTable* stb, char* buf,
      int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:857,1
    - Dst: csvGenRowFields
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:860,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - buf
    - size
    - stb
    - index
    - k
    argTypes:
    - char*
    - int
    - SSuperTable*
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 863
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 863
    functionName: csvGenRowTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - snprintf
    - csvGenRowFields
    linkageType: ''
    returnType: int
    signature: 'static int csvGenRowTagData(char* buf, int size, SSuperTable* stb,
      int64_t index, int64_t* k) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:885,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:890,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - thread_meta
    - tags_buf_array
    argTypes:
    - CsvThreadMeta*
    - CsvRowTagsBuf*
    constantsTouched: []
    func_position:
      end: 892
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 892
    functionName: csvFreeCtbTagData
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void
    signature: 'static void csvFreeCtbTagData(CsvThreadMeta* thread_meta, CsvRowTagsBuf*
      tags_buf_array) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:940,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:948,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:942,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:952,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:953,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:958,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - filename
    - compress_level
    argTypes:
    - char*
    - CsvCompressionLevel
    constantsTouched: []
    func_position:
      end: 968
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 968
    functionName: csvOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - gzopen
    - snprintf
    - tmfree
    - benchCalloc
    - fopen
    - errorPrint
    linkageType: ''
    returnType: CsvFileHandle*
    signature: 'static CsvFileHandle * csvOpen(const char* filename, CsvCompressionLevel
      compress_level) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1007,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1012,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - fhdl
    argTypes:
    - CsvFileHandle*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1018
    functionName: csvClose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - gzclose
    - tmfree
    - fclose
    linkageType: ''
    returnType: void
    signature: 'static void csvClose(CsvFileHandle* fhdl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1306,1
    - Dst: accumulateRowLen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    functionName: csvGenPrepare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - accumulateRowLen
    linkageType: ''
    returnType: void
    signature: 'static void csvGenPrepare(SDataBase* db, SSuperTable* stb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGetFileNamingType
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:628,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:651,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:647,1
    - Dst: csvGenCsvHeader
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:638,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:640,1
    - Dst: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:652,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:656,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:657,1
    - Dst: csvGenThreadFormatter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:658,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:662,1
    - Dst: csvGenThreadFormatter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:664,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:663,1
    - Dst: csvCalcTimestampStep
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - db
    - stb
    - write_meta
    argTypes:
    - SDataBase*
    - SSuperTable*
    - CsvWriteMeta*
    constantsTouched: []
    func_position:
      end: 675
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 675
    functionName: csvInitWriteMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - MIN
    - snprintf
    - csvCalcTimestampStep
    - csvGetFileNamingType
    - csvGenThreadFormatter
    - csvGenCsvHeader
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvInitWriteMeta(SDataBase* db, SSuperTable* stb, CsvWriteMeta*
      write_meta) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvGetGzipFilePrefix
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:759,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:767,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:768,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:763,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:769,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:773,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:774,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:778,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:779,1
    - Dst: csvConvertTime2String
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:780,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:781,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - write_meta
    - thread_meta
    - fullname
    - size
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 791
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 791
    functionName: csvGetFileFullname
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvConvertTime2String
    - snprintf
    - csvGetGzipFilePrefix
    linkageType: ''
    returnType: int
    signature: 'static int csvGetFileFullname(CsvWriteMeta* write_meta, CsvThreadMeta*
      thread_meta, char* fullname, size_t size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: csvGenRowColData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1030,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1052,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1043,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1041,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1032,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1054,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1060,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1062,1
    - Dst: csvWrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1068,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1070,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 6
    argNames:
    - fhdl
    - ctb_idx
    - cur_ts
    - ck
    - write_meta
    - thread_meta
    argTypes:
    - CsvFileHandle*
    - uint64_t
    - int64_t
    - int64_t*
    - CsvWriteMeta*
    - CsvThreadMeta*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1076
    functionName: csvWriteFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvWrite
    - csvGenRowColData
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvWriteFile(CsvFileHandle* fhdl, uint64_t ctb_idx, int64_t
      cur_ts, int64_t* ck, CsvWriteMeta* write_meta, CsvThreadMeta* thread_meta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvGenPrepare
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1319,1
    - Dst: csvGenStbProcess
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - db
    - stb
    argTypes:
    - SDataBase*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1322
    functionName: csvGenStb
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvGenPrepare
    - csvGenStbProcess
    linkageType: ''
    returnType: int
    signature: 'static int csvGenStb(SDataBase* db, SSuperTable* stb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:45,1
    - Dst: strpbrk
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:58,1
    - Dst: strftime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:48,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 1
    argNames:
    - csv_ts_format
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 81
    functionName: csvValidateParamTsFormat
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - strpbrk
    - mktime
    - strftime
    linkageType: ''
    returnType: int
    signature: 'static int csvValidateParamTsFormat(const char* csv_ts_format) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcCtbRange
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:695,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:706,1
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:704,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - write_meta
    - thread_id
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - uint32_t
    - CsvThreadMeta*
    constantsTouched: []
    func_position:
      end: 715
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 715
    functionName: csvInitThreadMeta
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvCalcSliceTimestamp
    - csvGetStartSeconds
    - csvCalcCtbRange
    linkageType: ''
    returnType: void
    signature: 'static void csvInitThreadMeta(CsvWriteMeta* write_meta, uint32_t thread_id,
      CsvThreadMeta* thread_meta) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - write_meta
    - slice_cur_ts
    - slice_end_ts
    argTypes:
    - CsvWriteMeta*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: csvCalcSliceBatchTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - MIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t csvCalcSliceBatchTimestamp(CsvWriteMeta* write_meta,
      int64_t slice_cur_ts, int64_t slice_end_ts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1107,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1168,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1169,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1154,1
    - Dst: csvCalcSliceBatchTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1162,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1181,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1190,1
    - Dst: csvUpdateSliceRange
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1201,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1118,1
    - Dst: csvGetFileFullname
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1136,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1138,1
    - Dst: csvWriteFile
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1166,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1207,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1213,1
    - Dst: csvFreeCtbTagData
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1212,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1204,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1131,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1109,1
    - Dst: csvOpen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1144,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1146,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1147,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1156,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1178,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1170,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1158,1
    - Dst: csvClose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1199,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1215
    functionName: csvGenStbThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - MIN
    - tmfree
    - infoPrint
    - succPrint
    - csvClose
    - csvWriteFile
    - csvGenCtbTagData
    - csvCalcSliceBatchTimestamp
    - csvOpen
    - csvUpdateSliceRange
    - toolsGetTimestampMs
    - csvFreeCtbTagData
    - strerror
    - csvGetFileFullname
    - errorPrint
    - benchCalloc
    linkageType: ''
    returnType: void*
    signature: 'static void * csvGenStbThread(void* arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:89,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 1
    argNames:
    - csv_ts_interval
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 109
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 109
    functionName: csvValidateParamTsInterval
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - tolower
    - strtol
    linkageType: ''
    returnType: long
    signature: 'static long csvValidateParamTsInterval(const char* csv_ts_interval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvValidateParamTsFormat
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:136,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:146,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:137,1
    - Dst: csvValidateParamTsInterval
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stb
    argTypes:
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 153
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 153
    functionName: csvParseStbParameter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvValidateParamTsFormat
    - csvValidateParamTsInterval
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvParseStbParameter(SSuperTable* stb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    constantsTouched: []
    func_position:
      end: 256
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 256
    functionName: csvCalcTimestampStep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvCalcTimestampFromSeconds
    linkageType: ''
    returnType: void
    signature: 'static void csvCalcTimestampStep(CsvWriteMeta* write_meta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:323,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:336,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:332,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:327,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:328,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:337,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:341,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: csvGenCsvHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'static int csvGenCsvHeader(CsvWriteMeta* write_meta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: csvGenCreateStbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:566,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:574,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:572,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:568,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:576,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - write_meta
    - fp
    argTypes:
    - CsvWriteMeta*
    - FILE*
    constantsTouched: []
    func_position:
      end: 583
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 583
    functionName: csvExportCreateStbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - fwrite
    - ferror
    - perror
    - csvGenCreateStbSql
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvExportCreateStbSql(CsvWriteMeta* write_meta, FILE* fp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1328,1
    - Dst: csvGenStb
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1346,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1332,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1340,1
    - Dst: csvParseStbParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1338,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1348,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1357
    functionName: csvWriteThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - csvParseStbParameter
    - csvGenStb
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvWriteThread() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: csvParseParameter
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1362,1
    - Dst: csvWriteThread
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1368,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1366,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1367,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1372,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:1373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1376
    functionName: csvTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - infoPrint
    - csvWriteThread
    - csvParseParameter
    - toolsGetTimestampMs
    linkageType: ''
    returnType: int
    signature: 'int csvTestProcess() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: localtime_s
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:159,1
    - Dst: localtime_r
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:161,1
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:188,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 26
    argCount: 2
    argNames:
    - seconds
    - ts_format
    argTypes:
    - time_t
    - char*
    constantsTouched: []
    func_position:
      end: 189
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 189
    functionName: csvAlignTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - mktime
    - localtime_r
    - localtime_s
    linkageType: ''
    returnType: time_t
    signature: 'static time_t csvAlignTimestamp(time_t seconds, const char* ts_format) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:260,1
    - Dst: csvCalcTimestampFromSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - write_meta
    - thread_meta
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: csvCalcSliceTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvCalcTimestampFromSeconds
    linkageType: ''
    returnType: void
    signature: 'static void csvCalcSliceTimestamp(CsvWriteMeta* write_meta, CsvThreadMeta*
      thread_meta) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:351,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:361,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:359,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:363,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:354,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:371,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:374,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:377,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - db
    - buf
    - size
    argTypes:
    - SDataBase*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 382
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 382
    functionName: csvGenCreateDbSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - snprintf
    linkageType: ''
    returnType: int
    signature: 'int csvGenCreateDbSql(SDataBase* db, char* buf, int size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:593,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:616,1
    - Dst: csvExportCreateStbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:611,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:598,1
    - Dst: csvExportCreateDbSql
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:605,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:620,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    constantsTouched: []
    func_position:
      end: 624
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 624
    functionName: csvExportCreateSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - snprintf
    - succPrint
    - fclose
    - csvExportCreateStbSql
    - csvExportCreateDbSql
    - fopen
    linkageType: ''
    returnType: int
    signature: 'static int csvExportCreateSql(CsvWriteMeta* write_meta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:114,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:122,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: csvParseParameter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int csvParseParameter() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 4
    argNames:
    - thread_meta
    - total_threads
    - ctb_offset
    - ctb_count
    argTypes:
    - CsvThreadMeta*
    - size_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 289
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 289
    functionName: csvCalcCtbRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void csvCalcCtbRange(CsvThreadMeta* thread_meta, size_t total_threads,
      int64_t ctb_offset, int64_t ctb_count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: csvGetStartSeconds
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:729,1
    - Dst: csvCalcSliceTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - write_meta
    - thread_meta
    - last_end_ts
    argTypes:
    - CsvWriteMeta*
    - CsvThreadMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 740
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 740
    functionName: csvUpdateSliceRange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - csvCalcSliceTimestamp
    - csvGetStartSeconds
    linkageType: ''
    returnType: void
    signature: 'static void csvUpdateSliceRange(CsvWriteMeta* write_meta, CsvThreadMeta*
      thread_meta, int64_t last_end_ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:304,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCsv.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - write_meta
    argTypes:
    - CsvWriteMeta*
    constantsTouched: []
    func_position:
      end: 309
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 309
    functionName: csvGenThreadFormatter
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void csvGenThreadFormatter(CsvWriteMeta* write_meta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - csv_compress_level
    argTypes:
    - CsvCompressionLevel
    constantsTouched: []
    func_position:
      end: 749
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 749
    functionName: csvGetGzipFilePrefix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCsv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * csvGetGzipFilePrefix(CsvCompressionLevel csv_compress_level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:57,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:62,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:60,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:61,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:72,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:73,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:35,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:37,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:39,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:40,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:42,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:44,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:46,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:47,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:51,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:49,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:74,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:77,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:71,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:53,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:79,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:65,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:66,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:69,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:70,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:67,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:68,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:36,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:38,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:41,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:43,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:48,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:52,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:50,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:45,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:54,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:55,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:78,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:58,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:59,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 80
    functionName: benchPrintHelp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void benchPrintHelp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: benchParseOpt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - benchParseSingleOpt
    linkageType: ''
    returnType: error_t
    signature: 'static error_t benchParseOpt(int key, char *arg, struct argp_state
      *state) '
  - BBCount: 95
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:199,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:203,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:226,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:318,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:492,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:481,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:247,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:352,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:439,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:417,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:375,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:499,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:541,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:614,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:225,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:245,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:301,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:317,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:472,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:350,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:487,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:584,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:402,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:337,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:374,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:416,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:540,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:561,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:563,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:251,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:332,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:346,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:390,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:441,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:468,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:389,1
    - Dst: parseFieldDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:459,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:605,1
    - Dst: getConnMode
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:617,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:254,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:239,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:264,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:364,1
    - Dst: parseFieldDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:464,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:557,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:331,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:604,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:615,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:524,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:556,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:588,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:228,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:241,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:274,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:366,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:434,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:321,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:573,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:578,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:378,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:208,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:306,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:420,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:477,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:544,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:469,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:206,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:257,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:248,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:267,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:291,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:304,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:347,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:454,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:490,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:202,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:260,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:270,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:405,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:576,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:198,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:261,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:300,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:335,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:393,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:422,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:486,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:546,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:607,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:361,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:450,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:381,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:401,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:482,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:560,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:435,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:473,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:407,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:572,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:449,1
    - Dst: errorPrintReqArg2
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:478,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:230,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:243,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:323,1
    - Dst: toolsIsStringNumber
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:360,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 304
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 623
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 623
    functionName: benchParseSingleOpt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - exit
    - getConnMode
    - parseFieldDatatype
    - debugPrint
    - toolsIsStringNumber
    - benchArrayClear
    - benchCalloc
    - atol
    - printVersion
    - strcasecmp
    - TOOLS_STRNCPY
    - atoi
    - benchArrayGet
    - benchArrayPush
    - errorPrintReqArg2
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t benchParseSingleOpt(int32_t key, char* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: benchParseArgsByArgp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: void
    signature: 'void benchParseArgsByArgp(int argc, char *argv[]) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:84,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:89,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:86,1
    - Dst: printVersion
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:85,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:84,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:89,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:90,1
    - Dst: benchPrintHelp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:91,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:92,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:96,1
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:124,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:125,1
    - Dst: benchParseSingleOpt
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:111,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:115,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:120,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:102,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:98,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 132
    functionName: benchParseArgsNoArgp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - exit
    - benchParseSingleOpt
    - strcmp
    - benchPrintHelp
    - printVersion
    - strlen
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t benchParseArgsNoArgp(int argc, char* argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchParseArgsByArgp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:627,1
    - Dst: benchParseArgsNoArgp
      Src: /src/tdengine/tools/taos-tools/src/benchSys.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: benchParseArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchSys.c
    functionUses: []
    functionsReached:
    - benchParseArgsNoArgp
    - benchParseArgsByArgp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t benchParseArgs(int32_t argc, char* argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:33,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:39,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:36,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:38,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:37,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:40,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:41,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:42,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:43,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:44,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:45,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:46,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:50,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: printfTmqConfigIntoFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - infoPrintToFile
    linkageType: ''
    returnType: void
    signature: 'void printfTmqConfigIntoFile() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:157,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:155,1
    - Dst: tmq_conf_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:153,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:159,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:160,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:163,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:165,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:166,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:176,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:187,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:161,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:169,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:182,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:191,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:196,1
    - Dst: buildTopicList
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:151,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:156,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:177,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:174,1
    - Dst: tmq_consumer_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:179,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:191,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:193,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:167,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:172,1
    - Dst: tmq_conf_set
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:170,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:173,1
    - Dst: tmq_conf_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:180,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:184,1
    - Dst: tmq_subscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:189,1
    - Dst: tmq_list_destroy
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - pThreadInfo
    - groupId
    argTypes:
    - tmqThreadInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 200
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 200
    functionName: buildConsumerAndSubscribe
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - snprintf
    - tmq_list_destroy
    - tmq_err2str
    - tmq_subscribe
    - memset
    - tmq_conf_set
    - tmq_consumer_new
    - buildTopicList
    - tmq_conf_destroy
    - infoPrint
    - errorPrint
    - tmq_conf_new
    linkageType: ''
    returnType: int
    signature: 'int buildConsumerAndSubscribe(tmqThreadInfo * pThreadInfo, char* groupId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:56,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:67,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:70,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:62,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:68,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:72,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:73,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:74,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:75,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:76,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:80,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:85,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:83,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:84,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:90,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 92
    functionName: create_topic
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_errno
    - memset
    - closeBenchConn
    - infoPrint
    - taos_free_result
    - taos_errstr
    - initBenchConn
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int create_topic() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmq_list_new
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:95,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:100,1
    - Dst: tmq_list_append
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: buildTopicList
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - infoPrint
    - tmq_list_new
    - tmq_list_append
    linkageType: ''
    returnType: tmq_list_t*
    signature: 'static tmq_list_t * buildTopicList() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:348,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:391,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:326,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:329,1
    - Dst: create_topic
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:318,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:350,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:371,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:396,1
    - Dst: printfTmqConfigIntoFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:314,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:330,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:336,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:347,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:349,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:367,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:359,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:381,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:397,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:327,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:331,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:337,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:352,1
    - Dst: buildConsumerAndSubscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:360,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:362,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:389,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 399
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 399
    functionName: subscribeTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncasecmp
    - fclose
    - infoPrintToFile
    - buildConsumerAndSubscribe
    - pthread_create
    - free
    - rand_string
    - memset
    - strlen
    - printfTmqConfigIntoFile
    - fopen
    - infoPrint
    - create_topic
    - benchCalloc
    - pthread_join
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int subscribeTestProcess() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:105,1
    - Dst: tmq_get_db_name
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:115,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:116,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:107,1
    - Dst: tmq_get_vgroup_id
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:120,1
    - Dst: tmq_get_topic_name
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:121,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:125,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:129,1
    - Dst: taos_print_row
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:133,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:136,1
    - Dst: tmq_get_table_name
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:131,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:141,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:130,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - msg
    - pInfo
    - msgIndex
    argTypes:
    - TAOS_RES*
    - tmqThreadInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 143
    functionName: data_msg_process
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - taos_field_count
    - tmq_get_db_name
    - taos_fetch_row
    - fprintf
    - free
    - taos_print_row
    - calloc
    - tmq_get_topic_name
    - taos_fetch_fields
    - tmq_get_vgroup_id
    - errorPrint
    - tmq_get_table_name
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t data_msg_process(TAOS_RES* msg, tmqThreadInfo* pInfo,
      int32_t msgIndex) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:214,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:216,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:225,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:254,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:266,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:276,1
    - Dst: tmq_consumer_close
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:298,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:305,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:208,1
    - Dst: rand_string
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:217,1
    - Dst: buildConsumerAndSubscribe
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:223,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:253,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:262,1
    - Dst: tmq_get_res_type
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:249,1
    - Dst: data_msg_process
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:251,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:212,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:218,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:236,1
    - Dst: tmq_consumer_poll
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:247,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:238,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:268,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:280,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:284,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:306,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:234,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:243,1
    - Dst: tmq_commit_sync
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:259,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:300,1
    - Dst: tmq_err2str
      Src: /src/tdengine/tools/taos-tools/src/benchTmq.c:301,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 85
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 310
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 310
    functionName: tmqConsume
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchTmq.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - strncasecmp
    - infoPrintToFile
    - buildConsumerAndSubscribe
    - strncmp
    - tmq_err2str
    - rand_string
    - tmq_commit_sync
    - memset
    - toolsGetTimestampMs
    - strlen
    - tmq_consumer_close
    - tmq_get_res_type
    - infoPrint
    - tmq_consumer_poll
    - data_msg_process
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'static void * tmqConsume(void* arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:761,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:767,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:766,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:767,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:764,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:770,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:770,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - jsonObj
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 782
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 782
    functionName: getDurationVal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsNumber
    - strchr
    - strlen
    - atoi
    - tools_cJSON_IsString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDurationVal(tools_cJSON *jsonObj) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:85,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:116,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:107,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:103,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:108,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:129,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:132,1
    - Dst: parseFunArgs
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:133,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:145,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:147,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:169,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:175,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:171,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:160,1
    - Dst: atof
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:152,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:173,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:162,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:150,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 10
    argNames:
    - expr
    - multiple
    - addend
    - base
    - random
    - min
    - max
    - step
    - period
    - offset
    argTypes:
    - char*
    - float*
    - float*
    - float*
    - int32_t*
    - int64_t*
    - int64_t*
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 180
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 180
    functionName: parseFuns
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - parseFunArgs
    - atof
    - strstr
    - strlen
    - atoi
    linkageType: ''
    returnType: uint8_t
    signature: "uint8_t parseFuns(char* expr, float* multiple, float* addend, float*
      base, int32_t* random, \r int64_t* min ,int64_t* max, int32_t* step ,int32_t*
      period ,int32_t* offset) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:828,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:840,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:853,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:863,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:860,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:868,1
    - Dst: getDurationVal
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:879,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:888,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:903,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:822,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:826,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:824,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:841,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:842,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:849,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:864,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:854,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:874,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:882,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:823,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:850,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:855,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:858,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:865,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:878,1
    - Dst: setDBCfgString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:883,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:889,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:892,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:839,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:859,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:884,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    constantsTouched: []
    func_position:
      end: 908
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 908
    functionName: getDatabaseInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - setDBCfgString
    - trimCaseCmp
    - tools_cJSON_IsNumber
    - free
    - benchArrayInit
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - getDurationVal
    - errorPrint
    - benchArrayGet
    - benchArrayPush
    - tools_cJSON_IsString
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'static int getDatabaseInfo(tools_cJSON *dbinfos, int index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:985,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:989,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:986,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:988,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:987,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:991,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:993,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:995,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:996,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:997,1
    - Dst: strsep
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:998,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1000,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - str
    - arr
    argTypes:
    - char*
    - BArray*
    constantsTouched: []
    func_position:
      end: 1002
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1002
    functionName: parseStringToIntArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tmfree
    - benchArrayClear
    - strstr
    - strsep
    - strdup
    - atoi
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void parseStringToIntArray(char *str, BArray *arr) '
  - BBCount: 109
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1034,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1086,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1286,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1305,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1308,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1342,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1359,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1370,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1384,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1500,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1420,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1528,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1252,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1030,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1092,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1097,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1228,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1284,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1335,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1378,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1411,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1426,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1555,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1580,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1556,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1464,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1635,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1404,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1233,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1127,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1118,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1035,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1348,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1365,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1371,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1376,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1390,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1441,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1579,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1631,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1604,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1023,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1067,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1137,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1316,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1341,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1369,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1383,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1458,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1535,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1501,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1637,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1575,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1076,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1197,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1482,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1565,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1540,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1561,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1613,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1639,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1633,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1185,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1178,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1087,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1156,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1180,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1202,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1158,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1191,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1183,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1360,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1494,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1571,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1566,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1519,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1560,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1176,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1210,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1033,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1081,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1093,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1098,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1102,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1229,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1285,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1298,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1481,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1506,1
    - Dst: getColumnAndTagTypeFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1550,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1264,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1088,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1145,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1266,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1268,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1270,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1273,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1312,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1377,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1442,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1512,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1578,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1391,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1037,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1039,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1108,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1112,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1162,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1240,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1320,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1398,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1427,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1449,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1483,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1588,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1077,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1198,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1292,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1361,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1572,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1421,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1529,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1389,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1243,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1192,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1024,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1025,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1070,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1103,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1193,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1265,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1165,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1294,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1457,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1465,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1239,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1177,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1082,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1107,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1448,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1474,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1488,1
    - Dst: toolsGetTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1330,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1495,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1513,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1027,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1036,1
    - Dst: parseStringToIntArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1113,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1119,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1257,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1216,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1144,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1354,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1573,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1518,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1523,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1170,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1117,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1126,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1138,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1222,1
    - Dst: toolsParseTime
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1290,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1304,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1306,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1326,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1347,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1399,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1541,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1473,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1524,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1168,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1136,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1489,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1534,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1596,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1615,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1617,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1336,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1215,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1026,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1071,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1143,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1318,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1353,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1394,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1405,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1412,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1435,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1507,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1434,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1623,1
    - Dst: get_tsma_info
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1545,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 552
    argCount: 2
    argNames:
    - dbinfos
    - index
    argTypes:
    - tools_cJSON*
    - int
    constantsTouched: []
    func_position:
      end: 1647
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1647
    functionName: getStableInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - encodeAuthBase64
    - tools_cJSON_IsNumber
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetArrayItem
    - benchArrayPush
    - strdup
    - benchCalloc
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - toolsParseTime
    - toolsGetTimestamp
    - benchArrayGet
    - tools_cJSON_IsString
    - tools_cJSON_IsArray
    - isRest
    - getColumnAndTagTypeFromInsertJsonFile
    - memset
    - benchArrayInit
    - infoPrint
    - getServerVersionRest
    - errorPrint
    - convertServAddr
    - strncasecmp
    - warnPrint
    - strlen
    - get_tsma_info
    - TOOLS_STRNCPY
    - parseStringToIntArray
    - getInterface
    linkageType: ''
    returnType: int
    signature: 'static int getStableInfo(tools_cJSON *dbinfos, int index) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1760,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1765,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1767,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1799,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1828,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1772,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1781,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1790,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1841,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1857,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1764,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1773,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1776,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1785,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1806,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1815,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1825,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1835,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1837,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1839,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1773,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1794,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1820,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1810,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1836,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1851,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1844,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 103
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1861
    functionName: getMetaFromCommonJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - debugPrint
    - warnPrint
    - strlen
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - TOOLS_STRNCPY
    - infoPrint
    - tools_cJSON_IsString
    - errorPrint
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'static int getMetaFromCommonJsonFile(tools_cJSON *json) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2309,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2244,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2267,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2273,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2286,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2336,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2299,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2351,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2361,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2364,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2276,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2296,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2324,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2347,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2353,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2373,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2376,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2236,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2252,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2258,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2264,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2312,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2366,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2370,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 137
    argCount: 1
    argNames:
    - superQuery
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2230
    functionDepth: 0
    functionLinenumber: 2230
    functionLinenumberEnd: 2385
    functionName: readSuperQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_GetArraySize
    - strcmp
    - memset
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetObjectItem
    - TOOLS_STRNCPY
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readSuperQueryJson(tools_cJSON * superQuery) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2407,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2414,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2433,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2439,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2424,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2415,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2422,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2440,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2446,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2448,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2451,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2457,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2470,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2482,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2393,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2398,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2423,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2444,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2488,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2394,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2399,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2406,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2432,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2445,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2460,1
    - Dst: readSpecQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2462,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2464,1
    - Dst: readSuperQueryJson
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2472,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2474,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2494
    functionName: getMetaFromQueryJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsNumber
    - benchArrayInit
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - readSuperQueryJson
    - tools_cJSON_IsString
    - errorPrint
    - readSpecQueryJson
    linkageType: ''
    returnType: int
    signature: 'static int getMetaFromQueryJsonFile(tools_cJSON *json) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:32,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:36,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:45,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:43,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:40,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:51,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:57,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:63,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:64,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:65,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:68,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:66,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:69,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:70,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:74,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:71,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 7
    argNames:
    - value
    - funType
    - min
    - max
    - step
    - period
    - offset
    argTypes:
    - char*
    - uint8_t
    - int64_t*
    - int64_t*
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 76
    functionName: parseFunArgs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - strstr
    - strtok
    - free
    - strlen
    - atoi
    - strdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseFunArgs(char* value, uint8_t funType, int64_t* min ,int64_t*
      max, int32_t* step ,int32_t* period ,int32_t* offset) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:264,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:293,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:408,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:429,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:372,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:419,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:449,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:396,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:552,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:374,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:318,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:323,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:435,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:390,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:505,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:524,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:705,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:604,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:194,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:192,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:511,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:564,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:741,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:395,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:189,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:228,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:380,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:502,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:551,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:563,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:618,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:246,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:333,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:338,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:388,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:450,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:546,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:631,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:744,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:579,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:232,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:265,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:294,1
    - Dst: decimal128BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:348,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:420,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:409,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:510,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:584,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:605,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:319,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:482,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:495,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:525,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:594,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:634,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:646,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:706,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:748,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:229,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:245,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:254,1
    - Dst: getDecimal128DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:335,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:529,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:630,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:721,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:261,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:276,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:444,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:349,1
    - Dst: decimal64BCompare
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:379,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:413,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:403,1
    - Dst: doubleToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:343,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:397,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:485,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:559,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:389,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:337,1
    - Dst: getDecimal128DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:345,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:494,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:547,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:613,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:716,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:723,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:590,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:233,1
    - Dst: getDecimal64DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:365,1
    - Dst: parseFuns
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:421,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:451,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:489,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:592,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:609,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:428,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:424,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:251,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:270,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:275,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:331,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:513,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:558,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:722,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:240,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:322,1
    - Dst: getDecimal64DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:376,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:434,1
    - Dst: getDecimalOps
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:368,1
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:523,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:591,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:597,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:297,1
    - Dst: pow
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:309,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:414,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:404,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:548,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:703,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:188,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:227,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:249,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:250,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:281,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:361,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:427,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:614,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:503,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:369,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:341,1
    - Dst: doubleToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:363,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:239,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:497,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 447
    argCount: 2
    argNames:
    - superTblObj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 756
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 756
    functionName: getColumnAndTagTypeFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - convertTypeToLength
    - tools_cJSON_IsNumber
    - strcpy
    - tools_cJSON_GetArraySize
    - decimal128BCompare
    - tools_cJSON_GetArrayItem
    - convertStringToDatatype
    - benchArrayPush
    - benchCalloc
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - benchArrayGet
    - tools_cJSON_IsArray
    - convertDatatypeToDefaultMin
    - stringToDecimal128
    - getDecimalOps
    - decimal64BCompare
    - DECIMAL_WORD_NUM
    - getDecimal64DefaultMin
    - getDecimal128DefaultMax
    - errorPrint
    - pow
    - convertDatatypeToDefaultMax
    - snprintf
    - doubleToDecimal128
    - strCompareN
    - benchArrayClear
    - getDecimal128DefaultMin
    - stringToDecimal64
    - parseFuns
    - getDecimal64DefaultMax
    - tools_cJSON_IsObject
    - strlen
    - doubleToDecimal64
    - tools_cJSON_IsString
    linkageType: ''
    returnType: int
    signature: "static int getColumnAndTagTypeFromInsertJsonFile(\r tools_cJSON *
      superTblObj, SSuperTable *stbInfo) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:785,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:809,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:789,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:791,1
    - Dst: trimCaseCmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:790,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:811,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - cfg
    - value
    argTypes:
    - SDbCfg*
    - char*
    constantsTouched: []
    func_position:
      end: 817
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 817
    functionName: setDBCfgString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - calloc
    - strlen
    - memcpy
    - trimCaseCmp
    linkageType: ''
    returnType: void
    signature: 'void setDBCfgString(SDbCfg* cfg , char * value) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:916,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:920,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:928,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:940,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:934,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:952,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:958,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:961,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:967,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:971,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:912,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:941,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:942,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:959,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:960,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:972,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:921,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:923,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:926,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:949,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:930,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:943,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:978,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:911,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:917,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:922,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:932,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:933,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:950,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:951,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 2
    argNames:
    - stb_obj
    - stbInfo
    argTypes:
    - tools_cJSON*
    - SSuperTable*
    constantsTouched: []
    func_position:
      end: 982
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 982
    functionName: get_tsma_info
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsArray
    - tools_cJSON_IsNumber
    - benchCalloc
    - tools_cJSON_GetArraySize
    - free
    - benchArrayInit
    - tools_cJSON_GetArrayItem
    - tools_cJSON_IsObject
    - tools_cJSON_GetObjectItem
    - benchArrayPush
    - tools_cJSON_IsString
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int get_tsma_info(tools_cJSON* stb_obj, SSuperTable* stbInfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1660,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1697,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1711,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1712,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1717,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1741,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1743,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1746,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1751,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1733,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1725,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1650,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1652,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1654,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1656,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1662,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1676,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1682,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1667,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1718,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1719,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1726,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1734,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1655,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1651,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1664,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1668,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1683,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1673,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1666,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1684,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1689,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1698,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1735,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1739,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1727,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1665,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1678,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1674,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1690,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1691,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1696,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1704,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1703,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1705,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1710,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1740,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 75
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1755
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1755
    functionName: getStreamInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsArray
    - benchCalloc
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsObject
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - TOOLS_STRNCPY
    - benchArrayPush
    - tools_cJSON_IsString
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getStreamInfo(tools_cJSON* json) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1877,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1888,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1897,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1915,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1952,1
    - Dst: getStableInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1983,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1867,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1869,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1875,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1916,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1921,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1937,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1909,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1943,1
    - Dst: getInterface
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1969,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1876,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1868,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1882,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1898,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1930,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1925,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1903,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1955,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1972,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1977,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1896,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1946,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1961,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1966,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1973,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1974,1
    - Dst: getDatabaseInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1980,1
    - Dst: getStreamInfo
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1989,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 120
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1998
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1998
    functionName: getMetaFromInsertJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - getDatabaseInfo
    - tools_cJSON_IsArray
    - strncasecmp
    - tools_cJSON_IsNumber
    - getStableInfo
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - getStreamInfo
    - infoPrint
    - tools_cJSON_IsString
    - getInterface
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getMetaFromInsertJsonFile(tools_cJSON *json) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2524,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2542,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2536,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2552,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2559,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2588,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2599,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2607,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2609,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2614,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2622,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2508,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2517,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2529,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2547,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2553,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2569,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2582,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2589,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2600,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2601,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2620,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2627,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2604,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2498,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2514,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2505,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2518,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2548,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2530,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2563,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2571,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2576,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2584,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2594,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2507,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2523,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2540,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2535,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2557,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2565,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2578,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2595,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2605,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2618,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2603,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 96
    argCount: 1
    argNames:
    - json
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2637
    functionName: getMetaFromTmqJsonFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsArray
    - tools_cJSON_IsNumber
    - tools_cJSON_GetArraySize
    - tools_cJSON_IsObject
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - TOOLS_STRNCPY
    - tools_cJSON_IsString
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getMetaFromTmqJsonFile(tools_cJSON *json) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2649,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2657,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2659,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2664,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2676,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2669,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2674,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2679,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2666,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2694,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2704,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2643,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2644,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2698,1
    - Dst: getMetaFromTmqJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2699,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2641,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2650,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2652,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2665,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2672,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2670,1
    - Dst: getMetaFromCommonJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2688,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2668,1
    - Dst: getMetaFromInsertJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2691,1
    - Dst: getMetaFromQueryJsonFile
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2695,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2703,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2706
    functionName: readJsonConfig
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - getMetaFromQueryJsonFile
    - getMetaFromInsertJsonFile
    - tools_cJSON_Print
    - benchCalloc
    - fclose
    - free
    - strerror
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - tools_cJSON_Parse
    - fread
    - memset
    - getMetaFromCommonJsonFile
    - infoPrint
    - errorPrint
    - tmfree
    - fopen
    - getMetaFromTmqJsonFile
    - tools_cJSON_IsString
    linkageType: ''
    returnType: int
    signature: 'int readJsonConfig(char * file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1007,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1013,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1011,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1009,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:1015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1020
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1020
    functionName: getInterface
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t getInterface(char *name) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2003,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2015,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2006,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2024,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2044,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2032,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2040,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2063,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2104,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2115,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2148,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2196,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2211,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2167,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2129,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2175,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2217,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2131,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2139,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2137,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2045,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2047,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2041,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2064,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2072,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2092,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2102,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2151,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2156,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2157,1
    - Dst: tools_cJSON_GetArraySize
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2158,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2164,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2152,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2177,1
    - Dst: tools_cJSON_IsObject
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2162,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2176,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2173,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2142,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2147,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2025,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2027,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2049,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2042,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2056,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2070,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2082,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2093,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2103,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2116,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2128,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2214,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2165,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2174,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2209,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2181,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2136,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2138,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2014,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2005,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2023,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2028,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2030,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2057,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2071,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2083,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2114,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2127,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2161,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2163,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2143,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2198,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2210,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2135,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2149,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2183,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c:2141,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 175
    argCount: 1
    argNames:
    - specifiedQuery
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2227
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2227
    functionName: readSpecQueryJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchJsonOpt.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsNumber
    - tools_cJSON_GetArraySize
    - tools_cJSON_GetArrayItem
    - benchArrayPush
    - benchCalloc
    - fclose
    - free
    - tools_cJSON_GetObjectItem
    - strcasecmp
    - benchArrayGet
    - tools_cJSON_IsArray
    - debugPrint
    - memset
    - infoPrint
    - errorPrint
    - strcmp
    - tools_cJSON_IsObject
    - strlen
    - fopen
    - TOOLS_STRNCPY
    - tools_cJSON_IsString
    - fgets
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readSpecQueryJson(tools_cJSON * specifiedQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:35,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:38,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:37,1
    - Dst: sem_post
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - signum
    - sigingo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: benchQueryInterruptHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: []
    functionsReached:
    - infoPrint
    - exit
    - sem_post
    linkageType: ''
    returnType: void
    signature: 'void benchQueryInterruptHandler(int32_t signum, void* sigingo, void*
      context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:98,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:99,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:102,1
    - Dst: wordfree
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:103,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:100,1
    - Dst: taos_options
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:105,1
    - Dst: engineError
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - cfgDir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: applyConfigDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: []
    functionsReached:
    - wordfree
    - exit
    - engineError
    - wordexp
    - taos_options
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t applyConfigDir(char * cfgDir) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:60,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:72,1
    - Dst: convertServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:66,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:69,1
    - Dst: isRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:65,1
    - Dst: getServerVersionRest
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:74,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 90
    functionName: checkArgumentValid
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: []
    functionsReached:
    - encodeAuthBase64
    - isRest
    - infoPrint
    - getServerVersionRest
    - errorPrint
    - convertServAddr
    linkageType: ''
    returnType: int
    signature: 'int checkArgumentValid() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bsem_wait
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:46,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:47,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:53,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: benchCancelHandler
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: []
    functionsReached:
    - exit
    - toolsMsleep
    - bsem_wait
    linkageType: ''
    returnType: void*
    signature: 'void * benchCancelHandler(void* arg) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: initArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:120,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:124,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:124,1
    - Dst: benchParseArgs
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:131,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:132,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:156,1
    - Dst: modifyArgument
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:161,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:169,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:177,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:193,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:242,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:245,1
    - Dst: csvTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:217,1
    - Dst: benchSetSignal
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:207,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:121,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:126,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:138,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:171,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:177,1
    - Dst: setConnMode
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:184,1
    - Dst: insertTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:212,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:218,1
    - Dst: queryTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:222,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:203,1
    - Dst: postFreeResource
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:238,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:228,1
    - Dst: initLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:119,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:125,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:146,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:157,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:145,1
    - Dst: checkArgumentValid
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:178,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:179,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:190,1
    - Dst: applyConfigDir
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:192,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:213,1
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:121,1
    - Dst: readJsonConfig
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:155,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:148,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:139,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:166,1
    - Dst: exitLog
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:185,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:196,1
    - Dst: sem_init
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:201,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:202,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:206,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:223,1
    - Dst: queryAggrFunc
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:234,1
    - Dst: pthread_cancel
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:241,1
    - Dst: subscribeTestProcess
      Src: /src/tdengine/tools/taos-tools/src/benchMain.c:227,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 102
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 247
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchMain.c
    functionUses: []
    functionsReached:
    - exit
    - benchParseArgs
    - readJsonConfig
    - queryTestProcess
    - queryAggrFunc
    - pthread_join
    - csvTestProcess
    - insertTestProcess
    - sem_init
    - atoi
    - checkArgumentValid
    - taos_get_client_info
    - initArgument
    - postFreeResource
    - debugPrint
    - srand
    - pthread_create
    - pthread_cancel
    - time
    - initLog
    - infoPrint
    - exitLog
    - errorPrint
    - snprintf
    - benchSetSignal
    - modifyArgument
    - applyConfigDir
    - getenv
    - strlen
    - setConnMode
    - fopen
    - subscribeTestProcess
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char* argv[]) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:167,1
    - Dst: gethostbyname
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:179,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:170,1
    - Dst: WSAStartup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:174,1
    - Dst: MAKEWORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:174,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:181,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:184,1
    - Dst: htons
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:186,1
    - Dst: getaddrinfo
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:195,1
    - Dst: freeaddrinfo
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:198,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:200,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:203,1
    - Dst: inet_addr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:202,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - host
    - port
    - serv_addr
    argTypes:
    - char*
    - uint16_t
    - struct sockaddr_in*
    constantsTouched: []
    func_position:
      end: 206
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 206
    functionName: convertHostToServAddr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - inet_addr
    - freeaddrinfo
    - debugPrint
    - WSAStartup
    - getaddrinfo
    - memset
    - errorPrint
    - memcpy
    - gethostbyname
    - htons
    - MAKEWORD
    - WSACleanup
    linkageType: ''
    returnType: int
    signature: 'int convertHostToServAddr(char *host, uint16_t port, struct sockaddr_in
      *serv_addr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:399,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:404,1
    - Dst: taos_field_count
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:403,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:405,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:409,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:413,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:415,1
    - Dst: taos_print_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:421,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:423,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:432,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - res
    - filePath
    argTypes:
    - TAOS_RES*
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 436
    functionName: fetchResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_field_count
    - snprintf
    - taos_fetch_row
    - appendResultBufToFile
    - free
    - taos_print_row
    - memset
    - strlen
    - memcpy
    - taos_fetch_fields
    - benchCalloc
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t fetchResult(TAOS_RES *res, char * filePath) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:690,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:698,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:697,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:697,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:691,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:698,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:700,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:700,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:700,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Decimal128*
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 702
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 702
    functionName: decimal128BCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    linkageType: ''
    returnType: int
    signature: 'int decimal128BCompare(const Decimal128* a, const Decimal128* b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WSAStartup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:962,1
    - Dst: MAKEWORD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:962,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:969,1
    - Dst: connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:973,1
    - Dst: socket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:967,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:976,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:978,1
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:980,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:981,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:983,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 988
    functionName: createSockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - closesocket
    - close
    - WSAStartup
    - errorPrintSocketMsg
    - infoPrint
    - MAKEWORD
    - socket
    - errorPrint
    - WSACleanup
    - connect
    linkageType: ''
    returnType: int
    signature: 'int createSockFd() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sem_wait
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sem
    argTypes:
    - sem_t*
    constantsTouched: []
    func_position:
      end: 907
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 907
    functionName: bsem_wait
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - sem_wait
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bsem_wait(sem_t* sem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:213,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:226,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:223,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - nonStopMode
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 230
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 230
    functionName: prompt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - getchar
    - printf
    linkageType: ''
    returnType: void
    signature: 'void prompt(bool nonStopMode) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 481
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 481
    functionName: convertDatatypeToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *convertDatatypeToString(int type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:911,1
    - Dst: sigaction
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:914,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - signum
    - sigfp
    argTypes:
    - int32_t
    - ToolsSignalHandler
    constantsTouched: []
    func_position:
      end: 915
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 915
    functionName: benchSetSignal
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - sigaction
    - memset
    linkageType: ''
    returnType: void
    signature: 'void benchSetSignal(int32_t signum, ToolsSignalHandler sigfp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:927,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:930,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:939,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:934,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:942,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - iface
    - tcp
    - protocol
    argTypes:
    - int
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 949
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 949
    functionName: convertServAddr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - infoPrint
    - convertHostToServAddr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int convertServAddr(int iface, bool tcp, int protocol) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1138,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1146,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1142,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - bind
    argTypes:
    - TAOS_STMT2_BIND*
    constantsTouched: []
    func_position:
      end: 1154
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1154
    functionName: showBind
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    linkageType: ''
    returnType: void
    signature: 'void showBind(TAOS_STMT2_BIND* bind) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initBenchConnImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:361,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:368,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:366,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 373
    functionName: initBenchConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - infoPrint
    - initBenchConnImpl
    - toolsMsleep
    linkageType: ''
    returnType: SBenchConn*
    signature: 'SBenchConn * initBenchConn() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - dec
    - precision
    - scale
    - buf
    - size
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 622
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 622
    functionName: decimal128ToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - decimalToStr
    linkageType: ''
    returnType: int
    signature: 'int decimal128ToString(const Decimal128* dec, uint8_t precision, uint8_t
      scale, char* buf, size_t size) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:720,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:728,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:732,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:740,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:748,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:752,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:760,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:768,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:718,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:726,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:730,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:738,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:746,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:758,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:716,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:724,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:744,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:736,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:756,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:722,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:734,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:750,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:742,1
    - Dst: strCompareN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:754,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:767,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - type
    - length
    - ctx
    argTypes:
    - char*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 770
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 770
    functionName: convertStringToDatatype
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strCompareN
    - exit
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int convertStringToDatatype(char *type, int length, void* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: benchArrayClear
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void benchArrayClear(BArray* pArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:380,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:385,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SBenchConn*
    constantsTouched: []
    func_position:
      end: 389
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 389
    functionName: closeBenchConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_close
    - tmfree
    linkageType: ''
    returnType: void
    signature: 'void closeBenchConn(SBenchConn* conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:628,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 636
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 636
    functionName: getDecimal64DefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - MIN
    - stringToDecimal64
    linkageType: ''
    returnType: void
    signature: 'void getDecimal64DefaultMax(uint8_t precision, uint8_t scale, Decimal64*
      dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 775
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 775
    functionName: compare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int compare(const void *a, const void *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:863,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:865,1
    - Dst: BARRAY_GET_ELEM
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:867,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pArray
    - index
    argTypes:
    - BArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: benchArrayGet
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - BARRAY_GET_ELEM
    - exit
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'void * benchArrayGet(const BArray* pArray, size_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1159,1
    - Dst: showBind
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1162,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - label
    - binds
    - cnt
    argTypes:
    - char*
    - TAOS_STMT2_BIND*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1165
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1165
    functionName: showTableBinds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    - showBind
    linkageType: ''
    returnType: void
    signature: 'void showTableBinds(char* label, TAOS_STMT2_BIND* binds, int32_t cnt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - pData
    argTypes:
    - BArray*
    - void*
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: benchArrayPushNoFree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayAddBatch
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'FORCE_INLINE void * benchArrayPushNoFree(BArray* pArray, void* pData) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1511,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1515,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1548,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1573,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1541,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1612,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1617,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1619,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1502,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1542,1
    - Dst: send
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1545,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1601,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1602,1
    - Dst: appendResultBufToFile
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1627,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1499,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1525,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1529,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1531,1
    - Dst: recv
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1570,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1577,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1537,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1581,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1604,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1618,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1629,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1620,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1520,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1532,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1536,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1574,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1592,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1599,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1600,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1603,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1616,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1626,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 146
    argCount: 11
    argNames:
    - sqlstr
    - dbName
    - precision
    - iface
    - protocol
    - rest_port
    - tcp
    - sockfd
    - filePath
    - responseBuf
    - response_length
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - uint16_t
    - bool
    - int
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1631
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1631
    functionName: postProceSqlImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tmfree
    - snprintf
    - send
    - debugPrint
    - appendResultBufToFile
    - benchCalloc
    - strstr
    - free
    - strlen
    - recv
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int postProceSqlImpl(char *sqlstr, char* dbName, int precision, int
      iface, int protocol, uint16_t rest_port, bool tcp, int sockfd, char* filePath,
      char *responseBuf, int64_t response_length) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:850,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    constantsTouched: []
    func_position:
      end: 854
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 854
    functionName: benchArrayDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void*
    signature: 'void * benchArrayDestroy(BArray* pArray) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1637,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1651,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1653,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1655,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1666,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1672,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1673,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1674,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1681,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1660,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1662,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1678,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1670,1
    - Dst: tools_cJSON_GetArrayItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1671,1
    - Dst: tools_cJSON_IsArray
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1663,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1664,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1665,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1677,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1636,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1648,1
    - Dst: postProceSqlImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1638,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1652,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1658,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1667,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - rest_port
    - sockfd
    argTypes:
    - int16_t
    - int
    constantsTouched: []
    func_position:
      end: 1683
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1683
    functionName: getServerVersionRestImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tools_cJSON_IsArray
    - snprintf
    - tools_cJSON_Parse
    - debugPrint
    - tmfree
    - benchCalloc
    - strstr
    - free
    - tools_cJSON_Delete
    - tools_cJSON_Print
    - postProceSqlImpl
    - tools_cJSON_GetArrayItem
    - tools_cJSON_GetObjectItem
    - atoi
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int getServerVersionRestImpl(int16_t rest_port, int sockfd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:266,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:270,1
    - Dst: toolsGetTimestampNs
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 272
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 272
    functionName: toolsGetTimestamp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - toolsGetTimestampUs
    - toolsGetTimestampNs
    - toolsGetTimestampMs
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t toolsGetTimestamp(int32_t precision) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 523
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 523
    functionName: convertTypeToLength
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int convertTypeToLength(uint8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1327,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1329,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1332,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1335
    functionName: killSlowQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - pthread_create
    - errorPrint
    - pthread_join
    - toolsMsleep
    linkageType: ''
    returnType: int
    signature: 'int killSlowQuery() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:288,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:339,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:338,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:333,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:341,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:351,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:309,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:313,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:315,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:329,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:326,1
    - Dst: succPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:345,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:348,1
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:286,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:296,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:294,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:298,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:315,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:275,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:297,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:314,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:335,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:338,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 354
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 354
    functionName: initBenchConnImpl
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strToLowerCopy
    - tmfree
    - taos_connect
    - succPrint
    - taos_errno
    - sprintf
    - benchCalloc
    - strlen
    - memcpy
    - defaultPort
    - taos_errstr
    - atoi
    - parseDsn
    - errorPrint
    linkageType: ''
    returnType: SBenchConn*
    signature: 'SBenchConn * initBenchConnImpl() '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 550
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 550
    functionName: convertDatatypeToDefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t convertDatatypeToDefaultMin(uint8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:708,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - str1
    - str2
    - length
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: strCompareN
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - strncasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t strCompareN(char *str1, char *str2, int length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:642,1
    - Dst: stringToDecimal64
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: getDecimal64DefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - MIN
    - stringToDecimal64
    linkageType: ''
    returnType: void
    signature: 'void getDecimal64DefaultMin(uint8_t precision, uint8_t scale, Decimal64*
      dec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:782,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:788,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - size
    - elemSize
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 796
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 796
    functionName: benchArrayInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchCalloc
    - assert
    linkageType: ''
    returnType: BArray*
    signature: 'BArray * benchArrayInit(size_t size, size_t elemSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1461,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1468,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1486
    functionName: encodeAuthBase64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - memset
    linkageType: ''
    returnType: void
    signature: 'void encodeAuthBase64() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1191,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1192,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - dbName
    - tbName
    - groupCnt
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1201
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1201
    functionName: calcGroupIndex
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - MurmurHash3_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calcGroupIndex(char* dbName, char* tbName, int32_t groupCnt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:657,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 665
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 665
    functionName: getDecimal128DefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - MIN
    - stringToDecimal128
    linkageType: ''
    returnType: void
    signature: 'void getDecimal128DefaultMax(uint8_t precision, uint8_t scale, Decimal128*
      dec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:805,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pArray
    - newCap
    argTypes:
    - BArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 813
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 813
    functionName: benchArrayEnsureCap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t benchArrayEnsureCap(BArray* pArray, size_t newCap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_s
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: taosRandom
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - rand_s
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int taosRandom() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:233,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:235,1
    - Dst: tmfclose
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:241,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - resultBuf
    - filePath
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 242
    functionName: appendResultBufToFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - fprintf
    - tmfclose
    - errorPrint
    - fopen
    linkageType: ''
    returnType: void
    signature: 'void appendResultBufToFile(char *resultBuf, char * filePath) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:953,1
    - Dst: WSAGetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:953,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:955,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - result
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 957
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 957
    functionName: errorPrintSocketMsg
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - WSAGetLastError
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'static void errorPrintSocketMsg(char *msg, int result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:247,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:258,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:254,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:259,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:249,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - inSql
    - outSql
    - tblIndex
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 262
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 262
    functionName: replaceChildTblName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - strstr
    - strlen
    - TOOLS_STRNCPY
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t replaceChildTblName(char *inSql, char *outSql, int tblIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:611,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:611,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - str
    - precision
    - scale
    - dec
    argTypes:
    - char*
    - uint8_t
    - uint8_t
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: stringToDecimal128
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - decimal128FromStr
    linkageType: ''
    returnType: void
    signature: 'void stringToDecimal128(const char* str, uint8_t precision, uint8_t
      scale, Decimal128* dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalToStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:616,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - dec
    - precision
    - scale
    - buf
    - size
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 617
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 617
    functionName: decimal64ToString
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - decimalToStr
    linkageType: ''
    returnType: int
    signature: 'int decimal64ToString(const Decimal64* dec, uint8_t precision, uint8_t
      scale, char* buf, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1045,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1048,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - QCnt
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: genQMark
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strcat
    - benchCalloc
    linkageType: ''
    returnType: char*
    signature: 'char * genQMark( int32_t QCnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1033,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1034,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1037,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1039,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - cmd
    - code
    - res
    argTypes:
    - char*
    - int32_t
    - TAOS_RES*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: printErrCmdCodeStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - strlen
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void printErrCmdCodeStr(char *cmd, int32_t code, TAOS_RES
      *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1211,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pThreadInfo
    - iface
    argTypes:
    - qThreadInfo*
    - int
    constantsTouched: []
    func_position:
      end: 1224
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1224
    functionName: initQueryConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - createSockFd
    - initBenchConn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initQueryConn(qThreadInfo * pThreadInfo, int iface) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:32,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - nmemb
    - size
    - record
    argTypes:
    - size_t
    - size_t
    - bool
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: benchCalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - calloc
    - errorPrint
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'FORCE_INLINE void * benchCalloc(size_t nmemb, size_t size, bool record) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:875,1
    - Dst: strncasecmp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:876,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:876,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pArray
    - field_name
    - name_len
    - field_type
    argTypes:
    - BArray*
    - char*
    - int32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: searchBArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - strlen
    - strncasecmp
    linkageType: ''
    returnType: bool
    signature: 'bool searchBArray(BArray *pArray, const char *field_name, int32_t
      name_len, uint8_t field_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1686,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1693,1
    - Dst: getServerVersionRestImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1691,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rest_port
    argTypes:
    - int16_t
    constantsTouched: []
    func_position:
      end: 1695
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1695
    functionName: getServerVersionRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - createSockFd
    - getServerVersionRestImpl
    - destroySockFd
    linkageType: ''
    returnType: int
    signature: 'int getServerVersionRest(int16_t rest_port) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: tmfclose
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - fclose
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void tmfclose(FILE *fp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1699,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1709,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1701,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1704,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1706,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1710,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1711,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1712,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1713,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1714,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1722,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1732,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1723,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1728,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1721,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1724,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1725,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - responseBuf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1734
    functionName: getCodeFromResp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tmfree
    - tools_cJSON_Parse
    - tools_cJSON_IsNumber
    - strstr
    - tools_cJSON_Delete
    - tools_cJSON_Print
    - tools_cJSON_GetObjectItem
    - tools_cJSON_IsString
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int getCodeFromResp(char *responseBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1439,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1444,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1442,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - conn
    - command
    argTypes:
    - SBenchConn*
    - char*
    constantsTouched: []
    func_position:
      end: 1447
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1447
    functionName: queryDbExecCall
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_free_result
    - taos_query
    - taos_errno
    - printErrCmdCodeStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryDbExecCall(SBenchConn *conn, char *command) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:818,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:831,1
    - Dst: BARRAY_GET_ELEM
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:830,1
    - Dst: benchArrayEnsureCap
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:823,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:825,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:833,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pArray
    - pData
    - elems
    - free
    argTypes:
    - BArray*
    - void*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 837
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 837
    functionName: benchArrayAddBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - BARRAY_GET_ELEM
    - memcpy
    - tmfree
    - benchArrayEnsureCap
    linkageType: ''
    returnType: void*
    signature: 'void * benchArrayAddBatch(BArray* pArray, void* pData, int32_t elems,
      bool free) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - pData
    argTypes:
    - BArray*
    - void*
    constantsTouched: []
    func_position:
      end: 841
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 841
    functionName: benchArrayPush
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayAddBatch
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'FORCE_INLINE void * benchArrayPush(BArray* pArray, void* pData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1267,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1286,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1306,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1295,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1303,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1316,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1278,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1288,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1300,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1304,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1299,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1270,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1279,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1285,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1294,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1295,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1308,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1318,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1281,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1302,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1300,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1310,1
    - Dst: taos_close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1322
    functionName: queryKiller
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_connect
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - min
    - printErrCmdCodeStr
    - taos_close
    - strlen
    - taos_fetch_lengths
    - TOOLS_STRNCPY
    - infoPrint
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: void*
    signature: 'void *queryKiller(void *arg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1751,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1782,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1797,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1799,1
    - Dst: tools_cJSON_IsString
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1824,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1835,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1746,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1754,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1764,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1788,1
    - Dst: tools_cJSON_IsNumber
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1800,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1805,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1806,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1827,1
    - Dst: postProceSqlImpl
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1747,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1771,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1781,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1815,1
    - Dst: tools_cJSON_Parse
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1791,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1808,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1829,1
    - Dst: getCodeFromResp
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1758,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1807,1
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1823,1
    - Dst: tools_cJSON_Print
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1825,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1826,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1838,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 107
    argCount: 9
    argNames:
    - sqlstr
    - dbName
    - precision
    - iface
    - protocol
    - rest_port
    - tcp
    - sockfd
    - filePath
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - uint16_t
    - bool
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1840
    functionName: postProcessSql
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tmfree
    - tools_cJSON_Parse
    - debugPrint
    - tools_cJSON_IsNumber
    - strstr
    - free
    - tools_cJSON_Delete
    - tools_cJSON_Print
    - postProceSqlImpl
    - tools_cJSON_GetObjectItem
    - errorPrint
    - getCodeFromResp
    - tools_cJSON_IsString
    - benchCalloc
    linkageType: ''
    returnType: int
    signature: 'int postProcessSql(char *sqlstr, char* dbName, int precision, int
      iface, int protocol, uint16_t rest_port, bool tcp, int sockfd, char* filePath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:52,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: tmfree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void tmfree(void *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - iface
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: isRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE bool isRest(int32_t iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:891,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - BArray*
    constantsTouched: []
    func_position:
      end: 894
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 894
    functionName: copyBArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayInit
    - benchArrayAddBatch
    linkageType: ''
    returnType: BArray*
    signature: 'BArray * copyBArray(BArray *pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1230,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1231,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1236,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pThreadInfo
    - iface
    argTypes:
    - qThreadInfo*
    - int
    constantsTouched: []
    func_position:
      end: 1239
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1239
    functionName: closeQueryConn
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - closeBenchConn
    - close
    - WSACleanup
    - closesocket
    linkageType: ''
    returnType: void
    signature: 'void closeQueryConn(qThreadInfo * pThreadInfo, int iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: taosRandom
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: FORCE_INLINE unsigned
    signature: 'FORCE_INLINE unsigned int taosRandom() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closesocket
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:992,1
    - Dst: WSACleanup
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:993,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:995,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 997
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 997
    functionName: closeSockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - close
    - WSACleanup
    - closesocket
    linkageType: ''
    returnType: void
    signature: 'static void closeSockFd(int sockfd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1399,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1405,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1405,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1421
    functionName: trimCaseCmp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tolower
    - isblank
    linkageType: ''
    returnType: int
    signature: 'int trimCaseCmp(char *str1, char *str2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1058,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1066,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1062,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1067,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1060,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - cols
    - tbName
    argTypes:
    - BArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1071
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1071
    functionName: genColNames
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - strcpy
    - strcat
    - benchCalloc
    linkageType: ''
    returnType: char*
    signature: 'char *genColNames(BArray *cols, bool tbName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: shutdown
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1007,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1019,1
    - Dst: recv
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1017,1
    - Dst: closeSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1010,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1009,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1021,1
    - Dst: errorPrintSocketMsg
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1023,1
    - Dst: closeSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - sockfd
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1028
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1028
    functionName: destroySockFd
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    - shutdown
    - errorPrintSocketMsg
    - recv
    - closeSockFd
    - infoPrint
    linkageType: ''
    returnType: void
    signature: 'void destroySockFd(int sockfd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 7
    argNames:
    - command
    - dbName
    - precision
    - iface
    - protocol
    - tcp
    - sockfd
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - bool
    - int
    constantsTouched: []
    func_position:
      end: 1435
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1435
    functionName: queryDbExecRest
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - postProcessSql
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryDbExecRest(char *command, char* dbName, int precision,
      int iface, int protocol, bool tcp, int sockfd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1371,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1374,1
    - Dst: getAllChildNameOfSuperTable
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1381,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1352,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1349,1
    - Dst: taos_num_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1358,1
    - Dst: taos_print_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1368,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1364,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1362,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1378,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1350,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1353,1
    - Dst: taos_fetch_fields
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1359,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1373,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1363,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1386,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1339,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1346,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1360,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1361,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1387,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1390,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - dbName
    - stbName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1394
    functionName: fetchChildTableName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_query
    - tmfree
    - snprintf
    - taos_errno
    - taos_fetch_row
    - taos_num_fields
    - benchCalloc
    - taos_print_row
    - printErrCmdCodeStr
    - closeBenchConn
    - strlen
    - atol
    - getAllChildNameOfSuperTable
    - infoPrint
    - taos_free_result
    - taos_fetch_fields
    - initBenchConn
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int fetchChildTableName(char *dbName, char *stbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fun
    - code
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: engineError
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'void engineError(char * module, char * fun, int32_t code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetStdHandle
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:70,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:73,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:77,1
    - Dst: GetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:76,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:73,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:77,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:85,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:86,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 88
    functionName: setupForAnsiEscape
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - exit
    - GetConsoleMode
    - SetConsoleMode
    - GetLastError
    - GetStdHandle
    linkageType: ''
    returnType: void
    signature: 'void setupForAnsiEscape(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - names
    - i
    - j
    argTypes:
    - char**
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: swapItem
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    linkageType: ''
    returnType: void
    signature: 'void swapItem(char** names, int32_t i, int32_t j ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:92,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:96,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:96,1
    - Dst: SetConsoleMode
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: resetAfterAnsiEscape
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - GetLastError
    - exit
    - SetConsoleMode
    - printf
    linkageType: ''
    returnType: void
    signature: 'void resetAfterAnsiEscape(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:121,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:132,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:124,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:125,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:128,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:133,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:134,1
    - Dst: taos_fetch_lengths
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:138,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:140,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:142,1
    - Dst: swapItem
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:159,1
    - Dst: RD
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:158,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:145,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:149,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - taos
    - dbName
    - stbName
    - childTblNameOfSuperTbl
    - childTblCountOfSuperTbl
    argTypes:
    - TAOS*
    - char*
    - char*
    - char**
    - int64_t
    constantsTouched: []
    func_position:
      end: 162
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 162
    functionName: getAllChildNameOfSuperTable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - strncpy
    - taos_fetch_row
    - taos_errno
    - debugPrint
    - benchCalloc
    - printErrCmdCodeStr
    - RD
    - strlen
    - taos_fetch_lengths
    - taos_free_result
    - swapItem
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int getAllChildNameOfSuperTable(TAOS *taos, char *dbName, char *stbName,
      char ** childTblNameOfSuperTbl, int64_t childTblCountOfSuperTbl) '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 588
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 588
    functionName: convertDatatypeToDefaultMax
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t convertDatatypeToDefaultMax(uint8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:671,1
    - Dst: stringToDecimal128
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - precision
    - scale
    - dec
    argTypes:
    - uint8_t
    - uint8_t
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 680
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 680
    functionName: getDecimal128DefaultMin
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - MIN
    - stringToDecimal128
    linkageType: ''
    returnType: void
    signature: 'void getDecimal128DefaultMin(uint8_t precision, uint8_t scale, Decimal128*
      dec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1170,1
    - Dst: showTableBinds
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1178,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1174,1
    - Dst: showTableBinds
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - bindv
    - tags
    - cols
    argTypes:
    - TAOS_STMT2_BINDV*
    - BArray*
    - BArray*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1180
    functionName: showBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - showTableBinds
    - debugPrint
    linkageType: ''
    returnType: void
    signature: 'void showBindV(TAOS_STMT2_BINDV *bindv, BArray *tags, BArray *cols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:593,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:594,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - val
    - precision
    - scale
    - dec
    argTypes:
    - double
    - uint8_t
    - uint8_t
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 595
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 595
    functionName: doubleToDecimal64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - decimal64FromStr
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void doubleToDecimal64(double val, uint8_t precision, uint8_t scale,
      Decimal64* dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:684,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:684,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:684,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - Decimal64*
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: decimal64BCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: int
    signature: 'int decimal64BCompare(const Decimal64* a, const Decimal64* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bindv
    argTypes:
    - TAOS_STMT2_BINDV*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1125
    functionName: freeBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - tmfree
    linkageType: ''
    returnType: void
    signature: 'void freeBindV(TAOS_STMT2_BINDV *bindv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:600,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:601,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - val
    - precision
    - scale
    - dec
    argTypes:
    - double
    - uint8_t
    - uint8_t
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: doubleToDecimal128
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - decimal128FromStr
    linkageType: ''
    returnType: void
    signature: 'void doubleToDecimal128(double val, uint8_t precision, uint8_t scale,
      Decimal128* dec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - bindv
    - capacity
    - tagCnt
    - colCnt
    argTypes:
    - TAOS_STMT2_BINDV*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1120
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1120
    functionName: resetBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void resetBindV(TAOS_STMT2_BINDV *bindv, int32_t capacity, int32_t
      tagCnt, int32_t colCnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1251,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1253,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1257,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1259
    functionName: freeSpecialQueryInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - tmfree
    - benchArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeSpecialQueryInfo() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromStr
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:606,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - str
    - precision
    - scale
    - dec
    argTypes:
    - char*
    - uint8_t
    - uint8_t
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: stringToDecimal64
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - decimal64FromStr
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void stringToDecimal64(const char* str, uint8_t precision, uint8_t
      scale, Decimal64* dec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1083,1
    - Dst: resetBindV
      Src: /src/tdengine/tools/taos-tools/src/benchUtil.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - capacity
    - tagCnt
    - colCnt
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1087
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1087
    functionName: createBindV
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtil.c
    functionUses: []
    functionsReached:
    - benchCalloc
    - resetBindV
    linkageType: ''
    returnType: TAOS_STMT2_BINDV*
    signature: 'TAOS_STMT2_BINDV * createBindV(int32_t capacity, int32_t tagCnt, int32_t
      colCnt) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:27,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:42,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:43,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:34,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:30,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:46,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:48,1
    - Dst: fetchResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:53,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:58,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:60,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - pThreadInfo
    - command
    - record
    argTypes:
    - qThreadInfo*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 80
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 80
    functionName: selectAndGetResult
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - taos_query
    - fetchResult
    - taos_errno
    - debugPrint
    - postProcessSql
    - TOOLS_STRNCPY
    - taos_free_result
    - taos_errstr
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int selectAndGetResult(qThreadInfo *pThreadInfo, char *command, bool
      record) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:97,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pThreadInfo
    argTypes:
    - qThreadInfo*
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: resetQueryCache
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - errorPrint
    - selectAndGetResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t resetQueryCache(qThreadInfo* pThreadInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:167,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:185,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:195,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:134,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:155,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:140,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:157,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:174,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:175,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:178,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:148,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:192,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:196,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:141,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:161,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:168,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:201,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:181,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:190,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 206
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 206
    functionName: specQueryMixThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - tmfree
    - debugPrint
    - autoSleep
    - benchCalloc
    - showRealQPS
    - toolsGetTimestampUs
    - benchArrayPush
    - toolsGetTimestampMs
    - benchArrayInit
    - taos_select_db
    - infoPrint
    - prctl
    - benchArrayGet
    - resetQueryCache
    - errorPrint
    - selectAndGetResult
    linkageType: ''
    returnType: void*
    signature: 'static void *specQueryMixThread(void *sarg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:292,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:310,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:305,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:317,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:337,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:361,1
    - Dst: benchArrayPushNoFree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:368,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:380,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:295,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:303,1
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:316,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:344,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:349,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:356,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:355,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:365,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:376,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:323,1
    - Dst: replaceChildTblName
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:342,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:364,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:359,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:373,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:384,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:328,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:334,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 387
    functionName: stbQueryThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - benchArrayPushNoFree
    - tmfree
    - snprintf
    - debugPrint
    - replaceChildTblName
    - autoSleep
    - showRealQPS
    - toolsGetTimestampUs
    - toolsGetTimestampMs
    - benchArrayInit
    - memset
    - infoPrint
    - prctl
    - resetQueryCache
    - benchCalloc
    - selectAndGetResult
    - errorPrint
    linkageType: ''
    returnType: void*
    signature: 'static void *stbQueryThread(void *sarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:400,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:424,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:423,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:411,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:416,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:430,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:434,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:445,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:447,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:449,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:453,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:461,1
    - Dst: benchArrayAddBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:459,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - infos
    - threadCnt
    - spend
    - pDelays
    argTypes:
    - qThreadInfo*
    - int
    - int64_t
    - BArray*
    constantsTouched: []
    func_position:
      end: 462
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 462
    functionName: totalChildQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - benchArrayDestroy
    - benchArrayInit
    - benchArrayAddBatch
    - infoPrint
    - benchArrayGet
    - qsort
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'void totalChildQuery(qThreadInfo* infos, int threadCnt, int64_t spend,
      BArray *pDelays) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:481,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:515,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:512,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:484,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:517,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:537,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:540,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:551,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:553,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:560,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:565,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:571,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:569,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:566,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 573
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 573
    functionName: stbQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - initQueryConn
    - tmfree
    - pthread_create
    - toolsGetTimestampUs
    - totalChildQuery
    - closeQueryConn
    - errorPrint
    - benchCalloc
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int stbQuery(uint16_t iface, char* dbName) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:597,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:680,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:708,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:740,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:744,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:590,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:598,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:606,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:607,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:644,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:649,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:653,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:693,1
    - Dst: infoPrintNoTimestamp
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:733,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:741,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:610,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:642,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:661,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:703,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:592,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:620,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:624,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:626,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:639,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:707,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:709,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:710,1
    - Dst: infoPrintNoTimestampToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:734,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:735,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 110
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 746
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 746
    functionName: specQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - initQueryConn
    - tmfree
    - snprintf
    - infoPrintNoTimestamp
    - pthread_create
    - benchArrayDestroy
    - toolsGetTimestampUs
    - warnPrint
    - memset
    - strlen
    - closeQueryConn
    - errorPrint
    - benchArrayGet
    - freeSpecialQueryInfo
    - qsort
    - benchCalloc
    - pthread_join
    - infoPrintNoTimestampToFile
    linkageType: ''
    returnType: int
    signature: 'static int specQuery(uint16_t iface, char* dbName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:755,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:789,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:763,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:756,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:785,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:791,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:809,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:811,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:813,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:825,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:829,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:842,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:833,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:838,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:846,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:843,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 849
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 849
    functionName: specQueryMix
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - initQueryConn
    - tmfree
    - pthread_create
    - benchArrayDestroy
    - toolsGetTimestampUs
    - warnPrint
    - totalChildQuery
    - closeQueryConn
    - errorPrint
    - freeSpecialQueryInfo
    - benchCalloc
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int specQueryMix(uint16_t iface, char* dbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:113,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pThreadInfo
    - lastPrintTime
    - startTs
    argTypes:
    - qThreadInfo*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: showRealQPS
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - infoPrint
    - toolsGetTimestampMs
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t showRealQPS(qThreadInfo* pThreadInfo, int64_t lastPrintTime,
      int64_t startTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:853,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:870,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:858,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:862,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:865,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:878,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:880,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:882,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:884,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - allSleep
    - pDelays
    argTypes:
    - int32_t
    - BArray*
    constantsTouched: []
    func_position:
      end: 889
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 889
    functionName: totalBatchQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - infoPrint
    - benchArrayGet
    - qsort
    - printf
    linkageType: ''
    returnType: void
    signature: 'void totalBatchQuery(int32_t allSleep, BArray *pDelays) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:910,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:982,1
    - Dst: totalBatchQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1027,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1037,1
    - Dst: freeSpecialQueryInfo
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1041,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1045,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:901,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1016,1
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:994,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1012,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:965,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:980,1
    - Dst: totalChildQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1008,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:998,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1007,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1038,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:900,1
    - Dst: initQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:926,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:902,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:944,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:963,1
    - Dst: closeQueryConn
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1033,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1002,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 2
    argNames:
    - iface
    - dbName
    argTypes:
    - uint16_t
    - char*
    constantsTouched: []
    func_position:
      end: 1049
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 1049
    functionName: specQueryBatch
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - initQueryConn
    - tmfree
    - pthread_create
    - benchArrayDestroy
    - autoSleep
    - toolsGetTimestampUs
    - warnPrint
    - printf
    - benchArrayInit
    - totalChildQuery
    - totalBatchQuery
    - closeQueryConn
    - infoPrint
    - freeSpecialQueryInfo
    - benchCalloc
    - pthread_join
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'static int specQueryBatch(uint16_t iface, char* dbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:87,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:89,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - interval
    - delay
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: autoSleep
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - infoPrint
    - debugPrint
    - toolsMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t autoSleep(uint64_t interval, uint64_t delay ) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:212,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:223,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:232,1
    - Dst: taos_select_db
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:222,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:230,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:235,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:238,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:245,1
    - Dst: resetQueryCache
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:251,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:252,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:274,1
    - Dst: selectAndGetResult
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:259,1
    - Dst: autoSleep
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:269,1
    - Dst: showRealQPS
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:284,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:262,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:265,1
    - Dst: benchArrayPushNoFree
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:278,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:258,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 288
    functionName: specQueryThread
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - benchArrayPushNoFree
    - snprintf
    - debugPrint
    - autoSleep
    - showRealQPS
    - toolsGetTimestampUs
    - toolsGetTimestampMs
    - benchArrayInit
    - taos_select_db
    - infoPrint
    - prctl
    - benchArrayGet
    - resetQueryCache
    - errorPrint
    - selectAndGetResult
    linkageType: ''
    returnType: void*
    signature: 'static void *specQueryThread(void *sarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1062,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1069,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1073,1
    - Dst: infoPrintToFile
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - spends
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 1075
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1075
    functionName: totalQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - infoPrint
    - snprintf
    - infoPrintToFile
    linkageType: ''
    returnType: void
    signature: 'void totalQuery(int64_t spends) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: prompt
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1078,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1088,1
    - Dst: killSlowQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1095,1
    - Dst: encodeAuthBase64
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1082,1
    - Dst: convertHostToServAddr
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1085,1
    - Dst: fetchChildTableName
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1104,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1106,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1115,1
    - Dst: specQueryBatch
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1121,1
    - Dst: specQueryMix
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1125,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1142,1
    - Dst: totalQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1147,1
    - Dst: toolsGetTimestampMs
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1147,1
    - Dst: specQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1131,1
    - Dst: stbQuery
      Src: /src/tdengine/tools/taos-tools/src/benchQuery.c:1137,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1149
    functionName: queryTestProcess
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchQuery.c
    functionUses: []
    functionsReached:
    - encodeAuthBase64
    - specQueryMix
    - specQueryBatch
    - stbQuery
    - fetchChildTableName
    - convertHostToServAddr
    - specQuery
    - totalQuery
    - toolsGetTimestampMs
    - killSlowQuery
    - prompt
    - errorPrint
    linkageType: ''
    returnType: int
    signature: 'int queryTestProcess() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:55,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - subType
    - coordArray
    argTypes:
    - EGeoSubType
    - BArray*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: geoObject2DInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - benchCalloc
    linkageType: ''
    returnType: SGeoObj2D*
    signature: 'static SGeoObj2D *geoObject2DInit(EGeoSubType subType, BArray *coordArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: randCoordArray
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:67,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:69,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:71,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:72,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:70,1
    - Dst: geoObject2DInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:74,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - subType
    - coordNum
    argTypes:
    - EGeoSubType
    - int
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: geoObject2DRandInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - geoObject2DInit
    - benchArrayGet
    - memcpy
    - randCoordArray
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: SGeoObj2D*
    signature: 'static SGeoObj2D *geoObject2DRandInit(EGeoSubType subType, int coordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - pCoord
    argTypes:
    - char*
    - SGeoCoord2D*
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: geoCoord2DToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int geoCoord2DToStr(char *buffer, SGeoCoord2D *pCoord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:104,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:106,1
    - Dst: geoCoord2DArrayToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - buffer
    - object
    argTypes:
    - char*
    - SGeoObj2D*
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: geoObject2DToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - geoCoord2DArrayToStr
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int geoObject2DToStr(char *buffer, SGeoObj2D *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fieldLen
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: geoCalcBufferSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int geoCalcBufferSize(int fieldLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:94,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:97,1
    - Dst: geoCoord2DToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - buffer
    - coordArray
    argTypes:
    - char*
    - BArray*
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: geoCoord2DArrayToStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - benchArrayGet
    - geoCoord2DToStr
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'static int geoCoord2DArrayToStr(char *buffer, BArray *coordArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayDestroy
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:79,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SGeoObj2D*
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: geoObject2DDestory
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - benchArrayDestroy
    - tmfree
    linkageType: ''
    returnType: void
    signature: 'static void geoObject2DDestory(SGeoObj2D *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:111,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:119,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:115,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:116,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - count
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 122
    functionName: randCoordArray
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - benchArrayInit
    - benchArrayPush
    - benchCalloc
    - taosRandom
    linkageType: ''
    returnType: BArray*
    signature: 'static BArray *randCoordArray(int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - fieldLen
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: getGeoMaxType
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int getGeoMaxType(int fieldLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:144,1
    - Dst: geoObject2DRandInit
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:155,1
    - Dst: taosRandom
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:152,1
    - Dst: geoObject2DToStr
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:156,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:148,1
    - Dst: geoObject2DDestory
      Src: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - str
    - fieldLen
    - maxType
    argTypes:
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: rand_geometry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchDataGeometry.c
    functionUses: []
    functionsReached:
    - geoObject2DDestory
    - taosRandom
    - min
    - geoObject2DRandInit
    - geoObject2DToStr
    linkageType: ''
    returnType: void
    signature: 'void rand_geometry(char *str, int fieldLen, int maxType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:32,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:33,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: printVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void printVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:254,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:257,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:262,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:256,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 263
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 263
    functionName: initDatabase
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - benchArrayInit
    - benchArrayGet
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'static void initDatabase() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:39,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:62,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:83,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:89,1
    - Dst: getDecimal64DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:96,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:111,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:112,1
    - Dst: regcomp
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:48,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:41,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:40,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:54,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:56,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:80,1
    - Dst: getDecimal64DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:97,1
    - Dst: convertTypeToLength
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:107,1
    - Dst: regexec
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:50,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:58,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:59,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:72,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:74,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:77,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:79,1
    - Dst: regcomp
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:66,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:88,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:90,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:57,1
    - Dst: regexec
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:68,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:77,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:84,1
    - Dst: getDecimal128DefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:94,1
    - Dst: regfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:102,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:110,1
    - Dst: getDecimal128DefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:93,1
    - Dst: convertStringToDatatype
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:106,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 85
    argCount: 4
    argNames:
    - token
    - fields
    - index
    - isTag
    argTypes:
    - char*
    - BArray*
    - int
    - bool
    constantsTouched: []
    func_position:
      end: 113
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 113
    functionName: processSingleToken
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - exit
    - convertTypeToLength
    - convertStringToDatatype
    - benchArrayPush
    - benchCalloc
    - regcomp
    - atoi
    - benchArrayGet
    - convertDatatypeToDefaultMin
    - strncpy
    - getDecimal64DefaultMin
    - getDecimal128DefaultMax
    - errorPrint
    - regexec
    - convertDatatypeToDefaultMax
    - snprintf
    - getDecimal128DefaultMin
    - regfree
    - getDecimal64DefaultMax
    linkageType: ''
    returnType: void
    signature: 'void processSingleToken(char* token, BArray* fields, int index, bool
      isTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:157,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:170,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:165,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:166,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:169,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:217,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:211,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:153,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:156,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:168,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:216,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:225,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:226,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:154,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:155,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:163,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:214,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:180,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:182,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:213,1
    - Dst: TOOLS_STRNCPY
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 251
    functionName: initStable
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - benchArrayInit
    - TOOLS_STRNCPY
    - benchArrayGet
    - benchArrayPush
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'static void initStable() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:266,1
    - Dst: initStable
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:311,1
    - Dst: benchArrayInit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:312,1
    - Dst: initDatabase
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:310,1
    - Dst: taos_get_client_info
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 313
    functionName: initArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - taos_get_client_info
    - initStable
    - initDatabase
    - benchArrayInit
    - benchCalloc
    linkageType: ''
    returnType: void
    signature: 'void initArgument() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:316,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:326,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:317,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:329,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:328,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:330,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:338,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:340,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:350,1
    - Dst: benchArrayPush
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:351,1
    - Dst: convertDatatypeToDefaultMin
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:356,1
    - Dst: convertDatatypeToDefaultMax
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:357,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:352,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:355,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 365
    functionName: modifyArgument
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - snprintf
    - convertDatatypeToDefaultMin
    - benchArrayGet
    - benchArrayPush
    - benchCalloc
    - convertDatatypeToDefaultMax
    linkageType: ''
    returnType: void
    signature: 'void modifyArgument() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:375,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:380,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:393,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:404,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:407,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:412,1
    - Dst: strncat
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:419,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:430,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:425,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:438,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:377,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:379,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:415,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:437,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:435,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:445,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:395,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:427,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:434,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:449,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:420,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:447,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:452,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:456,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:442,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 458
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 458
    functionName: queryStableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - fprintf
    - strncat
    - free
    - toolsGetTimestampUs
    - printErrCmdCodeStr
    - postProcessSql
    - infoPrint
    - prctl
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *queryStableAggrFunc(void *sarg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:551,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:580,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:546,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:558,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:567,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:582,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:591,1
    - Dst: createSockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:571,1
    - Dst: destroySockFd
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:588,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:549,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:555,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:557,1
    - Dst: initBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:564,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:566,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:578,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:544,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:552,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:573,1
    - Dst: closeBenchConn
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:585,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 592
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 592
    functionName: queryAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - createSockFd
    - destroySockFd
    - pthread_create
    - benchCalloc
    - free
    - closeBenchConn
    - benchArrayGet
    - initBenchConn
    - errorPrint
    - pthread_join
    linkageType: ''
    returnType: void
    signature: 'void queryAggrFunc() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayClear
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:117,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:121,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:133,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:119,1
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:118,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:134,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:138,1
    - Dst: processSingleToken
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:145,1
    - Dst: tmfree
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - dataType
    - fields
    - isTag
    argTypes:
    - char*
    - BArray*
    - bool
    constantsTouched: []
    func_position:
      end: 149
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 149
    functionName: parseFieldDatatype
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - exit
    - tmfree
    - benchArrayClear
    - strstr
    - processSingleToken
    - strdup
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'void parseFieldDatatype(char* dataType, BArray* fields, bool isTag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:471,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:505,1
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:512,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:535,1
    - Dst: toolsGetTimestampUs
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:525,1
    - Dst: prctl
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:467,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:485,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:487,1
    - Dst: taos_free_result
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:522,1
    - Dst: benchCalloc
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:469,1
    - Dst: postProcessSql
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:508,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:516,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:529,1
    - Dst: benchArrayGet
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:472,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:496,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:538,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:513,1
    - Dst: printErrCmdCodeStr
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:515,1
    - Dst: taos_fetch_row
      Src: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c:519,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - sarg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 540
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 540
    functionName: queryNtableAggrFunc
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchCommandOpt.c
    functionUses: []
    functionsReached:
    - taos_query
    - snprintf
    - taos_free_result
    - taos_errno
    - taos_fetch_row
    - fprintf
    - free
    - toolsGetTimestampUs
    - printErrCmdCodeStr
    - postProcessSql
    - infoPrint
    - prctl
    - benchArrayGet
    - benchCalloc
    linkageType: ''
    returnType: void*
    signature: 'static void *queryNtableAggrFunc(void *sarg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 24
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 24
    functionName: ds_header
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: dstr*
    signature: 'static dstr * ds_header(char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: ds_set_len
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ds_set_len(char *s, uint64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ds_header
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:48,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:56,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:53,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ps
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 58
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 58
    functionName: free_ds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - ds_header
    - exit
    - free
    - debugPrint
    linkageType: ''
    returnType: void
    signature: 'void free_ds(char **ps) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - s
    - cap
    argTypes:
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: ds_set_cap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void ds_set_cap(char *s, uint64_t cap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:92,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - x
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: fast_sqrt
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: float
    signature: 'float fast_sqrt(float x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:125,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:133,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:129,1
    - Dst: ds_set_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:134,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:128,1
    - Dst: ds_set_cap
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ps
    - cap
    argTypes:
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: ds_resize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - exit
    - realloc
    - ds_len
    - ds_set_cap
    - errorPrint
    - ds_set_len
    linkageType: ''
    returnType: char*
    signature: 'char * ds_resize(char **ps, size_t cap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:30,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:34,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - cap
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: new_ds
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - malloc
    - exit
    - errorPrint
    linkageType: ''
    returnType: char*
    signature: 'char * new_ds(size_t cap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: ds_len
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ds_len(const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: ds_cap
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ds_cap(const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: ds_end
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - ds_len
    linkageType: ''
    returnType: char*
    signature: 'char * ds_end(char *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:103,1
    - Dst: fast_sqrt
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:112,1
    - Dst: ds_resize
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:118,1
    - Dst: ds_cap
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - ps
    - needsize
    argTypes:
    - char**
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: ds_grow
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - ds_resize
    - fast_sqrt
    - ds_cap
    - ds_len
    linkageType: ''
    returnType: char*
    signature: 'char * ds_grow(char **ps, size_t needsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:146,1
    - Dst: ds_set_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:153,1
    - Dst: ds_grow
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:147,1
    - Dst: ds_end
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:151,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:151,1
    - Dst: ds_len
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ps
    - sub
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: ds_add_str
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - ds_end
    - ds_len
    - strlen
    - ds_grow
    - memcpy
    - ds_set_len
    linkageType: ''
    returnType: char*
    signature: 'char * ds_add_str(char **ps, const char* sub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:162,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:169,1
    - Dst: ds_add_str
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:166,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/src/benchUtilDs.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ps
    - count
    - '...'
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: ds_add_strs
    functionSourceFile: /src/tdengine/tools/taos-tools/src/benchUtilDs.c
    functionUses: []
    functionsReached:
    - va_arg
    - ds_add_str
    - va_end
    - va_start
    linkageType: ''
    returnType: char*
    signature: 'char * ds_add_strs(char **ps, int count, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindNextFile
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:134,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:145,1
    - Dst: readdir_r
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pDir
    argTypes:
    - TdDirPtr
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: toolsReadDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached:
    - FindNextFile
    - readdir_r
    - readdir
    linkageType: ''
    returnType: TdDirEntryPtr
    signature: 'TdDirEntryPtr toolsReadDir(TdDirPtr pDir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:49,1
    - Dst: _fullpath
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:50,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - words
    - pwordexp
    - flags
    argTypes:
    - char*
    - wordexp_t*
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: wordexp
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached:
    - _fullpath
    - printf
    - memset
    linkageType: ''
    returnType: int
    signature: 'int wordexp(char *words, wordexp_t *pwordexp, int flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pDirEntry
    argTypes:
    - TdDirEntryPtr
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: toolsGetDirEntryName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *toolsGetDirEntryName(TdDirEntryPtr pDirEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pwordexp
    argTypes:
    - wordexp_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: wordfree
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void wordfree(wordexp_t *pwordexp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toolsMemoryMalloc
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:106,1
    - Dst: FindFirstFile
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:111,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:113,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:109,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:108,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:118,1
    - Dst: toolsMemoryMalloc
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:120,1
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 127
    functionName: toolsOpenDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached:
    - toolsMemoryMalloc
    - FindFirstFile
    - strcpy
    - toolsMemoryFree
    - strcat
    - opendir
    linkageType: ''
    returnType: TdDirPtr
    signature: 'TdDirPtr toolsOpenDir(const char *dirname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:165,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:170,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:171,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:175,1
    - Dst: toolsMemoryFree
      Src: /src/tdengine/tools/taos-tools/src/toolsDir.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - ppDir
    argTypes:
    - TdDirPtr*
    constantsTouched: []
    func_position:
      end: 179
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 179
    functionName: toolsCloseDir
    functionSourceFile: /src/tdengine/tools/taos-tools/src/toolsDir.c
    functionUses: []
    functionsReached:
    - FindClose
    - toolsMemoryFree
    - closedir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toolsCloseDir(TdDirPtr *ppDir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - code
    - type
    argTypes:
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: canRetry
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool canRetry(int32_t code, int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:136,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:141,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:139,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:140,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:137,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:142,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:143,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: print_json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_plural
    - json_object_size
    - printf
    - print_json_aux
    - json_object_foreach
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: 'static void print_json_object(json_t *element, int indent) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:244,1
    - Dst: getFileSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:251,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:246,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:253,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:246,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:253,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:254,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:260,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:262,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:262,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:268,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:276,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:270,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:271,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:270,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:263,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 278
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 278
    functionName: readFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - fclose
    - fread
    - free
    - warnPrint
    - calloc
    - strerror
    - getFileSize
    - fopen
    - errorPrint
    linkageType: ''
    returnType: char*
    signature: 'char * readFile(char *filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:444,1
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:445,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:446,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:448,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:453,1
    - Dst: pthread_mutex_unlock
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - map
    - key
    - value
    argTypes:
    - HashMap*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: hashMapInsert
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - malloc
    - pthread_mutex_unlock
    - bkdrHash
    - strdup
    - pthread_mutex_lock
    linkageType: ''
    returnType: bool
    signature: 'bool hashMapInsert(HashMap *map, const char *key, void *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:483,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:487,1
    - Dst: pthread_mutex_destroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:493,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:486,1
    - Dst: freeStbChange
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    constantsTouched: []
    func_position:
      end: 494
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 494
    functionName: hashMapDestroy
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - pthread_mutex_destroy
    - free
    - debugPrint
    - freeStbChange
    linkageType: ''
    returnType: void
    signature: 'void hashMapDestroy(HashMap *map) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - des
    - src
    argTypes:
    - TableDes*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 626
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 626
    functionName: copyTableDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void copyTableDes(TableDes *des, TableDes* src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - idx
    - tableDes
    argTypes:
    - int16_t
    - TableDes*
    constantsTouched: []
    func_position:
      end: 928
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 928
    functionName: idxInBindCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool idxInBindCols(int16_t idx, TableDes* tableDes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:150,1
    - Dst: print_json_object
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:152,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:185,1
    - Dst: print_json_string
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:160,1
    - Dst: print_json_array
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:156,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 187
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 187
    functionName: print_json_aux
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - print_json_string
    - print_json_array
    - print_json_object
    - errorPrint
    - json_typeof
    linkageType: ''
    returnType: void
    signature: 'void print_json_aux(json_t *element, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - head
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: freeNodes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeNodes(SNode* head) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:606,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:608,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - colDes
    - tableDes
    argTypes:
    - ColDes*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 615
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 615
    functionName: findFieldInServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool findFieldInServer(ColDes *colDes, TableDes * tableDes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - idx
    - tableDes
    argTypes:
    - int16_t
    - TableDes*
    constantsTouched: []
    func_position:
      end: 911
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 911
    functionName: idxInBindTags
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool idxInBindTags(int16_t idx, TableDes* tableDes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:30,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:35,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:43,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: mallocNode
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    - errorPrint
    linkageType: ''
    returnType: SNode*
    signature: 'SNode *mallocNode(const char *name, int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:212,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:214,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:220,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:219,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:214,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:220,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:221,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:225,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - filename
    - txt
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: writeFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - fclose
    - fprintf
    - warnPrint
    - strerror
    - fopen
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t writeFile(char *filename, char *txt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_query
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:381,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:382,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:386,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:392,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:392,1
    - Dst: canRetry
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:395,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:396,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:406,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:407,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - taos
    - sql
    - code
    argTypes:
    - TAOS*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 411
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 411
    functionName: taosQuery
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - taos_query
    - taos_errno
    - canRetry
    - okPrint
    - infoPrint
    - taos_errstr
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: TAOS_RES*
    signature: 'TAOS_RES *taosQuery(TAOS *taos, const char *sql, int32_t *code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:867,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:868,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:882,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:871,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:879,1
    - Dst: readJsonStbSchema
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:885,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:886,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:888,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:892,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - avroFile
    - recordSchema
    argTypes:
    - char*
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 894
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 894
    functionName: mFileToRecordSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_decref
    - readFile
    - print_json
    - strcpy
    - free
    - readJsonStbSchema
    - strcat
    - errorPrint
    - load_json
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mFileToRecordSchema(char *avroFile, RecordSchema* recordSchema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1083,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1084,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1092
    functionName: normalTableFolder
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool normalTableFolder(const char* dbPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:230,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:232,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:236,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 239
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 239
    functionName: getFileSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - fseek
    - ftell
    linkageType: ''
    returnType: long
    signature: 'long getFileSize(FILE *fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fun
    - code
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: engineError
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - errorPrint
    linkageType: ''
    returnType: void
    signature: 'void engineError(char * module, char * fun, int32_t code) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:715,1
    - Dst: getTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:735,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:721,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:728,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:730,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:736,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:737,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:743,1
    - Dst: localCrossServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:748,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:749,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:750,1
    - Dst: hashMapInsert
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:763,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:764,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:751,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:766,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:754,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:769,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 5
    argNames:
    - pDbChange
    - dbName
    - taos
    - recordSchema
    - ppStbChange
    argTypes:
    - DBChange*
    - char*
    - TAOS*
    - RecordSchema*
    - StbChange**
    constantsTouched: []
    func_position:
      end: 776
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 776
    functionName: AddStbChanged
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - hashMapInsert
    - freeTbDes
    - debugPrint
    - localCrossServer
    - free
    - getTableDes
    - calloc
    - infoPrint
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t AddStbChanged(DBChange *pDbChange, const char* dbName, TAOS
      *taos, RecordSchema *recordSchema, StbChange **ppStbChange) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:830,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:838,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:832,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:837,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:836,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:839,1
    - Dst: tstrncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:840,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:840,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:841,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:842,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:844,1
    - Dst: readStbSchemaCols
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:845,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:856,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:852,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - element
    - recordSchema
    argTypes:
    - json_t*
    - RecordSchema*
    constantsTouched: []
    func_position:
      end: 862
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 862
    functionName: readJsonStbSchema
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - debugPrint
    - strcmp
    - json_integer_value
    - tstrncpy
    - calloc
    - readStbSchemaCols
    - json_object_foreach
    - json_string_value
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readJsonStbSchema( json_t *element, RecordSchema *recordSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1061,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1062,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1070,1
    - Dst: writeFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1068,1
    - Dst: tableDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1066,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - metaFileName
    - tableDes
    argTypes:
    - char*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1076
    functionName: createNTableMFile
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - tableDesToJson
    - strcpy
    - free
    - writeFile
    - strcat
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createNTableMFile(char * metaFileName, TableDes* tableDes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:572,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:576,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:587,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:585,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:592,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - recordSchema
    - tableDesSrv
    argTypes:
    - RecordSchema*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 601
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 601
    functionName: schemaNoChanged
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - infoPrint
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool schemaNoChanged(RecordSchema *recordSchema, TableDes *tableDesSrv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:636,1
    - Dst: schemaNoChanged
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:643,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:658,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:644,1
    - Dst: copyTableDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:645,1
    - Dst: findFieldInServer
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:666,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:678,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:680,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:685,1
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:686,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:700,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:704,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:693,1
    - Dst: genPartStr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:699,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 4
    argNames:
    - pDbChange
    - pStbChange
    - recordSchema
    - tableDesSrv
    argTypes:
    - DBChange*
    - StbChange*
    - RecordSchema*
    - TableDes*
    constantsTouched: []
    func_position:
      end: 708
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 708
    functionName: localCrossServer
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - freeTbDes
    - strcpy
    - copyTableDes
    - calloc
    - genPartStr
    - findFieldInServer
    - infoPrint
    - schemaNoChanged
    - errorPrint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t localCrossServer(DBChange *pDbChange, StbChange *pStbChange,
      RecordSchema *recordSchema, TableDes *tableDesSrv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1022,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1026,1
    - Dst: getStbSchemaSize
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1022,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1034,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1036,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1038,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1043,1
    - Dst: colDesToJson
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1045,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1047,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1052,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - tableDes
    argTypes:
    - TableDes*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1056
    functionName: tableDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - calloc
    - colDesToJson
    - getStbSchemaSize
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char * tableDesToJson(TableDes *tableDes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:437,1
    - Dst: pthread_mutex_init
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - map
    argTypes:
    - HashMap*
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: hashMapInit
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - pthread_mutex_init
    - memset
    linkageType: ''
    returnType: void
    signature: 'void hashMapInit(HashMap *map) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:550,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:558,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - colDes
    - from
    - num
    argTypes:
    - ColDes*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 561
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 561
    functionName: genPartStr
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - calloc
    - strcat
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char * genPartStr(ColDes *colDes, int from , int num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - tableDes
    - onlyColumn
    argTypes:
    - TableDes*
    - bool
    constantsTouched: []
    func_position:
      end: 983
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 983
    functionName: getTbDesJsonSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t getTbDesJsonSize(TableDes *tableDes, bool onlyColumn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: print_json_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: 'static void print_json_indent(int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:123,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:124,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: print_json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_string_value
    - print_json_indent
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_json_string(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: print_json
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - print_json_aux
    linkageType: ''
    returnType: void
    signature: 'void print_json(json_t *root) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: bkdrHash
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t bkdrHash(const char *str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freeTbDes
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:523,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:538,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:529,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - stbChange
    argTypes:
    - StbChange*
    constantsTouched: []
    func_position:
      end: 539
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 539
    functionName: freeStbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - freeTbDes
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeStbChange(StbChange *stbChange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashMapFind
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pDbChange
    - stbName
    argTypes:
    - DBChange*
    - char*
    constantsTouched: []
    func_position:
      end: 787
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 787
    functionName: findStbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - hashMapFind
    linkageType: ''
    returnType: StbChange*
    signature: 'StbChange * findStbChange(DBChange *pDbChange, char *stbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:942,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:948,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:943,1
    - Dst: readFile
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:946,1
    - Dst: hashMapFind
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:953,1
    - Dst: debugPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:955,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:956,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - folder
    - pDbChange
    argTypes:
    - char*
    - DBChange*
    constantsTouched: []
    func_position:
      end: 958
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 958
    functionName: readFolderStbName
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - readFile
    - debugPrint
    - strcpy
    - free
    - hashMapFind
    - strcat
    linkageType: ''
    returnType: StbChange*
    signature: 'StbChange * readFolderStbName(char *folder, DBChange *pDbChange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tableDes
    argTypes:
    - TableDes*
    constantsTouched: []
    func_position:
      end: 999
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 999
    functionName: getStbSchemaSize
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t getStbSchemaSize(TableDes *tableDes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:112,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:116,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:115,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:118,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:113,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: print_json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_plural
    - json_array_size
    - printf
    - print_json_aux
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: 'static void print_json_array(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: json_plural
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *json_plural(size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:197,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - jsonbuf
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: load_json
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_loads
    - errorPrint
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *load_json(char *jsonbuf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:320,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:308,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:324,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:326,1
    - Dst: infoPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:366,1
    - Dst: taos_errno
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:359,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:309,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:326,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:371,1
    - Dst: strToLowerCopy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:299,1
    - Dst: parseDsn
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:306,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:325,1
    - Dst: defaultPort
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:337,1
    - Dst: taos_connect
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:349,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:340,1
    - Dst: okPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:353,1
    - Dst: errorPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:359,1
    - Dst: toolsMsleep
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:367,1
    - Dst: taos_errstr
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:360,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 1
    argNames:
    - dbName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 374
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 374
    functionName: taosConnect
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - strToLowerCopy
    - taos_connect
    - taos_errno
    - sprintf
    - free
    - strlen
    - okPrint
    - memcpy
    - defaultPort
    - taos_errstr
    - infoPrint
    - atoi
    - parseDsn
    - errorPrint
    - toolsMsleep
    linkageType: ''
    returnType: TAOS*
    signature: 'TAOS *taosConnect(const char *dbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - dbPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: createDbChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - calloc
    linkageType: ''
    returnType: DBChange*
    signature: 'DBChange *createDbChange(const char *dbPath) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:794,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:800,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:803,1
    - Dst: warnPrint
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:795,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:807,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:808,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:809,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:809,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:810,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:811,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - elements
    - cols
    argTypes:
    - json_t*
    - ColDes*
    constantsTouched: []
    func_position:
      end: 820
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 820
    functionName: readStbSchemaCols
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - json_array_get
    - strncpy
    - json_array_size
    - strcmp
    - warnPrint
    - json_integer_value
    - json_object_foreach
    - json_string_value
    - json_typeof
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readStbSchemaCols( json_t *elements, ColDes *cols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1007,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:1011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pstr
    - colDes
    - num
    argTypes:
    - char*
    - ColDes*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1016
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1016
    functionName: colDesToJson
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t colDesToJson(char *pstr, ColDes * colDes, uint32_t num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:90,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - tableDes
    - self
    argTypes:
    - TableDes*
    - bool
    constantsTouched: []
    func_position:
      end: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    functionName: freeTbDes
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeTbDes(TableDes *tableDes, bool self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bkdrHash
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:465,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - map
    - key
    argTypes:
    - HashMap*
    - char*
    constantsTouched: []
    func_position:
      end: 474
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 474
    functionName: hashMapFind
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - strcmp
    - bkdrHash
    linkageType: ''
    returnType: void*
    signature: 'void *hashMapFind(HashMap *map, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashMapDestroy
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:513,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/src/dumpUtil.c:516,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pDbChange
    argTypes:
    - DBChange*
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: freeDBChange
    functionSourceFile: /src/tdengine/tools/taos-tools/src/dumpUtil.c
    functionUses: []
    functionsReached:
    - hashMapDestroy
    - free
    linkageType: ''
    returnType: void
    signature: 'void freeDBChange(DBChange *pDbChange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: l_isspace
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:51,1
    - Dst: l_isspace
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:58,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: strip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - strlen
    - l_isspace
    linkageType: ''
    returnType: char*
    signature: 'static const char *strip(char *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:68,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:70,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:69,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:73,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:72,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: loadfile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - exit
    - malloc
    - fread
    - ftell
    - fseek
    linkageType: ''
    returnType: char*
    signature: 'static char *loadfile(FILE *file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:125,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:132,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:131,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:129,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:126,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:135,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:136,1
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:139,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:140,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:144,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - str
    - path
    - fname
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: cmpfile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - exit
    - fclose
    - sprintf
    - free
    - strcmp
    - printf
    - fopen
    - strcat
    - loadfile
    linkageType: ''
    returnType: int
    signature: 'static int cmpfile(const char *str, const char *path, const char *fname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:233,1
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 242
    functionName: getenv_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - getenv
    - strtol
    linkageType: ''
    returnType: int
    signature: 'static int getenv_int(const char *name) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:265,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:271,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:298,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:289,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:277,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:314,1
    - Dst: _setmode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:253,1
    - Dst: _fileno
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:253,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:259,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:283,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:274,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:284,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:306,1
    - Dst: strip
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:314,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:315,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:317,1
    - Dst: _setmode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:254,1
    - Dst: _fileno
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:254,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:263,1
    - Dst: JSON_REAL_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:287,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:279,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:301,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:320,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:325,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:257,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:268,1
    - Dst: getenv_int
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:284,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:300,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:326,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 329
    functionName: use_env
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - _setmode
    - getenv_int
    - json_decref
    - fread
    - strip
    - json_loads
    - fprintf
    - getenv
    - realloc
    - free
    - _fileno
    - JSON_INDENT
    - JSON_REAL_PRECISION
    - json_dumpf
    - json_loadf
    - json_object_seed
    linkageType: ''
    returnType: int
    signature: 'int use_env() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:88,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:100,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:101,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:108,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:109,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:111,1
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:84,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:85,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:95,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:102,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:103,1
    - Dst: strtok
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:85,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:96,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:97,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:105,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:104,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:117,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:90,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:98,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:106,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:99,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:107,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - conffile
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 118
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 118
    functionName: read_conf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - strncmp
    - strchr
    - strtok
    - strcmp
    - free
    - printf
    - atoi
    - loadfile
    linkageType: ''
    returnType: void
    signature: 'static void read_conf(FILE *conffile) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:166,1
    - Dst: read_conf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:168,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:169,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:211,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:160,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:178,1
    - Dst: JSON_REAL_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:198,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:201,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:207,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:209,1
    - Dst: cmpfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:222,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:165,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:174,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:194,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:206,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:223,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:161,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:173,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:193,1
    - Dst: loadfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:205,1
    - Dst: strip
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:206,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:214,1
    - Dst: cmpfile
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:217,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:221,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:224,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - test_path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 227
    functionName: use_conf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - cmpfile
    - json_dumps
    - loadfile
    - json_decref
    - fclose
    - strip
    - sprintf
    - read_conf
    - json_loads
    - fprintf
    - free
    - JSON_INDENT
    - fopen
    - JSON_REAL_PRECISION
    - json_loadf
    - json_object_seed
    linkageType: ''
    returnType: int
    signature: 'int use_conf(char *test_path) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:336,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:344,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:346,1
    - Dst: use_conf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:358,1
    - Dst: use_env
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:353,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:362,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c:363,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 365
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/bin/json_process.c
    functionUses: []
    functionsReached:
    - fprintf
    - strcmp
    - use_env
    - setlocale
    - use_conf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:13,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:16,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 17
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 17
    functionName: create_and_free_complex_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_pack
    - json_decref
    linkageType: ''
    returnType: void
    signature: 'static void create_and_free_complex_object() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: my_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *my_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:22,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:26,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:29,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:25,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 30
    functionName: create_and_free_object_with_oom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_decref
    - snprintf
    - json_integer
    - json_object
    - json_object_set_new
    linkageType: ''
    returnType: void
    signature: 'static void create_and_free_object_with_oom() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:46,1
    - Dst: create_and_free_complex_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:48,1
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: test_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_set_alloc_funcs
    - create_and_free_complex_object
    - json_get_alloc_funcs
    - fail
    linkageType: ''
    returnType: void
    signature: 'static void test_simple() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: oom_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void oom_free(void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:69,1
    - Dst: create_and_free_object_with_oom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:70,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: test_oom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_set_alloc_funcs
    - create_and_free_object_with_oom
    - fail
    linkageType: ''
    returnType: void
    signature: 'static void test_oom() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: secure_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *secure_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:100,1
    - Dst: create_and_free_complex_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: test_secure_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_set_alloc_funcs
    - create_and_free_complex_object
    linkageType: ''
    returnType: void
    signature: 'static void test_secure_funcs(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: my_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void my_free(void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: oom_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'static void *oom_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:95,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: secure_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - free
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void secure_free(void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - json_get_alloc_funcs
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_args(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:110,1
    - Dst: test_oom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:112,1
    - Dst: test_secure_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:111,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_memory_funcs.c
    functionUses: []
    functionsReached:
    - test_oom
    - test_simple
    - test_bad_args
    - test_secure_funcs
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:18,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:30,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:34,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:36,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:32,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:47,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:50,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:65,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:68,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:58,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:66,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:52,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:17,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:14,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:23,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:31,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:56,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:62,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:73,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:75,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:81,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:80,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:63,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:79,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:13,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:16,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:17,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:29,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:27,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:37,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:40,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:44,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:48,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:55,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:74,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:70,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:22,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:26,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:41,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:49,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:67,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:72,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:77,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:84,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 85
    functionName: test_equal_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - json_equal
    - json_real
    - json_string
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_equal_simple() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:177,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:179,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:180,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:189,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:186,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:171,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:175,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:173,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:188,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:191,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:185,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:187,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:192,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:172,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:176,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:180,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:181,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:182,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:186,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 194
    functionName: test_equal_complex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array_set_new
    - json_loads
    - fail
    - json_equal
    - json_object_get
    - json_false
    - json_object_set_new
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_equal_complex() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:122,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:123,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:125,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:133,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:134,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:134,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:133,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:143,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:143,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:149,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:132,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:132,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:136,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:139,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:141,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:147,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:150,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:127,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:130,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:130,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:131,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:131,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:137,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:135,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:140,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:145,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:152,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:128,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:144,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:148,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:148,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: test_equal_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_integer
    - fail
    - json_equal
    - json_object
    - json_object_set_new
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_equal_object() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_equal_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:197,1
    - Dst: test_equal_complex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:200,1
    - Dst: test_equal_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:199,1
    - Dst: test_equal_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: []
    functionsReached:
    - test_equal_simple
    - test_equal_array
    - test_equal_object
    - test_equal_complex
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:93,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:101,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:105,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:102,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:103,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:109,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:111,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:115,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:100,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:103,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:102,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:101,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:113,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:116,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:90,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:95,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:91,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:98,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:99,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:100,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:112,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:96,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:98,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:99,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:104,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 117
    functionName: test_equal_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_equal.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array
    - json_integer
    - json_array_append_new
    - fail
    - json_equal
    - json_array_remove
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_equal_array() '
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:31,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:54,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:64,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:84,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:126,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:114,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:132,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:200,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:205,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:222,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:371,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:425,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:360,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:242,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:46,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:58,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:133,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:162,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:190,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:224,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:309,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:314,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:344,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:407,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:298,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:258,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:341,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:103,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:92,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:211,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:218,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:229,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:276,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:307,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:321,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:340,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:389,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:408,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:376,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:268,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:296,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:129,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:149,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:93,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:74,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:156,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:170,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:178,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:352,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:424,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:293,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:317,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:350,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:266,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:300,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:348,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:357,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:47,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:148,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:98,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:155,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:164,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:194,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:202,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:208,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:212,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:274,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:277,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:283,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:373,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:405,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:263,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:422,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:390,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:34,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:99,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:237,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:253,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:281,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:295,1
    - Dst: check_errors
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:326,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:329,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:332,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:358,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:393,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:228,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:392,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:403,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:106,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:136,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:91,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:94,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:172,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:180,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:197,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:234,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:262,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:292,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:306,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:398,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:311,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:267,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:382,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:364,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:315,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:67,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:187,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:217,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:233,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:244,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:249,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:269,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:275,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:299,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:346,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:384,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:416,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:43,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:97,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:142,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:100,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:166,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:174,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:182,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:232,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:239,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:248,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:366,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:278,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:87,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:193,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:201,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:271,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:308,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:316,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:322,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:331,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:335,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:418,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:334,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:223,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:257,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:427,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:282,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:419,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:313,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:429,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:413,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:303,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:401,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:122,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:118,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:36,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:57,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:68,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:71,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:111,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:169,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:177,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:210,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:411,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:414,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:286,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:86,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:150,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:29,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:29,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:34,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:60,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:144,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:157,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:192,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:368,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:39,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:70,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:73,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:128,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:163,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:195,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:203,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:216,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:388,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:381,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:400,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:238,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:379,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:351,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:40,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:53,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:65,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:77,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:119,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:151,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:159,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:243,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:247,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:353,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:365,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:301,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:259,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:254,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:363,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:209,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:227,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:345,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:397,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:372,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:110,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:50,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:61,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:81,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:171,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:179,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:185,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:186,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:215,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:252,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:219,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:115,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:154,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:79,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:85,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:125,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:104,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:39,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:44,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:161,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:188,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:320,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:338,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:385,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:395,1
    - Dst: json_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:404,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:356,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:339,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:284,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c:374,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 411
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 430
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 430
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_unpack.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_unpack_ex
    - json_unpack
    - json_array
    - json_integer
    - json_pack
    - fail
    - json_null
    - strcmp
    - json_false
    - json_object
    - check_error
    - json_real
    - json_string
    - json_true
    - check_errors
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:16,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:35,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:37,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:45,1
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:48,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:52,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:56,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:19,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:13,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:22,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:23,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:38,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:41,1
    - Dst: json_string_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:49,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:21,1
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:25,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:28,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:34,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:29,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:39,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:42,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:12,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:40,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:44,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:54,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:57,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 58
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 58
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c
    functionUses: []
    functionsReached:
    - json_stringn
    - json_decref
    - json_integer
    - json_string_length
    - json_string_nocheck
    - json_string_set
    - fail
    - json_string_setn
    - json_stringn_nocheck
    - json_string_value
    - json_string
    - json_string_set_nocheck
    - json_string_setn_nocheck
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_args(void) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:83,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:126,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:103,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:184,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:185,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:205,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:219,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:255,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:245,1
    - Dst: json_boolean_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:77,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:115,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:121,1
    - Dst: json_string_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:125,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:154,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:129,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:177,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:183,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:211,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:150,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:153,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:67,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:120,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:197,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:222,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:229,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:117,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:120,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:153,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:79,1
    - Dst: json_is_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:100,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:166,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:192,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:203,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:228,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:234,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:262,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:75,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:95,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:163,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:165,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:201,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:239,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:265,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:277,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:264,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:66,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:112,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:133,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:180,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:195,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:200,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:220,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:281,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:282,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:258,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:257,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:275,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:130,1
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:132,1
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:74,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:107,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:169,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:175,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:214,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:247,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:161,1
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:92,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:148,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:106,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:187,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:198,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:209,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:238,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:248,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:65,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:85,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:91,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:101,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:119,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:152,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:136,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:172,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:218,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:252,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:76,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:122,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:128,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:155,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:190,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:212,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:217,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:226,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:268,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:244,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:70,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:127,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:139,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:181,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:196,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:143,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:82,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:98,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:127,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:170,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:185,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:204,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:215,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:231,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:250,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:278,1
    - Dst: json_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:69,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:72,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:97,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:141,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:146,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:178,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:188,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:267,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:273,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:81,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:194,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:207,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:221,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:236,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:242,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:159,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:89,1
    - Dst: json_is_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:109,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:123,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:156,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:167,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:168,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:178,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:202,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:213,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:254,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:162,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:71,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:88,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:94,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:104,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:158,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:167,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:186,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:224,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:260,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:270,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c:285,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 223
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 286
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 286
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_simple.c
    functionUses: []
    functionsReached:
    - memcmp
    - json_string_length
    - json_string_nocheck
    - json_real_value
    - json_null
    - json_is_number
    - json_is_real
    - json_integer_set
    - json_string
    - json_number_value
    - json_string_setn
    - json_decref
    - json_is_boolean
    - json_incref
    - json_string_set
    - json_boolean
    - json_integer_value
    - json_false
    - json_string_value
    - json_is_string
    - json_is_null
    - json_string_setn_nocheck
    - json_true
    - json_integer
    - json_is_true
    - json_boolean_value
    - json_is_integer
    - json_real_set
    - json_is_object
    - test_bad_args
    - json_is_array
    - json_typeof
    - json_string_set_nocheck
    - fail
    - strcmp
    - json_is_false
    - json_real
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:31,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:32,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:36,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:37,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:38,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:41,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:42,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: test_inifity
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c
    functionUses: []
    functionsReached:
    - fail
    - check_error
    - json_pack_ex
    linkageType: ''
    returnType: void
    signature: 'static void test_inifity() '
  - BBCount: 105
    BranchProfiles: []
    Callsites:
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:103,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:435,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:312,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:330,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:63,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:198,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:216,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:328,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:465,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:440,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:533,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:155,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:119,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:206,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:261,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:326,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:501,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:306,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:277,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:523,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:378,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:75,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:94,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:147,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:284,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:163,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:230,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:235,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:349,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:368,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:464,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:379,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:489,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:282,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:386,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:473,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:115,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:530,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:269,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:288,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:87,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:171,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:246,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:251,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:296,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:514,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:543,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:470,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:436,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:171,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:321,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:357,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:531,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:162,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:247,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:273,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:146,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:136,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:174,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:484,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:155,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:490,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:392,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:131,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:122,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:186,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:207,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:369,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:96,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:111,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:150,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:191,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:390,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:66,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:275,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:502,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:231,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:223,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:308,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:90,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:166,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:525,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:80,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:306,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:419,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:123,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:182,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:224,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:425,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:301,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:434,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:534,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:151,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:207,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:240,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:393,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:500,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:67,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:190,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:218,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:238,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:379,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:343,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:543,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:391,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:62,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:197,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:289,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:424,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:335,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:539,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:87,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:95,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:413,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:367,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:463,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:222,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:529,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:247,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:266,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:273,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:350,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:333,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:469,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:119,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:175,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:211,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:265,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:302,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:320,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:330,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:352,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:159,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:147,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:189,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:512,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:522,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:381,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:431,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:286,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:344,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:483,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:86,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:256,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:292,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:91,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:118,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:167,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:540,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:231,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:98,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:441,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:430,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:199,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:82,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:112,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:142,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:179,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:219,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:246,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:316,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:285,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:70,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:163,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:331,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:226,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:276,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:363,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:194,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:300,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:242,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:479,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:248,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:274,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:310,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:351,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:255,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:272,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:401,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:278,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:452,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:508,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:287,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:347,1
    - Dst: test_inifity
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:374,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:198,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:208,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:359,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:156,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:230,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:239,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:423,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:478,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:298,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:538,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:119,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:506,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:527,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:446,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:468,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:147,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:232,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:518,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:453,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:111,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:126,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:317,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:402,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:327,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:408,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:459,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:215,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:364,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:418,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:497,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:104,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:190,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:387,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:474,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:340,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:511,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:521,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:407,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:447,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:283,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:342,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:458,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:496,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:171,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:198,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:257,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:385,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:412,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:155,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:517,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:72,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:285,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:519,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:201,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:353,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:429,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:214,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:183,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:114,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:154,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:351,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:445,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:279,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:338,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:471,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:491,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:322,1
    - Dst: json_is_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:71,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:178,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:243,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:255,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:315,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:250,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:103,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:127,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:283,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:362,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:385,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:140,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:182,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:210,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:275,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:384,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:158,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:256,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:267,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:111,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:222,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:227,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:380,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:477,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:544,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:170,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:190,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:234,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:294,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:485,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:505,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:379,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:535,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:181,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:223,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:468,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:417,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:391,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:307,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:106,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:172,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:141,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:79,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:95,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:331,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:252,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:451,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:120,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:203,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:400,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:457,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:495,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:406,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:259,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:148,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:182,1
    - Dst: json_pack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:411,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:64,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:74,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:305,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:526,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:545,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:358,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:442,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:327,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:215,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:262,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:130,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:164,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c:185,1
    CyclomaticComplexity: 134
    EdgeCount: 134
    ICount: 482
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 546
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_pack.c
    functionUses: []
    functionsReached:
    - json_real_value
    - check_error
    - json_is_real
    - json_decref
    - json_incref
    - json_array_size
    - json_integer_value
    - json_object
    - json_string_value
    - json_is_string
    - json_is_null
    - json_integer
    - json_is_true
    - json_object_size
    - json_is_integer
    - json_is_object
    - test_inifity
    - json_is_array
    - json_array_get
    - json_pack_ex
    - json_pack
    - fail
    - strcmp
    - json_object_get
    - json_is_false
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:29,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:31,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:32,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:34,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:35,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:39,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:44,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: encode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - fail
    - json_dump_callback
    - json_dumpf
    - json_dumpb
    - json_dumpfd
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void encode_null() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:54,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:58,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:60,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:62,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:70,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:66,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:57,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:55,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:60,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:64,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:74,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:68,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:75,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:77,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:61,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:63,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:71,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:56,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:72,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:74,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:76,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:80,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 81
    functionName: encode_twice
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array
    - json_integer
    - json_array_append_new
    - fail
    - free
    - strcmp
    - json_object
    - json_object_set_new
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void encode_twice() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:147,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:148,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:149,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:157,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:159,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:152,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:139,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:140,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:141,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:151,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:162,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:167,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:143,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:156,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:155,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:166,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:142,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:144,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:158,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:160,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:154,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:163,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 168
    functionName: encode_other_than_array_or_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - free
    - strcmp
    - json_dumpf
    - json_dumpfd
    - json_string
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void encode_other_than_array_or_object() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:95,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:97,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:99,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:106,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:108,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:104,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:127,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:97,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:98,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:104,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:104,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:101,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:115,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:119,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:122,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:124,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:126,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:129,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:97,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:102,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:107,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:111,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:114,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:115,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:117,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:125,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:96,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:96,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:109,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:113,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:114,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:115,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:116,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:122,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 130
    functionName: circular_references
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_array_get
    - json_array
    - json_array_append_new
    - fail
    - free
    - json_object_get
    - strcmp
    - json_object_set
    - json_object
    - json_array_append
    - json_array_remove
    - json_object_set_new
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void circular_references() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:176,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:180,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:177,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:179,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:177,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:181,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:183,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:185,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:187,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:188,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:191,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 192
    functionName: escape_slashes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - free
    - strcmp
    - json_object
    - json_object_set_new
    - json_string
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void escape_slashes() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:198,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:201,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:200,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:203,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:199,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: encode_nul_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_stringn
    - json_decref
    - memcmp
    - fail
    - free
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void encode_nul_byte() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:211,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:213,1
    - Dst: json_dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:216,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:215,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:220,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: dump_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - remove
    - json_dump_file
    - fail
    - json_object
    linkageType: ''
    returnType: void
    signature: 'static void dump_file() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:229,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:232,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:235,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:233,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:231,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:236,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:238,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:240,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: dumpb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - strncmp
    - json_pack
    - fail
    - json_object
    - json_dumpb
    linkageType: ''
    returnType: void
    signature: 'static void dumpb() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: encode_null_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int encode_null_callback(const char *buffer, size_t size, void
      *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:250,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:256,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:253,1
    - Dst: json_dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:255,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:251,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:257,1
    - Dst: json_loadfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:259,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:261,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:262,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:264,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:267,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:268,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 270
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 270
    functionName: dumpfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - close
    - json_pack
    - fail
    - json_equal
    - json_loadfd
    - json_dumpfd
    - pipe
    linkageType: ''
    returnType: void
    signature: 'static void dumpfd() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:300,1
    - Dst: encode_other_than_array_or_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:303,1
    - Dst: encode_twice
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:301,1
    - Dst: circular_references
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:302,1
    - Dst: escape_slashes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:304,1
    - Dst: encode_nul_byte
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:305,1
    - Dst: dump_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:306,1
    - Dst: dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:307,1
    - Dst: dumpfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:308,1
    - Dst: embed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - escape_slashes
    - encode_other_than_array_or_object
    - dumpb
    - dumpfd
    - encode_null
    - circular_references
    - encode_nul_byte
    - embed
    - dump_file
    - encode_twice
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:285,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:290,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:286,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:289,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:287,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:292,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:293,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:294,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c:295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 297
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 297
    functionName: embed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump.c
    functionUses: []
    functionsReached:
    - json_decref
    - strncmp
    - json_loads
    - fail
    - free
    - calloc
    - strlen
    - json_dumpb
    linkageType: ''
    returnType: void
    signature: 'static void embed() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:12,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:13,1
    - Dst: jansson_version_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:12,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 15
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 15
    functionName: test_version_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: []
    functionsReached:
    - fail
    - jansson_version_str
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_version_str(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_version_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:58,1
    - Dst: test_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: []
    functionsReached:
    - test_version_cmp
    - test_version_str
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:20,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:23,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:30,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:37,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:41,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:43,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:53,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:48,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:46,1
    - Dst: jansson_version_cmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 55
    functionName: test_version_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_version.c
    functionUses: []
    functionsReached:
    - fail
    - jansson_version_cmp
    linkageType: ''
    returnType: void
    signature: 'static void test_version_cmp() '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:93,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:98,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:100,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:118,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:123,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:109,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:124,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:129,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:133,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:137,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:156,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:97,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:101,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:105,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:130,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:146,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:149,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:164,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:158,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:161,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:165,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:116,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:114,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:126,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:139,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:140,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:142,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:144,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:160,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:94,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:106,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:108,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:117,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:132,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:148,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:150,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:162,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:166,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:155,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:153,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 167
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 167
    functionName: test_deep_copy_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - json_null
    - json_equal
    - json_false
    - json_real
    - json_string
    - json_true
    - json_deep_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_deep_copy_simple(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:202,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:206,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:210,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:204,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:208,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:211,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:212,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:214,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:215,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:215,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:219,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:220,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: test_deep_copy_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_loads
    - json_array_size
    - fail
    - json_equal
    - json_deep_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_deep_copy_array(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:279,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:283,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:285,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:281,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:287,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:288,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:289,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:292,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:297,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:298,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:304,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:302,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:299,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:307,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:305,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 313
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 313
    functionName: test_deep_copy_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_loads
    - fail
    - json_object_iter_key
    - json_equal
    - json_object_get
    - strcmp
    - json_object_iter_next
    - json_object_iter_value
    - json_object_iter
    - json_deep_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_deep_copy_object(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_copy_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:367,1
    - Dst: test_copy_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:369,1
    - Dst: test_copy_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:371,1
    - Dst: test_deep_copy_simple
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:368,1
    - Dst: test_deep_copy_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:370,1
    - Dst: test_deep_copy_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:372,1
    - Dst: test_deep_copy_circular_references
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - test_copy_simple
    - test_deep_copy_array
    - test_copy_array
    - test_deep_copy_circular_references
    - test_deep_copy_object
    - test_copy_object
    - test_deep_copy_simple
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:14,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:22,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:26,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:31,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:38,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:51,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:55,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:85,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:74,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:77,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:66,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:18,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:23,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:39,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:44,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:35,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:60,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:61,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:82,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:79,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:86,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:65,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:29,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:53,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:67,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:83,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:87,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:81,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:63,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:15,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:19,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:37,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:34,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:42,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:50,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:54,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:58,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:70,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:76,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 84
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 88
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 88
    functionName: test_copy_simple
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - json_null
    - json_equal
    - json_false
    - json_real
    - json_copy
    - json_string
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_simple(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:233,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:239,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:241,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:237,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:235,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:242,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:243,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:246,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:251,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:252,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:258,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:265,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:256,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:259,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:261,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:253,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 267
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 267
    functionName: test_copy_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_loads
    - fail
    - json_object_iter_key
    - json_equal
    - json_object_get
    - strcmp
    - json_object_iter_next
    - json_object_iter_value
    - json_copy
    - json_object_iter
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_object(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:175,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:183,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:179,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:181,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:177,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:184,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:185,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:187,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:188,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:188,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:189,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 194
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 194
    functionName: test_copy_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_loads
    - fail
    - json_array_size
    - json_equal
    - json_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_copy_array(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:329,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:331,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:348,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:352,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:362,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:328,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:328,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:333,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:341,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:339,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:348,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:349,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:350,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:363,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:329,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:337,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:337,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:343,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:346,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:347,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:354,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:356,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:356,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:356,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:327,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:329,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:330,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:337,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:344,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:335,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:347,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:348,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:358,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 364
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 364
    functionName: test_deep_copy_circular_references
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_copy.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_array_get
    - json_array
    - json_array_append_new
    - fail
    - json_array_append
    - json_object_get
    - json_array_remove
    - json_object_set
    - json_object
    - json_object_set_new
    - json_deep_copy
    linkageType: ''
    returnType: void
    signature: 'static void test_deep_copy_circular_references(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:22,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:26,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:25,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:24,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:28,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:29,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 35
    functionName: test_inifity
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - json_real_value
    - json_real
    - json_real_set
    linkageType: ''
    returnType: void
    signature: 'static void test_inifity() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:41,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:57,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:64,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:69,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:43,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:42,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:53,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:39,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:44,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:48,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:51,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:58,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:61,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:54,1
    - Dst: json_integer_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:52,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:62,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:56,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:63,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 70
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 70
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - json_real_value
    - json_integer_value
    - json_integer_set
    - json_real_set
    - json_string
    - json_number_value
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_args(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:85,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:87,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:89,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:91,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:93,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:95,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:96,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:109,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:98,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:110,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:100,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:112,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:121,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:77,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:81,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:106,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:101,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:113,1
    - Dst: test_inifity
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:119,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 122
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 122
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_number.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - json_real_value
    - json_integer_value
    - json_real
    - json_real_set
    - test_inifity
    - json_number_value
    - test_bad_args
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h:86,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/util.h
    functionUses: []
    functionsReached:
    - setlocale
    - run_tests
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:5,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:10,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:8,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:7,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:9,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:10,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:11,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:13,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:15,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:17,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:21,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:25,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:22,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:19,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:24,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 26
    functionName: test_sprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_string_length
    - json_sprintf
    - fail
    - strcmp
    - json_string_value
    - json_is_string
    linkageType: ''
    returnType: void
    signature: 'static void test_sprintf() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_sprintf.c
    functionUses: []
    functionsReached:
    - test_sprintf
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:25,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - buflen
    - arg
    argTypes:
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: greedy_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t greedy_reader(void *buf, size_t buflen, void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:39,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:49,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:42,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:45,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:52,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:55,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:58,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:59,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:61,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:62,1
    - Dst: json_load_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:66,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:73,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:69,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:68,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 76
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load_callback.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_load_callback
    - fail
    - strcmp
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:155,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:160,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:159,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:160,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:159,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:162,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:162,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:163,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:165,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:165,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:166,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 169
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 169
    functionName: test_binary_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_is_true
    - fail
    - json_object
    - json_object_setn_nocheck
    - json_object_getn
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_binary_keys(void) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:56,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:58,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:62,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:64,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:70,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:70,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:74,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:76,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:77,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:83,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:97,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:98,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:105,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:122,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:120,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:41,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:44,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:44,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:50,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:55,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:59,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:53,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:55,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:64,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:76,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:100,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:115,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:118,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:80,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:107,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:99,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:117,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:108,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:90,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:42,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:46,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:52,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:61,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:61,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:65,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:68,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:82,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:82,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:86,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:124,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:106,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:119,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:111,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:112,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:93,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:47,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:49,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:67,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:71,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:73,1
    - Dst: test_keylen_iterator
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:88,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:90,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:94,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:96,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:101,1
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:103,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:85,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:91,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:114,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:79,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 125
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 125
    functionName: test_keylen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_deln
    - fail
    - json_object_set_new_nocheck
    - json_object_size
    - json_object
    - json_false
    - json_object_get
    - test_keylen_iterator
    - json_object_setn_nocheck
    - json_object_getn
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_keylen(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_keylen_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:26,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:28,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 32
    functionName: test_keylen_iterator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - json_object_keylen_foreach
    - fail
    - memcmp
    linkageType: ''
    returnType: void
    signature: 'static void test_keylen_iterator(json_t *object) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:134,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:131,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:131,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:133,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:136,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:137,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:139,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:140,1
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:142,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:142,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:143,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:151,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:146,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:148,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 152
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 152
    functionName: test_invalid_keylen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - fail
    - json_object_set_new_nocheck
    - json_object
    - json_object_setn_new_nocheck
    - json_object_getn
    - json_object_setn_new
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_invalid_keylen(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:172,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:182,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:181,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:182,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:181,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:184,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:186,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:188,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:189,1
    - Dst: json_dumpb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:191,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:192,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:195,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:193,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: test_dump_order
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - malloc
    - json_decref
    - memcmp
    - fail
    - free
    - json_object
    - json_object_setn_new_nocheck
    - json_dumpb
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_dump_order(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_keylen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:200,1
    - Dst: test_binary_keys
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:202,1
    - Dst: test_dump_order
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:203,1
    - Dst: test_invalid_keylen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_fixed_size.c
    functionUses: []
    functionsReached:
    - test_invalid_keylen
    - test_binary_keys
    - test_dump_order
    - test_keylen
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:14,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:20,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:18,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:15,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:22,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:22,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:23,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:23,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:24,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:25,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:28,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:33,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:36,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:35,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:27,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:30,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 37
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 37
    functionName: test_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_integer
    - fail
    - json_object_size
    - json_object_set
    - json_object
    - json_object_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_clear() '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:45,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:51,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:67,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:79,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:133,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:128,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:104,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:90,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:68,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:119,1
    - Dst: json_object_update_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:126,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:136,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:114,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:118,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:42,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:58,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:69,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:135,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:66,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:131,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:56,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:72,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:90,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:101,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:107,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:103,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:106,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:55,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:71,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:66,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:67,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:61,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:88,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:93,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:80,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:122,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:127,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:121,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:130,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:91,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:123,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:115,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:43,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:75,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:87,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:110,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:124,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:112,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:101,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:77,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:91,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:133,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:140,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:62,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:78,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:113,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:135,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:74,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:85,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:109,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:141,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:142,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:121,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:112,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:77,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:84,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:113,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:139,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:122,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:134,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:59,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:92,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:98,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 150
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 143
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 143
    functionName: test_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_update_new
    - json_integer
    - json_pack
    - fail
    - json_object_size
    - json_object_update
    - json_object
    - json_object_set
    - json_object_get
    - json_object_clear
    linkageType: ''
    returnType: void
    signature: 'static void test_update() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:151,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:155,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:153,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:157,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:162,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:163,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:166,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:167,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 168
    functionName: test_set_many_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - json_object_set
    - json_object
    - strlen
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_set_many_keys() '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:174,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:182,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:202,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:209,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:213,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:215,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:221,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:227,1
    - Dst: json_object_update_missing_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:229,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:233,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:232,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:224,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:238,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:205,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:177,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:179,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:185,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:191,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:199,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:203,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:219,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:222,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:229,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:236,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:241,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:244,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:235,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:173,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:176,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:180,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:182,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:194,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:186,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:196,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:200,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:202,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:221,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:215,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:238,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:239,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:207,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:183,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:185,1
    - Dst: json_object_update_existing_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:193,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:197,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:188,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:199,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:210,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:212,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:216,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:218,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:241,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:235,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:242,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:245,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:230,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 246
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 246
    functionName: test_conditional_updates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_update_missing
    - json_pack
    - fail
    - json_object_update_missing_new
    - json_object_size
    - json_integer_value
    - json_object_get
    - json_object_update_existing_new
    - json_object_update_existing
    linkageType: ''
    returnType: void
    signature: 'static void test_conditional_updates() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:256,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:265,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:273,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:267,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:280,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:292,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:295,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:305,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:309,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:314,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:306,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:303,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:318,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:257,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:253,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:261,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:274,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:270,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:279,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:281,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:284,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:293,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:295,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:323,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:317,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:310,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:315,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:251,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:254,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:259,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:273,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:271,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:267,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:276,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:287,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:289,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:296,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:311,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:321,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:317,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:324,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:262,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:264,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:270,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:268,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:277,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:286,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:290,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:295,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:298,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:300,1
    - Dst: json_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:320,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:317,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:312,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 325
    functionName: test_recursive_updates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_update_recursive
    - json_integer
    - json_pack
    - fail
    - json_object_size
    - json_integer_value
    - json_object_get
    - json_object_set
    - json_object_set_new
    linkageType: ''
    returnType: void
    signature: 'static void test_recursive_updates() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:330,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:336,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:331,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:337,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:333,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:340,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:340,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:341,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:344,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:345,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:348,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:350,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 351
    functionName: test_circular
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - json_object_set
    - json_object
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void test_circular() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:378,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:384,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:387,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:365,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:376,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:377,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:382,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:383,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:381,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:360,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:364,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:362,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:357,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:366,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:371,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:375,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:381,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:372,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:375,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:356,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:367,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:370,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:373,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:377,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:383,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:386,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 388
    functionName: test_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_set_nocheck
    - json_decref
    - json_integer
    - fail
    - json_object_get
    - json_object_set_new_nocheck
    - json_object
    - json_integer_value
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_set_nocheck() '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:398,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:400,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:417,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:411,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:422,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:424,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:428,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:433,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:436,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:438,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:449,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:448,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:439,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:465,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:466,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:397,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:403,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:405,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:408,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:410,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:417,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:418,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:419,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:433,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:434,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:450,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:448,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:461,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:457,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:464,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:460,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:456,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:394,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:402,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:407,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:412,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:416,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:414,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:420,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:425,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:430,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:432,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:458,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:442,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:454,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:456,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:451,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:395,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:401,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:410,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:425,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:426,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:427,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:435,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:441,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:444,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:446,1
    - Dst: json_object_iter_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:453,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:459,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:463,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 467
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 467
    functionName: test_iterators
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_iter_set
    - json_decref
    - fail
    - json_object_iter_key
    - json_object_iter_next
    - strcmp
    - json_object
    - json_object_set
    - json_object_get
    - json_object_iter_value
    - json_object_iter_at
    - json_string
    - json_object_iter
    linkageType: ''
    returnType: void
    signature: 'static void test_iterators() '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:472,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:477,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:474,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:479,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:482,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:496,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:488,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:493,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:503,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:505,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:558,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:561,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:569,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:561,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:538,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:547,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:571,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:574,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:510,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:481,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:485,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:497,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:500,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:511,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:514,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:520,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:523,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:525,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:527,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:546,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:555,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:556,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:565,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:564,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:532,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:566,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:484,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:491,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:501,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:510,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:529,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:549,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:553,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:562,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:568,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:568,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:572,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:575,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:536,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:565,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:507,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:552,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:544,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:473,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:487,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:494,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:490,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:512,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:516,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:518,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:530,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:533,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:535,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:543,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:550,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:559,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:521,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:576,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:539,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 98
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 577
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 577
    functionName: test_misc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_integer
    - fail
    - json_object_get
    - json_integer_value
    - json_object_set
    - json_object
    - json_is_integer
    - json_object_set_new
    - json_string
    linkageType: ''
    returnType: void
    signature: 'static void test_misc() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:586,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:606,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:610,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:592,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:595,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:601,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:595,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:603,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:601,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:607,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:611,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:598,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:589,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:588,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:589,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:588,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:590,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:590,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:591,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:591,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:605,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 612
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 612
    functionName: test_preserve_order
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_integer
    - fprintf
    - fail
    - free
    - strcmp
    - json_object
    - json_object_set_new
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void test_preserve_order() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:635,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:639,1
    - Dst: json_object_foreach_safe
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:637,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:637,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:640,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:642,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 643
    functionName: test_object_foreach_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_del
    - json_decref
    - json_pack
    - fail
    - json_object_foreach_safe
    - json_object_size
    linkageType: ''
    returnType: void
    signature: 'static void test_object_foreach_safe() '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:653,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:689,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:692,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:716,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:744,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:696,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:706,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:748,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:769,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:737,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:731,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:672,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:678,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:709,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:735,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:759,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:767,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:719,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:699,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:662,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:673,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:679,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:778,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:665,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:705,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:753,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:668,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:773,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:672,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:669,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:678,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:740,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:718,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:726,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:703,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:764,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:728,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:743,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:749,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:654,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:684,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:694,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:756,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:765,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:647,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:663,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:745,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:700,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:693,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:779,1
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:702,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:723,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:725,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:747,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:750,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:761,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:713,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:681,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:738,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:687,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:675,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:736,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:758,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:762,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:764,1
    - Dst: json_object_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:691,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:715,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:658,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:661,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:676,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:682,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:688,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:653,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:651,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:666,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:685,1
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:722,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:729,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:752,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:646,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:667,1
    - Dst: json_object_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:686,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:697,1
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:712,1
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:761,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:660,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:670,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:675,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:681,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:741,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:767,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:770,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:776,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:710,1
    - Dst: json_object_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:742,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:656,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:732,1
    - Dst: json_object_key_to_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:755,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:768,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 147
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 780
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 780
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_object_iter_set_new
    - json_object_iter_key
    - json_null
    - json_object_iter_next
    - json_object_key_to_iter
    - json_decref
    - json_incref
    - json_object_update
    - json_object_set
    - json_object
    - json_object_iter_value
    - json_object_update_existing
    - json_object_update_missing
    - json_integer
    - json_object_size
    - json_object_set_new_nocheck
    - json_object_clear
    - json_object_iter_at
    - json_object_iter
    - json_object_del
    - fail
    - json_object_get
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_args(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_misc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:783,1
    - Dst: test_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:784,1
    - Dst: test_conditional_updates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:787,1
    - Dst: test_set_many_keys
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:786,1
    - Dst: test_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:785,1
    - Dst: test_recursive_updates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:788,1
    - Dst: test_circular
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:789,1
    - Dst: test_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:790,1
    - Dst: test_iterators
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:791,1
    - Dst: test_preserve_order
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:792,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:795,1
    - Dst: test_object_foreach_safe
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:794,1
    - Dst: test_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 796
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 796
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - test_update
    - test_bad_args
    - test_object_foreach_safe
    - test_circular
    - test_preserve_order
    - test_recursive_updates
    - test_object_foreach
    - test_set_many_keys
    - test_set_nocheck
    - test_clear
    - test_conditional_updates
    - test_iterators
    - test_misc
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:618,1
    - Dst: json_object_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:621,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:623,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:619,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:621,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:624,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:626,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c:627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 628
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: test_object_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_object.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_pack
    - fail
    - json_equal
    - json_object_set
    - json_object
    - json_object_foreach
    linkageType: ''
    returnType: void
    signature: 'static void test_object_foreach() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:16,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:27,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:18,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:20,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:25,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:31,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:32,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:33,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:34,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 35
    functionName: file_not_found
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_error_code
    - strchr
    - fail
    - strcmp
    - json_load_file
    linkageType: ''
    returnType: void
    signature: 'static void file_not_found() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:86,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:91,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:87,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:88,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:89,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:92,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:93,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:94,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:96,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:97,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:99,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:103,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:102,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:98,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 105
    functionName: decode_any
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_loads
    - fail
    - json_is_true
    - json_is_integer
    - json_is_string
    - json_is_null
    linkageType: ''
    returnType: void
    signature: 'static void decode_any() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:58,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:59,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: reject_duplicates
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_loads
    - fail
    - check_error
    linkageType: ''
    returnType: void
    signature: 'static void reject_duplicates() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:41,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:45,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:50,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: very_long_file_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - strncmp
    - fail
    - json_load_file
    - json_error_code
    linkageType: ''
    returnType: void
    signature: 'static void very_long_file_name() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:70,1
    - Dst: check_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:77,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:75,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 80
    functionName: disable_eof_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_loads
    - fail
    - check_error
    - json_decref
    linkageType: ''
    returnType: void
    signature: 'static void disable_eof_check() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:118,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:121,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:119,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:120,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:119,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:128,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:129,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:129,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:130,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:131,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:144,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:137,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:143,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:142,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:140,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: decode_int_as_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_error_code
    - json_loads
    - fail
    - json_real_value
    - strcmp
    - memset
    - json_is_real
    linkageType: ''
    returnType: void
    signature: 'static void decode_int_as_real() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:153,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:154,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:158,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:157,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:155,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:160,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:161,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 164
    functionName: allow_nul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_decref
    - memcmp
    - json_string_length
    - json_loads
    - fail
    - json_string_value
    - json_is_string
    linkageType: ''
    returnType: void
    signature: 'static void allow_nul() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:170,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:176,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:172,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:178,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:174,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:180,1
    - Dst: json_loadfd
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:182,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:184,1
    - Dst: json_load_file
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:186,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 189
    functionName: load_wrong_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_loads
    - fail
    - json_load_file
    - json_loadb
    - json_loadfd
    - json_loadf
    linkageType: ''
    returnType: void
    signature: 'static void load_wrong_args() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:196,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:201,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:199,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:203,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:198,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: position
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_loads
    - fail
    - json_decref
    linkageType: ''
    returnType: void
    signature: 'static void position() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:209,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:212,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:211,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:213,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:214,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:215,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:217,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:219,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:220,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:221,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:223,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:222,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 224
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 224
    functionName: error_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - json_loads
    - strlen
    - fail
    - json_error_code
    linkageType: ''
    returnType: void
    signature: 'static void error_code() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_not_found
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:227,1
    - Dst: disable_eof_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:230,1
    - Dst: very_long_file_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:228,1
    - Dst: decode_any
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:231,1
    - Dst: reject_duplicates
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:229,1
    - Dst: decode_int_as_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:232,1
    - Dst: allow_nul
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:233,1
    - Dst: load_wrong_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:234,1
    - Dst: position
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:235,1
    - Dst: error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_load.c
    functionUses: []
    functionsReached:
    - file_not_found
    - error_code
    - decode_any
    - very_long_file_name
    - position
    - allow_nul
    - decode_int_as_real
    - load_wrong_args
    - disable_eof_check
    - reject_duplicates
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:15,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:19,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:17,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:21,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:15,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:23,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:25,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:26,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:30,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 36
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_loadb.c
    functionUses: []
    functionsReached:
    - json_decref
    - fail
    - strcmp
    - strlen
    - json_loadb
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:94,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:127,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:133,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:150,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:150,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:154,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:148,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:96,1
    - Dst: json_get_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:102,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:105,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:106,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:110,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:127,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:133,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:138,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:108,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:138,1
    - Dst: json_sprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:140,1
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:157,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:158,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:164,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:148,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:111,1
    - Dst: test_unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:116,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:161,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:121,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:126,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:132,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:109,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:120,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:126,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:154,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:137,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:132,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:147,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:160,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:123,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:89,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:106,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:105,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:110,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:107,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:109,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:90,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:130,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:150,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:123,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: json_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:130,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:163,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:118,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:91,1
    - Dst: json_set_alloc_funcs
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:103,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:111,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:100,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:108,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:120,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:138,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:140,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:92,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:109,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:116,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:118,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:129,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:137,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:162,1
    - Dst: chaos_loop_new_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:134,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:134,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:159,1
    - Dst: json_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:129,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:93,1
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:107,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:123,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:148,1
    - Dst: chaos_loop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:155,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:151,1
    - Dst: json_string_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:155,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:118,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 165
    functionName: test_chaos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - json_array
    - json_loads
    - json_sprintf
    - json_null
    - json_loadb
    - json_array_insert_new
    - test_unpack
    - json_copy
    - json_array_extend
    - json_string
    - json_dumps
    - json_set_alloc_funcs
    - json_decref
    - json_incref
    - json_array_append_new
    - free
    - json_object
    - JSON_INDENT
    - chaos_loop
    - json_integer
    - json_object_set_new_nocheck
    - json_dump_callback
    - json_get_alloc_funcs
    - json_string_set_nocheck
    - json_deep_copy
    - snprintf
    - chaos_loop_new_value
    - json_pack
    - fail
    - strlen
    - json_real
    linkageType: ''
    returnType: void
    signature: 'static void test_chaos() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:71,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: dump_chaos_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object
    linkageType: ''
    returnType: int
    signature: 'int dump_chaos_callback(const char *buffer, size_t size, void *data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:45,1
    - Dst: json_unpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:50,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:53,1
    - Dst: json_error_code
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:51,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:55,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:60,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: test_unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_unpack_ex
    - json_error_code
    - json_pack
    - fail
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int test_unpack() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: chaos_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void chaos_free(void *obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:19,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: chaos_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void*
    signature: 'void *chaos_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_chaos
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_chaos.c
    functionUses: []
    functionsReached:
    - test_chaos
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:23,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - buffer
    - len
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: my_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int my_writer(const char *buffer, size_t len, void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:39,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:46,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:58,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:54,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:62,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:72,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:50,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:57,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:61,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:73,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:74,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:80,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:42,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:41,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:51,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:63,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:71,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:78,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:34,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:36,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:49,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:56,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:64,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:55,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:65,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:70,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 81
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_dump_callback.c
    functionUses: []
    functionsReached:
    - json_decref
    - malloc
    - strncmp
    - json_loads
    - fail
    - free
    - strlen
    - json_dump_callback
    - json_dumps
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:27,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:35,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:37,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:39,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:45,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:54,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:60,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:68,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:69,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:72,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:108,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:98,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:111,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:90,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:105,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:103,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:104,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:16,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:21,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:19,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:23,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:32,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:30,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:42,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:53,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:93,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:94,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:104,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:64,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:90,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:75,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:103,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:14,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:15,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:24,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:29,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:33,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:41,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:47,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:49,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:51,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:56,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:78,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:101,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:66,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:112,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:26,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:44,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:57,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:59,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:71,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:76,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:79,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:85,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:87,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:91,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:100,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:95,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:62,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:110,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:97,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:107,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:94,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:100,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:83,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 112
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 113
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 113
    functionName: test_misc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array
    - json_integer
    - json_array_set_new
    - json_array_append_new
    - json_array_append
    - fail
    - json_array_size
    - json_integer_value
    - json_is_integer
    - json_array_set
    linkageType: ''
    returnType: void
    signature: 'static void test_misc(void) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:201,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:219,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:227,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:228,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:231,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:235,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:241,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:245,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:246,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:248,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:212,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:216,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:224,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:222,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:238,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:239,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:243,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:249,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:252,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:213,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:215,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:221,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:227,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:225,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:229,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:237,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:237,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:254,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:203,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:202,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:206,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:208,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:210,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:228,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:218,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:232,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:234,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:255,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:256,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 257
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 257
    functionName: test_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array
    - json_integer
    - json_array_append
    - fail
    - json_array_remove
    - json_array_size
    linkageType: ''
    returnType: void
    signature: 'static void test_remove(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:325,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:334,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:299,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:305,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:307,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:315,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:329,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:326,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:319,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:318,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:335,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:311,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:314,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:322,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:330,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:336,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:301,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:300,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:302,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:310,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:318,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:321,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:333,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 337
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 337
    functionName: test_extend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array
    - json_integer
    - json_array_append
    - fail
    - json_array_size
    - json_array_extend
    linkageType: ''
    returnType: void
    signature: 'static void test_extend(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:349,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:346,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:352,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:370,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:365,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:369,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:377,1
    - Dst: json_array_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:357,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:364,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:354,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:355,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:367,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:373,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:358,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:369,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:374,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:378,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:344,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:348,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:351,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:354,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:360,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 380
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 380
    functionName: test_circular
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_dumps
    - json_array_insert
    - json_array
    - json_array_append_new
    - json_array_append
    - fail
    - json_array_set
    - json_true
    linkageType: ''
    returnType: void
    signature: 'static void test_circular() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:386,1
    - Dst: json_array_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:389,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:391,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:387,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:389,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:392,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:394,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 396
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 396
    functionName: test_array_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array
    - json_pack
    - json_array_append
    - fail
    - json_equal
    - json_array_foreach
    linkageType: ''
    returnType: void
    signature: 'static void test_array_foreach() '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:125,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:122,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:121,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:133,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:139,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:144,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:148,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:150,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:153,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:157,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:176,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:171,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:191,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:179,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:120,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:129,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:132,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:145,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:151,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:162,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:172,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:180,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:188,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:192,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:175,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:185,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:127,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:130,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:135,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:142,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:159,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:163,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:165,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:169,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:172,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:173,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:194,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:189,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:168,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:119,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:136,1
    - Dst: json_array_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:141,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:147,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:138,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:154,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:156,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:160,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:166,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:168,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:193,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:184,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 85
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 195
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 195
    functionName: test_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array_insert
    - json_array
    - json_integer
    - fail
    - json_array_size
    - json_integer_value
    - json_is_integer
    - json_array_insert_new
    linkageType: ''
    returnType: void
    signature: 'static void test_insert(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:263,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:265,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:270,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:264,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:268,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:273,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:274,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:277,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:278,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:281,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:282,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:287,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:290,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:285,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:291,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:292,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:288,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:284,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 293
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 293
    functionName: test_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array
    - json_integer
    - json_array_clear
    - json_array_append
    - fail
    - json_array_size
    linkageType: ''
    returnType: void
    signature: 'static void test_clear(void) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:399,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:410,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:413,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:416,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:417,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:417,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:424,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:427,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:430,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:431,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:445,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:449,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:458,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:470,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:445,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:405,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:412,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:419,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:418,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:425,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:432,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:438,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:446,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:443,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:450,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:461,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:468,1
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:447,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:471,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:441,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:455,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:462,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:443,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:437,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:466,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:406,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:407,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:420,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:421,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:421,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:434,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:436,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:439,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:440,1
    - Dst: json_array_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:452,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:459,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:456,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:453,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:400,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:403,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:408,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:411,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:415,1
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:415,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:422,1
    - Dst: json_array_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:426,1
    - Dst: json_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:429,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:434,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:435,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:440,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:436,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:449,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:444,1
    - Dst: fail
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:448,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 472
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 472
    functionName: test_bad_args
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array
    - json_incref
    - json_integer
    - json_array_set_new
    - json_array_clear
    - fail
    - json_array_size
    - json_array_remove
    - json_array_append_new
    - json_array_insert_new
    - json_array_extend
    linkageType: ''
    returnType: void
    signature: 'static void test_bad_args(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_misc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:475,1
    - Dst: test_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:478,1
    - Dst: test_extend
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:479,1
    - Dst: test_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:476,1
    - Dst: test_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:477,1
    - Dst: test_circular
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:480,1
    - Dst: test_array_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:481,1
    - Dst: test_bad_args
      Src: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 483
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 483
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/test/suites/api/test_array.c
    functionUses: []
    functionsReached:
    - test_array_foreach
    - test_extend
    - test_remove
    - test_circular
    - test_clear
    - test_bad_args
    - test_insert
    - test_misc
    linkageType: ''
    returnType: void
    signature: 'static void run_tests() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:21,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: newline_offset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: []
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int newline_offset(const char *text) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_slist_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:68,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:69,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:71,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:98,1
    - Dst: curl_easy_getinfo
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:81,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:59,1
    - Dst: curl_easy_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:55,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:74,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:65,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:72,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:100,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:88,1
    - Dst: curl_global_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:54,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:76,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:77,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:87,1
    - Dst: curl_global_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:89,1
    - Dst: curl_easy_strerror
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:77,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:102,1
    - Dst: curl_global_cleanup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 105
    functionName: request
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: []
    functionsReached:
    - malloc
    - curl_easy_setopt
    - curl_global_init
    - fprintf
    - free
    - curl_slist_append
    - curl_easy_init
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_getinfo
    - curl_easy_strerror
    - curl_easy_cleanup
    - curl_global_cleanup
    linkageType: ''
    returnType: char*
    signature: 'static char *request(const char *url) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:127,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:136,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:148,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:154,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:165,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:166,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:173,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:173,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:117,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:137,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:145,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:153,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:152,1
    - Dst: newline_offset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:173,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:177,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:116,1
    - Dst: request
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:131,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:135,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:141,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:160,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:168,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:121,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:128,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:146,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:147,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:158,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:159,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:161,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:167,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:172,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 179
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: []
    functionsReached:
    - request
    - json_decref
    - json_array_get
    - snprintf
    - json_loads
    - fprintf
    - json_array_size
    - free
    - json_object_get
    - json_string_value
    - printf
    - newline_offset
    - json_is_object
    - json_is_string
    - json_is_array
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c:41,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - ptr
    - size
    - nmemb
    - stream
    argTypes:
    - void*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 45
    functionName: write_response
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/doc/github_commits.c
    functionUses: []
    functionsReached:
    - memcpy
    - fprintf
    linkageType: ''
    returnType: size_t
    signature: 'static size_t write_response(void *ptr, size_t size, size_t nmemb,
      void *stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 47
    functionName: strbuffer_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *strbuffer_value(const strbuffer_t *strbuff) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: strbuffer_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'void strbuffer_close(strbuffer_t *strbuff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - strbuff
    - byte
    argTypes:
    - strbuffer_t*
    - char
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: strbuffer_append_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached:
    - strbuffer_append_bytes
    linkageType: ''
    returnType: int
    signature: 'int strbuffer_append_byte(strbuffer_t *strbuff, char byte) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: strbuffer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    linkageType: ''
    returnType: int
    signature: 'int strbuffer_init(strbuffer_t *strbuff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: strbuffer_steal_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *strbuffer_steal_value(strbuffer_t *strbuff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: strbuffer_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void strbuffer_clear(strbuffer_t *strbuff) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:70,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:72,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:76,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:83,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - strbuff
    - data
    - size
    argTypes:
    - strbuffer_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 88
    functionName: strbuffer_append_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - max
    - memcpy
    - jsonp_free
    linkageType: ''
    returnType: int
    signature: 'int strbuffer_append_bytes(strbuffer_t *strbuff, const char *data,
      size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - strbuff
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: strbuffer_pop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strbuffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char strbuffer_pop(strbuffer_t *strbuff) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seed_from_urandom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:171,1
    - Dst: seed_from_timestamp_and_pid
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:183,1
    - Dst: seed_from_windows_cryptoapi
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 191
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 191
    functionName: generate_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - seed_from_windows_cryptoapi
    - seed_from_urandom
    - seed_from_timestamp_and_pid
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t generate_seed() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:111,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:120,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:125,1
    - Dst: TEXT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:111,1
    - Dst: GetProcAddress
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:116,1
    - Dst: pCryptAcquireContext
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:129,1
    - Dst: pCryptGenRandom
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:133,1
    - Dst: pCryptReleaseContext
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:134,1
    - Dst: buf_to_uint32
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 141
    functionName: seed_from_windows_cryptoapi
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - buf_to_uint32
    - GetModuleHandle
    - TEXT
    - pCryptAcquireContext
    - pCryptGenRandom
    - pCryptReleaseContext
    - GetProcAddress
    linkageType: ''
    returnType: int
    signature: 'static int seed_from_windows_cryptoapi(uint32_t *seed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: __atomic_test_and_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:202,1
    - Dst: __atomic_load_n
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:214,1
    - Dst: sched_yield
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:212,1
    - Dst: __atomic_store_n
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:207,1
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - __atomic_load_n
    - generate_seed
    - __atomic_test_and_set
    - sched_yield
    - __atomic_store_n
    linkageType: ''
    returnType: void
    signature: 'void json_object_seed(size_t seed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: InterlockedIncrement
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:250,1
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:253,1
    - Dst: SwitchToThread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 263
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - SwitchToThread
    - generate_seed
    - InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: 'void json_object_seed(size_t seed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:228,1
    - Dst: __sync_bool_compare_and_swap
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:232,1
    - Dst: sched_yield
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - sched_yield
    - __sync_bool_compare_and_swap
    - generate_seed
    linkageType: ''
    returnType: void
    signature: 'void json_object_seed(size_t seed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: buf_to_uint32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t buf_to_uint32(char *data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:149,1
    - Dst: GetCurrentProcessId
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:158,1
    - Dst: getpid
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:160,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 164
    functionName: seed_from_timestamp_and_pid
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - time
    - getpid
    - gettimeofday
    - GetCurrentProcessId
    linkageType: ''
    returnType: int
    signature: 'static int seed_from_timestamp_and_pid(uint32_t *seed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generate_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - seed
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: json_object_seed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - generate_seed
    linkageType: ''
    returnType: void
    signature: 'void json_object_seed(size_t seed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:67,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:76,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:72,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:80,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:71,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:81,1
    - Dst: buf_to_uint32
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - seed
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 89
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 89
    functionName: seed_from_urandom
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable_seed.c
    functionUses: []
    functionsReached:
    - buf_to_uint32
    - close
    - fread
    - read
    - fclose
    - open
    - fopen
    linkageType: ''
    returnType: int
    signature: 'static int seed_from_urandom(uint32_t *seed) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:925,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:928,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:931,1
    - Dst: isinf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - value
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 935
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 935
    functionName: json_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - isnan
    - json_init
    - isinf
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_real(double value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:945,1
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:945,1
    - Dst: isinf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:945,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - double
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: json_real_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_real
    - json_to_real
    - isnan
    - isinf
    linkageType: ''
    returnType: int
    signature: 'int json_real_set(json_t *json, double value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:938,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 942
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 942
    functionName: json_real_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_real
    - json_to_real
    linkageType: ''
    returnType: double
    signature: 'double json_real_value(const json_t *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - real
    argTypes:
    - json_real_t*
    constantsTouched: []
    func_position:
      end: 953
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 953
    functionName: json_delete_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void json_delete_real(json_real_t *real) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:557,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:568,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:558,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:564,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:561,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:570,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:575,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:576,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:577,1
    - Dst: array_move
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:579,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - json
    - index
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 585
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 585
    functionName: json_array_insert_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - array_move
    - json_to_array
    - jsonp_free
    - array_copy
    - json_array_grow
    - json_is_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_insert_new(json_t *json, size_t index, json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 984
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 984
    functionName: json_false
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_false(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:590,1
    - Dst: array_move
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:601,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:597,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - json
    - index
    argTypes:
    - json_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 606
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 606
    functionName: json_array_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - array_move
    - json_decref
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_remove(json_t *json, size_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 989
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 989
    functionName: json_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_null(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: jsonp_stringn_nocheck_own
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - string_create
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *jsonp_stringn_nocheck_own(const char *value, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:211,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:211,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:215,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:216,1
    - Dst: json_object_keylen_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 220
    functionName: json_object_update_existing
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_keylen_foreach
    - json_is_object
    - json_object_getn
    - json_object_setn_nocheck
    linkageType: ''
    returnType: int
    signature: 'int json_object_update_existing(json_t *object, json_t *other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:287,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:290,1
    - Dst: hashtable_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 292
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 292
    functionName: json_object_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_iter
    - json_is_object
    - json_to_object
    linkageType: ''
    returnType: void*
    signature: 'void *json_object_iter(json_t *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:423,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:426,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:433,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 438
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 438
    functionName: json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - json_init
    - jsonp_free
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_array(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:510,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:511,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:519,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:520,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - array
    - amount
    - copy
    argTypes:
    - json_array_t*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 525
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 525
    functionName: json_array_grow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - max
    - array_copy
    - jsonp_free
    linkageType: ''
    returnType: json_t**
    signature: 'static json_t **json_array_grow(json_array_t *array, size_t amount,
      int copy) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:612,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:614,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: json_array_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_clear(json_t *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:226,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:230,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:226,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:231,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: json_object_update_missing
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_set_nocheck
    - json_object_foreach
    - json_is_object
    - json_object_get
    linkageType: ''
    returnType: int
    signature: 'int json_object_update_missing(json_t *object, json_t *other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:297,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:300,1
    - Dst: hashtable_iter_at
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:301,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 302
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 302
    functionName: json_object_iter_at
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - strlen
    - hashtable_iter_at
    - json_is_object
    - json_to_object
    linkageType: ''
    returnType: void*
    signature: 'void *json_object_iter_at(json_t *json, const char *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:533,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:534,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:539,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:540,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 548
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 548
    functionName: json_array_append_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_array_grow
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_append_new(json_t *json, json_t *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:627,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:627,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:630,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:629,1
    - Dst: json_array_grow
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:632,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:636,1
    - Dst: array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - json
    - other_json
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 642
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 642
    functionName: json_array_extend
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_incref
    - json_to_array
    - array_copy
    - json_array_grow
    - json_is_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_extend(json_t *json, json_t *other_json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_stringn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:755,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 756
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 756
    functionName: json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_stringn
    - strlen
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_string(const char *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:390,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:403,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:404,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:399,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:393,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:406,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:406,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:407,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:411,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:415,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - object
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 418
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 418
    functionName: json_object_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - hashtable_del
    - json_object_iter_key
    - json_object_set_new_nocheck
    - json_object_iter_next
    - json_object
    - do_deep_copy
    - jsonp_loop_check
    - json_object_iter_value
    - json_object_iter
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_object_deep_copy(const json_t *object, hashtable_t
      *parents) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:182,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:185,1
    - Dst: hashtable_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: json_object_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_clear
    - json_is_object
    - json_to_object
    linkageType: ''
    returnType: int
    signature: 'int json_object_clear(json_t *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:459,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - json
    - index
    argTypes:
    - json_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: json_array_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_array_get(const json_t *json, size_t index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:195,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:198,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:195,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: json_object_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_set_nocheck
    - json_object_foreach
    - json_is_object
    linkageType: ''
    returnType: int
    signature: 'int json_object_update(json_t *object, json_t *other) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:475,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:476,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:486,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:482,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - json
    - index
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 490
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 490
    functionName: json_array_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: int
    signature: 'int json_array_set_new(json_t *json, size_t index, json_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_deln
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:166,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: json_object_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - strlen
    - json_object_deln
    linkageType: ''
    returnType: int
    signature: 'int json_object_del(json_t *json, const char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:739,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: json_string_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - string_create
    - strlen
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_string_nocheck(const char *value) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:997,1
    - Dst: json_delete_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:999,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1002,1
    - Dst: json_delete_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1002,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:999,1
    - Dst: json_delete_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1005,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1005,1
    - Dst: json_delete_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1008,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1008,1
    - Dst: json_delete_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1011,1
    - Dst: json_to_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1011,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 1018
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1018
    functionName: json_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_delete_real
    - json_to_string
    - json_to_real
    - json_to_integer
    - json_to_array
    - json_to_object
    - json_delete_string
    - json_delete_array
    - json_delete_integer
    - json_typeof
    - json_delete_object
    linkageType: ''
    returnType: void
    signature: 'void json_delete(json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:172,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:176,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - json
    - key
    - key_len
    argTypes:
    - json_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: json_object_deln
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_del
    - json_is_object
    - json_to_object
    linkageType: ''
    returnType: int
    signature: 'int json_object_deln(json_t *json, const char *key, size_t key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: string_create
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 744
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 744
    functionName: json_stringn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - string_create
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_stringn_nocheck(const char *value, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:84,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_object_t*
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: json_delete_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_close
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void json_delete_object(json_object_t *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: json_object_iter_key_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_iter_key_len
    linkageType: ''
    returnType: size_t
    signature: 'size_t json_object_iter_key_len(void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - array
    - dest
    - src
    - count
    argTypes:
    - json_array_t*
    - size_t
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 494
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 494
    functionName: array_move
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void array_move(json_array_t *array, size_t dest, size_t src,
      size_t count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:91,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: json_object_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_object
    - json_to_object
    linkageType: ''
    returnType: size_t
    signature: 'size_t json_object_size(const json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: json_object_iter_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_iter_value
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_object_iter_value(void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - dest
    - dpos
    - src
    - spos
    - count
    argTypes:
    - json_t**
    - size_t
    - json_t**
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: array_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void array_copy(json_t **dest, size_t dpos, json_t **src, size_t
      spos, size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:36,1
    - Dst: isnan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: isinf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - isnan
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int isinf(double x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:444,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:447,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - array
    argTypes:
    - json_array_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 448
    functionName: json_delete_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void json_delete_array(json_array_t *array) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1055,1
    - Dst: json_object_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1057,1
    - Dst: json_integer_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1063,1
    - Dst: json_array_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1059,1
    - Dst: json_string_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1061,1
    - Dst: json_real_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1065,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 9
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1073
    functionName: json_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_copy
    - json_string_copy
    - json_integer_copy
    - json_array_copy
    - json_typeof
    - json_real_copy
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_copy(json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:451,1
    - Dst: json_to_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    functionName: json_array_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_array
    - json_to_array
    linkageType: ''
    returnType: size_t
    signature: 'size_t json_array_size(const json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1079,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1081,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1085
    functionName: json_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - do_deep_copy
    - hashtable_close
    - hashtable_init
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_deep_copy(const json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:146,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:150,1
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - json
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: json_object_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - strlen
    - json_object_setn_new
    linkageType: ''
    returnType: int
    signature: 'int json_object_set_new(json_t *json, const char *key, json_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:813,1
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - json
    - value
    - len
    argTypes:
    - json_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 817
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 817
    functionName: json_string_setn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - utf8_check_string
    - json_string_setn_nocheck
    linkageType: ''
    returnType: int
    signature: 'int json_string_setn(json_t *json, const char *value, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:902,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - json_int_t
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: json_integer_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_integer
    - json_to_integer
    linkageType: ''
    returnType: int
    signature: 'int json_integer_set(json_t *json, json_int_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:956,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - real1
    - real2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: json_real_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_real_value
    linkageType: ''
    returnType: int
    signature: 'static int json_real_equal(const json_t *real1, const json_t *real2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:960,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - real
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 961
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 961
    functionName: json_real_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_real_value
    - json_real
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_real_copy(const json_t *real) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:154,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:159,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - json
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: json_object_setn_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_setn_new_nocheck
    - utf8_check_string
    linkageType: ''
    returnType: int
    signature: 'int json_object_setn_new(json_t *json, const char *key, size_t key_len,
      json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:820,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - string
    argTypes:
    - json_string_t*
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: json_delete_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void json_delete_string(json_string_t *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:910,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - integer
    argTypes:
    - json_integer_t*
    constantsTouched: []
    func_position:
      end: 910
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 910
    functionName: json_delete_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void json_delete_integer(json_integer_t *integer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:844,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:850,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:846,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:858,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:854,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:859,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:860,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:864,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:867,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 2
    argNames:
    - fmt
    - ap
    argTypes:
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 869
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 869
    functionName: json_vsprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - utf8_check_string
    - va_end
    - vsnprintf
    - jsonp_free
    - jsonp_malloc
    - va_copy
    - jsonp_stringn_nocheck_own
    - json_string
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_vsprintf(const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:875,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:877,1
    - Dst: json_vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: json_sprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - va_end
    - json_vsprintf
    - va_start
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_sprintf(const char *fmt, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:718,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:728,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:723,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - value
    - len
    - own
    argTypes:
    - char*
    - size_t
    - int
    constantsTouched: []
    func_position:
      end: 733
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 733
    functionName: string_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - json_init
    - jsonp_free
    - jsonp_strndup
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *string_create(const char *value, size_t len, int own) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - json
    - type
    argTypes:
    - json_t*
    - json_type
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: json_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void json_init(json_t *json, json_type type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:336,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:337,1
    - Dst: hashtable_iter_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - json
    - iter
    - value
    argTypes:
    - json_t*
    - void*
    - json_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: json_object_iter_set_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_iter_set
    - json_decref
    - json_is_object
    linkageType: ''
    returnType: int
    signature: 'int json_object_iter_set_new(json_t *json, void *iter, json_t *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:684,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:691,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:687,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:692,1
    - Dst: do_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:693,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:693,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:694,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:701,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - array
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 704
    functionName: json_array_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_decref
    - json_array
    - hashtable_del
    - json_array_append_new
    - json_array_size
    - do_deep_copy
    - jsonp_loop_check
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_array_deep_copy(const json_t *array, hashtable_t
      *parents) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:48,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:56,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:53,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - parents
    - json
    - key
    - key_size
    - key_len_out
    argTypes:
    - hashtable_t*
    - json_t*
    - char*
    - size_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 57
    functionName: jsonp_loop_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - snprintf
    - json_null
    - hashtable_get
    - hashtable_set
    linkageType: ''
    returnType: int
    signature: 'int jsonp_loop_check(hashtable_t *parents, const json_t *json, char
      *key, size_t key_size, size_t *key_len_out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_key_to_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: json_object_key_to_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_key_to_iter
    linkageType: ''
    returnType: void*
    signature: 'void *json_object_key_to_iter(const char *key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:245,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:248,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:245,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:252,1
    - Dst: json_object_keylen_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:251,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:254,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:254,1
    - Dst: do_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:255,1
    - Dst: json_object_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:260,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:267,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 3
    argNames:
    - object
    - other
    - parents
    argTypes:
    - json_t*
    - json_t*
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 270
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 270
    functionName: do_object_update_recursive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_keylen_foreach
    - do_object_update_recursive
    - hashtable_del
    - json_object_get
    - jsonp_loop_check
    - json_object_setn_nocheck
    - json_is_object
    linkageType: ''
    returnType: int
    signature: 'int do_object_update_recursive(json_t *object, json_t *other, hashtable_t
      *parents) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:773,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: json_string_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_to_string
    - json_is_string
    linkageType: ''
    returnType: size_t
    signature: 'size_t json_string_length(const json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:276,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:279,1
    - Dst: do_object_update_recursive
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: json_object_update_recursive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_close
    - do_object_update_recursive
    - hashtable_init
    linkageType: ''
    returnType: int
    signature: 'int json_object_update_recursive(json_t *object, json_t *other) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_string_setn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:783,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 784
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 784
    functionName: json_string_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - strlen
    - json_string_setn_nocheck
    linkageType: ''
    returnType: int
    signature: 'int json_string_set_nocheck(json_t *json, const char *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 979
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 979
    functionName: json_true
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_true(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:759,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - value
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: json_stringn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - utf8_check_string
    - json_stringn_nocheck
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_stringn(const char *value, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:966,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:968,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:967,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 972
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 972
    functionName: json_number_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_integer
    - json_is_real
    - json_real_value
    - json_integer_value
    linkageType: ''
    returnType: double
    signature: 'double json_number_value(const json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:766,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 770
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 770
    functionName: json_string_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_to_string
    - json_is_string
    linkageType: ''
    returnType: char*
    signature: 'const char *json_string_value(const json_t *json) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1091,1
    - Dst: json_object_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1093,1
    - Dst: json_array_deep_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1095,1
    - Dst: json_string_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1099,1
    - Dst: json_integer_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1101,1
    - Dst: json_real_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1103,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 9
    argCount: 2
    argNames:
    - json
    - parents
    argTypes:
    - json_t*
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1111
    functionName: do_deep_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_string_copy
    - json_object_deep_copy
    - json_integer_copy
    - json_array_deep_copy
    - json_typeof
    - json_real_copy
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *do_deep_copy(const json_t *json, hashtable_t *parents) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1026,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1033,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1026,1
    - Dst: json_object_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1035,1
    - Dst: json_array_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1037,1
    - Dst: json_string_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1039,1
    - Dst: json_integer_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1041,1
    - Dst: json_real_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:1043,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - json1
    - json2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1047
    functionName: json_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_equal
    - json_array_equal
    - json_string_equal
    - json_integer_equal
    - json_typeof
    - json_real_equal
    linkageType: ''
    returnType: int
    signature: 'int json_equal(const json_t *json1, const json_t *json2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: isnan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int isnan(double x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:102,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - json
    - key
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: json_object_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - strlen
    - json_object_getn
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_object_get(const json_t *json, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:827,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:828,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: json_string_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_to_string
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int json_string_equal(const json_t *string1, const json_t *string2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:885,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - json_int_t
    constantsTouched: []
    func_position:
      end: 892
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 892
    functionName: json_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - json_init
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_integer(json_int_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:913,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - integer1
    - integer2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: json_integer_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_integer_value
    linkageType: ''
    returnType: int
    signature: 'static int json_integer_equal(const json_t *integer1, const json_t
      *integer2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:64,1
    - Dst: json_object_seed
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:70,1
    - Dst: json_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:73,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:76,1
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 81
    functionName: json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_init
    - jsonp_free
    - jsonp_malloc
    - hashtable_init
    - json_object_seed
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_object(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:108,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:111,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - json
    - key
    - key_len
    argTypes:
    - json_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 113
    functionName: json_object_getn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_object
    - hashtable_get
    - json_to_object
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_object_getn(const json_t *json, const char *key, size_t
      key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:835,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - string
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 837
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 837
    functionName: json_string_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_to_string
    - json_stringn_nocheck
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_string_copy(const json_t *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:895,1
    - Dst: json_to_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: json_integer_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_integer
    - json_to_integer
    linkageType: ''
    returnType: json_int_t
    signature: 'json_int_t json_integer_value(const json_t *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:917,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - integer
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: json_integer_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_integer_value
    - json_integer
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_integer_copy(const json_t *integer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:117,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:120,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - json
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: json_object_set_new_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_setn_new_nocheck
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int json_object_set_new_nocheck(json_t *json, const char *key, json_t
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:647,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:654,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:657,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:655,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:648,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - array1
    - array2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 662
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 662
    functionName: json_array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_array_size
    - json_equal
    linkageType: ''
    returnType: int
    signature: 'static int json_array_equal(const json_t *array1, const json_t *array2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:130,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:136,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:134,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:137,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - json
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: json_object_setn_new_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_decref
    - json_is_object
    - hashtable_set
    - json_to_object
    linkageType: ''
    returnType: int
    signature: 'int json_object_setn_new_nocheck(json_t *json, const char *key, size_t
      key_len, json_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:668,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:673,1
    - Dst: json_array_append
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:673,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - array
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 676
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 676
    functionName: json_array_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_array_append
    - json_array_size
    - json_array
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_array_copy(json_t *array) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:356,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:360,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:356,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:359,1
    - Dst: json_equal
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - object1
    - object2
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: json_object_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_get
    - json_object_foreach
    - json_object_size
    - json_equal
    linkageType: ''
    returnType: int
    signature: 'static int json_object_equal(const json_t *object1, const json_t *object2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:375,1
    - Dst: json_object_set_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:379,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - object
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: json_object_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_object_set_nocheck
    - json_object_foreach
    - json_object
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *json_object_copy(json_t *object) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:307,1
    - Dst: json_to_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:310,1
    - Dst: hashtable_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - json
    - iter
    argTypes:
    - json_t*
    - void*
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: json_object_iter_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - json_is_object
    - hashtable_iter_next
    - json_to_object
    linkageType: ''
    returnType: void*
    signature: 'void *json_object_iter_next(json_t *json, void *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:790,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:798,1
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:793,1
    - Dst: json_to_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - json
    - value
    - len
    argTypes:
    - json_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 803
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 803
    functionName: json_string_setn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - jsonp_free
    - json_to_string
    - json_is_string
    - jsonp_strndup
    linkageType: ''
    returnType: int
    signature: 'int json_string_setn_nocheck(json_t *json, const char *value, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: json_object_iter_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - hashtable_iter_key
    linkageType: ''
    returnType: char*
    signature: 'const char *json_object_iter_key(void *iter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_string_setn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:809,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c:809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - json
    - value
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 810
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 810
    functionName: json_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/value.c
    functionUses: []
    functionsReached:
    - strlen
    - json_string_setn
    linkageType: ''
    returnType: int
    signature: 'int json_string_set(json_t *json, const char *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_set_source
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:10,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - error
    - source
    argTypes:
    - json_error_t*
    - char*
    constantsTouched: []
    func_position:
      end: 14
      start: 3
    functionDepth: 0
    functionLinenumber: 3
    functionLinenumberEnd: 14
    functionName: jsonp_error_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: []
    functionsReached:
    - jsonp_error_set_source
    linkageType: ''
    returnType: void
    signature: 'void jsonp_error_init(json_error_t *error, const char *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:22,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:27,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:28,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:24,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - error
    - source
    argTypes:
    - json_error_t*
    - char*
    constantsTouched: []
    func_position:
      end: 30
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 30
    functionName: jsonp_error_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'void jsonp_error_set_source(json_error_t *error, const char *source) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 7
    argNames:
    - error
    - line
    - column
    - position
    - code
    - msg
    - ap
    argTypes:
    - json_error_t*
    - int
    - int
    - size_t
    - enum json_error_code
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: jsonp_error_vset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: []
    functionsReached:
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void jsonp_error_vset(json_error_t *error, int line, int column, size_t
      position, enum json_error_code code, const char *msg, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:36,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:38,1
    - Dst: jsonp_error_vset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 6
    argNames:
    - error
    - line
    - column
    - position
    - code
    - msg
    - '...'
    argTypes:
    - json_error_t*
    - int
    - int
    - size_t
    - enum json_error_code
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 39
    functionName: jsonp_error_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/error.c
    functionUses: []
    functionsReached:
    - va_end
    - jsonp_error_vset
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void jsonp_error_set(json_error_t *error, int line, int column, size_t
      position, enum json_error_code code, const char *msg, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: list_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void list_init(list_t *list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - hashtable
    - iter
    argTypes:
    - hashtable_t*
    - void*
    constantsTouched: []
    func_position:
      end: 317
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 317
    functionName: hashtable_iter_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_iter_next(hashtable_t *hashtable, void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: hashtable_iter_key_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: size_t
    signature: 'size_t hashtable_iter_key_len(void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - list_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: list_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void list_insert(list_t *list, list_t *node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: hashtable_iter_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_iter_key(void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: hashtable_iter_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - ordered_list_to_pair
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_iter_value(void *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ordered_list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:335,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - value
    argTypes:
    - void*
    - json_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: hashtable_iter_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - json_decref
    - ordered_list_to_pair
    linkageType: ''
    returnType: void
    signature: 'void hashtable_iter_set(void *iter, json_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bucket_is_empty
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:61,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:62,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - hashtable
    - bucket
    - list
    argTypes:
    - hashtable_t*
    - bucket_t*
    - list_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: insert_to_bucket
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - bucket_is_empty
    - list_insert
    linkageType: ''
    returnType: void
    signature: 'static void insert_to_bucket(hashtable_t *hashtable, bucket_t *bucket,
      list_t *list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_do_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:193,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: hashtable_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - hashtable_do_clear
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'void hashtable_close(hashtable_t *hashtable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:233,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:240,1
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:237,1
    - Dst: hashtable_do_rehash
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:234,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:238,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:243,1
    - Dst: init_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:246,1
    - Dst: insert_to_bucket
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:251,1
    - Dst: list_insert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - hashtable
    - key
    - key_len
    - value
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 257
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 257
    functionName: hashtable_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - json_decref
    - hash_str
    - hashtable_do_rehash
    - init_pair
    - hashmask
    - list_insert
    - hashtable_find_pair
    - hashsize
    - insert_to_bucket
    linkageType: ''
    returnType: int
    signature: 'int hashtable_set(hashtable_t *hashtable, const char *key, size_t
      key_len, json_t *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bucket_is_empty
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:75,1
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:80,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 5
    argNames:
    - hashtable
    - bucket
    - key
    - key_len
    - hash
    argTypes:
    - hashtable_t*
    - bucket_t*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: hashtable_find_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - bucket_is_empty
    - memcmp
    - list_to_pair
    linkageType: ''
    returnType: pair_t*
    signature: 'static pair_t *hashtable_find_pair(hashtable_t *hashtable, bucket_t
      *bucket, const char *key, size_t key_len, size_t hash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:209,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:215,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:220,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - value
    - key
    - key_len
    - hash
    argTypes:
    - json_t*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: init_pair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - memcpy
    - list_init
    linkageType: ''
    returnType: pair_t*
    signature: 'static pair_t *init_pair(json_t *value, const char *key, size_t key_len,
      size_t hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:264,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:265,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: hashtable_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - hashtable_find_pair
    - hash_str
    - hashmask
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_get(hashtable_t *hashtable, const char *key, size_t
      key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - list
    argTypes:
    - list_t*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: list_remove
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void list_remove(list_t *list) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:101,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:119,1
    - Dst: list_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:118,1
    - Dst: list_remove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:117,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:104,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:121,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - hashtable
    - key
    - key_len
    - hash
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 125
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 125
    functionName: hashtable_do_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - json_decref
    - list_remove
    - hashmask
    - jsonp_free
    - hashtable_find_pair
    linkageType: ''
    returnType: int
    signature: 'static int hashtable_do_del(hashtable_t *hashtable, const char *key,
      size_t key_len, size_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - hashtable
    - bucket
    argTypes:
    - hashtable_t*
    - bucket_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: bucket_is_empty
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int bucket_is_empty(hashtable_t *hashtable, bucket_t
      *bucket) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:133,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:134,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: hashtable_do_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - json_decref
    - list_to_pair
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void hashtable_do_clear(hashtable_t *hashtable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:146,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:152,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:161,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:148,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:156,1
    - Dst: list_to_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:165,1
    - Dst: insert_to_bucket
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 171
    functionName: hashtable_do_rehash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - list_init
    - list_to_pair
    - jsonp_free
    - jsonp_malloc
    - hashsize
    - insert_to_bucket
    linkageType: ''
    returnType: int
    signature: 'static int hashtable_do_rehash(hashtable_t *hashtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:275,1
    - Dst: hashtable_do_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: hashtable_del
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - hash_str
    - hashtable_do_del
    linkageType: ''
    returnType: int
    signature: 'int hashtable_del(hashtable_t *hashtable, const char *key, size_t
      key_len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: hashtable_iter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - hashtable_iter_next
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_iter(hashtable_t *hashtable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:178,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:183,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:182,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:178,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 190
    functionName: hashtable_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - list_init
    - hashsize
    linkageType: ''
    returnType: int
    signature: 'int hashtable_init(hashtable_t *hashtable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hashtable_do_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:282,1
    - Dst: hashsize
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:284,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:288,1
    - Dst: list_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - hashtable
    argTypes:
    - hashtable_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: hashtable_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - list_init
    - hashtable_do_clear
    - hashsize
    linkageType: ''
    returnType: void
    signature: 'void hashtable_clear(hashtable_t *hashtable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_str
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:302,1
    - Dst: hashmask
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:303,1
    - Dst: hashtable_find_pair
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - hashtable
    - key
    - key_len
    argTypes:
    - hashtable_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    functionName: hashtable_iter_at
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/hashtable.c
    functionUses: []
    functionsReached:
    - hashtable_find_pair
    - hash_str
    - hashmask
    linkageType: ''
    returnType: void*
    signature: 'void *hashtable_iter_at(hashtable_t *hashtable, const char *key, size_t
      key_len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:217,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:220,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - stream
    - c
    argTypes:
    - stream_t*
    - int
    constantsTouched: []
    func_position:
      end: 223
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 223
    functionName: stream_unget
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - utf8_check_first
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void stream_unget(stream_t *stream, int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - stream
    - get
    - data
    argTypes:
    - stream_t*
    - get_func
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 148
    functionName: stream_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void stream_init(stream_t *stream, get_func get, void *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:277,1
    - Dst: l_islower
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:284,1
    - Dst: l_isupper
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:286,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 293
    functionName: decode_unicode_escape
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - l_isdigit
    - l_islower
    - assert
    - l_isupper
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decode_unicode_escape(const char *str) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:854,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:857,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:867,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:862,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:869,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:871,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 882
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 882
    functionName: parse_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - json_decref
    - lex_scan
    - parse_value
    - error_set
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *parse_json(lex_t *lex, size_t flags, json_error_t *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int string_get(void *data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:170,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:179,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:174,1
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:194,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:204,1
    - Dst: stream_to_lex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:204,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - stream_t*
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 207
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 207
    functionName: stream_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - utf8_check_full
    - assert
    - utf8_check_first
    - stream_to_lex
    linkageType: ''
    returnType: int
    signature: 'static int stream_get(stream_t *stream, json_error_t *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: lex_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - stream_get
    linkageType: ''
    returnType: int
    signature: 'static int lex_get(lex_t *lex, json_error_t *error) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:311,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:320,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:318,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:341,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:365,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:343,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:410,1
    - Dst: utf8_encode
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:415,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:416,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:441,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:328,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:330,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:333,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:337,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:357,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:376,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:405,1
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:455,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:322,1
    - Dst: l_isxdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:332,1
    - Dst: decode_unicode_escape
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:374,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:387,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:399,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:304,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:347,1
    - Dst: decode_unicode_escape
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:385,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 131
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 456
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 456
    functionName: lex_scan_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - lex_free_string
    - l_isxdigit
    - assert
    - jsonp_malloc
    - utf8_encode
    - strbuffer_value
    - lex_get_save
    - decode_unicode_escape
    - lex_unget_unsave
    linkageType: ''
    returnType: void
    signature: 'static void lex_scan_string(lex_t *lex, json_error_t *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:906,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:919,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:909,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:921,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - string
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 923
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 923
    functionName: json_loads
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - jsonp_error_init
    - lex_init
    - parse_json
    - lex_close
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_loads(const char *string, size_t flags, json_error_t
      *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1078
    functionName: callback_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int callback_get(void *data) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:97,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:100,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:98,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:103,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:111,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:125,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:133,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - error
    - lex
    - code
    - msg
    - '...'
    argTypes:
    - json_error_t*
    - lex_t*
    - enum json_error_code
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 134
    functionName: error_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - snprintf
    - va_start
    - va_end
    - strbuffer_value
    - jsonp_error_set
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void error_set(json_error_t *error, const lex_t *lex, enum
      json_error_code code, const char *msg, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_byte
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: lex_save
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - strbuffer_append_byte
    linkageType: ''
    returnType: void
    signature: 'static void lex_save(lex_t *lex, int c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: lex_save_cached
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - lex_save
    linkageType: ''
    returnType: void
    signature: 'static void lex_save_cached(lex_t *lex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:642,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - lex
    - get
    - flags
    - data
    argTypes:
    - lex_t*
    - get_func
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: lex_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - stream_init
    - strbuffer_init
    linkageType: ''
    returnType: int
    signature: 'static int lex_init(lex_t *lex, get_func get, size_t flags, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: fd_get_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: 'static int fd_get_func(int *fd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:232,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: lex_get_save
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - stream_get
    - lex_save
    linkageType: ''
    returnType: int
    signature: 'static int lex_get_save(lex_t *lex, json_error_t *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: lex_free_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - jsonp_free
    linkageType: ''
    returnType: void
    signature: 'static void lex_free_string(lex_t *lex) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:478,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:491,1
    - Dst: lex_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:521,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:509,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:530,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:544,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:548,1
    - Dst: jsonp_strtod
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:550,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:486,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:488,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:513,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:522,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:538,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:545,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:481,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:489,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:498,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:500,1
    - Dst: json_strtoint
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:503,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:526,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:534,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:536,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:482,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:483,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:506,1
    - Dst: lex_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:523,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:529,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:539,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:551,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 3
    argNames:
    - lex
    - c
    - error
    argTypes:
    - lex_t*
    - int
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 561
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 561
    functionName: lex_scan_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - l_isdigit
    - lex_unget
    - error_set
    - assert
    - lex_get
    - jsonp_strtod
    - strbuffer_value
    - lex_get_save
    - lex_save
    - json_strtoint
    - lex_unget_unsave
    linkageType: ''
    returnType: int
    signature: 'static int lex_scan_number(lex_t *lex, int c, json_error_t *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:653,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lex
    argTypes:
    - lex_t*
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: lex_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - lex_free_string
    - strbuffer_close
    linkageType: ''
    returnType: void
    signature: 'static void lex_close(lex_t *lex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1014,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1017,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1026,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1021,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1024,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - input
    - flags
    - error
    argTypes:
    - int
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1028
    functionName: json_loadfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - jsonp_error_init
    - lex_init
    - parse_json
    - lex_close
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_loadfd(int input, size_t flags, json_error_t *error) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: lex_unget
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - stream_unget
    linkageType: ''
    returnType: void
    signature: 'static void lex_unget(lex_t *lex, int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_unget
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:249,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:254,1
    - Dst: strbuffer_pop
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - lex
    - c
    argTypes:
    - lex_t*
    - int
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: lex_unget_unsave
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - strbuffer_pop
    - stream_unget
    - assert
    linkageType: ''
    returnType: void
    signature: 'static void lex_unget_unsave(lex_t *lex, int c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: buffer_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int buffer_get(void *data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_clear
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:566,1
    - Dst: lex_scan_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:591,1
    - Dst: lex_free_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:569,1
    - Dst: lex_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:572,1
    - Dst: lex_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:585,1
    - Dst: l_isdigit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:593,1
    - Dst: lex_scan_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:594,1
    - Dst: l_isalpha
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:598,1
    - Dst: lex_get_save
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:603,1
    - Dst: l_isalpha
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:604,1
    - Dst: lex_save_cached
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:622,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:613,1
    - Dst: lex_unget_unsave
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:605,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:607,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:609,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:611,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 2
    argNames:
    - lex
    - error
    argTypes:
    - lex_t*
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 628
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 628
    functionName: lex_scan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - l_isdigit
    - l_isalpha
    - lex_free_string
    - strcmp
    - lex_get
    - lex_save_cached
    - strbuffer_clear
    - lex_scan_string
    - strbuffer_value
    - lex_get_save
    - lex_save
    - lex_scan_number
    - lex_unget_unsave
    linkageType: ''
    returnType: int
    signature: 'static int lex_scan(lex_t *lex, json_error_t *error) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:739,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:743,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:756,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:748,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:752,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:760,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:764,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:771,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 773
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 773
    functionName: parse_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - json_decref
    - lex_scan
    - json_array
    - error_set
    - json_array_append_new
    - parse_value
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *parse_array(lex_t *lex, size_t flags, json_error_t
      *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:947,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:950,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:963,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:958,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:961,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - buffer
    - buflen
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 965
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 965
    functionName: json_loadb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - jsonp_error_init
    - lex_init
    - parse_json
    - lex_close
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_loadb(const char *buffer, size_t buflen, size_t flags,
      json_error_t *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1034,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1041,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1037,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1043,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1044,1
    - Dst: json_loadf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1048,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - path
    - flags
    - error
    argTypes:
    - char*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1052
    functionName: json_load_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - fclose
    - error_set
    - jsonp_error_init
    - strerror
    - fopen
    - json_loadf
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_load_file(const char *path, size_t flags, json_error_t
      *error) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - lex
    - out_len
    argTypes:
    - lex_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 639
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 639
    functionName: lex_steal_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *lex_steal_string(lex_t *lex, size_t *out_len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:662,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:698,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:700,1
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:712,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:701,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:708,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:719,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:734,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:666,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:691,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:713,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:723,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:683,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:676,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:692,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:693,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:706,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:717,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:727,1
    - Dst: lex_steal_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:680,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:684,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:685,1
    - Dst: lex_scan
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:705,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 736
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 736
    functionName: parse_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - json_decref
    - lex_scan
    - error_set
    - parse_value
    - json_object
    - jsonp_free
    - memchr
    - json_object_setn_new_nocheck
    - json_object_getn
    - lex_steal_string
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *parse_object(lex_t *lex, size_t flags, json_error_t
      *error) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:780,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:804,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:797,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:791,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:790,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:809,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:814,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:818,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:822,1
    - Dst: parse_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:826,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:838,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:834,1
    - Dst: parse_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:830,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - lex
    - flags
    - error
    argTypes:
    - lex_t*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 847
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 847
    functionName: parse_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - json_integer
    - parse_array
    - json_null
    - json_false
    - memchr
    - json_real
    - jsonp_stringn_nocheck_own
    - parse_object
    - json_true
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *parse_value(lex_t *lex, size_t flags, json_error_t
      *error) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:977,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:984,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:987,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:989,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:980,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - input
    - flags
    - error
    argTypes:
    - FILE*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 991
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 991
    functionName: json_loadf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - jsonp_error_init
    - lex_init
    - parse_json
    - lex_close
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_loadf(FILE *input, size_t flags, json_error_t *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1087,1
    - Dst: parse_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1101,1
    - Dst: lex_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1098,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1091,1
    - Dst: error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1094,1
    - Dst: lex_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c:1103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - callback
    - arg
    - flags
    - error
    argTypes:
    - json_load_callback_t
    - void*
    - size_t
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1105
    functionName: json_load_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/load.c
    functionUses: []
    functionsReached:
    - error_set
    - jsonp_error_init
    - lex_init
    - memset
    - parse_json
    - lex_close
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_load_callback(json_load_callback_t callback, void *arg,
      size_t flags, json_error_t *error) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:30,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - strbuffer
    argTypes:
    - strbuffer_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 39
    functionName: to_locale
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: []
    functionsReached:
    - strchr
    - localeconv
    linkageType: ''
    returnType: void
    signature: 'static void to_locale(strbuffer_t *strbuffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_locale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:62,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:66,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - strbuffer
    - out
    argTypes:
    - strbuffer_t*
    - double*
    constantsTouched: []
    func_position:
      end: 76
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 76
    functionName: jsonp_strtod
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: []
    functionsReached:
    - to_locale
    - strtod
    - assert
    linkageType: ''
    returnType: int
    signature: 'int jsonp_strtod(strbuffer_t *strbuffer, double *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:45,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 54
    functionName: from_locale
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: []
    functionsReached:
    - strchr
    - localeconv
    linkageType: ''
    returnType: void
    signature: 'static void from_locale(char *buffer) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:86,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:100,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:113,1
    - Dst: from_locale
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:95,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:100,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - buffer
    - size
    - value
    - precision
    argTypes:
    - char*
    - size_t
    - double
    - int
    constantsTouched: []
    func_position:
      end: 131
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 131
    functionName: jsonp_dtostr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/strconv.c
    functionUses: []
    functionsReached:
    - strchr
    - from_locale
    - snprintf
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int jsonp_dtostr(char *buffer, size_t size, double value, int precision) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t**
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: json_decrefp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_decref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void json_decrefp(json_t **json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_INTERNAL_DECREF
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:131,1
    - Dst: json_delete
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: json_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - JSON_INTERNAL_DECREF
    - json_delete
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE void json_decref(json_t *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:248,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: json_object_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_set_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_set(json_t *object, const char
      *key, json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:258,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - key
    - value
    argTypes:
    - json_t*
    - char*
    - json_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: json_object_set_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_set_new_nocheck
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_set_nocheck(json_t *object, const
      char *key, json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_iter_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:267,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - object
    - iter
    - value
    argTypes:
    - json_t*
    - void*
    - json_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: json_object_iter_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_iter_set_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_iter_set(json_t *object, void *iter,
      json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update_existing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:277,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: json_object_update_existing_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_update_existing
    - json_decref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_update_existing_new(json_t *object,
      json_t *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_set_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:299,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - array
    - ind
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: json_array_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_array_set_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_array_set(json_t *array, size_t ind, json_t
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_insert_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:307,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - array
    - ind
    - value
    argTypes:
    - json_t*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: json_array_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_array_insert_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_array_insert(json_t *array, size_t ind,
      json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - e
    argTypes:
    - json_error_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: json_error_code
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: json_error_code
    signature: 'json_error_code json_error_code(const json_error_t *e) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_setn_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:253,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - object
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: json_object_setn
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_setn_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_setn(json_t *object, const char
      *key, size_t key_len, json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_setn_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:263,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - object
    - key
    - key_len
    - value
    argTypes:
    - json_t*
    - char*
    - size_t
    - json_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: json_object_setn_nocheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_setn_new_nocheck
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_setn_nocheck(json_t *object, const
      char *key, size_t key_len, json_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:271,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: json_object_update_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_decref
    - json_object_update
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_update_new(json_t *object, json_t
      *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_object_update_missing
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:283,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - other
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: json_object_update_missing_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_object_update_missing
    - json_decref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_object_update_missing_new(json_t *object,
      json_t *other) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:303,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - array
    - value
    argTypes:
    - json_t*
    - json_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: json_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - json_array_append_new
    - json_incref
    linkageType: ''
    returnType: JSON_INLINE
    signature: 'static JSON_INLINE int json_array_append(json_t *array, json_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JSON_INTERNAL_INCREF
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - json
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: json_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/jansson.h
    functionUses: []
    functionsReached:
    - JSON_INTERNAL_INCREF
    linkageType: ''
    returnType: JSON_INLINE*
    signature: 'static JSON_INLINE json_t *json_incref(json_t *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:45,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: dump_to_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int dump_to_buffer(const char *buffer, size_t size, void *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FLAGS_TO_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:72,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:82,1
    - Dst: FLAGS_TO_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:73,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:88,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:75,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - flags
    - depth
    - space
    - dump
    - data
    argTypes:
    - size_t
    - int
    - int
    - json_dump_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: dump_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - dump
    - FLAGS_TO_INDENT
    linkageType: ''
    returnType: int
    signature: 'static int dump_indent(size_t flags, int depth, int space, json_dump_callback_t
      dump, void *data) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:225,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:248,1
    - Dst: jsonp_dtostr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:250,1
    - Dst: FLAGS_TO_PRECISION
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:251,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:274,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:255,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:280,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:286,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:300,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:332,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:393,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:368,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:380,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:407,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:223,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:276,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:271,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:292,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:295,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:330,1
    - Dst: json_object_iter_key
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:348,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:351,1
    - Dst: json_object_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:394,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:396,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:415,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:403,1
    - Dst: json_object_getn
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:363,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:397,1
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:356,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:374,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:228,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:259,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:259,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:259,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:279,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:286,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:291,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:326,1
    - Dst: json_object_iter_key_len
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:349,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:354,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:367,1
    - Dst: json_object_iter_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:398,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:404,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:381,1
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:340,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:375,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:376,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:387,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:398,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:416,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:237,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:231,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:238,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:242,1
    - Dst: dump_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:282,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:301,1
    - Dst: jsonp_loop_check
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:320,1
    - Dst: json_object_iter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:324,1
    - Dst: hashtable_del
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:329,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:339,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:364,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:369,1
    - Dst: dump_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:366,1
    - Dst: json_object_iter_next
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:392,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 149
    argCount: 6
    argNames:
    - json
    - flags
    - depth
    - parents
    - dump
    - data
    argTypes:
    - json_t*
    - size_t
    - int
    - hashtable_t*
    - json_dump_callback_t
    - void*
    constantsTouched: []
    func_position:
      end: 423
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 423
    functionName: do_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - dump_indent
    - jsonp_dtostr
    - json_string_length
    - json_object_iter_key
    - json_real_value
    - json_object_iter_next
    - jsonp_free
    - qsort
    - dump
    - json_array_size
    - json_integer_value
    - jsonp_loop_check
    - FLAGS_TO_PRECISION
    - json_object_iter_value
    - json_string_value
    - do_dump
    - hashtable_del
    - json_object_size
    - json_object_iter
    - json_typeof
    - json_array_get
    - snprintf
    - assert
    - jsonp_malloc
    - json_object_getn
    - dump_string
    - json_object_iter_key_len
    linkageType: ''
    returnType: int
    signature: 'static int do_dump(const json_t *json, size_t flags, int depth, hashtable_t
      *parents, json_dump_callback_t dump, void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - json
    - buffer
    - size
    - flags
    argTypes:
    - json_t*
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 448
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 448
    functionName: json_dumpb
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: size_t
    signature: 'size_t json_dumpb(const json_t *json, char *buffer, size_t size, size_t
      flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - json
    - output
    - flags
    argTypes:
    - json_t*
    - int
    - size_t
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: json_dumpfd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: int
    signature: 'int json_dumpfd(const json_t *json, int output, size_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: dump_to_strbuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - strbuffer_append_bytes
    linkageType: ''
    returnType: int
    signature: 'static int dump_to_strbuffer(const char *buffer, size_t size, void
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:53,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: dump_to_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'static int dump_to_file(const char *buffer, size_t size, void *data) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:98,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:129,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:166,1
    - Dst: utf8_iterate
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:109,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:178,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:188,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:194,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 5
    argNames:
    - str
    - len
    - dump
    - data
    - flags
    argTypes:
    - char*
    - size_t
    - json_dump_callback_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 195
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 195
    functionName: dump_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - utf8_iterate
    - snprintf
    - dump
    linkageType: ''
    returnType: int
    signature: 'static int dump_string(const char *str, size_t len, json_dump_callback_t
      dump, void *data, size_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:206,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: compare_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int compare_keys(const void *key1, const void *key2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:429,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:437,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:435,1
    - Dst: jsonp_strdup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:435,1
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - json
    - flags
    argTypes:
    - json_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 439
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 439
    functionName: json_dumps
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - json_dump_callback
    - strbuffer_value
    - strbuffer_init
    - jsonp_strdup
    - strbuffer_close
    linkageType: ''
    returnType: char*
    signature: 'char *json_dumps(const json_t *json, size_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_dump_callback
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - json
    - output
    - flags
    argTypes:
    - json_t*
    - FILE*
    - size_t
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: json_dumpf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - json_dump_callback
    linkageType: ''
    returnType: int
    signature: 'int json_dumpf(const json_t *json, FILE *output, size_t flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:461,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:467,1
    - Dst: json_dumpf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:465,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - json
    - path
    - flags
    argTypes:
    - json_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 471
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: json_dump_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - json_dumpf
    - fclose
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int json_dump_file(const json_t *json, const char *path, size_t flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:479,1
    - Dst: do_dump
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:485,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:486,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:479,1
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - json
    - callback
    - data
    - flags
    argTypes:
    - json_t*
    - json_dump_callback_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 489
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 489
    functionName: json_dump_callback
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - hashtable_close
    - hashtable_init
    - json_is_object
    - json_is_array
    - do_dump
    linkageType: ''
    returnType: int
    signature: 'int json_dump_callback(const json_t *json, json_dump_callback_t callback,
      void *data, size_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - size
    - data
    argTypes:
    - char*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: dump_to_fd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/dump.c
    functionUses: []
    functionsReached:
    - write
    linkageType: ''
    returnType: int
    signature: 'static int dump_to_fd(const char *buffer, size_t size, void *data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:136,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:132,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:160,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:180,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:184,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:189,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:200,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:126,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:142,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:153,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:172,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:177,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:127,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:145,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:166,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:179,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:161,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:188,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:202,1
    - Dst: strbuffer_steal_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:209,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:125,1
    - Dst: utf8_check_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:144,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:175,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:168,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:176,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:174,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:183,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:190,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:196,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:201,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 6
    argNames:
    - s
    - ap
    - purpose
    - out_len
    - ours
    - optional
    argTypes:
    - scanner_t*
    - va_list*
    - char*
    - size_t*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 210
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 210
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - next_token
    - set_error
    - utf8_check_string
    - token
    - strlen
    - strbuffer_steal_value
    - prev_token
    - va_arg
    - strbuffer_append_bytes
    - strbuffer_init
    - strbuffer_close
    linkageType: ''
    returnType: char*
    signature: 'static char *read_string(scanner_t *s, va_list *ap, const char *purpose,
      size_t *out_len, int *ours, int optional) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:423,1
    - Dst: pack_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:431,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:434,1
    - Dst: pack_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:428,1
    - Dst: pack_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:425,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:437,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:437,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:437,1
    - Dst: pack_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:440,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:440,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:443,1
    - Dst: pack_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:446,1
    - Dst: pack_object_inter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:449,1
    - Dst: pack_object_inter
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:452,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:455,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:456,1
    - Dst: pack_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:443,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:446,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 460
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 460
    functionName: pack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - pack_object_inter
    - set_error
    - pack_object
    - pack_real
    - pack_integer
    - json_null
    - pack_array
    - pack_string
    - token
    - json_false
    - va_arg
    - json_true
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack(scanner_t *s, va_list *ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:858,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:860,1
    - Dst: json_vpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - error
    - flags
    - fmt
    - '...'
    argTypes:
    - json_error_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 863
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 863
    functionName: json_pack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - va_end
    - json_vpack_ex
    - va_start
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_pack_ex(json_error_t *error, size_t flags, const char
      *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:869,1
    - Dst: json_vpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:870,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: json_pack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - va_end
    - json_vpack_ex
    - va_start
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_pack(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:48,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:50,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - s
    - error
    - flags
    - fmt
    argTypes:
    - scanner_t*
    - json_error_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: scanner_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void scanner_init(scanner_t *s, json_error_t *error, size_t
      flags, const char *fmt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:216,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:241,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:258,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:253,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:229,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:235,1
    - Dst: json_object_set_new_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:260,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:243,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:239,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:269,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:276,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:213,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:224,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:214,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:223,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:237,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:249,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:240,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:246,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:261,1
    - Dst: jsonp_free
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:267,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:230,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:231,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 278
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 278
    functionName: pack_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - json_decref
    - pack
    - next_token
    - set_error
    - json_object_set_new_nocheck
    - json_object
    - token
    - jsonp_free
    - prev_token
    - read_string
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_object(scanner_t *s, va_list *ap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:388,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - scanner_t*
    - json_int_t
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: pack_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - set_error
    - json_integer
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_integer(scanner_t *s, json_int_t value) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: unpack_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:672,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:696,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:699,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:715,1
    - Dst: json_string_length
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:709,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:707,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:730,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:732,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:746,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:747,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:776,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:762,1
    - Dst: json_is_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:805,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:814,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:752,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:722,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:739,1
    - Dst: json_is_number
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:775,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:791,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:807,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:777,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:806,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:813,1
    - Dst: json_number_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:784,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:796,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:670,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:679,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:680,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:688,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:694,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:717,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:704,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:716,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:697,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:724,1
    - Dst: json_is_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:754,1
    - Dst: json_is_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:760,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:782,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:767,1
    - Dst: unpack_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:675,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:678,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:690,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:731,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:737,1
    - Dst: json_is_boolean
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:745,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:769,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:761,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 112
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 817
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 817
    functionName: unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - set_error
    - next_token
    - json_string_length
    - json_real_value
    - json_is_number
    - json_is_real
    - json_number_value
    - json_is_boolean
    - json_incref
    - unpack_array
    - json_integer_value
    - type_name
    - token
    - va_arg
    - json_string_value
    - json_is_string
    - json_is_null
    - json_is_true
    - json_is_integer
    - unpack_object
    - prev_token
    linkageType: ''
    returnType: int
    signature: 'static int unpack(scanner_t *s, json_t *root, va_list *ap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - s
    argTypes:
    - scanner_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 94
    functionName: next_token
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - token
    linkageType: ''
    returnType: void
    signature: 'static void next_token(scanner_t *s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:281,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:282,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:288,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:284,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:289,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:295,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:296,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:297,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:299,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:305,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:312,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:325,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:313,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:318,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:310,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 327
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 327
    functionName: pack_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - json_decref
    - pack
    - next_token
    - json_array
    - set_error
    - json_array_append_new
    - token
    - prev_token
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_array(scanner_t *s, va_list *ap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:400,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:412,1
    - Dst: json_real_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:409,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:410,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - scanner_t*
    - double
    constantsTouched: []
    func_position:
      end: 420
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 420
    functionName: pack_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - json_real_set
    - json_decref
    - set_error
    - json_real
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_real(scanner_t *s, double value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:825,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:833,1
    - Dst: scanner_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:832,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:830,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:826,1
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:835,1
    - Dst: pack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:836,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:837,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:843,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:844,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:846,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - error
    - flags
    - fmt
    - ap
    argTypes:
    - json_error_t*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 852
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 852
    functionName: json_vpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - json_decref
    - pack
    - next_token
    - set_error
    - jsonp_error_init
    - va_end
    - scanner_init
    - token
    - jsonp_error_set
    - va_copy
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *json_vpack_ex(json_error_t *error, size_t flags, const char
      *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:931,1
    - Dst: json_vunpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:932,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - root
    - fmt
    - '...'
    argTypes:
    - json_t*
    - char*
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: json_unpack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - va_end
    - json_vunpack_ex
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int json_unpack(json_t *root, const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - scanner_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: prev_token
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void prev_token(scanner_t *s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:336,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:340,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:345,1
    - Dst: read_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:342,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:337,1
    - Dst: jsonp_stringn_nocheck_own
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:353,1
    - Dst: json_stringn_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - s
    - ap
    argTypes:
    - scanner_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: pack_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - next_token
    - json_null
    - token
    - prev_token
    - json_stringn_nocheck
    - read_string
    - jsonp_stringn_nocheck_own
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_string(scanner_t *s, va_list *ap) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:477,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:482,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:483,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:488,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:507,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:524,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:535,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:546,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:547,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:563,1
    - Dst: strbuffer_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:571,1
    - Dst: strbuffer_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:586,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:481,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:518,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:506,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:564,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:565,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:573,1
    - Dst: strbuffer_append_bytes
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:578,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:583,1
    - Dst: hashtable_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:476,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:486,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:500,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:514,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:513,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:501,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:508,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:520,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:526,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:528,1
    - Dst: hashtable_close
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:594,1
    - Dst: hashtable_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:546,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:546,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:494,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:496,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:506,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:512,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:537,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:543,1
    - Dst: strbuffer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:585,1
    - Dst: hashtable_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:566,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 101
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 596
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 596
    functionName: unpack_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - set_error
    - next_token
    - json_null
    - json_object_foreach
    - strbuffer_init
    - strbuffer_close
    - unpack
    - hashtable_set
    - type_name
    - token
    - strbuffer_value
    - va_arg
    - strbuffer_append_bytes
    - hashtable_close
    - json_object_size
    - hashtable_get
    - hashtable_init
    - json_is_object
    - json_object_get
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int unpack_object(scanner_t *s, json_t *root, va_list *ap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:882,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:889,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:893,1
    - Dst: jsonp_error_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:888,1
    - Dst: jsonp_error_set
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:883,1
    - Dst: scanner_init
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:895,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:896,1
    - Dst: va_copy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:898,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:899,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:900,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:905,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:907,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:903,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:906,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - root
    - error
    - flags
    - fmt
    - ap
    argTypes:
    - json_t*
    - json_error_t*
    - size_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 913
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 913
    functionName: json_vunpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - unpack
    - next_token
    - set_error
    - jsonp_error_init
    - va_end
    - scanner_init
    - token
    - jsonp_error_set
    - va_copy
    linkageType: ''
    returnType: int
    signature: 'int json_vunpack_ex(json_t *root, json_error_t *error, size_t flags,
      const char *fmt, va_list ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:104,1
    - Dst: jsonp_error_set_source
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:109,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:111,1
    - Dst: jsonp_error_vset
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - s
    - source
    - code
    - fmt
    - '...'
    argTypes:
    - scanner_t*
    - char*
    - enum json_error_code
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: set_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - va_end
    - jsonp_error_set_source
    - jsonp_error_vset
    - va_start
    linkageType: ''
    returnType: void
    signature: 'static void set_error(scanner_t *s, const char *source, enum json_error_code
      code, const char *fmt, ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:362,1
    - Dst: json_incref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:371,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:363,1
    - Dst: prev_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:366,1
    - Dst: va_arg
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:368,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:375,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - s
    - ap
    - need_incref
    argTypes:
    - scanner_t*
    - va_list*
    - int
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: pack_object_inter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - next_token
    - set_error
    - json_incref
    - json_null
    - token
    - prev_token
    - va_arg
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *pack_object_inter(scanner_t *s, va_list *ap, int need_incref) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:603,1
    - Dst: type_name
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:604,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:620,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:625,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:631,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:602,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:609,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:627,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:641,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:643,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:631,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:652,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:659,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:619,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:632,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:625,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:633,1
    - Dst: unpack
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:649,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:660,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:661,1
    - Dst: next_token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:607,1
    - Dst: set_error
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:613,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:615,1
    - Dst: token
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:626,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - s
    - root
    - ap
    argTypes:
    - scanner_t*
    - json_t*
    - va_list*
    constantsTouched: []
    func_position:
      end: 667
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 667
    functionName: unpack_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - json_array_get
    - unpack
    - set_error
    - next_token
    - strchr
    - json_array_size
    - type_name
    - token
    - json_is_array
    linkageType: ''
    returnType: int
    signature: 'static int unpack_array(scanner_t *s, json_t *root, va_list *ap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:920,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:922,1
    - Dst: json_vunpack_ex
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c:921,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - root
    - error
    - flags
    - fmt
    - '...'
    argTypes:
    - json_t*
    - json_error_t*
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 925
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 925
    functionName: json_unpack_ex
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/pack_unpack.c
    functionUses: []
    functionsReached:
    - va_end
    - json_vunpack_ex
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int json_unpack_ex(json_t *root, json_error_t *error, size_t flags,
      const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: jsonp_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void jsonp_free(void *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_malloc
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:41,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: jsonp_strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached:
    - jsonp_malloc
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'char *jsonp_strndup(const char *str, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: jsonp_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *jsonp_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - malloc_fn
    - free_fn
    argTypes:
    - json_malloc_t
    - json_free_t
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: json_set_alloc_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void json_set_alloc_funcs(json_malloc_t malloc_fn, json_free_t free_fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonp_strndup
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:36,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: jsonp_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached:
    - strlen
    - jsonp_strndup
    linkageType: ''
    returnType: char*
    signature: 'char *jsonp_strdup(const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - malloc_fn
    - free_fn
    argTypes:
    - json_malloc_t*
    - json_free_t*
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: json_get_alloc_funcs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/memory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void json_get_alloc_funcs(json_malloc_t *malloc_fn, json_free_t *free_fn) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:233,1
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:299,1
    - Dst: mix
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:354,1
    - Dst: final
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:379,1
    - Dst: __has_feature
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h:213,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 186
    argCount: 3
    argNames:
    - key
    - length
    - initval
    argTypes:
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 381
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 381
    functionName: hashlittle
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/lookup3.h
    functionUses: []
    functionsReached:
    - __has_feature
    - final
    - mix
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hashlittle(const void *key, size_t length, uint32_t
      initval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: jansson_version_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *jansson_version_str(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - major
    - minor
    - micro
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 27
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 27
    functionName: jansson_version_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/version.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int jansson_version_cmp(int major, int minor, int micro) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 3
    argNames:
    - codepoint
    - buffer
    - size
    argTypes:
    - int32_t
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 35
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 35
    functionName: utf8_encode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int utf8_encode(int32_t codepoint, char *buffer, size_t *size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - buffer
    - size
    - codepoint
    argTypes:
    - char*
    - size_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 113
    functionName: utf8_check_full
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t utf8_check_full(const char *buffer, size_t size, int32_t *codepoint) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:122,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - codepoint
    argTypes:
    - char*
    - size_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 137
    functionName: utf8_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: []
    functionsReached:
    - utf8_check_first
    - utf8_check_full
    linkageType: ''
    returnType: char*
    signature: 'const char *utf8_iterate(const char *buffer, size_t bufsize, int32_t
      *codepoint) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - byte
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: utf8_check_first
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t utf8_check_first(char byte) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: utf8_check_first
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:143,1
    - Dst: utf8_check_full
      Src: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - string
    - length
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: utf8_check_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/src/utf.c
    functionUses: []
    functionsReached:
    - utf8_check_first
    - utf8_check_full
    linkageType: ''
    returnType: int
    signature: 'int utf8_check_string(const char *string, size_t length) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:45,1
    - Dst: print_json_array
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:50,1
    - Dst: print_json_object
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:47,1
    - Dst: print_json_integer
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:56,1
    - Dst: print_json_string
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:53,1
    - Dst: print_json_real
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:59,1
    - Dst: print_json_true
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:62,1
    - Dst: print_json_false
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:65,1
    - Dst: print_json_null
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:71,1
    - Dst: json_typeof
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 73
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 73
    functionName: print_json_aux
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_string
    - print_json_false
    - print_json_integer
    - print_json_true
    - fprintf
    - print_json_array
    - print_json_object
    - print_json_null
    - json_typeof
    - print_json_real
    linkageType: ''
    returnType: void
    signature: 'void print_json_aux(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - count
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: json_plural
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *json_plural(size_t count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:102,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:107,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:103,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:105,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:105,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: print_json_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - json_array_get
    - json_plural
    - json_array_size
    - printf
    - print_json_aux
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: 'void print_json_array(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:117,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:118,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: print_json_integer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_indent
    - json_integer_value
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_integer(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:128,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: print_json_true
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_indent
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_true(json_t *element, int indent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:152,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: load_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - json_loads
    - fprintf
    linkageType: ''
    returnType: json_t*
    signature: 'json_t *load_json(const char *text) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:167,1
    - Dst: fgets
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:169,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - line
    - max_chars
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: read_line
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - fflush
    - fgets
    - printf
    linkageType: ''
    returnType: char*
    signature: 'char *read_line(char *line, int max_chars) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - root
    argTypes:
    - json_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: print_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_aux
    linkageType: ''
    returnType: void
    signature: 'void print_json(json_t *root) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - indent
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: print_json_indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: 'void print_json_indent(int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:89,1
    - Dst: json_object_size
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:90,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:92,1
    - Dst: json_object_foreach
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:93,1
    - Dst: json_plural
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:92,1
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:94,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:95,1
    - Dst: print_json_aux
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: print_json_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - json_plural
    - json_object_size
    - printf
    - print_json_aux
    - json_object_foreach
    - print_json_indent
    linkageType: ''
    returnType: void
    signature: 'void print_json_object(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:112,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:113,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: print_json_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - json_string_value
    - print_json_indent
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_string(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:122,1
    - Dst: json_real_value
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:123,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: print_json_real
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_indent
    - json_real_value
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_real(json_t *element, int indent) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:134,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: print_json_false
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_indent
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_false(json_t *element, int indent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:182,1
    - Dst: print_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:193,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:183,1
    - Dst: load_json
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:189,1
    - Dst: read_line
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:186,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - exit
    - json_decref
    - print_json
    - fprintf
    - read_line
    - load_json
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_json_indent
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:140,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - element
    - indent
    argTypes:
    - json_t*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: print_json_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/jansson/examples/simple_parse.c
    functionUses: []
    functionsReached:
    - print_json_indent
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_json_null(json_t *element, int indent) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:297,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:315,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:314,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:361,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:316,1
    - Dst: ERR_MSG
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:367,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:368,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:382,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 0
    argNames:
    - strm
    - level
    - method
    - windowBits
    - memLevel
    - strategy
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 383
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 383
    functionName: deflateInit2_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateReset
    - ZALLOC
    - ERR_MSG
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateInit2_(strm, level, method, windowBits, memLevel,
      strategy, version, stream_size) z_streamp strm; int level; int method; int windowBits;
      int memLevel; int strategy; const char *version; int stream_size; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:488,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes: []
    constantsTouched: []
    func_position:
      end: 499
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 499
    functionName: deflateGetDictionary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - zmemcpy
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateGetDictionary(strm, dictionary, dictLength) z_streamp
      strm; Bytef *dictionary; uInt *dictLength; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:585,1
    - Dst: _tr_flush_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames:
    - strm
    - bits
    - value
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 601
    functionName: deflatePrime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - _tr_flush_bits
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflatePrime(strm, bits, value) z_streamp strm; int bits;
      int value; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames:
    - strm
    - good_length
    - max_lazy
    - nice_length
    - max_chain
    argTypes: []
    constantsTouched: []
    func_position:
      end: 669
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 669
    functionName: deflateTune
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateTune(strm, good_length, max_lazy, nice_length,
      max_chain) z_streamp strm; int good_length; int max_lazy; int nice_length; int
      max_chain; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tr_flush_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:787,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 801
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 801
    functionName: flush_pending
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - _tr_flush_bits
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: 'local void flush_pending(strm) z_streamp strm; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1265
    functionName: lm_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - CLEAR_HASH
    linkageType: ''
    returnType: local
    signature: 'local void lm_init(s) deflate_state *s; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1287,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1311,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1326,1
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1288,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1322,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1353,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1364,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1385,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1397,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 125
    argCount: 0
    argNames:
    - s
    - cur_match
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1421
    functionName: longest_match
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - Assert
    - MAX_DIST
    linkageType: ''
    returnType: local
    signature: 'local uInt longest_match(s, cur_match) deflate_state *s; IPos cur_match;
      /* current match */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zmemcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1498,1
    - Dst: z_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1505,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1508,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1500,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1503,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames:
    - s
    - start
    - match
    - length
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1511
    functionName: check_match
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - fprintf
    - putc
    - zmemcmp
    - z_error
    linkageType: ''
    returnType: local
    signature: 'local void check_match(s, start, match, length) deflate_state *s;
      IPos start, match; int length; '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1533,1
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1554,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1578,1
    - Dst: slide_hash
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1562,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1556,1
    - Dst: read_buf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1580,1
    - Dst: UPDATE_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1587,1
    - Dst: UPDATE_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1592,1
    - Dst: zmemzero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1627,1
    - Dst: zmemzero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1638,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1643,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1645
    functionName: fill_window
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - zmemzero
    - read_buf
    - zmemcpy
    - Assert
    - MAX_DIST
    - UPDATE_HASH
    - slide_hash
    linkageType: ''
    returnType: local
    signature: 'local void fill_window(s) deflate_state *s; '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1697,1
    - Dst: _tr_stored_block
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1736,1
    - Dst: read_buf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1769,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1757,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1745,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1789,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1797,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1803,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1805,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1827,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1851,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1839,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1852,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1857,1
    - Dst: read_buf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1837,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1862,1
    - Dst: _tr_stored_block
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1860,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 162
    argCount: 0
    argNames:
    - s
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1867
    functionName: deflate_stored
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - MIN
    - _tr_stored_block
    - flush_pending
    - read_buf
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: 'local block_state deflate_stored(s, flush) deflate_state *s; int flush; '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2123,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2147,1
    - Dst: check_match
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2153,1
    - Dst: _tr_tally_dist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2155,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2162,1
    - Dst: _tr_tally_lit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2163,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2167,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2171,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2175,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 0
    argNames:
    - s
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2177
    functionName: deflate_rle
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - _tr_tally_lit
    - Tracevv
    - fill_window
    - check_match
    - _tr_tally_dist
    - FLUSH_BLOCK
    - Assert
    linkageType: ''
    returnType: local
    signature: 'local block_state deflate_rle(s, flush) deflate_state *s; int flush; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - strm
    - level
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: deflateInit_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateInit2_
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateInit_(strm, level, version, stream_size) z_streamp
      strm; int level; const char *version; int stream_size; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateResetKeep
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:545,1
    - Dst: lm_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: deflateReset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - lm_init
    - deflateResetKeep
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateReset(strm) z_streamp strm; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames:
    - strm
    - pending
    - bits
    argTypes: []
    constantsTouched: []
    func_position:
      end: 574
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 574
    functionName: deflatePending
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflatePending(strm, pending, bits) unsigned *pending;
      int *bits; z_streamp strm; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1134,1
    - Dst: TRY_FREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1139,1
    - Dst: TRY_FREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1141,1
    - Dst: TRY_FREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1142,1
    - Dst: TRY_FREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1140,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    functionName: deflateEnd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - ZFREE
    - TRY_FREE
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateEnd(strm) z_streamp strm; '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1890,1
    - Dst: INSERT_STRING
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1902,1
    - Dst: check_match
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1917,1
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1908,1
    - Dst: longest_match
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1913,1
    - Dst: _tr_tally_dist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1919,1
    - Dst: INSERT_STRING
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1933,1
    - Dst: UPDATE_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1945,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1955,1
    - Dst: _tr_tally_lit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1956,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1960,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1964,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1968,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 0
    argNames:
    - s
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1970
    functionName: deflate_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - longest_match
    - _tr_tally_lit
    - Tracevv
    - INSERT_STRING
    - fill_window
    - check_match
    - _tr_tally_dist
    - FLUSH_BLOCK
    - MAX_DIST
    - UPDATE_HASH
    linkageType: ''
    returnType: local
    signature: 'local block_state deflate_fast(s, flush) deflate_state *s; int flush; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 221
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 221
    functionName: slide_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void slide_hash(s) deflate_state *s; '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 408
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 408
    functionName: deflateStateCheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int deflateStateCheck(strm) z_streamp strm; '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:821,1
    - Dst: ERR_RETURN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:829,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:838,1
    - Dst: putShortMSB
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:888,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:895,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1107,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:995,1
    - Dst: deflate_rle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1055,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1033,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:891,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:941,1
    - Dst: deflate_huff
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1054,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1032,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1091,1
    - Dst: ERR_RETURN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:861,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:972,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:987,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:904,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:906,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:912,1
    - Dst: putShortMSB
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1118,1
    - Dst: RANK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:854,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:907,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:913,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:959,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:910,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:934,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:962,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1108,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:975,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1008,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:935,1
    - Dst: putShortMSB
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:889,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1111,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:917,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:938,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:986,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1019,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1009,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1026,1
    - Dst: putShortMSB
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1117,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:943,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1106,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1039,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1105,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:921,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:936,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1120,1
    - Dst: CLEAR_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1083,1
    - Dst: _tr_align
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1076,1
    - Dst: _tr_stored_block
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1078,1
    - Dst: HCRC_UPDATE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:997,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:944,1
    - Dst: deflate_stored
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1053,1
    - Dst: flush_pending
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:964,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1109,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1110,1
    - Dst: ERR_RETURN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:831,1
    - Dst: ERR_RETURN
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:856,1
    - Dst: putShortMSB
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:884,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:909,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:914,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:928,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:947,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1017,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:905,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:911,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:937,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1112,1
    - Dst: RANK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:854,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1034,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 336
    argCount: 0
    argNames:
    - strm
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 1126
    functionName: deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - ERR_RETURN
    - putShortMSB
    - deflate_rle
    - deflate_huff
    - CLEAR_HASH
    - _tr_stored_block
    - crc32
    - flush_pending
    - adler32
    - deflate_stored
    - HCRC_UPDATE
    - put_byte
    - zmemcpy
    - _tr_align
    - RANK
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflate(strm, flush) z_streamp strm; int flush; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:771,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames:
    - s
    - b
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: putShortMSB
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - put_byte
    linkageType: ''
    returnType: local
    signature: 'local void putShortMSB(s, b) deflate_state *s; uInt b; '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:612,1
    - Dst: slide_hash
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:637,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:628,1
    - Dst: CLEAR_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:639,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 0
    argNames:
    - strm
    - level
    - strategy
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 650
    functionName: deflateParams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflate
    - slide_hash
    - CLEAR_HASH
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateParams(strm, level, strategy) z_streamp strm; int
      level; int strategy; '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:714,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 0
    argNames:
    - strm
    - sourceLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 760
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 760
    functionName: deflateBound
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT deflateBound(strm, sourceLen) z_streamp strm; uLong
      sourceLen; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1166,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1172,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1174,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1177,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1180,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1181,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1182,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1183,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1187,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1191,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1194,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1193,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames:
    - dest
    - source
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1205
    functionName: deflateCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - ZALLOC
    - zmemcpy
    - deflateEnd
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateCopy(dest, source) z_streamp dest; z_streamp source; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - wrap
    - == 2
    argTypes:
    - strm
    constantsTouched: []
    func_position:
      end: 1233
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1233
    functionName: if
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - crc32
    linkageType: ''
    returnType: else
    signature: 'else if (strm->state->wrap == 2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1440,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1472,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1460,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1442,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1445,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 0
    argNames:
    - s
    - cur_match
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1480
    functionName: longest_match
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - Assert
    linkageType: ''
    returnType: local
    signature: 'local uInt longest_match(s, cur_match) deflate_state *s; IPos cur_match;
      /* current match */ '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2192,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2202,1
    - Dst: _tr_tally_lit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2203,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2206,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2210,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 0
    argNames:
    - s
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2216
    functionName: deflate_huff
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - fill_window
    - _tr_tally_lit
    - Tracevv
    - FLUSH_BLOCK
    linkageType: ''
    returnType: local
    signature: 'local block_state deflate_huff(s, flush) deflate_state *s; int flush; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:422,1
    - Dst: CLEAR_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:437,1
    - Dst: UPDATE_HASH
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:456,1
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:451,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:431,1
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:465,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 0
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 477
    functionName: deflateSetDictionary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - CLEAR_HASH
    - adler32
    - fill_window
    - UPDATE_HASH
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateSetDictionary(strm, dictionary, dictLength) z_streamp
      strm; const Bytef *dictionary; uInt dictLength; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames:
    - strm
    - head
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: deflateSetHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - deflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT deflateSetHeader(strm, head) z_streamp strm; gz_headerp
      head; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1226,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1232,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames:
    - strm
    - buf
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1239
    functionName: read_buf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - adler32
    - zmemcpy
    - crc32
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned read_buf(strm, buf, size) z_streamp strm; Bytef *buf;
      unsigned size; '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fill_window
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:1993,1
    - Dst: check_match
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2042,1
    - Dst: INSERT_STRING
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2005,1
    - Dst: longest_match
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2019,1
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2014,1
    - Dst: _tr_tally_dist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2044,1
    - Dst: INSERT_STRING
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2056,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2063,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2070,1
    - Dst: _tr_tally_lit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2071,1
    - Dst: FLUSH_BLOCK_ONLY
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2073,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2089,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2095,1
    - Dst: FLUSH_BLOCK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2099,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2087,1
    - Dst: _tr_tally_lit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c:2090,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 0
    argNames:
    - s
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2101
    functionName: deflate_slow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached:
    - longest_match
    - _tr_tally_lit
    - FLUSH_BLOCK_ONLY
    - Tracevv
    - INSERT_STRING
    - fill_window
    - check_match
    - _tr_tally_dist
    - FLUSH_BLOCK
    - Assert
    - MAX_DIST
    linkageType: ''
    returnType: local
    signature: 'local block_state deflate_slow(s, flush) deflate_state *s; int flush; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - windowBits
    - '> 15'
    argTypes:
    - windowBits
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: if
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/deflate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: else
    signature: 'else if (windowBits > 15) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:57,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:60,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 0
    argNames:
    - strm
    - windowBits
    - window
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 70
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 70
    functionName: inflateBackInit_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZALLOC
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
      z_streamp strm; int windowBits; unsigned char FAR *window; const char *version;
      int stream_size; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:104,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 123
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 123
    functionName: fixedtables
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: []
    functionsReached:
    - inflate_table
    linkageType: ''
    returnType: local
    signature: 'local void fixedtables(state) struct inflate_state FAR *state; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:639,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 643
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 643
    functionName: inflateBackEnd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZFREE
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBackEnd(strm) z_streamp strm; '
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:299,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:328,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:381,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:412,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:462,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:541,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:545,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:304,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:315,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:329,1
    - Dst: LOAD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:489,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:551,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:549,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:497,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:423,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:588,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:576,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:379,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:302,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:395,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:401,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:406,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:420,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:434,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:557,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:426,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:509,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:403,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:543,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:323,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:575,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:431,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:526,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:495,1
    - Dst: fixedtables
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:309,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:310,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:505,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:517,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:625,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:542,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:503,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:300,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:336,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:507,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:295,1
    - Dst: PULL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:343,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:362,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:364,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:366,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:411,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:514,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:478,1
    - Dst: RESTORE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:485,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:347,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:380,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:424,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:471,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:561,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:301,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:344,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:361,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:363,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:365,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:419,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:584,1
    - Dst: inflate_fast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:488,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:430,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:427,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:374,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:388,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:574,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:559,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:563,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:360,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:354,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:338,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c:433,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 313
    argCount: 0
    argNames:
    - strm
    - in
    - in_desc
    - out
    - out_desc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 632
    functionName: inflateBack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/infback.c
    functionUses: []
    functionsReached:
    - PULL
    - LOAD
    - BITS
    - out
    - Tracev
    - PULLBYTE
    - NEEDBITS
    - RESTORE
    - Tracevv
    - DROPBITS
    - zmemcpy
    - inflate_fast
    - inflate_table
    - ROOM
    - INITBITS
    - BYTEBITS
    - fixedtables
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) z_streamp
      strm; in_func in; void FAR *in_desc; out_func out; void FAR *out_desc; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:126,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - m
    argTypes: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: z_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL z_error(m) char *m; '
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 114
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 114
    functionName: zlibCompileFlags
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT zlibCompileFlags() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 0
    argNames:
    - s1
    - s2
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: zmemcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ZLIB_INTERNAL zmemcmp(s1, s2, len) const Bytef* s1; const Bytef*
      s2; uInt len; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 0
    argNames:
    - dest
    - source
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: zmemcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL zmemcpy(dest, source, len) Bytef* dest; const Bytef*
      source; uInt len; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames:
    - dest
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: zmemzero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL zmemzero(dest, len) Bytef* dest; uInt len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:312,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames:
    - opaque
    - items
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 314
    functionName: zcalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - calloc
    - malloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZLIB_INTERNAL zcalloc(opaque, items, size) voidpf opaque; unsigned
      items; unsigned size; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - opaque
    - ptr
    argTypes: []
    constantsTouched: []
    func_position:
      end: 322
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 322
    functionName: zcfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL zcfree(opaque, ptr) voidpf opaque; voidpf ptr; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: zlibVersion
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * ZEXPORT zlibVersion() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:251,1
    - Dst: farfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:258,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: zcfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - uInt
    - uInt
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: zcalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, uInt items, uInt size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: zcfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL zcfree(voidpf opaque, voidpf ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:229,1
    - Dst: farmalloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: zcalloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/zutil.c
    functionUses: []
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZLIB_INTERNAL zcalloc(voidpf opaque, unsigned items, unsigned
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: gz_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gz_error
    linkageType: ''
    returnType: local
    signature: 'local void gz_reset(state) gz_statep state; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:294,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:302,1
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:301,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:297,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:299,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames:
    - fd
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: gzdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - malloc
    - snprintf
    - sprintf
    - free
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile ZEXPORT gzdopen(fd, mode) int fd; const char *mode; '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:200,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:217,1
    - Dst: wcstombs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:194,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:178,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:141,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:201,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:203,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:215,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:248,1
    - Dst: gz_reset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:264,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:112,1
    - Dst: _wopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:244,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:249,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:246,1
    - Dst: LSEEK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:259,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:185,1
    - Dst: wcstombs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:209,1
    - Dst: LSEEK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:253,1
    - Dst: O_EXCL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:234,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 0
    argNames:
    - path
    - fd
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 268
    functionName: gz_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - wcstombs
    - malloc
    - LSEEK
    - snprintf
    - strcpy
    - _wopen
    - free
    - gz_reset
    - strlen
    - open
    - O_EXCL
    linkageType: ''
    returnType: local
    signature: 'local gzFile gz_open(path, fd, mode) const void *path; int fd; const
      char *mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - path
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: gzopen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile ZEXPORT gzopen64(path, mode) const char *path; const char *mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - path
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 276
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 276
    functionName: gzopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile ZEXPORT gzopen(path, mode) const char *path; const char *mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - path
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: gzopen_w
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile ZEXPORT gzopen_w(path, mode) const wchar_t *path; const char
      *mode; '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 0
    argNames:
    - file
    - size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 341
    functionName: gzbuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzbuffer(file, size) gzFile file; unsigned size; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:360,1
    - Dst: gz_reset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: gzrewind
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - LSEEK
    - gz_reset
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzrewind(file) gzFile file; '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:401,1
    - Dst: gzrewind
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:421,1
    - Dst: GT_OFF
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:427,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:408,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 0
    argNames:
    - file
    - offset
    - whence
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 441
    functionName: gzseek64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - LSEEK
    - gz_error
    - GT_OFF
    - gzrewind
    linkageType: ''
    returnType: z_off64_t
    signature: 'z_off64_t ZEXPORT gzseek64(file, offset, whence) gzFile file; z_off64_t
      offset; int whence; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzseek64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - file
    - offset
    - whence
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: gzseek
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gzseek64
    linkageType: ''
    returnType: z_off_t
    signature: 'z_off_t ZEXPORT gzseek(file, offset, whence) gzFile file; z_off_t
      offset; int whence; '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: gztell64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: z_off64_t
    signature: 'z_off64_t ZEXPORT gztell64(file) gzFile file; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 572
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 572
    functionName: gzclearerr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gz_error
    linkageType: ''
    returnType: void
    signature: 'void ZEXPORT gzclearerr(file) gzFile file; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 637
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 637
    functionName: gz_intmax
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned ZLIB_INTERNAL
    signature: 'unsigned ZLIB_INTERNAL gz_intmax() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gztell64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 480
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 480
    functionName: gztell
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gztell64
    linkageType: ''
    returnType: z_off_t
    signature: 'z_off_t ZEXPORT gztell(file) gzFile file; '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 530
    functionName: gzeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzeof(file) gzFile file; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LSEEK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 503
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 503
    functionName: gzoffset64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - LSEEK
    linkageType: ''
    returnType: z_off64_t
    signature: 'z_off64_t ZEXPORT gzoffset64(file) gzFile file; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:588,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:606,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:612,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:606,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:606,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:612,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:612,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:615,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:616,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:617,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames:
    - state
    - err
    - msg
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 619
    functionName: gz_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - malloc
    - snprintf
    - strcpy
    - free
    - strlen
    - strcat
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL gz_error(state, err, msg) gz_statep state; int
      err; const char *msg; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzoffset64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: gzoffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzlib.c
    functionUses: []
    functionsReached:
    - gzoffset64
    linkageType: ''
    returnType: z_off_t
    signature: 'z_off_t ZEXPORT gzoffset(file) gzFile file; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c:40,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c:61,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c:57,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    - level
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 63
    functionName: compress2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c
    functionUses: []
    functionsReached:
    - deflate
    - deflateEnd
    - deflateInit
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT compress2(dest, destLen, source, sourceLen, level) Bytef
      *dest; uLongf *destLen; const Bytef *source; uLong sourceLen; int level; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compress2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c
    functionUses: []
    functionsReached:
    - compress2
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT compress(dest, destLen, source, sourceLen) Bytef *dest;
      uLongf *destLen; const Bytef *source; uLong sourceLen; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames:
    - sourceLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: compressBound
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/compress.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT compressBound(sourceLen) uLong sourceLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:190,1
    - Dst: put_short
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:200,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames:
    - s
    - value
    - length
    argTypes: []
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: send_bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Assert
    - put_short
    - Tracevv
    linkageType: ''
    returnType: local
    signature: 'local void send_bits(s, value, length) deflate_state *s; int value;
      /* value to send */ int length; /* number of bits */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:868,1
    - Dst: put_short
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:871,1
    - Dst: put_short
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:870,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:873,1
    - Dst: bi_windup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames:
    - s
    - buf
    - stored_len
    - last
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 881
    functionName: _tr_stored_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - zmemcpy
    - put_short
    - send_bits
    - bi_windup
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL _tr_stored_block(s, buf, stored_len, last) deflate_state
      *s; charf *buf; /* input block */ ulg stored_len; /* length of input block */
      int last; /* one if this is the last block for a file */ '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:768,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:772,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:775,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:774,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:775,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:778,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:778,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:781,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:781,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 0
    argNames:
    - s
    - tree
    - max_code
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 792
    functionName: send_tree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Assert
    - send_code
    - send_bits
    linkageType: ''
    returnType: local
    signature: 'local void send_tree(s, tree, max_code) deflate_state *s; ct_data
      *tree; /* the tree to be scanned */ int max_code; /* and its largest code of
      non zero frequency */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:899,1
    - Dst: bi_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:904,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 905
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 905
    functionName: _tr_align
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - bi_flush
    - send_code
    - send_bits
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL _tr_align(s) deflate_state *s; '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1128
    functionName: detect_data_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int detect_data_type(s) deflate_state *s; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: init_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void init_block(s) deflate_state *s; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:262,1
    - Dst: bi_reverse
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:303,1
    - Dst: gen_codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:298,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:277,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:285,1
    - Dst: gen_trees_header
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:308,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 311
    functionName: tr_static_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Assert
    - gen_trees_header
    - gen_codes
    - bi_reverse
    linkageType: ''
    returnType: local
    signature: 'local void tr_static_init() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaller
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:460,1
    - Dst: smaller
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 0
    argNames:
    - s
    - tree
    - k
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 473
    functionName: pqdownheap
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - smaller
    linkageType: ''
    returnType: local
    signature: 'local void pqdownheap(s, tree, k) deflate_state *s; ct_data *tree;
      /* the tree to restore */ int k; /* node to move down */ '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:527,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:554,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 0
    argNames:
    - s
    - desc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 561
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 561
    functionName: gen_bitlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Tracev
    linkageType: ''
    returnType: local
    signature: 'local void gen_bitlen(s, desc) deflate_state *s; tree_desc *desc;
      /* the tree descriptor */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:591,1
    - Dst: isgraph
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:602,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:593,1
    - Dst: Tracecv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:601,1
    - Dst: bi_reverse
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames:
    - tree
    - max_code
    - bl_count
    argTypes: []
    constantsTouched: []
    func_position:
      end: 604
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 604
    functionName: gen_codes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - bi_reverse
    - Tracecv
    - Tracev
    - Assert
    - isgraph
    linkageType: ''
    returnType: local
    signature: 'local void gen_codes(tree, max_code, bl_count) ct_data *tree; /* the
      tree to decorate */ int max_code; /* largest code with non zero frequency */
      ushf *bl_count; /* number of codes at each bit length */ '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames:
    - s
    - tree
    - max_code
    argTypes: []
    constantsTouched: []
    func_position:
      end: 741
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 741
    functionName: scan_tree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void scan_tree(s, tree, max_code) deflate_state *s; ct_data
      *tree; /* the tree to be scanned */ int max_code; /* and its largest code of
      non zero frequency */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:839,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:843,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:844,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:840,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:842,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:845,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:847,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:848,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:850,1
    - Dst: send_tree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:852,1
    - Dst: send_tree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:855,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:856,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 0
    argNames:
    - s
    - lcodes
    - dcodes
    - blcodes
    argTypes: []
    constantsTouched: []
    func_position:
      end: 857
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 857
    functionName: send_all_trees
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Assert
    - send_tree
    - send_bits
    - Tracev
    linkageType: ''
    returnType: local
    signature: 'local void send_all_trees(s, lcodes, dcodes, blcodes) deflate_state
      *s; int lcodes, dcodes, blcodes; /* number of codes for each tree */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bi_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: _tr_flush_bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - bi_flush
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL _tr_flush_bits(s) deflate_state *s; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tr_static_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:381,1
    - Dst: init_block
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 401
    functionName: _tr_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - tr_static_init
    - init_block
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL _tr_init(s) deflate_state *s; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:327,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:330,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:365,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:367,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:368,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:371,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:340,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:346,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:349,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:361,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:362,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:348,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:331,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:336,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:337,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:342,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:343,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:352,1
    - Dst: SEPARATOR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:356,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:355,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:334,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 372
    functionName: gen_trees_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - fclose
    - fprintf
    - SEPARATOR
    - fopen
    - Assert
    linkageType: ''
    returnType: void
    signature: 'void gen_trees_header() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqdownheap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:657,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:677,1
    - Dst: pqremove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:664,1
    - Dst: pqdownheap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:683,1
    - Dst: gen_bitlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:692,1
    - Dst: gen_codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:695,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 0
    argNames:
    - s
    - desc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 696
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 696
    functionName: build_tree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - gen_codes
    - fprintf
    - pqremove
    - pqdownheap
    - gen_bitlen
    linkageType: ''
    returnType: local
    signature: 'local void build_tree(s, desc) deflate_state *s; tree_desc *desc;
      /* the tree descriptor */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames:
    - code
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1145
    functionName: bi_reverse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned bi_reverse(code, len) unsigned code; /* the value to
      invert */ int len; /* its bit length */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1154,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1162
    functionName: bi_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - put_short
    - put_byte
    linkageType: ''
    returnType: local
    signature: 'local void bi_flush(s) deflate_state *s; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: put_short
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1171,1
    - Dst: put_byte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1180
    functionName: bi_windup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - put_short
    - put_byte
    linkageType: ''
    returnType: local
    signature: 'local void bi_windup(s) deflate_state *s; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1057,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1066,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1062,1
    - Dst: Tracecv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1058,1
    - Dst: isgraph
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1058,1
    - Dst: d_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1069,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1070,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1072,1
    - Dst: send_bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1076,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1081,1
    - Dst: send_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames:
    - s
    - ltree
    - dtree
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1086
    functionName: compress_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - d_code
    - send_code
    - Tracecv
    - send_bits
    - Assert
    - isgraph
    linkageType: ''
    returnType: local
    signature: 'local void compress_block(s, ltree, dtree) deflate_state *s; const
      ct_data *ltree; /* literal tree */ const ct_data *dtree; /* distance tree */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_tree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:804,1
    - Dst: scan_tree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:805,1
    - Dst: build_tree
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:808,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 826
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 826
    functionName: build_bl_tree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - Tracev
    - scan_tree
    - build_tree
    linkageType: ''
    returnType: local
    signature: 'local int build_bl_tree(s) deflate_state *s; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: d_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1030,1
    - Dst: MAX_DIST
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1028,1
    - Dst: Assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1028,1
    - Dst: d_code
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames:
    - s
    - dist
    - lc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1036
    functionName: _tr_tally
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/trees.c
    functionUses: []
    functionsReached:
    - d_code
    - Assert
    - MAX_DIST
    linkageType: ''
    returnType: int
    signature: 'int ZLIB_INTERNAL _tr_tally(s, dist, lc) deflate_state *s; unsigned
      dist; /* distance of matched string */ unsigned lc; /* match length - MIN_MATCH
      or unmatched char (dist==0) */ '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inffast.c:116,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inffast.c:133,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inffast.c:167,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inffast.c:280,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 255
    argCount: 0
    argNames:
    - strm
    - start
    argTypes: []
    constantsTouched: []
    func_position:
      end: 306
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 306
    functionName: inflate_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inffast.c
    functionUses: []
    functionsReached:
    - Tracevv
    linkageType: ''
    returnType: void
    signature: 'void ZLIB_INTERNAL inflate_fast(strm, start) z_streamp strm; unsigned
      start; /* inflate()''s starting value for strm->avail_out */ '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:202,1
    - Dst: atomic_flag_test_and_set
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:203,1
    - Dst: init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:207,1
    - Dst: atomic_store
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:208,1
    - Dst: atomic_load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames:
    - state
    - init
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 211
    functionName: once
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - atomic_flag_test_and_set
    - atomic_store
    - init
    - atomic_load
    linkageType: ''
    returnType: local
    signature: 'local void once(state, init) once_t *state; void (*init)(void); '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames:
    - a
    - b
    argTypes: []
    constantsTouched: []
    func_position:
      end: 568
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 568
    functionName: multmodp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local z_crc_t multmodp(a, b) z_crc_t a; z_crc_t b; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 600
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 600
    functionName: get_crc_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - once
    linkageType: ''
    returnType: z_crc_t*
    signature: 'const z_crc_t FAR * ZEXPORT get_crc_table() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1105,1
    - Dst: x2nmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames:
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1108
    functionName: crc32_combine_gen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - once
    - x2nmodp
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT crc32_combine_gen64(len2) z_off64_t len2; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - flag
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 233
    functionName: test_and_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int test_and_set(flag) int volatile *flag; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames:
    - out
    - table
    - k
    argTypes: []
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: write_table64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void write_table64(out, table, k) FILE *out; const z_word_t
      FAR *table; int k; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames:
    - n
    - k
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 588
    functionName: x2nmodp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: local
    signature: 'local z_crc_t x2nmodp(n, k) z_off64_t n; unsigned k; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_z
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - crc
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1077
    functionName: crc32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - crc32_z
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: 'unsigned long ZEXPORT crc32(crc, buf, len) unsigned long crc; const
      unsigned char FAR *buf; uInt len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames:
    - data
    argTypes: []
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: crc_word_big
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local z_word_t crc_word_big(data) z_word_t data; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames:
    - data
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: crc_word
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local z_crc_t crc_word(data) z_word_t data; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1086,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1088,1
    - Dst: x2nmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames:
    - crc1
    - crc2
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1089
    functionName: crc32_combine64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - multmodp
    - once
    - x2nmodp
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT crc32_combine64(crc1, crc2, len2) uLong crc1; uLong
      crc2; z_off64_t len2; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames:
    - word
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: byte_swap
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local z_word_t byte_swap(word) z_word_t word; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_and_set
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:241,1
    - Dst: init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:245,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 0
    argNames:
    - state
    - init
    argTypes: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: once
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - init
    - test_and_set
    linkageType: ''
    returnType: local
    signature: 'local void once(state, init) once_t *state; void (*init)(void); '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:324,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:334,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:380,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:366,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:391,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:407,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:410,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:415,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:301,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:335,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:339,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:381,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:384,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:389,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:397,1
    - Dst: write_table32hi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:416,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:438,1
    - Dst: byte_swap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:293,1
    - Dst: write_table64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:347,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:371,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:352,1
    - Dst: write_table64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:390,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:393,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:400,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:408,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:419,1
    - Dst: write_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:435,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:436,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:328,1
    - Dst: braid
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:305,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:348,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:374,1
    - Dst: write_table32hi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:358,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:382,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:406,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:417,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:426,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 441
    functionName: make_crc_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - braid
    - fclose
    - write_table64
    - fprintf
    - write_table32hi
    - fopen
    - write_table
    - multmodp
    - byte_swap
    linkageType: ''
    returnType: local
    signature: 'local void make_crc_table() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames:
    - out
    - table
    - k
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: write_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void write_table(out, table, k) FILE *out; const z_crc_t FAR
      *table; int k; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames:
    - out
    - table
    - k
    argTypes: []
    constantsTouched: []
    func_position:
      end: 477
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 477
    functionName: write_table32hi
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void write_table32hi(out, table, k) FILE *out; const z_word_t
      FAR *table; int k; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 504
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 504
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - make_crc_table
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:637,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:671,1
    - Dst: x2nmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:692,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:672,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:693,1
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:694,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 76
    argCount: 0
    argNames:
    - crc
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 714
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 714
    functionName: crc32_z
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - multmodp
    - once
    - x2nmodp
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: 'unsigned long ZEXPORT crc32_z(crc, buf, len) unsigned long crc; const
      unsigned char FAR *buf; z_size_t len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - crc1
    - crc2
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1098
    functionName: crc32_combine
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - crc32_combine64
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT crc32_combine(crc1, crc2, len2) uLong crc1; uLong crc2;
      z_off_t len2; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: once
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:756,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:903,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:901,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:899,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:897,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:905,1
    - Dst: crc_word
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:907,1
    - Dst: byte_swap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:936,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1019,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1021,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1023,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1029,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1025,1
    - Dst: crc_word_big
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1027,1
    - Dst: byte_swap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1036,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 311
    argCount: 0
    argNames:
    - crc
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 1066
    functionName: crc32_z
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - crc_word
    - crc_word_big
    - once
    - byte_swap
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: 'unsigned long ZEXPORT crc32_z(crc, buf, len) unsigned long crc; const
      unsigned char FAR *buf; z_size_t len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32_combine_gen64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: crc32_combine_gen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - crc32_combine_gen64
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT crc32_combine_gen(len2) z_off_t len2; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: multmodp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c:1123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - crc1
    - crc2
    - op
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1124
    functionName: crc32_combine_op
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/crc32.c
    functionUses: []
    functionsReached:
    - multmodp
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT crc32_combine_op(crc1, crc2, op) uLong crc1; uLong crc2;
      uLong op; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c:54,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c:69,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c:78,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 0
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 83
    functionName: uncompress2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c
    functionUses: []
    functionsReached:
    - inflate
    - inflateEnd
    - inflateInit
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT uncompress2(dest, destLen, source, sourceLen) Bytef *dest;
      uLongf *destLen; const Bytef *source; uLong *sourceLen; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uncompress2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 0
    argNames:
    - dest
    - destLen
    - source
    - sourceLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/uncompr.c
    functionUses: []
    functionsReached:
    - uncompress2
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT uncompress(dest, destLen, source, sourceLen) Bytef *dest;
      uLongf *destLen; const Bytef *source; uLong sourceLen; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:34,1
    - Dst: zstrerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:40,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames:
    - state
    - buf
    - len
    - have
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 46
    functionName: gz_load
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - zstrerror
    - read
    linkageType: ''
    returnType: local
    signature: 'local int gz_load(state, buf, len, have) gz_statep state; unsigned
      char *buf; unsigned len; unsigned *have; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gz_avail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:183,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:198,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:191,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:186,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:193,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:202,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 218
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 218
    functionName: gz_decomp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - inflate
    - gz_avail
    linkageType: ''
    returnType: local
    signature: 'local int gz_decomp(state) gz_statep state; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gz_load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:72,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: gz_avail
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_load
    linkageType: ''
    returnType: local
    signature: 'local int gz_avail(state) gz_statep state; '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gz_look
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:234,1
    - Dst: gz_decomp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:248,1
    - Dst: gz_load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 253
    functionName: gz_fetch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_decomp
    - gz_look
    - gz_load
    linkageType: ''
    returnType: local
    signature: 'local int gz_fetch(state) gz_statep state; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:98,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:102,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:101,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:99,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:103,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:114,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:115,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:116,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:118,1
    - Dst: gz_avail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:125,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:159,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: gz_look
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    - inflateReset
    - inflateInit2
    - memcpy
    - gz_error
    - gz_avail
    linkageType: ''
    returnType: local
    signature: 'local int gz_look(state) gz_statep state; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GT_OFF
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:266,1
    - Dst: gz_fetch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames:
    - state
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: gz_skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_fetch
    - GT_OFF
    linkageType: ''
    returnType: local
    signature: 'local int gz_skip(state, len) gz_statep state; z_off64_t len; '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gz_skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:306,1
    - Dst: gz_decomp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:354,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:322,1
    - Dst: gz_load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:346,1
    - Dst: gz_fetch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:337,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 0
    argNames:
    - state
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 369
    functionName: gz_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_decomp
    - gz_fetch
    - gz_skip
    - gz_load
    - memcpy
    linkageType: ''
    returnType: local
    signature: 'local z_size_t gz_read(state, buf, len) gz_statep state; voidp buf;
      z_size_t len; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:392,1
    - Dst: gz_read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames:
    - file
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 405
    functionName: gzread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - gz_read
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzread(file, buf, len) gzFile file; voidp buf; unsigned
      len; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:430,1
    - Dst: gz_read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames:
    - buf
    - size
    - nitems
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 436
    functionName: gzfread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - gz_read
    linkageType: ''
    returnType: z_size_t
    signature: 'z_size_t ZEXPORT gzfread(buf, size, nitems, file) voidp buf; z_size_t
      size; z_size_t nitems; gzFile file; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 469
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 469
    functionName: gzgetc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_read
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzgetc(file) gzFile file; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gz_look
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 619
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 619
    functionName: gzdirect
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_look
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzdirect(file) gzFile file; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:639,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:644,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:640,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:645,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:641,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:646,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 649
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 649
    functionName: gzclose_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - close
    - free
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzclose_r(file) gzFile file; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gz_skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:497,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:517,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 0
    argNames:
    - c
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 535
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 535
    functionName: gzungetc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gz_error
    - gz_skip
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzungetc(c, file) int c; gzFile file; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzgetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: gzgetc_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzread.c
    functionUses: []
    functionsReached:
    - gzgetc
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzgetc_(file) gzFile file; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:23,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:35,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:25,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:34,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:32,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:43,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:46,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:47,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 64
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 64
    functionName: gz_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - malloc
    - gz_error
    - free
    - deflateInit2
    linkageType: ''
    returnType: local
    signature: 'local int gz_init(state) gz_statep state; '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:81,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:88,1
    - Dst: zstrerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:90,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:104,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:90,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:118,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:120,1
    - Dst: zstrerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:120,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:134,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:136,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 0
    argNames:
    - state
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 149
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 149
    functionName: gz_comp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - zstrerror
    - gz_init
    - gz_error
    - write
    - deflateReset
    - deflate
    linkageType: ''
    returnType: local
    signature: 'local int gz_comp(state, flush) gz_statep state; int flush; '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:198,1
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:204,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:232,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:226,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:221,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 0
    argNames:
    - state
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 251
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 251
    functionName: gz_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_zero
    - memcpy
    - gz_init
    - gz_comp
    linkageType: ''
    returnType: local
    signature: 'local z_size_t gz_write(state, buf, len) gz_statep state; voidpc buf;
      z_size_t len; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:273,1
    - Dst: gz_write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames:
    - file
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 279
    functionName: gzwrite
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_error
    - gz_write
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzwrite(file, buf, len) gzFile file; voidpc buf; unsigned
      len; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:162,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:171,1
    - Dst: GT_OFF
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:168,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames:
    - state
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 182
    functionName: gz_zero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - GT_OFF
    - memset
    - gz_comp
    linkageType: ''
    returnType: local
    signature: 'local int gz_zero(state, len) gz_statep state; z_off64_t len; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:303,1
    - Dst: gz_write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames:
    - buf
    - size
    - nitems
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 309
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 309
    functionName: gzfwrite
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_error
    - gz_write
    linkageType: ''
    returnType: z_size_t
    signature: 'z_size_t ZEXPORT gzfwrite(buf, size, nitems, file) voidpc buf; z_size_t
      size; z_size_t nitems; gzFile file; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:334,1
    - Dst: gz_write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:354,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 0
    argNames:
    - file
    - c
    argTypes: []
    constantsTouched: []
    func_position:
      end: 357
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 357
    functionName: gzputc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_write
    - gz_zero
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzputc(file, c) gzFile file; int c; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:377,1
    - Dst: gz_write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:382,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames:
    - file
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 384
    functionName: gzputs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - strlen
    - gz_error
    - gz_write
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzputs(file, s) gzFile file; const char *s; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:467,1
    - Dst: gzvprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:468,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    - '...'
    argTypes:
    - gzFile
    - char*
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: gzprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gzvprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORTVA gzprintf(gzFile file, const char *format, ...) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:503,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:528,1
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:509,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:522,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:533,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:535,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:537,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:552,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:554,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 0
    argNames:
    - file
    - format
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - a9
    - a10
    - a11
    - a12
    - a13
    - a14
    - a15
    - a16
    - a17
    - a18
    - a19
    - a20
    argTypes: []
    constantsTouched: []
    func_position:
      end: 559
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 559
    functionName: gzprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - snprintf
    - gz_zero
    - sprintf
    - gz_comp
    - strlen
    - gz_init
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORTVA gzprintf(file, format, a1, a2, a3, a4, a5, a6, a7, a8,
      a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20) gzFile file; const
      char *format; int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
      a15, a16, a17, a18, a19, a20; '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:621,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:628,1
    - Dst: deflateParams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:630,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames:
    - file
    - level
    - strategy
    argTypes: []
    constantsTouched: []
    func_position:
      end: 635
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 635
    functionName: gzsetparams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - deflateParams
    - gz_zero
    - gz_comp
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzsetparams(file, level, strategy) gzFile file; int level;
      int strategy; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:656,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:668,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:666,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:665,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:661,1
    - Dst: gz_error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:670,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:671,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:672,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 676
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 676
    functionName: gzclose_w
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_zero
    - close
    - free
    - gz_comp
    - gz_error
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzclose_w(file) gzFile file; '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:409,1
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:415,1
    - Dst: vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:428,1
    - Dst: vsprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:432,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:436,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:437,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:439,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:453,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:455,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - file
    - format
    - va
    argTypes:
    - gzFile
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 460
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 460
    functionName: gzvprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_zero
    - gz_comp
    - vsprintf
    - strlen
    - gz_init
    - memmove
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORTVA gzvprintf(gzFile file, const char *format, va_list va) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gz_zero
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:586,1
    - Dst: gz_comp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c:591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 0
    argNames:
    - file
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 593
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 593
    functionName: gzflush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzwrite.c
    functionUses: []
    functionsReached:
    - gz_zero
    - gz_comp
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzflush(file, flush) gzFile file; int flush; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:149,1
    - Dst: inflateResetKeep
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: inflateReset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    - inflateResetKeep
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateReset(strm) z_streamp strm; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:302,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames:
    - state
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 321
    functionName: fixedtables
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflate_table
    linkageType: ''
    returnType: local
    signature: 'local void fixedtables(state) struct inflate_state FAR *state; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:353,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:354,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:355,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:356,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:357,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:374,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:378,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:375,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:380,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:358,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:369,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:367,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:360,1
    - Dst: fixedtables
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:349,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:350,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:351,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:352,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:363,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:371,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 381
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 381
    functionName: makefixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - puts
    - putchar
    - fixedtables
    - printf
    linkageType: ''
    returnType: void
    signature: 'void makefixed() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1350,1
    - Dst: updatewindow
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1365,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1357,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1371,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1358,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 0
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1373
    functionName: inflateSetDictionary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - adler32
    - Tracev
    - updatewindow
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateSetDictionary(strm, dictionary, dictLength) z_streamp
      strm; const Bytef *dictionary; uInt dictLength; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1307,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1310,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1311,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1315
    functionName: inflateEnd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZFREE
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateEnd(strm) z_streamp strm; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames:
    - strm
    - subvert
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1557
    functionName: inflateUndermine
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateUndermine(strm, subvert) z_streamp strm; int subvert; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1594
    functionName: inflateCodesUsed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: unsigned long ZEXPORT
    signature: 'unsigned long ZEXPORT inflateCodesUsed(strm) z_streamp strm; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:226,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:233,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:228,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 0
    argNames:
    - strm
    - windowBits
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 239
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 239
    functionName: inflateInit2_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZALLOC
    - ZFREE
    - inflateReset2
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size)
      z_streamp strm; int windowBits; const char *version; int stream_size; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - strm
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: inflateInit_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateInit2_
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateInit_(strm, version, stream_size) z_streamp strm;
      const char *version; int stream_size; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames:
    - strm
    - bits
    - value
    argTypes: []
    constantsTouched: []
    func_position:
      end: 268
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 268
    functionName: inflatePrime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflatePrime(strm, bits, value) z_streamp strm; int bits;
      int value; '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:411,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:432,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:425,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 0
    argNames:
    - strm
    - end
    - copy
    argTypes: []
    constantsTouched: []
    func_position:
      end: 446
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 446
    functionName: updatewindow
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - ZALLOC
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: 'local int updatewindow(strm, end, copy) z_streamp strm; const Bytef
      *end; unsigned copy; '
  - BBCount: 140
    BranchProfiles: []
    Callsites:
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:745,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:901,1
    - Dst: RESTORE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1065,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1128,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1138,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1254,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1222,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:850,1
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:647,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:729,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:902,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:890,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1100,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1166,1
    - Dst: ZSWAP32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1234,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1239,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1247,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:702,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:734,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:871,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1005,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1012,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1117,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:972,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:686,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:998,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:936,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1009,1
    - Dst: LOAD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1067,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1240,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:958,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:872,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:664,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:681,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:750,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:942,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:979,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:881,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1008,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1040,1
    - Dst: Trace
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1181,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:956,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:898,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:692,1
    - Dst: CRC2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:755,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:848,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:990,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1002,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:981,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1086,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1154,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:989,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1001,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:940,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:938,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:997,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:671,1
    - Dst: CRC2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:724,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:885,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:965,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1116,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:725,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:831,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:858,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:957,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:941,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1089,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1115,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1136,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1156,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1253,1
    - Dst: CRC2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:670,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:798,1
    - Dst: ZSWAP32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:849,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:950,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:932,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1120,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1134,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:939,1
    - Dst: LOAD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:653,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:837,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:937,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1141,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:873,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:669,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:691,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:738,1
    - Dst: RESTORE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:855,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1056,1
    - Dst: inflate_fast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1066,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1126,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:709,1
    - Dst: adler32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:703,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:843,1
    - Dst: fixedtables
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:880,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:984,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:911,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:820,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:705,1
    - Dst: CRC2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:744,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:771,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1011,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1049,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1082,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1155,1
    - Dst: RESTORE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1280,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:756,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:875,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1076,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1084,1
    - Dst: updatewindow
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1283,1
    - Dst: UPDATE_CHECK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1228,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:870,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:924,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1004,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:909,1
    - Dst: CRC4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:733,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:776,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:866,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1074,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1093,1
    - Dst: UPDATE_CHECK
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1294,1
    CyclomaticComplexity: 216
    EdgeCount: 216
    ICount: 646
    argCount: 0
    argNames:
    - strm
    - flush
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 1301
    functionName: inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - Tracev
    - crc32
    - UPDATE_CHECK
    - inflate_table
    - inflateStateCheck
    - Trace
    - LOAD
    - PULLBYTE
    - NEEDBITS
    - DROPBITS
    - zmemcpy
    - BITS
    - CRC4
    - RESTORE
    - INITBITS
    - updatewindow
    - fixedtables
    - CRC2
    - ZSWAP32
    - Tracevv
    - adler32
    - inflate_fast
    - BYTEBITS
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflate(strm, flush) z_streamp strm; int flush; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1436,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1469,1
    - Dst: syncsearch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1456,1
    - Dst: syncsearch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1452,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1474
    functionName: inflateSync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - syncsearch
    - inflateReset
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateSync(strm) z_streamp strm; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1492
    functionName: inflateSyncPoint
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateSyncPoint(strm) z_streamp strm; '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: inflateStateCheck
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int inflateStateCheck(strm) z_streamp strm; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:165,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:194,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 0
    argNames:
    - strm
    - windowBits
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: inflateReset2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - ZFREE
    - inflateReset
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateReset2(strm, windowBits) z_streamp strm; int windowBits; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:123,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: inflateResetKeep
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - Tracev
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateResetKeep(strm) z_streamp strm; '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 0
    argNames:
    - have
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1424
    functionName: syncsearch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned syncsearch(have, buf, len) unsigned FAR *have; const
      unsigned char FAR *buf; unsigned len; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames:
    - strm
    - head
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1390
    functionName: inflateGetHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateGetHeader(strm, head) z_streamp strm; gz_headerp
      head; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 0
    argNames:
    - strm
    - check
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1572
    functionName: inflateValidate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateValidate(strm, check) z_streamp strm; int check; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1325,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1332,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 0
    argNames:
    - strm
    - dictionary
    - dictLength
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1338
    functionName: inflateGetDictionary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - zmemcpy
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateGetDictionary(strm, dictionary, dictLength) z_streamp
      strm; Bytef *dictionary; uInt *dictLength; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1504,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1523,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1515,1
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1517,1
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1510,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1524,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1534,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 0
    argNames:
    - dest
    - source
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1539
    functionName: inflateCopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - ZALLOC
    - ZFREE
    - zmemcpy
    - inflateStateCheck
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateCopy(dest, source) z_streamp dest; z_streamp source; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateStateCheck
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1585
    functionName: inflateMark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inflate.c
    functionUses: []
    functionsReached:
    - inflateStateCheck
    linkageType: ''
    returnType: long ZEXPORT
    signature: 'long ZEXPORT inflateMark(strm) z_streamp strm; '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MOD28
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:97,1
    - Dst: DO16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:106,1
    - Dst: MOD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:110,1
    - Dst: MOD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:109,1
    - Dst: DO16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:117,1
    - Dst: MOD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:124,1
    - Dst: MOD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 0
    argNames:
    - adler
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 130
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 130
    functionName: adler32_z
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: []
    functionsReached:
    - DO16
    - MOD
    - MOD28
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT adler32_z(adler, buf, len) uLong adler; const Bytef
      *buf; z_size_t len; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MOD63
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:156,1
    - Dst: MOD
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames:
    - adler1
    - adler2
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 168
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 168
    functionName: adler32_combine_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: []
    functionsReached:
    - MOD63
    - MOD
    linkageType: ''
    returnType: local
    signature: 'local uLong adler32_combine_(adler1, adler2, len2) uLong adler1; uLong
      adler2; z_off64_t len2; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - adler1
    - adler2
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: adler32_combine64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: []
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT adler32_combine64(adler1, adler2, len2) uLong adler1;
      uLong adler2; z_off64_t len2; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_z
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - adler
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: adler32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: []
    functionsReached:
    - adler32_z
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT adler32(adler, buf, len) uLong adler; const Bytef *buf;
      uInt len; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adler32_combine_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - adler1
    - adler2
    - len2
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: adler32_combine
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/adler32.c
    functionUses: []
    functionsReached:
    - adler32_combine_
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZEXPORT adler32_combine(adler1, adler2, len2) uLong adler1;
      uLong adler2; z_off_t len2; '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 165
    argCount: 0
    argNames:
    - type
    - lens
    - codes
    - table
    - bits
    - work
    argTypes: []
    constantsTouched: []
    func_position:
      end: 303
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 303
    functionName: inflate_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/inftrees.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work)
      codetype type; unsigned short FAR *lens; unsigned codes; code FAR * FAR *table;
      unsigned FAR *bits; unsigned short FAR *work; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzclose_r
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzclose.c:20,1
    - Dst: gzclose_r
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzclose.c:22,1
    - Dst: gzclose_w
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzclose.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 24
    functionName: gzclose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/gzclose.c
    functionUses: []
    functionsReached:
    - gzclose_r
    - gzclose_w
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT gzclose(file) gzFile file; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:496,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:500,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:502,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:498,1
    - Dst: inflateBackInit_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:475,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:476,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:478,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:477,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:477,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:479,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:483,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:487,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:484,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:484,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:500,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:493,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:495,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:497,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:501,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:492,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:480,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:480,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:481,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:497,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:488,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 503
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 503
    functionName: cover_back
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - inflateBackInit
    - mem_done
    - inflateBack
    - assert
    - inflateBackInit_
    - inflateBackEnd
    - mem_setup
    - fputs
    linkageType: ''
    returnType: local
    signature: 'local void cover_back(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - limit
    argTypes:
    - z_stream*
    - size_t
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: mem_limit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void mem_limit(z_stream *strm, size_t limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: push
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int push(void *desc, unsigned char *buf, unsigned len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:582,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:588,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:589,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:590,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:591,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:594,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:593,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:595,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:610,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:600,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:603,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:599,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:602,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:605,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:606,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:608,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:583,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:586,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:585,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:584,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:587,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:596,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 613
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 613
    functionName: cover_inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - inf
    - try
    linkageType: ''
    returnType: local
    signature: 'local void cover_inflate(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:161,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_stream*
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: mem_setup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: local
    signature: 'local void mem_setup(z_stream *strm) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:520,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:525,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:547,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:529,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:549,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:568,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:572,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:575,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:562,1
    - Dst: h2b
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:515,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:523,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:524,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:524,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:533,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:540,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:547,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:554,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:556,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:557,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:522,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:546,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:555,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:565,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:573,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:565,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:521,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:516,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:528,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:541,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:534,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:530,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:550,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:558,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:561,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:564,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:574,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:567,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 82
    argCount: 3
    argNames:
    - hex
    - id
    - err
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 577
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 577
    functionName: try
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - malloc
    - inflate
    - inflateBackInit
    - mem_done
    - inflateBack
    - strcpy
    - free
    - strcmp
    - assert
    - strlen
    - inflateInit2
    - inflateBackEnd
    - mem_setup
    - h2b
    - strcat
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: 'local int try(char *hex, char *id, int err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:642,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:649,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:644,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:651,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:647,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:653,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:654,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 658
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 658
    functionName: cover_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: 'local void cover_fast(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:368,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:381,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:376,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:354,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:360,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:360,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:361,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:362,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:367,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:370,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:369,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:381,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:382,1
    - Dst: inflateInit_
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:375,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:377,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:382,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:357,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:359,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:357,1
    - Dst: mem_used
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:358,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:359,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:363,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:363,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:364,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:366,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:372,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 51
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 384
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 384
    functionName: cover_support
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - mem_done
    - mem_used
    - inf
    - assert
    - inflateInit
    - mem_setup
    - inflateSetDictionary
    - inflatePrime
    - inflateInit_
    - inflateEnd
    - fputs
    linkageType: ''
    returnType: local
    signature: 'local void cover_support(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:630,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:631,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:636,1
    - Dst: inflate_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:634,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 637
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 637
    functionName: cover_trees
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - inflate_table
    - assert
    - fputs
    linkageType: ''
    returnType: local
    signature: 'local void cover_trees(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:662,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:662,1
    - Dst: cover_support
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:663,1
    - Dst: cover_wrap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:664,1
    - Dst: cover_back
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:665,1
    - Dst: cover_inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:666,1
    - Dst: cover_trees
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:667,1
    - Dst: cover_fast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - cover_support
    - cover_fast
    - cover_inflate
    - fprintf
    - cover_trees
    - cover_wrap
    - cover_back
    - zlibVersion
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: mem_high
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void mem_high(z_stream *strm, char *prefix) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inflateGetHeader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:308,1
    - Dst: h2b
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:310,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:331,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:324,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:335,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:344,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:300,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:295,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:319,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:326,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:332,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:334,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:342,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:345,1
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:292,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:297,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:300,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:308,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:330,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:328,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:335,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:341,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:344,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:310,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:327,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:323,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:325,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:319,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:332,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:334,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:343,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:343,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 95
    argCount: 6
    argNames:
    - hex
    - what
    - step
    - win
    - len
    - err
    argTypes:
    - char*
    - char*
    - unsigned
    - int
    - unsigned
    - int
    constantsTouched: []
    func_position:
      end: 346
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 346
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - malloc
    - inflate
    - mem_done
    - inflateCopy
    - free
    - assert
    - inflateInit2
    - inflateReset2
    - mem_setup
    - inflateSetDictionary
    - h2b
    - inflateGetHeader
    - mem_limit
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: 'local void inf(char *hex, char *what, unsigned step, int win, unsigned
      len, int err) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:118,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:144,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 153
    functionName: mem_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: 'local void mem_free(void *mem, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: mem_used
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void mem_used(z_stream *strm, char *prefix) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - desc
    - buf
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 460
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 460
    functionName: pull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned pull(void *desc, unsigned char **buf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:249,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:270,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:249,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - hex
    - len
    argTypes:
    - char*
    - unsigned*
    constantsTouched: []
    func_position:
      end: 272
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 272
    functionName: h2b
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - malloc
    - strlen
    - realloc
    linkageType: ''
    returnType: local unsigned*
    signature: 'local unsigned char *h2b(const char *hex, unsigned *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:83,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:86,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:91,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:89,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - mem
    - count
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 108
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 108
    functionName: mem_alloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    - memset
    linkageType: ''
    returnType: local*
    signature: 'local void *mem_alloc(void *mem, unsigned count, unsigned size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_high
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:206,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:223,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:213,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:211,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:220,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:225,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:229,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 233
    functionName: mem_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - mem_high
    - free
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void mem_done(z_stream *strm, char *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:412,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:409,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:421,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:425,1
    - Dst: inflateSync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:431,1
    - Dst: inflateSyncPoint
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:436,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:437,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:439,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:435,1
    - Dst: inflateMark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:440,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:441,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:393,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:393,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:396,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:399,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:400,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:406,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:402,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:422,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:422,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:427,1
    - Dst: inflateSync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:435,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:438,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:410,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:408,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:415,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:420,1
    - Dst: mem_limit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:423,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:424,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:426,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:431,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:437,1
    - Dst: inflateUndermine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:439,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:432,1
    - Dst: inflateCopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:395,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:394,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:394,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:395,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:398,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:403,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:401,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:404,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:421,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:428,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:428,1
    - Dst: mem_done
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:442,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:441,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 88
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 443
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 443
    functionName: cover_wrap
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/infcover.c
    functionUses: []
    functionsReached:
    - inflateSync
    - inflate
    - mem_done
    - inflateSyncPoint
    - inflateUndermine
    - inflateCopy
    - inf
    - assert
    - memset
    - inflateInit2
    - inflateMark
    - mem_setup
    - inflateSetDictionary
    - inflatePrime
    - mem_limit
    - inflateEnd
    - fputs
    linkageType: ''
    returnType: local
    signature: 'local void cover_wrap(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:122,1
    - Dst: strwinerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:124,1
    - Dst: strwinerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:122,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:122,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames:
    - s
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: pwinerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - GetLastError
    - fprintf
    - strwinerror
    linkageType: ''
    returnType: void
    signature: 'static void pwinerror (s) const char *s; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames:
    - fd
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: gzdopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile gzdopen(fd, mode) int fd; const char *mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - path
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: gzopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - gz_open
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile gzopen(path, mode) const char *path; const char *mode; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:203,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:211,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:218,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:215,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:206,1
    - Dst: fdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:221,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:222,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:224,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:224,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 0
    argNames:
    - path
    - fd
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 231
    functionName: gz_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - fdopen
    - malloc
    - strchr
    - free
    - deflateInit2
    - inflateInit2
    - fopen
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile gz_open(path, fd, mode) const char *path; int fd; const char
      *mode; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames:
    - q
    - p
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: myfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void myfree(q, p) void *q, *p; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:251,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames:
    - gz
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: gzwrite
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - fwrite
    - deflate
    linkageType: ''
    returnType: int
    signature: 'int gzwrite(gz, buf, len) gzFile gz; const void *buf; unsigned len; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:277,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:282,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames:
    - gz
    - buf
    - len
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 292
    functionName: gzread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - inflateReset
    - inflate
    - fread
    linkageType: ''
    returnType: int
    signature: 'int gzread(gz, buf, len) gzFile gz; void *buf; unsigned len; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:311,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:312,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:317,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:314,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:318,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames:
    - gz
    argTypes: []
    constantsTouched: []
    func_position:
      end: 321
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 321
    functionName: gzclose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - fwrite
    - fclose
    - free
    - deflate
    - inflateEnd
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'int gzclose(gz) gzFile gz; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:353,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames:
    - msg
    argTypes: []
    constantsTouched: []
    func_position:
      end: 355
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 355
    functionName: error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void error(msg) const char *msg; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gz_compress_mmap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:373,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:376,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:379,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:377,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:378,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:383,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:383,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:383,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:385,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:386,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames:
    - in
    - out
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 387
    functionName: gz_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - exit
    - gz_compress_mmap
    - fread
    - gzwrite
    - fclose
    - gzclose
    - error
    - gzerror
    - ferror
    - perror
    linkageType: ''
    returnType: void
    signature: 'void gz_compress(in, out) FILE *in; gzFile out; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:502,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:504,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:510,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:506,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:505,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:512,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:515,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:523,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:525,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:528,1
    - Dst: gz_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:539,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:530,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:531,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:533,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:535,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:541,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:536,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 0
    argNames:
    - file
    argTypes: []
    constantsTouched: []
    func_position:
      end: 542
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 542
    functionName: file_uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - exit
    - gzopen
    - snprintf
    - gz_uncompress
    - unlink
    - fprintf
    - strcpy
    - strcmp
    - strlen
    - fopen
    - perror
    - strcat
    linkageType: ''
    returnType: void
    signature: 'void file_uncompress(file) char *file; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:400,1
    - Dst: mmap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:411,1
    - Dst: fstat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:406,1
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:415,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:417,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:417,1
    - Dst: munmap
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:419,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:420,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:421,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames:
    - in
    - out
    argTypes: []
    constantsTouched: []
    func_position:
      end: 423
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 423
    functionName: gz_compress_mmap
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - mmap
    - fclose
    - munmap
    - gzclose
    - fileno
    - fstat
    - error
    - gzwrite
    - gzerror
    linkageType: ''
    returnType: int
    signature: 'int gz_compress_mmap(in, out) FILE *in; gzFile out; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:464,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:466,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:464,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:465,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:470,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:472,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:473,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:476,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:478,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:479,1
    - Dst: gz_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:486,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:488,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:481,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:483,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames:
    - file
    - mode
    argTypes: []
    constantsTouched: []
    func_position:
      end: 489
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 489
    functionName: file_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - exit
    - gzopen
    - snprintf
    - unlink
    - fprintf
    - strcpy
    - strlen
    - fopen
    - gz_compress
    - perror
    - strcat
    linkageType: ''
    returnType: void
    signature: 'void file_compress(file, mode) char *file; char *mode; '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:565,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:571,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:580,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:584,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:588,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:592,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:607,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:608,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:604,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:605,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:635,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:567,1
    - Dst: gz_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:609,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:607,1
    - Dst: gz_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:613,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:622,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:637,1
    - Dst: gz_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:640,1
    - Dst: file_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:628,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:578,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:586,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:590,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:611,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:611,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:612,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:617,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:632,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:624,1
    - Dst: gz_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:626,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:637,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:638,1
    - Dst: file_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:644,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 0
    argNames:
    - argc
    - argv
    argTypes: []
    constantsTouched: []
    func_position:
      end: 650
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 650
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - gzopen
    - snprintf
    - SET_BINARY_MODE
    - gz_uncompress
    - perror
    - strcpy
    - fprintf
    - strcmp
    - fileno
    - file_compress
    - gzdopen
    - error
    - fopen
    - strrchr
    - gz_compress
    - file_uncompress
    linkageType: ''
    returnType: int
    signature: 'int main(argc, argv) int argc; char *argv[]; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:438,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:442,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:443,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:439,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:439,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:446,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:446,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:448,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c:448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames:
    - in
    - out
    argTypes: []
    constantsTouched: []
    func_position:
      end: 449
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 449
    functionName: gz_uncompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/minigzip.c
    functionUses: []
    functionsReached:
    - fwrite
    - fclose
    - gzclose
    - gzread
    - error
    - gzerror
    linkageType: ''
    returnType: void
    signature: 'void gz_uncompress(in, out) gzFile in; FILE *out; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: myfree
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void myfree(void *q, void *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:244,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:261,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:254,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:259,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:255,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:264,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:265,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:267,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:268,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:269,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 273
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 273
    functionName: test_inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - inflate
    - strcpy
    - fprintf
    - strcmp
    - printf
    - CHECK_ERR
    - inflateInit
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'void test_inflate(compr, comprLen, uncompr, uncomprLen) Byte *compr,
      *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:122,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:129,1
    - Dst: gzputc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:131,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:134,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:137,1
    - Dst: gzseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:140,1
    - Dst: gzprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:136,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:158,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:169,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:128,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:143,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:141,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:150,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:151,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:156,1
    - Dst: gzseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:161,1
    - Dst: gzgets
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:178,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:179,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:180,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:174,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:180,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:126,1
    - Dst: gzputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:132,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:133,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:138,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:137,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:151,1
    - Dst: gztell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:162,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:163,1
    - Dst: gzgetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:168,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:170,1
    - Dst: gzungetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:173,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:185,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:190,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:133,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:146,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:145,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:148,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:152,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:155,1
    - Dst: gztell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:164,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:181,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:183,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:187,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:184,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:175,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 0
    argNames:
    - fname
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 192
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 192
    functionName: test_gzio
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - gzputc
    - exit
    - gzopen
    - gzseek
    - gzputs
    - gzclose
    - fprintf
    - strcpy
    - gzread
    - strcmp
    - gztell
    - printf
    - gzgetc
    - strlen
    - gzerror
    - gzprintf
    - gzungetc
    - gzgets
    linkageType: ''
    returnType: void
    signature: 'void test_gzio(fname, uncompr, uncomprLen) const char *fname; /* compressed
      file name */ Byte *uncompr; uLong uncomprLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:205,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:211,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:212,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:219,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:220,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:225,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:227,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:230,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames:
    - compr
    - comprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 232
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 232
    functionName: test_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - deflateInit
    - deflateEnd
    - strlen
    - CHECK_ERR
    - deflate
    linkageType: ''
    returnType: void
    signature: 'void test_deflate(compr, comprLen) Byte *compr; uLong comprLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:92,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:95,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:97,1
    - Dst: uncompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:99,1
    - Dst: compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:94,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:100,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:102,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:103,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: test_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - compress
    - strcpy
    - fprintf
    - strcmp
    - printf
    - strlen
    - CHECK_ERR
    - uncompress
    linkageType: ''
    returnType: void
    signature: 'void test_compress(compr, comprLen, uncompr, uncomprLen) Byte *compr,
      *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:289,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:303,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:301,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:300,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:290,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:304,1
    - Dst: deflateParams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:308,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:311,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:312,1
    - Dst: deflateParams
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:315,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:319,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:327,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:323,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:326,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:318,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:324,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 328
    functionName: test_large_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - deflateInit
    - fprintf
    - deflateEnd
    - CHECK_ERR
    - deflateParams
    - deflate
    linkageType: ''
    returnType: void
    signature: 'void test_large_deflate(compr, comprLen, uncompr, uncomprLen) Byte
      *compr, *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:340,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:349,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:350,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:355,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:357,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:360,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:361,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:364,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:365,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 369
    functionName: test_large_inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - inflate
    - strcpy
    - fprintf
    - printf
    - CHECK_ERR
    - inflateInit
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'void test_large_inflate(compr, comprLen, uncompr, uncomprLen) Byte
      *compr, *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:380,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:386,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:394,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:387,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:393,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:399,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:401,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:403,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames:
    - compr
    - comprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: test_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - deflateInit
    - deflateEnd
    - strlen
    - CHECK_ERR
    - deflate
    linkageType: ''
    returnType: void
    signature: 'void test_flush(compr, comprLen) Byte *compr; uLong *comprLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:419,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:435,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:428,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:429,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:434,1
    - Dst: inflateSync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:438,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:439,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:441,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:443,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:444,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:449,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:446,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 450
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 450
    functionName: test_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - inflateSync
    - exit
    - inflate
    - strcpy
    - fprintf
    - printf
    - CHECK_ERR
    - inflateInit
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'void test_sync(compr, comprLen, uncompr, uncomprLen) Byte *compr,
      *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:466,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:471,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:478,1
    - Dst: deflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:469,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:467,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:480,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:482,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:483,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:485,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 0
    argNames:
    - compr
    - comprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 487
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 487
    functionName: test_dict_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - deflateInit
    - fprintf
    - deflateEnd
    - strlen
    - deflateSetDictionary
    - CHECK_ERR
    - deflate
    linkageType: ''
    returnType: void
    signature: 'void test_dict_deflate(compr, comprLen) Byte *compr; uLong comprLen; '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:552,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:554,1
    - Dst: test_inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:585,1
    - Dst: test_sync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:591,1
    - Dst: test_dict_deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:594,1
    - Dst: test_dict_inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:595,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:565,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:571,1
    - Dst: test_deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:584,1
    - Dst: test_large_deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:587,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:597,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:553,1
    - Dst: test_large_inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:588,1
    - Dst: test_gzio
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:580,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:598,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:556,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:556,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:557,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:558,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:561,1
    - Dst: zlibCompileFlags
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:562,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:564,1
    - Dst: test_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:578,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:570,1
    - Dst: test_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 0
    argNames:
    - argc
    - argv
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 601
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - test_gzio
    - test_deflate
    - test_large_deflate
    - test_dict_deflate
    - fprintf
    - test_sync
    - free
    - strcmp
    - test_dict_inflate
    - printf
    - calloc
    - test_large_inflate
    - test_flush
    - test_compress
    - zlibCompileFlags
    - zlibVersion
    - test_inflate
    linkageType: ''
    returnType: int
    signature: 'int main(argc, argv) int argc; char *argv[]; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:499,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:508,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:509,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:515,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:519,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:520,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:522,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:525,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:528,1
    - Dst: CHECK_ERR
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:529,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:532,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:533,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:531,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 0
    argNames:
    - compr
    - comprLen
    - uncompr
    - uncomprLen
    argTypes: []
    constantsTouched: []
    func_position:
      end: 537
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 537
    functionName: test_dict_inflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/test/example.c
    functionUses: []
    functionsReached:
    - exit
    - inflate
    - strcpy
    - fprintf
    - strcmp
    - printf
    - CHECK_ERR
    - inflateInit
    - inflateSetDictionary
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'void test_dict_inflate(compr, comprLen, uncompr, uncomprLen) Byte
      *compr, *uncompr; uLong comprLen, uncomprLen; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:103,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:106,1
    - Dst: bclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:109,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: bopen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - malloc
    - open
    - bclose
    linkageType: ''
    returnType: local*
    signature: 'local bin *bopen(char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:148,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:151,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:150,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: bget4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - bget
    linkageType: ''
    returnType: local unsigned long
    signature: 'local unsigned long bget4(bin *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:246,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:247,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:248,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - val
    - out
    argTypes:
    - unsigned long
    - FILE*
    constantsTouched: []
    func_position:
      end: 250
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 250
    functionName: put4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - putc
    linkageType: ''
    returnType: local
    signature: 'local void put4(unsigned long val, FILE *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:266,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - crc
    - tot
    - out
    argTypes:
    - unsigned long*
    - unsigned long*
    - FILE*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: gzinit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - fwrite
    - crc32
    linkageType: ''
    returnType: local
    signature: 'local void gzinit(unsigned long *crc, unsigned long *tot, FILE *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:436,1
    - Dst: gzinit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:442,1
    - Dst: gzcopy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 448
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 448
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - gzcopy
    - gzinit
    - fputs
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:208,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:208,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:212,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:208,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:214,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:217,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:223,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:224,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:225,1
    - Dst: bskip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:240,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:235,1
    - Dst: bget
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:230,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    constantsTouched: []
    func_position:
      end: 241
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 241
    functionName: gzhead
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - bail
    - bskip
    - bget
    linkageType: ''
    returnType: local
    signature: 'local void gzhead(bin *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:67,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - why1
    - why2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: bail
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local int bail(char *why1, char *why2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:90,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:92,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: bclose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - close
    - free
    linkageType: ''
    returnType: local
    signature: 'local void bclose(bin *in) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: bload
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - read
    linkageType: ''
    returnType: local
    signature: 'local int bload(bin *in) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:181,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:188,1
    - Dst: bload
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:193,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:183,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:182,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - in
    - skip
    argTypes:
    - bin*
    - unsigned
    constantsTouched: []
    func_position:
      end: 198
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 198
    functionName: bskip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - lseek
    - bload
    - bail
    - read
    linkageType: ''
    returnType: local
    signature: 'local void bskip(bin *in, unsigned skip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bload
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:256,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - in
    argTypes:
    - z_streamp
    - bin*
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: zpull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - bail
    - bload
    linkageType: ''
    returnType: local
    signature: 'local void zpull(z_streamp strm, bin *in) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:304,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:293,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:390,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:378,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:382,1
    - Dst: put4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:420,1
    - Dst: put4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:421,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:298,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:306,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:310,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:319,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:333,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:404,1
    - Dst: crc32_combine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:410,1
    - Dst: bopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:291,1
    - Dst: bail
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:331,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:391,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:400,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:403,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:414,1
    - Dst: bclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:416,1
    - Dst: gzhead
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:294,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:322,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:328,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:360,1
    - Dst: zpull
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:363,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:388,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:397,1
    - Dst: bget4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:410,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c:415,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 5
    argNames:
    - name
    - clr
    - crc
    - tot
    - out
    argTypes:
    - char*
    - int
    - unsigned long*
    - unsigned long*
    - FILE*
    constantsTouched: []
    func_position:
      end: 423
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 423
    functionName: gzcopy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzjoin.c
    functionUses: []
    functionsReached:
    - malloc
    - fwrite
    - bget4
    - inflate
    - bclose
    - free
    - bopen
    - zpull
    - inflateInit2
    - put4
    - putc
    - inflateEnd
    - bail
    - crc32_combine
    - gzhead
    linkageType: ''
    returnType: local
    signature: 'local void gzcopy(char *name, int clr, unsigned long *crc, unsigned
      long *tot, FILE *out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:47,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:53,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:55,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:58,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:54,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:66,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:67,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:69,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:69,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:70,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:78,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:81,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - source
    - dest
    - level
    argTypes:
    - FILE*
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 83
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 83
    functionName: def
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: []
    functionsReached:
    - fwrite
    - fread
    - deflateInit
    - assert
    - ferror
    - deflate
    - feof
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'int def(FILE *source, FILE *dest, int level) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:180,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:192,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:181,1
    - Dst: zerr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:187,1
    - Dst: def
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:185,1
    - Dst: inf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:193,1
    - Dst: zerr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:195,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:201,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 204
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: []
    functionsReached:
    - SET_BINARY_MODE
    - fputs
    - inf
    - strcmp
    - def
    - zerr
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:152,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:157,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:156,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:155,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:158,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:161,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:164,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:167,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: zerr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: []
    functionsReached:
    - ferror
    - fputs
    linkageType: ''
    returnType: void
    signature: 'void zerr(int ret) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:105,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:112,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:113,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:124,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:111,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:125,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:131,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:135,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:135,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:136,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c:145,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - FILE*
    - FILE*
    constantsTouched: []
    func_position:
      end: 147
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 147
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zpipe.c
    functionUses: []
    functionsReached:
    - fwrite
    - inflate
    - fread
    - assert
    - inflateInit
    - ferror
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: 'int inf(FILE *source, FILE *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:414,1
    - Dst: PULL8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:420,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:416,1
    - Dst: PULL8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:419,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:415,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:421,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:422,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:423,1
    - Dst: PULL4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:424,1
    - Dst: PULL2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 429
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 429
    functionName: log_head
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - read
    - memcmp
    - lseek
    - PULL2
    - PULL4
    - PULL8
    linkageType: ''
    returnType: local
    signature: 'local int log_head(struct log *log) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:387,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:388,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: log_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - stat
    - strcpy
    - log_touch
    linkageType: ''
    returnType: local
    signature: 'local int log_check(struct log *log) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:441,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:443,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:444,1
    - Dst: PUT8
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:442,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:445,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:446,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:447,1
    - Dst: fsync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:449,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:450,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:451,1
    - Dst: fsync
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: log_mark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - PUT8
    - lseek
    - PUT2
    - fsync
    - PUT4
    - write
    linkageType: ''
    returnType: local
    signature: 'local int log_mark(struct log *log, int op) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:509,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:520,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:533,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:523,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:522,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:542,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:544,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:549,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:550,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:551,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:552,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:559,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:558,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:556,1
    - Dst: ftruncate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:552,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 561
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 561
    functionName: log_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - unlink
    - lseek
    - strcpy
    - BAIL
    - ftruncate
    - crc32
    - log_mark
    - log_last
    - PUT4
    - write
    linkageType: ''
    returnType: local
    signature: 'local int log_append(struct log *log, unsigned char *data, size_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:722,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:724,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:723,1
    - Dst: ctime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:727,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:727,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - log
    - op
    - record
    argTypes:
    - struct log*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 731
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 731
    functionName: log_log
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - fclose
    - strcpy
    - fprintf
    - time
    - fopen
    - ctime
    linkageType: ''
    returnType: local
    signature: 'local void log_log(struct log *log, int op, char *record) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:800,1
    - Dst: log_unlock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 803
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 803
    functionName: log_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_unlock
    - close
    linkageType: ''
    returnType: local
    signature: 'local void log_close(struct log *log) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:821,1
    - Dst: log_lock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:825,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:829,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:832,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:830,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:837,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:838,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:839,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:840,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:841,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:845,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:856,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:850,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:861,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:844,1
    - Dst: log_recover
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:855,1
    - Dst: log_head
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 863
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 863
    functionName: log_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_touch
    - close
    - unlink
    - log_recover
    - lseek
    - strcpy
    - log_lock
    - open
    - log_close
    - write
    - log_head
    linkageType: ''
    returnType: local
    signature: 'local int log_open(struct log *log) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:936,1
    - Dst: PULL2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:942,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:960,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:964,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:958,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:957,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:987,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:918,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:924,1
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:924,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:963,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:976,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:978,1
    - Dst: log_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:981,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:930,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:944,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:950,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:954,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:940,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:948,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:953,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:968,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:969,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:971,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:982,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    constantsTouched: []
    func_position:
      end: 989
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 989
    functionName: gzlog_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_compress
    - malloc
    - log_touch
    - close
    - read
    - lseek
    - PULL2
    - strcpy
    - BAIL
    - free
    - strcmp
    - log_mark
    - open
    - log_check
    - write
    - log_open
    linkageType: ''
    returnType: int
    signature: 'int gzlog_compress(gzlog *logd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:352,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:356,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:357,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:353,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:356,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:360,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:362,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:363,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: log_lock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - close
    - unlink
    - stat
    - strcpy
    - time
    - open
    - sleep
    linkageType: ''
    returnType: local
    signature: 'local int log_lock(struct log *log) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:397,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:400,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: log_unlock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_check
    - strcpy
    - unlink
    linkageType: ''
    returnType: local
    signature: 'local void log_unlock(struct log *log) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:375,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:377,1
    - Dst: utimes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: log_touch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - stat
    - strcpy
    - utimes
    linkageType: ''
    returnType: local
    signature: 'local void log_touch(struct log *log) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:475,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:490,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:476,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:489,1
    - Dst: PUT2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:488,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:491,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - log
    - last
    argTypes:
    - struct log*
    - int
    constantsTouched: []
    func_position:
      end: 493
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 493
    functionName: log_last
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - lseek
    - PUT2
    - read
    - write
    linkageType: ''
    returnType: local
    signature: 'local int log_last(struct log *log, int last) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:576,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:577,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:582,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:578,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:581,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:582,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:585,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:586,1
    - Dst: rename
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:587,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:588,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:594,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    constantsTouched: []
    func_position:
      end: 595
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 595
    functionName: log_replace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - malloc
    - unlink
    - strcpy
    - BAIL
    - free
    - log_mark
    - strlen
    - rename
    linkageType: ''
    returnType: local
    signature: 'local int log_replace(struct log *log) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:662,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:645,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:669,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:666,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:702,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:704,1
    - Dst: ftruncate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:704,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:703,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:631,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:633,1
    - Dst: deflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:637,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:663,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:646,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:676,1
    - Dst: log_last
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:703,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:706,1
    - Dst: log_replace
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:713,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:660,1
    - Dst: PUT4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:701,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:709,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:622,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:628,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:627,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:630,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:639,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:643,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:645,1
    - Dst: deflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:649,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:670,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:677,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 714
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 714
    functionName: log_compress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_touch
    - close
    - read
    - lseek
    - strcpy
    - BAIL
    - ftruncate
    - deflateInit2
    - log_mark
    - log_replace
    - deflateSetDictionary
    - open
    - log_last
    - deflate
    - PUT4
    - write
    - deflatePrime
    - deflateEnd
    linkageType: ''
    returnType: local
    signature: 'local int log_compress(struct log *log, unsigned char *data, size_t
      len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:758,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:792,1
    - Dst: log_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:781,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:745,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:750,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:757,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:759,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:762,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:769,1
    - Dst: log_append
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:778,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:749,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:766,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:788,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:753,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:754,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:763,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:765,1
    - Dst: log_replace
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:784,1
    - Dst: log_log
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:772,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    constantsTouched: []
    func_position:
      end: 794
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 794
    functionName: log_recover
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_compress
    - malloc
    - close
    - log_log
    - read
    - stat
    - strcpy
    - free
    - log_replace
    - open
    - log_append
    linkageType: ''
    returnType: local
    signature: 'local int log_recover(struct log *log, int op) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:876,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:886,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:879,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:883,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:884,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:889,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:894,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:895,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:896,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 902
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 902
    functionName: gzlog_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - malloc
    - strcpy
    - free
    - strlen
    - log_open
    linkageType: ''
    returnType: gzlog*
    signature: 'gzlog *gzlog_open(char *path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1002,1
    - Dst: log_open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1010,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1015,1
    - Dst: log_check
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1010,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1014,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1018,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1019,1
    - Dst: log_touch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1021,1
    - Dst: log_mark
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1024,1
    - Dst: BAIL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1026,1
    - Dst: log_append
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1029,1
    - Dst: gzlog_compress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1037,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - logd
    - data
    - len
    argTypes:
    - gzlog*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1038
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1038
    functionName: gzlog_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_append
    - log_touch
    - close
    - gzlog_compress
    - strcpy
    - BAIL
    - strcmp
    - log_mark
    - open
    - log_check
    - write
    - log_open
    linkageType: ''
    returnType: int
    signature: 'int gzlog_write(gzlog *logd, void *data, size_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1048,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1057,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1058,1
    - Dst: log_close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1052,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c:1056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1060
    functionName: gzlog_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzlog.c
    functionUses: []
    functionsReached:
    - log_close
    - strcpy
    - free
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'int gzlog_close(gzlog *logd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:94,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - msg1
    - msg2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: bye
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void bye(char *msg1, char *msg2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:193,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: readmore
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - readin
    - bye
    linkageType: ''
    returnType: local
    signature: 'local int readmore(file *in) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:239,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:239,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:239,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:241,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:242,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:243,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:245,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:246,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:247,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:250,1
    - Dst: skip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:251,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    constantsTouched: []
    func_position:
      end: 252
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 252
    functionName: gzheader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - read1
    - bye
    - skip
    linkageType: ''
    returnType: local
    signature: 'local void gzheader(file *in) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:396,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:403,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:404,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:398,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:405,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:410,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:412,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:419,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:425,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:428,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:429,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:437,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:448,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:457,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:458,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:456,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:449,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:452,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 4
    argNames:
    - name
    - gd
    - strm
    - last
    argTypes:
    - char*
    - int
    - z_stream*
    - int
    constantsTouched: []
    func_position:
      end: 459
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 459
    functionName: gztack
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - malloc
    - close
    - read
    - fprintf
    - free
    - deflateEnd
    - crc32
    - bye
    - open
    - write
    - deflate
    linkageType: ''
    returnType: local
    signature: 'local void gztack(char *name, int gd, z_stream *strm, int last) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:475,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:489,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:487,1
    - Dst: gzscan
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:493,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:478,1
    - Dst: gztack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:497,1
    - Dst: gztack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - gzscan
    - bye
    - gztack
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:183,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: readin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - bye
    - read
    linkageType: ''
    returnType: local
    signature: 'local int readin(file *in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 119
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 119
    functionName: gcd
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned gcd(unsigned a, unsigned b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:139,1
    - Dst: gcd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:153,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:147,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - list
    - len
    - rot
    argTypes:
    - unsigned char*
    - unsigned
    - unsigned
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: rotate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - gcd
    - memmove
    linkageType: ''
    returnType: local
    signature: 'local void rotate(unsigned char *list, unsigned len, unsigned rot) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:209,1
    - Dst: readmore
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:213,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:215,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - file*
    - unsigned
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - lseek
    - bye
    - readmore
    linkageType: ''
    returnType: local
    signature: 'local void skip(file *in, unsigned n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:226,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:229,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:228,1
    - Dst: read1
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: read4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - read1
    linkageType: ''
    returnType: unsigned long
    signature: 'unsigned long read4(file *in) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:269,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:272,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:280,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:281,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:285,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:311,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:310,1
    - Dst: readin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:349,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:358,1
    - Dst: deflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:375,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:355,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:286,1
    - Dst: read4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:342,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:343,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:350,1
    - Dst: rotate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:362,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:373,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:377,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:381,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:367,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:271,1
    - Dst: gzheader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:277,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:316,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:334,1
    - Dst: readmore
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:299,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:313,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:294,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:339,1
    - Dst: read4
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:345,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:346,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:380,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:374,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:270,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:290,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:330,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:309,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:354,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:355,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:358,1
    - Dst: bye
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:368,1
    - Dst: deflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:369,1
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:374,1
    - Dst: lseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c:357,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 127
    argCount: 3
    argNames:
    - name
    - strm
    - level
    argTypes:
    - char*
    - z_stream*
    - int
    constantsTouched: []
    func_position:
      end: 383
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 383
    functionName: gzscan
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gzappend.c
    functionUses: []
    functionsReached:
    - lseek
    - read4
    - crc32
    - readmore
    - inflateEnd
    - malloc
    - inflate
    - read
    - free
    - deflateInit2
    - deflateSetDictionary
    - fprintf
    - gzheader
    - rotate
    - bye
    - deflatePrime
    - inflateInit2
    - open
    - readin
    - write
    linkageType: ''
    returnType: local
    signature: 'local int gzscan(char *name, z_stream *strm, int level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:78,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - struct deflate_index*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: deflate_index_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void deflate_index_free(struct deflate_index *index) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:151,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:163,1
    - Dst: ungetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:200,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:191,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:164,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:200,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:201,1
    - Dst: addpoint
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:220,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:232,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:233,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:241,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:242,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 3
    argNames:
    - in
    - span
    - built
    argTypes:
    - FILE*
    - off_t
    - struct deflate_index**
    constantsTouched: []
    func_position:
      end: 244
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 244
    functionName: deflate_index_build
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: []
    functionsReached:
    - inflate
    - fread
    - inflateReset
    - realloc
    - deflate_index_free
    - inflateInit2
    - ungetc
    - ferror
    - getc
    - inflateEnd
    - addpoint
    linkageType: ''
    returnType: int
    signature: 'int deflate_index_build(FILE *in, off_t span, struct deflate_index
      **built) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:96,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:110,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:112,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:98,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:100,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:124,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:126,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 6
    argNames:
    - index
    - bits
    - in
    - out
    - left
    - window
    argTypes:
    - struct deflate_index*
    - int
    - off_t
    - off_t
    - unsigned
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 131
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 131
    functionName: addpoint
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: []
    functionsReached:
    - malloc
    - deflate_index_free
    - free
    - realloc
    - memcpy
    linkageType: ''
    returnType: struct deflate_index*
    signature: 'static struct deflate_index *addpoint(struct deflate_index *index,
      int bits, off_t in, off_t out, unsigned left, unsigned char *window) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:420,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:432,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:434,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:425,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:423,1
    - Dst: deflate_index_build
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:440,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:442,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:445,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:448,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:451,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:458,1
    - Dst: deflate_index_extract
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:463,1
    - Dst: deflate_index_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:473,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:469,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:465,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:474,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:454,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:468,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 476
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 476
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: []
    functionsReached:
    - fwrite
    - fclose
    - fprintf
    - strtoll
    - deflate_index_extract
    - deflate_index_free
    - deflate_index_build
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:272,1
    - Dst: fseeko
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:275,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:279,1
    - Dst: inflatePrime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:284,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:281,1
    - Dst: inflateSetDictionary
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:286,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:313,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:314,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:324,1
    - Dst: fseeko
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:339,1
    - Dst: getc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:346,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:352,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:358,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:357,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:396,1
    - Dst: ungetc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:346,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:368,1
    - Dst: inflateReset2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c:375,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 112
    argCount: 5
    argNames:
    - in
    - index
    - offset
    - buf
    - len
    argTypes:
    - FILE*
    - struct deflate_index*
    - off_t
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 398
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 398
    functionName: deflate_index_extract
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/zran.c
    functionUses: []
    functionsReached:
    - inflateSetDictionary
    - inflate
    - fread
    - inflateInit2
    - inflateReset2
    - ungetc
    - ferror
    - getc
    - inflatePrime
    - fseeko
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: 'int deflate_index_extract(FILE *in, struct deflate_index *index, off_t
      offset, unsigned char *buf, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:63,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: quit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: local
    signature: 'local void quit(char *why) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:79,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:83,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:86,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:85,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - in
    - def
    argTypes:
    - FILE*
    - z_streamp
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: partcompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: []
    functionsReached:
    - ferror
    - fread
    - assert
    - feof
    - deflate
    linkageType: ''
    returnType: local
    signature: 'local int partcompress(FILE *in, z_streamp def) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:105,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:106,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:116,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - inf
    - def
    argTypes:
    - z_streamp
    - z_streamp
    constantsTouched: []
    func_position:
      end: 120
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 120
    functionName: recompress
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: []
    functionsReached:
    - inflate
    - assert
    - deflate
    linkageType: ''
    returnType: local
    signature: 'local int recompress(z_streamp inf, z_streamp def) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:146,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:152,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:165,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:184,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:169,1
    - Dst: recompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:211,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:213,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:218,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:219,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:226,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:228,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:223,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:137,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:142,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:140,1
    - Dst: strtol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:138,1
    - Dst: partcompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:157,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:159,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:170,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:188,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:201,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:204,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:227,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:165,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:185,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:166,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:202,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:214,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:218,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:224,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:150,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:172,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:171,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:187,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:189,1
    - Dst: recompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:196,1
    - Dst: quit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:198,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:203,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:222,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c:225,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 232
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/fitblk.c
    functionUses: []
    functionsReached:
    - ferror
    - malloc
    - fwrite
    - quit
    - strtol
    - deflateInit
    - fprintf
    - recompress
    - free
    - inflateReset
    - assert
    - inflateInit
    - partcompress
    - inflateEnd
    - deflateReset
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    constantsTouched: []
    func_position:
      end: 183
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 183
    functionName: string_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void string_clear(string_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local inline size_t map(int syms, int left, int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: string_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: 'local void string_free(string_t *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:205,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:213,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:208,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:207,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:215,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:216,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:217,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - s
    - fmt
    - '...'
    argTypes:
    - string_t*
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 220
    functionName: string_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - realloc
    - assert
    - vsnprintf
    linkageType: ''
    returnType: local
    signature: 'local void string_printf(string_t *s, char *fmt, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:266,1
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:269,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:296,1
    - Dst: count
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:289,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - syms
    - left
    - len
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 301
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 301
    functionName: count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - count
    - map
    - assert
    linkageType: ''
    returnType: local
    signature: 'local big_t count(int syms, int left, int len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:372,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:398,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:389,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:394,1
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:380,1
    - Dst: string_printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:399,1
    - Dst: been_here
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:408,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:435,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 446
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 446
    functionName: examine
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - string_printf
    - examine
    - assert
    - been_here
    - string_clear
    linkageType: ''
    returnType: local
    signature: 'local void examine(int syms, int left, int len, int mem, int rem) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:511,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:558,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:560,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:546,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:555,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:513,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:517,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:561,1
    - Dst: count
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:567,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:571,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:582,1
    - Dst: enough
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:589,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:545,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:569,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:575,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:591,1
    - Dst: string_init
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:502,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:509,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:533,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:539,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:573,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:581,1
    - Dst: cleanup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:594,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 596
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 596
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - cleanup
    - puts
    - fprintf
    - string_init
    - assert
    - calloc
    - printf
    - count
    - atoi
    - enough
    - fputs
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:309,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:332,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:342,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:333,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:334,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 5
    argNames:
    - syms
    - left
    - len
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 354
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 354
    functionName: been_here
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - realloc
    - assert
    - memset
    - calloc
    - map
    linkageType: ''
    returnType: local
    signature: 'local int been_here(int syms, int left, int len, int mem, int rem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:188,1
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:190,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - string_t*
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - malloc
    - string_clear
    - assert
    linkageType: ''
    returnType: local
    signature: 'local void string_init(string_t *s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:247,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:252,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:251,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:249,1
    - Dst: string_free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 254
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 254
    functionName: cleanup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - string_free
    - free
    linkageType: ''
    returnType: local
    signature: 'local void cleanup(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: string_clear
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:459,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:478,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:473,1
    - Dst: map
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:466,1
    - Dst: examine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:468,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c:479,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - syms
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 480
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 480
    functionName: enough
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/enough.c
    functionUses: []
    functionsReached:
    - examine
    - printf
    - map
    - string_clear
    - fputs
    linkageType: ''
    returnType: local
    signature: 'local void enough(int syms) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - in_desc
    - buf
    argTypes:
    - void*
    - z_const unsigned**
    constantsTouched: []
    func_position:
      end: 111
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 111
    functionName: in
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - read
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned in(void *in_desc, z_const unsigned char **buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:136,1
    - Dst: write
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:144,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - out_desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 151
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 151
    functionName: out
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - write
    - crc32
    linkageType: ''
    returnType: local
    signature: 'local int out(void *out_desc, unsigned char *buf, unsigned len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: lunpipe
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:414,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:428,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:482,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:494,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:496,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:401,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:405,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:420,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:427,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:429,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:431,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:440,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:461,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:457,1
    - Dst: inflateBack
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:474,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:483,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:426,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:446,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:441,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:484,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:430,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:454,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:432,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:468,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:460,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:485,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:493,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:495,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 138
    argCount: 3
    argNames:
    - strm
    - infile
    - outfile
    argTypes:
    - z_stream*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 510
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 510
    functionName: gunpipe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - inflateBack
    - NEXT
    - lunpipe
    - crc32
    linkageType: ''
    returnType: local
    signature: 'local int gunpipe(z_stream *strm, int infile, int outfile) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:574,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:583,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:612,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:599,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:603,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:594,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:613,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:621,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:571,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:582,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:609,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:608,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:558,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:573,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:591,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:602,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:606,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:616,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:622,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:560,1
    - Dst: gunpipe
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:581,1
    - Dst: copymeta
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:590,1
    - Dst: unlink
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:598,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 4
    argNames:
    - strm
    - inname
    - outname
    - test
    argTypes:
    - z_stream*
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 626
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 626
    functionName: gunzip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - close
    - unlink
    - copymeta
    - fprintf
    - gunpipe
    - strerror
    - open
    linkageType: ''
    returnType: local
    signature: 'local int gunzip(z_stream *strm, char *inname, char *outname, int
      test) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:682,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:684,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:688,1
    - Dst: gunzip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:696,1
    - Dst: inflateBackEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:699,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:653,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:658,1
    - Dst: gunzip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:691,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:692,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:652,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:644,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:655,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:668,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:670,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:672,1
    - Dst: inflateBackInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:642,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:654,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:669,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:674,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:675,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:678,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:673,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 701
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 701
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - malloc
    - inflateBackInit
    - fprintf
    - gunzip
    - free
    - strcmp
    - strlen
    - inflateBackEnd
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:225,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:278,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:248,1
    - Dst: FLUSHCODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:268,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:251,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:280,1
    - Dst: NEXT
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:290,1
    - Dst: FLUSHCODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:302,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:352,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 119
    argCount: 5
    argNames:
    - have
    - next
    - indp
    - outfile
    - strm
    argTypes:
    - unsigned
    - z_const unsigned*
    - struct ind*
    - int
    - z_stream*
    constantsTouched: []
    func_position:
      end: 368
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 368
    functionName: lunpipe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - out
    - NEXT
    - FLUSHCODE
    linkageType: ''
    returnType: local
    signature: 'local int lunpipe(unsigned have, z_const unsigned char *next, struct
      ind *indp, int outfile, z_stream *strm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:522,1
    - Dst: chmod
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:526,1
    - Dst: chown
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:529,1
    - Dst: utime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 535
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 535
    functionName: copymeta
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gun.c
    functionUses: []
    functionsReached:
    - stat
    - utime
    - chmod
    - chown
    linkageType: ''
    returnType: local
    signature: 'local void copymeta(char *from, char *to) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:38,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:48,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:45,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:40,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:39,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:49,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: aprintf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: []
    functionsReached:
    - va_end
    - malloc
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: local*
    signature: 'local char *aprintf(char *fmt, ...) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:94,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:147,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:127,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:320,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:405,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:339,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:421,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:441,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:443,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:449,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:110,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:393,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:440,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:442,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:444,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:445,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:449,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:151,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:153,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:425,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:430,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:439,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:448,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:448,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:93,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:149,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:161,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:278,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:315,1
    - Dst: BYE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:406,1
    - Dst: crc32_combine
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:394,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:431,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:433,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:437,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:438,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 192
    argCount: 3
    argNames:
    - in
    - out
    - err
    argTypes:
    - FILE*
    - FILE*
    - char**
    constantsTouched: []
    func_position:
      end: 454
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 454
    functionName: gzip_normalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: []
    functionsReached:
    - fwrite
    - fflush
    - inflate
    - fread
    - inflateReset
    - inflateInit2
    - BYE
    - putc
    - strerror
    - inflateEnd
    - ferror
    - crc32_combine
    linkageType: ''
    returnType: local
    signature: 'local int gzip_normalize(FILE *in, FILE *out, char **err) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:459,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:466,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:467,1
    - Dst: gzip_normalize
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:464,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/examples/gznorm.c
    functionUses: []
    functionsReached:
    - gzip_normalize
    - fprintf
    - SET_BINARY_MODE
    - free
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'inline int is_open() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:11,1
    - Dst: overflow
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:30,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 41
    functionName: gzfilebuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: []
    functionsReached:
    - overflow
    - gzfilebuf
    linkageType: ''
    returnType: class
    signature: 'class gzfilebuf : public streambuf '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setcompressionlevel
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:47,1
    - Dst: gzfilestream_common
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:58,1
    - Dst: setcompressionstrategy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: gzfilestream_common
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: []
    functionsReached:
    - gzfilestream_common
    - setcompressionlevel
    - setcompressionstrategy
    linkageType: ''
    returnType: class
    signature: 'class gzfilestream_common : virtual public ios '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: setcompressionlevel
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzomanip
    signature: 'inline gzomanip <int> setcompressionlevel(int l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: setcompressionstrategy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzomanip
    signature: 'inline gzomanip <int> setcompressionstrategy(int l) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - h
    - length
    - n
    argTypes:
    - struct huffman*
    - short*
    - int
    constantsTouched: []
    func_position:
      end: 378
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 378
    functionName: construct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int construct(struct huffman *h, const short *length, int n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    constantsTouched: []
    func_position:
      end: 196
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 196
    functionName: stored
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int stored(struct state *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:562,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:567,1
    - Dst: codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    constantsTouched: []
    func_position:
      end: 575
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 575
    functionName: fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - construct
    - codes
    linkageType: ''
    returnType: local
    signature: 'local int fixed(struct state *s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:814,1
    - Dst: fixed
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:824,1
    - Dst: stored
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:822,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:820,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:819,1
    - Dst: dynamic
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - dest
    - /* pointer to destination pointer */
    - destlen
    - /* amount of output space */
    - source
    - /* pointer to source data pointer */
    - sourcelen
    argTypes:
    - unsigned char*
    - unsigned long*
    - unsigned char*
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 839
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 839
    functionName: puff
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - dynamic
    - setjmp
    - stored
    - fixed
    - bits
    linkageType: ''
    returnType: int
    signature: 'int puff(unsigned char *dest, /* pointer to destination pointer */
      unsigned long *destlen, /* amount of output space */ const unsigned char *source,
      /* pointer to source data pointer */ unsigned long *sourcelen) /* amount of
      input available */ '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    constantsTouched: []
    func_position:
      end: 144
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 144
    functionName: bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: 'local int bits(struct state *s, int need) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:244,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - bits
    linkageType: ''
    returnType: local
    signature: 'local int decode(struct state *s, const struct huffman *h) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    constantsTouched: []
    func_position:
      end: 304
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 304
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: 'local int decode(struct state *s, const struct huffman *h) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:459,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:482,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:479,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:476,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 3
    argNames:
    - s
    - lencode
    - distcode
    argTypes:
    - struct state*
    - struct huffman*
    - struct huffman*
    constantsTouched: []
    func_position:
      end: 509
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 509
    functionName: codes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - decode
    - bits
    linkageType: ''
    returnType: local
    signature: 'local int codes(struct state *s, const struct huffman *lencode, const
      struct huffman *distcode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:683,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:691,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:685,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:696,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:684,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:706,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:717,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:720,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:722,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:735,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:740,1
    - Dst: codes
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c:745,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    constantsTouched: []
    func_position:
      end: 746
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 746
    functionName: dynamic
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/puff.c
    functionUses: []
    functionsReached:
    - construct
    - decode
    - codes
    - bits
    linkageType: ''
    returnType: local
    signature: 'local int dynamic(struct state *s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: bythirds
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local size_t bythirds(size_t size) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:122,1
    - Dst: puff
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:151,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:149,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:118,1
    - Dst: load
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:116,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:140,1
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:156,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:104,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:138,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:162,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:106,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:128,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:141,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:152,1
    - Dst: puff
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:155,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:158,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 164
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: []
    functionsReached:
    - malloc
    - fwrite
    - SET_BINARY_MODE
    - puff
    - fprintf
    - free
    - load
    - atoi
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:66,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:75,1
    - Dst: bythirds
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:74,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:72,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:69,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:76,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c:82,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: load
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/puff/pufftest.c
    functionUses: []
    functionsReached:
    - malloc
    - fread
    - fclose
    - free
    - realloc
    - fopen
    - bythirds
    linkageType: ''
    returnType: local*
    signature: 'local void *load(const char *name, size_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:59,1
    - Dst: MyDoMinus64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - MyDoMinus64
    - myGetRDTSC32
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: 'LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: myGetRDTSC32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void myGetRDTSC32(LARGE_INTEGER * pbeginTime64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: 'LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:98,1
    - Dst: Int64ShrlMod32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:107,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:99,1
    - Dst: MyDoMinus64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:102,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:103,1
    - Dst: Int64ShrlMod32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    constantsTouched: []
    func_position:
      end: 116
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 116
    functionName: GetMsecSincePerfCounter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - MyDoMinus64
    - Int64ShrlMod32
    - QueryPerformanceFrequency
    - GetTickCount
    - QueryPerformanceCounter
    linkageType: ''
    returnType: DWORD
    signature: 'DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - R
    - A
    - B
    argTypes:
    - LARGE_INTEGER*
    - LARGE_INTEGER
    - LARGE_INTEGER
    constantsTouched: []
    func_position:
      end: 17
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 17
    functionName: MyDoMinus64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:31,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: GetResRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: 'LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 26
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 26
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: void
    signature: 'void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - myGetRDTSC32
    linkageType: ''
    returnType: void
    signature: 'void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: BeginCountRdtsc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:85,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pbeginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER*
    - BOOL
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: BeginCountPerfCounter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - GetTickCount
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: 'void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:123,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:127,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:131,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:130,1
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:129,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:136,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - plFileSize
    - pFilePtr
    argTypes:
    - char*
    - long*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: ReadFileMemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - malloc
    - fread
    - fclose
    - ftell
    - fseek
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int ReadFileMemory(const char* filename,long* plFileSize,unsigned
      char** pFilePtr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ReadFileMemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:166,1
    - Dst: BeginCountPerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:187,1
    - Dst: deflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:197,1
    - Dst: GetResRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:218,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:196,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:206,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:220,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:222,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:225,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:226,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:229,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:174,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:185,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:188,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:215,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:219,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:221,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:237,1
    - Dst: min
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:247,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:256,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:260,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:262,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:263,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:168,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:217,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:216,1
    - Dst: BeginCountRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:230,1
    - Dst: GetTickCount
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:257,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:258,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:261,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:268,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:269,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:162,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:171,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:177,1
    - Dst: atol
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:180,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:208,1
    - Dst: BeginCountRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:189,1
    - Dst: BeginCountPerfCounter
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:228,1
    - Dst: inflateInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:238,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:249,1
    - Dst: GetResRdtsc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c:259,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 274
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 274
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/testzlib/testzlib.c
    functionUses: []
    functionsReached:
    - memcmp
    - min
    - realloc
    - atol
    - GetResRdtsc
    - inflateEnd
    - malloc
    - inflate
    - ReadFileMemory
    - BeginCountPerfCounter
    - deflateEnd
    - deflate
    - deflateInit
    - BeginCountRdtsc
    - printf
    - memset
    - GetTickCount
    - GetMsecSincePerfCounter
    - inflateInit
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:30,1
    - Dst: eof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:124,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 223
    functionName: gzfilebuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached:
    - gzfilebuf
    - eof
    linkageType: ''
    returnType: class
    signature: 'class gzfilebuf : public std::streambuf '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool is_open() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool is_open() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: rdbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzfilebuf*
    signature: 'gzfilebuf * rdbuf() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 312
    functionName: gzifstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached:
    - gzifstream
    linkageType: ''
    returnType: class
    signature: 'class gzifstream : public std::istream '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 401
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 401
    functionName: gzofstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached:
    - gzofstream
    linkageType: ''
    returnType: class
    signature: 'class gzofstream : public std::ostream '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: rdbuf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzfilebuf*
    signature: 'gzfilebuf * rdbuf() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: is_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool is_open() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - l
    - Z_DEFAULT_STRATEGY
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: setcompression
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream3/zfstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzomanip2
    signature: 'inline gzomanip2 <int,int> setcompression(int l, int s = Z_DEFAULT_STRATEGY) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:155,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:160,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: TGZnotfound
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void TGZnotfound (const char *arcname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:195,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: strtime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - localtime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char *strtime (time_t *t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:256,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:258,1
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 4
    argNames:
    - list
    - fname
    - mode
    - time
    argTypes:
    - struct attr_item**
    - char*
    - int
    - time_t
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: push_attr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - malloc
    - strdup
    - error
    linkageType: ''
    returnType: void
    signature: 'void push_attr(struct attr_item **list,char *fname,int mode,time_t
      time) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:329,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:331,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:334,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:340,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:342,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:355,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:357,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:358,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 367
    functionName: makedir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - fprintf
    - free
    - strlen
    - strdup
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'int makedir (char *newdir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:582,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:589,1
    - Dst: zlibVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:584,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exitval
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 590
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 590
    functionName: help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - exit
    - zlibVersion
    - printf
    linkageType: ''
    returnType: void
    signature: 'void help(int exitval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:594,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'void error(const char *msg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISSPECIAL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - string
    - expr
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 319
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 319
    functionName: ExprMatch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - ISSPECIAL
    linkageType: ''
    returnType: int
    signature: 'int ExprMatch (char *string,char *expr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExprMatch
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - arg
    - argc
    - argv
    - fname
    argTypes:
    - int
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: matchname
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - ExprMatch
    linkageType: ''
    returnType: int
    signature: 'int matchname (int arg,int argc,char **argv,char *fname) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:612,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:615,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:631,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:633,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:618,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:637,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:639,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:641,1
    - Dst: TGZfname
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:644,1
    - Dst: TGZnotfound
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:645,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:658,1
    - Dst: help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:649,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:669,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:661,1
    - Dst: tar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:664,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:664,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:668,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 673
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 673
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - exit
    - gzopen
    - help
    - fprintf
    - strcmp
    - TGZfname
    - error
    - strrchr
    - TGZnotfound
    - tar
    linkageType: ''
    returnType: int
    signature: 'int main(int argc,char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:215,1
    - Dst: LocalFileTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:228,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:233,1
    - Dst: GetVersion
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:232,1
    - Dst: SystemTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:227,1
    - Dst: SetFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:238,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:239,1
    - Dst: utime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - fname
    - ftime
    argTypes:
    - char*
    - time_t
    constantsTouched: []
    func_position:
      end: 247
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 247
    functionName: setfiletime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - GetVersion
    - utime
    - CreateFile
    - localtime
    - LocalFileTimeToFileTime
    - CloseHandle
    - SystemTimeToFileTime
    - SetFileTime
    linkageType: ''
    returnType: int
    signature: 'int setfiletime (char *fname,time_t ftime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setfiletime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:275,1
    - Dst: chmod
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:276,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:279,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct attr_item**
    constantsTouched: []
    func_position:
      end: 282
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 282
    functionName: restore_attr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - chmod
    - free
    - setfiletime
    linkageType: ''
    returnType: void
    signature: 'void restore_attr(struct attr_item **list) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:405,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:429,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:460,1
    - Dst: matchname
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:479,1
    - Dst: makedir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:487,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:493,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:504,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:512,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:513,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:522,1
    - Dst: restore_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:569,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:403,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:484,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:532,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:534,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:571,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:572,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:561,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:405,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:430,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:448,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:460,1
    - Dst: strtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:476,1
    - Dst: makedir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:463,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:489,1
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:512,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:522,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:536,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:399,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:439,1
    - Dst: error
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:449,1
    - Dst: getoct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:469,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:481,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:476,1
    - Dst: push_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:464,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:495,1
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:510,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:538,1
    - Dst: push_attr
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:552,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:549,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 129
    argCount: 5
    argNames:
    - in
    - action
    - arg
    - argc
    - argv
    argTypes:
    - gzFile
    - int
    - int
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 575
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 575
    functionName: tar
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - gzerror
    - fclose
    - remove
    - getoct
    - error
    - strrchr
    - strtime
    - strncpy
    - strncmp
    - gzclose
    - fprintf
    - printf
    - push_attr
    - makedir
    - fwrite
    - restore_attr
    - gzread
    - strlen
    - matchname
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int tar (gzFile in,int action,int arg,int argc,char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:136,1
    - Dst: access
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:142,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:141,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: TGZfname
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached:
    - strlen
    - strcpy
    - access
    linkageType: ''
    returnType: char*
    signature: 'char *TGZfname (const char *arcname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - p
    - width
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: getoct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/untgz/untgz.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int getoct (char *p,int width) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:37,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:40,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 0
    argNames:
    - strm
    - window
    - version
    - stream_size
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 44
    functionName: inflateBack9Init_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZALLOC
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBack9Init_(strm, window, version, stream_size)
      z_stream FAR *strm; unsigned char FAR *window; const char *version; int stream_size; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:610,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames:
    - strm
    argTypes: []
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: inflateBack9End
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: []
    functionsReached:
    - Tracev
    - ZFREE
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBack9End(strm) z_stream FAR *strm; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:69,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:81,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:80,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:103,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:87,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:82,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:83,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:84,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:85,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:86,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:93,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:98,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:96,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:92,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:79,1
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:104,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:100,1
    - Dst: putchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:107,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 110
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 110
    functionName: makefixed9
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: []
    functionsReached:
    - puts
    - putchar
    - inflate_table9
    - printf
    linkageType: ''
    returnType: void
    signature: 'void makefixed9(void) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:284,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:295,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:313,1
    - Dst: INITBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:323,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:329,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:345,1
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:371,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:378,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:384,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:403,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:411,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:471,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:417,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:491,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:500,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:415,1
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:446,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:481,1
    - Dst: ROOM
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:561,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:515,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:533,1
    - Dst: BYTEBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:277,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:282,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:281,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:300,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:347,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:349,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:351,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:363,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:389,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:408,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:516,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:523,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:557,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:549,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:519,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:537,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:308,1
    - Dst: zmemcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:332,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:321,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:346,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:348,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:350,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:357,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:364,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:396,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:404,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:414,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:479,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:525,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:469,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:418,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:531,1
    - Dst: Tracevv
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:488,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:483,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:535,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:283,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:286,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:339,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:314,1
    - Dst: PULL
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:328,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:362,1
    - Dst: PULLBYTE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:386,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:390,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:395,1
    - Dst: Tracev
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:463,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:548,1
    - Dst: inflate_table9
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:455,1
    - Dst: NEEDBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:407,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:517,1
    - Dst: out
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:584,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:410,1
    - Dst: DROPBITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:550,1
    - Dst: BITS
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c:477,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 305
    argCount: 0
    argNames:
    - strm
    - in
    - in_desc
    - out
    - out_desc
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 603
    functionName: inflateBack9
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/infback9.c
    functionUses: []
    functionsReached:
    - PULL
    - BITS
    - out
    - Tracev
    - PULLBYTE
    - NEEDBITS
    - inflate_table9
    - Tracevv
    - DROPBITS
    - zmemcpy
    - ROOM
    - INITBITS
    - BYTEBITS
    linkageType: ''
    returnType: int
    signature: 'int ZEXPORT inflateBack9(strm, in, in_desc, out, out_desc) z_stream
      FAR *strm; in_func in; void FAR *in_desc; out_func out; void FAR *out_desc; '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 179
    argCount: 0
    argNames:
    - type
    - lens
    - codes
    - table
    - bits
    - work
    argTypes: []
    constantsTouched: []
    func_position:
      end: 323
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 323
    functionName: inflate_table9
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/infback9/inftree9.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int inflate_table9(type, lens, codes, table, bits, work) codetype
      type; unsigned short FAR *lens; unsigned codes; code FAR * FAR *table; unsigned
      FAR *bits; unsigned short FAR *work; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzerror
    linkageType: ''
    returnType: char*
    signature: 'const char * error(int* errnum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzread
    linkageType: ''
    returnType: int
    signature: 'int read(void* buf, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:157,1
    - Dst: m_fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:160,1
    - Dst: ozstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:159,1
    - Dst: m_fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:157,1
    - Dst: m_os
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:157,1
    - Dst: m_os
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:160,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:161,1
    - Dst: m_fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: ozstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - ozstream
    - open
    - m_os
    - m_fp
    linkageType: ''
    returnType: class
    signature: 'class ozstream '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzerror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzerror
    linkageType: ''
    returnType: char*
    signature: 'const char * error(int* errnum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:65,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzopen
    - close
    linkageType: ''
    returnType: void
    signature: 'void open(const char* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:70,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:71,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:72,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzdopen
    - SET_BINARY_MODE
    - close
    - fileno
    linkageType: ''
    returnType: void
    signature: 'void open(FILE* fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzwrite
    linkageType: ''
    returnType: int
    signature: 'int write(const void* buf, size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:199,1
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzclose
    - gzwrite
    linkageType: ''
    returnType: int
    signature: 'int close() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile fp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: zstringlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class zstringlen '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: izstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:53,1
    - Dst: izstream
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:54,1
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:54,1
    - Dst: m_fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:54,1
    - Dst: m_fp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: izstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - izstream
    - open
    - m_fp
    linkageType: ''
    returnType: class
    signature: 'class izstream '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t value() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: 'gzFile fp() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - zs
    - x
    argTypes:
    - ozstream
    - char*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: zstringlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: zstringlen
    signature: 'inline zstringlen :: zstringlen(ozstream& zs, const char* x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - zs
    argTypes:
    - izstream
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: zstringlen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: zstringlen
    signature: 'inline zstringlen :: zstringlen(izstream& zs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames:
    - '0'
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: m_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - open
    linkageType: ''
    returnType: izstream(const char* name)
    signature: 'izstream(const char* name) : m_fp(0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzclose
    linkageType: ''
    returnType: int
    signature: 'int close() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - zs
    argTypes:
    - izstream
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzread
    linkageType: ''
    returnType: char*
    signature: 'inline char * read_string(izstream& zs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_flush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:219,1
    - Dst: gzflush
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - _flush
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - os_flush
    - gzflush
    linkageType: ''
    returnType: int
    signature: 'int flush(int _flush) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:186,1
    - Dst: fileno
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:190,1
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:189,1
    - Dst: gzdopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - Z_DEFAULT_COMPRESSION
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzdopen
    - SET_BINARY_MODE
    - close
    - fileno
    linkageType: ''
    returnType: void
    signature: 'void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: os_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzwrite
    linkageType: ''
    returnType: void
    signature: 'void os_flush() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:179,1
    - Dst: gzopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - name
    - Z_DEFAULT_COMPRESSION
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/iostream2/zstream.h
    functionUses: []
    functionsReached:
    - gzopen
    - close
    linkageType: ''
    returnType: void
    signature: 'void open(const char* name, int level = Z_DEFAULT_COMPRESSION) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:38,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:55,1
    - Dst: READ_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:59,1
    - Dst: READ_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:60,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:62,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:100,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:151,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:153,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:157,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:161,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:187,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:232,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:230,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:235,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:271,1
    - Dst: READ_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:52,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:53,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:56,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:76,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:123,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:154,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:158,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:162,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:164,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:229,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:233,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:239,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:275,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:197,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:272,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:166,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:254,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:236,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:57,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:99,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:61,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:126,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:150,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:155,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:159,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:163,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:165,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:167,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:169,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:234,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:243,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:261,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:156,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:225,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:266,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:37,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:39,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:48,1
    - Dst: READ_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:54,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:77,1
    - Dst: READ_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:58,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:66,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:125,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:135,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:152,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:174,1
    - Dst: WRITE_16
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:231,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:256,1
    - Dst: WRITE_32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:160,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c:260,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 232
    argCount: 0
    argNames:
    - file
    - fileOut
    - fileOutTmp
    - nRecovered
    - bytesRecovered
    argTypes: []
    constantsTouched: []
    func_position:
      end: 290
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 290
    functionName: unzRepair
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/mztools.c
    functionUses: []
    functionsReached:
    - fwrite
    - malloc
    - fread
    - fclose
    - READ_16
    - WRITE_16
    - remove
    - WRITE_32
    - free
    - strlen
    - READ_32
    - fopen
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzRepair(file, fileOut, fileOutTmp, nRecovered,
      bytesRecovered) const char* file; const char* fileOut; const char* fileOutTmp;
      uLong* nRecovered; uLong* bytesRecovered; '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFileA
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:84,1
    - Dst: FileTimeToLocalFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:87,1
    - Dst: FileTimeToDosDateTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:88,1
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames:
    - f
    - tmzip
    - dt
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: filetime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - FindClose
    - FileTimeToDosDateTime
    - FindFirstFileA
    - FileTimeToLocalFileTime
    linkageType: ''
    returnType: int
    signature: 'static int filetime(f, tmzip, dt) const char *f; /* name of file to
      get info on */ tm_zip *tmzip; /* return value: access, modific. and creation
      times */ uLong *dt; /* dostime */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: do_banner
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void do_banner() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:158,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames:
    - filename
    argTypes: []
    constantsTouched: []
    func_position:
      end: 164
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 164
    functionName: check_exist_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - fclose
    - FOPEN_FUNC
    linkageType: ''
    returnType: int
    signature: 'static int check_exist_file(filename) const char* filename; '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 0
    argNames:
    - f
    - tmzip
    - dt
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: filetime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: 'uLong filetime(f, tmzip, dt) const char *f; /* name of file to get
      info on */ tm_zip *tmzip; /* return value: access, modific. and creation times
      */ uLong *dt; /* dostime */ '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:108,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:122,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:111,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:115,1
    - Dst: localtime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:128,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 0
    argNames:
    - f
    - tmzip
    - dt
    argTypes: []
    constantsTouched: []
    func_position:
      end: 138
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 138
    functionName: filetime
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - strncpy
    - stat
    - strcmp
    - localtime
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int filetime(f, tmzip, dt) const char *f; /* name of file to
      get info on */ tm_zip *tmzip; /* return value: access, modific. and creation
      times */ uLong *dt; /* dostime */ '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: do_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void do_help() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:189,1
    - Dst: crc32_z
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:211,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:204,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:202,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:206,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:217,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - filenameinzip
    - buf
    - size_buf
    - result_crc
    argTypes:
    - char*
    - void*
    - unsigned long
    - unsigned long*
    constantsTouched: []
    func_position:
      end: 222
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 222
    functionName: getFileCrc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - crc32_z
    - fread
    - fclose
    - FOPEN_FUNC
    - printf
    - feof
    linkageType: ''
    returnType: int
    signature: 'static int getFileCrc(const char* filenameinzip,void*buf,unsigned
      long size_buf,unsigned long* result_crc) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:324,1
    - Dst: do_help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:266,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:310,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:351,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:396,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:355,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:475,1
    - Dst: zipWriteInFileInZip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:485,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:496,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:518,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:307,1
    - Dst: zipOpen64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:378,1
    - Dst: zipOpen2_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:376,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:460,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:467,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:479,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:504,1
    - Dst: zipClose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:509,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:511,1
    - Dst: do_banner
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:263,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:334,1
    - Dst: check_exist_file
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:344,1
    - Dst: scanf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:352,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:387,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:383,1
    - Dst: getFileCrc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:420,1
    - Dst: isLargeFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:422,1
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:463,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:488,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:328,1
    - Dst: check_exist_file
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:339,1
    - Dst: filetime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:411,1
    - Dst: fill_win32_filefunc64A
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:375,1
    - Dst: zipOpenNewFileInZip3_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:451,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:477,1
    - Dst: zipCloseFileInZip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:502,1
    - Dst: do_help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:515,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 224
    argCount: 0
    argNames:
    - argc
    - argv
    argTypes: []
    constantsTouched: []
    func_position:
      end: 520
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 520
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - exit
    - getFileCrc
    - fill_win32_filefunc64A
    - strcat
    - malloc
    - zipOpen2_64
    - filetime
    - fclose
    - free
    - check_exist_file
    - zipOpen64
    - strncpy
    - fread
    - printf
    - zipWriteInFileInZip
    - zipCloseFileInZip
    - feof
    - do_help
    - FOPEN_FUNC
    - do_banner
    - strlen
    - zipOpenNewFileInZip3_64
    - isLargeFile
    - scanf
    - zipClose
    linkageType: ''
    returnType: int
    signature: 'int main(argc,argv) int argc; char *argv[]; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:228,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:235,1
    - Dst: FTELLO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:233,1
    - Dst: FSEEKO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:232,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: isLargeFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/minizip.c
    functionUses: []
    functionsReached:
    - fclose
    - FTELLO_FUNC
    - FOPEN_FUNC
    - printf
    - FSEEKO_FUNC
    linkageType: ''
    returnType: int
    signature: 'static int isLargeFile(const char* filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pkeys
    - pcrc_32_tab
    argTypes:
    - unsigned long*
    - z_crc_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 43
    functionName: decrypt_byte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:112,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:117,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:118,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:112,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:114,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:121,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:124,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:126,1
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - passwd
    - /* password string */
    - buf
    - /* where to write header */
    - bufSize
    - pkeys
    - pcrc_32_tab
    - crcForCrypting
    argTypes:
    - char*
    - unsigned char*
    - int
    - unsigned long*
    - z_crc_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 129
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 129
    functionName: crypthead
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: []
    functionsReached:
    - srand
    - time
    - rand
    - zencode
    - init_keys
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned crypthead(const char* passwd, /* password string */
      unsigned char* buf, /* where to write header */ int bufSize, unsigned long*
      pkeys, const z_crc_t* pcrc_32_tab, unsigned long crcForCrypting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:50,1
    - Dst: CRC32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pkeys
    - pcrc_32_tab
    - c
    argTypes:
    - unsigned long*
    - z_crc_t*
    - int
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: update_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: []
    functionsReached:
    - CRC32
    linkageType: ''
    returnType: int
    signature: 'static int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - passwd
    - pkeys
    - pcrc_32_tab
    argTypes:
    - char*
    - unsigned long*
    - z_crc_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: init_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/crypt.h
    functionUses: []
    functionsReached:
    - update_keys
    linkageType: ''
    returnType: void
    signature: 'static void init_keys(const char* passwd,unsigned long* pkeys,const
      z_crc_t* pcrc_32_tab) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:248,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:254,1
    - Dst: SetFilePointer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - hFile
    - pos
    - newPos
    - dwMoveMethod
    argTypes:
    - HANDLE
    - LARGE_INTEGER
    - LARGE_INTEGER*
    - DWORD
    constantsTouched: []
    func_position:
      end: 263
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 263
    functionName: MySetFilePointerEx
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - SetFilePointerEx
    - SetFilePointer
    - GetLastError
    linkageType: ''
    returnType: BOOL
    signature: 'static BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER
      *newPos, DWORD dwMoveMethod) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:276,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 286
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 286
    functionName: win32_tell_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:159,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:163,1
    - Dst: CreateFileW
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:166,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 170
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 170
    functionName: win32_open64_file_funcW
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - CreateFileW
    - win32_translate_open_mode
    - win32_build_iowin
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZCALLBACK win32_open64_file_funcW (voidpf opaque,const void*
      filename,int mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:300,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: win32_tell64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'ZPOS64_T ZCALLBACK win32_tell64_file_func (voidpf opaque, voidpf stream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: win32_error_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ZCALLBACK win32_error_file_func (voidpf opaque,voidpf stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: fill_win32_filefunc64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:179,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:189,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:195,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:190,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:184,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:198,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 199
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 199
    functionName: win32_open_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - win32_translate_open_mode
    - CreateFile
    - MultiByteToWideChar
    - win32_build_iowin
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZCALLBACK win32_open_file_func (voidpf opaque,const char* filename,int
      mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:339,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 349
    functionName: win32_seek_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong
      offset,int origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc_def*
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: fill_win32_filefunc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: fill_win32_filefunc64A
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 466
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 466
    functionName: fill_win32_filefunc64W
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - mode
    - lpdwDesiredAccess
    - lpdwCreationDisposition
    - lpdwShareMode
    - lpdwFlagsAndAttributes
    argTypes:
    - int
    - DWORD*
    - DWORD*
    - DWORD*
    - DWORD*
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: win32_translate_open_mode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void win32_translate_open_mode(int mode, DWORD* lpdwDesiredAccess,
      DWORD* lpdwCreationDisposition, DWORD* lpdwShareMode, DWORD* lpdwFlagsAndAttributes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:106,1
    - Dst: CreateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:122,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:111,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:116,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:117,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: win32_open64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - win32_translate_open_mode
    - CreateFile
    - MultiByteToWideChar
    - win32_build_iowin
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZCALLBACK win32_open64_file_func (voidpf opaque,const void*
      filename,int mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:135,1
    - Dst: MultiByteToWideChar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:141,1
    - Dst: CreateFile2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:142,1
    - Dst: CreateFileA
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:146,1
    - Dst: win32_build_iowin
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 150
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 150
    functionName: win32_open64_file_funcA
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - win32_translate_open_mode
    - MultiByteToWideChar
    - win32_build_iowin
    - CreateFile2
    - CreateFileA
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf ZCALLBACK win32_open64_file_funcA (voidpf opaque,const void*
      filename,int mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:90,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - hFile
    argTypes:
    - HANDLE
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: win32_build_iowin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - malloc
    - CloseHandle
    linkageType: ''
    returnType: voidpf
    signature: 'static voidpf win32_build_iowin(HANDLE hFile) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:211,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: win32_read_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - ReadFile
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZCALLBACK win32_read_file_func (voidpf opaque, voidpf stream,
      void* buf,uLong size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:378,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 388
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 388
    functionName: win32_seek64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T
      offset,int origin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:233,1
    - Dst: GetLastError
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    constantsTouched: []
    func_position:
      end: 243
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 243
    functionName: win32_write_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - GetLastError
    - WriteFile
    linkageType: ''
    returnType: uLong
    signature: 'uLong ZCALLBACK win32_write_file_func (voidpf opaque,voidpf stream,const
      void* buf,uLong size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:400,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 406
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 406
    functionName: win32_close_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/iowin32.c
    functionUses: []
    functionsReached:
    - CloseHandle
    - free
    linkageType: ''
    returnType: int
    signature: 'int ZCALLBACK win32_close_file_func (voidpf opaque, voidpf stream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pfilefunc
    - filestream
    - offset
    - origin
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: call_zseek64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf
      filestream, ZPOS64_T offset, int origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - p_filefunc64_32
    - p_filefunc32
    argTypes:
    - zlib_filefunc64_32_def*
    - zlib_filefunc_def*
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: fill_zlib_filefunc64_32_def_from_filefunc32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def*
      p_filefunc64_32,const zlib_filefunc_def* p_filefunc32) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: fopen64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - FOPEN_FUNC
    linkageType: ''
    returnType: voidpf
    signature: 'static voidpf ZCALLBACK fopen64_file_func (voidpf opaque, const void*
      filename, int mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: fwrite_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: uLong
    signature: 'static uLong ZCALLBACK fwrite_file_func (voidpf opaque, voidpf stream,
      const void* buf, uLong size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTELLO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: ftell64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - FTELLO_FUNC
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'static ZPOS64_T ZCALLBACK ftell64_file_func (voidpf opaque, voidpf
      stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FSEEKO_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: fseek64_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - FSEEKO_FUNC
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'static long ZCALLBACK fseek64_file_func (voidpf opaque, voidpf stream,
      ZPOS64_T offset, int origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 231
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 231
    functionName: ferror_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: 'static int ZCALLBACK ferror_file_func (voidpf opaque, voidpf stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames:
    - pzlib_filefunc_def
    argTypes: []
    constantsTouched: []
    func_position:
      end: 244
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 244
    functionName: fill_fopen_filefunc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_fopen_filefunc (pzlib_filefunc_def) zlib_filefunc_def* pzlib_filefunc_def; '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pfilefunc
    - filename
    - mode
    argTypes:
    - zlib_filefunc64_32_def*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: call_zopen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: voidpf
    signature: 'voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const
      void*filename,int mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: fopen_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - fopen
    linkageType: ''
    returnType: voidpf
    signature: 'static voidpf ZCALLBACK fopen_file_func (voidpf opaque, const char*
      filename, int mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pfilefunc
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: call_ztell64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf
      filestream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: fread_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - fread
    linkageType: ''
    returnType: uLong
    signature: 'static uLong ZCALLBACK fread_file_func (voidpf opaque, voidpf stream,
      void* buf, uLong size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: ftell_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - ftell
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'static long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    constantsTouched: []
    func_position:
      end: 188
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 188
    functionName: fseek_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - fseek
    linkageType: ''
    returnType: long ZCALLBACK
    signature: 'static long ZCALLBACK fseek_file_func (voidpf opaque, voidpf stream,
      uLong offset, int origin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    constantsTouched: []
    func_position:
      end: 223
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 223
    functionName: fclose_file_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int ZCALLBACK fclose_file_func (voidpf opaque, voidpf stream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 256
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 256
    functionName: fill_fopen64_filefunc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/ioapi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fill_fopen64_filefunc (zlib_filefunc64_def* pzlib_filefunc_def) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - fileName1
    - fileName2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: strcmpcasenosensitive_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int strcmpcasenosensitive_internal (const char* fileName1, const
      char* fileName2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1191
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1191
    functionName: unzGoToFirstFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGoToFirstFile (unzFile file) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1397,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1416,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1410,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1419,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1404,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1431,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1434,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1439,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1444,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1449,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1456,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 88
    argCount: 4
    argNames:
    - s
    - piSizeVar
    - poffset_local_extrafield
    - psize_local_extrafield
    argTypes:
    - unz64_s*
    - uInt*
    - ZPOS64_T*
    - uInt*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1465
    functionName: unz64local_CheckCurrentFileCoherencyHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_getLong
    - ZSEEK64
    - unz64local_getShort
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s,
      uInt* piSizeVar, ZPOS64_T * poffset_local_extrafield, uInt * psize_local_extrafield) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:420,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:429,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:447,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:424,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:450,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:464,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    constantsTouched: []
    func_position:
      end: 466
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 466
    functionName: unz64local_SearchCentralDir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - ZREAD64
    - ALLOC
    - TRYFREE
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: 'local ZPOS64_T unz64local_SearchCentralDir(const zlib_filefunc64_32_def*
      pzlib_filefunc_def, voidpf filestream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 1133
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1133
    functionName: unzGetCurrentFileInfo64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetCurrentFileInfo64 (unzFile file, unz_file_info64
      * pfile_info, char * szFileName, uLong fileNameBufferSize, void *extraField,
      uLong extraFieldBufferSize, char* szComment, uLong commentBufferSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 1172
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1172
    functionName: unzGetCurrentFileInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetCurrentFileInfo (unzFile file, unz_file_info
      * pfile_info, char * szFileName, uLong fileNameBufferSize, void *extraField,
      uLong extraFieldBufferSize, char* szComment, uLong commentBufferSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:398,1
    - Dst: STRCMPCASENOSENTIVEFUNCTION
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - fileName1
    - fileName2
    - iCaseSensitivity
    argTypes:
    - char*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 401
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 401
    functionName: unzStringFileNameCompare
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - STRCMPCASENOSENTIVEFUNCTION
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,
      const char* fileName2, int iCaseSensitivity) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1248,1
    - Dst: unzGetCurrentFileInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1266,1
    - Dst: unzStringFileNameCompare
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1271,1
    - Dst: unzGoToFirstFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1261,1
    - Dst: unzGoToNextFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - file
    - szFileName
    - iCaseSensitivity
    argTypes:
    - unzFile
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1286
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1286
    functionName: unzLocateFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzGoToNextFile
    - unzGetCurrentFileInfo64
    - unzStringFileNameCompare
    - unzGoToFirstFile
    - strlen
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName,
      int iCaseSensitivity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: unzOpenCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzOpenCurrentFile (unzFile file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1654,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - file
    - method
    - level
    - raw
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1655
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1655
    functionName: unzOpenCurrentFile2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzOpenCurrentFile2 (unzFile file, int* method,
      int* level, int raw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetOffset64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 2106
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2106
    functionName: unzGetOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzGetOffset64
    linkageType: ''
    returnType: uLong
    signature: 'extern uLong ZEXPORT unzGetOffset (unzFile file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:246,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: unz64local_getShort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong *pX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - file
    - password
    argTypes:
    - unzFile
    - char*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1650
    functionName: unzOpenCurrentFilePassword
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzOpenCurrentFilePassword (unzFile file, const
      char* password) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - ZPOS64_T
    constantsTouched: []
    func_position:
      end: 2124
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2124
    functionName: unzSetOffset64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzSetOffset64(unzFile file, ZPOS64_T pos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1220
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1220
    functionName: unzGoToNextFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGoToNextFile (unzFile file) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1494,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1503,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1511,1
    - Dst: unz64local_CheckCurrentFileCoherencyHeader
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1496,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1499,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1563,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1568,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1569,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1584,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1589,1
    - Dst: zdecode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1631,1
    - Dst: get_crc_table
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1620,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1622,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1590,1
    - Dst: init_keys
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1621,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1627,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 5
    argNames:
    - file
    - method
    - level
    - raw
    - password
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1640
    functionName: unzOpenCurrentFile3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - get_crc_table
    - BZ2_bzDecompressInit
    - unz64local_CheckCurrentFileCoherencyHeader
    - ZSEEK64
    - ZREAD64
    - inflateInit2
    - ALLOC
    - zdecode
    - TRYFREE
    - unzCloseCurrentFile
    - init_keys
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzOpenCurrentFile3 (unzFile file, int* method,
      int* level, int raw, const char* password) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:488,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:497,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:492,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:515,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:518,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:532,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:537,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:541,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:545,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:561,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:551,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:565,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:555,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    constantsTouched: []
    func_position:
      end: 572
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 572
    functionName: unz64local_SearchCentralDir64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_getLong64
    - ZSEEK64
    - ZREAD64
    - unz64local_getLong
    - ALLOC
    - TRYFREE
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: 'local ZPOS64_T unz64local_SearchCentralDir64(const zlib_filefunc64_32_def*
      pzlib_filefunc_def, voidpf filestream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:770,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:771,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - zlib_filefunc_def*
    constantsTouched: []
    func_position:
      end: 775
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 775
    functionName: unzOpen2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - fill_zlib_filefunc64_32_def_from_filefunc32
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: 'extern unzFile ZEXPORT unzOpen2 (const char *path, zlib_filefunc_def*
      pzlib_filefunc32_def) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - file
    - pglobal_info
    argTypes:
    - unzFile
    - unz_global_info64*
    constantsTouched: []
    func_position:
      end: 835
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 835
    functionName: unzGetGlobalInfo64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetGlobalInfo64 (unzFile file, unz_global_info64*
      pglobal_info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1321
    functionName: unzGetFilePos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetFilePos64(unzFile file, unz64_file_pos* file_pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1357
    functionName: unzGoToFilePos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGoToFilePos64(unzFile file, const unz64_file_pos*
      file_pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1922
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1922
    functionName: unztell64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'extern ZPOS64_T ZEXPORT unztell64 (unzFile file) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2031,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2042,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2037,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2034,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 2047
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2047
    functionName: unzCloseCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - TRYFREE
    - BZ2_bzDecompressEnd
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzCloseCurrentFile (unzFile file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:786,1
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc_def
    argTypes:
    - void*
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 790
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 790
    functionName: unzOpen2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: 'extern unzFile ZEXPORT unzOpen2_64 (const void *path, zlib_filefunc64_def*
      pzlib_filefunc_def) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetFilePos64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1335
    functionName: unzGetFilePos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzGetFilePos64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetFilePos( unzFile file, unz_file_pos* file_pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGoToFilePos64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1370
    functionName: unzGoToFilePos
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzGoToFilePos64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGoToFilePos( unzFile file, unz_file_pos* file_pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:815,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:817,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 820
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 820
    functionName: unzClose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - TRYFREE
    - ZCLOSE64
    - unzCloseCurrentFile
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzClose (unzFile file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1671
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1671
    functionName: unzGetCurrentFileZStreamPos64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64( unzFile file) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1989,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1996,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    constantsTouched: []
    func_position:
      end: 2002
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 2002
    functionName: unzGetLocalExtrafield
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - ZREAD64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetLocalExtrafield (unzFile file, voidp buf,
      unsigned len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:273,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:285,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:281,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    constantsTouched: []
    func_position:
      end: 293
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 293
    functionName: unz64local_getLong
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong *pX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: unzOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: 'extern unzFile ZEXPORT unzOpen (const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - ulDosDate
    - ptm
    argTypes:
    - ZPOS64_T
    - tm_unz*
    constantsTouched: []
    func_position:
      end: 862
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 862
    functionName: unz64local_DosDateToTmuDate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz*
      ptm) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:943,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1020,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1034,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1050,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1057,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1092,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:900,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:915,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:918,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:921,1
    - Dst: unz64local_DosDateToTmuDate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:930,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:979,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1002,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:932,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:946,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:955,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:958,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:939,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:952,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:949,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1044,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1071,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:909,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:924,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:927,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:935,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:962,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:995,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1031,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1064,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1099,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 184
    argCount: 9
    argNames:
    - file
    - pfile_info
    - pfile_info_internal
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - unz_file_info64_internal*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 1114
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 1114
    functionName: unz64local_GetCurrentFileInfoInternal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_DosDateToTmuDate
    - ZSEEK64
    - unz64local_getLong64
    - ZREAD64
    - unz64local_getLong
    - unz64local_getShort
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_GetCurrentFileInfoInternal (unzFile file, unz_file_info64
      *pfile_info, unz_file_info64_internal *pfile_info_internal, char *szFileName,
      uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char
      *szComment, uLong commentBufferSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1906
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1906
    functionName: unztell
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: z_off_t
    signature: 'extern z_off_t ZEXPORT unztell (unzFile file) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 2096
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2096
    functionName: unzGetOffset64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: 'extern ZPOS64_T ZEXPORT unzGetOffset64(unzFile file) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:309,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:321,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:313,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:317,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:325,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:329,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:333,1
    - Dst: unz64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:337,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    constantsTouched: []
    func_position:
      end: 345
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 345
    functionName: unz64local_getLong64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T *pX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 800
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 800
    functionName: unzOpen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: 'extern unzFile ZEXPORT unzOpen64 (const void *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzSetOffset64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - uLong
    constantsTouched: []
    func_position:
      end: 2129
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2129
    functionName: unzSetOffset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unzSetOffset64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzSetOffset (unzFile file, uLong pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:214,1
    - Dst: ZERROR64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: unz64local_getByte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - ZREAD64
    - ZERROR64
    linkageType: ''
    returnType: local
    signature: 'local int unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, int *pi) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:643,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:647,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:743,1
    - Dst: fill_fopen64_filefunc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:608,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:630,1
    - Dst: unz64local_SearchCentralDir64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:622,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:639,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:651,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:703,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:659,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:695,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:722,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:733,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:672,1
    - Dst: unz64local_SearchCentralDir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:684,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:690,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:712,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:635,1
    - Dst: ZOPEN64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:615,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:655,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:663,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:699,1
    - Dst: unz64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:677,1
    - Dst: unz64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:707,1
    - Dst: unz64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:728,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:754,1
    - Dst: unzGoToFirstFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:758,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 119
    argCount: 3
    argNames:
    - path
    - pzlib_filefunc64_32_def
    - is64bitOpenFunction
    argTypes:
    - void*
    - zlib_filefunc64_32_def*
    - int
    constantsTouched: []
    func_position:
      end: 761
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 761
    functionName: unzOpenInternal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - unz64local_SearchCentralDir
    - unz64local_getLong64
    - ZSEEK64
    - unz64local_SearchCentralDir64
    - unz64local_getLong
    - unzGoToFirstFile
    - fill_fopen64_filefunc
    - unz64local_getShort
    - ALLOC
    - ZOPEN64
    - ZCLOSE64
    linkageType: ''
    returnType: local
    signature: 'local unzFile unzOpenInternal (const void *path, zlib_filefunc64_32_def*
      pzlib_filefunc64_32_def, int is64bitOpenFunction) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - file
    - pglobal_info32
    argTypes:
    - unzFile
    - unz_global_info*
    constantsTouched: []
    func_position:
      end: 847
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 847
    functionName: unzGetGlobalInfo
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetGlobalInfo (unzFile file, unz_global_info*
      pglobal_info32) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1731,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1785,1
    - Dst: zdecode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1750,1
    - Dst: BZ2_bzDecompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1815,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1737,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1822,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1855,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:1869,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 130
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    constantsTouched: []
    func_position:
      end: 1887
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1887
    functionName: unzReadCurrentFile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - BZ2_bzDecompress
    - inflate
    - ZSEEK64
    - ZREAD64
    - crc32
    - zdecode
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned
      len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    constantsTouched: []
    func_position:
      end: 1944
      start: 1928
    functionDepth: 0
    functionLinenumber: 1928
    functionLinenumberEnd: 1944
    functionName: ZEXPORT
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzeof (unzFile file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2067,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c:2073,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - file
    - szComment
    - uSizeBuf
    argTypes:
    - unzFile
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 2080
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2080
    functionName: unzGetGlobalComment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/unzip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - ZREAD64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT unzGetGlobalComment (unzFile file, char * szComment,
      uLong uSizeBuf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:431,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:435,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:439,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:447,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:443,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:451,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:455,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    constantsTouched: []
    func_position:
      end: 468
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 468
    functionName: zip64local_getLong64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T *pX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1321
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1321
    functionName: zipOpenNewFileInZip2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip2(zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void* extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int raw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - zipFile
    constantsTouched: []
    func_position:
      end: 1747
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1747
    functionName: zipCloseFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipCloseFileInZipRaw
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipCloseFileInZip (zipFile file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1864,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1870,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1866,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - zi
    - global_comment
    argTypes:
    - zip64_internal*
    - char*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1874
    functionName: Write_GlobalComment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZWRITE64
    - strlen
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: 'local int Write_GlobalComment(zip64_internal* zi, const char* global_comment) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: allocate_new_datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: local*
    signature: 'local linkedlist_datablock_internal * allocate_new_datablock() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 12
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1334
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1334
    functionName: zipOpenNewFileInZip2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip2_64(zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void* extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int raw, int zip64) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1754,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1766,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1762,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - zi
    - zip64eocd_pos_inzip
    argTypes:
    - zip64_internal*
    - ZPOS64_T
    constantsTouched: []
    func_position:
      end: 1769
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1769
    functionName: Write_Zip64EndOfCentralDirectoryLocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: 'local int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal*
      zi, ZPOS64_T zip64eocd_pos_inzip) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZip
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1891,1
    - Dst: free_linkedlist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1916,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1921,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1908,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1899,1
    - Dst: Write_Zip64EndOfCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1922,1
    - Dst: Write_Zip64EndOfCentralDirectoryLocator
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1924,1
    - Dst: Write_EndOfCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1928,1
    - Dst: Write_GlobalComment
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1931,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1933,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1940,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1938,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - file
    - global_comment
    argTypes:
    - zipFile
    - char*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1943
    functionName: zipClose
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - Write_EndOfCentralDirectoryRecord
    - Write_Zip64EndOfCentralDirectoryRecord
    - ZWRITE64
    - Write_Zip64EndOfCentralDirectoryLocator
    - zipCloseFileInZip
    - free_linkedlist
    - Write_GlobalComment
    - TRYFREE
    - ZCLOSE64
    - ZTELL64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipClose (zipFile file, const char* global_comment) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ldi
    argTypes:
    - linkedlist_datablock_internal*
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: free_datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - TRYFREE
    linkageType: ''
    returnType: local
    signature: 'local void free_datablock(linkedlist_datablock_internal* ldi) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pzlib_filefunc_def
    - filestream
    - x
    - nbByte
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 307
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 307
    functionName: zip64local_putValue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZWRITE64
    linkageType: ''
    returnType: local
    signature: 'local int zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T x, int nbByte) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 950
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 950
    functionName: zipOpen
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: 'extern zipFile ZEXPORT zipOpen (const char* pathname, int append) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zencode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1372,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - zi
    argTypes:
    - zip64_internal*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1399
    functionName: zip64FlushWriteBuffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZWRITE64
    - zencode
    linkageType: ''
    returnType: local
    signature: 'local int zip64FlushWriteBuffer(zip64_internal* zi) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1777,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1789,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1783,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1780,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1786,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1792,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1795,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1798,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1801,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    constantsTouched: []
    func_position:
      end: 1809
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1809
    functionName: Write_Zip64EndOfCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: 'local int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi,
      uLong size_centraldir, ZPOS64_T centraldir_pos_inzip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: init_linkedlist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void init_linkedlist(linkedlist_data* ll) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - dest
    - x
    - nbByte
    argTypes:
    - void*
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: zip64local_putValue_inmemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local void zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int
      nbByte) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:351,1
    - Dst: ZERROR64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    constantsTouched: []
    func_position:
      end: 364
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 364
    functionName: zip64local_getByte
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZREAD64
    - ZERROR64
    linkageType: ''
    returnType: local
    signature: 'local int zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf
      filestream,int* pi) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:686,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:694,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:702,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:710,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:748,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:740,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:760,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:753,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:726,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:770,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:815,1
    - Dst: zip64local_SearchCentralDir64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:664,1
    - Dst: zip64local_SearchCentralDir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:671,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:824,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:837,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:794,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:784,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:690,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:698,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:706,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:736,1
    - Dst: zip64local_getShort
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:744,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:714,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:721,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:800,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:814,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:682,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:803,1
    - Dst: add_data_in_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:828,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:832,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:777,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 140
    argCount: 1
    argNames:
    - pziinit
    argTypes:
    - zip64_internal*
    constantsTouched: []
    func_position:
      end: 841
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 841
    functionName: LoadCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_getLong
    - zip64local_SearchCentralDir64
    - ZSEEK64
    - add_data_in_datablock
    - ZREAD64
    - TRYFREE
    - zip64local_getShort
    - ALLOC
    - zip64local_SearchCentralDir
    - ZCLOSE64
    - zip64local_getLong64
    linkageType: ''
    returnType: local
    signature: 'local int LoadCentralDirectoryRecord(zip64_internal* pziinit) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen64_filefunc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:857,1
    - Dst: init_linkedlist
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:878,1
    - Dst: ZOPEN64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:861,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:873,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:871,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:882,1
    - Dst: ZCLOSE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:885,1
    - Dst: LoadCentralDirectoryRecord
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:895,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:907,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc64_32_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_32_def*
    constantsTouched: []
    func_position:
      end: 917
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 917
    functionName: zipOpen3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - fill_fopen64_filefunc
    - ALLOC
    - LoadCentralDirectoryRecord
    - init_linkedlist
    - TRYFREE
    - ZOPEN64
    - ZCLOSE64
    - ZTELL64
    linkageType: ''
    returnType: zipFile
    signature: 'extern zipFile ZEXPORT zipOpen3 (const void *pathname, int append,
      zipcharpc* globalcomment, zlib_filefunc64_32_def* pzlib_filefunc64_32_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: zipOpen64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: 'extern zipFile ZEXPORT zipOpen64 (const void* pathname, int append) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1413,1
    - Dst: BZ2_bzCompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1440,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1459,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1426,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1472,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - zipFile
    - void*
    - unsigned int
    constantsTouched: []
    func_position:
      end: 1501
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1501
    functionName: zipWriteInFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64FlushWriteBuffer
    - BZ2_bzCompress
    - crc32
    - deflate
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipWriteInFileInZip (zipFile file,const void* buf,unsigned
      int len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1815,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1821,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1818,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1829,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1827,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1836,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1838,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1842,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1849,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1852,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    constantsTouched: []
    func_position:
      end: 1856
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1856
    functionName: Write_EndOfCentralDirectoryRecord
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: local
    signature: 'local int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong
      size_centraldir, ZPOS64_T centraldir_pos_inzip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 18
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - versionMadeBy
    - flagBase
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - uLong
    - uLong
    constantsTouched: []
    func_position:
      end: 1278
      start: 1264
    functionDepth: 0
    functionLinenumber: 1264
    functionLinenumberEnd: 1278
    functionName: zipOpenNewFileInZip4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip4 (zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void* extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int raw, int windowBits,int memLevel, int strategy, const
      char* password, uLong crcForCrypting, uLong versionMadeBy, uLong flagBase) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1959,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1998,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1988,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1984,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1974,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - pData
    - dataLen
    - sHeader
    argTypes:
    - char*
    - int*
    - short
    constantsTouched: []
    func_position:
      end: 2001
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2001
    functionName: zipRemoveExtraInfoBlock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - TRYFREE
    - memcpy
    - ALLOC
    - memset
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipRemoveExtraInfoBlock (char* pData, int* dataLen,
      short sHeader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:487,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:491,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:496,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:514,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:517,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:531,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    constantsTouched: []
    func_position:
      end: 533
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 533
    functionName: zip64local_SearchCentralDir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - ZREAD64
    - ALLOC
    - TRYFREE
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: 'local ZPOS64_T zip64local_SearchCentralDir(const zlib_filefunc64_32_def*
      pzlib_filefunc_def, voidpf filestream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:924,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:928,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - int
    - zipcharpc*
    - zlib_filefunc_def*
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: zipOpen2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpen3
    - fill_zlib_filefunc64_32_def_from_filefunc32
    linkageType: ''
    returnType: zipFile
    signature: 'extern zipFile ZEXPORT zipOpen2 (const char *pathname, int append,
      zipcharpc* globalcomment, zlib_filefunc_def* pzlib_filefunc32_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1287,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 16
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    constantsTouched: []
    func_position:
      end: 1293
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1293
    functionName: zipOpenNewFileInZip3
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip3 (zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void* extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int raw, int windowBits,int memLevel, int strategy, const
      char* password, uLong crcForCrypting) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1341,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1347
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1347
    functionName: zipOpenNewFileInZip64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip64 (zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void*extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int zip64) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:400,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:412,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:404,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    constantsTouched: []
    func_position:
      end: 420
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 420
    functionName: zip64local_getLong
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:939,1
    - Dst: zipOpen3
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:942,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_def*
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: zipOpen2_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: 'extern zipFile ZEXPORT zipOpen2_64 (const void *pathname, int append,
      zipcharpc* globalcomment, zlib_filefunc64_def* pzlib_filefunc_def) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 17
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - int
    constantsTouched: []
    func_position:
      end: 1308
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1308
    functionName: zipOpenNewFileInZip3_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip3_64(zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void* extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level, int raw, int windowBits,int memLevel, int strategy, const
      char* password, uLong crcForCrypting, int zip64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 10
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 1360
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1360
    functionName: zipOpenNewFileInZip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipOpenNewFileInZip (zipFile file, const char*
      filename, const zip_fileinfo* zipfi, const void* extrafield_local, uInt size_extrafield_local,
      const void*extrafield_global, uInt size_extrafield_global, const char* comment,
      int method, int level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: free_linkedlist
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - free_datablock
    linkageType: ''
    returnType: local
    signature: 'local void free_linkedlist(linkedlist_data* ll) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ptm
    argTypes:
    - tm_zip*
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: zip64local_TmzDateToDosDate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local uLong zip64local_TmzDateToDosDate(const tm_zip* ptm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:378,1
    - Dst: zip64local_getByte
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    constantsTouched: []
    func_position:
      end: 390
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 390
    functionName: zip64local_getShort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: 'local int zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - uLong
    - uLong
    constantsTouched: []
    func_position:
      end: 1506
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1506
    functionName: zipCloseFileInZipRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zipCloseFileInZipRaw64
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size,
      uLong crc32) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allocate_new_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:234,1
    - Dst: allocate_new_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - ll
    - buf
    - len
    argTypes:
    - linkedlist_data*
    - void*
    - uLong
    constantsTouched: []
    func_position:
      end: 273
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 273
    functionName: add_data_in_datablock
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - allocate_new_datablock
    linkageType: ''
    returnType: local
    signature: 'local int add_data_in_datablock(linkedlist_data* ll, const void* buf,
      uLong len) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:551,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:577,1
    - Dst: ALLOC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:559,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:554,1
    - Dst: ZREAD64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:580,1
    - Dst: TRYFREE
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:597,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:602,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:606,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:610,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:626,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:630,1
    - Dst: zip64local_getLong64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:616,1
    - Dst: zip64local_getLong
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:620,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    constantsTouched: []
    func_position:
      end: 637
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 637
    functionName: zip64local_SearchCentralDir64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - zip64local_getLong
    - ZSEEK64
    - ZREAD64
    - ALLOC
    - TRYFREE
    - ZTELL64
    - zip64local_getLong64
    linkageType: ''
    returnType: local
    signature: 'local ZPOS64_T zip64local_SearchCentralDir64(const zlib_filefunc64_32_def*
      pzlib_filefunc_def, voidpf filestream) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:964,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1010,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1014,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1040,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:961,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:969,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:991,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1034,1
    - Dst: ZWRITE64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1020,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:996,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1039,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:978,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:985,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1037,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:971,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:975,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:981,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:989,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1002,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1036,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:998,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 4
    argNames:
    - zi
    - filename
    - size_extrafield_local
    - extrafield_local
    argTypes:
    - zip64_internal*
    - char*
    - uInt
    - void*
    constantsTouched: []
    func_position:
      end: 1044
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1044
    functionName: Write_LocalFileHeader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZWRITE64
    - strlen
    - zip64local_putValue
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: 'local int Write_LocalFileHeader(zip64_internal* zi, const char* filename,
      uInt size_extrafield_local, const void* extrafield_local) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1531,1
    - Dst: BZ2_bzCompress
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1556,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1573,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1625,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1615,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1630,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1659,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1702,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1713,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1550,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1579,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1609,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1657,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1670,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1694,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1731,1
    - Dst: BZ2_bzCompressEnd
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1587,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1621,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1688,1
    - Dst: add_data_in_datablock
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1692,1
    - Dst: ZTELL64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1700,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1717,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1720,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1728,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1537,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1611,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1628,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1619,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1664,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1676,1
    - Dst: zip64local_putValue
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1706,1
    - Dst: ZSEEK64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c:1734,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 182
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - ZPOS64_T
    - uLong
    constantsTouched: []
    func_position:
      end: 1742
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1742
    functionName: zipCloseFileInZipRaw64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/zip.c
    functionUses: []
    functionsReached:
    - ZSEEK64
    - add_data_in_datablock
    - zip64local_putValue
    - free
    - BZ2_bzCompressEnd
    - zip64FlushWriteBuffer
    - BZ2_bzCompress
    - deflate
    - ZTELL64
    - zip64local_putValue_inmemory
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'extern int ZEXPORT zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T
      uncompressed_size, uLong crc32) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateFileA
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:92,1
    - Dst: GetFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:94,1
    - Dst: DosDateTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:95,1
    - Dst: LocalFileTimeToFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:96,1
    - Dst: SetFileTime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:97,1
    - Dst: CloseHandle
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:98,1
    - Dst: mktime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:115,1
    - Dst: utime
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames:
    - filename
    - dosdate
    - tmu_date
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 119
    functionName: change_file_date
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - DosDateTimeToFileTime
    - utime
    - GetFileTime
    - CreateFileA
    - LocalFileTimeToFileTime
    - CloseHandle
    - mktime
    - SetFileTime
    linkageType: ''
    returnType: void
    signature: 'static void change_file_date(filename,dosdate,tmu_date) const char
      *filename; uLong dosdate; tm_unz tmu_date; '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: do_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void do_help() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:191,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: do_banner
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void do_banner() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:130,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:134,1
    - Dst: mkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames:
    - dirname
    argTypes: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: mymkdir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - _mkdir
    - mkdir
    linkageType: ''
    returnType: int
    signature: 'static int mymkdir(dirname) const char* dirname; '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:144,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:149,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:155,1
    - Dst: mymkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:160,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:152,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:162,1
    - Dst: mymkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:175,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:177,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:178,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 0
    argNames:
    - newdir
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 187
    functionName: makedir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - malloc
    - mymkdir
    - strcpy
    - free
    - printf
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int makedir (newdir) const char *newdir; '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: unzGetGlobalInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:242,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:246,1
    - Dst: unzGetCurrentFileInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:254,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:244,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:245,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:257,1
    - Dst: Display64BitsSize
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:288,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:289,1
    - Dst: Display64BitsSize
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:290,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:291,1
    - Dst: unzGoToNextFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:300,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:303,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 0
    argNames:
    - uf
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 310
    functionName: do_list
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - unzGoToNextFile
    - Display64BitsSize
    - unzGetCurrentFileInfo64
    - printf
    - unzGetGlobalInfo64
    linkageType: ''
    returnType: int
    signature: 'static int do_list(uf) unzFile uf; '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: mymkdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:357,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:373,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:393,1
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:411,1
    - Dst: makedir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:418,1
    - Dst: unzReadCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:435,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:389,1
    - Dst: change_file_date
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:454,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:463,1
    - Dst: unzGetCurrentFileInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:328,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:337,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:431,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:425,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:332,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:340,1
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:380,1
    - Dst: scanf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:390,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:438,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:451,1
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:460,1
    - Dst: unzCloseCurrentFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:467,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:470,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:356,1
    - Dst: unzOpenCurrentFilePassword
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:370,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:383,1
    - Dst: FOPEN_FUNC
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:420,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:442,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:444,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 117
    argCount: 0
    argNames:
    - uf
    - popt_extract_without_path
    - popt_overwrite
    - password
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 472
    functionName: do_extract_currentfile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - malloc
    - exit
    - fwrite
    - fclose
    - mymkdir
    - unzGetCurrentFileInfo64
    - free
    - FOPEN_FUNC
    - unzOpenCurrentFilePassword
    - printf
    - change_file_date
    - unzCloseCurrentFile
    - unzReadCurrentFile
    - scanf
    - makedir
    linkageType: ''
    returnType: int
    signature: 'static int do_extract_currentfile(uf,popt_extract_without_path,popt_overwrite,password)
      unzFile uf; const int* popt_extract_without_path; int* popt_overwrite; const
      char* password; '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unzGetGlobalInfo64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:485,1
    - Dst: do_extract_currentfile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:491,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:487,1
    - Dst: unzGoToNextFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:498,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames:
    - uf
    - opt_extract_without_path
    - opt_overwrite
    - password
    argTypes: []
    constantsTouched: []
    func_position:
      end: 508
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 508
    functionName: do_extract
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - do_extract_currentfile
    - unzGoToNextFile
    - unzGetGlobalInfo64
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int do_extract(uf,opt_extract_without_path,opt_overwrite,password)
      unzFile uf; int opt_extract_without_path; int opt_overwrite; const char* password; '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:228,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:232,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - n
    - size_char
    argTypes:
    - ZPOS64_T
    - int
    constantsTouched: []
    func_position:
      end: 233
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 233
    functionName: Display64BitsSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void Display64BitsSize(ZPOS64_T n, int size_char) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzLocateFile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:517,1
    - Dst: do_extract_currentfile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:523,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames:
    - uf
    - filename
    - opt_extract_without_path
    - opt_overwrite
    - password
    argTypes: []
    constantsTouched: []
    func_position:
      end: 529
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 529
    functionName: do_extract_onefile
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - do_extract_currentfile
    - unzLocateFile
    - printf
    linkageType: ''
    returnType: int
    signature: 'static int do_extract_onefile(uf,filename,opt_extract_without_path,opt_overwrite,password)
      unzFile uf; const char* filename; int opt_extract_without_path; int opt_overwrite;
      const char* password; '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: unzOpen2_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:613,1
    - Dst: do_help
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:553,1
    - Dst: unzOpen64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:615,1
    - Dst: chdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:642,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:607,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:630,1
    - Dst: do_list
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:636,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:633,1
    - Dst: do_banner
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:550,1
    - Dst: fill_win32_filefunc64A
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:612,1
    - Dst: strcat
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:619,1
    - Dst: unzOpen2_64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:621,1
    - Dst: unzClose
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:655,1
    - Dst: _chdir
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:640,1
    - Dst: unzOpen64
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:623,1
    - Dst: do_extract_onefile
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:652,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:646,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:645,1
    - Dst: do_extract
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c:650,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 98
    argCount: 0
    argNames:
    - argc
    - argv
    argTypes: []
    constantsTouched: []
    func_position:
      end: 658
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 658
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/minizip/miniunz.c
    functionUses: []
    functionsReached:
    - do_help
    - chdir
    - unzOpen2_64
    - unzOpen64
    - do_list
    - strncpy
    - exit
    - do_extract
    - do_extract_onefile
    - unzClose
    - printf
    - do_banner
    - _chdir
    - fill_win32_filefunc64A
    - strcat
    linkageType: ''
    returnType: int
    signature: 'int main(argc,argv) int argc; char *argv[]; '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:407,1
    - Dst: decomp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:410,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 6
    argNames:
    - infun
    - inhow
    - outfun
    - outhow
    - left
    - in
    argTypes:
    - blast_in
    - void*
    - blast_out
    - void*
    - unsigned*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 422
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 422
    functionName: blast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - decomp
    - setjmp
    linkageType: ''
    returnType: int
    signature: 'int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,
      unsigned *left, unsigned char **in) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:164,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    constantsTouched: []
    func_position:
      end: 171
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 171
    functionName: decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: 'local int decode(struct state *s, struct huffman *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - how
    - buf
    argTypes:
    - void*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 437
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 437
    functionName: inf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - fread
    linkageType: ''
    returnType: local unsigned
    signature: 'local unsigned inf(void *how, unsigned char **buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blast
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:452,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:460,1
    - Dst: getchar
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:457,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 464
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 464
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - fprintf
    - getchar
    - blast
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - how
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: outf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: local
    signature: 'local int outf(void *how, unsigned char *buf, unsigned len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: 'local int bits(struct state *s, int need) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - h
    - rep
    - n
    argTypes:
    - struct huffman*
    - unsigned char*
    - int
    constantsTouched: []
    func_position:
      end: 241
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 241
    functionName: construct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: 'local int construct(struct huffman *h, const unsigned char *rep, int
      n) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:316,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:317,1
    - Dst: construct
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:318,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:325,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:323,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:330,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:332,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:333,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:338,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:339,1
    - Dst: bits
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:369,1
    - Dst: decode
      Src: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c:369,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    constantsTouched: []
    func_position:
      end: 379
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 379
    functionName: decomp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/zlib-1.2.13/contrib/blast/blast.c
    functionUses: []
    functionsReached:
    - construct
    - decode
    - bits
    linkageType: ''
    returnType: local
    signature: 'local int decomp(struct state *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_string_ptr
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - item
    - p
    argTypes:
    - tools_cJSON*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: print_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print_string_ptr
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_string(const tools_cJSON * const item,
      printbuffer * const p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 189
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 189
    functionName: tools_cJSON_Delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_Delete(tools_cJSON *item) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:804,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:809,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:896,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:840,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:850,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 62
    argCount: 2
    argNames:
    - input
    - output_buffer
    argTypes:
    - unsigned char*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 906
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 906
    functionName: print_string_ptr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - ensure
    - strcpy
    - memcpy
    - sprintf
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_string_ptr(const unsigned char * const
      input, printbuffer * const output_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - internal_hooks*
    constantsTouched: []
    func_position:
      end: 165
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 165
    functionName: tools_cJSON_New_Item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: tools_cJSON*
    signature: 'static tools_cJSON *tools_cJSON_New_Item(const internal_hooks * const
      hooks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2166
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2166
    functionName: tools_cJSON_CreateArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateArray(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2177
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2177
    functionName: tools_cJSON_CreateObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateObject(void) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:222,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:255,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:248,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:234,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:236,1
    - Dst: strtod
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:270,1
    - Dst: strtoll
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:292,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 40
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 300
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 300
    functionName: parse_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    - strtod
    - strtoll
    - get_decimal_point
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool parse_number(tools_cJSON * const item, parse_buffer
      * const input_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2066,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2073
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2073
    functionName: tools_cJSON_CreateTrue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateTrue(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:959,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:969,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:969,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:978,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:963,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:979,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:986,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:994,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 3
    argNames:
    - value
    - return_parse_end
    - require_null_terminated
    argTypes:
    - char*
    - char**
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 1021
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 1021
    functionName: tools_cJSON_ParseWithOpts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_skip_whitespace
    - buffer_at_offset
    - parse_value
    - tools_cJSON_New_Item
    - tools_cJSON_Delete
    - strlen
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_ParseWithOpts(const char *value,
      const char **return_parse_end, tools_cJSON_bool require_null_terminated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1096,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1097
    functionName: tools_cJSON_Print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print
    linkageType: ''
    returnType: CJSON_PUBLIC(char *)
    signature: 'CJSON_PUBLIC(char *) tools_cJSON_Print(const tools_cJSON *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1102
    functionName: tools_cJSON_PrintUnformatted
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print
    linkageType: ''
    returnType: CJSON_PUBLIC(char *)
    signature: 'CJSON_PUBLIC(char *) tools_cJSON_PrintUnformatted(const tools_cJSON
      *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1755
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1755
    functionName: tools_cJSON_GetObjectItemCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_GetObjectItemCaseSensitive(const
      tools_cJSON * const object, const char * const string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1865,1
    - Dst: create_reference
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1866
    functionName: tools_cJSON_AddItemReferenceToArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - create_reference
    - tools_cJSON_AddItemToArray
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_AddItemReferenceToArray(tools_cJSON
      *array, tools_cJSON *item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - item
    - prebuffer
    - fmt
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 1132
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1132
    functionName: tools_cJSON_PrintBuffered
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print_value
    linkageType: ''
    returnType: CJSON_PUBLIC(char *)
    signature: 'CJSON_PUBLIC(char *) tools_cJSON_PrintBuffered(const tools_cJSON *item,
      int prebuffer, tools_cJSON_bool fmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1760
    functionName: tools_cJSON_HasObjectItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_GetObjectItem
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_HasObjectItem(const tools_cJSON
      *object, const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToObject
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1875,1
    - Dst: create_reference
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1876
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1876
    functionName: tools_cJSON_AddItemReferenceToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - create_reference
    - tools_cJSON_AddItemToObject
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_AddItemReferenceToObject(tools_cJSON
      *object, const char *string, tools_cJSON *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2077,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2084
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2084
    functionName: tools_cJSON_CreateFalse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateFalse(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:930,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 941
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 941
    functionName: buffer_skip_whitespace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    linkageType: ''
    returnType: parse_buffer*
    signature: 'static parse_buffer *buffer_skip_whitespace(parse_buffer * const buffer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1036,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1052,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1048,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1070,1
    - Dst: cjson_min
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1070,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - item
    - format
    - hooks
    argTypes:
    - tools_cJSON*
    - tools_cJSON_bool
    - internal_hooks*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1091
    functionName: print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - update_offset
    - memset
    - print_value
    - memcpy
    - cjson_min
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char *print(const tools_cJSON * const item, tools_cJSON_bool
      format, const internal_hooks * const hooks) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - parent
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1906
    functionName: tools_cJSON_DetachItemViaPointer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_DetachItemViaPointer(tools_cJSON
      *parent, tools_cJSON * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_DetachItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1915,1
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - tools_cJSON*
    - int
    constantsTouched: []
    func_position:
      end: 1916
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1916
    functionName: tools_cJSON_DetachItemFromArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_DetachItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_DetachItemFromArray(tools_cJSON
      *array, int which) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2062
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2062
    functionName: tools_cJSON_CreateNull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateNull(void) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1222,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1231,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1227,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1236,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1240,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1245,1
    - Dst: print_number
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1249,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1263,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1264,1
    - Dst: print_array
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1277,1
    - Dst: print_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1274,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1269,1
    - Dst: print_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1280,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1285
    functionName: print_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print_number
    - strcpy
    - ensure
    - strlen
    - print_array
    - print_object
    - memcpy
    - print_string
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_value(const tools_cJSON * const item,
      printbuffer * const output_buffer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - tools_cJSON*
    - size_t
    constantsTouched: []
    func_position:
      end: 1707
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1707
    functionName: get_array_item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: tools_cJSON*
    signature: 'static tools_cJSON * get_array_item(const tools_cJSON *array, size_t
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1944,1
    - Dst: tools_cJSON_DetachItemFromObjectCaseSensitive
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1945
      start: 1942
    functionDepth: 0
    functionLinenumber: 1942
    functionLinenumberEnd: 1945
    functionName: tools_cJSON_DeleteItemFromObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_DetachItemFromObjectCaseSensitive
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_DeleteItemFromObjectCaseSensitive(tools_cJSON
      *object, const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2501
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2501
    functionName: tools_cJSON_IsTrue
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsTrue(const tools_cJSON
      * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - array
    - index
    argTypes:
    - tools_cJSON*
    - int
    constantsTouched: []
    func_position:
      end: 1717
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1717
    functionName: tools_cJSON_GetArrayItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - get_array_item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_GetArrayItem(const tools_cJSON
      *array, int index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2512
    functionName: tools_cJSON_IsBool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsBool(const tools_cJSON
      * const item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1815,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - array
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1817
    functionName: tools_cJSON_AddItemToArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - suffix_object
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_AddItemToArray(tools_cJSON *array,
      tools_cJSON *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToObjectCS
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1827,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1830
    functionName: tools_cJSON_AddItemToObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_AddItemToObjectCS
    - tools_cJSON_strdup
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_AddItemToObject(tools_cJSON *object,
      const char *string, tools_cJSON *item) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1731,1
    - Dst: case_insensitive_strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1738,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - object
    - name
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 1745
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1745
    functionName: get_object_item
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - case_insensitive_strcmp
    - strcmp
    linkageType: ''
    returnType: tools_cJSON*
    signature: 'static tools_cJSON *get_object_item(const tools_cJSON * const object,
      const char * const name, const tools_cJSON_bool case_sensitive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_free
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2032,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2034,1
    - Dst: tools_cJSON_ReplaceItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2037,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - object
    - string
    - replacement
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 2040
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2040
    functionName: replace_item_in_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_ReplaceItemViaPointer
    - tools_cJSON_strdup
    - get_object_item
    - tools_cJSON_free
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool replace_item_in_object(tools_cJSON *object,
      const char *string, tools_cJSON *replacement, tools_cJSON_bool case_sensitive) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1920,1
    - Dst: tools_cJSON_DetachItemFromArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - array
    - which
    argTypes:
    - tools_cJSON*
    - int
    constantsTouched: []
    func_position:
      end: 1921
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1921
    functionName: tools_cJSON_DeleteItemFromArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_DetachItemFromArray
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_DeleteItemFromArray(tools_cJSON *array,
      int which) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1750
    functionName: tools_cJSON_GetObjectItem
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - get_object_item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_GetObjectItem(const tools_cJSON
      * const object, const char * const string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItem
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1925,1
    - Dst: tools_cJSON_DetachItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1928
    functionName: tools_cJSON_DetachItemFromObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_DetachItemViaPointer
    - tools_cJSON_GetObjectItem
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_DetachItemFromObject(tools_cJSON
      *object, const char *string) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2045
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2045
    functionName: tools_cJSON_ReplaceItemInObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_ReplaceItemInObject(tools_cJSON *object,
      const char *string, tools_cJSON *newitem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1778,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1784,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - item
    - hooks
    argTypes:
    - tools_cJSON*
    - internal_hooks*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1789
    functionName: create_reference
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - memcpy
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: tools_cJSON*
    signature: 'static tools_cJSON *create_reference(const tools_cJSON *item, const
      internal_hooks * const hooks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: get_decimal_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - localeconv
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char get_decimal_point(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - prev
    - item
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1767
    functionName: suffix_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void suffix_object(tools_cJSON *prev, tools_cJSON *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: tools_cJSON_GetErrorPtr
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(const char *)
    signature: 'CJSON_PUBLIC(const char *) tools_cJSON_GetErrorPtr(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:114,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - string
    - hooks
    argTypes:
    - unsigned char*
    - internal_hooks*
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: tools_cJSON_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char * tools_cJSON_strdup(const unsigned char* string,
      const internal_hooks * const hooks) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2192,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2195,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2198,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 2213
      start: 2180
    functionDepth: 0
    functionLinenumber: 2180
    functionLinenumberEnd: 2213
    functionName: tools_cJSON_CreateIntArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_CreateNumber
    - suffix_object
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateIntArray(const int *numbers,
      int count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2263,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2270,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2267,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - double*
    - int
    constantsTouched: []
    func_position:
      end: 2285
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2285
    functionName: tools_cJSON_CreateDoubleArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_CreateNumber
    - suffix_object
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateDoubleArray(const double
      *numbers, int count) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - hooks
    argTypes:
    - tools_cJSON_Hooks*
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: tools_cJSON_InitHooks
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_InitHooks(tools_cJSON_Hooks* hooks) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2227,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2234,1
    - Dst: tools_cJSON_CreateNumber
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2231,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - numbers
    - count
    argTypes:
    - float*
    - int
    constantsTouched: []
    func_position:
      end: 2249
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2249
    functionName: tools_cJSON_CreateFloatArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_CreateNumber
    - suffix_object
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateFloatArray(const float
      *numbers, int count) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_CreateArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2299,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2306,1
    - Dst: tools_cJSON_CreateString
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2303,1
    - Dst: suffix_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - strings
    - count
    argTypes:
    - char**
    - int
    constantsTouched: []
    func_position:
      end: 2321
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2321
    functionName: tools_cJSON_CreateStringArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_CreateString
    - suffix_object
    - tools_cJSON_CreateArray
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateStringArray(const char
      **strings, int count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: update_offset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void update_offset(printbuffer * const buffer) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - p
    - needed
    argTypes:
    - printbuffer*
    - size_t
    constantsTouched: []
    func_position:
      end: 418
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 418
    functionName: ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: unsigned char*
    signature: 'static unsigned char * ensure(printbuffer * const p, size_t needed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:84,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:92,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:84,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - string1
    - string2
    argTypes:
    - unsigned char*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 93
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 93
    functionName: case_insensitive_strcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: 'static int case_insensitive_strcmp(const unsigned char *string1, const
      unsigned char *string2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1163,1
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1170,1
    - Dst: can_read
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1177,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1185,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1190,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1195,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1200,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1190,1
    - Dst: parse_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1187,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1190,1
    - Dst: parse_array
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1197,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1200,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1170,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1163,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1177,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1190,1
    - Dst: parse_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1202,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1163,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1170,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1177,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1185,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1195,1
    - Dst: parse_number
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1192,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1207
    functionName: parse_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_at_offset
    - can_access_at_index
    - strncmp
    - parse_string
    - parse_array
    - parse_number
    - can_read
    - parse_object
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool parse_value(tools_cJSON * const item, parse_buffer
      * const input_buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_GetObjectItemCaseSensitive
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1932,1
    - Dst: tools_cJSON_DetachItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1935
    functionName: tools_cJSON_DetachItemFromObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_DetachItemViaPointer
    - tools_cJSON_GetObjectItemCaseSensitive
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_DetachItemFromObjectCaseSensitive(tools_cJSON
      *object, const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2521
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2521
    functionName: tools_cJSON_IsNull
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsNull(const tools_cJSON
      * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2541
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2541
    functionName: tools_cJSON_IsString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsString(const tools_cJSON
      * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2561
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2561
    functionName: tools_cJSON_IsObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsObject(const tools_cJSON
      * const item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1939,1
    - Dst: tools_cJSON_DetachItemFromObject
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - object
    - string
    argTypes:
    - tools_cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 1940
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1940
    functionName: tools_cJSON_DeleteItemFromObject
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_DetachItemFromObject
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_DeleteItemFromObject(tools_cJSON *object,
      const char *string) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2531
    functionName: tools_cJSON_IsNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsNumber(const tools_cJSON
      * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2551
    functionName: tools_cJSON_IsArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsArray(const tools_cJSON
      * const item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2571
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2571
    functionName: tools_cJSON_IsRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsRaw(const tools_cJSON
      * const item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: tools_cJSON_Version
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: CJSON_PUBLIC(const char*)
    signature: 'CJSON_PUBLIC(const char*) tools_cJSON_Version(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - input
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 533
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 533
    functionName: parse_hex4
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: 'static unsigned parse_hex4(const unsigned char * const input) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - item
    - buf
    - len
    - fmt
    argTypes:
    - tools_cJSON*
    - char*
    - int
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 1151
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1151
    functionName: tools_cJSON_PrintPreallocated
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - print_value
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_PrintPreallocated(tools_cJSON
      *item, char *buf, const int len, const tools_cJSON_bool fmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - object
    - number
    argTypes:
    - tools_cJSON*
    - double
    constantsTouched: []
    func_position:
      end: 319
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 319
    functionName: tools_cJSON_SetNumberHelper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(double)
    signature: 'CJSON_PUBLIC(double) tools_cJSON_SetNumberHelper(tools_cJSON *object,
      double number) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_decimal_point
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:441,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:457,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:452,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:463,1
    - Dst: sscanf
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:460,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:474,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 497
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 497
    functionName: print_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - sscanf
    - ensure
    - get_decimal_point
    - sprintf
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_number(const tools_cJSON * const item,
      printbuffer * const output_buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1852,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - object
    - string
    - item
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1853
    functionName: tools_cJSON_AddItemToObjectCS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_AddItemToArray
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_AddItemToObjectCS(tools_cJSON *object,
      const char *string, tools_cJSON *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - b
    argTypes:
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 2095
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2095
    functionName: tools_cJSON_CreateBool
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateBool(tools_cJSON_bool
      b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - num
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 2121
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2121
    functionName: tools_cJSON_CreateNumber
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateNumber(double num) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1299,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1314,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1307,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1307,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1306,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1326,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1348,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1349,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1353,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1355,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1357,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1375,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1355,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1357,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1379
    functionName: parse_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_skip_whitespace
    - buffer_at_offset
    - can_access_at_index
    - cannot_access_at_index
    - tools_cJSON_New_Item
    - parse_value
    - tools_cJSON_Delete
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool parse_array(tools_cJSON * const item, parse_buffer
      * const input_buffer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1957,1
    - Dst: tools_cJSON_AddItemToArray
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1975
    functionName: tools_cJSON_InsertItemInArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_AddItemToArray
    - get_array_item
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_InsertItemInArray(tools_cJSON *array,
      int which, tools_cJSON *newitem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_ParseWithOpts
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1027
    functionName: tools_cJSON_Parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_ParseWithOpts
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_Parse(const char *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2007,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - parent
    - item
    - replacement
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2010
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 2010
    functionName: tools_cJSON_ReplaceItemViaPointer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_ReplaceItemViaPointer(tools_cJSON
      * const parent, tools_cJSON * const item, tools_cJSON * replacement) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: replace_item_in_object
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2049,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - object
    - string
    - newitem
    argTypes:
    - tools_cJSON*
    - char*
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2050
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2050
    functionName: tools_cJSON_ReplaceItemInObjectCaseSensitive
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - replace_item_in_object
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_ReplaceItemInObjectCaseSensitive(tools_cJSON
      *object, const char *string, tools_cJSON *newitem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_ReplaceItemViaPointer
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2019,1
    - Dst: get_array_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - array
    - which
    - newitem
    argTypes:
    - tools_cJSON*
    - int
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2020
    functionName: tools_cJSON_ReplaceItemInArray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_ReplaceItemViaPointer
    - get_array_item
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_ReplaceItemInArray(tools_cJSON *array,
      int which, tools_cJSON *newitem) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1455,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1468,1
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1480,1
    - Dst: parse_string
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1503,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1529,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1513,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1546,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1525,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1513,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1461,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1507,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1520,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1462,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1455,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1462,1
    - Dst: buffer_skip_whitespace
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1502,1
    - Dst: parse_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1521,1
    - Dst: cannot_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1529,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1527,1
    - Dst: can_access_at_index
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1527,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 59
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1550
    functionName: parse_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_skip_whitespace
    - buffer_at_offset
    - can_access_at_index
    - cannot_access_at_index
    - parse_string
    - tools_cJSON_New_Item
    - parse_value
    - tools_cJSON_Delete
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool parse_object(tools_cJSON * const item, parse_buffer
      * const input_buffer) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:660,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:666,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:696,1
    - Dst: buffer_at_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:661,1
    - Dst: utf16_literal_to_utf8
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:746,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 68
    argCount: 2
    argNames:
    - item
    - input_buffer
    argTypes:
    - tools_cJSON*
    - parse_buffer*
    constantsTouched: []
    func_position:
      end: 784
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 784
    functionName: parse_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - buffer_at_offset
    - utf16_literal_to_utf8
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool parse_string(tools_cJSON * const item, parse_buffer
      * const input_buffer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1395,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1411,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1415,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1407,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1431,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1441
    functionName: print_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - ensure
    - update_offset
    - print_value
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_array(const tools_cJSON * const item,
      printbuffer * const output_buffer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2337,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2356,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2348,1
    - Dst: tools_cJSON_Duplicate
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2371,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2397,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - item
    - recurse
    argTypes:
    - tools_cJSON*
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 2401
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2401
    functionName: tools_cJSON_Duplicate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_strdup
    - tools_cJSON_Duplicate
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_Duplicate(const tools_cJSON
      *item, tools_cJSON_bool recurse) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2481
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2481
    functionName: tools_cJSON_IsInvalid
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsInvalid(const tools_cJSON
      * const item) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 1
    argNames:
    - json
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2471
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2471
    functionName: tools_cJSON_Minify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_Minify(char *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 2491
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2491
    functionName: tools_cJSON_IsFalse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_IsFalse(const tools_cJSON
      * const item) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_hex4
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:554,1
    - Dst: parse_hex4
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:582,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 3
    argNames:
    - input_pointer
    - input_end
    - output_pointer
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 655
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 655
    functionName: utf16_literal_to_utf8
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - parse_hex4
    linkageType: ''
    returnType: unsigned char
    signature: 'static unsigned char utf16_literal_to_utf8(const unsigned char * const
      input_pointer, const unsigned char * const input_end, unsigned char **output_pointer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - array
    argTypes:
    - tools_cJSON*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1688
    functionName: tools_cJSON_GetArraySize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(int)
    signature: 'CJSON_PUBLIC(int) tools_cJSON_GetArraySize(const tools_cJSON *array) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1566,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1602,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1585,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1605,1
    - Dst: print_string_ptr
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1598,1
    - Dst: print_value
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1618,1
    - Dst: update_offset
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1622,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1626,1
    - Dst: ensure
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:1646,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - item
    - output_buffer
    argTypes:
    - tools_cJSON*
    - printbuffer*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1664
    functionName: print_object
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - ensure
    - print_string_ptr
    - update_offset
    - print_value
    linkageType: ''
    returnType: tools_cJSON_bool
    signature: 'static tools_cJSON_bool print_object(const tools_cJSON * const item,
      printbuffer * const output_buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2125,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2129,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2138
    functionName: tools_cJSON_CreateString
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_strdup
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateString(const char *string) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_IsInvalid
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2575,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2624,1
    - Dst: tools_cJSON_ArrayForEach
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2659,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2638,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2662,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2668,1
    - Dst: tools_cJSON_ArrayForEach
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2676,1
    - Dst: get_object_item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2678,1
    - Dst: tools_cJSON_Compare
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2684,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 57
    argCount: 3
    argNames:
    - a
    - b
    - case_sensitive
    argTypes:
    - tools_cJSON*
    - tools_cJSON*
    - tools_cJSON_bool
    constantsTouched: []
    func_position:
      end: 2696
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2696
    functionName: tools_cJSON_Compare
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_ArrayForEach
    - strcmp
    - get_object_item
    - tools_cJSON_Compare
    - tools_cJSON_IsInvalid
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON_bool)
    signature: 'CJSON_PUBLIC(tools_cJSON_bool) tools_cJSON_Compare(const tools_cJSON
      * const a, const tools_cJSON * const b, const tools_cJSON_bool case_sensitive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tools_cJSON_New_Item
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2142,1
    - Dst: tools_cJSON_Delete
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2149,1
    - Dst: tools_cJSON_strdup
      Src: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c:2146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - raw
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2155
    functionName: tools_cJSON_CreateRaw
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached:
    - tools_cJSON_Delete
    - tools_cJSON_strdup
    - tools_cJSON_New_Item
    linkageType: ''
    returnType: CJSON_PUBLIC(tools_cJSON *)
    signature: 'CJSON_PUBLIC(tools_cJSON *) tools_cJSON_CreateRaw(const char *raw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 2701
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2701
    functionName: tools_cJSON_malloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(void *)
    signature: 'CJSON_PUBLIC(void *) tools_cJSON_malloc(size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - object
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2706
    functionName: tools_cJSON_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/toolscJson/src/toolscJson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CJSON_PUBLIC(void)
    signature: 'CJSON_PUBLIC(void) tools_cJSON_free(void *object) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Sink
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h:38,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 107
    functionName: Sink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: []
    functionsReached:
    - Sink
    linkageType: ''
    returnType: class
    signature: 'class Sink '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: CurrentDestination
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * CurrentDestination() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dest_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h:160,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 179
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 179
    functionName: ByteArraySource
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: []
    functionsReached:
    - dest_
    linkageType: ''
    returnType: class
    signature: 'class ByteArraySource : public Source '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dest_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h:160,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: Available
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: []
    functionsReached:
    - dest_
    linkageType: ''
    returnType: virtual
    signature: 'virtual size_t Available() const; virtual const char* Peek(size_t*
      len); virtual void Skip(size_t n); private: const char* ptr_; size_t left_;
      }; // A Sink implementation that writes to a flat array without any bound checks.
      class UncheckedByteArraySink : public Sink '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Source
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: Source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-sinksource.h
    functionUses: []
    functionsReached:
    - Source
    linkageType: ''
    returnType: class
    signature: 'class Source '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: GetScratchInput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * GetScratchInput() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WorkingMemory
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:43,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 62
    functionName: WorkingMemory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: []
    functionsReached:
    - WorkingMemory
    linkageType: ''
    returnType: class
    signature: 'class WorkingMemory '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:121,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:126,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:133,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:152,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:129,1
    - Dst: WorkingMemory
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:43,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:109,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:126,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:152,1
    - Dst: FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:156,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:105,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 228
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 228
    functionName: snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    - IsLittleEndian
    - UNALIGNED_LOAD32
    - FindLSBSetNonZero
    - assert
    - FindLSBSetNonZero64
    - WorkingMemory
    linkageType: ''
    returnType: namespace
    signature: 'namespace snappy '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: GetScratchOutput
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * GetScratchOutput() const '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:106,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:121,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:126,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:133,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:152,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:129,1
    - Dst: WorkingMemory
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:43,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:107,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:109,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:122,1
    - Dst: UNALIGNED_LOAD64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:126,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:152,1
    - Dst: FindLSBSetNonZero64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:127,1
    - Dst: IsLittleEndian
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:156,1
    - Dst: SNAPPY_PREDICT_TRUE
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:105,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:157,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h:158,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 227
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 227
    functionName: internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_LOAD64
    - SNAPPY_PREDICT_TRUE
    - IsLittleEndian
    - UNALIGNED_LOAD32
    - FindLSBSetNonZero
    - assert
    - FindLSBSetNonZero64
    - WorkingMemory
    linkageType: ''
    returnType: namespace
    signature: 'namespace internal '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 204
    functionName: snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: namespace
    signature: 'namespace snappy '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: Defaults
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int Defaults() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:244,1
    - Dst: function_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: Benchmark
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - function_
    - name_
    linkageType: ''
    returnType: class
    signature: 'class Benchmark '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - start
    - stop
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: DenseRange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: Benchmark*
    signature: 'Benchmark * DenseRange(int start, int stop) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uncompress_size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: MinCompressbufSize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int MinCompressbufSize(int uncompress_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessageVoidify
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: LogMessageVoidify
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - LogMessageVoidify
    linkageType: ''
    returnType: class
    signature: 'class LogMessageVoidify '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:146,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:148,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:152,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:154,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:158,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - filename
    - str
    - unused
    argTypes:
    - std
    - std
    - int
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: SetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - exit
    - fwrite
    - fclose
    - DummyStatus
    - fopen
    - perror
    linkageType: ''
    returnType: DummyStatus
    signature: 'inline DummyStatus SetContents( const std::string& filename, const
      std::string& str, int unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: DummyStatus
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class DummyStatus '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:459,1
    - Dst: LogMessage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 471
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 471
    functionName: LogMessage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - LogMessage
    linkageType: ''
    returnType: class
    signature: 'class LogMessage '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CycleTimer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:195,1
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:199,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:201,1
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:209,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:210,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:217,1
    - Dst: real_time_us_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 235
    functionName: CycleTimer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - CycleTimer
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - gettimeofday
    - real_time_us_
    linkageType: ''
    returnType: class
    signature: 'class CycleTimer '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:131,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:136,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:146,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:152,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:160,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:139,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:149,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:155,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:124,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:158,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:122,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:141,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:148,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 162
    functionName: file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - ferror
    - exit
    - fwrite
    - fread
    - fclose
    - DummyStatus
    - string
    - fopen
    - feof
    - perror
    linkageType: ''
    returnType: namespace
    signature: 'namespace file '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:209,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:210,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: Stop
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - gettimeofday
    - QueryPerformanceFrequency
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: 'void Stop() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZLib
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:281,1
    - Dst: ZLib
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:282,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 393
    functionName: ZLib
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - ZLib
    linkageType: ''
    returnType: class
    signature: 'class ZLib '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CycleTimer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:195,1
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:199,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:201,1
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:209,1
    - Dst: QueryPerformanceFrequency
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:210,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:217,1
    - Dst: name_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:244,1
    - Dst: function_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:244,1
    - Dst: ZLib
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:281,1
    - Dst: ZLib
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:282,1
    - Dst: real_time_us_
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:195,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 397
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 397
    functionName: snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - function_
    - name_
    - CycleTimer
    - QueryPerformanceCounter
    - QueryPerformanceFrequency
    - ZLib
    - gettimeofday
    - real_time_us_
    linkageType: ''
    returnType: namespace
    signature: 'namespace snappy '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:199,1
    - Dst: gettimeofday
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: Start
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - gettimeofday
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: 'void Start() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: Get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double Get() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:406,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:411,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:413,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:414,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:408,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 424
    functionName: RunSpecifiedBenchmarks
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static inline void RunSpecifiedBenchmarks() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:122,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:125,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:124,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:129,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:131,1
    - Dst: ferror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:132,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:133,1
    - Dst: DummyStatus
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:141,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:134,1
    - Dst: string
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:136,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - filename
    - data
    - unused
    argTypes:
    - std
    - std*
    - int
    constantsTouched: []
    func_position:
      end: 142
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 142
    functionName: GetContents
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - ferror
    - exit
    - fread
    - fclose
    - DummyStatus
    - string
    - fopen
    - feof
    - perror
    linkageType: ''
    returnType: DummyStatus
    signature: 'DummyStatus GetContents( const std::string& filename, std::string*
      data, int unused) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessageCrash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:490,1
    - Dst: LogMessageCrash
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:491,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 495
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 495
    functionName: LogMessageCrash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - LogMessageCrash
    - abort
    linkageType: ''
    returnType: class
    signature: 'class LogMessageCrash : public LogMessage '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:429,1
    - Dst: Test_Snappy_MaxBlowup
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:432,1
    - Dst: Test_Snappy_SimpleTests
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:431,1
    - Dst: Test_Snappy_RandomData
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:433,1
    - Dst: Test_CorruptedTest_VerifyCorrupted
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:430,1
    - Dst: Test_Snappy_FourByteOffset
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:434,1
    - Dst: Test_SnappyCorruption_TruncatedVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:435,1
    - Dst: Test_SnappyCorruption_UnterminatedVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:436,1
    - Dst: Test_SnappyCorruption_OverflowingVarint
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:437,1
    - Dst: Test_Snappy_ReadPastEndOfBuffer
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:438,1
    - Dst: Test_Snappy_FindMatchLength
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:439,1
    - Dst: Test_Snappy_FindMatchLengthRandom
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:440,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: RUN_ALL_TESTS
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - Test_Snappy_RandomData
    - Test_Snappy_FindMatchLengthRandom
    - fprintf
    - Test_SnappyCorruption_UnterminatedVarint
    - Test_SnappyCorruption_OverflowingVarint
    - Test_CorruptedTest_VerifyCorrupted
    - Test_Snappy_FindMatchLength
    - Test_Snappy_MaxBlowup
    - Test_Snappy_FourByteOffset
    - Test_Snappy_SimpleTests
    - Test_SnappyCorruption_TruncatedVarint
    - Test_Snappy_ReadPastEndOfBuffer
    linkageType: ''
    returnType: int
    signature: 'static inline int RUN_ALL_TESTS() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogMessage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:459,1
    - Dst: LogMessage
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-test.h
    functionUses: []
    functionsReached:
    - LogMessage
    linkageType: ''
    returnType: namespace
    signature: 'namespace snappy '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 339
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 339
    functionName: FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: 'static uint32 FromHost32(uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool IsLittleEndian() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:391,1
    - Dst: __builtin_clz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - __builtin_clz
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2FloorNonZero(uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:420,1
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - _BitScanReverse
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2FloorNonZero(uint32 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:454,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: Log2FloorNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2FloorNonZero(uint32 n) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 2
    argNames:
    - sptr
    - v
    argTypes:
    - char*
    - uint32
    constantsTouched: []
    func_position:
      end: 577
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 577
    functionName: Encode32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'inline char * Varint::Encode32(char* sptr, uint32 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 340
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 340
    functionName: ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: 'static uint32 ToHost32(uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    - Dst: FromHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: Store32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_STORE32
    - FromHost32
    linkageType: ''
    returnType: void
    signature: 'static void Store32(void *p, uint32 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2Floor(uint32 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - _BitScanReverse
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2Floor(uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: Log2Floor
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - Log2FloorNonZero
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: Log2Floor(uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: 'inline uint64 UNALIGNED_LOAD64(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: UNALIGNED_LOAD16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint16
    signature: 'inline uint16 UNALIGNED_LOAD16(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: UNALIGNED_STORE16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline void UNALIGNED_STORE16(void *p, uint16 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    constantsTouched: []
    func_position:
      end: 326
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 326
    functionName: FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: 'static uint16 FromHost16(uint16 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: FromHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: 'static uint32 FromHost32(uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 386
    functionName: Bits
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class Bits '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:492,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:497,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    constantsTouched: []
    func_position:
      end: 501
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 501
    functionName: FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - FindLSBSetNonZero
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero64(uint64 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: base
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: namespace
    signature: 'namespace base '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: UNALIGNED_LOAD32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint32
    signature: 'inline uint32 UNALIGNED_LOAD32(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint32
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: UNALIGNED_STORE32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline void UNALIGNED_STORE32(void *p, uint32 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    constantsTouched: []
    func_position:
      end: 327
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 327
    functionName: ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - bswap_16
    linkageType: ''
    returnType: uint16
    signature: 'static uint16 ToHost16(uint16 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 330
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 330
    functionName: ToHost32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - bswap_32
    linkageType: ''
    returnType: uint32
    signature: 'static uint32 ToHost32(uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:406,1
    - Dst: __builtin_ctz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - __builtin_ctz
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero(uint32 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:434,1
    - Dst: _BitScanForward
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - _BitScanForward
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero(uint32 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: namespace
    signature: 'namespace internal '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:412,1
    - Dst: __builtin_ctzll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - __builtin_ctzll
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero64(uint64 n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:443,1
    - Dst: _BitScanForward64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: FindLSBSetNonZero64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - _BitScanForward64
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero64(uint64 n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    constantsTouched: []
    func_position:
      end: 336
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 336
    functionName: FromHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: 'static uint16 FromHost16(uint16 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline void UNALIGNED_STORE64(void *p, uint64 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint64
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: UNALIGNED_STORE64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'inline void UNALIGNED_STORE64(void *p, uint64 v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint64
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: bswap_64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: 'inline uint64 bswap_64(uint64 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    constantsTouched: []
    func_position:
      end: 337
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 337
    functionName: ToHost16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: 'static uint16 ToHost16(uint16 x) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 487
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 487
    functionName: FindLSBSetNonZero
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: 'inline int Bits:: FindLSBSetNonZero(uint32 n) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 35
    argCount: 3
    argNames:
    - p
    - l
    - OUTPUT
    argTypes:
    - char*
    - char*
    - uint32*
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: Parse32WithLimit
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'inline const char * Varint::Parse32WithLimit(const char* p, const
      char* l, uint32* OUTPUT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 527
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 527
    functionName: Varint
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class Varint '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint16
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: bswap_16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: 'inline uint16 bswap_16(uint16 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:326,1
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:329,1
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:327,1
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:330,1
    - Dst: ToHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    - Dst: UNALIGNED_LOAD16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    - Dst: UNALIGNED_STORE16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    - Dst: FromHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    - Dst: ToHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    - Dst: FromHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    - Dst: UNALIGNED_STORE32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 362
    functionName: LittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_STORE32
    - bswap_32
    - ToHost32
    - FromHost32
    - UNALIGNED_LOAD32
    - ToHost16
    - bswap_16
    - UNALIGNED_STORE16
    - FromHost16
    - UNALIGNED_LOAD16
    linkageType: ''
    returnType: class
    signature: 'class LittleEndian '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 332
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 332
    functionName: IsLittleEndian
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool IsLittleEndian() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNALIGNED_STORE16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    - Dst: FromHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - uint16
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: Store16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_STORE16
    - FromHost16
    linkageType: ''
    returnType: void
    signature: 'static void Store16(void *p, uint16 v) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:234,1
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:326,1
    - Dst: FromHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    - Dst: __builtin_clz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:398,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:406,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:420,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:434,1
    - Dst: _BitScanForward
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:436,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:454,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:466,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:239,1
    - Dst: UNALIGNED_LOAD16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    - Dst: ToHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    - Dst: UNALIGNED_STORE32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:360,1
    - Dst: FromHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:391,1
    - Dst: __builtin_ctzll
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:413,1
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:422,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:499,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:475,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:443,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:228,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:243,1
    - Dst: UNALIGNED_STORE16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:352,1
    - Dst: Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:402,1
    - Dst: __builtin_ctz
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:407,1
    - Dst: _BitScanReverse
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:428,1
    - Dst: Log2FloorNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:471,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:492,1
    - Dst: FindLSBSetNonZero
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:497,1
    - Dst: _BitScanForward64
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:445,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:207,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:222,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:212,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:247,1
    - Dst: bswap_16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:327,1
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:329,1
    - Dst: ToHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    - Dst: bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:330,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:412,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 290
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 603
    functionName: snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_STORE32
    - __builtin_ctz
    - __builtin_ctzll
    - FromHost32
    - _BitScanForward64
    - FromHost16
    - Log2FloorNonZero
    - ToHost32
    - FindLSBSetNonZero
    - ToHost16
    - UNALIGNED_STORE16
    - _BitScanReverse
    - _BitScanForward
    - memcpy
    - __builtin_clz
    - UNALIGNED_LOAD16
    - bswap_32
    - UNALIGNED_LOAD32
    - bswap_16
    - assert
    linkageType: ''
    returnType: namespace
    signature: 'namespace snappy '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: UNALIGNED_LOAD64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: uint64
    signature: 'inline uint64 UNALIGNED_LOAD64(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: bswap_32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: 'inline uint32 bswap_32(uint32 x) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToHost16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    - Dst: UNALIGNED_LOAD16
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: Load16
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_LOAD16
    - ToHost16
    linkageType: ''
    returnType: uint16
    signature: 'static uint16 Load16(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ToHost32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    - Dst: UNALIGNED_LOAD32
      Src: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 357
    functionName: Load32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached:
    - UNALIGNED_LOAD32
    - ToHost32
    linkageType: ''
    returnType: uint32
    signature: 'static uint32 Load32(const void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - s
    - new_size
    argTypes:
    - std*
    - size_t
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: STLStringResizeUninitialized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'inline void STLStringResizeUninitialized(std::string* s, size_t new_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - std*
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: string_as_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/snappy/snappy-stubs-internal.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'inline char * string_as_array(std::string* str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: sub_help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: []
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *sub_help_filter(int key, const char *text, void *input) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:126,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:129,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:133,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:131,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: popt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: []
    functionsReached:
    - isprint
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void popt(int key, char *arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:52,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:55,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:62,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: sub_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: error_t
    signature: 'static error_t sub_parse_opt(int key, char *arg, struct argp_state
      *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:185,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: []
    functionsReached:
    - argp_parse
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:142,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:156,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:153,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:167,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c:148,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 10
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 174
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 174
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/argp-test.c
    functionUses: []
    functionsReached:
    - atoi
    - popt
    - printf
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parse_opt(int key, char *arg, struct argp_state *state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:194,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:199,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:239,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:222,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:199,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 250
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 250
    functionName: exchange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - __mempcpy
    - malloc
    - SWAP_FLAGS
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void exchange (char **argv, struct _getopt_data *d) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_initialize
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:392,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:426,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:602,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:569,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:682,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:750,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:914,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:646,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:681,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:959,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:852,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:556,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:566,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:615,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:720,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:906,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1070,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:917,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:553,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:630,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:667,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:853,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1074,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:881,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:879,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:946,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:964,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1003,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1004,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:449,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:524,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:602,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:569,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:844,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:783,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:847,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:723,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:970,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:985,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:919,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:615,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:734,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:720,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:835,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:707,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:783,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:926,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:998,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:747,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:836,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:792,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:922,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:956,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1060,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:802,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:443,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:573,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:686,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:946,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:964,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:985,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1008,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:553,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:606,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:673,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:731,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:742,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:723,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:636,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:922,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:950,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1000,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1012,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:620,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:663,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:663,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:734,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:786,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:639,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:676,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:731,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:909,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:906,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:752,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:786,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:961,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:995,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1073,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:606,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:561,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:691,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:797,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1065,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:505,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:521,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:641,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:678,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:989,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1056,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:839,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:564,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:800,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1056,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1068,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:849,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:620,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:767,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 404
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 1093
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 1093
    functionName: _getopt_internal_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - strchr
    - strncmp
    - fprintf
    - __fxprintf
    - strcmp
    - free
    - _getopt_initialize
    - _IO_funlockfile
    - exchange
    - strlen
    - __asprintf
    - _IO_flockfile
    - _
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal_r (int argc, char *const *argv, const char *optstring,\t\t
      const struct option *longopts, int *longind,\t\t int long_only, struct _getopt_data
      *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 6
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1112
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1112
    functionName: _getopt_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal (int argc, char *const *argv, const char *optstring,\t\t
      const struct option *longopts, int *longind, int long_only) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1121
    functionName: getopt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: 'int getopt (int argc, char *const *argv, const char *optstring) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:266,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:305,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:305,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:301,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:297,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - argc
    - argv
    - optstring
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 316
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 316
    functionName: _getopt_initialize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - malloc
    - getenv
    - memset
    - __mempcpy
    - strlen
    linkageType: ''
    returnType: char*
    signature: "static const char *_getopt_initialize (int argc, char *const *argv,
      const char *optstring,\t\t struct _getopt_data *d) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1140,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1163,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1167,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1159,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1157,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1171,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1178,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1184,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1186,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1187,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c:1190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1191
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1191
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt.c
    functionUses: []
    functionsReached:
    - exit
    - getopt
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:153,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:189,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:187,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:156,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:169,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 196
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 196
    functionName: argp_default_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - strrchr
    - atoi
    - sleep
    - argp_state_help
    linkageType: ''
    returnType: error_t
    signature: 'static error_t argp_default_parser (int key, char *arg, struct argp_state
      *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    constantsTouched: []
    func_position:
      end: 140
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 140
    functionName: _option_is_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - isprint
    linkageType: ''
    returnType: int
    signature: 'int _option_is_short (const struct argp_option *__opt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - group
    - state
    - key
    - arg
    argTypes:
    - struct group*
    - struct argp_state*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: group_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: 'static error_t group_parse (struct group *group, struct argp_state
      *state, int key, char *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - argp
    - flags
    argTypes:
    - struct parser*
    - struct argp*
    - int
    constantsTouched: []
    func_position:
      end: 476
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 476
    functionName: parser_convert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - convert_options
    linkageType: ''
    returnType: void
    signature: 'static void parser_convert (struct parser *parser, const struct argp
      *argp, int flags) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:646,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:668,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:667,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:650,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:684,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:689,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:700,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:707,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:712,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 4
    argNames:
    - parser
    - err
    - arg_ebadkey
    - end_index
    argTypes:
    - struct parser*
    - error_t
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 715
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 715
    functionName: parser_finalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - dgettext
    - fprintf
    - free
    - argp_state_help
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: "static error_t parser_finalize (struct parser *parser,\t\t error_t
      err, int arg_ebadkey, int *end_index) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:739,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - struct parser*
    - char*
    constantsTouched: []
    func_position:
      end: 769
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 769
    functionName: parser_parse_arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_arg (struct parser *parser, char *val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:941,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:949,1
    - Dst: parser_init
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:962,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:942,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:946,1
    - Dst: parser_parse_next
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:968,1
    - Dst: parser_finalize
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:969,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 6
    argNames:
    - argp
    - argc
    - argv
    - flags
    - end_index
    - input
    argTypes:
    - struct argp*
    - int
    - char**
    - unsigned
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 973
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 973
    functionName: argp_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - parser_parse_next
    - memset
    - parser_init
    - alloca
    - parser_finalize
    linkageType: ''
    returnType: error_t
    signature: "error_t argp_parse (const struct argp *argp, int argc, char **argv,
      unsigned flags,\t int *end_index, void *input) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - __state
    argTypes:
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: argp_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - argp_state_help
    linkageType: ''
    returnType: void
    signature: 'void argp_usage (const struct argp_state *__state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: _option_is_end
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _option_is_end (const struct argp_option *__opt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:219,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:217,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:219,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: argp_version_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - argp_error
    - fprintf
    - exit
    - dgettext
    linkageType: ''
    returnType: error_t
    signature: 'static error_t argp_version_parser (int key, char *arg, struct argp_state
      *state) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - long_options
    - name
    argTypes:
    - struct option*
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: find_long_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int find_long_option (struct option *long_options, const char
      *name) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _option_is_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:364,1
    - Dst: _option_is_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:373,1
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:445,1
    - Dst: find_long_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:387,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 54
    argCount: 5
    argNames:
    - argp
    - parent
    - parent_index
    - group
    - cvt
    argTypes:
    - struct argp*
    - struct group*
    - unsigned
    - struct group*
    - struct parser_convert_state*
    constantsTouched: []
    func_position:
      end: 449
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 449
    functionName: convert_options
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - find_long_option
    - convert_options
    - _option_is_short
    - _option_is_end
    linkageType: ''
    returnType: struct group*
    signature: "static struct group *convert_options (const struct argp *argp,\t\t
      struct group *parent, unsigned parent_index,\t\t struct group *group, struct
      parser_convert_state *cvt) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _option_is_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:503,1
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:513,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - argp
    - szs
    argTypes:
    - struct argp*
    - struct parser_sizes*
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: calc_sizes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - _option_is_end
    - calc_sizes
    linkageType: ''
    returnType: void
    signature: 'static void calc_sizes (const struct argp *argp, struct parser_sizes
      *szs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:534,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:556,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:559,1
    - Dst: parser_convert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:557,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:542,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:590,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:613,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:615,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:620,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 6
    argNames:
    - parser
    - argp
    - argc
    - argv
    - flags
    - input
    argTypes:
    - struct parser*
    - struct argp*
    - int
    - char**
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 623
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 623
    functionName: parser_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - malloc
    - argp_short_program_name
    - memset
    - strrchr
    - group_parse
    - calc_sizes
    - parser_convert
    linkageType: ''
    returnType: error_t
    signature: "static error_t parser_init (struct parser *parser, const struct argp
      *argp,\t int argc, char **argv, int flags, void *input) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:787,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:793,1
    - Dst: N_
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:812,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:802,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:814,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:815,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:821,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:823,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - parser
    - opt
    - val
    argTypes:
    - struct parser*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 828
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 828
    functionName: parser_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - dgettext
    - strchr
    - N_
    - argp_error
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_opt (struct parser *parser, int opt, char
      *val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_long_only_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:855,1
    - Dst: _getopt_long_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:859,1
    - Dst: parser_parse_opt
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:913,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:871,1
    - Dst: parser_parse_arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c:911,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - parser
    - arg_ebadkey
    argTypes:
    - struct parser*
    - int*
    constantsTouched: []
    func_position:
      end: 919
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 919
    functionName: parser_parse_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached:
    - strcmp
    - _getopt_long_r
    - parser_parse_arg
    - parser_parse_opt
    - _getopt_long_only_r
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_next (struct parser *parser, int *arg_ebadkey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 2
    argNames:
    - argp
    - state
    argTypes:
    - struct argp*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 991
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 991
    functionName: _argp_input
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *_argp_input (const struct argp *argp, const struct argp_state
      *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:49,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - __fs
    - __str
    - __len
    argTypes:
    - argp_fmtstream_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: argp_fmtstream_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_ensure
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_write (argp_fmtstream_t __fs, const char *__str,
      size_t __len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:62,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __str
    argTypes:
    - argp_fmtstream_t
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: argp_fmtstream_puts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - strlen
    - argp_fmtstream_write
    linkageType: ''
    returnType: int
    signature: 'int argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __lmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: argp_fmtstream_set_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - __fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: argp_fmtstream_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_point (argp_fmtstream_t __fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:141,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:152,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - stream
    - lmargin
    - rmargin
    - wmargin
    argTypes:
    - FILE*
    - size_t
    - size_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: argp_make_fmtstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: argp_fmtstream_t
    signature: "argp_fmtstream_t argp_make_fmtstream (FILE *stream,\t\t size_t lmargin,
      size_t rmargin, ssize_t wmargin) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:204,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:215,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:206,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:262,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:222,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:288,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:298,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:309,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:322,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:342,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:353,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:377,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:372,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:352,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 165
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 395
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 395
    functionName: _argp_fmtstream_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - fwrite
    - memset
    - memchr
    - putc
    - memmove
    - isblank
    linkageType: ''
    returnType: void
    signature: 'void _argp_fmtstream_update (argp_fmtstream_t fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __ch
    argTypes:
    - argp_fmtstream_t
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: argp_fmtstream_putc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_ensure
    linkageType: ''
    returnType: int
    signature: 'int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:457,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:460,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:462,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - fs
    - fmt
    - '...'
    argTypes:
    - struct argp_fmtstream*
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: argp_fmtstream_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - va_end
    - _argp_fmtstream_ensure
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: ssize_t
    signature: 'ssize_t argp_fmtstream_printf (struct argp_fmtstream *fs, const char
      *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __rmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: argp_fmtstream_set_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __wmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: argp_fmtstream_set_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:173,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:178,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:179,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: argp_fmtstream_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    - free
    - fwrite
    linkageType: ''
    returnType: void
    signature: 'void argp_fmtstream_free (argp_fmtstream_t fs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:407,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:420,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:409,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - fs
    - amount
    argTypes:
    - struct argp_fmtstream*
    - size_t
    constantsTouched: []
    func_position:
      end: 444
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 444
    functionName: _argp_fmtstream_ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    - realloc
    - fwrite
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int _argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: _getopt_long_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_r (int argc, char *const *argv, const char *options,\t\tconst
      struct option *long_options, int *opt_index,\t\tstruct _getopt_data *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: getopt_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long (int argc, char *const *argv, const char *options,\t
      const struct option *long_options, int *opt_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: _getopt_long_only_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_only_r (int argc, char *const *argv, const char *options,\t\t
      const struct option *long_options, int *opt_index,\t\t struct _getopt_data *d) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:126,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:137,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:151,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:136,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:134,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:153,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:157,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:161,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:165,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:169,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:184,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:182,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:185,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:188,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:176,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - getopt_long
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: getopt_long_only
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only (int argc, char *const *argv, const char *options,\t\t
      const struct option *long_options, int *opt_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:54,1
    - Dst: __getpid
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:56,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:63,1
    - Dst: __builtin_expect
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:63,1
    - Dst: _itoa_word
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c:56,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - env
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 73
    functionName: __getopt_clean_environment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/getopt_init.c
    functionUses: []
    functionsReached:
    - strncmp
    - __builtin_expect
    - _itoa_word
    - __getpid
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void __getopt_clean_environment (char **env) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ch
    - beg
    - end
    argTypes:
    - char
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: find_char
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_char (char ch, char *beg, char *end) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:493,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:505,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:508,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:505,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:495,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:510,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:512,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:516,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:517,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:519,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:526,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:543,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:543,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:548,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:521,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:548,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 554
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 554
    functionName: make_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    - find_char
    - assert
    - oshort
    - oend
    - oalias
    linkageType: ''
    returnType: struct hol*
    signature: 'static struct hol *make_hol (const struct argp *argp, struct hol_cluster
      *cluster) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:693,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:693,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 9
    argCount: 2
    argNames:
    - hol
    - name
    argTypes:
    - struct hol*
    - char*
    constantsTouched: []
    func_position:
      end: 702
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 702
    functionName: hol_find_entry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - strcmp
    linkageType: ''
    returnType: struct hol_entry*
    signature: 'static struct hol_entry *hol_find_entry (struct hol *hol, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 745
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 745
    functionName: hol_cluster_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - group_cmp
    linkageType: ''
    returnType: int
    signature: 'static int hol_cluster_cmp (const struct hol_cluster *cl1, const struct
      hol_cluster *cl2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - argp
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - FILE*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: argp_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - _help
    linkageType: ''
    returnType: void
    signature: "void argp_help (const struct argp *argp, FILE *stream,\t\t unsigned
      flags, char *name) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1847,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1855,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1856,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1847,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1854,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1858,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1860,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1869,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1870,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1872,1
    - Dst: strerror_r
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1872,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1874,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1878,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1882,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1874,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - state
    - status
    - errnum
    - fmt
    - '...'
    argTypes:
    - struct argp_state*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1885
    functionName: argp_failure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    - strerror_r
    - putc
    - strerror
    - argp_short_program_name
    - fputs
    linkageType: ''
    returnType: void
    signature: "void argp_failure (const struct argp_state *state, int status, int
      errnum,\t\tconst char *fmt, ...) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 665
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 665
    functionName: hol_entry_first_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_short_iterate
    linkageType: ''
    returnType: char
    signature: 'static char hol_entry_first_short (const struct hol_entry *entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: hol_entry_first_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    linkageType: ''
    returnType: char*
    signature: 'static const char *hol_entry_first_long (const struct hol_entry *entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - group1
    - group2
    - eq
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 725
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 725
    functionName: group_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int group_cmp (int group1, int group2, int eq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:775,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 783
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 783
    functionName: canon_doc_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - isspace
    - isalnum
    linkageType: ''
    returnType: int
    signature: 'static int canon_doc_option (const char **name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:986,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:988,1
    - Dst: argp_fmtstream_rmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:987,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - ensure
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 991
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 991
    functionName: space
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - argp_fmtstream_rmargin
    - argp_fmtstream_point
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void space (argp_fmtstream_t stream, size_t ensure) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1627,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1652,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1683,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1717,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1723,1
    - Dst: hol_sort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1633,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1641,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1653,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1657,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1681,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1692,1
    - Dst: argp_fmtstream_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1733,1
    - Dst: argp_make_fmtstream
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1618,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1662,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1656,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1668,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1678,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1680,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1696,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1709,1
    - Dst: hol_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1710,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1722,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1731,1
    - Dst: fill_in_uparams
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1616,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1631,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1630,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1640,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1643,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1648,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1668,1
    - Dst: hol_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1674,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1696,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1723,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 5
    argNames:
    - argp
    - state
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - struct argp_state*
    - FILE*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1734
    functionName: _help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - argp_make_fmtstream
    - hol_help
    - argp_fmtstream_set_wmargin
    - fill_in_uparams
    - alloca
    - hol_free
    - argp_doc
    - hol_usage
    - argp_fmtstream_putc
    - memset
    - argp_hol
    - argp_args_levels
    - dgettext
    - argp_args_usage
    - argp_fmtstream_puts
    - hol_sort
    - argp_fmtstream_free
    - argp_fmtstream_set_lmargin
    - hol_set_group
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void _help (const struct argp *argp, const struct argp_state
      *state, FILE *stream, unsigned flags, char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 6
    argNames:
    - hol
    - group
    - header
    - index
    - parent
    - argp
    argTypes:
    - struct hol*
    - int
    - char*
    - int
    - struct hol_cluster*
    - struct argp*
    constantsTouched: []
    func_position:
      end: 578
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 578
    functionName: hol_add_cluster
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct hol_cluster*
    signature: "static struct hol_cluster *hol_add_cluster (struct hol *hol, int group,
      const char *header, int index,\t\t struct hol_cluster *parent, const struct
      argp *argp) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:615,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:619,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:617,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 16
    argCount: 4
    argNames:
    - entry
    - (*func)
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 625
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 625
    functionName: hol_entry_short_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - oalias
    - oshort
    linkageType: ''
    returnType: int
    signature: "static int hol_entry_short_iterate (const struct hol_entry *entry,\t\t\t
      int (*func)(const struct argp_option *opt,\t\t\t\t const struct argp_option
      *real,\t\t\t\t const char *domain, void *cookie),\t\t\t const char *domain,
      void *cookie) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1052,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 4
    argNames:
    - doc
    - key
    - argp
    - state
    argTypes:
    - char*
    - int
    - struct argp*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1058
    functionName: filter_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - _argp_input
    linkageType: ''
    returnType: char*
    signature: "static const char *filter_doc (const char *doc, int key, const struct
      argp *argp,\t const struct argp_state *state) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1355,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1357,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1359,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1366
    functionName: usage_long_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: int
    signature: "static int usage_long_opt (const struct argp_option *opt,\t\tconst
      struct argp_option *real,\t\tconst char *domain, void *cookie) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1438,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1446
    functionName: argp_args_levels
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - strchr
    - argp_args_levels
    linkageType: ''
    returnType: size_t
    signature: 'static size_t argp_args_levels (const struct argp *argp) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1525,1
    - Dst: strndup
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1542,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1559,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1561,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1584,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1581,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1585,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1564,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1530,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1556,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1582,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1586,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1594,1
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1543,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1570,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1563,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1563,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1572,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1583,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 56
    argCount: 6
    argNames:
    - argp
    - state
    - post
    - pre_blank
    - first_only
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - int
    - int
    - int
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1599
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1599
    functionName: argp_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_write
    - argp_fmtstream_puts
    - strchr
    - _argp_input
    - strndup
    - argp_fmtstream_point
    - argp_fmtstream_lmargin
    - free
    - argp_doc
    - argp_fmtstream_putc
    linkageType: ''
    returnType: int
    signature: "static int argp_doc (const struct argp *argp, const struct argp_state
      *state,\t int post, int pre_blank, int first_only,\t argp_fmtstream_t stream) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:642,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:644,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 13
    argCount: 4
    argNames:
    - entry
    - (*func)
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 649
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 649
    functionName: hol_entry_long_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - oalias
    linkageType: ''
    returnType: int
    signature: "static inline int __attribute__ ((always_inline)) hol_entry_long_iterate
      (const struct hol_entry *entry,\t\t\tint (*func)(const struct argp_option *opt,\t\t\t\t
      const struct argp_option *real,\t\t\t\t const char *domain, void *cookie),\t\t\tconst
      char *domain, void *cookie) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: hol_cluster_base
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct hol_cluster*
    signature: 'static struct hol_cluster *hol_cluster_base (struct hol_cluster *cl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_hol
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1413,1
    - Dst: hol_add_cluster
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1420,1
    - Dst: hol_append
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1424,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1424,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 8
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1428
    functionName: argp_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_append
    - argp_hol
    - hol_add_cluster
    - make_hol
    linkageType: ''
    returnType: struct hol*
    signature: 'static struct hol *argp_hol (const struct argp *argp, struct hol_cluster
      *cluster) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1460,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1474,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1466,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1461,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1480,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1482,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1485,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1489,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 5
    argNames:
    - argp
    - state
    - levels
    - advance
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - char**
    - int
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1506
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1506
    functionName: argp_args_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_write
    - argp_args_usage
    - free
    - space
    - strchrnul
    - filter_doc
    linkageType: ''
    returnType: int
    signature: "static int argp_args_usage (const struct argp *argp, const struct
      argp_state *state,\t\t char **levels, int advance, argp_fmtstream_t stream) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:807,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:834,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:857,1
    - Dst: hol_cluster_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:810,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:819,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:845,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:845,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:847,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:847,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:807,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:804,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:816,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:818,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:820,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:826,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:804,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:817,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:821,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:824,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - entry1
    - entry2
    argTypes:
    - struct hol_entry*
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 858
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 858
    functionName: hol_entry_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_cluster_base
    - group_cmp
    - odoc
    - _tolower
    - hol_cluster_cmp
    - tolower
    - canon_doc_option
    - hol_entry_first_long
    - hol_entry_first_short
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "static int hol_entry_cmp (const struct hol_entry *entry1,\t const
      struct hol_entry *entry2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:874,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    constantsTouched: []
    func_position:
      end: 876
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 876
    functionName: hol_sort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void hol_sort (struct hol *hol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1003,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1006,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1004,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1007,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - real
    - req_fmt
    - opt_fmt
    - domain
    - stream
    argTypes:
    - struct argp_option*
    - char*
    - char*
    - char*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1009
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1009
    functionName: arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void arg (const struct argp_option *real, const char *req_fmt,
      const char *opt_fmt, const char *domain, argp_fmtstream_t stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1107,1
    - Dst: hol_cluster_is_child
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1112,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1120,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1118,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1119,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1126,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - col
    - pest
    argTypes:
    - unsigned
    - struct pentry_state*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1129
    functionName: comma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_cluster_is_child
    - print_header
    - argp_fmtstream_puts
    - argp_fmtstream_wmargin
    - indent_to
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void comma (unsigned col, struct pentry_state *pest) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1149,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1158,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1163,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1164,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1177,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1199,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1167,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1203,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1223,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1229,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1161,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1189,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1184,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1202,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1214,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1216,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1231,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1235,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1255,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1237,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1141,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1156,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1147,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1188,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1197,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1201,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1226,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1244,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1247,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1248,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1142,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1165,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1182,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1180,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1209,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1232,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1239,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1254,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1241,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 86
    argCount: 4
    argNames:
    - entry
    - state
    - stream
    - hhstate
    argTypes:
    - struct hol_entry*
    - struct argp_state*
    - argp_fmtstream_t
    - struct hol_help_state*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1256
    functionName: hol_entry_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - odoc
    - dgettext
    - argp_fmtstream_puts
    - print_header
    - ovisible
    - argp_fmtstream_point
    - arg
    - free
    - argp_fmtstream_set_lmargin
    - argp_fmtstream_wmargin
    - indent_to
    - comma
    - oshort
    - filter_doc
    - argp_fmtstream_printf
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void hol_entry_help (struct hol_entry *entry, const struct
      argp_state *state,\t\targp_fmtstream_t stream, struct hol_help_state *hhstate) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: mempcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void * mempcpy(void* dest, const void* src, size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:589,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:595,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:599,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    constantsTouched: []
    func_position:
      end: 600
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 600
    functionName: hol_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void hol_free (struct hol *hol) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1069,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1078,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1080,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1070,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1079,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1081,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1082,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1083,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1084,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1091,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - str
    - argp
    - pest
    argTypes:
    - char*
    - struct argp*
    - struct pentry_state*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1092
    functionName: print_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_puts
    - free
    - argp_fmtstream_set_lmargin
    - indent_to
    - filter_doc
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void print_header (const char *str, const struct argp *argp,\t
      struct pentry_state *pest) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1376,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1376,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1383,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1395,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1388,1
    - Dst: hol_entry_long_iterate
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - hol
    - stream
    argTypes:
    - struct hol*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1405
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1405
    functionName: hol_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_short_iterate
    - hol_entry_long_iterate
    - alloca
    - strlen
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void hol_usage (struct hol *hol, argp_fmtstream_t stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:134,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:142,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:137,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:139,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:144,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 147
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 147
    functionName: strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - calloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'char * strndup (const char *s, size_t n) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:226,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:236,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:247,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:234,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:243,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:254,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:268,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:270,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:271,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:273,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:280,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:283,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:306,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:284,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:294,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:279,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:295,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:307,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 313
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 313
    functionName: fill_in_uparams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - isdigit
    - strncmp
    - isalpha
    - getenv
    - argp_failure
    - SKIPWS
    - strlen
    - atoi
    - isalnum
    linkageType: ''
    returnType: void
    signature: 'static void fill_in_uparams (const struct argp_state *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: until_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - oshort
    linkageType: ''
    returnType: int
    signature: "static inline int until_short (const struct argp_option *opt, const
      struct argp_option *real,\t const char *domain, void *cookie) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hol_find_entry
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - hol
    - name
    - group
    argTypes:
    - struct hol*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: hol_set_group
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_find_entry
    linkageType: ''
    returnType: void
    signature: 'static void hol_set_group (struct hol *hol, const char *name, int
      group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: hol_cluster_is_child
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int hol_cluster_is_child (const struct hol_cluster *cl1,\t\t
      const struct hol_cluster *cl2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:976,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:978,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - col
    argTypes:
    - argp_fmtstream_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 979
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 979
    functionName: indent_to
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - argp_fmtstream_point
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void indent_to (argp_fmtstream_t stream, unsigned col) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1321,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1324,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1330,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1329,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1329,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1335
    functionName: usage_argful_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    - strlen
    - space
    linkageType: ''
    returnType: int
    signature: "static int usage_argful_short_opt (const struct argp_option *opt,\t\t\tconst
      struct argp_option *real,\t\t\tconst char *domain, void *cookie) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1748,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1750,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1753
    functionName: argp_basename
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'char *argp_basename (char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_basename
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1771
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1771
    functionName: argp_short_program_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - argp_basename
    linkageType: ''
    returnType: char*
    signature: 'char *argp_short_program_name (void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1810,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1814,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1812,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1812,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1815,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1817,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1819,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1821,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - state
    - fmt
    - '...'
    argTypes:
    - struct argp_state*
    - char*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1826
    functionName: argp_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    - putc
    - argp_state_help
    - argp_short_program_name
    - fputs
    linkageType: ''
    returnType: void
    signature: 'void argp_error (const struct argp_state *state, const char *fmt,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:120,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - c_in
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: strchrnul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char * strchrnul (const char *s, int c_in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_cmp
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - entry1_v
    - entry2_v
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: hol_entry_qcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_cmp
    linkageType: ''
    returnType: int
    signature: 'static int hol_entry_qcmp (const void *entry1_v, const void *entry2_v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:910,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:911,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:915,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:913,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:913,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:917,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:920,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:920,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:925,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:945,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:961,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:948,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:969,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:960,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 2
    argNames:
    - hol
    - more
    argTypes:
    - struct hol*
    - struct hol*
    constantsTouched: []
    func_position:
      end: 970
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 970
    functionName: hol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    - mempcpy
    - find_char
    - free
    - assert
    - strlen
    - oshort
    - hol_free
    linkageType: ''
    returnType: void
    signature: 'static void hol_append (struct hol *hol, struct hol *more) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1268,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1276,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1280,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1272,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1281,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1282,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1285,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    argCount: 3
    argNames:
    - hol
    - state
    - stream
    argTypes:
    - struct hol*
    - struct argp_state*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1287
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1287
    functionName: hol_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_puts
    - hol_entry_help
    - free
    - filter_doc
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void hol_help (struct hol *hol, const struct argp_state *state,\t
      argp_fmtstream_t stream) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1303
    functionName: add_argless_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int add_argless_short_opt (const struct argp_option *opt,\t\t
      const struct argp_option *real,\t\t const char *domain, void *cookie) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1783,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1789,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1784,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c:1791,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - state
    - stream
    - flags
    argTypes:
    - struct argp_state*
    - FILE*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1794
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1794
    functionName: argp_state_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/libargp/src/argp-help.c
    functionUses: []
    functionsReached:
    - argp_short_program_name
    - exit
    - _help
    linkageType: ''
    returnType: void
    signature: 'void argp_state_help (const struct argp_state *state, FILE *stream,
      unsigned flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:194,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:222,1
    - Dst: SWAP_FLAGS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:239,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:199,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:199,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 2
    argNames:
    - argv
    - d
    argTypes:
    - char**
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 250
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 250
    functionName: exchange
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - __mempcpy
    - malloc
    - SWAP_FLAGS
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void exchange (char **argv, struct _getopt_data *d) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:707,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:835,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:919,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:783,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:720,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:734,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:926,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:998,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1056,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:723,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:449,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:524,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:569,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:602,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:731,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:783,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:844,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:985,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:985,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1074,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:786,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:620,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:663,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:734,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:752,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:906,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:961,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:995,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1073,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:909,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:786,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:639,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:676,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:663,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:767,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:849,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:606,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:553,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:723,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:636,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:742,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:673,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:731,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:922,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:950,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1000,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:620,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1056,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:800,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:839,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:564,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:691,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1068,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:505,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:521,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:641,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:678,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:989,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:606,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:561,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:797,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1065,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:879,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:881,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:946,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:964,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1003,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1004,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:853,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:917,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:553,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:569,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:630,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:667,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1008,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:556,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:573,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:566,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:615,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:720,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:906,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:802,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:852,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1070,1
    - Dst: _getopt_initialize
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:392,1
    - Dst: exchange
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:426,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:602,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:646,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:681,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:914,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:682,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:750,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:959,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:443,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:615,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:686,1
    - Dst: __asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:946,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:964,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:792,1
    - Dst: _
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:836,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:747,1
    - Dst: _IO_funlockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:847,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:922,1
    - Dst: __fxprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:956,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:970,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1012,1
    - Dst: _IO_flockfile
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1060,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 404
    argCount: 7
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 1093
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 1093
    functionName: _getopt_internal_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - strchr
    - strncmp
    - fprintf
    - __fxprintf
    - strcmp
    - free
    - _getopt_initialize
    - _IO_funlockfile
    - exchange
    - strlen
    - __asprintf
    - _IO_flockfile
    - _
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal_r (int argc, char *const *argv, const char *optstring,\t\t
      const struct option *longopts, int *longind,\t\t int long_only, struct _getopt_data
      *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 6
    argNames:
    - argc
    - argv
    - optstring
    - longopts
    - longind
    - long_only
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 1112
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1112
    functionName: _getopt_internal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_internal (int argc, char *const *argv, const char *optstring,\t\t
      const struct option *longopts, int *longind, int long_only) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1121
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1121
    functionName: getopt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: 'int getopt (int argc, char *const *argv, const char *optstring) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:266,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:297,1
    - Dst: __mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:305,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:301,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:305,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - argc
    - argv
    - optstring
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 316
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 316
    functionName: _getopt_initialize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - malloc
    - getenv
    - memset
    - __mempcpy
    - strlen
    linkageType: ''
    returnType: char*
    signature: "static const char *_getopt_initialize (int argc, char *const *argv,
      const char *optstring,\t\t struct _getopt_data *d) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1140,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1159,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1163,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1167,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1157,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1171,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1178,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1184,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1186,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1187,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c:1190,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 1191
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1191
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt.c
    functionUses: []
    functionsReached:
    - exit
    - getopt
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:171,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:187,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:205,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:174,1
    - Dst: sleep
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:207,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 214
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 214
    functionName: argp_default_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - strrchr
    - atoi
    - sleep
    - argp_state_help
    linkageType: ''
    returnType: error_t
    signature: 'static error_t argp_default_parser (int key, char *arg, struct argp_state
      *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: _option_is_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - isprint
    linkageType: ''
    returnType: int
    signature: 'int _option_is_short (const struct argp_option *__opt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - long_options
    - name
    argTypes:
    - struct option*
    - char*
    constantsTouched: []
    func_position:
      end: 267
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 267
    functionName: find_long_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int find_long_option (struct option *long_options, const char
      *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - group
    - state
    - key
    - arg
    argTypes:
    - struct group*
    - struct argp_state*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: group_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: 'static error_t group_parse (struct group *group, struct argp_state
      *state, int key, char *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _option_is_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:382,1
    - Dst: _option_is_short
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:391,1
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:463,1
    - Dst: find_long_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:405,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 54
    argCount: 5
    argNames:
    - argp
    - parent
    - parent_index
    - group
    - cvt
    argTypes:
    - struct argp*
    - struct group*
    - unsigned
    - struct group*
    - struct parser_convert_state*
    constantsTouched: []
    func_position:
      end: 467
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 467
    functionName: convert_options
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - find_long_option
    - convert_options
    - _option_is_short
    - _option_is_end
    linkageType: ''
    returnType: struct group*
    signature: "static struct group *convert_options (const struct argp *argp,\t\t
      struct group *parent, unsigned parent_index,\t\t struct group *group, struct
      parser_convert_state *cvt) "
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:664,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:686,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:668,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:702,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:685,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:707,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:718,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:725,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:730,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 4
    argNames:
    - parser
    - err
    - arg_ebadkey
    - end_index
    argTypes:
    - struct parser*
    - error_t
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 733
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 733
    functionName: parser_finalize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - dgettext
    - fprintf
    - free
    - argp_state_help
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: "static error_t parser_finalize (struct parser *parser,\t\t error_t
      err, int arg_ebadkey, int *end_index) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:757,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:764,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - parser
    - val
    argTypes:
    - struct parser*
    - char*
    constantsTouched: []
    func_position:
      end: 787
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 787
    functionName: parser_parse_arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_arg (struct parser *parser, char *val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_long_only_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:873,1
    - Dst: parser_parse_arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:929,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:889,1
    - Dst: parser_parse_opt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:931,1
    - Dst: _getopt_long_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:877,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - parser
    - arg_ebadkey
    argTypes:
    - struct parser*
    - int*
    constantsTouched: []
    func_position:
      end: 937
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 937
    functionName: parser_parse_next
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - strcmp
    - _getopt_long_r
    - parser_parse_arg
    - parser_parse_opt
    - _getopt_long_only_r
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_next (struct parser *parser, int *arg_ebadkey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - __state
    argTypes:
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: argp_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - argp_state_help
    linkageType: ''
    returnType: void
    signature: 'void argp_usage (const struct argp_state *__state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:235,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:237,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:240,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: argp_version_parser
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - argp_error
    - fprintf
    - exit
    - dgettext
    linkageType: ''
    returnType: error_t
    signature: 'static error_t argp_version_parser (int key, char *arg, struct argp_state
      *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - __opt
    argTypes:
    - struct argp_option*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: _option_is_end
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int _option_is_end (const struct argp_option *__opt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: convert_options
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - parser
    - argp
    - flags
    argTypes:
    - struct parser*
    - struct argp*
    - int
    constantsTouched: []
    func_position:
      end: 494
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 494
    functionName: parser_convert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - convert_options
    linkageType: ''
    returnType: void
    signature: 'static void parser_convert (struct parser *parser, const struct argp
      *argp, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _option_is_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:521,1
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:531,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - argp
    - szs
    argTypes:
    - struct argp*
    - struct parser_sizes*
    constantsTouched: []
    func_position:
      end: 534
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 534
    functionName: calc_sizes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - _option_is_end
    - calc_sizes
    linkageType: ''
    returnType: void
    signature: 'static void calc_sizes (const struct argp *argp, struct parser_sizes
      *szs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: calc_sizes
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:552,1
    - Dst: parser_convert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:575,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:577,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:574,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:560,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:608,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:631,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:633,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:638,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 6
    argNames:
    - parser
    - argp
    - argc
    - argv
    - flags
    - input
    argTypes:
    - struct parser*
    - struct argp*
    - int
    - char**
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 641
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 641
    functionName: parser_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - malloc
    - argp_short_program_name
    - memset
    - strrchr
    - group_parse
    - calc_sizes
    - parser_convert
    linkageType: ''
    returnType: error_t
    signature: "static error_t parser_init (struct parser *parser, const struct argp
      *argp,\t int argc, char **argv, int flags, void *input) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:805,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:832,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:820,1
    - Dst: N_
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:830,1
    - Dst: group_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:811,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:833,1
    - Dst: argp_error
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:839,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:841,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - parser
    - opt
    - val
    argTypes:
    - struct parser*
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 846
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 846
    functionName: parser_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - dgettext
    - strchr
    - N_
    - argp_error
    - group_parse
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parser_parse_opt (struct parser *parser, int opt, char
      *val) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:959,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:967,1
    - Dst: parser_init
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:980,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:964,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:960,1
    - Dst: parser_parse_next
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:986,1
    - Dst: parser_finalize
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c:987,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 26
    argCount: 6
    argNames:
    - argp
    - argc
    - argv
    - flags
    - end_index
    - input
    argTypes:
    - struct argp*
    - int
    - char**
    - unsigned
    - int*
    - void*
    constantsTouched: []
    func_position:
      end: 991
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 991
    functionName: argp_parse
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached:
    - parser_parse_next
    - memset
    - parser_init
    - alloca
    - parser_finalize
    linkageType: ''
    returnType: error_t
    signature: "error_t argp_parse (const struct argp *argp, int argc, char **argv,
      unsigned flags,\t int *end_index, void *input) "
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 5
    argCount: 2
    argNames:
    - argp
    - state
    argTypes:
    - struct argp*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 1009
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1009
    functionName: _argp_input
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-parse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *_argp_input (const struct argp *argp, const struct argp_state
      *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:49,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - __fs
    - __str
    - __len
    argTypes:
    - argp_fmtstream_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: argp_fmtstream_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_ensure
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_write (argp_fmtstream_t __fs, const char *__str,
      size_t __len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __rmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: argp_fmtstream_set_rmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_rmargin (argp_fmtstream_t __fs, size_t __rmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:62,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __str
    argTypes:
    - argp_fmtstream_t
    - char*
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: argp_fmtstream_puts
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - strlen
    - argp_fmtstream_write
    linkageType: ''
    returnType: int
    signature: 'int argp_fmtstream_puts (argp_fmtstream_t __fs, const char *__str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - __fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: argp_fmtstream_point
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_point (argp_fmtstream_t __fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:141,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:155,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - stream
    - lmargin
    - rmargin
    - wmargin
    argTypes:
    - FILE*
    - size_t
    - size_t
    - ssize_t
    constantsTouched: []
    func_position:
      end: 166
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 166
    functionName: argp_make_fmtstream
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: argp_fmtstream_t
    signature: "argp_fmtstream_t argp_make_fmtstream (FILE *stream,\t\t size_t lmargin,
      size_t rmargin, ssize_t wmargin) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:204,1
    - Dst: memchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:222,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:206,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:262,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:215,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:288,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:298,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:309,1
    - Dst: isblank
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:322,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:342,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:353,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:352,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:372,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:377,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 165
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 395
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 395
    functionName: _argp_fmtstream_update
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - fwrite
    - memset
    - memchr
    - putc
    - memmove
    - isblank
    linkageType: ''
    returnType: void
    signature: 'void _argp_fmtstream_update (argp_fmtstream_t fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - __fs
    - __ch
    argTypes:
    - argp_fmtstream_t
    - int
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: argp_fmtstream_putc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_ensure
    linkageType: ''
    returnType: int
    signature: 'int argp_fmtstream_putc (argp_fmtstream_t __fs, int __ch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_ensure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:457,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:460,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:462,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - fs
    - fmt
    - '...'
    argTypes:
    - struct argp_fmtstream*
    - char*
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: argp_fmtstream_printf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - va_end
    - _argp_fmtstream_ensure
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: ssize_t
    signature: 'ssize_t argp_fmtstream_printf (struct argp_fmtstream *fs, const char
      *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __lmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: argp_fmtstream_set_lmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_lmargin (argp_fmtstream_t __fs, size_t __lmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - __fs
    - __wmargin
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: argp_fmtstream_set_wmargin
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    linkageType: ''
    returnType: size_t
    signature: 'size_t argp_fmtstream_set_wmargin (argp_fmtstream_t __fs, size_t __wmargin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:173,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:178,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:179,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - fs
    argTypes:
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: argp_fmtstream_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    - free
    - fwrite
    linkageType: ''
    returnType: void
    signature: 'void argp_fmtstream_free (argp_fmtstream_t fs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _argp_fmtstream_update
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:407,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:409,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:431,1
    - Dst: memmove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - fs
    - amount
    argTypes:
    - struct argp_fmtstream*
    - size_t
    constantsTouched: []
    func_position:
      end: 444
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 444
    functionName: _argp_fmtstream_ensure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-fmtstream.c
    functionUses: []
    functionsReached:
    - _argp_fmtstream_update
    - realloc
    - fwrite
    - memmove
    linkageType: ''
    returnType: int
    signature: 'int _argp_fmtstream_ensure (struct argp_fmtstream *fs, size_t amount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: _getopt_long_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_r (int argc, char *const *argv, const char *options,\t\tconst
      struct option *long_options, int *opt_index,\t\tstruct _getopt_data *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:66,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: getopt_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long (int argc, char *const *argv, const char *options,\t
      const struct option *long_options, int *opt_index) "
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:126,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:137,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:136,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:134,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:151,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:153,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:157,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:161,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:165,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:169,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:182,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:185,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:188,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:176,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:184,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 189
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 189
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: []
    functionsReached:
    - exit
    - printf
    - getopt_long
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 6
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    - d
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    - struct _getopt_data*
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: _getopt_long_only_r
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal_r
    linkageType: ''
    returnType: int
    signature: "int _getopt_long_only_r (int argc, char *const *argv, const char *options,\t\t
      const struct option *long_options, int *opt_index,\t\t struct _getopt_data *d) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _getopt_internal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - argc
    - argv
    - options
    - long_options
    - opt_index
    argTypes:
    - int
    - char**
    - char*
    - struct option*
    - int*
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: getopt_long_only
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt1.c
    functionUses: []
    functionsReached:
    - _getopt_internal
    linkageType: ''
    returnType: int
    signature: "int getopt_long_only (int argc, char *const *argv, const char *options,\t\t
      const struct option *long_options, int *opt_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:54,1
    - Dst: __getpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:56,1
    - Dst: _itoa_word
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:56,1
    - Dst: __builtin_expect
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:63,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c:63,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 1
    argNames:
    - env
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 73
    functionName: __getopt_clean_environment
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/getopt_init.c
    functionUses: []
    functionsReached:
    - strncmp
    - __builtin_expect
    - _itoa_word
    - __getpid
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void __getopt_clean_environment (char **env) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:145,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:153,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:148,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:155,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 158
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 158
    functionName: strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - calloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'char * strndup (const char *s, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: hol_entry_first_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_short_iterate
    linkageType: ''
    returnType: char
    signature: 'static char hol_entry_first_short (const struct hol_entry *entry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - group1
    - group2
    - eq
    argTypes:
    - int
    - int
    - int
    constantsTouched: []
    func_position:
      end: 736
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 736
    functionName: group_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int group_cmp (int group1, int group2, int eq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:786,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:791,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 794
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 794
    functionName: canon_doc_option
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - isspace
    - isalnum
    linkageType: ''
    returnType: int
    signature: 'static int canon_doc_option (const char **name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:997,1
    - Dst: argp_fmtstream_rmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:998,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1001,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - stream
    - ensure
    argTypes:
    - argp_fmtstream_t
    - size_t
    constantsTouched: []
    func_position:
      end: 1002
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1002
    functionName: space
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - argp_fmtstream_rmargin
    - argp_fmtstream_point
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void space (argp_fmtstream_t stream, size_t ensure) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1332,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1335,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1341,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1340,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1340,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1346
    functionName: usage_argful_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    - strlen
    - space
    linkageType: ''
    returnType: int
    signature: "static int usage_argful_short_opt (const struct argp_option *opt,\t\t\tconst
      struct argp_option *real,\t\t\tconst char *domain, void *cookie) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: argp_make_fmtstream
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1629,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1673,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1667,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1679,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1663,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1689,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1691,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1707,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1720,1
    - Dst: hol_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1721,1
    - Dst: fill_in_uparams
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1627,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1641,1
    - Dst: hol_set_group
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1642,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1651,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1654,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1659,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1679,1
    - Dst: hol_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1685,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1707,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1742,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1638,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1694,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1728,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1734,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1733,1
    - Dst: hol_sort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1644,1
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1652,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1668,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1664,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1692,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1703,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1734,1
    - Dst: argp_fmtstream_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1744,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 5
    argNames:
    - argp
    - state
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - struct argp_state*
    - FILE*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1745
    functionName: _help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - argp_make_fmtstream
    - hol_help
    - argp_fmtstream_set_wmargin
    - fill_in_uparams
    - alloca
    - hol_free
    - argp_doc
    - hol_usage
    - argp_fmtstream_putc
    - memset
    - argp_hol
    - argp_args_levels
    - dgettext
    - argp_args_usage
    - argp_fmtstream_puts
    - hol_sort
    - argp_fmtstream_free
    - argp_fmtstream_set_lmargin
    - hol_set_group
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void _help (const struct argp *argp, const struct argp_state
      *state, FILE *stream, unsigned flags, char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:131,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - c_in
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: strchrnul
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - strchr
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'char * strchrnul (const char *s, int c_in) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:237,1
    - Dst: isalnum
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:254,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:258,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:247,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:245,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:265,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:279,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:281,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:282,1
    - Dst: SKIPWS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:284,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:290,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:318,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:306,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:317,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:294,1
    - Dst: argp_failure
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:305,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:295,1
    - Dst: strncmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:291,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 1
    argNames:
    - state
    argTypes:
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 324
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 324
    functionName: fill_in_uparams
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - isdigit
    - strncmp
    - isalpha
    - getenv
    - argp_failure
    - SKIPWS
    - strlen
    - atoi
    - isalnum
    linkageType: ''
    returnType: void
    signature: 'static void fill_in_uparams (const struct argp_state *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: until_short
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - oshort
    linkageType: ''
    returnType: int
    signature: "static inline int until_short (const struct argp_option *opt, const
      struct argp_option *real,\t const char *domain, void *cookie) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hol_find_entry
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 3
    argNames:
    - hol
    - name
    - group
    argTypes:
    - struct hol*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 723
    functionName: hol_set_group
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_find_entry
    linkageType: ''
    returnType: void
    signature: 'static void hol_set_group (struct hol *hol, const char *name, int
      group) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: hol_cluster_is_child
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int hol_cluster_is_child (const struct hol_cluster *cl1,\t\t
      const struct hol_cluster *cl2) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:987,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - col
    argTypes:
    - argp_fmtstream_t
    - unsigned
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: indent_to
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - argp_fmtstream_point
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void indent_to (argp_fmtstream_t stream, unsigned col) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1314
    functionName: add_argless_short_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "static int add_argless_short_opt (const struct argp_option *opt,\t\t
      const struct argp_option *real,\t\t const char *domain, void *cookie) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1821,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1823,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1826,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1825,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1823,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1828,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1830,1
    - Dst: argp_state_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1832,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - state
    - fmt
    - '...'
    argTypes:
    - struct argp_state*
    - char*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1837
    functionName: argp_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    - putc
    - argp_state_help
    - argp_short_program_name
    - fputs
    linkageType: ''
    returnType: void
    signature: 'void argp_error (const struct argp_state *state, const char *fmt,
      ...) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1858,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1858,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1867,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1866,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1865,1
    - Dst: vfprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1869,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1871,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1880,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1881,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1883,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1885,1
    - Dst: strerror_r
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1883,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1893,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1885,1
    - Dst: putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1889,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - state
    - status
    - errnum
    - fmt
    - '...'
    argTypes:
    - struct argp_state*
    - int
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1896
    functionName: argp_failure
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - exit
    - va_start
    - va_end
    - vfprintf
    - strerror_r
    - putc
    - strerror
    - argp_short_program_name
    - fputs
    linkageType: ''
    returnType: void
    signature: "void argp_failure (const struct argp_state *state, int status, int
      errnum,\t\tconst char *fmt, ...) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:704,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:704,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 9
    argCount: 2
    argNames:
    - hol
    - name
    argTypes:
    - struct hol*
    - char*
    constantsTouched: []
    func_position:
      end: 713
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 713
    functionName: hol_find_entry
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - strcmp
    linkageType: ''
    returnType: struct hol_entry*
    signature: 'static struct hol_entry *hol_find_entry (struct hol *hol, const char
      *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cl
    argTypes:
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: hol_cluster_base
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct hol_cluster*
    signature: 'static struct hol_cluster *hol_cluster_base (struct hol_cluster *cl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_hol
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1424,1
    - Dst: hol_add_cluster
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1431,1
    - Dst: argp_hol
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1435,1
    - Dst: hol_append
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 8
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1439
    functionName: argp_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_append
    - argp_hol
    - hol_add_cluster
    - make_hol
    linkageType: ''
    returnType: struct hol*
    signature: 'static struct hol *argp_hol (const struct argp *argp, struct hol_cluster
      *cluster) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1471,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1472,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1485,1
    - Dst: strchrnul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1477,1
    - Dst: space
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1491,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1493,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1496,1
    - Dst: argp_args_usage
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1500,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 5
    argNames:
    - argp
    - state
    - levels
    - advance
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - char**
    - int
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1517
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1517
    functionName: argp_args_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_write
    - argp_args_usage
    - free
    - space
    - strchrnul
    - filter_doc
    linkageType: ''
    returnType: int
    signature: "static int argp_args_usage (const struct argp *argp, const struct
      argp_state *state,\t\t char **levels, int advance, argp_fmtstream_t stream) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1759,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1764
    functionName: argp_basename
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - strrchr
    linkageType: ''
    returnType: char*
    signature: 'char *argp_basename (char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_basename
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1782
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1782
    functionName: argp_short_program_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - argp_basename
    linkageType: ''
    returnType: char*
    signature: 'char *argp_short_program_name (void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:504,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:516,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:506,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:519,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:516,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:521,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:523,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:527,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:528,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:530,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:532,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:559,1
    - Dst: oend
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:537,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:554,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:554,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:559,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 56
    argCount: 2
    argNames:
    - argp
    - cluster
    argTypes:
    - struct argp*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 565
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 565
    functionName: make_hol
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    - find_char
    - assert
    - oshort
    - oend
    - oalias
    linkageType: ''
    returnType: struct hol*
    signature: 'static struct hol *make_hol (const struct argp *argp, struct hol_cluster
      *cluster) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - entry
    argTypes:
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: hol_entry_first_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    linkageType: ''
    returnType: char*
    signature: 'static const char *hol_entry_first_long (const struct hol_entry *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:755,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - cl1
    - cl2
    argTypes:
    - struct hol_cluster*
    - struct hol_cluster*
    constantsTouched: []
    func_position:
      end: 756
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 756
    functionName: hol_cluster_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - group_cmp
    linkageType: ''
    returnType: int
    signature: 'static int hol_cluster_cmp (const struct hol_cluster *cl1, const struct
      hol_cluster *cl2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - argp
    - stream
    - flags
    - name
    argTypes:
    - struct argp*
    - FILE*
    - unsigned
    - char*
    constantsTouched: []
    func_position:
      end: 1753
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1753
    functionName: argp_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - _help
    linkageType: ''
    returnType: void
    signature: "void argp_help (const struct argp *argp, FILE *stream,\t\t unsigned
      flags, char *name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: mempcpy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void * mempcpy(void* dest, const void* src, size_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - ch
    - beg
    - end
    argTypes:
    - char
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: find_char
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int find_char (char ch, char *beg, char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:574,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 6
    argNames:
    - hol
    - group
    - header
    - index
    - parent
    - argp
    argTypes:
    - struct hol*
    - int
    - char*
    - int
    - struct hol_cluster*
    - struct argp*
    constantsTouched: []
    func_position:
      end: 589
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 589
    functionName: hol_add_cluster
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    linkageType: ''
    returnType: struct hol_cluster*
    signature: "static struct hol_cluster *hol_add_cluster (struct hol *hol, int group,
      const char *header, int index,\t\t struct hol_cluster *parent, const struct
      argp *argp) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1063,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 4
    argNames:
    - doc
    - key
    - argp
    - state
    argTypes:
    - char*
    - int
    - struct argp*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1069
    functionName: filter_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - _argp_input
    linkageType: ''
    returnType: char*
    signature: "static const char *filter_doc (const char *doc, int key, const struct
      argp *argp,\t const struct argp_state *state) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloca
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1387,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1387,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1394,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1399,1
    - Dst: hol_entry_short_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1406,1
    - Dst: hol_entry_long_iterate
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1413,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - hol
    - stream
    argTypes:
    - struct hol*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1416
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1416
    functionName: hol_usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_short_iterate
    - hol_entry_long_iterate
    - alloca
    - strlen
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void hol_usage (struct hol *hol, argp_fmtstream_t stream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1366,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1370,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1368,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1373,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - opt
    - real
    - domain
    - cookie
    argTypes:
    - struct argp_option*
    - struct argp_option*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1377
    functionName: usage_long_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: int
    signature: "static int usage_long_opt (const struct argp_option *opt,\t\tconst
      struct argp_option *real,\t\tconst char *domain, void *cookie) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1449,1
    - Dst: argp_args_levels
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - argp
    argTypes:
    - struct argp*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1457
    functionName: argp_args_levels
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - strchr
    - argp_args_levels
    linkageType: ''
    returnType: size_t
    signature: 'static size_t argp_args_levels (const struct argp *argp) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strndup
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1553,1
    - Dst: _argp_input
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1554,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1581,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1574,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1574,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1583,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1594,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1536,1
    - Dst: argp_fmtstream_write
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1570,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1572,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1575,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1595,1
    - Dst: argp_fmtstream_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1596,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1592,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1541,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1567,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1593,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1597,1
    - Dst: argp_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1605,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 56
    argCount: 6
    argNames:
    - argp
    - state
    - post
    - pre_blank
    - first_only
    - stream
    argTypes:
    - struct argp*
    - struct argp_state*
    - int
    - int
    - int
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1610
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1610
    functionName: argp_doc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_write
    - argp_fmtstream_puts
    - strchr
    - _argp_input
    - strndup
    - argp_fmtstream_point
    - argp_fmtstream_lmargin
    - free
    - argp_doc
    - argp_fmtstream_putc
    linkageType: ''
    returnType: int
    signature: "static int argp_doc (const struct argp *argp, const struct argp_state
      *state,\t int post, int pre_blank, int first_only,\t argp_fmtstream_t stream) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:626,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:630,1
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:628,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 16
    argCount: 4
    argNames:
    - entry
    - (*func)
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 636
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 636
    functionName: hol_entry_short_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - oalias
    - oshort
    linkageType: ''
    returnType: int
    signature: "static int hol_entry_short_iterate (const struct hol_entry *entry,\t\t\t
      int (*func)(const struct argp_option *opt,\t\t\t\t const struct argp_option
      *real,\t\t\t\t const char *domain, void *cookie),\t\t\t const char *domain,
      void *cookie) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - entry1_v
    - entry2_v
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: hol_entry_qcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_entry_cmp
    linkageType: ''
    returnType: int
    signature: 'static int hol_entry_qcmp (const void *entry1_v, const void *entry2_v) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:921,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:926,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:922,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:924,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:924,1
    - Dst: assert
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:928,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:931,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:931,1
    - Dst: mempcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:936,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:956,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:971,1
    - Dst: hol_free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:980,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:972,1
    - Dst: find_char
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:959,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 2
    argNames:
    - hol
    - more
    argTypes:
    - struct hol*
    - struct hol*
    constantsTouched: []
    func_position:
      end: 981
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 981
    functionName: hol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - malloc
    - mempcpy
    - find_char
    - free
    - assert
    - strlen
    - oshort
    - hol_free
    linkageType: ''
    returnType: void
    signature: 'static void hol_append (struct hol *hol, struct hol *more) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1014,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1015,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1017,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1018,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 5
    argNames:
    - real
    - req_fmt
    - opt_fmt
    - domain
    - stream
    argTypes:
    - struct argp_option*
    - char*
    - char*
    - char*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1020
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1020
    functionName: arg
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_printf
    linkageType: ''
    returnType: void
    signature: 'static void arg (const struct argp_option *real, const char *req_fmt,
      const char *opt_fmt, const char *domain, argp_fmtstream_t stream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1118,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1131,1
    - Dst: hol_cluster_is_child
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1123,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1129,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1130,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1137,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1139,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - col
    - pest
    argTypes:
    - unsigned
    - struct pentry_state*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1140
    functionName: comma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_cluster_is_child
    - print_header
    - argp_fmtstream_puts
    - argp_fmtstream_wmargin
    - indent_to
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: 'static void comma (unsigned col, struct pentry_state *pest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hol_entry_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1279,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1292,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1283,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1287,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1291,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1293,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1296,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 18
    argCount: 3
    argNames:
    - hol
    - state
    - stream
    argTypes:
    - struct hol*
    - struct argp_state*
    - argp_fmtstream_t
    constantsTouched: []
    func_position:
      end: 1298
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1298
    functionName: hol_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_puts
    - hol_entry_help
    - free
    - filter_doc
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void hol_help (struct hol *hol, const struct argp_state *state,\t
      argp_fmtstream_t stream) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1794,1
    - Dst: argp_short_program_name
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1795,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1800,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - state
    - stream
    - flags
    argTypes:
    - struct argp_state*
    - FILE*
    - unsigned
    constantsTouched: []
    func_position:
      end: 1805
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1805
    functionName: argp_state_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - argp_short_program_name
    - exit
    - _help
    linkageType: ''
    returnType: void
    signature: 'void argp_state_help (const struct argp_state *state, FILE *stream,
      unsigned flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: oalias
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:653,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:655,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 13
    argCount: 4
    argNames:
    - entry
    - (*func)
    - domain
    - cookie
    argTypes:
    - struct hol_entry*
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 660
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 660
    functionName: hol_entry_long_iterate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - ovisible
    - oalias
    linkageType: ''
    returnType: int
    signature: "static inline int __attribute__ ((always_inline)) hol_entry_long_iterate
      (const struct hol_entry *entry,\t\t\tint (*func)(const struct argp_option *opt,\t\t\t\t
      const struct argp_option *real,\t\t\t\t const char *domain, void *cookie),\t\t\tconst
      char *domain, void *cookie) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:600,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:610,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:606,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    constantsTouched: []
    func_position:
      end: 611
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 611
    functionName: hol_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void hol_free (struct hol *hol) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:815,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:818,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:827,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:829,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:831,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:837,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:815,1
    - Dst: hol_entry_first_short
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:828,1
    - Dst: canon_doc_option
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:835,1
    - Dst: hol_entry_first_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:832,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:856,1
    - Dst: hol_cluster_base
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:818,1
    - Dst: group_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:868,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:845,1
    - Dst: hol_cluster_cmp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:821,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:830,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:858,1
    - Dst: _tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:856,1
    - Dst: tolower
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:858,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 2
    argNames:
    - entry1
    - entry2
    argTypes:
    - struct hol_entry*
    - struct hol_entry*
    constantsTouched: []
    func_position:
      end: 869
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 869
    functionName: hol_entry_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - hol_cluster_base
    - group_cmp
    - odoc
    - _tolower
    - hol_cluster_cmp
    - tolower
    - canon_doc_option
    - hol_entry_first_long
    - hol_entry_first_short
    - strcasecmp
    linkageType: ''
    returnType: int
    signature: "static int hol_entry_cmp (const struct hol_entry *entry1,\t const
      struct hol_entry *entry2) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - hol
    argTypes:
    - struct hol*
    constantsTouched: []
    func_position:
      end: 887
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 887
    functionName: hol_sort
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: 'static void hol_sort (struct hol *hol) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1080,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1081,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1090,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1091,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1089,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1092,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1093,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1094,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1095,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1102,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - str
    - argp
    - pest
    argTypes:
    - char*
    - struct argp*
    - struct pentry_state*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1103
    functionName: print_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - dgettext
    - argp_fmtstream_puts
    - free
    - argp_fmtstream_set_lmargin
    - indent_to
    - filter_doc
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void print_header (const char *str, const struct argp *argp,\t
      struct pentry_state *pest) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1152,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1158,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1167,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1175,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1208,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1199,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1212,1
    - Dst: filter_doc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1237,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1255,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1258,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1252,1
    - Dst: argp_fmtstream_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1153,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1176,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1191,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1193,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1220,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1242,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1243,1
    - Dst: indent_to
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1250,1
    - Dst: argp_fmtstream_set_lmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1265,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1259,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1160,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1169,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1174,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1178,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1210,1
    - Dst: odoc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1188,1
    - Dst: arg
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1214,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1234,1
    - Dst: argp_fmtstream_point
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1240,1
    - Dst: argp_fmtstream_puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1248,1
    - Dst: ovisible
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1172,1
    - Dst: dgettext
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1200,1
    - Dst: comma
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1195,1
    - Dst: argp_fmtstream_printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1213,1
    - Dst: oshort
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1225,1
    - Dst: print_header
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1227,1
    - Dst: argp_fmtstream_putc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1246,1
    - Dst: argp_fmtstream_set_wmargin
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c:1266,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 86
    argCount: 4
    argNames:
    - entry
    - state
    - stream
    - hhstate
    argTypes:
    - struct hol_entry*
    - struct argp_state*
    - argp_fmtstream_t
    - struct hol_help_state*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1267
    functionName: hol_entry_help
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/argp/argp-help.c
    functionUses: []
    functionsReached:
    - odoc
    - dgettext
    - argp_fmtstream_puts
    - print_header
    - ovisible
    - argp_fmtstream_point
    - arg
    - free
    - argp_fmtstream_set_lmargin
    - argp_fmtstream_wmargin
    - indent_to
    - comma
    - oshort
    - filter_doc
    - argp_fmtstream_printf
    - argp_fmtstream_set_wmargin
    - argp_fmtstream_putc
    linkageType: ''
    returnType: void
    signature: "static void hol_entry_help (struct hol_entry *entry, const struct
      argp_state *state,\t\targp_fmtstream_t stream, struct hol_help_state *hhstate) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/test_argv0.c:4,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 6
      start: 2
    functionDepth: 0
    functionLinenumber: 2
    functionLinenumberEnd: 6
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/test_argv0.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char** argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp1.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 106
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp1.c
    functionUses: []
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int
    signature: 'static int do_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parse_opt (int key, char *arg, struct argp_state *state) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:205,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:212,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:245,1
    - Dst: setpgid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:311,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:318,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:334,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:357,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:359,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:360,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:364,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:365,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:319,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:355,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:303,1
    - Dst: TEMP_FAILURE_RETRY
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:331,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:374,1
    - Dst: mallopt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:202,1
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:232,1
    - Dst: setrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:302,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:306,1
    - Dst: alarm
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:328,1
    - Dst: waitpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:331,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:335,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:341,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:352,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:353,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:364,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:375,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:372,1
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:208,1
    - Dst: fork
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:280,1
    - Dst: getrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:295,1
    - Dst: PREPARE
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:268,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:314,1
    - Dst: signal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:327,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:339,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:348,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:359,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:363,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:376,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:226,1
    - Dst: MAX
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:234,1
    - Dst: setenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:240,1
    - Dst: chdir
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:242,1
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:244,1
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:250,1
    - Dst: setvbuf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:256,1
    - Dst: atexit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:259,1
    - Dst: MIN
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:300,1
    - Dst: setrlimit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:289,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:370,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 381
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: []
    functionsReached:
    - exit
    - setpgid
    - WTERMSIG
    - setbuf
    - chdir
    - fork
    - atexit
    - alarm
    - strsignal
    - MIN
    - TEMP_FAILURE_RETRY
    - setrlimit
    - setenv
    - WEXITSTATUS
    - fprintf
    - mallopt
    - strtoul
    - waitpid
    - printf
    - perror
    - getopt_long
    - signal
    - MAX
    - getenv
    - setvbuf
    - PREPARE
    - getrlimit
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: delete_temp_files
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: []
    functionsReached:
    - remove
    linkageType: ''
    returnType: void
    signature: 'static void delete_temp_files (void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: perror
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:161,1
    - Dst: WIFSTOPPED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:177,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:182,1
    - Dst: kill
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:140,1
    - Dst: waitpid
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:146,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:172,1
    - Dst: WIFSIGNALED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:175,1
    - Dst: WSTOPSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:179,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:178,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:188,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:162,1
    - Dst: nanosleep
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:157,1
    - Dst: fputs
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:176,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:184,1
    - Dst: WEXITSTATUS
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:185,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:181,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:182,1
    - Dst: WTERMSIG
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:175,1
    - Dst: strsignal
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:179,1
    - Dst: WIFSIGNALED
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:180,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 189
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 189
    functionName: timeout_handler
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: []
    functionsReached:
    - exit
    - WIFSIGNALED
    - kill
    - WEXITSTATUS
    - fprintf
    - waitpid
    - nanosleep
    - WIFSTOPPED
    - WTERMSIG
    - WSTOPSIG
    - perror
    - strsignal
    - fputs
    linkageType: ''
    returnType: void
    signature: 'static void __attribute__ ((noreturn)) timeout_handler (int sig __attribute__
      ((unused))) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:77,1
    - Dst: insque
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: add_temp_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: []
    functionsReached:
    - calloc
    - insque
    linkageType: ''
    returnType: void
    signature: 'static void __attribute__ ((unused)) add_temp_file (const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:107,1
    - Dst: strcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:114,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:107,1
    - Dst: puts
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:111,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:107,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:114,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:114,1
    - Dst: stpcpy
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:114,1
    - Dst: mkstemp
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:116,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:119,1
    - Dst: add_temp_file
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:124,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - base
    - filename
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 129
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 129
    functionName: create_temp_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/gnu-test-skeleton.c
    functionUses: []
    functionsReached:
    - malloc
    - puts
    - mkstemp
    - strcpy
    - stpcpy
    - free
    - printf
    - strlen
    - add_temp_file
    linkageType: ''
    returnType: int
    signature: 'static int __attribute__ ((unused)) create_temp_file (const char *base,
      char **filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_help
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp2.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/tst-argp2.c
    functionUses: []
    functionsReached:
    - argp_help
    linkageType: ''
    returnType: int
    signature: 'static int do_test (void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/bug-argp1.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 26
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 26
    functionName: do_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/bug-argp1.c
    functionUses: []
    functionsReached:
    - argp_parse
    linkageType: ''
    returnType: int
    signature: 'static int do_test (int argc, char *argv[]) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:94,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:101,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 5
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: sub_parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: error_t
    signature: 'static error_t sub_parse_opt (int key, char *arg, struct argp_state
      *state) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:186,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:192,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:205,1
    - Dst: popt
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:200,1
    - Dst: atoi
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:197,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 10
    argCount: 3
    argNames:
    - key
    - arg
    - state
    argTypes:
    - int
    - char*
    - struct argp_state*
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: parse_opt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - atoi
    - popt
    - printf
    linkageType: ''
    returnType: error_t
    signature: 'static error_t parse_opt (int key, char *arg, struct argp_state *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_s
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:41,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: random
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - rand_s
    - rand
    linkageType: ''
    returnType: unsigned int
    signature: 'static unsigned int random(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:52,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:53,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:62,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:54,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:58,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:63,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ret
    - format
    - '...'
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: asprintf_impl
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - va_end
    - malloc
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int
    signature: 'static int asprintf_impl(char **ret, const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: sub_help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - strdup
    linkageType: ''
    returnType: char*
    signature: 'static char *sub_help_filter (int key, const char *text, void *input) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:168,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:175,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:169,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:171,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: popt
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - isprint
    - printf
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void popt (int key, char *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:222,1
    - Dst: asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:223,1
    - Dst: asprintf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:227,1
    - Dst: ctime
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - key
    - text
    - input
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 233
    functionName: help_filter
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - time
    - asprintf
    - ctime
    linkageType: ''
    returnType: char*
    signature: 'static char *help_filter (int key, const char *text, void *input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:245,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:247,1
    - Dst: argp_parse
      Src: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 249
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 249
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/emfisis.physics.uiowa.edu/Software/C/libargp/test/argp-test.c
    functionUses: []
    functionsReached:
    - random
    - argp_parse
    - printf
    linkageType: ''
    returnType: int
    signature: 'int main (int argc, char **argv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:38,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:52,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:72,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:43,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:59,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:62,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:73,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:66,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:45,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:50,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:60,1
    - Dst: avro_raw_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:74,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:67,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:37,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:51,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:65,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 81
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 81
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: []
    functionsReached:
    - avro_raw_array_size
    - avro_raw_array_get
    - fprintf
    - avro_raw_array_done
    - avro_raw_array_append
    - avro_raw_array_init
    - avro_raw_array_clear
    linkageType: ''
    returnType: int
    signature: 'static int test_array(void) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:93,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:96,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:99,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:115,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:141,1
    - Dst: avro_raw_map_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:138,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:144,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:145,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:152,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:101,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:109,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:123,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:146,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:161,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:130,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:117,1
    - Dst: avro_raw_map_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:174,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:94,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:106,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:121,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:139,1
    - Dst: avro_raw_map_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:151,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 176
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 176
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: []
    functionsReached:
    - avro_raw_map_get
    - avro_raw_map_size
    - avro_raw_map_clear
    - avro_raw_map_get_key
    - fprintf
    - avro_raw_map_init
    - strcmp
    - avro_raw_map_get_or_create
    - avro_raw_map_done
    - avro_raw_map_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int test_map(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:190,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:191,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:216,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:206,1
    - Dst: avro_raw_string_equals
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:228,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:233,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:192,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:225,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:207,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:234,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:197,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:200,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:210,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:219,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:209,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:229,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:184,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:188,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:186,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:187,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:198,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:211,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:217,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 236
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 236
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: []
    functionsReached:
    - avro_raw_string_give
    - avro_raw_string_set
    - avro_raw_string_init
    - fprintf
    - avro_raw_string_equals
    - strcmp
    - avro_raw_string_get
    - avro_raw_string_done
    - avro_raw_string_length
    - avro_wrapped_buffer_new_string
    linkageType: ''
    returnType: int
    signature: 'static int test_string(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:241,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:256,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 262
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 262
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_data_structures.c
    functionUses: []
    functionsReached:
    - fprintf
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:36,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:36,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:41,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:37,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:37,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:41,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:42,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:42,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1279.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - check_exit
    - exit
    - avro_file_reader
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:64,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:67,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:75,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:72,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:77,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c:79,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 81
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 81
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1165.c
    functionUses: []
    functionsReached:
    - avro_schema_decref
    - printf
    - avro_value_iface_decref
    - strlen
    - avro_generic_class_from_schema
    - avro_schema_from_json
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:32,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:42,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:34,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:39,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:35,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:43,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:46,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:48,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:49,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:53,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:54,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 59
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 59
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_refcount.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_decref
    - avro_value_decref
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_generic_class_from_schema
    - avro_schema_from_json
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:210,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:214,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:225,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:234,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:251,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:258,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:264,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:253,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:262,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:267,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:214,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:222,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:231,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:233,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:239,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:244,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:242,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:245,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:247,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:248,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:231,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:238,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:237,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:245,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:248,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:254,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:256,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:257,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:263,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:266,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:209,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:219,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:230,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:234,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:250,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 268
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 268
    functionName: test_nested_record_value_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - exit
    - avro_value_set_double
    - avro_value_give_string_len
    - avro_generic_class_from_schema
    - avro_writer_reset
    - rand_number
    - avro_value_equal_fast
    - avro_writer_free
    - avro_generic_value_new
    - rand_int32
    - avro_wrapped_buffer_new_string
    - avro_reader_reset
    - avro_schema_decref
    - avro_value_set_long
    - avro_value_set_int
    - avro_value_write
    - printf
    - avro_writer_memory
    - avro_value_read
    - avro_reader_memory
    - avro_schema_from_json
    - avro_reader_free
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    - avro_value_set_float
    - rand_int64
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_value_by_index(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: test_simple_array_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_array_resolved_writer(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:45,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: 'void init_rand(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:717,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:719,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:720,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 723
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 723
    functionName: populate_nested_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand_int64
    - avro_value_append
    - avro_value_set_long
    linkageType: ''
    returnType: void
    signature: 'static void populate_nested_array(avro_value_t *p_val, unsigned long
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:131,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:127,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:136,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:164,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:131,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:149,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:150,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:157,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:158,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:163,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:139,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:139,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:141,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:155,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:154,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:162,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:126,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:140,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:140,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:147,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:147,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:145,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:146,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:146,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: test_nested_record_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - avro_datum_decref
    - avro_datum_from_schema
    - avro_write_data
    - avro_read_data
    - avro_writer_reset
    - avro_record_set_field_value
    - rand_number
    - avro_writer_free
    - rand_int32
    - avro_reader_reset
    - avro_schema_decref
    - avro_writer_memory
    - avro_datum_equal
    - avro_reader_memory
    - avro_schema_from_json
    - avro_reader_free
    - avro_record_get
    - strlen
    - rand_int64
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_datum(unsigned long num_tests) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:398,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:404,1
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:416,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:419,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:467,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:468,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:473,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:477,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:480,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:486,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:410,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:464,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:461,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:427,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:481,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:485,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:393,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:403,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:407,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:426,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:429,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:469,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:484,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:398,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:394,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:417,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:456,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:462,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:465,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:474,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:476,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:483,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:487,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - num_tests
    - resolution_type
    - schema_json
    - (*populate_value_func)
    argTypes:
    - unsigned long
    - int
    - char*
    - void
    constantsTouched: []
    func_position:
      end: 488
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 488
    functionName: test_generic_helper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - exit
    - avro_resolved_writer_set_dest
    - avro_resolved_writer_new_value
    - avro_generic_class_from_schema
    - avro_writer_reset
    - avro_resolved_reader_new
    - avro_value_equal_fast
    - avro_writer_free
    - avro_generic_value_new
    - avro_reader_reset
    - avro_resolved_writer_new
    - avro_resolved_reader_new_value
    - avro_schema_decref
    - avro_value_write
    - printf
    - avro_writer_memory
    - avro_value_read
    - avro_reader_memory
    - avro_schema_from_json
    - avro_resolved_reader_set_source
    - avro_reader_free
    - avro_value_reset
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    linkageType: ''
    returnType: void
    signature: "static void test_generic_helper( unsigned long num_tests,\t\t\t\t\t
      int resolution_type,\t\t\t\t\t const char *schema_json,\t\t\t\t\t void (*populate_value_func)(avro_value_t
      *,\t\t\t\t\t\t\t\t\t\t\t\t unsigned long)\t\t\t\t\t ) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: test_nested_record_value_by_index_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_value_by_index_resolved_writer(unsigned
      long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: 'double rand_number(double from, double to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:313,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:323,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:335,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:337,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:349,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:351,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:352,1
    - Dst: avro_reader_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:357,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:366,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:371,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:314,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:318,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:329,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:334,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:341,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:352,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:358,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:360,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:361,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:367,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:370,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:318,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:326,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:342,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:338,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:346,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:354,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:369,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:335,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:349,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:338,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:343,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:348,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:355,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:362,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 372
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 372
    functionName: test_nested_record_value_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - exit
    - avro_value_set_double
    - avro_value_give_string_len
    - avro_generic_class_from_schema
    - avro_writer_reset
    - rand_number
    - avro_value_equal_fast
    - avro_writer_free
    - avro_generic_value_new
    - rand_int32
    - avro_wrapped_buffer_new_string
    - avro_reader_reset
    - avro_schema_decref
    - avro_value_set_long
    - avro_value_set_int
    - avro_value_get_by_name
    - avro_value_write
    - avro_writer_memory
    - printf
    - avro_value_read
    - avro_reader_memory
    - avro_schema_from_json
    - avro_reader_free
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    - avro_value_set_float
    - rand_int64
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_value_by_name(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 576
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 576
    functionName: test_nested_record_value_by_index_matched_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_value_by_index_matched_schemas(unsigned
      long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 57
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 57
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t rand_int64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:785,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:832,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:786,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:788,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:825,1
    - Dst: clock
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:834,1
    - Dst: clock
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:836,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:841,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 847
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 847
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - init_rand
    - fprintf
    - clock
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:76,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:79,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:81,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: test_refcount
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - avro_datum_incref
    - avro_datum_decref
    - avro_int32
    linkageType: ''
    returnType: void
    signature: 'static void test_refcount(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 611
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 611
    functionName: test_nested_record_value_by_index_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_record_value_by_index_resolved_reader(unsigned
      long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: test_nested_array_resolved_writer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_array_resolved_writer(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 772
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 772
    functionName: test_nested_array_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_array_resolved_reader(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rand_int32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: test_nested_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_nested_array(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:536,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:540,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:537,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:537,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:539,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:540,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:543,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:544,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:545,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:548,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:550,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:553,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:554,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:551,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:554,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 556
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 556
    functionName: populate_complex_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand_number
    - avro_value_set_double
    - avro_value_set_long
    - avro_value_set_int
    - avro_value_give_string_len
    - avro_value_set_float
    - rand_int32
    - rand_int64
    - avro_wrapped_buffer_new_string
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void populate_complex_record(avro_value_t *p_val, unsigned
      long i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: test_simple_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_array(unsigned long num_tests) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:634,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:635,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:635,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p_val
    - i
    argTypes:
    - avro_value_t*
    - unsigned long
    constantsTouched: []
    func_position:
      end: 637
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 637
    functionName: populate_simple_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - rand_int64
    - avro_value_append
    - avro_value_set_long
    linkageType: ''
    returnType: void
    signature: 'static void populate_simple_array(avro_value_t *p_val, unsigned long
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_generic_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - num_tests
    argTypes:
    - unsigned long
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: test_simple_array_resolved_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/performance.c
    functionUses: []
    functionsReached:
    - test_generic_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_simple_array_resolved_reader(unsigned long num_tests) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:184,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:191,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:189,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:190,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:188,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:192,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:194,1
    - Dst: avro_givebytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:195,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:196,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:197,1
    - Dst: avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:208,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:210,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:203,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:198,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:200,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:202,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:212,1
    - Dst: avro_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 214
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 214
    functionName: test_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_givebytes
    - avro_schema_decref
    - avro_bytes
    - fprintf
    - avro_bytes_set
    - avro_schema_bytes
    - avro_givebytes_set
    - avro_datum_equal
    linkageType: ''
    returnType: int
    signature: 'static int test_bytes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:305,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:310,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:308,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:306,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:309,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:311,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:312,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:314,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:315,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:318,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:319,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:322,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:320,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: test_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - rand_number
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - avro_schema_double
    - avro_float
    - avro_double
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: 'static int test_float(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:344,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:345,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:346,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:348,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 350
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 350
    functionName: test_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_null
    - avro_schema_null
    linkageType: ''
    returnType: int
    signature: 'static int test_null(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:486,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:491,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:486,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:487,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:490,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:492,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:494,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:498,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:499,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:500,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:505,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:504,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:506,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:503,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 508
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 508
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - test_json
    - avro_schema_array
    - avro_schema_int
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - fprintf
    - avro_int32
    - avro_array_size
    - avro_array
    - avro_array_append_datum
    linkageType: ''
    returnType: int
    signature: 'static int test_array(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:581,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:594,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:600,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:607,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:567,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:587,1
    - Dst: avro_givestring_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:592,1
    - Dst: avro_union_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:585,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:608,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:573,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:574,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:575,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:578,1
    - Dst: avro_union_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:580,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:586,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:595,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:599,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:602,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:609,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:573,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:574,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:575,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:577,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:590,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:582,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:591,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:596,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:603,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:604,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 611
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 611
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - avro_datum_decref
    - write_read_check
    - avro_givestring
    - avro_datum_from_schema
    - test_json
    - avro_schema_decref
    - avro_schema_int
    - avro_union
    - avro_schema_union_append
    - avro_schema_string
    - fprintf
    - avro_union_set_discriminant
    - avro_datum_equal
    - avro_schema_union
    - avro_givestring_set
    - avro_union_current_branch
    - avro_union_discriminant
    - avro_schema_null
    linkageType: ''
    returnType: int
    signature: 'static int test_union(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:242,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:236,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:230,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:248,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:222,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:221,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:224,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:237,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:232,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:239,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:243,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:244,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:249,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:225,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:226,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:227,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:228,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:238,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:234,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:246,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:219,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:220,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:229,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 251
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 251
    functionName: test_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_json
    - avro_int64
    - avro_schema_int
    - write_read_check
    - avro_datum_decref
    - avro_schema_double
    - avro_float
    - avro_schema_decref
    - avro_int32
    - avro_double
    - rand_int32
    - avro_schema_float
    linkageType: ''
    returnType: int
    signature: 'static int test_int32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:331,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:336,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:335,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:333,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:334,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 340
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 340
    functionName: test_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - avro_boolean
    - avro_schema_boolean
    linkageType: ''
    returnType: int
    signature: 'static int test_boolean(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:361,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:362,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:382,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:367,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:368,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:377,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:355,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:356,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:356,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:355,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:365,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:376,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:371,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:383,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:354,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:364,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:380,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:358,1
    - Dst: avro_record_get_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:374,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 385
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 385
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - test_json
    - avro_datum_decref
    - avro_schema_int
    - write_read_check
    - avro_schema_decref
    - avro_schema_record
    - avro_schema_string
    - avro_givestring
    - avro_record_set
    - fprintf
    - avro_int32
    - avro_record_get_field_value
    - avro_record_set_field_value
    - avro_record
    - avro_schema_record_field_append
    linkageType: ''
    returnType: int
    signature: 'static int test_record(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:512,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:519,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:520,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:526,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:542,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:537,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:553,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:560,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:525,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:532,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:545,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:549,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:552,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:561,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:512,1
    - Dst: avro_int64_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:534,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:548,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:544,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:543,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:551,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:557,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:518,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:513,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:524,1
    - Dst: avro_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:531,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:538,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 563
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 563
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - exit
    - avro_map_set
    - avro_strerror
    - avro_int64
    - avro_datum_decref
    - avro_map
    - avro_map_get
    - avro_map_get_index
    - fprintf
    - write_read_check
    - test_json
    - avro_schema_decref
    - avro_array_size
    - avro_map_get_key
    - avro_schema_map
    - avro_int64_get
    linkageType: ''
    returnType: int
    signature: 'static int test_map(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:616,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:623,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:621,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:622,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:620,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:625,1
    - Dst: avro_givefixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:626,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:627,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:628,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:629,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:631,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:633,1
    - Dst: avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:639,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:643,1
    - Dst: avro_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:640,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:634,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 645
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 645
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - fprintf
    - avro_fixed_set
    - avro_schema_fixed
    - avro_givefixed_set
    - avro_datum_equal
    - avro_givefixed
    - avro_fixed
    linkageType: ''
    returnType: int
    signature: 'static int test_fixed(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:264,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:267,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:275,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:276,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:271,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:278,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:256,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:257,1
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:260,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:258,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:269,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:279,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:261,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:262,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:263,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:265,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:270,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:274,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 282
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 282
    functionName: test_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_json
    - avro_int64
    - write_read_check
    - avro_datum_decref
    - avro_schema_decref
    - avro_schema_double
    - avro_float
    - avro_double
    - avro_schema_float
    - rand_int64
    linkageType: ''
    returnType: int
    signature: 'static int test_int64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:287,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:289,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:289,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:291,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:290,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:294,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:295,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:296,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: test_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - rand_number
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - avro_schema_double
    - avro_double
    linkageType: ''
    returnType: int
    signature: 'static int test_double(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: 'double rand_number(double from, double to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:143,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:145,1
    - Dst: strcasecmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:144,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:146,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - expected
    argTypes:
    - avro_datum_t
    - char*
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: test_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - free
    - avro_datum_to_json
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: 'static void test_json(avro_datum_t datum, const char *expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:404,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:407,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:406,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:404,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:408,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:413,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:414,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:415,1
    - Dst: avro_record_set_field_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:416,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:418,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:419,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:421,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:424,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 427
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 427
    functionName: test_nested_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_record_get
    - avro_schema_decref
    - write_read_check
    - avro_datum_decref
    - avro_union_set_discriminant
    - avro_datum_from_schema
    - strlen
    - avro_record_set_field_value
    - avro_schema_from_json
    linkageType: ''
    returnType: int
    signature: 'static int test_nested_record(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t rand_int64(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:159,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:161,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:162,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:166,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:163,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:167,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:168,1
    - Dst: avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:173,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:174,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:175,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_string_set
    - avro_schema_decref
    - avro_schema_string
    - avro_givestring
    - avro_string
    linkageType: ''
    returnType: int
    signature: 'static int test_string(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:438,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:441,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:443,1
    - Dst: avro_enum_get_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:461,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:463,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:470,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:475,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:476,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:447,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:452,1
    - Dst: avro_enum_get_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:452,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:458,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:457,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:462,1
    - Dst: test_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:467,1
    - Dst: avro_enum_set_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:469,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:472,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:439,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:442,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:445,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:449,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:454,1
    - Dst: avro_enum_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:460,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:471,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:478,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:444,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:448,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:453,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:461,1
    - Dst: write_read_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:466,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 481
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 481
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_schema_enum
    - exit
    - avro_enum_get_name
    - test_json
    - avro_datum_decref
    - write_read_check
    - avro_schema_decref
    - fprintf
    - avro_enum_get
    - strcmp
    - avro_enum_set
    - avro_schema_enum_symbol_append
    - avro_enum
    - avro_enum_set_name
    linkageType: ''
    returnType: int
    signature: 'static int test_enum(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_allocator
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:649,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:677,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:674,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 683
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 683
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - avro_set_allocator
    - fprintf
    - init_rand
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:38,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:39,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:53,1
    - Dst: abort
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:50,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:44,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 62
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 62
    functionName: test_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - fprintf
    - free
    - realloc
    - abort
    - AVRO_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'static void *test_allocator(void *ud, void *ptr, size_t osize, size_t
      nsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rand_int32(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:66,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: 'void init_rand(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:102,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:117,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:136,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:106,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:112,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:115,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:121,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:123,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:122,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:130,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:105,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:104,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:127,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:129,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:134,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:94,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:95,1
    - Dst: avro_size_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:109,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:119,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:116,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:124,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:126,1
    - Dst: avro_reader_dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:133,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c:135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - writers_schema
    - datum
    - readers_schema
    - expected
    - type
    argTypes:
    - avro_schema_t
    - avro_datum_t
    - avro_schema_t
    - avro_datum_t
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 138
    functionName: write_read_check
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_data.c
    functionUses: []
    functionsReached:
    - exit
    - avro_strerror
    - avro_datum_decref
    - avro_size_data
    - fprintf
    - avro_writer_free
    - avro_writer_memory
    - avro_reader_dump
    - avro_datum_equal
    - avro_write_data
    - avro_read_data
    - avro_reader_memory
    - avro_writer_tell
    - avro_reader_free
    linkageType: ''
    returnType: void
    signature: "void write_read_check(avro_schema_t writers_schema, avro_datum_t datum,\t\t
      avro_schema_t readers_schema, avro_datum_t expected, char *type) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:33,1
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:39,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:34,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:41,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:39,1
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:41,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:45,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:49,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:50,1
    - Dst: avro_value_cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:54,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:55,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:60,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:59,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:65,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 67
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_968.c
    functionUses: []
    functionsReached:
    - avro_value_equal
    - avro_value_decref
    - avro_value_equal_fast
    - fprintf
    - avro_value_cmp
    - avro_generic_string_new
    - avro_value_cmp_fast
    - AVRO_UNUSED
    - try
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:58,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:71,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:72,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:76,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:80,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:80,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:86,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:87,1
    - Dst: avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:88,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:91,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:119,1
    - Dst: avro_file_reader_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:111,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:113,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:63,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:47,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:49,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:55,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:66,1
    - Dst: avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:66,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:67,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:67,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:73,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:77,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:90,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:106,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:106,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:69,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:73,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:65,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:114,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:59,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:77,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:115,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:65,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:50,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:53,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:55,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:59,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:60,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:62,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:61,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:64,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:60,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:63,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:109,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:118,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:101,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:92,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:81,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:109,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:112,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:94,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:103,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:44,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:46,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:54,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:64,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:70,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:71,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:72,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:74,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:79,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:83,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:93,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:96,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:98,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:107,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:95,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:117,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:95,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:84,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 93
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 121
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 121
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/generate_interop_data.c
    functionUses: []
    functionsReached:
    - exit
    - avro_file_writer_create
    - avro_givestring
    - check
    - avro_record
    - avro_fixed
    - avro_record_set
    - avro_file_reader_read
    - avro_enum
    - avro_schema_get_subschema
    - fread
    - avro_int64
    - avro_map
    - avro_union
    - avro_float
    - fprintf
    - avro_file_writer_close
    - avro_double
    - avro_datum_equal
    - avro_boolean
    - avro_schema_from_json
    - avro_file_writer_append
    - avro_file_reader
    - avro_file_reader_close
    - snprintf
    - avro_bytes
    - avro_null
    - avro_int32
    - fopen
    - avro_array
    - avro_array_append_datum
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:48,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:56,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:51,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:48,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:52,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:63,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:66,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:67,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:69,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 75
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 75
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_766.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_copy
    - avro_schema_decref
    - printf
    - strlen
    - avro_schema_from_json
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:41,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:46,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:50,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:43,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:46,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:52,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:53,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:55,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:57,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:60,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:62,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:68,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:63,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:65,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 73
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 73
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_value_decref
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    linkageType: ''
    returnType: int
    signature: 'static int read_data() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:83,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:86,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:85,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:91,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:90,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:93,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:94,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:94,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:99,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:100,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:106,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:106,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:110,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:105,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:112,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: []
    functionsReached:
    - avro_strerror
    - avro_schema_decref
    - avro_file_writer_create
    - avro_value_decref
    - avro_file_writer_close
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_schema_from_json
    linkageType: ''
    returnType: int
    signature: 'static int write_data() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:121,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:126,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 129
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 129
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1904.c
    functionUses: []
    functionsReached:
    - read_data
    - write_data
    - remove
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:64,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:65,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:66,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:68,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:69,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:75,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:79,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:78,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:83,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:84,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:97,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:110,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:96,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:108,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:65,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:66,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:80,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:82,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:77,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:85,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:92,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:95,1
    - Dst: expect_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:100,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:102,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:75,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:77,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:82,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:79,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:78,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:83,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:84,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:87,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:92,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:95,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:106,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:97,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:70,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:87,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:98,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:109,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:96,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:100,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:102,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 111
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1237.c
    functionUses: []
    functionsReached:
    - exit
    - expect_error
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - avro_generic_value_new
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_union_append
    - avro_value_set_int
    - avro_value_set_null
    - check_expected_value
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_schema_union
    - avro_file_reader_close
    - avro_value_decref
    - check_exit
    - avro_value_iface_decref
    - avro_schema_null
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:50,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:52,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:56,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:53,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:55,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:58,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:60,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:63,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:64,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:65,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:71,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:71,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 76
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 76
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_value_decref
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    linkageType: ''
    returnType: int
    signature: 'static int read_data() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:108,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:108,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:97,1
    - Dst: fsize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:138,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:125,1
    - Dst: fsize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:139,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:104,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:99,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:105,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:100,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:115,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:129,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:144,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:113,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:118,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:135,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:121,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:132,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:143,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 148
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: []
    functionsReached:
    - avro_strerror
    - avro_file_writer_open
    - avro_file_writer_create
    - avro_value_decref
    - avro_schema_decref
    - avro_file_writer_close
    - fprintf
    - avro_value_set_int
    - avro_value_get_by_name
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_schema_from_json
    - fsize
    linkageType: ''
    returnType: int
    signature: 'static int write_data() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:155,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:160,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 163
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: []
    functionsReached:
    - read_data
    - write_data
    - remove
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: fsize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1572.c
    functionUses: []
    functionsReached:
    - stat
    linkageType: ''
    returnType: off_t
    signature: 'static off_t fsize(const char *filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:67,1
    - Dst: get_random_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:73,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:69,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:67,1
    - Dst: launch_thread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:74,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:77,1
    - Dst: LAST_ERROR
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:77,1
    - Dst: join_thread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:83,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:85,1
    - Dst: LAST_ERROR
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:85,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:93,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: []
    functionsReached:
    - launch_thread
    - srand
    - get_random_value
    - fprintf
    - memset
    - time
    - LAST_ERROR
    - join_thread
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:123,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:126,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:129,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:124,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:130,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:133,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:139,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:140,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:141,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:142,1
    - Dst: SLEEP_MILLIS
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:145,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:146,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:150,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 157
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 157
    functionName: worker_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: []
    functionsReached:
    - avro_strerror
    - snprintf
    - avro_prefix_error
    - SLEEP_MILLIS
    - avro_set_error
    - strcmp
    linkageType: ''
    returnType: void*
    signature: 'static void *worker_thread( void *context ) #endif '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - max_value
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: get_random_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: 'static int get_random_value( int max_value ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:191,1
    - Dst: pthread_join
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thread_handle
    argTypes:
    - THR_HANDLE
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: join_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: []
    functionsReached:
    - WaitForSingleObject
    - pthread_join
    linkageType: ''
    returnType: int
    signature: 'static int join_thread( THR_HANDLE thread_handle ) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateThread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:168,1
    - Dst: pthread_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:179,1
    - Dst: pthread_attr_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:177,1
    - Dst: pthread_attr_destroy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - thread_context
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 185
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 185
    functionName: launch_thread
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_errors_are_thread_safe.c
    functionUses: []
    functionsReached:
    - pthread_create
    - CreateThread
    - pthread_attr_destroy
    - pthread_attr_init
    linkageType: ''
    returnType: THR_HANDLE
    signature: 'static THR_HANDLE launch_thread( void *thread_context ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:204,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:213,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:208,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:207,1
    - Dst: GetFullPathNameA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:222,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:226,1
    - Dst: FindFirstFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:234,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:241,1
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:246,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 257
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 257
    functionName: opendir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: []
    functionsReached:
    - malloc
    - strchr
    - free
    - GetFullPathNameA
    - strlen
    - DIRENT_SET_ERRNO
    - FindFirstFileA
    linkageType: ''
    returnType: DIR*
    signature: 'static DIR *opendir(const char *dirname) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:352,1
    - Dst: FindFirstFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    constantsTouched: []
    func_position:
      end: 365
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 365
    functionName: rewinddir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: []
    functionsReached:
    - FindClose
    - FindFirstFileA
    linkageType: ''
    returnType: void
    signature: 'static void rewinddir(DIR* dirp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:272,1
    - Dst: FindNextFileA
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:285,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:300,1
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:287,1
    - Dst: DIRENT_STRNCPY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    constantsTouched: []
    func_position:
      end: 312
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 312
    functionName: readdir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: []
    functionsReached:
    - FindClose
    - strlen
    - DIRENT_SET_ERRNO
    - FindNextFileA
    - DIRENT_STRNCPY
    linkageType: ''
    returnType: struct dirent*
    signature: 'static struct dirent *readdir(DIR *dirp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DIRENT_SET_ERRNO
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:324,1
    - Dst: FindClose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:330,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h:335,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dirp
    argTypes:
    - DIR*
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: closedir
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/msdirent.h
    functionUses: []
    functionsReached:
    - FindClose
    - DIRENT_SET_ERRNO
    - free
    linkageType: ''
    returnType: int
    signature: 'static int closedir(DIR *dirp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:76,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:84,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:79,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:78,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:82,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 87
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 87
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - avro_schema_from_json
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: 'void init_schema(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:169,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:172,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:172,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_subarray
    - elements
    - iteration
    argTypes:
    - avro_value_t*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: add_subarray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - avro_value_set_long
    - avro_value_append
    - try
    linkageType: ''
    returnType: int
    signature: 'int add_subarray( avro_value_t *p_subarray, size_t elements, int32_t
      iteration ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:330,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:326,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:333,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:354,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:344,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:352,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:357,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:325,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:322,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:341,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:341,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:351,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:319,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:338,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:338,1
    - Dst: add_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:340,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:348,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:355,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:334,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:347,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:354,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - buf_len
    - raw_binary_file_name
    - use_resolving_writer
    argTypes:
    - int64_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 359
    functionName: write_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - malloc
    - exit
    - fwrite
    - fclose
    - remove
    - add_array
    - fprintf
    - free
    - avro_writer_free
    - printf
    - avro_writer_memory
    - fopen
    - avro_writer_tell
    linkageType: ''
    returnType: int
    signature: 'int write_nested_array_file ( int64_t buf_len, const char *raw_binary_file_name,
      int use_resolving_writer ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:182,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:189,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:189,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:194,1
    - Dst: add_subarray
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - p_array
    - elements
    argTypes:
    - avro_value_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: populate_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - fprintf
    - add_subarray
    - avro_value_append
    - try
    linkageType: ''
    returnType: int
    signature: 'int populate_array( avro_value_t *p_array, int32_t elements ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:107,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:108,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:110,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:112,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:110,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:121,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:121,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:124,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:125,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:127,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:136,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:136,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:141,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:129,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:144,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:127,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:141,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - p_array
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 151
    functionName: print_array_fields
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - avro_value_get_size
    - printf
    - try
    - avro_value_get_type
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int print_array_fields ( avro_value_t *p_array ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:236,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:241,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:264,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:264,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:281,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:287,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:302,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:219,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:220,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:223,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:249,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:261,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:275,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:278,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:288,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:301,1
    - Dst: populate_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:223,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:245,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:245,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:260,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:269,1
    - Dst: populate_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:278,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:286,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:293,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:296,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:220,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:242,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:267,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:257,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:281,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:284,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:293,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 3
    argNames:
    - writer
    - elements
    - use_resolving_writer
    argTypes:
    - avro_writer_t
    - int32_t
    - int
    constantsTouched: []
    func_position:
      end: 305
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 305
    functionName: add_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - exit
    - avro_value_reset
    - avro_resolved_reader_new_value
    - avro_value_decref
    - print_array_fields
    - populate_array
    - avro_value_write
    - printf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_generic_class_from_schema
    - avro_resolved_reader_new
    - avro_resolved_reader_set_source
    - try
    linkageType: ''
    returnType: int
    signature: 'int add_array( avro_writer_t writer, int32_t elements, int use_resolving_writer
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:373,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:379,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:375,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:382,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:377,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:385,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:386,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:389,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:390,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 394
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 394
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1034.c
    functionUses: []
    functionsReached:
    - avro_schema_decref
    - remove
    - printf
    - init_schema
    - write_nested_array_file
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:51,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:52,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:68,1
    - Dst: avro_file_writer_append_encoded
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:77,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:81,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:82,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:85,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:88,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:98,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:61,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:65,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:76,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:83,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:87,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:88,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:92,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:93,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:89,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:55,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:58,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:64,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:72,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:74,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:78,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:91,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:95,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:94,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:52,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:52,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:74,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:78,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:71,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:77,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:72,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:81,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:82,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 99
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1691.c
    functionUses: []
    functionsReached:
    - exit
    - avro_file_writer_create
    - avro_value_set_string
    - check
    - avro_generic_class_from_schema
    - avro_value_equal
    - remove
    - avro_writer_free
    - avro_generic_value_new
    - avro_writer_tell
    - avro_file_writer_append_encoded
    - avro_schema_decref
    - avro_file_writer_close
    - fprintf
    - avro_value_write
    - printf
    - avro_writer_memory
    - avro_file_reader_read_value
    - avro_schema_from_json
    - avro_file_reader
    - avro_file_reader_close
    - avro_value_reset
    - snprintf
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:49,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:54,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:57,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:67,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:61,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:64,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:40,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:72,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:72,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:69,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:42,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:65,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:45,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:45,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:51,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:52,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:58,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 77
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_value_decref
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    - avro_value_get_int
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int read_data() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:133,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:134,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:149,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:138,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:153,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:159,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:164,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:159,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:153,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:131,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:139,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:139,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:143,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:144,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:148,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:158,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:163,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - n_records
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 168
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 168
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: []
    functionsReached:
    - avro_strerror
    - avro_schema_decref
    - avro_file_writer_create
    - avro_value_decref
    - avro_file_writer_close
    - fprintf
    - avro_value_set_int
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_schema_from_json
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int write_data(int n_records) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:86,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:95,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:88,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:91,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:91,1
    - Dst: avro_file_reader_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:97,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:101,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:101,1
    - Dst: avro_int32_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:104,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:105,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:110,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:116,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:116,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:113,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: read_data_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_record_get
    - avro_strerror
    - avro_datum_decref
    - avro_schema_decref
    - fprintf
    - avro_file_reader_read
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    - avro_int32_get
    linkageType: ''
    returnType: int
    signature: 'static int read_data_datum() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: test_n_records
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:194,1
    - Dst: test_n_records
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: []
    functionsReached:
    - test_n_records
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:173,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:174,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:178,1
    - Dst: read_data_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:183,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:179,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:184,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - n_records
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 190
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 190
    functionName: test_n_records
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1906.c
    functionUses: []
    functionsReached:
    - read_data
    - write_data
    - remove
    - read_data_datum
    linkageType: ''
    returnType: int
    signature: 'static int test_n_records(int n_records) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:62,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:62,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:66,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:70,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:65,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:73,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:74,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:76,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:77,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:80,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 83
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 83
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1167.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_copy
    - avro_schema_decref
    - printf
    - strlen
    - avro_schema_from_json
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:49,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:50,1
    - Dst: avro_wrapped_buffer_new_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:56,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:52,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:53,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:57,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:58,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:61,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:63,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:64,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:66,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - p_val
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 68
    functionName: populate_complex_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_value_set_long
    - avro_value_set_int
    - avro_value_give_string_len
    - avro_value_set_float
    - avro_wrapped_buffer_new_string
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void populate_complex_record(avro_value_t *p_val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:98,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:101,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:105,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:113,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:117,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:118,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:122,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:123,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:127,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:87,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:82,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:93,1
    - Dst: populate_complex_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:94,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:101,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:100,1
    - Dst: avro_file_writer_append_encoded
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:106,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:109,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:118,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:82,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:82,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:90,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:107,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:106,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:109,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:111,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:119,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:124,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:84,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:97,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:98,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:103,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:110,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:112,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:115,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:121,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 128
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 128
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1379.c
    functionUses: []
    functionsReached:
    - exit
    - avro_file_writer_create
    - check
    - avro_generic_class_from_schema
    - populate_complex_record
    - avro_value_equal
    - remove
    - avro_writer_free
    - avro_generic_value_new
    - avro_writer_tell
    - avro_file_writer_append_encoded
    - avro_schema_decref
    - avro_file_writer_close
    - fprintf
    - avro_value_write
    - avro_writer_memory
    - avro_file_reader_read_value
    - avro_schema_from_json
    - avro_file_reader
    - avro_file_reader_close
    - avro_value_reset
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:77,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:78,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:84,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:87,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:88,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:91,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:92,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:93,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:97,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:102,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:105,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:120,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:114,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:110,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:74,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:75,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:79,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:91,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:89,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:94,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:102,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:104,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:115,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:121,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:106,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:122,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:111,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:104,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:123,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:73,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:75,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:74,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:84,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:87,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:86,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:88,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:92,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:93,1
    - Dst: expect_eof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:96,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:115,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:109,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:105,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:86,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:96,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:97,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:107,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:109,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:110,1
    - Dst: check_expected_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:112,1
    - Dst: expect_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:114,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:119,1
    - Dst: check_exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:106,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 56
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 124
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1238.c
    functionUses: []
    functionsReached:
    - exit
    - expect_error
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - avro_generic_value_new
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_union_append
    - avro_value_set_int
    - avro_value_set_null
    - check_expected_value
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_schema_union
    - avro_file_reader_close
    - avro_value_decref
    - check_exit
    - avro_value_iface_decref
    - avro_schema_null
    - expect_eof
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:26,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:34,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:33,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:36,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:32,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:38,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:41,1
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:44,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:55,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:56,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:58,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:58,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:60,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - d_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: should_test
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c
    functionUses: []
    functionsReached:
    - malloc
    - strncpy
    - free
    - strcmp
    - strlen
    - strrchr
    linkageType: ''
    returnType: int
    signature: 'int should_test(char *d_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:77,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:79,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:93,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:107,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:72,1
    - Dst: should_test
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:97,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:105,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:112,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:120,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:125,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:137,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:92,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:94,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:95,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:116,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:103,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:126,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:133,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:84,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:99,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:108,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:113,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:116,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:130,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:131,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:132,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c:134,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 140
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_interop_data.c
    functionUses: []
    functionsReached:
    - sprintf
    - closedir
    - avro_generic_class_from_schema
    - opendir
    - malloc
    - readdir
    - free
    - avro_generic_value_new
    - should_test
    - avro_schema_decref
    - fprintf
    - printf
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_file_reader_close
    - avro_value_reset
    - avro_value_decref
    - avro_value_iface_decref
    - strlen
    - avro_file_reader_get_writer_schema
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:39,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:41,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: print_avro_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: []
    functionsReached:
    - avro_value_to_json
    - free
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_avro_value(avro_value_t *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:100,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:96,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:101,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:104,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:112,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:115,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:138,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:104,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:132,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:135,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:139,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:141,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:95,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:103,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:108,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:111,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:120,1
    - Dst: print_avro_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:127,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:121,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:133,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:140,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:114,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:117,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:124,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:125,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:118,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 144
    functionName: write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - avro_strerror
    - avro_file_writer_open
    - avro_file_writer_create
    - avro_value_set_long
    - avro_value_decref
    - avro_file_writer_close
    - avro_value_set_string
    - avro_value_set_int
    - avro_schema_decref
    - avro_value_get_by_name
    - printf
    - avro_generic_value_new
    - avro_value_iface_decref
    - print_avro_value
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_schema_from_json
    linkageType: ''
    returnType: int
    signature: 'int write_data() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:53,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:56,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:54,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:59,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:57,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:60,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:64,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:64,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:66,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:77,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:80,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:75,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:76,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:74,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:67,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:80,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 85
    functionName: read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_value_to_json
    - avro_strerror
    - avro_value_reset
    - avro_schema_decref
    - avro_value_decref
    - fprintf
    - free
    - printf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    linkageType: ''
    returnType: int
    signature: 'int read_data() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:151,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:156,1
    - Dst: read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 159
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1405.c
    functionUses: []
    functionsReached:
    - read_data
    - write_data
    - remove
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:41,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:42,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:51,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:60,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:45,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:62,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:64,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:70,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 77
    functionName: test_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - free
    - realloc
    - AVRO_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'static void *test_allocator(void *ud, void *ptr, size_t osize, size_t
      nsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: rand_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t rand_int64(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:349,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:352,1
    - Dst: avro_value_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 356
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 356
    functionName: _check_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_hash
    - fprintf
    linkageType: ''
    returnType: int
    signature: 'static int _check_hash(avro_value_t *val1, avro_value_t *val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: rand_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rand_int32(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:265,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:266,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:267,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:271,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:271,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:273,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:274,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - name
    - val
    - expected_type
    - expected_schema
    argTypes:
    - char*
    - avro_value_t*
    - avro_type_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 280
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 280
    functionName: check_type_and_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_get_schema
    - avro_schema_decref
    - fprintf
    - avro_schema_equal
    - avro_value_get_type
    linkageType: ''
    returnType: int
    signature: "static int check_type_and_schema(const char *name,\t\t avro_value_t
      *val,\t\t avro_type_t expected_type,\t\t avro_schema_t expected_schema) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:365,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:367,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:372,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:371,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:366,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:373,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:377,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:378,1
    - Dst: check_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:382,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: _check_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_equal
    - avro_strerror
    - avro_value_decref
    - check_hash
    - fprintf
    - avro_generic_value_new
    - avro_value_copy_fast
    linkageType: ''
    returnType: int
    signature: 'static int _check_copy(avro_value_t *val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:82,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: init_rand
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - time
    - srand
    linkageType: ''
    returnType: void
    signature: 'void init_rand(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: rand_count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - rand_number
    linkageType: ''
    returnType: size_t
    signature: 'size_t rand_count(void) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:164,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:165,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:170,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:171,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:177,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:176,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:204,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:124,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:144,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:145,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:181,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:182,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:215,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:236,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:243,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:153,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:158,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:159,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:196,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:191,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:197,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:222,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:228,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:244,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:152,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:189,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:190,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:205,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:210,1
    - Dst: check_bad
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:242,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 2
    argNames:
    - name
    - val
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 250
    functionName: _check_invalid_methods
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_get_type
    - check_bad
    linkageType: ''
    returnType: int
    signature: 'static int _check_invalid_methods(const char *name, avro_value_t *val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:314,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:338,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:332,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:319,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:337,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:295,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:299,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:298,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:300,1
    - Dst: avro_writer_dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:304,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:313,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:333,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:336,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:296,1
    - Dst: avro_value_sizeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:307,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:308,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:309,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:325,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:331,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:327,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:320,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:326,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:321,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - val
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 341
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 341
    functionName: _check_write_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - exit
    - avro_value_equal
    - avro_strerror
    - avro_value_decref
    - avro_value_sizeof
    - fprintf
    - avro_writer_free
    - avro_value_write
    - avro_writer_memory
    - avro_generic_value_new
    - avro_value_read
    - avro_reader_memory
    - avro_writer_tell
    - avro_writer_dump
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: 'static int _check_write_read(avro_value_t *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:543,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:547,1
    - Dst: avro_generic_double_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:545,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:545,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:547,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:549,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:550,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:550,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:552,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:552,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:556,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:560,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:564,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:565,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:566,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:556,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 570
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 570
    functionName: test_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - rand_number
    - avro_value_set_double
    - avro_value_decref
    - check_copy
    - avro_value_get_double
    - avro_schema_double
    - avro_generic_double_new
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_double(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:622,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:624,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:644,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:638,1
    - Dst: rand_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:615,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:619,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:624,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:632,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:639,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:644,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:646,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:649,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:656,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:660,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:619,1
    - Dst: avro_generic_int_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:617,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:621,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:628,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:636,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:646,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:661,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:617,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:622,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:637,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:628,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:648,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:652,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:653,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 664
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 664
    functionName: test_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - avro_schema_int
    - check_copy
    - avro_value_decref
    - fprintf
    - avro_value_set_int
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_value_cmp_fast
    - try
    - rand_int32
    - avro_value_get_int
    - avro_generic_int_new
    linkageType: ''
    returnType: int
    signature: 'static int test_int(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:399,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:404,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:412,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:428,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:421,1
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:430,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:433,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:437,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:441,1
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:399,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:404,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:406,1
    - Dst: avro_generic_boolean_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:428,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:430,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:422,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:401,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:406,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:416,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:423,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:432,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:436,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:440,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:444,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:401,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:403,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:412,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:420,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 448
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 448
    functionName: test_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - avro_value_set_boolean
    - avro_value_decref
    - check_copy
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_value_cmp_fast
    - avro_generic_boolean_new
    - avro_schema_boolean
    - avro_value_get_boolean
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_boolean(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1256,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1258,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1261,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1241,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1263,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1270,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1282,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1289,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1294,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1302,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1304,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1299,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1311,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1325,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1315,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1317,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1284,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1241,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1263,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1258,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1265,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1270,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1282,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1284,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1289,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1297,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1302,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1294,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1327,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1334,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1320,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1337,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1286,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1299,1
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1222,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1224,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1229,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1223,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1234,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1236,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1266,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1272,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1275,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1278,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1330,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1336,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1307,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1315,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1311,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1304,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1325,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1335,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1292,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1234,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1236,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1238,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1244,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1261,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1256,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1272,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1275,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1286,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1292,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1317,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1297,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1308,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1327,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 78
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1339
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1339
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_value_set_string
    - check
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - try
    - avro_value_get_size
    - avro_value_append
    - avro_generic_value_new
    - avro_value_set_boolean
    - avro_schema_decref
    - avro_value_set_long
    - check_copy
    - fprintf
    - avro_value_set_int
    - check_write_read
    - avro_value_get_by_name
    - check_type_and_schema
    - avro_schema_incref
    - avro_value_reset
    - avro_strerror
    - avro_value_decref
    - check_invalid_methods
    - strcmp
    - avro_value_iface_decref
    - avro_schema_from_json_literal
    - avro_value_set_float
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int test_record(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: rand_number
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - rand
    linkageType: ''
    returnType: double
    signature: 'double rand_number(double from, double to) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:460,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:465,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:470,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:478,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:484,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:497,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:499,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:507,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:509,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:511,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:529,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:526,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:462,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:460,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:484,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:474,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:500,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:509,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:513,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:517,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:521,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:525,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:458,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:458,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:463,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:465,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:493,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:501,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:530,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:522,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:463,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:492,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:488,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:470,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:479,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:502,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:507,1
    - Dst: avro_generic_bytes_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:511,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:514,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:518,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:531,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 58
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 534
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 534
    functionName: test_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - memcmp
    - check_copy
    - avro_value_get_bytes
    - avro_value_decref
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_value_grab_bytes
    - avro_schema_bytes
    - avro_generic_bytes_new
    - avro_value_set_bytes
    - avro_value_cmp_fast
    - avro_wrapped_buffer_free
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_bytes(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:579,1
    - Dst: avro_generic_float_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:581,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:583,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:583,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:581,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:585,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:586,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:586,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:588,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:588,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:596,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:592,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:592,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:600,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:601,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:602,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 606
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 606
    functionName: test_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - rand_number
    - avro_value_decref
    - check_copy
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_value_set_float
    - avro_schema_float
    - avro_generic_float_new
    - avro_value_get_float
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_float(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:673,1
    - Dst: avro_generic_long_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:675,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:677,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:677,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:675,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:679,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:680,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:680,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:682,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:682,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:690,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:694,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:686,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:695,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:686,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:696,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 700
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 700
    functionName: test_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - avro_value_get_long
    - avro_value_reset
    - avro_value_decref
    - avro_value_set_long
    - check_copy
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - rand_int64
    - avro_generic_long_new
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_long(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1353,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1354,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1355,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1360,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1365,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1367,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1372,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1386,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1381,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1391,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1401,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1365,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1367,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1369,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1384,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1386,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1381,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1396,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1407,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1412,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1416,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1376,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1384,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1389,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1399,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1413,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1415,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1394,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1389,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1372,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1391,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1394,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1399,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1401,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1405,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1405,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1407,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1410,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1396,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1418
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1418
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_value_get_current_branch
    - check
    - avro_value_get_discriminant
    - avro_value_set_bytes
    - avro_generic_class_from_schema
    - avro_value_set_branch
    - try
    - avro_generic_value_new
    - avro_schema_decref
    - fprintf
    - avro_value_set_int
    - check_write_read
    - check_type_and_schema
    - avro_value_set_null
    - avro_schema_incref
    - avro_strerror
    - avro_value_decref
    - check_invalid_methods
    - avro_value_iface_decref
    - avro_schema_from_json_literal
    - check_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_union(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_allocator
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1422,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1448,1
    - Dst: init_rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1445,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1454
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1454
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_set_allocator
    - fprintf
    - init_rand
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:708,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:712,1
    - Dst: avro_generic_null_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:708,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:710,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:710,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:713,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:713,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:715,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:715,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:717,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:717,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:723,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:720,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:721,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 725
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 725
    functionName: test_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - avro_value_decref
    - check_copy
    - avro_value_get_null
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_value_set_null
    - avro_schema_null
    - avro_generic_null_new
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_null(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:839,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:851,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:861,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:868,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:885,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:896,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:898,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:902,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:842,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:851,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:861,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:869,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:879,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:885,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:893,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:896,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:906,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:912,1
    - Dst: rand_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:848,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:853,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:875,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:871,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:869,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:894,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:907,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:911,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:838,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:853,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:855,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:871,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:864,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:875,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:889,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:898,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:910,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 914
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 914
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_schema_double
    - check
    - avro_value_get_by_index
    - avro_generic_class_from_schema
    - avro_value_get_double
    - rand_count
    - try
    - rand_number
    - avro_value_get_size
    - avro_value_append
    - avro_generic_value_new
    - avro_schema_array
    - avro_schema_decref
    - fprintf
    - check_write_read
    - check_type_and_schema
    - avro_schema_incref
    - avro_value_reset
    - avro_value_decref
    - check_invalid_methods
    - avro_value_iface_decref
    - check_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_array(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1002,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1009,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1037,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1045,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1048,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:997,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:999,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1014,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1023,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1032,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1036,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1046,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:997,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:999,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1001,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1014,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1022,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1009,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1006,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1028,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1041,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1043,1
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:983,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:985,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:990,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:984,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1002,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1006,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1018,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1028,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1044,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1047,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1050
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1050
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - memcmp
    - check
    - avro_generic_class_from_schema
    - try
    - avro_generic_value_new
    - avro_wrapped_buffer_free
    - avro_value_set_fixed
    - avro_schema_decref
    - fprintf
    - check_write_read
    - check_type_and_schema
    - avro_schema_incref
    - avro_value_grab_fixed
    - avro_value_reset
    - avro_strerror
    - avro_value_decref
    - check_invalid_methods
    - avro_value_iface_decref
    - avro_schema_from_json_literal
    - avro_value_get_fixed
    - check_copy
    linkageType: ''
    returnType: int
    signature: 'static int test_fixed(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:751,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:761,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:778,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:798,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:806,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:815,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:820,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:828,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:829,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:746,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:749,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:769,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:765,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:783,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:788,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:792,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:793,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:798,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:811,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:827,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:824,1
    - Dst: avro_generic_string_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:744,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:748,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:746,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:749,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:775,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:756,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:764,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:793,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:802,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:807,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:826,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:744,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:751,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:756,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:761,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:770,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:775,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:779,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:784,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:801,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:814,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:819,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 833
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 833
    functionName: test_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - avro_value_decref
    - avro_value_get_string
    - avro_value_set_string_len
    - check_copy
    - avro_schema_string
    - avro_value_set_string
    - fprintf
    - strcmp
    - check
    - check_type_and_schema
    - check_invalid_methods
    - strlen
    - avro_generic_string_new
    - check_write_read
    - avro_value_grab_string
    - avro_wrapped_buffer_free
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_string(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:934,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:942,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:947,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:957,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:942,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:947,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:953,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:963,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:949,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:961,1
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:927,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:928,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:929,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:944,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:949,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:953,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:962,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:964,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:968,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:944,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:946,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 970
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 970
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_set_enum
    - avro_value_get_enum
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_value_decref
    - check_copy
    - fprintf
    - check_invalid_methods
    - check_write_read
    - check
    - check_type_and_schema
    - avro_generic_value_new
    - avro_schema_from_json_literal
    - avro_value_iface_decref
    - avro_generic_class_from_schema
    - avro_schema_incref
    - try
    linkageType: ''
    returnType: int
    signature: 'static int test_enum(void) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1059,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1068,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1114,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1120,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1144,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1151,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1153,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1130,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1156,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1158,1
    - Dst: check_write_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1170,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1173,1
    - Dst: check_invalid_methods
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1183,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1184,1
    - Dst: check_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1162,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1189,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1175,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1188,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1056,1
    - Dst: rand_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1065,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1070,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1088,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1100,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1098,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1120,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1134,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1151,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1158,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1164,1
    - Dst: check_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1171,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1173,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1179,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1055,1
    - Dst: check_type_and_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1070,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1072,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1083,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1093,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1098,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1100,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1105,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1110,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1115,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1175,1
    - Dst: avro_value_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1163,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1185,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1068,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1081,1
    - Dst: rand_number
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1097,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1083,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1110,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1124,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1130,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1144,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1153,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1156,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c:1190,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 81
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1192
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1192
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_values.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_schema_double
    - check
    - avro_value_add
    - avro_generic_class_from_schema
    - avro_value_get_double
    - rand_count
    - try
    - avro_value_equal
    - rand_number
    - avro_value_get_size
    - avro_generic_value_new
    - avro_schema_decref
    - check_copy
    - check_hash
    - fprintf
    - check_write_read
    - check_type_and_schema
    - avro_schema_incref
    - avro_value_reset
    - snprintf
    - avro_value_decref
    - check_invalid_methods
    - strcmp
    - avro_value_iface_decref
    - avro_schema_map
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int test_map(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:79,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:85,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:82,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:81,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:87,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 90
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 90
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - avro_schema_from_json
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: 'void init_schema(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:201,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:202,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:211,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:211,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:202,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:216,1
    - Dst: add_subarray
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:216,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:221,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:221,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:224,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:228,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - writer
    - elements
    argTypes:
    - avro_writer_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 231
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 231
    functionName: add_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - avro_value_decref
    - print_array_fields
    - avro_value_append
    - avro_value_write
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_generic_class_from_schema
    - add_subarray
    - try
    linkageType: ''
    returnType: int
    signature: 'int add_array( avro_writer_t writer, int32_t elements ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:246,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:249,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:268,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:276,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:279,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:262,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:262,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:278,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:275,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:280,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:258,1
    - Dst: add_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:264,1
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:278,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:272,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:281,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:243,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:250,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:254,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:257,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:265,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:271,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - buf_len
    - raw_binary_file_name
    argTypes:
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 283
    functionName: write_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - malloc
    - exit
    - fwrite
    - fclose
    - remove
    - add_array
    - fprintf
    - free
    - avro_writer_free
    - printf
    - avro_writer_memory
    - fopen
    - avro_writer_tell
    linkageType: ''
    returnType: int
    signature: 'int write_nested_array_file ( int64_t buf_len, const char *raw_binary_file_name
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:172,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:175,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:175,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - p_subarray
    - elements
    - iteration
    argTypes:
    - avro_value_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: add_subarray
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - avro_value_set_long
    - avro_value_append
    - try
    linkageType: ''
    returnType: int
    signature: 'int add_subarray( avro_value_t *p_subarray, int32_t elements, int32_t
      iteration ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:110,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:111,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:113,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:113,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:115,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:124,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:124,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:127,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:128,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:130,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:132,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:139,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:144,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:142,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:147,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:139,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:130,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - p_array
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 154
    functionName: print_array_fields
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - avro_value_get_size
    - printf
    - try
    - avro_value_get_type
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int print_array_fields ( avro_value_t *p_array ) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:316,1
    - Dst: calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:313,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:330,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:338,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:377,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:380,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:408,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:416,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:394,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:410,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:343,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:352,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:373,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:375,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:378,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:407,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:409,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:415,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:420,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:386,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:419,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:323,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:327,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:353,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:342,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:349,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:331,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:360,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:366,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:369,1
    - Dst: try
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:388,1
    - Dst: print_array_fields
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:402,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:394,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:421,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:310,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:317,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:320,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:326,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:329,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:341,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:351,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:359,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:360,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:371,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:388,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:392,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:376,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 5
    argNames:
    - buf_len
    - raw_binary_file_name
    - writer_schema
    - reader_schema
    - use_resolving_reader
    argTypes:
    - int64_t
    - char*
    - avro_schema_t
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 423
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 423
    functionName: read_nested_array_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - exit
    - avro_resolved_writer_set_dest
    - avro_resolved_writer_new_value
    - avro_generic_class_from_schema
    - try
    - fclose
    - free
    - avro_generic_value_new
    - fread
    - avro_resolved_writer_new
    - fprintf
    - memset
    - calloc
    - printf
    - avro_value_read
    - avro_reader_memory
    - avro_reader_free
    - avro_value_decref
    - print_array_fields
    - avro_value_iface_decref
    - fopen
    linkageType: ''
    returnType: int
    signature: 'int read_nested_array_file ( int64_t buf_len, const char *raw_binary_file_name,
      avro_schema_t writer_schema, avro_schema_t reader_schema, int use_resolving_reader
      ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:436,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:438,1
    - Dst: read_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:446,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:442,1
    - Dst: write_nested_array_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:440,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:455,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:456,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:459,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 463
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 463
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_984.c
    functionUses: []
    functionsReached:
    - avro_schema_decref
    - remove
    - printf
    - init_schema
    - read_nested_array_file
    - write_nested_array_file
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:185,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:191,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:188,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:186,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: test_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_decref
    - fprintf
    - avro_schema_fixed_size
    - avro_schema_fixed
    linkageType: ''
    returnType: int
    signature: 'static int test_fixed(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:134,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:134,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:137,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:137,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:136,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:138,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:139,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 144
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 144
    functionName: test_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_array
    - avro_schema_int
    - avro_schema_decref
    - fprintf
    - avro_schema_array_items
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'static int test_array(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:218,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:222,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:228,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:229,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:235,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:240,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:216,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:221,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:234,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:223,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:230,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:228,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:236,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:211,1
    - Dst: avro_schema_record_field_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:227,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:237,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:213,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:213,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:214,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:214,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:217,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: test_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - exit
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_record
    - avro_schema_string
    - fprintf
    - avro_schema_record_field_get_by_index
    - avro_schema_equal
    - avro_schema_record_field_append
    - avro_schema_record_field_get
    linkageType: ''
    returnType: int
    signature: 'static int test_record(void) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:44,1
    - Dst: readdir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:50,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:60,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:82,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:95,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:96,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:97,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:107,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:112,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:114,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:102,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:63,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:77,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:67,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:84,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:88,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:89,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:92,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:94,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:98,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:100,1
    - Dst: closedir
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:118,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:106,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:53,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:47,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:61,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:64,1
    - Dst: avro_schema_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:75,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:80,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:66,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:76,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:86,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:90,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:46,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:58,1
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:70,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:79,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:87,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:93,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:104,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:123,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:103,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:121,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 2
    argNames:
    - dirpath
    - should_pass
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 130
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 130
    functionName: run_tests
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - exit
    - closedir
    - opendir
    - avro_schema_to_json
    - readdir
    - avro_schema_copy
    - fclose
    - avro_writer_free
    - avro_schema_equal
    - fread
    - avro_schema_decref
    - fprintf
    - avro_writer_memory
    - avro_schema_from_json
    - snprintf
    - avro_strerror
    - avro_write
    - strcmp
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void run_tests(char *dirpath, int should_pass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:197,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:200,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:199,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:200,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:197,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:201,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:202,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: test_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - exit
    - avro_schema_decref
    - fprintf
    - avro_schema_map_values
    - avro_schema_map
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'static int test_map(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:155,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:158,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:157,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:159,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:160,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:161,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:163,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:164,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:165,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:166,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:169,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:170,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:174,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:176,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:171,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:179,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: test_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - avro_schema_enum
    - exit
    - avro_schema_enum_get
    - avro_schema_decref
    - fprintf
    - avro_schema_enum_get_by_name
    - strcmp
    - avro_schema_enum_symbol_append
    linkageType: ''
    returnType: int
    signature: 'static int test_enum(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:246,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:248,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:248,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:249,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:249,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:250,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:250,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:252,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:253,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:254,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:255,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:256,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:260,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:259,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:262,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:263,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:266,1
    - Dst: avro_schema_union_branch_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 268
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 268
    functionName: test_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_union_branch
    - avro_schema_union_branch_by_name
    - avro_schema_union_append
    - avro_schema_string
    - fprintf
    - avro_schema_null
    - avro_schema_equal
    - avro_schema_union
    linkageType: ''
    returnType: int
    signature: 'static int test_union(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:272,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:276,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:288,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:290,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:291,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:294,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:298,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:302,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:307,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:275,1
    - Dst: test_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:301,1
    - Dst: test_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:297,1
    - Dst: test_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:305,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:311,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:313,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:296,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:300,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:304,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:308,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:287,1
    - Dst: avro_writer_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:282,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:289,1
    - Dst: run_tests
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:292,1
    - Dst: test_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:295,1
    - Dst: test_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:299,1
    - Dst: test_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 315
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 315
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema.c
    functionUses: []
    functionsReached:
    - snprintf
    - test_array
    - test_enum
    - fprintf
    - avro_writer_file
    - getenv
    - test_map
    - avro_writer_free
    - test_union
    - test_record
    - run_tests
    - test_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:119,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 120
    functionName: test_union_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_union_schema_01() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:102,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: test_record_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_record_schema_01() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:77,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: test_array_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_array_schema_01() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_helper
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:88,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: test_map_schema_01
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - test_helper
    linkageType: ''
    returnType: void
    signature: 'static void test_map_schema_01() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:34,1
    - Dst: avro_schema_get_subschema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:44,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:37,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:34,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:48,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:50,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:51,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:54,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:56,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:61,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:66,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:60,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:62,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - json
    - name
    - expected
    argTypes:
    - char*
    - char*
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 67
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 67
    functionName: test_helper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - exit
    - avro_schema_decref
    - fprintf
    - avro_schema_equal
    - strlen
    - avro_schema_from_json
    - avro_schema_get_subschema
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void test_helper(const char *json, const char *name, avro_schema_t
      expected) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:124,1
    - Dst: test_record_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:131,1
    - Dst: test_map_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:129,1
    - Dst: test_array_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:127,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:125,1
    - Dst: test_union_schema_01
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_schema_names.c
    functionUses: []
    functionsReached:
    - test_map_schema_01
    - test_union_schema_01
    - test_array_schema_01
    - test_record_schema_01
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:32,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:35,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:37,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:33,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:38,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:41,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:43,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 45
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 45
    functionName: add_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: []
    functionsReached:
    - exit
    - avro_datum_decref
    - avro_record_set
    - printf
    - avro_int32
    - avro_record
    - avro_file_writer_append
    linkageType: ''
    returnType: void
    signature: 'void add_record (avro_file_writer_t writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:51,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:57,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:53,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:54,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:59,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:59,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:60,1
    - Dst: add_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:63,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:65,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: create_database
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: []
    functionsReached:
    - exit
    - avro_strerror
    - avro_file_writer_create
    - avro_file_writer_close
    - printf
    - avro_schema_from_json_literal
    - add_record
    - avro_file_writer_flush
    linkageType: ''
    returnType: void
    signature: 'void create_database() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_database
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:74,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:80,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:76,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:79,1
    - Dst: add_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:77,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:82,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1087.c
    functionUses: []
    functionsReached:
    - avro_file_writer_open
    - avro_schema_decref
    - remove
    - create_database
    - avro_file_writer_close
    - add_record
    - avro_file_writer_flush
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:35,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:44,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:37,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:44,1
    - Dst: avro_file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:42,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:50,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:53,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:54,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:56,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:58,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:63,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:65,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:67,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:64,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:68,1
    - Dst: avro_file_writer_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 71
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/tests/test_avro_1084.c
    functionUses: []
    functionsReached:
    - avro_strerror
    - avro_schema_decref
    - avro_file_writer_create
    - remove
    - avro_datum_decref
    - avro_record_set
    - avro_file_writer_close
    - printf
    - avro_int32
    - avro_schema_from_json_literal
    - avro_record
    - avro_file_writer_append
    - avro_file_writer_flush
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:36,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:39,1
    - Dst: avro_resolved_reader_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:67,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:70,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:78,1
    - Dst: avro_resolved_reader_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:74,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:56,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:69,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:75,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:40,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:64,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:77,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:86,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:87,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:88,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:35,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:36,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:41,1
    - Dst: avro_resolved_reader_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:58,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:64,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:76,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:86,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c:87,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - writer
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_schema_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 90
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 90
    functionName: avro_write_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_write.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - avro_resolved_reader_new_value
    - avro_value_decref
    - avro_set_error
    - check_param
    - avro_datum_as_value
    - check
    - avro_value_write
    - avro_value_iface_decref
    - avro_schema_datum_validate
    - avro_resolved_reader_new
    - avro_resolved_reader_set_source
    - is_avro_datum
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: "int avro_write_data(avro_writer_t writer, avro_schema_t writers_schema,\t\t
      avro_datum_t datum) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - fp
    - path
    - should_close
    - schema
    - writer
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 186
    functionName: avro_file_writer_create_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_fp(FILE *fp, const char *path, int should_close,
      avro_schema_t schema,\t\t\tavro_file_writer_t * writer) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:480,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:485,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:492,1
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:489,1
    - Dst: avro_reader_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:498,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:508,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:513,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:533,1
    - Dst: file_read_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:515,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:501,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:483,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:494,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:506,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:532,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:518,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:528,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:500,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:519,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:509,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - fp
    - path
    - should_close
    - reader
    argTypes:
    - FILE*
    - char*
    - int
    - avro_file_reader_t*
    constantsTouched: []
    func_position:
      end: 541
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 541
    functionName: avro_file_reader_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_codec_reset
    - fclose
    - avro_reader_file_fp
    - avro_new
    - avro_set_error
    - file_read_block_count
    - avro_codec
    - avro_reader_memory
    - file_read_header
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: "int avro_file_reader_fp(FILE *fp, const char *path, int should_close,\t\t\tavro_file_reader_t
      * reader) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - path
    - schema
    - writer
    - codec
    - block_size
    argTypes:
    - char*
    - avro_schema_t
    - avro_file_writer_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: avro_file_writer_create_with_codec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_with_codec(const char *path,\t\t\tavro_schema_t
      schema, avro_file_writer_t * writer,\t\t\tconst char *codec, size_t block_size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:547,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - path
    - reader
    argTypes:
    - char*
    - avro_file_reader_t*
    constantsTouched: []
    func_position:
      end: 553
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 553
    functionName: avro_file_reader
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - fopen
    - avro_file_reader_fp
    linkageType: ''
    returnType: int
    signature: 'int avro_file_reader(const char *path, avro_file_reader_t * reader) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:346,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:338,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:367,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:380,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:390,1
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:344,1
    - Dst: avro_writer_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:365,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:389,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:377,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:381,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:347,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:354,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:356,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:363,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:388,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:368,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:335,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:337,1
    - Dst: file_read_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:351,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - path
    - w
    - block_size
    argTypes:
    - char*
    - avro_file_writer_t
    - size_t
    constantsTouched: []
    func_position:
      end: 395
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 395
    functionName: file_writer_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - fclose
    - avro_reader_file_fp
    - avro_set_error
    - avro_writer_file
    - avro_writer_free
    - avro_writer_memory
    - fseek
    - strerror
    - fopen
    - avro_free
    - file_read_header
    - avro_malloc
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: 'static int file_writer_open(const char *path, avro_file_writer_t w,
      size_t block_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_open_bs
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - path
    - writer
    argTypes:
    - char*
    - avro_file_writer_t*
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: avro_file_writer_open
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_file_writer_open_bs
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_open(const char *path, avro_file_writer_t * writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:558,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - avro_file_reader_t
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: avro_file_reader_get_writer_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - check_param
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_file_reader_get_writer_schema(avro_file_reader_t
      r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:668,1
    - Dst: avro_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:669,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 671
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 671
    functionName: avro_file_writer_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_writer_flush
    - file_write_block
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_flush(avro_file_writer_t w) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:403,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:404,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:406,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:408,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:411,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:413,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:417,1
    - Dst: file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:418,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - path
    - writer
    - block_size
    argTypes:
    - char*
    - avro_file_writer_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 428
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 428
    functionName: avro_file_writer_open_bs
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_writer_open
    - avro_codec_reset
    - avro_new
    - avro_set_error
    - check_param
    - avro_codec
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_open_bs(const char *path, avro_file_writer_t
      * writer,\t\t\t size_t block_size) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:451,1
    - Dst: avro_reader_is_eof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:445,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:449,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:455,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:458,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:463,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:463,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:466,1
    - Dst: avro_codec_decode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:466,1
    - Dst: avro_reader_memory_set_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - r
    argTypes:
    - avro_file_reader_t
    constantsTouched: []
    func_position:
      end: 474
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 474
    functionName: file_read_block_count
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_reader_is_eof
    - avro_read
    - avro_reader_memory_set_source
    - avro_codec_decode
    - avro_realloc
    - check_prefix
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int file_read_block_count(avro_file_reader_t r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:569,1
    - Dst: avro_codec_encode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:572,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:572,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:575,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:578,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:578,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:581,1
    - Dst: write_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:581,1
    - Dst: avro_writer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 589
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 589
    functionName: file_write_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_codec_encode
    - avro_write
    - avro_writer_reset
    - check_prefix
    - write_sync
    linkageType: ''
    returnType: int
    signature: 'static int file_write_block(avro_file_writer_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:676,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:678,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:676,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:677,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:679,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:680,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 685
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 685
    functionName: avro_file_writer_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_codec_reset
    - avro_schema_decref
    - avro_writer_free
    - check
    - avro_free
    - avro_file_writer_flush
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_close(avro_file_writer_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:64,1
    - Dst: time
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:64,1
    - Dst: rand
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: generate_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - time
    - srand
    - rand
    linkageType: ''
    returnType: void
    signature: 'static void generate_sync(avro_file_writer_t w) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:113,1
    - Dst: avro_writer_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:120,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:117,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:123,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - fp
    - path
    - should_close
    - mode
    - w
    argTypes:
    - FILE*
    - char*
    - int
    - char*
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: file_writer_init_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_writer_file_fp
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: 'static int file_writer_init_fp(FILE *fp, const char *path, int should_close,
      const char *mode, avro_file_writer_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: write_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_write
    linkageType: ''
    returnType: int
    signature: 'static int write_sync(avro_file_writer_t w) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:642,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:644,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:646,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:646,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:647,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:649,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - w
    - buf
    - len
    argTypes:
    - avro_file_writer_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 658
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 658
    functionName: avro_file_writer_append_encoded
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_write_block
    - avro_set_error
    - check_param
    - avro_write
    - check
    - avro_writer_tell
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_append_encoded(avro_file_writer_t w,\t\t\t\tconst
      void *buf, int64_t len) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:693,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:703,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:703,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:694,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:704,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:706,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:709,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:709,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:712,1
    - Dst: avro_read_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - r
    - readers_schema
    - datum
    argTypes:
    - avro_file_reader_t
    - avro_schema_t
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 718
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 718
    functionName: avro_file_reader_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - memcmp
    - avro_set_error
    - check_param
    - avro_read
    - check
    - file_read_block_count
    - avro_read_data
    linkageType: ''
    returnType: int
    signature: "int avro_file_reader_read(avro_file_reader_t r, avro_schema_t readers_schema,\t\t\t
      avro_datum_t * datum) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:88,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:87,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:90,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:93,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:95,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:92,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:103,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:105,1
    - Dst: generate_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:85,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:88,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:87,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:91,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:101,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:92,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:102,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:98,1
    - Dst: avro_schema_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:96,1
    - Dst: write_sync
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: write_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - generate_sync
    - avro_write
    - avro_writer_free
    - check
    - avro_writer_memory
    - strlen
    - avro_writer_tell
    - write_sync
    - avro_schema_to_json
    linkageType: ''
    returnType: int
    signature: 'static int write_header(avro_file_writer_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:662,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - avro_file_writer_t
    constantsTouched: []
    func_position:
      end: 663
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 663
    functionName: avro_file_writer_sync
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_write_block
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_sync(avro_file_writer_t w) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:726,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:737,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:737,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:727,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:738,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:740,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:744,1
    - Dst: file_read_block_count
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:744,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:747,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:747,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - r
    - value
    argTypes:
    - avro_file_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 751
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 751
    functionName: avro_file_reader_read_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - memcmp
    - avro_set_error
    - check_param
    - avro_read
    - check
    - file_read_block_count
    - avro_value_read
    linkageType: ''
    returnType: int
    signature: 'int avro_file_reader_read_value(avro_file_reader_t r, avro_value_t
      *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_writer_init_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:147,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:156,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:153,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:149,1
    - Dst: file_writer_init_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:149,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:157,1
    - Dst: avro_writer_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:162,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:164,1
    - Dst: avro_writer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:165,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:166,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:170,1
    - Dst: write_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - fp
    - path
    - should_close
    - schema
    - w
    - block_size
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t
    - size_t
    constantsTouched: []
    func_position:
      end: 172
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 172
    functionName: file_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - write_header
    - avro_set_error
    - avro_writer_free
    - check
    - avro_writer_memory
    - file_writer_init_fp
    - avro_free
    - avro_schema_incref
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int file_writer_create(FILE *fp, const char *path, int should_close,
      avro_schema_t schema, avro_file_writer_t w, size_t block_size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:201,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:204,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:202,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:202,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:203,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:210,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:212,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:215,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:217,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:221,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:230,1
    - Dst: file_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:228,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:223,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 7
    argNames:
    - fp
    - path
    - should_close
    - schema
    - writer
    - codec
    - block_size
    argTypes:
    - FILE*
    - char*
    - int
    - avro_schema_t
    - avro_file_writer_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 238
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 238
    functionName: avro_file_writer_create_with_codec_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_writer_create
    - avro_codec_reset
    - avro_new
    - avro_set_error
    - check_param
    - avro_codec
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create_with_codec_fp(FILE *fp, const char *path,
      int should_close,\t\t\tavro_schema_t schema, avro_file_writer_t * writer,\t\t\tconst
      char *codec, size_t block_size) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:594,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:599,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:595,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:597,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:599,1
    - Dst: avro_write_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:601,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:603,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - w
    - datum
    argTypes:
    - avro_file_writer_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 612
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 612
    functionName: avro_file_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_write_block
    - avro_set_error
    - check_param
    - check
    - avro_write_data
    - avro_writer_tell
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_append(avro_file_writer_t w, avro_datum_t datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_writer_create_with_codec_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - path
    - schema
    - writer
    argTypes:
    - char*
    - avro_schema_t
    - avro_file_writer_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 179
    functionName: avro_file_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_file_writer_create_with_codec_fp
    linkageType: ''
    returnType: int
    signature: "int avro_file_writer_create(const char *path, avro_schema_t schema,\t\t\tavro_file_writer_t
      * writer) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:269,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:298,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:301,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:302,1
    - Dst: avro_schema_from_json_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:315,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:255,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:255,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:268,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:274,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:300,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:309,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:310,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:322,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:307,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:314,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:268,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:271,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:288,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:280,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:279,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:317,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:318,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:324,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:258,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:262,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:263,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:264,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:276,1
    - Dst: avro_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:278,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:292,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:291,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:296,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:297,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 5
    argNames:
    - reader
    - writers_schema
    - codec
    - sync
    - synclen
    argTypes:
    - avro_reader_t
    - avro_schema_t*
    - avro_codec_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 325
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 325
    functionName: file_read_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_prefix_error
    - avro_value_get_bytes
    - check
    - avro_generic_class_from_schema
    - avro_value_get_type
    - avro_generic_value_new
    - avro_codec
    - avro_schema_decref
    - strncpy
    - avro_set_error
    - avro_read
    - avro_value_get_by_name
    - memset
    - avro_schema_from_json_length
    - avro_value_read
    - avro_value_decref
    - avro_value_iface_decref
    - avro_schema_bytes
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: "static int file_read_header(avro_reader_t reader,\t\t\t avro_schema_t
      * writers_schema, avro_codec_t codec,\t\t\t char *sync, int synclen) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:618,1
    - Dst: file_write_block
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:623,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:623,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:621,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:619,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:624,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:626,1
    - Dst: avro_writer_tell
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - w
    - value
    argTypes:
    - avro_file_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 635
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 635
    functionName: avro_file_writer_append_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - file_write_block
    - avro_set_error
    - check_param
    - check
    - avro_value_write
    - avro_writer_tell
    linkageType: ''
    returnType: int
    signature: 'int avro_file_writer_append_value(avro_file_writer_t w, avro_value_t
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:755,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:761,1
    - Dst: avro_codec_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:758,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:757,1
    - Dst: avro_reader_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_file_reader_t
    constantsTouched: []
    func_position:
      end: 765
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 765
    functionName: avro_file_reader_close
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datafile.c
    functionUses: []
    functionsReached:
    - avro_free
    - avro_codec_reset
    - avro_schema_decref
    - avro_reader_free
    linkageType: ''
    returnType: int
    signature: 'int avro_file_reader_close(avro_file_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: avro_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void avro_value_incref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: avro_value_copy_ref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_iface_incref
    linkageType: ''
    returnType: void
    signature: 'void avro_value_copy_ref(avro_value_t *dest, const avro_value_t *src) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:94,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:156,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:260,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:261,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:268,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:269,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:270,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:225,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:72,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:95,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:106,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:116,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:107,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:115,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:124,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:125,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:227,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:244,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:175,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:177,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:133,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:134,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:141,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:151,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:212,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:201,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:223,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:213,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:190,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:248,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:99,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:164,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:163,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:200,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:225,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:173,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:83,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:84,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:95,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:107,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:115,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:116,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:106,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:124,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:246,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:140,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:152,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:189,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:175,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:205,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:238,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:268,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:94,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:260,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:269,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:261,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:200,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:244,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:73,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:125,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:163,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:164,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:246,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:190,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:212,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:201,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:223,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:213,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:140,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:152,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:189,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:83,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:84,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:133,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:134,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:141,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:151,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:173,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:238,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 133
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 276
    functionName: avro_value_equal_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - memcmp
    - avro_value_get_bytes
    - avro_value_get_discriminant
    - avro_value_get_int
    - avro_value_get_type
    - avro_value_get_enum
    - avro_value_get_long
    - avro_value_get_double
    - avro_value_get_size
    - avro_value_equal_fast
    - check_return
    - avro_value_get_null
    - avro_value_get_by_name
    - avro_value_get_string
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int avro_value_equal_fast(avro_value_t *val1, avro_value_t *val2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:502,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:508,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:503,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: avro_value_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - avro_value_cmp_fast
    - avro_value_get_schema
    linkageType: ''
    returnType: int
    signature: 'int avro_value_cmp(avro_value_t *val1, avro_value_t *val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: avro_value_move_ref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void avro_value_move_ref(avro_value_t *dest, avro_value_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: avro_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_iface_decref
    linkageType: ''
    returnType: void
    signature: 'void avro_value_decref(avro_value_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:281,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:282,1
    - Dst: avro_value_equal_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:287,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 288
    functionName: avro_value_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_equal_fast
    - avro_schema_equal
    - avro_value_get_schema
    linkageType: ''
    returnType: int
    signature: 'int avro_value_equal(avro_value_t *val1, avro_value_t *val2) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:385,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:428,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:429,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:386,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:411,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:421,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:338,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:339,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:372,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:440,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:415,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:373,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:413,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:439,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:308,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:309,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:349,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:323,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:356,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:357,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:481,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:463,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:367,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:326,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:330,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:455,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:298,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:310,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:322,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:347,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:348,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:486,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:480,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:487,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:488,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:308,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:309,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:373,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:411,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:386,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:413,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:439,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:429,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:340,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:365,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:366,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:403,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:404,1
    - Dst: avro_value_cmp_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:467,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:428,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:465,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:481,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:297,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:389,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:393,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:490,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:385,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:372,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:440,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:358,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:322,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:347,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:348,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:463,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:480,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:486,1
    - Dst: cmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:430,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:487,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:323,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:339,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:338,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:444,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:403,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:365,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:366,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:465,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:404,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:356,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:357,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:455,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 133
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 497
    functionName: avro_value_cmp_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - memcmp
    - avro_value_get_bytes
    - avro_value_get_discriminant
    - avro_value_get_int
    - avro_value_get_type
    - avro_value_get_enum
    - avro_value_get_long
    - avro_value_get_double
    - avro_value_get_size
    - check_return
    - avro_value_get_null
    - avro_value_get_string
    - cmp
    - avro_value_cmp_fast
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int avro_value_cmp_fast(avro_value_t *val1, avro_value_t *val2) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:515,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:528,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:536,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:550,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:549,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:557,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:569,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:576,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:583,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:594,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:628,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:647,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:666,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:611,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:605,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:630,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:522,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:549,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:569,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:576,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:583,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:592,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:611,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:618,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:628,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:640,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:669,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:661,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:618,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:630,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:612,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:604,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:522,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:535,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:542,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:556,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:543,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:563,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:564,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:570,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:577,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:590,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:640,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:592,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:649,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:667,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:649,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:651,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:661,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:516,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:528,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:529,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:535,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:556,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:542,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:563,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:590,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:594,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:604,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:647,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:651,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:626,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:626,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:667,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:666,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 675
    functionName: avro_value_copy_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_value_get_current_branch
    - check
    - avro_value_get_discriminant
    - avro_value_add
    - avro_value_give_string_len
    - avro_value_grab_string
    - avro_value_get_int
    - avro_value_give_fixed
    - avro_value_set_branch
    - avro_value_get_type
    - avro_value_get_double
    - avro_value_get_long
    - avro_value_get_enum
    - avro_value_set_enum
    - avro_value_get_size
    - avro_value_append
    - avro_value_grab_bytes
    - avro_value_copy_fast
    - avro_value_give_bytes
    - avro_value_set_boolean
    - avro_value_set_long
    - avro_value_set_int
    - avro_value_get_null
    - avro_value_set_null
    - avro_value_grab_fixed
    - avro_value_reset
    - avro_value_get_float
    - avro_value_set_float
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'int avro_value_copy_fast(avro_value_t *dest, const avro_value_t *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:681,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:682,1
    - Dst: avro_value_copy_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:688,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:683,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: avro_value_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value.c
    functionUses: []
    functionsReached:
    - avro_value_copy_fast
    - avro_schema_equal
    - avro_set_error
    - avro_value_get_schema
    linkageType: ''
    returnType: int
    signature: 'int avro_value_copy(avro_value_t *dest, const avro_value_t *src) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snappy_uncompressed_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:141,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:142,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:156,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:147,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:150,1
    - Dst: snappy_uncompress
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:160,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:162,1
    - Dst: __bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:166,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:166,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:167,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 176
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 176
    functionName: decode_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - memcmp
    - avro_set_error
    - avro_malloc
    - crc32
    - snappy_uncompressed_length
    - __bswap_32
    - avro_realloc
    - snappy_uncompress
    linkageType: ''
    returnType: int
    signature: 'static int decode_snappy(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: reset_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: int
    signature: 'static int reset_snappy(avro_codec_t c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: codec_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int codec_null(avro_codec_t codec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 103
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 103
    functionName: codec_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int codec_snappy(avro_codec_t codec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: encode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int encode_null(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snappy_max_compressed_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:108,1
    - Dst: snappy_compress
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:123,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:114,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:111,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:119,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:125,1
    - Dst: __bswap_32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:129,1
    - Dst: crc32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:129,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 134
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 134
    functionName: encode_snappy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - snappy_compress
    - avro_set_error
    - crc32
    - __bswap_32
    - avro_realloc
    - memcpy
    - snappy_max_compressed_length
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int encode_snappy(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:214,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:224,1
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:222,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:217,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:221,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:225,1
    - Dst: deflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:231,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:234,1
    - Dst: inflateInit2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:238,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:241,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 246
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 246
    functionName: codec_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_set_error
    - deflateInit2
    - memset
    - codec_data_deflate_stream
    - inflateInit2
    - codec_data_inflate_stream
    linkageType: ''
    returnType: int
    signature: 'static int codec_deflate(avro_codec_t codec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:407,1
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:417,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:410,1
    - Dst: codec_data_lzma_options
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:414,1
    - Dst: lzma_lzma_preset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - codec
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 424
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 424
    functionName: codec_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - codec_data_lzma_filters
    - avro_new
    - avro_set_error
    - codec_data_lzma_options
    - lzma_lzma_preset
    linkageType: ''
    returnType: int
    signature: 'static int codec_lzma(avro_codec_t codec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: reset_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: int
    signature: 'static int reset_lzma(avro_codec_t c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reset_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:603,1
    - Dst: reset_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:606,1
    - Dst: reset_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:610,1
    - Dst: reset_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 619
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 619
    functionName: avro_codec_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - reset_lzma
    - reset_snappy
    - reset_deflate
    - reset_null
    linkageType: ''
    returnType: int
    signature: 'int avro_codec_reset(avro_codec_t c) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: codec_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:523,1
    - Dst: codec_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:528,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:533,1
    - Dst: codec_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:534,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:527,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:539,1
    - Dst: codec_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:540,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:544,1
    - Dst: codec_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:545,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - codec
    - type
    argTypes:
    - avro_codec_t
    - char*
    constantsTouched: []
    func_position:
      end: 550
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 550
    functionName: avro_codec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - strcmp
    - codec_null
    - codec_lzma
    - codec_snappy
    - codec_deflate
    linkageType: ''
    returnType: int
    signature: 'int avro_codec(avro_codec_t codec, const char *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: decode_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int decode_null(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: encode_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:557,1
    - Dst: encode_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:564,1
    - Dst: encode_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:568,1
    - Dst: encode_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 573
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 573
    functionName: avro_codec_encode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - encode_snappy
    - encode_deflate
    - encode_null
    - encode_lzma
    linkageType: ''
    returnType: int
    signature: 'int avro_codec_encode(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decode_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:580,1
    - Dst: decode_lzma
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:591,1
    - Dst: decode_snappy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:583,1
    - Dst: decode_deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: avro_codec_decode
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - decode_deflate
    - decode_lzma
    - decode_snappy
    - decode_null
    linkageType: ''
    returnType: int
    signature: 'int avro_codec_decode(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: reset_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int reset_null(avro_codec_t c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compressBound
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:251,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:257,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:263,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:269,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:254,1
    - Dst: deflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:279,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:281,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:283,1
    - Dst: deflateReset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 298
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 298
    functionName: encode_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - compressBound
    - avro_set_error
    - deflateEnd
    - codec_data_deflate_stream
    - avro_realloc
    - deflateReset
    - avro_malloc
    - deflate
    linkageType: ''
    returnType: int
    signature: 'static int encode_deflate(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:430,1
    - Dst: lzma_raw_encoder_memusage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:432,1
    - Dst: lzma_raw_buffer_encode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:445,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:435,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:441,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - codec
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 455
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 455
    functionName: encode_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - codec_data_lzma_filters
    - avro_set_error
    - lzma_raw_buffer_encode
    - lzma_raw_encoder_memusage
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int encode_lzma(avro_codec_t codec, void * data, int64_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:303,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:312,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:306,1
    - Dst: inflate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:328,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:333,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:334,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:341,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:349,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:351,1
    - Dst: inflateReset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:359,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:360,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - c
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 365
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 365
    functionName: decode_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - codec_data_inflate_stream
    - inflate
    - avro_set_error
    - inflateReset
    - avro_realloc
    - inflateEnd
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int decode_deflate(avro_codec_t c, void * data, int64_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:370,1
    - Dst: codec_data_deflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:373,1
    - Dst: deflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:373,1
    - Dst: codec_data_inflate_stream
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:374,1
    - Dst: inflateEnd
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - avro_codec_t
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: reset_deflate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - codec_data_deflate_stream
    - inflateEnd
    - avro_free
    - codec_data_inflate_stream
    - deflateEnd
    linkageType: ''
    returnType: int
    signature: 'static int reset_deflate(avro_codec_t c) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: codec_data_lzma_filters
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:462,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:485,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:470,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:465,1
    - Dst: lzma_raw_buffer_decode
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:476,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c:492,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - codec
    - data
    - len
    argTypes:
    - avro_codec_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 497
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 497
    functionName: decode_lzma
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/codec.c
    functionUses: []
    functionsReached:
    - codec_data_lzma_filters
    - lzma_raw_buffer_decode
    - avro_set_error
    - avro_realloc
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int decode_lzma(avro_codec_t codec, void * data, int64_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_map_schema_t*
    - struct avro_map_schema_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: schema_map_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'static int schema_map_equal(struct avro_map_schema_t *a, struct avro_map_schema_t
      *b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:68,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:82,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:74,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:83,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:86,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_enum_schema_t*
    - struct avro_enum_schema_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 94
    functionName: schema_enum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - strcmp
    - st_lookup
    linkageType: ''
    returnType: int
    signature: 'static int schema_enum_equal(struct avro_enum_schema_t *a, struct
      avro_enum_schema_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:132,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:133,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_union_schema_t*
    - struct avro_union_schema_t*
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: schema_union_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: 'static int schema_union_equal(struct avro_union_schema_t *a, struct
      avro_union_schema_t *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:26,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:44,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:48,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:32,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:45,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:54,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_record_schema_t*
    - struct avro_record_schema_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 62
    functionName: schema_record_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - avro_schema_equal
    - strcmp
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "static int schema_record_equal(struct avro_record_schema_t *a,\t\t
      struct avro_record_schema_t *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_array_schema_t*
    - struct avro_array_schema_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: schema_array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'static int schema_array_equal(struct avro_array_schema_t *a, struct
      avro_array_schema_t *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:99,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:105,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_fixed_schema_t*
    - struct avro_fixed_schema_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: schema_fixed_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int schema_fixed_equal(struct avro_fixed_schema_t *a, struct
      avro_fixed_schema_t *b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:154,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:159,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:158,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:155,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:158,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:163,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:163,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_link_schema_t*
    - struct avro_link_schema_t*
    constantsTouched: []
    func_position:
      end: 164
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 164
    functionName: schema_link_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - avro_schema_name
    - strcmp
    - is_avro_record
    - avro_schema_to_record
    linkageType: ''
    returnType: int
    signature: 'static int schema_link_equal(struct avro_link_schema_t *a, struct
      avro_link_schema_t *b) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:178,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:178,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:183,1
    - Dst: schema_enum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:184,1
    - Dst: schema_map_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:190,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:189,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:195,1
    - Dst: schema_union_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:196,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:181,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:182,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:187,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:188,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:193,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:194,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:199,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:200,1
    - Dst: schema_record_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:181,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:180,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:186,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:192,1
    - Dst: schema_fixed_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:187,1
    - Dst: schema_array_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:193,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:198,1
    - Dst: schema_link_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:199,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:184,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:185,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:190,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:191,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:196,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c:197,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 203
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 203
    functionName: avro_schema_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - is_avro_enum
    - avro_schema_to_fixed
    - is_avro_link
    - avro_schema_to_array
    - is_avro_fixed
    - schema_fixed_equal
    - avro_schema_to_record
    - schema_record_equal
    - is_avro_record
    - avro_schema_to_link
    - is_avro_map
    - is_avro_array
    - is_avro_union
    - avro_schema_to_union
    - schema_union_equal
    - schema_link_equal
    - schema_map_equal
    - schema_enum_equal
    - avro_schema_to_enum
    - avro_typeof
    - schema_array_equal
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_equal(avro_schema_t a, avro_schema_t b) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:54,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:65,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:80,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:86,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:86,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:90,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:50,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:46,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:56,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:69,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:77,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:73,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:74,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:89,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:91,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:51,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:52,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:63,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:76,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:64,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:92,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:95,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:44,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:45,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:72,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 97
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: []
    functionsReached:
    - exit
    - avro_generic_class_from_schema
    - avro_file_reader_fp
    - fclose
    - free
    - avro_generic_value_new
    - strerror
    - avro_schema_decref
    - fprintf
    - printf
    - avro_file_reader_read_value
    - avro_file_reader_close
    - avro_value_to_json
    - avro_strerror
    - avro_value_reset
    - avro_value_decref
    - avro_value_iface_decref
    - fopen
    - avro_file_reader_get_writer_schema
    linkageType: ''
    returnType: void
    signature: 'static void process_file(const char *filename) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:118,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:120,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:119,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - process_file
    - usage
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avrocat.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:474,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: avro_generic_link_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_by_index(const avro_value_iface_t
      *iface,\t\t\t const void *vself, size_t index,\t\t\t avro_value_t *child, const
      char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 681
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 681
    functionName: avro_generic_boolean_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_boolean_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:694,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:695,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:696,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 697
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 697
    functionName: avro_generic_boolean_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_boolean_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1613
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1613
    functionName: avro_generic_null_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_null_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2020,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2025,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2028,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2028,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2023,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2030,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - viface
    - vself
    - child
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2033
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2033
    functionName: avro_generic_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_size
    - avro_set_error
    - check
    - avro_raw_array_append
    - avro_value_init
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_array_append(const avro_value_iface_t *viface,\t\t\t
      void *vself, avro_value_t *child,\t\t\t size_t *new_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2450,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2453
    functionName: avro_generic_fixed_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_fixed_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2780,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2790,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2787,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2782,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2789,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2795,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2797,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    constantsTouched: []
    func_position:
      end: 2811
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2811
    functionName: avro_generic_map_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_instance_size
    - avro_new
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_array_items
    - avro_schema_incref
    - avro_generic_class_from_schema_memoized
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_map_class(avro_schema_t
      schema, memoize_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2999
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 2999
    functionName: avro_generic_record_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_record_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:484,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:486,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 487
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 487
    functionName: avro_generic_link_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_by_name(const avro_value_iface_t
      *iface,\t\t\t const void *vself, const char *name,\t\t\t avro_value_t *child,
      size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:686,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: avro_generic_boolean_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_boolean_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 707
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 707
    functionName: avro_generic_boolean_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_boolean_get(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1618,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1620
    functionName: avro_generic_null_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_null_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2040
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2040
    functionName: avro_generic_array_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_array_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2458,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2460
    functionName: avro_generic_fixed_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_fixed_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3006,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3014,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3012,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3012,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3018
      start: 3001
    functionDepth: 0
    functionLinenumber: 3001
    functionLinenumberEnd: 3018
    functionName: avro_generic_record_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_init
    - avro_generic_record_field
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_record_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1422
    functionName: avro_generic_long_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_long_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:401,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    functionName: avro_generic_link_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_link_set_null(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 972
    functionName: avro_generic_bytes_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_bytes_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1121,1
    - Dst: avro_generic_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1122,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - double
    constantsTouched: []
    func_position:
      end: 1123
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1123
    functionName: avro_generic_double_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_double_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_double_new(avro_value_t *value, double val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1448
    functionName: avro_generic_long_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_long_get(const avro_value_iface_t *iface,\t\t
      const void *vself, int64_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1465
    functionName: avro_generic_long_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_long_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1479,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1481
    functionName: avro_generic_long_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_long_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2046,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2049,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2052
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2052
    functionName: avro_generic_array_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_init
    - avro_value_instance_size
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_array_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2696
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2696
    functionName: avro_generic_map_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_map_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:410,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    functionName: avro_generic_link_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_string(const avro_value_iface_t *iface,\t\t\t
      void *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:978,1
    - Dst: avro_generic_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:979,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:978,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - value
    - buf
    - size
    argTypes:
    - avro_value_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 980
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 980
    functionName: avro_generic_bytes_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_bytes_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_bytes_new(avro_value_t *value, void *buf, size_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1458
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1458
    functionName: avro_generic_long_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_long_set(const avro_value_iface_t *iface,\t\t
      void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1474
    functionName: avro_generic_long_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_long_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2058,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2061,1
    - Dst: avro_generic_array_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2062
    functionName: avro_generic_array_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_done
    - avro_generic_array_free_elements
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_array_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2702,1
    - Dst: avro_raw_map_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2706,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2708
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2708
    functionName: avro_generic_map_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_map_init
    - avro_value_instance_size
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_map_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:241,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: avro_generic_link_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_grab_bytes(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:366,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: avro_generic_link_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_double(const avro_value_iface_t *iface,\t\t\t
      void *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:384,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: avro_generic_link_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_int(const avro_value_iface_t *iface,\t\t\t
      void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3024,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3029,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3031
      start: 3020
    functionDepth: 0
    functionLinenumber: 3020
    functionLinenumberEnd: 3031
    functionName: avro_generic_record_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_generic_record_field
    - avro_value_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_record_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3280,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3286,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3290,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3293,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3296
    functionName: avro_generic_union_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_reset
    - avro_generic_union_branch_iface
    - fprintf
    - avro_generic_union_branch
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_union_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:250,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: avro_generic_link_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_double(const avro_value_iface_t *iface,\t\t\t
      const void *vself, double *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:375,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 378
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 378
    functionName: avro_generic_link_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_float(const avro_value_iface_t *iface,\t\t\t
      void *vself, float val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:393,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: avro_generic_link_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_long(const avro_value_iface_t *iface,\t\t\t
      void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3301,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3304
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3304
    functionName: avro_generic_union_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_union_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1136
    functionName: avro_generic_float_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_float_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3250,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 3253
      start: 3246
    functionDepth: 0
    functionLinenumber: 3246
    functionLinenumberEnd: 3253
    functionName: avro_generic_union_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_union_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 106
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 106
    functionName: avro_generic_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_value_incref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:312,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: avro_generic_link_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_enum(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:455,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: avro_generic_link_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_give_fixed(const avro_value_iface_t *iface,\t\t\t
      void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1258
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1258
    functionName: avro_generic_float_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_float_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1315
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1315
    functionName: avro_generic_int_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_int_set(const avro_value_iface_t *iface,\t\t
      void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2254,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2256
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2256
    functionName: avro_generic_enum_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_enum_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2604,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2607
    functionName: avro_generic_map_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_map_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2949,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2952,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2956,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2963,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2967
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 2967
    functionName: avro_generic_record_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_record_field_name
    - avro_set_error
    - avro_generic_record_field
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_record_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t index,\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:116,1
    - Dst: avro_generic_value_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: avro_generic_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_free
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_value_decref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:321,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: avro_generic_link_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_fixed(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:464,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: avro_generic_link_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_size(const avro_value_iface_t *iface,\t\t\t
      const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1264,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1264,1
    - Dst: avro_generic_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - float
    constantsTouched: []
    func_position:
      end: 1266
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1266
    functionName: avro_generic_float_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_float_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_float_new(avro_value_t *value, float val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1322
    functionName: avro_generic_int_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_int_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2613,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2614,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2616
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2616
    functionName: avro_generic_map_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_map_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2975,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2981,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2979,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2986,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index_out
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2991
      start: 2969
    functionDepth: 0
    functionLinenumber: 2969
    functionLinenumberEnd: 2991
    functionName: avro_generic_record_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - container_of
    - avro_set_error
    - avro_generic_record_field
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_record_get_by_name(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, const char *name,\t\t\t\tavro_value_t *child,
      size_t *index_out) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3259,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3267,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3268,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3261,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3264,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 3273
      start: 3255
    functionDepth: 0
    functionLinenumber: 3255
    functionLinenumberEnd: 3273
    functionName: avro_generic_union_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_union_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:348,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 351
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 351
    functionName: avro_generic_link_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_bytes(const avro_value_iface_t *iface,\t\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: avro_generic_bytes_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_bytes_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1565
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1565
    functionName: avro_generic_null_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_null_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2384,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2387
    functionName: avro_generic_fixed_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_fixed_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2561,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2564
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2564
    functionName: avro_generic_map_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_map_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:357,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:359,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 360
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 360
    functionName: avro_generic_link_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_give_bytes(const avro_value_iface_t *iface,\t\t\t
      void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:897,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 901
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 901
    functionName: avro_generic_bytes_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_init
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_bytes_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1115
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1115
    functionName: avro_generic_double_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_double_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1570,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1567
    functionDepth: 0
    functionLinenumber: 1567
    functionLinenumberEnd: 1573
    functionName: avro_generic_null_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_null_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2402
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2402
    functionName: avro_generic_fixed_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_fixed_get(const avro_value_iface_t *viface,\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2570,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2573,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2574,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2572,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2576
    functionName: avro_generic_map_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_map_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:330,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: avro_generic_link_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_grab_fixed(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1179
    functionName: avro_generic_float_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_float_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1193,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1195
    functionName: avro_generic_float_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_float_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3330,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3336,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3337,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3339
    functionName: avro_generic_union_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_set_error
    - avro_generic_union_branch_iface
    - avro_generic_union_branch
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_union_get_current_branch(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:339,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: avro_generic_link_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_boolean(const avro_value_iface_t
      *iface,\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1188
    functionName: avro_generic_float_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_float_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2124,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2126,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2134,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2133,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2131,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2139,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2141,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2155
    functionName: avro_generic_array_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_instance_size
    - avro_new
    - avro_set_error
    - avro_value_iface_decref
    - avro_schema_array_items
    - avro_schema_incref
    - avro_generic_class_from_schema_memoized
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_array_class(avro_schema_t
      schema, memoize_state_t *state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3347,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3352,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3364,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3367,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3368,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3369,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3374,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3377,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3377,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3378,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3385,1
    - Dst: avro_generic_union_branch_iface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3384,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 3389
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3389
    functionName: avro_generic_union_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_generic_union_branch_giface
    - avro_generic_union_branch_iface
    - fprintf
    - check
    - avro_generic_union_branch
    - avro_value_done
    - avro_value_init
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_union_set_branch(const avro_value_iface_t
      *viface,\t\t\t void *vself, int discriminant,\t\t\t avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 733
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 733
    functionName: avro_generic_boolean_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_boolean_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1141,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: avro_generic_float_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_float_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2867,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2870
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2870
    functionName: avro_generic_record_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_record_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:738,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: avro_generic_boolean_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_boolean_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1149,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1150,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1152
    functionName: avro_generic_float_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_float_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1401
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1401
    functionName: avro_generic_int_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_int_class(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2876,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2881,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2878,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2885,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2884,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2887,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2892
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2892
    functionName: avro_generic_record_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_record_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:870,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:873,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:871,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: avro_generic_bytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_set_length
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_bytes_set(const avro_value_iface_t *iface,\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1029
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1029
    functionName: avro_generic_double_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_double_set(const avro_value_iface_t *iface,\t\t\tvoid
      *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1162
    functionName: avro_generic_float_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_float_get(const avro_value_iface_t *iface,\t\t
      const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1407,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1407,1
    - Dst: avro_generic_int_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1408,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1409
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1409
    functionName: avro_generic_int_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_int_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_int_new(avro_value_t *value, int32_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1987,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1990,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1993
    functionName: avro_generic_array_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_array_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_array_get_size(const avro_value_iface_t *viface,\t\t\t
      const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2409,1
    - Dst: avro_wrapped_buffer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2404
    functionDepth: 0
    functionLinenumber: 2404
    functionLinenumberEnd: 2411
    functionName: avro_generic_fixed_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_wrapped_buffer_new
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_fixed_grab(const avro_value_iface_t *viface,\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:881,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 885
    functionName: avro_generic_bytes_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_give
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_bytes_give(const avro_value_iface_t *iface,\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: avro_generic_double_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_double_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: avro_generic_float_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_float_set(const avro_value_iface_t *iface,\t\t
      void *vself, float val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1882
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1882
    functionName: avro_generic_string_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_string_class(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2001,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2002,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2005,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2004,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2009,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2011
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2011
    functionName: avro_generic_array_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_size
    - avro_set_error
    - avro_raw_array_get_raw
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_array_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, size_t index,\t\t\t\tavro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2176
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2176
    functionName: avro_generic_enum_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_enum_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2417,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2419,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2424,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2426
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2426
    functionName: avro_generic_fixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - memcpy
    - avro_set_error
    - check_param
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_fixed_set(const avro_value_iface_t *viface,\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:906,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 909
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 909
    functionName: avro_generic_bytes_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_done
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_bytes_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1888,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1888,1
    - Dst: avro_generic_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - value
    - str
    argTypes:
    - avro_value_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1890
    functionName: avro_generic_string_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_string_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_string_new(avro_value_t *value, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1949,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1951,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_giface
    - self
    argTypes:
    - avro_generic_value_iface_t*
    - avro_generic_array_t*
    constantsTouched: []
    func_position:
      end: 1953
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1953
    functionName: avro_generic_array_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_array_size
    - avro_raw_array_get_raw
    - avro_value_done
    linkageType: ''
    returnType: void
    signature: "static void avro_generic_array_free_elements(const avro_generic_value_iface_t
      *child_giface,\t\t\t\t avro_generic_array_t *self) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2899,1
    - Dst: avro_generic_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2906,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2908,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2911
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2911
    functionName: avro_generic_record_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_reset
    - avro_generic_record_field
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_record_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3412,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3416,1
    - Dst: avro_generic_union_branch_giface
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3420,1
    - Dst: avro_generic_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3421,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3424
      start: 3408
    functionDepth: 0
    functionLinenumber: 3408
    functionLinenumberEnd: 3424
    functionName: avro_generic_union_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_generic_union_branch_giface
    - fprintf
    - avro_generic_union_branch
    - avro_value_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_union_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1896,1
    - Dst: avro_generic_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1897,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - value
    - str
    - size
    argTypes:
    - avro_value_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1898
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1898
    functionName: avro_generic_string_new_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_string_set_length
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_string_new_length(avro_value_t *value, const char
      *str, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1959,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1962,1
    - Dst: avro_generic_array_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1964
    functionName: avro_generic_array_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_clear
    - avro_generic_array_free_elements
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_array_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2916,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2919
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2919
    functionName: avro_generic_record_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_record_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2319,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2328
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2328
    functionName: avro_generic_enum_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - avro_new
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_enum_class(avro_schema_t
      schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:180,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:182,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:190,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 192
    functionName: avro_generic_link_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_refcount_dec
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_link_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:223,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: avro_generic_link_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_boolean(const avro_value_iface_t
      *iface,\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1279
    functionName: avro_generic_int_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_int_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1427,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1430
    functionName: avro_generic_long_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_long_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2201,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2204
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2204
    functionName: avro_generic_enum_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_enum_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2584,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2586,1
    - Dst: avro_raw_map_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_giface
    - self
    argTypes:
    - avro_generic_value_iface_t*
    - avro_generic_map_t*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2588
    functionName: avro_generic_map_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_map_get_raw
    - avro_value_done
    - avro_raw_map_size
    linkageType: ''
    returnType: void
    signature: "static void avro_generic_map_free_elements(const avro_generic_value_iface_t
      *child_giface,\t\t\t avro_generic_map_t *self) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2656,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2661,1
    - Dst: avro_raw_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2665
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2665
    functionName: avro_generic_map_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_set_error
    - avro_raw_map_get
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_map_get_by_name(const avro_value_iface_t *viface,\t\t\t
      const void *vself, const char *name,\t\t\t avro_value_t *child, size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:198,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: avro_generic_link_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_reset
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_link_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:232,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:234,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: avro_generic_link_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_bytes(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1284,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1287
    functionName: avro_generic_int_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_int_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1435,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1436,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1438
    functionName: avro_generic_long_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_long_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2210,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2213
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2213
    functionName: avro_generic_enum_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_enum_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2523,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2531,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2533
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2533
    functionName: avro_generic_fixed_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_fixed_size
    - avro_schema_incref
    - avro_new
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_fixed_class(avro_schema_t
      schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2594,1
    - Dst: avro_raw_map_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2597,1
    - Dst: avro_generic_map_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2590
    functionDepth: 0
    functionLinenumber: 2590
    functionLinenumberEnd: 2599
    functionName: avro_generic_map_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_map_clear
    - container_of
    - avro_generic_map_free_elements
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_map_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2673,1
    - Dst: avro_raw_map_get_or_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2677,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2686,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2686,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 2689
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2689
    functionName: avro_generic_map_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_init
    - check
    - avro_raw_map_get_or_create
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_map_add(const avro_value_iface_t *viface,\t\t
      void *vself, const char *key,\t\t avro_value_t *child, size_t *index, int *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:259,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: avro_generic_link_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_float(const avro_value_iface_t *iface,\t\t\t
      const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 717
    functionName: avro_generic_boolean_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_boolean_set(const avro_value_iface_t *iface,\t\t\t
      void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1578,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1580,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1581
    functionName: avro_generic_null_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_null_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1594,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1597
    functionName: avro_generic_null_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_null_set(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2367,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2370
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2370
    functionName: avro_generic_fixed_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - memset
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_fixed_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2622,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2625,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2628
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2628
    functionName: avro_generic_map_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_map_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_map_get_size(const avro_value_iface_t *viface,\t\t\t
      const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2925,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2928
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2928
    functionName: avro_generic_record_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_record_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:268,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: avro_generic_link_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_int(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int32_t *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:651,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:652,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:664,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 667
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 667
    functionName: avro_generic_link_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - avro_set_error
    - is_avro_link
    - avro_new
    linkageType: ''
    returnType: avro_generic_link_value_iface_t*
    signature: 'static avro_generic_link_value_iface_t *avro_generic_link_class(avro_schema_t
      schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: avro_generic_boolean_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_boolean_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1586,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1589
    functionName: avro_generic_null_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_null_get(const avro_value_iface_t *iface,
      const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1604
    functionName: avro_generic_null_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_null_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2375,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2378
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2378
    functionName: avro_generic_fixed_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_fixed_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2636,1
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2638,1
    - Dst: avro_raw_map_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2643,1
    - Dst: avro_raw_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2645,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2648
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2648
    functionName: avro_generic_map_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_map_size
    - avro_raw_map_get_key
    - avro_set_error
    - avro_raw_map_get_raw
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_map_get_by_index(const avro_value_iface_t
      *viface,\t\t\t const void *vself, size_t index,\t\t\t avro_value_t *child, const
      char **name) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3660,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3685,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3682,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3670,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3668,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3687,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3688,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3704,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3706
      start: 3651
    functionDepth: 0
    functionLinenumber: 3651
    functionLinenumberEnd: 3706
    functionName: avro_generic_class_from_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_link_target
    - avro_set_error
    - avro_memoize_done
    - avro_memoize_get
    - avro_memoize_init
    - avro_generic_class_from_schema_memoized
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_class_from_schema(avro_schema_t schema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:57,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:59,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:58,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:61,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:61,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:71,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:73,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - iface
    - dest
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 82
    functionName: avro_generic_value_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_instance_size
    - avro_value_iface_incref
    - avro_set_error
    - strerror
    - avro_value_init
    - avro_free
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_value_new(avro_value_iface_t *iface, avro_value_t
      *dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:206,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: avro_generic_link_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_link_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:419,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:421,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: avro_generic_link_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_string_len(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, const char *str, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:493,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 496
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 496
    functionName: avro_generic_link_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_discriminant(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:512,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 515
    functionName: avro_generic_link_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_append(const avro_value_iface_t *iface,\t\t\t
      void *vself, avro_value_t *child_out,\t\t\t size_t *new_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1292,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1293,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1295
    functionName: avro_generic_int_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_int_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1791,1
    - Dst: avro_raw_string_give
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1795
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1795
    functionName: avro_generic_string_give_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_give
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_string_give_length(const avro_value_iface_t
      *iface,\t\t\t\tvoid *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1926,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1929
    functionName: avro_generic_array_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_array_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:89,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:93,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:91,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - self
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: avro_generic_value_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_free
    - container_of
    - avro_value_instance_size
    - avro_value_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_value_free(const avro_value_iface_t *iface,
      void *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:214,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: avro_generic_link_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_link_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:428,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: avro_generic_link_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_give_string_len(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:502,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: avro_generic_link_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_current_branch(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:522,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: avro_generic_link_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_add(const avro_value_iface_t *iface,\t\t
      void *vself, const char *key,\t\t avro_value_t *child, size_t *index, int *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: avro_generic_int_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_int_get(const avro_value_iface_t *iface,\t\t
      const void *vself, int32_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1802
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1802
    functionName: avro_generic_string_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_string_instance_size(const avro_value_iface_t
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1935,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1938,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1937,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1936,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 1941
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1941
    functionName: avro_generic_array_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - avro_value_iface_decref
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_array_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2444
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2444
    functionName: avro_generic_fixed_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_fixed_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:820,1
    - Dst: avro_raw_string_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 824
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 824
    functionName: avro_generic_bytes_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_clear
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_bytes_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2714,1
    - Dst: avro_raw_map_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2717,1
    - Dst: avro_generic_map_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2716,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2710
    functionDepth: 0
    functionLinenumber: 2710
    functionLinenumberEnd: 2718
    functionName: avro_generic_map_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_generic_map_free_elements
    - avro_raw_map_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_map_done(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 3397
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3397
    functionName: avro_generic_union_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_union_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3572,1
    - Dst: avro_generic_fixed_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3615,1
    - Dst: avro_generic_enum_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3612,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3573,1
    - Dst: avro_generic_array_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3609,1
    - Dst: avro_generic_map_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3618,1
    - Dst: avro_generic_record_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3621,1
    - Dst: avro_generic_union_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3624,1
    - Dst: avro_generic_link_class
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3630,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3638,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3647,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 32
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    constantsTouched: []
    func_position:
      end: 3649
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3649
    functionName: avro_generic_class_from_schema_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_link_class
    - avro_value_iface_incref
    - avro_generic_union_class
    - avro_set_error
    - avro_generic_array_class
    - avro_generic_record_class
    - avro_generic_map_class
    - avro_generic_enum_class
    - avro_memoize_get
    - avro_memoize_set
    - avro_generic_fixed_class
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: "static avro_generic_value_iface_t *avro_generic_class_from_schema_memoized(avro_schema_t
      schema,\t\t\t\t\tmemoize_state_t *state) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:171,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: avro_generic_link_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_link_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3406
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3406
    functionName: avro_generic_union_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_union_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:809,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:809,1
    - Dst: avro_generic_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 811
    functionName: avro_generic_boolean_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_boolean_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_boolean_new(avro_value_t *value, int val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3487,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3501,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3495,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3492,1
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3497,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3510,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3513,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3519,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3521,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3526,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3538,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3551,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3553,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3544,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3548,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    constantsTouched: []
    func_position:
      end: 3555
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3555
    functionName: avro_generic_union_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_instance_size
    - avro_schema_decref
    - avro_freet
    - avro_new
    - fprintf
    - avro_set_error
    - memset
    - avro_value_iface_decref
    - avro_free
    - avro_schema_union_size
    - avro_schema_incref
    - avro_generic_class_from_schema_memoized
    - avro_schema_union_branch
    - avro_malloc
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_union_class(avro_schema_t
      schema, memoize_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:277,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: avro_generic_link_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_long(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int64_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:532,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 535
    functionName: avro_generic_link_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_branch(const avro_value_iface_t *iface,\t\t\t
      void *vself, int discriminant,\t\t\t avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 993
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 993
    functionName: avro_generic_double_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_double_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: avro_generic_double_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_double_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1707,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1710
    functionName: avro_generic_string_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_string_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1724,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1739,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1726,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1742
    functionName: avro_generic_string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_length
    - avro_raw_string_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_string_get(const avro_value_iface_t *iface,\t\t\tconst
      void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1969,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1970,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1972
    functionName: avro_generic_array_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_array_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2347,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2350
    functionName: avro_generic_fixed_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_generic_fixed_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:285,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: avro_generic_link_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_link_get_null(const avro_value_iface_t *iface,
      const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: avro_generic_link_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_link_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: avro_generic_boolean_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_boolean_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:998,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: avro_generic_double_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_double_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1050,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1052
    functionName: avro_generic_double_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_double_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1715,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1717,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1718
    functionName: avro_generic_string_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_string_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1748,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1750,1
    - Dst: avro_wrapped_buffer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1753,1
    - Dst: avro_raw_string_grab
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1755,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1757
    functionName: avro_generic_string_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_new
    - avro_raw_string_grab
    - avro_raw_string_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_string_grab(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1978,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1981
    functionName: avro_generic_array_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_array_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2356,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2359,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2358,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2361
    functionName: avro_generic_fixed_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_refcount_dec
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_fixed_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2432,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2436
      start: 2428
    functionDepth: 0
    functionLinenumber: 2428
    functionLinenumberEnd: 2436
    functionName: avro_generic_fixed_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_free
    - avro_generic_fixed_set
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_fixed_give(const avro_value_iface_t *viface,\t\t\tvoid
      *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3099,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3159,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3154,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3185,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3094,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3114,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3127,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3134,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3152,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3167,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3104,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3128,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3137,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3140,1
    - Dst: avro_generic_class_from_schema_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3146,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3139,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3183,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3102,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3119,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3173,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3175,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3180,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 2
    argNames:
    - schema
    - state
    argTypes:
    - avro_schema_t
    - memoize_state_t*
    constantsTouched: []
    func_position:
      end: 3187
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3187
    functionName: avro_generic_record_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_instance_size
    - avro_schema_decref
    - avro_freet
    - avro_new
    - fprintf
    - avro_set_error
    - memset
    - avro_value_iface_decref
    - avro_schema_record_size
    - avro_schema_record_field_get_by_index
    - avro_schema_incref
    - avro_generic_class_from_schema_memoized
    - avro_free
    - avro_malloc
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_generic_value_iface_t*
    signature: 'static avro_generic_value_iface_t *avro_generic_record_class(avro_schema_t
      schema, memoize_state_t *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:294,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:296,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: avro_generic_link_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_get_string(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1327,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1331
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1331
    functionName: avro_generic_int_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_int_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1689
    functionName: avro_generic_null_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_null_new(avro_value_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2183,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2184,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2187
    functionName: avro_generic_enum_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_refcount_dec
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_enum_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 2223
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2223
    functionName: avro_generic_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_enum_get(const avro_value_iface_t *viface,\t\t
      const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2240
    functionName: avro_generic_enum_instance_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: size_t
    signature: 'static size_t avro_generic_enum_instance_size(const avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3310,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3313
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3313
    functionName: avro_generic_union_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_union_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:303,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: avro_generic_link_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_grab_string(const avro_value_iface_t
      *iface,\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1336,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1338
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1338
    functionName: avro_generic_int_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_int_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2196
    functionName: avro_generic_enum_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_enum_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2233
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2233
    functionName: avro_generic_enum_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_enum_set(const avro_value_iface_t *viface,\t\t
      void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2249
      start: 2242
    functionDepth: 0
    functionLinenumber: 2242
    functionLinenumberEnd: 2249
    functionName: avro_generic_enum_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_enum_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2935,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:2936,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2941
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2941
    functionName: avro_generic_record_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_record_get_size(const avro_value_iface_t *viface,\t\t\t
      const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:3319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 3323
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3323
    functionName: avro_generic_union_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_union_get_discriminant(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1006,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1008,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1009
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1009
    functionName: avro_generic_double_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_double_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:846,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:849,1
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 855
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 855
    functionName: avro_generic_bytes_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_length
    - avro_raw_string_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_bytes_get(const avro_value_iface_t *iface,\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:550,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:572,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:564,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:554,1
    - Dst: avro_value_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 575
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 575
    functionName: avro_generic_link_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_instance_size
    - avro_value_init
    - avro_free
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_link_init(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:829,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: avro_generic_bytes_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_generic_bytes_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:437,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 440
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 440
    functionName: avro_generic_link_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_enum(const avro_value_iface_t *iface,\t\t\t
      void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1544
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1544
    functionName: avro_generic_long_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_long_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1763,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1772,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1774
    functionName: avro_generic_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_string_set(const avro_value_iface_t *iface,\t\t\tvoid
      *vself, const char *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1807,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1804
    functionDepth: 0
    functionLinenumber: 1804
    functionLinenumberEnd: 1811
    functionName: avro_generic_string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_init
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_string_init(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:837,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:838,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:839,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 840
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 840
    functionName: avro_generic_bytes_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_schema_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_generic_bytes_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1015,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 1019
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1019
    functionName: avro_generic_double_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_double_get(const avro_value_iface_t *iface,\t\t\tconst
      void *vself, double *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:861,1
    - Dst: avro_raw_string_grab
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:863,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 864
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 864
    functionName: avro_generic_bytes_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_grab
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_bytes_grab(const avro_value_iface_t *iface,\t\t\tconst
      void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:446,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: avro_generic_link_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_link_set_fixed(const avro_value_iface_t *iface,\t\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:580,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:586,1
    - Dst: avro_value_instance_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:584,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:583,1
    - Dst: avro_value_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 589
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 589
    functionName: avro_generic_link_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_instance_size
    - avro_value_done
    - avro_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_link_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1550,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1550,1
    - Dst: avro_generic_long_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - val
    argTypes:
    - avro_value_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1552
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1552
    functionName: avro_generic_long_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_generic_value_new
    - avro_generic_long_set
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_generic_long_new(avro_value_t *value, int64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1683
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1683
    functionName: avro_generic_null_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_generic_null_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1780,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1781,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - val
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: avro_generic_string_set_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_set_length
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_generic_string_set_length(const avro_value_iface_t
      *iface,\t\t\t void *vself, const char *val, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1698,1
    - Dst: avro_raw_string_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1700,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1702
    functionName: avro_generic_string_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_clear
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_generic_string_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1816,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c:1818,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1819
    functionName: avro_generic_string_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/generic.c
    functionUses: []
    functionsReached:
    - avro_raw_string_done
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_generic_string_done(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - struct st_hash_type*
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: st_init_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_table(struct st_hash_type *type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:290,1
    - Dst: ADD_DIRECT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: st_add_direct
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - do_hash
    - ADD_DIRECT
    linkageType: ''
    returnType: void
    signature: 'void st_add_direct(st_table *table,st_data_t key,st_data_t value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 532
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 532
    functionName: strhash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int strhash(register const char *string) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 135
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 135
    functionName: new_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int new_size(int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: st_init_numtable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_init_table
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_numtable(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:301,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:315,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - table
    argTypes:
    - st_table*
    constantsTouched: []
    func_position:
      end: 318
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 318
    functionName: rehash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - free_bins
    - Calloc
    - new_size
    linkageType: ''
    returnType: void
    signature: 'static void rehash(register st_table *table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - long
    - long
    constantsTouched: []
    func_position:
      end: 537
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 537
    functionName: numcmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int numcmp(long x, long y) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: st_init_strtable_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_strtable_with_size(int size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:326,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:333,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:346,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:336,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:344,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - old_table
    argTypes:
    - st_table*
    constantsTouched: []
    func_position:
      end: 357
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 357
    functionName: st_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - free_bins
    - Calloc
    - avro_freet
    - avro_new
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_copy(st_table *old_table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:205,1
    - Dst: free_bins
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:209,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - table
    argTypes:
    - st_table*
    constantsTouched: []
    func_position:
      end: 211
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 211
    functionName: st_free_table
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - avro_freet
    - free_bins
    linkageType: ''
    returnType: void
    signature: 'void st_free_table(st_table *table) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_hash_bin
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:365,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:392,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:380,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:374,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t*
    - st_data_t*
    constantsTouched: []
    func_position:
      end: 398
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 398
    functionName: st_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - do_hash_bin
    - avro_freet
    - EQUAL
    linkageType: ''
    returnType: int
    signature: 'int st_delete(register st_table *table,register st_data_t *key,st_data_t
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - long
    constantsTouched: []
    func_position:
      end: 542
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 542
    functionName: numhash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int numhash(long n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:143,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:145,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: stat_col
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - fprintf
    - fclose
    - fopen
    linkageType: ''
    returnType: void
    signature: 'static void stat_col() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: do_hash_bin
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:405,1
    - Dst: EQUAL
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - table
    - key
    - value
    - never
    argTypes:
    - st_table*
    - st_data_t*
    - st_data_t*
    - st_data_t
    constantsTouched: []
    func_position:
      end: 426
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 426
    functionName: st_delete_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - do_hash_bin
    - EQUAL
    linkageType: ''
    returnType: int
    signature: 'int st_delete_safe(register st_table *table,register st_data_t *key,st_data_t
      *value,st_data_t never) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - table
    - never
    argTypes:
    - st_table*
    - st_data_t
    constantsTouched: []
    func_position:
      end: 443
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 443
    functionName: st_cleanup_safe
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_foreach
    linkageType: ''
    returnType: void
    signature: 'void st_cleanup_safe(st_table *table,st_data_t never) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atexit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:156,1
    - Dst: Calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:166,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:162,1
    - Dst: new_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - type
    - size
    argTypes:
    - struct st_hash_type*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: st_init_table_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - new_size
    - Calloc
    - avro_new
    - atexit
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_table_with_size(struct st_hash_type *type, int size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:239,1
    - Dst: FIND_ENTRY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: st_lookup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - do_hash
    - FIND_ENTRY
    linkageType: ''
    returnType: int
    signature: 'int st_lookup(st_table *table, register st_data_t key, st_data_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - key
    - value
    - never
    argTypes:
    - st_data_t
    - st_data_t
    - st_data_t
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 435
    functionName: delete_never
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int delete_never(st_data_t key, st_data_t value, st_data_t
      never) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:489,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 30
    argCount: 3
    argNames:
    - table
    - (*func)
    - arg
    argTypes:
    - st_table*
    - int
    - st_data_t
    constantsTouched: []
    func_position:
      end: 495
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 495
    functionName: st_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - avro_freet
    linkageType: ''
    returnType: int
    signature: 'int st_foreach(st_table *table,int (*func) (ANYARGS),st_data_t arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: st_init_numtable_with_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_init_table_with_size
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_numtable_with_size(int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: st_init_strtable
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - st_init_table
    linkageType: ''
    returnType: st_table*
    signature: 'st_table *st_init_strtable(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:274,1
    - Dst: ADD_DIRECT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:278,1
    - Dst: FIND_ENTRY
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - table
    - key
    - value
    argTypes:
    - st_table*
    - st_data_t
    - st_data_t
    constantsTouched: []
    func_position:
      end: 284
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 284
    functionName: st_insert
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/st.c
    functionUses: []
    functionsReached:
    - do_hash
    - FIND_ENTRY
    - ADD_DIRECT
    linkageType: ''
    returnType: int
    signature: 'int st_insert(register st_table *table, register st_data_t key, st_data_t
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:53,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:55,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:55,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:61,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:69,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:70,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:74,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:74,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:77,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:79,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:79,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 84
    functionName: read_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - avro_consume_binary
    - check_prefix
    - check
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: "static int read_array(avro_reader_t reader, const avro_encoding_t
      * enc,\t avro_consumer_t *consumer, void *ud) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:153,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:158,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:155,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: read_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - avro_consume_binary
    - check_prefix
    - check
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: "static int read_union(avro_reader_t reader, const avro_encoding_t
      * enc,\t avro_consumer_t *consumer, void *ud) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:38,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: read_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - check_prefix
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: "static int read_enum(avro_reader_t reader, const avro_encoding_t *
      enc,\t avro_consumer_t *consumer, void *ud) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:169,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:171,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:171,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:173,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:178,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:178,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:183,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:183,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:186,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:187,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 192
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 192
    functionName: read_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_by_index
    - avro_consume_binary
    - check
    - avro_skip_data
    - avro_schema_record_size
    - AVRO_UNUSED
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: "static int read_record(avro_reader_t reader, const avro_encoding_t
      * enc,\t avro_consumer_t *consumer, void *ud) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:96,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:104,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:98,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:98,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:114,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:117,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:122,1
    - Dst: avro_consume_binary
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:126,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:132,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:135,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:137,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:128,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:137,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - reader
    - enc
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 142
    functionName: read_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - avro_consume_binary
    - check
    - avro_free
    - check_prefix
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: "static int read_map(avro_reader_t reader, const avro_encoding_t *
      enc,\t avro_consumer_t *consumer, void *ud) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:205,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:207,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:234,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:261,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:271,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:283,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:295,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:310,1
    - Dst: read_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:314,1
    - Dst: read_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:318,1
    - Dst: read_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:302,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:201,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:203,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:207,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:215,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:252,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:259,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:261,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:293,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:306,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:200,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:213,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:215,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:225,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:232,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:223,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:243,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:250,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:252,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:281,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:288,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:302,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:318,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:234,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:225,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:241,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:243,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:269,1
    - Dst: avro_consumer_call
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:271,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:279,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:286,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:289,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:314,1
    - Dst: read_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:310,1
    - Dst: read_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:306,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c:322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 71
    argCount: 3
    argNames:
    - reader
    - consumer
    - ud
    argTypes:
    - avro_reader_t
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 327
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 327
    functionName: avro_consume_binary
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consume-binary.c
    functionUses: []
    functionsReached:
    - avro_prefix_error
    - avro_schema_to_fixed
    - avro_set_error
    - check_param
    - avro_read
    - check
    - read_union
    - read_array
    - avro_typeof
    - read_enum
    - read_record
    - avro_free
    - read_map
    - check_prefix
    - avro_malloc
    - avro_consumer_call
    linkageType: ''
    returnType: int
    signature: 'int avro_consume_binary(avro_reader_t reader, avro_consumer_t *consumer,
      void *ud) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:31,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:31,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:32,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:32,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:35,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: avro_schema_match
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_new
    - avro_value_iface_decref
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_match(avro_schema_t wschema, avro_schema_t rschema) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:51,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:64,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:88,1
    - Dst: avro_resolved_writer_set_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:83,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:79,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:50,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:51,1
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:64,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:77,1
    - Dst: avro_resolved_writer_new_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:75,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:94,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:52,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:58,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:69,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:78,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:86,1
    - Dst: avro_resolved_writer_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:67,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:70,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:87,1
    - Dst: avro_value_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:84,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:89,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:93,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 4
    argNames:
    - reader
    - writers_schema
    - readers_schema
    - datum
    argTypes:
    - avro_reader_t
    - avro_schema_t
    - avro_schema_t
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 98
    functionName: avro_read_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_read.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_new
    - avro_value_decref
    - avro_datum_decref
    - avro_datum_as_value
    - check_param
    - check
    - avro_datum_from_schema
    - avro_value_iface_decref
    - avro_resolved_writer_new_value
    - avro_resolved_writer_set_dest
    - avro_value_read
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: "int avro_read_data(avro_reader_t reader, avro_schema_t writers_schema,\t
      avro_schema_t readers_schema, avro_datum_t * datum) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:60,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:62,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: avro_wrapped_resizable_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_free
    - avro_wrapped_resizable_size
    - DEBUG
    linkageType: ''
    returnType: void
    signature: 'static void avro_wrapped_resizable_free(avro_wrapped_buffer_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:112,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:122,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:114,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - dest
    - buf_size
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 129
    functionName: avro_wrapped_resizable_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_wrapped_resizable_size
    - DEBUG
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int avro_wrapped_resizable_new(avro_wrapped_buffer_t *dest,
      size_t buf_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: avro_raw_string_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_string_init(avro_raw_string_t *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:166,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: avro_raw_string_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_free
    - avro_raw_string_init
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_string_done(avro_raw_string_t *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - str
    - src
    - length
    argTypes:
    - avro_raw_string_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: avro_raw_string_set_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_raw_string_ensure_buf
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_set_length(avro_raw_string_t *str,\t\t\t const
      void *src, size_t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:245,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:247,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - char*
    constantsTouched: []
    func_position:
      end: 249
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 249
    functionName: avro_raw_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_raw_string_ensure_buf
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_string_set(avro_raw_string_t *str, const char *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:271,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:273,1
    - Dst: avro_wrapped_buffer_move
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: avro_raw_string_give
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_move
    - DEBUG
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_give(avro_raw_string_t *str,\t\t avro_wrapped_buffer_t
      *src) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:84,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:94,1
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:88,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:89,1
    - Dst: avro_wrapped_resizable_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:90,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:102,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - self
    - desired
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: avro_wrapped_resizable_resize
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_wrapped_resizable_size
    - DEBUG
    - avro_realloc
    linkageType: ''
    returnType: int
    signature: 'static int avro_wrapped_resizable_resize(avro_wrapped_buffer_t *self,
      size_t desired) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_resizable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:152,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:158,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:153,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:157,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - avro_raw_string_t*
    constantsTouched: []
    func_position:
      end: 160
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 160
    functionName: avro_raw_string_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - is_resizable
    - DEBUG
    - avro_wrapped_buffer_free
    - avro_raw_string_init
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_string_clear(avro_raw_string_t *str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:232,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:237,1
    - Dst: avro_raw_string_set_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:233,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - str
    - src
    - length
    argTypes:
    - avro_raw_string_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: avro_raw_string_append_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_raw_string_set_length
    - avro_raw_string_ensure_buf
    - avro_raw_string_length
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void avro_raw_string_append_length(avro_raw_string_t *str,\t\t\t\t
      const void *src,\t\t\t\t size_t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_string_length
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:255,1
    - Dst: avro_raw_string_ensure_buf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:261,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:256,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:262,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - src
    argTypes:
    - avro_raw_string_t*
    - char*
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: avro_raw_string_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_raw_string_ensure_buf
    - avro_raw_string_set
    - strlen
    - memcpy
    - avro_raw_string_length
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_string_append(avro_raw_string_t *str, const char *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_wrapped_buffer_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - str
    - dest
    argTypes:
    - avro_raw_string_t*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: avro_raw_string_grab
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_copy
    linkageType: ''
    returnType: int
    signature: "int avro_raw_string_grab(const avro_raw_string_t *str,\t\t avro_wrapped_buffer_t
      *dest) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - avro_raw_string_t*
    - avro_raw_string_t*
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: avro_raw_string_equals
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int avro_raw_string_equals(const avro_raw_string_t *str1,\t\t const
      avro_raw_string_t *str2) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:182,1
    - Dst: avro_wrapped_resizable_resize
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:189,1
    - Dst: avro_wrapped_resizable_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:198,1
    - Dst: is_resizable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:183,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:198,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:208,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - str
    - length
    argTypes:
    - avro_raw_string_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 214
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 214
    functionName: avro_raw_string_ensure_buf
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/string.c
    functionUses: []
    functionsReached:
    - is_resizable
    - avro_wrapped_resizable_resize
    - check
    - DEBUG
    - memcpy
    - avro_wrapped_resizable_new
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: 'static int avro_raw_string_ensure_buf(avro_raw_string_t *str, size_t
      length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 301
    functionName: avro_schema_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_boolean(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:539,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:539,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - enump
    - index
    argTypes:
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: avro_schema_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_enum
    - st_lookup
    linkageType: ''
    returnType: char*
    signature: "const char *avro_schema_enum_get(const avro_schema_t enump,\t\t\t\t
      int index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:703,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:708,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - schema
    - field_name
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 710
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 710
    functionName: avro_schema_record_field_get_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int avro_schema_record_field_get_index(const avro_schema_t schema,\t\t\t\t
      const char *field_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:729,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - record
    - index
    argTypes:
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: avro_schema_record_field_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_record_field_get_by_index(const avro_schema_t
      record, int index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:764,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:764,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:767,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:765,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 769
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 769
    functionName: avro_schema_link_target
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_link
    - avro_schema_to_link
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_link_target(avro_schema_t schema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1707,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1709,1
    - Dst: write_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1723,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1725,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1703,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1706,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1707,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1709,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1721,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1723,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1713,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1703,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1704,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1705,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1713,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1719,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1721,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1711,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1705,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1704,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1711,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - out
    - record
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_record_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1726
    functionName: write_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - st_lookup
    - check
    - write_field
    - avro_write_str
    linkageType: ''
    returnType: int
    signature: "static int write_record(avro_writer_t out, const struct avro_record_schema_t
      *record,\t\t\tconst char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: avro_schema_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_null(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:551,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:555,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - enump
    - symbol_name
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 558
    functionName: avro_schema_enum_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_enum
    - avro_set_error
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int avro_schema_enum_get_by_name(const avro_schema_t enump,\t\t\t\t
      const char *symbol_name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:718,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - schema
    - index
    argTypes:
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 720
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 720
    functionName: avro_schema_record_field_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_schema_record_field_name(const avro_schema_t schema,
      int index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_named_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:735,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:742,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:740,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:736,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:758,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - to
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 760
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 760
    functionName: avro_schema_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_named_type
    - avro_set_error
    - avro_schema_init
    - avro_new
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_link(avro_schema_t to) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:775,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:776,1
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:776,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:776,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:777,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:779,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - name
    - namespace
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 782
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 782
    functionName: qualify_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_str_alloc
    - avro_strdup
    - sprintf
    - strchr
    - strlen
    linkageType: ''
    returnType: char*
    signature: 'static const char *qualify_name(const char *name, const char *namespace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1733,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1734,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1735,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1737,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1739,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1752,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1754,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1755,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1756,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1734,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1736,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1737,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1739,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1743,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1750,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1752,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1741,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1743,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1733,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1735,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1741,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1754,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1755,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1756,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1758,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - out
    - enump
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_enum_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1759
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1759
    functionName: write_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - avro_write_str
    - check
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "static int write_enum(avro_writer_t out, const struct avro_enum_schema_t
      *enump,\t\t\tconst char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1786,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1787,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1786,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1787,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - out
    - map
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_map_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1789
    functionName: write_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_json2
    - avro_write_str
    - check
    linkageType: ''
    returnType: int
    signature: "static int write_map(avro_writer_t out, const struct avro_map_schema_t
      *map,\t\t const char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - name
    - size
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 316
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 316
    functionName: avro_schema_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_fixed_ns
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_fixed(const char *name, const int64_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fixed
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: avro_schema_fixed_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_fixed
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t avro_schema_fixed_size(const avro_schema_t fixed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:386,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:386,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:387,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:388,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:387,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:388,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:390,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:392,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:393,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:394,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - union_schema
    - schema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: avro_schema_union_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - st_insert
    - check_param
    - is_avro_union
    - avro_schema_incref
    - avro_schema_to_union
    - is_avro_schema
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "int avro_schema_union_append(const avro_schema_t union_schema,\t\t\t
      const avro_schema_t schema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:466,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:472,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:468,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - values
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: avro_schema_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_schema_incref
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_map(const avro_schema_t values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: avro_schema_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_enum_ns
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_enum(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - record
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: avro_schema_record_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_record
    linkageType: ''
    returnType: size_t
    signature: 'size_t avro_schema_record_size(const avro_schema_t record) '
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:916,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:936,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1004,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1045,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1017,1
    - Dst: split_namespace_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1193,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1198,1
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:984,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:993,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1014,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1019,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1086,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1184,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1203,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1054,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:999,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1082,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:900,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:908,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:978,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1101,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1147,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1013,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1043,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:935,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:951,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:966,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1009,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1121,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1164,1
    - Dst: json_integer_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1188,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1195,1
    - Dst: split_namespace_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:956,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:990,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1048,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1007,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1066,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1141,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1166,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1197,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:928,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1030,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1088,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1196,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:961,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:949,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:941,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:986,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:973,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1163,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1194,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1210,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1081,1
    - Dst: avro_type_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:890,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:920,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:933,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:972,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:992,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1061,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1209,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:940,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1029,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1050,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1144,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1159,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1177,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1201,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:904,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:912,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:958,1
    - Dst: split_namespace_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1056,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1073,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1104,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1135,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1191,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1217,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1072,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1058,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:945,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:944,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:960,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1114,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1125,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1035,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:959,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1060,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1150,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1176,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1189,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:957,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:964,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:985,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1000,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1083,1
    - Dst: json_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1079,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1028,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1059,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1129,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1134,1
    - Dst: strchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:955,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1064,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1057,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1039,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1034,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1108,1
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1113,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1152,1
    - Dst: json_is_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1180,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1181,1
    - Dst: avro_schema_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:896,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:924,1
    - Dst: json_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:948,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1091,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:997,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1038,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1156,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1175,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1185,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 247
    argCount: 4
    argNames:
    - json
    - schema
    - named_schemas
    - parent_namespace
    argTypes:
    - json_t*
    - avro_schema_t*
    - st_table*
    - char*
    constantsTouched: []
    func_position:
      end: 1221
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 1221
    functionName: avro_schema_from_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_schema_double
    - avro_schema_float
    - avro_type_from_json_t
    - avro_schema_namespace
    - avro_schema_boolean
    - avro_schema_long
    - avro_schema_record
    - json_array_size
    - json_integer_value
    - avro_schema_from_json_t
    - json_string_value
    - json_is_string
    - avro_schema_record_field_append
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_array
    - avro_schema_string
    - avro_set_error
    - avro_schema_union_append
    - avro_schema_enum_ns
    - json_is_integer
    - split_namespace_name
    - json_is_object
    - avro_schema_union
    - json_is_array
    - save_named_schemas
    - json_array_get
    - avro_schema_link
    - strchr
    - json_object_get
    - avro_schema_enum_symbol_append
    - avro_schema_bytes
    - strlen
    - avro_schema_null
    - avro_schema_fixed_ns
    - avro_schema_map
    linkageType: ''
    returnType: int
    signature: "static int avro_schema_from_json_t(json_t *json, avro_schema_t *schema,\t\t\tst_table
      *named_schemas, const char *parent_namespace) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1238,1
    - Dst: avro_schema_from_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1246,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1241,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1240,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1247,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1248,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1249,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - root
    - schema
    argTypes:
    - json_t*
    - avro_schema_t*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1251
    functionName: avro_schema_from_json_root
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - json_decref
    - st_foreach
    - avro_set_error
    - avro_schema_from_json_t
    - st_init_strtable_with_size
    - st_free_table
    linkageType: ''
    returnType: int
    signature: 'static int avro_schema_from_json_root(json_t *root, avro_schema_t
      *schema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:321,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:329,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:327,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:322,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:332,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:334,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:338,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:340,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:341,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:346,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - name
    - space
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: avro_schema_fixed_ns
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_str_free
    - avro_strdup
    - avro_new
    - avro_set_error
    - is_avro_id
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_fixed_ns(const char *name, const char *space,\t\tconst
      int64_t size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:358,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:360,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:365,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:370,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:363,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:372,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:373,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 380
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 380
    functionName: avro_schema_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_new
    - st_init_numtable_with_size
    - avro_set_error
    - st_free_table
    - st_init_strtable_with_size
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_union(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:402,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:403,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:403,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:404,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - union_schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: avro_schema_union_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_union
    - check_param
    - is_avro_schema
    - is_avro_union
    linkageType: ''
    returnType: size_t
    signature: 'size_t avro_schema_union_size(const avro_schema_t union_schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: avro_schema_map_values
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_map_values(avro_schema_t map) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:488,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:495,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:504,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:511,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:513,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:521,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:498,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:506,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:522,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:528,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:493,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:489,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:500,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:507,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:514,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:519,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:523,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:515,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:524,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - name
    - space
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 530
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 530
    functionName: avro_schema_enum_ns
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_str_free
    - avro_strdup
    - avro_new
    - st_init_numtable_with_size
    - avro_set_error
    - st_init_strtable_with_size
    - st_free_table
    - is_avro_id
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_enum_ns(const char *name, const char *space) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:691,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - record
    - field_name
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 694
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 694
    functionName: avro_schema_record_field_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_record
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_record_field_get(const avro_schema_t\t\t\t\t\t
      record, const char *field_name) "
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: json_is_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:822,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:863,1
    - Dst: json_is_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:819,1
    - Dst: json_object_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:823,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:828,1
    - Dst: json_string_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:831,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:857,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:847,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:851,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:855,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:859,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:853,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:833,1
    - Dst: find_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:865,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:845,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:849,1
    - Dst: json_is_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:827,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:839,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:841,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:843,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:868,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:861,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 5
    argNames:
    - json
    - type
    - named_schemas
    - named_type
    - namespace
    argTypes:
    - json_t*
    - avro_type_t*
    - st_table*
    - avro_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 872
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 872
    functionName: avro_type_from_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - json_string_value
    - avro_set_error
    - json_object_get
    - strcmp
    - find_named_schemas
    - json_is_object
    - json_is_string
    - json_is_array
    linkageType: ''
    returnType: int
    signature: "static int avro_type_from_json_t(json_t *json, avro_type_t *type,\t\t
      st_table *named_schemas, avro_schema_t *named_type,\t\t const char *namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1225,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1226,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - full_name
    - value
    - arg
    argTypes:
    - char*
    - st_data_t
    - st_data_t
    constantsTouched: []
    func_position:
      end: 1230
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1230
    functionName: named_schema_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int named_schema_free_foreach(char *full_name, st_data_t value,
      st_data_t arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1257,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1258,1
    - Dst: json_loads
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1266,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1264,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1263,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1268,1
    - Dst: avro_schema_from_json_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - jsontext
    - len
    - schema
    - e
    argTypes:
    - char*
    - int32_t
    - avro_schema_t*
    - avro_schema_error_t*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1273
    functionName: avro_schema_from_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_from_json_root
    - json_loads
    - avro_set_error
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "int avro_schema_from_json(const char *jsontext, const int32_t len,\t\t
      avro_schema_t *schema, avro_schema_error_t *e) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1534,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1538,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1535,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1536,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1537,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1539,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1543
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1543
    functionName: avro_schema_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_to_enum
    - avro_schema_to_fixed
    - avro_set_error
    - is_avro_record
    - is_avro_fixed
    - avro_schema_to_record
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_schema_name(const avro_schema_t schema) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1591,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1573,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1559,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1562,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1560,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1564,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1567,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1569,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1571,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1575,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1583,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1585,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1587,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1577,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1563,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1561,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1565,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1588,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1589,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1581,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1579,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1593
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1593
    functionName: avro_schema_type_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_to_fixed
    - is_avro_string
    - is_avro_link
    - is_avro_fixed
    - is_avro_float
    - avro_schema_to_record
    - avro_schema_type_name
    - is_avro_bytes
    - avro_schema_link_target
    - is_avro_boolean
    - is_avro_record
    - is_avro_map
    - is_avro_array
    - avro_set_error
    - is_avro_union
    - is_avro_double
    - is_avro_null
    - is_avro_int32
    - is_avro_int64
    - avro_schema_to_enum
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_schema_type_name(const avro_schema_t schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1683,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - avro_writer_t
    - char*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1684
    functionName: avro_write_str
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - strlen
    - avro_write
    linkageType: ''
    returnType: int
    signature: 'static int avro_write_str(avro_writer_t out, const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:89,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:92,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:93,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - i
    - field
    - arg
    argTypes:
    - int
    - struct avro_record_field_t*
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: record_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_decref
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int record_free_foreach(int i, struct avro_record_field_t *field,\t\t\t
      void *arg) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: avro_schema_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_string(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 261
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 261
    functionName: avro_schema_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_int(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: avro_schema_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_float(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:787,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:790,1
    - Dst: qualify_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:789,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:788,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - schema
    - st
    argTypes:
    - avro_schema_t
    - st_table*
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: save_named_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - qualify_name
    - st_insert
    - avro_schema_namespace
    - avro_schema_name
    linkageType: ''
    returnType: int
    signature: 'static int save_named_schemas(const avro_schema_t schema, st_table
      *st) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1279,1
    - Dst: avro_schema_from_json_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1291,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1280,1
    - Dst: json_loadb
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1285,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - jsontext
    - length
    - schema
    argTypes:
    - char*
    - size_t
    - avro_schema_t*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1292
    functionName: avro_schema_from_json_length
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_from_json_root
    - json_loadb
    - avro_set_error
    - check_param
    linkageType: ''
    returnType: int
    signature: "int avro_schema_from_json_length(const char *jsontext, size_t length,\t\t\t
      avro_schema_t *schema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1794,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1796,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1795,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1795,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - out
    - array
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_array_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1797
    functionName: write_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_json2
    - avro_write_str
    - check
    linkageType: ''
    returnType: int
    signature: "static int write_array(avro_writer_t out, const struct avro_array_schema_t
      *array,\t\t const char *parent_namespace) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1822,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1823,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1824,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1825,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1822,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1825,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1826,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1826,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1828,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1828,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1829,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1828,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - out
    - link
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_link_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1830
    functionName: write_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - avro_schema_name
    - check
    - avro_write_str
    - avro_schema_namespace
    linkageType: ''
    returnType: int
    signature: "static int write_link(avro_writer_t out, const struct avro_link_schema_t
      *link,\t\t const char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - schema
    - type
    argTypes:
    - avro_schema_t
    - avro_type_t
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: avro_schema_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: 'static void avro_schema_init(avro_schema_t schema, avro_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:100,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:103,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - i
    - sym
    - arg
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: enum_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int enum_free_foreach(int i, char *sym, void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: avro_schema_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_bytes(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: avro_schema_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_long(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 291
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 291
    functionName: avro_schema_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_double(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qualify_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:801,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:803,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:802,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - name
    - namespace
    - st
    argTypes:
    - char*
    - char*
    - st_table*
    constantsTouched: []
    func_position:
      end: 809
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 809
    functionName: find_named_schemas
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_set_error
    - qualify_name
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t find_named_schemas(const char *name, const char
      *namespace, st_table *st) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1301,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1319,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1323,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1373,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1390,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1404,1
    - Dst: avro_schema_namespace
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1440,1
    - Dst: avro_schema_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1442,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1324,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1334,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1335,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1346,1
    - Dst: avro_schema_enum_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1347,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1358,1
    - Dst: avro_schema_enum_symbol_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1359,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1385,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1397,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1399,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1439,1
    - Dst: avro_schema_union_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1423,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1368,1
    - Dst: avro_schema_fixed_ns
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1370,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1350,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1425,1
    - Dst: find_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1439,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1411,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1321,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1332,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1338,1
    - Dst: save_named_schemas
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1349,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1374,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1383,1
    - Dst: avro_schema_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1389,1
    - Dst: avro_schema_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1403,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1422,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1436,1
    - Dst: avro_schema_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1413,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1421,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1428,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 77
    argCount: 2
    argNames:
    - schema
    - named_schemas
    argTypes:
    - avro_schema_t
    - st_table*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1450
    functionName: avro_schema_copy_root
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - st_lookup
    - avro_schema_to_fixed
    - avro_schema_to_array
    - avro_schema_namespace
    - avro_schema_to_record
    - avro_schema_record
    - find_named_schemas
    - avro_schema_copy_root
    - avro_schema_to_link
    - avro_schema_record_field_append
    - avro_schema_decref
    - avro_schema_array
    - avro_schema_union_append
    - avro_set_error
    - avro_schema_enum_ns
    - avro_schema_to_union
    - avro_schema_union
    - save_named_schemas
    - avro_schema_name
    - avro_schema_link
    - avro_schema_to_enum
    - avro_schema_enum_symbol_append
    - avro_schema_fixed_ns
    - avro_typeof
    - avro_schema_map
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_copy_root(avro_schema_t schema, st_table
      *named_schemas) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1803,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1812,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1803,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1810,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1812,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1814,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1814,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - out
    - unionp
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_union_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1817
    functionName: write_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_json2
    - avro_write_str
    - check
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "static int write_union(avro_writer_t out, const struct avro_union_schema_t
      *unionp,\t\t const char *parent_namespace) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1842,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1845,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1853,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1862,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1868,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1871,1
    - Dst: write_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1875,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1879,1
    - Dst: write_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1883,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1836,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1842,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1837,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1850,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1859,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1856,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1865,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1873,1
    - Dst: write_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1877,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1881,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1889,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1887,1
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1886,1
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1841,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1836,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1847,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1850,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1859,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1856,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1865,1
    - Dst: write_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1871,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1875,1
    - Dst: write_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1879,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1847,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1862,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1853,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1868,1
    - Dst: write_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1873,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1877,1
    - Dst: write_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1881,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1883,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - schema
    - out
    - parent_namespace
    argTypes:
    - avro_schema_t
    - avro_writer_t
    - char*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1891
    functionName: avro_schema_to_json2
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - write_enum
    - avro_schema_to_fixed
    - check
    - avro_schema_to_array
    - avro_write_str
    - avro_schema_to_record
    - check_param
    - is_avro_primitive
    - write_link
    - write_array
    - avro_schema_to_link
    - is_avro_schema
    - avro_set_error
    - write_fixed
    - avro_schema_to_union
    - write_union
    - write_map
    - avro_schema_to_enum
    - avro_typeof
    - write_record
    linkageType: ''
    returnType: int
    signature: "static int avro_schema_to_json2(const avro_schema_t schema, avro_writer_t
      out,\t\t const char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1690,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1691,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1690,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1691,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1692,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1692,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1693,1
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1693,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - out
    - field
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_record_field_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1695
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1695
    functionName: write_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_json2
    - avro_write_str
    - check
    linkageType: ''
    returnType: int
    signature: "static int write_field(avro_writer_t out, const struct avro_record_field_t
      *field,\t\t const char *parent_namespace) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:76,1
    - Dst: avro_strndup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - fullname
    - name_out
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: split_namespace_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - strrchr
    - avro_strndup
    linkageType: ''
    returnType: char*
    signature: 'static char *split_namespace_name(const char *fullname, const char
      **name_out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:109,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:112,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - i
    - schema
    - arg
    argTypes:
    - int
    - avro_schema_t
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: union_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int union_free_foreach(int i, avro_schema_t schema, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: avro_schema_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_incref(avro_schema_t schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:415,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:415,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - unionp
    - branch_index
    argTypes:
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 423
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 423
    functionName: avro_schema_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_union
    - avro_set_error
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: "avro_schema_t avro_schema_union_branch(avro_schema_t unionp,\t\t\t\t
      int branch_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:448,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:454,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:453,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:450,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - items
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: avro_schema_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_schema_incref
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_array(const avro_schema_t items) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:564,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:565,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:566,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:564,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:565,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:570,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:571,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:573,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:577,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - enum_schema
    - symbol
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 580
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 580
    functionName: avro_schema_enum_symbol_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_strdup
    - st_insert
    - avro_schema_to_enum
    - avro_set_error
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: "int avro_schema_enum_symbol_append(const avro_schema_t enum_schema,\t\t\t
      const char *symbol) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:597,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:598,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:598,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:599,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:597,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:600,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:600,1
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:602,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:603,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:608,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:620,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:613,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:619,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:615,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:621,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:623,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:612,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - record_schema
    - field_name
    - field_schema
    argTypes:
    - avro_schema_t
    - char*
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 626
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 626
    functionName: avro_schema_record_field_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - st_insert
    - avro_strdup
    - avro_new
    - avro_set_error
    - check_param
    - is_avro_record
    - is_avro_id
    - avro_schema_incref
    - is_avro_schema
    - avro_schema_to_record
    linkageType: ''
    returnType: int
    signature: "int avro_schema_record_field_append(const avro_schema_t record_schema,\t\t\t\tconst
      char *field_name,\t\t\t\tconst avro_schema_t field_schema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1457,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1465,1
    - Dst: avro_schema_copy_root
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1463,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1464,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1467
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1467
    functionName: avro_schema_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - st_foreach
    - avro_set_error
    - st_free_table
    - avro_schema_copy_root
    - st_init_strtable_with_size
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_copy(avro_schema_t schema) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:136,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:166,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:175,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:182,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:118,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:119,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:148,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:155,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:174,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:153,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:183,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:193,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:200,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:134,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:140,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:141,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:149,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:156,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:164,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:151,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:163,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:192,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:133,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:138,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:189,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:190,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 46
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 213
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 213
    functionName: avro_schema_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - st_foreach
    - avro_str_free
    - avro_schema_decref
    - avro_schema_to_enum
    - avro_schema_to_fixed
    - avro_typeof
    - avro_schema_to_array
    - st_free_table
    - avro_schema_to_link
    - avro_schema_to_union
    - is_avro_schema
    - avro_schema_to_record
    linkageType: ''
    returnType: void
    signature: 'static void avro_schema_free(avro_schema_t schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:226,1
    - Dst: avro_schema_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: avro_schema_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_refcount_dec
    - avro_schema_free
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_decref(avro_schema_t schema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:433,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:433,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:435,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - unionp
    - branch_index
    - name
    argTypes:
    - avro_schema_t
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 443
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 443
    functionName: avro_schema_union_branch_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_union
    - avro_set_error
    - avro_schema_union_branch
    - st_lookup
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_union_branch_by_name(avro_schema_t unionp,
      int *branch_index, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: avro_schema_array_items
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_array
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_array_items(avro_schema_t array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:585,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:586,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:586,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:585,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - enum_schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: avro_schema_enum_number_of_symbols
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_enum
    - is_avro_enum
    - check_param
    - is_avro_schema
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_enum_number_of_symbols(const avro_schema_t enum_schema) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_id
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:630,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:637,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:640,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:646,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:649,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:653,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:655,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:668,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:666,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:663,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:631,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:648,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:657,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:635,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:642,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:670,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:665,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:659,1
    - Dst: avro_schema_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:675,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - name
    - space
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 677
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 677
    functionName: avro_schema_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_init
    - avro_str_free
    - avro_strdup
    - avro_new
    - st_init_numtable_with_size
    - avro_set_error
    - st_init_strtable_with_size
    - st_free_table
    - is_avro_id
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_record(const char *name, const char *space) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1486,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1488,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1480,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1498,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1506,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1518,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1511,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1508,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1509,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1472,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1474,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1490,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1520,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1515,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1517,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1499,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1499,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1524,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1528,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 2
    argNames:
    - schema
    - name
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1530
    functionName: avro_schema_get_subschema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - is_avro_map
    - is_avro_array
    - st_lookup
    - avro_set_error
    - is_avro_union
    - strcmp
    - avro_schema_to_array
    - is_avro_record
    - avro_schema_to_union
    - avro_schema_type_name
    - avro_schema_to_record
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_schema_get_subschema(const avro_schema_t schema,
      const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1547,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1551,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1550,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1548,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1549,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1555
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1555
    functionName: avro_schema_namespace
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_to_enum
    - avro_schema_to_fixed
    - is_avro_record
    - is_avro_fixed
    - avro_schema_to_record
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_schema_namespace(const avro_schema_t schema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:52,1
    - Dst: isalpha
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:57,1
    - Dst: isdigit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:58,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 68
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 68
    functionName: is_avro_id
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - isalpha
    - strlen
    - isdigit
    linkageType: ''
    returnType: int
    signature: 'static int is_avro_id(const char *name) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1597,1
    - Dst: avro_givestring
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1601,1
    - Dst: avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1610,1
    - Dst: avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1622,1
    - Dst: avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1649,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1670,1
    - Dst: avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1613,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1637,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1640,1
    - Dst: avro_record_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1641,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1597,1
    - Dst: avro_givebytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1604,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1599,1
    - Dst: avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1616,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1627,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1654,1
    - Dst: avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1659,1
    - Dst: avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1665,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1675,1
    - Dst: avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1607,1
    - Dst: avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1619,1
    - Dst: avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1629,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1642,1
    - Dst: avro_givefixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1655,1
    - Dst: avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1662,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1671,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 34
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1678
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1678
    functionName: avro_datum_from_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_datum_decref
    - st_lookup
    - avro_givestring
    - avro_schema_to_fixed
    - avro_datum_from_schema
    - avro_record
    - avro_schema_to_record
    - avro_givebytes
    - avro_record_set
    - check_param
    - avro_enum
    - avro_schema_to_link
    - avro_givefixed
    - is_avro_schema
    - avro_int64
    - avro_map
    - avro_union
    - avro_float
    - avro_set_error
    - avro_double
    - avro_boolean
    - avro_null
    - avro_int32
    - avro_typeof
    - avro_array
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_datum_from_schema(const avro_schema_t schema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1770,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1772,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1779,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1774,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1776,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1777,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1766,1
    - Dst: nullstrcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1769,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1770,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1772,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1774,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1778,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1766,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1767,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1768,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1778,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1768,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1767,1
    - Dst: avro_write_str
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - out
    - fixed
    - parent_namespace
    argTypes:
    - avro_writer_t
    - struct avro_fixed_schema_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1780
    functionName: write_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - nullstrcmp
    - avro_write_str
    - check
    - snprintf
    linkageType: ''
    returnType: int
    signature: "static int write_fixed(avro_writer_t out, const struct avro_fixed_schema_t
      *fixed,\t\t\tconst char *parent_namespace) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_json2
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c:1895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - schema
    - out
    argTypes:
    - avro_schema_t
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 1896
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1896
    functionName: avro_schema_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema.c
    functionUses: []
    functionsReached:
    - avro_schema_to_json2
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_to_json(const avro_schema_t schema, avro_writer_t
      out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - h
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: fmix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t fmix(uint32_t h) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:91,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:111,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:95,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - start
    - src
    - len
    argTypes:
    - uint32_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: hash_buffer
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: []
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t hash_buffer(uint32_t start, const void *src,
      size_t len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:124,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:138,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:148,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:158,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:149,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:176,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:197,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:203,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:213,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:229,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:258,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:262,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:221,1
    - Dst: fmix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:245,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:275,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:229,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:131,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:138,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:130,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:148,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:149,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:158,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:166,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:165,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:176,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:189,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:262,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:276,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:279,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:275,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:197,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:130,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:165,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:175,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:181,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:189,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:190,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:201,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:221,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:222,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:239,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:264,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:276,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:278,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:139,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:159,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:175,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:181,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:182,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:201,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:213,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:214,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:239,1
    - Dst: hash_buffer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:243,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:243,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:258,1
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:244,1
    - Dst: add_hash
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:251,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 2
    argNames:
    - value
    - start
    argTypes:
    - avro_value_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 286
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 286
    functionName: avro_value_hash_fast
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - avro_value_get_discriminant
    - hash_buffer
    - avro_value_get_int
    - avro_value_get_type
    - avro_value_get_enum
    - avro_value_get_long
    - avro_value_get_double
    - avro_value_get_size
    - add_hash
    - avro_value_hash_fast
    - check_return
    - avro_value_get_null
    - avro_value_get_string
    - strlen
    - avro_value_get_fixed
    - avro_value_get_float
    - fmix
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t avro_value_hash_fast(avro_value_t *value, uint32_t
      start) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_hash_fast
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:291,1
    - Dst: fmix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: avro_value_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: []
    functionsReached:
    - avro_value_hash_fast
    - fmix
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t avro_value_hash(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:63,1
    - Dst: ROTL32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - start
    - current
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: add_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-hash.c
    functionUses: []
    functionsReached:
    - ROTL32
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t add_hash(uint32_t start, uint32_t current) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:28,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:29,1
    - Dst: free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:32,1
    - Dst: realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ud
    - ptr
    - osize
    - nsize
    argTypes:
    - void*
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: avro_default_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - free
    - realloc
    - AVRO_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'static void *avro_default_allocator(void *ud, void *ptr, size_t osize,
      size_t nsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - alloc
    - user_data
    argTypes:
    - avro_allocator_t
    - void*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: avro_set_allocator
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void avro_set_allocator(avro_allocator_t alloc, void *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - str_size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: avro_str_alloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - avro_malloc
    linkageType: ''
    returnType: char*
    signature: 'char *avro_str_alloc(size_t str_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:96,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: avro_strndup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - memcpy
    - avro_str_alloc
    linkageType: ''
    returnType: char*
    signature: 'char *avro_strndup(const char *str, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:52,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - count
    - size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: avro_calloc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - avro_malloc
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void *avro_calloc(size_t count, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:82,1
    - Dst: avro_str_alloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:83,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: avro_strdup
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - avro_str_alloc
    linkageType: ''
    returnType: char*
    signature: 'char *avro_strdup(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: avro_str_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'void avro_str_free(char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: avro_alloc_free_func
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/allocation.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'void avro_alloc_free_func(void *ptr, size_t sz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:40,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:41,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:57,1
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:63,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:88,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:99,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:47,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:65,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:70,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:77,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:84,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:85,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:90,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:96,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:54,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:66,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:71,1
    - Dst: avro_file_writer_open
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:74,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:64,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:75,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:76,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:87,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:93,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:97,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:33,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:35,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:34,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:39,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:55,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:56,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:61,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:89,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:98,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 103
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_file_writer_open
    - avro_value_decref
    - avro_file_writer_close
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_schema_equal
    - avro_file_reader
    - avro_file_reader_fp
    linkageType: ''
    returnType: int
    signature: 'int process_file(const char *in_filename, const char *out_filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:120,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:121,1
    - Dst: stat
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:126,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:121,1
    - Dst: strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 135
    functionName: check_filenames
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: []
    functionsReached:
    - stat
    - fprintf
    - strerror
    linkageType: ''
    returnType: int
    signature: 'static int check_filenames(const char *in_filename, const char *out_filename) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:152,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:154,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:160,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:153,1
    - Dst: check_filenames
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:157,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:164,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:167,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 168
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 168
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avroappend.c
    functionUses: []
    functionsReached:
    - exit
    - usage
    - fprintf
    - process_file
    - check_filenames
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - type
    argTypes:
    - avro_reader_t
    - avro_io_type_t
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: 'static void reader_init(avro_reader_t reader, avro_io_type_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - struct _avro_writer_file_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 351
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 351
    functionName: avro_write_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: 'static int avro_write_file(struct _avro_writer_file_t *writer, void
      *buf, int64_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:356,1
    - Dst: avro_write_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:357,1
    - Dst: avro_write_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:360,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:357,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:359,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - avro_writer_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: avro_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - is_memory_io
    - avro_writer_to_memory
    - avro_writer_to_file
    - avro_write_file
    - avro_write_memory
    linkageType: ''
    returnType: int
    signature: 'int avro_write(avro_writer_t writer, void *buf, int64_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_reader_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:111,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: avro_reader_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - avro_reader_file_fp
    linkageType: ''
    returnType: avro_reader_t
    signature: 'avro_reader_t avro_reader_file(FILE * fp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:217,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:218,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:249,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:233,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:248,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:241,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:233,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:238,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:257,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:216,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:216,1
    - Dst: fread
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:221,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:223,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:229,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:253,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:215,1
    - Dst: buffer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:219,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:228,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:235,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - struct _avro_reader_file_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 260
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 260
    functionName: avro_read_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - fread
    - buffer_reset
    - avro_set_error
    - bytes_available
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int avro_read_file(struct _avro_reader_file_t *reader, void
      *buf, int64_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:315,1
    - Dst: avro_skip_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:319,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:316,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:318,1
    - Dst: avro_skip_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:316,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - avro_reader_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: avro_skip
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - is_memory_io
    - avro_reader_to_memory
    - avro_skip_file
    - avro_reader_to_file
    - avro_skip_memory
    linkageType: ''
    returnType: int
    signature: 'int avro_skip(avro_reader_t reader, int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:384,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: avro_writer_tell
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t avro_writer_tell(avro_writer_t writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:399,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:400,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:401,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - writer
    - fp
    argTypes:
    - avro_writer_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 403
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 403
    functionName: avro_writer_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    - dump
    linkageType: ''
    returnType: void
    signature: 'void avro_writer_dump(avro_writer_t writer, FILE * fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:415,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:419,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:418,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:417,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: avro_reader_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - is_memory_io
    - avro_reader_to_file
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void avro_reader_free(avro_reader_t reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:117,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:119,1
    - Dst: writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - fp
    - should_close
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: avro_writer_file_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - writer_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_writer_t
    signature: 'avro_writer_t avro_writer_file_fp(FILE * fp, int should_close) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:265,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:266,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:268,1
    - Dst: avro_read_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:266,1
    - Dst: avro_read_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:269,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - avro_reader_t
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: avro_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - is_memory_io
    - avro_reader_to_memory
    - avro_read_file
    - avro_read_memory
    - avro_reader_to_file
    linkageType: ''
    returnType: int
    signature: 'int avro_read(avro_reader_t reader, void *buf, int64_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:330,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - struct _avro_writer_memory_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: avro_write_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - memcpy
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: 'static int avro_write_memory(struct _avro_writer_memory_t *writer,
      void *buf, int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:392,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:393,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: avro_writer_flush
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - fflush
    - avro_writer_to_file
    linkageType: ''
    returnType: void
    signature: 'void avro_writer_flush(avro_writer_t writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:407,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:408,1
    - Dst: dump
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:408,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - reader
    - fp
    argTypes:
    - avro_reader_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 411
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 411
    functionName: avro_reader_dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    - dump
    linkageType: ''
    returnType: void
    signature: 'void avro_reader_dump(avro_reader_t reader, FILE * fp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:427,1
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:429,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:430,1
    - Dst: avro_writer_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:431,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: avro_writer_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - is_memory_io
    - avro_writer_to_file
    - fclose
    linkageType: ''
    returnType: void
    signature: 'void avro_writer_free(avro_writer_t writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_file_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:439,1
    - Dst: avro_reader_to_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:440,1
    - Dst: feof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 446
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 446
    functionName: avro_reader_is_eof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_file_io
    - avro_reader_to_file
    - feof
    linkageType: ''
    returnType: int
    signature: 'int avro_reader_is_eof(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - type
    argTypes:
    - avro_writer_t
    - avro_io_type_t
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: 'static void writer_init(avro_writer_t writer, avro_io_type_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_writer_file_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: avro_writer_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - avro_writer_file_fp
    linkageType: ''
    returnType: avro_writer_t
    signature: 'avro_writer_t avro_writer_file(FILE * fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:151,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - avro_reader_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: avro_reader_memory_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: void
    signature: 'void avro_reader_memory_set_source(avro_reader_t reader, const char
      *buf, int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:177,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - writer
    - buf
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: avro_writer_memory_set_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: void
    signature: 'void avro_writer_memory_set_dest(avro_writer_t writer, const char
      *buf, int64_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - struct _avro_reader_memory_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: avro_skip_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: 'static int avro_skip_memory(struct _avro_reader_memory_t *reader,
      int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:370,1
    - Dst: avro_reader_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: avro_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_reader_to_memory
    linkageType: ''
    returnType: void
    signature: 'void avro_reader_reset(avro_reader_t reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:97,1
    - Dst: reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:105,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:99,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - fp
    - should_close
    argTypes:
    - FILE*
    - int
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: avro_reader_file_fp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - reader_init
    - avro_set_error
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_reader_t
    signature: 'avro_reader_t avro_reader_file_fp(FILE * fp, int should_close) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:136,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:138,1
    - Dst: reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 146
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 146
    functionName: avro_reader_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - reader_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_reader_t
    signature: 'avro_reader_t avro_reader_memory(const char *buf, int64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:162,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:164,1
    - Dst: writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: avro_writer_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - writer_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_writer_t
    signature: 'avro_writer_t avro_writer_memory(const char *buf, int64_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:190,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - buf
    - len
    argTypes:
    - struct _avro_reader_memory_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: avro_read_memory
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - memcpy
    - avro_prefix_error
    linkageType: ''
    returnType: int
    signature: 'static int avro_read_memory(struct _avro_reader_memory_t *reader,
      void *buf, int64_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:297,1
    - Dst: buffer_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:301,1
    - Dst: fseek
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:302,1
    - Dst: bytes_available
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:300,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - len
    argTypes:
    - struct _avro_reader_file_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 310
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 310
    functionName: avro_skip_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - bytes_available
    - fseek
    - buffer_reset
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: 'static int avro_skip_file(struct _avro_reader_file_t *reader, int64_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_memory_io
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:377,1
    - Dst: avro_writer_to_memory
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: avro_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/io.c
    functionUses: []
    functionsReached:
    - is_memory_io
    - avro_writer_to_memory
    linkageType: ''
    returnType: void
    signature: 'void avro_writer_reset(avro_writer_t writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:48,1
    - Dst: size_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:49,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:53,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:50,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:52,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:59,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:65,1
    - Dst: size_check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:66,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:67,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:69,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:70,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_record_schema_t*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 74
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 74
    functionName: size_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_accum
    - avro_record_get
    - size_check
    - st_lookup
    - size_datum
    - avro_datum_to_record
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_record(avro_writer_t writer, const avro_encoding_t
      * enc,\t struct avro_record_schema_t *schema, avro_datum_t datum) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:126,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:128,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - writer
    - enc
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_map_schema_t*
    - struct avro_map_datum_t*
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: size_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_accum
    - st_foreach
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_map(avro_writer_t writer, const avro_encoding_t
      * enc,\t struct avro_map_schema_t *writers_schema,\t struct avro_map_datum_t
      *datum) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:175,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:183,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:184,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - unionp
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_union_schema_t*
    - struct avro_union_datum_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: size_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_accum
    - size_datum
    - avro_schema_union_branch
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_union(avro_writer_t writer, const avro_encoding_t
      * enc,\t struct avro_union_schema_t *schema,\t struct avro_union_datum_t *unionp) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - key
    - datum
    - args
    argTypes:
    - char*
    - avro_datum_t
    - struct size_map_args*
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: size_map_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_datum
    linkageType: ''
    returnType: int
    signature: 'static int size_map_foreach(char *key, avro_datum_t datum, struct
      size_map_args *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - writer
    - enc
    - enump
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_enum_schema_t*
    - struct avro_enum_datum_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: size_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_enum(avro_writer_t writer, const avro_encoding_t
      * enc,\t struct avro_enum_schema_t *enump, struct avro_enum_datum_t *datum) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:147,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:154,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:155,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:156,1
    - Dst: size_accum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - writer
    - enc
    - schema
    - array
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - struct avro_array_schema_t*
    - struct avro_array_datum_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 163
    functionName: size_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_accum
    - size_datum
    - st_lookup
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_array(avro_writer_t writer, const avro_encoding_t
      * enc,\t struct avro_array_schema_t *schema, struct avro_array_datum_t *array) "
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:193,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:203,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:206,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:210,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:211,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:218,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:217,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:220,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:264,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:269,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:252,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:246,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:234,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:270,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:232,1
    - Dst: size_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:263,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:265,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:260,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:255,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:251,1
    - Dst: size_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:250,1
    - Dst: size_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:245,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:242,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:191,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:191,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:197,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:216,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:215,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:233,1
    - Dst: size_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:258,1
    - Dst: size_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:268,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:192,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:259,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:223,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 4
    argNames:
    - writer
    - enc
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_encoding_t*
    - avro_schema_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 277
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 277
    functionName: size_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - avro_datum_to_string
    - avro_schema_to_map
    - size_datum
    - is_avro_link
    - avro_datum_to_map
    - avro_datum_to_enum
    - avro_schema_to_array
    - avro_datum_to_float
    - is_avro_float
    - avro_schema_to_record
    - size_array
    - avro_datum_to_array
    - avro_datum_to_boolean
    - avro_datum_to_fixed
    - avro_schema_to_link
    - size_record
    - is_avro_schema
    - is_avro_double
    - avro_datum_to_double
    - avro_datum_to_int64
    - avro_datum_to_int32
    - avro_schema_to_union
    - avro_datum_to_union
    - avro_datum_to_bytes
    - avro_schema_to_enum
    - size_enum
    - avro_typeof
    - size_map
    - size_union
    linkageType: ''
    returnType: int64_t
    signature: "static int64_t size_datum(avro_writer_t writer, const avro_encoding_t
      * enc,\t\t\t avro_schema_t writers_schema, avro_datum_t datum) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:282,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:285,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:286,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:283,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:283,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:287,1
    - Dst: size_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - writer
    - writers_schema
    - datum
    argTypes:
    - avro_writer_t
    - avro_schema_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: avro_size_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_size.c
    functionUses: []
    functionsReached:
    - size_datum
    - avro_set_error
    - check_param
    - avro_schema_datum_validate
    - is_avro_datum
    - is_avro_schema
    linkageType: ''
    returnType: int64_t
    signature: "int64_t avro_size_data(avro_writer_t writer, avro_schema_t writers_schema,\t\t
      avro_datum_t datum) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - fp
    argTypes:
    - specific_ctx*
    - FILE*
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: indent
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void indent(specific_ctx * ctx, FILE * fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - schema
    - ctx
    argTypes:
    - avro_schema_t
    - specific_ctx*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: avro_schema_to_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int avro_schema_to_source(avro_schema_t schema, specific_ctx
      * ctx) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_primitive
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:62,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:85,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:89,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:130,1
    - Dst: is_avro_named_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:158,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:175,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:167,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:159,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:160,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:181,1
    - Dst: indent
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:59,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:72,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:77,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:120,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:163,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:179,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:169,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:81,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:93,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:102,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:108,1
    - Dst: indent
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:124,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:103,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:138,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:139,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:153,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:111,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:112,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:121,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:164,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:184,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:161,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 66
    argCount: 2
    argNames:
    - schema
    - ctx
    argTypes:
    - avro_schema_t
    - specific_ctx*
    constantsTouched: []
    func_position:
      end: 195
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 195
    functionName: avro_schema_to_header
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: []
    functionsReached:
    - avro_schema_to_link
    - avro_schema_name
    - avro_schema_to_header
    - avro_schema_to_enum
    - fprintf
    - avro_schema_to_fixed
    - is_avro_link
    - is_avro_primitive
    - avro_schema_to_array
    - indent
    - is_avro_named_type
    - avro_schema_to_record
    linkageType: ''
    returnType: int
    signature: 'static int avro_schema_to_header(avro_schema_t schema, specific_ctx
      * ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:207,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:208,1
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:213,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:214,1
    - Dst: fopen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:209,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:216,1
    - Dst: avro_schema_to_header
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:220,1
    - Dst: avro_schema_to_source
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:225,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:228,1
    - Dst: fclose
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - schema
    - prefix
    argTypes:
    - avro_schema_t
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 231
    functionName: avro_schema_to_specific
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/schema_specific.c
    functionUses: []
    functionsReached:
    - snprintf
    - fclose
    - avro_schema_to_header
    - memset
    - fopen
    - avro_schema_to_source
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_to_specific(avro_schema_t schema, const char *prefix) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:49,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:61,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:62,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:63,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:65,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:74,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:75,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:52,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:69,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:78,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:87,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:89,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:43,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:44,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:46,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:45,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:76,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:86,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:88,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:50,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:51,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:67,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:73,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:72,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:82,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:82,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:85,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - in_filename
    - out_filename
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 90
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - exit
    - avro_value_reset
    - avro_strerror
    - avro_schema_decref
    - avro_value_decref
    - avro_file_writer_close
    - fprintf
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    - avro_file_reader_get_writer_schema
    - avro_file_reader
    - avro_file_writer_create_with_codec
    - avro_file_reader_fp
    linkageType: ''
    returnType: void
    signature: 'static void process_file(const char *in_filename, const char *out_filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:116,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:119,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:121,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - optarg
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: parse_block_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: []
    functionsReached:
    - exit
    - fprintf
    - strtoul
    - usage
    linkageType: ''
    returnType: void
    signature: 'static void parse_block_size(const char *optarg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:133,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:159,1
    - Dst: parse_block_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:136,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:145,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:144,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:160,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:161,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 167
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 167
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: []
    functionsReached:
    - exit
    - usage
    - fprintf
    - process_file
    - getopt_long
    - parse_block_size
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avromod.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:25,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:28,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:36,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:30,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:33,1
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:39,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:40,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - out
    - addr
    - len
    argTypes:
    - FILE*
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: dump_line
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c
    functionUses: []
    functionsReached:
    - fprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: 'static void dump_line(FILE * out, const char *addr, const long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_line
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:51,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:52,1
    - Dst: fflush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - out
    - addr
    - len
    argTypes:
    - FILE*
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: dump
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/dump.c
    functionUses: []
    functionsReached:
    - dump_line
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: 'void dump(FILE * out, const char *addr, const long len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:31,1
    - Dst: raw_entry_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:32,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:32,1
    - Dst: st_init_strtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - map
    - element_size
    argTypes:
    - avro_raw_map_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 34
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 34
    functionName: avro_raw_map_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - avro_raw_array_init
    - st_init_strtable
    - raw_entry_size
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_map_init(avro_raw_map_t *map, size_t element_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_free_keys
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:52,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:55,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:53,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: avro_raw_map_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - avro_raw_map_free_keys
    - avro_raw_array_done
    - st_free_table
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_map_done(avro_raw_map_t *map) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - map
    - desired_count
    argTypes:
    - avro_raw_map_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: avro_raw_map_ensure_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - avro_raw_array_ensure_size
    linkageType: ''
    returnType: int
    signature: 'int avro_raw_map_ensure_size(avro_raw_map_t *map, size_t desired_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_free_keys
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:61,1
    - Dst: st_init_strtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:64,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:62,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: avro_raw_map_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - avro_raw_map_free_keys
    - avro_raw_array_clear
    - st_init_strtable
    - st_free_table
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_map_clear(avro_raw_map_t *map) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:41,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - map
    argTypes:
    - avro_raw_map_t*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: avro_raw_map_free_keys
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_raw_map_size
    linkageType: ''
    returnType: void
    signature: 'static void avro_raw_map_free_keys(avro_raw_map_t *map) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - map
    - key
    - index
    argTypes:
    - avro_raw_map_t*
    - char*
    - size_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 90
    functionName: avro_raw_map_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - st_lookup
    linkageType: ''
    returnType: void*
    signature: "void *avro_raw_map_get(const avro_raw_map_t *map, const char *key,\t\t
      size_t *index) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:101,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:112,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:110,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:115,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - map
    - key
    - element
    - index
    argTypes:
    - avro_raw_map_t*
    - char*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 129
    functionName: avro_raw_map_get_or_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/map.c
    functionUses: []
    functionsReached:
    - st_insert
    - avro_str_free
    - avro_strdup
    - st_lookup
    - avro_raw_array_append
    linkageType: ''
    returnType: int
    signature: "int avro_raw_map_get_or_create(avro_raw_map_t *map, const char *key,\t\t\t
      void **element, size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:298,1
    - Dst: avro_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:300,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: avro_resolver_boolean_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - avro_boolean_set
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_boolean_value(avro_consumer_t *consumer,
      int value,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:384,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:386,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:385,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - float
    - void*
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: avro_resolver_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_float_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_float_value(avro_consumer_t *consumer, float
      value,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:520,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:521,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: avro_resolver_long_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_double_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_long_double_value(avro_consumer_t *consumer,
      int64_t value,\t\t\t\tvoid *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:580,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:583,1
    - Dst: avro_givestring_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:585,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 586
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 586
    functionName: avro_resolver_string_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_givestring_set
    - debug
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_string_value(avro_consumer_t *consumer,\t\t\t
      const void *value, size_t value_len,\t\t\t void *user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1116,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1121,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 5
    argNames:
    - consumer
    - discriminant
    - branch_consumer
    - branch_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1132
    functionName: avro_resolver_union_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_set_error
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_union_branch(avro_consumer_t *consumer,\t\t\t
      unsigned int discriminant,\t\t\t avro_consumer_t **branch_consumer,\t\t\t void
      **branch_user_data,\t\t\t void *user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1157,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1158,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1161,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1164,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1160,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1170,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1172,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1173,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1184,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1186,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1203,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1222,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1226,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1189,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1200,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1217,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1218,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - mem
    - wschema
    - rschema
    argTypes:
    - avro_memoize_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1228
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1228
    functionName: try_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_resolver_create
    - debug
    - avro_set_error
    - avro_resolver_new_memoized
    - avro_memoize_set
    - avro_consumer_free
    - avro_free
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_schema_union_branch
    - avro_calloc
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_consumer_t*
    signature: 'static avro_consumer_t *try_union(avro_memoize_t *mem, avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:395,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:396,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:397,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - float
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: avro_resolver_float_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_double_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_float_double_value(avro_consumer_t *consumer,
      float value,\t\t\t\t void *user_data) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:530,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:536,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:531,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:535,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:532,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:537,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:540,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:541,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 546
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 546
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_resolver_create
    - is_avro_int64
    - is_avro_double
    - avro_memoize_set
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: "static int try_long(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:593,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:595,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 599
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 599
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - is_avro_string
    - avro_memoize_set
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_string(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:717,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:721,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:723,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:724,1
    - Dst: avro_enum_set_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 726
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 726
    functionName: avro_resolver_enum_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_schema_enum_get
    - debug
    - avro_enum_set_name
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_enum_value(avro_consumer_t *consumer, int
      value,\t\t\t void *user_data) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:973,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:998,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1033,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1092,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:975,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1001,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1002,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1004,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1032,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1081,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1007,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1015,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1046,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1013,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1008,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1049,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1057,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1087,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:968,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:972,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:999,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1017,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1023,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1044,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1080,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1093,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1095
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1095
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - avro_schema_name
    - avro_prefix_error
    - avro_resolver_create
    - debug
    - avro_memoize_delete
    - avro_set_error
    - strcmp
    - avro_schema_record_size
    - avro_memoize_set
    - is_avro_record
    - avro_consumer_free
    - avro_schema_record_field_get_by_index
    - avro_resolver_new_memoized
    - avro_schema_record_field_name
    - avro_free
    - avro_calloc
    linkageType: ''
    returnType: int
    signature: "static int try_record(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:85,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:94,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:96,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:97,1
    - Dst: avro_resolver_free_cycles
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:103,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:106,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:110,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - consumer
    - freeing
    argTypes:
    - avro_consumer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 114
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 114
    functionName: avro_resolver_free_cycles
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - st_insert
    - avro_schema_decref
    - avro_freet
    - st_lookup
    - avro_free
    - avro_resolver_free_cycles
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolver_free_cycles(avro_consumer_t *consumer, st_table
      *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:135,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:136,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:139,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: avro_resolver_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolver_t*
    signature: "static avro_resolver_t *avro_resolver_create(avro_schema_t wschema,\t\t
      avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:763,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:764,1
    - Dst: avro_givefixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 766
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 766
    functionName: avro_resolver_fixed_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - avro_givefixed_set
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_fixed_value(avro_consumer_t *consumer,\t\t\t
      const void *value, size_t value_len,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:120,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:122,1
    - Dst: avro_resolver_free_cycles
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - avro_consumer_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: avro_resolver_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_resolver_free_cycles
    - st_init_numtable
    - st_free_table
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolver_free(avro_consumer_t *consumer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:158,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:163,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - resolver
    - dest
    argTypes:
    - avro_resolver_t*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 166
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 166
    functionName: avro_resolver_get_real_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_union_set_discriminant
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_datum_t
    signature: 'static avro_datum_t avro_resolver_get_real_dest(avro_resolver_t *resolver,
      avro_datum_t dest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:738,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:740,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:739,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:743,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:742,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 749
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 749
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_name
    - avro_resolver_create
    - strcmp
    - avro_memoize_set
    linkageType: ''
    returnType: int
    signature: "static int try_enum(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1239,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1240,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1253,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1273,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1289,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1297,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1313,1
    - Dst: try_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1317,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1252,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1254,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1277,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1293,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1265,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1301,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1320,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1240,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1242,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1239,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1262,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1281,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1305,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1243,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1251,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1285,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1269,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1309,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 29
    argCount: 3
    argNames:
    - mem
    - wschema
    - rschema
    argTypes:
    - avro_memoize_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1325
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1325
    functionName: avro_resolver_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - skip_links
    - check_simple_writer
    - debug
    - avro_set_error
    - check_param
    - avro_typeof
    - avro_memoize_get
    - try_union
    - is_avro_schema
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_consumer_t*
    signature: "static avro_consumer_t *avro_resolver_new_memoized(avro_memoize_t
      *mem,\t\t\t avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:359,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:360,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - double
    - void*
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: avro_resolver_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_double_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_double_value(avro_consumer_t *consumer, double
      value,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:458,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:460,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:459,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: avro_resolver_int_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_float_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_int_float_value(avro_consumer_t *consumer,
      int32_t value,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:498,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:500,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: avro_resolver_long_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - avro_int64_set
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_long_value(avro_consumer_t *consumer, int64_t
      value,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:554,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:556,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - consumer
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: avro_resolver_null_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolver_null_value(avro_consumer_t *consumer, void
      *user_data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:615,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:618,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:616,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:621,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - consumer
    - is_first_block
    - block_count
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 623
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 623
    functionName: avro_resolver_array_start_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_array_start_block(avro_consumer_t *consumer,\t\t\t\tint
      is_first_block,\t\t\t\tunsigned int block_count,\t\t\t\tvoid *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:904,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:907,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - consumer
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 915
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 915
    functionName: avro_resolver_record_start
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_record_start(avro_consumer_t *consumer,\t\t\t
      void *user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:369,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:371,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_memoize_set
    - avro_resolver_create
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "static int try_double(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:468,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:473,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:470,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:474,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:469,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:475,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:478,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:479,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:480,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:483,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:485,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 489
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 489
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_resolver_create
    - is_avro_int64
    - is_avro_double
    - avro_memoize_set
    - is_avro_int32
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: "static int try_int(avro_memoize_t *mem, avro_resolver_t **resolver,\tavro_schema_t
      wschema, avro_schema_t rschema,\tavro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:509,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:511,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 512
    functionName: avro_resolver_long_float_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_float_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_long_float_value(avro_consumer_t *consumer,
      int64_t value,\t\t\t void *user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:566,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:568,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 572
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 572
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_memoize_set
    - is_avro_null
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_null(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:632,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:643,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:636,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:644,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:637,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:645,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:646,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - consumer
    - index
    - element_consumer
    - element_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 657
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 657
    functionName: avro_resolver_array_element
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - avro_datum_decref
    - debug
    - avro_datum_from_schema
    - avro_array_append_datum
    - avro_schema_array_items
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_array_element(avro_consumer_t *consumer,\t\t\t
      unsigned int index,\t\t\t avro_consumer_t **element_consumer,\t\t\t void **element_user_data,\t\t\t
      void *user_data) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:926,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:951,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:937,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:941,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - consumer
    - index
    - field_consumer
    - field_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - avro_consumer_t**
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 956
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 956
    functionName: avro_resolver_record_field
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_schema_record_field_name
    - avro_record_get
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_record_field(avro_consumer_t *consumer,\t\t\t
      unsigned int index,\t\t\t avro_consumer_t **field_consumer,\t\t\t void **field_user_data,\t\t\t
      void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1332,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1334,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1337
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1337
    functionName: avro_resolver_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_memoize_init
    - avro_memoize_done
    - avro_resolver_new_memoized
    linkageType: ''
    returnType: avro_consumer_t*
    signature: 'avro_consumer_t *avro_resolver_new(avro_schema_t wschema, avro_schema_t
      rschema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:308,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:309,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - is_avro_boolean
    - avro_memoize_set
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_boolean(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:334,1
    - Dst: avro_givebytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:336,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - consumer
    - value
    - value_len
    - user_data
    argTypes:
    - avro_consumer_t*
    - void*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: avro_resolver_bytes_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_givebytes_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_bytes_value(avro_consumer_t *consumer,\t\t\t
      const void *value, size_t value_len,\t\t\t void *user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:405,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:407,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:411,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:406,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:410,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 416
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 416
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - is_avro_double
    - avro_memoize_set
    - is_avro_float
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_float(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:436,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:437,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 439
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 439
    functionName: avro_resolver_int_long_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - avro_int64_set
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_int_long_value(avro_consumer_t *consumer,
      int32_t value,\t\t\t void *user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:668,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:679,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:682,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:678,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:681,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:685,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:687,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:688,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:689,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 706
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 706
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_prefix_error
    - is_avro_array
    - avro_resolver_create
    - avro_calloc
    - avro_memoize_set
    - avro_schema_array_items
    - avro_consumer_free
    - avro_memoize_delete
    - avro_resolver_new_memoized
    linkageType: ''
    returnType: int
    signature: "static int try_array(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:799,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:802,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:800,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - consumer
    - is_first_block
    - block_count
    - user_data
    argTypes:
    - avro_consumer_t*
    - int
    - unsigned int
    - void*
    constantsTouched: []
    func_position:
      end: 807
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 807
    functionName: avro_resolver_map_start_block
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_map_start_block(avro_consumer_t *consumer,\t\t\t
      int is_first_block,\t\t\t unsigned int block_count,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:817,1
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:821,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:828,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:822,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:829,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:830,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:831,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:832,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 6
    argNames:
    - consumer
    - index
    - key
    - value_consumer
    - value_user_data
    - user_data
    argTypes:
    - avro_consumer_t*
    - unsigned int
    - char*
    - avro_consumer_t**
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 842
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 842
    functionName: avro_resolver_map_element
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - avro_map_set
    - avro_datum_decref
    - debug
    - avro_schema_map_values
    - avro_datum_from_schema
    - avro_resolver_get_real_dest
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_map_element(avro_consumer_t *consumer,\t\t\t
      unsigned int index,\t\t\t const char *key,\t\t\t avro_consumer_t **value_consumer,\t\t\t
      void **value_user_data,\t\t\t void *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: free_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void free_bytes(void *ptr, size_t sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:344,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:345,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 350
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 350
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_memoize_set
    - is_avro_bytes
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_bytes(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:425,1
    - Dst: avro_int32_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:427,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: avro_resolver_int_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_resolver_get_real_dest
    - avro_int32_set
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_int_value(avro_consumer_t *consumer, int32_t
      value,\t\t\tvoid *user_data) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_resolver_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:447,1
    - Dst: debug
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:448,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - consumer
    - value
    - user_data
    argTypes:
    - avro_consumer_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: avro_resolver_int_double_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - debug
    - avro_double_set
    - avro_resolver_get_real_dest
    linkageType: ''
    returnType: int
    signature: "static int avro_resolver_int_double_value(avro_consumer_t *consumer,
      int32_t value,\t\t\t void *user_data) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:853,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:867,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:863,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:866,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:864,1
    - Dst: avro_resolver_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:870,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:872,1
    - Dst: avro_consumer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:873,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:874,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 891
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 891
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - avro_prefix_error
    - avro_resolver_create
    - avro_calloc
    - avro_schema_map_values
    - avro_memoize_set
    - avro_consumer_free
    - avro_memoize_delete
    - avro_resolver_new_memoized
    linkageType: ''
    returnType: int
    signature: "static int try_map(avro_memoize_t *mem, avro_resolver_t **resolver,\tavro_schema_t
      wschema, avro_schema_t rschema,\tavro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:777,1
    - Dst: avro_resolver_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:778,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c:779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - resolver
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - avro_memoize_t*
    - avro_resolver_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 783
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 783
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolver.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - avro_memoize_set
    - avro_resolver_create
    linkageType: ''
    returnType: int
    signature: "static int try_fixed(avro_memoize_t *mem, avro_resolver_t **resolver,\t
      avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:444,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:448,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:449,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 452
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 452
    functionName: avro_resolved_link_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_free
    - container_of
    - DEBUG
    - avro_resolved_reader_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_link_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:467,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:471,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 472
    functionName: avro_resolved_link_reader_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_resolved_link_reader_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1791,1
    - Dst: avro_resolved_map_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1797
    functionName: avro_resolved_map_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_map_reader_free_elements
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_map_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2466,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2472,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2478
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2478
    functionName: avro_resolved_wunion_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_branch
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_wunion_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2707,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2708,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2709
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2709
    functionName: avro_resolved_wunion_reader_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_int
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_int(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:458,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: avro_resolved_link_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:477,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: avro_resolved_link_reader_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_resolved_link_reader_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1730,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1735,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1740,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1736,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 1741
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1741
    functionName: avro_resolved_map_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1803,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1806
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1806
    functionName: avro_resolved_map_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_map_reader_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2486,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2491,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2492,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2488,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2491,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2495,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2501,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2504,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2505,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2507,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2512,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2518,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2510,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2517,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2509,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2510,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - viface
    - vself
    - real_src
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 2519
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2519
    functionName: avro_resolved_wunion_get_real_src
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_done
    - avro_resolved_reader_init
    - avro_value_get_current_branch
    - avro_set_error
    - check
    - avro_value_get_discriminant
    - avro_resolved_wunion_branch
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_get_real_src(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, avro_value_t *real_src) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2717,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2718,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2719
      start: 2711
    functionDepth: 0
    functionLinenumber: 2711
    functionLinenumberEnd: 2719
    functionName: avro_resolved_wunion_reader_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_set_long
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_long(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int64_t val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3343,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3362,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3365,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3351,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3353,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3376
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3376
    functionName: avro_resolved_reader_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_calculate_size
    - avro_memoize_init
    - avro_memoize_done
    - avro_resolved_reader_new_memoized
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_resolved_reader_new(avro_schema_t wschema,
      avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:685,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:689,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 690
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 690
    functionName: avro_resolved_link_reader_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_int(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1815,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1825,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1817,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1824,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1824,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1830,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1832,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1833,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 1834
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1834
    functionName: avro_resolved_map_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_size
    - check
    - DEBUG
    - avro_raw_array_ensure_size0
    - avro_raw_array_get_raw
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_map_reader_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t index,\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2829,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2829,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 2831
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2831
    functionName: avro_resolved_wunion_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_discriminant
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_discriminant(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:696,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 701
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 701
    functionName: avro_resolved_link_reader_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_long(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int64_t val) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1843,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1859,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1858,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1859,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1845,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1866,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1866,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1867,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1868,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1872,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1880
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1880
    functionName: avro_resolved_map_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_size
    - avro_value_get_by_name
    - check
    - DEBUG
    - avro_raw_array_ensure_size0
    - avro_raw_array_get_raw
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_map_reader_get_by_name(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, const char *name,\t\t\t\t avro_value_t *child,
      size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2839,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2839,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 2841
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2841
    functionName: avro_resolved_wunion_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_current_branch
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_current_branch(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2547,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2548,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2549
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2549
    functionName: avro_resolved_wunion_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_grab_bytes
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_grab_bytes(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:208,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: avro_resolved_reader_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_resolved_reader_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2567,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2567,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 2569
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2569
    functionName: avro_resolved_wunion_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_float
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_float(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2587,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2587,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2588,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2589
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2589
    functionName: avro_resolved_wunion_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_long
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_long(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int64_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2627,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2628,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 2629
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2629
    functionName: avro_resolved_wunion_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_enum
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_enum(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3269,1
    - Dst: try_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3281,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3326,1
    - Dst: try_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3293,1
    - Dst: try_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3314,1
    - Dst: try_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3305,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3232,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3233,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3242,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3244,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3257,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3253,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3247,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3265,1
    - Dst: try_wlink
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3270,1
    - Dst: try_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3287,1
    - Dst: try_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3311,1
    - Dst: try_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3290,1
    - Dst: try_rlink
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3323,1
    - Dst: try_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3302,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3243,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3252,1
    - Dst: try_writer_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3266,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3278,1
    - Dst: try_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3308,1
    - Dst: try_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3299,1
    - Dst: try_reader_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3320,1
    - Dst: try_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3284,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3232,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3233,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3241,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3245,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3246,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3254,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3248,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3256,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3255,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3251,1
    - Dst: try_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3317,1
    - Dst: try_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3296,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3331
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3331
    functionName: avro_resolved_reader_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - try_double
    - is_avro_link
    - DEBUG
    - avro_memoize_get
    - avro_schema_type_name
    - try_string
    - try_boolean
    - try_record
    - try_float
    - check_param
    - try_reader_union
    - try_enum
    - try_wlink
    - try_writer_union
    - is_avro_schema
    - avro_set_error
    - is_avro_union
    - try_null
    - try_rlink
    - try_long
    - try_map
    - try_array
    - try_fixed
    - avro_typeof
    - try_bytes
    - try_int
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *avro_resolved_reader_new_memoized(memoize_state_t
      *state,\t\t\t\t avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:217,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:224,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:225,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:223,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:218,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: free_resolver
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    - st_insert
    - st_lookup
    linkageType: ''
    returnType: void
    signature: 'static void free_resolver(avro_resolved_reader_t *iface, st_table
      *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2577,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2577,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2579
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2579
    functionName: avro_resolved_wunion_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_int
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_int(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int32_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2597,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2597,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2599
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2599
    functionName: avro_resolved_wunion_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_null
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_null(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2637,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2638,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2639
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2639
    functionName: avro_resolved_wunion_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_fixed
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_fixed(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3170,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3171,1
    - Dst: avro_resolved_runion_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3174,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3175,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3180,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3182,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3183,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3193,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3195,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3197,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3210,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3218,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3219,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3207,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3221
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3221
    functionName: try_reader_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_resolved_runion_reader_create
    - avro_set_error
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_schema_union_branch
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_reader_union(memoize_state_t *state,\t\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3101,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3103
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3103
    functionName: avro_resolved_runion_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_runion_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:256,1
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:259,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:257,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:258,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:260,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: avro_resolved_reader_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - free_resolver
    - DEBUG
    - avro_refcount_dec
    - st_init_numtable
    - st_free_table
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1509,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1512
    functionName: avro_resolved_array_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_array_reader_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2158,1
    - Dst: avro_resolved_record_reader_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2170,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2166,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2162,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2160,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2171
    functionName: avro_resolved_record_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - container_of
    - avro_resolved_record_reader_get_by_index
    - avro_set_error
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_reader_get_by_name(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, const char *name,\t\t\t\t\tavro_value_t
      *child, size_t *index) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2384,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2389,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2390,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2397,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2391,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2399,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2403,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2410,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2380
    functionDepth: 0
    functionLinenumber: 2380
    functionLinenumberEnd: 2414
    functionName: avro_resolved_wunion_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_wunion_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2747,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2748,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2747,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2749
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2749
    functionName: avro_resolved_wunion_reader_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_set_string_len
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_string_len(const avro_value_iface_t
      *viface,\t\t\t\t\t void *vself, const char *str, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2808,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2809,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2810
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2810
    functionName: avro_resolved_wunion_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, size_t index,\t\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2557,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2558,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2559
    functionName: avro_resolved_wunion_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_double
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_double(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, double *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:275,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:278,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:277,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 279
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 279
    functionName: avro_resolved_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_reset
    - avro_resolved_reader_reset_wrappers
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_reader_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1523,1
    - Dst: avro_raw_array_ensure_size0
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1533,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1534,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1525,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1533,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1538,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1538,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1540,1
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1542,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1546,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1548,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 1550
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1550
    functionName: avro_resolved_array_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_init
    - avro_raw_array_size
    - check
    - DEBUG
    - avro_raw_array_ensure_size0
    - avro_raw_array_get_raw
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_array_reader_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, size_t index,\t\t\t\t\tavro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2176,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2198,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2191,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2177,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2199
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2199
    functionName: avro_resolved_record_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_record_reader_t*
    signature: 'static avro_resolved_record_reader_t *avro_resolved_record_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2421,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2427,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2430,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2435,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2434,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2436,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 2437
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2437
    functionName: avro_resolved_wunion_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - free_resolver
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_wunion_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2757,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2758,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2757,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2759
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2759
    functionName: avro_resolved_wunion_reader_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_give_string_len
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_give_string_len(const avro_value_iface_t
      *viface,\t\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2819,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2820,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2819,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2821
    functionName: avro_resolved_wunion_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_by_name
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_by_name(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, const char *name,\t\t\t\t\tavro_value_t
      *child, size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:284,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:286,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: avro_resolved_reader_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_typeof
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_resolved_reader_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:575,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 580
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 580
    functionName: avro_resolved_link_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_string(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1631,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1633,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 1635
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1635
    functionName: avro_resolved_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_enum
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_enum(const avro_value_iface_t
      *viface,\t\t\t const void *vself, int *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1771,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1772,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_reader_t*
    - avro_resolved_map_value_t*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1775
    functionName: avro_resolved_map_reader_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_done
    - avro_raw_array_size
    - avro_raw_array_get_raw
    linkageType: ''
    returnType: void
    signature: "static void avro_resolved_map_reader_free_elements(const avro_resolved_reader_t
      *child_iface,\t\t\t\t avro_resolved_map_value_t *self) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3109,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3114,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3113,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 3117
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3117
    functionName: avro_resolved_runion_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_runion_reader_get_discriminant(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:293,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: avro_resolved_reader_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_resolved_reader_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:586,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: avro_resolved_link_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_grab_string(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1646,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1647,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1650,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1648,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1652,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1653,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1658,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1659,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1660,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1662
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1662
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_name
    - avro_set_error
    - strcmp
    - avro_resolved_reader_create
    - avro_memoize_set
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_enum(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1781,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1784,1
    - Dst: avro_resolved_map_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1783,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1785
    functionName: avro_resolved_map_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_map_reader_free_elements
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:818,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 823
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 823
    functionName: avro_resolved_link_reader_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_discriminant(const avro_value_iface_t
      *iface,\t\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3124,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3127,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 3131
      start: 3119
    functionDepth: 0
    functionLinenumber: 3119
    functionLinenumberEnd: 3131
    functionName: avro_resolved_runion_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_runion_reader_get_current_branch(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:829,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:833,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 834
    functionName: avro_resolved_link_reader_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_current_branch(const avro_value_iface_t
      *iface,\t\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3136,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3157,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3151,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3137,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3158
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3158
    functionName: avro_resolved_runion_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_runion_reader_t*
    signature: 'static avro_resolved_runion_reader_t *avro_resolved_runion_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1298,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1301,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1302
    functionName: avro_resolved_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_long(const avro_value_iface_t
      *viface,\t\t\t const void *vself, int64_t *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1747,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1750,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1748,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1751,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1752
    functionName: avro_resolved_map_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2767,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2768,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2769
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2769
    functionName: avro_resolved_wunion_reader_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_enum
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_enum(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2850,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2850,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2852
      start: 2843
    functionDepth: 0
    functionLinenumber: 2843
    functionLinenumberEnd: 2852
    functionName: avro_resolved_wunion_reader_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_append
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_append(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, avro_value_t *child_out,\t\t\t\t size_t *new_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1310,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1312,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1313,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: avro_resolved_reader_get_long_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_int
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_long_int(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int64_t *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1758,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1761,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1764
    functionName: avro_resolved_map_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_raw_array_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_map_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2777,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2777,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2779
      start: 2771
    functionDepth: 0
    functionLinenumber: 2771
    functionLinenumberEnd: 2779
    functionName: avro_resolved_wunion_reader_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_fixed
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_fixed(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2861,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2861,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2863
    functionName: avro_resolved_wunion_reader_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_add
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_add(const avro_value_iface_t
      *viface,\t\t\t\tvoid *vself, const char *key,\t\t\t\tavro_value_t *child, size_t
      *index, int *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2872,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2872,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 2874
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2874
    functionName: avro_resolved_wunion_reader_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_branch
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_branch(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int discriminant,\t\t\t\t avro_value_t *branch) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:115,1
    - Dst: avro_value_copy_ref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - resolved
    - dest
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 118
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 118
    functionName: avro_resolved_reader_set_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_copy_ref
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_reader_set_source(avro_value_t *resolved,\t\t\t\tavro_value_t
      *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:750,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: avro_resolved_link_reader_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_enum(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:795,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: avro_resolved_link_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_by_index(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, size_t index,\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1352,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1355,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1356
    functionName: avro_resolved_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_null(const avro_value_iface_t
      *viface,\t\t\t const void *vself) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2075,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2082,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2087
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2087
    functionName: avro_resolved_record_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_reader_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2727,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2727,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2729
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2729
    functionName: avro_resolved_wunion_reader_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_set_null
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_null(const avro_value_iface_t
      *viface,\t\t\t\t void *vself) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3085,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3087
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3087
    functionName: avro_resolved_runion_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_runion_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - resolved
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: avro_resolved_reader_clear_source
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: 'void avro_resolved_reader_clear_source(avro_value_t *resolved) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:761,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:765,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 766
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 766
    functionName: avro_resolved_link_reader_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_fixed(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:807,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 812
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 812
    functionName: avro_resolved_link_reader_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_by_name(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const char *name,\t\t\t\t avro_value_t *child,
      size_t *index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2094,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2103,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2101,1
    - Dst: avro_resolved_reader_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2108
    functionName: avro_resolved_record_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_reader_reset_wrappers
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_record_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2737,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2737,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 2739
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2739
    functionName: avro_resolved_wunion_reader_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_string
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_string(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3093,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 3095
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3095
    functionName: avro_resolved_runion_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_runion_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1322,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1324,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1330,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1332,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1325,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1333,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1338,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1341
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1341
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - is_avro_int32
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_long(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:488,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: avro_resolved_link_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_boolean(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1105,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1107,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1108,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1111
    functionName: avro_resolved_reader_get_double_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_float
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_double_float(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, double *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1435,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1440,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1441,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1442,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1446
    functionName: avro_resolved_array_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2527,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2528,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2521
    functionDepth: 0
    functionLinenumber: 2521
    functionLinenumberEnd: 2529
    functionName: avro_resolved_wunion_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_boolean
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_boolean(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2667,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2667,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2669
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2669
    functionName: avro_resolved_wunion_reader_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_bytes
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_bytes(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:499,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 504
    functionName: avro_resolved_link_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_bytes(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1119,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1122,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1122,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1125
    functionName: avro_resolved_reader_get_double_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_int
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_double_int(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, double *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1452,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1453,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1455,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1454,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1457
    functionName: avro_resolved_array_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2537,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2538,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2539
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2539
    functionName: avro_resolved_wunion_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_get_bytes
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_bytes(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2677,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2678,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2679
    functionName: avro_resolved_wunion_reader_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_give_bytes
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_give_bytes(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1093,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1096,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1097
    functionName: avro_resolved_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_double
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_double(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, double *val) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2951,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2956,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2959,1
    - Dst: avro_resolved_wunion_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2955,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2952,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2965,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2967,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2968,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2978,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2980,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2982,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2992,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2995,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3008,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3015,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2993,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3020,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3009,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 3022
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 3022
    functionName: try_writer_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_free
    - avro_set_error
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_resolved_wunion_reader_create
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_schema_union_branch
    - avro_calloc
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_writer_union(memoize_state_t *state,\t\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1071,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1080,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1074,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1073,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1082
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1082
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_bytes
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_bytes(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1463,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1467,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1469
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1469
    functionName: avro_resolved_array_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_raw_array_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_array_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1555,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1556,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1576,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1569,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1577
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1577
    functionName: avro_resolved_array_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_array_reader_t*
    signature: 'static avro_resolved_array_reader_t *avro_resolved_array_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1673,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1675,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1676,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1677
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1677
    functionName: avro_resolved_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_fixed(const avro_value_iface_t
      *viface,\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2446
      start: 2439
    functionDepth: 0
    functionLinenumber: 2439
    functionLinenumberEnd: 2446
    functionName: avro_resolved_wunion_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_wunion_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2647,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2648,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2649
      start: 2641
    functionDepth: 0
    functionLinenumber: 2641
    functionLinenumberEnd: 2649
    functionName: avro_resolved_wunion_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_grab_fixed
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_grab_fixed(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3052,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3061,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3058,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3059,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3063
    functionName: avro_resolved_runion_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_runion_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1476,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1478,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_reader_t*
    - avro_resolved_array_value_t*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1480
    functionName: avro_resolved_array_reader_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_done
    - avro_raw_array_size
    - avro_raw_array_get_raw
    linkageType: ''
    returnType: void
    signature: "static void avro_resolved_array_reader_free_elements(const avro_resolved_reader_t
      *child_iface,\t\t\t\t\t avro_resolved_array_value_t *self) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1587,1
    - Dst: avro_resolved_array_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1598,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1599,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1602,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1601,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1605,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1607,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1608,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1620
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1620
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_prefix_error
    - is_avro_array
    - avro_resolved_array_reader_create
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_schema_array_items
    - avro_memoize_delete
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_array(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1683,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1685,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1686,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1687
    functionName: avro_resolved_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_grab_fixed(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2452,1
    - Dst: avro_resolved_wunion_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2457,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2448
    functionDepth: 0
    functionLinenumber: 2448
    functionLinenumberEnd: 2460
    functionName: avro_resolved_wunion_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_branch
    - container_of
    - avro_resolved_reader_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_wunion_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2657,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2657,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 2659
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2659
    functionName: avro_resolved_wunion_reader_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_boolean
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_boolean(const avro_value_iface_t
      *viface,\t\t\t\t\tvoid *vself, int val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3070,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3073,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3078,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3076,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:3077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 3079
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3079
    functionName: avro_resolved_runion_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_runion_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1051,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1054,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1053,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1055
    functionName: avro_resolved_reader_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_bytes(const avro_value_iface_t
      *viface,\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1885,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1886,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1907,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1901,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1908
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1908
    functionName: avro_resolved_map_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_map_reader_t*
    signature: 'static avro_resolved_map_reader_t *avro_resolved_map_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2607,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2607,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2608,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 2609
      start: 2601
    functionDepth: 0
    functionLinenumber: 2601
    functionLinenumberEnd: 2609
    functionName: avro_resolved_wunion_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_string
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_string(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1061,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1063,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1064,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: avro_resolved_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_grab_bytes
    - DEBUG
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_grab_bytes(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1918,1
    - Dst: avro_resolved_map_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1929,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1932,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1930,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1933,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1936,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1938,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1939,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1951
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1951
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - avro_resolved_reader_new_memoized
    - avro_prefix_error
    - avro_schema_map_values
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_map_reader_create
    - avro_memoize_delete
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_map(memoize_state_t *state,\tavro_schema_t
      wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2617,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2617,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2619
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2619
    functionName: avro_resolved_wunion_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_grab_string
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_grab_string(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2210,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2214,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2249,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2250,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2287,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2260,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2266,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2335,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2244,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2246,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2289,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2336,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2217,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2258,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2275,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2256,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2292,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2329,1
    - Dst: avro_resolved_record_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2241,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2215,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2242,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2251,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2276,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2300,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2322,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2323,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2334,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2338
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2338
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - avro_resolved_reader_new_memoized
    - avro_schema_name
    - avro_prefix_error
    - avro_set_error
    - strcmp
    - avro_value_iface_decref
    - avro_schema_record_size
    - DEBUG
    - avro_memoize_set
    - avro_resolved_record_reader_create
    - is_avro_record
    - avro_schema_record_field_get_by_index
    - avro_memoize_delete
    - avro_schema_record_field_name
    - avro_free
    - avro_calloc
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_record(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1267,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1269,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1271
    functionName: avro_resolved_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_int(const avro_value_iface_t *viface,\t\t\t
      const void *vself, int32_t *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: avro_resolved_reader_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_incref(avro_value_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:405,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:411,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:407,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:410,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: avro_resolved_link_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_link_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:663,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 668
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 668
    functionName: avro_resolved_link_reader_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_double(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1020,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1022,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1024
    functionName: avro_resolved_reader_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_boolean(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, int *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2787,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2787,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2788,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 2789
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2789
    functionName: avro_resolved_wunion_reader_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_give_fixed
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_give_fixed(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1030,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1038,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1032,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1037,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1040
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1040
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_boolean
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_boolean(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1277,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1279,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1284,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1285,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1287
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1287
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - is_avro_int32
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_int(memoize_state_t *state,\tavro_schema_t
      wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:198,1
    - Dst: avro_resolved_reader_free_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: avro_resolved_reader_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_refcount_dec
    - avro_resolved_reader_free_value
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_decref(avro_value_t *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:419,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:433,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:428,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:424,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 438
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 438
    functionName: avro_resolved_link_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_init
    - DEBUG
    - avro_free
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:674,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:678,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: avro_resolved_link_reader_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_float(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, float val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2797,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2798,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2799
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2799
    functionName: avro_resolved_wunion_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:383,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:385,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: avro_resolved_wlink_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_wlink_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:532,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 537
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 537
    functionName: avro_resolved_link_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_float(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:554,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 559
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 559
    functionName: avro_resolved_link_reader_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_long(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int64_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:597,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 602
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 602
    functionName: avro_resolved_link_reader_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_enum(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:841,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: avro_resolved_link_reader_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_append(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_value_t *child_out,\t\t\t\t size_t *new_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:865,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 870
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 870
    functionName: avro_resolved_link_reader_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_branch(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int discriminant,\t\t\t\t avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1383,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1385,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1387
    functionName: avro_resolved_reader_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_string(const avro_value_iface_t
      *viface,\t\t\t\tconst void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2687,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2687,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 2689
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2689
    functionName: avro_resolved_wunion_reader_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_double
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_double(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:395,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:397,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: avro_resolved_rlink_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_rlink_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:543,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: avro_resolved_link_reader_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_int(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int32_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:564,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 569
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 569
    functionName: avro_resolved_link_reader_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_reader_get_null(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:608,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: avro_resolved_link_reader_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_fixed(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:853,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:857,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 858
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 858
    functionName: avro_resolved_link_reader_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_add(const avro_value_iface_t
      *iface,\t\t\t void *vself, const char *key,\t\t\t avro_value_t *child, size_t
      *index, int *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:875,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:890,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:876,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:891,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 58
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 937
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 937
    functionName: avro_resolved_link_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_link_reader_t*
    signature: 'static avro_resolved_link_reader_t *avro_resolved_link_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2697,1
    - Dst: avro_resolved_wunion_get_real_src
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2697,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 2699
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2699
    functionName: avro_resolved_wunion_reader_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_wunion_get_real_src
    - avro_value_set_float
    - check
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_wunion_reader_set_float(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, float val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2879,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2931,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2930,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2880,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2937,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 56
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2938
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2938
    functionName: avro_resolved_wunion_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_wunion_reader_t*
    signature: 'static avro_resolved_wunion_reader_t *avro_resolved_wunion_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1362,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1365,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1370,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1369,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1372
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1372
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - is_avro_null
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_null(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:137,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:151,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:145,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:149,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:138,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - viface
    - value
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: avro_resolved_reader_new_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_reader_init
    - avro_value_iface_incref
    - memset
    - avro_free
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_reader_new_value(avro_value_iface_t *viface,\t\t\t
      avro_value_t *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:641,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 646
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 646
    functionName: avro_resolved_link_reader_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_bytes(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1191,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1193,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1195
    functionName: avro_resolved_reader_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_float(const avro_value_iface_t
      *viface,\t\t\t const void *vself, float *val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1697,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1706,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1700,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1705,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1699,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1707,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1709
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1709
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - avro_schema_equal
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_fixed(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:167,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:176,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:172,1
    - Dst: avro_resolved_reader_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 177
    functionName: avro_resolved_reader_free_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_free
    - container_of
    - avro_resolved_reader_done
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_free_value(const avro_value_iface_t
      *viface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:652,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: avro_resolved_link_reader_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_give_bytes(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1203,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1205,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1206,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1209
    functionName: avro_resolved_reader_get_float_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_get_int
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_float_int(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, float *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:237,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:239,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: avro_resolved_reader_calculate_size_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_calculate_size_(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:510,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: avro_resolved_link_reader_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_grab_bytes(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:619,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 624
    functionName: avro_resolved_link_reader_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_grab_fixed(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:706,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: avro_resolved_link_reader_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_reader_set_null(const avro_value_iface_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:728,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 733
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 733
    functionName: avro_resolved_link_reader_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_string_len(const avro_value_iface_t
      *iface,\t\t\t\t\t void *vself, const char *str, size_t size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:943,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:952,1
    - Dst: avro_resolved_link_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:954,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:955,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:958,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:960,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:961,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:962,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:963,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:963,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 973
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 973
    functionName: try_wlink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_strerror
    - avro_prefix_error
    - avro_schema_link_target
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_memoize_delete
    - avro_resolved_link_reader_create
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_wlink(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1217,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1220,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1219,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1223
    functionName: avro_resolved_reader_get_float_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - DEBUG
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_float_long(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, float *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2114,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2116,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2121
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2121
    functionName: avro_resolved_record_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_reader_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1229,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1232,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1239,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1231,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1237,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1240,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1245,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1247,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1248,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1253,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1256
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1256
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - is_avro_int32
    - is_avro_float
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_float(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:246,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:247,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:248,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: avro_resolved_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_freet
    - avro_schema_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:521,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: avro_resolved_link_reader_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_double(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, double *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:630,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 635
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 635
    functionName: avro_resolved_link_reader_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_boolean(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:717,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 722
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 722
    functionName: avro_resolved_link_reader_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_set_string(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:739,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 744
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 744
    functionName: avro_resolved_link_reader_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_give_string_len(const avro_value_iface_t
      *iface,\t\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:979,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:991,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:988,1
    - Dst: avro_resolved_link_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:990,1
    - Dst: avro_resolved_reader_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:994,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:996,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:997,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:998,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:999,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1009
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1009
    functionName: try_rlink
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_reader_new_memoized
    - avro_strerror
    - avro_prefix_error
    - avro_schema_link_target
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_memoize_delete
    - avro_resolved_link_reader_create
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_rlink(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1981,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1986,1
    - Dst: avro_resolved_reader_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2000,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1987,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1988,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2004,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2007,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_reader_t*
    constantsTouched: []
    func_position:
      end: 2013
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 2013
    functionName: avro_resolved_record_reader_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_reader_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_reader_calculate_size(avro_resolved_reader_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:303,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:304,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:316,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 321
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 321
    functionName: avro_resolved_reader_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: 'static avro_resolved_reader_t *avro_resolved_reader_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2129,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2131,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2140,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2141,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2134,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2146,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2148,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2150
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2150
    functionName: avro_resolved_record_reader_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_set_error
    - DEBUG
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_reader_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, size_t index,\t\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1133,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1136,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1135,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1139
    functionName: avro_resolved_reader_get_double_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - DEBUG
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_get_double_long(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, double *val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:772,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 777
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 777
    functionName: avro_resolved_link_reader_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_give_fixed(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1393,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1396,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - viface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1397
    functionName: avro_resolved_reader_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_reader_grab_string(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1486,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1489,1
    - Dst: avro_resolved_array_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1490
    functionName: avro_resolved_array_reader_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_array_reader_free_elements
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_reader_done(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2020,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2033,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2031,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2036,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2023,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2041,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2045,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2046,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2047,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_reader_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 2048
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2048
    functionName: avro_resolved_record_reader_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - free_resolver
    - DEBUG
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_reader_free_iface(avro_resolved_reader_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:783,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 788
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 788
    functionName: avro_resolved_link_reader_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_reader_get_size(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1145,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1153,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1148,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1155,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1147,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1156,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1161,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1163,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1164,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1169,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1171,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1177,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1172,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1180
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1180
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - avro_set_error
    - is_avro_double
    - avro_resolved_reader_create
    - avro_memoize_set
    - is_avro_int32
    - is_avro_float
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_double(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1403,1
    - Dst: avro_resolved_reader_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1405,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1411,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1412,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1414
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1414
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - is_avro_string
    - avro_set_error
    - avro_resolved_reader_create
    - avro_memoize_set
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_reader_t*
    signature: "static avro_resolved_reader_t *try_string(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1496,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1501,1
    - Dst: avro_resolved_array_reader_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:1500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1503
    functionName: avro_resolved_array_reader_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_array_reader_free_elements
    - avro_raw_array_clear
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_array_reader_reset(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2055,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2064,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2062,1
    - Dst: avro_resolved_reader_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c:2062,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_reader_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2069
    functionName: avro_resolved_record_reader_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-reader.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_reader_init
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_record_reader_init(const avro_resolved_reader_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - consumer
    argTypes:
    - avro_consumer_t*
    constantsTouched: []
    func_position:
      end: 22
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 22
    functionName: avro_consumer_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/consumer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void avro_consumer_free(avro_consumer_t *consumer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: avro_datum_value_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: void
    signature: 'static void avro_datum_value_incref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:324,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:326,1
    - Dst: avro_boolean_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: avro_datum_value_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_boolean_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_boolean(const avro_value_iface_t *iface,\t\t\t
      void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:409,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:412,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: avro_datum_value_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_string_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_string(const avro_value_iface_t *iface,\t\t\t
      void *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:456,1
    - Dst: avro_fixed_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:459,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: avro_datum_value_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_fixed_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_fixed(const avro_value_iface_t *iface,\t\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:483,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:488,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:487,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:492,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:485,1
    - Dst: avro_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:493,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:497,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:498,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:499,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:503,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 505
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 505
    functionName: avro_datum_value_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - is_avro_map
    - is_avro_array
    - avro_map_size
    - avro_set_error
    - check_param
    - avro_array_size
    - avro_schema_record_size
    - avro_typeof
    - is_avro_record
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_size(const avro_value_iface_t *iface,\t\t\t
      const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: avro_datum_value_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_datum_value_decref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:334,1
    - Dst: avro_bytes_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:337,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 338
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 338
    functionName: avro_datum_value_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_bytes_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_bytes(const avro_value_iface_t *iface,\t\t\t
      void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:419,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:422,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:420,1
    - Dst: avro_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: avro_datum_value_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_string_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_string_len(const avro_value_iface_t
      *iface,\t\t\t\tvoid *vself, const char *str, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:472,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 476
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 476
    functionName: avro_datum_value_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_value_set_fixed
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_give_fixed(const avro_value_iface_t *iface,\t\t\t
      void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:526,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:530,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:512,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:544,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:545,1
    - Dst: avro_array_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:520,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:524,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:544,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:534,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:519,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:514,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:520,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:521,1
    - Dst: avro_map_get_key
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:526,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:531,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:548,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:537,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:535,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:530,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 550
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 550
    functionName: avro_datum_value_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_array_get
    - is_avro_map
    - avro_datum_get_schema
    - avro_record_get
    - is_avro_array
    - avro_map_get
    - avro_datum_as_child_value
    - avro_set_error
    - check_param
    - check
    - avro_map_get_key
    - is_avro_record
    - avro_schema_record_field_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_by_index(const avro_value_iface_t
      *iface,\t\t\t const void *vself, size_t index,\t\t\t avro_value_t *child, const
      char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - value
    - src
    argTypes:
    - avro_value_t*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: avro_datum_as_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: int
    signature: 'int avro_datum_as_value(avro_value_t *value, avro_datum_t src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:127,1
    - Dst: avro_bytes_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:134,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:134,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: avro_datum_value_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_bytes_get
    - check_param
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_bytes(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:165,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:167,1
    - Dst: avro_double_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:171,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: avro_datum_value_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_double_get
    - check_param
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_double(const avro_value_iface_t *iface,\t\t\t
      const void *vself, double *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:195,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:197,1
    - Dst: avro_int32_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:201,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: avro_datum_value_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_int32_get
    - check_param
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_int(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int32_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:225,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:227,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: avro_datum_value_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - is_avro_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_null(const avro_value_iface_t *iface,\t\t\t
      const void *vself) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:390,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:392,1
    - Dst: avro_int64_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 394
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 394
    functionName: avro_datum_value_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_int64_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_long(const avro_value_iface_t *iface,\t\t\t
      void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:436,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: avro_datum_value_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_value_set_string_len
    - avro_wrapped_buffer_free
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_give_string_len(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:663,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:668,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:675,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:665,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:667,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:682,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:685,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:689,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:690,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:691,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:697,1
    - Dst: avro_map_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:696,1
    - Dst: avro_map_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:706,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:709,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 710
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 710
    functionName: avro_datum_value_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - is_avro_map
    - avro_map_set
    - avro_datum_decref
    - avro_map_get_index
    - avro_map_get
    - avro_datum_as_child_value
    - avro_map_size
    - avro_set_error
    - check_param
    - avro_schema_map_values
    - avro_datum_from_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_add(const avro_value_iface_t *iface,\t\t
      void *vself, const char *key,\t\t avro_value_t *child, size_t *index, int *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: avro_datum_class
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_datum_class(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - src
    argTypes:
    - avro_value_t*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: avro_datum_as_child_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int avro_datum_as_child_value(avro_value_t *value, avro_datum_t
      src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:148,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:158,1
    - Dst: avro_bytes_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:155,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:155,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: avro_datum_value_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_bytes_get
    - check
    - avro_wrapped_buffer_new_copy
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_grab_bytes(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:180,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:182,1
    - Dst: avro_float_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:186,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: avro_datum_value_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_float_get
    - check_param
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_float(const avro_value_iface_t *iface,\t\t\t
      const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:210,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:212,1
    - Dst: avro_int64_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:216,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 219
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 219
    functionName: avro_datum_value_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_int64_get
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_long(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int64_t *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:235,1
    - Dst: avro_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:241,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:246,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:237,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 249
    functionName: avro_datum_value_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - check
    - strlen
    - avro_string_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_string(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:399,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:401,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: avro_datum_value_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - is_avro_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_datum_value_set_null(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:446,1
    - Dst: avro_enum_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:449,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: avro_datum_value_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_enum_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_enum(const avro_value_iface_t *iface,\t\t\t
      void *vself, int val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:717,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:728,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:719,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:721,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:722,1
    - Dst: avro_union_set_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:728,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 730
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 730
    functionName: avro_datum_value_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_as_child_value
    - avro_set_error
    - check_param
    - is_avro_union
    - check
    - avro_union_set_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_branch(const avro_value_iface_t *iface,\t\t\t
      void *vself, int discriminant,\t\t\t avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:101,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:104,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: avro_datum_value_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_datum_value_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:285,1
    - Dst: avro_fixed_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:292,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:292,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:287,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 300
    functionName: avro_datum_value_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_fixed_get
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_fixed(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const void **buf, size_t *size) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:557,1
    - Dst: avro_map_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:567,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:567,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:564,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:559,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:571,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:571,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:572,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:575,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:577,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:581,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:581,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:585,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:582,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:578,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 587
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 587
    functionName: avro_datum_value_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - is_avro_map
    - avro_schema_record_field_get_index
    - avro_record_get
    - avro_map_get_index
    - avro_map_get
    - avro_datum_as_child_value
    - avro_set_error
    - check_param
    - check
    - is_avro_record
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_by_name(const avro_value_iface_t *iface,\t\t\t
      const void *vself, const char *name,\t\t\t avro_value_t *child, size_t *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:112,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:118,1
    - Dst: avro_boolean_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:118,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 121
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 121
    functionName: avro_datum_value_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_boolean_get
    - check_param
    - check
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_boolean(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:306,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:308,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:316,1
    - Dst: avro_fixed_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:313,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: avro_datum_value_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - check
    - avro_wrapped_buffer_new_copy
    - avro_fixed_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_grab_fixed(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:593,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:598,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:595,1
    - Dst: avro_union_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:602,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: avro_datum_value_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - check_param
    - is_avro_union
    - avro_union_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_discriminant(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:71,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:74,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: avro_datum_value_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_datum_reset
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_datum_value_reset(const avro_value_iface_t *iface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:255,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:262,1
    - Dst: avro_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:262,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:257,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:263,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 268
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 268
    functionName: avro_datum_value_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - check
    - strlen
    - avro_wrapped_buffer_new_copy
    - avro_string_get
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_grab_string(const avro_value_iface_t *iface,\t\t\t
      const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:350,1
    - Dst: avro_wrapped_buffer_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 354
    functionName: avro_datum_value_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_wrapped_buffer_free
    - avro_datum_value_set_bytes
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_give_bytes(const avro_value_iface_t *iface,\t\t\t
      void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:370,1
    - Dst: avro_float_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:373,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: avro_datum_value_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - check_param
    - avro_float_set
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_float(const avro_value_iface_t *iface,\t\t\t
      void *vself, float val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:610,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:615,1
    - Dst: avro_union_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:619,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:612,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:614,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:620,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 621
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 621
    functionName: avro_datum_value_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_as_child_value
    - avro_union_current_branch
    - avro_set_error
    - check_param
    - is_avro_union
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_current_branch(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:80,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:94,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: avro_datum_value_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_typeof
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_datum_value_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:274,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:276,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:276,1
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: avro_datum_value_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_enum_get
    - check_param
    - is_avro_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_get_enum(const avro_value_iface_t *iface,\t\t\t
      const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:360,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:362,1
    - Dst: avro_double_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: avro_datum_value_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_double_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_double(const avro_value_iface_t *iface,\t\t\t
      void *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:380,1
    - Dst: avro_int32_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:383,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 384
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 384
    functionName: avro_datum_value_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_int32_set
    - check_param
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_set_int(const avro_value_iface_t *iface,\t\t\t
      void *vself, int32_t val) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:628,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:632,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:630,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:633,1
    - Dst: avro_datum_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:639,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:640,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:641,1
    - Dst: avro_array_append_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:646,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:647,1
    - Dst: avro_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:653,1
    - Dst: avro_datum_as_child_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c:655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 656
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 656
    functionName: avro_datum_value_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_value.c
    functionUses: []
    functionsReached:
    - avro_datum_get_schema
    - avro_datum_decref
    - is_avro_array
    - avro_datum_as_child_value
    - avro_set_error
    - check_param
    - avro_datum_from_schema
    - avro_array_append_datum
    - avro_array_size
    - avro_schema_array_items
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_datum_value_append(const avro_value_iface_t *iface,\t\t\tvoid
      *vself, avro_value_t *child_out, size_t *new_index) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:44,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:64,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:62,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:46,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:45,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - src
    - src_len
    - dest
    - dest_len
    argTypes:
    - void*
    - size_t
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 84
    functionName: encode_utf8_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - check_param
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: "static int encode_utf8_bytes(const void *src, size_t src_len,\t\t
      void **dest, size_t *dest_len) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_as_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:414,1
    - Dst: avro_value_to_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - datum
    - one_line
    - json_str
    argTypes:
    - avro_datum_t
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: avro_datum_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: []
    functionsReached:
    - avro_value_to_json
    - avro_datum_as_value
    linkageType: ''
    returnType: int
    signature: "int avro_datum_to_json(const avro_datum_t datum,\t\t int one_line,
      char **json_str) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:386,1
    - Dst: JSON_INDENT
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:402,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:387,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:389,1
    - Dst: json_dumps
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:399,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - value
    - one_line
    - json_str
    argTypes:
    - avro_value_t*
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 407
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 407
    functionName: avro_value_to_json
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: []
    functionsReached:
    - json_decref
    - avro_value_to_json_t
    - check_param
    - JSON_INDENT
    - json_dumps
    linkageType: ''
    returnType: int
    signature: "int avro_value_to_json(const avro_value_t *value,\t\t int one_line,
      char **json_str) "
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:112,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:154,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:155,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:168,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:227,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:298,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:175,1
    - Dst: json_array_append_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:209,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:354,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:228,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:191,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:238,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:262,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:176,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:300,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:226,1
    - Dst: encode_utf8_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:240,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:162,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:285,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:280,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:347,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:364,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:369,1
    - Dst: json_false
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:113,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:123,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:148,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:147,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:272,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:225,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:284,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:344,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:368,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:161,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:205,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:211,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:304,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:350,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:356,1
    - Dst: encode_utf8_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:125,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:140,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:141,1
    - Dst: json_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:183,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:322,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:327,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:314,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:111,1
    - Dst: json_integer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:155,1
    - Dst: json_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:168,1
    - Dst: json_object_set_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:326,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:358,1
    - Dst: json_true
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:113,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:185,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:264,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:197,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:346,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:353,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:154,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:175,1
    - Dst: json_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:176,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:278,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:286,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:228,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:167,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:238,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:244,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:274,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:247,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:351,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:370,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:306,1
    - Dst: json_string_nocheck
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:129,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:132,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:148,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:189,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:111,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:161,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:162,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:167,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:210,1
    - Dst: return_json
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:347,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:350,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:362,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:316,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:123,1
    - Dst: json_real
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:141,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:147,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:245,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:225,1
    - Dst: json_object
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:256,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:328,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:344,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:130,1
    - Dst: json_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:199,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:203,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:258,1
    - Dst: avro_value_to_json_t
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:320,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:107,1
    - Dst: check_return
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c:140,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 174
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 380
    functionName: avro_value_to_json_t
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-json.c
    functionUses: []
    functionsReached:
    - json_array
    - avro_value_get_schema
    - avro_value_get_current_branch
    - avro_value_get_bytes
    - json_string_nocheck
    - return_json
    - json_null
    - avro_value_get_discriminant
    - avro_value_get_int
    - avro_value_get_type
    - json_string
    - avro_value_get_double
    - avro_value_get_long
    - json_decref
    - avro_value_get_enum
    - avro_schema_type_name
    - encode_utf8_bytes
    - avro_value_get_size
    - json_array_append_new
    - json_false
    - json_object
    - json_object_set_new
    - check_return
    - json_true
    - json_integer
    - avro_set_error
    - avro_value_get_null
    - avro_schema_union_branch
    - avro_schema_enum_get
    - avro_value_get_string
    - avro_value_to_json_t
    - json_real
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_free
    - avro_value_get_boolean
    - avro_value_get_by_index
    linkageType: ''
    returnType: json_t*
    signature: 'static json_t *avro_value_to_json_t(const avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:44,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - sz
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: avro_str_free_wrapper
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_str_free_wrapper(void *ptr, size_t sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:67,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:74,1
    - Dst: avro_string_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:72,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: avro_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_set_error
    - avro_strdup
    - avro_string_private
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_string(const char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:117,1
    - Dst: avro_string_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:123,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:126,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - datum
    - p
    argTypes:
    - avro_datum_t
    - char*
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: avro_string_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_set_error
    - avro_strdup
    - avro_string_set_private
    linkageType: ''
    returnType: int
    signature: 'int avro_string_set(avro_datum_t datum, const char *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:265,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:272,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - l
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: avro_int64
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_int64(int64_t l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:311,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:312,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:311,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:314,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - f
    argTypes:
    - avro_datum_t
    - float
    constantsTouched: []
    func_position:
      end: 316
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 316
    functionName: avro_float_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_float
    - check_param
    - is_avro_datum
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: 'int avro_float_set(avro_datum_t datum, const float f) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:331,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:333,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 340
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 340
    functionName: avro_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_double(double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:376,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:376,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:379,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:377,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: avro_boolean_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_boolean
    - check_param
    - is_avro_datum
    - avro_datum_to_boolean
    linkageType: ''
    returnType: int
    signature: 'int avro_boolean_set(avro_datum_t datum, const int8_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 425
    functionName: avro_union_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_union
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t avro_union_discriminant(const avro_datum_t datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - datum
    - type
    argTypes:
    - avro_datum_t
    - avro_type_t
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: avro_datum_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_refcount_set
    linkageType: ''
    returnType: void
    signature: 'static void avro_datum_init(avro_datum_t datum, avro_type_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:52,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:61,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:54,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - str
    - size
    - string_free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 63
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 63
    functionName: avro_string_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: "static avro_datum_t avro_string_private(char *str, int64_t size,\t\t\t\t\tavro_free_func_t
      string_free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:83,1
    - Dst: avro_string_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - str
    - free
    argTypes:
    - char*
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: avro_givestring
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - strlen
    - avro_string_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givestring(const char *str,\t\t\t avro_free_func_t
      free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:134,1
    - Dst: avro_string_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - datum
    - p
    - free
    argTypes:
    - avro_datum_t
    - char*
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: avro_givestring_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - strlen
    - avro_string_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givestring_set(avro_datum_t datum, const char *p,\t\t\tavro_free_func_t
      free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:278,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:280,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:279,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:279,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:278,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - l
    argTypes:
    - avro_datum_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 284
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 284
    functionName: avro_int64_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - check_param
    - is_avro_datum
    - avro_datum_to_int64
    linkageType: ''
    returnType: int
    signature: 'int avro_int64_get(avro_datum_t datum, int64_t * l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:320,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:320,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:321,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:322,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:321,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - f
    argTypes:
    - avro_datum_t
    - float*
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: avro_float_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_float
    - check_param
    - is_avro_datum
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: 'int avro_float_get(avro_datum_t datum, float *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:344,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:345,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:344,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:345,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - d
    argTypes:
    - avro_datum_t
    - double
    constantsTouched: []
    func_position:
      end: 349
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 349
    functionName: avro_double_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - check_param
    - is_avro_datum
    - avro_datum_to_double
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: 'int avro_double_set(avro_datum_t datum, const double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:385,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:386,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:387,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:386,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:385,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int8_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 391
    functionName: avro_boolean_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_boolean
    - check_param
    - is_avro_datum
    - avro_datum_to_boolean
    linkageType: ''
    returnType: int
    signature: 'int avro_boolean_get(avro_datum_t datum, int8_t * i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 430
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 430
    functionName: avro_union_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_union
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_union_current_branch(avro_datum_t datum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:476,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:484,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:476,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:479,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:481,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:486,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:490,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:492,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:493,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:498,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:499,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 501
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 501
    functionName: avro_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - st_init_numtable_with_size
    - avro_set_error
    - check_param
    - avro_datum_init
    - st_init_strtable_with_size
    - st_free_table
    - avro_schema_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_record(avro_schema_t schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:587,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:588,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:590,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:588,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - symbol_value
    argTypes:
    - avro_datum_t
    - int
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: avro_enum_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_datum_to_enum
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_enum_set(avro_datum_t datum, const int symbol_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:946,1
    - Dst: avro_str_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:949,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - key
    - datum
    - arg
    argTypes:
    - char*
    - avro_datum_t
    - void*
    constantsTouched: []
    func_position:
      end: 951
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 951
    functionName: char_datum_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_str_free
    - avro_datum_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int char_datum_free_foreach(char *key, avro_datum_t datum,
      void *arg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1176,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1184,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1179,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1176,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1183,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1185,1
    - Dst: avro_init_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1187,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1198,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1199,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1200,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1201,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1225,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1227,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1202,1
    - Dst: avro_init_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1204,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1217,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1215,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 1233
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1233
    functionName: avro_datum_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_array
    - st_foreach
    - avro_datum_reset
    - check_param
    - avro_init_array
    - avro_datum_to_map
    - avro_typeof
    - st_free_table
    - avro_init_map
    - avro_datum_to_record
    - is_avro_datum
    - avro_datum_to_union
    linkageType: ''
    returnType: int
    signature: 'int avro_datum_reset(avro_datum_t datum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:838,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:839,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:839,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:840,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:838,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:841,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:841,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:846,1
    - Dst: avro_map_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:848,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:850,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:865,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:861,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:859,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:853,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:855,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - datum
    - key
    - value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 867
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 867
    functionName: avro_map_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - avro_datum_incref
    - st_insert
    - avro_datum_decref
    - avro_strdup
    - avro_map_get
    - avro_set_error
    - check_param
    - avro_datum_to_map
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_map_set(avro_datum_t datum, const char *key,\t const avro_datum_t
      value) "
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1060,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1112,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1104,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1051,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1095,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1097,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1111,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1122,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1136,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1143,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1144,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1145,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1047,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1048,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1094,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1124,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1123,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1127,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1128,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1135,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1137,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1093,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1105,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1098,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1126,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1134,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 57
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 1155
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1155
    functionName: avro_datum_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_string
    - avro_datum_to_bytes
    - st_foreach
    - avro_schema_decref
    - avro_datum_to_array
    - avro_datum_decref
    - avro_datum_to_fixed
    - avro_datum_to_map
    - avro_typeof
    - avro_datum_to_enum
    - st_free_table
    - avro_datum_to_record
    - is_avro_datum
    - avro_datum_to_union
    linkageType: ''
    returnType: void
    signature: 'static void avro_datum_free(avro_datum_t datum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:771,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:771,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:773,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:772,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:772,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:774,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:781,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:782,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:787,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - datum
    - key
    - value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 789
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 789
    functionName: avro_map_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - st_lookup
    - avro_set_error
    - check_param
    - avro_datum_to_map
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_map_get(const avro_datum_t datum, const char *key, avro_datum_t
      * value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:934,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:935,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:934,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:936,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:935,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:936,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:938,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:939,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - array_datum
    - datum
    argTypes:
    - avro_datum_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 942
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 942
    functionName: avro_array_append_datum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_incref
    - st_insert
    - avro_datum_to_array
    - is_avro_array
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_array_append_datum(avro_datum_t array_datum,\t\t\tconst avro_datum_t
      datum) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:882,1
    - Dst: avro_init_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:891,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:887,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:882,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:885,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:896,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 899
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 899
    functionName: avro_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_set_error
    - check_param
    - avro_init_array
    - avro_datum_init
    - avro_schema_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_array(avro_schema_t schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_bytes_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - bytes
    - size
    - free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: avro_givebytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_bytes_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givebytes(const char *bytes, int64_t size,\t\t\t
      avro_free_func_t free) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:198,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:206,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:200,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:203,1
    - Dst: avro_bytes_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: avro_bytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_bytes_set_private
    - avro_free
    - memcpy
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'int avro_bytes_set(avro_datum_t datum, const char *bytes, const int64_t
      size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:245,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:247,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:246,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:245,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:246,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: avro_int32_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_int32
    - is_avro_int32
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_int32_get(avro_datum_t datum, int32_t * i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:353,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:355,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:354,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:353,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:354,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - d
    argTypes:
    - avro_datum_t
    - double*
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: avro_double_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - check_param
    - is_avro_datum
    - avro_datum_to_double
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: 'int avro_double_get(avro_datum_t datum, double *d) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:511,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:513,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:511,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:519,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - field_name
    - field
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: avro_record_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - st_lookup
    - avro_set_error
    - is_avro_record
    - avro_datum_to_record
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_record_get(const avro_datum_t datum, const char *field_name,\t\tavro_datum_t
      * field) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:558,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:563,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:558,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:561,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:566,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - schema
    - i
    argTypes:
    - avro_schema_t
    - int
    constantsTouched: []
    func_position:
      end: 571
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 571
    functionName: avro_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_set_error
    - check_param
    - avro_datum_init
    - avro_schema_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_enum(avro_schema_t schema, int i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:596,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:597,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:596,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:598,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:597,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:600,1
    - Dst: avro_schema_enum_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:601,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:603,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - datum
    - symbol_name
    argTypes:
    - avro_datum_t
    - char*
    constantsTouched: []
    func_position:
      end: 608
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 608
    functionName: avro_enum_set_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_set_error
    - check_param
    - avro_schema_enum_get_by_name
    - avro_datum_to_enum
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_enum_set_name(avro_datum_t datum, const char *symbol_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:642,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:647,1
    - Dst: avro_fixed_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:648,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - schema
    - bytes
    - size
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 649
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 649
    functionName: avro_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - memcpy
    - avro_fixed_private
    - avro_set_error
    - avro_malloc
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_fixed(avro_schema_t schema,\t\t\tconst char *bytes,
      const int64_t size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:181,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:182,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:181,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:184,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:182,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - bytes_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 193
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 193
    functionName: avro_bytes_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_bytes
    - check_param
    - is_avro_datum
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: "static int avro_bytes_set_private(avro_datum_t datum, const char *bytes,\t\t\t\t
      const int64_t size,\t\t\t\t avro_free_func_t bytes_free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_bytes_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: avro_givebytes_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_bytes_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givebytes_set(avro_datum_t datum, const char *bytes,\t\t
      const int64_t size, avro_free_func_t free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:255,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:255,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:256,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:258,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - i
    argTypes:
    - avro_datum_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 260
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 260
    functionName: avro_int32_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_int32
    - is_avro_int32
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_int32_set(avro_datum_t datum, const int32_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:364,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:366,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: avro_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_boolean(int8_t i) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:527,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:529,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:527,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:528,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:528,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:534,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:536,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:540,1
    - Dst: avro_strdup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:541,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:543,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:550,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:551,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:546,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - datum
    - field_name
    - field_value
    argTypes:
    - avro_datum_t
    - char*
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 554
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 554
    functionName: avro_record_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_record_get
    - avro_datum_incref
    - st_insert
    - avro_datum_decref
    - avro_strdup
    - avro_set_error
    - check_param
    - is_avro_record
    - avro_datum_to_record
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_record_set(avro_datum_t datum, const char *field_name,\t\tconst
      avro_datum_t field_value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 576
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 576
    functionName: avro_enum_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_enum
    linkageType: ''
    returnType: int
    signature: 'int avro_enum_get(const avro_datum_t datum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:614,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:614,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:617,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:618,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:615,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:624,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:626,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:627,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:630,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:635,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - schema
    - bytes
    - size
    - fixed_free
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 637
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 637
    functionName: avro_fixed_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_schema_to_fixed
    - avro_set_error
    - check_param
    - avro_datum_init
    - avro_free
    - avro_schema_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: "static avro_datum_t avro_fixed_private(avro_schema_t schema,\t\t\t\t
      const char *bytes, const int64_t size,\t\t\t\t avro_free_func_t fixed_free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_fixed_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - schema
    - bytes
    - size
    - free
    argTypes:
    - avro_schema_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: avro_givefixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_fixed_private
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_givefixed(avro_schema_t schema,\t\t\t const char
      *bytes, const int64_t size,\t\t\t avro_free_func_t free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:706,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:708,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:707,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:707,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:706,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:709,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:711,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 714
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 714
    functionName: avro_fixed_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - check_param
    - is_avro_datum
    - is_avro_fixed
    - avro_datum_to_fixed
    linkageType: ''
    returnType: int
    signature: 'int avro_fixed_get(avro_datum_t datum, char **bytes, int64_t * size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:817,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:818,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:817,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:819,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:818,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:820,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:824,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:825,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:830,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - datum
    - key
    - index
    argTypes:
    - avro_datum_t
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 832
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 832
    functionName: avro_map_get_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - st_lookup
    - avro_set_error
    - check_param
    - avro_datum_to_map
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_map_get_index(const avro_datum_t datum, const char *key,\t\t
      int *index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_fixed_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: avro_givefixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_fixed_set_private
    linkageType: ''
    returnType: int
    signature: "int avro_givefixed_set(avro_datum_t datum, const char *bytes,\t\t
      const int64_t size, avro_free_func_t free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:955,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:956,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - i
    - datum
    - arg
    argTypes:
    - int
    - avro_datum_t
    - void*
    constantsTouched: []
    func_position:
      end: 960
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 960
    functionName: array_free_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int array_free_foreach(int i, avro_datum_t datum, void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:436,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:437,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:436,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:439,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:437,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:443,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:447,1
    - Dst: avro_datum_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:455,1
    - Dst: avro_datum_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - datum
    - discriminant
    - branch
    argTypes:
    - avro_datum_t
    - int
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 472
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 472
    functionName: avro_union_set_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_decref
    - avro_set_error
    - check_param
    - is_avro_union
    - avro_datum_from_schema
    - is_avro_datum
    - avro_schema_union_branch
    - avro_datum_to_union
    linkageType: ''
    returnType: int
    signature: "int avro_union_set_discriminant(avro_datum_t datum,\t\t\t\tint discriminant,\t\t\t\tavro_datum_t
      *branch) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:872,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - datum
    argTypes:
    - struct avro_array_datum_t*
    constantsTouched: []
    func_position:
      end: 878
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 878
    functionName: avro_init_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - st_init_numtable_with_size
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: 'static int avro_init_array(struct avro_array_datum_t *datum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:142,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:144,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - bytes
    - size
    - bytes_free
    argTypes:
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: avro_bytes_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: "static avro_datum_t avro_bytes_private(char *bytes, int64_t size,\t\t\t\t
      avro_free_func_t bytes_free) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 401
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 401
    functionName: avro_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_incref
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_null(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:662,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:665,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:663,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:662,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:663,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:666,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - datum
    - bytes
    - size
    - fixed_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 680
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 680
    functionName: avro_fixed_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_schema_to_fixed
    - avro_set_error
    - check_param
    - avro_datum_to_fixed
    - is_avro_fixed
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "static int avro_fixed_set_private(avro_datum_t datum,\t\t\t\t const
      char *bytes, const int64_t size,\t\t\t\t avro_free_func_t fixed_free) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:904,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:906,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:905,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:905,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:904,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:913,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:914,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:919,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - array_datum
    - index
    - value
    argTypes:
    - avro_datum_t
    - int64_t
    - avro_datum_t*
    constantsTouched: []
    func_position:
      end: 921
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 921
    functionName: avro_array_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_array
    - is_avro_array
    - st_lookup
    - avro_set_error
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_array_get(const avro_datum_t array_datum, int64_t index,
      avro_datum_t * value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:157,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:159,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:166,1
    - Dst: avro_bytes_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:164,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - bytes
    - size
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: avro_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_bytes_private
    - avro_free
    - memcpy
    - avro_malloc
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_bytes(const char *bytes, int64_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:406,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:406,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:414,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:409,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:411,1
    - Dst: avro_datum_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:416,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - schema
    - discriminant
    - value
    argTypes:
    - avro_schema_t
    - int64_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: avro_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_set_error
    - check_param
    - avro_datum_init
    - avro_schema_incref
    - avro_datum_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: "avro_datum_t avro_union(avro_schema_t schema,\t\t\tint64_t discriminant,
      avro_datum_t value) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:685,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:687,1
    - Dst: avro_fixed_set_private
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:691,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:693,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:690,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 696
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 696
    functionName: avro_fixed_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_fixed_set_private
    - memcpy
    - avro_free
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'int avro_fixed_set(avro_datum_t datum, const char *bytes, const int64_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1245,1
    - Dst: avro_datum_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 1248
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1248
    functionName: avro_datum_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_refcount_dec
    - avro_datum_free
    linkageType: ''
    returnType: void
    signature: 'void avro_datum_decref(avro_datum_t datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 766
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 766
    functionName: avro_map_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_map
    linkageType: ''
    returnType: size_t
    signature: 'size_t avro_map_size(const avro_datum_t datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:89,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:90,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:90,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:91,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:89,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - datum
    - p
    argTypes:
    - avro_datum_t
    - char**
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: avro_string_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_string
    - is_avro_string
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_string_get(avro_datum_t datum, char **p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:219,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:219,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:221,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:220,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:220,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:222,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:224,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - datum
    - bytes
    - size
    argTypes:
    - avro_datum_t
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 227
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 227
    functionName: avro_bytes_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_bytes
    - check_param
    - is_avro_datum
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: 'int avro_bytes_get(avro_datum_t datum, char **bytes, int64_t * size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:288,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:288,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:291,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:289,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - datum
    - l
    argTypes:
    - avro_datum_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: avro_int64_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - check_param
    - is_avro_datum
    - avro_datum_to_int64
    linkageType: ''
    returnType: int
    signature: 'int avro_int64_set(avro_datum_t datum, const int64_t l) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:719,1
    - Dst: st_init_strtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:724,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:726,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:727,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:721,1
    - Dst: st_init_numtable_with_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:730,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:732,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:733,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - datum
    argTypes:
    - struct avro_map_datum_t*
    constantsTouched: []
    func_position:
      end: 738
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 738
    functionName: avro_init_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - st_init_numtable_with_size
    - st_free_table
    - avro_set_error
    - st_init_strtable_with_size
    linkageType: ''
    returnType: int
    signature: 'static int avro_init_map(struct avro_map_datum_t *datum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1160,1
    - Dst: avro_datum_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - i
    - datum
    - arg
    argTypes:
    - int
    - avro_datum_t
    - void*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1171
    functionName: datum_reset_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_reset
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int datum_reset_foreach(int i, avro_datum_t datum, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:101,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:102,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:103,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:101,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:102,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - datum
    - p
    - size
    - string_free
    argTypes:
    - avro_datum_t
    - char*
    - int64_t
    - avro_free_func_t
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: avro_string_set_private
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_string
    - is_avro_string
    - check_param
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "static int avro_string_set_private(avro_datum_t datum,\t \t\t\t const
      char *p, int64_t size,\t\t\t\t avro_free_func_t string_free) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:232,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:239,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - i
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 241
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 241
    functionName: avro_int32
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_int32(int32_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:298,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:300,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    constantsTouched: []
    func_position:
      end: 307
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 307
    functionName: avro_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_init
    - avro_set_error
    - avro_new
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_float(float f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:580,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:581,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 583
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 583
    functionName: avro_enum_get_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_enum
    - avro_enum_get
    - avro_schema_enum_get
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_enum_get_name(const avro_datum_t datum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:742,1
    - Dst: avro_init_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:751,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:745,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:747,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:742,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:756,1
    - Dst: avro_datum_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:757,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - schema
    argTypes:
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 759
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 759
    functionName: avro_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_new
    - avro_set_error
    - check_param
    - avro_datum_init
    - avro_init_map
    - avro_schema_incref
    - is_avro_schema
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_map(avro_schema_t schema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1252,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - value
    - fp
    argTypes:
    - avro_datum_t
    - FILE*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: avro_datum_print
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void avro_datum_print(avro_datum_t value, FILE * fp) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:964,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:966,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:980,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1023,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1017,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1038,1
    - Dst: avro_schema_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1022,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1028,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:964,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:987,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:993,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1011,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1005,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:999,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1030,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1032,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1034,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1036,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:981,1
    - Dst: avro_schema_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:986,1
    - Dst: avro_schema_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:992,1
    - Dst: avro_schema_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:998,1
    - Dst: avro_schema_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1016,1
    - Dst: avro_schema_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1010,1
    - Dst: avro_schema_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1004,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 1043
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1043
    functionName: avro_datum_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_schema_long
    - avro_datum_to_array
    - avro_schema_decref
    - avro_schema_int
    - avro_schema_double
    - avro_schema_string
    - check_param
    - avro_datum_to_fixed
    - avro_datum_to_map
    - avro_schema_bytes
    - avro_typeof
    - avro_schema_null
    - avro_datum_to_enum
    - avro_schema_float
    - avro_datum_to_record
    - is_avro_datum
    - avro_schema_boolean
    - avro_datum_to_union
    linkageType: ''
    returnType: avro_schema_t
    signature: 'avro_schema_t avro_datum_get_schema(const avro_datum_t datum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:1238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 1241
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1241
    functionName: avro_datum_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: avro_datum_t
    signature: 'avro_datum_t avro_datum_incref(avro_datum_t datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:926,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - datum
    argTypes:
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 928
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 928
    functionName: avro_array_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - avro_datum_to_array
    linkageType: ''
    returnType: size_t
    signature: 'size_t avro_array_size(const avro_datum_t datum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:794,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:795,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:795,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:796,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:794,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:797,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:804,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:805,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c:810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - datum
    - index
    - key
    argTypes:
    - avro_datum_t
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 812
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 812
    functionName: avro_map_get_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - st_lookup
    - avro_set_error
    - check_param
    - avro_datum_to_map
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: "int avro_map_get_key(const avro_datum_t datum, int index,\t\t const
      char **key) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:24,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:40,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:38,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:39,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_array_datum_t*
    - struct avro_array_datum_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: array_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - avro_datum_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: 'static int array_equal(struct avro_array_datum_t *a, struct avro_array_datum_t
      *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:87,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_record_datum_t*
    - struct avro_record_datum_t*
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: record_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - st_foreach
    linkageType: ''
    returnType: int
    signature: "static int record_equal(struct avro_record_datum_t *a,\t\t\tstruct
      avro_record_datum_t *b) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:59,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:63,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - key
    - datum
    - args
    argTypes:
    - char*
    - avro_datum_t
    - struct st_equal_args*
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: st_equal_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_datum_equal
    - st_lookup
    linkageType: ''
    returnType: int
    signature: 'static int st_equal_foreach(char *key, avro_datum_t datum, struct
      st_equal_args *args) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:107,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_fixed_datum_t*
    - struct avro_fixed_datum_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: fixed_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - memcmp
    linkageType: ''
    returnType: int
    signature: "static int fixed_equal(struct avro_fixed_datum_t *a,\t\t struct avro_fixed_datum_t
      *b) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_enum_datum_t*
    - struct avro_enum_datum_t*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: enum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    linkageType: ''
    returnType: int
    signature: 'static int enum_equal(struct avro_enum_datum_t *a, struct avro_enum_datum_t
      *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:72,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_map_datum_t*
    - struct avro_map_datum_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: map_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - st_foreach
    linkageType: ''
    returnType: int
    signature: 'static int map_equal(struct avro_map_datum_t *a, struct avro_map_datum_t
      *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:117,1
    - Dst: avro_datum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - struct avro_union_datum_t*
    - struct avro_union_datum_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: union_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_schema_equal
    - avro_datum_equal
    linkageType: ''
    returnType: int
    signature: "static int union_equal(struct avro_union_datum_t *a,\t\t struct avro_union_datum_t
      *b) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:126,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:129,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:129,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:132,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:134,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:137,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:138,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:141,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:140,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:144,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:151,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:158,1
    - Dst: enum_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:168,1
    - Dst: map_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:161,1
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:126,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:161,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:159,1
    - Dst: fixed_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:171,1
    - Dst: record_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:164,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:171,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:161,1
    - Dst: union_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:175,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:134,1
    - Dst: avro_datum_to_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:135,1
    - Dst: memcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:139,1
    - Dst: avro_datum_to_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:139,1
    - Dst: avro_datum_to_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:143,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:149,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:146,1
    - Dst: avro_datum_to_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:151,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:154,1
    - Dst: avro_datum_to_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:149,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:164,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:172,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:175,1
    - Dst: avro_datum_to_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:153,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:168,1
    - Dst: avro_datum_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:165,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:176,1
    - Dst: array_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:158,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:168,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c:147,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_datum_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 185
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 185
    functionName: avro_datum_equal
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_equal.c
    functionUses: []
    functionsReached:
    - avro_datum_to_string
    - memcmp
    - avro_datum_to_map
    - avro_datum_to_enum
    - avro_datum_to_float
    - avro_datum_to_record
    - avro_datum_to_array
    - avro_datum_to_boolean
    - array_equal
    - avro_datum_to_fixed
    - map_equal
    - enum_equal
    - avro_datum_to_double
    - avro_datum_to_int64
    - avro_datum_to_int32
    - union_equal
    - record_equal
    - avro_datum_to_union
    - avro_datum_to_bytes
    - fixed_equal
    - strcmp
    - avro_typeof
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_datum_equal(const avro_datum_t a, const avro_datum_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: make_error_data_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: []
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: 'static void make_error_data_key() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:67,1
    - Dst: pthread_setspecific
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:74,1
    - Dst: pthread_getspecific
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:70,1
    - Dst: malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:73,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 106
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 106
    functionName: avro_get_error_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: []
    functionsReached:
    - pthread_getspecific
    - malloc
    - pthread_setspecific
    - pthread_once
    linkageType: ''
    returnType: struct avro_error_data_t*
    signature: 'static struct avro_error_data_t *avro_get_error_data(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:113,1
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:114,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:115,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: avro_set_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: []
    functionsReached:
    - avro_get_error_data
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: void
    signature: 'void avro_set_error(const char *fmt, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: avro_strerror
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: []
    functionsReached:
    - avro_get_error_data
    linkageType: ''
    returnType: char*
    signature: 'const char *avro_strerror(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_get_error_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:123,1
    - Dst: va_start
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:130,1
    - Dst: va_end
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:132,1
    - Dst: strncpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:139,1
    - Dst: vsnprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - fmt
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 153
    functionName: avro_prefix_error
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/errors.c
    functionUses: []
    functionsReached:
    - strncpy
    - va_start
    - va_end
    - avro_get_error_data
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void avro_prefix_error(const char *fmt, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:59,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:68,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:60,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:65,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:69,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dest
    - prefix
    - key
    argTypes:
    - avro_raw_string_t*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 71
    functionName: create_object_prefix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - exit
    - avro_raw_string_set
    - fprintf
    - strstr
    - avro_raw_string_append
    linkageType: ''
    returnType: void
    signature: 'static void create_object_prefix(avro_raw_string_t *dest, const char
      *prefix, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:134,1
    - Dst: avro_schema_enum_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:136,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:137,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:135,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:138,1
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:138,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: process_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - avro_schema_enum_get
    - avro_value_get_schema
    - print_bytes_value
    - printf
    - strlen
    - avro_value_get_enum
    linkageType: ''
    returnType: void
    signature: 'static void process_enum(const char *prefix, avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:168,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:173,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:170,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:179,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:181,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:182,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:182,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 186
    functionName: process_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - avro_raw_string_init
    - printf
    - avro_raw_string_get
    - create_object_prefix
    - process_value
    - avro_raw_string_done
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void process_record(const char *prefix, avro_value_t *value) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:287,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:276,1
    - Dst: process_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:314,1
    - Dst: process_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:318,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:328,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:226,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:236,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:237,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:261,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:268,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:289,1
    - Dst: process_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:295,1
    - Dst: process_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:299,1
    - Dst: print_bytes_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:308,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:309,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:327,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:225,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:234,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:290,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:306,1
    - Dst: process_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:322,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:307,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:220,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:235,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:244,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:245,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:252,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:269,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:253,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:275,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:286,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:260,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 331
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 331
    functionName: process_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - exit
    - process_union
    - avro_value_get_bytes
    - avro_value_get_int
    - process_map
    - avro_value_get_type
    - avro_value_get_double
    - avro_value_get_long
    - process_enum
    - avro_value_get_null
    - fprintf
    - print_bytes_value
    - printf
    - avro_value_get_string
    - process_record
    - avro_value_get_fixed
    - avro_value_get_float
    - process_array
    - avro_value_get_boolean
    linkageType: ''
    returnType: void
    signature: 'static void process_value(const char *prefix, avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:45,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:47,1
    - Dst: avro_raw_string_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:48,1
    - Dst: avro_raw_string_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - prefix
    - index
    argTypes:
    - avro_raw_string_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: create_array_prefix
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - snprintf
    - avro_raw_string_set
    - avro_raw_string_append
    linkageType: ''
    returnType: void
    signature: 'static void create_array_prefix(avro_raw_string_t *dest, const char
      *prefix, size_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:109,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:119,1
    - Dst: create_array_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:121,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:114,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:111,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:122,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:122,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 126
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 126
    functionName: process_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - avro_raw_string_init
    - printf
    - avro_raw_string_get
    - process_value
    - avro_raw_string_done
    - create_array_prefix
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void process_array(const char *prefix, avro_value_t *value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:77,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:87,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:81,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:83,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:85,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:89,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:91,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:93,1
    - Dst: isprint
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:94,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:95,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:97,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:100,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 101
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 101
    functionName: print_bytes_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - isprint
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void print_bytes_value(const char *buf, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:145,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:147,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:150,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:156,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:158,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:159,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:159,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: process_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - avro_raw_string_init
    - printf
    - avro_raw_string_get
    - create_object_prefix
    - process_value
    - avro_raw_string_done
    - avro_value_get_by_index
    linkageType: ''
    returnType: void
    signature: 'static void process_map(const char *prefix, avro_value_t *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:192,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:203,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:196,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:201,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:195,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:204,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:205,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:208,1
    - Dst: create_object_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:209,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:211,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:212,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:214,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - prefix
    - value
    argTypes:
    - char*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 215
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 215
    functionName: process_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - avro_value_get_schema
    - avro_schema_union_branch
    - avro_raw_string_init
    - avro_value_get_discriminant
    - printf
    - avro_raw_string_get
    - create_object_prefix
    - process_value
    - avro_raw_string_done
    - avro_value_get_type
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void process_union(const char *prefix, avro_value_t *value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:342,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:373,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:373,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:377,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:380,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:348,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:359,1
    - Dst: avro_raw_string_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:376,1
    - Dst: avro_file_reader_fp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:339,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:345,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:340,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:341,1
    - Dst: printf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:353,1
    - Dst: avro_raw_string_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:356,1
    - Dst: avro_raw_string_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:368,1
    - Dst: avro_file_reader_get_writer_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:358,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:369,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:378,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:346,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:347,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:361,1
    - Dst: create_array_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:367,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:366,1
    - Dst: process_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:368,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 381
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 381
    functionName: process_file
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - exit
    - avro_generic_class_from_schema
    - avro_raw_string_done
    - create_array_prefix
    - avro_file_reader_fp
    - avro_raw_string_init
    - avro_generic_value_new
    - avro_schema_decref
    - fprintf
    - printf
    - avro_raw_string_get
    - avro_file_reader_read_value
    - avro_file_reader
    - avro_file_reader_close
    - avro_value_reset
    - avro_strerror
    - avro_value_decref
    - avro_value_iface_decref
    - process_value
    - avro_file_reader_get_writer_schema
    linkageType: ''
    returnType: void
    signature: 'static void process_file(const char *filename) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: usage
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void usage(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:403,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:423,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:424,1
    - Dst: usage
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:410,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:411,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:425,1
    - Dst: process_file
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 431
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 431
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avropipe.c
    functionUses: []
    functionsReached:
    - exit
    - usage
    - fprintf
    - process_file
    - getopt_long
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char **argv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:49,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:56,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:64,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:64,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:65,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:65,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: read_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - read_value
    - avro_value_append
    - check_prefix
    - check
    linkageType: ''
    returnType: int
    signature: 'static int read_array_value(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:137,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:143,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:143,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:139,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:139,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:145,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:145,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:148,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:149,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 154
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 154
    functionName: read_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - avro_value_get_schema
    - avro_value_get_size
    - check
    - avro_skip_data
    - avro_schema_record_field_get_by_index
    - read_value
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int read_record_value(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 222
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 222
    functionName: avro_wrapped_alloc_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - avro_new
    linkageType: ''
    returnType: int
    signature: "static int avro_wrapped_alloc_new(avro_wrapped_buffer_t *dest,\t\t
      const void *buf, size_t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: avro_wrapped_alloc_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_wrapped_alloc_free(avro_wrapped_buffer_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:166,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:170,1
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:171,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:174,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:179,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:179,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:180,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 182
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 182
    functionName: read_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - read_value
    - avro_value_get_schema
    - avro_set_error
    - check
    - avro_schema_union_size
    - avro_value_set_branch
    - check_prefix
    linkageType: ''
    returnType: int
    signature: 'static int read_union_value(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:86,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:92,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:102,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:106,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:108,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:112,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:114,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:121,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 127
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 127
    functionName: read_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - avro_value_add
    - read_value
    - avro_free
    - check_prefix
    linkageType: ''
    returnType: int
    signature: 'static int read_map_value(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:230,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:274,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:292,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:286,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:300,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:323,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:359,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:332,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:357,1
    - Dst: read_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:367,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:257,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:265,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:277,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:295,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:322,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:346,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:363,1
    - Dst: read_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:370,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:377,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:344,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:351,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:257,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:268,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:303,1
    - Dst: avro_wrapped_alloc_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:322,1
    - Dst: avro_read
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:349,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:352,1
    - Dst: read_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:373,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:335,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:244,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:234,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:237,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:259,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:283,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:317,1
    - Dst: read_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:327,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:340,1
    - Dst: avro_schema_fixed_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:342,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 383
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 383
    functionName: read_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - avro_value_get_schema
    - avro_prefix_error
    - check
    - avro_value_give_string_len
    - read_map_value
    - avro_value_give_fixed
    - avro_value_get_type
    - avro_value_set_enum
    - avro_value_give_bytes
    - read_record_value
    - avro_malloc
    - read_array_value
    - avro_value_set_boolean
    - avro_value_set_long
    - avro_value_set_int
    - avro_set_error
    - avro_read
    - avro_value_set_null
    - avro_schema_fixed_size
    - avro_wrapped_alloc_new
    - check_prefix
    - avro_value_set_float
    - avro_free
    - read_union_value
    linkageType: ''
    returnType: int
    signature: 'static int read_value(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:389,1
    - Dst: read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:390,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - reader
    - dest
    argTypes:
    - avro_reader_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: avro_value_read
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-read.c
    functionUses: []
    functionsReached:
    - read_value
    - avro_value_reset
    - check
    linkageType: ''
    returnType: int
    signature: 'int avro_value_read(avro_reader_t reader, avro_value_t *dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:38,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:41,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - reader
    - l
    argTypes:
    - avro_reader_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 48
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 48
    functionName: read_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: 'static int read_long(avro_reader_t reader, int64_t * l) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - writer
    - l
    argTypes:
    - avro_writer_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 92
    functionName: size_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_long(avro_writer_t writer, int64_t l) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:56,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 64
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 64
    functionName: skip_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: 'static int skip_long(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:166,1
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - writer
    - bytes
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: size_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - size_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_bytes(avro_writer_t writer, const char *bytes,
      const int64_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:324,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - d
    argTypes:
    - avro_writer_t
    - double
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: size_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_double(avro_writer_t writer, const double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: skip_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: 'static int skip_boolean(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - writer
    - l
    argTypes:
    - avro_writer_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: write_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: 'static int write_long(avro_writer_t writer, int64_t l) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:98,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:98,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - reader
    - i
    argTypes:
    - avro_reader_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: read_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - read_long
    - check
    linkageType: ''
    returnType: int
    signature: 'static int read_int(avro_reader_t reader, int32_t * i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:175,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:175,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:184,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:180,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - reader
    - s
    - len
    argTypes:
    - avro_reader_t
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: read_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_READ
    - avro_set_error
    - read_long
    - check_prefix
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int read_string(avro_reader_t reader, char **s, int64_t *len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - reader
    - b
    argTypes:
    - avro_reader_t
    - int8_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 334
    functionName: read_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: 'static int read_boolean(avro_reader_t reader, int8_t * b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - b
    argTypes:
    - avro_writer_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 346
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 346
    functionName: write_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: 'static int write_boolean(avro_writer_t writer, const int8_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 110
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 110
    functionName: skip_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - skip_long
    linkageType: ''
    returnType: int
    signature: 'static int skip_int(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - i
    argTypes:
    - avro_writer_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: size_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - size_long
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_int(avro_writer_t writer, const int32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:143,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:143,1
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: skip_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - read_long
    - check_prefix
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: 'static int skip_bytes(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: skip_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - skip_bytes
    linkageType: ''
    returnType: int
    signature: 'static int skip_string(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 230
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 230
    functionName: skip_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: 'static int skip_float(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_SKIP
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: skip_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_SKIP
    linkageType: ''
    returnType: int
    signature: 'static int skip_double(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:350,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - b
    argTypes:
    - avro_writer_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: size_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_boolean(avro_writer_t writer, const int8_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 374
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 374
    functionName: write_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int write_null(avro_writer_t writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - writer
    - i
    argTypes:
    - avro_writer_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: write_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - write_long
    linkageType: ''
    returnType: int
    signature: 'static int write_int(avro_writer_t writer, const int32_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:127,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:134,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:129,1
    - Dst: read_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:127,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - reader
    - bytes
    - len
    argTypes:
    - avro_reader_t
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: read_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_READ
    - avro_set_error
    - read_long
    - check_prefix
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: 'static int read_bytes(avro_reader_t reader, char **bytes, int64_t
      * len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:154,1
    - Dst: write_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:157,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:157,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - writer
    - bytes
    - len
    argTypes:
    - avro_writer_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 161
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 161
    functionName: write_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - write_long
    - avro_set_error
    - check_prefix
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: 'static int write_bytes(avro_writer_t writer, const char *bytes, const
      int64_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:195,1
    - Dst: write_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - s
    argTypes:
    - avro_writer_t
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: write_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - strlen
    - write_bytes
    linkageType: ''
    returnType: int
    signature: 'static int write_string(avro_writer_t writer, const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:248,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - writer
    - f
    argTypes:
    - avro_writer_t
    - float
    constantsTouched: []
    func_position:
      end: 253
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 253
    functionName: write_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: 'static int write_float(avro_writer_t writer, const float f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:315,1
    - Dst: AVRO_WRITE
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - writer
    - d
    argTypes:
    - avro_writer_t
    - double
    constantsTouched: []
    func_position:
      end: 320
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 320
    functionName: write_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_WRITE
    linkageType: ''
    returnType: int
    signature: 'static int write_double(avro_writer_t writer, const double d) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - avro_reader_t
    constantsTouched: []
    func_position:
      end: 364
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 364
    functionName: read_skip_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int read_skip_null(avro_reader_t reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - avro_writer_t
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: size_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_null(avro_writer_t writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:201,1
    - Dst: size_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - s
    argTypes:
    - avro_writer_t
    - char*
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: size_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - strlen
    - size_bytes
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_string(avro_writer_t writer, const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:257,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - f
    argTypes:
    - avro_writer_t
    - float
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: size_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t size_float(avro_writer_t writer, const float f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:215,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - reader
    - f
    argTypes:
    - avro_reader_t
    - float*
    constantsTouched: []
    func_position:
      end: 224
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 224
    functionName: read_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: 'static int read_float(avro_reader_t reader, float *f) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:274,1
    - Dst: AVRO_READ
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - reader
    - d
    argTypes:
    - avro_reader_t
    - double*
    constantsTouched: []
    func_position:
      end: 287
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 287
    functionName: read_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/encoding_binary.c
    functionUses: []
    functionsReached:
    - AVRO_READ
    linkageType: ''
    returnType: int
    signature: 'static int read_double(avro_reader_t reader, double *d) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:32,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:42,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:32,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:35,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:42,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:43,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:43,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 50
    functionName: write_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - avro_value_write
    - check
    - check_prefix
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int write_array_value(avro_writer_t writer, avro_value_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:85,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:90,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:90,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:85,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:91,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: write_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - avro_value_write
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: 'static int write_record_value(avro_writer_t writer, avro_value_t *src) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:141,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:148,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:169,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:187,1
    - Dst: write_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:192,1
    - Dst: write_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:198,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:115,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:134,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:141,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:161,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:169,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:179,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:187,1
    - Dst: avro_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:188,1
    - Dst: write_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:195,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:127,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:119,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:134,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:155,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:161,1
    - Dst: write_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:174,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:179,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:119,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:127,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:148,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:155,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:202,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 208
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 208
    functionName: avro_value_write
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - avro_value_get_enum
    - write_record_value
    - avro_value_get_string
    - avro_value_get_bytes
    - write_map_value
    - avro_value_get_null
    - avro_write
    - write_array_value
    - check
    - avro_set_error
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_int
    - write_union_value
    - avro_value_get_type
    - avro_value_get_boolean
    - avro_value_get_double
    linkageType: ''
    returnType: int
    signature: 'int avro_value_write(avro_writer_t writer, avro_value_t *src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:58,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:61,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:58,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:69,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:69,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:70,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:71,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:71,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: write_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - avro_value_write
    - check
    - check_prefix
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: 'static int write_map_value(avro_writer_t writer, avro_value_t *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:104,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:106,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:105,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:105,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:104,1
    - Dst: avro_value_write
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - writer
    - src
    argTypes:
    - avro_writer_t
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: write_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-write.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - avro_value_write
    - check
    - avro_value_get_discriminant
    linkageType: ''
    returnType: int
    signature: 'static int write_union_value(avro_writer_t writer, avro_value_t *src) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: avro_realloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:76,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - array
    - desired_count
    argTypes:
    - avro_raw_array_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: avro_raw_array_ensure_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_realloc
    linkageType: ''
    returnType: int
    signature: 'int avro_raw_array_ensure_size(avro_raw_array_t *array, size_t desired_count) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:37,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: avro_raw_array_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached:
    - avro_free
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_array_done(avro_raw_array_t *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - array
    - element_size
    argTypes:
    - avro_raw_array_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: avro_raw_array_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_array_init(avro_raw_array_t *array, size_t element_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:93,1
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:93,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - array
    - desired_count
    argTypes:
    - avro_raw_array_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: avro_raw_array_ensure_size0
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached:
    - avro_raw_array_ensure_size
    - check
    - memset
    linkageType: ''
    returnType: int
    signature: 'int avro_raw_array_ensure_size0(avro_raw_array_t *array, size_t desired_count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: avro_raw_array_clear
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void avro_raw_array_clear(avro_raw_array_t *array) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_ensure_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - array
    argTypes:
    - avro_raw_array_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: avro_raw_array_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/array.c
    functionUses: []
    functionsReached:
    - avro_raw_array_ensure_size
    linkageType: ''
    returnType: void*
    signature: 'void *avro_raw_array_append(avro_raw_array_t *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:108,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:109,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:109,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:108,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: sizeof_union_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - sizeof_value
    - check
    - avro_value_get_discriminant
    linkageType: ''
    returnType: int
    signature: 'static int sizeof_union_value(avro_value_t *src, size_t *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:65,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:65,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:74,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:74,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:76,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 82
    functionName: sizeof_map_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - sizeof_value
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: 'static int sizeof_map_value(avro_value_t *src, size_t *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:42,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:50,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:50,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:42,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:51,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 57
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 57
    functionName: sizeof_array_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - sizeof_value
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: 'static int sizeof_array_value(avro_value_t *src, size_t *size) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:123,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:156,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:164,1
    - Dst: sizeof_record_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:208,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:123,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:140,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:164,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:171,1
    - Dst: sizeof_array_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:186,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:191,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:119,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:132,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:140,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:148,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:171,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:180,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:191,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:199,1
    - Dst: sizeof_union_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:211,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:215,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:132,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:156,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:148,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:180,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:199,1
    - Dst: sizeof_map_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:205,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 221
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 221
    functionName: sizeof_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - avro_value_get_enum
    - sizeof_map_value
    - avro_value_get_string
    - avro_value_get_bytes
    - sizeof_array_value
    - avro_value_get_null
    - avro_set_error
    - check
    - avro_value_get_fixed
    - avro_value_get_float
    - avro_value_get_int
    - sizeof_record_value
    - sizeof_union_value
    - avro_value_get_type
    - avro_value_get_boolean
    - avro_value_get_double
    linkageType: ''
    returnType: int
    signature: 'static int sizeof_value(avro_value_t *src, size_t *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:89,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:95,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:89,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:94,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:94,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: sizeof_record_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - sizeof_value
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: 'static int sizeof_record_value(avro_value_t *src, size_t *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:226,1
    - Dst: sizeof_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c:228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 229
    functionName: avro_value_sizeof
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/value-sizeof.c
    functionUses: []
    functionsReached:
    - check_param
    - sizeof_value
    linkageType: ''
    returnType: int
    signature: 'int avro_value_sizeof(avro_value_t *src, size_t *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:35,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - key
    - datum
    - vst
    argTypes:
    - char*
    - avro_datum_t
    - struct validate_st*
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: schema_map_validate_foreach
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c
    functionUses: []
    functionsReached:
    - avro_schema_datum_validate
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int schema_map_validate_foreach(char *key, avro_datum_t datum,\t\t\t
      struct validate_st *vst) "
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_datum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:48,1
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:58,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:70,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:80,1
    - Dst: avro_datum_to_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:69,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:80,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:77,1
    - Dst: is_avro_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:84,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:85,1
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:99,1
    - Dst: avro_datum_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:136,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:173,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:142,1
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:61,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:68,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:73,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:76,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:76,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:73,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:185,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:122,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:147,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:155,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:134,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:47,1
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:55,1
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:64,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:81,1
    - Dst: avro_schema_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:92,1
    - Dst: avro_datum_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:101,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:108,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:109,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:110,1
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:120,1
    - Dst: is_avro_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:132,1
    - Dst: avro_schema_datum_validate
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:185,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:48,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:53,1
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:67,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:81,1
    - Dst: avro_datum_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:86,1
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:89,1
    - Dst: avro_datum_to_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:90,1
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:124,1
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:162,1
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:153,1
    - Dst: avro_record_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:165,1
    - Dst: avro_datum_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c:124,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 87
    argCount: 2
    argNames:
    - expected_schema
    - datum
    argTypes:
    - avro_schema_t
    - avro_datum_t
    constantsTouched: []
    func_position:
      end: 192
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 192
    functionName: avro_schema_datum_validate
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_validate.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - is_avro_enum
    - st_lookup
    - avro_schema_to_fixed
    - is_avro_string
    - avro_datum_to_map
    - avro_datum_to_enum
    - avro_schema_to_array
    - is_avro_fixed
    - is_avro_float
    - avro_schema_to_record
    - avro_datum_to_array
    - st_foreach
    - is_avro_bytes
    - is_avro_boolean
    - check_param
    - avro_datum_to_fixed
    - avro_schema_datum_validate
    - is_avro_record
    - avro_schema_to_link
    - is_avro_map
    - is_avro_array
    - is_avro_union
    - is_avro_double
    - is_avro_null
    - avro_datum_to_int64
    - avro_schema_to_union
    - is_avro_int32
    - avro_datum_to_union
    - avro_record_get
    - is_avro_int64
    - avro_schema_to_enum
    - avro_typeof
    - is_avro_datum
    linkageType: ''
    returnType: int
    signature: 'int avro_schema_datum_validate(avro_schema_t expected_schema, avro_datum_t
      datum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - avro_memoize_key_t*
    - avro_memoize_key_t*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: avro_memoize_key_cmp
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int avro_memoize_key_cmp(avro_memoize_key_t *a, avro_memoize_key_t
      *b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:70,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:72,1
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - key
    - result
    - dummy
    argTypes:
    - avro_memoize_key_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: avro_memoize_free_key
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - avro_freet
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_memoize_free_key(avro_memoize_key_t *key, void *result,
      void *dummy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - mem
    - key1
    - key2
    - result
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 108
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 108
    functionName: avro_memoize_get
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - st_lookup
    linkageType: ''
    returnType: int
    signature: "int avro_memoize_get(avro_memoize_t *mem,\t\t void *key1, void *key2,\t\t
      void **result) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: st_foreach
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:80,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:82,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - avro_memoize_t*
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: avro_memoize_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - st_foreach
    - st_free_table
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_memoize_done(avro_memoize_t *mem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - avro_memoize_key_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: avro_memoize_key_hash
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int avro_memoize_key_hash(avro_memoize_key_t *a) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:62,1
    - Dst: st_init_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - avro_memoize_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: avro_memoize_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - st_init_table
    - memset
    linkageType: ''
    returnType: void
    signature: 'void avro_memoize_init(avro_memoize_t *mem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:131,1
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:140,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:144,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - key1
    - key2
    - result
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 145
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 145
    functionName: avro_memoize_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - st_insert
    - avro_new
    - st_lookup
    linkageType: ''
    returnType: void
    signature: "void avro_memoize_set(avro_memoize_t *mem,\t\t void *key1, void *key2,\t\t
      void *result) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:161,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - key1
    - key2
    argTypes:
    - avro_memoize_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 164
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 164
    functionName: avro_memoize_delete
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/memoize.c
    functionUses: []
    functionsReached:
    - st_delete
    - avro_freet
    linkageType: ''
    returnType: void
    signature: 'void avro_memoize_delete(avro_memoize_t *mem, void *key1, void *key2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:617,1
    - Dst: avro_value_get_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 622
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 622
    functionName: avro_resolved_link_writer_get_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_boolean(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1324,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1328,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1327,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1327,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1330
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1330
    functionName: avro_resolved_writer_set_int_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_long
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_int_long(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:994,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 999
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 999
    functionName: avro_resolved_link_writer_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_branch(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int discriminant,\t\t\t\t avro_value_t *branch) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2557,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2562,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2565
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2565
    functionName: avro_resolved_union_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_done
    - avro_resolved_union_branch
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_union_writer_done(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:628,1
    - Dst: avro_value_get_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: avro_resolved_link_writer_get_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_bytes(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1004,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1020,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1019,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1067,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 60
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1068
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1068
    functionName: avro_resolved_link_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_link_writer_t*
    signature: 'static avro_resolved_link_writer_t *avro_resolved_link_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1337,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1338,1
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1343,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1339,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1344,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1345,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1349,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1350,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1351,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1355,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1356,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1357,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1362
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1362
    functionName: try_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - is_avro_int64
    - is_avro_double
    - avro_memoize_set
    - is_avro_int32
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: "static int try_int(memoize_state_t *state, avro_resolved_writer_t
      **self,\tavro_schema_t wschema, avro_schema_t rschema,\tavro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2571,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2579,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2583
    functionName: avro_resolved_union_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_union_branch
    - avro_resolved_writer_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_union_writer_reset(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:261,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:262,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:265,1
    - Dst: st_init_numtable
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:267,1
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:263,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:268,1
    - Dst: st_free_table
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: avro_resolved_writer_decref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - free_resolver
    - DEBUG
    - avro_refcount_dec
    - st_init_numtable
    - st_free_table
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_decref_iface(avro_value_iface_t *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:947,1
    - Dst: avro_value_get_discriminant
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 952
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 952
    functionName: avro_resolved_link_writer_get_discriminant
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_discriminant
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_discriminant(const avro_value_iface_t
      *iface,\t\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:284,1
    - Dst: avro_value_reset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:287,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:286,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: avro_resolved_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_reset
    - check
    - avro_resolved_writer_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_writer_reset(const avro_value_iface_t *viface,
      void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:958,1
    - Dst: avro_value_get_current_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 963
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 963
    functionName: avro_resolved_link_writer_get_current_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_current_branch
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_current_branch(const avro_value_iface_t
      *iface,\t\t\t\t\t const void *vself, avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1844,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1851,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1850,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1854,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1849,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1855
    functionName: avro_resolved_map_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_writer_calculate_size(avro_resolved_writer_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:639,1
    - Dst: avro_value_grab_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 644
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 644
    functionName: avro_resolved_link_writer_grab_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_grab_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_grab_bytes(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:650,1
    - Dst: avro_value_get_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - double*
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: avro_resolved_link_writer_get_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_double(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, double *out) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2490,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2497,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2496,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2495,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2503,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2505,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2509,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2516,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2520
    functionName: avro_resolved_union_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_union_writer_calculate_size(avro_resolved_writer_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1197,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1201,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1202,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1200,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 1203
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1203
    functionName: avro_resolved_writer_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_double
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_double(const avro_value_iface_t
      *viface,\t\t\t\tvoid *vself, double val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:534,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:539,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:538,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:536,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 541
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 541
    functionName: avro_resolved_link_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_link_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:792,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:796,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - double
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: avro_resolved_link_writer_set_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_double
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_double(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, double val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1662,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1677,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1663,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1676,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1685
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1685
    functionName: avro_resolved_array_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_array_writer_t*
    signature: 'static avro_resolved_array_writer_t *avro_resolved_array_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1861,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1862,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1864,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1865,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1866
    functionName: avro_resolved_map_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:548,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:553,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:562,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:557,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 567
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 567
    functionName: avro_resolved_link_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_malloc
    - DEBUG
    - avro_free
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_writer_init(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:803,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 808
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 808
    functionName: avro_resolved_link_writer_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_float(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, float val) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1210,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1212,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1216
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1216
    functionName: try_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - avro_memoize_set
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "static int try_double(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1696,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1710,1
    - Dst: avro_resolved_array_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1707,1
    - Dst: avro_schema_array_items
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1711,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1708,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1714,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1716,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1717,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1730
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1730
    functionName: try_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_array_writer_create
    - avro_prefix_error
    - is_avro_array
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_schema_array_items
    - avro_resolved_writer_new_memoized
    - avro_memoize_delete
    linkageType: ''
    returnType: int
    signature: "static int try_array(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1872,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1875,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1878
      start: 1868
    functionDepth: 0
    functionLinenumber: 1868
    functionLinenumberEnd: 1878
    functionName: avro_resolved_map_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_raw_array_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_map_writer_init(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1229,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1233,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1232,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1232,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 1235
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1235
    functionName: avro_resolved_writer_set_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_float(const avro_value_iface_t
      *viface,\t\t\t void *vself, float val) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1933,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1938,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1935,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1952,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1938,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1953,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1953,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1957,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1958,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1960,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1963,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1963,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1967,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1966,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 6
    argNames:
    - viface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1979
    functionName: avro_resolved_map_writer_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - avro_set_error
    - check
    - avro_value_add
    - avro_raw_array_append
    - DEBUG
    - avro_raw_array_get_raw
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_map_writer_add(const avro_value_iface_t *viface,\t\t\t
      void *vself, const char *key,\t\t\t avro_value_t *child, size_t *index, int
      *is_new) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1243,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1246,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1246,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1248,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - float
    constantsTouched: []
    func_position:
      end: 1249
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1249
    functionName: avro_resolved_writer_set_float_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_double
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_float_double(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, float val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1984,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1999,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2006,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1998,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2007
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2007
    functionName: avro_resolved_map_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_map_writer_t*
    signature: 'static avro_resolved_map_writer_t *avro_resolved_map_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:213,1
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - viface
    argTypes:
    - avro_value_iface_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: avro_resolved_writer_incref_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    - container_of
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'static avro_value_iface_t *avro_resolved_writer_incref_iface(avro_value_iface_t
      *viface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:814,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 819
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 819
    functionName: avro_resolved_link_writer_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_int(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1118,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1122,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1123,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1121,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1124
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1124
    functionName: avro_resolved_writer_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_boolean
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_boolean(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1578,1
    - Dst: avro_raw_array_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1582,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1584
    functionName: avro_resolved_array_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_raw_array_init
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_array_writer_init(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1601,1
    - Dst: avro_resolved_array_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1603,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1605
    functionName: avro_resolved_array_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_array_writer_free_elements
    - avro_raw_array_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_writer_done(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2155,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2162,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2162,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2169
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2169
    functionName: avro_resolved_record_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_writer_init
    - check
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_record_writer_init(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2277,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2293,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2292,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2278,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2301
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2301
    functionName: avro_resolved_record_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_record_writer_t*
    signature: 'static avro_resolved_record_writer_t *avro_resolved_record_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: st_lookup
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:222,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:223,1
    - Dst: st_insert
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:228,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:229,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:230,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 234
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 234
    functionName: free_resolver
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_schema_type_name
    - DEBUG
    - st_insert
    - st_lookup
    linkageType: ''
    returnType: void
    signature: 'static void free_resolver(avro_resolved_writer_t *iface, st_table
      *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:825,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: avro_resolved_link_writer_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_long(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1591,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1592,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_writer_t*
    - avro_resolved_array_value_t*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1595
    functionName: avro_resolved_array_writer_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_done
    - avro_raw_array_size
    - avro_raw_array_get_raw
    linkageType: ''
    returnType: void
    signature: "static void avro_resolved_array_writer_free_elements(const avro_resolved_writer_t
      *child_iface,\t\t\t\t\t avro_resolved_array_value_t *self) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1611,1
    - Dst: avro_raw_array_clear
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1616,1
    - Dst: avro_resolved_array_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: avro_resolved_array_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_array_writer_free_elements
    - avro_raw_array_clear
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_array_writer_reset(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2175,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2184,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2187
    functionName: avro_resolved_record_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_writer_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_writer_done(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2313,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2317,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2320,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2353,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2379,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2354,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2405,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2441,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2455,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2347,1
    - Dst: avro_schema_record_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2348,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2350,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2393,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2355,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2454,1
    - Dst: avro_schema_record_field_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2362,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2364,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2370,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2360,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2410,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2442,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2453,1
    - Dst: avro_resolved_record_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2344,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2318,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2345,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2407,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2418,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2448,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2457
      start: 2303
    functionDepth: 0
    functionLinenumber: 2303
    functionLinenumberEnd: 2457
    functionName: try_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - avro_schema_name
    - avro_prefix_error
    - avro_set_error
    - strcmp
    - avro_resolved_record_writer_create
    - avro_value_iface_decref
    - avro_schema_record_size
    - DEBUG
    - avro_memoize_set
    - is_avro_record
    - avro_resolved_writer_new_memoized
    - avro_schema_record_field_get_by_index
    - avro_memoize_delete
    - avro_schema_record_field_name
    - avro_free
    - avro_calloc
    linkageType: ''
    returnType: int
    signature: "static int try_record(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_memoize_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2877,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2885,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2899,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2887,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2896,1
    - Dst: avro_memoize_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2910
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2910
    functionName: avro_resolved_writer_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_new_memoized
    - avro_memoize_init
    - avro_memoize_done
    - avro_resolved_writer_calculate_size
    linkageType: ''
    returnType: avro_value_iface_t*
    signature: 'avro_value_iface_t *avro_resolved_writer_new(avro_schema_t wschema,
      avro_schema_t rschema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1075,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1090,1
    - Dst: avro_resolved_link_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1086,1
    - Dst: avro_schema_link_target
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1084,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1087,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1092,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1093,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1094,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1095,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1095,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1105
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1105
    functionName: try_link
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_link_writer_create
    - avro_strerror
    - avro_prefix_error
    - avro_schema_link_target
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_resolved_writer_new_memoized
    - avro_memoize_delete
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int try_link(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:312,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:324,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:313,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 331
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 331
    functionName: avro_resolved_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_writer_t*
    signature: 'static avro_resolved_writer_t *avro_resolved_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:704,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: avro_resolved_link_writer_get_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_string(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const char **str, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1448,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1451,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1452,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1451,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1454
    functionName: avro_resolved_writer_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - avro_value_set_null
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_null(const avro_value_iface_t
      *viface,\t\t\t void *vself) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:347,1
    - Dst: avro_value_set_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:351,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - iface
    - dest
    - real_dest
    argTypes:
    - avro_resolved_writer_t*
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: avro_resolved_writer_get_real_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_value_set_branch
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "static inline int avro_resolved_writer_get_real_dest(const avro_resolved_writer_t
      *iface,\t\t\t\t const avro_value_t *dest, avro_value_t *real_dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:715,1
    - Dst: avro_value_grab_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 720
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 720
    functionName: avro_resolved_link_writer_grab_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_grab_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_grab_string(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1461,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1463,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1467
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1467
    functionName: try_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - avro_memoize_set
    - is_avro_null
    linkageType: ''
    returnType: int
    signature: "static int try_null(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:879,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 884
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 884
    functionName: avro_resolved_link_writer_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_enum(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:924,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:928,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 929
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 929
    functionName: avro_resolved_link_writer_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_index
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_by_index(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, size_t index,\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1508,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1513,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1512,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1511,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1514
    functionName: avro_resolved_writer_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_give_string_len
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_give_string_len(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:890,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 895
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 895
    functionName: avro_resolved_link_writer_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_fixed(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:936,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:940,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - iface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 941
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 941
    functionName: avro_resolved_link_writer_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_by_name
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_by_name(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const char *name,\t\t\t\t avro_value_t *child,
      size_t *index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1521,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1523,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1529
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1529
    functionName: try_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - is_avro_string
    - avro_memoize_set
    linkageType: ''
    returnType: int
    signature: "static int try_string(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:596,1
    - Dst: avro_value_get_type
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 601
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 601
    functionName: avro_resolved_link_writer_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_type
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_resolved_link_writer_get_type(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1375,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1379,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1378,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1378,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1381
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1381
    functionName: avro_resolved_writer_set_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_long
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_long(const avro_value_iface_t
      *viface,\t\t\t void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:606,1
    - Dst: avro_value_get_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: avro_resolved_link_writer_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_schema
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_resolved_link_writer_get_schema(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1389,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1392,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1394,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1392,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1395
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1395
    functionName: avro_resolved_writer_set_long_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_double
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_long_double(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1282,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1285,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1286,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1287,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1288
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1288
    functionName: avro_resolved_writer_set_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - avro_value_set_int
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_int(const avro_value_iface_t *viface,\t\t\t
      void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:242,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:243,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: avro_resolved_writer_calculate_size_
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_calculate_size_(avro_resolved_writer_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:770,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 775
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 775
    functionName: avro_resolved_link_writer_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_bytes(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2194,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2201,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2201,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2203,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2208
    functionName: avro_resolved_record_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - check
    - avro_resolved_writer_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_record_writer_reset(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2526,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2539,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2532,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2540,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2535,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2541,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 2542
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2542
    functionName: avro_resolved_union_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - free_resolver
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_union_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:251,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:253,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:254,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: avro_resolved_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_freet
    - avro_schema_decref
    - AVRO_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:781,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:785,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 786
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 786
    functionName: avro_resolved_link_writer_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_give_bytes
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_give_bytes(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2214,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2218,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2221
    functionName: avro_resolved_record_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_writer_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2544
    functionDepth: 0
    functionLinenumber: 2544
    functionLinenumberEnd: 2551
    functionName: avro_resolved_union_writer_init
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_union_writer_init(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:142,1
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:143,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:150,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:154,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:156,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - viface
    - value
    argTypes:
    - avro_value_iface_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 166
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 166
    functionName: avro_resolved_writer_new_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_iface_incref
    - avro_malloc
    - memset
    - avro_free
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: "int avro_resolved_writer_new_value(avro_value_iface_t *viface,\t\t\t
      avro_value_t *value) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:573,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:577,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:578,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 581
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 581
    functionName: avro_resolved_link_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_free
    - container_of
    - DEBUG
    - avro_resolved_writer_done
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_link_writer_done(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1131,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1133,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1137
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1137
    functionName: try_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - is_avro_boolean
    - avro_memoize_set
    linkageType: ''
    returnType: int
    signature: "static int try_boolean(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1296,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1299,1
    - Dst: avro_value_set_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1301,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1300,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1299,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1302
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1302
    functionName: avro_resolved_writer_set_int_double
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_double
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_int_double(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1480,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1484,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1483,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1485,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1486
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1486
    functionName: avro_resolved_writer_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_string
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_string(const avro_value_iface_t
      *viface,\t\t\t\tvoid *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1550,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1555,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1560,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1557,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1561
    functionName: avro_resolved_array_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_writer_calculate_size(avro_resolved_writer_t
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_equal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1816,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1818,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1823
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1823
    functionName: try_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - avro_schema_equal
    - avro_memoize_set
    linkageType: ''
    returnType: int
    signature: "static int try_fixed(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_union_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2682,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2687,1
    - Dst: avro_resolved_union_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2686,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2683,1
    - Dst: avro_calloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2690,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2696,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2698,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2699,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2710,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2712,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2726,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2714,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2754,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2727,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2743,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2742,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2729,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2749,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2756
      start: 2658
    functionDepth: 0
    functionLinenumber: 2658
    functionLinenumberEnd: 2756
    functionName: try_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_free
    - avro_set_error
    - avro_resolved_union_writer_create
    - avro_value_iface_decref
    - DEBUG
    - avro_memoize_set
    - avro_resolved_writer_new_memoized
    - avro_schema_union_size
    - avro_memoize_delete
    - avro_schema_union_branch
    - avro_calloc
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_writer_t*
    signature: "static avro_resolved_writer_t *try_union(memoize_state_t *state,\t
      avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:172,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:175,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:177,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: avro_resolved_writer_free_value
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_free
    - container_of
    - avro_resolved_writer_done
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_free_value(const avro_value_iface_t
      *viface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:587,1
    - Dst: avro_resolved_writer_reset_wrappers
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 591
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 591
    functionName: avro_resolved_link_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_reset_wrappers
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_writer_reset(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1310,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1313,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1313,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1314,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1316
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1316
    functionName: avro_resolved_writer_set_int_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_int_float(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int32_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1494,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1497,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1498,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1499,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - viface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1500
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1500
    functionName: avro_resolved_writer_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_string_len
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_string_len(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, const char *str, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1567,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1571,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1569,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1568,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1572
    functionName: avro_resolved_array_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - free_resolver
    - container_of
    - avro_freet
    - avro_schema_decref
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_array_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:120,1
    - Dst: avro_value_copy_ref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - resolved
    - dest
    argTypes:
    - avro_value_t*
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: avro_resolved_writer_set_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_copy_ref
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: "void avro_resolved_writer_set_dest(avro_value_t *resolved,\t\t\t avro_value_t
      *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1164,1
    - Dst: avro_value_give_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1169,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1168,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1167,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1170
    functionName: avro_resolved_writer_give_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - avro_value_give_bytes
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_give_bytes(const avro_value_iface_t
      *viface,\t\t\t\tvoid *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1256,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1258,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1263,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1257,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1262,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1269
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1269
    functionName: try_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - avro_memoize_set
    - is_avro_float
    - is_avro_double
    linkageType: ''
    returnType: int
    signature: "static int try_float(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1743,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1747,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1746,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1746,1
    - Dst: avro_value_set_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1749
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1749
    functionName: avro_resolved_writer_set_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_enum
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_enum(const avro_value_iface_t
      *viface,\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1905,1
    - Dst: avro_resolved_map_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1911
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1911
    functionName: avro_resolved_map_writer_reset
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_map_writer_free_elements
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_map_writer_reset(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - resolved
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: avro_resolved_writer_clear_dest
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_decref
    linkageType: ''
    returnType: void
    signature: 'void avro_resolved_writer_clear_dest(avro_value_t *resolved) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1177,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1179,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1184
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1184
    functionName: try_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_create
    - avro_memoize_set
    - is_avro_bytes
    linkageType: ''
    returnType: int
    signature: "static int try_bytes(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1761,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1762,1
    - Dst: strcmp
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1765,1
    - Dst: avro_schema_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1763,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1766,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1772
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1772
    functionName: try_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - is_avro_enum
    - avro_schema_name
    - avro_resolved_writer_create
    - strcmp
    - avro_memoize_set
    linkageType: ''
    returnType: int
    signature: "static int try_enum(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1919,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1923,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1922,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1922,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1924
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1924
    functionName: avro_resolved_map_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_map_writer_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1150,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1154,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1153,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1153,1
    - Dst: avro_value_set_bytes
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1156
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1156
    functionName: avro_resolved_writer_set_bytes
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - avro_value_set_bytes
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_bytes(const avro_value_iface_t
      *viface,\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2767,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2768,1
    - Dst: skip_links
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2770,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2801,1
    - Dst: avro_value_iface_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2784,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2813,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2837,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2856,1
    - Dst: avro_memoize_get
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2778,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2779,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2782,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2783,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2789,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2798,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2817,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2841,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2860,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2767,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2768,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2780,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2788,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2805,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2821,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2829,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2845,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2781,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2787,1
    - Dst: is_avro_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2790,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2791,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2809,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2825,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2833,1
    - Dst: check_simple_writer
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2849,1
    - Dst: try_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2853,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 3
    argNames:
    - state
    - wschema
    - rschema
    argTypes:
    - memoize_state_t*
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2865
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2865
    functionName: avro_resolved_writer_new_memoized
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - skip_links
    - check_simple_writer
    - avro_value_iface_incref
    - avro_set_error
    - check_param
    - is_avro_link
    - DEBUG
    - avro_typeof
    - avro_memoize_get
    - try_union
    - is_avro_schema
    - avro_schema_type_name
    linkageType: ''
    returnType: avro_resolved_writer_t*
    signature: "static avro_resolved_writer_t *avro_resolved_writer_new_memoized(memoize_state_t
      *state,\t\t\t\t avro_schema_t wschema, avro_schema_t rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: avro_resolved_writer_incref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_incref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:293,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:295,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 297
    functionName: avro_resolved_writer_get_type
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_typeof
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_type_t
    signature: 'static avro_type_t avro_resolved_writer_get_type(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:661,1
    - Dst: avro_value_get_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - float*
    constantsTouched: []
    func_position:
      end: 666
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 666
    functionName: avro_resolved_link_writer_get_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_float
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_float(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, float *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:726,1
    - Dst: avro_value_get_enum
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int*
    constantsTouched: []
    func_position:
      end: 731
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: avro_resolved_link_writer_get_enum
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_enum
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_enum(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:748,1
    - Dst: avro_value_grab_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - dest
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 753
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 753
    functionName: avro_resolved_link_writer_grab_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_grab_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_grab_fixed(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, avro_wrapped_buffer_t *dest) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:835,1
    - Dst: avro_value_set_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 840
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 840
    functionName: avro_resolved_link_writer_set_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_writer_set_null(const avro_value_iface_t
      *iface, void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:857,1
    - Dst: avro_value_set_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:861,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - str
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 862
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 862
    functionName: avro_resolved_link_writer_set_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_string_len(const avro_value_iface_t
      *iface,\t\t\t\t\t void *vself, const char *str, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:970,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 975
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 975
    functionName: avro_resolved_link_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_append
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_append(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_value_t *child_out,\t\t\t\t size_t *new_index) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:203,1
    - Dst: avro_resolved_writer_free_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: avro_resolved_writer_decref
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_refcount_dec
    - avro_resolved_writer_free_value
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_writer_decref(avro_value_t *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:302,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - viface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: avro_resolved_writer_get_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - AVRO_UNUSED
    linkageType: ''
    returnType: avro_schema_t
    signature: 'static avro_schema_t avro_resolved_writer_get_schema(const avro_value_iface_t
      *viface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:672,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: avro_resolved_link_writer_get_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_int
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_int(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int32_t *out) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:737,1
    - Dst: avro_value_get_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - iface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void**
    - size_t*
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: avro_resolved_link_writer_get_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_fixed(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, const void **buf, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:759,1
    - Dst: avro_value_set_boolean
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 764
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 764
    functionName: avro_resolved_link_writer_set_boolean
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_boolean
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_boolean(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, int val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:846,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - str
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 851
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 851
    functionName: avro_resolved_link_writer_set_string
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_set_string
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_set_string(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, const char *str) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:868,1
    - Dst: avro_value_give_string_len
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 873
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 873
    functionName: avro_resolved_link_writer_give_string_len
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_give_string_len
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_give_string_len(const avro_value_iface_t
      *iface,\t\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:982,1
    - Dst: avro_value_add
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:986,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 6
    argNames:
    - iface
    - vself
    - key
    - child
    - index
    - is_new
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    - int*
    constantsTouched: []
    func_position:
      end: 987
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 987
    functionName: avro_resolved_link_writer_add
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_add
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_add(const avro_value_iface_t
      *iface,\t\t\t void *vself, const char *key,\t\t\t avro_value_t *child, size_t
      *index, int *is_new) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2082,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2089,1
    - Dst: avro_resolved_writer_calculate_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2101,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2088,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2087,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2105,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2108,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2114
    functionName: avro_resolved_record_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - DEBUG
    - avro_resolved_writer_calculate_size
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_writer_calculate_size(avro_resolved_writer_t
      *iface) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2230,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2238,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2232,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2244,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2236,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2244,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2246,1
    - Dst: avro_resolved_record_field
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2248,1
    - Dst: avro_value_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - viface
    - vself
    - index
    - child
    - name
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t
    - avro_value_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2251
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2251
    functionName: avro_resolved_record_writer_get_by_index
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_record_field
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_writer_get_by_index(const avro_value_iface_t
      *viface,\t\t\t\t\t const void *vself, size_t index,\t\t\t\t\t avro_value_t *child,
      const char **name) "
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2120,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2123,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2136,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2131,1
    - Dst: free_resolver
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2133,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2141,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2145,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2146,1
    - Dst: avro_freet
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - iface
    - freeing
    argTypes:
    - avro_resolved_writer_t*
    - st_table*
    constantsTouched: []
    func_position:
      end: 2148
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2148
    functionName: avro_resolved_record_writer_free_iface
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_freet
    - avro_schema_decref
    - free_resolver
    - DEBUG
    - avro_free
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_record_writer_free_iface(avro_resolved_writer_t
      *iface, st_table *freeing) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2259,1
    - Dst: avro_resolved_record_writer_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2271,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2263,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2267,1
    - Dst: avro_schema_record_field_get_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - viface
    - vself
    - name
    - child
    - index
    argTypes:
    - avro_value_iface_t*
    - void*
    - char*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 2272
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2272
    functionName: avro_resolved_record_writer_get_by_name
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_index
    - container_of
    - avro_set_error
    - DEBUG
    - avro_resolved_record_writer_get_by_index
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_record_writer_get_by_name(const avro_value_iface_t
      *viface,\t\t\t\t\tconst void *vself, const char *name,\t\t\t\t\tavro_value_t
      *child, size_t *index) "
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2018,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2032,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2030,1
    - Dst: avro_resolved_map_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2029,1
    - Dst: avro_schema_map_values
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2033,1
    - Dst: avro_resolved_writer_new_memoized
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2036,1
    - Dst: avro_memoize_delete
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2038,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2039,1
    - Dst: avro_prefix_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2040,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2052
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2052
    functionName: try_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - is_avro_map
    - avro_resolved_map_writer_create
    - avro_prefix_error
    - avro_schema_map_values
    - avro_value_iface_decref
    - avro_memoize_set
    - avro_resolved_writer_new_memoized
    - avro_memoize_delete
    linkageType: ''
    returnType: int
    signature: "static int try_map(memoize_state_t *state, avro_resolved_writer_t
      **self,\tavro_schema_t wschema, avro_schema_t rschema,\tavro_schema_t root_rschema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:683,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - out
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 688
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 688
    functionName: avro_resolved_link_writer_get_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_long(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, int64_t *out) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2592,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2602,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2597,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2594,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2601,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2604,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2609,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2612,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2613,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2615,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2617,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2620,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2618,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2618,1
    - Dst: avro_resolved_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2625,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - viface
    - vself
    - discriminant
    - branch
    argTypes:
    - avro_value_iface_t*
    - void*
    - int
    - avro_value_t*
    constantsTouched: []
    func_position:
      end: 2629
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2629
    functionName: avro_resolved_union_writer_set_branch
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_done
    - avro_set_error
    - check
    - avro_resolved_union_branch
    - DEBUG
    - avro_resolved_writer_init
    - avro_schema_type_name
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_union_writer_set_branch(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int discriminant,\t\t\t\t avro_value_t *branch) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:524,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:526,1
    - Dst: avro_schema_type_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - iface
    argTypes:
    - avro_resolved_writer_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: avro_resolved_link_writer_calculate_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - DEBUG
    - avro_schema_type_name
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_link_writer_calculate_size(avro_resolved_writer_t
      *iface) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:693,1
    - Dst: avro_value_get_null
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_value_iface_t*
    - void*
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    functionName: avro_resolved_link_writer_get_null
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_null
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int avro_resolved_link_writer_get_null(const avro_value_iface_t
      *iface, const void *vself) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2634,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2647,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2635,1
    - Dst: avro_schema_incref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2648,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:2655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - wschema
    - rschema
    argTypes:
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 2656
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2656
    functionName: avro_resolved_union_writer_create
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_schema_incref
    - memset
    - avro_new
    linkageType: ''
    returnType: avro_resolved_union_writer_t*
    signature: 'static avro_resolved_union_writer_t *avro_resolved_union_writer_create(avro_schema_t
      wschema, avro_schema_t rschema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:901,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 906
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 906
    functionName: avro_resolved_link_writer_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_give_fixed
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_give_fixed(const avro_value_iface_t
      *iface,\t\t\t\t void *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1403,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1407,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1406,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1406,1
    - Dst: avro_value_set_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - val
    argTypes:
    - avro_value_iface_t*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1409
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1409
    functionName: avro_resolved_writer_set_long_float
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_set_float
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_long_float(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, int64_t val) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1626,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1629,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1630,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - viface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1631
    functionName: avro_resolved_array_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - avro_value_get_size
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_array_writer_get_size(const avro_value_iface_t
      *viface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1785,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1788,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1788,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1789,1
    - Dst: avro_value_set_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - viface
    - vself
    - buf
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 1791
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1791
    functionName: avro_resolved_writer_set_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_value_set_fixed
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_set_fixed(const avro_value_iface_t
      *viface,\t\t\t void *vself, void *buf, size_t size) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_raw_array_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1885,1
    - Dst: avro_raw_array_get_raw
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1886,1
    - Dst: avro_resolved_writer_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - child_iface
    - self
    argTypes:
    - avro_resolved_writer_t*
    - avro_resolved_map_value_t*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1889
    functionName: avro_resolved_map_writer_free_elements
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_resolved_writer_done
    - avro_raw_array_size
    - avro_raw_array_get_raw
    linkageType: ''
    returnType: void
    signature: "static void avro_resolved_map_writer_free_elements(const avro_resolved_writer_t
      *child_iface,\t\t\t\t avro_resolved_map_value_t *self) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:912,1
    - Dst: avro_value_get_size
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - iface
    - vself
    - size
    argTypes:
    - avro_value_iface_t*
    - void*
    - size_t*
    constantsTouched: []
    func_position:
      end: 917
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 917
    functionName: avro_resolved_link_writer_get_size
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - avro_value_get_size
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_link_writer_get_size(const avro_value_iface_t
      *iface,\t\t\t\t const void *vself, size_t *size) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_avro_int64
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1416,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1418,1
    - Dst: is_avro_double
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1422,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1417,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1423,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1424,1
    - Dst: is_avro_float
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1428,1
    - Dst: avro_resolved_writer_create
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1429,1
    - Dst: avro_memoize_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - state
    - self
    - wschema
    - rschema
    - root_rschema
    argTypes:
    - memoize_state_t*
    - avro_resolved_writer_t**
    - avro_schema_t
    - avro_schema_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 1435
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1435
    functionName: try_long
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - is_avro_int64
    - avro_resolved_writer_create
    - is_avro_double
    - avro_memoize_set
    - is_avro_float
    linkageType: ''
    returnType: int
    signature: "static int try_long(memoize_state_t *state, avro_resolved_writer_t
      **self,\t avro_schema_t wschema, avro_schema_t rschema,\t avro_schema_t root_rschema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1640,1
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1642,1
    - Dst: avro_raw_array_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1648,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1645,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1645,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1650,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1654,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1655,1
    - Dst: avro_value_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1655,1
    - Dst: avro_resolved_writer_init
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - viface
    - vself
    - child_out
    - new_index
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_value_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 1657
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1657
    functionName: avro_resolved_array_writer_append
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - avro_set_error
    - check
    - avro_value_append
    - avro_raw_array_append
    - DEBUG
    - avro_resolved_writer_init
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_array_writer_append(const avro_value_iface_t
      *viface,\t\t\t\t void *vself, avro_value_t *child_out,\t\t\t\t size_t *new_index) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1799,1
    - Dst: DEBUG
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1803,1
    - Dst: avro_resolved_writer_get_real_dest
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1802,1
    - Dst: check
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1802,1
    - Dst: avro_value_give_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1804,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - viface
    - vself
    - buf
    argTypes:
    - avro_value_iface_t*
    - void*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1805
    functionName: avro_resolved_writer_give_fixed
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_resolved_writer_get_real_dest
    - check
    - DEBUG
    - avro_value_give_fixed
    linkageType: ''
    returnType: int
    signature: "static int avro_resolved_writer_give_fixed(const avro_value_iface_t
      *viface,\t\t\t\tvoid *vself, avro_wrapped_buffer_t *buf) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1895,1
    - Dst: avro_resolved_map_writer_free_elements
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1897,1
    - Dst: avro_raw_array_done
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c:1898,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - iface
    - vself
    argTypes:
    - avro_resolved_writer_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1899
    functionName: avro_resolved_map_writer_done
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/resolved-writer.c
    functionUses: []
    functionsReached:
    - container_of
    - avro_raw_array_done
    - avro_resolved_map_writer_free_elements
    linkageType: ''
    returnType: void
    signature: 'static void avro_resolved_map_writer_done(const avro_resolved_writer_t
      *iface, void *vself) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:33,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:44,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:39,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:44,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_array_schema_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 52
    functionName: skip_array
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: []
    functionsReached:
    - check_prefix
    - avro_skip_data
    linkageType: ''
    returnType: int
    signature: "static int skip_array(avro_reader_t reader, const avro_encoding_t
      * enc,\t\t struct avro_array_schema_t *writers_schema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:91,1
    - Dst: avro_schema_union_branch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:93,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_union_schema_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: skip_union
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: []
    functionsReached:
    - avro_schema_union_branch
    - check_prefix
    - avro_skip_data
    linkageType: ''
    returnType: int
    signature: "static int skip_union(avro_reader_t reader, const avro_encoding_t
      * enc,\t\t struct avro_union_schema_t *writers_schema) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AVRO_UNUSED
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:106,1
    - Dst: avro_schema_record_field_get_by_index
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:111,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:113,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_record_schema_t*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: skip_record
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: []
    functionsReached:
    - avro_schema_record_field_get_by_index
    - avro_skip_data
    - check_prefix
    - AVRO_UNUSED
    linkageType: ''
    returnType: int
    signature: "static int skip_record(avro_reader_t reader, const avro_encoding_t
      * enc,\t\t struct avro_record_schema_t *writers_schema) "
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:121,1
    - Dst: skip_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:172,1
    - Dst: avro_schema_to_array
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:173,1
    - Dst: avro_typeof
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:127,1
    - Dst: check_param
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:122,1
    - Dst: skip_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:189,1
    - Dst: avro_schema_to_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:190,1
    - Dst: is_avro_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:122,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:195,1
    - Dst: avro_schema_to_link
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:196,1
    - Dst: avro_schema_to_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:184,1
    - Dst: skip_union
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:183,1
    - Dst: skip_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:178,1
    - Dst: avro_skip
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:162,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:178,1
    - Dst: avro_schema_to_fixed
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 2
    argNames:
    - reader
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 201
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 201
    functionName: avro_skip_data
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - skip_map
    - skip_record
    - avro_schema_to_union
    - avro_schema_to_fixed
    - check_param
    - avro_skip_data
    - skip_union
    - avro_typeof
    - avro_schema_to_array
    - avro_schema_to_link
    - avro_skip
    - is_avro_schema
    - skip_array
    - avro_schema_to_record
    linkageType: ''
    returnType: int
    signature: 'int avro_skip_data(avro_reader_t reader, avro_schema_t writers_schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:60,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:66,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:70,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:72,1
    - Dst: avro_skip_data
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:73,1
    - Dst: avro_schema_to_map
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:74,1
    - Dst: check_prefix
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - reader
    - enc
    - writers_schema
    argTypes:
    - avro_reader_t
    - avro_encoding_t*
    - struct avro_map_schema_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 82
    functionName: skip_map
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/datum_skip.c
    functionUses: []
    functionsReached:
    - avro_schema_to_map
    - check_prefix
    - avro_skip_data
    linkageType: ''
    returnType: int
    signature: "static int skip_map(avro_reader_t reader, const avro_encoding_t *
      enc,\t\t struct avro_map_schema_t *writers_schema) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_dec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:35,1
    - Dst: avro_free
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: avro_wrapped_copy_free
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - avro_free
    - avro_refcount_dec
    linkageType: ''
    returnType: void
    signature: 'static void avro_wrapped_copy_free(avro_wrapped_buffer_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:97,1
    - Dst: memset
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: avro_wrapped_buffer_move
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: "void avro_wrapped_buffer_move(avro_wrapped_buffer_t *dest,\t\t\t avro_wrapped_buffer_t
      *src) "
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_malloc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:61,1
    - Dst: avro_refcount_set
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:73,1
    - Dst: memcpy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:75,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 77
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 77
    functionName: avro_wrapped_buffer_new_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - memcpy
    - avro_refcount_set
    - avro_malloc
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_new_copy(avro_wrapped_buffer_t *dest,\t\t\t
      const void *buf, size_t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - dest
    - buf
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 90
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 90
    functionName: avro_wrapped_buffer_new
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_new(avro_wrapped_buffer_t *dest,\t\t\tconst
      void *buf, size_t length) "
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_inc
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - dest
    - src
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: avro_wrapped_copy_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - avro_refcount_inc
    linkageType: ''
    returnType: int
    signature: "static int avro_wrapped_copy_copy(avro_wrapped_buffer_t *dest,\t\t
      const avro_wrapped_buffer_t *src,\t\t size_t offset, size_t length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:107,1
    - Dst: avro_wrapped_buffer_new_copy
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:117,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - dest
    - src
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: avro_wrapped_buffer_copy
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - avro_set_error
    - avro_wrapped_buffer_new_copy
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_copy(avro_wrapped_buffer_t *dest,\t\t\t const
      avro_wrapped_buffer_t *src,\t\t\t size_t offset, size_t length) "
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:128,1
    - Dst: avro_set_error
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - self
    - offset
    - length
    argTypes:
    - avro_wrapped_buffer_t*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 144
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 144
    functionName: avro_wrapped_buffer_slice
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/wrapped-buffer.c
    functionUses: []
    functionsReached:
    - avro_set_error
    linkageType: ''
    returnType: int
    signature: "int avro_wrapped_buffer_slice(avro_wrapped_buffer_t *self,\t\t\t size_t
      offset, size_t length) "
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - numer
    - denom
    argTypes:
    - intmax_t
    - intmax_t
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: imaxdiv
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/msinttypes.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: _inline
    signature: 'static #else // STATIC_IMAXDIV ][ _inline #endif // STATIC_IMAXDIV
      ] imaxdiv_t __cdecl imaxdiv(intmax_t numer, intmax_t denom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __sync_add_and_fetch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - __sync_add_and_fetch
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedDecrement
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedDecrement
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSAtomicDecrement32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - OSAtomicDecrement32
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __sync_sub_and_fetch
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - __sync_sub_and_fetch
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _InterlockedIncrement
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - _InterlockedIncrement
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: avro_refcount_LL_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_LL_int(volatile int *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_LL_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:241,1
    - Dst: avro_refcount_SC_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - avro_refcount_SC_int
    - avro_refcount_LL_int
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_refcount_LL_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:253,1
    - Dst: avro_refcount_SC_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: avro_refcount_dec
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - avro_refcount_SC_int
    - avro_refcount_LL_int
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_dec(volatile int *refcount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSAtomicIncrement32
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - refcount
    argTypes:
    - int*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: avro_refcount_inc
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached:
    - OSAtomicIncrement32
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_inc(volatile int *refcount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refcount
    - value
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: avro_refcount_set
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void avro_refcount_set(volatile int *refcount, int value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - ptr
    - val
    argTypes:
    - int*
    - int
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: avro_refcount_SC_int
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/src/avro/refcount.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int avro_refcount_SC_int(volatile int *ptr, int val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: avro_schema_from_json_literal
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:44,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:45,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: init_schema
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: []
    functionsReached:
    - avro_schema_from_json_literal
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: 'void init_schema(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: init_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:165,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:166,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:166,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:175,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:184,1
    - Dst: print_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:196,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:197,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:197,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:208,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:230,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:218,1
    - Dst: remove
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:160,1
    - Dst: avro_file_writer_create_with_codec
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:162,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:174,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:176,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:198,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:201,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:220,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:231,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:219,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:219,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:232,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:167,1
    - Dst: sprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:173,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:188,1
    - Dst: avro_file_writer_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:186,1
    - Dst: avro_file_reader
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:191,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:177,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:192,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:192,1
    - Dst: avro_schema_record
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:207,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:210,1
    - Dst: print_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:223,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:178,1
    - Dst: avro_file_writer_flush
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:183,1
    - Dst: add_person
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:179,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:193,1
    - Dst: avro_schema_record_field_append
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:212,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:226,1
    - Dst: avro_file_reader_close
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:229,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:225,1
    - Dst: avro_schema_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:235,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:216,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:224,1
    - Dst: avro_schema_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 65
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 237
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: []
    functionsReached:
    - avro_file_reader_close
    - exit
    - avro_strerror
    - avro_schema_decref
    - remove
    - sprintf
    - avro_file_writer_close
    - fprintf
    - avro_schema_record
    - print_person
    - avro_schema_string
    - avro_schema_record_field_append
    - init_schema
    - avro_file_reader
    - add_person
    - avro_file_writer_create_with_codec
    - avro_file_writer_flush
    linkageType: ''
    returnType: int
    signature: 'int main(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:56,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:67,1
    - Dst: avro_value_set_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:68,1
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:59,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:70,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:71,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:73,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:74,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:76,1
    - Dst: avro_value_set_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:77,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:91,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:84,1
    - Dst: avro_value_set_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:80,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:79,1
    - Dst: exit
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:86,1
    - Dst: avro_strerror
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:85,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:90,1
    - Dst: avro_file_writer_append_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - db
    - first
    - last
    - phone
    - age
    argTypes:
    - avro_file_writer_t
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 92
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 92
    functionName: add_person
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: []
    functionsReached:
    - exit
    - avro_strerror
    - avro_value_decref
    - avro_value_set_long
    - avro_value_set_string
    - avro_value_set_int
    - fprintf
    - avro_value_get_by_name
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_writer_append_value
    - avro_generic_class_from_schema
    linkageType: ''
    returnType: void
    signature: "void add_person(avro_file_writer_t db, const char *first, const char
      *last,\t const char *phone, int32_t age) "
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avro_generic_value_new
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:101,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:119,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:121,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:129,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:135,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:126,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:127,1
    - Dst: avro_file_reader_read_value
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:105,1
    - Dst: avro_value_get_long
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:118,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:117,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:122,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:123,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:133,1
    - Dst: avro_value_get_int
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:134,1
    - Dst: avro_value_get_string
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:130,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:131,1
    - Dst: avro_value_iface_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:141,1
    - Dst: avro_value_decref
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:140,1
    - Dst: avro_generic_class_from_schema
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:98,1
    - Dst: avro_value_get_by_name
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - db
    - reader_schema
    argTypes:
    - avro_file_reader_t
    - avro_schema_t
    constantsTouched: []
    func_position:
      end: 144
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 144
    functionName: print_person
    functionSourceFile: /src/tdengine/tools/taos-tools/deps/avro/lang/c/examples/quickstop.c
    functionUses: []
    functionsReached:
    - avro_value_get_long
    - avro_value_decref
    - avro_value_get_string
    - fprintf
    - avro_value_get_by_name
    - avro_generic_value_new
    - avro_value_iface_decref
    - avro_file_reader_read_value
    - avro_generic_class_from_schema
    - avro_value_get_int
    linkageType: ''
    returnType: int
    signature: 'int print_person(avro_file_reader_t db, avro_schema_t reader_schema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:92,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: tCompareLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareLessEqual(void* a, void* b, int8_t
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: idxGetCompar
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - getComparFunc
    linkageType: ''
    returnType: __compar_fn_t
    signature: '__compar_fn_t idxGetCompar(int8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:106,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 111
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 111
    functionName: tCompareGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareGreaterEqual(void* a, void* b,
      int8_t type) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:143,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:149,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:161,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:155,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:169,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:170,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:173,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:181,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:182,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:185,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:191,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexComm.c:191,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexComm.c:206,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:188,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:143,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:151,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:152,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:155,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:163,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:164,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:169,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:175,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:176,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:181,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexComm.c:191,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexComm.c:200,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexComm.c:196,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:187,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:145,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:146,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:151,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:157,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:163,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:158,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:167,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:175,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:179,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:185,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:204,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexComm.c:210,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:214,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:138,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:145,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/libs/index/src/indexComm.c:149,1
    - Dst: taosStr2int16
      Src: /src/tdengine/source/libs/index/src/indexComm.c:161,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:157,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:167,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/index/src/indexComm.c:173,1
    - Dst: CHECKCOMERROR
      Src: /src/tdengine/source/libs/index/src/indexComm.c:179,1
    - Dst: taosStr2int64
      Src: /src/tdengine/source/libs/index/src/indexComm.c:187,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:191,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:194,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 105
    argCount: 5
    argNames:
    - func
    - cmptype
    - a
    - b
    - dtype
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 218
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 218
    functionName: tCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - taosStr2Float
    - taosStr2int16
    - CHECKCOMERROR
    - toUInteger
    - taosStr2Double
    - tDoCompare
    - taosStr2int32
    - strlen
    - taosStr2int8
    - taosStr2int64
    linkageType: ''
    returnType: TExeCond
    signature: 'TExeCond tCompare(__compar_fn_t func, int8_t cmptype, void* a, void*
      b, int8_t dtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexComm.c:258,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:273,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:270,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:261,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:267,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:276,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - itm
    argTypes:
    - SIndexTerm*
    constantsTouched: []
    func_position:
      end: 282
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 282
    functionName: idxPackJsonData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: char*
    signature: 'char * idxPackJsonData(SIndexTerm* itm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexComm.c:319,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:332,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - itm
    - skip
    argTypes:
    - SIndexTerm*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 337
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 337
    functionName: idxPackJsonDataPrefixNoType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: char*
    signature: 'char * idxPackJsonDataPrefixNoType(SIndexTerm* itm, int32_t* skip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - val
    - dst
    - radix
    argTypes:
    - int64_t
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 76
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 76
    functionName: idxInt2str
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * idxInt2str(int64_t val, char* dst, int radix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:99,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tCompareGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareGreaterThan(void* a, void* b,
      int8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:85,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: tCompareLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareLessThan(void* a, void* b, int8_t
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:114,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: tCompareContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareContains(void* a, void* b, int8_t
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompar
      Src: /src/tdengine/source/libs/index/src/indexComm.c:129,1
    - Dst: tCompare
      Src: /src/tdengine/source/libs/index/src/indexComm.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - type
    argTypes:
    - void*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: tCompareEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - tCompare
    - idxGetCompar
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TExeCond tCompareEqual(void* a, void* b, int8_t
      type) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/index/src/indexComm.c:221,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 4
    argNames:
    - func
    - comparType
    - a
    - b
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 246
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 246
    functionName: tDoCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: TExeCond
    signature: 'TExeCond tDoCompare(__compar_fn_t func, int8_t comparType, void* a,
      void* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ty
    argTypes:
    - RangeType
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: idxGetCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: _cache_range_compare
    signature: '_cache_range_compare idxGetCompare(RangeType ty) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexComm.c:289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:298,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:301,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:304,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:292,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexComm.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - itm
    - skip
    argTypes:
    - SIndexTerm*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 313
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 313
    functionName: idxPackJsonDataPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - IDX_TYPE_GET_TYPE
    linkageType: ''
    returnType: char*
    signature: 'char * idxPackJsonDataPrefix(SIndexTerm* itm, int32_t* skip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: idxUidCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int idxUidCompare(const void* a, const void* b) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:361,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:378,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:379,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:394,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:410,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:414,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:426,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:427,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:446,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:446,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:447,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:351,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:370,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:371,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:386,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:387,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:402,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:403,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:418,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:419,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:422,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:435,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:438,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:451,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:463,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:463,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:459,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:458,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:361,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:366,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:378,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:382,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:394,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:395,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:398,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexComm.c:410,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:411,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:426,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:446,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexComm.c:463,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:443,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/indexComm.c:347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:347,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:370,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:374,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:390,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexComm.c:402,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:406,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:434,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:451,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexComm.c:442,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexComm.c:451,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexComm.c:430,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/index/src/indexComm.c:458,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 139
    argCount: 3
    argNames:
    - src
    - type
    - dst
    argTypes:
    - void*
    - int8_t
    - void**
    constantsTouched: []
    func_position:
      end: 472
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 472
    functionName: idxConvertDataToStr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexComm.c
    functionUses: []
    functionsReached:
    - taosStrndup
    - TAOS_UNUSED
    - sprintf
    - taosMemoryCalloc
    - taosEncodeBinary
    - varDataLen
    - varDataVal
    - strlen
    - idxInt2str
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxConvertDataToStr(void* src, int8_t type, void** dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:26,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - registry
    - bNode
    argTypes:
    - FstRegistry*
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: fstRegistryHash
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE uint64_t fstRegistryHash(FstRegistry* registry,
      FstBuilderNode* bNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:104,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:107,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:106,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - registry
    argTypes:
    - FstRegistry*
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: fstRegistryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void fstRegistryDestroy(FstRegistry* registry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:55,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:66,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - arr
    - start
    - end
    argTypes:
    - SArray*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 69
    functionName: fstRegistryCellPromote
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - fstRegistryCellSwap
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void fstRegistryCellPromote(SArray* arr, uint32_t start, uint32_t
      end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:72,1
    - Dst: fstBuilderNodeDefault
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:85,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:78,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:86,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:80,1
    - Dst: fstRegistryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:87,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - tableSize
    - mruSize
    argTypes:
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 96
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 96
    functionName: fstRegistryCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - fstRegistryDestroy
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayPush
    - fstBuilderNodeDefault
    - taosArrayInit
    linkageType: ''
    returnType: FstRegistry*
    signature: 'FstRegistry * fstRegistryCreate(uint64_t tableSize, uint64_t mruSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:36,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:42,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - arr
    - a
    - b
    argTypes:
    - SArray*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 52
    functionName: fstRegistryCellSwap
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void fstRegistryCellSwap(SArray* arr, uint32_t a, uint32_t
      b) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:114,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:137,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:161,1
    - Dst: fstRegistryCellPromote
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:165,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:171,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:132,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:162,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:144,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:125,1
    - Dst: fstBuilderNodeEqual
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:127,1
    - Dst: fstBuilderNodeCloneFrom
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:152,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:148,1
    - Dst: fstRegistryCellSwap
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:155,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:121,1
    - Dst: fstRegistryHash
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:117,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:132,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:173,1
    - Dst: fstRegistryCellPromote
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:175,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 2
    argNames:
    - registry
    - bNode
    argTypes:
    - FstRegistry*
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 182
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 182
    functionName: fstRegistryGetEntry
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeEqual
    - fstBuilderNodeCloneFrom
    - taosArrayGet
    - taosMemoryMalloc
    - TAOS_UNUSED
    - fstRegistryCellPromote
    - fstRegistryHash
    - fstRegistryCellSwap
    - taosArrayGetSize
    linkageType: ''
    returnType: FstRegistryEntry*
    signature: 'FstRegistryEntry * fstRegistryGetEntry(FstRegistry* registry, FstBuilderNode*
      bNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegister.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - FstRegistryEntry*
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: fstRegistryEntryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegister.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void fstRegistryEntryDestroy(FstRegistryEntry* entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: sparSetLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t sparSetLen(FstSparseSet *ss) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:23,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:31,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:29,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:28,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:32,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:33,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:36,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:37,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - sz
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: sparSetCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - sparSetInitBuf
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: FstSparseSet*
    signature: 'FstSparseSet *sparSetCreate(int32_t sz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - ss
    - idx
    - ip
    argTypes:
    - FstSparseSet*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: sparSetGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool sparSetGet(FstSparseSet *ss, int32_t idx, int32_t *ip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - cap
    argTypes:
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 21
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 21
    functionName: sparSetInitBuf
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void sparSetInitBuf(int32_t *buf, int32_t cap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ss
    - ip
    - idx
    argTypes:
    - FstSparseSet*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: sparSetAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool sparSetAdd(FstSparseSet *ss, int32_t ip, int32_t *idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: sparSetDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void sparSetDestroy(FstSparseSet *ss) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - ss
    - ip
    argTypes:
    - FstSparseSet*
    - int32_t
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: sparSetContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool sparSetContains(FstSparseSet *ss, int32_t ip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:98,1
    - Dst: sparSetInitBuf
      Src: /src/tdengine/source/libs/index/src/indexFstSparse.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - ss
    argTypes:
    - FstSparseSet*
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: sparSetClear
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstSparse.c
    functionUses: []
    functionsReached:
    - sparSetInitBuf
    linkageType: ''
    returnType: void
    signature: 'void sparSetClear(FstSparseSet *ss) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:40,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:54,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:50,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:44,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:49,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:55,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:56,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:58,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:59,1
    - Dst: iBinarySearch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:60,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:62,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:76,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: iIntersection
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayPush
    - iBinarySearch
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t iIntersection(SArray *in, SArray *out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:137,1
    - Dst: iBinarySearch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:147,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:138,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:150,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - total
    - except
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: iExcept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArraySet
    - taosArrayPopTailBatch
    - iBinarySearch
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t iExcept(SArray *total, SArray *except) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Val
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:171,1
    - Dst: compareUint32Val
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: verdataCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - compareUint32Val
    - compareUint64Val
    linkageType: ''
    returnType: int
    signature: 'int verdataCompare(const void *a, const void *b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:199,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:200,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tr
    argTypes:
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: idxTRsltClear
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'void idxTRsltClear(SIdxTRslt *tr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - arr
    - s
    - e
    - k
    argTypes:
    - SArray*
    - int
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: iBinarySearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int iBinarySearch(SArray *arr, int s, int e, uint64_t
      k) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:91,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:86,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:86,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:97,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:98,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:118,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:119,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:124,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:132,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 134
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 134
    functionName: iUnion
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayAddAll
    - taosArrayGetLast
    - taosArrayPush
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t iUnion(SArray *in, SArray *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 166
    functionName: uidCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int uidCompare(const void *a, const void *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:180,1
    - Dst: idxTRsltClear
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:190,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:185,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:187,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 194
    functionName: idxTRsltCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - idxTRsltClear
    - taosArrayInit
    linkageType: ''
    returnType: SIdxTRslt*
    signature: 'SIdxTRslt *idxTRsltCreate() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:210,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tr
    argTypes:
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: idxTRsltDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void idxTRsltDestroy(SIdxTRslt *tr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:214,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:218,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:218,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:216,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:215,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:219,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:220,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:229,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:230,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:235,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:239,1
    - Dst: iUnion
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:238,1
    - Dst: iExcept
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:242,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexUtil.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - tr
    - result
    argTypes:
    - SIdxTRslt*
    - SArray*
    constantsTouched: []
    func_position:
      end: 245
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 245
    functionName: idxTRsltMergeTo
    functionSourceFile: /src/tdengine/source/libs/index/src/indexUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArraySort
    - taosArrayPush
    - iExcept
    - taosArrayGetSize
    - iUnion
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxTRsltMergeTo(SIdxTRslt *tr, SArray *result) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - n
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: packSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t packSize(uint64_t n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:78,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:84,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - uint8_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: fstSliceCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: FstSlice
    signature: 'FstSlice fstSliceCreate(uint8_t* data, uint64_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:60,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - nodeAddr
    - transAddr
    argTypes:
    - CompiledAddr
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: packDeltaSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - packSize
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t packDeltaSize(CompiledAddr nodeAddr, CompiledAddr transAddr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:109,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:111,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:117,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:119,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - s
    - start
    - end
    argTypes:
    - FstSlice*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: fstSliceDeepCopy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryFree
    - fstSliceData
    - taosMemoryMalloc
    linkageType: ''
    returnType: FstSlice
    signature: 'FstSlice fstSliceDeepCopy(FstSlice* s, int32_t start, int32_t end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - FstSlice*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: fstSliceData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t*
    signature: 'uint8_t * fstSliceData(FstSlice* s, int32_t* size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ch
    - sz
    argTypes:
    - uint8_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: unpackUint64
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t unpackUint64(uint8_t* ch, uint8_t sz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - data
    - len
    - nodeAddr
    argTypes:
    - char*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: unpackDelta
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - unpackUint64
    linkageType: ''
    returnType: CompiledAddr
    signature: 'CompiledAddr unpackDelta(char* data, uint64_t len, uint64_t nodeAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    functionName: fstSliceIsEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fstSliceIsEmpty(FstSlice* s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: fstSliceDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: void
    signature: 'void fstSliceDestroy(FstSlice* s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:154,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:155,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FstSlice*
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: fstSliceCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - fstSliceData
    linkageType: ''
    returnType: int
    signature: 'int fstSliceCompare(FstSlice* a, FstSlice* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:100,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/index/src/indexFstUtil.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - s
    - start
    - end
    argTypes:
    - FstSlice*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: fstSliceCopy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstUtil.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - atomic_add_fetch_32
    linkageType: ''
    returnType: FstSlice
    signature: 'FstSlice fstSliceCopy(FstSlice* s, int32_t start, int32_t end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - ty
    argTypes:
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: sifValidOp
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifValidOp(EOperatorType ty) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:461,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: sifEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - tDoCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int sifEqual(void *a, void *b, int16_t dtype) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:651,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:652,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:653,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 657
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 657
    functionName: sifShouldUseIndexBasedOnType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - IS_NUMERIC_TYPE
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t sifShouldUseIndexBasedOnType(SIFParam *left, SIFParam
      *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 741
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 741
    functionName: sifEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifEqualFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: sifInFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifInFunc(SIFParam *left, SIFParam *right,
      SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:773,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 774
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 774
    functionName: sifJsonContains
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifJsonContains(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sifValidOp
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:850,1
    - Dst: sifGetOperParamNum
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:857,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:867,1
    - Dst: sifInitOperParams
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:867,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:880,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:880,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:881,1
    - Dst: operFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:881,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:889,1
    - Dst: sifGetOperFn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:893,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:892,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SIFCtx*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 900
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 900
    functionName: sifExecOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - SIF_ERR_RET
    - taosMemoryFree
    - sifFreeParam
    - sifGetOperParamNum
    - SIF_ERR_JRET
    - operFn
    - sifValidOp
    - sifGetOperFn
    - sifInitOperParams
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifExecOper(SOperatorNode *node, SIFCtx *ctx, SIFParam
      *output) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - EOperatorType
    - EIndexQueryType*
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: sifGetFuncFromSql
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGetFuncFromSql(EOperatorType src, EIndexQueryType
      *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cn
    argTypes:
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: sifValidColumn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifValidColumn(SColumnNode *cn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - type
    - reverse
    - equal
    argTypes:
    - EIndexQueryType
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 488
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 488
    functionName: sifGetFilterFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE FilterFunc sifGetFilterFunc(EIndexQueryType type,
      bool *reverse, bool *equal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:665,1
    - Dst: sifGetFuncFromSql
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:662,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:664,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:664,1
    - Dst: indexMultiTermQueryCreate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:670,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:672,1
    - Dst: indexMultiTermQueryAdd
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:676,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:677,1
    - Dst: indexJsonSearch
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:681,1
    - Dst: indexMultiTermQueryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:682,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:704,1
    - Dst: sifGetFilterFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:691,1
    - Dst: sifShouldUseIndexBasedOnType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:684,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:713,1
    - Dst: sifSetFltParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:706,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:714,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 4
    argNames:
    - left
    - right
    - operType
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - int8_t
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 718
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 718
    functionName: sifDoIndex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - SIF_ERR_RET
    - indexTermCreate
    - sifGetFuncFromSql
    - indexMultiTermQueryAdd
    - sifSetFltParam
    - indexMultiTermQueryDestroy
    - memset
    - strlen
    - indexMultiTermQueryCreate
    - sifShouldUseIndexBasedOnType
    - indexTermDestroy
    - indexJsonSearch
    - taosArraySort
    - sifGetFilterFunc
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifDoIndex(SIFParam *left, SIFParam *right, int8_t
      operType, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: sifNotEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifNotEqualFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:752,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 753
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 753
    functionName: sifNotInFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifNotInFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - left
    - rigth
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: sifJsonGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifJsonGetValue(SIFParam *left, SIFParam
      *rigth, SIFParam *output) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:904,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:916,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:911,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:918,1
    - Dst: sifInitParamList
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:911,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:921,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:922,1
    - Dst: sifMergeCond
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:926,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:930,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:931,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SIFCtx*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 932
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 932
    functionName: sifExecLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - indexError
    - SIF_ERR_RET
    - sifMergeCond
    - taosMemoryFree
    - SIF_RET
    - taosArrayAddAll
    - taosArraySort
    - sifInitParamList
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifExecLogic(SLogicConditionNode *node, SIFCtx *ctx,
      SIFParam *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:119,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: sifFreeParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void sifFreeParam(SIFParam *param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - type
    - ls
    - rs
    argTypes:
    - ELogicConditionType
    - SIdxFltStatus
    - SIdxFltStatus
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: sifMergeCond
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE SIdxFltStatus sifMergeCond(ELogicConditionType
      type, SIdxFltStatus ls, SIdxFltStatus rs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sifGetOperParamNum
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:356,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:365,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:364,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:378,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:383,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:358,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:368,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:372,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:389,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:392,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:400,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:359,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:375,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:398,1
    - Dst: sifInitJsonParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:399,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:383,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:381,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:389,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:392,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 3
    argNames:
    - params
    - node
    - ctx
    argTypes:
    - SIFParam**
    - SOperatorNode*
    - SIFCtx*
    constantsTouched: []
    func_position:
      end: 401
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 401
    functionName: sifInitOperParams
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - indexError
    - nodeType
    - SIF_ERR_RET
    - taosMemoryFree
    - sifFreeParam
    - SIF_RET
    - taosMemoryCalloc
    - sifGetOperParamNum
    - sifInitJsonParam
    - sifInitParam
    - SIF_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifInitOperParams(SIFParam **params, SOperatorNode
      *node, SIFCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:433,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: sifGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - tDoCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int sifGreaterThan(void *a, void *b, int16_t dtype) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:491,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:507,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:505,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:509,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:493,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:511,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:513,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - buf
    - len
    - type
    - val
    argTypes:
    - char*
    - int32_t
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 529
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 529
    functionName: sifStr2Num
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - taosStr2Float
    - IS_UNSIGNED_NUMERIC_TYPE
    - taosStr2Double
    - IS_SIGNED_NUMERIC_TYPE
    - toUInteger
    - IS_FLOAT_TYPE
    - toInteger
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sifStr2Num(char *buf, int32_t len, int8_t type, void *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:937,1
    - Dst: sifExecFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:942,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:948,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 953
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 953
    functionName: sifWalkFunction
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - sifExecFunction
    - sifFreeParam
    - taosArrayInit
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes sifWalkFunction(SNode *pNode, void *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - ty
    argTypes:
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 133
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 133
    functionName: sifGetOperParamNum
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGetOperParamNum(EOperatorType ty) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:174,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:180,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:179,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:185,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:197,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:202,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - node
    - value
    argTypes:
    - SNode*
    - char**
    constantsTouched: []
    func_position:
      end: 206
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 206
    functionName: sifGetValueFromNode
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - memcpy
    - nodesGetValueFromNode
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGetValueFromNode(SNode *node, char
      **value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:404,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:413,1
    - Dst: SIF_ERR_JRET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:415,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:406,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:407,1
    - Dst: sifInitParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:422,1
    - Dst: SIF_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:423,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - params
    - nodeList
    - ctx
    argTypes:
    - SIFParam**
    - SNodeList*
    - SIFCtx*
    constantsTouched: []
    func_position:
      end: 424
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 424
    functionName: sifInitParamList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - SIF_ERR_RET
    - indexError
    - taosMemoryFree
    - SIF_RET
    - taosMemoryCalloc
    - sifInitParam
    - SIF_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifInitParamList(SIFParam **params, SNodeList *nodeList,
      SIFCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:440,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 445
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 445
    functionName: sifGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - tDoCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int sifGreaterEqual(void *a, void *b, int16_t
      dtype) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:550,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:548,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:550,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:568,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:568,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:566,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:584,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:586,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:587,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:603,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:625,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:634,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:634,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:615,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:604,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:624,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:615,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:631,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:556,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:559,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:574,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:577,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:594,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:597,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:612,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:606,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:615,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:606,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:615,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:621,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:632,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:597,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:537,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:550,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:547,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:568,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:559,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:565,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:577,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:583,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:587,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:597,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:625,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:634,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:613,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:634,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:625,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:550,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:557,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:568,1
    - Dst: sifStr2Num
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:559,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:559,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:575,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:577,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:577,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:587,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:595,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:606,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:606,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:597,1
    - Dst: SIF_DATA_CONVERT
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:622,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 130
    argCount: 4
    argNames:
    - left
    - right
    - typedata
    - param
    argTypes:
    - SIFParam*
    - SIFParam*
    - SDataTypeBuf*
    - SMetaFltParam*
    constantsTouched: []
    func_position:
      end: 640
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 640
    functionName: sifSetFltParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - SIF_ERR_RET
    - SIF_DATA_CONVERT
    - IS_NUMERIC_TYPE
    - sifStr2Num
    - varDataLen
    - varDataVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifSetFltParam(SIFParam *left, SIFParam *right, SDataTypeBuf
      *typedata, SMetaFltParam *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:958,1
    - Dst: sifExecLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:964,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:966,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:970,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 975
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 975
    functionName: sifWalkLogic
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - sifExecLogic
    - sifFreeParam
    - taosArrayInit
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes sifWalkLogic(SNode *pNode, void *context) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:210,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:220,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:220,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:218,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - node
    - param
    - ctx
    argTypes:
    - SNode*
    - SIFParam*
    - SIFCtx*
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: sifInitJsonParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - nodeType
    - strlen
    - memcpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifInitJsonParam(SNode *node, SIFParam
      *param, SIFCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:447,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: sifLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - tDoCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int sifLessEqual(void *a, void *b, int16_t dtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 723
    functionName: sifLessThanFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifLessThanFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:731,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 732
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 732
    functionName: sifGreaterThanFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGreaterThanFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: sifLikeFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifLikeFunc(SIFParam *left, SIFParam *right,
      SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: sifMatchFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifMatchFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 783
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 783
    functionName: sifDefaultFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifDefaultFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: sifNeedConvertCond
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifNeedConvertCond(SNode *l, SNode *r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:454,1
    - Dst: tDoCompare
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: sifLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - tDoCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int sifLessThan(void *a, void *b, int16_t dtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: sifLessEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifLessEqualFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: sifGreaterEqualFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGreaterEqualFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: sifNotLikeFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifNotLikeFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sifDoIndex
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - left
    - right
    - output
    argTypes:
    - SIFParam*
    - SIFParam*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 770
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 770
    functionName: sifNotMatchFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifDoIndex
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifNotMatchFunc(SIFParam *left, SIFParam
      *right, SIFParam *output) '
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 3
    argNames:
    - funcId
    - func
    - status
    argTypes:
    - int32_t
    - sif_func_t*
    - SIdxFltStatus*
    constantsTouched: []
    func_position:
      end: 846
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 846
    functionName: sifGetOperFn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t sifGetOperFn(int32_t funcId, sif_func_t
      *func, SIdxFltStatus *status) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:242,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:261,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:251,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:255,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:256,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:273,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:278,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:283,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:284,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:284,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 50
    argCount: 4
    argNames:
    - r
    - l
    - param
    - ctx
    argTypes:
    - SNode*
    - SNode*
    - SIFParam*
    - SIFCtx*
    constantsTouched: []
    func_position:
      end: 289
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 289
    functionName: sifInitParamValByCol
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - nodesGetValueFromNode
    - taosMemoryCalloc
    - strlen
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifInitParamValByCol(SNode *r, SNode *l, SIFParam *param,
      SIFCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SIFCtx*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: sifExecFunction
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - indexError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifExecFunction(SFunctionNode *node, SIFCtx *ctx, SIFParam
      *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:979,1
    - Dst: sifExecOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:985,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:990,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:987,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - context
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 996
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 996
    functionName: sifWalkOper
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifExecOper
    - taosHashPut
    - sifFreeParam
    - taosArrayInit
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes sifWalkOper(SNode *pNode, void *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1022,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1030,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1026,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1031
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1031
    functionName: sifFreeRes
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - sifFreeParam
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void sifFreeRes(SHashObj *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1080,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1086,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1080,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1088,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1082,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1092,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1094,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1094,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1095,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1098,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1101,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1107,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1104,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1105,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1099,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1099,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pNode
    - status
    - pAPI
    argTypes:
    - SNode*
    - SIdxFltStatus*
    - SMetaDataFilterAPI*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1109
    functionName: sifGetFltHint
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - indexError
    - nodeType
    - SIF_ERR_RET
    - nodesWalkExprPostOrder
    - TAOS_UNUSED
    - sifFreeParam
    - taosHashIterate
    - taosHashGet
    - taosHashRemove
    - taosGetDefaultHashFunction
    - sifFreeRes
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifGetFltHint(SNode *pNode, SIdxFltStatus *status,
      SMetaDataFilterAPI *pAPI) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sifGetValueFromNode
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:301,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:297,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:305,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:314,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:333,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:342,1
    - Dst: sifValidColumn
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:314,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:319,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:329,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:328,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:294,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:304,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:324,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:325,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:325,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:330,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:332,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:342,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:301,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:318,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:328,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:326,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:340,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:343,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 3
    argNames:
    - node
    - param
    - ctx
    argTypes:
    - SNode*
    - SIFParam*
    - SIFCtx*
    constantsTouched: []
    func_position:
      end: 352
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 352
    functionName: sifInitParam
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - SIF_ERR_RET
    - nodeType
    - sifGetValueFromNode
    - LIST_LENGTH
    - indexError
    - taosHashGet
    - sifValidColumn
    - taosHashPut
    - strlen
    - scalarGenerateSetFromList
    - memcpy
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifInitParam(SNode *node, SIFParam *param, SIFCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:999,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1000,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1004,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:999,1
    - Dst: sifWalkFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1005,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1007,1
    - Dst: sifWalkLogic
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1008,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1011,1
    - Dst: sifWalkOper
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - node
    - context
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1019
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1019
    functionName: sifCalcWalker
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifWalkFunction
    - nodeType
    - sifWalkOper
    - sifWalkLogic
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sifCalcWalker(SNode *node, void *context) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1039,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1046,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1039,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1049,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1042,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1054,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1056,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1056,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1057,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1060,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1067,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1066,1
    - Dst: sifFreeRes
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1069,1
    - Dst: SIF_ERR_RET
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1061,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1067,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - pDst
    argTypes:
    - SNode*
    - SIFParam*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1071
    functionName: sifCalculate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - indexError
    - nodeType
    - SIF_ERR_RET
    - nodesWalkExprPostOrder
    - TAOS_UNUSED
    - sifFreeParam
    - taosArrayAddAll
    - taosHashGet
    - taosHashRemove
    - taosGetDefaultHashFunction
    - sifFreeRes
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sifCalculate(SNode *pNode, SIFParam *pDst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idxGetFltStatus
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1113,1
    - Dst: sifCalculate
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1127,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1138,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1121,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1129,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1139,1
    - Dst: sifFreeParam
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - pFilterNode
    - metaArg
    - result
    - status
    - pAPI
    argTypes:
    - SNode*
    - SIndexMetaArg*
    - SArray*
    - SIdxFltStatus*
    - SMetaDataFilterAPI*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1145
    functionName: doFilterTag
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifFreeParam
    - sifCalculate
    - taosArrayAddAll
    - idxGetFltStatus
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doFilterTag(SNode *pFilterNode, SIndexMetaArg *metaArg, SArray
      *result, SIdxFltStatus *status, SMetaDataFilterAPI *pAPI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sifGetFltHint
      Src: /src/tdengine/source/libs/index/src/indexFilter.c:1153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pFilterNode
    - pAPI
    argTypes:
    - SNode*
    - SMetaDataFilterAPI*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1157
    functionName: idxGetFltStatus
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFilter.c
    functionUses: []
    functionsReached:
    - sifGetFltHint
    linkageType: ''
    returnType: SIdxFltStatus
    signature: 'SIdxFltStatus idxGetFltStatus(SNode *pFilterNode, SMetaDataFilterAPI
      *pAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:101,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/index/src/index.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: idxPost
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void idxPost(void* idx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:109,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:114,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/index/src/index.c:117,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:112,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/index/src/index.c:109,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:125,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/index.c:128,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/index.c:134,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/index.c:139,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:140,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:148,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:119,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/index/src/index.c:121,1
    - Dst: idxAddRef
      Src: /src/tdengine/source/libs/index/src/index.c:146,1
    - Dst: indexDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:155,1
    - Dst: idxTFileCreate
      Src: /src/tdengine/source/libs/index/src/index.c:123,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/index.c:128,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:136,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/index/src/index.c:142,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:143,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - opts
    - path
    - index
    argTypes:
    - SIndexOpts*
    - char*
    - SIndex**
    constantsTouched: []
    func_position:
      end: 159
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 159
    functionName: indexOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadOnce
    - TAOS_UNUSED
    - taosLRUCacheInit
    - tsem_init
    - idxAddRef
    - taosMemoryCalloc
    - taosThreadMutexInit
    - indexDestroy
    - idxTFileCreate
    - idxAcquireRef
    - taosStrdup
    - taosLRUCacheSetStrictCapacity
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexOpen(SIndexOpts* opts, const char* path, SIndex** index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:270,1
    - Dst: idxTermSearch
      Src: /src/tdengine/source/libs/index/src/index.c:279,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:277,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:275,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:284,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:285,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:289,1
    - Dst: idxMergeFinalResults
      Src: /src/tdengine/source/libs/index/src/index.c:289,1
    - Dst: idxInterRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - index
    - multiQuerys
    - result
    argTypes:
    - SIndex*
    - SIndexMultiTermQuery*
    - SArray*
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: indexSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - idxMergeFinalResults
    - taosArrayGet
    - TAOS_UNUSED
    - taosArrayPush
    - idxInterRsltDestroy
    - idxTermSearch
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexSearch(SIndex* index, SIndexMultiTermQuery* multiQuerys,
      SArray* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/index/src/index.c:432,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSchedMsg*
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: idxSchedRebuildIdx
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - idxReleaseRef
    linkageType: ''
    returnType: void
    signature: 'static void idxSchedRebuildIdx(SSchedMsg* msg) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:653,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:683,1
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/src/index.c:691,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:674,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:737,1
    - Dst: idxCacheIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:748,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:760,1
    - Dst: idxCacheDestroyImm
      Src: /src/tdengine/source/libs/index/src/index.c:668,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:693,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:708,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:737,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:740,1
    - Dst: idxDestroyFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:744,1
    - Dst: idxPost
      Src: /src/tdengine/source/libs/index/src/index.c:756,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:739,1
    - Dst: idxCacheDestroyImm
      Src: /src/tdengine/source/libs/index/src/index.c:746,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:651,1
    - Dst: tfileGetReaderByCol
      Src: /src/tdengine/source/libs/index/src/index.c:660,1
    - Dst: idxCacheIteratorCreate
      Src: /src/tdengine/source/libs/index/src/index.c:665,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:667,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:669,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/index.c:670,1
    - Dst: tfileIteratorCreate
      Src: /src/tdengine/source/libs/index/src/index.c:678,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:685,1
    - Dst: idxPost
      Src: /src/tdengine/source/libs/index/src/index.c:672,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/index.c:701,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:749,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:751,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/index.c:754,1
    - Dst: idxMayMergeTempToFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:729,1
    - Dst: indexWarn
      Src: /src/tdengine/source/libs/index/src/index.c:662,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/index/src/index.c:658,1
    - Dst: indexWarn
      Src: /src/tdengine/source/libs/index/src/index.c:680,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:710,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:716,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:718,1
    - Dst: idxMergeCacheAndTFile
      Src: /src/tdengine/source/libs/index/src/index.c:722,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:724,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:730,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:733,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:758,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:752,1
    - Dst: idxGenTFile
      Src: /src/tdengine/source/libs/index/src/index.c:735,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 116
    argCount: 3
    argNames:
    - sIdx
    - cache
    - quit
    argTypes:
    - SIndex*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 764
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 764
    functionName: idxFlushCacheToTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - idxGenTFile
    - idxReleaseRef
    - idxCacheDestroyImm
    - idxTRsltCreate
    - tfileGetReaderByCol
    - taosArrayInit
    - indexInfo
    - idxTRsltDestroy
    - idxDestroyFinalRslt
    - indexError
    - TAOS_CHECK_GOTO
    - idxCacheUnRef
    - tfileIteratorCreate
    - idxCacheIteratorCreate
    - taosGetTimestampUs
    - indexWarn
    - idxPost
    - idxMayMergeTempToFinalRslt
    - idxCacheIteratorDestroy
    - atomic_load_32
    - idxMergeCacheAndTFile
    - strcmp
    - tstrerror
    - tfileIteratorDestroy
    - tfileReaderUnRef
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxFlushCacheToTFile(SIndex* sIdx, void* cache, bool quit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:779,1
    - Dst: CACHE_VERSION
      Src: /src/tdengine/source/libs/index/src/index.c:780,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/index.c:787,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:784,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:785,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:788,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:788,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:792,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - sIdx
    - cache
    argTypes:
    - SIndex*
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 796
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 796
    functionName: idxGetAvailableVer
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - CACHE_VERSION
    - taosThreadMutexLock
    - TAOS_UNUSED
    - indexInfo
    - tfileCacheGet
    - strlen
    - tfileReaderUnRef
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t idxGetAvailableVer(SIndex* sIdx, IndexCache* cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:105,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/index/src/index.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: indexWait
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: 'static void indexWait(void* idx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:164,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:164,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:165,1
    - Dst: idxTFileDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:166,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/index/src/index.c:165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:167,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/libs/index/src/index.c:171,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/index/src/index.c:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 177
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 177
    functionName: indexDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - tsem_destroy
    - idxTFileDestroy
    - taosLRUCacheEraseUnrefEntries
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void indexDestroy(void* handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - index
    - query
    argTypes:
    - SIndex*
    - SIndexMultiTermQuery*
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: indexDelete
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int indexDelete(SIndex* index, SIndexMultiTermQuery* query) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:767,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/index/src/index.c:771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - value
    - destroy
    argTypes:
    - IterateValue*
    - bool
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: iterateValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void iterateValueDestroy(IterateValue* value, bool destroy) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tfileWriterOpen
      Src: /src/tdengine/source/libs/index/src/index.c:805,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:813,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:813,1
    - Dst: tfileWriterClose
      Src: /src/tdengine/source/libs/index/src/index.c:816,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:823,1
    - Dst: tfileCachePut
      Src: /src/tdengine/source/libs/index/src/index.c:834,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:830,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:845,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:807,1
    - Dst: tfileWriterPut
      Src: /src/tdengine/source/libs/index/src/index.c:811,1
    - Dst: tfileReaderOpen
      Src: /src/tdengine/source/libs/index/src/index.c:819,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:836,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:831,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:844,1
    - Dst: idxGetAvailableVer
      Src: /src/tdengine/source/libs/index/src/index.c:800,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:807,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:801,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:828,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:837,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - sIdx
    - cache
    - batch
    argTypes:
    - SIndex*
    - IndexCache*
    - SArray*
    constantsTouched: []
    func_position:
      end: 848
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 848
    functionName: idxGenTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - indexInfo
    - tstrerror
    - tfileReaderOpen
    - idxGetAvailableVer
    - tfileWriterOpen
    - strlen
    - idxFileCtxDestroy
    - tfileWriterPut
    - tfileCachePut
    - tfileWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxGenTFile(SIndex* sIdx, IndexCache* cache, SArray*
      batch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/index.c:851,1
    - Dst: SERIALIZE_STR_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:857,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:855,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:857,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/index.c:855,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:858,1
    - Dst: SERIALIZE_STR_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:860,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:860,1
    - Dst: SERIALIZE_STR_MEM_TO_BUF
      Src: /src/tdengine/source/libs/index/src/index.c:862,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - key
    - buf
    argTypes:
    - ICacheKey*
    - char*
    constantsTouched: []
    func_position:
      end: 865
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 865
    functionName: idxSerialCacheKey
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - SERIALIZE_STR_MEM_TO_BUF
    - SERIALIZE_STR_VAR_TO_BUF
    - TAOS_UNUSED
    - SERIALIZE_VAR_TO_BUF
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - strlen
    - idxInt2str
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxSerialCacheKey(ICacheKey* key, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:416,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:418,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:417,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - terms
    argTypes:
    - SIndexMultiTerm*
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: indexMultiTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - indexTermDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void indexMultiTermDestroy(SIndexMultiTerm* terms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/index/src/index.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: idxRemoveRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosRemoveRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxRemoveRef(int64_t ref) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:213,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    functionName: idxReleaseRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxReleaseRef(int64_t ref) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/index.c:311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:318,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - opera
    argTypes:
    - EIndexOperatorType
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: indexMultiTermQueryCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayInit
    linkageType: ''
    returnType: SIndexMultiTermQuery*
    signature: 'SIndexMultiTermQuery * indexMultiTermQueryCreate(EIndexOperatorType
      opera) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/index/src/index.c:438,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:444,1
    - Dst: taosScheduleTask
      Src: /src/tdengine/source/libs/index/src/index.c:445,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - SIndexJson*
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 446
    functionName: indexRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - idxAcquireRef
    - TAOS_UNUSED
    - taosScheduleTask
    linkageType: ''
    returnType: void
    signature: 'void indexRebuild(SIndexJson* idx, void* iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:555,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:556,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/index.c:558,1
    - Dst: iIntersection
      Src: /src/tdengine/source/libs/index/src/index.c:562,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/index.c:557,1
    - Dst: iUnion
      Src: /src/tdengine/source/libs/index/src/index.c:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - in
    - oType
    - out
    argTypes:
    - SArray*
    - EIndexOperatorType
    - SArray*
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: idxMergeFinalResults
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - iIntersection
    - taosArraySort
    - taosArrayGetSize
    - iUnion
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxMergeFinalResults(SArray* in, EIndexOperatorType
      oType, SArray* out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:209,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/index/src/index.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ref
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: idxAcquireRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void idxAcquireRef(int64_t ref) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:220,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:227,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/index.c:233,1
    - Dst: idxCacheDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:235,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:253,1
    - Dst: indexDebug
      Src: /src/tdengine/source/libs/index/src/index.c:254,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:223,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:230,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:240,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:219,1
    - Dst: idxCacheCreate
      Src: /src/tdengine/source/libs/index/src/index.c:232,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:241,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:256,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:252,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:249,1
    - Dst: idxCachePut
      Src: /src/tdengine/source/libs/index/src/index.c:259,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 3
    argNames:
    - index
    - fVals
    - uid
    argTypes:
    - SIndex*
    - SIndexMultiTerm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 265
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 265
    functionName: indexPut
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexError
    - taosArrayGetP
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - idxCacheCreate
    - idxCachePut
    - taosHashGet
    - idxCacheDestroy
    - strlen
    - taosHashPut
    - taosArrayGetSize
    - indexDebug
    - idxSerialCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexPut(SIndex* index, SIndexMultiTerm* fVals, uint64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:324,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:329,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:325,1
    - Dst: indexTermDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SIndexMultiTermQuery*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: indexMultiTermQueryDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - indexTermDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void indexMultiTermQueryDestroy(SIndexMultiTermQuery* pQuery) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:575,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:579,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:581,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:577,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/index.c:578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:581,1
    - Dst: idxTRsltClear
      Src: /src/tdengine/source/libs/index/src/index.c:584,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:586,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:587,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:587,1
    - Dst: indexFatal
      Src: /src/tdengine/source/libs/index/src/index.c:593,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:600,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:591,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/index.c:593,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - result
    - tfv
    - tr
    argTypes:
    - SArray*
    - TFileValue*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 605
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 605
    functionName: idxMayMergeTempToFinalRslt
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - indexFatal
    - tfileValueDestroy
    - strcmp
    - tstrerror
    - idxTRsltMergeTo
    - idxTRsltClear
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxMayMergeTempToFinalRslt(SArray* result, TFileValue*
      tfv, SIdxTRslt* tr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - threadNum
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: indexInit
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void indexInit(int32_t threadNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanUpScheduler
      Src: /src/tdengine/source/libs/index/src/index.c:74,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/index.c:75,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/index/src/index.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: indexCleanup
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosCloseRef
    - taosCleanUpScheduler
    linkageType: ''
    returnType: void
    signature: 'void indexCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/index/src/index.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - SIndexJson*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: indexJsonIsRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: 'bool indexJsonIsRebuild(SIndexJson* idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:488,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:493,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:507,1
    - Dst: idxCacheSearch
      Src: /src/tdengine/source/libs/index/src/index.c:510,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:512,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:521,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:525,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:529,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/index.c:485,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/index.c:491,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:503,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:528,1
    - Dst: idxTRsltMergeTo
      Src: /src/tdengine/source/libs/index/src/index.c:531,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:534,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:482,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/index.c:493,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/index.c:518,1
    - Dst: idxTRsltDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:537,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/index.c:487,1
    - Dst: indexDebug
      Src: /src/tdengine/source/libs/index/src/index.c:483,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:495,1
    - Dst: idxTRsltCreate
      Src: /src/tdengine/source/libs/index/src/index.c:505,1
    - Dst: idxTFileSearch
      Src: /src/tdengine/source/libs/index/src/index.c:517,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/index.c:516,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:522,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/index.c:532,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - sIdx
    - query
    - result
    argTypes:
    - SIndex*
    - SIndexTermQuery*
    - SArray**
    constantsTouched: []
    func_position:
      end: 539
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 539
    functionName: idxTermSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - TAOS_CHECK_GOTO
    - taosThreadMutexLock
    - TAOS_UNUSED
    - idxTFileSearch
    - idxTRsltCreate
    - indexInfo
    - idxTRsltDestroy
    - taosHashGet
    - strlen
    - taosGetTimestampUs
    - idxTRsltMergeTo
    - idxCacheSearch
    - indexDebug
    - idxSerialCacheKey
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxTermSearch(SIndex* sIdx, SIndexTermQuery* query,
      SArray** result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:545,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:547,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - results
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 551
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 551
    functionName: idxInterRsltDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void idxInterRsltDestroy(SArray* results) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/index/src/index.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - SIndex*
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: indexIsRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: 'bool indexIsRebuild(SIndex* idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexRebuild
      Src: /src/tdengine/source/libs/index/src/index.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - idx
    - iter
    argTypes:
    - SIndexJson*
    - void*
    constantsTouched: []
    func_position:
      end: 461
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 461
    functionName: indexJsonRebuild
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexRebuild
    linkageType: ''
    returnType: void
    signature: 'void indexJsonRebuild(SIndexJson* idx, void* iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitScheduler
      Src: /src/tdengine/source/libs/index/src/index.c:69,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/index/src/index.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: indexEnvInit
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosInitScheduler
    - taosOpenRef
    linkageType: ''
    returnType: void
    signature: 'void indexEnvInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/index.c:181,1
    - Dst: idxCacheForceToMerge
      Src: /src/tdengine/source/libs/index/src/index.c:184,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:185,1
    - Dst: indexWait
      Src: /src/tdengine/source/libs/index/src/index.c:186,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/index.c:187,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/index.c:188,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/index.c:189,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/index.c:191,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/index.c:195,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/index.c:196,1
    - Dst: idxRemoveRef
      Src: /src/tdengine/source/libs/index/src/index.c:196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - sIdx
    argTypes:
    - SIndex*
    constantsTouched: []
    func_position:
      end: 197
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 197
    functionName: indexClose
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - indexWait
    - idxCacheUnRef
    - idxReleaseRef
    - TAOS_UNUSED
    - indexInfo
    - taosHashIterate
    - idxRemoveRef
    - idxCacheForceToMerge
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void indexClose(SIndex* sIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - cacheSize
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: indexOptsCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SIndexOpts*
    signature: 'SIndexOpts * indexOptsCreate(int32_t cacheSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: idxConvertDataToStr
      Src: /src/tdengine/source/libs/index/src/index.c:362,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/index.c:364,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:392,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:341,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/index.c:362,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:353,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/index.c:356,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:370,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:373,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/index/src/index.c:373,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:393,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/index.c:351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:367,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:391,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/index.c:379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:385,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 7
    argNames:
    - suid
    - oper
    - colType
    - colName
    - nColName
    - colVal
    - nColVal
    argTypes:
    - int64_t
    - SIndexOperOnColumn
    - uint8_t
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 399
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 399
    functionName: indexTermCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - taosMemoryCalloc
    - strlen
    - IDX_TYPE_GET_TYPE
    - memcpy
    - idxConvertDataToStr
    linkageType: ''
    returnType: SIndexTerm*
    signature: 'SIndexTerm * indexTermCreate(int64_t suid, SIndexOperOnColumn oper,
      uint8_t colType, const char* colName, int32_t nColName, const char* colVal,
      int32_t nColVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/index.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 407
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 407
    functionName: indexMultiTermCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: SIndexMultiTerm*
    signature: 'SIndexMultiTerm * indexMultiTermCreate() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tfileValueCreate
      Src: /src/tdengine/source/libs/index/src/index.c:609,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/index.c:625,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:616,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/index.c:622,1
    - Dst: idxMayMergeTempToFinalRslt
      Src: /src/tdengine/source/libs/index/src/index.c:614,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/index.c:627,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/index/src/index.c:631,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - result
    - cv
    - tv
    - tr
    argTypes:
    - SArray*
    - IterateValue*
    - IterateValue*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 636
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 636
    functionName: idxMergeCacheAndTFile
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tfileValueDestroy
    - idxMayMergeTempToFinalRslt
    - taosArrayAddAll
    - INDEX_MERGE_ADD_DEL
    - tfileValueCreate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxMergeCacheAndTFile(SArray* result, IterateValue*
      cv, IterateValue* tv, SIdxTRslt* tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/index/src/index.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: idxAddRef
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t idxAddRef(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SIndexOpts*
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: indexOptsDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void indexOptsDestroy(SIndexOpts* opts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pQuery
    - term
    - qType
    argTypes:
    - SIndexMultiTermQuery*
    - SIndexTerm*
    - EIndexQueryType
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: indexMultiTermQueryAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexMultiTermQueryAdd(SIndexMultiTermQuery* pQuery, SIndexTerm*
      term, EIndexQueryType qType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/index.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - SIndexTerm*
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: indexTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void indexTermDestroy(SIndexTerm* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/index.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - terms
    - term
    argTypes:
    - SIndexMultiTerm*
    - SIndexTerm*
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: indexMultiTermAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexMultiTermAdd(SIndexMultiTerm* terms, SIndexTerm* term) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/index.c:638,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:643,1
    - Dst: tfileValueDestroy
      Src: /src/tdengine/source/libs/index/src/index.c:641,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/index.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - result
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 644
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 644
    functionName: idxDestroyFinalRslt
    functionSourceFile: /src/tdengine/source/libs/index/src/index.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - tfileValueDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void idxDestroyFinalRslt(SArray* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: alwaysMatchStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * alwaysMatchStart(FAutoCtx* ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:122,1
    - Dst: prefixIsMatch
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:128,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:127,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 136
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 136
    functionName: prefixAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - prefixIsMatch
    - strlen
    - startWithStateValueCreate
    linkageType: ''
    returnType: void*
    signature: 'static void * prefixAccept(FAutoCtx* ctx, void* state, uint8_t byte) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:51,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:55,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: startWithStateValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void startWithStateValueDestroy(void* val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: prefixAcceptEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * prefixAcceptEof(FAutoCtx* ctx, void* state) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:159,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:170,1
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:180,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:178,1
    - Dst: startWithStateValueCreate
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - data
    - atype
    argTypes:
    - void*
    - AutomationType
    constantsTouched: []
    func_position:
      end: 191
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 191
    functionName: automCtxCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - startWithStateValueCreate
    - taosMemoryCalloc
    - startWithStateValueDestroy
    - taosStrdup
    linkageType: ''
    returnType: FAutoCtx*
    signature: 'FAutoCtx * automCtxCreate(void* data, AutomationType atype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:58,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:75,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:71,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:69,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - sv
    argTypes:
    - StartWithStateValue*
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: startWithStateValueDump
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: StartWithStateValue*
    signature: 'StartWithStateValue * startWithStateValueDump(StartWithStateValue*
      sv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: alwaysMatchWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool alwaysMatchWillAlwaysMatch(FAutoCtx* ctx, void* state) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:18,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:31,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:29,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:28,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - kind
    - ty
    - val
    argTypes:
    - StartWithStateKind
    - ValueType
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 41
    functionName: startWithStateValueCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - taosMemoryFree
    - memcpy
    linkageType: ''
    returnType: StartWithStateValue*
    signature: 'StartWithStateValue * startWithStateValueCreate(StartWithStateKind
      kind, ValueType ty, void* val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: alwaysMatchAccpet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * alwaysMatchAccpet(FAutoCtx* ctx, void* state, uint8_t
      byte) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: automCtxDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - startWithStateValueDestroy
    linkageType: ''
    returnType: void
    signature: 'void automCtxDestroy(FAutoCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: alwaysMatchIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool alwaysMatchIsMatch(FAutoCtx* ctx, void* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: alwaysMatchAccpetEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * alwaysMatchAccpetEof(FAutoCtx* ctx, void* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: alwaysMatchCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool alwaysMatchCanMatch(FAutoCtx* ctx, void* state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - sv
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: prefixCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool prefixCanMatch(FAutoCtx* ctx, void* sv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: patternStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * patternStart(FAutoCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 143
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 143
    functionName: patternCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool patternCanMatch(FAutoCtx* ctx, void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - ctx
    - state
    - byte
    argTypes:
    - FAutoCtx*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 146
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 146
    functionName: patternAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * patternAccept(FAutoCtx* ctx, void* state, uint8_t byte) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - sv
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: prefixIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'static bool prefixIsMatch(FAutoCtx* ctx, void* sv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: prefixWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool prefixWillAlwaysMatch(FAutoCtx* ctx, void* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - data
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: patternIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool patternIsMatch(FAutoCtx* ctx, void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    functionName: patternWillAlwaysMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool patternWillAlwaysMatch(FAutoCtx* ctx, void* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - ctx
    - state
    argTypes:
    - FAutoCtx*
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 148
    functionName: patternAcceptEof
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'static void * patternAcceptEof(FAutoCtx* ctx, void* state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: startWithStateValueDump
      Src: /src/tdengine/source/libs/index/src/indexFstAutomation.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: prefixStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstAutomation.c
    functionUses: []
    functionsReached:
    - startWithStateValueDump
    linkageType: ''
    returnType: void*
    signature: 'static void * prefixStart(FAutoCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:191,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: cacheSearchLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchLessEqual(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: cacheSearchGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchGreaterEqual(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: idxPackJsonDataPrefix
      Src: /src/tdengine/source/libs/index/src/indexCache.c:315,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:372,1
    - Dst: idxPackJsonDataPrefixNoType
      Src: /src/tdengine/source/libs/index/src/indexCache.c:312,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:295,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:345,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:354,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:371,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:318,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:322,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:326,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexCache.c:344,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:373,1
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexCache.c:289,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:303,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:301,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:335,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:343,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:329,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:333,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:338,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:343,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:357,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:373,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 78
    argCount: 5
    argNames:
    - cache
    - term
    - tr
    - s
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    - RangeType
    constantsTouched: []
    func_position:
      end: 376
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 376
    functionName: cacheSearchCompareFunc_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListCreateIterFromVal
    - idxCacheTermGet
    - INDEX_MERGE_ADD_DEL
    - idxPackJsonDataPrefix
    - tSkipListIterNext
    - SL_GET_NODE_DATA
    - tSkipListIterGet
    - idxGetCompare
    - memcpy
    - idxPackJsonDataPrefixNoType
    - strncmp
    - IDX_TYPE_GET_TYPE
    - cmpFn
    - strlen
    - tSkipListDestroyIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchCompareFunc_JSON(void* cache, SIndexTerm*
      term, SIdxTRslt* tr, STermValueType* s, RangeType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:743,1
    - Dst: idxCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 747
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 747
    functionName: idxCacheUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - idxCacheDestroy
    - T_REF_DEC
    linkageType: ''
    returnType: void
    signature: 'void idxCacheUnRef(IndexCache* cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 778
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 778
    functionName: idxCacheTermGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char * idxCacheTermGet(const void* pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: idxCacheJsonTermCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxCacheJsonTermCompare(const void* l, const void*
      r) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: cacheSearchGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchGreaterThan(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:209,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:222,1
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:218,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:215,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexCache.c:219,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:224,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:225,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:226,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:230,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:232,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:250,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:250,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:234,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:248,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:249,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 40
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 252
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 252
    functionName: cacheSearchTerm_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - SL_GET_NODE_DATA
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListIterGet
    - tSkipListCreateIterFromVal
    - strcmp
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - idxCacheTermGet
    - INDEX_MERGE_ADD_DEL
    - tSkipListDestroyIter
    - idxPackJsonData
    - tSkipListIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchTerm_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: cacheSearchRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchRange(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexCache.c:386,1
    - Dst: idxInternalCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:390,1
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:393,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:386,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:393,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:395,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexCache.c:396,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:417,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:406,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:412,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:419,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:407,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:405,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:413,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - idx
    - suid
    - colName
    - type
    argTypes:
    - SIndex*
    - uint64_t
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: idxCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadCondInit
    - taosMemoryFree
    - idxInternalCacheCreate
    - taosMemoryCalloc
    - taosThreadMutexInit
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - tstrerror
    - idxAcquireRef
    - idxCacheRef
    - taosStrdup
    linkageType: ''
    returnType: IndexCache*
    signature: 'IndexCache * idxCacheCreate(SIndex* idx, uint64_t suid, const char*
      colName, int8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:753,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - MemTable*
    constantsTouched: []
    func_position:
      end: 755
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 755
    functionName: idxMemRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - T_REF_INC
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxMemRef(MemTable* tbl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 792
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 792
    functionName: idxCacheTermCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxCacheTermCompare(const void* l, const void* r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:835,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:837,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:839,1
    - Dst: tSkipListCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:841,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 844
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 844
    functionName: idxInternalCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - idxMemRef
    - tSkipListCreate
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    linkageType: ''
    returnType: MemTable*
    signature: 'static MemTable * idxInternalCacheCreate(int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 261
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 261
    functionName: cacheSearchEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchEqual_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:426,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:427,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:439,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:441,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:448,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:459,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:459,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:465,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:471,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:474,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:433,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:434,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:440,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:468,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:442,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:462,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:455,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:464,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:431,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:445,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:448,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:450,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:458,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:454,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:463,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:471,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 476
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 476
    functionName: idxCacheDebug
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - idxMemUnRef
    - SL_GET_NODE_DATA
    - taosThreadMutexLock
    - TAOS_UNUSED
    - tSkipListIterGet
    - tSkipListCreateIter
    - indexInfo
    - idxMemRef
    - tSkipListDestroyIter
    - tSkipListIterNext
    linkageType: ''
    returnType: void
    signature: 'void idxCacheDebug(IndexCache* cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:493,1
    - Dst: taosThreadCondBroadcast
      Src: /src/tdengine/source/libs/index/src/indexCache.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: idxCacheBroadcast
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosThreadCondBroadcast
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxCacheBroadcast(void* cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - cache
    - fieldValue
    - fvlen
    - uid
    - operType
    argTypes:
    - void*
    - char*
    - int32_t
    - uint64_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 682
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 682
    functionName: idxCacheDel
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int idxCacheDel(void* cache, const char* fieldValue, int32_t fvlen,
      uint64_t uid, int8_t operType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:706,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:707,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:713,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:711,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:712,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:714,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexCache.c:717,1
    - Dst: idxQueryMem
      Src: /src/tdengine/source/libs/index/src/indexCache.c:719,1
    - Dst: idxQueryMem
      Src: /src/tdengine/source/libs/index/src/indexCache.c:722,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:725,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:726,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:727,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexCache.c:727,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - cache
    - query
    - result
    - s
    argTypes:
    - void*
    - SIndexTermQuery*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 730
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 730
    functionName: idxCacheSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - idxMemUnRef
    - taosThreadMutexLock
    - idxQueryMem
    - indexInfo
    - idxMemRef
    - taosGetTimestampUs
    linkageType: ''
    returnType: int
    signature: 'int idxCacheSearch(void* cache, SIndexTermQuery* query, SIdxTRslt*
      result, STermValueType* s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:760,1
    - Dst: idxCacheDestroySkiplist
      Src: /src/tdengine/source/libs/index/src/indexCache.c:763,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:764,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - tbl
    argTypes:
    - MemTable*
    constantsTouched: []
    func_position:
      end: 766
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 766
    functionName: idxMemUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - idxCacheDestroySkiplist
    - taosMemoryFree
    - T_REF_DEC
    linkageType: ''
    returnType: void
    signature: 'void idxMemUnRef(MemTable* tbl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:851,1
    - Dst: idxFlushCacheToTFile
      Src: /src/tdengine/source/libs/index/src/indexCache.c:852,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSchedMsg*
    constantsTouched: []
    func_position:
      end: 853
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 853
    functionName: idxDoMergeWork
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - idxFlushCacheToTFile
    linkageType: ''
    returnType: void
    signature: 'static void idxDoMergeWork(SSchedMsg* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: cacheSearchPrefix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchPrefix_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:479,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:482,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:484,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:485,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:488,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:488,1
    - Dst: tSkipListDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - slt
    argTypes:
    - SSkipList*
    constantsTouched: []
    func_position:
      end: 490
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 490
    functionName: idxCacheDestroySkiplist
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - SL_GET_NODE_DATA
    - TAOS_UNUSED
    - tSkipListIterGet
    - tSkipListCreateIter
    - tSkipListDestroyIter
    - tSkipListIterNext
    - tSkipListDestroy
    linkageType: ''
    returnType: void
    signature: 'void idxCacheDestroySkiplist(SSkipList* slt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:497,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/libs/index/src/indexCache.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 498
    functionName: idxCacheWait
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosThreadCondWait
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxCacheWait(void* cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 4
    argNames:
    - mem
    - query
    - tr
    - s
    argTypes:
    - MemTable*
    - SIndexTermQuery*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 697
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 697
    functionName: idxQueryMem
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t idxQueryMem(MemTable* mem, SIndexTermQuery* query,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexCache.c:736,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: idxCacheRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - T_REF_INC
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxCacheRef(IndexCache* cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ct
    argTypes:
    - CacheTerm*
    constantsTouched: []
    func_position:
      end: 774
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 774
    functionName: idxCacheTermDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void idxCacheTermDestroy(CacheTerm* ct) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:81,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:92,1
    - Dst: tSkipListCreateIterFromVal
      Src: /src/tdengine/source/libs/index/src/indexCache.c:91,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:87,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:89,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:93,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:97,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexCache.c:98,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:98,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:98,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:114,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:115,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:115,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:100,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 117
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 117
    functionName: cacheSearchTerm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - SL_GET_NODE_DATA
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListIterGet
    - tSkipListCreateIterFromVal
    - strcmp
    - idxCacheTermGet
    - INDEX_MERGE_ADD_DEL
    - strlen
    - tSkipListDestroyIter
    - tSkipListIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchTerm(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexCache.c:139,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:141,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:148,1
    - Dst: idxCacheTermGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:150,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:152,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:153,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:154,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:158,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexCache.c:159,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:183,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:184,1
    - Dst: INDEX_MERGE_ADD_DEL
      Src: /src/tdengine/source/libs/index/src/indexCache.c:169,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:184,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 5
    argNames:
    - cache
    - term
    - tr
    - s
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    - RangeType
    constantsTouched: []
    func_position:
      end: 186
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 186
    functionName: cacheSearchCompareFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - SL_GET_NODE_DATA
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListIterGet
    - tSkipListCreateIter
    - idxGetCompare
    - idxCacheTermGet
    - INDEX_MERGE_ADD_DEL
    - cmpFn
    - tSkipListDestroyIter
    - tSkipListIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchCompareFunc(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s, RangeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: cacheSearchSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchSuffix(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:504,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:505,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:512,1
    - Dst: idxCacheBroadcast
      Src: /src/tdengine/source/libs/index/src/indexCache.c:510,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:512,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:514,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 516
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 516
    functionName: idxCacheDestroyImm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - idxMemUnRef
    - taosThreadMutexLock
    - TAOS_UNUSED
    - idxCacheBroadcast
    linkageType: ''
    returnType: void
    signature: 'void idxCacheDestroyImm(IndexCache* cache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:539,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:549,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:545,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:543,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexCache.c:552,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:554,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:558,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:558,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 561
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 561
    functionName: idxCacheIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tSkipListCreateIter
    - idxMemRef
    - taosArrayInit
    linkageType: ''
    returnType: Iterate*
    signature: 'Iterate * idxCacheIteratorCreate(IndexCache* cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:576,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:584,1
    - Dst: taosScheduleTask
      Src: /src/tdengine/source/libs/index/src/indexCache.c:584,1
    - Dst: idxAcquireRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:583,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCache
    - notify
    argTypes:
    - IndexCache*
    - bool
    constantsTouched: []
    func_position:
      end: 586
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 586
    functionName: idxCacheSchedToMerge
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosMemoryMalloc
    - TAOS_UNUSED
    - idxAcquireRef
    - taosScheduleTask
    linkageType: ''
    returnType: int
    signature: 'int idxCacheSchedToMerge(IndexCache* pCache, bool notify) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:655,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:658,1
    - Dst: idxCacheMakeRoomForWrite
      Src: /src/tdengine/source/libs/index/src/indexCache.c:649,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:652,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:656,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:631,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:633,1
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexCache.c:617,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexCache.c:629,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:622,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:636,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:646,1
    - Dst: tSkipListPut
      Src: /src/tdengine/source/libs/index/src/indexCache.c:652,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:653,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/index/src/indexCache.c:638,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexCache.c:643,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:645,1
    - Dst: idxMemRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:651,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - cache
    - term
    - uid
    argTypes:
    - void*
    - SIndexTerm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 660
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 660
    functionName: idxCachePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - idxMemUnRef
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - TAOS_UNUSED
    - idxCacheUnRef
    - taosMemoryCalloc
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - strlen
    - idxMemRef
    - tSkipListPut
    - idxCacheRef
    - atomic_add_fetch_64
    - memcpy
    - idxCacheMakeRoomForWrite
    - idxPackJsonData
    linkageType: ''
    returnType: int
    signature: 'int idxCachePut(void* cache, SIndexTerm* term, uint64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - c
    argTypes:
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 799
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionName: idxFindCh
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int idxFindCh(char* a, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: cacheSearchRegex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchRegex(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: cacheSearchPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchPrefix(void* cache, SIndexTerm* term, SIdxTRslt*
      tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexCache.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: cacheSearchLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchLessThan(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:525,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:527,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:527,1
    - Dst: idxMemUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:524,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:528,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:528,1
    - Dst: idxReleaseRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:532,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 533
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 533
    functionName: idxCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - idxMemUnRef
    - taosThreadCondDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - idxReleaseRef
    linkageType: ''
    returnType: void
    signature: 'void idxCacheDestroy(void* cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:566,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/index/src/indexCache.c:566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:568,1
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: idxCacheIteratorDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - iterateValueDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - tSkipListDestroyIter
    linkageType: ''
    returnType: void
    signature: 'void idxCacheIteratorDestroy(Iterate* iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheWait
      Src: /src/tdengine/source/libs/index/src/indexCache.c:594,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexCache.c:609,1
    - Dst: idxInternalCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexCache.c:600,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/index/src/indexCache.c:605,1
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:598,1
    - Dst: idxCacheSchedToMerge
      Src: /src/tdengine/source/libs/index/src/indexCache.c:609,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - cache
    argTypes:
    - IndexCache*
    constantsTouched: []
    func_position:
      end: 612
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 612
    functionName: idxCacheMakeRoomForWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - idxCacheWait
    - idxCacheSchedToMerge
    - TAOS_UNUSED
    - idxInternalCacheCreate
    - idxCacheRef
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: 'static void idxCacheMakeRoomForWrite(IndexCache* cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxCacheRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:664,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:666,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexCache.c:669,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:665,1
    - Dst: idxCacheMakeRoomForWrite
      Src: /src/tdengine/source/libs/index/src/indexCache.c:671,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexCache.c:673,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexCache.c:674,1
    - Dst: idxCacheUnRef
      Src: /src/tdengine/source/libs/index/src/indexCache.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cache
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 678
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 678
    functionName: idxCacheForceToMerge
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - idxCacheUnRef
    - taosThreadMutexLock
    - indexInfo
    - idxCacheRef
    - idxCacheMakeRoomForWrite
    linkageType: ''
    returnType: void
    signature: 'void idxCacheForceToMerge(void* cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 819
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 819
    functionName: idxCacheJsonTermCompareImpl
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int idxCacheJsonTermCompareImpl(char* a, char* b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexCache.c:860,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexCache.c:869,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/index/src/indexCache.c:865,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/index/src/indexCache.c:864,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/index/src/indexCache.c:862,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexCache.c:873,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexCache.c:874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - itera
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 879
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 879
    functionName: idxCacheIteratorNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - SL_GET_NODE_DATA
    - taosMemoryFree
    - tSkipListIterGet
    - taosArrayPush
    - taosStrdup
    - iterateValueDestroy
    - tSkipListIterNext
    linkageType: ''
    returnType: bool
    signature: 'static bool idxCacheIteratorNext(Iterate* itera) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: idxCacheIteratorGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: IterateValue*
    signature: 'static IterateValue * idxCacheIteratorGetValue(Iterate* iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: cacheSearchSuffix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchSuffix_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: cacheSearchLessThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchLessThan_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: cacheSearchGreaterThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchGreaterThan_JSON(void* cache, SIndexTerm*
      term, SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: cacheSearchContain_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchContain_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: cacheSearchRegex_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchRegex_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: cacheSearchLessEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchLessEqual_JSON(void* cache, SIndexTerm*
      term, SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cacheSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexCache.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: cacheSearchGreaterEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached:
    - cacheSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchGreaterEqual_JSON(void* cache, SIndexTerm*
      term, SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - cache
    - term
    - tr
    - s
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - STermValueType*
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: cacheSearchRange_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cacheSearchRange_JSON(void* cache, SIndexTerm* term,
      SIdxTRslt* tr, STermValueType* s) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:20,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:32,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:34,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:25,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:35,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:39,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:41,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:43,1
    - Dst: dfaBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:48,1
    - Dst: dfaBuilderBuild
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:44,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 51
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 51
    functionName: regexCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - dfaBuilderBuild
    - strlen
    - taosArrayPush
    - taosStrdup
    - dfaBuilderCreate
    - taosArrayInit
    linkageType: ''
    returnType: FstRegex*
    signature: 'FstRegex *regexCreate(const char *str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - regex
    argTypes:
    - FstRegex*
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: regexAutomStart
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t regexAutomStart(FstRegex *regex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - regex
    argTypes:
    - FstRegex*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: regexDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void regexDestroy(FstRegex *regex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dfaIsMatch
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - regex
    - state
    argTypes:
    - FstRegex*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: regexAutomIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached:
    - dfaIsMatch
    linkageType: ''
    returnType: bool
    signature: 'bool regexAutomIsMatch(FstRegex *regex, uint32_t state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - regex
    - state
    - 'null'
    argTypes:
    - FstRegex*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: regexAutomCanMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool regexAutomCanMatch(FstRegex *regex, uint32_t state, bool null) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dfaAccept
      Src: /src/tdengine/source/libs/index/src/indexFstRegex.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - regex
    - state
    - byte
    - result
    argTypes:
    - FstRegex*
    - uint32_t
    - uint8_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: regexAutomAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstRegex.c
    functionUses: []
    functionsReached:
    - dfaAccept
    linkageType: ''
    returnType: bool
    signature: 'bool regexAutomAccept(FstRegex *regex, uint32_t state, uint8_t byte,
      uint32_t *result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:17,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:23,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 27
    functionName: fstBuilderNodeDefault
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayInit
    linkageType: ''
    returnType: FstBuilderNode*
    signature: 'FstBuilderNode * fstBuilderNodeDefault() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:74,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:75,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:81,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:76,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:82,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - FstBuilderNode*
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: fstBuilderNodeCloneFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fstBuilderNodeCloneFrom(FstBuilderNode* dst, FstBuilderNode*
      src) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:48,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:49,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:54,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:55,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - FstBuilderNode*
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: fstBuilderNodeEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool fstBuilderNodeEqual(FstBuilderNode* n1, FstBuilderNode* n2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:33,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstNode.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: fstBuilderNodeDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstNode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderNodeDestroy(FstBuilderNode* node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:256,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:262,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:257,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:260,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:259,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:265,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:267,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:268,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:268,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:271,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:275,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 277
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 277
    functionName: tfSearchTerm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - fstGet
    - indexInfo
    - tfileReaderLoadTableIds
    - fstSliceCreate
    - tstrerror
    - taosGetTimestampUs
    - fstSliceDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchTerm(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:327,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:328,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 331
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 331
    functionName: tfSearchSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - fstSliceDestroy
    - fstSliceCreate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchSuffix(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: tfSearchGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchGreaterEqual(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:418,1
    - Dst: fstGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:424,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:422,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:419,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:425,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:427,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:430,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:442,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:434,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:438,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:443,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:440,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 445
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 445
    functionName: tfSearchTerm_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosMemoryFree
    - fstSliceDestroy
    - fstGet
    - indexInfo
    - tfileReaderLoadTableIds
    - fstSliceCreate
    - tstrerror
    - taosGetTimestampUs
    - strlen
    - taosArrayGetSize
    - idxPackJsonData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchTerm_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 459
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 459
    functionName: tfSearchRegex_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchRegex_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    constantsTouched: []
    func_position:
      end: 726
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionName: tfileWriterClose
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - idxFileCtxDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tfileWriterClose(TFileWriter* tw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfileCacheCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:747,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:746,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:741,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:743,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:748,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    constantsTouched: []
    func_position:
      end: 753
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 753
    functionName: idxTFileCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfileCacheCreate
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tfileCacheDestroy
    linkageType: ''
    returnType: IndexTFile*
    signature: 'IndexTFile * idxTFileCreate(SIndex* idx, const char* path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:883,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:887,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:886,1
    - Dst: automCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 892
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 892
    functionName: tfileIteratorDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - stmBuilderDestroy
    - taosMemoryFree
    - stmStDestroy
    - automCtxDestroy
    - iterateValueDestroy
    linkageType: ''
    returnType: void
    signature: 'void tfileIteratorDestroy(Iterate* iter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:285,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:301,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:306,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:312,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:297,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:305,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:311,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:318,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:320,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:290,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:299,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:300,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:309,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:317,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:296,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:292,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:303,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:310,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:314,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:320,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 322
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 322
    functionName: tfSearchPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - stmStNextWith
    - stmBuilderDestroy
    - indexError
    - taosArrayGet
    - taosArrayDestroy
    - swsResultDestroy
    - stmStDestroy
    - stmBuilderIntoStm
    - tfileReaderLoadTableIds
    - tstrerror
    - taosArrayPush
    - automCtxCreate
    - fstSearch
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchPrefix(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:333,1
    - Dst: idxPackJsonData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:340,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:342,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:347,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:349,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 351
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 351
    functionName: tfSearchRegex
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - fstSliceDestroy
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    - fstSliceCreate
    - taosGetTimestampUs
    - strlen
    - idxPackJsonData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchRegex(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:411,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:413,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: tfSearchRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - fstSliceDestroy
    - fstSliceCreate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchRange(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: tfSearchEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchEqual_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: tfSearchLessThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchLessThan_JSON(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TFileWriter*
    constantsTouched: []
    func_position:
      end: 733
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 733
    functionName: tfileWriterDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - idxFileCtxDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tfileWriterDestroy(TFileWriter* tw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:758,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:760,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - tfile
    argTypes:
    - IndexTFile*
    constantsTouched: []
    func_position:
      end: 761
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 761
    functionName: idxTFileDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - tfileCacheDestroy
    linkageType: ''
    returnType: void
    signature: 'void idxTFileDestroy(IndexTFile* tfile) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:899,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:901,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:904,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:905,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:902,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:906,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - tf
    - suid
    - colName
    argTypes:
    - IndexTFile*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 909
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 909
    functionName: tfileGetReaderByCol
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tfileCacheGet
    - strlen
    linkageType: ''
    returnType: TFileReader*
    signature: 'TFileReader * tfileGetReaderByCol(IndexTFile* tf, uint64_t suid, char*
      colName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1215,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - filename
    - suid
    - col
    - version
    argTypes:
    - char*
    - uint64_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: tfileGenFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void tfileGenFileName(char* filename, uint64_t suid, const
      char* col, int64_t version) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1086,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1092,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1094,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - reader
    - offset
    - result
    argTypes:
    - TFileReader*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: tfileReaderLoadTableIds
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosArrayPush
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfileReaderLoadTableIds(TFileReader* reader, int32_t
      offset, SArray* result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:612,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:615,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:622,1
    - Dst: tfileWriteHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - ctx
    - header
    - pWriter
    argTypes:
    - IFileCtx*
    - TFileHeader*
    - TFileWriter**
    constantsTouched: []
    func_position:
      end: 628
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 628
    functionName: tfileWriterCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - tfileWriteHeader
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileWriterCreate(IFileCtx* ctx, TFileHeader* header, TFileWriter**
      pWriter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:929,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:935,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:939,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:933,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:937,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - val
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 944
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 944
    functionName: tfileValueCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: TFileValue*
    signature: 'TFileValue * tfileValueCreate(char* val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tw
    - offset
    argTypes:
    - TFileWriter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 978
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 978
    functionName: tfileWriteFstOffset
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexInfo
    linkageType: ''
    returnType: int
    signature: 'static int tfileWriteFstOffset(TFileWriter* tw, int32_t offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1002,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1003,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1003,1
    - Dst: fstBuilderInsert
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1004,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - write
    - tval
    argTypes:
    - TFileWriter*
    - TFileValue*
    constantsTouched: []
    func_position:
      end: 1009
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1009
    functionName: tfileWriteData
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - fstSliceCreate
    - strlen
    - fstBuilderInsert
    - IDX_TYPE_GET_TYPE
    - fstSliceDestroy
    linkageType: ''
    returnType: int
    signature: 'static int tfileWriteData(TFileWriter* write, TFileValue* tval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1158,1
    - Dst: tfileParseFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1163,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1178,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1181,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1161,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1156,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1167,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1175,1
    - Dst: tfileRmExpireFile
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1181,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1180,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1174,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1186,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1178,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1186,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1151,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1162,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1167,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1173,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1188,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 2
    argNames:
    - path
    - ppResult
    argTypes:
    - char*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1191
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1191
    functionName: tfileGetFileList
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TAOS_UNUSED
    - sprintf
    - taosMemoryCalloc
    - tfileParseFileName
    - taosReadDir
    - taosCloseDir
    - strlen
    - taosArraySort
    - taosArrayPush
    - taosOpenDir
    - taosArrayDestroyEx
    - taosGetDirEntryName
    - tfileRmExpireFile
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfileGetFileList(const char* path, SArray** ppResult) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1199
    functionName: tfileDestroyFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void tfileDestroyFileName(void* elem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - filename
    - suid
    - col
    - version
    argTypes:
    - char*
    - uint64_t*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1212
    functionName: tfileParseFileName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: int
    signature: 'static int tfileParseFileName(const char* filename, uint64_t* suid,
      char* col, int64_t* version) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:641,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:657,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:659,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:694,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:705,1
    - Dst: tfileWriteFooter
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:717,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:656,1
    - Dst: TF_TABLE_TATOAL_SIZE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:675,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:664,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:670,1
    - Dst: tfileSerialTableIdsToBuf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:688,1
    - Dst: fstBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:696,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:707,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:717,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:636,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:646,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:672,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:689,1
    - Dst: tfileWriterClose
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:698,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:712,1
    - Dst: fstBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:716,1
    - Dst: taosArraySortPWithExt
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:646,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:649,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:654,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:655,1
    - Dst: tfileWriteFstOffset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:661,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:679,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:692,1
    - Dst: tfileWriteData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:710,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:711,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 77
    argCount: 3
    argNames:
    - tw
    - data
    - order
    argTypes:
    - TFileWriter*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 719
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 719
    functionName: tfileWriterPut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - fstBuilderCreate
    - taosMemoryFree
    - TAOS_UNUSED
    - tfileWriteFstOffset
    - taosMemoryCalloc
    - getComparFunc
    - taosMemoryRealloc
    - taosArrayGetSize
    - taosArraySortPWithExt
    - taosArraySort
    - TF_TABLE_TATOAL_SIZE
    - indexError
    - tfileWriteData
    - memset
    - IDX_TYPE_GET_TYPE
    - tfileSerialTableIdsToBuf
    - tfileWriterClose
    - taosArrayRemoveDuplicate
    - fstBuilderDestroy
    - tfileWriteFooter
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileWriterPut(TFileWriter* tw, void* data, bool order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 917
    functionName: tfileStrCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int tfileStrCompare(const void* a, const void* b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - tf
    - val
    argTypes:
    - TFileValue*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 953
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 953
    functionName: tfileValuePush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileValuePush(TFileValue* tf, uint64_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:984,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:989,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:986,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:990,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - writer
    argTypes:
    - TFileWriter*
    constantsTouched: []
    func_position:
      end: 997
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 997
    functionName: tfileWriteHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - memcpy
    - indexInfo
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: 'static int tfileWriteHeader(TFileWriter* writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1013,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1016,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1014,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1013,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - write
    argTypes:
    - TFileWriter*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1022
    functionName: tfileWriteFooter
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - indexInfo
    - taosEncodeFixedU64
    - strlen
    linkageType: ''
    returnType: int
    signature: 'static int tfileWriteFooter(TFileWriter* write) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - result
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1195
    functionName: tfileRmExpireFile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tfileRmExpireFile(SArray* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: tfileCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int tfileCompare(const void* a, const void* b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:171,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:176,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - tcache
    - key
    argTypes:
    - TFileCache*
    - ICacheKey*
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: tfileCacheGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - tfileReaderRef
    - idxSerialCacheKey
    linkageType: ''
    returnType: TFileReader*
    signature: 'TFileReader * tfileCacheGet(TFileCache* tcache, ICacheKey* key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:206,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:214,1
    - Dst: tfileReaderVerify
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:215,1
    - Dst: tfileReaderLoadHeader
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:218,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:219,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:221,1
    - Dst: tfileReaderLoadFst
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:224,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:225,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:227,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:233,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - pReader
    argTypes:
    - IFileCtx*
    - TFileReader**
    constantsTouched: []
    func_position:
      end: 235
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 235
    functionName: tfileReaderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - indexError
    - taosMemoryCalloc
    - tfileReaderLoadFst
    - tfileReaderDestroy
    - tfileReaderVerify
    - tfileReaderLoadHeader
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileReaderCreate(IFileCtx* ctx, TFileReader** pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 465
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 465
    functionName: tfSearchLessEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchLessEqual_JSON(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: idxPackJsonDataPrefix
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:490,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:502,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:506,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:509,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:526,1
    - Dst: IDX_TYPE_GET_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:526,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:514,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:513,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:547,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:498,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:519,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:525,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:516,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:529,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:535,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:546,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:548,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:497,1
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:493,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:545,1
    - Dst: idxPackJsonDataPrefixNoType
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:495,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:500,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:527,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:535,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:538,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:541,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - ctype
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    constantsTouched: []
    func_position:
      end: 551
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 551
    functionName: tfSearchCompareFunc_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - swsResultDestroy
    - taosMemoryCalloc
    - tfileReaderLoadTableIds
    - automCtxCreate
    - idxPackJsonDataPrefix
    - taosArrayInit
    - stmStNextWith
    - taosArrayDestroy
    - stmBuilderIntoStm
    - idxGetCompare
    - memcpy
    - fstSearch
    - stmBuilderDestroy
    - idxPackJsonDataPrefixNoType
    - fstSliceData
    - strncmp
    - IDX_TYPE_GET_TYPE
    - cmpFn
    - stmStDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchCompareFunc_JSON(void* reader, SIndexTerm*
      tem, SIdxTRslt* tr, RangeType ctype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileFullName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:571,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:582,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:583,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:583,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:573,1
    - Dst: tfileWriterCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:586,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:588,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - path
    - suid
    - version
    - colName
    - colType
    - pWriter
    argTypes:
    - char*
    - uint64_t
    - int64_t
    - char*
    - uint8_t
    - TFileWriter**
    constantsTouched: []
    func_position:
      end: 591
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 591
    functionName: tfileWriterOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfileWriterCreate
    - tfileGenFileFullName
    - idxFileCtxDestroy
    - strlen
    - idxFileCtxCreate
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileWriterOpen(char* path, uint64_t suid, int64_t version,
      const char* colName, uint8_t colType, TFileWriter** pWriter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:955,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tf
    argTypes:
    - TFileValue*
    constantsTouched: []
    func_position:
      end: 958
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 958
    functionName: tfileValueDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tfileValueDestroy(TFileValue* tf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1131,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1133
    functionName: tfileReaderRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - T_REF_INC
    - UNUSED
    linkageType: ''
    returnType: void
    signature: 'void tfileReaderRef(TFileReader* rd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:191,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:191,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:187,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:190,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:194,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:196,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:200,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - tcache
    - key
    - reader
    argTypes:
    - TFileCache*
    - ICacheKey*
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 203
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 203
    functionName: tfileCachePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - tfileReaderRef
    - indexInfo
    - taosHashGet
    - taosHashRemove
    - tstrerror
    - tfileReaderUnRef
    - taosHashPut
    - idxSerialCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileCachePut(TFileCache* tcache, ICacheKey* key, TFileReader*
      reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:240,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:248,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:242,1
    - Dst: idxFileCtxDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: tfileReaderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - idxFileCtxDestroy
    - indexInfo
    - taosMemoryFree
    - fstDestroy
    linkageType: ''
    returnType: void
    signature: 'void tfileReaderDestroy(TFileReader* reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: tfSearchGreaterThan_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchGreaterThan_JSON(void* reader, SIndexTerm*
      tem, SIdxTRslt* tr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IDX_TYPE_CONTAIN_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:557,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - reader
    - query
    - tr
    argTypes:
    - TFileReader*
    - SIndexTermQuery*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 565
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 565
    functionName: tfileReaderSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfileReaderUnRef
    - IDX_TYPE_CONTAIN_EXTERN_TYPE
    linkageType: ''
    returnType: int
    signature: 'int tfileReaderSearch(TFileReader* reader, SIndexTermQuery* query,
      SIdxTRslt* tr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileFullName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:596,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:601,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:600,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:598,1
    - Dst: indexTrace
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:605,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - idx
    - suid
    - version
    - colName
    - pReader
    argTypes:
    - SIndex*
    - uint64_t
    - int64_t
    - char*
    - TFileReader**
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: tfileReaderOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - tfileReaderCreate
    - TAOS_SYSTEM_ERROR
    - tfileGenFileFullName
    - tstrerror
    - indexTrace
    - idxFileCtxCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfileReaderOpen(SIndex* idx, uint64_t suid, int64_t version,
      const char* colName, TFileReader** pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:960,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:963,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:961,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - ids
    argTypes:
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 966
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 966
    functionName: tfileSerialTableIdsToBuf
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - SERIALIZE_VAR_TO_BUF
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void tfileSerialTableIdsToBuf(char* buf, SArray* ids) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1030,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1033,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1035,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1038
    functionName: tfileReaderLoadHeader
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - memcpy
    - indexInfo
    linkageType: ''
    returnType: int
    signature: 'static int tfileReaderLoadHeader(TFileReader* reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1139,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - rd
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1144
    functionName: tfileReaderUnRef
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfileReaderDestroy
    - T_REF_DEC
    linkageType: ''
    returnType: void
    signature: 'void tfileReaderUnRef(TFileReader* rd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - tfile
    - term
    - uid
    argTypes:
    - void*
    - SIndexTerm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 799
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionName: idxTFilePut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int idxTFilePut(void* tfile, SIndexTerm* term, uint64_t uid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:93,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:100,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:98,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:114,1
    - Dst: idxFileCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:116,1
    - Dst: tfileReaderCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:134,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:109,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:113,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:127,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:118,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:127,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:145,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:109,1
    - Dst: idxSerialCacheKey
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:137,1
    - Dst: tfileReaderRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:143,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:100,1
    - Dst: tfileGetFileList
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:107,1
    - Dst: tfileReaderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:140,1
    - Dst: tfileCacheDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:148,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 2
    argNames:
    - idx
    - path
    argTypes:
    - SIndex*
    - char*
    constantsTouched: []
    func_position:
      end: 151
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 151
    functionName: tfileCacheCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosArrayGetP
    - tfileReaderCreate
    - tfileReaderRef
    - taosMemoryCalloc
    - indexInfo
    - tfileReaderDestroy
    - taosArrayGetSize
    - tstrerror
    - strlen
    - tfileCacheDestroy
    - taosArrayDestroyEx
    - idxFileCtxCreate
    - taosHashPut
    - taosGetDefaultHashFunction
    - idxSerialCacheKey
    - taosHashInit
    - tfileGetFileList
    linkageType: ''
    returnType: TFileCache*
    signature: 'TFileCache * tfileCacheCreate(SIndex* idx, const char* path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:364,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:362,1
    - Dst: stmBuilderSetRange
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:365,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:368,1
    - Dst: stmStDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:390,1
    - Dst: idxGetCompare
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:357,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:366,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:370,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:387,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:384,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:381,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:376,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:359,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:372,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:392,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:374,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:361,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:381,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:391,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - reader
    - tem
    - tr
    - type
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    - RangeType
    constantsTouched: []
    func_position:
      end: 394
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 394
    functionName: tfSearchCompareFunc
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - stmStNextWith
    - stmBuilderDestroy
    - fstSliceData
    - TAOS_UNUSED
    - swsResultDestroy
    - stmStDestroy
    - taosArrayDestroy
    - stmBuilderIntoStm
    - idxGetCompare
    - tfileReaderLoadTableIds
    - fstSliceCreate
    - automCtxCreate
    - cmpFn
    - fstSearch
    - stmBuilderSetRange
    - fstSliceDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchCompareFunc(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr, RangeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: tfSearchLessEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchLessEqual(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: tfSearchPrefix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchPrefix_JSON(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc_JSON
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: tfSearchGreaterEqual_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc_JSON
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchGreaterEqual_JSON(void* reader, SIndexTerm*
      tem, SIdxTRslt* tr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:769,1
    - Dst: tfileCacheGet
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:779,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:775,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:776,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:781,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:782,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:788,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:789,1
    - Dst: tfileReaderSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:791,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - tfile
    - query
    - result
    argTypes:
    - void*
    - SIndexTermQuery*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 792
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 792
    functionName: idxTFileSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - indexInfo
    - tfileCacheGet
    - taosGetTimestampUs
    - tfileReaderSearch
    linkageType: ''
    returnType: int
    signature: 'int idxTFileSearch(void* tfile, SIndexTermQuery* query, SIdxTRslt*
      result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iterateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:803,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:815,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:816,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:821,1
    - Dst: stmStNextWith
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:809,1
    - Dst: swsResultDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:824,1
    - Dst: tfileReaderLoadTableIds
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - iiter
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 834
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 834
    functionName: tfileIteratorNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - stmStNextWith
    - fstSliceData
    - swsResultDestroy
    - taosMemoryCalloc
    - tfileReaderLoadTableIds
    - memcpy
    - iterateValueDestroy
    linkageType: ''
    returnType: bool
    signature: 'static bool tfileIteratorNext(Iterate* iiter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:839,1
    - Dst: stmBuilderIntoStm
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:846,1
    - Dst: automCtxCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:844,1
    - Dst: fstSearch
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: tfileFstIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - fstSearch
    - stmBuilderIntoStm
    - automCtxCreate
    linkageType: ''
    returnType: TFileFstIter*
    signature: 'static TFileFstIter * tfileFstIteratorCreate(TFileReader* reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:157,1
    - Dst: tfileReaderUnRef
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:162,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:163,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:165,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - tcache
    argTypes:
    - TFileCache*
    constantsTouched: []
    func_position:
      end: 167
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 167
    functionName: tfileCacheDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - indexInfo
    - taosHashIterate
    - tfileReaderUnRef
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tfileCacheDestroy(TFileCache* tcache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: tfSearchLessThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchLessThan(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfSearchCompareFunc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: tfSearchGreaterThan
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfSearchCompareFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchGreaterThan(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 455
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 455
    functionName: tfSearchSuffix_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchSuffix_JSON(void* reader, SIndexTerm* tem,
      SIdxTRslt* tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - reader
    - tem
    - tr
    argTypes:
    - void*
    - SIndexTerm*
    - SIdxTRslt*
    constantsTouched: []
    func_position:
      end: 475
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 475
    functionName: tfSearchRange_JSON
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfSearchRange_JSON(void* reader, SIndexTerm* tem, SIdxTRslt*
      tr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - Iterate*
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: tifileIterateGetValue
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: IterateValue*
    signature: 'static IterateValue * tifileIterateGetValue(Iterate* iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:856,1
    - Dst: tfileFstIteratorCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:861,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:868,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:863,1
    - Dst: tfileIteratorDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 876
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 876
    functionName: tfileIteratorCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tfileIteratorDestroy
    - tfileFstIteratorCreate
    - taosArrayInit
    linkageType: ''
    returnType: Iterate*
    signature: 'Iterate * tfileIteratorCreate(TFileReader* reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 926
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 926
    functionName: tfileValueCompare
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: 'static int tfileValueCompare(const void* a, const void* b, const void*
      param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1045,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1050,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1052,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1053,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1060,1
    - Dst: fstCreate
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1061,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1062,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1063,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1066
    functionName: tfileReaderLoadFst
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - indexInfo
    - fstSliceCreate
    - taosGetTimestampUs
    - fstCreate
    - fstSliceDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfileReaderLoadFst(TFileReader* reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1123,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - reader
    argTypes:
    - TFileReader*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1125
    functionName: tfileReaderVerify
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedU64
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: 'static int tfileReaderVerify(TFileReader* reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfileGenFileName
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1221,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1222,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexTfile.c:1222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - fullname
    - path
    - suid
    - col
    - version
    argTypes:
    - char*
    - char*
    - uint64_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1223
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1223
    functionName: tfileGenFileFullName
    functionSourceFile: /src/tdengine/source/libs/index/src/indexTfile.c
    functionUses: []
    functionsReached:
    - tfileGenFileName
    - TAOS_UNUSED
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static void FORCE_INLINE tfileGenFileFullName(char* fullname, const
      char* path, uint64_t suid, const char* col, int64_t version) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:24,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:31,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:25,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:30,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b
    - size
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 37
    functionName: dfaInstsEqual
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int
    signature: 'static int dfaInstsEqual(const void *a, const void *b, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:57,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:60,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:63,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:64,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - builder
    argTypes:
    - FstDfaBuilder*
    constantsTouched: []
    func_position:
      end: 65
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 65
    functionName: dfaBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void dfaBuilderDestroy(FstDfaBuilder *builder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sparSetClear
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:127,1
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:129,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:134,1
    - Dst: dfaRun
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:136,1
    - Dst: dfaBuilderCacheState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - builder
    - cur
    - next
    - state
    - byte
    - result
    argTypes:
    - FstDfaBuilder*
    - FstSparseSet*
    - FstSparseSet*
    - uint32_t
    - uint8_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: dfaBuilderRunState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - TAOS_UNUSED
    - sparSetAdd
    - dfaBuilderCacheState
    - sparSetClear
    - dfaRun
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool dfaBuilderRunState(FstDfaBuilder *builder, FstSparseSet *cur,
      FstSparseSet *next, uint32_t state, uint8_t byte, uint32_t *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - insts
    - states
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: dfaCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: FstDfa*
    signature: 'FstDfa *dfaCreate(SArray *insts, SArray *states) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:223,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - dfa
    - si
    - byte
    - result
    argTypes:
    - FstDfa*
    - uint32_t
    - uint8_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: dfaAccept
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool dfaAccept(FstDfa *dfa, uint32_t si, uint8_t byte, uint32_t *result) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:89,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:94,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:118,1
    - Dst: dfaBuilderRunState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:98,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:120,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:68,1
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:69,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:108,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:100,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:119,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:79,1
    - Dst: dfaBuilderCacheState
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:84,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:85,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:89,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:95,1
    - Dst: sparSetCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:70,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:76,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:99,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:114,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:120,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 1
    argNames:
    - builder
    argTypes:
    - FstDfaBuilder*
    constantsTouched: []
    func_position:
      end: 122
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 122
    functionName: dfaBuilderBuild
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - indexError
    - taosArrayDestroy
    - sparSetCreate
    - taosGetDefaultHashFunction
    - taosHashGet
    - dfaBuilderRunState
    - dfaBuilderCacheState
    - tstrerror
    - taosArrayPush
    - taosHashCleanup
    - taosArrayPop
    - taosHashPut
    - taosArrayGetSize
    - dfaAdd
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: FstDfa*
    signature: 'FstDfa *dfaBuilderBuild(FstDfaBuilder *builder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:39,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:44,1
    - Dst: dfaCreate
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:46,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:47,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:48,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - insts
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: dfaBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - dfaCreate
    - taosGetDefaultHashFunction
    - taosHashSetEqualFp
    - taosHashInit
    - taosArrayInit
    linkageType: ''
    returnType: FstDfaBuilder*
    signature: 'FstDfaBuilder *dfaBuilderCreate(SArray *insts) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:149,1
    - Dst: sparSetLen
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:156,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:158,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:170,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:177,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:183,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:200,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:192,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:191,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:201,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - builder
    - set
    - result
    argTypes:
    - FstDfaBuilder*
    - FstSparseSet*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 203
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 203
    functionName: dfaBuilderCacheState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - indexError
    - sparSetGet
    - taosArrayGet
    - taosArrayDestroy
    - taosHashGet
    - taosArrayPush
    - sparSetLen
    - taosHashPut
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: bool
    signature: 'bool dfaBuilderCacheState(FstDfaBuilder *builder, FstSparseSet *set,
      uint32_t *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:216,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:219,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - dfa
    - si
    argTypes:
    - FstDfa*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: dfaIsMatch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool dfaIsMatch(FstDfa *dfa, uint32_t si) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sparSetContains
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:231,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:241,1
    - Dst: sparSetAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:234,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:235,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - dfa
    - set
    - ip
    argTypes:
    - FstDfa*
    - FstSparseSet*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 246
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 246
    functionName: dfaAdd
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - sparSetContains
    - dfaAdd
    - taosArrayGet
    - sparSetAdd
    linkageType: ''
    returnType: void
    signature: 'void dfaAdd(FstDfa *dfa, FstSparseSet *set, uint32_t ip) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sparSetClear
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:249,1
    - Dst: dfaAdd
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:261,1
    - Dst: sparSetGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:252,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:254,1
    - Dst: sparSetLen
      Src: /src/tdengine/source/libs/index/src/indexFstDfa.c:250,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - dfa
    - from
    - to
    - byte
    argTypes:
    - FstDfa*
    - FstSparseSet*
    - FstSparseSet*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 267
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 267
    functionName: dfaRun
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstDfa.c
    functionUses: []
    functionsReached:
    - sparSetGet
    - taosArrayGet
    - sparSetLen
    - sparSetClear
    - dfaAdd
    linkageType: ''
    returnType: bool
    signature: 'bool dfaRun(FstDfa *dfa, FstSparseSet *from, FstSparseSet *to, uint8_t
      byte) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:32,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:35,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:34,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: deleteDataBlockFromLRU
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void deleteDataBlockFromLRU(const void* key, size_t keyLen,
      void* value, void* ud) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:108,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:113,1
    - Dst: idxGenLRUKey
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:112,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:116,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:113,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:117,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:118,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:119,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:119,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:123,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:124,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:135,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:140,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:142,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:149,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:147,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 4
    argNames:
    - ctx
    - buf
    - len
    - offset
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    - int32_t
    constantsTouched: []
    func_position:
      end: 166
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 166
    functionName: idxFileCtxDoReadFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - taosMemoryFree
    - TAOS_UNUSED
    - taosLRUCacheInsert
    - taosLRUCacheLookup
    - taosMemoryCalloc
    - taosLRUCacheRelease
    - strlen
    - taosPReadFile
    - idxGenLRUKey
    - memcpy
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t idxFileCtxDoReadFrom(IFileCtx* ctx, uint8_t* buf, int
      len, int32_t offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:51,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:52,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:52,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:62,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:54,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:62,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:68,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:72,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 81
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 81
    functionName: idxFileCtxDoWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosWriteFile
    - TAOS_UNUSED
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int idxFileCtxDoWrite(IFileCtx* ctx, uint8_t*
      buf, int len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:182,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:186,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IFileCtx*
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: idxFileCtxDoFlush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - UNUSED
    - taosWriteFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int idxFileCtxDoFlush(IFileCtx* ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:271,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:270,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:267,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:272,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:272,1
    - Dst: munmap
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:275,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:279,1
    - Dst: unlink
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - remove
    argTypes:
    - IFileCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 283
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 283
    functionName: idxFileCtxDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosCloseFile
    - unlink
    - munmap
    - taosWriteFile
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void idxFileCtxDestroy(IFileCtx* ctx, bool remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:295,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:296,1
    - Dst: idxFileFlush
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cw
    argTypes:
    - IdxFstFile*
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: idxFileDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - idxFileFlush
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void idxFileDestroy(IdxFstFile* cw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - write
    - buf
    - len
    argTypes:
    - IdxFstFile*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: idxFileRead
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxFileRead(IdxFstFile* write, uint8_t* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - write
    argTypes:
    - IdxFstFile*
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: idxFileFlush
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int idxFileFlush(IdxFstFile* write) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:87,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:89,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:92,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - buf
    - len
    argTypes:
    - IFileCtx*
    - uint8_t*
    - int
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: idxFileCtxDoRead
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosReadFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int idxFileCtxDoRead(IFileCtx* ctx, uint8_t* buf,
      int len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SERIALIZE_STR_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:40,1
    - Dst: idxInt2str
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:42,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:42,1
    - Dst: SERIALIZE_VAR_TO_BUF
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:41,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - path
    - blockId
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: idxGenLRUKey
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - SERIALIZE_STR_VAR_TO_BUF
    - TAOS_UNUSED
    - SERIALIZE_VAR_TO_BUF
    - strlen
    - idxInt2str
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void idxGenLRUKey(char* buf, const char* path,
      int32_t blockId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:173,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IFileCtx*
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: idxFileCtxGetSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosStatFile
    - TAOS_UNUSED
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int idxFileCtxGetSize(IFileCtx* ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:203,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:203,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:210,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:217,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:221,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:207,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:215,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:257,1
    - Dst: tfMmapReadOnly
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:195,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:205,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:208,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:259,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:211,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:222,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:238,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 4
    argNames:
    - type
    - path
    - readOnly
    - capacity
    argTypes:
    - WriterType
    - char*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 261
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 261
    functionName: idxFileCtxCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - indexError
    - taosOpenFile
    - taosFStatFile
    - taosStatFile
    - taosMemoryFree
    - taosMemoryCalloc
    - UNUSED
    - taosFtruncateFile
    - strlen
    - tfMmapReadOnly
    - memcpy
    linkageType: ''
    returnType: IFileCtx*
    signature: 'IFileCtx * idxFileCtxCreate(WriterType type, const char* path, bool
      readOnly, int32_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - wrt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: idxFileCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: IdxFstFile*
    signature: 'IdxFstFile * idxFileCreate(void* wrt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:314,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - write
    - buf
    - len
    argTypes:
    - IdxFstFile*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 316
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 316
    functionName: idxFileWrite
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosCalcChecksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t idxFileWrite(IdxFstFile* write, uint8_t* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - write
    argTypes:
    - IdxFstFile*
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: idxFileMaskedCheckSum
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t idxFileMaskedCheckSum(IdxFstFile* write) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:338,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:347,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:340,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:347,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - writer
    - n
    - nBytes
    argTypes:
    - IdxFstFile*
    - uint64_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: idxFilePackUintIn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - indexError
    - idxFileWrite
    - TAOS_UNUSED
    - taosMemoryFree
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: 'void idxFilePackUintIn(IdxFstFile* writer, uint64_t n, uint8_t nBytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:353,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFstFile.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - writer
    - n
    argTypes:
    - IdxFstFile*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: idxFilePackUint
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFstFile.c
    functionUses: []
    functionsReached:
    - packSize
    - idxFilePackUintIn
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t idxFilePackUint(IdxFstFile* writer, uint64_t n) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - s
    - 'yes'
    argTypes:
    - FstState*
    - bool
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: fstStateSetFinalState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fstStateSetFinalState(FstState* s, bool yes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:803,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:806,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:815,1
    - Dst: fstSliceCompare
      Src: /src/tdengine/source/libs/index/src/indexFst.c:808,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:804,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:816,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - b
    - bs
    - ckDup
    argTypes:
    - FstBuilder*
    - FstSlice
    - bool
    constantsTouched: []
    func_position:
      end: 819
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 819
    functionName: fstBuilderCheckLastKey
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceDeepCopy
    - fstSliceDestroy
    - fstSliceIsEmpty
    - fstSliceCompare
    linkageType: ''
    returnType: FstOrderType
    signature: 'FstOrderType fstBuilderCheckLastKey(FstBuilder* b, FstSlice bs, bool
      ckDup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:838,1
    - Dst: fstRegistryGetEntry
      Src: /src/tdengine/source/libs/index/src/indexFst.c:841,1
    - Dst: fstRegistryEntryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:844,1
    - Dst: FST_BUILDER_NODE_FINALOUTPUT_ISZERO
      Src: /src/tdengine/source/libs/index/src/indexFst.c:838,1
    - Dst: FST_BUILDER_NODE_TRANS_ISEMPTY
      Src: /src/tdengine/source/libs/index/src/indexFst.c:838,1
    - Dst: FST_WRITER_COUNT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:847,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:849,1
    - Dst: fstBuilderNodeCompileTo
      Src: /src/tdengine/source/libs/index/src/indexFst.c:849,1
    - Dst: FST_WRITER_COUNT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:850,1
    - Dst: fstRegistryEntryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:854,1
    - Dst: FST_REGISTRY_CELL_INSERT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:852,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - b
    - bn
    argTypes:
    - FstBuilder*
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 857
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 857
    functionName: fstBuilderCompile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_BUILDER_NODE_FINALOUTPUT_ISZERO
    - FST_WRITER_COUNT
    - TAOS_UNUSED
    - FST_REGISTRY_CELL_INSERT
    - fstBuilderNodeCompileTo
    - fstRegistryEntryDestroy
    - FST_BUILDER_NODE_IS_FINAL
    - fstRegistryGetEntry
    - FST_BUILDER_NODE_TRANS_ISEMPTY
    linkageType: ''
    returnType: CompiledAddr
    signature: 'CompiledAddr fstBuilderCompile(FstBuilder* b, FstBuilderNode* bn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_UNFINISHED_NODES_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:822,1
    - Dst: fstUnFinishedNodesPopFreeze
      Src: /src/tdengine/source/libs/index/src/indexFst.c:827,1
    - Dst: fstUnFinishedNodesPopEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:825,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:831,1
    - Dst: fstBuilderCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:829,1
    - Dst: fstUnFinishedNodesTopLastFreeze
      Src: /src/tdengine/source/libs/index/src/indexFst.c:833,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - b
    - istate
    argTypes:
    - FstBuilder*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 835
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 835
    functionName: fstBuilderCompileFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - fstUnFinishedNodesTopLastFreeze
    - fstUnFinishedNodesPopEmpty
    - FST_UNFINISHED_NODES_LEN
    - fstBuilderCompile
    - fstUnFinishedNodesPopFreeze
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderCompileFrom(FstBuilder* b, uint64_t istate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderCompileFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:860,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:863,1
    - Dst: fstBuilderCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:862,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:868,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:869,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:872,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/index/src/indexFst.c:878,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:881,1
    - Dst: fstUnFinishedNodesPopRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:861,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:879,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:873,1
    - Dst: idxFileFlush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:881,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:868,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:872,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:873,1
    - Dst: idxFileMaskedCheckSum
      Src: /src/tdengine/source/libs/index/src/indexFst.c:877,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:878,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:879,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    constantsTouched: []
    func_position:
      end: 883
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 883
    functionName: fstBuilderInsertInner
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - taosEncodeFixedU32
    - idxFileWrite
    - TAOS_UNUSED
    - taosEncodeFixedU64
    - idxFileFlush
    - fstUnFinishedNodesPopRoot
    - fstBuilderCompileFrom
    - fstBuilderCompile
    - idxFileMaskedCheckSum
    linkageType: ''
    returnType: void*
    signature: 'void * fstBuilderInsertInner(FstBuilder* b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:446,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:453,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:452,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:451,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 456
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 456
    functionName: fstStateOutputForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceData
    - fstStateTotalTransSize
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateNtransLen
    - unpackUint64
    linkageType: ''
    returnType: Output
    signature: 'Output fstStateOutputForAnyTrans(FstState* s, FstNode* node, uint64_t
      i) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:108,1
    - Dst: fstLastTransitionCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:115,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:109,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:114,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:118,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:126,1
    - Dst: fstLastTransitionCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:130,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:135,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:134,1
    - Dst: fstUnFinishedNodesPushEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - nodes
    - bs
    - out
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    - Output
    constantsTouched: []
    func_position:
      end: 139
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 139
    functionName: fstUnFinishedNodesAddSuffix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - taosMemoryFree
    - taosArrayGet
    - fstSliceData
    - taosMemoryMalloc
    - fstLastTransitionCreate
    - fstSliceIsEmpty
    - fstUnFinishedNodesPushEmpty
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void fstUnFinishedNodesAddSuffix(FstUnFinishedNodes* nodes, FstSlice
      bs, Output out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:144,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - node
    - bs
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: fstUnFinishedNodesFindCommPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - fstSliceData
    - taosArrayGet
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstUnFinishedNodesFindCommPrefix(FstUnFinishedNodes* node,
      FstSlice bs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - elem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: unFinishedNodeDestroyElem
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void FORCE_INLINE unFinishedNodeDestroyElem(void* elem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - nodes
    - out
    argTypes:
    - FstUnFinishedNodes*
    - Output
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: fstUnFinishedNodesSetRootOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void fstUnFinishedNodesSetRootOutput(FstUnFinishedNodes* nodes, Output
      out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:402,1
    - Dst: unpackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:408,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:403,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    constantsTouched: []
    func_position:
      end: 410
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 410
    functionName: fstStateTransAddr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - unpackDelta
    - FST_GET_TRANSITION_PACK_SIZE
    - fstStateInputLen
    - fstSliceData
    linkageType: ''
    returnType: CompiledAddr
    signature: 'CompiledAddr fstStateTransAddr(FstState* s, FstNode* node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:424,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:426,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:424,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:429,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - s
    - slice
    argTypes:
    - FstState*
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: fstStateSizes
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateNtransLen
    - fstStateInputLen
    - fstSliceData
    - FST_SLICE_LEN
    linkageType: ''
    returnType: PackSizes
    signature: 'PackSizes fstStateSizes(FstState* s, FstSlice* slice) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:522,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:535,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:523,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:532,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:525,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:537,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:541,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:548,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - s
    - node
    - b
    - 'null'
    argTypes:
    - FstState*
    - FstNode*
    - uint8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 552
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 552
    functionName: fstStateFindInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceData
    - fstSliceCopy
    - fstStateNtransLen
    - fstSliceDestroy
    - fstStateTransIndexSize
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateFindInput(FstState* s, FstNode* node, uint8_t b,
      bool* null) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: fstUnFinishedNodesDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void fstUnFinishedNodesDestroy(FstUnFinishedNodes* nodes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:100,1
    - Dst: fstBuilderNodeUnfinishedLastCompiled
      Src: /src/tdengine/source/libs/index/src/indexFst.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - nodes
    - addr
    argTypes:
    - FstUnFinishedNodes*
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: fstUnFinishedNodesTopLastFreeze
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - fstBuilderNodeUnfinishedLastCompiled
    linkageType: ''
    returnType: void
    signature: 'void fstUnFinishedNodesTopLastFreeze(FstUnFinishedNodes* nodes, CompiledAddr
      addr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:413,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:414,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:414,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:416,1
    - Dst: unpackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: fstStateTransAddrForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstSliceData
    - fstStateNtransLen
    - unpackDelta
    - fstStateTransIndexSize
    linkageType: ''
    returnType: CompiledAddr
    signature: 'CompiledAddr fstStateTransAddrForAnyTrans(FstState* s, FstNode* node,
      uint64_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - inp
    - out
    argTypes:
    - uint8_t
    - Output
    constantsTouched: []
    func_position:
      end: 901
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 901
    functionName: fstLastTransitionCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: FstLastTransition*
    signature: 'FstLastTransition * fstLastTransitionCreate(uint8_t inp, Output out) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:707,1
    - Dst: fstStateCompileForOneTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:713,1
    - Dst: fstStateCompileForOneTransNext
      Src: /src/tdengine/source/libs/index/src/indexFst.c:715,1
    - Dst: fstStateCompileForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:711,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - node
    - w
    - lastAddr
    - addr
    - builderNode
    argTypes:
    - FstNode*
    - void*
    - CompiledAddr
    - CompiledAddr
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 723
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 723
    functionName: fstNodeCompile
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateCompileForAnyTrans
    - taosArrayGet
    - fstStateCompileForOneTransNext
    - fstStateCompileForOneTrans
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool fstNodeCompile(FstNode* node, void* w, CompiledAddr lastAddr,
      CompiledAddr addr, FstBuilderNode* builderNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1416,1
    - Dst: fstBoundStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1423,1
    - Dst: stmBuilderDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1427,1
    - Dst: fstBoundStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - fst
    - aut
    argTypes:
    - Fst*
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1432
    functionName: stmBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - stmBuilderDestroy
    - fstBoundStateCreate
    linkageType: ''
    returnType: FStmBuilder*
    signature: 'FStmBuilder * stmBuilderCreate(Fst* fst, FAutoCtx* aut) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeCompile
      Src: /src/tdengine/source/libs/index/src/indexFst.c:726,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - b
    - wrt
    - lastAddr
    - startAddr
    argTypes:
    - FstBuilderNode*
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 727
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 727
    functionName: fstBuilderNodeCompileTo
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstNodeCompile
    linkageType: ''
    returnType: bool
    signature: 'bool fstBuilderNodeCompileTo(FstBuilderNode* b, IdxFstFile* wrt, CompiledAddr
      lastAddr, CompiledAddr startAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - trn
    argTypes:
    - FstLastTransition*
    constantsTouched: []
    func_position:
      end: 903
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 903
    functionName: fstLastTransitionDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void fstLastTransitionDestroy(FstLastTransition* trn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1439,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1435,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - b
    argTypes:
    - FStmBuilder*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1440
    functionName: stmBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - fstSliceDestroy
    linkageType: ''
    returnType: void
    signature: 'void stmBuilderDestroy(FStmBuilder* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - s
    - version
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: fstStateTransIndexSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateTransIndexSize(FstState* s, uint64_t version, uint64_t
      nTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:493,1
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: fstStateNtransLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateStateNtrans
    - TAOS_UNUSED
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateNtransLen(FstState* s) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:683,1
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:689,1
    - Dst: fstStateFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - node
    - b
    - res
    argTypes:
    - FstNode*
    - uint8_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 704
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 704
    functionName: fstNodeFindInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateFindInput
    - fstStateInput
    linkageType: ''
    returnType: bool
    signature: 'bool fstNodeFindInput(FstNode* node, uint8_t b, uint64_t* res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:434,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:439,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:442,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:443,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    constantsTouched: []
    func_position:
      end: 444
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 444
    functionName: fstStateOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstSliceData
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateInputLen
    - unpackUint64
    linkageType: ''
    returnType: Output
    signature: 'Output fstStateOutput(FstState* s, FstNode* node) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:557,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:575,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:565,1
    - Dst: fstStateCreateFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:562,1
    - Dst: fstStateEndAddrForOneTransNext
      Src: /src/tdengine/source/libs/index/src/indexFst.c:579,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:585,1
    - Dst: fstStateSizes
      Src: /src/tdengine/source/libs/index/src/indexFst.c:586,1
    - Dst: fstStateEndAddrForOneTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:591,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:597,1
    - Dst: fstStateSizes
      Src: /src/tdengine/source/libs/index/src/indexFst.c:598,1
    - Dst: fstStateEndAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:604,1
    - Dst: fstStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:599,1
    - Dst: fstStateFinalOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:609,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 3
    argNames:
    - version
    - addr
    - slice
    argTypes:
    - int64_t
    - CompiledAddr
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 612
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 612
    functionName: fstNodeCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateFinalOutput
    - taosMemoryMalloc
    - fstSliceCopy
    - fstStateNtrans
    - fstStateIsFinalState
    - fstStateCreateFrom
    - fstStateEndAddrForOneTransNext
    - fstSliceCreate
    - fstStateEndAddrForOneTrans
    - fstStateEndAddrForAnyTrans
    - fstStateSizes
    linkageType: ''
    returnType: FstNode*
    signature: 'FstNode * fstNodeCreate(int64_t version, CompiledAddr addr, FstSlice*
      slice) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:665,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:667,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:665,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:669,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:667,1
    - Dst: fstStateTransAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:669,1
    - Dst: FST_STATE_EMPTY_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - node
    - i
    - res
    argTypes:
    - FstNode*
    - uint64_t
    - CompiledAddr*
    constantsTouched: []
    func_position:
      end: 675
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 675
    functionName: fstNodeGetTransitionAddrAt
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - fstStateTransAddrForAnyTrans
    - FST_STATE_EMPTY_FINAL
    - fstStateTransAddr
    linkageType: ''
    returnType: bool
    signature: 'bool fstNodeGetTransitionAddrAt(FstNode* node, uint64_t i, CompiledAddr*
      res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:82,1
    - Dst: fstBuilderNodeUnfinishedLastCompiled
      Src: /src/tdengine/source/libs/index/src/indexFst.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - nodes
    - addr
    argTypes:
    - FstUnFinishedNodes*
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: fstUnFinishedNodesPopFreeze
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeUnfinishedLastCompiled
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode*
    signature: 'FstBuilderNode * fstUnFinishedNodesPopFreeze(FstUnFinishedNodes* nodes,
      CompiledAddr addr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - 'null'
    argTypes:
    - FstState*
    - bool*
    constantsTouched: []
    func_position:
      end: 483
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 483
    functionName: fstStateStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t fstStateStateNtrans(FstState* s, bool* null) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1144
    functionName: fstBoundWithDataIsEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceIsEmpty
    linkageType: ''
    returnType: bool
    signature: 'bool fstBoundWithDataIsEmpty(FstBoundWithData* bound) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1404,1
    - Dst: startWithStateValueDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - result
    argTypes:
    - FStmStRslt*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1405
    functionName: swsResultDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - fstSliceDestroy
    - startWithStateValueDestroy
    linkageType: ''
    returnType: void
    signature: 'void swsResultDestroy(FStmStRslt* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: fstUnFinishedNodesPopEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode*
    signature: 'FstBuilderNode * fstUnFinishedNodesPopEmpty(FstUnFinishedNodes* nodes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:485,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - s
    - version
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - PackSizes
    - uint64_t
    constantsTouched: []
    func_position:
      end: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    functionName: fstStateTotalTransSize
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstStateTransIndexSize
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateTotalTransSize(FstState* s, uint64_t version, PackSizes
      sizes, uint64_t nTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1146
    functionName: fstBoundWithDataIsIncluded
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fstBoundWithDataIsIncluded(FstBoundWithData* bound) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1413
    functionName: fstStreamStateDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstNodeDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstStreamStateDestroy(void* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: packDeltaSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:27,1
    - Dst: fstPackDeltaIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - wrt
    - nodeAddr
    - transAddr
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: fstPackDelta
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - packDeltaSize
    - fstPackDeltaIn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE uint8_t fstPackDelta(IdxFstFile* wrt, CompiledAddr
      nodeAddr, CompiledAddr transAddr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderCheckLastKey
      Src: /src/tdengine/source/libs/index/src/indexFst.c:768,1
    - Dst: fstBuilderInsertOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:771,1
    - Dst: indexInfo
      Src: /src/tdengine/source/libs/index/src/indexFst.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - b
    - bs
    - in
    argTypes:
    - FstBuilder*
    - FstSlice
    - Output
    constantsTouched: []
    func_position:
      end: 776
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 776
    functionName: fstBuilderInsert
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderCheckLastKey
    - indexInfo
    - fstBuilderInsertOutput
    linkageType: ''
    returnType: bool
    signature: 'bool fstBuilderInsert(FstBuilder* b, FstSlice bs, Output in) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1183,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1186,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sws
    argTypes:
    - FStmSt*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1187
    functionName: stmStDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void stmStDestroy(FStmSt* sws) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:33,1
    - Dst: fstUnFinishedNodesPushEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:39,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: fstUnFinishedNodesCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - fstUnFinishedNodesPushEmpty
    - taosArrayInit
    linkageType: ''
    returnType: FstUnFinishedNodes*
    signature: 'FstUnFinishedNodes * fstUnFinishedNodesCreate() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:780,1
    - Dst: fstUnFinishedNodesSetRootOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:782,1
    - Dst: fstUnFinishedNodesFindCommPrefixAndSetOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:786,1
    - Dst: fstBuilderCompileFrom
      Src: /src/tdengine/source/libs/index/src/indexFst.c:793,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:788,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:795,1
    - Dst: fstUnFinishedNodesAddSuffix
      Src: /src/tdengine/source/libs/index/src/indexFst.c:796,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - b
    - bs
    - in
    argTypes:
    - FstBuilder*
    - FstSlice
    - Output
    constantsTouched: []
    func_position:
      end: 799
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 799
    functionName: fstBuilderInsertOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstUnFinishedNodesAddSuffix
    - fstSliceCopy
    - FST_SLICE_LEN
    - fstSliceIsEmpty
    - fstUnFinishedNodesFindCommPrefixAndSetOutput
    - fstUnFinishedNodesSetRootOutput
    - fstBuilderCompileFrom
    - fstSliceDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderInsertOutput(FstBuilder* b, FstSlice bs, Output in) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fstBoundWithDataIsEmpty
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1191,1
    - Dst: fstBoundWithDataIsIncluded
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1192,1
    - Dst: fstNodeFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1225,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1227,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1270,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1273,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1278,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1221,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1241,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1230,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1280,1
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1195,1
    - Dst: fstEmptyFinalOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1199,1
    - Dst: fstNodeTransitions
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1261,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1281,1
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1216,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1258,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1227,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1266,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1273,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1278,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 2
    argNames:
    - sws
    - min
    argTypes:
    - FStmSt*
    - FstBoundWithData*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1290
    functionName: stmStSeekMin
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - fstSliceData
    - TAOS_UNUSED
    - taosArrayGet
    - fstGetRoot
    - fstEmptyFinalOutput
    - fstBoundWithDataIsEmpty
    - fstGetNode
    - taosArrayPush
    - fstNodeTransitions
    - taosArrayPop
    - fstNodeFindInput
    - fstNodeGetTransitionAt
    - taosArrayGetSize
    - fstBoundWithDataIsIncluded
    - fstNodeDestroy
    linkageType: ''
    returnType: bool
    signature: 'bool stmStSeekMin(FStmSt* sws, FstBoundWithData* min) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:366,1
    - Dst: FST_GET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:367,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:366,1
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - data
    - sizes
    argTypes:
    - FstState*
    - FstSlice*
    - PackSizes
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: fstStateEndAddrForOneTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_GET_TRANSITION_PACK_SIZE
    - fstStateInputLen
    - FST_SLICE_LEN
    - FST_GET_OUTPUT_PACK_SIZE
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateEndAddrForOneTrans(FstState* s, FstSlice* data, PackSizes
      sizes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:730,1
    - Dst: fstUnFinishedNodesCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:736,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:738,1
    - Dst: idxFileCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:735,1
    - Dst: fstRegistryCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:737,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:744,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:744,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:745,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:745,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFst.c:748,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:749,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:750,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:750,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - w
    - ty
    argTypes:
    - void*
    - FstType
    constantsTouched: []
    func_position:
      end: 753
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 753
    functionName: fstBuilderCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstRegistryCreate
    - idxFileWrite
    - taosMemoryMalloc
    - TAOS_UNUSED
    - fstSliceCreate
    - taosEncodeFixedU64
    - memset
    - idxFileCreate
    - fstUnFinishedNodesCreate
    linkageType: ''
    returnType: FstBuilder*
    signature: 'FstBuilder * fstBuilderCreate(void* w, FstType ty) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stmStCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - sb
    argTypes:
    - FStmBuilder*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: stmBuilderIntoStm
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - stmStCreate
    linkageType: ''
    returnType: FStmSt*
    signature: 'FStmSt * stmBuilderIntoStm(FStmBuilder* sb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:371,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:374,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:372,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:373,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - state
    - version
    - date
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - FstSlice*
    - PackSizes
    - uint64_t
    constantsTouched: []
    func_position:
      end: 376
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 376
    functionName: fstStateEndAddrForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateTotalTransSize
    - fstStateIsFinalState
    - FST_SLICE_LEN
    - FST_GET_OUTPUT_PACK_SIZE
    - fstStateNtransLen
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateEndAddrForAnyTrans(FstState* state, uint64_t version,
      FstSlice* date, PackSizes sizes, uint64_t nTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstBuilderFinish
      Src: /src/tdengine/source/libs/index/src/indexFst.c:758,1
    - Dst: fstRegistryDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:762,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:763,1
    - Dst: idxFileDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:760,1
    - Dst: fstUnFinishedNodesDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:761,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:764,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    constantsTouched: []
    func_position:
      end: 765
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 765
    functionName: fstBuilderDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstRegistryDestroy
    - taosMemoryFree
    - fstUnFinishedNodesDestroy
    - fstBuilderFinish
    - fstSliceDestroy
    - idxFileDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderDestroy(FstBuilder* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - ctx
    argTypes:
    - Fst*
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1074
    functionName: fstSearchWithState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - stmBuilderCreate
    linkageType: ''
    returnType: FStmStBuilder*
    signature: 'FStmStBuilder * fstSearchWithState(Fst* fst, FAutoCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    constantsTouched: []
    func_position:
      end: 466
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 466
    functionName: fstStateIsFinalState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fstStateIsFinalState(FstState* s) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:643,1
    - Dst: fstStateInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:647,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:649,1
    - Dst: fstStateOutput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:648,1
    - Dst: fstStateTransAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:645,1
    - Dst: fstStateInputForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:651,1
    - Dst: fstStateOutputForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:652,1
    - Dst: fstStateTransAddrForAnyTrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - node
    - i
    - trn
    argTypes:
    - FstNode*
    - uint64_t
    - FstTransition*
    constantsTouched: []
    func_position:
      end: 658
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 658
    functionName: fstNodeGetTransitionAt
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateOutput
    - fstStateOutputForAnyTrans
    - fstStateTransAddrForAnyTrans
    - fstStateInputForAnyTrans
    - fstStateInput
    - fstStateTransAddr
    linkageType: ''
    returnType: bool
    signature: 'bool fstNodeGetTransitionAt(FstNode* node, uint64_t i, FstTransition*
      trn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:911,1
    - Dst: fstLastTransitionDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - unNode
    - addr
    argTypes:
    - FstBuilderNodeUnfinished*
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 917
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 917
    functionName: fstBuilderNodeUnfinishedLastCompiled
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - fstLastTransitionDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderNodeUnfinishedLastCompiled(FstBuilderNodeUnfinished*
      unNode, CompiledAddr addr) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1295,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1298,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1297,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1303,1
    - Dst: callback
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1304,1
    - Dst: FST_NODE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1310,1
    - Dst: FST_NODE_ADDR
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1311,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1375,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1343,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1370,1
    - Dst: fstBoundWithDataExceededBy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1296,1
    - Dst: swsResultCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1304,1
    - Dst: fstGetRootAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1311,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1308,1
    - Dst: fstStreamStateDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1314,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1318,1
    - Dst: callback
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1322,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1325,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1353,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1380,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1379,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1382,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1312,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1330,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1342,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1349,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1354,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1364,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1365,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1367,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1371,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1363,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1374,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1327,1
    - Dst: fstBoundWithDataExceededBy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1362,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1307,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1309,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1312,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1318,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1326,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1331,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1335,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1361,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1348,1
    - Dst: swsResultCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1372,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1373,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 2
    argNames:
    - sws
    - callback
    argTypes:
    - FStmSt*
    - streamCallback__fn
    constantsTouched: []
    func_position:
      end: 1384
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1384
    functionName: stmStNextWith
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - swsResultCreate
    - fstSliceCreate
    - FST_NODE_LEN
    - taosArrayPop
    - fstStreamStateDestroy
    - taosArrayGetSize
    - FST_NODE_ADDR
    - taosArrayInit
    - fstGetRootAddr
    - callback
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGet
    - FST_NODE_IS_FINAL
    - fstGetNode
    - taosMemoryFreeClear
    - fstSliceDestroy
    - FST_NODE_FINAL_OUTPUT
    - fstNodeGetTransitionAt
    - fstBoundWithDataExceededBy
    linkageType: ''
    returnType: FStmStRslt*
    signature: 'FStmStRslt * stmStNextWith(FStmSt* sws, streamCallback__fn callback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - wrt
    - nodeAddr
    - transAddr
    - nBytes
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - CompiledAddr
    - uint8_t
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: fstPackDeltaIn
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - idxFilePackUintIn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void fstPackDeltaIn(IdxFstFile* wrt, CompiledAddr
      nodeAddr, CompiledAddr transAddr, uint8_t nBytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - s
    - n
    argTypes:
    - FstState*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: fstStateSetStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fstStateSetStateNtrans(FstState* s, uint8_t n) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:925,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - unNode
    - out
    argTypes:
    - FstBuilderNodeUnfinished*
    - Output
    constantsTouched: []
    func_position:
      end: 932
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 932
    functionName: fstBuilderNodeUnfinishedAddOutputPrefix
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - FST_BUILDER_NODE_IS_FINAL
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderNodeUnfinishedAddOutputPrefix(FstBuilderNodeUnfinished*
      unNode, Output out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1387,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1392,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1392,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - data
    - out
    - state
    argTypes:
    - FstSlice*
    - FstOutput
    - void*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1396
    functionName: swsResultCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - fstSliceCopy
    - FST_SLICE_LEN
    linkageType: ''
    returnType: FStmStRslt*
    signature: 'FStmStRslt * swsResultCreate(FstSlice* data, FstOutput out, void*
      state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:628,1
    - Dst: FST_NODE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    constantsTouched: []
    func_position:
      end: 636
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 636
    functionName: fstNodeTransitions
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - FST_NODE_LEN
    linkageType: ''
    returnType: FstTransitions*
    signature: 'FstTransitions * fstNodeTransitions(FstNode* node) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1017,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1027,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1023,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1021,1
    - Dst: fstNodeFindInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1033,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1038,1
    - Dst: fstNodeGetTransitionAt
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1038,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1040,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1041,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1045,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1048,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1053,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1054,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1057,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 3
    argNames:
    - fst
    - b
    - out
    argTypes:
    - Fst*
    - FstSlice*
    - Output*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1060
    functionName: fstGet
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstNodeDestroy
    - fstSliceData
    - TAOS_UNUSED
    - taosArrayGet
    - taosArrayDestroy
    - fstGetRoot
    - FST_NODE_IS_FINAL
    - fstGetNode
    - FST_NODE_FINAL_OUTPUT
    - taosArrayPush
    - fstNodeFindInput
    - fstNodeGetTransitionAt
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: bool
    signature: 'bool fstGet(Fst* fst, FstSlice* b, Output* out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:884,1
    - Dst: fstBuilderInsertInner
      Src: /src/tdengine/source/libs/index/src/indexFst.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - FstBuilder*
    constantsTouched: []
    func_position:
      end: 884
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 884
    functionName: fstBuilderFinish
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - fstBuilderInsertInner
    linkageType: ''
    returnType: void
    signature: 'void fstBuilderFinish(FstBuilder* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stmBuilderCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - ctx
    argTypes:
    - Fst*
    - FAutoCtx*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1064
    functionName: fstSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - stmBuilderCreate
    linkageType: ''
    returnType: FStmBuilder*
    signature: 'FStmBuilder * fstSearch(Fst* fst, FAutoCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:888,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:888,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    constantsTouched: []
    func_position:
      end: 890
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 890
    functionName: fstNodeAsSlice
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceCopy
    - FST_SLICE_LEN
    linkageType: ''
    returnType: FstSlice
    signature: 'FstSlice fstNodeAsSlice(FstNode* node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:357,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - FstState*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: fstStateInputLen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateCommInput
    - TAOS_UNUSED
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateInputLen(FstState* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:381,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - s
    - node
    argTypes:
    - FstState*
    - FstNode*
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: fstStateInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateCommInput
    - fstSliceData
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t fstStateInput(FstState* s, FstNode* node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    constantsTouched: []
    func_position:
      end: 618
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 618
    functionName: fstNodeState
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * fstNodeState(FstNode* node) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1001,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:944,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:956,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/index/src/indexFst.c:957,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:964,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:968,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:994,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:991,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:936,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:944,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:951,1
    - Dst: indexError
      Src: /src/tdengine/source/libs/index/src/indexFst.c:958,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:975,1
    - Dst: taosDecodeFixedU32
      Src: /src/tdengine/source/libs/index/src/indexFst.c:956,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:964,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:991,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:968,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:970,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1000,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - slice
    argTypes:
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 1004
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 1004
    functionName: fstCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - indexError
    - taosDecodeFixedU64
    - fstSliceData
    - TAOS_UNUSED
    - taosDecodeFixedU32
    - taosMemoryMalloc
    - taosMemoryCalloc
    - fstSliceCopy
    - FST_SLICE_LEN
    - taosThreadMutexInit
    - taosMemoryFree
    - taosCheckChecksum
    linkageType: ''
    returnType: Fst*
    signature: 'Fst * fstCreate(FstSlice* slice) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:388,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:391,1
    - Dst: fstStateTransIndexSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - s
    - node
    - i
    argTypes:
    - FstState*
    - FstNode*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: fstStateInputForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateNtransLen
    - fstSliceData
    - fstStateTransIndexSize
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t fstStateInputForAnyTrans(FstState* s, FstNode* node, uint64_t
      i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - FstNode*
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: fstNodeDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - fstSliceDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstNodeDestroy(FstNode* node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1007,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1010,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1009,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1010,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1008,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1013
    functionName: fstDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - fstSliceDestroy
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void fstDestroy(Fst* fst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:166,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:172,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:170,1
    - Dst: fstBuilderNodeUnfinishedAddOutputPrefix
      Src: /src/tdengine/source/libs/index/src/indexFst.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - node
    - bs
    - in
    - out
    argTypes:
    - FstUnFinishedNodes*
    - FstSlice
    - Output
    - Output*
    constantsTouched: []
    func_position:
      end: 188
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 188
    functionName: fstUnFinishedNodesFindCommPrefixAndSetOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - fstSliceData
    - fstBuilderNodeUnfinishedAddOutputPrefix
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstUnFinishedNodesFindCommPrefixAndSetOutput(FstUnFinishedNodes*
      node, FstSlice bs, Output in, Output* out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idxFilePackUint
      Src: /src/tdengine/source/libs/index/src/indexFst.c:238,1
    - Dst: fstPackDelta
      Src: /src/tdengine/source/libs/index/src/indexFst.c:239,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:244,1
    - Dst: FST_SET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:243,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:242,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:244,1
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:246,1
    - Dst: fstStateSetCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:248,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:251,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:253,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:253,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:255,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - w
    - addr
    - trn
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - FstTransition*
    constantsTouched: []
    func_position:
      end: 257
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 257
    functionName: fstStateCompileForOneTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - idxFileWrite
    - fstPackDelta
    - TAOS_UNUSED
    - idxFilePackUint
    - fstStateCreate
    - FST_SET_TRANSITION_PACK_SIZE
    - FST_SET_OUTPUT_PACK_SIZE
    - fstStateSetCommInput
    - fstStateCommInput
    linkageType: ''
    returnType: void
    signature: 'void fstStateCompileForOneTrans(IdxFstFile* w, CompiledAddr addr,
      FstTransition* trn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - slice
    - addr
    argTypes:
    - FstSlice*
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 208
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 208
    functionName: fstStateCreateFrom
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceData
    linkageType: ''
    returnType: FstState
    signature: 'FstState fstStateCreateFrom(FstSlice* slice, CompiledAddr addr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:267,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:262,1
    - Dst: packSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:269,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:277,1
    - Dst: FST_SET_TRANSITION_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:280,1
    - Dst: fstStateSetStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:284,1
    - Dst: fstPackDeltaIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:297,1
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:282,1
    - Dst: FST_BUILDER_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:287,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:301,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:315,1
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:319,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:326,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:328,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:305,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:331,1
    - Dst: packDeltaSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:268,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:292,1
    - Dst: idxFilePackUintIn
      Src: /src/tdengine/source/libs/index/src/indexFst.c:288,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/index/src/indexFst.c:296,1
    - Dst: fstStateSetFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:283,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:301,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:314,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:317,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:331,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:259,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:269,1
    - Dst: FST_SET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:275,1
    - Dst: memset
      Src: /src/tdengine/source/libs/index/src/indexFst.c:309,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:314,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:319,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:326,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:328,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:317,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 3
    argNames:
    - w
    - addr
    - node
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - FstBuilderNode*
    constantsTouched: []
    func_position:
      end: 333
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 333
    functionName: fstStateCompileForAnyTrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateSetFinalState
    - taosMemoryFree
    - TAOS_UNUSED
    - fstStateSetStateNtrans
    - taosArrayGetSize
    - taosMemoryMalloc
    - packSize
    - fstStateCreate
    - FST_SET_TRANSITION_PACK_SIZE
    - FST_SET_OUTPUT_PACK_SIZE
    - idxFileWrite
    - taosArrayGet
    - idxFilePackUintIn
    - memset
    - TMAX
    - fstPackDeltaIn
    - FST_BUILDER_NODE_IS_FINAL
    - fstStateStateNtrans
    - packDeltaSize
    linkageType: ''
    returnType: void
    signature: 'void fstStateCompileForAnyTrans(IdxFstFile* w, CompiledAddr addr,
      FstBuilderNode* node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1113,1
    - Dst: fstSliceCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1121,1
    - Dst: fstSliceCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - type
    - data
    argTypes:
    - FstBound
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1126
    functionName: fstBoundStateCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - fstSliceCopy
    - fstSliceCreate
    linkageType: ''
    returnType: FstBoundWithData*
    signature: 'FstBoundWithData * fstBoundStateCreate(FstBound type, FstSlice* data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceCompare
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - bound
    - slice
    argTypes:
    - FstBoundWithData*
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1137
    functionName: fstBoundWithDataExceededBy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceCompare
    linkageType: ''
    returnType: bool
    signature: 'bool fstBoundWithDataExceededBy(FstBoundWithData* bound, FstSlice*
      slice) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_INPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - 'null'
    argTypes:
    - FstState*
    - bool*
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: fstStateCommInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - COMMON_INPUT
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t fstStateCommInput(FstState* s, bool* null) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1085
    functionName: fstGetType
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FstType
    signature: 'FstType fstGetType(Fst* fst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRoot
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1090,1
    - Dst: fstNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1097,1
    - Dst: FST_NODE_FINAL_OUTPUT
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1093,1
    - Dst: FST_NODE_IS_FINAL
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - fst
    - 'null'
    argTypes:
    - Fst*
    - bool*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1099
    functionName: fstEmptyFinalOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - FST_NODE_FINAL_OUTPUT
    - fstGetRoot
    - FST_NODE_IS_FINAL
    - fstNodeDestroy
    linkageType: ''
    returnType: Output
    signature: 'Output fstEmptyFinalOutput(Fst* fst, bool* null) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstGetRootAddr
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1077,1
    - Dst: fstGetNode
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1079
    functionName: fstGetRoot
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstGetRootAddr
    - fstGetNode
    linkageType: ''
    returnType: FstNode*
    signature: 'FstNode * fstGetRoot(Fst* fst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:58,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/index/src/indexFst.c:72,1
    - Dst: fstBuilderNodeDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:73,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:65,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - nodes
    - isFinal
    argTypes:
    - FstUnFinishedNodes*
    - bool
    constantsTouched: []
    func_position:
      end: 75
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 75
    functionName: fstUnFinishedNodesPushEmpty
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstBuilderNodeDestroy
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void fstUnFinishedNodesPushEmpty(FstUnFinishedNodes* nodes, bool isFinal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstStateCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:223,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:230,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:230,1
    - Dst: fstStateCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:227,1
    - Dst: fstStateSetCommInput
      Src: /src/tdengine/source/libs/index/src/indexFst.c:224,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:232,1
    - Dst: idxFileWrite
      Src: /src/tdengine/source/libs/index/src/indexFst.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - w
    - addr
    - inp
    argTypes:
    - IdxFstFile*
    - CompiledAddr
    - uint8_t
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: fstStateCompileForOneTransNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - idxFileWrite
    - TAOS_UNUSED
    - fstStateCreate
    - fstStateSetCommInput
    - fstStateCommInput
    linkageType: ''
    returnType: void
    signature: 'void fstStateCompileForOneTransNext(IdxFstFile* w, CompiledAddr addr,
      uint8_t inp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMMON_INDEX
      Src: /src/tdengine/source/libs/index/src/indexFst.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - inp
    argTypes:
    - FstState*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: fstStateSetCommInput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - COMMON_INDEX
    linkageType: ''
    returnType: void
    signature: 'void fstStateSetCommInput(FstState* s, uint8_t inp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstStateStateNtrans
      Src: /src/tdengine/source/libs/index/src/indexFst.c:498,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - s
    - slice
    argTypes:
    - FstState*
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 507
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 507
    functionName: fstStateNtrans
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateStateNtrans
    - fstSliceData
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateNtrans(FstState* s, FstSlice* slice) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - bound
    argTypes:
    - FstBoundWithData*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1148
    functionName: fstBoundDestroy
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void fstBoundDestroy(FstBoundWithData* bound) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1086
    functionName: fstGetRootAddr
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: CompiledAddr
    signature: 'CompiledAddr fstGetRootAddr(Fst* fst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1103,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fst
    argTypes:
    - Fst*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1109
    functionName: fstVerify
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceData
    - taosCheckChecksumWhole
    linkageType: ''
    returnType: bool
    signature: 'bool fstVerify(Fst* fst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstNodeCreate
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1083,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - fst
    - addr
    argTypes:
    - Fst*
    - CompiledAddr
    constantsTouched: []
    func_position:
      end: 1084
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1084
    functionName: fstGetNode
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstNodeCreate
    linkageType: ''
    returnType: FstNode*
    signature: 'FstNode * fstGetNode(Fst* fst, CompiledAddr addr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/index/src/indexFst.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - nodes
    argTypes:
    - FstUnFinishedNodes*
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: fstUnFinishedNodesPopRoot
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosArrayPop
    linkageType: ''
    returnType: FstBuilderNode*
    signature: 'FstBuilderNode * fstUnFinishedNodesPopRoot(FstUnFinishedNodes* nodes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FST_GET_OUTPUT_PACK_SIZE
      Src: /src/tdengine/source/libs/index/src/indexFst.c:509,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:514,1
    - Dst: fstStateNtransLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:514,1
    - Dst: fstStateTotalTransSize
      Src: /src/tdengine/source/libs/index/src/indexFst.c:515,1
    - Dst: fstStateIsFinalState
      Src: /src/tdengine/source/libs/index/src/indexFst.c:510,1
    - Dst: fstSliceData
      Src: /src/tdengine/source/libs/index/src/indexFst.c:516,1
    - Dst: unpackUint64
      Src: /src/tdengine/source/libs/index/src/indexFst.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - s
    - version
    - slice
    - sizes
    - nTrans
    argTypes:
    - FstState*
    - uint64_t
    - FstSlice*
    - PackSizes
    - uint64_t
    constantsTouched: []
    func_position:
      end: 518
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 518
    functionName: fstStateFinalOutput
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateTotalTransSize
    - fstStateIsFinalState
    - FST_SLICE_LEN
    - FST_GET_OUTPUT_PACK_SIZE
    - fstSliceData
    - fstStateNtransLen
    - unpackUint64
    linkageType: ''
    returnType: Output
    signature: 'Output fstStateFinalOutput(FstState* s, uint64_t version, FstSlice*
      slice, PackSizes sizes, uint64_t nTrans) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1151,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1160,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1158,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1170,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1174,1
    - Dst: stmStSeekMin
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1174,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - fst
    - automation
    - min
    - max
    argTypes:
    - Fst*
    - FAutoCtx*
    - FstBoundWithData*
    - FstBoundWithData*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1177
    functionName: stmStCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosArrayDestroy
    - taosMemoryCalloc
    - stmStSeekMin
    - taosArrayInit
    linkageType: ''
    returnType: FStmSt*
    signature: 'FStmSt * stmStCreate(Fst* fst, FAutoCtx* automation, FstBoundWithData*
      min, FstBoundWithData* max) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1447,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1448,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1452,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1451,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1448,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1452,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1455,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1456,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1456,1
    - Dst: fstSliceDestroy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1459,1
    - Dst: fstSliceDeepCopy
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1460,1
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:1460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - b
    - val
    - type
    argTypes:
    - FStmBuilder*
    - FstSlice*
    - RangeType
    constantsTouched: []
    func_position:
      end: 1462
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1462
    functionName: stmBuilderSetRange
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstSliceDeepCopy
    - fstSliceDestroy
    - FST_SLICE_LEN
    linkageType: ''
    returnType: void
    signature: 'void stmBuilderSetRange(FStmBuilder* b, FstSlice* val, RangeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - State
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: fstStateCreate
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FstState
    signature: 'FstState fstStateCreate(State state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FST_SLICE_LEN
      Src: /src/tdengine/source/libs/index/src/indexFst.c:363,1
    - Dst: fstStateInputLen
      Src: /src/tdengine/source/libs/index/src/indexFst.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - FstState*
    - FstSlice*
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: fstStateEndAddrForOneTransNext
    functionSourceFile: /src/tdengine/source/libs/index/src/indexFst.c
    functionUses: []
    functionsReached:
    - fstStateInputLen
    - FST_SLICE_LEN
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t fstStateEndAddrForOneTransNext(FstState* s, FstSlice* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexOpen
      Src: /src/tdengine/source/libs/index/src/indexJson.c:19,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - opts
    - path
    - index
    argTypes:
    - SIndexJsonOpts*
    - char*
    - SIndexJson**
    constantsTouched: []
    func_position:
      end: 20
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 20
    functionName: indexJsonOpen
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: []
    functionsReached:
    - indexOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexJsonOpen(SIndexJsonOpts *opts, const char *path, SIndexJson
      **index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexJson.c:22,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexJson.c:23,1
    - Dst: indexPut
      Src: /src/tdengine/source/libs/index/src/indexJson.c:35,1
    - Dst: IDX_TYPE_ADD_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexJson.c:32,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - index
    - terms
    - uid
    argTypes:
    - SIndexJson*
    - SIndexJsonMultiTerm*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 36
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 36
    functionName: indexJsonPut
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - IDX_TYPE_ADD_EXTERN_TYPE
    - indexPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexJsonPut(SIndexJson *index, SIndexJsonMultiTerm *terms,
      uint64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: indexClose
      Src: /src/tdengine/source/libs/index/src/indexJson.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - SIndexJson*
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: indexJsonClose
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: []
    functionsReached:
    - indexClose
    linkageType: ''
    returnType: void
    signature: 'void indexJsonClose(SIndexJson *index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/index/src/indexJson.c:40,1
    - Dst: IDX_TYPE_ADD_EXTERN_TYPE
      Src: /src/tdengine/source/libs/index/src/indexJson.c:50,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/index/src/indexJson.c:41,1
    - Dst: indexSearch
      Src: /src/tdengine/source/libs/index/src/indexJson.c:53,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - index
    - tq
    - result
    argTypes:
    - SIndexJson*
    - SIndexJsonMultiTermQuery*
    - SArray*
    constantsTouched: []
    func_position:
      end: 54
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 54
    functionName: indexJsonSearch
    functionSourceFile: /src/tdengine/source/libs/index/src/indexJson.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - IDX_TYPE_ADD_EXTERN_TYPE
    - indexSearch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t indexJsonSearch(SIndexJson *index, SIndexJsonMultiTermQuery
      *tq, SArray *result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBC_EncryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:20,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: []
    functionsReached:
    - CBC_EncryptImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t CBC_Encrypt(SCryptOpts *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CBC_DecryptImpl
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:23,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: []
    functionsReached:
    - CBC_DecryptImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t CBC_Decrypt(SCryptOpts *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: CBC_DecryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t CBC_DecryptImpl(SCryptOpts *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/crypt/src/crypt.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - opts
    argTypes:
    - SCryptOpts*
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: CBC_EncryptImpl
    functionSourceFile: /src/tdengine/source/libs/crypt/src/crypt.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t CBC_EncryptImpl(SCryptOpts *opts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: Size
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t Size() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 161
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 161
    functionName: AvroObjectContainerReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - NextImpl
    linkageType: ''
    returnType: class
    signature: 'class AvroObjectContainerReader final '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: End
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool End() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - Core
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - m_stream
    linkageType: ''
    returnType: explicit
    signature: 'explicit AvroStreamReader(Core::IO::BodyStream& stream) : m_stream(&stream)
      , m_pos '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 98
    functionName: AvroSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - m_type
    linkageType: ''
    returnType: class
    signature: 'class AvroSchema final '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - std
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: Field
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - FindField
    linkageType: ''
    returnType: AvroDatum
    signature: 'const AvroDatum & Field(const std::string& key) const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:182,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:167,1
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:183,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 188
    functionName: _detail
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - m_type
    - move
    - m_stream
    - find
    - FindField
    - FieldAt
    - Value
    - NextImpl
    - Field
    - void
    linkageType: ''
    returnType: namespace
    signature: 'namespace _detail '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: Type
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: AvroDatumType
    signature: 'AvroDatumType Type() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 81
    functionName: ItemSchema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: 'AvroSchema ItemSchema() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: Length
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t Length() const override '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: AvroStreamReader
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - m_stream
    linkageType: ''
    returnType: class
    signature: 'class AvroStreamReader final '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:182,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:167,1
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:183,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 94
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 189
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 189
    functionName: Blobs
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - m_type
    - move
    - m_stream
    - find
    - FindField
    - FieldAt
    - Value
    - NextImpl
    - Field
    - void
    linkageType: ''
    returnType: namespace
    signature: 'namespace Blobs '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 78
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 78
    functionName: Name
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: std
    signature: 'const std ::string& Name() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: Schema
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: AvroSchema
    signature: 'const AvroSchema & Schema() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: AvroRecord
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - Field
    - find
    - FindField
    - FieldAt
    linkageType: ''
    returnType: class
    signature: 'class AvroRecord final '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - context
    argTypes:
    - Core
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: Next
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - NextImpl
    linkageType: ''
    returnType: AvroDatum
    signature: 'AvroDatum Next(const Core::Context& context) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:182,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:167,1
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:183,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 190
    functionName: Azure
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - m_type
    - move
    - m_stream
    - find
    - FindField
    - FieldAt
    - Value
    - NextImpl
    - Field
    - void
    linkageType: ''
    returnType: namespace
    signature: 'namespace Azure '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - schema
    argTypes:
    - AvroSchema
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - m_schema
    - move
    linkageType: ''
    returnType: explicit
    signature: 'explicit AvroDatum(AvroSchema schema) : m_schema(std::move(schema)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:182,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:167,1
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:183,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 190
    functionName: Storage
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - m_type
    - move
    - m_stream
    - find
    - FindField
    - FieldAt
    - Value
    - NextImpl
    - Field
    - void
    linkageType: ''
    returnType: namespace
    signature: 'namespace Storage '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: FieldNames
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: std
    signature: 'const std ::vector<std::string>& FieldNames() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: FieldSchemas
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: std
    signature: 'const std ::vector<AvroSchema>& FieldSchemas() const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 129
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 129
    functionName: FieldAt
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: AvroDatum
    signature: 'const AvroDatum & FieldAt(size_t i) const '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: Rewind
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void Rewind() override '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 120
    functionName: AvroDatum
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - Value
    - move
    linkageType: ''
    returnType: class
    signature: 'class AvroDatum final '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:127,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:182,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:126,1
    - Dst: Field
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: FieldAt
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:130,1
    - Dst: NextImpl
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:150,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:167,1
    - Dst: m_type
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:86,1
    - Dst: AvroDatum
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:102,1
    - Dst: FindField
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:128,1
    - Dst: find
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:134,1
    - Dst: m_stream
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:38,1
    - Dst: Value
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:111,1
    - Dst: move
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: m_schema
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:103,1
    - Dst: void
      Src: /src/tdengine/source/libs/azure/inc/td_avro_parser.h:183,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 187
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 187
    functionName: AvroDatumType
    functionSourceFile: /src/tdengine/source/libs/azure/inc/td_avro_parser.h
    functionUses: []
    functionsReached:
    - AvroDatum
    - m_schema
    - m_type
    - move
    - m_stream
    - find
    - FindField
    - FieldAt
    - Value
    - NextImpl
    - Field
    - void
    linkageType: ''
    returnType: enum class
    signature: 'enum class AvroDatumType '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __builtin_clzll
      Src: /src/tdengine/source/libs/decimal/inc/wideInteger.h:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - v
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: countLeadingZeros
    functionSourceFile: /src/tdengine/source/libs/decimal/inc/wideInteger.h
    functionUses: []
    functionsReached:
    - __builtin_clzll
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t countLeadingZeros(uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:302,1
    - Dst: DECIMAL64_CLONE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - scale
    - pWhole
    argTypes:
    - DecimalType*
    - int8_t
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: decimal64GetWhole
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - getDecimalOps
    - DECIMAL64_CLONE
    linkageType: ''
    returnType: void
    signature: 'static void decimal64GetWhole(const DecimalType* pDec, int8_t scale,
      DecimalType* pWhole) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1376,1
    - Dst: decimal128FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1380,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1382,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1381,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1381,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1382,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1384,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1387
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1387
    functionName: uint64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromUint64
    - decimal128Lt
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128RoundWithPositiveScale
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t uint64FromDecimal128(const DecimalType* pDec, uint8_t
      prec, uint8_t scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1779,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1780,1
    - Dst: countLeadingZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1782,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1782,1
    - Dst: countLeadingZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1780,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pDec
    argTypes:
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 1784
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1784
    functionName: decimal128CountLeadingBinaryZeros
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - countLeadingZeros
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128CountLeadingBinaryZeros(const Decimal128*
      pDec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1957
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1957
    functionName: TEST_decimal64From_uint64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64FromUint64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal64From_uint64_t(Decimal64* pDec, uint8_t prec,
      uint8_t scale, uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:310,1
    - Dst: DECIMAL64_CLONE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pDec
    - scale
    - pFrac
    argTypes:
    - DecimalType*
    - int8_t
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: decimal64GetFrac
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - getDecimalOpsImp
    - DECIMAL64_CLONE
    linkageType: ''
    returnType: void
    signature: 'static void decimal64GetFrac(const DecimalType* pDec, int8_t scale,
      DecimalType* pFrac) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1392,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1393,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1396,1
    - Dst: ABS_INT64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1395,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1393,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1397,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1398,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1400
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1400
    functionName: decimal128FromInt64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_MAX
    - ABS_INT64
    - DECIMAL64_GET_VALUE
    - decimal128Negate
    - decimal128ScaleUp
    - makeDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128FromInt64(DecimalType* pDec, uint8_t prec,
      uint8_t scale, int64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromDouble
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - double
    constantsTouched: []
    func_position:
      end: 1960
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1960
    functionName: TEST_decimal64From_double
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64FromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal64From_double(Decimal64* pDec, uint8_t prec, uint8_t
      scale, double v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pDec64
    - w
    argTypes:
    - Decimal64*
    - int64_t
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: makeDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void makeDecimal64(Decimal64* pDec64, int64_t w) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:598,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:600,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:601,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:600,1
    - Dst: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:600,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:601,1
    - Dst: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:602,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:602,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: decimal128Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - SAFE_INT64_SUBTRACT
    - makeDecimal128
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Subtract(DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromUint64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1970
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1970
    functionName: TEST_decimal128From_uint64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromUint64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal128From_uint64_t(Decimal128* pDec, uint8_t prec,
      uint8_t scale, uint64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1976
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1976
    functionName: TEST_decimal128ToDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - doubleFromDecimal128
    linkageType: ''
    returnType: double
    signature: 'double TEST_decimal128ToDouble(Decimal128* pDec, uint8_t prec, uint8_t
      scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:388,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 389
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 389
    functionName: decimal64Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decimal64Negate(DecimalType* pInt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:609,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:611,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:614,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:613,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:611,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:617,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:617,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:617,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:618,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:618,1
    - Dst: uInt128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:619,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:620,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:620,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:618,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:621,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 622
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 622
    functionName: decimal128Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - makeUInt128
    - DECIMAL128_SIGN
    - decimal128Negate
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_LOW_WORD
    - uInt128Multiply
    - DECIMAL128_HIGH_WORD
    - decimal128Abs
    - uInt128Lo
    - makeDecimal128
    - uInt128Hi
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Multiply(DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromDouble
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - double
    constantsTouched: []
    func_position:
      end: 1973
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1973
    functionName: TEST_decimal128From_double
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal128From_double(Decimal128* pDec, uint8_t prec,
      uint8_t scale, double v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - inputPrec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - Decimal64*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1981
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1981
    functionName: TEST_decimal64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64FromDecimal64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal64FromDecimal64(const Decimal64* pInput, uint8_t
      inputPrec, uint8_t inputScale, Decimal64* pOutput, uint8_t outputPrec, uint8_t
      outputScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:392,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:392,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInt
    argTypes:
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: decimal64Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - TABS
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decimal64Abs(DecimalType* pInt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1806,1
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1809,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1808,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1810
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1810
    functionName: doubleFromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Abs
    - DECIMAL64_SIGN
    - DECIMAL64_GET_VALUE
    - getDoubleScaleMultiplier
    linkageType: ''
    returnType: double
    signature: 'double doubleFromDecimal64(const void* pDec, uint8_t prec, uint8_t
      scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1834,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1835
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1835
    functionName: boolFromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Eq
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: bool
    signature: 'bool boolFromDecimal128(const void* pDec, uint8_t prec, uint8_t scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1941,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1947,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1943,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1944,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1943,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1947,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1948,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - Decimal128*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1950
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1950
    functionName: decimal128AddCheckOverflow
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Subtract
    - decimal128Lt
    - DECIMAL128_SIGN
    - decimal128Gt
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: bool
    signature: 'bool decimal128AddCheckOverflow(const Decimal128* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:397,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:397,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:397,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: decimal64Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - SAFE_INT64_ADD
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decimal64Add(DecimalType* pLeft, const DecimalType* pRight, uint8_t
      rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1813,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1814
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1814
    functionName: boolFromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal64Eq
    linkageType: ''
    returnType: bool
    signature: 'bool boolFromDecimal64(const void* pDec, uint8_t prec, uint8_t scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1838,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1842,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1840,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1842,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1841,1
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - void*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1844
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1844
    functionName: doubleFromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SIGN
    - DECIMAL128_LOW_WORD
    - ldexp
    - DECIMAL128_HIGH_WORD
    - decimal128Abs
    - getDoubleScaleMultiplier
    linkageType: ''
    returnType: double
    signature: 'double doubleFromDecimal128(const void* pDec, uint8_t prec, uint8_t
      scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1954
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1954
    functionName: TEST_decimal64From_int64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64FromInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal64From_int64_t(Decimal64* pDec, uint8_t prec,
      uint8_t scale, int64_t v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:797,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:803,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:803,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:806,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:806,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:814,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:815,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:796,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:797,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:801,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:807,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:808,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:807,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:809,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:808,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:809,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:796,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:806,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:810,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:810,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:811,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:811,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:815,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:799,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:800,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:804,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:804,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:809,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:816,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:816,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 818
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 818
    functionName: decimalAddLargeNegative
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Subtract
    - decimal128Add
    - decimal128ScaleDown
    - DECIMAL128_SIGN
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - TMAX
    - decimal128Multiply
    - decimal128Divide
    - decimal128ScaleUp
    linkageType: ''
    returnType: void
    signature: 'static void decimalAddLargeNegative(Decimal* pX, const SDataType*
      pXT, const Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:284,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:287,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:286,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:286,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dec
    - pVal
    argTypes:
    - Decimal128*
    - SValue*
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: decimal128ToDataVal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - memcpy
    - DECIMAL_WORD_NUM
    - valueSetDatum
    - taosMemCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimal128ToDataVal(Decimal128* dec, SValue* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:447,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: decimal64Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: 'bool decimal64Eq(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:548,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pDec128
    - hi
    - low
    argTypes:
    - Decimal128*
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: makeDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    linkageType: ''
    returnType: void
    signature: 'void makeDecimal128(Decimal128* pDec128, int64_t hi, uint64_t low) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1601,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1603,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pDec
    - oldScale
    - newScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1604
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1604
    functionName: decimal64ScaleTo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64ScaleDown
    - decimal64ScaleUp
    linkageType: ''
    returnType: void
    signature: 'static void decimal64ScaleTo(Decimal64* pDec, uint8_t oldScale, uint8_t
      newScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1963
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1963
    functionName: TEST_decimal64ToDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - doubleFromDecimal64
    linkageType: ''
    returnType: double
    signature: 'double TEST_decimal64ToDouble(Decimal64* pDec, uint8_t prec, uint8_t
      scale) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1611,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1617,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1614,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1613,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1614,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1621,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1622,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1624,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1625,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 5
    argNames:
    - pDec
    - scale
    - toPrec
    - toScale
    - overflow
    argTypes:
    - Decimal64*
    - int8_t
    - uint8_t
    - uint8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1631
    functionName: decimal64ScaleAndCheckOverflow
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_MAX
    - decimal64Abs
    - decimal64ScaleDown
    - DECIMAL_WORD_NUM
    - decimal64Gt
    - decimal64ScaleUp
    linkageType: ''
    returnType: void
    signature: 'static void decimal64ScaleAndCheckOverflow(Decimal64* pDec, int8_t
      scale, uint8_t toPrec, uint8_t toScale, bool* overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - DecimalInternalType
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: maxPrecision
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t maxPrecision(DecimalInternalType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:455,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:456,1
    - Dst: decimal64GetWhole
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:458,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:459,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:459,1
    - Dst: decimal64GetFrac
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:461,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:462,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:462,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:463,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:467,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:467,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - pInt
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - uint8_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: decimal64ToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - snprintf
    - sprintf
    - decimal64GetFrac
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    - decimal64GetWhole
    - TAOS_STRCAT
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimal64ToStr(const DecimalType* pInt, uint8_t scale, char*
      pBuf, int32_t bufLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:554,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:555,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:558,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:559,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pTarget
    - decimal64
    argTypes:
    - Decimal128*
    - Decimal64
    constantsTouched: []
    func_position:
      end: 560
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 560
    functionName: makeDecimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Negate
    - DECIMAL64_GET_VALUE
    - decimal128Negate
    - DECIMAL64_SIGN
    - makeDecimal128
    linkageType: ''
    returnType: void
    signature: 'static void makeDecimal128FromDecimal64(Decimal128* pTarget, Decimal64
      decimal64) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:824,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:827,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:828,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:828,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:826,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:830,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:830,1
    - Dst: decimalAddLargePositive
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:832,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:834,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:836,1
    - Dst: decimalAddLargeNegative
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:840,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:838,1
    - Dst: decimalAddLargePositive
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:837,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 844
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 844
    functionName: decimalAdd
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Add
    - decimalAddLargeNegative
    - DECIMAL128_SIGN
    - decimal128Negate
    - decimalAddLargePositive
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalAdd(Decimal* pX, const SDataType* pXT, const
      Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1966,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - v
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1967
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1967
    functionName: TEST_decimal128From_int64_t
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal128From_int64_t(Decimal128* pDec, uint8_t prec,
      uint8_t scale, int64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:402,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:402,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:402,1
    - Dst: SAFE_INT64_SUBTRACT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: decimal64Subtract
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - SAFE_INT64_SUBTRACT
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decimal64Subtract(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:686,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:686,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:686,1
    - Dst: uInt128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:687,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:688,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:689,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:693,1
    - Dst: uInt128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:694,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:695,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:696,1
    - Dst: uInt128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:697,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:698,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pDec
    - digits
    - digitNum
    argTypes:
    - Decimal128*
    - uint64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: extractDecimal128Digits
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - makeUInt128
    - uInt128Mod
    - uInt128Divide
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - uInt128Eq
    - uInt128Lo
    - uInt128Hi
    linkageType: ''
    returnType: void
    signature: 'static void extractDecimal128Digits(const Decimal128* pDec, uint64_t*
      digits, int32_t* digitNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:407,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:409,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:408,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:407,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:410,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:410,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:412,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: decimal64Multiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Negate
    - DECIMAL64_SET_VALUE
    - decimal64Abs
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: void
    signature: 'void decimal64Multiply(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:707,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:714,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:715,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:714,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:714,1
    - Dst: extractDecimal128Digits
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:716,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:717,1
    - Dst: extractDecimal128Digits
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:719,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:722,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:726,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:737,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:738,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:738,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:740,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:736,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:730,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:732,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:737,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - pInt
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - uint8_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 742
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 742
    functionName: decimal128ToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - TABS
    - snprintf
    - TAOS_STRNCAT
    - DECIMAL128_SIGN
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - extractDecimal128Digits
    - TMAX
    - decimal128Abs
    - makeDecimal128
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128ToStr(const DecimalType* pInt, uint8_t scale,
      char* pBuf, int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - scale
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 530
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 530
    functionName: getDoubleScaleMultiplier
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double getDoubleScaleMultiplier(uint8_t scale) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1060,1
    - Dst: decimalAdd
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1080,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1074,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1075,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1066,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1083,1
    - Dst: decimalAdd
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1084,1
    - Dst: decimalMultiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1087,1
    - Dst: decimalDivide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1090,1
    - Dst: decimalMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1093,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1096,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1105,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 7
    argNames:
    - op
    - pLeftT
    - pRightT
    - pOutT
    - pLeftData
    - pRightData
    - pOutputData
    argTypes:
    - EOperatorType
    - SDataType*
    - SDataType*
    - SDataType*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1110
    functionName: decimalOp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimalAdd
    - convertToDecimal
    - decimal128Negate
    - decimalMultiply
    - decimalMod
    - decimalDivide
    - decimal128ToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimalOp(EOperatorType op, const SDataType* pLeftT, const
      SDataType* pRightT, const SDataType* pOutT, const void* pLeftData, const void*
      pRightData, void* pOutputData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1642,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1643,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1642,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1648,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1643,1
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1649,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1649,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1650,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1650,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1654,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pDec
    - scale
    - toScale
    - roundType
    argTypes:
    - Decimal64*
    - int8_t
    - int8_t
    - DecimalRoundType
    constantsTouched: []
    func_position:
      end: 1660
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1660
    functionName: decimal64CountRoundingDelta
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Lt
    - decimal64Mod
    - decimal64Abs
    - decimal64divide
    - DECIMAL64_SIGN
    - DECIMAL_WORD_NUM
    - decimal64Eq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64CountRoundingDelta(const Decimal64* pDec,
      int8_t scale, int8_t toScale, DecimalRoundType roundType) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1115,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1117,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1119,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1115,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1117,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1119,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1121,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1121,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1123,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1123,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1125,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - op
    - pLeftDec
    - pRightDec
    argTypes:
    - EOperatorType
    - Decimal128*
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1130
    functionName: doCompareDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Lt
    - decimal128Eq
    - decimal128Gt
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: bool
    signature: 'bool doCompareDecimal128(EOperatorType op, const Decimal128* pLeftDec,
      const Decimal128* pRightDec) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal64ScaleAndCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1667,1
    - Dst: decimal64Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1683,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1688,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1683,1
    - Dst: decimal64CountRoundingDelta
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1675,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1690,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1691,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1691,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 7
    argNames:
    - pDec
    - prec
    - scale
    - toPrec
    - toScale
    - roundType
    - overflow
    argTypes:
    - Decimal64*
    - uint8_t
    - int8_t
    - uint8_t
    - uint8_t
    - DecimalRoundType
    - bool*
    constantsTouched: []
    func_position:
      end: 1698
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1698
    functionName: decimal64RoundWithPositiveScale
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_MAX
    - decimal64Abs
    - decimal64ScaleAndCheckOverflow
    - decimal64CountRoundingDelta
    - DECIMAL_WORD_NUM
    - decimal64Add
    - decimal64Gt
    linkageType: ''
    returnType: void
    signature: 'static void decimal64RoundWithPositiveScale(Decimal64* pDec, uint8_t
      prec, int8_t scale, uint8_t toPrec, uint8_t toScale, DecimalRoundType roundType,
      bool* overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2014,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2017,1
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2018,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2017,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2014,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - pBuf
    - type
    - pDec
    argTypes:
    - void*
    - int8_t
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 2023
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2023
    functionName: decodeDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    - be64toh
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decodeDecimal(const void* pBuf, int8_t type, DecimalType* pDec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1337,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1341,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1343,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1338,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1342,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1343,1
    - Dst: decimal64ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1346,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1347,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1348,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1348,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1353
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1353
    functionName: decimal64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_MAX
    - decimal64Negate
    - decimal64Lt
    - decimal64ScaleTo
    - decimal64ScaleDown
    - DECIMAL64_SIGN
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64FromDecimal64(DecimalType* pDec, uint8_t prec,
      uint8_t scale, const DecimalType* pVal, uint8_t valPrec, uint8_t valScale) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1358,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1365,1
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1364,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1365,1
    - Dst: decimal128FromInt64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1363,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1365,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1365,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1367,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1371
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1371
    functionName: int64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromInt64
    - decimal128Lt
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128RoundWithPositiveScale
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t int64FromDecimal128(const DecimalType* pDec, uint8_t
      prec, uint8_t scale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1771,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pDec
    argTypes:
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1775
    functionName: decimal128ToInt128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    linkageType: ''
    returnType: __int128
    signature: '__int128 decimal128ToInt128(const Decimal128* pDec) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1135,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1160,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1160,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1136,1
    - Dst: doCompareDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1148,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1147,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1151,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1146,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1153,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1162,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1170,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1166,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1170,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1162,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1166,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1168,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1164,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1164,1
    - Dst: decimal64Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1168,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - op
    - pLeft
    - pRight
    argTypes:
    - EOperatorType
    - SDecimalCompareCtx*
    - SDecimalCompareCtx*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1175
    functionName: decimal64Compare
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimalFromTypeMod
    - decimal64Lt
    - doCompareDecimal128
    - makeDecimal128FromDecimal64
    - DECIMAL_WORD_NUM
    - decimal64Eq
    - decimal64Gt
    - decimal64ScaleUp
    linkageType: ''
    returnType: bool
    signature: 'bool decimal64Compare(EOperatorType op, const SDecimalCompareCtx*
      pLeft, const SDecimalCompareCtx* pRight) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1703,1
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1710,1
    - Dst: decimalVarFromStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - str
    - len
    - expectPrecision
    - expectScale
    - pRes
    argTypes:
    - char*
    - int32_t
    - uint8_t
    - uint8_t
    - Decimal64*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1716
    functionName: decimal64FromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64RoundWithPositiveScale
    - decimalVarFromStr
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimal64FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale, Decimal64* pRes) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1184,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1195,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1199,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1210,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1212,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1237,1
    - Dst: decimal64Compare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1179,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1192,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1235,1
    - Dst: doCompareDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1241,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1198,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1222,1
    - Dst: int256Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1226,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1214,1
    - Dst: makeDecimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1188,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1191,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1183,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1209,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1220,1
    - Dst: int256Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1228,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1224,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1218,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 3
    argNames:
    - op
    - pLeft
    - pRight
    argTypes:
    - EOperatorType
    - SDecimalCompareCtx*
    - SDecimalCompareCtx*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1242
    functionName: decimalCompare
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - int256Gt
    - int256Eq
    - decimalFromTypeMod
    - int256ScaleBy
    - decimal64Compare
    - doCompareDecimal128
    - decimalCompare
    - decimalCalcTypeMod
    - int256Lt
    - makeDecimal128FromDecimal64
    - makeInt256FromDecimal128
    - decimal128ScaleUp
    linkageType: ''
    returnType: bool
    signature: 'bool decimalCompare(EOperatorType op, const SDecimalCompareCtx* pLeft,
      const SDecimalCompareCtx* pRight) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1721,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1723,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1726,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1726,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1725,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1727,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1728,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pDec
    - scaleDown
    - round
    argTypes:
    - Decimal128*
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 1732
      start: 1718
    functionDepth: 0
    functionLinenumber: 1718
    functionLinenumberEnd: 1732
    functionName: decimal128ScaleDown
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Add
    - decimal128Lt
    - DECIMAL128_SIGN
    - DECIMAL_WORD_NUM
    - decimal128Abs
    - decimal128Divide
    linkageType: ''
    returnType: void
    signature: 'static void decimal128ScaleDown(Decimal128* pDec, uint8_t scaleDown,
      bool round) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:970,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:973,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:978,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:978,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:977,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:975,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:987,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:968,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:984,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:990,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:992,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:993,1
    - Dst: int256Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:994,1
    - Dst: int256Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:996,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:957,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:965,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:957,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:977,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:985,1
    - Dst: int256Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:986,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:964,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:970,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:974,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:974,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:976,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:983,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:976,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:989,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:991,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:993,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:999,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 1003
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1003
    functionName: decimalDivide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SIGN
    - decimal128Multiply
    - decimal128ScaleUp
    - decimal128Add
    - convertInt256ToDecimal128
    - int256Abs
    - int256Divide
    - decimal128Divide
    - int256ScaleBy
    - int256Add
    - decimal128CountLeadingBinaryZeros
    - decimal128Lt
    - DECIMAL_WORD_NUM
    - makeInt256FromDecimal128
    - int256Subtract
    - int256Multiply
    - int256Lt
    - decimal128Eq
    - decimal128Abs
    - int256Mod
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalDivide(Decimal* pX, const SDataType* pXT, const
      Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1891,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1897,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1894,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1894,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1893,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1901,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1902,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1903,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - pDec
    - scale
    - toPrec
    - toScale
    - overflow
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - int8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1909
    functionName: decimal128ModifyScaleAndPrecision
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128ScaleDown
    - DECIMAL128_GET_MAX
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128Abs
    - decimal128ScaleUp
    linkageType: ''
    returnType: void
    signature: 'static void decimal128ModifyScaleAndPrecision(Decimal128* pDec, uint8_t
      scale, uint8_t toPrec, int8_t toScale, bool* overflow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - Decimal128*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1995
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 1995
    functionName: TEST_decimal128FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal128FromDecimal128(const Decimal128* pDec, uint8_t
      prec, uint8_t scale, Decimal128* pOutput, uint8_t outputPrec, uint8_t outputScale) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1007,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1007,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1026,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1026,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1038,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1035,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1030,1
    - Dst: decimal128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1027,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1027,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1037,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1011,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1013,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1025,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1025,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1013,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1012,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1021,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1033,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1031,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1043
    functionName: decimalMod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - int256Mod
    - int256ScaleBy
    - convertInt256ToDecimal128
    - decimal128CountLeadingBinaryZeros
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - decimal128Mod
    - decimal128Eq
    - decimal128Abs
    - makeInt256FromDecimal128
    - TMIN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalMod(Decimal* pX, const SDataType* pXT, const
      Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1919,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1925,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1920,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1920,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1919,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1926,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1926,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1927,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1927,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1931,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pDec
    - scale
    - toScale
    - roundType
    argTypes:
    - Decimal128*
    - int8_t
    - int8_t
    - DecimalRoundType
    constantsTouched: []
    func_position:
      end: 1938
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1938
    functionName: decimal128CountRoundingDelta
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Lt
    - DECIMAL128_SIGN
    - DECIMAL_WORD_NUM
    - decimal128Mod
    - decimal128Eq
    - decimal128Abs
    - decimal128Divide
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128CountRoundingDelta(const Decimal128* pDec,
      int8_t scale, int8_t toScale, DecimalRoundType roundType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2000,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2003,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2000,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2004,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2003,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:2004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pDec
    - type
    - pBuf
    argTypes:
    - DecimalType*
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 2009
      start: 1997
    functionDepth: 0
    functionLinenumber: 1997
    functionLinenumberEnd: 2009
    functionName: encodeDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    - DECIMAL64_GET_VALUE
    - htobe64
    linkageType: ''
    returnType: void
    signature: 'void encodeDecimal(const DecimalType* pDec, int8_t type, void* pBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL_GET_INTERNAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:745,1
    - Dst: decimal64ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:748,1
    - Dst: decimal128ToStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:750,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 6
    argNames:
    - pDec
    - dataType
    - precision
    - scale
    - pBuf
    - bufLen
    argTypes:
    - DecimalType*
    - int8_t
    - int8_t
    - int8_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 755
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 755
    functionName: decimalToStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64ToStr
    - DECIMAL_GET_INTERNAL_TYPE
    - decimal128ToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimalToStr(const DecimalType* pDec, int8_t dataType, int8_t
      precision, int8_t scale, char* pBuf, int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:847,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:849,1
    - Dst: makeInt256
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:851,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:850,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:850,1
    - Dst: int256Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pTarget
    - pDec
    argTypes:
    - Int256*
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 855
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 855
    functionName: makeInt256FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SIGN
    - makeInt256
    - DECIMAL128_LOW_WORD
    - int256Negate
    - DECIMAL128_HIGH_WORD
    - decimal128Abs
    linkageType: ''
    returnType: void
    signature: 'static void makeInt256FromDecimal128(Int256* pTarget, const Decimal128*
      pDec) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1286,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1293,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1294,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1287,1
    - Dst: round
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1290,1
    - Dst: makeDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1299,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1301,1
    - Dst: decimal64Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1302,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1302,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1303,1
    - Dst: makeDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1307,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - double
    constantsTouched: []
    func_position:
      end: 1309
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1309
    functionName: decimal64FromDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - round
    - DECIMAL64_GET_MAX
    - decimal64Negate
    - isnan
    - makeDecimal64
    - ldexp
    - DECIMAL_WORD_NUM
    - TABS
    - getDoubleScaleMultiplier
    - decimal64Gt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64FromDouble(DecimalType* pDec, uint8_t prec,
      uint8_t scale, double val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1405,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1407,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1407,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1411,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1406,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1414
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1414
    functionName: decimal128FromUint64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_GET_MAX
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128ScaleUp
    - makeDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128FromUint64(DecimalType* pDec, uint8_t prec,
      uint8_t scale, uint64_t val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:772,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:772,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:788,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:788,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:763,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:760,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:764,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:775,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:773,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:775,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:787,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:787,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:760,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:761,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:771,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:771,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:779,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:779,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:783,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:783,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:761,1
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:765,1
    - Dst: decimal128Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:770,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:770,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:778,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:782,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:782,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:786,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:786,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 791
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 791
    functionName: decimalAddLargePositive
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Subtract
    - decimal128AddCheckOverflow
    - makeDecimal128
    - decimal128Add
    - decimal128ScaleDown
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - TMAX
    - decimal128Multiply
    - decimal128Divide
    - decimal128ScaleUp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalAddLargePositive(Decimal* pX, const SDataType*
      pXT, const Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:861,1
    - Dst: int256Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:866,1
    - Dst: int256Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:867,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:862,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:865,1
    - Dst: int256RightShift
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:868,1
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:869,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:870,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:871,1
    - Dst: int256Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:872,1
    - Dst: int256Subtract
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pX
    - scale
    argTypes:
    - Int256*
    - int32_t
    constantsTouched: []
    func_position:
      end: 879
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 879
    functionName: int256ScaleBy
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - int256Gt
    - int256Subtract
    - int256Multiply
    - int256Add
    - int256Abs
    - int256RightShift
    - int256Divide
    - makeInt256FromDecimal128
    - int256Mod
    linkageType: ''
    returnType: Int256
    signature: 'static Int256 int256ScaleBy(const Int256* pX, int32_t scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1314,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1315,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1321,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1319,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1320,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1321,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1324,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1325,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1325,1
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1326,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1327,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1330,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1332
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1332
    functionName: decimal64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_MAX
    - decimal64Lt
    - DECIMAL64_SET_VALUE
    - decimal64Negate
    - decimal128ScaleDown
    - DECIMAL128_SIGN
    - decimal128Negate
    - DECIMAL128_LOW_WORD
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64FromDecimal128(DecimalType* pDec, uint8_t
      prec, uint8_t scale, const DecimalType* pVal, uint8_t valPrec, uint8_t valScale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDoubleScaleMultiplier
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1417,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1425,1
    - Dst: TABS
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1424,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1418,1
    - Dst: round
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1421,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1429,1
    - Dst: ldexp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1429,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1430,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1432,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1433,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1434,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - double
    constantsTouched: []
    func_position:
      end: 1440
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1440
    functionName: decimal128FromDouble
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - round
    - decimal128Negate
    - DECIMAL128_GET_MAX
    - isnan
    - ldexp
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - TABS
    - getDoubleScaleMultiplier
    - makeDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128FromDouble(DecimalType* pDec, uint8_t prec,
      uint8_t scale, double val) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: decimal128ModifyScaleAndPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1853,1
    - Dst: decimal128Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1869,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1869,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1874,1
    - Dst: decimal128CountRoundingDelta
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1861,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1876,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1877,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 7
    argNames:
    - pDec
    - prec
    - scale
    - toPrec
    - toScale
    - roundType
    - overflow
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - uint8_t
    - uint8_t
    - DecimalRoundType
    - bool*
    constantsTouched: []
    func_position:
      end: 1884
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1884
    functionName: decimal128RoundWithPositiveScale
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Add
    - DECIMAL128_GET_MAX
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128ModifyScaleAndPrecision
    - decimal128Abs
    - decimal128CountRoundingDelta
    linkageType: ''
    returnType: void
    signature: 'static void decimal128RoundWithPositiveScale(Decimal128* pDec, uint8_t
      prec, uint8_t scale, uint8_t toPrec, uint8_t toScale, DecimalRoundType roundType,
      bool* overflow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1267,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1268,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1268,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1271,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1274
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1274
    functionName: decimal64FromInt64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_GET_MAX
    - decimal64ScaleUp
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64FromInt64(DecimalType* pDec, uint8_t prec,
      uint8_t scale, int64_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:419,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:420,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:421,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:419,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:422,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:422,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:425,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:426,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    - pRemainder
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 431
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 431
    functionName: decimal64divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Negate
    - DECIMAL64_SET_VALUE
    - decimal64Abs
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SIGN
    linkageType: ''
    returnType: void
    signature: 'void decimal64divide(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum, DecimalType* pRemainder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:627,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:629,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:630,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:629,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:630,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:631,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 632
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 632
    functionName: decimal128Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: bool
    signature: 'static bool decimal128Lt(const DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:658,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:660,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: decimal128Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Divide
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Mod(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1278,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1280,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1279,1
    - Dst: decimal64ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pDec
    - prec
    - scale
    - val
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1283
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1283
    functionName: decimal64FromUint64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - DECIMAL64_GET_MAX
    - decimal64ScaleUp
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal64FromUint64(DecimalType* pDec, uint8_t prec,
      uint8_t scale, uint64_t val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:435,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:436,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: decimal64Mod
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64divide
    - DECIMAL64_GET_VALUE
    - DECIMAL64_SET_VALUE
    linkageType: ''
    returnType: void
    signature: 'void decimal64Mod(DecimalType* pLeft, const DecimalType* pRight, uint8_t
      rightWordNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:640,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:651,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:651,1
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:640,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:645,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:645,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:646,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:646,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:650,1
    - Dst: makeUInt128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:650,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:651,1
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:638,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:643,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:645,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:646,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:647,1
    - Dst: uInt128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:648,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:650,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:653,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:644,1
    - Dst: uInt128Mod
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:649,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    - pRemainder
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 654
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 654
    functionName: decimal128Divide
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - makeUInt128
    - uInt128Mod
    - DECIMAL128_SIGN
    - decimal128Negate
    - uInt128Divide
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - decimal128Abs
    - uInt128Lo
    - makeDecimal128
    - uInt128Hi
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Divide(DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum, DecimalType* pRemainder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:667,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:669,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: decimal128Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL_WORD_NUM
    - decimal128Lt
    linkageType: ''
    returnType: bool
    signature: 'static bool decimal128Gt(const DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:183,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:196,1
    - Dst: maxPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:233,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:198,1
    - Dst: calcCurPrec
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:230,1
    - Dst: maxPrecision
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:237,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:243,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:248,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:254,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:258,1
    - Dst: calcActualWeight
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:270,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:255,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 82
    argCount: 3
    argNames:
    - str
    - len
    - result
    argTypes:
    - char*
    - int32_t
    - DecimalVar*
    constantsTouched: []
    func_position:
      end: 276
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 276
    functionName: decimalVarFromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - calcActualWeight
    - isdigit
    - DECIMAL64_SET_VALUE
    - getDecimalOpsImp
    - calcCurPrec
    - DECIMAL_WORD_NUM
    - atoi
    - TMIN
    - maxPrecision
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalVarFromStr(const char* str, int32_t len, DecimalVar*
      result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - prec
    - places
    - exp
    - weight
    - firstValidScale
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: calcCurPrec
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calcCurPrec(int32_t prec, int32_t places, int32_t exp, int32_t
      weight, int32_t firstValidScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:441,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: decimal64Lt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: 'bool decimal64Lt(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:675,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:677,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:678,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:677,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 679
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 679
    functionName: decimal128Eq
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_HIGH_WORD
    - DECIMAL128_LOW_WORD
    linkageType: ''
    returnType: bool
    signature: 'static bool decimal128Eq(const DecimalType* pLeft, const DecimalType*
      pRight, uint8_t rightWordNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1250,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1254
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1254
    functionName: int64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - decimal64RoundWithPositiveScale
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t int64FromDecimal64(const DecimalType* pDec, uint8_t
      prec, uint8_t scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1445,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1448,1
    - Dst: decimal64Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1446,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1448,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1450,1
    - Dst: decimal64ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1451,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1452,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1452,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1455,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1456,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1457,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1460,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1462
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1462
    functionName: decimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Negate
    - DECIMAL64_GET_VALUE
    - decimal64ScaleDown
    - DECIMAL128_GET_MAX
    - decimal128Lt
    - decimal128Negate
    - DECIMAL64_SIGN
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    - makeDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128FromDecimal64(DecimalType* pDec, uint8_t
      prec, uint8_t scale, const DecimalType* pVal, uint8_t valPrec, uint8_t valScale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1579,1
    - Dst: decimal64divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1583,1
    - Dst: decimal64Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1581,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1579,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1583,1
    - Dst: decimal64Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1584,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1584,1
    - Dst: DECIMAL64_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1585,1
    - Dst: decimal64Add
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1586,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pDec
    - scaleDown
    - round
    argTypes:
    - Decimal64*
    - uint8_t
    - bool
    constantsTouched: []
    func_position:
      end: 1590
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1590
    functionName: decimal64ScaleDown
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64Lt
    - decimal64Abs
    - decimal64divide
    - DECIMAL64_SIGN
    - DECIMAL_WORD_NUM
    - decimal64Add
    linkageType: ''
    returnType: void
    signature: 'void decimal64ScaleDown(Decimal64* pDec, uint8_t scaleDown, bool round) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1737,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1737,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDec
    - scaleUp
    argTypes:
    - Decimal128*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1739
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1739
    functionName: decimal128ScaleUp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128Multiply
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: void
    signature: 'static void decimal128ScaleUp(Decimal128* pDec, uint8_t scaleUp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - prec
    - scale
    - exp
    - weight
    - firstValidScale
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: calcActualWeight
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calcActualWeight(int32_t prec, int32_t scale, int32_t exp,
      int32_t weight, int32_t firstValidScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:279,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - dec
    - pVal
    argTypes:
    - Decimal64*
    - SValue*
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: decimal64ToDataVal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimal64ToDataVal(const Decimal64* dec, SValue* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:444,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: decimal64Gt
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    linkageType: ''
    returnType: bool
    signature: 'bool decimal64Gt(const DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1259,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pDec
    - prec
    - scale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1263
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1263
    functionName: uint64FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL64_GET_VALUE
    - decimal64RoundWithPositiveScale
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t uint64FromDecimal64(const DecimalType* pDec, uint8_t
      prec, uint8_t scale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1466,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1473,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1474,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1472,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1468,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1474,1
    - Dst: decimal128ScaleTo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1477,1
    - Dst: DECIMAL128_GET_MAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1478,1
    - Dst: decimal128Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1479,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1479,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1482,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - pDec
    - prec
    - scale
    - pVal
    - valPrec
    - valScale
    argTypes:
    - DecimalType*
    - uint8_t
    - uint8_t
    - DecimalType*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1484
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1484
    functionName: decimal128FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128ScaleDown
    - decimal128Lt
    - DECIMAL128_SIGN
    - decimal128Negate
    - DECIMAL128_GET_MAX
    - DECIMAL_WORD_NUM
    - decimal128ScaleTo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimal128FromDecimal128(DecimalType* pDec, uint8_t
      prec, uint8_t scale, const DecimalType* pVal, uint8_t valPrec, uint8_t valScale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decimal64Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1595,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDec
    - scaleUp
    argTypes:
    - Decimal64*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1597
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1597
    functionName: decimal64ScaleUp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL_WORD_NUM
    - decimal64Multiply
    linkageType: ''
    returnType: void
    signature: 'void decimal64ScaleUp(Decimal64* pDec, uint8_t scaleUp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimal128ScaleUp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1743,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pDec
    - oldScale
    - newScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1746
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1746
    functionName: decimal128ScaleTo
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128ScaleDown
    - decimal128ScaleUp
    linkageType: ''
    returnType: void
    signature: 'static void decimal128ScaleTo(Decimal128* pDec, uint8_t oldScale,
      uint8_t newScale) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int256Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:883,1
    - Dst: uInt128Hi
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:887,1
    - Dst: uInt128Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:886,1
    - Dst: int256Lo
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:885,1
    - Dst: int256Lt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:884,1
    - Dst: int256RightShift
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:888,1
    - Dst: int256Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:890,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:895,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:896,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:896,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pX
    - pDec
    argTypes:
    - Int256*
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 904
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 904
    functionName: convertInt256ToDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - int256Gt
    - decimal128Negate
    - int256Abs
    - int256RightShift
    - int256Lt
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - uInt128Lo
    - int256Lo
    - makeDecimal128
    - uInt128Hi
    linkageType: ''
    returnType: bool
    signature: 'static bool convertInt256ToDecimal128(const Int256* pX, Decimal128*
      pDec) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal64FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1985,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - prec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal128*
    - uint8_t
    - uint8_t
    - Decimal64*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1986
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1986
    functionName: TEST_decimal64FromDecimal128
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal64FromDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal64FromDecimal128(const Decimal128* pInput, uint8_t
      prec, uint8_t inputScale, Decimal64* pOutput, uint8_t outputPrec, uint8_t outputScale) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:909,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:909,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:917,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:926,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:929,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:934,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:926,1
    - Dst: int256Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:935,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:910,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:910,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:912,1
    - Dst: decimal128Gt
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:923,1
    - Dst: makeInt256FromDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:933,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:923,1
    - Dst: convertInt256ToDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:939,1
    - Dst: decimal128Divide
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:922,1
    - Dst: decimal128CountLeadingBinaryZeros
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:929,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:922,1
    - Dst: int256ScaleBy
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:937,1
    - Dst: decimal128ScaleDown
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:945,1
    - Dst: decimal128Eq
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:911,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:911,1
    - Dst: decimal128Abs
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:916,1
    - Dst: decimal128Multiply
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:944,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:944,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:947,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 5
    argNames:
    - pX
    - pXT
    - pY
    - pYT
    - pOT
    argTypes:
    - Decimal*
    - SDataType*
    - Decimal*
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 953
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 953
    functionName: decimalMultiply
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - makeInt256FromDecimal128
    - int256ScaleBy
    - decimal128Eq
    - int256Multiply
    - convertInt256ToDecimal128
    - decimal128ScaleDown
    - decimal128CountLeadingBinaryZeros
    - decimal128Gt
    - DECIMAL_WORD_NUM
    - decimal128Multiply
    - decimal128Abs
    - decimal128Divide
    - makeDecimal128
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decimalMultiply(Decimal* pX, const SDataType* pXT,
      const Decimal* pY, const SDataType* pYT, const SDataType* pOT) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimal128FromDecimal64
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1990,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - pInput
    - inputPrec
    - inputScale
    - pOutput
    - outputPrec
    - outputScale
    argTypes:
    - Decimal64*
    - uint8_t
    - uint8_t
    - Decimal128*
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1991
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 1991
    functionName: TEST_decimal128FromDecimal64
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128FromDecimal64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_decimal128FromDecimal64(const Decimal64* pInput, uint8_t
      inputPrec, uint8_t inputScale, Decimal128* pOutput, uint8_t outputPrec, uint8_t
      outputScale) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_CHECK_RIGHT_WORD_NUM
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:587,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:589,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:589,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:590,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:589,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:590,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:591,1
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:591,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - rightWordNum
    argTypes:
    - DecimalType*
    - DecimalType*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: decimal128Add
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - SAFE_INT64_ADD
    - DECIMAL128_CHECK_RIGHT_WORD_NUM
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    - makeDecimal128
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Add(DecimalType* pLeft, const DecimalType* pRight,
      uint8_t rightWordNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - DecimalInternalType
    constantsTouched: []
    func_position:
      end: 381
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 381
    functionName: getDecimalOpsImp
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SDecimalOps*
    signature: 'static SDecimalOps * getDecimalOpsImp(DecimalInternalType t) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:564,1
    - Dst: DECIMAL128_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:565,1
    - Dst: makeDecimal128
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:567,1
    - Dst: SAFE_INT64_ADD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:566,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pWord
    argTypes:
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 568
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 568
    functionName: decimal128Negate
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - makeDecimal128
    - SAFE_INT64_ADD
    - DECIMAL128_LOW_WORD
    - DECIMAL128_HIGH_WORD
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Negate(DecimalType* pWord) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SET_HIGH_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1752,1
    - Dst: decimalVarFromStr
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1754,1
    - Dst: DECIMAL128_SET_LOW_WORD
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1753,1
    - Dst: decimal128RoundWithPositiveScale
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - str
    - len
    - expectPrecision
    - expectScale
    - pRes
    argTypes:
    - char*
    - int32_t
    - uint8_t
    - uint8_t
    - Decimal128*
    constantsTouched: []
    func_position:
      end: 1766
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1766
    functionName: decimal128FromStr
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - decimal128RoundWithPositiveScale
    - decimalVarFromStr
    - DECIMAL128_SET_HIGH_WORD
    - DECIMAL128_SET_LOW_WORD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimal128FromStr(const char* str, int32_t len, uint8_t expectPrecision,
      uint8_t expectScale, Decimal128* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CONVERT_TO_DECIMAL
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1564,1
    - Dst: CONVERT_TO_DECIMAL
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:1567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 4
    argNames:
    - pData
    - pInputType
    - pOut
    - pOutType
    argTypes:
    - void*
    - SDataType*
    - void*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 1574
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1574
    functionName: convertToDecimal
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - CONVERT_TO_DECIMAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertToDecimal(const void* pData, const SDataType* pInputType,
      void* pOut, const SDataType* pOutType) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:93,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:94,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:100,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:93,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:93,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:100,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:107,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:111,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:119,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:120,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:132,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:127,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:141,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:138,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:131,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 81
    argCount: 4
    argNames:
    - pLeftT
    - pRightT
    - opType
    - pOutType
    argTypes:
    - SDataType*
    - SDataType*
    - EOperatorType
    - SDataType*
    constantsTouched: []
    func_position:
      end: 146
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 146
    functionName: decimalGetRetType
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - IS_NULL_TYPE
    - IS_DECIMAL_TYPE
    - IS_FLOAT_TYPE
    - IS_VAR_DATA_TYPE
    - TMIN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decimalGetRetType(const SDataType* pLeftT, const SDataType*
      pRightT, EOperatorType opType, SDataType* pOutType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOpsImp
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:382,1
    - Dst: DECIMAL_GET_INTERNAL_TYPE
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - dataType
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: getDecimalOps
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL_GET_INTERNAL_TYPE
    - getDecimalOpsImp
    linkageType: ''
    returnType: SDecimalOps*
    signature: 'const SDecimalOps * getDecimalOps(int8_t dataType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECIMAL128_SIGN
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:571,1
    - Dst: decimal128Negate
      Src: /src/tdengine/source/libs/decimal/src/decimal.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pWord
    argTypes:
    - DecimalType*
    constantsTouched: []
    func_position:
      end: 574
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 574
    functionName: decimal128Abs
    functionSourceFile: /src/tdengine/source/libs/decimal/src/decimal.c
    functionUses: []
    functionsReached:
    - DECIMAL128_SIGN
    - decimal128Negate
    linkageType: ''
    returnType: void
    signature: 'static void decimal128Abs(DecimalType* pWord) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:43,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:47,1
    - Dst: taos_string_builder_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 52
    functionName: taos_string_builder_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - taos_string_builder_init
    - taos_string_builder_destroy
    linkageType: ''
    returnType: taos_string_builder_t*
    signature: 'taos_string_builder_t *taos_string_builder_new(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:88,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:94,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:98,1
    - Dst: taos_string_builder_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:95,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - self
    - str
    argTypes:
    - taos_string_builder_t*
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: taos_string_builder_add_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - taos_string_builder_ensure_space
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_string_builder_add_str(taos_string_builder_t *self, const
      char *str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:79,1
    - Dst: taos_realloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - self
    - add_len
    argTypes:
    - taos_string_builder_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: taos_string_builder_ensure_space
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - taos_realloc
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'static int taos_string_builder_ensure_space(taos_string_builder_t
      *self, size_t add_len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - len
    argTypes:
    - taos_string_builder_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: taos_string_builder_truncate
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_string_builder_truncate(taos_string_builder_t *self, size_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: taos_string_builder_len
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: size_t
    signature: 'size_t taos_string_builder_len(taos_string_builder_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:55,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: taos_string_builder_init
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_string_builder_init(taos_string_builder_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:105,1
    - Dst: taos_string_builder_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - self
    - c
    argTypes:
    - taos_string_builder_t*
    - char
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: taos_string_builder_add_char
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - taos_string_builder_ensure_space
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_string_builder_add_char(taos_string_builder_t *self, char
      c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:129,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:130,1
    - Dst: taos_string_builder_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: taos_string_builder_clear
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - taos_string_builder_init
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_string_builder_clear(taos_string_builder_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:141,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: taos_string_builder_dump
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - memcpy
    - taos_malloc
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: char*
    signature: 'char *taos_string_builder_dump(taos_string_builder_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: taos_string_builder_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: char*
    signature: 'char *taos_string_builder_str(taos_string_builder_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_VOID
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:65,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:68,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_string_builder_t*
    constantsTouched: []
    func_position:
      end: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: taos_string_builder_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_string_builder.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_VOID
    - taos_free
    linkageType: ''
    returnType: void
    signature: 'void taos_string_builder_destroy(taos_string_builder_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: taos_linked_list_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - taos_malloc
    linkageType: ''
    returnType: taos_linked_list_t*
    signature: 'taos_linked_list_t *taos_linked_list_new(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:58,1
    - Dst: taos_linked_list_purge
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:62,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: taos_linked_list_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - taos_linked_list_purge
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_destroy(taos_linked_list_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: taos_linked_list_last
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: void*
    signature: 'void *taos_linked_list_last(taos_linked_list_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:104,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: taos_linked_list_push
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_push(taos_linked_list_t *self, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:223,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - self
    - item_a
    - item_b
    argTypes:
    - taos_linked_list_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: taos_linked_list_compare
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - strcmp
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: taos_linked_list_compare_t
    signature: 'taos_linked_list_compare_t taos_linked_list_compare(taos_linked_list_t
      *self, void *item_a, void *item_b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - self
    - free_fn
    argTypes:
    - taos_linked_list_t*
    - taos_linked_list_free_item_fn
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: taos_linked_list_set_free_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_set_free_fn(taos_linked_list_t *self, taos_linked_list_free_item_fn
      free_fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: taos_linked_list_first
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: void*
    signature: 'void *taos_linked_list_first(taos_linked_list_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:36,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:44,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 55
    functionName: taos_linked_list_purge
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_purge(taos_linked_list_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:88,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: taos_linked_list_append
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_append(taos_linked_list_t *self, void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_linked_list_t*
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: taos_linked_list_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: size_t
    signature: 'size_t taos_linked_list_size(taos_linked_list_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - self
    - compare_fn
    argTypes:
    - taos_linked_list_t*
    - taos_linked_list_compare_item_fn
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: taos_linked_list_set_compare_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_set_compare_fn(taos_linked_list_t *self, taos_linked_list_compare_item_fn
      compare_fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 248
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 248
    functionName: taos_linked_list_no_op_free
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taos_linked_list_no_op_free(void *item) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:145,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:157,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:181,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:156,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:182,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:200,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:205,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:215,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c:216,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - self
    - item
    argTypes:
    - taos_linked_list_t*
    - void*
    constantsTouched: []
    func_position:
      end: 220
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 220
    functionName: taos_linked_list_remove
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_linked_list.c
    functionUses: []
    functionsReached:
    - taos_free
    - TAOS_LOG
    - TAOS_TEST_PARA
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int taos_linked_list_remove(taos_linked_list_t *self, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:37,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:40,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:38,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:41,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:47,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 4
    argNames:
    - arr
    - metric
    - del
    - buf
    argTypes:
    - char**
    - taos_metric_t*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: taos_monitor_split_str_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    - strlen
    - strtok_r
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void taos_monitor_split_str_metric(char** arr, taos_metric_t* metric,
      const char* del, char** buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - str
    - toSearch
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: taos_monitor_count_occurrences
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: 'int taos_monitor_count_occurrences(char *str, char *toSearch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:29,1
    - Dst: strsep
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - arr
    - str
    - del
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: taos_monitor_split_str
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached:
    - strsep
    linkageType: ''
    returnType: void
    signature: 'void taos_monitor_split_str(char** arr, char* str, const char* del) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: taos_monitor_strip
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void taos_monitor_strip(char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: taos_monitor_get_metric_name
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * taos_monitor_get_metric_name(taos_metric_t* metric) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:81,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:85,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:91,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:88,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:102,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c:102,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 3
    argNames:
    - tags
    - pairs
    - count
    argTypes:
    - SJson*
    - char**
    - int32_t
    constantsTouched: []
    func_position:
      end: 112
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 112
    functionName: taos_monitor_is_match
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_monitor_util.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetStringValue
    - strcmp
    - tjsonGetArrayItem
    linkageType: ''
    returnType: bool
    signature: 'bool taos_monitor_is_match(const SJson* tags, char** pairs, int32_t
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:32,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: taos_counter_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - taos_metric_new
    linkageType: ''
    returnType: taos_counter_t*
    signature: 'taos_counter_t *taos_counter_new(const char *name, const char *help,
      size_t label_key_count, const char **label_keys) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:45,1
    - Dst: taos_metric_sample_add
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:53,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:48,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:51,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - self
    - label_values
    argTypes:
    - taos_counter_t*
    - char**
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: taos_counter_inc
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - taos_metric_sample_add
    - TAOS_LOG
    - TAOS_TEST_PARA
    - taos_metric_sample_from_labels
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_inc(taos_counter_t *self, const char **label_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_counter_t*
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: taos_counter_get_keys_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_get_keys_size(taos_counter_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:36,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_counter_t*
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: taos_counter_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - taos_metric_destroy
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_destroy(taos_counter_t *self) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:57,1
    - Dst: taos_metric_sample_add
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:65,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:63,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - self
    - r_value
    - label_values
    argTypes:
    - taos_counter_t*
    - double
    - char**
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: taos_counter_add
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - taos_metric_sample_add
    - TAOS_LOG
    - TAOS_TEST_PARA
    - taos_metric_sample_from_labels
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_add(taos_counter_t *self, double r_value, const char
      **label_values) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:71,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:74,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:78,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:84,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:82,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:87,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:89,1
    - Dst: taos_metric_formatter_get_vgroup_id
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:95,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:100,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 4
    argNames:
    - self
    - keys
    - vgroup_ids
    - list_size
    argTypes:
    - taos_counter_t*
    - char***
    - int32_t**
    - int*
    constantsTouched: []
    func_position:
      end: 102
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 102
    functionName: taos_counter_get_vgroup_ids
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - pthread_rwlock_unlock
    - taos_malloc
    - taos_metric_formatter_get_vgroup_id
    - TAOS_LOG
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_get_vgroup_ids(taos_counter_t *self, char ***keys,
      int32_t **vgroup_ids, int *list_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:105,1
    - Dst: taos_map_delete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:111,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_counter.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_counter_t*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: taos_counter_delete
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_counter.c
    functionUses: []
    functionsReached:
    - taos_map_delete
    - TAOS_LOG
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_counter_delete(taos_counter_t *self, char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:37,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - type
    - l_value
    - r_value
    argTypes:
    - taos_metric_type_t
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: taos_metric_sample_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - taos_strdup
    linkageType: ''
    returnType: taos_metric_sample_t*
    signature: 'taos_metric_sample_t *taos_metric_sample_new(taos_metric_type_t type,
      const char *l_value, double r_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_sample_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: taos_metric_sample_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - taos_metric_sample_destroy
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_sample_destroy_generic(void *gen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:126,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:136,1
    - Dst: atomic_store_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:134,1
    - Dst: atomic_store
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - self
    - r_value
    argTypes:
    - taos_metric_sample_t*
    - double
    constantsTouched: []
    func_position:
      end: 141
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 141
    functionName: taos_metric_sample_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - TAOS_LOG
    - atomic_store
    - atomic_store_double
    - atomic_store_64
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_sample_set(taos_metric_sample_t *self, double r_value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_sample_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:64,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: taos_metric_sample_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - taos_metric_sample_destroy
    - TAOS_LOG
    linkageType: ''
    returnType: void
    signature: 'void taos_metric_sample_free_generic(void *gen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:45,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:46,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_sample_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: taos_metric_sample_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_sample_destroy(taos_metric_sample_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:145,1
    - Dst: ATOMIC_VAR_INIT
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:150,1
    - Dst: atomic_exchange_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:160,1
    - Dst: atomic_load
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:152,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:154,1
    - Dst: atomic_exchange_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - self
    - r_value
    - old_value
    argTypes:
    - taos_metric_sample_t*
    - double
    - double*
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: taos_metric_sample_exchange
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - atomic_exchange_64
    - atomic_exchange_double
    - ATOMIC_VAR_INIT
    - TAOS_LOG
    - atomic_load
    - atomic_compare_exchange_weak
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_sample_exchange(taos_metric_sample_t *self, double
      r_value, double* old_value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:70,1
    - Dst: atomic_fetch_add_double
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:86,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:80,1
    - Dst: ATOMIC_VAR_INIT
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:79,1
    - Dst: atomic_load
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:76,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - self
    - r_value
    argTypes:
    - taos_metric_sample_t*
    - double
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: taos_metric_sample_add
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_sample.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_64
    - TAOS_TEST_PARA
    - atomic_fetch_add_double
    - ATOMIC_VAR_INIT
    - atomic_load
    - atomic_compare_exchange_weak
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_sample_add(taos_metric_sample_t *self, double r_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:198,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: taos_metric_formatter_clear
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - taos_string_builder_clear
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_formatter_clear(taos_metric_formatter_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_VOID
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:48,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:50,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:53,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: taos_metric_formatter_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_VOID
    - taos_string_builder_destroy
    - taos_free
    linkageType: ''
    returnType: void
    signature: 'void taos_metric_formatter_destroy(taos_metric_formatter_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:33,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:34,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:39,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:41,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: taos_metric_formatter_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - taos_metric_formatter_destroy
    - taos_malloc
    - taos_string_builder_new
    linkageType: ''
    returnType: taos_metric_formatter_t*
    signature: 'taos_metric_formatter_t *taos_metric_formatter_new() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:203,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:208,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:210,1
    - Dst: taos_string_builder_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_formatter_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: taos_metric_formatter_dump
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - taos_string_builder_clear
    - taos_string_builder_dump
    - TAOS_TEST_PARA_NULL
    - taos_free
    linkageType: ''
    returnType: char*
    signature: 'char *taos_metric_formatter_dump(taos_metric_formatter_t *self) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:104,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:116,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:109,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:124,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:113,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:127,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:130,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:133,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:136,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:139,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:146,1
    - Dst: taos_string_builder_add_char
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:143,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 6
    argNames:
    - self
    - name
    - suffix
    - label_count
    - label_keys
    - label_values
    argTypes:
    - taos_metric_formatter_t*
    - char*
    - char*
    - size_t
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: taos_metric_formatter_load_l_value
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - taos_string_builder_add_char
    - TAOS_TEST_PARA
    - taos_string_builder_add_str
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_formatter_load_l_value(taos_metric_formatter_t *self,
      const char *name, const char *suffix, size_t label_count, const char **label_keys,
      const char **label_values) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:155,1
    - Dst: strtol
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:163,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:158,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: taos_metric_formatter_get_vgroup_id
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter.c
    functionUses: []
    functionsReached:
    - strncpy
    - strtol
    - strchr
    - strstr
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taos_metric_formatter_get_vgroup_id(char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_t*
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: taos_collector_default_collect
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: taos_map_t*
    signature: 'taos_map_t *taos_collector_default_collect(taos_collector_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:100,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: taos_collector_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_collector_destroy
    - TAOS_LOG
    linkageType: ''
    returnType: void
    signature: 'void taos_collector_free_generic(void *gen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:67,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:78,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:82,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:84,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: taos_collector_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_map_destroy
    - taos_string_builder_destroy
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_destroy(taos_collector_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:113,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:119,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:115,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - self
    - metric
    argTypes:
    - taos_collector_t*
    - taos_metric_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    functionName: taos_collector_add_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_map_get
    - TAOS_LOG
    - taos_map_set
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_add_metric(taos_collector_t *self, taos_metric_t
      *metric) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:35,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:37,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:39,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:38,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:41,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:42,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:46,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:48,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:49,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:54,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:57,1
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:56,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 64
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 64
    functionName: taos_collector_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_collector_destroy
    - taos_map_set_free_value_fn
    - taos_map_new
    - taos_string_builder_new
    - memset
    - taos_malloc
    - taos_strdup
    - TAOS_LOG
    linkageType: ''
    returnType: taos_collector_t*
    signature: 'taos_collector_t *taos_collector_new(const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - gen
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: taos_collector_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_collector_destroy
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_destroy_generic(void *gen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - self
    - fn
    argTypes:
    - taos_collector_t*
    - taos_collect_fn*
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: taos_collector_set_collect_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_set_collect_fn(taos_collector_t *self, taos_collect_fn
      *fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:123,1
    - Dst: taos_map_delete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_collector_t*
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: taos_collector_remove_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_map_delete
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_remove_metric(taos_collector_t *self, const char*
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:129,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - self
    - metric_name
    argTypes:
    - taos_collector_t*
    - char*
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: taos_collector_get_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector.c
    functionUses: []
    functionsReached:
    - taos_map_get
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: taos_metric_t*
    signature: 'taos_metric_t * taos_collector_get_metric(taos_collector_t *self,
      char *metric_name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:46,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:51,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:53,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:52,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:50,1
    - Dst: taos_collector_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:53,1
    - Dst: taos_metric_formatter_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:55,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:56,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:57,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:58,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:62,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:59,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:61,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: taos_collector_registry_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_map_set_free_value_fn
    - taos_collector_new
    - taos_map_set
    - taos_map_new
    - taos_string_builder_new
    - taos_free
    - taos_malloc
    - TAOS_LOG
    - taos_strdup
    - taos_metric_formatter_new
    - pthread_rwlock_init
    linkageType: ''
    returnType: taos_collector_registry_t*
    signature: 'taos_collector_registry_t *taos_collector_registry_new(const char
      *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:84,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:94,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:97,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:88,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:91,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:98,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:102,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_registry_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: taos_collector_registry_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_destroy
    - taos_map_destroy
    - taos_free
    - taos_metric_formatter_destroy
    - taos_string_builder_destroy
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_destroy(taos_collector_registry_t *self) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:125,1
    - Dst: taos_collector_remove_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:134,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: taos_collector_registry_deregister_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_map_get
    - taos_collector_remove_metric
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_deregister_metric(const char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: taos_collector_registry_must_register_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_collector_registry_register_metric
    linkageType: ''
    returnType: taos_metric_t*
    signature: 'taos_metric_t *taos_collector_registry_must_register_metric(taos_metric_t
      *metric) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:201,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:210,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:208,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:204,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:203,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:211,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - self
    - metric_name
    argTypes:
    - taos_collector_registry_t*
    - char*
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: taos_collector_registry_validate_metric_name
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - TAOS_LOG
    - regcomp
    - regexec
    - regfree
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_validate_metric_name(taos_collector_registry_t
      *self, const char *metric_name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 76
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 76
    functionName: taos_collector_registry_default_init
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_collector_registry_new
    linkageType: ''
    returnType: void
    signature: 'void taos_collector_registry_default_init(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:112,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:115,1
    - Dst: taos_collector_add_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - metric
    argTypes:
    - taos_metric_t*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: taos_collector_registry_register_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_collector_add_metric
    - taos_map_get
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_register_metric(taos_metric_t *metric) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:138,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:141,1
    - Dst: taos_collector_get_metric
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - metric_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 148
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 148
    functionName: taos_collector_registry_get_metric
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_map_get
    - taos_collector_get_metric
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: taos_metric_t*
    signature: 'taos_metric_t *taos_collector_registry_get_metric(char* metric_name) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:160,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:171,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:165,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:167,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:170,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:172,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:174,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:180,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:182,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:184,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:190,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - self
    - collector
    argTypes:
    - taos_collector_registry_t*
    - taos_collector_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 196
    functionName: taos_collector_registry_register_collector
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - taos_map_set
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - taos_map_get
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_register_collector(taos_collector_registry_t
      *self, taos_collector_t *collector) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_formatter_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:236,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:252,1
    - Dst: taos_metric_formatter_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:272,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:254,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:282,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:290,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:308,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:240,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:238,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:253,1
    - Dst: taos_metric_formatter_load_metrics_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:258,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:260,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:265,1
    - Dst: taos_string_builder_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:277,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:296,1
    - Dst: taos_string_builder_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:300,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:305,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:245,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:248,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:259,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:264,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:283,1
    - Dst: taos_string_builder_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:293,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:312,1
    - Dst: taos_string_builder_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:314,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:241,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:239,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:244,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:249,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:279,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:284,1
    - Dst: taos_string_builder_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:288,1
    - Dst: taos_string_builder_add_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:293,1
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:302,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 63
    argCount: 4
    argNames:
    - self
    - ts
    - format
    - prom_str
    argTypes:
    - taos_collector_registry_t*
    - char*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 318
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 318
    functionName: taos_collector_registry_bridge_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - tjsonToString
    - tjsonCreateArray
    - taos_string_builder_destroy
    - tjsonGetArraySize
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - taos_string_builder_clear
    - taos_metric_formatter_dump
    - tjsonAddItemToArray
    - taos_metric_formatter_load_metrics_new
    - taos_metric_formatter_clear
    - tjsonCreateObject
    - taos_string_builder_str
    - tjsonAddStringToObject
    - TAOS_LOG
    - taos_string_builder_new
    - taos_free
    - taos_string_builder_dump
    - taos_string_builder_add_str
    linkageType: ''
    returnType: char*
    signature: 'const char *taos_collector_registry_bridge_new(taos_collector_registry_t
      *self, char *ts, char *format, char** prom_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_string_builder_clear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_collector_registry_t*
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: taos_collector_registry_clear_batch
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_collector_registry.c
    functionUses: []
    functionsReached:
    - taos_string_builder_clear
    linkageType: ''
    returnType: int
    signature: 'int taos_collector_registry_clear_batch(taos_collector_registry_t
      *self) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:43,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:44,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:48,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:50,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:53,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:59,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:99,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:102,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:108,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:112,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:120,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:109,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:135,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:115,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:126,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:161,1
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:31,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:36,1
    - Dst: taos_monitor_count_occurrences
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:46,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:74,1
    - Dst: taos_monitor_is_match
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:82,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:90,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:92,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:100,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:103,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:106,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:114,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:163,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:41,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:56,1
    - Dst: taos_monitor_strip
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:71,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:69,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:62,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:58,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:101,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:107,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:113,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:119,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:150,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:149,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:142,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:37,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:54,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:78,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:80,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:129,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:136,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:145,1
    - Dst: taos_metric_sample_exchange
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:155,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:130,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:137,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:127,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:128,1
    - Dst: taos_metric_sample_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:122,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:146,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 133
    argCount: 7
    argNames:
    - self
    - sample
    - ts
    - format
    - metricName
    - metric_type
    - arrayMetricGroups
    argTypes:
    - taos_metric_formatter_t*
    - taos_metric_sample_t*
    - char*
    - char*
    - char*
    - int32_t
    - SJson*
    constantsTouched: []
    func_position:
      end: 166
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 166
    functionName: taos_metric_formatter_load_sample_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - strstr
    - taos_monitor_count_occurrences
    - tjsonCreateArray
    - taos_monitor_is_match
    - tjsonGetArraySize
    - taosMemoryMalloc
    - tjsonAddDoubleToObject
    - tjsonAddItemToObject
    - taos_monitor_strip
    - memcpy
    - taos_metric_sample_set
    - tjsonAddItemToArray
    - taos_monitor_split_str
    - memset
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taos_metric_sample_exchange
    - taosMemoryFreeClear
    - tjsonGetObjectItem
    - tjsonGetArrayItem
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_formatter_load_sample_new(taos_metric_formatter_t
      *self, taos_metric_sample_t *sample, char *ts, char *format, char *metricName,
      int32_t metric_type, SJson *arrayMetricGroups) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:178,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:176,1
    - Dst: taos_monitor_split_str
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:181,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:193,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:213,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:198,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:235,1
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:170,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:189,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:225,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:206,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:175,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:207,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:179,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:192,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:212,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:196,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:211,1
    - Dst: taos_metric_formatter_load_sample_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:227,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:234,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:240,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 5
    argNames:
    - self
    - metric
    - ts
    - format
    - tableArray
    argTypes:
    - taos_metric_formatter_t*
    - taos_metric_t*
    - char*
    - char*
    - SJson*
    constantsTouched: []
    func_position:
      end: 245
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 245
    functionName: taos_metric_formatter_load_metric_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - tjsonCreateArray
    - tjsonGetArraySize
    - taosMemoryMalloc
    - tjsonDelete
    - tjsonAddItemToObject
    - memcpy
    - tjsonAddItemToArray
    - taos_monitor_split_str
    - memset
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taos_map_get
    - taosMemoryFreeClear
    - tjsonGetObjectItem
    - strcmp
    - strlen
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - taos_metric_formatter_load_sample_new
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_formatter_load_metric_new(taos_metric_formatter_t
      *self, taos_metric_t *metric, char *ts, char *format, SJson* tableArray) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:249,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:255,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:263,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:265,1
    - Dst: taos_map_get_withoutlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:278,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:282,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:283,1
    - Dst: taos_metric_formatter_load_metric_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:287,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:289,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:296,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:299,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:301,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c:297,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 5
    argNames:
    - self
    - collectors
    - ts
    - format
    - tableArray
    argTypes:
    - taos_metric_formatter_t*
    - taos_map_t*
    - char*
    - char*
    - SJson*
    constantsTouched: []
    func_position:
      end: 319
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 319
    functionName: taos_metric_formatter_load_metrics_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric_formatter_custom.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - sprintf
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - taos_map_get_withoutlock
    - taos_map_get
    - TAOS_LOG
    - taos_metric_formatter_load_metric_new
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_formatter_load_metrics_new(taos_metric_formatter_t
      *self, taos_map_t *collectors, char *ts, char *format, SJson* tableArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: taos_gauge_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: []
    functionsReached:
    - taos_metric_new
    linkageType: ''
    returnType: taos_gauge_t*
    signature: 'taos_gauge_t *taos_gauge_new(const char *name, const char *help, size_t
      label_key_count, const char **label_keys) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:91,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:94,1
    - Dst: taos_metric_sample_from_labels
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:97,1
    - Dst: taos_metric_sample_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - self
    - r_value
    - label_values
    argTypes:
    - taos_gauge_t*
    - double
    - char**
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: taos_gauge_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: []
    functionsReached:
    - taos_metric_sample_set
    - TAOS_LOG
    - TAOS_TEST_PARA
    - taos_metric_sample_from_labels
    linkageType: ''
    returnType: int
    signature: 'int taos_gauge_set(taos_gauge_t *self, double r_value, const char
      **label_values) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:35,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_gauge_t*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: taos_gauge_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_gauge.c
    functionUses: []
    functionsReached:
    - taos_metric_destroy
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_gauge_destroy(taos_gauge_t *self) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:37,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:77,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:80,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:81,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:83,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:39,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:40,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:42,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:46,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:50,1
    - Dst: taos_map_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:63,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:59,1
    - Dst: taos_metric_formatter_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:75,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:35,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:49,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:51,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:55,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:84,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:41,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:56,1
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:70,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:54,1
    - Dst: taos_map_set_free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:68,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 5
    argNames:
    - metric_type
    - name
    - help
    - label_key_count
    - label_keys
    argTypes:
    - taos_metric_type_t
    - char*
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 88
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 88
    functionName: taos_metric_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: []
    functionsReached:
    - taos_map_set_free_value_fn
    - taos_metric_destroy
    - taos_map_new
    - strcpy
    - strcmp
    - taos_free
    - memset
    - strlen
    - taos_malloc
    - taos_metric_formatter_new
    - taos_strdup
    - TAOS_LOG
    - pthread_rwlock_init
    linkageType: ''
    returnType: taos_metric_t*
    signature: 'taos_metric_t *taos_metric_new(taos_metric_type_t metric_type, const
      char *name, const char *help, size_t label_key_count, const char **label_keys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: taos_metric_destroy_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: []
    functionsReached:
    - taos_metric_destroy
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_destroy_generic(void *item) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:91,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:98,1
    - Dst: taos_metric_formatter_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:103,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:106,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:108,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:112,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:116,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:119,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:122,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_metric_t*
    constantsTouched: []
    func_position:
      end: 129
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 129
    functionName: taos_metric_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_destroy
    - TAOS_TEST_PARA
    - taos_map_destroy
    - taos_free
    - taos_metric_formatter_destroy
    - TAOS_LOG
    linkageType: ''
    returnType: int
    signature: 'int taos_metric_destroy(taos_metric_t *self) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:147,1
    - Dst: taos_metric_formatter_load_l_value
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:161,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:149,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:151,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:163,1
    - Dst: taos_metric_formatter_dump
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:167,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:169,1
    - Dst: taos_map_get
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:173,1
    - Dst: taos_metric_sample_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:175,1
    - Dst: taos_map_set
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:176,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:178,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:184,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:182,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:183,1
    - Dst: TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - self
    - label_values
    argTypes:
    - taos_metric_t*
    - char**
    constantsTouched: []
    func_position:
      end: 186
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 186
    functionName: taos_metric_sample_from_labels
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: []
    functionsReached:
    - taos_map_set
    - taos_metric_formatter_dump
    - TAOS_METRIC_SAMPLE_FROM_LABELS_HANDLE_UNLOCK
    - taos_metric_formatter_load_l_value
    - pthread_rwlock_wrlock
    - pthread_rwlock_unlock
    - TAOS_TEST_PARA_NULL
    - taos_free
    - taos_metric_sample_new
    - taos_map_get
    - TAOS_LOG
    linkageType: ''
    returnType: taos_metric_sample_t*
    signature: 'taos_metric_sample_t *taos_metric_sample_from_labels(taos_metric_t
      *self, const char **label_values) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_metric_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:141,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_metric.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: taos_metric_free_generic
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_metric.c
    functionUses: []
    functionsReached:
    - TAOS_LOG
    - taos_metric_destroy
    linkageType: ''
    returnType: void
    signature: 'void taos_metric_free_generic(void *item) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:40,1
    - Dst: taos_strdup
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - key
    - value
    - free_value_fn
    argTypes:
    - char*
    - void*
    - taos_map_node_free_value_fn
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: taos_map_node_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_malloc
    - taos_strdup
    linkageType: ''
    returnType: taos_map_node_t*
    signature: 'taos_map_node_t *taos_map_node_new(const char *key, void *value, taos_map_node_free_value_fn
      free_value_fn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:76,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:85,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:80,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:87,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:88,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:93,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:97,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:98,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:100,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:101,1
    - Dst: taos_linked_list_set_compare_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:105,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:107,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:119,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:114,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:117,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:108,1
    - Dst: taos_map_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:118,1
    - Dst: pthread_rwlock_init
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 125
    functionName: taos_map_new
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_destroy
    - taos_linked_list_new
    - taos_linked_list_set_compare_fn
    - taos_malloc
    - TAOS_LOG
    - pthread_rwlock_init
    - taos_linked_list_set_free_fn
    linkageType: ''
    returnType: taos_map_t*
    signature: 'taos_map_t *taos_map_new() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:337,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:348,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:339,1
    - Dst: taos_map_ensure_space
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:345,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:341,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:350,1
    - Dst: taos_map_set_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:356,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:360,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:362,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:368,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:370,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - taos_map_t*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 373
    functionName: taos_map_set
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - taos_map_set_internal
    - TAOS_LOG
    - taos_map_ensure_space
    linkageType: ''
    returnType: int
    signature: 'int taos_map_set(taos_map_t *self, const char *key, void *value) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:378,1
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:380,1
    - Dst: taos_linked_list_remove
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:386,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:384,1
    - Dst: taos_linked_list_remove
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:389,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 6
    argNames:
    - key
    - size
    - max_size
    - keys
    - addrs
    - free_value_fn
    argTypes:
    - char*
    - size_t*
    - size_t*
    - taos_linked_list_t*
    - taos_linked_list_t**
    - taos_map_node_free_value_fn
    constantsTouched: []
    func_position:
      end: 399
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 399
    functionName: taos_map_delete_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_linked_list_remove
    - taos_map_node_destroy
    - taos_linked_list_compare
    - taos_map_get_index_internal
    - taos_map_node_new
    linkageType: ''
    returnType: int
    signature: 'static int taos_map_delete_internal(const char *key, size_t *size,
      size_t *max_size, taos_linked_list_t *keys, taos_linked_list_t **addrs, taos_map_node_free_value_fn
      free_value_fn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:128,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:137,1
    - Dst: pthread_rwlock_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:144,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:141,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:132,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:150,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    constantsTouched: []
    func_position:
      end: 156
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 156
    functionName: taos_map_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - pthread_rwlock_destroy
    - taos_linked_list_destroy
    - TAOS_TEST_PARA
    - taos_free
    linkageType: ''
    returnType: int
    signature: 'int taos_map_destroy(taos_map_t *self) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:207,1
    - Dst: taos_map_get_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:215,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:211,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:216,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:209,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    constantsTouched: []
    func_position:
      end: 222
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 222
    functionName: taos_map_get
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_get_internal
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - TAOS_TEST_PARA_NULL
    - TAOS_LOG
    linkageType: ''
    returnType: void*
    signature: 'void *taos_map_get(taos_map_t *self, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - key
    - size
    - max_size
    argTypes:
    - char*
    - size_t*
    - size_t*
    constantsTouched: []
    func_position:
      end: 165
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 165
    functionName: taos_map_get_index_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t taos_map_get_index_internal(const char *key, size_t
      *size, size_t *max_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_NULL
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:225,1
    - Dst: taos_map_get_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: taos_map_get_withoutlock
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_get_internal
    - TAOS_TEST_PARA_NULL
    linkageType: ''
    returnType: void*
    signature: 'void *taos_map_get_withoutlock(taos_map_t *self, const char *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 429
    functionName: taos_map_size
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: size_t
    signature: 'size_t taos_map_size(taos_map_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: taos_map_get_index
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_get_index_internal
    linkageType: ''
    returnType: size_t
    signature: 'size_t taos_map_get_index(taos_map_t *self, const char *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:402,1
    - Dst: pthread_rwlock_wrlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:405,1
    - Dst: taos_map_delete_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:410,1
    - Dst: pthread_rwlock_unlock
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:412,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:407,1
    - Dst: TAOS_LOG
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - self
    - key
    argTypes:
    - taos_map_t*
    - char*
    constantsTouched: []
    func_position:
      end: 418
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 418
    functionName: taos_map_delete
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - pthread_rwlock_unlock
    - pthread_rwlock_wrlock
    - TAOS_LOG
    - taos_map_delete_internal
    linkageType: ''
    returnType: int
    signature: 'int taos_map_delete(taos_map_t *self, const char *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:188,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:194,1
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:190,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:196,1
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:201,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 6
    argNames:
    - key
    - size
    - max_size
    - keys
    - addrs
    - free_value_fn
    argTypes:
    - char*
    - size_t*
    - size_t*
    - taos_linked_list_t*
    - taos_linked_list_t**
    - taos_map_node_free_value_fn
    constantsTouched: []
    func_position:
      end: 204
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: taos_map_get_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_get_index_internal
    - taos_map_node_new
    - taos_linked_list_compare
    - taos_map_node_destroy
    linkageType: ''
    returnType: void*
    signature: 'static void *taos_map_get_internal(const char *key, size_t *size,
      size_t *max_size, taos_linked_list_t *keys, taos_linked_list_t **addrs, taos_map_node_free_value_fn
      free_value_fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - self
    - free_value_fn
    argTypes:
    - taos_map_t*
    - taos_map_node_free_value_fn
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: taos_map_set_free_value_fn
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    linkageType: ''
    returnType: int
    signature: 'int taos_map_set_free_value_fn(taos_map_t *self, taos_map_node_free_value_fn
      free_value_fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: destroy_map_node_value_no_op
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroy_map_node_value_no_op(void *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - item_a
    - item_b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: taos_map_node_compare
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: taos_linked_list_compare_t
    signature: 'taos_linked_list_compare_t taos_map_node_compare(void *item_a, void
      *item_b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA_VOID
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:48,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:53,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_node_t*
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: taos_map_node_destroy
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA_VOID
    - taos_free
    linkageType: ''
    returnType: void
    signature: 'void taos_map_node_destroy(taos_map_node_t *self) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_node_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:235,1
    - Dst: free_value_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:245,1
    - Dst: taos_linked_list_compare
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:242,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:248,1
    - Dst: taos_map_get_index_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:238,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:250,1
    - Dst: taos_linked_list_append
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:256,1
    - Dst: taos_linked_list_append
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:257,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 8
    argNames:
    - key
    - value
    - size
    - max_size
    - keys
    - addrs
    - free_value_fn
    - destroy_current_value
    argTypes:
    - char*
    - void*
    - size_t*
    - size_t*
    - taos_linked_list_t*
    - taos_linked_list_t**
    - taos_map_node_free_value_fn
    - bool
    constantsTouched: []
    func_position:
      end: 260
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 260
    functionName: taos_map_set_internal
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - free_value_fn
    - taos_linked_list_append
    - taos_free
    - taos_linked_list_compare
    - taos_map_get_index_internal
    - taos_map_node_new
    linkageType: ''
    returnType: int
    signature: 'static int taos_map_set_internal(const char *key, void *value, size_t
      *size, size_t *max_size, taos_linked_list_t *keys, taos_linked_list_t **addrs,
      taos_map_node_free_value_fn free_value_fn, bool destroy_current_value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taos_map_node_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - item
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: taos_map_node_free
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - taos_map_node_destroy
    linkageType: ''
    returnType: void
    signature: 'void taos_map_node_free(void *item) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_TEST_PARA
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:263,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:275,1
    - Dst: taos_malloc
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:282,1
    - Dst: taos_linked_list_new
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:286,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:278,1
    - Dst: taos_linked_list_set_free_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:287,1
    - Dst: taos_linked_list_set_compare_fn
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:289,1
    - Dst: taos_map_set_internal
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:301,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:306,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:308,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:315,1
    - Dst: taos_linked_list_destroy
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:319,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:324,1
    - Dst: taos_free
      Src: /src/tdengine/source/libs/monitorfw/src/taos_map.c:310,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - self
    argTypes:
    - taos_map_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 334
    functionName: taos_map_ensure_space
    functionSourceFile: /src/tdengine/source/libs/monitorfw/src/taos_map.c
    functionUses: []
    functionsReached:
    - TAOS_TEST_PARA
    - taos_linked_list_new
    - taos_map_set_internal
    - taos_linked_list_set_compare_fn
    - taos_free
    - taos_malloc
    - taos_linked_list_destroy
    - taos_linked_list_set_free_fn
    linkageType: ''
    returnType: int
    signature: 'int taos_map_ensure_space(taos_map_t *self) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: getVectorDoubleValue_TINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_TINYINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: getVectorDoubleValue_INT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_INT(void *src, int32_t
      index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: getVectorDoubleValue_SMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_SMALLINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: getVectorDoubleValue_BIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_BIGINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: getVectorDoubleValue_FLOAT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_FLOAT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: getVectorDoubleValue_BOOL
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_BOOL(void *src, int32_t
      index, double *out) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - srcType
    - p
    argTypes:
    - int32_t
    - _getDoubleValue_fn_t*
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: getVectorDoubleValueFn
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValueFn(int32_t srcType,
      _getDoubleValue_fn_t *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: getVectorDoubleValue_USMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_USMALLINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: getVectorDoubleValue_UTINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_UTINYINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: getVectorDoubleValue_UINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_UINT(void *src, int32_t
      index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: getVectorDoubleValue_UBIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_UBIGINT(void *src,
      int32_t index, double *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: getVectorDoubleValue_DOUBLE
    functionSourceFile: /src/tdengine/source/libs/scalar/inc/sclvector.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getVectorDoubleValue_DOUBLE(void *src,
      int32_t index, double *out) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2629,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2636,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2640,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2641,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2650,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2642,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2642,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2655,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2659,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2659,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2674,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2640,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2646,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2652,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2623,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2653,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2645,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2661,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2661,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2668,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2670,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2674,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2636,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2629,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2630,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2637,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2642,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2665,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2670,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2680
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2680
    functionName: timeTruncateFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convertStringToTimestamp
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetNULL
    - typeGetTypeModFromColInfo
    - IS_VAR_DATA_TYPE
    - varDataVal
    - colDataIsNull_s
    - GET_TYPED_DATA
    - colDataGetData
    - TSDB_TICK_PER_SECOND
    - offsetFromTz
    - SCL_ERR_RET
    - colDataSetVal
    - NUM_TO_STRING
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t timeTruncateFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3018,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3022,1
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3020,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3018,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3019,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3022,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3023,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3024,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3024,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3025,1
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3028
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3028
    functionName: weekFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - typeGetTypeModFromColInfo
    - weekFunctionImpl
    - GET_TYPED_DATA
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t weekFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3063
    functionName: powFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t powFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3321,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3325
      start: 3319
    functionDepth: 0
    functionLinenumber: 3319
    functionLinenumberEnd: 3325
    functionName: upperFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doCaseConvFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t upperFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3487,1
    - Dst: SET_TYPED_DATA_MAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3491,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3587,1
    - Dst: SET_TYPED_DATA_MIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3493,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3497,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3588,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3596,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3597,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3606,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 81
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - isMinFunc
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - bool
    constantsTouched: []
    func_position:
      end: 3611
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3611
    functionName: doMinMaxScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - SET_TYPED_DATA_MAX
    - GET_PARAM_TYPE
    - SET_TYPED_DATA_MIN
    - colDataSetNULL
    - colDataIsNull_s
    - getDecimalOps
    - DECIMAL_WORD_NUM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doMinMaxScalarFunction(SScalarParam *pInput, int32_t
      inputNum, SScalarParam *pOutput, bool isMinFunc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4243,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4245,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4249,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4259,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4254,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4264,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4269,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4274,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4279,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4284,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4289,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4294,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - op
    - pCol
    - index
    - pCondParam
    argTypes:
    - int8_t
    - SColumnInfoData*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4302
      start: 4242
    functionDepth: 0
    functionLinenumber: 4242
    functionLinenumberEnd: 4302
    functionName: checkStateOp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataGetData
    - STATE_COMP
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: bool
    signature: 'static bool checkStateOp(int8_t op, SColumnInfoData *pCol, int32_t
      index, SScalarParam *pCondParam) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2687,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2688,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2690,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2694,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2716,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2749,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2685,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2686,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2722,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2722,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2685,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2714,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2811,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2687,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2690,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2691,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2712,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2706,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2732,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2731,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2715,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 123
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2817
    functionName: timeDiffFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convertStringToTimestamp
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataSetVal
    - TSDB_TICK_PER_SECOND
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_TYPED_DATA
    - SCL_ERR_RET
    - strlen
    - NUM_TO_STRING
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t timeDiffFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3032,1
    - Dst: weekFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3034,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3033,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3035
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3035
    functionName: weekofyearFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - typeGetTypeModFromColInfo
    - weekFunctionImpl
    - GET_TYPED_DATA
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t weekofyearFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3067,1
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3071
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3071
    functionName: logFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t logFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3329
      start: 3327
    functionDepth: 0
    functionLinenumber: 3327
    functionLinenumberEnd: 3329
    functionName: ltrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ltrimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3615
      start: 3613
    functionDepth: 0
    functionLinenumber: 3613
    functionLinenumberEnd: 3615
    functionName: minScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doMinMaxScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4308,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4317,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4308,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4313,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4312,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4324,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4329
      start: 4304
    functionDepth: 0
    functionLinenumber: 4304
    functionLinenumberEnd: 4329
    functionName: stateCountScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - varDataVal
    - SCL_ERR_RET
    - getStateOpType
    - checkStateOp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateCountScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:51,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:71,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:59,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:72,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:58,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:84,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:85,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:97,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:98,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:110,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:123,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:140,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:140,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:134,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:124,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:111,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 65
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 146
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 146
    functionName: absFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataAssign
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t absFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3154
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3154
    functionName: truncFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalFn
    linkageType: ''
    returnType: double
    signature: 'static double truncFn(double val1, double val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3280
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3280
    functionName: truncFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunction2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t truncFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3762,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3854,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3849,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3856,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3767,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3856,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3857,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3859,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3859,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3860,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3862,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3862,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3869
      start: 3758
    functionDepth: 0
    functionLinenumber: 3758
    functionLinenumberEnd: 3869
    functionName: stdScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - sqrt
    - IS_SIGNED_NUMERIC_TYPE
    - GET_PARAM_TYPE
    - fabs
    - colDataIsNull_s
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:152,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:159,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:160,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:289,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:173,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:172,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:185,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:186,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:237,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:225,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:224,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:238,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:273,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:274,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:283,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:198,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:199,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:211,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:249,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:261,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:262,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:250,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:212,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 96
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 295
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 295
    functionName: signFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - SCL_ERR_RET
    - colDataIsNull_s
    - colDataSetNULL
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t signFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalfFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 3158
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3158
    functionName: truncfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalfFn
    linkageType: ''
    returnType: float
    signature: 'static float truncfFn(float val1, float val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3289
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3289
    functionName: piFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t piFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: tlog
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - log
    linkageType: ''
    returnType: double
    signature: 'static double tlog(double v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3054,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3055
    functionName: asinFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asinFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:26,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:28,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:30,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:28,1
    - Dst: log
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:27,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - v
    - base
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: tlog2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isnan
    - isinf
    - log
    linkageType: ''
    returnType: double
    signature: 'static double tlog2(double v, double base) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3059
    functionName: acosFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t acosFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - VarDataLenT*
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: tlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - varDataLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlength(char *input, int32_t type, VarDataLenT *len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:413,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:424,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:428,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:438,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:425,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:439,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:442,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:449,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:455,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:455,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - f1
    - d1
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _float_fn
    - _double_fn
    constantsTouched: []
    func_position:
      end: 461
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 461
    functionName: doScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - d1
    - GET_PARAM_TYPE
    - colDataAssign
    - colDataIsNull_s
    - SCL_ERR_RET
    - f1
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _float_fn f1, _double_fn d1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2821,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2822,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2821,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2826,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2830
    functionName: nowFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - GET_PARAM_TYPE
    - typeGetTypeModFromColInfo
    - GET_TYPED_DATA
    - colDataSetInt64
    - taosGetTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nowFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2929
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2929
    functionName: getDayNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDayNum(int32_t year, int32_t month, int32_t day) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3075
      start: 3073
    functionDepth: 0
    functionLinenumber: 3073
    functionLinenumberEnd: 3075
    functionName: sqrtFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sqrtFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3333
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3333
    functionName: rtrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rtrimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4620,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4624,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4629,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4623,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4628,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4634
      start: 4616
    functionDepth: 0
    functionLinenumber: 4616
    functionLinenumberEnd: 4634
    functionName: selectScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t selectScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2834,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2835,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2834,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2839,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2843
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2843
    functionName: todayFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - GET_PARAM_TYPE
    - typeGetTypeModFromColInfo
    - taosGetTimestampToday
    - GET_TYPED_DATA
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t todayFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2933
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2933
    functionName: getDaysInYear
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDaysInYear(int32_t year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3079
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3079
    functionName: ceilFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ceilFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLengthFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3337
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3337
    functionName: lengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doLengthFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lengthFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3363
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3363
    functionName: winDurFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t winDurFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4638
      start: 4636
    functionDepth: 0
    functionLinenumber: 4636
    functionLinenumberEnd: 4638
    functionName: topBotScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topBotScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 585
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 585
    functionName: isCharStart
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isCharStart(char c) '
  - BBCount: 79
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1978,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1989,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2138,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2144,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2146,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2206,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2241,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2291,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2235,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2214,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2190,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2278,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2316,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2273,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2316,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2107,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1961,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1982,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2126,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2138,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2170,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2210,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2227,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2243,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2256,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2265,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2191,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2037,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2055,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1960,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1967,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1988,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2018,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2073,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2091,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2109,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2128,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2214,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2198,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2063,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2008,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2026,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2045,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2081,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2099,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2117,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2138,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2156,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2255,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2303,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2273,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2190,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2226,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1991,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2146,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2208,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2212,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2234,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2264,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2278,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2314,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2242,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2282,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2170,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2241,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2305,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2025,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2044,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2062,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2080,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1977,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1987,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1991,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2007,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2098,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2116,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2162,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2180,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2109,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1987,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2128,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2164,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2182,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2206,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2214,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2220,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2221,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2262,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2284,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2274,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2164,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2182,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2286,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2047,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2065,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2083,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1991,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2028,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2101,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2119,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2153,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2172,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2312,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2318,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2006,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2024,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2028,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2043,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2061,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2079,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2047,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2065,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2083,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2343,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2315,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1963,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2006,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2024,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2043,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2061,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2079,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2097,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2115,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2134,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2097,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2115,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2134,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2047,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2065,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2083,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1987,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2010,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2028,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2101,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2119,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2152,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2211,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2265,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2277,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2279,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2190,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2211,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1998,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2000,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2152,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2174,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2220,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2224,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2341,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2226,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1966,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2136,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2174,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2198,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2211,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2219,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2135,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2230,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2286,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2305,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2332,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2303,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2305,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1962,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2006,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2024,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2043,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2061,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2079,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2097,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2134,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2170,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2271,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2256,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2174,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2275,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2242,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2035,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2071,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2091,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2053,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2037,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2016,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2018,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2073,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2089,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2055,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2342,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1969,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2000,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2152,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2210,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2232,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2234,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2101,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2119,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2156,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 473
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2345
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 2345
    functionName: castFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalToStr
    - taosMemoryFree
    - convertStringToTimestamp
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - varDataLen
    - taosUcs4ToMbs
    - colDataSetVal
    - GET_PARAM_BYTES
    - taosStr2Int64
    - IS_DECIMAL_TYPE
    - varDataSetLen
    - GET_PARAM_PRECISON
    - IS_VAR_DATA_TYPE
    - tsnprintf
    - taosStr2Float
    - taosMemoryMalloc
    - taosStr2UInt8
    - convertToDecimal
    - colDataSetNULL
    - taosStr2Double
    - colDataGetData
    - varDataVal
    - memcpy
    - GET_PARAM_SCALE
    - taosStr2Int32
    - taosStr2Int8
    - taosStr2UInt64
    - taosStr2Int16
    - taosStr2UInt32
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - strlen
    - taosMbsToUcs4
    - GET_COL_DATA_TYPE
    - NUM_TO_STRING
    - TMIN
    - taosStr2UInt16
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3350,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3352
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3352
    functionName: qStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStartTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avgScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4171
      start: 4169
    functionDepth: 0
    functionLinenumber: 4169
    functionLinenumberEnd: 4171
    functionName: mavgScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - avgScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mavgScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:591,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:592,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:607,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:606,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - orgStr
    - remStr
    - orgLen
    - remLen
    - trimLeft
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 619
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 619
    functionName: trimHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isCharStart
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t trimHelper(char *orgStr, char* remStr, int32_t orgLen,
      int32_t remLen, bool trimLeft, bool isNchar) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2355,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2360,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2376,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2376,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2433,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2437,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2359,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2364,1
    - Dst: offsetOfTimezone
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2413,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2425,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2423,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2355,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2437,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2348,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2354,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2367,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2404,1
    - Dst: taosGmTimeR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2419,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2429,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2434,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2443
    functionName: toISO8601Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - varDataLen
    - GET_PARAM_TYPE
    - colDataSetVal
    - offsetOfTimezone
    - varDataSetLen
    - tsnprintf
    - colDataSetNULL
    - varDataVal
    - colDataGetData
    - memcpy
    - taosStrfTime
    - SCL_ERR_RET
    - snprintf
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - taosGmTimeR
    - NUM_TO_STRING
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toISO8601Function(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3355,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3357
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3357
    functionName: qEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qEndTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4175
      start: 4173
    functionDepth: 0
    functionLinenumber: 4173
    functionLinenumberEnd: 4175
    functionName: hllScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - countScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INT4TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1434,1
    - Dst: INT2TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1438,1
    - Dst: INT3TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1436,1
    - Dst: INT1TOCHAR
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1440,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - num
    - output
    argTypes:
    - int32_t
    - char**
    constantsTouched: []
    func_position:
      end: 1442
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1442
    functionName: getAsciiChar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - INT3TOCHAR
    - INT1TOCHAR
    - INT2TOCHAR
    - INT4TOCHAR
    linkageType: ''
    returnType: void
    signature: 'static void getAsciiChar(int32_t num, char **output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - input
    - inputLen
    - count
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1848
    functionName: repeatStringHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t repeatStringHelper(char *input, int32_t inputLen, int32_t
      count, char *output) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4384,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4393,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4399,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4398,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4408,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4409,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4409,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4410,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4425,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4428,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4487,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4505,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4509,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4521,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4523,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4488,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4531,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4497,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4467,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4381,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4389,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4388,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4392,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4394,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4438,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4439,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4476,1
    - Dst: pow
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4457,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4490,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4496,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4444,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4510,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4440,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4461,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4534,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4516,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4395,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4398,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4408,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4400,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4411,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4426,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4433,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4437,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4449,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4454,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4484,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4491,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4503,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4447,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4502,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4385,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4396,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4405,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4398,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4432,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4448,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4459,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4482,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4485,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4504,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4508,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4517,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4532,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4466,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4452,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 194
    argCount: 5
    argNames:
    - bins
    - binNum
    - binDescStr
    - binType
    - normalized
    argTypes:
    - SHistoFuncBin**
    - int32_t*
    - char*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 4535
      start: 4379
    functionDepth: 0
    functionLinenumber: 4379
    functionLinenumberEnd: 4535
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosMemoryFree
    - cJSON_Parse
    - cJSON_Delete
    - SCL_RET
    - isinf
    - taosMemoryCalloc
    - cJSON_GetArraySize
    - SCL_ERR_RET
    - cJSON_IsBool
    - cJSON_IsArray
    - cJSON_IsNumber
    - cJSON_IsObject
    - cJSON_GetObjectItem
    - pow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getHistogramBinDesc(SHistoFuncBin **bins, int32_t *binNum,
      char *binDescStr, int8_t binType, bool normalized) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4658
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4658
    functionName: modeScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t modeScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1461,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1464,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1474,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1481,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1488,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1452,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1462,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1462,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1466,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1462,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1468,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1472,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1472,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1487,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1480,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1455,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1459,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1461,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1462,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1467,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1465,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1465,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1470,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1472,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1472,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1479,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1446,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1448,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1468,1
    - Dst: getAsciiChar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1463,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1472,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1487,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1493,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1495
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1495
    functionName: charFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - taosUcs4ToMbs
    - varDataLen
    - colDataSetVal
    - GET_PARAM_BYTES
    - varDataSetLen
    - taosMemoryMalloc
    - varDataVal
    - colDataGetData
    - getAsciiChar
    - SCL_ERR_RET
    - taosStr2Int32
    - SCL_ERR_JRET
    - TMAX
    - IS_NUMERIC_TYPE
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t charFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1863,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1874,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1876,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1881,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1890,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1898,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1899,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1899,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1913,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1913,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1922,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1933,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1940,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1954,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1937,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1922,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1932,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1865,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1873,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1881,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1886,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1893,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1894,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1897,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1898,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1898,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1904,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1917,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1941,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1944,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1908,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1909,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1860,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1863,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1864,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1881,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1885,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1885,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1894,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1897,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1898,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1903,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1913,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1928,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1919,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1937,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1914,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1927,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1917,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1945,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1863,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1881,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1890,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1890,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1891,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1896,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1898,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1920,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1943,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1938,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1944,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1946,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1937,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1941,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1920,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1916,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    - Dst: repeatStringHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1921,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 131
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1956
    functionName: repeatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - colDataSetNULL
    - typeGetTypeModFromColInfo
    - colDataSetVal
    - colDataGetData
    - colDataIsNull_s
    - GET_TYPED_DATA
    - SCL_ERR_RET
    - varDataLen
    - repeatStringHelper
    - varDataVal
    - varDataSetLen
    - colDataSetNNULL
    - SCL_ERR_JRET
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t repeatFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4550,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4561,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4573,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4573,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4564,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4603,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4607,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4545,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4552,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4554,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4567,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4559,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4612,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4545,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4545,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4552,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4552,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4571,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4600,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4606,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4547,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4558,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4600,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4603,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4607,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4614
      start: 4537
    functionDepth: 0
    functionLinenumber: 4537
    functionLinenumberEnd: 4614
    functionName: histogramScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - varDataLen
    - GET_PARAM_TYPE
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - varDataVal
    - SCL_ERR_RET
    - colDataIsNull_s
    - colDataGetData
    - getHistogramBinDesc
    - GET_TYPED_DATA
    - colInfoDataEnsureCapacity
    - varDataSetLen
    - getHistogramBinType
    - SCL_ERR_JRET
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - data
    - length
    argTypes:
    - uint8_t*
    - size_t
    constantsTouched: []
    func_position:
      end: 1377
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1377
    functionName: crc32
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t crc32(const uint8_t *data, size_t length) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - daynr
    - sundayFirstDay
    argTypes:
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2937
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2937
    functionName: getWeekday
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getWeekday(int32_t daynr, bool sundayFirstDay) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3047
    functionName: cosFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cosFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3051
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3051
    functionName: tanFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tanFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1389,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1406,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1407,1
    - Dst: GET_PARAM_SCALE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1408,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1420,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1422,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1386,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1409,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1418,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1419,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1422,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1399,1
    - Dst: NUM_TO_STRING
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1411,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1413,1
    - Dst: decimalToStr
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1409,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1419,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1382,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1387,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1390,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1394,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1395,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1413,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1418,1
    - Dst: GET_PARAM_PRECISON
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1408,1
    - Dst: crc32
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1430
    functionName: crc32Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalToStr
    - taosMemoryFree
    - GET_PARAM_TYPE
    - varDataLen
    - crc32
    - IS_DECIMAL_TYPE
    - GET_PARAM_PRECISON
    - taosMemoryMalloc
    - taosArrayDestroy
    - colDataSetNULL
    - colDataGetData
    - varDataVal
    - strnlen
    - GET_PARAM_SCALE
    - qError
    - SCL_ERR_JRET
    - TMAX
    - IS_NUMERIC_TYPE
    - colDataIsNull_s
    - strlen
    - NUM_TO_STRING
    - taosTs2Char
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t crc32Function(SScalarParam* pInput, int32_t inputNum, SScalarParam*
      pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDayNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2944,1
    - Dst: getWeekday
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2950,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2956,1
    - Dst: getDaysInYear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2967,1
    - Dst: getDayNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2945,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 2
    argNames:
    - date
    - weekFlag
    argTypes:
    - struct tm
    - int32_t
    constantsTouched: []
    func_position:
      end: 2973
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2973
    functionName: calculateWeekNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - getDayNum
    - getWeekday
    - getDaysInYear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calculateWeekNum(struct tm date, int32_t weekFlag) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4223,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4229,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4231,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4225,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4227,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4240
      start: 4221
    functionDepth: 0
    functionLinenumber: 4221
    functionLinenumberEnd: 4240
    functionName: getStateOpType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getStateOpType(char *opStr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3168,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3184,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3189,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3189,1
    - Dst: f1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3199,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3224,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3245,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3183,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3190,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3200,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3200,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3259,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3168,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3182,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3178,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3201,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3210,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3217,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3231,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3238,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3252,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3168,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3171,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3173,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3177,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3177,1
    - Dst: d1
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3188,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 72
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - f1
    - d1
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _float_fn_2
    - _double_fn_2
    constantsTouched: []
    func_position:
      end: 3268
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3268
    functionName: doScalarFunction2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - d1
    - typeGetTypeModFromColInfo
    - isinf
    - colDataIsNull_s
    - SCL_ERR_RET
    - GET_TYPED_DATA
    - colDataGetData
    - isnan
    - TMAX
    - f1
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScalarFunction2(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _float_fn_2 f1, _double_fn_2 d1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3301
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3301
    functionName: modFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t modFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3888,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3889,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3934,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3922,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3970,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4006,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3888,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3898,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3927,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3939,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3975,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4011,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4018,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4037,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4039,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4044,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3886,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3887,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3891,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3903,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3910,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3946,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3958,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3982,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3994,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4035,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4044,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3886,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3915,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3951,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3963,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3987,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3999,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4033,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4042,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4042,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4043,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 102
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4049
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 4049
    functionName: leastSQRScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - snprintf
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - varDataVal
    - GET_TYPED_DATA
    - SCL_ERR_RET
    - varDataSetLen
    - tsnprintf
    - LEASTSQR_CAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastSQRScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3272,1
    - Dst: doScalarFunction2
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3276
    functionName: roundFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunction
    - doScalarFunction2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t roundFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3305
      start: 3303
    functionDepth: 0
    functionLinenumber: 3303
    functionLinenumberEnd: 3305
    functionName: degreesFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t degreesFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4055,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4069,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4065,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4065,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4060,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4071,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4071,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4076
      start: 4051
    functionDepth: 0
    functionLinenumber: 4051
    functionLinenumberEnd: 4076
    functionName: percentileScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - SCL_ERR_RET
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t percentileScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:298,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:304,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:304,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:309,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:309,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:310,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:314,1
    - Dst: getValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:314,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:315,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:316,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:317,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:316,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - valFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _double_fn
    constantsTouched: []
    func_position:
      end: 325
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 325
    functionName: doScalarFunctionUnique
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - isinf
    - colDataIsNull_s
    - SCL_ERR_RET
    - valFn
    - isnan
    - getValueFn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScalarFunctionUnique(SScalarParam *pInput, int32_t
      inputNum, SScalarParam *pOutput, _double_fn valFn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1498,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1511,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1507,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1511,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1506,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1512,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1512,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1513,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1513,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1513,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1517,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1520,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1519,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1514,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1526
    functionName: asciiFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - colDataSetNULL
    - GET_PARAM_TYPE
    - varDataLen
    - varDataVal
    - colDataIsNull_s
    - colDataGetData
    - SCL_ERR_RET
    - convBetweenNcharAndVarchar
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asciiFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3379
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3379
    functionName: isWinFilledFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t isWinFilledFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4163
      start: 4161
    functionDepth: 0
    functionLinenumber: 4161
    functionLinenumberEnd: 4163
    functionName: forecastScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t forecastScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4359,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4361,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4370
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4370
    functionName: getHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getHistogramBinType(char *binTypeStr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:341,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:335,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:352,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:363,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:375,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:375,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:385,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:397,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:397,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:335,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:341,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:354,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:355,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:355,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:366,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:367,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:373,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:376,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:395,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:341,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:353,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:347,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:356,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:362,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:374,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:384,1
    - Dst: valFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:396,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:389,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:398,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:335,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:341,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:343,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:346,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:346,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:372,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:394,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:388,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - valFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _double_fn_2
    constantsTouched: []
    func_position:
      end: 409
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 409
    functionName: doScalarFunctionUnique2
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - isinf
    - colDataIsNull_s
    - SCL_ERR_RET
    - valFn
    - colDataSetNNULL
    - isnan
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScalarFunctionUnique2(SScalarParam *pInput, int32_t
      inputNum, SScalarParam *pOutput, _double_fn_2 valFn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1531,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - orgStr
    - delimStr
    - orgLen
    - delimLen
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1543
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1543
    functionName: findPosChars
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isCharStart
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findPosChars(char *orgStr, char *delimStr, int32_t
      orgLen, int32_t delimLen, bool isNchar) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3382,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3390
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3390
    functionName: qPseudoTagFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataGetData
    - colDataSetNItems
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qPseudoTagFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: avgScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4167
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4167
    functionName: twaScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - avgScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t twaScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:765,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:778,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:786,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:789,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:771,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:790,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:758,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:756,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:765,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:770,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:789,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:773,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:753,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:779,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:770,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:754,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:755,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:765,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:782,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 792
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 792
    functionName: tlrtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - varDataLen
    - trimHelper
    - varDataVal
    - SCL_ERR_RET
    - convBetweenNcharAndVarchar
    - varDataSetLen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlrtrim(char *input, char *remInput, char *output,
      int32_t inputType, int32_t remType, void *charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3083
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3083
    functionName: floorFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t floorFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3309
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3309
    functionName: radiansFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t radiansFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLengthFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3341
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3341
    functionName: charLengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doLengthFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t charLengthFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3408
      start: 3393
    functionDepth: 0
    functionLinenumber: 3393
    functionLinenumberEnd: 3408
    functionName: countScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t countScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCovertParams
    - num
    argTypes:
    - SCovertScarlarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4676
      start: 4666
    functionDepth: 0
    functionLinenumber: 4666
    functionLinenumberEnd: 4676
    functionName: freeSCovertScarlarParams
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - sclFreeParam
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void freeSCovertScarlarParams(SCovertScarlarParam *pCovertParams,
      int32_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:795,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:808,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:803,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:804,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:809,1
    - Dst: lenFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - lenFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _len_fn
    constantsTouched: []
    func_position:
      end: 814
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 814
    functionName: doLengthFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataGetData
    - lenFn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLengthFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _len_fn lenFn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3087,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3092,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3091,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3091,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3091,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3092,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3092,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3093,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3094,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3097,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3098,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3102
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3102
    functionName: randFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetDouble
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_TYPED_DATA
    - taosSeedRand
    - TMAX
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t randFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3313,1
    - Dst: doCaseConvFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3317
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3317
    functionName: lowerFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doCaseConvFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lowerFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 3346
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3346
    functionName: getTimePseudoFuncEnv
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getTimePseudoFuncEnv(SFunctionNode *UNUSED_PARAM(pFunc), SFuncExecEnv
      *pEnv) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3414,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3417,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3422,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3437,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3452,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3465,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3466,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3469,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3470,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3476,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 64
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3481
    functionName: sumScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - IS_SIGNED_NUMERIC_TYPE
    - colDataIsNull_s
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sumScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4681,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4684,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4692,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4686,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4697,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4703,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4704,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - pParams
    - numOfRows
    - numOfCols
    - resultColIndex
    - optr
    argTypes:
    - SCovertScarlarParam*
    - int32_t
    - int
    - int32_t*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 4715
      start: 4678
    functionDepth: 0
    functionLinenumber: 4678
    functionLinenumberEnd: 4715
    functionName: vectorCompareAndSelect
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - filterDoCompare
    - filterGetCompFunc
    - GET_PARAM_TYPE
    - colDataGetData
    - colDataIsNull_s
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorCompareAndSelect(SCovertScarlarParam *pParams,
      int32_t numOfRows, int numOfCols, int32_t *resultColIndex, EOperatorType optr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: degrees
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double degrees(double v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:622,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:626,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:628,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: convVarcharToNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convVarcharToNchar(char *input, char **output, int32_t
      inputLen, int32_t *outputLen, void* charsetCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:693,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:700,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:713,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:693,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:700,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:713,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:713,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:715,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 716
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 716
    functionName: trtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isspace
    - varDataVal
    - varDataSetLen
    - iswspace
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void trtrimspace(char *input, char *output, int32_t type, int32_t
      charLen, void *charsetCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:818,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:823,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:818,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:822,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:823,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:823,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:825,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:828,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:828,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:830,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:832,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:832,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:833,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:832,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:832,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 6
    argNames:
    - input
    - output
    - hasNchar
    - type
    - dataLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - bool
    - int32_t
    - VarDataLenT*
    - void*
    constantsTouched: []
    func_position:
      end: 836
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 836
    functionName: concatCopyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - varDataVal
    - taosMbsToUcs4
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t concatCopyHelper(const char *input, char *output, bool
      hasNchar, int32_t type, VarDataLenT *dataLen, void* charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3039
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3039
    functionName: atanFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t atanFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3619
      start: 3617
    functionDepth: 0
    functionLinenumber: 3617
    functionLinenumberEnd: 3619
    functionName: maxScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doMinMaxScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t maxScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4155
      start: 4153
    functionDepth: 0
    functionLinenumber: 4153
    functionLinenumberEnd: 4155
    functionName: irateScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t irateScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: radians
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double radians(double v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:635,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:641,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 645
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 645
    functionName: convNcharToVarchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosUcs4ToMbs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convNcharToVarchar(char *input, char **output, int32_t
      inputLen, int32_t *outputLen, void* charsetCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:719,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:720,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:724,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:722,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:721,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:731,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:736,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:741,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:747,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:737,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:744,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:748,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:736,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:747,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 750
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 750
    functionName: trtrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - varDataLen
    - trimHelper
    - varDataVal
    - SCL_ERR_RET
    - convBetweenNcharAndVarchar
    - varDataSetLen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t trtrim(char *input, char *remInput, char *output, int32_t
      inputType, int32_t remType, void* charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 849
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 849
    functionName: getNumOfNullEntries
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getNumOfNullEntries(SColumnInfoData *pColumnInfoData,
      int32_t numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3043
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3043
    functionName: sinFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sinFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3625,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3630,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3709,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3711,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3717,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3719,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3726,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3728,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3737,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3749,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3731,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3734,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 60
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3756
      start: 3621
    functionDepth: 0
    functionLinenumber: 3621
    functionLinenumberEnd: 3756
    functionName: avgScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - GET_PARAM_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - colDataIsNull_s
    - IS_DECIMAL_TYPE
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - decimalOp
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4159
      start: 4157
    functionDepth: 0
    functionLinenumber: 4157
    functionLinenumberEnd: 4159
    functionName: diffScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t diffScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: greatestLeastImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4791
      start: 4789
    functionDepth: 0
    functionLinenumber: 4789
    functionLinenumberEnd: 4791
    functionName: leastFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - greatestLeastImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convVarcharToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:649,1
    - Dst: convNcharToVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 6
    argNames:
    - input
    - output
    - inputLen
    - outputLen
    - wantType
    - charsetCxt
    argTypes:
    - char*
    - char**
    - int32_t
    - int32_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: convBetweenNcharAndVarchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convVarcharToNchar
    - convNcharToVarchar
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convBetweenNcharAndVarchar(char *input, char **output,
      int32_t inputLen, int32_t *outputLen, int32_t wantType, void* charsetCxt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1137,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1149,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1149,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1129,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1159,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 6
    argNames:
    - orgStr
    - delimStr
    - orgLen
    - delimLen
    - charNums
    - isNchar
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1169
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1169
    functionName: findPosBytes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isCharStart
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findPosBytes(char *orgStr, char *delimStr, int32_t
      orgLen, int32_t delimLen, int32_t charNums, bool isNchar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weekdayFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2906
    functionName: weekdayFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - weekdayFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t weekdayFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3109,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3112,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - double
    - double
    - _double_fn
    constantsTouched: []
    func_position:
      end: 3122
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3122
    functionName: decimalFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - fn
    - pow
    linkageType: ''
    returnType: double
    signature: 'static double decimalFn(double val1, double val2, _double_fn fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3366,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3368
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3368
    functionName: winStartTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t winStartTsFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: percentileScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4080
      start: 4078
    functionDepth: 0
    functionLinenumber: 4078
    functionLinenumberEnd: 4080
    functionName: apercentileScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - percentileScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:655,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:656,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:658,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:657,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:660,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:667,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:667,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:667,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:667,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:672,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:672,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:673,1
    - Dst: trimHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:677,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:685,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - input
    - remInput
    - output
    - inputType
    - remType
    - charsetCxt
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 687
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 687
    functionName: tltrim
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - varDataLen
    - trimHelper
    - varDataVal
    - SCL_ERR_RET
    - convBetweenNcharAndVarchar
    - varDataSetLen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tltrim(char *input, char *remInput, char *output, int32_t
      inputType, int32_t remType, void* charsetCxt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1192,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1193,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1196,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1212,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1213,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1227,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1232,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1236,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1245,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1254,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1260,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1254,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1192,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1220,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1220,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1199,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1220,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1220,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1231,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1236,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1236,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1236,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1237,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1246,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1246,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1265,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1181,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1192,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1189,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1183,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1193,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1212,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1240,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1240,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1240,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1240,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1255,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1246,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1260,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1192,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1197,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1214,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1198,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1222,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1226,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1227,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1241,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1257,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1254,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 130
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1268
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1268
    functionName: substrFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - GET_PARAM_TYPE
    - colDataSetVal
    - varDataLen
    - varDataSetLen
    - taosMemoryMalloc
    - IS_NULL_TYPE
    - colDataSetNULL
    - colDataGetData
    - varDataVal
    - findPosBytes
    - memcpy
    - colDataSetNNULL
    - qError
    - SCL_ERR_JRET
    - TMAX
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t substrFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: weekdayFunctionImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2910
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2910
    functionName: dayofweekFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - weekdayFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dayofweekFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3129,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3132,1
    - Dst: fn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - val1
    - val2
    - fn
    argTypes:
    - float
    - float
    - _float_fn
    constantsTouched: []
    func_position:
      end: 3142
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3142
    functionName: decimalfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - fn
    - powf
    linkageType: ''
    returnType: float
    signature: 'static float decimalfFn(float val1, float val2, _float_fn fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3371,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3373
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3373
    functionName: winEndTsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t winEndTsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4086,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4102,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4094,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4089,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4090,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4102,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4104,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4105,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4108,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4109,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4117,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4122
      start: 4082
    functionDepth: 0
    functionLinenumber: 4082
    functionLinenumberEnd: 4122
    functionName: spreadScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - SCL_ERR_RET
    - GET_TYPED_DATA
    - SET_DOUBLE_VAL
    - GET_DOUBLE_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:853,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:888,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:909,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:911,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:914,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:924,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:855,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:859,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:873,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:894,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:886,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:911,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:922,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:862,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:874,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:880,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:911,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:894,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:920,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:867,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:869,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:873,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:894,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:913,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:921,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 925
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 925
    functionName: concatFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - colDataSetNULL
    - colDataSetVal
    - SCL_RET
    - colDataIsNull_s
    - colDataSetNNULL
    - colDataGetData
    - varDataSetLen
    - SCL_ERR_JRET
    - TMAX
    - concatCopyHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t concatFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1648,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1652,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1653,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1668,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1667,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1667,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1674,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1676,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1678,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1684,1
    - Dst: isCharStart
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1738,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1721,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1713,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1700,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1728,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1645,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1675,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1677,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1679,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1691,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1694,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1698,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1699,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1718,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1744,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1698,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1727,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1697,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1647,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1650,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1674,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1676,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1678,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1686,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1687,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1691,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1692,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1697,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1743,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1703,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1744,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1699,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1693,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1722,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1634,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1649,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1651,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1658,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1675,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1660,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1667,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1677,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1679,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1687,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1693,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1735,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1741,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1748,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1727,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1698,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 161
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1750
    functionName: replaceFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - memcmp
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - varDataLen
    - colDataSetVal
    - varDataSetLen
    - getCharLen
    - colDataSetNULL
    - varDataVal
    - colDataGetData
    - memcpy
    - colDataSetNNULL
    - SCL_ERR_RET
    - SCL_ERR_JRET
    - TMAX
    - colDataIsNull_s
    - convBetweenNcharAndVarchar
    - isCharStart
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t replaceFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2446,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2453,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2449,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2450,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2449,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2454,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2457,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2460,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2462,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2471
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2471
    functionName: toUnixtimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convertStringToTimestamp
    - colDataSetNULL
    - GET_PARAM_TYPE
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_TYPED_DATA
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toUnixtimestampFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4128,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4140,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4132,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4124
    functionDepth: 0
    functionLinenumber: 4124
    functionLinenumberEnd: 4147
    functionName: nonCalcScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - colDataSetNULL
    - GET_PARAM_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nonCalcScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4738,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4747,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4763,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4764,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4774,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4739,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4743,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4753,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4754,1
    - Dst: vectorCompareAndSelect
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4764,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4769,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4774,1
    - Dst: freeSCovertScarlarParams
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4780,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4781,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4750,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4720,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4734,1
    - Dst: GET_PARAM_BYTES
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4721,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4739,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4754,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4773,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - order
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 4783
      start: 4717
    functionDepth: 0
    functionLinenumber: 4717
    functionLinenumberEnd: 4783
    functionName: greatestLeastImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - vectorConvertSingleCol
    - taosMemoryCalloc
    - colDataSetNULL
    - colDataSetVal
    - colDataGetData
    - GET_PARAM_BYTES
    - colDataSetNNULL
    - qError
    - vectorCompareAndSelect
    - freeSCovertScarlarParams
    - SCL_ERR_JRET
    - TMAX
    - setTzCharset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t greatestLeastImpl(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, EOperatorType order) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:934,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:952,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:966,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:970,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:979,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:971,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:986,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:986,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:991,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:997,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:929,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:939,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:945,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:941,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:964,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:970,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:986,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:979,1
    - Dst: concatCopyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:991,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:996,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1008,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:945,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:970,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:979,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:986,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:990,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:990,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:991,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:999,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1007,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 78
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1011
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 1011
    functionName: concatWsFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - colDataSetNNULL
    - colDataGetData
    - memset
    - varDataSetLen
    - SCL_ERR_JRET
    - TMAX
    - concatCopyHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t concatWsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1764,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1768,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1769,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1781,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1795,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1797,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1799,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1799,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1801,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1806,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1838,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1816,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1831,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1768,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1796,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1794,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1800,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1806,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1808,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1814,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1807,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1807,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1828,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1781,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1795,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1797,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1806,1
    - Dst: findPosBytes
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1816,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1825,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1826,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1834,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1825,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1768,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1773,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1775,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1781,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1794,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1796,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1782,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1805,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1805,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1814,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1834,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1806,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1840
    functionName: substrIdxFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - varDataLen
    - colDataSetVal
    - varDataSetLen
    - IS_NULL_TYPE
    - colDataSetNULL
    - varDataVal
    - colDataGetData
    - findPosBytes
    - memcpy
    - SCL_ERR_RET
    - colDataSetNNULL
    - SCL_ERR_JRET
    - TMAX
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - convBetweenNcharAndVarchar
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t substrIdxFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2486,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2501,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2505,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2510,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2498,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2514,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2479,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2494,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2498,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2504,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2498,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2485,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2490,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2499,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2500,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2512,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2474,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2489,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2495,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2503,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2511,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2473
    functionDepth: 0
    functionLinenumber: 2473
    functionLinenumberEnd: 2520
    functionName: toJsonFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - GET_PARAM_TYPE
    - varDataLen
    - colDataSetVal
    - tTagNew
    - colDataIsNull_s
    - SCL_ERR_RET
    - varDataVal
    - parseJsontoTagData
    - tTagFree
    - memcpy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toJsonFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nonCalcScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4151
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4151
    functionName: derivativeScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - nonCalcScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t derivativeScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: greatestLeastImpl
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4787
      start: 4785
    functionDepth: 0
    functionLinenumber: 4785
    functionLinenumberEnd: 4787
    functionName: greatestFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - greatestLeastImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t greatestFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2613,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2614,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2615,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - timezoneStr
    - factor
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2620
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2620
    functionName: offsetFromTz
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - strlen
    - memset
    - taosStr2Int64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t offsetFromTz(char *timezoneStr, int64_t factor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: getCharLen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t getCharLen(const unsigned char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:510,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:517,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:517,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:510,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:527,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:527,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:527,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:530,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:530,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:530,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 534
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 534
    functionName: tltrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isspace
    - varDataVal
    - varDataSetLen
    - iswspace
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void tltrimspace(char *input, char *output, int32_t type, int32_t
      charLen, void* charsetCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1033,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1034,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1037,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1050,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1041,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1020,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1022,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1037,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1037,1
    - Dst: convFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1041,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1041,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1047,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1048,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1054,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1014,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1028,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1029,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1045,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1044,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - convFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _conv_fn
    constantsTouched: []
    func_position:
      end: 1057
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1057
    functionName: doCaseConvFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosMemoryFree
    - colDataSetNULL
    - taosMemoryCalloc
    - GET_PARAM_TYPE
    - varDataLen
    - convFn
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataGetData
    - varDataVal
    - colDataSetVal
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCaseConvFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _conv_fn convFn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2572,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2586,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2588,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2599,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2598,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2598,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2599,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2590,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2599,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2606,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2581,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2578,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2605,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2571,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2581,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2582,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2587,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2588,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2593,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2590,1
    - Dst: taosTs2Char
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2598,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2600,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2608
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2608
    functionName: toCharFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - strncpy
    - taosArrayDestroy
    - colDataSetNULL
    - taosMemoryCalloc
    - varDataLen
    - taosTs2Char
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - strlen
    - varDataSetLen
    - SCL_ERR_JRET
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toCharFunction(SScalarParam* pInput, int32_t inputNum, SScalarParam*
      pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3293
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3293
    functionName: expFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t expFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sumScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4179
      start: 4177
    functionDepth: 0
    functionLinenumber: 4177
    functionLinenumberEnd: 4179
    functionName: csumScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - sumScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t csumScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4335,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4343,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4338,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4339,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4335,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4348,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4348,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4353
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4353
    functionName: stateDurationScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - varDataVal
    - SCL_ERR_RET
    - getStateOpType
    - checkStateOp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateDurationScalarFunction(SScalarParam *pInput, int32_t
      inputNum, SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4650
      start: 4648
    functionDepth: 0
    functionLinenumber: 4648
    functionLinenumberEnd: 4650
    functionName: tailScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tailScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:489,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:492,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:501,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:499,1
    - Dst: getCharLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - input
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - VarDataLenT*
    constantsTouched: []
    func_position:
      end: 504
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 504
    functionName: tcharlength
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - varDataVal
    - getCharLen
    - varDataLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tcharlength(char *input, int32_t type, VarDataLenT
      *len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:541,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:548,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:557,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:541,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:548,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:557,1
    - Dst: iswspace
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:564,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:564,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:574,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:574,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:577,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:577,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:580,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:577,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:574,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 5
    argNames:
    - input
    - output
    - type
    - charLen
    - charsetCxt
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 581
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 581
    functionName: tlrtrimspace
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - isspace
    - varDataVal
    - varDataSetLen
    - iswspace
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void tlrtrimspace(char *input, char *output, int32_t type,
      int32_t charLen, void* charsetCxt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1069,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1082,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1085,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1094,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1103,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1082,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1086,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1087,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1097,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1098,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1099,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1104,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1107,1
    - Dst: trimSpaceFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1111,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1082,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1076,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1074,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1097,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1099,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1117,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1082,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1093,1
    - Dst: trimFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1097,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1097,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1098,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1093,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1108,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1109,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1112,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - trimSpaceFn
    - trimFn
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - _trim_space_fn
    - _trim_fn
    constantsTouched: []
    func_position:
      end: 1119
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1119
    functionName: doTrimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - taosMemoryCalloc
    - colDataSetNULL
    - colDataSetVal
    - varDataLen
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataSetNNULL
    - trimFn
    - colDataGetData
    - trimSpaceFn
    - SCL_ERR_JRET
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTrimFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, _trim_space_fn trimSpaceFn, _trim_fn trimFn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2549,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2558,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2560,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2566,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2525,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2531,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2534,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2546,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2544,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2564,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2565,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2534,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2535,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2540,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2541,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2542,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2544,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2560,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2526,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2539,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2541,1
    - Dst: taosChar2Ts
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2557,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2546,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2568
    functionName: toTimestampFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - strncpy
    - taosArrayDestroy
    - colDataSetNULL
    - varDataLen
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - taosChar2Ts
    - qError
    - SCL_ERR_JRET
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toTimestampFunction(SScalarParam* pInput, int32_t inputNum,
      SScalarParam* pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doScalarFunctionUnique
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 3297
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3297
    functionName: lnFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - doScalarFunctionUnique
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lnFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4654
      start: 4652
    functionDepth: 0
    functionLinenumber: 4652
    functionLinenumberEnd: 4654
    functionName: uniqueScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uniqueScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2977
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 2977
    functionName: weekMode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t weekMode(int32_t mode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1555,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1558,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1577,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1571,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1579,1
    - Dst: convBetweenNcharAndVarchar
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1583,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1591,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1553,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1555,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1559,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1560,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1566,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1566,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1578,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1573,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1580,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1582,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1555,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1571,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1577,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1579,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1567,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1583,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1583,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1584,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1584,1
    - Dst: findPosChars
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1589,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1555,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1578,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1580,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1582,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1583,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1585,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1589,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1593,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1598
    functionName: positionFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - varDataLen
    - findPosChars
    - colDataIsNull_s
    - colDataSetNNULL
    - colDataGetData
    - varDataVal
    - SCL_ERR_RET
    - convBetweenNcharAndVarchar
    - TMAX
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t positionFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2980,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2990,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2992,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2985,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2986,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2993,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2995,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2999,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3001,1
    - Dst: calculateWeekNum
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3005,1
    - Dst: weekMode
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3005,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3006,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3001,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3004,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3004,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - pInput
    - inputNum
    - pOutput
    - prec
    - mode
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3012
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 3012
    functionName: weekFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convertStringToTimestamp
    - colDataSetNULL
    - GET_PARAM_TYPE
    - typeGetTypeModFromColInfo
    - calculateWeekNum
    - colDataIsNull_s
    - colDataGetData
    - GET_TYPED_DATA
    - SCL_ERR_RET
    - colDataSetInt64
    - IS_VAR_DATA_TYPE
    - taosTs2Tm
    - weekMode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t weekFunctionImpl(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput, int64_t prec, int32_t mode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1603,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1607,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1603,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1604,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1607,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1611,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1611,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1615,1
    - Dst: doTrimFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1620
    functionName: trimFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - GET_PARAM_TYPE
    - typeGetTypeModFromColInfo
    - SCL_ERR_RET
    - GET_TYPED_DATA
    - doTrimFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t trimFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1273,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1281,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1280,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1286,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1305,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1285,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1295,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1294,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1274,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1295,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1299,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1276,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1284,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1289,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1296,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1297,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:1295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1307
    functionName: md5Function
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - colDataSetNULL
    - varDataLen
    - colDataSetVal
    - taosMemoryRealloc
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - qError
    - taosCreateMD5Hash
    - SCL_ERR_RET
    - varDataSetLen
    - TMAX
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t md5Function(SScalarParam* pInput, int32_t inputNum, SScalarParam*
      pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2849,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2849,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2855,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2851,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2855,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2855,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2858,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2858,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2858,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2860,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2864
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2864
    functionName: timezoneFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - varDataVal
    - taosHashGet
    - SCL_ERR_RET
    - tstrncpy
    - strlen
    - varDataSetLen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t timezoneFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - double
    - double
    constantsTouched: []
    func_position:
      end: 3146
      start: 3144
    functionDepth: 0
    functionLinenumber: 3144
    functionLinenumberEnd: 3146
    functionName: roundFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalFn
    linkageType: ''
    returnType: double
    signature: 'static double roundFn(double val1, double val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4642
      start: 4640
    functionDepth: 0
    functionLinenumber: 4640
    functionLinenumberEnd: 4642
    functionName: firstLastScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstLastScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2867,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2871,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2875,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2872,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2871,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2876,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2880,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2882,1
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2883,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2885,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2889,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2891,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2894,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2894,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2896,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:2889,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - pInput
    - inputNum
    - pOutput
    - startFromZero
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    - bool
    constantsTouched: []
    func_position:
      end: 2902
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2902
    functionName: weekdayFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - convertStringToTimestamp
    - colDataSetNULL
    - GET_PARAM_TYPE
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - colDataGetData
    - GET_TYPED_DATA
    - TAOS_CHECK_RETURN
    - IS_VAR_DATA_TYPE
    - taosTs2Tm
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t weekdayFunctionImpl(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput, bool startFromZero) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decimalfFn
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:3149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - float
    - float
    constantsTouched: []
    func_position:
      end: 3150
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3150
    functionName: roundfFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - decimalfFn
    linkageType: ''
    returnType: float
    signature: 'static float roundfFn(float val1, float val2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: selectScalarFunction
      Src: /src/tdengine/source/libs/scalar/src/sclfunc.c:4645,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 4646
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4646
    functionName: sampleScalarFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclfunc.c
    functionUses: []
    functionsReached:
    - selectScalarFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sampleScalarFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1057,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1061,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - info
    - type
    - v
    - dataLen
    - sameBuf
    argTypes:
    - SFilterInfo*
    - int32_t
    - void*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1069
    functionName: filterGetFiledByData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetFiledByData(SFilterInfo *info, int32_t type, void
      *v, int32_t dataLen, bool *sameBuf) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1704,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1708,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1710,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1753,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1728,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1741,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1763,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1788,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1699,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1718,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1726,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1749,1
    - Dst: fltAddGroupUnitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1767,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1781,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1706,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1720,1
    - Dst: filterDetachCnfGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1724,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1761,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1774,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1781,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1787,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1696,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1714,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1715,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1737,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1724,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1736,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1767,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1776,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1789,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1794
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1794
    functionName: fltTreeToGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    - fltError
    - taosArrayDestroy
    - taosArrayAddAll
    - fltAddGroupUnitFromNode
    - filterDetachCnfGroups
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - FLT_ERR_RET
    - taosArrayInit
    - FLT_ERR_JRET
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes fltTreeToGroup(SNode *pNode, void *pContext) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1882,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1918,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1923,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1915,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1919,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1930,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1934,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1944,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1945,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1961,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1997,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2024,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2038,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2043,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2041,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2047,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2050,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2004,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1965,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2028,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2000,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1877,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1890,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1903,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1922,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1910,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1937,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1948,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1951,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1952,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1955,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2002,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2021,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2007,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2044,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1996,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1972,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2018,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2053,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1887,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1901,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1907,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1930,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1941,1
    - Dst: FILTER_UNIT_RIGHT2_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1949,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1988,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2006,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2008,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2021,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1969,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2023,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2014,1
    - Dst: fltConverToStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2004,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1883,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1894,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1895,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1925,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1926,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1955,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1958,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1968,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1975,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1983,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2001,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2040,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2046,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2017,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2011,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2056,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2013,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2019,1
    - Dst: strncat
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2025,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1985,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 198
    argCount: 3
    argNames:
    - info
    - msg
    - options
    argTypes:
    - SFilterInfo*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2061
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 2061
    functionName: filterDumpInfoToString
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltConverToStr
    - nodeType
    - fltDebug
    - tsnprintf
    - FILTER_UNIT_OPTR
    - varDataLen
    - operatorTypeStr
    - strncat
    - FILTER_GET_FLAG
    - FILTER_UNIT_RIGHT2_FIELD
    - qDebug
    - FILTER_UNIT_DATA_TYPE
    - FILTER_UNIT_RIGHT_FIELD
    - IS_VAR_DATA_TYPE
    - FLT_ERR_RET
    - TMIN
    - FILTER_UNIT_LEFT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterDumpInfoToString(SFilterInfo *info, const char *msg,
      int32_t options) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2975,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2985,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3008,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2996,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3030,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3042,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2955,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2962,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2985,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2993,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2995,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3030,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3034,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2956,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2964,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2971,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2983,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3007,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3003,1
    - Dst: filterAddUnitFromUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3005,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3016,1
    - Dst: filterAddGroupUnitFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3019,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3024,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3006,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3001,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2998,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3015,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3020,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3025,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3032,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3038,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3040,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3044,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    constantsTouched: []
    func_position:
      end: 3045
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 3045
    functionName: filterRewrite
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - filterAddUnitToGroup
    - fltError
    - filterAddUnitFromUnit
    - filterAddGroupUnitFromCtx
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayDestroyEx
    - FLT_RET
    - filterFreeInfo
    - FLT_ERR_JRET
    - filterInitUnitsFields
    - filterConvertGroupFromArray
    - memset
    - filterFreeGroup
    - FILTER_NO_MERGE_DATA_TYPE
    - FILTER_GET_FLAG
    - qDebug
    - FILTER_SET_FLAG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterRewrite(SFilterInfo *info, SFilterGroupCtx **gRes, int32_t
      gResNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3505
      start: 3501
    functionDepth: 0
    functionLinenumber: 3501
    functionLinenumberEnd: 3505
    functionName: filterExecuteImplAll
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterExecuteImplAll(void *info, int32_t
      numOfRows, SColumnInfoData *p, SColumnDataAgg *statis, int16_t numOfCols, int32_t
      *numOfQualified, bool *all) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fltSclCompareWithUInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4028,1
    - Dst: fltSclCompareWithInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4031,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4038,1
    - Dst: fltSclCompareWithFloat64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4034,1
    - Dst: fltSclCompareWithDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4042,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4045,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    constantsTouched: []
    func_position:
      end: 4050
      start: 4015
    functionDepth: 0
    functionLinenumber: 4015
    functionLinenumberEnd: 4050
    functionName: fltSclCompareDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclCompareWithUInt64
    - fltSclCompareWithInt64
    - qError
    - fltSclCompareWithFloat64
    - fltSclCompareWithDecimal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclCompareDatum(SFltSclDatum *val1, SFltSclDatum *val2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5366,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5369,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5371,1
    - Dst: fltSclCollectOperators
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5371,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5372,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5374,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5376,1
    - Dst: fltSclProcessCNF
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5376,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5381,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5382,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5387,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5394,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5397,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5391,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5392,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - pInfo
    - pNode
    - pStat
    argTypes:
    - SFilterInfo*
    - SNode**
    - SFltTreeStat*
    constantsTouched: []
    func_position:
      end: 5399
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5399
    functionName: fltOptimizeNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - fltSclProcessCNF
    - nodesDestroyNode
    - taosArrayGetSize
    - fltSclCollectOperators
    - FLT_ERR_RET
    - taosArrayInit
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltOptimizeNodes(SFilterInfo *pInfo, SNode **pNode, SFltTreeStat
      *pStat) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1801,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1813,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1817,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1809,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1805,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1822,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1826,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1826,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1830,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1830,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1843,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1853,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1861,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1849,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1857,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 6
    argNames:
    - str
    - strMaxLen
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int32_t
    - int
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1872
    functionName: fltConverToStr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - GET_FLOAT_VAL
    - memcpy
    - GET_DOUBLE_VAL
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltConverToStr(char *str, int32_t strMaxLen, int type, void
      *buf, int32_t bufSize, int32_t *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2073,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2075,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2082
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2082
    functionName: filterFreeColInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterFreeRangeCtx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void filterFreeColInfo(void *data) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3074,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3080,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3108,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3113,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3124,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3136,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3073,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3059,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3087,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3115,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3120,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3107,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3146,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3052,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3054,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3078,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3093,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3113,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3119,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3124,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3129,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3090,1
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3114,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3126,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3130,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t
    constantsTouched: []
    func_position:
      end: 3150
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3150
    functionName: filterGenerateColRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_NO_MERGE_DATA_TYPE
    - fltError
    - memmove
    - filterSourceRangeFromCtx
    - taosMemoryCalloc
    - FILTER_GET_COL_FIELD
    - filterFreeRangeCtx
    - filterInitRangeCtx
    - SCL_ERR_JRET
    - FLT_CHK_JMP
    - taosMemoryFreeClear
    - FILTER_GET_COL_FIELD_ID
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGenerateColRange(SFilterInfo *info, SFilterGroupCtx
      **gRes, int32_t gResNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3511
      start: 3507
    functionDepth: 0
    functionLinenumber: 3507
    functionLinenumberEnd: 3511
    functionName: filterExecuteImplEmpty
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterExecuteImplEmpty(void *info, int32_t
      numOfRows, SColumnInfoData *p, SColumnDataAgg *statis, int16_t numOfCols, int32_t
      *numOfQualified, bool *all) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fltSclCompareDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4054,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - pt1
    - pt2
    argTypes:
    - SFltSclPoint*
    - SFltSclPoint*
    constantsTouched: []
    func_position:
      end: 4067
      start: 4052
    functionDepth: 0
    functionLinenumber: 4052
    functionLinenumberEnd: 4067
    functionName: fltSclLessPoint
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclCompareDatum
    linkageType: ''
    returnType: bool
    signature: 'bool fltSclLessPoint(SFltSclPoint *pt1, SFltSclPoint *pt2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5406,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 5417
      start: 5401
    functionDepth: 0
    functionLinenumber: 5401
    functionLinenumberEnd: 5417
    functionName: fltGetDataFromColId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltGetDataFromColId(void *param, int32_t id, void **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:50,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: filterRangeCompee
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompee(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:513,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - ra
    - r
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - SFilterRangeNode**
    constantsTouched: []
    func_position:
      end: 522
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 522
    functionName: filterNewRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - FILTER_COPY_RA
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterNewRange(SFilterRangeCtx *ctx, SFilterRange
      *ra, SFilterRangeNode **r) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5422,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5428,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5424,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5423,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - param
    - id
    - data
    argTypes:
    - void*
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 5435
      start: 5419
    functionDepth: 0
    functionLinenumber: 5419
    functionLinenumberEnd: 5435
    functionName: fltGetDataFromSlotId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - fltError
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltGetDataFromSlotId(void *param, int32_t id, void **data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSetColFieldDataImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 5447
      start: 5445
    functionDepth: 0
    functionLinenumber: 5445
    functionLinenumberEnd: 5447
    functionName: filterSetDataFromColId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSetColFieldDataImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterSetDataFromColId(SFilterInfo *info, void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:53,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:53,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: filterRangeCompei
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompei(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:528,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:532,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:540,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - type
    - options
    - ctx
    argTypes:
    - int32_t
    - int32_t
    - SFilterRangeCtx**
    constantsTouched: []
    func_position:
      end: 545
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: filterInitRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - getComparFunc
    - taosMemoryFree
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterInitRangeCtx(int32_t type, int32_t options, SFilterRangeCtx
      **ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fltSetColFieldDataImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - info
    - param
    argTypes:
    - SFilterInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 5443
      start: 5437
    functionDepth: 0
    functionLinenumber: 5437
    functionLinenumberEnd: 5443
    functionName: filterSetDataFromSlotId
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSetColFieldDataImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterSetDataFromSlotId(SFilterInfo *info, void *param) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5457,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5458,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5465,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5464,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5462,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5476,1
    - Dst: fltReviseNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5476,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5482,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5485,1
    - Dst: fltInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5485,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5488,1
    - Dst: fltOptimizeNodes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5488,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5497,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5495,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - pNode
    - pInfo
    - options
    argTypes:
    - SNode*
    - SFilterInfo**
    - uint32_t
    constantsTouched: []
    func_position:
      end: 5498
      start: 5449
    functionDepth: 0
    functionLinenumber: 5449
    functionLinenumberEnd: 5498
    functionName: filterInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltError
    - fltDebug
    - taosMemoryCalloc
    - fltReviseNodes
    - fltOptimizeNodes
    - FLT_RET
    - FLT_ERR_RET
    - fltInitFromNode
    - filterFreeInfo
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterInitFromNode(SNode *pNode, SFilterInfo **pInfo, uint32_t
      options) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1097,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1107,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1115,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1084,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1112,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1119,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1126,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1117,1
    - Dst: filterGetFiledByDesc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1083,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1098,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1131,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1121,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1134,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1141,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1094,1
    - Dst: filterGetFiledByData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1085,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1114,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1139,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1127,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1129,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 8
    argNames:
    - info
    - desc
    - data
    - type
    - fid
    - dataLen
    - freeIfExists
    - srcFlag
    argTypes:
    - SFilterInfo*
    - void*
    - void**
    - int32_t
    - SFilterFieldId*
    - int32_t
    - bool
    - int16_t*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1149
    functionName: filterAddField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - fltError
    - FILTER_GET_FLAG
    - taosMemoryRealloc
    - taosGetDefaultHashFunction
    - taosHashPut
    - filterGetFiledByDesc
    - FILTER_SET_FLAG
    - filterGetFiledByData
    - taosMemoryFreeClear
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddField(SFilterInfo *info, void *desc, void **data,
      int32_t type, SFilterFieldId *fid, int32_t dataLen, bool freeIfExists, int16_t
      *srcFlag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2834,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2859,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2859,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2856,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2857,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2861,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2865,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2880,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2881,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2883,1
    - Dst: filterMergeTwoGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2883,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2889,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2885,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2917,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2920
      start: 2829
    functionDepth: 0
    functionLinenumber: 2829
    functionLinenumberEnd: 2920
    functionName: filterMergeGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosSort
    - fltError
    - FILTER_SET_FLAG
    - memmove
    - FLT_CHK_JMP
    - filterMergeTwoGroups
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterMergeGroups(SFilterInfo *info, SFilterGroupCtx **gRes,
      int32_t *gResNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1152,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1154,1
    - Dst: FILTER_GET_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - info
    - field
    - fid
    argTypes:
    - SFilterInfo*
    - SFilterField*
    - SFilterFieldId*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: filterAddColFieldFromField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddField
    - FILTER_SET_FLAG
    - FILTER_GET_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterAddColFieldFromField(SFilterInfo
      *info, SFilterField *field, SFilterFieldId *fid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5280,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5297,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5296,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5297,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 5301
      start: 5279
    functionDepth: 0
    functionLinenumber: 5279
    functionLinenumberEnd: 5301
    functionName: fltSclIsCollectableNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool fltSclIsCollectableNode(SNode *pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1161,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1166,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1165,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1181,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - info
    - node
    - fid
    argTypes:
    - SFilterInfo*
    - SNode*
    - SFilterFieldId*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1185
    functionName: filterAddFieldFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddField
    - nodeType
    - FLT_ERR_RET
    - fltDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddFieldFromNode(SFilterInfo *info, SNode *node, SFilterFieldId
      *fid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2923,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2936,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2938,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2929,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2931,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2940,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - info
    - group
    argTypes:
    - SFilterInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2952
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2952
    functionName: filterConvertGroupFromArray
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosArrayGet
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterConvertGroupFromArray(SFilterInfo *info, SArray *group) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fltSclIsCollectableNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5304,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5317,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5311,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5313,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5315,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5319,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5320,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5327,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5328,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5333
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5333
    functionName: fltSclCollectOperatorFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - IS_NUMERIC_TYPE
    - nodesDestroyNode
    - fltSclIsCollectableNode
    - taosArrayPush
    - nodesCloneNode
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclCollectOperatorFromNode(SNode *pNode, SArray
      *sclOpList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:587,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:590,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:594,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:588,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:595,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:597,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - cur
    - ra
    - notNull
    argTypes:
    - SFilterRangeCtx*
    - SFilterRange*
    - bool*
    constantsTouched: []
    func_position:
      end: 608
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 608
    functionName: filterConvertRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_SET_FLAG
    - FILTER_GET_FLAG
    - getDataMin
    - getDataMax
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterConvertRange(SFilterRangeCtx *cur, SFilterRange *ra,
      bool *notNull) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterGetRangeCompFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 3163
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3163
    functionName: filterPostProcessRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterGetRangeCompFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterPostProcessRange(SFilterInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: filterRangeCompGi
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompGi(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_AND_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:614,1
    - Dst: SET_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:620,1
    - Dst: CHK_OR_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:621,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:616,1
    - Dst: CHK_AND_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:615,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - h
    - raOptr
    - optr
    - empty
    - all
    argTypes:
    - void*
    - uint8_t
    - int32_t
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 628
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 628
    functionName: filterAddRangeOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - SET_AND_OPTR
    - CHK_OR_OPTR
    - FILTER_SET_FLAG
    - CHK_AND_OPTR
    - SET_OR_OPTR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddRangeOptr(void *h, uint8_t raOptr, int32_t optr,
      bool *empty, bool *all) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3166,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3167,1
    - Dst: filterGetCompFuncIdx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3176,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3168,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3176,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3176,1
    - Dst: filterGetRangeCompFuncFromOptrs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3177,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3178,1
    - Dst: FILTER_UNIT_COL_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3180,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3183,1
    - Dst: FILTER_GET_VAL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3188,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3194,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3188,1
    - Dst: FILTER_UNIT_COL_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 3198
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3198
    functionName: filterGenerateComInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - FILTER_UNIT_OPTR
    - FILTER_GET_VAL_FIELD_DATA
    - FILTER_UNIT_COL_SIZE
    - filterGetCompFuncIdx
    - FILTER_GET_FIELD
    - FILTER_UNIT_COL_ID
    - FILTER_UNIT_DATA_TYPE
    - FLT_ERR_RET
    - filterGetRangeCompFuncFromOptrs
    - FILTER_UNIT_VAL_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGenerateComInfo(SFilterInfo *info) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5774,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5788,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5781,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5781,1
    - Dst: partitionLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5776,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5804,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    argCount: 5
    argNames:
    - pCondition
    - pPrimaryKeyCond
    - pTagIndexCond
    - pTagCond
    - pOtherCond
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5833
      start: 5772
    functionDepth: 0
    functionLinenumber: 5772
    functionLinenumberEnd: 5833
    functionName: filterPartitionCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodeType
    - partitionLogicCond
    - nodesCloneNode
    - filterClassifyCondition
    - FLT_ERR_RET
    - filterIsMultiTableColsCond
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterPartitionCond(SNode **pCondition, SNode **pPrimaryKeyCond,
      SNode **pTagIndexCond, SNode **pTagCond, SNode **pOtherCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - info
    - optr
    - right
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1434
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1434
    functionName: filterAddUnitRight
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnitRight(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *right, uint32_t uidx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2213,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2221,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2214,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2215,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2235,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2255,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2276,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2281,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2283,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2292,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2298,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2303,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2224,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2242,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2248,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2256,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2258,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2262,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2264,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2282,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2288,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2289,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2304,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2228,1
    - Dst: FILTER_UNIT_DATA_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2229,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2245,1
    - Dst: assignVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2277,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2281,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2298,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2298,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2223,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2242,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2244,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2268,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2273,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2275,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2288,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2300,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2298,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2285,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2309
    functionName: fltInitValFieldData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - fltError
    - taosMemoryFree
    - FILTER_UNIT_DATA_PRECISION
    - taosMemoryCalloc
    - taosUcs4ToMbs
    - varDataLen
    - colDataDestroy
    - varDataSetLen
    - FILTER_UNIT_RIGHT_FIELD
    - IS_VAR_DATA_TYPE
    - varDataVal
    - scalarGenerateSetFromList
    - nodesGetValueFromNode
    - memcpy
    - qError
    - varDataCopy
    - TMAX
    - scalarGetOperatorParamNum
    - assignVal
    - FILTER_GET_FLAG
    - FILTER_UNIT_DATA_TYPE
    - FILTER_SET_FLAG
    - FLT_ERR_RET
    - sclConvertValueToSclParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltInitValFieldData(SFilterInfo *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Val
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3994,1
    - Dst: compareDoubleUint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3998,1
    - Dst: compareInt64Uint64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3996,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4002,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    constantsTouched: []
    func_position:
      end: 4005
      start: 3990
    functionDepth: 0
    functionLinenumber: 3990
    functionLinenumberEnd: 4005
    functionName: fltSclCompareWithUInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - compareInt64Uint64
    - compareDoubleUint64
    - compareUint64Val
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclCompareWithUInt64(SFltSclDatum *val1, SFltSclDatum *val2) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4201,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4229,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4223,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4234,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4228,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4241,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4254,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4258,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 45
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 4259
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4259
    functionName: fltSclBuildDecimalDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosStr2Double
    - convertToDecimal
    - FLT_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclBuildDecimalDatumFromValueNode(SFltSclDatum*
      datum, SColumnNode* pColNode, SValueNode* valNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4741,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4741,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4752,1
    - Dst: FILTER_GET_COL_FIELD_SIZE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4751,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4754,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4762,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4771,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4767,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4776,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4759,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4771,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4771,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4786,1
    - Dst: FILTER_GET_COL_FIELD_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4758,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4761,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4773,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4786,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4747,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4771,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4768,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - info
    - rows
    - gotNchar
    argTypes:
    - SFilterInfo*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 4790
      start: 4740
    functionDepth: 0
    functionLinenumber: 4740
    functionLinenumberEnd: 4790
    functionName: filterConverNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - FILTER_EMPTY_RES
    - taosMemoryMalloc
    - FILTER_GET_COL_FIELD_DATA
    - filterUpdateComUnits
    - varDataLen
    - FILTER_GET_COL_FIELD_TYPE
    - varDataVal
    - qError
    - FILTER_ALL_RES
    - taosMbsToUcs4
    - varDataCopy
    - FILTER_GET_COL_FIELD_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterConverNcharColumns(SFilterInfo *info, int32_t rows,
      bool *gotNchar) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5510,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5510,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5513,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5515,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5517,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5518,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5519,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5522,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5523,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5527,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5543,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5544,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5572,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5548,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 6
    argNames:
    - info
    - pSrc
    - p
    - statis
    - numOfCols
    - pResultStatus
    argTypes:
    - SFilterInfo*
    - SSDataBlock*
    - SColumnInfoData**
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 5575
      start: 5500
    functionDepth: 0
    functionLinenumber: 5500
    functionLinenumberEnd: 5575
    functionName: filterExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - scalarCalculate
    - sclCreateColumnInfoData
    - fltError
    - taosArrayDestroy
    - sclFreeParam
    - taosArrayPush
    - taosArrayInit
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterExecute(SFilterInfo *info, SSDataBlock *pSrc, SColumnInfoData
      **p, SColumnDataAgg *statis, int16_t numOfCols, int32_t *pResultStatus) '
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1450,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1454,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1498,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1521,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1547,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1530,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1551,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1656,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1668,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1631,1
    - Dst: filterAddColFieldFromField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1443,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1480,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1503,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1510,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1580,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1593,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1604,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1614,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1655,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1665,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1522,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1505,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1488,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1502,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1504,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1587,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1606,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1638,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1662,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1455,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1486,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1606,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1632,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1663,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1539,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1533,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1612,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1634,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1659,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1669,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1671,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1638,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1514,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1472,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1513,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1516,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1548,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1569,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1650,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1669,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1625,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1657,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1512,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1454,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1492,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1563,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1572,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1585,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1626,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1627,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1629,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1668,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1680,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1531,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1503,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1452,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1461,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1466,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1489,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1492,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1505,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1523,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1619,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1657,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1481,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1504,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1536,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1584,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1595,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1641,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1676,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1636,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1445,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1465,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1497,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1535,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1519,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1539,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1609,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1616,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1618,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1653,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1667,1
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1521,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1488,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1518,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1570,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1578,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1586,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1634,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1657,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1513,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1495,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1543,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1486,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1549,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1545,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1551,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1582,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1585,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1669,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1474,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1466,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1537,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1607,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1619,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1626,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1642,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1651,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1675,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1659,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1500,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1525,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1565,1
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1611,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1621,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1632,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1679,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1635,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1656,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1671,1
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1441,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1463,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1455,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1487,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1493,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1536,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1542,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1571,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1584,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1617,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1519,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1548,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1508,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1443,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1445,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1465,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1569,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1570,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1618,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1623,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 255
    argCount: 7
    argNames:
    - dst
    - src
    - ctx
    - cidx
    - g
    - optr
    - res
    argTypes:
    - SFilterInfo*
    - SFilterInfo*
    - SFilterRangeCtx*
    - uint32_t
    - SFilterGroup*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1689
    functionName: filterAddGroupUnitFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddUnitToGroup
    - fltError
    - filterAddUnit
    - func
    - taosMemoryMalloc
    - filterAddField
    - getComparFunc
    - FILTER_GET_FLAG
    - FILTER_GET_COL_FIELD
    - FILTER_GET_COL_FIELD_TYPE
    - FILTER_GET_FIELD
    - memset
    - filterAddUnitImpl
    - filterAddColFieldFromField
    - taosArrayPush
    - SIMPLE_COPY_VALUES
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddGroupUnitFromCtx(SFilterInfo *dst, SFilterInfo *src,
      SFilterRangeCtx *ctx, uint32_t cidx, SFilterGroup *g, int32_t optr, SArray *res) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2312,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2353,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - func
    - optr
    - left
    - right
    argTypes:
    - __compar_fn_t
    - uint8_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2358
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2358
    functionName: filterDoCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltError
    - func
    linkageType: ''
    returnType: bool
    signature: 'bool filterDoCompare(__compar_fn_t func, uint8_t optr, void *left,
      void *right) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4008,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4009,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4011,1
    - Dst: decimalCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4010,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - pData1
    - pType1
    - pData2
    - pType2
    argTypes:
    - void*
    - SDataType*
    - void*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 4013
      start: 4007
    functionDepth: 0
    functionLinenumber: 4007
    functionLinenumberEnd: 4013
    functionName: fltSclCompareWithDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - decimalCalcTypeMod
    - decimalCompare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclCompareWithDecimal(void* pData1, const SDataType* pType1,
      void* pData2, const SDataType* pType2) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4262,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4305,1
    - Dst: fltSclBuildDecimalDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4263,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 3
    argNames:
    - datum
    - pColNode
    - valNode
    argTypes:
    - SFltSclDatum*
    - SColumnNode*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 4311
      start: 4261
    functionDepth: 0
    functionLinenumber: 4261
    functionLinenumberEnd: 4311
    functionName: fltSclBuildDatumFromValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - fltSclBuildDecimalDatumFromValueNode
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclBuildDatumFromValueNode(SFltSclDatum *datum, SColumnNode*
      pColNode, SValueNode *valNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4795,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 4802
      start: 4792
    functionDepth: 0
    functionLinenumber: 4792
    functionLinenumberEnd: 4802
    functionName: filterFreeNcharColumns
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - FILTER_GET_COL_FIELD_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterFreeNcharColumns(SFilterInfo *info) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:638,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:651,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:652,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:657,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:712,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:721,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:722,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:740,1
    - Dst: filterConvertRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:755,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:634,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:637,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:636,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:665,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:672,1
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:706,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:761,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:747,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:690,1
    - Dst: INSERT_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:692,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:700,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:711,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:745,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:755,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:738,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:635,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:666,1
    - Dst: FILTER_GREATER
      Src: /src/tdengine/source/libs/scalar/src/filter.c:671,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:659,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:759,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:759,1
    - Dst: FREE_FROM_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:758,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 114
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    constantsTouched: []
    func_position:
      end: 767
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 767
    functionName: filterAddRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FREE_FROM_RANGE
    - FLT_ERR_RET
    - APPEND_RANGE
    - FILTER_GET_FLAG
    - INSERT_RANGE
    - filterConvertRange
    - filterAddRangeOptr
    - SIMPLE_COPY_VALUES
    - FILTER_SET_FLAG
    - FILTER_GREATER
    - FREE_RANGE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddRangeImpl(void *h, SFilterRange *ra, int32_t optr) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1189,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1195,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1192,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1212,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1217,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1239,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1247,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1252,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1260,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1194,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1233,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1234,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1235,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1246,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1200,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1248,1
    - Dst: FILTER_GET_COL_FIELD_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1253,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1259,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1262,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1191,1
    - Dst: FLT_PACKAGE_UNIT_HASH_KEY
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1199,1
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1241,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1241,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1257,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1261,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 7
    argNames:
    - info
    - optr
    - left
    - right
    - optr2
    - right2
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - SFilterFieldId*
    - uint8_t
    - SFilterFieldId*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1270
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1270
    functionName: filterAddUnitImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - fltError
    - operatorTypeStr
    - FILTER_GET_FLAG
    - taosMemoryRealloc
    - FILTER_GET_COL_FIELD_TYPE
    - taosHashGet
    - scalarGetOperatorParamNum
    - FLT_PACKAGE_UNIT_HASH_KEY
    - memset
    - FILTER_GET_COL_FIELD_PRECISION
    - FILTER_UNIT_RIGHT_FIELD
    - taosHashPut
    - taosGetDefaultHashFunction
    - FILTER_UNIT_LEFT_FIELD
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnitImpl(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *left, SFilterFieldId *right, uint8_t optr2, SFilterFieldId *right2, uint32_t
      *uidx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1308,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1313,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1354,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1366,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1382,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1384,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1316,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1325,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1353,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1379,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1382,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1386,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1307,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1308,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1342,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1353,1
    - Dst: filterAddUnitToGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1364,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1369,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1370,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1384,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1388,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1389,1
    - Dst: filterAddFieldFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1307,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1329,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1348,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1359,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1380,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1386,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 72
    argCount: 4
    argNames:
    - pContext
    - info
    - tree
    - group
    argTypes:
    - void*
    - SFilterInfo*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1394
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1394
    functionName: fltAddGroupUnitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddUnitToGroup
    - nodesGetValueFromNode
    - filterAddUnit
    - taosMemoryFree
    - taosMemoryCalloc
    - filterAddField
    - colDataDestroy
    - FILTER_GET_COL_FIELD_TYPE
    - FILTER_GET_FIELD
    - filterAddFieldFromNode
    - FOREACH
    - memcpy
    - taosArrayPush
    - IS_VAR_DATA_TYPE
    - FLT_ERR_RET
    - filterFreeGroup
    - sclConvertValueToSclParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltAddGroupUnitFromNode(void *pContext, SFilterInfo *info,
      SNode *tree, SArray *group) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2090
    functionName: filterFreeColCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterFreeRangeCtx
    linkageType: ''
    returnType: void
    signature: 'void filterFreeColCtx(void *data) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4351,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 18
    argCount: 3
    argNames:
    - datum
    - type
    - val
    argTypes:
    - SFltSclDatum*
    - uint8_t
    - void*
    constantsTouched: []
    func_position:
      end: 4357
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4357
    functionName: fltSclBuildDatumFromBlockSmaValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclBuildDatumFromBlockSmaValue(SFltSclDatum *datum, uint8_t
      type, void* val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:773,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:774,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:774,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:778,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:779,1
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:779,1
    - Dst: filterAddRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - h
    - ra
    - optr
    argTypes:
    - void*
    - SFilterRange*
    - int32_t
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: filterAddRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddRangeImpl
    - FILTER_GET_FLAG
    - getDataMax
    - SIMPLE_COPY_VALUES
    - getDataMin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddRange(void *h, SFilterRange *ra, int32_t optr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filterAddUnitImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - info
    - optr
    - left
    - right
    - uidx
    argTypes:
    - SFilterInfo*
    - uint8_t
    - SFilterFieldId*
    - SFilterFieldId*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1274
    functionName: filterAddUnit
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddUnitImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnit(SFilterInfo *info, uint8_t optr, SFilterFieldId
      *left, SFilterFieldId *right, uint32_t *uidx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1401,1
    - Dst: FILTER_UNIT_COL_DESC
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1401,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1408,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1410,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1419,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1414,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1416,1
    - Dst: filterAddUnit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1425,1
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1402,1
    - Dst: FILTER_UNIT_RIGHT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1406,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1416,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1398,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1401,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1410,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1416,1
    - Dst: filterAddField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1419,1
    - Dst: FILTER_GET_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1413,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1425,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1405,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - dst
    - src
    - u
    - uidx
    argTypes:
    - SFilterInfo*
    - SFilterInfo*
    - SFilterUnit*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1426
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1426
    functionName: filterAddUnitFromUnit
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - FILTER_UNIT_OPTR
    - filterAddUnit
    - filterAddField
    - FILTER_UNIT_COL_DESC
    - FILTER_SET_FLAG
    - FILTER_GET_FIELD
    - FILTER_UNIT_DATA_TYPE
    - FILTER_UNIT_RIGHT_FIELD
    - IS_VAR_DATA_TYPE
    - FLT_ERR_RET
    - FILTER_UNIT_LEFT_FIELD
    - FILTER_UNIT_VAL_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnitFromUnit(SFilterInfo *dst, SFilterInfo *src,
      SFilterUnit *u, uint32_t *uidx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2097,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2103,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2110,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - gRes
    argTypes:
    - SFilterGroupCtx*
    constantsTouched: []
    func_position:
      end: 2112
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2112
    functionName: filterFreeGroupCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterFreeColInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void filterFreeGroupCtx(SFilterGroupCtx *gRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4365,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4377,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4368,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4369,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4378,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4380,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4381,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4387,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4387,1
    - Dst: COL_AGG_GET_MAX_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4391,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4393,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4397,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4396,1
    - Dst: fltSclBuildDatumFromBlockSmaValue
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4391,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4391,1
    - Dst: COL_AGG_GET_MIN_PTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4387,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - colRange
    - pAgg
    - numOfRows
    - points
    argTypes:
    - SFltSclColumnRange*
    - SColumnDataAgg*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 4400
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4400
    functionName: fltSclBuildRangeFromBlockSma
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - COL_AGG_GET_MAX_PTR
    - taosArrayPush
    - fltSclBuildDatumFromBlockSmaValue
    - FLT_ERR_RET
    - COL_AGG_GET_MIN_PTR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclBuildRangeFromBlockSma(SFltSclColumnRange *colRange,
      SColumnDataAgg *pAgg, int32_t numOfRows, SArray *points) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3419,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3426,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3437,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 5
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    constantsTouched: []
    func_position:
      end: 3462
      start: 3402
    functionDepth: 0
    functionLinenumber: 3402
    functionLinenumberEnd: 3462
    functionName: filterExecuteBasedOnStatisImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - colDataGetData
    - filterDoCompare
    linkageType: ''
    returnType: bool
    signature: 'bool filterExecuteBasedOnStatisImpl(void *pinfo, int32_t numOfRows,
      SColumnInfoData *pRes, SColumnDataAgg *statis, int16_t numOfCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterGetCompFuncIdx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - func
    - type
    - optr
    argTypes:
    - __compar_fn_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: filterGetCompFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterGetCompFuncIdx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetCompFunc(__compar_fn_t *func, int32_t type, int32_t
      optr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5239,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5243,1
    - Dst: fltSclGetOrCreateColumnRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5246,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5241,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5247,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5249,1
    - Dst: fltSclBuildRangePoints
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5251,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5253,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5254,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5257,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5261,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5261,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5259,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5269,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5262,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5256,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - pInfo
    - sclOpListCNF
    - colRangeList
    argTypes:
    - SFilterInfo*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5277
      start: 5237
    functionDepth: 0
    functionLinenumber: 5237
    functionLinenumberEnd: 5277
    functionName: fltSclProcessCNF
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - fltSclGetOrCreateColumnRange
    - taosArrayGet
    - taosArrayDestroy
    - fltSclIntersect
    - fltSclBuildRangePoints
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclProcessCNF(SFilterInfo *pInfo, SArray *sclOpListCNF,
      SArray *colRangeList) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:390,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:390,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:398,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:430,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:446,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:430,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:446,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:406,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:406,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:438,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:454,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:454,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:438,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:398,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:414,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:414,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:462,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:462,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:422,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:422,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 3
    argNames:
    - lType
    - rType
    - optr
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 473
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 473
    functionName: filterGetCompFuncEx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - IS_FLOAT_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: __compar_fn_t
    signature: '__compar_fn_t filterGetCompFuncEx(int32_t lType, int32_t rType, int32_t
      optr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3471,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3483,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3477,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3474,1
    - Dst: filterRmUnitByRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3471,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3484,1
    - Dst: filterExecuteBasedOnStatisImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3487,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3493,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 7
    argNames:
    - info
    - numOfRows
    - p
    - statis
    - numOfCols
    - all
    - result
    argTypes:
    - SFilterInfo*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - bool*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3499
      start: 3464
    functionDepth: 0
    functionLinenumber: 3464
    functionLinenumberEnd: 3499
    functionName: filterExecuteBasedOnStatis
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltError
    - filterRmUnitByRange
    - FILTER_GET_FLAG
    - filterExecuteBasedOnStatisImpl
    - FLT_RET
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterExecuteBasedOnStatis(SFilterInfo *info, int32_t numOfRows,
      SColumnInfoData *p, SColumnDataAgg *statis, int16_t numOfCols, bool *all, int32_t
      *result) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5105,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5151,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5154,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5155,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5164,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5165,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5167,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5168,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5194,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5204,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5220,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5207,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5110,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5112,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5109,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5119,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5133,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5147,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5161,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5174,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5183,1
    - Dst: fltSclBuildRangePointsForInOper
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5225,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5216,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5105,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5123,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5124,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5127,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5137,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5141,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5138,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5140,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5126,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5190,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5191,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5229,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5217,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5113,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5119,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5133,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5147,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5161,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5179,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5203,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5206,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5219,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5225,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5234
      start: 5101
    functionDepth: 0
    functionLinenumber: 5101
    functionLinenumberEnd: 5234
    functionName: fltSclBuildRangePoints
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclBuildRangePointsForInOper
    - qError
    - fltSclBuildDatumFromValueNode
    - taosArrayPush
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclBuildRangePoints(SFltSclOperator *oper, SArray *points) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: filterRangeCompLe
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompLe(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:35,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: filterRangeCompGe
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompGe(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2119,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2121,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2120,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - field
    - type
    argTypes:
    - SFilterField*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2126
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2126
    functionName: filterFreeField
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_GET_FLAG
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void filterFreeField(SFilterField *field, int32_t type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3952,1
    - Dst: compareInt64Double
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3954,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3959,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3960,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3956,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3963,1
    - Dst: compareDoubleVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3964,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3968,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    constantsTouched: []
    func_position:
      end: 3971
      start: 3948
    functionDepth: 0
    functionLinenumber: 3948
    functionLinenumberEnd: 3971
    functionName: fltSclCompareWithFloat64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - doubleFromDecimal128
    - doubleFromDecimal64
    - compareInt64Double
    - qError
    - compareDoubleVal
    - compareUint64Double
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclCompareWithFloat64(SFltSclDatum *val1, SFltSclDatum
      *val2) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4421,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4425,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4431,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4452,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4457,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4409,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4407,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4429,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4433,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4438,1
    - Dst: fltSclIntersect
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4433,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4423,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4426,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4442,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4450,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4439,1
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4455,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4479,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4530,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4535,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4406,1
    - Dst: fltSclBuildRangeFromBlockSma
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4425,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4447,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4435,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4434,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 97
    argCount: 5
    argNames:
    - info
    - pDataStatis
    - numOfCols
    - numOfRows
    - keep
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 4536
      start: 4402
    functionDepth: 0
    functionLinenumber: 4402
    functionLinenumberEnd: 4536
    functionName: filterRangeExecute
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_NO_MERGE_DATA_TYPE
    - FLT_ERR_RET
    - FILTER_EMPTY_RES
    - taosArrayGet
    - fltSclIntersect
    - taosArrayDestroy
    - fltSclBuildRangeFromBlockSma
    - FILTER_ALL_RES
    - qDebug
    - FLT_RET
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterRangeExecute(SFilterInfo *info, SColumnDataAgg *pDataStatis,
      int32_t numOfCols, int32_t numOfRows, bool *keep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:47,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: filterRangeCompii
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompii(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: filterRangeCompLi
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompLi(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2129,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - SFilterPCtx*
    constantsTouched: []
    func_position:
      end: 2131
      start: 2128
    functionDepth: 0
    functionLinenumber: 2128
    functionLinenumberEnd: 2131
    functionName: filterFreePCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void filterFreePCtx(SFilterPCtx *pctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compareUint64Int64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3977,1
    - Dst: compareDoubleInt64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3981,1
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3979,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3985,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - val1
    - val2
    argTypes:
    - SFltSclDatum*
    - SFltSclDatum*
    constantsTouched: []
    func_position:
      end: 3988
      start: 3973
    functionDepth: 0
    functionLinenumber: 3973
    functionLinenumberEnd: 3988
    functionName: fltSclCompareWithInt64
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - compareInt64Val
    - compareUint64Int64
    - compareDoubleInt64
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclCompareWithInt64(SFltSclDatum *val1, SFltSclDatum *val2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4166,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4167,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4179,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4171,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4180,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4184,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4185,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - colNode
    - colRangeList
    - colRange
    argTypes:
    - SColumnNode*
    - SArray*
    - SFltSclColumnRange**
    constantsTouched: []
    func_position:
      end: 4189
      start: 4165
    functionDepth: 0
    functionLinenumber: 4165
    functionLinenumberEnd: 4189
    functionName: fltSclGetOrCreateColumnRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - taosArrayGet
    - taosArrayGetLast
    - nodesEqualNode
    - taosArrayPush
    - nodesCloneNode
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclGetOrCreateColumnRange(SColumnNode *colNode, SArray
      *colRangeList, SFltSclColumnRange **colRange) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4549,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4550,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4573,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4591,1
    - Dst: filterGetRangeNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4603,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4590,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4609,1
    - Dst: filterGetRangeRes
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4613,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4624,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4627,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4638,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4549,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4568,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4598,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4603,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4591,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4613,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4615,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4633,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4635,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4638,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4639,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4566,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4577,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4590,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4614,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4625,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4627,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4628,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4550,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4568,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4577,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4605,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4601,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4616,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4619,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4636,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 3
    argNames:
    - info
    - win
    - isStrict
    argTypes:
    - SFilterInfo*
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 4642
      start: 4538
    functionDepth: 0
    functionLinenumber: 4538
    functionLinenumberEnd: 4642
    functionName: filterGetTimeRangeImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterGetRangeRes
    - FILTER_UNIT_OPTR
    - filterSourceRangeFromCtx
    - taosSetInt64Aligned
    - FILTER_GET_FLAG
    - filterAddRangeOptr
    - filterAddUnitRange
    - filterFreeRangeCtx
    - filterResetRangeCtx
    - TAOS_SET_OBJ_ALIGNED
    - qDebug
    - filterInitRangeCtx
    - taosGetInt64Aligned
    - filterGetRangeNum
    - FLT_CHK_JMP
    - FILTER_NO_MERGE_OPTR
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetTimeRangeImpl(SFilterInfo *info, STimeWindow *win,
      bool *isStrict) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3669,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3667,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3683,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3710,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3706,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3717,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3714,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3712,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3690,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3708,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3710,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3710,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3721,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3719,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3746,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3667,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3716,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3710,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3747
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3747
    functionName: filterExecuteImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - filterDoCompare
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - varDataLen
    - colDataGetData
    - varDataVal
    - qError
    - taosMemoryFreeClear
    - varDataSetLen
    - FLT_RET
    - FLT_ERR_RET
    - filterExecuteBasedOnStatis
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterExecuteImpl(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis, int16_t numOfCols, int32_t *numOfQualified, bool
      *all) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3887,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3884,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3887,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3898,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3900,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3902,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3864,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3873,1
    - Dst: filterConvertGroupFromArray
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3878,1
    - Dst: filterPreprocess
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3889,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3906,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3904,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3859,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3854,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3866,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3871,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3875,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3886,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3889,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3883,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3880,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3891,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3852,1
    - Dst: filterInitUnitsFields
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3857,1
    - Dst: fltInitValFieldData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3884,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3891,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3893,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3906,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3911,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3911,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - tree
    - info
    - options
    argTypes:
    - SNode*
    - SFilterInfo*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 3914
      start: 3849
    functionDepth: 0
    functionLinenumber: 3849
    functionLinenumberEnd: 3914
    functionName: fltInitFromNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterInitUnitsFields
    - nodesWalkExpr
    - FLT_CHK_JMP
    - FILTER_EMPTY_RES
    - taosMemoryMalloc
    - taosArrayDestroy
    - fltInitValFieldData
    - filterConvertGroupFromArray
    - FILTER_GET_FLAG
    - qInfo
    - tstrerror
    - filterDumpInfoToString
    - filterPreprocess
    - taosArrayDestroyEx
    - FILTER_SET_FLAG
    - taosArrayInit
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltInitFromNode(SNode *tree, SFilterInfo *info, uint32_t options) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3750,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3755,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 3782
      start: 3749
    functionDepth: 0
    functionLinenumber: 3749
    functionLinenumberEnd: 3782
    functionName: filterSetExecFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_ALL_RES
    - FILTER_EMPTY_RES
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterSetExecFunc(SFilterInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:791,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:802,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - dst
    - src
    - optr
    argTypes:
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 807
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 807
    functionName: filterAddRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddRange
    - FLT_ERR_RET
    - fltError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddRangeCtx(void *dst, void *src, int32_t optr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_COL_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2671,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2675,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2677,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2675,1
    - Dst: FILTER_GET_COL_FIELD_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2672,1
    - Dst: filterReuseRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2677,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2681,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2686,1
    - Dst: filterCopyRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2686,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2687,1
    - Dst: filterSourceRangeFromCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 8
    argNames:
    - info
    - ctx
    - optr
    - cidx
    - gRes1
    - gRes2
    - empty
    - all
    argTypes:
    - SFilterInfo*
    - SFilterRangeCtx**
    - int32_t
    - uint32_t
    - SFilterGroupCtx*
    - SFilterGroupCtx*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 2690
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2690
    functionName: filterMergeTwoGroupsImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltError
    - FILTER_GET_COL_FIELD
    - FILTER_GET_COL_FIELD_TYPE
    - filterInitRangeCtx
    - filterReuseRangeCtx
    - FLT_ERR_RET
    - filterCopyRangeCtx
    - filterSourceRangeFromCtx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterMergeTwoGroupsImpl(SFilterInfo *info, SFilterRangeCtx
      **ctx, int32_t optr, uint32_t cidx, SFilterGroupCtx *gRes1, SFilterGroupCtx
      *gRes2, bool *empty, bool *all) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4070,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4071,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4078,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4075,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4076,1
    - Dst: fltSclLessPoint
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4080,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4082,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4083,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4087,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4095,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4110,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4100,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4099,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4106,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - pts1
    - pts2
    - result
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4069
    functionDepth: 0
    functionLinenumber: 4069
    functionLinenumberEnd: 4116
    functionName: fltSclMergeSort
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - taosArrayGet
    - taosArrayPush
    - taosArrayGetSize
    - fltSclLessPoint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclMergeSort(SArray *pts1, SArray *pts2, SArray *result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: APPEND_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 833
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 833
    functionName: filterCopyRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - APPEND_RANGE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterCopyRangeCtx(void *dst, void *src) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: filterCheckColConflict
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2695,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2700,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2725,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2709,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2731,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2745,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2750,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2764,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2784,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2788,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2791,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2796,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2824,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2802,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2733,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2769,1
    - Dst: filterFreeColInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2806,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2817,1
    - Dst: filterMergeTwoGroupsImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2731,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2764,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2755,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2745,1
    - Dst: filterCompareRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2750,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2773,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2792,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2800,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2810,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2818,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2793,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2711,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2726,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2740,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2759,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2760,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2741,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2785,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2792,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2807,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2820,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 102
    argCount: 4
    argNames:
    - info
    - gRes1
    - gRes2
    - all
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - SFilterGroupCtx**
    - bool*
    constantsTouched: []
    func_position:
      end: 2827
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2827
    functionName: filterMergeTwoGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_CHK_JMP
    - fltError
    - taosArrayGet
    - taosArrayDestroy
    - FILTER_PUSH_CTX
    - filterFreeRangeCtx
    - filterFreeGroupCtx
    - taosArrayPush
    - filterFreeColInfo
    - filterCompareRangeCtx
    - taosArrayDestroyEx
    - filterMergeTwoGroupsImpl
    - FILTER_SET_FLAG
    - taosArrayGetSize
    - filterCheckColConflict
    - taosArrayInit
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterMergeTwoGroups(SFilterInfo *info, SFilterGroupCtx **gRes1,
      SFilterGroupCtx **gRes2, bool *all) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4119,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4122,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4124,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4120,1
    - Dst: fltSclMergeSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4130,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4132,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4137,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4138,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4143,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4150,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pts1
    - pts2
    - isUnion
    - merged
    argTypes:
    - SArray*
    - SArray*
    - bool
    - SArray*
    constantsTouched: []
    func_position:
      end: 4152
      start: 4118
    functionDepth: 0
    functionLinenumber: 4118
    functionLinenumberEnd: 4152
    functionName: fltSclMerge
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - taosArrayGet
    - taosArrayDestroy
    - fltSclMergeSort
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclMerge(SArray *pts1, SArray *pts2, bool isUnion, SArray
      *merged) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:56,1
    - Dst: cfunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - minv
    - maxv
    - minr
    - maxr
    - cfunc
    argTypes:
    - void*
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: filterRangeCompie
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - cfunc
    linkageType: ''
    returnType: bool
    signature: 'bool filterRangeCompie(const void *minv, const void *maxv, const void
      *minr, const void *maxr, __compar_fn_t cfunc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:838,1
    - Dst: operateVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:848,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:854,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:842,1
    - Dst: FREE_RANGE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:855,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:865,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 868
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 868
    functionName: filterFinishRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_GET_FLAG
    - operateVal
    - SIMPLE_COPY_VALUES
    - FILTER_SET_FLAG
    - FREE_RANGE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterFinishRange(void *h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - group
    - unitIdx
    argTypes:
    - SFilterGroup*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1290
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1290
    functionName: filterAddUnitToGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnitToGroup(SFilterGroup *group, uint32_t unitIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3577,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3579,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3593,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3587,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3577,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3603,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3604
      start: 3566
    functionDepth: 0
    functionLinenumber: 3566
    functionLinenumberEnd: 3604
    functionName: filterExecuteImplRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - colDataGetData
    - FLT_RET
    - FLT_ERR_RET
    - filterExecuteBasedOnStatis
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterExecuteImplRange(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis, int16_t numOfCols, int32_t *numOfQualified, bool
      *all) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5586,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5600,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5609
      start: 5584
    functionDepth: 0
    functionLinenumber: 5584
    functionLinenumberEnd: 5609
    functionName: classifyConditionImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes classifyConditionImpl(SNode *pNode, void *pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5624,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5628,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5631,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5633,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5634,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5635,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5636,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pCond
    - res
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 5646
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5646
    functionName: filterIsMultiTableColsCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyList
    - strcmp
    - nodesCollectColumnsFromNode
    - nodesMakeList
    - FOREACH
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterIsMultiTableColsCond(SNode *pCond, bool *res) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:60,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:76,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:68,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:69,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:61,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:77,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - sflag
    - eflag
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 89
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 89
    functionName: filterGetRangeCompFunc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_GET_FLAG
    linkageType: ''
    returnType: rangeCompFunc
    signature: 'rangeCompFunc filterGetRangeCompFunc(char sflag, char eflag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:871,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - h
    - num
    argTypes:
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 885
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 885
    functionName: filterGetRangeNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - filterFinishRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetRangeNum(void *h, int32_t *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1298,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1300
    functionName: filterFreeGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void filterFreeGroup(void *pItem) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3614,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3612,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3635,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3658,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3637,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3645,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3621,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3635,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3635,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3627,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3631,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3641,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3612,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3633,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3638,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3635,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3642,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3647,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3659
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3659
    functionName: filterExecuteImplMisc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterDoCompare
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - varDataLen
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - qError
    - taosMemoryFreeClear
    - varDataSetLen
    - FLT_RET
    - FLT_ERR_RET
    - filterExecuteBasedOnStatis
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterExecuteImplMisc(void *pinfo, int32_t numOfRows, SColumnInfoData
      *pRes, SColumnDataAgg *statis, int16_t numOfCols, int32_t *numOfQualified, bool
      *all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 5620
      start: 5612
    functionDepth: 0
    functionLinenumber: 5612
    functionLinenumberEnd: 5620
    functionName: filterClassifyCondition
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: EConditionType
    signature: 'EConditionType filterClassifyCondition(SNode *pNode) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5661,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5674,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5687,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5740,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5756,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5765,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5670,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5668,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5678,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5680,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5694,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5696,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5731,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5766,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5659,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5689,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5713,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5715,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5703,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5705,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5734,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5763,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5737,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5760,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5762,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5764,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 102
    argCount: 5
    argNames:
    - pCondition
    - pPrimaryKeyCond
    - pTagIndexCond
    - pTagCond
    - pOtherCond
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5770
      start: 5648
    functionDepth: 0
    functionLinenumber: 5648
    functionLinenumberEnd: 5770
    functionName: partitionLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodesMergeConds
    - nodesDestroyNode
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - filterClassifyCondition
    - filterIsMultiTableColsCond
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionLogicCond(SNode **pCondition, SNode **pPrimaryKeyCond,
      SNode **pTagIndexCond, SNode **pTagCond, SNode **pOtherCond) '
  - BBCount: 71
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 123
    argCount: 4
    argNames:
    - type
    - optr
    - comparFn
    - scalarMode
    argTypes:
    - int32_t
    - int32_t
    - int8_t*
    - bool
    constantsTouched: []
    func_position:
      end: 374
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 374
    functionName: filterGetCompFuncIdx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetCompFuncIdx(int32_t type, int32_t optr, int8_t *comparFn,
      bool scalarMode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SFilterRangeCtx*
    constantsTouched: []
    func_position:
      end: 569
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 569
    functionName: filterResetRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterResetRangeCtx(SFilterRangeCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:888,1
    - Dst: filterFinishRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:907,1
    - Dst: FILTER_COPY_RA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:899,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - h
    - ra
    argTypes:
    - void*
    - SFilterRange*
    constantsTouched: []
    func_position:
      end: 912
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 912
    functionName: filterGetRangeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_COPY_RA
    - FLT_ERR_RET
    - filterFinishRange
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetRangeRes(void *h, SFilterRange *ra) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2446,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2459,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2463,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2466,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2466,1
    - Dst: MR_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2464,1
    - Dst: filterInitRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2450,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2460,1
    - Dst: FILTER_NO_MERGE_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2462,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2464,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2472,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2468,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2468,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2482,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2455,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2450,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2453,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2457,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2459,1
    - Dst: filterAddUnitRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2463,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2466,1
    - Dst: FILTER_PUSH_CTX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2474,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 4
    argNames:
    - info
    - gRes
    - colIdx
    - empty
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx*
    - uint32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2485
    functionName: filterMergeUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - FILTER_NO_MERGE_DATA_TYPE
    - FLT_ERR_RET
    - FILTER_UNIT_OPTR
    - FILTER_UNIT_VAL_DATA
    - taosArrayDestroy
    - filterAddRangeOptr
    - filterAddUnitRange
    - FILTER_PUSH_CTX
    - filterFreeRangeCtx
    - FILTER_UNIT_DATA_TYPE
    - filterInitRangeCtx
    - MR_EMPTY_RES
    - SIMPLE_COPY_VALUES
    - FLT_CHK_JMP
    - taosArrayGetSize
    - FILTER_NO_MERGE_OPTR
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterMergeUnits(SFilterInfo *info, SFilterGroupCtx *gRes,
      uint32_t colIdx, bool *empty) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 2
    argNames:
    - pCol1
    - pCol2
    argTypes:
    - SFilterColInfo*
    - SFilterColInfo*
    constantsTouched: []
    func_position:
      end: 2613
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2613
    functionName: filterIsSameUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool filterIsSameUnits(SFilterColInfo *pCol1, SFilterColInfo *pCol2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3520,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3520,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3528,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3536,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3522,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3537
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3537
    functionName: filterExecuteImplIsNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - filterExecuteBasedOnStatis
    - colDataIsNull
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterExecuteImplIsNull(void *pinfo, int32_t
      numOfRows, SColumnInfoData *pRes, SColumnDataAgg *statis, int16_t numOfCols,
      int32_t *numOfQualified, bool *all) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3794,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3789,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3797,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3808,1
    - Dst: filterPostProcessRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3810,1
    - Dst: filterGenerateComInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3814,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3817,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3821,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3792,1
    - Dst: filterMergeGroupUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3792,1
    - Dst: filterMergeGroups
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3794,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3796,1
    - Dst: fltInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3802,1
    - Dst: filterGenerateColRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3806,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3810,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3814,1
    - Dst: filterSetExecFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3817,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3801,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3806,1
    - Dst: filterRewrite
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3812,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3824,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3787,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3808,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3812,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 3827
      start: 3784
    functionDepth: 0
    functionLinenumber: 3784
    functionLinenumberEnd: 3827
    functionName: filterPreprocess
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - fltInfo
    - FILTER_GET_FLAG
    - filterGenerateComInfo
    - filterSetExecFunc
    - filterRewrite
    - filterMergeGroupUnits
    - filterPostProcessRange
    - filterGenerateColRange
    - filterDumpInfoToString
    - filterFreeGroupCtx
    - filterMergeGroups
    - taosMemoryFreeClear
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterPreprocess(SFilterInfo *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5033,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5039,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5035,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pInfo
    - pNode
    - pStat
    argTypes:
    - SFilterInfo*
    - SNode**
    - SFltTreeStat*
    constantsTouched: []
    func_position:
      end: 5041
      start: 5031
    functionDepth: 0
    functionLinenumber: 5031
    functionLinenumberEnd: 5041
    functionName: fltReviseNodes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprPostOrder
    - taosArrayDestroy
    - FLT_RET
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltReviseNodes(SFilterInfo *pInfo, SNode **pNode, SFltTreeStat
      *pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:572,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:576,1
    - Dst: filterResetRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - type
    - options
    argTypes:
    - SFilterRangeCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 582
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 582
    functionName: filterReuseRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterResetRangeCtx
    - getComparFunc
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterReuseRangeCtx(SFilterRangeCtx *ctx, int32_t type, int32_t
      options) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:918,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:918,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:919,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:925,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:925,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:926,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:932,1
    - Dst: filterAddRangeOptr
      Src: /src/tdengine/source/libs/scalar/src/filter.c:932,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:935,1
    - Dst: filterAddRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:935,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:938,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - ctx
    - sctx
    - optr
    - empty
    - all
    argTypes:
    - SFilterRangeCtx*
    - void*
    - int32_t
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 944
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 944
    functionName: filterSourceRangeFromCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddRangeCtx
    - FLT_ERR_RET
    - filterAddRangeOptr
    - FILTER_GET_FLAG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterSourceRangeFromCtx(SFilterRangeCtx *ctx, void *sctx,
      int32_t optr, bool *empty, bool *all) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2515,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2533,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2535,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2541,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2566,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2574,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2501,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2503,1
    - Dst: FILTER_PUSH_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2527,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2522,1
    - Dst: FILTER_COPY_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2560,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2571,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2499,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2523,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2544,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2573,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2492,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2494,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2505,1
    - Dst: FILTER_GROUP_UNIT
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2511,1
    - Dst: FILTER_UNIT_COL_IDX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2512,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2517,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2522,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2531,1
    - Dst: filterMergeUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2544,1
    - Dst: filterFreeGroupCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2553,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - info
    - gRes
    - gResNum
    argTypes:
    - SFilterInfo*
    - SFilterGroupCtx**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2575
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2575
    functionName: filterMergeGroupUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - getComparFunc
    - FILTER_COPY_IDX
    - FILTER_PUSH_UNIT
    - taosArrayInit
    - taosSort
    - taosMemoryMalloc
    - filterMergeUnits
    - FLT_RET
    - FLT_ERR_JRET
    - FILTER_GROUP_UNIT
    - FILTER_UNIT_COL_IDX
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    - FILTER_NO_MERGE_DATA_TYPE
    - filterFreeGroupCtx
    - FILTER_UNIT_DATA_TYPE
    - FILTER_SET_FLAG
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterMergeGroupUnits(SFilterInfo *info, SFilterGroupCtx **gRes,
      int32_t *gResNum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2635,1
    - Dst: filterIsSameUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2640,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - gRes1
    - gRes2
    - conflict
    argTypes:
    - SFilterGroupCtx*
    - SFilterGroupCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2667
    functionName: filterCheckColConflict
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterIsSameUnits
    - FILTER_NO_MERGE_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'void filterCheckColConflict(SFilterGroupCtx *gRes1, SFilterGroupCtx
      *gRes2, bool *conflict) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3545,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3555,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3547,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3563,1
    - Dst: filterExecuteBasedOnStatis
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3545,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 7
    argNames:
    - pinfo
    - numOfRows
    - pRes
    - statis
    - numOfCols
    - numOfQualified
    - all
    argTypes:
    - void*
    - int32_t
    - SColumnInfoData*
    - SColumnDataAgg*
    - int16_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 3564
      start: 3539
    functionDepth: 0
    functionLinenumber: 3539
    functionLinenumberEnd: 3564
    functionName: filterExecuteImplNotNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - filterExecuteBasedOnStatis
    - colDataIsNull
    - FLT_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterExecuteImplNotNull(void *pinfo,
      int32_t numOfRows, SColumnInfoData *pRes, SColumnDataAgg *statis, int16_t numOfCols,
      int32_t *numOfQualified, bool *all) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_ALL_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3830,1
    - Dst: FILTER_GET_COL_FIELD_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3838,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3838,1
    - Dst: FILTER_EMPTY_RES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3830,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3840,1
    - Dst: FILTER_GET_COL_FIELD_SLOT_ID
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3840,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3844,1
    - Dst: filterUpdateComUnits
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3844,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - info
    - param
    - fp
    - fromColId
    argTypes:
    - SFilterInfo*
    - void*
    - filer_get_col_from_id
    - bool
    constantsTouched: []
    func_position:
      end: 3847
      start: 3829
    functionDepth: 0
    functionLinenumber: 3829
    functionLinenumberEnd: 3847
    functionName: fltSetColFieldDataImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_EMPTY_RES
    - filterUpdateComUnits
    - FILTER_GET_COL_FIELD_SLOT_ID
    - FILTER_ALL_RES
    - FLT_ERR_RET
    - FILTER_GET_COL_FIELD_ID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSetColFieldDataImpl(SFilterInfo *info, void *param, filer_get_col_from_id
      fp, bool fromColId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5055,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5051,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5083,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5084,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5096,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5087,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5061,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5074,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5048,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5056,1
    - Dst: fltSclBuildDatumFromValueNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5051,1
    - Dst: doubleFromDecimal64
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5058,1
    - Dst: doubleFromDecimal128
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5059,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5062,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5073,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5092,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5093,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5086,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5095,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5076,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5077,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5098,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 2
    argNames:
    - oper
    - points
    argTypes:
    - SFltSclOperator*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5099
      start: 5043
    functionDepth: 0
    functionLinenumber: 5043
    functionLinenumberEnd: 5099
    functionName: fltSclBuildRangePointsForInOper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - doubleFromDecimal128
    - doubleFromDecimal64
    - fltSclBuildDatumFromValueNode
    - IS_DECIMAL_TYPE
    - FOREACH
    - taosArrayPush
    - FLT_RET
    - TMAX
    - FLT_ERR_RET
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclBuildRangePointsForInOper(SFltSclOperator* oper,
      SArray* points) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:995,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:996,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1000,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:998,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:999,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1005,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1006,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1007,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1014,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1016,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1018,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1026,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1032,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1037,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1017,1
    - Dst: filterDetachCnfGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1037,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - group
    - left
    - right
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1042
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1042
    functionName: filterDetachCnfGroups
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - fltDebug
    - taosArrayGet
    - taosArrayPush
    - taosArrayPop
    - filterDetachCnfGroup
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterDetachCnfGroups(SArray *group, SArray *left, SArray
      *right) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_UNIT_LEFT_FIELD
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 3209
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3209
    functionName: filterUpdateComUnits
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_UNIT_LEFT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterUpdateComUnits(SFilterInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5336,1
    - Dst: fltSclIsCollectableNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5346,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5345,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5351,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5350,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5351,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5354
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5354
    functionName: fltSclCollectOperatorsFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodeType
    - fltSclIsCollectableNode
    - FOREACH
    - FLT_ERR_RET
    - fltSclCollectOperatorFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclCollectOperatorsFromLogicCond(SNode *pNode, SArray
      *sclOpList) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - optr
    - optr2
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 129
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 129
    functionName: filterGetRangeCompFuncFromOptrs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t filterGetRangeCompFuncFromOptrs(uint8_t optr, uint8_t optr2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:1046,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - fields
    - type
    - v
    argTypes:
    - SFilterFields*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1052
    functionName: filterGetFiledByDesc
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetFiledByDesc(SFilterFields *fields, int32_t type,
      void *v) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3313,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3372,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3392,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3377,1
    - Dst: memset
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3214,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3305,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3306,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3314,1
    - Dst: FILTER_CLR_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3391,1
    - Dst: filterDumpInfoToString
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3397,1
    - Dst: FILTER_NO_MERGE_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3220,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3294,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3331,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3379,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3295,1
    - Dst: fltDebug
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3330,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3397,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:3373,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 141
    argCount: 4
    argNames:
    - info
    - pDataStatis
    - numOfCols
    - numOfRows
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3400
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3400
    functionName: filterRmUnitByRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FILTER_NO_MERGE_DATA_TYPE
    - fltError
    - fltDebug
    - filterDoCompare
    - memset
    - filterDumpInfoToString
    - FILTER_CLR_FLAG
    - FLT_RET
    - FILTER_SET_FLAG
    - FLT_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterRmUnitByRange(SFilterInfo *info, SColumnDataAgg *pDataStatis,
      int32_t numOfCols, int32_t numOfRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5357,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5360,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5358,1
    - Dst: fltSclCollectOperatorFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5358,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5359,1
    - Dst: fltSclCollectOperatorsFromLogicCond
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - sclOpList
    argTypes:
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5363
      start: 5356
    functionDepth: 0
    functionLinenumber: 5356
    functionLinenumberEnd: 5363
    functionName: fltSclCollectOperators
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclCollectOperatorsFromLogicCond
    - nodeType
    - FLT_ERR_RET
    - fltSclCollectOperatorFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclCollectOperators(SNode *pNode, SArray *sclOpList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 480
    functionName: filterCompareGroupCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t filterCompareGroupCtx(const void *pLeft,
      const void *pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:957,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:964,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/filter.c:968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - h
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 971
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 971
    functionName: filterFreeRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterFreeRangeCtx(void *h) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2147,1
    - Dst: filterFreeRangeCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2170,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2139,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2173,1
    - Dst: filterFreeGroup
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2158,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2140,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2143,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2145,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2146,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2178,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2141,1
    - Dst: filterFreeField
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2165,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2167,1
    - Dst: filterFreePCtx
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2175,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2177,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2161,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2163,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 2180
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2180
    functionName: filterFreeInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - FILTER_GET_FLAG
    - nodesDestroyNode
    - filterFreeRangeCtx
    - filterFreeField
    - filterFreePCtx
    - taosArrayGetSize
    - taosMemoryFreeClear
    - filterFreeGroup
    linkageType: ''
    returnType: void
    signature: 'void filterFreeInfo(SFilterInfo *info) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2370,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2369,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2374,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2397,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2388,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2402,1
    - Dst: FILTER_UNIT_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2361,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2383,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2384,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2380,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2405,1
    - Dst: filterAddRange
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2409,1
    - Dst: FILTER_UNIT_VAL_DATA
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2363,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2362,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2375,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2378,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2379,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2396,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2393,1
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2391,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2401,1
    - Dst: FILTER_SET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2371,1
    - Dst: SIMPLE_COPY_VALUES
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2392,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2409,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - info
    - u
    - ctx
    - optr
    argTypes:
    - SFilterInfo*
    - SFilterUnit*
    - SFilterRangeCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2412
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2412
    functionName: filterAddUnitRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - filterAddRange
    - fltError
    - FILTER_UNIT_OPTR
    - GET_INT8_VAL
    - FILTER_UNIT_DATA_TYPE
    - SIMPLE_COPY_VALUES
    - FILTER_SET_FLAG
    - FLT_ERR_RET
    - FILTER_UNIT_VAL_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterAddUnitRange(SFilterInfo *info, SFilterUnit *u, SFilterRangeCtx
      *ctx, int32_t optr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getDataMax
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4649,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4683,1
    - Dst: getDataMin
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4651,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - point
    - d
    argTypes:
    - SFltSclPoint*
    - SFltSclDatum*
    constantsTouched: []
    func_position:
      end: 4687
      start: 4644
    functionDepth: 0
    functionLinenumber: 4644
    functionLinenumberEnd: 4687
    functionName: fltSclGetTimeStampDatum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - getDataMax
    - getDataMin
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fltSclGetTimeStampDatum(SFltSclPoint *point, SFltSclDatum
      *d) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:484,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:491,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - info
    argTypes:
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 503
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 503
    functionName: filterInitUnitsFields
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterInitUnitsFields(SFilterInfo *info) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/filter.c:977,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:982,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/filter.c:981,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:986,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:979,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/filter.c:987,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - gp1
    - gp2
    - group
    argTypes:
    - SFilterGroup*
    - SFilterGroup*
    - SArray*
    constantsTouched: []
    func_position:
      end: 992
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 992
    functionName: filterDetachCnfGroup
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayPush
    - memcpy
    - FLT_ERR_RET
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterDetachCnfGroup(SFilterGroup *gp1, SFilterGroup *gp2,
      SArray *group) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2184,1
    - Dst: FILTER_UNIT_OPTR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2188,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2202,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - unit
    - extInfo
    argTypes:
    - SFilterUnit*
    - char
    constantsTouched: []
    func_position:
      end: 2207
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2207
    functionName: filterHandleValueExtInfo
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltError
    - FILTER_UNIT_OPTR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterHandleValueExtInfo(SFilterUnit *unit, char extInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2415,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2418,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2424,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2416,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2417,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2425,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2426,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2427,1
    - Dst: FLT_CHK_JMP
      Src: /src/tdengine/source/libs/scalar/src/filter.c:2433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - ctx1
    - ctx2
    - equal
    argTypes:
    - SFilterRangeCtx*
    - SFilterRangeCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 2442
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2442
    functionName: filterCompareRangeCtx
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_CHK_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterCompareRangeCtx(SFilterRangeCtx *ctx1, SFilterRangeCtx
      *ctx2, bool *equal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4721,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4716,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4701,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4703,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4706,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4707,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4711,1
    - Dst: fltSclGetTimeStampDatum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4715,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4695,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4700,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4718,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4722,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4715,1
    - Dst: filterGetTimeRangeImpl
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4731,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4709,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4717,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4716,1
    - Dst: FLT_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4731,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4735,1
    - Dst: FLT_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4737,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 3
    argNames:
    - pNode
    - win
    - isStrict
    argTypes:
    - SNode*
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 4738
      start: 4689
    functionDepth: 0
    functionLinenumber: 4689
    functionLinenumberEnd: 4738
    functionName: filterGetTimeRange
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosSetInt64Aligned
    - fltSclGetTimeStampDatum
    - filterInitFromNode
    - TAOS_SET_OBJ_ALIGNED
    - filterGetTimeRangeImpl
    - FLT_RET
    - taosArrayGetSize
    - filterFreeInfo
    - FLT_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterGetTimeRange(SNode *pNode, STimeWindow *win, bool *isStrict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSclMerge
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4154
      start: 4154
    functionDepth: 0
    functionLinenumber: 4154
    functionLinenumberEnd: 4154
    functionName: fltSclIntersect
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclIntersect(SArray *pts1, SArray *pts2, SArray *merged) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4806,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4812,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4813,1
    - Dst: FLT_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - stat
    - pNode
    argTypes:
    - SFltTreeStat*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 4817
      start: 4804
    functionDepth: 0
    functionLinenumber: 4804
    functionLinenumberEnd: 4817
    functionName: fltAddValueNodeToConverList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - FLT_ERR_RET
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltAddValueNodeToConverList(SFltTreeStat *stat, SValueNode
      *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fltSclMerge
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pts1
    - pts2
    - merged
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4156
      start: 4156
    functionDepth: 0
    functionLinenumber: 4156
    functionLinenumberEnd: 4156
    functionName: fltSclUnion
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - fltSclMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fltSclUnion(SArray *pts1, SArray *pts2, SArray *merged) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4845,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4851,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4858,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4911,1
    - Dst: FLT_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4900,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4980,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4942,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5000,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4879,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4898,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4979,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4994,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5006,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5015,1
    - Dst: FILTER_GET_FLAG
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4989,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5024,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4822,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4827,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4861,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4877,1
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4918,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4888,1
    - Dst: fltError
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4919,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4919,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4936,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4936,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4947,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4832,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4832,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4867,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4869,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4893,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4893,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4924,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4941,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4941,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4947,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:4980,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/filter.c:5008,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 197
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 5029
      start: 4819
    functionDepth: 0
    functionLinenumber: 4819
    functionLinenumberEnd: 5029
    functionName: fltReviseRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/filter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - fltError
    - IS_NUMERIC_TYPE
    - FLT_IS_COMPARISON_OPERATOR
    - FILTER_GET_FLAG
    - IS_DECIMAL_TYPE
    - vectorGetConvertType
    - FOREACH
    - scalarGetOperatorParamNum
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes fltReviseRewriter(SNode **pNode, void *pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convertStringToTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - precision
    - valueNode
    argTypes:
    - int8_t
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 39
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 39
    functionName: sclConvertToTsValueNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - convertStringToTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclConvertToTsValueNode(int8_t precision, SValueNode *valueNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:229,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:240,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:230,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: sclFreeParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - colDataDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void sclFreeParam(SScalarParam *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1131
    functionName: sclContainsAggFuncNode
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'bool sclContainsAggFuncNode(SNode *pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1158,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1163,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1169,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1160,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1163,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1170,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1171,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCaseWhenNode*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1178
    functionName: sclConvertCaseWhenValueNodeTs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - FOREACH
    - SCL_IS_VAR_VALUE_NODE
    - SCL_ERR_RET
    - sclConvertToTsValueNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclConvertCaseWhenValueNodeTs(SCaseWhenNode *node) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1742,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1748,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1750,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1751,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1748,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1754,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1755,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pNode
    - dual
    - pRes
    argTypes:
    - SNode*
    - bool
    - SNode**
    constantsTouched: []
    func_position:
      end: 1762
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1762
    functionName: sclCalcConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclError
    - nodesRewriteExprPostOrder
    - SCL_ERR_RET
    - sclFreeRes
    - SCL_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclCalcConstants(SNode *pNode, bool dual, SNode **pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:42,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:54,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:55,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:52,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: sclCreateColumnInfoData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - colDataDestroy
    - colInfoDataEnsureCapacity
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclCreateColumnInfoData(SDataType *pType, int32_t numOfRows,
      SScalarParam *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:250,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:256,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:253,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:256,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SValueNode*
    - void**
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: sclCopyValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodesGetValueFromNode
    - sclError
    - taosMemoryMalloc
    - SCL_ERR_RET
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclCopyValueNodeValue(SValueNode *pNode, void **res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1149
    functionName: sclGetOpValueNodeTsPrecision
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t sclGetOpValueNodeTsPrecision(SNode *pLeft, SNode *pRight) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1184,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1187,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1188,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1186,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1191,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1191,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1192,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1196,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1198,1
    - Dst: sclContainsAggFuncNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1199,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1200,1
    - Dst: SCL_IS_COMPARISON_OPERATOR
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1203,1
    - Dst: SCL_DOWNGRADE_DATETYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1203,1
    - Dst: sclDowngradeValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1204,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 39
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1209
    functionName: sclRewriteNonConstOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclDowngradeValueType
    - nodeType
    - sclContainsAggFuncNode
    - sclRewriteNullInOptr
    - SCL_DOWNGRADE_DATETYPE
    - SCL_IS_COMPARISON_OPERATOR
    - SCL_IS_NULL_VALUE_NODE
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteNonConstOperator(SNode **pNode, SScalarCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1766,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1777
    functionName: sclGetMinusOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sclGetMinusOperatorResType(SOperatorNode *pOp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1909,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1926,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1940,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1939,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1934,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1929,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1945,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1946,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1916,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1918,1
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1922,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1923,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1916,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1919,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1939,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1940,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1937,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1946,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1928,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1928,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1932,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1937,1
    - Dst: sclFreeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1950,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - pNode
    - pBlockList
    - pDst
    argTypes:
    - SNode*
    - SArray*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1952
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1952
    functionName: scalarCalculate
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - sclError
    - nodesWalkExprPostOrder
    - colDataAssign
    - SCL_ERR_RET
    - taosHashGet
    - colInfoDataEnsureCapacity
    - sclFreeParam
    - taosHashRemove
    - sclExtendResRows
    - sclFreeRes
    - SCL_ERR_JRET
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarCalculate(SNode *pNode, SArray *pBlockList, SScalarParam
      *pDst) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1879,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1881,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1882,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1882,1
    - Dst: SCL_IS_NOTNULL_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1884,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1886,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1887,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1887,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1887,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1891,1
    - Dst: SCL_IS_VAR_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1892,1
    - Dst: sclGetOpValueNodeTsPrecision
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1893,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1893,1
    - Dst: sclConvertToTsValueNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1893,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - node
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1900
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1900
    functionName: scalarConvertOpValueNodeTs
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclGetOpValueNodeTsPrecision
    - SCL_IS_VAR_VALUE_NODE
    - SCL_ERR_RET
    - sclConvertToTsValueNode
    - FOREACH
    - SCL_IS_NOTNULL_CONST_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarConvertOpValueNodeTs(SOperatorNode *node) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:121,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:131,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:141,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:164,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:171,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:188,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:206,1
    - Dst: taosHashSetEqualFp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:127,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:133,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:157,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:150,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:142,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:180,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:181,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:189,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:205,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:121,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:123,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:139,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:149,1
    - Dst: sclConvertValueToSclParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:161,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:173,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:179,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:192,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:203,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:124,1
    - Dst: taosGetDefaultEqualFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:127,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:143,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:172,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:187,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:197,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:198,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:204,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 84
    argCount: 5
    argNames:
    - data
    - pNode
    - type
    - typeMod
    - processType
    argTypes:
    - void**
    - void*
    - uint32_t
    - STypeMod
    - int8_t
    constantsTouched: []
    func_position:
      end: 207
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 207
    functionName: scalarGenerateSetFromList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - extractTypeFromTypeMod
    - SCL_RET
    - taosMemoryCalloc
    - colDataDestroy
    - IS_VAR_DATA_TYPE
    - taosGetDefaultEqualFunction
    - taosHashInit
    - taosHashCleanup
    - IS_INTEGER_TYPE
    - FOREACH
    - IS_FLOAT_TYPE
    - nodesGetValueFromNode
    - taosHashPut
    - taosGetDefaultHashFunction
    - SCL_ERR_RET
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    - sclError
    - colInfoDataCleanup
    - colDataGetVarData
    - sclConvertValueToSclParam
    - taosHashSetEqualFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarGenerateSetFromList(void **data, void *pNode, uint32_t
      type, STypeMod typeMod, int8_t processType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - param
    - paramNum
    argTypes:
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 271
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 271
    functionName: sclFreeParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclFreeParam
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void sclFreeParamList(SScalarParam *param, int32_t paramNum) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:804,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:805,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:807,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:804,1
    - Dst: callUdfScalarFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:808,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:810,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:815,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:817,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:817,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:818,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:821,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:839,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:832,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:840,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:833,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:832,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SFunctionNode*
    - SScalarCtx*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 841
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 841
    functionName: sclExecFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclInitParamList
    - sclCreateColumnInfoData
    - callUdfScalarFunc
    - sclError
    - sclFreeParamList
    - fmGetScalarFuncExecFuncs
    - SCL_RET
    - SCL_ERR_RET
    - tstrerror
    - SCL_ERR_JRET
    - fmIsUserDefinedFunc
    - setTzCharset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclExecFunction(SFunctionNode *node, SScalarCtx *ctx, SScalarParam
      *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:932,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:943,1
    - Dst: sclInitOperatorParams
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:943,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:935,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:939,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:945,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:947,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:951,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:957,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:957,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:961,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:960,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 962
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 962
    functionName: sclExecOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodeType
    - sclCreateColumnInfoData
    - sclFreeParamList
    - SCL_RET
    - getBinScalarOperatorFn
    - OperatorFn
    - SCL_ERR_JRET
    - scalarGetOperatorParamNum
    - sclInitOperatorParams
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclExecOperator(SOperatorNode *node, SScalarCtx *ctx, SScalarParam
      *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1086,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1094,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1100,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1088,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1098,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pNode
    - ctx
    - opType
    argTypes:
    - SNode**
    - SScalarCtx*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 1113
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1113
    functionName: sclRewriteNullInOptr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclError
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteNullInOptr(SNode **pNode, SScalarCtx *ctx, EOperatorType
      opType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1216,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1226,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1220,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1233,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1219,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - pNode
    - ppSrcTable
    - multiTable
    argTypes:
    - SNode*
    - char**
    - bool*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1243
    functionName: sclGetValueNodeSrcTable
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclGetValueNodeSrcTable
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void sclGetValueNodeSrcTable(SNode* pNode, char** ppSrcTable, bool*
      multiTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1694,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1705
    functionName: sclWalkCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclExecCaseWhen
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclWalkCaseWhen(SNode *pNode, SScalarCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:211,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:218,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:220,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - res
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: sclFreeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclFreeParam
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void sclFreeRes(SHashObj *res) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DBL_EQUAL
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:337,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - valueNode
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 347
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 347
    functionName: sclDowngradeValueType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - DBL_EQUAL
    linkageType: ''
    returnType: void
    signature: 'void sclDowngradeValueType(SValueNode *valueNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:856,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:864,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:916,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:917,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:851,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:857,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:874,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:893,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:909,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:845,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:852,1
    - Dst: sclInitParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:864,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:924,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:847,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:876,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:895,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:909,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:925,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:895,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SLogicConditionNode*
    - SScalarCtx*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 926
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 926
    functionName: sclExecLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclCreateColumnInfoData
    - sclInitParamList
    - sclError
    - sclFreeParamList
    - SCL_RET
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - colDataGetData
    - SCL_ERR_RET
    - GET_TYPED_DATA
    - SCL_IS_CONST_CALC
    - sclFreeParam
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclExecLogic(SLogicConditionNode *node, SScalarCtx *ctx, SScalarParam
      *output) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:975,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1003,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1008,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1002,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1010,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1012,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1014,1
    - Dst: sclWalkCaseWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1027,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1038,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1055,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1040,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1056,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1071,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:976,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:980,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:982,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:988,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:990,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:991,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:997,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1019,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1021,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1038,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1059,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1078,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1046,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1080,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1006,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1003,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1002,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1009,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1011,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1014,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1027,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1036,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1042,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1042,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1057,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1062,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1069,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1076,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1063,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1070,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1058,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:988,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:990,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:991,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:997,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1005,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1017,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1019,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1020,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1023,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1060,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1072,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1073,1
    - Dst: sclWalkWhenList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1046,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1061,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1039,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 118
    argCount: 3
    argNames:
    - node
    - ctx
    - output
    argTypes:
    - SCaseWhenNode*
    - SScalarCtx*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1081
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1081
    functionName: sclExecCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - sclCreateColumnInfoData
    - sclError
    - vectorCompare
    - taosMemoryFree
    - sclWalkCaseWhenList
    - sclGetNodeRes
    - colDataSetVal
    - SCL_RET
    - colDataGetData
    - SCL_ERR_RET
    - colDataIsNull_s
    - sclFreeParam
    - sclExtendResRows
    - sclWalkWhenList
    - SCL_ERR_JRET
    - setTzCharset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclExecCaseWhen(SCaseWhenNode *node, SScalarCtx *ctx, SScalarParam
      *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1116,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1125
    functionName: sclAggFuncWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclAggFuncWalker(SNode *pNode, void *pContext) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1296,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1297,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1306,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1310,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1312,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1331,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1248,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1261,1
    - Dst: sclExecFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1267,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1269,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1274,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1284,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1299,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1300,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1301,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1308,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1340,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1256,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1255,1
    - Dst: SCL_NEED_SRC_TABLE_FUNC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1260,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1249,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1276,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1277,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1320,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1322,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1328,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1330,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1291,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1286,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1305,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1308,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1316,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1316,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1318,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1337,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1310,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1342
    functionName: sclRewriteFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - nodesSetValueNodeValue
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - fmIsScalarFunc
    - SCL_NEED_SRC_TABLE_FUNC
    - FOREACH
    - memcpy
    - fmIsUserDefinedFunc
    - sclExecFunction
    - nodesDestroyNode
    - SCL_IS_CONST_NODE
    - tstrncpy
    - sclGetValueNodeSrcTable
    - sclFreeParam
    - nodesMakeNode
    - sclError
    - colDataIsNull_s
    - getJsonValueLen
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteFunction(SNode **pNode, SScalarCtx *ctx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1708,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1708,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1709,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1709,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1715,1
    - Dst: sclWalkOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1716,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1719,1
    - Dst: sclWalkFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1720,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1723,1
    - Dst: sclWalkTarget
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1728,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1735,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1731,1
    - Dst: sclWalkLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1724,1
    - Dst: sclWalkCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1732,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1735,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1727,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1738
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1738
    functionName: sclCalcWalker
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodeType
    - sclWalkFunction
    - sclError
    - sclWalkTarget
    - sclWalkOperator
    - sclWalkLogic
    - sclWalkCaseWhen
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclCalcWalker(SNode *pNode, void *pContext) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: sclGetMathOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1966,1
    - Dst: sclGetBitwiseOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1974,1
    - Dst: sclGetMinusOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1968,1
    - Dst: sclGetCompOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1995,1
    - Dst: sclGetJsonOperatorResType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1998,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 14
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2004
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 2004
    functionName: scalarGetOperatorResultType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclGetMathOperatorResType
    - sclGetMinusOperatorResType
    - sclGetCompOperatorResType
    - sclGetBitwiseOperatorResType
    - sclGetJsonOperatorResType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarGetOperatorResultType(SOperatorNode *pOp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1905,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1905
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1905
    functionName: scalarCalculateConstantsFromDual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarCalculateConstantsFromDual(SNode *pNode, SNode **pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:68,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:73,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:73,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:78,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:82,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:83,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:84,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pValueNode
    - out
    - overflow
    argTypes:
    - SValueNode*
    - SScalarParam*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 90
    functionName: sclConvertValueToSclParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclCreateColumnInfoData
    - colDataSetVal
    - colInfoDataEnsureCapacity
    - sclFreeParam
    - nodesGetValueFromNode
    - setTzCharset
    - vectorConvertSingleColImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclConvertValueToSclParam(SValueNode *pValueNode, SScalarParam
      *out, int32_t *overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scalarGetOperatorParamNum
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:619,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:625,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:627,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:622,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:621,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:628,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:631,1
    - Dst: sclSetOperatorValueType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:631,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:633,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:633,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:634,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:644,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:636,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:645,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:637,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:636,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pParams
    - node
    - ctx
    - rowNum
    argTypes:
    - SScalarParam**
    - SOperatorNode*
    - SScalarCtx*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 646
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 646
    functionName: sclInitOperatorParams
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclError
    - sclSetOperatorValueType
    - sclFreeParamList
    - SCL_RET
    - taosMemoryCalloc
    - sclInitParam
    - SCL_ERR_RET
    - SCL_ERR_JRET
    - scalarGetOperatorParamNum
    - setTzCharset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclInitOperatorParams(SScalarParam **pParams, SOperatorNode
      *node, SScalarCtx *ctx, int32_t *rowNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sclExecLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1348,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1350,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1360,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1362,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1355,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1363,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1370,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1372,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1376,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1378,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1383,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1388
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1388
    functionName: sclRewriteLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclError
    - nodesSetValueNodeValue
    - nodesDestroyNode
    - tstrncpy
    - sclExecLogic
    - sclFreeParam
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteLogic(SNode **pNode, SScalarCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:93,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:101,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:97,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:95,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:100,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:107,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:107,1
    - Dst: getBinScalarOperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:110,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:111,1
    - Dst: OperatorFn
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:111,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:116,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - pBlockList
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SArray*
    constantsTouched: []
    func_position:
      end: 117
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 117
    functionName: sclExtendResRows
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - sclError
    - taosMemoryFree
    - SCL_RET
    - taosMemoryCalloc
    - SCL_ERR_RET
    - colInfoDataEnsureCapacity
    - getBinScalarOperatorFn
    - OperatorFn
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclExtendResRows(SScalarParam *pDst, SScalarParam *pSrc, SArray
      *pBlockList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:654,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:659,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:659,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - node
    - ctx
    - res
    argTypes:
    - SNode*
    - SScalarCtx*
    - SScalarParam**
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: sclGetNodeRes
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - sclInitParam
    - SCL_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclGetNodeRes(SNode *node, SScalarCtx *ctx, SScalarParam **res) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1404,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1407,1
    - Dst: sclExecOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1424,1
    - Dst: SCL_NEED_SRC_TABLE_OP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1440,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1431,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1426,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1463,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1469,1
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1393,1
    - Dst: sclRewriteNonConstOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1420,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1433,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1434,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1452,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1461,1
    - Dst: SCL_IS_NULL_VALUE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1402,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1398,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1441,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1448,1
    - Dst: sclGetValueNodeSrcTable
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1442,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1450,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1401,1
    - Dst: sclRewriteNullInOptr
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1415,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1419,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1419,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1457,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1472,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1474
    functionName: sclRewriteOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - sclRewriteNonConstOperator
    - IS_VAR_DATA_TYPE
    - nodeType
    - ERASE_NODE
    - WHERE_EACH
    - nodesDestroyNode
    - SCL_IS_CONST_NODE
    - tstrncpy
    - sclFreeParam
    - sclGetValueNodeSrcTable
    - SCL_NEED_SRC_TABLE_OP
    - nodesMakeNode
    - sclError
    - sclRewriteNullInOptr
    - colDataIsNull_s
    - sclExecOperator
    - scalarConvertOpValueNodeTs
    - SCL_IS_NULL_VALUE_NODE
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteOperator(SNode **pNode, SScalarCtx *ctx) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:364,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:371,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:377,1
    - Dst: getScaleFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:402,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:404,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:404,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:408,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:409,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:411,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:420,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:459,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:481,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:450,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:461,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:480,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:350,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:354,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:352,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:367,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:378,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:393,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:405,1
    - Dst: scalarGenerateSetFromList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:406,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:407,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:407,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:417,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:430,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:449,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:430,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:460,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:493,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:478,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:369,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:371,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:379,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:387,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:378,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:401,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:408,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:409,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:411,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:418,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:480,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:465,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:438,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:363,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:367,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:385,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:371,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:402,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:405,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:406,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:431,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:437,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:440,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:462,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:454,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:456,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 130
    argCount: 4
    argNames:
    - node
    - param
    - ctx
    - rowNum
    argTypes:
    - SNode*
    - SScalarParam*
    - SScalarCtx*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 502
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 502
    functionName: sclInitParam
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - SCL_RET
    - colDataSetVal
    - IS_DECIMAL_TYPE
    - getScaleFromTypeMod
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosHashCleanup
    - nodeType
    - IS_INTEGER_TYPE
    - colDataSetNULL
    - FOREACH
    - decimalCalcTypeMod
    - scalarGenerateSetFromList
    - nodesGetValueFromNode
    - IS_FLOAT_TYPE
    - taosHashPut
    - sclCreateColumnInfoData
    - taosArrayGet
    - SCL_ERR_RET
    - taosHashGet
    - LIST_LENGTH
    - sclError
    - IS_NUMERIC_TYPE
    - vectorGetConvertType
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclInitParam(SNode *node, SScalarParam *param, SScalarCtx
      *ctx, int32_t *rowNum) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:572,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:582,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:594,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:588,1
    - Dst: typeGetTypeModFromDataType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:576,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:596,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:596,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:597,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:600,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 4
    argNames:
    - pNode
    - ctx
    - type
    - pTypeMod
    argTypes:
    - SNode*
    - SScalarCtx*
    - int32_t*
    - STypeMod*
    constantsTouched: []
    func_position:
      end: 608
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 608
    functionName: sclGetNodeType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodeType
    - sclError
    - typeGetTypeModFromColInfo
    - SCL_ERR_RET
    - taosHashGet
    - typeGetTypeModFromDataType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclGetNodeType(SNode *pNode, SScalarCtx *ctx, int32_t *type,
      STypeMod* pTypeMod) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:677,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:678,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:684,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:685,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:695,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:702,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:686,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:704,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:717,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:717,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:680,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:698,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:714,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:723,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:728,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:677,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:678,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:682,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:686,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:703,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:697,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:704,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:707,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:707,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:726,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:724,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:680,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:696,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:689,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:714,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:725,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 10
    argNames:
    - ctx
    - pList
    - pCell
    - pCase
    - pElse
    - pComp
    - output
    - rowIdx
    - totalRows
    - complete
    argTypes:
    - SScalarCtx*
    - SNodeList*
    - struct SListCell*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 729
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 729
    functionName: sclWalkCaseWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclGetNodeRes
    - colDataSetVal
    - SCL_RET
    - colDataIsNull_s
    - colDataGetData
    - sclFreeParam
    - sclExtendResRows
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    - vectorCompareImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclWalkCaseWhenList(SScalarCtx *ctx, SNodeList *pList, struct
      SListCell *pCell, SScalarParam *pCase, SScalarParam *pElse, SScalarParam *pComp,
      SScalarParam *output, int32_t rowIdx, int32_t totalRows, bool *complete) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sclConvertCaseWhenValueNodeTs
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1479,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1521,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1524,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1521,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1541,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1515,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1532,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1544,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1530,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1535,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1484,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1484,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1491,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1506,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1507,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1513,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1489,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1491,1
    - Dst: sclExecCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1497,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1499,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1504,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1520,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1524,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1525,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1526,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1530,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode**
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1546
    functionName: sclRewriteCaseWhen
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - sclError
    - nodesSetValueNodeValue
    - taosMemoryCalloc
    - sclExecCaseWhen
    - nodesDestroyNode
    - colDataIsNull_s
    - SCL_IS_CONST_NODE
    - tstrncpy
    - sclFreeParam
    - FOREACH
    - memcpy
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    - sclConvertCaseWhenValueNodeTs
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclRewriteCaseWhen(SNode **pNode, SScalarCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1574,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1576,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1580,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1587
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1587
    functionName: sclWalkFunction
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclFreeParam
    - taosHashPut
    - sclExecFunction
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclWalkFunction(SNode *pNode, SScalarCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1612,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1614,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1620,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1625
    functionName: sclWalkOperator
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclExecOperator
    - taosHashPut
    - sclFreeParam
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclWalkOperator(SNode *pNode, SScalarCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1786,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1786,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1791,1
    - Dst: checkOperatorRestypeIsTimestamp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1795,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1790,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1800,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1807
    functionName: sclGetMathOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - decimalGetRetType
    - IS_DECIMAL_TYPE
    - IS_VAR_DATA_TYPE
    - checkOperatorRestypeIsTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sclGetMathOperatorResType(SOperatorNode *pOp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1851,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1861
    functionName: sclGetJsonOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sclGetJsonOperatorResType(SOperatorNode *pOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 22
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 22
    functionName: scalarGetOperatorParamNum
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarGetOperatorParamNum(EOperatorType type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:509,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:523,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:511,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:526,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:525,1
    - Dst: SCL_IS_CONST_CALC
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:532,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:533,1
    - Dst: SCL_IS_CONST_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:534,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:537,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:537,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:544,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:554,1
    - Dst: sclFreeParamList
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:562,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:538,1
    - Dst: sclInitParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:545,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:563,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:545,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 5
    argNames:
    - pParams
    - pParamList
    - ctx
    - paramNum
    - rowNum
    argTypes:
    - SScalarParam**
    - SNodeList*
    - SScalarCtx*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 564
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 564
    functionName: sclInitParamList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - sclError
    - ERASE_NODE
    - sclFreeParamList
    - SCL_RET
    - taosMemoryCalloc
    - WHERE_EACH
    - sclInitParam
    - SCL_ERR_RET
    - SCL_IS_CONST_NODE
    - SCL_IS_CONST_CALC
    - FOREACH
    - SCL_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclInitParamList(SScalarParam **pParams, SNodeList *pParamList,
      SScalarCtx *ctx, int32_t *paramNum, int32_t *rowNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:612,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:613,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:614,1
    - Dst: sclGetNodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:612,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - node
    - ctx
    argTypes:
    - SOperatorNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 615
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 615
    functionName: sclSetOperatorValueType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclGetNodeType
    - SCL_ERR_RET
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclSetOperatorValueType(SOperatorNode *node, SScalarCtx *ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:745,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:746,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:746,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:751,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:753,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:796,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:793,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:765,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:770,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:772,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:782,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:785,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:785,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:794,1
    - Dst: sclGetNodeRes
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:745,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:748,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:752,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:753,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:756,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:764,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:766,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:775,1
    - Dst: sclExtendResRows
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:775,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:772,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:771,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:763,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:782,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:792,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:791,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 70
    argCount: 9
    argNames:
    - ctx
    - pList
    - pCell
    - pElse
    - output
    - rowIdx
    - totalRows
    - complete
    - preSingle
    argTypes:
    - SScalarCtx*
    - SNodeList*
    - struct SListCell*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 797
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 797
    functionName: sclWalkWhenList
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sclGetNodeRes
    - colDataSetVal
    - SCL_RET
    - colDataIsNull_s
    - colDataGetData
    - sclFreeParam
    - sclExtendResRows
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sclWalkWhenList(SScalarCtx *ctx, SNodeList *pList, struct
      SListCell *pCell, SScalarParam *pElse, SScalarParam *output, int32_t rowIdx,
      int32_t totalRows, bool *complete, bool preSingle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1551,1
    - Dst: sclRewriteOperator
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1552,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1559,1
    - Dst: sclRewriteFunction
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1556,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1555,1
    - Dst: sclRewriteLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1560,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1563,1
    - Dst: sclRewriteCaseWhen
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1568
    functionName: sclConstantsRewriter
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclRewriteLogic
    - nodeType
    - sclRewriteFunction
    - sclRewriteOperator
    - sclRewriteCaseWhen
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclConstantsRewriter(SNode **pNode, void *pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sclExecLogic
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1593,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1601,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1599,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1606
    functionName: sclWalkLogic
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclExecLogic
    - taosHashPut
    - sclFreeParam
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclWalkLogic(SNode *pNode, SScalarCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1630,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1638,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1631,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1632,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1651,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1652,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1657,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1659,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1660,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1667,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1671,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1682,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1661,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1669,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1676,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1671,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1683,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - SScalarCtx*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1688
    functionName: sclWalkTarget
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - sclError
    - taosArrayGet
    - colDataAssign
    - taosHashGet
    - taosHashRemove
    - sclFreeParam
    - taosArrayGetSize
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes sclWalkTarget(SNode *pNode, SScalarCtx *ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsRegularOp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1821,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1827,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1828,1
    - Dst: nodesIsMatchRegularOp
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1832,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1826,1
    - Dst: checkRegexPattern
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1833,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1841
    functionName: sclGetCompOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_STR_DATA_TYPE
    - nodesIsRegularOp
    - nodesIsMatchRegularOp
    - checkRegexPattern
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sclGetCompOperatorResType(SOperatorNode *pOp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1872,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 1876
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1876
    functionName: sclGetBitwiseOperatorResType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sclGetBitwiseOperatorResType(SOperatorNode *pOp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclCalcConstants
      Src: /src/tdengine/source/libs/scalar/src/scalar.c:1903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pRes
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1903
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1903
    functionName: scalarCalculateConstants
    functionSourceFile: /src/tdengine/source/libs/scalar/src/scalar.c
    functionUses: []
    functionsReached:
    - sclCalcConstants
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scalarCalculateConstants(SNode *pNode, SNode **pRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:308,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:322,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:311,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:323,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:314,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:327,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:328,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:332,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:333,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:337,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:342,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:338,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 343
    functionName: varToUnsigned
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosStr2UInt8
    - taosStr2UInt32
    - SCL_RET
    - colDataSetInt16
    - colDataSetInt64
    - colDataSetInt8
    - taosStr2UInt64
    - colDataSetInt32
    - taosStr2UInt16
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToUnsigned(char *buf, SScalarParam
      *pOut, int32_t rowIndex, int32_t *overflow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2100,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2100,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2104,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2105,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2102,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2109,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2109,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2117
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2117
    functionName: vectorIsTrue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - SCL_ERR_RET
    - GET_TYPED_DATA
    - colDataGetData
    - colDataSetInt8
    - colDataClearNull_f
    - vectorConvertSingleColImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorIsTrue(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:347,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:352,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:349,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:353,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:348,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: varToFloat
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosStr2Float
    - colDataSetDouble
    - SCL_RET
    - taosStr2Double
    - colDataSetFloat
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToFloat(char *buf, SScalarParam *pOut,
      int32_t rowIndex, int32_t *overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2121,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2128,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2132,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - json
    - key
    - isExist
    - val
    argTypes:
    - char*
    - char*
    - bool*
    - STagVal*
    constantsTouched: []
    func_position:
      end: 2133
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2133
    functionName: getJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - tTagIsJson
    - SCL_ERR_RET
    - tTagGet
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getJsonValue(char *json, char *key, bool *isExist, STagVal
      *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2375,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2381,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2376,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2379,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2376,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 7
    argNames:
    - fp
    - optr
    - pColL
    - idxL
    - pHashData
    - hashType
    - hashTypeMod
    argTypes:
    - __compar_fn_t
    - int32_t
    - SColumnInfoData*
    - int32_t
    - void*
    - int32_t
    - STypeMod
    constantsTouched: []
    func_position:
      end: 2385
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2385
    functionName: compareForTypeWithColAndHash
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - typeGetTypeModFromColInfo
    - colDataGetData
    - filterDoCompare
    linkageType: ''
    returnType: bool
    signature: 'bool compareForTypeWithColAndHash(__compar_fn_t fp, int32_t optr,
      SColumnInfoData *pColL, int32_t idxL, const void *pHashData, int32_t hashType,
      STypeMod hashTypeMod) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:525,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:544,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:547,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:556,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:554,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:503,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:526,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:545,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:557,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:565,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:574,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:574,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:591,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:584,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:576,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:533,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:534,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:538,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:547,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:562,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:547,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:565,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:565,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:566,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:570,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:501,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:505,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:522,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:569,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:571,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:577,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:589,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:574,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 110
    argCount: 2
    argNames:
    - pCtx
    - overflow
    argTypes:
    - SSclVectorConvCtx*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 592
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 592
    functionName: vectorConvertFromVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - varDataLen
    - colDataGetNumData
    - taosUcs4ToMbs
    - tTagIsJson
    - SCL_RET
    - IS_DECIMAL_TYPE
    - convertNumberToNumber
    - taosMemoryMalloc
    - colDataSetNULL
    - varDataVal
    - IS_HELPER_NULL
    - IS_FLOAT_TYPE
    - memcpy
    - IS_SIGNED_NUMERIC_TYPE
    - SCL_ERR_RET
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    - sclError
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataGetVarData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorConvertFromVarData(SSclVectorConvCtx *pCtx, int32_t
      *overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:462,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:460,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:459,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:477,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:486,1
    - Dst: initCtxGeomFromText
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:458,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:474,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:476,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:489,1
    - Dst: sclInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:463,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:467,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:483,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:471,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:472,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:486,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:487,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:459,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:463,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:464,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:469,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:474,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:482,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 491
    functionName: varToGeometry
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclInfo
    - sclError
    - doGeomFromText
    - initCtxGeomFromText
    - getGeosErrMsg
    - taosMemoryFree
    - taosMemoryCalloc
    - colDataSetVal
    - geosFreeBuffer
    - SCL_RET
    - SCL_ERR_RET
    - varDataSetLen
    - TAOS_RETURN
    - SCL_ERR_JRET
    - memcpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToGeometry(char *buf, SScalarParam
      *pOut, int32_t rowIndex, int32_t *overflow) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2338,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2344,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2339,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2340,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2347,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2347,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2348,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2351,1
    - Dst: vectorMathOpOneRowForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pOut
    - step
    - i
    - op
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 2356
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2356
    functionName: vectorMathBinaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - vectorMathOpOneRowForDecimal
    - colDataGetData
    - decimalOp
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathBinaryOpForDecimal(SScalarParam *pLeft, SScalarParam
      *pRight, SScalarParam *pOut, int32_t step, int32_t i, EOperatorType op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - type1
    - type2
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1102
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1102
    functionName: vectorGetConvertType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorGetConvertType(int32_t type1, int32_t type2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2359,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2359,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2360,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2363,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2360,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2366,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2367,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 6
    argNames:
    - fp
    - optr
    - pColL
    - idxL
    - pColR
    - idxR
    argTypes:
    - __compar_fn_t
    - int32_t
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2371
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2371
    functionName: compareForType
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - typeGetTypeModFromColInfo
    - colDataGetData
    - filterDoCompare
    linkageType: ''
    returnType: bool
    signature: 'bool compareForType(__compar_fn_t fp, int32_t optr, SColumnInfoData*
      pColL, int32_t idxL, SColumnInfoData* pColR, int32_t idxR) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1205,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1210,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1205,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1206,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1206,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1211,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1214,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1215,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1220,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1220,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1221,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1225,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1226
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1226
    functionName: vectorMathAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - colDataSetNNULL
    - SCL_ERR_RET
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathAddHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol, int32_t numOfRows, int32_t step, int32_t
      i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2075,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2080,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2084
      start: 2073
    functionDepth: 0
    functionLinenumber: 2073
    functionLinenumberEnd: 2084
    functionName: vectorIsNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetInt8
    - colDataClearNull_f
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorIsNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1716,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1719,1
    - Dst: vectorMathUnaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1717,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1719,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1717,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1722,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1722,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1726,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1727,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1731,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1737,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1738,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1739
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1739
    functionName: vectorMathMinus
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_JRET
    - getVectorDoubleValueFnLeft
    - IS_DECIMAL_TYPE
    - IS_HELPER_NULL
    - vectorMathUnaryOpForDecimal
    - doReleaseVec
    - vectorConvertVarToDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathMinus(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: getVectorBigintValue_BIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_BIGINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:366,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:366,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:367,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:367,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:368,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:373,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:384,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:383,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:390,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:391,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:401,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:374,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:377,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:379,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:381,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:388,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:396,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:387,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:393,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:399,1
    - Dst: isHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:366,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:367,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:373,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:373,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:384,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:386,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:398,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 402
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 402
    functionName: varToVarbinary
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - sclError
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - colDataSetVal
    - SCL_RET
    - taosHex2Ascii
    - varDataVal
    - SCL_ERR_RET
    - isHex
    - varDataSetLen
    - isValidateHex
    - memcpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToVarbinary(char *buf, SScalarParam
      *pOut, int32_t rowIndex, int32_t *overflow) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:645,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:685,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:689,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:718,1
    - Dst: ncharTobinary
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:724,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:671,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:670,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:653,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:673,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:692,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:701,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:711,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:671,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:672,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:694,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:692,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:718,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:724,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:670,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:673,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:701,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:689,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:711,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 127
    argCount: 13
    argNames:
    - fp
    - optr
    - typeLeft
    - typeRight
    - pLeftData
    - pRightData
    - pLeftOut
    - pRightOut
    - isNull
    - freeLeft
    - freeRight
    - result
    - charsetCxt
    argTypes:
    - __compar_fn_t*
    - int32_t
    - int8_t
    - int8_t
    - char**
    - char**
    - void*
    - void*
    - bool*
    - bool*
    - bool*
    - bool*
    - void*
    constantsTouched: []
    func_position:
      end: 735
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 735
    functionName: convertJsonValue
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - IS_NUMERIC_TYPE
    - SCL_RET
    - filterGetCompFunc
    - tTagIsJson
    - SCL_ERR_RET
    - vectorGetConvertType
    - IS_VAR_DATA_TYPE
    - ncharTobinary
    - convertNumberToNumber
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertJsonValue(__compar_fn_t *fp, int32_t optr, int8_t typeLeft,
      int8_t typeRight, char **pLeftData, char **pRightData, void *pLeftOut, void
      *pRightOut, bool *isNull, bool *freeLeft, bool *freeRight, bool *result, void*
      charsetCxt) '
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:882,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:894,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:953,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:900,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:901,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:887,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:921,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:927,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:960,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:928,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:992,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1000,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:834,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:874,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:875,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:845,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:895,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:966,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:953,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1005,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:973,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:868,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:887,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:900,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:922,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:941,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:961,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:979,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:980,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1027,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:927,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:829,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:817,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:850,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:907,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:913,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:914,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1025,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1025,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:940,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:934,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1033,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:874,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:966,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1005,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:974,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:992,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:869,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:900,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:993,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:927,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:979,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:834,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:908,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1018,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1024,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:947,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:935,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:953,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:986,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:954,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:850,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:913,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:823,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:874,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:881,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:887,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:888,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:940,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1024,1
    - Dst: vectorConvertToVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1014,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:809,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:992,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:979,1
    - Dst: vectorConvertFromVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:818,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:940,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1019,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:966,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:948,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:967,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:987,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1005,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:834,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:850,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:913,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:999,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1006,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 177
    argCount: 5
    argNames:
    - pIn
    - pOut
    - overflow
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1038
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 1038
    functionName: vectorConvertSingleColImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - vectorConvertFromVarData
    - IS_VAR_DATA_TYPE
    - colDataSetInt64
    - colDataIsNull_f
    - vectorConvertToVarData
    - colDataSetDouble
    - colDataSetNULL
    - convertToDecimal
    - colDataGetData
    - colDataSetInt32
    - IS_SIGNED_NUMERIC_TYPE
    - colDataSetFloat
    - colDataSetInt16
    - colDataSetInt8
    - sclError
    - IS_UNSIGNED_NUMERIC_TYPE
    - typeGetTypeModFromColInfo
    - GET_TYPED_DATA
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorConvertSingleColImpl(const SScalarParam *pIn, SScalarParam
      *pOut, int32_t *overflow, int32_t startIndex, int32_t numOfRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2088,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2093,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2097
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2097
    functionName: vectorNotNull
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetInt8
    - colDataClearNull_f
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorNotNull(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:60,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:68,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:72,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:77,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:64,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:81,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:85,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:89,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:93,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:97,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:101,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - inData
    - outData
    - inType
    - outType
    argTypes:
    - void*
    - void*
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 109
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 109
    functionName: convertNumberToNumber
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertNumberToNumber(const void *inData, void *outData, int8_t
      inType, int8_t outType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: getVectorBigintValue_UBIGINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_UBIGINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:752,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:752,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:769,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:786,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:791,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:753,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:789,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:757,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:774,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:787,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:791,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:795,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:786,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:777,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:742,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:745,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:751,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:746,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:755,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:763,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:762,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:768,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:769,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:772,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:780,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:779,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:789,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:751,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:751,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:755,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:760,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:768,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:768,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:757,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:770,1
    - Dst: varToNchar
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:772,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:774,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:785,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:785,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:785,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 73
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SSclVectorConvCtx*
    constantsTouched: []
    func_position:
      end: 800
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 800
    functionName: vectorConvertToVarData
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - sclError
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - varDataLen
    - IS_SIGNED_NUMERIC_TYPE
    - typeGetTypeModFromColInfo
    - colDataSetVal
    - colDataGetData
    - varDataVal
    - GET_TYPED_DATA
    - SCL_ERR_RET
    - varToNchar
    - IS_FLOAT_TYPE
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorConvertToVarData(SSclVectorConvCtx *pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1232,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1236,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1233,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1233,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1232,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1237,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1240,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1241,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1246,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1246,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1247,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1249,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1252,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1247,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 7
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    - tz
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1253
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1253
    functionName: vectorMathTsAddHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    - colDataSetNULL
    - SCL_RET
    - colDataSetNNULL
    - SCL_ERR_RET
    - getVectorBigintValueFn
    - getVectorBigintValueFnRight
    - IS_HELPER_NULL
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathTsAddHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol, int32_t numOfRows, int32_t step, int32_t
      i, timezone_t tz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1745,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1750,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1746,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1750,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1748,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1755,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1756,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1760
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1760
    functionName: vectorAssign
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclError
    - colDataSetVal
    - colDataIsNull_s
    - SCL_ERR_RET
    - colDataSetNNULL
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorAssign(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:358,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:361,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 362
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 362
    functionName: varToBool
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetInt8
    - SCL_RET
    - taosStr2Int64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToBool(char *buf, SScalarParam *pOut,
      int32_t rowIndex, int32_t *overflow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: getVectorBigintValue_INT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_INT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: getVectorBigintValue_UINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_UINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1362,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1367,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1363,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1362,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1363,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1368,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1371,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1372,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1377,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1377,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1378,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1382,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 7
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - factor
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1383
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1383
    functionName: vectorMathSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - colDataSetNNULL
    - SCL_ERR_RET
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathSubHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol, int32_t numOfRows, int32_t step, int32_t
      factor, int32_t i) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1286,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1301,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1312,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1317,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1318,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1308,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1322,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1323,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1335,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1347,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1296,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1297,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1303,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1306,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1323,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1326,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1330,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1331,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1340,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1345,1
    - Dst: vectorMathAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1345,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1283,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1301,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1308,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1317,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1318,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1325,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1340,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1341,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1347,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1354,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1352,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1296,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1297,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1300,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1306,1
    - Dst: vectorMathTsAddHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1303,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1325,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1326,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1330,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1331,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1341,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1353,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 89
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1355
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1355
    functionName: vectorMathAdd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - vectorMathAddHelper
    - vectorMathTsAddHelper
    - GET_PARAM_TYPE
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - getVectorBigintValueFn
    - IS_DECIMAL_TYPE
    - doReleaseVec
    - vectorMathBinaryOpForDecimal
    - getVectorBigintValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - vectorConvertVarToDouble
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathAdd(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1389,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1390,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1390,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1389,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1394,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1395,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1398,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1399,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1404,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1405,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1410,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1407,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 8
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - factor
    - i
    - tz
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1411
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1411
    functionName: vectorMathTsSubHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    - colDataSetNULL
    - SCL_RET
    - colDataSetNNULL
    - SCL_ERR_RET
    - getVectorBigintValueFn
    - getVectorBigintValueFnRight
    - IS_HELPER_NULL
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathTsSubHelper(SColumnInfoData *pLeftCol, SColumnInfoData
      *pRightCol, SColumnInfoData *pOutputCol, int32_t numOfRows, int32_t step, int32_t
      factor, int32_t i, timezone_t tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1778,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1779,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1786,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1767,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1774,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1792,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1782,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1799,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1800,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1764,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1774,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1773,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1778,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1779,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1793,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1786,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1792,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1773,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1793,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1798,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1787,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1801
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1801
    functionName: vectorBitAnd
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_JRET
    - getVectorBigintValueFn
    - doReleaseVec
    - getVectorBigintValueFnRight
    - IS_HELPER_NULL
    - TMAX
    - vectorConvertVarToDouble
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorBitAnd(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1427,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1419,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1432,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1433,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1438,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1444,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1436,1
    - Dst: vectorMathTsSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1440,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1450,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1478,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1486,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1473,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1427,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1457,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1473,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1474,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1478,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1480,1
    - Dst: vectorMathSubHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1480,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1463,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1428,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1432,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1433,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1449,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1450,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1457,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1458,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1462,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1463,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1474,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1455,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1487,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1462,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1416,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1428,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1436,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1440,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1438,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1455,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1458,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1468,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1485,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1488
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1488
    functionName: vectorMathSub
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - vectorMathTsSubHelper
    - getVectorBigintValueFn
    - vectorMathSubHelper
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - getVectorBigintValueFnRight
    - SCL_ERR_JRET
    - TMAX
    - vectorConvertVarToDouble
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathSub(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1808,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1815,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1823,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1828,1
    - Dst: getVectorBigintValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1834,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1841,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1842,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1805,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1815,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1814,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1819,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1820,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1827,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1834,1
    - Dst: getVectorBigintValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1835,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1814,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1835,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1840,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1819,1
    - Dst: getVectorBigintValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1820,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1827,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1843
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1843
    functionName: vectorBitOr
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - SCL_RET
    - SCL_ERR_JRET
    - getVectorBigintValueFn
    - doReleaseVec
    - getVectorBigintValueFnRight
    - IS_HELPER_NULL
    - TMAX
    - vectorConvertVarToDouble
    - getVectorBigintValueFnLeft
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorBitOr(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1578,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1585,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1602,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1586,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1626,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1630,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1630,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1632,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1651,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1578,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1581,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1596,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1598,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1596,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1602,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1607,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1621,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1635,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1636,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1568,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1580,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1585,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1592,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1586,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1610,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1611,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1615,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1627,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1640,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1650,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1571,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1580,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1581,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1606,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1615,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1617,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1621,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1640,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1649,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1652
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1652
    functionName: vectorMathDivide
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - colDataSetNNULL
    - IS_HELPER_NULL
    - doReleaseVec
    - vectorMathBinaryOpForDecimal
    - SCL_ERR_JRET
    - TMAX
    - vectorConvertVarToDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathDivide(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1999,1
    - Dst: setTzCharset
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2000,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2001,1
    - Dst: noConvertBeforeCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2001,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2001,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2005,1
    - Dst: vectorConvertCols
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2005,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2013,1
    - Dst: doVectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2013,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2016,1
    - Dst: sclFreeParam
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2017,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - pLeft
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2019
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2019
    functionName: vectorCompareImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - GET_PARAM_TYPE
    - SCL_RET
    - noConvertBeforeCompare
    - sclFreeParam
    - doVectorCompare
    - SCL_ERR_JRET
    - vectorConvertCols
    - setTzCharset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorCompareImpl(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t startIndex, int32_t numOfRows, int32_t _ord, int32_t
      optr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2022,1
    - Dst: vectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2023
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2023
    functionName: vectorCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompareImpl
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorCompare(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord, int32_t optr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1659,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1666,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1669,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1678,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1683,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1689,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1691,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1692,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1656,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1668,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1673,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1682,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1689,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1674,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1690,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1701,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1702,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1668,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1669,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1690,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1691,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1691,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1666,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1673,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1674,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1682,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1691,1
    - Dst: FLT_EQUAL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1691,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1700,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1703
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1703
    functionName: vectorMathRemainder
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - isinf
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - IS_HELPER_NULL
    - isnan
    - vectorMathBinaryOpForDecimal
    - doReleaseVec
    - FLT_EQUAL
    - SCL_ERR_JRET
    - TMAX
    - vectorConvertVarToDouble
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathRemainder(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1105,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1106,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1107,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1107,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1106,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1108,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1108,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1109,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1109,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1110,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1110,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1111,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1111,1
    - Dst: GET_DEICMAL_MAX_PRECISION
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - type
    - pCol1
    - pCol2
    argTypes:
    - int32_t
    - SColumnInfo*
    - SColumnInfo*
    constantsTouched: []
    func_position:
      end: 1117
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1117
    functionName: getConvertTypeMod
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - TMAX
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    - GET_DEICMAL_MAX_PRECISION
    linkageType: ''
    returnType: STypeMod
    signature: 'STypeMod getConvertTypeMod(int32_t type, const SColumnInfo* pCol1,
      const SColumnInfo* pCol2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1495,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1500,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1495,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1496,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1496,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1501,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1504,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1505,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1510,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1510,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1511,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1515,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1511,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - pLeftCol
    - pRightCol
    - pOutputCol
    - numOfRows
    - step
    - i
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1516
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1516
    functionName: vectorMathMultiplyHelper
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - colDataSetNNULL
    - SCL_ERR_RET
    - IS_HELPER_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathMultiplyHelper(SColumnInfoData *pLeftCol,
      SColumnInfoData *pRightCol, SColumnInfoData *pOutputCol, int32_t numOfRows,
      int32_t step, int32_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2026,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2027
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2027
    functionName: vectorGreater
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorGreater(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2034,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2035
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2035
    functionName: vectorLower
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorLower(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1127,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1130,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1128,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1129,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1132,1
    - Dst: sclCreateColumnInfoData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1135,1
    - Dst: vectorConvertSingleColImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - input
    - output
    - type
    - typeMod
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - STypeMod
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1146
    functionName: vectorConvertSingleCol
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclCreateColumnInfoData
    - extractTypeFromTypeMod
    - IS_TIMESTAMP_TYPE
    - IS_DECIMAL_TYPE
    - IS_VAR_DATA_TYPE
    - vectorConvertSingleColImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorConvertSingleCol(SScalarParam *input, SScalarParam *output,
      int32_t type, STypeMod typeMod, int32_t startIndex, int32_t numOfRows) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1532,1
    - Dst: getVectorDoubleValueFnLeft
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1549,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1554,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1561,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1530,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1533,1
    - Dst: vectorConvertVarToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1533,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1537,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1544,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1549,1
    - Dst: getVectorDoubleValueFnRight
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1550,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1538,1
    - Dst: vectorMathMultiplyHelper
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1556,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1532,1
    - Dst: vectorMathBinaryOpForDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1530,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1523,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1550,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1554,1
    - Dst: doReleaseVec
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1562,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1563,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1520,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1537,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1538,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1556,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1564
      start: 1518
    functionDepth: 0
    functionLinenumber: 1518
    functionLinenumberEnd: 1564
    functionName: vectorMathMultiply
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getVectorDoubleValueFn
    - colDataSetNULL
    - getVectorDoubleValueFnRight
    - SCL_RET
    - getVectorDoubleValueFnLeft
    - doReleaseVec
    - vectorMathBinaryOpForDecimal
    - SCL_ERR_JRET
    - TMAX
    - vectorConvertVarToDouble
    - vectorMathMultiplyHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMathMultiply(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2030,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2030,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2031
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2031
    functionName: vectorGreaterEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorGreaterEqual(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2038,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2039
      start: 2037
    functionDepth: 0
    functionLinenumber: 2037
    functionLinenumberEnd: 2039
    functionName: vectorLowerEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorLowerEqual(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: getVectorBigintValue_SMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_SMALLINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: getVectorBigintValue_USMALLINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_USMALLINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2050,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2051
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2051
    functionName: vectorIn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorIn(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:113,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:113,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:115,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:117,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:117,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:117,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:119,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:120,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:125,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:130,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:131,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - inData
    - outData
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 132
    functionName: convertNcharToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - sclError
    - taosMemoryMalloc
    - taosUcs4ToMbs
    - varDataLen
    - taosStr2Double
    - SCL_RET
    - varDataVal
    - SCL_ERR_RET
    - SCL_ERR_JRET
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertNcharToDouble(const void *inData, void *outData) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:234,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - srcType
    - p
    argTypes:
    - int32_t
    - _getBigintValue_fn_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 238
    functionName: getVectorBigintValueFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValueFn(int32_t srcType, _getBigintValue_fn_t
      *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:253,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:254,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:257,1
    - Dst: decimalFromStr
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:254,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 260
    functionName: varToDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    - strlen
    - colDataGetData
    - decimalFromStr
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToDecimal(char* buf, SScalarParam*
      pOut, int32_t rowIndex, int32_t* overflow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:595,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:600,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:601,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:598,1
    - Dst: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:600,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:602,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:604,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:604,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - src
    - index
    - out
    argTypes:
    - void*
    - int32_t
    - double*
    constantsTouched: []
    func_position:
      end: 607
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 607
    functionName: getVectorDoubleValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    - tTagIsJson
    - SCL_ERR_RET
    - convertNcharToDouble
    - colDataGetVarData
    - convertNumberToNumber
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorDoubleValue_JSON(void *src, int32_t index, double
      *out) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2042,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2043
      start: 2041
    functionDepth: 0
    functionLinenumber: 2041
    functionLinenumberEnd: 2043
    functionName: vectorEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorEqual(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2058,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2059
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2059
    functionName: vectorLike
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorLike(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2062,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2063
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2063
    functionName: vectorNotLike
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorNotLike(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2054,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2055
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2055
    functionName: vectorNotIn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorNotIn(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:243,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:249,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:248,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: varToTimestamp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - strlen
    - colDataSetInt64
    - taosParseTime
    - SCL_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToTimestamp(char *buf, SScalarParam
      *pOut, int32_t rowIndex, int32_t *overflow) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:266,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:272,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:280,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:269,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:282,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:286,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:287,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:291,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:292,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:296,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:297,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:301,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 302
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 302
    functionName: varToSigned
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    - colDataSetInt16
    - colDataSetInt64
    - taosStr2Int64
    - taosStr2Int32
    - colDataSetInt8
    - taosStr2Int8
    - colDataSetInt32
    - taosStr2Int16
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToSigned(char *buf, SScalarParam *pOut,
      int32_t rowIndex, int32_t *overflow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:610,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:615,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:612,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:614,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:616,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:618,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:618,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:618,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:618,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:620,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:626,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:623,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:624,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - out
    - charsetCxt
    argTypes:
    - void*
    - void**
    - void*
    constantsTouched: []
    func_position:
      end: 628
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 628
    functionName: ncharTobinary
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - sclError
    - taosMemoryFree
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - varDataLen
    - SCL_RET
    - varDataVal
    - SCL_ERR_RET
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ncharTobinary(void *buf, void **out, void* charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2046,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2047
      start: 2045
    functionDepth: 0
    functionLinenumber: 2045
    functionLinenumberEnd: 2047
    functionName: vectorNotEqual
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorNotEqual(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1849,1
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1855,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1882,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1897,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1897,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1912,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1849,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1882,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1901,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1923,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1849,1
    - Dst: compareForType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1870,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1897,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1902,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1889,1
    - Dst: convertJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1897,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1884,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1849,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1865,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1866,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1888,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1909,1
    - Dst: filterDoCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1911,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1919,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 9
    argNames:
    - pLeft
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - step
    - fp
    - optr
    - num
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - __compar_fn_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1929
    functionName: doVectorCompareImpl
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - sclError
    - filterDoCompare
    - GET_PARAM_TYPE
    - colDataGetData
    - SCL_ERR_RET
    - colDataSetInt8
    - taosMemoryFreeClear
    - compareForType
    - IS_HELPER_NULL
    - IS_MATHABLE_TYPE
    - convertJsonValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doVectorCompareImpl(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t startIndex, int32_t numOfRows, int32_t step, __compar_fn_t
      fp, int32_t optr, int32_t *num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2139,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2145,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2142,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2145,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2144,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2147,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2149,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2149,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2149,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2165,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2166,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2156,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2154,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2156,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2161,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2167
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2167
    functionName: vectorJsonContains
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getJsonValue
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - colDataSetVal
    - SCL_RET
    - varDataVal
    - SCL_ERR_RET
    - colDataGetVarData
    - SCL_ERR_JRET
    - TMAX
    - memcpy
    - colDataIsNull_var
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorJsonContains(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:43,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:44,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:43,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - leftType
    - rightType
    - optr
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: noConvertBeforeCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_NUMERIC_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool noConvertBeforeCompare(int32_t leftType, int32_t rightType, int32_t
      optr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: getVectorBigintValue_TINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_TINYINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1935,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1941,1
    - Dst: filterGetCompFuncEx
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1943,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1941,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1936,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1947,1
    - Dst: filterGetCompFunc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1947,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1947,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1950,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1951,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1980,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1986,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1966,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1968,1
    - Dst: doVectorCompareImpl
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1986,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1962,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1960,1
    - Dst: compareForTypeWithColAndHash
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1976,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 8
    argNames:
    - pLeft
    - pLeftVar
    - pRight
    - pOut
    - startIndex
    - numOfRows
    - _ord
    - optr
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1989
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1989
    functionName: doVectorCompare
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - filterGetCompFunc
    - GET_PARAM_TYPE
    - filterGetCompFuncEx
    - SCL_ERR_RET
    - taosHashGetSize
    - colDataSetInt8
    - doVectorCompareImpl
    - compareForTypeWithColAndHash
    - IS_HELPER_NULL
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doVectorCompare(SScalarParam *pLeft, SScalarParam *pLeftVar,
      SScalarParam *pRight, SScalarParam *pOut, int32_t startIndex, int32_t numOfRows,
      int32_t _ord, int32_t optr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2183,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2183,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2199,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2190,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2173,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2181,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2185,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2186,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2197,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2195,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2193,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2179,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2176,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2178,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2194,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2204,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2179,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2183,1
    - Dst: getJsonValue
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2193,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2196,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2203,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2205
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2205
    functionName: vectorJsonArrow
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - getJsonValue
    - taosMemoryFree
    - colDataSetNull_var
    - varDataLen
    - taosMemoryCalloc
    - tTagValToData
    - colDataSetVal
    - IS_VAR_DATA_TYPE
    - varDataVal
    - SCL_ERR_RET
    - colDataGetVarData
    - SCL_RET
    - SCL_ERR_JRET
    - TMAX
    - memcpy
    - colDataIsNull_var
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorJsonArrow(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: getVectorBigintValue_UTINYINT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_UTINYINT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2066,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2066,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2067
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2067
    functionName: vectorMatch
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorMatch(SScalarParam *pLeft, SScalarParam *pRight, SScalarParam
      *pOut, int32_t _ord) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2070,1
    - Dst: vectorCompare
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pLeft
    - pRight
    - pOut
    - _ord
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2071
      start: 2069
    functionDepth: 0
    functionLinenumber: 2069
    functionLinenumberEnd: 2071
    functionName: vectorNotMatch
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorCompare
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorNotMatch(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pOut, int32_t _ord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:406,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:415,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:415,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:410,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:412,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:415,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:417,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:418,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:420,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:425,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:426,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:422,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 427
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 427
    functionName: varToNchar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclError
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - colDataSetVal
    - SCL_RET
    - varDataVal
    - SCL_ERR_RET
    - varDataSetLen
    - taosMbsToUcs4
    - SCL_ERR_JRET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t varToNchar(char *buf, SScalarParam *pOut,
      int32_t rowIndex, int32_t *overflow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1260,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1262,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1261,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1265,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1262,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pInput
    - converted
    - pOutputCol
    argTypes:
    - SScalarParam*
    - int32_t*
    - SColumnInfoData**
    constantsTouched: []
    func_position:
      end: 1271
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1271
    functionName: vectorConvertVarToDouble
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - vectorConvertSingleCol
    - SCL_RET
    - SCL_ERR_RET
    - IS_DECIMAL_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorConvertVarToDouble(SScalarParam *pInput, int32_t
      *converted, SColumnInfoData **pOutputCol) '
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 2
    argCount: 1
    argNames:
    - binFunctionId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2264
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2264
    functionName: getBinScalarOperatorFn
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: _bin_scalar_fn_t
    signature: '_bin_scalar_fn_t getBinScalarOperatorFn(int32_t binFunctionId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:431,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:433,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:437,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:437,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:435,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:437,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:437,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:439,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:441,1
    - Dst: SCL_ERR_JRET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:443,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:447,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:443,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - buf
    - pOut
    - rowIndex
    - overflow
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 448
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 448
    functionName: ncharToVar
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - varDataLen
    - colDataSetVal
    - SCL_RET
    - varDataVal
    - SCL_ERR_RET
    - varDataSetLen
    - SCL_ERR_JRET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t ncharToVar(char *buf, SScalarParam *pOut,
      int32_t rowIndex, int32_t *overflow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1275,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCol
    - type
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1278
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1278
    functionName: doReleaseVec
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void doReleaseVec(SColumnInfoData *pCol, int32_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2270,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2271,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - opType
    - lType
    - rType
    argTypes:
    - EOperatorType
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2277
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2277
    functionName: checkOperatorRestypeIsTimestamp
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool checkOperatorRestypeIsTimestamp(EOperatorType opType, int32_t
      lType, int32_t rType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2284,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2286,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2287,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2288,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2285,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2295,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2295,1
    - Dst: convertToDecimal
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2298,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2298,1
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2303,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2309,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2309,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2311,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2304,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2311,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 7
    argNames:
    - pLeft
    - pRight
    - pOut
    - step
    - i
    - op
    - pOneRowParam
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2315
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2315
    functionName: vectorMathOpOneRowForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - convertToDecimal
    - colDataSetNULL
    - colDataGetData
    - colDataSetNNULL
    - GET_COL_DATA_TYPE
    - IS_HELPER_NULL
    - decimalOp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathOpOneRowForDecimal(SScalarParam *pLeft, SScalarParam
      *pRight, SScalarParam *pOut, int32_t step, int32_t i, EOperatorType op, SScalarParam
      *pOneRowParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_HELPER_NULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2323,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2327,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2324,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2329,1
    - Dst: GET_COL_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2327,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:2329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - pCol
    - pOut
    - step
    - i
    - op
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 2332
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2332
    functionName: vectorMathUnaryOpForDecimal
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataGetData
    - IS_HELPER_NULL
    - decimalOp
    - GET_COL_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vectorMathUnaryOpForDecimal(SScalarParam *pCol, SScalarParam
      *pOut, int32_t step, int32_t i, EOperatorType op) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1150,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1172,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1164,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1151,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1164,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1172,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1172,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1177,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1177,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1177,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1185,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1188,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1189,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1189,1
    - Dst: vectorConvertSingleCol
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1185,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1184,1
    - Dst: getConvertTypeMod
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:1181,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 6
    argNames:
    - pLeft
    - pRight
    - pLeftOut
    - pRightOut
    - startIndex
    - numOfRows
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - SScalarParam*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1193
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1193
    functionName: vectorConvertCols
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclError
    - vectorConvertSingleCol
    - getConvertTypeMod
    - GET_PARAM_TYPE
    - SCL_ERR_RET
    - vectorGetConvertType
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vectorConvertCols(SScalarParam *pLeft, SScalarParam *pRight,
      SScalarParam *pLeftOut, SScalarParam *pRightOut, int32_t startIndex, int32_t
      numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: getVectorBigintValue_FLOAT
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_FLOAT(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: getVectorBigintValue_BOOL
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_BOOL(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: getVectorBigintValue_DOUBLE
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - SCL_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_DOUBLE(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:182,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:190,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:184,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:186,1
    - Dst: sclError
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:183,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:192,1
    - Dst: convertNcharToDouble
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:192,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:193,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:195,1
    - Dst: SCL_ERR_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:197,1
    - Dst: convertNumberToNumber
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:197,1
    - Dst: SCL_RET
      Src: /src/tdengine/source/libs/scalar/src/sclvector.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - src
    - index
    - res
    argTypes:
    - void*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 201
    functionName: getVectorBigintValue_JSON
    functionSourceFile: /src/tdengine/source/libs/scalar/src/sclvector.c
    functionUses: []
    functionsReached:
    - sclError
    - SCL_RET
    - tTagIsJson
    - SCL_ERR_RET
    - colDataGetVarData
    - convertNcharToDouble
    - colDataIsNull_var
    - convertNumberToNumber
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVectorBigintValue_JSON(void *src, int32_t index, int64_t
      *res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:76,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/test/uv.c:81,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:77,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:79,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:80,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:82,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:83,1
    - Dst: uv_write2
      Src: /src/tdengine/source/libs/transport/test/uv.c:86,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - status
    argTypes:
    - uv_stream_t*
    - int
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: on_new_connection
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - container_of
    - taosMemoryMalloc
    - uv_accept
    - uv_tcp_init
    - uv_close
    - printf
    - uv_buf_init
    - uv_write2
    linkageType: ''
    returnType: void
    signature: 'void on_new_connection(uv_stream_t *s, int status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:44,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:46,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:55,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/test/uv.c:54,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:48,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:60,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:60,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:63,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: echo_read
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - container_of
    - taosMemoryFree
    - taosMemoryMalloc
    - fprintf
    - uv_close
    - printf
    - uv_write
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: 'void echo_read(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: workerAsyncCallback
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: void
    signature: 'static void workerAsyncCallback(uv_async_t *handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:37,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:40,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:37,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: echo_write
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - fprintf
    - taosMemoryFree
    - uv_err_name
    - printf
    linkageType: ''
    returnType: void
    signature: 'void echo_write(uv_write_t *req, int status) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/test/uv.c:99,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:128,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:130,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:95,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:95,1
    - Dst: uv_pipe_pending_type
      Src: /src/tdengine/source/libs/transport/test/uv.c:107,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:110,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:118,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:123,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:124,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:125,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:113,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:114,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:96,1
    - Dst: uv_pipe_pending_count
      Src: /src/tdengine/source/libs/transport/test/uv.c:102,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/test/uv.c:127,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/test/uv.c:129,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/test/uv.c:122,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:93,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:103,1
    - Dst: TD_ALWAYS_ASSERT
      Src: /src/tdengine/source/libs/transport/test/uv.c:108,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:116,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/test/uv.c:120,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/uv.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: child_on_new_connection
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - container_of
    - uv_timer_init
    - taosMemoryFree
    - taosMemoryMalloc
    - uv_accept
    - fprintf
    - uv_pipe_pending_type
    - uv_tcp_init
    - uv_close
    - uv_read_start
    - printf
    - uv_timer_start
    - TD_ALWAYS_ASSERT
    - uv_timer_stop
    - uv_err_name
    - uv_fileno
    - uv_pipe_pending_count
    linkageType: ''
    returnType: void
    signature: 'void child_on_new_connection(uv_stream_t *q, ssize_t nread, const
      uv_buf_t *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: alloc_buffer
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: void
    signature: 'void alloc_buffer(uv_handle_t *handle, size_t suggested_size, uv_buf_t
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:142,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:143,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/test/uv.c:146,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:145,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:148,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:149,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/test/uv.c:150,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/test/uv.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: worker_thread
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - uv_run
    - uv_pipe_init
    - taosMemoryMalloc
    - uv_async_init
    - uv_read_start
    - uv_pipe_open
    linkageType: ''
    returnType: void*
    signature: 'void *worker_thread(void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:155,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:156,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/uv.c:176,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/test/uv.c:192,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:160,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:171,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:178,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/test/uv.c:188,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/test/uv.c:185,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:165,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:166,1
    - Dst: uv_socketpair
      Src: /src/tdengine/source/libs/transport/test/uv.c:168,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/test/uv.c:172,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/test/uv.c:186,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/uv.c:159,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/uv.c:180,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/test/uv.c:183,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/transport/test/uv.c:189,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/test/uv.c:189,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 195
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 195
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/uv.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - uv_run
    - uv_pipe_init
    - taosMemoryMalloc
    - taosMemoryCalloc
    - uv_tcp_init
    - fprintf
    - uv_ip4_addr
    - printf
    - taosThreadCreate
    - uv_tcp_bind
    - uv_listen
    - uv_err_name
    - uv_socketpair
    - uv_pipe_open
    linkageType: ''
    returnType: int
    signature: 'int main() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/http_test.c:29,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/http_test.c:30,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/http_test.c:31,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/http_test.c:34,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/http_test.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: []
    functionsReached:
    - strcpy
    - printf
    - taosRemoveDir
    - taosMkDir
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: 'void initLogEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/http_test.c:46,1
    - Dst: taosSendHttpReport
      Src: /src/tdengine/source/libs/transport/test/http_test.c:48,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/transport/test/http_test.c:50,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/http_test.c:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/http_test.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: proces
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - memset
    - taosSendHttpReport
    - taosUsleep
    linkageType: ''
    returnType: void*
    signature: 'void *proces(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/http_test.c:54,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/http_test.c:60,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/http_test.c:56,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/transport/test/http_test.c:66,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/transport/test/http_test.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 69
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/http_test.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosCloseLog
    - initLogEnv
    - taosThreadCreate
    - taosMsleep
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:41,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:42,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:43,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:46,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: []
    functionsReached:
    - strcpy
    - printf
    - taosRemoveDir
    - taosMkDir
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: 'void initLogEnv() '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:101,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:121,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:123,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:132,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:133,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:135,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:141,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:142,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:147,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:152,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:161,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:192,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:197,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:190,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:179,1
    - Dst: exit
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:155,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:200,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:124,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:125,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:134,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:145,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:146,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:151,1
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:159,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:167,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:170,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:183,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:205,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:163,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:102,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:105,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:126,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:129,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:128,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:137,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:139,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:149,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:150,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:154,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:187,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:122,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:131,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:127,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:136,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:138,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:140,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:144,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:148,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:198,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:172,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:160,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:168,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:193,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 178
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 208
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: []
    functionsReached:
    - exit
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - strcpy
    - taosThreadJoin
    - rpcOpen
    - taosCloseLog
    - taosThreadCreate
    - atoi
    - initLogEnv
    - printf
    - memset
    - taosGetTimestampUs
    - taosUsleep
    - tsem_init
    - strcmp
    - tInfo
    - taosVersionStrToInt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:52,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:55,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: processResponse
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tDebug
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void processResponse(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:65,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:69,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:75,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:74,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:76,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:77,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/cliBench.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 84
    functionName: sendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/test/cliBench.c
    functionUses: []
    functionsReached:
    - tsem_wait
    - tInfo
    - rpcSendRequest
    - rpcMallocCont
    - tDebug
    linkageType: ''
    returnType: void*
    signature: 'static void *sendRequest(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:51,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:53,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:52,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:55,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 58
    functionName: initLogEnv
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: []
    functionsReached:
    - strcpy
    - printf
    - taosRemoveDir
    - taosMkDir
    - taosInitLog
    linkageType: ''
    returnType: void
    signature: 'void initLogEnv() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:69,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:80,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:73,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:77,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:72,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:82,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:83,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:85,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:86,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:90,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:95,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:98,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:92,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 100
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 100
    functionName: processShellMsg
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - rpcMallocCont
    - taosResetQitems
    - taosAllocateQall
    - taosReadAllQitemsFromQset
    - memset
    - rpcSendResponse
    - taosUpdateItemSize
    - taosFreeQall
    - rpcFreeCont
    - taosGetQitem
    - tDebug
    linkageType: ''
    returnType: void*
    signature: 'void *processShellMsg(void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:105,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:106,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:109,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: processRequestMsg
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosWriteQitem
    - tDebug
    - taosAllocateQitem
    linkageType: ''
    returnType: void
    signature: 'void processRequestMsg(void *pParent, SRpcMsg *pMsg, SEpSet *pEpSet) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosBlockSIGPIPE
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:119,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:121,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:134,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:138,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:139,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:141,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:151,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:168,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:178,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:193,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:129,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:137,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:146,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:147,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:152,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:153,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:154,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:156,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:159,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:175,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:189,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:136,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:145,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:144,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:155,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:157,1
    - Dst: exit
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:160,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:167,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:170,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:179,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:190,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:196,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:201,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:191,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:204,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:200,1
    - Dst: getchar
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:123,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:135,1
    - Dst: atoi
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:143,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:140,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:142,1
    - Dst: printf
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:158,1
    - Dst: initLogEnv
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:166,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:179,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:183,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:186,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/test/svrBench.c:185,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 207
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 207
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/transport/test/svrBench.c
    functionUses: []
    functionsReached:
    - exit
    - tError
    - taosAddIntoQset
    - taosOpenQueue
    - taosRemoveFile
    - taosOpenFile
    - rpcOpen
    - taosMemoryMalloc
    - taosBlockSIGPIPE
    - taosThreadCreate
    - strerror
    - atoi
    - memcpy
    - taosCloseFile
    - UNUSED
    - initLogEnv
    - memset
    - printf
    - taosOpenQset
    - strcmp
    - getchar
    - strlen
    - tInfo
    - taosVersionStrToInt
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: typedef
    functionSourceFile: /src/tdengine/source/libs/transport/inc/transComm.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PACK_PUSH_MIN
    signature: 'PACK_PUSH_MIN typedef struct '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void transFreeMsg(void* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 172
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 172
    functionName: transClearBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transClearBuffer(SConnBuffer* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 791
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 791
    functionName: transGetSvrRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetSvrRefMgt() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1441
    functionName: transGetRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetRefMgt() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_ip4_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:137,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:138,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - sockname
    - dst
    argTypes:
    - struct sockaddr*
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: transSockInfo2Str
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - uv_ip4_name
    - ntohs
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'void transSockInfo2Str(struct sockaddr* sockname, char* dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:183,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:187,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - connBuf
    - buf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - transResetBuffer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1385,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1388,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - type
    - pTransport
    argTypes:
    - RPC_TYPE
    - STrans*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1391
    functionName: transUpdateCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUpdateCb(RPC_TYPE type, STrans* pTransport) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1662,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1666
    functionName: transQueuePop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void*
    signature: 'void * transQueuePop(STransQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1667
    functionDepth: 0
    functionLinenumber: 1667
    functionLinenumberEnd: 1667
    functionName: transQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transQueueSize(STransQueue* q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:844,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:846,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:847,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 848
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 848
    functionName: transDestroySyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tsem2_destroy
    - transFreeMsg
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void transDestroySyncMsg(void* msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1393,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1394,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1403,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1396,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - type
    - ppTransport
    argTypes:
    - RPC_TYPE
    - STrans**
    constantsTouched: []
    func_position:
      end: 1405
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1405
    functionName: transGetCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetCb(RPC_TYPE type, STrans** ppTransport) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: subnetIpRang2Int
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t subnetIpRang2Int(SIpV4Range* pRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1410,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1416,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1411,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1415,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pTransport
    - pMsg
    - pEpSet
    argTypes:
    - STrans*
    - SRpcMsg*
    - void*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1418
    functionName: transSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    - memcpy
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendReq(STrans* pTransport, SRpcMsg* pMsg, void* pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:967,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:971,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:969,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:970,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 973
    functionName: destroyWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    - QUEUE_REMOVE
    - QUEUE_DATA
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void destroyWQ(queue* wq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 806
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 806
    functionName: transCloseRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: 'void transCloseRefMgt(int32_t mgt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: transInitBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transInitBuffer(SConnBuffer* buf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:283,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:293,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:301,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:291,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:307,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:310,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:315,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:317,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:317,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - loop
    - sz
    - arg
    - cb
    - pPool
    argTypes:
    - uv_loop_t*
    - int
    - void*
    - AsyncCB
    - SAsyncPool**
    constantsTouched: []
    func_position:
      end: 331
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 331
    functionName: transAsyncPoolCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - taosThreadMutexInit
    - uv_async_init
    - uv_err_name
    - transAsyncPoolDestroy
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transAsyncPoolCreate(uv_loop_t* loop, int sz, void* arg, AsyncCB
      cb, SAsyncPool** pPool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1326,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1330,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1334,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1337,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1347,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1357,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1356,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1339,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1358,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1366,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1324,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1330,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1344,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1342,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1354,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1361,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1363,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1327,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1325,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1336,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1343,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1350,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1362,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1329,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1372
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosOpenQset
    - taosMemoryMalloc
    - taosThreadMutexInit
    - taosThreadCreate
    - taosAddIntoQset
    - taosOpenQueue
    - taosGetDefaultHashFunction
    - taosOpenRef
    - taosHashInit
    - transOpenRefMgt
    linkageType: ''
    returnType: void
    signature: 'static void transInitEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1374,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1376
    functionName: transDestroyEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transCloseRefMgt
    linkageType: ''
    returnType: void
    signature: 'static void transDestroyEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1444
    functionName: transGetSyncMsgMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetSyncMsgMgt() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transDestroyEnv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1450
    functionName: transCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transDestroyEnv
    linkageType: ''
    returnType: void
    signature: 'void transCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:154,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: transDestroyBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void transDestroyBuffer(SConnBuffer* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:344,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:345,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    constantsTouched: []
    func_position:
      end: 346
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 346
    functionName: transAsyncPoolDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void transAsyncPoolDestroy(SAsyncPool* pool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 810
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 810
    functionName: transAddExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t transAddExHandle(int32_t refMgt, void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:976,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:977,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:978,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transComm.c:979,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:985,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:991,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - wq
    - arg
    argTypes:
    - queue*
    - void*
    constantsTouched: []
    func_position:
      end: 994
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 994
    functionName: allocWReqFromWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosMemoryCalloc
    - QUEUE_REMOVE
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: uv_write_t*
    signature: 'uv_write_t * allocWReqFromWQ(queue* wq, void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1165,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1172,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1170,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1168,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1172,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1174,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1177
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tError
    - taosHashIterate
    - tstrerror
    - taosHashGetKey
    - taosHashPut
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void transCtxMerge(STransCtx* dst, STransCtx* src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1459
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1459
    functionName: transCloseRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: 'void transCloseRefMgt(int32_t mgt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transComm.c:33,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:37,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:50,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:35,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:42,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:51,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:53,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 62
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 62
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - LZ4_compress_default
    - tWarn
    - memcpy
    - transHeadFromCont
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCompressMsg(char* msg, int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1182,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1189
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1189
    functionName: transCtxDumpVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosHashGet
    linkageType: ''
    returnType: void*
    signature: 'void * transCtxDumpVal(STransCtx* ctx, int32_t key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - p
    argTypes:
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1463
    functionName: transAddExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t transAddExHandle(int32_t refMgt, void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 792
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 792
    functionName: transGetInstMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetInstMgt() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:220,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:213,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    constantsTouched: []
    func_position:
      end: 224
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 224
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosMemoryRealloc
    - tError
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:576,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: timeCompare
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - container_of
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t timeCompare(const HeapNode* a, const HeapNode*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:768,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:771,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:772,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:770,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:769,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:772,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 773
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 773
    functionName: transInitEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - uv_os_setenv
    - taosOpenRef
    - TAOS_UNUSED
    - transOpenRefMgt
    linkageType: ''
    returnType: void
    signature: 'static void transInitEnv() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1442
    functionName: transGetSvrRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetSvrRefMgt() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pReqEpSet
    argTypes:
    - SReqEpSet*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: transValidReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transValidReqEpset(SReqEpSet* pReqEpSet) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:241,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - connBuf
    - uvBuf
    argTypes:
    - SConnBuffer*
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 252
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 252
    functionName: transAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transAllocBuffer(SConnBuffer* connBuf, uv_buf_t* uvBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:587,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:593,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:589,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:591,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:597,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:605,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    constantsTouched: []
    func_position:
      end: 607
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 607
    functionName: transDQTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - heapMin
    - tTrace
    - container_of
    - taosMemoryFree
    - TAOS_UNUSED
    - heapRemove
    - uv_timer_start
    linkageType: ''
    returnType: void
    signature: 'static void transDQTimeout(uv_timer_t* timer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - size
    - (*func)
    argTypes:
    - int
    - void
    constantsTouched: []
    func_position:
      end: 1454
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1454
    functionName: transOpenRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosOpenRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transOpenRefMgt(int size, void (*func)(void*)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transDestroyEnv
      Src: /src/tdengine/source/libs/transport/src/transComm.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 798
    functionName: transCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transDestroyEnv
    linkageType: ''
    returnType: void
    signature: 'void transCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:775,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:777,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:776,1
    - Dst: transCloseRefMgt
      Src: /src/tdengine/source/libs/transport/src/transComm.c:778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 779
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 779
    functionName: transDestroyEnv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transCloseRefMgt
    linkageType: ''
    returnType: void
    signature: 'static void transDestroyEnv() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1023,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1029,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1031,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1032,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    constantsTouched: []
    func_position:
      end: 1038
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1038
    functionName: transCreateReqEpsetFromUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - taosMemoryFree
    - transValidReqEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateReqEpsetFromUserEpset(const SEpSet* pEpset, SReqEpSet**
      pReqEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: transCtxDumpBrokenlinkVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'void * transCtxDumpBrokenlinkVal(STransCtx* ctx, int32_t* msgType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: transQueueEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool transQueueEmpty(STransQueue* q) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:614,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:624,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:621,1
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:619,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:626,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transComm.c:633,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:642,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:643,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:644,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - loop
    - queue
    argTypes:
    - uv_loop_t*
    - SDelayQueue**
    constantsTouched: []
    func_position:
      end: 646
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 646
    functionName: transDQCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - uv_timer_init
    - taosMemoryFree
    - heapCreate
    - taosMemoryCalloc
    - heapDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDQCreate(uv_loop_t* loop, SDelayQueue** queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1479
      start: 1475
    functionDepth: 0
    functionLinenumber: 1475
    functionLinenumberEnd: 1479
    functionName: transReleaseExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: void
    signature: 'void transReleaseExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1508
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1508
    functionName: subnetCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetCheckIp(SubnetUtils* pUtils, uint32_t ip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1046
    functionName: transCreateUserEpsetFromReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateUserEpsetFromReqEpset(const SReqEpSet* pReqEpSet,
      SEpSet* pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:565,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:566,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 571
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 571
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void transQueueClear(STransQueue* q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:649,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:651,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:652,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:658,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:656,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:661,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:664,1
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:666,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:667,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - (*freeFunc)
    argTypes:
    - SDelayQueue*
    - void
    constantsTouched: []
    func_position:
      end: 668
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 668
    functionName: transDQDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - container_of
    - heapMin
    - taosMemoryFree
    - heapSize
    - heapDestroy
    - heapRemove
    - freeFunc
    linkageType: ''
    returnType: void
    signature: 'void transDQDestroy(SDelayQueue* queue, void (*freeFunc)(void* arg)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1485,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1488,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1489,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1491
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1491
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void transDestroyExHandle(void* handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    constantsTouched: []
    func_position:
      end: 1510
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1510
    functionName: transUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUtilSIpRangeToStr(SIpV4Range* pRange, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:386,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'void transCtxInit(STransCtx* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:825,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 829
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 829
    functionName: transReleaseExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosReleaseRef
    linkageType: ''
    returnType: void
    signature: 'void transReleaseExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - msgType
    argTypes:
    - STransCtx*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1200
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1200
    functionName: transCtxDumpBrokenlinkVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'void * transCtxDumpBrokenlinkVal(STransCtx* ctx, int32_t* msgType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1422,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1427,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1427,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1423,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1430
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1430
    functionName: transSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    - memcpy
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendResp(const SRpcMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:395,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:398,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:397,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:398,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:400,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: transCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetKey
    - TMSG_INFO
    - tDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void transCtxCleanup(STransCtx* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:835,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 837
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 837
    functionName: transDestroyExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void transDestroyExHandle(void* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1207,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1208,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1212,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1209,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1213,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1214,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1216,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1220,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1221,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1221,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1226,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1224,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1223,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pTrans
    - pMsg
    argTypes:
    - STrans*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1229
    functionName: cliMayGetAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tError
    - transCtxCleanup
    - taosHashGet
    - taosHashRemove
    - transCtxDumpVal
    - TMSG_INFO
    linkageType: ''
    returnType: bool
    signature: 'bool cliMayGetAhandle(STrans* pTrans, SRpcMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pReqEpSet
    argTypes:
    - SReqEpSet*
    constantsTouched: []
    func_position:
      end: 1643
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1643
    functionName: transValidReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transValidReqEpset(SReqEpSet* pReqEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - pool
    argTypes:
    - SAsyncPool*
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: transAsyncPoolIsEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    linkageType: ''
    returnType: bool
    signature: 'bool transAsyncPoolIsEmpty(SAsyncPool* pool) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:429,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:436,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:434,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:436,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transComm.c:432,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:440,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:440,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transComm.c:443,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:445,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:450,1
    - Dst: freeFunc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:453,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:446,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:445,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:457,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:446,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - STransCtx*
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 458
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 458
    functionName: transCtxMerge
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tError
    - taosHashIterate
    - taosHashGet
    - taosHashRemove
    - tstrerror
    - taosHashGetKey
    - taosHashCleanup
    - taosHashPut
    - freeFunc
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'void transCtxMerge(STransCtx* dst, STransCtx* src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:485,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - wq
    - (*freeFunc)
    argTypes:
    - STransQueue*
    - void
    constantsTouched: []
    func_position:
      end: 490
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 490
    functionName: transQueueInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transQueueInit(STransQueue* wq, void (*freeFunc)(void* arg)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:670,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transComm.c:670,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:673,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:674,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:672,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:677,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:680,1
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:682,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:683,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:690,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:687,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:690,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:686,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - queue
    - task
    argTypes:
    - SDelayQueue*
    - SDelayTask*
    constantsTouched: []
    func_position:
      end: 692
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 692
    functionName: transDQCancel
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - heapMin
    - taosMemoryFree
    - TAOS_UNUSED
    - heapSize
    - container_of
    - heapRemove
    - uv_timer_start
    - uv_timer_stop
    linkageType: ''
    returnType: void
    signature: 'void transDQCancel(SDelayQueue* queue, SDelayTask* task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: subnetIpRang2Int
      Src: /src/tdengine/source/libs/transport/src/transComm.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pUtils
    - ip
    argTypes:
    - SubnetUtils*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 888
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 888
    functionName: subnetCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - subnetIpRang2Int
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetCheckIp(SubnetUtils* pUtils, uint32_t ip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1135,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1136
    functionName: transCtxInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'void transCtxInit(STransCtx* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1498,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1497,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1500,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1503
    functionName: transDestroySyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tsem2_destroy
    - transFreeMsg
    - taosMemoryFree
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void transDestroySyncMsg(void* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 1512
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1512
    functionName: transUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUtilSWhiteListToStr(SIpWhiteList* pList, char** ppBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_inet_ntop
      Src: /src/tdengine/source/libs/transport/src/transComm.c:896,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:898,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:898,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:905,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transComm.c:902,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    constantsTouched: []
    func_position:
      end: 909
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 909
    functionName: transUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tError
    - sprintf
    - uv_inet_ntop
    - strlen
    - uv_strerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUtilSIpRangeToStr(SIpV4Range* pRange, char* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/transComm.c:356,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:369,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:373,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:369,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:374,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:374,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transComm.c:376,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:378,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:378,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pool
    - q
    argTypes:
    - SAsyncPool*
    - queue*
    constantsTouched: []
    func_position:
      end: 382
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 382
    functionName: transAsyncSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - QUEUE_PUSH
    - tError
    - taosThreadMutexLock
    - TAOS_UNUSED
    - tstrerror
    - uv_async_send
    - uv_err_name
    - atomic_load_8
    linkageType: ''
    returnType: int
    signature: 'int transAsyncSend(SAsyncPool* pool, queue* q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transComm.c:463,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - key
    argTypes:
    - STransCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 470
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 470
    functionName: transCtxDumpVal
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosHashGet
    linkageType: ''
    returnType: void*
    signature: 'void * transCtxDumpVal(STransCtx* ctx, int32_t key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 495
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 495
    functionName: transQueuePush
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_PUSH
    linkageType: ''
    returnType: void
    signature: 'void transQueuePush(STransQueue* q, void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transComm.c:695,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transComm.c:705,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transComm.c:707,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:713,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:696,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transComm.c:714,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transComm.c:715,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transComm.c:715,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 4
    argNames:
    - queue
    - (*func)
    - arg
    - timeoutMs
    argTypes:
    - SDelayQueue*
    - void
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 717
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 717
    functionName: transDQSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - heapMin
    - container_of
    - tTrace
    - TAOS_UNUSED
    - taosMemoryCalloc
    - uv_timer_start
    - heapInsert
    linkageType: ''
    returnType: SDelayTask*
    signature: 'SDelayTask * transDQSched(SDelayQueue* queue, void (*func)(void* arg),
      void* arg, uint64_t timeoutMs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - size
    - (*func)
    argTypes:
    - int
    - void
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: transOpenRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosOpenRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transOpenRefMgt(int size, void (*func)(void*)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1142,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1148,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1150
    functionName: transCtxCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void transCtxCleanup(STransCtx* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 1505
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1505
    functionName: subnetIpRang2Int
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t subnetIpRang2Int(SIpV4Range* pRange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1526
    functionName: transInitBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transInitBuffer(SConnBuffer* buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1738,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1747,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1742,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1750,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1745,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1752
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'void transPrintEpSet(SEpSet* pEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/transComm.c:783,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 788
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 788
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:997,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - wq
    - w
    argTypes:
    - queue*
    - SWReqsWrapper*
    constantsTouched: []
    func_position:
      end: 999
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 999
    functionName: freeWReqToWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_PUSH
    - QUEUE_INIT
    linkageType: ''
    returnType: void
    signature: 'void freeWReqToWQ(queue* wq, SWReqsWrapper* w) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1610,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1614,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1616,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1619,1
    - Dst: transValidReqEpset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pEpset
    - pReqEpSet
    argTypes:
    - SEpSet*
    - SReqEpSet**
    constantsTouched: []
    func_position:
      end: 1625
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1625
    functionName: transCreateReqEpsetFromUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - taosMemoryFree
    - transValidReqEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateReqEpsetFromUserEpset(const SEpSet* pEpset, SReqEpSet**
      pReqEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 572
    functionName: transQueueDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transQueueClear
    linkageType: ''
    returnType: void
    signature: 'void transQueueDestroy(STransQueue* q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1004,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1006,1
    - Dst: taosSetSockOpt2
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1009,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1011
    functionName: transSetReadOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosSetSockOpt2
    - uv_fileno
    - uv_err_name
    - tWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetReadOption(uv_handle_t* handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1091,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1095,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1100,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1108,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1093,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1109,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1111,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1120
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1120
    functionName: transCompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - LZ4_compress_default
    - tWarn
    - memcpy
    - transHeadFromCont
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCompressMsg(char* msg, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pReqEpSet
    - pEpSet
    argTypes:
    - SReqEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1633
    functionName: transCreateUserEpsetFromReqEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateUserEpsetFromReqEpset(const SReqEpSet* pReqEpSet,
      SEpSet* pEpSet) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1764,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1769
    functionName: transReqEpsetIsEqual
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'bool transReqEpsetIsEqual(SReqEpSet* a, SReqEpSet* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1123
    functionName: transDecompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDecompressMsg(char** msg, int32_t* len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:722,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:734,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:726,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:731,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:729,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 736
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 736
    functionName: transPrintEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'void transPrintEpSet(SEpSet* pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 504
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 504
    functionName: transQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transQueueSize(STransQueue* q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1701
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1701
    functionName: tranQueueHead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_HEAD
    linkageType: ''
    returnType: void*
    signature: 'void * tranQueueHead(STransQueue* q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1727,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1728,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1733
    functionName: transQueueClear
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void transQueueClear(STransQueue* q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1131
    functionName: transFreeMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void transFreeMsg(void* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: transQueueGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_NEXT
    linkageType: ''
    returnType: void*
    signature: 'void * transQueueGet(STransQueue* q, int idx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SReqEpSet*
    constantsTouched: []
    func_position:
      end: 753
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 753
    functionName: transReqEpsetIsEqual
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'bool transReqEpsetIsEqual(SReqEpSet* a, SReqEpSet* b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 764
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 764
    functionName: transCompareReqAndUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'bool transCompareReqAndUserEpset(SReqEpSet* a, SEpSet* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - q
    - i
    argTypes:
    - STransQueue*
    - int
    constantsTouched: []
    func_position:
      end: 1714
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1714
    functionName: transQueueRm
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * transQueueRm(STransQueue* q, int i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueClear
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1734
    functionName: transQueueDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - transQueueClear
    linkageType: ''
    returnType: void
    signature: 'void transQueueDestroy(STransQueue* q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SReqEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1780
    functionName: transCompareReqAndUserEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'bool transCompareReqAndUserEpset(SReqEpSet* a, SEpSet* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - q
    - i
    argTypes:
    - STransQueue*
    - int
    constantsTouched: []
    func_position:
      end: 552
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 552
    functionName: transQueueRm
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * transQueueRm(STransQueue* q, int i) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:918,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:929,1
    - Dst: transUtilSIpRangeToStr
      Src: /src/tdengine/source/libs/transport/src/transComm.c:927,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 941
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 941
    functionName: transUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - transUtilSIpRangeToStr
    - taosMemoryFree
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUtilSWhiteListToStr(SIpWhiteList* pList, char** ppBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 1530
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1530
    functionName: transDestroyBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void transDestroyBuffer(SConnBuffer* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1557,1
    - Dst: transResetBuffer
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1561,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - connBuf
    - buf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - char**
    - int8_t
    constantsTouched: []
    func_position:
      end: 1570
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1570
    functionName: transDumpFromBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - transResetBuffer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDumpFromBuffer(SConnBuffer* connBuf, char** buf, int8_t
      resetBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - wq
    - (*freeFunc)
    argTypes:
    - STransQueue*
    - void
    constantsTouched: []
    func_position:
      end: 1653
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1653
    functionName: transQueueInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transQueueInit(STransQueue* wq, void (*freeFunc)(void* arg)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1721
    functionName: transQueueRemove
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: 'void transQueueRemove(STransQueue* q, void* e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - q
    - e
    argTypes:
    - STransQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 559
    functionName: transQueueRemove
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: 'void transQueueRemove(STransQueue* q, void* e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1536,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 1546
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1546
    functionName: transClearBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transClearBuffer(SConnBuffer* buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1576,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1587,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - connBuf
    - resetBuf
    argTypes:
    - SConnBuffer*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1598
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1598
    functionName: transResetBuffer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosMemoryRealloc
    - tError
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transResetBuffer(SConnBuffer* connBuf, int8_t resetBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - STransQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 1658
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1658
    functionName: transQueuePush
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_PUSH
    linkageType: ''
    returnType: void
    signature: 'void transQueuePush(STransQueue* q, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 1723
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1723
    functionName: transQueueEmpty
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool transQueueEmpty(STransQueue* q) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transComm.c:67,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:79,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:83,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:70,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:73,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:86,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:89,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:91,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - msg
    - len
    argTypes:
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 94
    functionName: transDecompressMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - transContFromHead
    - taosMemoryCalloc
    - LZ4_decompress_safe
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDecompressMsg(char** msg, int32_t* len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:813,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transComm.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 817
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 817
    functionName: transRemoveExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void transRemoveExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subnetIpRang2Int
      Src: /src/tdengine/source/libs/transport/src/transComm.c:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pUtils
    - pRange
    argTypes:
    - SubnetUtils*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 871
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 871
    functionName: subnetInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - subnetIpRang2Int
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetInit(SubnetUtils* pUtils, SIpV4Range* pRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transComm.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pUtils
    - buf
    argTypes:
    - SubnetUtils*
    - char*
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: subnetDebugInfoToBuf
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transComm.c:97,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:112,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:103,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/transport/src/transComm.c:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transComm.c:113,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 4
    argNames:
    - msg
    - len
    - out
    - outLen
    argTypes:
    - char*
    - int32_t
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: transDecompressMsgExt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - tError
    - transContFromHead
    - taosMemoryCalloc
    - LZ4_decompress_safe
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transDecompressMsgExt(char const* msg, int32_t len, char**
      out, int32_t* outLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:499,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 503
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 503
    functionName: transQueuePop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_REMOVE
    - QUEUE_HEAD
    linkageType: ''
    returnType: void*
    signature: 'void * transQueuePop(STransQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: transAcquireExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void * transAcquireExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 793
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 793
    functionName: transGetSyncMsgMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetSyncMsgMgt() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1443
    functionName: transGetInstMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetInstMgt() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1468
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1468
    functionName: transRemoveExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void transRemoveExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - refMgt
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1473
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1473
    functionName: transAcquireExHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void * transAcquireExHandle(int32_t refMgt, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: transGetRefMgt
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetRefMgt() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:259,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:260,1
    - Dst: TRANS_NOVALID_PACKET
      Src: /src/tdengine/source/libs/transport/src/transComm.c:262,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transComm.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SConnBuffer*
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: transReadComplete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - htonl
    - memcpy
    - TRANS_NOVALID_PACKET
    linkageType: ''
    returnType: bool
    signature: 'bool transReadComplete(SConnBuffer* connBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:519,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:522,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:523,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:525,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:521,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 5
    argNames:
    - q
    - (*filter)
    - arg
    - dst
    - size
    argTypes:
    - STransQueue*
    - bool
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 532
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 532
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - filter
    - QUEUE_PUSH
    - QUEUE_NEXT
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: 'void transQueueRemoveByFilter(STransQueue* q, bool (*filter)(void*
      e, void* arg), void* arg, void* dst, int32_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1241,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1244,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1246,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1248,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1249,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1253,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1253,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1255,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1257,1
    - Dst: cliMayGetAhandle
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1260,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1265,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1266,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1269,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1272,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1274,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1269,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1277,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1279
    functionName: processSvrMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosFreeQitem
    - taosThreadMutexLock
    - taosResetQitems
    - taosAllocateQall
    - cliMayGetAhandle
    - taosReadAllQitemsFromQset
    - taosFreeQall
    - taosUpdateItemSize
    - memcpy
    - transGetCb
    - tsem_post
    - tGDebug
    - taosGetQitem
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: void*
    signature: 'void * processSvrMsg(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1434,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1439
    functionName: transInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pUtils
    - pRange
    argTypes:
    - SubnetUtils*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 1506
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1506
    functionName: subnetInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetInit(SubnetUtils* pUtils, SIpV4Range* pRange) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - q
    - idx
    argTypes:
    - STransQueue*
    - int
    constantsTouched: []
    func_position:
      end: 1677
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1677
    functionName: transQueueGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_NEXT
    linkageType: ''
    returnType: void*
    signature: 'void * transQueueGet(STransQueue* q, int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:950,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:954,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transComm.c:952,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:959,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:958,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transComm.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - wq
    argTypes:
    - queue*
    constantsTouched: []
    func_position:
      end: 965
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 965
    functionName: initWQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - QUEUE_PUSH
    - taosMemoryCalloc
    - destroyWQ
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initWQ(queue* wq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_keepalive
      Src: /src/tdengine/source/libs/transport/src/transComm.c:276,1
    - Dst: uv_tcp_nodelay
      Src: /src/tdengine/source/libs/transport/src/transComm.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - keepalive
    argTypes:
    - uv_tcp_t*
    - int
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: transSetConnOption
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - uv_tcp_keepalive
    - uv_tcp_nodelay
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetConnOption(uv_tcp_t* stream, int keepalive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transComm.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - STransQueue*
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: tranQueueHead
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - QUEUE_HEAD
    linkageType: ''
    returnType: void*
    signature: 'void * tranQueueHead(STransQueue* q) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1290,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1298,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1296,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1294,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1293,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1301,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1301,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1305,1
    - Dst: transGetCb
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1307,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1309,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1317,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1313,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1320,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1313,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1315,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1322
    functionName: procClientMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosFreeQitem
    - taosThreadMutexLock
    - tError
    - taosResetQitems
    - taosAllocateQall
    - taosReadAllQitemsFromQset
    - taosUpdateItemSize
    - transGetCb
    - taosFreeQall
    - taosGetQitem
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: void*
    signature: 'void * procClientMsg(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pUtils
    - buf
    argTypes:
    - SubnetUtils*
    - char*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1507
    functionName: subnetDebugInfoToBuf
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t subnetDebugInfoToBuf(SubnetUtils* pUtils, char* buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1681,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1683,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1685,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1687,1
    - Dst: filter
      Src: /src/tdengine/source/libs/transport/src/transComm.c:1684,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 5
    argNames:
    - q
    - (*filter)
    - arg
    - dst
    - size
    argTypes:
    - STransQueue*
    - bool
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1694
      start: 1679
    functionDepth: 0
    functionLinenumber: 1679
    functionLinenumberEnd: 1694
    functionName: transQueueRemoveByFilter
    functionSourceFile: /src/tdengine/source/libs/transport/src/transComm.c
    functionUses: []
    functionsReached:
    - filter
    - QUEUE_PUSH
    - QUEUE_NEXT
    - QUEUE_REMOVE
    linkageType: ''
    returnType: void
    signature: 'void transQueueRemoveByFilter(STransQueue* q, bool (*filter)(void*
      e, void* arg), void* arg, void* dst, int32_t size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:425,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:427,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:439,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:437,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:434,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:439,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:440,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - conn
    - timeout
    argTypes:
    - SCliConn*
    - int64_t
    constantsTouched: []
    func_position:
      end: 442
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 442
    functionName: cliConnMayUpdateTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliResetConnTimer
    - cliGetConnTimer
    - tError
    - uv_timer_start
    - uv_err_name
    - CONN_GET_INST_LABEL
    - transQueueSize
    linkageType: ''
    returnType: void
    signature: 'void cliConnMayUpdateTimer(SCliConn* conn, int64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:757,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:764,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:764,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:759,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:763,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:765,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:765,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 766
    functionName: cliConnTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transUnrefCliHandle
    - cliResetConnTimer
    - tTrace
    - TAOS_UNUSED
    - cliMayUpdateFqdnCache
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: 'void cliConnTimeout(uv_timer_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1134,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1140,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1136,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1138,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1141,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1143,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1143,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1147,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1149,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1150,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1152,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1149,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1154,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1156
    functionName: cliDestroyAllQidFromThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transCtxCleanup
    - taosHashIterate
    - taosHashRemove
    - tstrerror
    - transRemoveExHandle
    - taosHashGetKey
    - transReleaseExHandle
    - CONN_GET_INST_LABEL
    - transGetRefMgt
    - tDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void cliDestroyAllQidFromThrd(SCliConn* conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2720
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2720
    functionName: cliRetryIsTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliRetryIsTimeout(STrans* pInst, SCliReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:447,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:454,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:449,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:452,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:451,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:454,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:456,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:456,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:457,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:457,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:459,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: destroyCliConnQTable
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - transCtxCleanup
    - taosHashIterate
    - taosHashRemove
    - transRemoveExHandle
    - taosHashGetKey
    - transReleaseExHandle
    - transGetRefMgt
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyCliConnQTable(SCliConn* conn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:770,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:772,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 780
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 780
    functionName: filterToRmTimoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - REQUEST_NO_RESP
    - QUEUE_DATA
    linkageType: ''
    returnType: bool
    signature: 'bool filterToRmTimoutReq(void* key, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleException
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SCliConn*
    - bool
    constantsTouched: []
    func_position:
      end: 1157
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1157
    functionName: cliDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliHandleException
    linkageType: ''
    returnType: void
    signature: 'static void cliDestroyConn(SCliConn* conn, bool clear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInst
    - pResp
    argTypes:
    - STrans*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2725
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2725
    functionName: cliRetryShouldRetry
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t cliRetryShouldRetry(STrans* pInst, STransMsg* pResp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1979,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1984,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1988,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1979,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1988,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1991,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1991,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1992,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1992,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1996,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1998,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1998,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1996,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 2001
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 2001
    functionName: cliMayGetStateByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transLabel
    - taosHashGet
    - transReleaseExHandle
    - transGetRefMgt
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliMayGetStateByQid(SCliThrd* pThrd, SCliReq* pReq, SCliConn**
      pConn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cliPerfLog_schedMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2570,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2579,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2581,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2585
      start: 2567
    functionDepth: 0
    functionLinenumber: 2567
    functionLinenumberEnd: 2585
    functionName: cliSchedMsgToNextNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - transLabel
    - cliPerfLog_schedMsg
    - transDQSched
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t cliSchedMsgToNextNode(SCliReq* pReq, SCliThrd*
      pThrd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2953,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2955,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2953,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2944
    functionDepth: 0
    functionLinenumber: 2944
    functionLinenumberEnd: 2958
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliDestroyConn
    - tTrace
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUnrefCliHandle(void* handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2012,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2014,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2014,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2015,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2017,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2020,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2020,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2022
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2022
    functionName: cliHandleState_mayUpdateState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - transLabel
    - tstrerror
    - cliHandleState_mayUpdateStateCtx
    - taosHashPut
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliHandleState_mayUpdateState(SCliConn* pConn, SCliReq* pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2596,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2597,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2601,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2612,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2606,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2614,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pReq
    - pResp
    argTypes:
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2625
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2625
    functionName: cliTryUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - transCreateReqEpsetFromUserEpset
    - tSerializeSEpSet
    - rpcFreeCont
    - memcpy
    - tDeserializeSEpSet
    - rpcMallocCont
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE bool cliTryUpdateEpset(SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2966
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2966
    functionName: transGetRefCount
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transGetRefCount(void* handle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:598,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:601,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:611,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:614,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:615,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:619,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:629,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:594,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:611,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:614,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:618,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:622,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:623,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:631,1
    - Dst: destroyReqWrapper
      Src: /src/tdengine/source/libs/transport/src/transCli.c:635,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:597,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:604,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:606,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:614,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:625,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:626,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:627,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:628,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:598,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:596,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:602,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:606,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:609,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:620,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:622,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:623,1
    - Dst: cliMayNotifyUserOnRecvReleaseExcept
      Src: /src/tdengine/source/libs/transport/src/transCli.c:633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:638,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - conn
    - pHead
    argTypes:
    - SCliConn*
    - STransMsgHead*
    constantsTouched: []
    func_position:
      end: 642
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 642
    functionName: cliHandleState_mayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - QUEUE_REMOVE
    - transQueueSize
    - taosHton64
    - taosHashRemove
    - QUEUE_DATA
    - transRemoveExHandle
    - destroyReqWrapper
    - tGDebug
    - TMSG_INFO
    - QUEUE_IS_EMPTY
    - cliMayNotifyUserOnRecvReleaseExcept
    - transQueueRemoveByFilter
    - transCtxCleanup
    - tDebug
    - taosHashGet
    - transReleaseExHandle
    - CONN_GET_INST_LABEL
    - removeReqFromSendQ
    - transGetRefMgt
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliHandleState_mayHandleReleaseResp(SCliConn* conn, STransMsgHead*
      pHead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1257,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1264,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1262,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1266
    functionName: destroyAllReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - destroyReqInQueue
    - transQueueRemoveByFilter
    - QUEUE_INIT
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t destroyAllReqs(SCliConn* conn) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: transQueueEmpty
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1468,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1490,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1506,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1512,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1528,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1556,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1559,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1562,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1567,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1553,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1439,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1452,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1476,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1499,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1483,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1507,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1515,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1524,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1540,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1540,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1558,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1554,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1544,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1558,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1447,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1443,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1466,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1497,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1505,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1511,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1517,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1525,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1527,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1529,1
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1537,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1558,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1567,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1547,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1560,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1561,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1437,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1469,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1470,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1484,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1489,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1501,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1503,1
    - Dst: cliConnMayAddUserInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1488,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1524,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1536,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1541,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1543,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1542,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1540,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1565,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 127
    argCount: 2
    argNames:
    - pConn
    - direct
    argTypes:
    - SCliConn*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1571
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1571
    functionName: cliBatchSend
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - TAOS_UNUSED
    - taosMemoryRealloc
    - ntohl
    - transQueueSize
    - transMsgLenFromCont
    - transHeadFromCont
    - QUEUE_MOVE
    - allocWReqFromWQ
    - QUEUE_DATA
    - taosHton64
    - transQueueEmpty
    - uv_err_name
    - transContLenFromMsg
    - tGDebug
    - TMSG_INFO
    - QUEUE_IS_EMPTY
    - htonl
    - tTrace
    - QUEUE_PUSH
    - transContFromHead
    - freeWReqToWQ
    - uv_write
    - CONN_GET_INST_LABEL
    - rpcMallocCont
    - transUnrefCliHandle
    - transQueuePush
    - removeReqFromSendQ
    - cliConnMayAddUserInfo
    - transQueuePop
    - uv_buf_init
    - tstrerror
    - transRefCliHandle
    - REQUEST_NO_RESP
    - transCompressMsg
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliBatchSend(SCliConn* pConn, int8_t direct) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pConn
    - pCliMsg
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1590
    functionName: cliSendReqPrepare
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transQueuePush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliSendReqPrepare(SCliConn* pConn, SCliReq* pCliMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1914,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1920,1
    - Dst: cliUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1921,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1921,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - cache
    - dst
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1923
    functionName: cliMayUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - TAOS_UNUSED
    - cliUpdateFqdnCache
    linkageType: ''
    returnType: void
    signature: 'static void cliMayUpdateFqdnCache(SHashObj* cache, char* dst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3084,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3090,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3107,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3107,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3119,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3115,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3123,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3088,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3108,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3111,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3123,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3088,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3096,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3098,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3109,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3115,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3121,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3104,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3104,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3108,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3110,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3111,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 3126
      start: 3083
    functionDepth: 0
    functionLinenumber: 3083
    functionLinenumberEnd: 3126
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - transFreeMsg
    - tError
    - EPSET_GET_INUSE_IP
    - transLabel
    - transInitMsg
    - EPSET_GET_INUSE_PORT
    - tstrerror
    - transAsyncSend
    - transGetInstMgt
    - isReqExceedLimit
    - transReleaseExHandle
    - destroyReq
    - tGDebug
    - transGetWorkThrd
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRequest(void* pInstRef, const SEpSet* pEpSet, STransMsg*
      pReq, STransCtx* ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4128,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4134,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4128,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4133,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4138,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4140,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 4143
      start: 4126
    functionDepth: 0
    functionLinenumber: 4126
    functionLinenumberEnd: 4143
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - transGetInstMgt
    - transReleaseExHandle
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transFreeConnById(void* pInstRef, int64_t transpointId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:645,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:654,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:657,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:650,1
    - Dst: transCtxDumpVal
      Src: /src/tdengine/source/libs/transport/src/transCli.c:656,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:658,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:658,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:659,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - conn
    - pHead
    - pResp
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 661
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 661
    functionName: cliHandleState_mayCreateAhandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - taosHton64
    - taosGetTimestampUs
    - CONN_GET_INST_LABEL
    - tGDebug
    - transCtxDumpVal
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliHandleState_mayCreateAhandle(SCliConn* conn, STransMsgHead*
      pHead, STransMsg* pResp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1272,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1273,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1275,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1275,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1278,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1280,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1286,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1290,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1292,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1292,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1300,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1292,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1297,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1303
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1303
    functionName: cliHandleException
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliResetConnTimer
    - uv_is_closing
    - tError
    - destroyAllReqs
    - QUEUE_REMOVE
    - transGetRefCount
    - uv_close
    - tstrerror
    - transDQCancel
    - CONN_GET_INST_LABEL
    - delConnFromHeapCache
    - cliDestroyAllQidFromThrd
    linkageType: ''
    returnType: void
    signature: 'static void cliHandleException(SCliConn* conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1574,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pConn
    - pCliMsg
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1577
    functionName: cliSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transQueuePush
    - cliBatchSend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliSendReq(SCliConn* pConn, SCliReq* pCliMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1594,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1596,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1598,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1599,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - SCliBatch*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1604
    functionName: cliDestroyBatch
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosMemoryFree
    - QUEUE_REMOVE
    - QUEUE_DATA
    - destroyReq
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void cliDestroyBatch(SCliBatch* pBatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1931,1
    - Dst: doNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1935,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1937,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1938
    functionName: doFreeTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - QUEUE_REMOVE
    - doNotifyCb
    - tGTrace
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void doFreeTimeoutMsg(void* param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3137,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3163,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3166,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3177,1
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3131,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3142,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3149,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3164,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3159,1
    - Dst: transInitMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3159,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3171,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3178,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3180,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3144,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3146,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3149,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3151,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3163,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3165,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3166,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3180,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3139,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3137,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3142,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3162,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3162,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3170,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3170,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3171,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3175,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3178,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 3182
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3182
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - transFreeMsg
    - tError
    - EPSET_GET_INUSE_IP
    - transLabel
    - transInitMsg
    - EPSET_GET_INUSE_PORT
    - tstrerror
    - transAsyncSend
    - transGetInstMgt
    - isReqExceedLimit
    - transAllocHandle
    - transReleaseExHandle
    - destroyReq
    - tGDebug
    - transGetRefMgt
    - transGetWorkThrd
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRequestWithId(void* pInstRef, const SEpSet* pEpSet,
      STransMsg* pReq, int64_t* transpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - ip
    - port
    - label
    - numOfThreads
    - fp
    - shandle
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4145
    functionDepth: 0
    functionLinenumber: 4145
    functionLinenumberEnd: 4147
    functionName: transInitClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * transInitClient(uint32_t ip, uint32_t port, char* label, int
      numOfThreads, void* fp, void* shandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1307,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1308,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - h
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1313
    functionName: filterToRmReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - REQUEST_NO_RESP
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: 'bool filterToRmReq(void* h, void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1867,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1873,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1873,1
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1870,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1868,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1877,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - cache
    - fqdn
    - ip
    argTypes:
    - SHashObj*
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1885
    functionName: cliGetIpFromFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - taosGetIpv4FromFqdn
    - taosHashGet
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t cliGetIpFromFqdnCache(SHashObj* cache,
      char* fqdn, uint32_t* ip) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1943,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1949
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1949
    functionName: cliHandleState_mayUpdateStateTime
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliHandleState_mayUpdateStateTime(SCliConn* pConn, SCliReq*
      pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SReqCtx*
    constantsTouched: []
    func_position:
      end: 2463
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2463
    functionName: destroyReqCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyReqCtx(SReqCtx* ctx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3188,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3205,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3213,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3223,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3219,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3228,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3251,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3280,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3266,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3279,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3188,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3224,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3223,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3231,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3239,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3249,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3256,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3261,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3261,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3275,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3281,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3265,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3275,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3198,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3200,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3208,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3215,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3225,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3232,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3237,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3249,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3268,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3285,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3268,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3284,1
    - Dst: isReqExceedLimit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3185,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3190,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3221,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3230,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3235,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3237,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3250,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3263,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3274,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3286,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 100
    argCount: 4
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 3289
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3289
    functionName: transSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - EPSET_GET_INUSE_PORT
    - destroyReq
    - tGenIdPI64
    - transCreateReqEpsetFromUserEpset
    - transAsyncSend
    - isReqExceedLimit
    - tsem_destroy
    - tGDebug
    - memcpy
    - transAcquireExHandle
    - TAOS_CHECK_GOTO
    - TRACE_SET_MSGID
    - tsem_wait
    - taosGetTimestampUs
    - transGetInstMgt
    - transReleaseExHandle
    - transFreeMsg
    - tsem_init
    - EPSET_GET_INUSE_IP
    - transLabel
    - transGetWorkThrd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRecv(void* pInstRef, const SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3792,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3798,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3796,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3793,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3796,1
    - Dst: transHeapDelete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3801,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3803,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pConnHeapCache
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3806
      start: 3790
    functionDepth: 0
    functionLinenumber: 3790
    functionLinenumberEnd: 3806
    functionName: delConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosHashGet
    - tstrerror
    - strlen
    - transHeapDelete
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t delConnFromHeapCache(SHashObj* pConnHeapCache, SCliConn*
      pConn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1316,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1321,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1320,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1318,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1319,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1322,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1326
    functionName: cliConnRmReqs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - transQueueRemoveByFilter
    - QUEUE_REMOVE
    - QUEUE_DATA
    - destroyReq
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void cliConnRmReqs(SCliConn* conn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1889,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1896,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1892,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1897,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1891,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1898,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1899,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1902,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1906,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1906,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - cache
    - fqdn
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1909
    functionName: cliUpdateFqdnCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosInetNtoa
    - tWarn
    - taosGetIpv4FromFqdn
    - taosHashGet
    - tstrerror
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t cliUpdateFqdnCache(SHashObj* cache, char*
      fqdn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1956,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1962,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1960,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1956,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1963,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1964,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1964,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1966,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1967,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1968,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1971
    functionName: cliHandleState_mayUpdateStateCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transLabel
    - taosHashGet
    - transCtxMerge
    - taosGetTimestampUs
    - taosHashPut
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliHandleState_mayUpdateStateCtx(SCliConn* pConn, SCliReq*
      pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2468,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2480,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2474,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - thrd
    argTypes:
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2482
      start: 2465
    functionDepth: 0
    functionLinenumber: 2465
    functionLinenumberEnd: 2482
    functionName: cliSendQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - transAsyncSend
    - taosMemoryFree
    - atomic_store_8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliSendQuit(SCliThrd* thrd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3299,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3299,1
    - Dst: tsem2_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3298,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3304,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3307,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3313,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3315,1
    - Dst: tsem2_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3323,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pTransMsg
    - refId
    argTypes:
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 3326
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3326
    functionName: transCreateSyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsem2_init
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - transGetSyncMsgMgt
    - taosMemoryFree
    - taosMemoryCalloc
    - tsem2_destroy
    - taosAddRef
    - taosInitRWLatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateSyncMsg(STransMsg* pTransMsg, int64_t* refId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3813,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3815,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3816,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3814,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3813,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - pConnHeapCache
    - pConn
    - pNewConn
    argTypes:
    - SHashObj*
    - SCliConn*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 3824
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3824
    functionName: balanceConnHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transHeapGet
    - TAOS_UNUSED
    - REQS_ON_CONN
    - transHeapBalance
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t balanceConnHeapCache(SHashObj* pConnHeapCache, SCliConn*
      pConn, SCliConn** pNewConn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2484,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2485,1
    - Dst: uv_read_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2488,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2490,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2488,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2492
    functionName: cliWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - TAOS_UNUSED
    - uv_read_stop
    - uv_handle_get_type
    - uv_close
    linkageType: ''
    returnType: void
    signature: 'void cliWalkCb(uv_handle_t* handle, void* arg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2850,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2853,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2855,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2860,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2860,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2870,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2868,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2873,1
    - Dst: tsem2_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2872,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2875,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2879,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2882,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2891,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2853,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2850,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2857,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2863,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2873,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2872,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2883,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2892,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2857,1
    - Dst: transCreateUserEpsetFromReqEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2867,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2862,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2873,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2879,1
    - Dst: cliIsEpsetUpdated
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2887,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2839
    functionDepth: 0
    functionLinenumber: 2839
    functionLinenumberEnd: 2899
    functionName: cliNotifyImplCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - TAOS_UNUSED
    - transGetSyncMsgMgt
    - tError
    - taosReleaseRef
    - tsem2_post
    - cliIsEpsetUpdated
    - tsem_post
    - rpcFreeCont
    - memcpy
    - CONN_GET_INST_LABEL
    - transCreateUserEpsetFromReqEpset
    - tGTrace
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliNotifyImplCb(SCliConn* pConn, SCliReq* pReq, STransMsg*
      pResp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOrCreateHeap
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3739,1
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3744,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3749,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3741,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3746,1
    - Dst: shouldSWitchToOtherConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3750,1
    - Dst: balanceConnHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3752,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - pConnHeapCache
    - key
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 3762
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3762
    functionName: getConnFromHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - shouldSWitchToOtherConn
    - balanceConnHeapCache
    - transHeapGet
    - getOrCreateHeap
    linkageType: ''
    returnType: SCliConn*
    signature: 'static SCliConn * getConnFromHeapCache(SHashObj* pConnHeapCache, char*
      key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3958,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3960,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3964,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3958,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3964,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3965,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3966,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3967,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3968,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3970,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3978,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3975,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3978,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3971,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3975,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3980
      start: 3949
    functionDepth: 0
    functionLinenumber: 3949
    functionLinenumberEnd: 3980
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tError
    - transCtxCleanup
    - taosHashGet
    - taosHashRemove
    - tstrerror
    - transGetInstMgt
    - transReleaseExHandle
    - transGetRefMgt
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transReleaseCliHandle(void* handle, int32_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 381
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 381
    functionName: isReqExceedLimit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isReqExceedLimit(STransMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pInst
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 2506
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2506
    functionName: cliRBChoseIdx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int cliRBChoseIdx(STrans* pInst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2905,1
    - Dst: cliPerfLog_epset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2914,1
    - Dst: cliTryUpdateEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2913,1
    - Dst: cliMayResetRespCode
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2910,1
    - Dst: cliMayRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2907,1
    - Dst: cliNotifyImplCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2917,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2918
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2918
    functionName: cliNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliMayResetRespCode
    - cliTryUpdateEpset
    - removeReqFromSendQ
    - cliMayRetry
    - cliPerfLog_epset
    - cliNotifyImplCb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliNotifyCb(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3769,1
    - Dst: getOrCreateHeap
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3772,1
    - Dst: transHeapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3784,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3785,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3777,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pConnHeapCacahe
    - pConn
    argTypes:
    - SHashObj*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3788
      start: 3763
    functionDepth: 0
    functionLinenumber: 3763
    functionLinenumberEnd: 3788
    functionName: addConnToHeapCache
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tTrace
    - getOrCreateHeap
    - transHeapInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addConnToHeapCache(SHashObj* pConnHeapCacahe, SCliConn*
      pConn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3986,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4017,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4023,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3986,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3991,1
    - Dst: transCtxMerge
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4009,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4011,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3991,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4007,1
    - Dst: transSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4027,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4022,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3985,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4004,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4025,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4028,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4028,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4028,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4019,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - ctx
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    constantsTouched: []
    func_position:
      end: 4030
      start: 3981
    functionDepth: 0
    functionLinenumber: 3981
    functionLinenumberEnd: 4030
    functionName: transSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_UNUSED
    - sprintf
    - transSendReq
    - TRACE_SET_MSGID
    - taosHashGet
    - transCtxMerge
    - taosHashPut
    - transGetInstMgt
    - transReleaseExHandle
    - transAcquireExHandle
    - taosVersionStrToInt
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRequest(void* shandle, const SEpSet* pEpSet, STransMsg*
      pReq, STransCtx* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:544,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:556,1
    - Dst: transContFromHead
      Src: /src/tdengine/source/libs/transport/src/transCli.c:545,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:553,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pReq
    - pResp
    - pHead
    argTypes:
    - SCliReq*
    - STransMsg*
    - STransMsgHead*
    constantsTouched: []
    func_position:
      end: 559
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 559
    functionName: cliBuildRespFromCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - htonl
    - transContLenFromMsg
    - transContFromHead
    - taosHton64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliBuildRespFromCont(SCliReq* pReq, STransMsg* pResp, STransMsgHead*
      pHead) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1736,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1742,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1743,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1745,1
    - Dst: cliConnSetSockInfo
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1749,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1754,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1756,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1752,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1728,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1742,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1745,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1751,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1751,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1754,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1752,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1751,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1759,1
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1739,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1744,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1758,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1758,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1758,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_connect_t*
    - int
    constantsTouched: []
    func_position:
      end: 1761
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1761
    functionName: cliConnCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transUnrefCliHandle
    - cliResetConnTimer
    - tTrace
    - tError
    - cliMayUpdateFqdnCache
    - TAOS_UNUSED
    - cliConnSetSockInfo
    - tstrerror
    - uv_strerror
    - STUB_RAND_NETWORK_ERR
    - CONN_GET_INST_LABEL
    - cliBatchSend
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void cliConnCb(uv_connect_t* req, int status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2133,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2137,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2134,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2134,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2140,1
    - Dst: cliHandleQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2146
    functionName: cliAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tError
    - taosThreadMutexLock
    - tstrerror
    - cliHandleQuit
    - QUEUE_MOVE
    linkageType: ''
    returnType: void
    signature: 'static void cliAsyncCb(uv_async_t* handle) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2644,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2647,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2650,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2660,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2678,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2679,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2690,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2648,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2649,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2670,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2661,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2681,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2634,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2640,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2652,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2668,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2682,1
    - Dst: tDeserializeSEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2638,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2653,1
    - Dst: EPSET_FORWARD_INUSE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2674,1
    - Dst: transPrintEpSet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2680,1
    - Dst: transCompareReqAndUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2677,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2689,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 3
    argNames:
    - pCtx
    - pResp
    - hasEpSet
    argTypes:
    - SReqCtx*
    - STransMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 2696
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2696
    functionName: cliResetEpset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - transCompareReqAndUserEpset
    - transPrintEpSet
    - transCreateReqEpsetFromUserEpset
    - EPSET_FORWARD_INUSE
    - tDeserializeSEpSet
    - tDebug
    linkageType: ''
    returnType: bool
    signature: 'bool cliResetEpset(SReqCtx* pCtx, STransMsg* pResp, bool hasEpSet) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2997,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3015,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3008,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3008,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3010,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3018,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3022,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3027,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3029,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3030,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3034
      start: 2995
    functionDepth: 0
    functionLinenumber: 2995
    functionLinenumberEnd: 3034
    functionName: transReleaseCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - transGetWorkThrdFromHandle
    - taosMemoryCalloc
    - TRACE_SET_MSGID
    - taosGetTimestampUs
    - transAsyncSend
    - tGDebug
    - destroyReq
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transReleaseCliHandle(void* handle, int32_t status) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3559,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3566,1
    - Dst: transHeapInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3564,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3561,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3570,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3572,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3573,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3576,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - pConnHeapCache
    - key
    - pHeap
    argTypes:
    - SHashObj*
    - char*
    - SHeap**
    constantsTouched: []
    func_position:
      end: 3583
      start: 3557
    functionDepth: 0
    functionLinenumber: 3557
    functionLinenumberEnd: 3583
    functionName: getOrCreateHeap
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - transHeapDestroy
    - taosHashGet
    - tstrerror
    - strlen
    - transHeapInit
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getOrCreateHeap(SHashObj* pConnHeapCache, char* key,
      SHeap** pHeap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3717,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3719,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - e
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3721
      start: 3716
    functionDepth: 0
    functionLinenumber: 3716
    functionLinenumberEnd: 3721
    functionName: filterToDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tGWarn
    - QUEUE_DATA
    - TMSG_INFO
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool filterToDebug(void* e, void* arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:578,1
    - Dst: cliBuildExceptResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:575,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:577,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:577,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:580,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:582,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:583,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - conn
    - pHead
    - pReq
    argTypes:
    - SCliConn*
    - STransMsgHead*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 588
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 588
    functionName: cliMayNotifyUserOnRecvReleaseExcept
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliNotifyCb
    - cliBuildExceptResp
    - taosHton64
    - tstrerror
    - CONN_GET_INST_LABEL
    - tGWarn
    - destroyReq
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t cliMayNotifyUserOnRecvReleaseExcept(SCliConn* conn, STransMsgHead*
      pHead, SCliReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1779,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pReq
    - pThrd
    - code
    argTypes:
    - SCliReq*
    - SCliThrd*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1786
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1786
    functionName: doNotifyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - memcpy
    - destroyReq
    linkageType: ''
    returnType: void
    signature: 'static void doNotifyCb(SCliReq* pReq, SCliThrd* pThrd, int32_t code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2154
    functionName: removeReqFromSendQ
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_REMOVE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void removeReqFromSendQ(SCliReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2705,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pInst
    - pReq
    argTypes:
    - STrans*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2712
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2712
    functionName: cliRetryMayInitCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: 'void cliRetryMayInitCtx(STrans* pInst, SCliReq* pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3038,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3041,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3046,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3038,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3043,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3048,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3051,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3053,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3061,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3063,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3068,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3076,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3079,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3077,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - ctx
    - pCliMsg
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransCtx*
    - SCliReq**
    constantsTouched: []
    func_position:
      end: 3081
      start: 3036
    functionDepth: 0
    functionLinenumber: 3036
    functionLinenumberEnd: 3081
    functionName: transInitMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - taosMemoryCalloc
    - transCreateReqEpsetFromUserEpset
    - TRACE_SET_MSGID
    - taosGetTimestampUs
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t transInitMsg(void* pInstRef, const SEpSet* pEpSet,
      STransMsg* pReq, STransCtx* ctx, SCliReq** pCliMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3592,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3593,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3596,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3603
      start: 3585
    functionDepth: 0
    functionLinenumber: 3585
    functionLinenumberEnd: 3603
    functionName: filterTimeoutReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - REQUEST_NO_RESP
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: 'bool filterTimeoutReq(void* key, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3728,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3729,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3729,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3734
      start: 3722
    functionDepth: 0
    functionLinenumber: 3722
    functionLinenumberEnd: 3734
    functionName: logConnMissHit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transQueueSize
    - tDebug
    - taosHashGetSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void logConnMissHit(SCliConn* pConn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:383,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:389,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:383,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:385,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:390,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:392,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pThrd
    - pConn
    argTypes:
    - SCliThrd*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 399
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 399
    functionName: cliGetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - uv_timer_init
    - tError
    - taosMemoryCalloc
    - uv_err_name
    - taosArrayPop
    - taosArrayGetSize
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliGetConnTimer(SCliThrd* pThrd, SCliConn* pConn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getOrCreateConnList
      Src: /src/tdengine/source/libs/transport/src/transCli.c:876,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:881,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:890,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:892,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:888,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:894,1
    - Dst: transDQCancel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:900,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:903,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppConn
    argTypes:
    - SCliThrd*
    - char*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 907
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 907
    functionName: cliGetConnFromPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - tTrace
    - QUEUE_REMOVE
    - QUEUE_DATA
    - transDQCancel
    - getOrCreateConnList
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cliGetConnFromPool(SCliThrd* pThrd, const char* key,
      SCliConn** ppConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliBuildExceptResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2270,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2276,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2272,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2278
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2278
    functionName: notifyExceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliBuildExceptResp
    - destroyReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t notifyExceptCb(void* thrd, SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3500,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3498,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3504,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3498,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3504,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3506,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3510,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3511,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3512,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 3515
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3515
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - transAddExHandle
    - taosInitRWLatch
    - transGetRefMgt
    - QUEUE_INIT
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transAllocHandle(int64_t* refId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3614,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3620,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3624,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3628,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3639,1
    - Dst: transCtxCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3643,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3646,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3619,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3626,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3637,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3632,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3634,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3642,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3644,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3646,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3647,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3623,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3623,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3624,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3638,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3651,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3629,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3628,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3640,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    constantsTouched: []
    func_position:
      end: 3652
      start: 3605
    functionDepth: 0
    functionLinenumber: 3605
    functionLinenumberEnd: 3652
    functionName: cliConnRemoveTimoutQidMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - tError
    - taosArrayGet
    - transQueueRemoveByFilter
    - tWarn
    - transCtxCleanup
    - taosHashIterate
    - taosHashGet
    - taosHashRemove
    - tstrerror
    - transRemoveExHandle
    - taosArrayGetSize
    - taosHashGetKey
    - transReleaseExHandle
    - taosArrayPush
    - CONN_GET_INST_LABEL
    - transGetRefMgt
    linkageType: ''
    returnType: void
    signature: 'static void cliConnRemoveTimoutQidMsg(SCliConn* pConn, int64_t* st,
      queue* set) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - heap
    argTypes:
    - SHeap*
    constantsTouched: []
    func_position:
      end: 3850
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3850
    functionName: transHeapDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - heapDestroy
    linkageType: ''
    returnType: void
    signature: 'void transHeapDestroy(SHeap* heap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_active
      Src: /src/tdengine/source/libs/transport/src/transCli.c:403,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:404,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:405,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:404,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:405,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:407,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:408,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 414
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 414
    functionName: cliResetConnTimer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - TAOS_UNUSED
    - tError
    - uv_is_active
    - tstrerror
    - uv_timer_stop
    - taosArrayPush
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: 'void cliResetConnTimer(SCliConn* conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2286
    functionName: notfiyCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t notfiyCb(void* thrd, SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3518,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3527,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3518,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3523,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3524,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3529,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3532,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3534,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3539,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3539,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3544,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3548,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3549,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3553,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3553,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3546,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pInstRef
    - transpointId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3555
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3555
    functionName: transFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - transGetWorkThrdFromHandle
    - taosMemoryCalloc
    - TRACE_SET_MSGID
    - transAsyncSend
    - transGetInstMgt
    - transReleaseExHandle
    - tGenIdPI64
    - tGDebug
    - taosMemoryFreeClear
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transFreeConnById(void* pInstRef, int64_t transpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3658,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3659,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pConn
    - st
    - set
    argTypes:
    - SCliConn*
    - int64_t*
    - queue*
    constantsTouched: []
    func_position:
      end: 3661
      start: 3654
    functionDepth: 0
    functionLinenumber: 3654
    functionLinenumberEnd: 3661
    functionName: cliConnRemoveTimeoutNoQidMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transQueueRemoveByFilter
    linkageType: ''
    returnType: void
    signature: 'static void cliConnRemoveTimeoutNoQidMsg(SCliConn* pConn, int64_t*
      st, queue* set) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: heapSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3852,1
    - Dst: heapMin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3856,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3861,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 3863
      start: 3851
    functionDepth: 0
    functionLinenumber: 3851
    functionLinenumberEnd: 3863
    functionName: transHeapGet
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - container_of
    - heapMin
    - heapSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapGet(SHeap* heap, SCliConn** p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:465,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:467,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 472
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: filteBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: 'static bool filteBySeq(void* key, void* arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1339,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1343,1
    - Dst: cliConnRmReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1359,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1359,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1366,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1337,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1357,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1351,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1360,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1370,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1336,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1341,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1350,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1350,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1351,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1360,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1359,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1355,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1369,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1369,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1338,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1350,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1367,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1370,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    constantsTouched: []
    func_position:
      end: 1373
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1373
    functionName: cliBatchSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - transUnrefCliHandle
    - cliConnMayUpdateTimer
    - cliMayRecycleConn
    - TAOS_UNUSED
    - tDebug
    - removeReqFromSendQ
    - QUEUE_DATA
    - freeWReqToWQ
    - cliConnRmReqs
    - uv_read_start
    - tstrerror
    - uv_err_name
    - CONN_GET_INST_LABEL
    - cliBatchSend
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void cliBatchSendCb(uv_write_t* req, int status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2162,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2170,1
    - Dst: destroyReqCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2167,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2171
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2171
    functionName: destroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    - taosMemoryFree
    - removeReqFromSendQ
    - destroyReqCtx
    - tGTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyReq(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3827,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3828,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3830,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - HeapNode*
    - HeapNode*
    constantsTouched: []
    func_position:
      end: 3836
      start: 3826
    functionDepth: 0
    functionLinenumber: 3826
    functionLinenumberEnd: 3836
    functionName: compareHeapNode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - container_of
    - REQS_ON_CONN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareHeapNode(const HeapNode* a, const HeapNode* b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4036,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4038,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4036,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4041,1
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4041,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4043,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4043,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4045,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4053,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4054,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4062,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4061,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4058,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4062,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4061,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4058,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 4064
      start: 4032
    functionDepth: 0
    functionLinenumber: 4032
    functionLinenumberEnd: 4064
    functionName: transSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tError
    - transSendRequest
    - tstrerror
    - transGetInstMgt
    - transAllocHandle
    - transReleaseExHandle
    - transGetRefMgt
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRequestWithId(void* shandle, const SEpSet* pEpSet,
      STransMsg* pReq, int64_t* transpointId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:476,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:486,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:485,1
    - Dst: transQueueRemoveByFilter
      Src: /src/tdengine/source/libs/transport/src/transCli.c:479,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - conn
    - seq
    - msgType
    - pReq
    argTypes:
    - SCliConn*
    - int64_t
    - int32_t
    - SCliReq**
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: cliGetReqBySeq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - transQueueRemoveByFilter
    - QUEUE_DATA
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliGetReqBySeq(SCliConn* conn, int64_t seq, int32_t msgType,
      SCliReq** pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1387,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1390,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1390,1
    - Dst: transDecompressMsgExt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1388,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1399,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1403,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1404,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SCliConn*
    - STransMsgHead**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1419
    functionName: cliConnMayAddUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - tstrerror
    - transDecompressMsgExt
    - memcpy
    - tDebug
    linkageType: ''
    returnType: bool
    signature: 'bool cliConnMayAddUserInfo(SCliConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - arg
    - param
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2184
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2184
    functionName: destroyReqWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - destroyReq
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyReqWrapper(void* arg, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3838,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - heap
    - (*cmpFunc)
    argTypes:
    - SHeap*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3845
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3845
    functionName: transHeapInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - heapCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapInit(SHeap* heap, int32_t (*cmpFunc)(const HeapNode*
      a, const HeapNode* b)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pTransMsg
    - refId
    argTypes:
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 4066
      start: 4066
    functionDepth: 0
    functionLinenumber: 4066
    functionLinenumberEnd: 4066
    functionName: transCreateSyncMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transCreateSyncMsg(STransMsg* pTransMsg, int64_t* refId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:912,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:915,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:913,1
    - Dst: cliCreateConn2
      Src: /src/tdengine/source/libs/transport/src/transCli.c:921,1
    - Dst: cliGetConnFromPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:917,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 925
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 925
    functionName: cliGetOrCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - EPSET_GET_INUSE_IP
    - EPSET_GET_INUSE_PORT
    - cliGetConnFromPool
    - CONN_CONSTRUCT_HASH_KEY
    - cliCreateConn2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cliGetOrCreateConn(SCliThrd* pThrd, SCliReq* pReq,
      SCliConn** pConn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:515,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:514,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:514,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:521,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:523,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:524,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:498,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:498,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:503,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:507,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:508,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:522,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:526,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:527,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:497,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:498,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:499,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:505,1
    - Dst: addConnToPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:519,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:521,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:523,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:524,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:501,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:502,1
    - Dst: transHeapMayBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:510,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:526,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:527,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 530
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 530
    functionName: cliMayRecycleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - addConnToPool
    - cliResetConnTimer
    - tTrace
    - TAOS_UNUSED
    - transHeapMayBalance
    - taosHashGetSize
    - tstrerror
    - CONN_GET_INST_LABEL
    - transQueueSize
    - delConnFromHeapCache
    - tDebug
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t cliMayRecycleConn(SCliConn* conn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:784,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:786,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:788,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:785,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:788,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 794
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 794
    functionName: filterToDebug_timeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tWarn
    - QUEUE_DATA
    - taosGetTimestampUs
    - REQUEST_NO_RESP
    - TMSG_INFO
    linkageType: ''
    returnType: bool
    signature: 'bool filterToDebug_timeoutMsg(void* key, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliConnCheckTimoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 818
    functionName: cliConnTimeout__checkReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliConnCheckTimoutMsg
    linkageType: ''
    returnType: void
    signature: 'void cliConnTimeout__checkReq(uv_timer_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:830,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:834,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:832,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:833,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:835,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:836,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:838,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:840,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 843
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 843
    functionName: destroyConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - QUEUE_REMOVE
    - taosHashIterate
    - QUEUE_DATA
    - cliDestroyConn
    - QUEUE_HEAD
    - taosHashCleanup
    linkageType: ''
    returnType: void*
    signature: 'void * destroyConnPool(SCliThrd* pThrd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1160,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1171,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1171,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1177,1
    - Dst: cliDestroyAllQidFromThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1183,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1177,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1191,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1196,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1167,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1167,1
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1165,1
    - Dst: destroyAllReqs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1169,1
    - Dst: delConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1182,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1186,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1192,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1197
    functionName: cliDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliResetConnTimer
    - tTrace
    - taosMemoryFree
    - destroyAllReqs
    - transDestroyBuffer
    - destroyWQ
    - uv_handle_get_type
    - tstrerror
    - CONN_GET_INST_LABEL
    - delConnFromHeapCache
    - tDebug
    - cliDestroyAllQidFromThrd
    linkageType: ''
    returnType: void
    signature: 'static void cliDestroy(uv_handle_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAsyncPoolIsEmpty
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1788,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1798,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1796,1
    - Dst: destroyConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1798,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1795,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1799,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1800
    functionName: cliHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - uv_walk
    - destroyConnPool
    - transAsyncPoolIsEmpty
    - destroyReq
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void cliHandleQuit(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:534,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - key
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 542
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 542
    functionName: filterByQid
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_DATA
    - removeReqFromSendQ
    linkageType: ''
    returnType: bool
    signature: 'bool filterByQid(void* key, void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:799,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:809,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:812,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:813,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:812,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 814
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 814
    functionName: cliConnCheckTimoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliConnRemoveTimeoutMsg
    - cliMayRecycleConn
    - TAOS_UNUSED
    - transQueueSize
    - QUEUE_INIT
    linkageType: ''
    returnType: void
    signature: 'void cliConnCheckTimoutMsg(SCliConn* conn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:822,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:822,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 823
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 823
    functionName: createConnPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void*
    signature: 'void * createConnPool(int size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:848,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:858,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:852,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:849,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transCli.c:853,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:862,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:864,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pThrd
    - key
    - ppList
    argTypes:
    - SCliThrd*
    - char*
    - SConnList**
    constantsTouched: []
    func_position:
      end: 869
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 869
    functionName: getOrCreateConnList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosHashGet
    - strlen
    - taosHashPut
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getOrCreateConnList(SCliThrd* pThrd, const char* key,
      SConnList** ppList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - e
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1199
    functionName: filterAllReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool filterAllReq(void* e, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1801
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1801
    functionName: cliHandleRelease
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cliHandleRelease(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4148
      start: 4148
    functionDepth: 0
    functionLinenumber: 4148
    functionLinenumberEnd: 4148
    functionName: transCloseClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void transCloseClient(void* arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:970,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transCli.c:985,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1007,1
    - Dst: transGetRefCount
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1008,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1003,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:977,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:986,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:989,1
    - Dst: cliHandleResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:993,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1010,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:989,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1003,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1007,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1010,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1007,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:979,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:979,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:986,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1012
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 1012
    functionName: cliRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transUnrefCliHandle
    - tTrace
    - TAOS_UNUSED
    - tWarn
    - transSetReadOption
    - cliHandleResp
    - transGetRefCount
    - transReadComplete
    - tstrerror
    - uv_err_name
    - STUB_RAND_NETWORK_ERR
    - CONN_GET_INST_LABEL
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void cliRecvCb(uv_stream_t* handle, ssize_t nread, const uv_buf_t*
      buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1805,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 1810
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1810
    functionName: cliHandleUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - destroyReq
    linkageType: ''
    returnType: void
    signature: 'static void cliHandleUpdate(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transReqEpsetIsEqual
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1837,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - code
    - pCtx
    argTypes:
    - int32_t
    - SReqCtx*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1838
    functionName: cliIsEpsetUpdated
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transReqEpsetIsEqual
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE bool cliIsEpsetUpdated(int32_t code, SReqCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3668,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3670,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3675,1
    - Dst: cliConnRemoveTimoutQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3672,1
    - Dst: cliConnRemoveTimeoutNoQidMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3673,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3678,1
    - Dst: destroyReqInQueue
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3681
      start: 3663
    functionDepth: 0
    functionLinenumber: 3663
    functionLinenumberEnd: 3681
    functionName: cliConnRemoveTimeoutMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - cliConnRemoveTimoutQidMsg
    - destroyReqInQueue
    - tWarn
    - taosGetTimestampUs
    - cliConnRemoveTimeoutNoQidMsg
    - QUEUE_INIT
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t cliConnRemoveTimeoutMsg(SCliConn* pConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1017,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1022,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1020,1
    - Dst: cliCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1020,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1018,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1024,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1028,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1030,1
    - Dst: cliDoConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1031,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - ppConn
    argTypes:
    - SCliThrd*
    - SCliReq*
    - SCliConn**
    constantsTouched: []
    func_position:
      end: 1035
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1035
    functionName: cliCreateConn2
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - addConnToHeapCache
    - transQueuePush
    - cliCreateConn
    - cliDoConn
    - EPSET_GET_INUSE_IP
    - EPSET_GET_INUSE_PORT
    - cliHandleState_mayUpdateState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cliCreateConn2(SCliThrd* pThrd, SCliReq* pReq, SCliConn**
      ppConn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1817,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1824,1
    - Dst: EPSET_IS_VALID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1828,1
    - Dst: memset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1825,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pEpSet
    - pCvtAddr
    argTypes:
    - SReqEpSet*
    - SCvtAddr*
    constantsTouched: []
    func_position:
      end: 1832
      start: 1812
    functionDepth: 0
    functionLinenumber: 1812
    functionLinenumberEnd: 1832
    functionName: cliMayCvtFqdnToIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - strncmp
    - memcpy
    - EPSET_IS_VALID
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t cliMayCvtFqdnToIp(SReqEpSet* pEpSet, const SCvtAddr*
      pCvtAddr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1854,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - pThrd
    - pReq
    - pResp
    argTypes:
    - SCliThrd*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 1862
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1862
    functionName: cliBuildExceptResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - REQUEST_NO_RESP
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t cliBuildExceptResp(SCliThrd* pThrd, SCliReq*
      pReq, STransMsg* pResp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3686,1
    - Dst: logConnMissHit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3693,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3687,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3688,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3689,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3696,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3696,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3698,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3702,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3702,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3705,1
    - Dst: cliConnRemoveTimeoutMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3704,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3705,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pConn
    - key
    argTypes:
    - SCliConn*
    - char*
    constantsTouched: []
    func_position:
      end: 3714
      start: 3682
    functionDepth: 0
    functionLinenumber: 3682
    functionLinenumberEnd: 3714
    functionName: shouldSWitchToOtherConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliConnRemoveTimeoutMsg
    - tTrace
    - tWarn
    - transLabel
    - taosHashGet
    - taosHashGetSize
    - strlen
    - transQueueSize
    - logConnMissHit
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int8_t shouldSWitchToOtherConn(SCliConn* pConn,
      char* key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3941,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3944
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3944
    functionName: transHeapBalance
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - heapInsert
    - heapRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapBalance(SHeap* heap, SCliConn* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1222,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1221,1
    - Dst: REQUEST_NO_RESP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1225,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1222,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1226,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1226,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1227,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1227,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1228,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1233,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - pConn
    - pReq
    - code
    argTypes:
    - SCliConn*
    - SCliReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1240
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1240
    functionName: notifyAndDestroyReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliNotifyCb
    - tstrerror
    - CONN_GET_INST_LABEL
    - REQUEST_NO_RESP
    - destroyReq
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void notifyAndDestroyReq(SCliConn* pConn, SCliReq* pReq, int32_t
      code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2090,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2096,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2093,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2094,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2092,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2105,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2106,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2107,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2109,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2114,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2115,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2120,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2114,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2111,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2115,1
    - Dst: cliBatchSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2122
      start: 2088
    functionDepth: 0
    functionLinenumber: 2088
    functionLinenumberEnd: 2122
    functionName: cliDoReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - transUnrefCliHandle
    - tTrace
    - TAOS_UNUSED
    - tWarn
    - QUEUE_REMOVE
    - QUEUE_DATA
    - tstrerror
    - cliBatchSend
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void cliDoReq(queue* wq, SCliThrd* pThrd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2212,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2214,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2218,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2223,1
    - Dst: createThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2228,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2233,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2235,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2236,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2255,1
    - Dst: cliSendQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2250,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2254,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2250,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2239,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 6
    argNames:
    - ip
    - port
    - label
    - numOfThreads
    - fp
    - pInstRef
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2259
    functionName: transInitClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - createThrdObj
    - taosThreadCreate
    - memcpy
    - cliSendQuit
    - destroyThrdObj
    - tDebug
    linkageType: ''
    returnType: void*
    signature: 'void * transInitClient(uint32_t ip, uint32_t port, char* label, int
      numOfThreads, void* fp, void* pInstRef) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2514,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2515,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2516
    functionName: doDelayTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliHandleReq
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void doDelayTask(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1243,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1244,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1245,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1247,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1248,1
    - Dst: notifyAndDestroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - conn
    - set
    - code
    argTypes:
    - SCliConn*
    - queue*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1251
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1251
    functionName: destroyReqInQueue
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - notifyAndDestroyReq
    - removeReqFromSendQ
    - QUEUE_REMOVE
    - QUEUE_DATA
    - QUEUE_HEAD
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyReqInQueue(SCliConn* conn, queue*
      set, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliDoReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - wq
    - pThrd
    argTypes:
    - queue*
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2124
      start: 2124
    functionDepth: 0
    functionLinenumber: 2124
    functionLinenumberEnd: 2124
    functionName: cliDoBatchReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliDoReq
    linkageType: ''
    returnType: void
    signature: 'static void cliDoBatchReq(queue* wq, SCliThrd* pThrd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliMayCvtFqdnToIp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - thrd
    - pReq
    - pResp
    argTypes:
    - void*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2266
    functionName: initCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliMayCvtFqdnToIp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCb(void* thrd, SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2521,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2523,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2529
    functionName: doCloseIdleConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transUnrefCliHandle
    - taosMemoryFree
    - tDebug
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void doCloseIdleConn(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1038,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: cliDestroyMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - destroyReq
    - QUEUE_DATA
    linkageType: ''
    returnType: void
    signature: 'void cliDestroyMsg(void* arg) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2297,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2294,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2307,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2309,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2330,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2349,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2373,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2391,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2375,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2370,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2392,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2405,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2302,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2309,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2328,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2310,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2321,1
    - Dst: uv_timer_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2332,1
    - Dst: createConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2343,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2352,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2358,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2363,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2398,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2401,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2402,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2368,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2382,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2400,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2404,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2394,1
    - Dst: destroyConnPool
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2400,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2316,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2336,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2339,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2346,1
    - Dst: transDQCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2348,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2358,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2360,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2410,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2368,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2363,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2292,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2299,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2317,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2314,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2334,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2353,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2382,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2401,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2406,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2365,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2395,1
    - Dst: uv_timer_stop
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2395,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 126
    argCount: 2
    argNames:
    - trans
    - ppThrd
    argTypes:
    - void*
    - SCliThrd**
    constantsTouched: []
    func_position:
      end: 2413
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2413
    functionName: createThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - uv_timer_init
    - taosMemoryFree
    - tError
    - TAOS_UNUSED
    - taosMemoryCalloc
    - transAsyncPoolDestroy
    - transAsyncPoolCreate
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    - taosHashCleanup
    - taosGetTimestampMs
    - uv_loop_init
    - taosMemoryMalloc
    - createConnPool
    - taosThreadMutexDestroy
    - taosArrayDestroy
    - transDQCreate
    - uv_timer_stop
    - taosArrayPush
    - uv_err_name
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - uv_loop_close
    - CONN_PERSIST_TIME
    - taosThreadMutexInit
    - tstrerror
    - transDQDestroy
    - destroyConnPool
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createThrdObj(void* trans, SCliThrd** ppThrd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2541,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2541,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2539,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2545,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pReq
    - label
    argTypes:
    - SCliReq*
    - char*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2548
    functionName: cliPerfLog_schedMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tWarn
    - tstrerror
    - epsetToStr
    - tGDebug
    - tListLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void cliPerfLog_schedMsg(SCliReq* pReq, char*
      label) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3437,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3437,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3449,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3444,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3443,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3455,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3457,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3462,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3464,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3466,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3479,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3488,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3480,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3488,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3467,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - pInstRef
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3490
      start: 3434
    functionDepth: 0
    functionLinenumber: 3434
    functionLinenumberEnd: 3490
    functionName: transSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrncpy
    - transAsyncSend
    - transGetInstMgt
    - transReleaseExHandle
    - memcpy
    - destroyReq
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetDefaultAddr(void* pInstRef, const char* ip, const
      char* fqdn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3868,1
    - Dst: heapInsert
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3872,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3877
      start: 3864
    functionDepth: 0
    functionLinenumber: 3864
    functionLinenumberEnd: 3877
    functionName: transHeapInsert
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tTrace
    - heapInsert
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapInsert(SHeap* heap, SCliConn* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3911
      start: 3908
    functionDepth: 0
    functionLinenumber: 3908
    functionLinenumberEnd: 3911
    functionName: transHeapUpdateFailTs
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapUpdateFailTs(SHeap* heap, SCliConn* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: cliHandleFreeById
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cliHandleFreeById(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1058,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1061,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1066,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1069,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1069,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1087,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1098,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1105,1
    - Dst: destroyCliConnQTable
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1117,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1057,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1068,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1068,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1071,1
    - Dst: cliGetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1081,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1071,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1094,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1119,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1123,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1118,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1051,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1081,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1084,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1076,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1090,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1092,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1092,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1103,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1116,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1126,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1049,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1055,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1078,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1076,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1115,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1120,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1125,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 76
    argCount: 4
    argNames:
    - pThrd
    - pCliConn
    - ip
    - port
    argTypes:
    - SCliThrd*
    - SCliConn**
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1128
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1128
    functionName: cliCreateConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - uv_tcp_init
    - initWQ
    - destroyCliConnQTable
    - transQueueInit
    - taosHashInit
    - taosHashCleanup
    - taosMemoryMalloc
    - transInitBuffer
    - uv_strerror
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - cliGetConnTimer
    - transDestroyBuffer
    - transQueueDestroy
    - taosStrdup
    - CONN_CONSTRUCT_HASH_KEY
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cliCreateConn(SCliThrd* pThrd, SCliConn** pCliConn,
      char* ip, int32_t port) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2420,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2424,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2429,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2438,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2445,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2420,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2425,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2426,1
    - Dst: transHeapDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2444,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2454,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2419,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2424,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2437,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2432,1
    - Dst: CLI_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2423,1
    - Dst: transDQDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2434,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2439,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2431,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2433,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2441,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2447,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2449,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2451,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2455
    functionName: destroyThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - CLI_RELEASE_UV
    - tTrace
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - taosMemoryFree
    - taosArrayDestroy
    - transHeapDestroy
    - taosHashIterate
    - taosThreadJoin
    - tstrerror
    - transDQDestroy
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - transAsyncPoolDestroy
    - taosArrayGetSize
    - tDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyThrdObj(SCliThrd* pThrd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2558,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2563,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2558,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2560,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2560,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2563,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pConn
    - pReq
    argTypes:
    - SCliConn*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2565
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2565
    functionName: cliPerfLog_epset
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - tWarn
    - tstrerror
    - epsetToStr
    - CONN_GET_INST_LABEL
    - tListLen
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void cliPerfLog_epset(SCliConn* pConn, SCliReq*
      pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3881,1
    - Dst: transHeapUpdateFailTs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3881,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3888,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3890,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3885,1
    - Dst: heapRemove
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3898,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3899,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3901,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3906
      start: 3878
    functionDepth: 0
    functionLinenumber: 3878
    functionLinenumberEnd: 3906
    functionName: transHeapDelete
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tTrace
    - transHeapUpdateFailTs
    - TAOS_UNUSED
    - heapRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapDelete(SHeap* heap, SCliConn* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: transHeapGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3921,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3928,1
    - Dst: transHeapBalance
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3932,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3932,1
    - Dst: REQS_ON_CONN
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3929,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 2
    argNames:
    - heap
    - p
    argTypes:
    - SHeap*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 3935
      start: 3912
    functionDepth: 0
    functionLinenumber: 3912
    functionLinenumberEnd: 3935
    functionName: transHeapMayBalance
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transHeapBalance
    - TAOS_UNUSED
    - REQS_ON_CONN
    - transHeapGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transHeapMayBalance(SHeap* heap, SCliConn* p) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3340,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3338,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3333,1
    - Dst: transGetWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3343,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3345,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3348,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3362,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3363,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3360,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3383,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3392,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3416,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3422,1
    - Dst: tsem2_timewait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3427,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3331,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3352,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3374,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3377,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3382,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3395,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3423,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3424,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3419,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3331,1
    - Dst: transCreateSyncMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3368,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3370,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3374,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3376,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3380,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3392,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3393,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3406,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3414,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3415,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3416,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3409,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3428,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3348,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3350,1
    - Dst: transCreateReqEpsetFromUserEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3355,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3369,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3358,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3388,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3393,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3397,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3398,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3414,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3416,1
    - Dst: transGetSyncMsgMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:3415,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 99
    argCount: 6
    argNames:
    - pInstRef
    - pEpSet
    - pReq
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    - int8_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3430
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3430
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - EPSET_GET_INUSE_PORT
    - taosReleaseRef
    - destroyReq
    - taosAcquireRef
    - tGenIdPI64
    - epsetAssign
    - transGetSyncMsgMgt
    - transCreateReqEpsetFromUserEpset
    - transAsyncSend
    - tGDebug
    - memcpy
    - transAcquireExHandle
    - TAOS_CHECK_GOTO
    - TRACE_SET_MSGID
    - taosGetTimestampUs
    - transGetInstMgt
    - transReleaseExHandle
    - taosMemoryFreeClear
    - taosRemoveRef
    - transCreateSyncMsg
    - transFreeMsg
    - EPSET_GET_INUSE_IP
    - transLabel
    - tsem2_timewait
    - transGetWorkThrd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRecvWithTimeout(void* pInstRef, SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp, int8_t* epUpdated, int32_t timeoutMs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroyReqWrapper
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2192
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2192
    functionName: destroyReqAndAhanlde
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - destroyReqWrapper
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyReqAndAhanlde(void* param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cliGetIpFromFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1611,1
    - Dst: htons
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1619,1
    - Dst: taosCreateSocketWithTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1623,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1621,1
    - Dst: uv_tcp_open
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1630,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1633,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1637,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1644,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1613,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1625,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1632,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1632,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1642,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1632,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1638,1
    - Dst: cliMayUpdateFqdnCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1652,1
    - Dst: uv_timer_start
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1658,1
    - Dst: uv_tcp_connect
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1649,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1644,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1628,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1635,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1661,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1666,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1666,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1666,1
    - Dst: cliDestroyConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1667,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: transRefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1657,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1651,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1651,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1653,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1660,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1660,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1660,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1671,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1672,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1671,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 65
    argCount: 2
    argNames:
    - pThrd
    - conn
    argTypes:
    - SCliThrd*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1674
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1674
    functionName: cliDoConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tError
    - TAOS_UNUSED
    - cliDestroyConn
    - htons
    - cliMayUpdateFqdnCache
    - uv_err_name
    - uv_tcp_open
    - TAOS_CHECK_GOTO
    - tTrace
    - taosHashGet
    - uv_timer_start
    - transSetConnOption
    - transUnrefCliHandle
    - uv_tcp_connect
    - cliGetIpFromFqdnCache
    - taosCreateSocketWithTimeout
    - transLabel
    - tstrerror
    - strlen
    - transRefCliHandle
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cliDoConn(SCliThrd* pThrd, SCliConn* conn) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2781,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2787,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2789,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2792,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2795,1
    - Dst: cliRetryDoSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2811,1
    - Dst: cliRetryMayInitCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2763,1
    - Dst: cliRetryIsTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2769,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2788,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2797,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2795,1
    - Dst: cliRetryUpdateRule
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2814,1
    - Dst: cliRetryShouldRetry
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2765,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2780,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2791,1
    - Dst: cliResetEpset
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2796,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2814,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2780,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2782,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2787,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2791,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2793,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 72
    argCount: 3
    argNames:
    - pConn
    - pReq
    - pResp
    argTypes:
    - SCliConn*
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2818
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2818
    functionName: cliMayRetry
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - transFreeMsg
    - tError
    - cliRetryUpdateRule
    - cliRetryDoSched
    - cliRetryIsTimeout
    - cliRetryMayInitCtx
    - tstrerror
    - cliRetryShouldRetry
    - cliResetEpset
    linkageType: ''
    returnType: bool
    signature: 'bool cliMayRetry(SCliConn* pConn, SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2969,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2969,1
    - Dst: cliRBChoseIdx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2975,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2973,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2981,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2982,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2985
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2985
    functionName: transGetWorkThrdFromHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliRBChoseIdx
    - taosWUnLockLatch
    - transReleaseExHandle
    - transGetRefMgt
    - taosWLockLatch
    - transAcquireExHandle
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE SCliThrd * transGetWorkThrdFromHandle(STrans*
      trans, int64_t handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_getpeername
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1680,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1686,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1682,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1682,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1689,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1691,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1691,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transCli.c:1695,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1704
    functionName: cliConnSetSockInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transSockInfo2Str
    - tWarn
    - uv_err_name
    - uv_tcp_getpeername
    - uv_tcp_getsockname
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliConnSetSockInfo(SCliConn* pConn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2198,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2201,1
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2202,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2204,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2201,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2204,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2194
    functionDepth: 0
    functionLinenumber: 2194
    functionLinenumberEnd: 2208
    functionName: cliWorkThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - strtolower
    - taosGetSelfPthreadId
    - uv_run
    - setThreadName
    - tDebug
    linkageType: ''
    returnType: void*
    signature: 'static void * cliWorkThread(void* arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pReq
    - pResp
    argTypes:
    - SCliReq*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2837
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2837
    functionName: cliMayResetRespCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cliMayResetRespCode(SCliReq* pReq, STransMsg* pResp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cliRBChoseIdx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2988,1
    - Dst: transGetWorkThrdFromHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - trans
    - handle
    argTypes:
    - STrans*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2994
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 2994
    functionName: transGetWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transGetWorkThrdFromHandle
    - cliRBChoseIdx
    linkageType: ''
    returnType: SCliThrd*
    signature: 'SCliThrd * transGetWorkThrd(STrans* trans, int64_t handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: cliConnClearInitUserMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void cliConnClearInitUserMsg(SCliConn* conn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cliResetConnTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:936,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transCli.c:938,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transCli.c:938,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:942,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transCli.c:943,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:945,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:950,1
    - Dst: transDQSched
      Src: /src/tdengine/source/libs/transport/src/transCli.c:956,1
    - Dst: CONN_PERSIST_TIME
      Src: /src/tdengine/source/libs/transport/src/transCli.c:956,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pool
    - conn
    argTypes:
    - void*
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 958
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 958
    functionName: addConnToPool
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliResetConnTimer
    - tTrace
    - QUEUE_PUSH
    - CONN_PERSIST_TIME
    - taosMemoryCalloc
    - taosHashGet
    - strlen
    - QUEUE_INIT
    - transDQSched
    linkageType: ''
    returnType: void
    signature: 'static void addConnToPool(void* pool, SCliConn* conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliSendQuit
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2924,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2926,1
    - Dst: destroyThrdObj
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2929,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2926,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2933
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2933
    functionName: transCloseClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - tstrerror
    - cliSendQuit
    - destroyThrdObj
    linkageType: ''
    returnType: void
    signature: 'void transCloseClient(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - shandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4101
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4101
    functionName: transSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetDefaultAddr(void* shandle, const char* ip, const char*
      fqdn) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:680,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:681,1
    - Dst: cliGetReqBySeq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:707,1
    - Dst: cliHandleState_mayCreateAhandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:720,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:729,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:730,1
    - Dst: removeReqFromSendQ
      Src: /src/tdengine/source/libs/transport/src/transCli.c:733,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:738,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:740,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:746,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:691,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:698,1
    - Dst: cliHandleState_mayHandleReleaseResp
      Src: /src/tdengine/source/libs/transport/src/transCli.c:701,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:702,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:697,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:716,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:735,1
    - Dst: destroyReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:744,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:681,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:685,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:685,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:685,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:690,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:695,1
    - Dst: cliBuildRespFromCont
      Src: /src/tdengine/source/libs/transport/src/transCli.c:711,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:718,1
    - Dst: cliMayRecycleConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:721,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:739,1
    - Dst: cliConnMayUpdateTimer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:751,1
    - Dst: cliConnClearInitUserMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:674,1
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:678,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transCli.c:696,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:691,1
    - Dst: cliNotifyCb
      Src: /src/tdengine/source/libs/transport/src/transCli.c:712,1
    - Dst: cliHandleState_mayUpdateStateTime
      Src: /src/tdengine/source/libs/transport/src/transCli.c:727,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:729,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:738,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:742,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:742,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SCliConn*
    constantsTouched: []
    func_position:
      end: 752
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 752
    functionName: cliHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliMayRecycleConn
    - cliConnMayUpdateTimer
    - taosMemoryFree
    - tError
    - cliConnClearInitUserMsg
    - cliHandleState_mayUpdateStateTime
    - cliHandleState_mayHandleReleaseResp
    - cliBuildRespFromCont
    - taosHton64
    - tGDebug
    - TMSG_INFO
    - htonl
    - cliHandleState_mayCreateAhandle
    - transDecompressMsg
    - transDumpFromBuffer
    - CONN_GET_INST_LABEL
    - tWarn
    - cliNotifyCb
    - removeReqFromSendQ
    - tstrerror
    - cliGetReqBySeq
    - destroyReq
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void cliHandleResp(SCliConn* conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAllocBuffer
      Src: /src/tdengine/source/libs/transport/src/transCli.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:965,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 967
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 967
    functionName: cliAllocRecvBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tError
    - transAllocBuffer
    linkageType: ''
    returnType: void
    signature: 'static void cliAllocRecvBufferCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2942,1
    - Dst: CONN_GET_INST_LABEL
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2943
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2943
    functionName: transRefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tTrace
    - CONN_GET_INST_LABEL
    linkageType: ''
    returnType: void
    signature: 'void transRefCliHandle(void* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4103,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4114,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4108,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4110,1
    - Dst: transGetRefMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4116,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4120,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4121,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 4125
      start: 4102
    functionDepth: 0
    functionLinenumber: 4102
    functionLinenumberEnd: 4125
    functionName: transAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - transAddExHandle
    - taosInitRWLatch
    - transGetRefMgt
    - QUEUE_INIT
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transAllocHandle(int64_t* refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3947
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3947
    functionName: transRefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void transRefCliHandle(void* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4070,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4077,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4072,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4070,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4077,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4079,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4080,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4081,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4083,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4087,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4090,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4093,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4095,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4089,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4088,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4092,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4088,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4095,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - shandle
    - pEpSet
    - pReq
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    - int8_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4097
      start: 4067
    functionDepth: 0
    functionLinenumber: 4067
    functionLinenumberEnd: 4097
    functionName: transSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    - taosMemoryFree
    - TAOS_UNUSED
    - tsem_init
    - transSendRequest
    - taosMemoryCalloc
    - TRACE_SET_MSGID
    - tsem_wait
    - transGetInstMgt
    - memcpy
    - taosReleaseRef
    - tsem_destroy
    - transAcquireExHandle
    - taosMemFree
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRecvWithTimeout(void* shandle, SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp, int8_t* epUpdated, int32_t timeoutMs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3948
      start: 3948
    functionDepth: 0
    functionLinenumber: 3948
    functionLinenumberEnd: 3948
    functionName: transUnrefCliHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transUnrefCliHandle(void* handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/transCli.c:4099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 4100
      start: 4098
    functionDepth: 0
    functionLinenumber: 4098
    functionLinenumberEnd: 4100
    functionName: transSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendRecv(void* shandle, const SEpSet* pEpSet, STransMsg*
      pReq, STransMsg* pRsp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2035,1
    - Dst: EPSET_GET_INUSE_PORT
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2040,1
    - Dst: getConnFromHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2043,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2047,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2081,1
    - Dst: cliMayGetStateByQid
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2031,1
    - Dst: addConnToHeapCache
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2052,1
    - Dst: cliGetOrCreateConn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2045,1
    - Dst: transUnrefCliHandle
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2068,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2071,1
    - Dst: tGWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2077,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2077,1
    - Dst: EPSET_GET_INUSE_IP
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2039,1
    - Dst: CONN_CONSTRUCT_HASH_KEY
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2041,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2054,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2054,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2067,1
    - Dst: cliSendReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2067,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2068,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2081,1
    - Dst: cliHandleState_mayUpdateStateCtx
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2027,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2058,1
    - Dst: cliHandleState_mayUpdateState
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2063,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2084
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2084
    functionName: cliHandleBatchReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - addConnToHeapCache
    - cliMayGetStateByQid
    - transUnrefCliHandle
    - TAOS_UNUSED
    - tTrace
    - tWarn
    - EPSET_GET_INUSE_IP
    - cliSendReq
    - EPSET_GET_INUSE_PORT
    - getConnFromHeapCache
    - tstrerror
    - cliHandleState_mayUpdateStateCtx
    - cliHandleState_mayUpdateState
    - CONN_CONSTRUCT_HASH_KEY
    - cliGetOrCreateConn
    - tGWarn
    linkageType: ''
    returnType: void
    signature: 'void cliHandleBatchReq(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2732,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCtx
    - noDelay
    argTypes:
    - SReqCtx*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2741
      start: 2727
    functionDepth: 0
    functionLinenumber: 2727
    functionLinenumberEnd: 2741
    functionName: cliRetryUpdateRule
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - pow
    linkageType: ''
    returnType: void
    signature: 'void cliRetryUpdateRule(SReqCtx* pCtx, int8_t noDelay) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cliHandleBatchReq
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pThrd
    - pReq
    argTypes:
    - SCliThrd*
    - SCliReq*
    constantsTouched: []
    func_position:
      end: 2086
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2086
    functionName: cliHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - cliHandleBatchReq
    linkageType: ''
    returnType: void
    signature: 'void cliHandleReq(SCliThrd* pThrd, SCliReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cliSchedMsgToNextNode
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2744,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2746,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transCli.c:2746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pReq
    - pThrd
    argTypes:
    - SCliReq*
    - SCliThrd*
    constantsTouched: []
    func_position:
      end: 2750
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2750
    functionName: cliRetryDoSched
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tError
    - cliSchedMsgToNextNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cliRetryDoSched(SCliReq* pReq, SCliThrd* pThrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - q
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1721
    functionName: filteGetAll
    functionSourceFile: /src/tdengine/source/libs/transport/src/transCli.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool filteGetAll(void* q, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - msgcb
    argTypes:
    - SMsgCb*
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: tmsgSetDefault
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tmsgSetDefault(const SMsgCb* msgcb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - epSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: tmsgSendSyncReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tmsgSendSyncReq(const SEpSet* epSet, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - msgcb
    - vgId
    - qtype
    argTypes:
    - SMsgCb*
    - int32_t
    - EQueueType
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: tmsgGetQueueSize
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tmsgGetQueueSize(const SMsgCb* msgcb, int32_t vgId, EQueueType
      qtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: tmsgRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tmsgRegisterBrokenLinkArg(SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - name
    - desc
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: tmsgReportStartup
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tmsgReportStartup(const char* name, const char* desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:30,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - msgcb
    - qtype
    - pMsg
    argTypes:
    - SMsgCb*
    - EQueueType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: tmsgPutToQueue
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tmsgPutToQueue(const SMsgCb* msgcb, EQueueType qtype, SRpcMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - epSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: tmsgSendReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tmsgSendReq(const SEpSet* epSet, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:62,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: tmsgSendRsp
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached:
    - tError
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: 'void tmsgSendRsp(SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pHandle
    - type
    - status
    argTypes:
    - SRpcHandleInfo*
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: tmsgReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tmsgReleaseHandle(SRpcHandleInfo* pHandle, int8_t type, int32_t
      status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - dnodeId
    - clusterId
    - fqdn
    - port
    argTypes:
    - int32_t*
    - int64_t*
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: tmsgUpdateDnodeInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tmsgUpdateDnodeInfo(int32_t* dnodeId, int64_t* clusterId, char*
      fqdn, uint16_t* port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/transport/src/tmsgcb.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - epset
    argTypes:
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: tmsgUpdateDnodeEpSet
    functionSourceFile: /src/tdengine/source/libs/transport/src/tmsgcb.c
    functionUses: []
    functionsReached:
    - tmsgUpdateDnodeInfo
    linkageType: ''
    returnType: void
    signature: 'void tmsgUpdateDnodeEpSet(SEpSet* epset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequest(void* pInit, const SEpSet* pEpSet, SRpcMsg*
      pMsg, int64_t* pRid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 216
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 216
    functionName: rpcUnrefHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void rpcUnrefHandle(void* handle, int8_t type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:290,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:290,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:291,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/trans.c:334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:343,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/transport/src/trans.c:359,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:378,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:285,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:287,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:366,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/trans.c:369,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:374,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:374,1
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:280,1
    - Dst: transValidLocalFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:333,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:335,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:365,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:369,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:373,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:373,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:282,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:368,1
    - Dst: transUpdateCb
      Src: /src/tdengine/source/libs/transport/src/trans.c:371,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 92
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    constantsTouched: []
    func_position:
      end: 382
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 382
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - rpcInit
    - taosThreadMutexInit
    - transAddExHandle
    - strcmp
    - transValidLocalFqdn
    - tstrncpy
    - tstrerror
    - strlen
    - transGetInstMgt
    - memcpy
    - taosGetDefaultHashFunction
    - transUpdateCb
    - taosHashInit
    - transAcquireExHandle
    linkageType: ''
    returnType: void*
    signature: 'void * rpcOpen(const SRpcInit* pInit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 411
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    linkageType: ''
    returnType: void
    signature: 'void rpcFreeCont(void* cont) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:431,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 437
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 437
    functionName: rpcSendRequest
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequest(void* shandle, const SEpSet* pEpSet, SRpcMsg*
      pMsg, int64_t* pRid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 547
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 547
    functionName: rpcCvtErrCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcCvtErrCode(int32_t code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:193,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRid
    - pCtx
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: rpcSendRequestWithCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequestWithId
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequestWithCtx(void* pInit, const SEpSet* pEpSet, SRpcMsg*
      pMsg, int64_t* pRid, SRpcCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 218
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 218
    functionName: rpcRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transRegisterMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcRegisterBrokenLinkArg(SRpcMsg* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCleanup
      Src: /src/tdengine/source/libs/transport/src/trans.c:248,1
    - Dst: transHttpEnvDestroy
      Src: /src/tdengine/source/libs/transport/src/trans.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 252
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 252
    functionName: rpcCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transCleanup
    - transHttpEnvDestroy
    linkageType: ''
    returnType: void
    signature: 'void rpcCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - tInfo
    linkageType: ''
    returnType: void
    signature: 'void rpcClose(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/trans.c:414,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryRealloc
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'void * rpcReallocCont(void* ptr, int64_t contLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:440,1
    - Dst: transSendRequest
      Src: /src/tdengine/source/libs/transport/src/trans.c:452,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:454,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:442,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRid
    - pCtx
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - int64_t*
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 457
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 457
    functionName: rpcSendRequestWithCtx
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequestWithId
    - transSendRequest
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequestWithCtx(void* shandle, const SEpSet* pEpSet,
      SRpcMsg* pMsg, int64_t* pRid, SRpcCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: rpcSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSetDefaultAddr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSetDefaultAddr(void* thandle, const char* ip, const char*
      fqdn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSIpRangeToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    constantsTouched: []
    func_position:
      end: 537
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 537
    functionName: rpcUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transUtilSIpRangeToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcUtilSIpRangeToStr(SIpV4Range* pRange, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - cont
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: rpcFreeCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    linkageType: ''
    returnType: void
    signature: 'void rpcFreeCont(void* cont) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: rpcSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequestWithId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequestWithId(void* pInit, const SEpSet* pEpSet, STransMsg*
      pReq, int64_t* transpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendResponse
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendResponse(const SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - type
    - status
    argTypes:
    - void*
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: rpcReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcReleaseHandle(void* handle, int8_t type, int32_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 245
    functionName: rpcInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 395
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 395
    functionName: rpcCloseImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void rpcCloseImpl(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:460,1
    - Dst: transSendRequestWithId
      Src: /src/tdengine/source/libs/transport/src/trans.c:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pReq
    - transpointId
    argTypes:
    - void*
    - SEpSet*
    - STransMsg*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: rpcSendRequestWithId
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRequestWithId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRequestWithId(void* shandle, const SEpSet* pEpSet,
      STransMsg* pReq, int64_t* transpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:495,1
    - Dst: transSendResponse
      Src: /src/tdengine/source/libs/transport/src/trans.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: rpcSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendResponse
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendResponse(SRpcMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/trans.c:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:178,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - ptr
    - contLen
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: rpcReallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryRealloc
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'void * rpcReallocCont(void* ptr, int64_t contLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: rpcSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRecv
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRecv(void* pInit, SEpSet* pEpSet, SRpcMsg* pMsg, SRpcMsg*
      pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - type
    argTypes:
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: rpcRefHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void rpcRefHandle(void* handle, int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - localFqdn
    - ip
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 266
    functionName: transValidLocalFqdn
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t transValidLocalFqdn(const char* localFqdn, uint32_t*
      ip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:399,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:401,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 409
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 409
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tTrace
    - tError
    linkageType: ''
    returnType: void*
    signature: 'void * rpcMallocCont(int64_t contLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:469,1
    - Dst: transSendRecv
      Src: /src/tdengine/source/libs/transport/src/trans.c:473,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 475
    functionName: rpcSendRecv
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRecv
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRecv(void* shandle, SEpSet* pEpSet, SRpcMsg* pMsg,
      SRpcMsg* pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:504,1
    - Dst: transRegisterMsg
      Src: /src/tdengine/source/libs/transport/src/trans.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 510
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 510
    functionName: rpcRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transRegisterMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcRegisterBrokenLinkArg(SRpcMsg* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: rpcUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transUtilSWhiteListToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcUtilSWhiteListToStr(SIpWhiteList* pWhiteList, char** ppBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:518,1
    - Dst: transSetDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/trans.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - thandle
    - ip
    - fqdn
    argTypes:
    - void*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: rpcSetDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSetDefaultAddr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSetDefaultAddr(void* thandle, const char* ip, const char*
      fqdn) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:36,1
    - Dst: transValidLocalFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:99,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:125,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:109,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:48,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:38,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/trans.c:48,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/trans.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:132,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/trans.c:100,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:121,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:101,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:41,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/trans.c:43,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:126,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:126,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - SRpcInit*
    constantsTouched: []
    func_position:
      end: 136
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 136
    functionName: rpcOpen
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - rpcInit
    - transAddExHandle
    - transValidLocalFqdn
    - tstrncpy
    - tstrerror
    - strlen
    - transGetInstMgt
    - memcpy
    - transAcquireExHandle
    linkageType: ''
    returnType: void*
    signature: 'void * rpcOpen(const SRpcInit* pInit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/trans.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: rpcCloseImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void rpcCloseImpl(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - code
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: rpcCvtErrCode
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcCvtErrCode(int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - type
    - status
    argTypes:
    - void*
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: rpcReleaseHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcReleaseHandle(void* handle, int8_t type, int32_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/trans.c:158,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/trans.c:160,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/trans.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - contLen
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: rpcMallocCont
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tTrace
    - tError
    linkageType: ''
    returnType: void*
    signature: 'void * rpcMallocCont(int64_t contLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:138,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:142,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:143,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:142,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/trans.c:143,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/trans.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: rpcClose
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transRemoveExHandle
    - transGetInstMgt
    - transReleaseExHandle
    - tInfo
    linkageType: ''
    returnType: void
    signature: 'void rpcClose(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transCleanup
      Src: /src/tdengine/source/libs/transport/src/trans.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 556
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 556
    functionName: rpcCleanup
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transCleanup
    linkageType: ''
    returnType: void
    signature: 'void rpcCleanup(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 6
    argNames:
    - pInit
    - pEpSet
    - pMsg
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    - int8_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 209
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 209
    functionName: rpcSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRecvWithTimeout(void* pInit, SEpSet* pEpSet, SRpcMsg*
      pMsg, SRpcMsg* pRsp, int8_t* epUpdated, int32_t timeoutMs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: rpcSetIpWhite
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSetIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSetIpWhite(void* thandle, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSIpRangeToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRange
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    constantsTouched: []
    func_position:
      end: 233
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 233
    functionName: rpcUtilSIpRangeToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transUtilSIpRangeToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcUtilSIpRangeToStr(SIpV4Range* pRange, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:478,1
    - Dst: transSendRecvWithTimeout
      Src: /src/tdengine/source/libs/transport/src/trans.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - shandle
    - pEpSet
    - pMsg
    - pRsp
    - epUpdated
    - timeoutMs
    argTypes:
    - void*
    - SEpSet*
    - SRpcMsg*
    - SRpcMsg*
    - int8_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 484
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 484
    functionName: rpcSendRecvWithTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSendRecvWithTimeout
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSendRecvWithTimeout(void* shandle, SEpSet* pEpSet, SRpcMsg*
      pMsg, SRpcMsg* pRsp, int8_t* epUpdated, int32_t timeoutMs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:527,1
    - Dst: transSetIpWhiteList
      Src: /src/tdengine/source/libs/transport/src/trans.c:531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - thandle
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: rpcSetIpWhite
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transSetIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcSetIpWhite(void* thandle, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transInit
      Src: /src/tdengine/source/libs/transport/src/trans.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 549
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 549
    functionName: rpcInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/transport/src/trans.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - localFqdn
    - ip
    argTypes:
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: transValidLocalFqdn
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - taosGetIpv4FromFqdn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t transValidLocalFqdn(const char* localFqdn, uint32_t*
      ip) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pInit
    - connId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 210
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 210
    functionName: rpcFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transFreeConnById
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcFreeConnById(void* pInit, int64_t connId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 231
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 231
    functionName: rpcAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transAllocHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcAllocHandle(int64_t* refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/trans.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pWhiteList
    - ppBuf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: rpcUtilSWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transUtilSWhiteListToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcUtilSWhiteListToStr(SIpWhiteList* pWhiteList, char** ppBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:486,1
    - Dst: transFreeConnById
      Src: /src/tdengine/source/libs/transport/src/trans.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - shandle
    - connId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 492
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 492
    functionName: rpcFreeConnById
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transFreeConnById
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcFreeConnById(void* shandle, int64_t connId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: transAllocHandle
      Src: /src/tdengine/source/libs/transport/src/trans.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 535
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 535
    functionName: rpcAllocHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/trans.c
    functionUses: []
    functionsReached:
    - transAllocHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rpcAllocHandle(int64_t* refId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:244,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:242,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:242,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 250
    functionName: uvWhiteListCreate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosMemoryFree
    - taosHashInit
    linkageType: ''
    returnType: SIpWhiteListTab*
    signature: 'SIpWhiteListTab * uvWhiteListCreate() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:253,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:259,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:261,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pWhite
    argTypes:
    - SIpWhiteListTab*
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: uvWhiteListDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void uvWhiteListDestroy(SIpWhiteListTab* pWhite) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - thrd
    argTypes:
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: uvGetConnRefOfThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uvGetConnRefOfThrd(SWorkThrd* thrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1299,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1301
    functionName: uvDestroyResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - destroySmsg
    - QUEUE_DATA
    linkageType: ''
    returnType: void
    signature: 'void uvDestroyResp(void* e) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1442,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1443,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1442,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1443,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1446,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1446,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1448,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1452,1
    - Dst: uvConnDestroyAllState
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1459,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1462,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1464,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1458,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1460,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1466
    functionName: uvDestroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - transQueueDestroy
    - taosMemoryFree
    - uvConnDestroyAllState
    - tTrace
    - QUEUE_REMOVE
    - uvGetConnRefOfThrd
    - transLabel
    - destroyWQ
    - uv_walk
    - transRemoveExHandle
    - transReleaseExHandle
    - transDestroyBuffer
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void uvDestroyConn(uv_handle_t* handle) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1315,1
    - Dst: transInitBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1327,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1346,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1360,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1364,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1371,1
    - Dst: destroyWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1394,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1399,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1393,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1312,1
    - Dst: transQueueInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1309,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1337,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1366,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1371,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1371,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1372,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1380,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1399,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1399,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1339,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1354,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1369,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1375,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1385,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1385,1
    - Dst: transRemoveExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1386,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1386,1
    - Dst: transDestroyBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1395,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1307,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1319,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1325,1
    - Dst: transAddExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1332,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1337,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1332,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1346,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1350,1
    - Dst: initWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1353,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1358,1
    - Dst: transQueueDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1390,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1392,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 93
    argCount: 1
    argNames:
    - hThrd
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1401
    functionName: createConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - initWQ
    - uvGetConnRefOfThrd
    - uv_tcp_init
    - transQueueInit
    - transRefSrvHandle
    - taosHashInit
    - taosHashCleanup
    - taosMemoryMalloc
    - transInitBuffer
    - destroyWQ
    - transRemoveExHandle
    - uv_strerror
    - taosGetDefaultHashFunction
    - transAcquireExHandle
    - TAOS_CHECK_GOTO
    - tTrace
    - QUEUE_PUSH
    - transReleaseExHandle
    - transDestroyBuffer
    - transQueueDestroy
    - transAddExHandle
    - transLabel
    - tstrerror
    - QUEUE_INIT
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE SSvrConn * createConn(void* hThrd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1469,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1478,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1469,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1476,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1473,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1478,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1481,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1483,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1483,1
    - Dst: uv_is_readable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1487,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1489,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1500,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1498,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1494,1
    - Dst: uv_is_writable
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - uv_stream_t*
    - int
    constantsTouched: []
    func_position:
      end: 1504
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1504
    functionName: uvPipeListenCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - container_of
    - uv_is_closing
    - tError
    - uv_pipe_init
    - uv_accept
    - uv_err_name
    - uv_is_writable
    - uv_is_readable
    linkageType: ''
    returnType: void
    signature: 'static void uvPipeListenCb(uv_stream_t* handle, int status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:309,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:311,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:309,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:320,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:320,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:322,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:328,1
    - Dst: uvWhiteListDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - pWhite
    - user
    - plist
    - ver
    argTypes:
    - SIpWhiteListTab*
    - char*
    - SIpWhiteList*
    - int64_t
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: uvWhiteListAdd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosHashGet
    - strlen
    - taosHashPut
    - taosMemoryFreeClear
    - uvWhiteListDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uvWhiteListAdd(SIpWhiteListTab* pWhite, char* user, SIpWhiteList*
      plist, int64_t ver) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:527,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:531,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:551,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:544,1
    - Dst: tGError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:576,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:576,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:592,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:537,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:541,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:541,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:548,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:541,1
    - Dst: uvWhiteListSetConnVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:560,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:580,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:589,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:602,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:531,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:527,1
    - Dst: uvConnMayGetUserInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:536,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:544,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:552,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:580,1
    - Dst: uvPerfLog_receive
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:596,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:604,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:593,1
    - Dst: transDumpFromBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:525,1
    - Dst: transDecompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:532,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:540,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:548,1
    - Dst: uvWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:558,1
    - Dst: uvMayHandleReleaseReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:564,1
    - Dst: transContLenFromMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:569,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:576,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:604,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    constantsTouched: []
    func_position:
      end: 608
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 608
    functionName: uvHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - uvGetConnRefOfThrd
    - taosHton64
    - transContLenFromMsg
    - transAcquireExHandle
    - TMSG_INFO
    - htonl
    - tTrace
    - uvPerfLog_receive
    - transDecompressMsg
    - transDumpFromBuffer
    - tstrncpy
    - transReleaseExHandle
    - uvMayHandleReleaseReq
    - uvWhiteListCheckConn
    - uvWhiteListSetConnVer
    - uvConnMayGetUserInfo
    - transLabel
    - tstrerror
    - tGError
    - tDebug
    linkageType: ''
    returnType: bool
    signature: 'static bool uvHandleReq(SSvrConn* pConn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2111
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2111
    functionName: transCloseServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void transCloseServer(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pWhite
    - pTable
    argTypes:
    - SIpWhiteListTab*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: uvWhiteListUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void uvWhiteListUpdate(SIpWhiteListTab* pWhite, SHashObj* pTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:626,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:626,1
    - Dst: uvHandleReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:634,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:638,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:657,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:644,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:635,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:635,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:646,1
    - Dst: transSetReadOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:624,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:620,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:654,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:654,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:644,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:654,1
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:616,1
    - Dst: tInfo
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:619,1
    - Dst: transReadComplete
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:633,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - cli
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 659
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 659
    functionName: uvOnRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tError
    - tWarn
    - transSetReadOption
    - transLabel
    - transReadComplete
    - tstrerror
    - transUnrefSrvHandle
    - uv_err_name
    - tInfo
    - STUB_RAND_NETWORK_ERR
    - destroyConn
    - uvHandleReq
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void uvOnRecvCb(uv_stream_t* cli, ssize_t nread, const uv_buf_t* buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uvMayHandleReleaseResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:897,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:898,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:903,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    constantsTouched: []
    func_position:
      end: 905
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 905
    functionName: uvStartSendResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transQueuePush
    - destroySmsg
    - uvMayHandleReleaseResp
    - uvStartSendRespImpl
    linkageType: ''
    returnType: void
    signature: 'static void uvStartSendResp(SSvrRespMsg* smsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:998,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1001,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1000,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_shutdown_t*
    - int
    constantsTouched: []
    func_position:
      end: 1002
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1002
    functionName: uvShutDownCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_err_name
    - uv_close
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void uvShutDownCb(uv_shutdown_t* req, int status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1409,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1411,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - conn
    - clear
    argTypes:
    - SSvrConn*
    - bool
    constantsTouched: []
    func_position:
      end: 1414
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1414
    functionName: destroyConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyConn(SSvrConn* conn, bool clear) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1509,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1512,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1523,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1529,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1546,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1554,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1555,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1558,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1566,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1575,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1577,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1649,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1677,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1689,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1691,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1704,1
    - Dst: addHandleToAcceptloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1683,1
    - Dst: uv_socketpair
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1643,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1512,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1522,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1531,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1548,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1552,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1560,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1566,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1571,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1601,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1614,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1674,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1651,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1581,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1651,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1672,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1531,1
    - Dst: taosValidIpAndPort
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1536,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1548,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1538,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1538,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1554,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1560,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1587,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1606,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1644,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1692,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1636,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1603,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1658,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1521,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1552,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1537,1
    - Dst: GetCurrentProcessId
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1552,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1564,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1589,1
    - Dst: addHandleToWorkloop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1597,1
    - Dst: uvWhiteListCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1623,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1625,1
    - Dst: transOpenRefMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1630,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1644,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1692,1
    - Dst: transCloseServer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1707,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1656,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1687,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1658,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 183
    argCount: 6
    argNames:
    - ip
    - port
    - label
    - numOfThreads
    - fp
    - pInit
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1710
    functionName: transInitServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uv_pipe_open
    - tError
    - taosValidIpAndPort
    - TAOS_SYSTEM_ERROR
    - uv_pipe_init
    - taosMemoryCalloc
    - terrstr
    - taosSafeRand
    - GetCurrentProcessId
    - uv_loop_init
    - taosMemoryMalloc
    - taosThreadCreate
    - uv_err_name
    - uv_socketpair
    - addHandleToAcceptloop
    - transCloseServer
    - taosGetSelfPthreadId
    - uv_listen
    - uv_pipe_bind
    - destroyWorkThrdObj
    - addHandleToWorkloop
    - transOpenRefMgt
    - destroyWorkThrd
    - snprintf
    - tstrerror
    - uvWhiteListCreate
    - tDebug
    linkageType: ''
    returnType: void*
    signature: 'void * transInitServer(uint32_t ip, uint32_t port, char* label, int
      numOfThreads, void* fp, void* pInit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2082
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2082
    functionName: transReleaseSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transReleaseSrvHandle(void *handle, int32_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:911,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: destroySmsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroySmsg(SSvrRespMsg* smsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: uvWorkDoTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    linkageType: ''
    returnType: void
    signature: 'static void uvWorkDoTask(uv_work_t* req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1421,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1427,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1426,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1424,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - SSvrConn*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1433
    functionName: uvConnDestroyAllState
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosHashGetKey
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void uvConnDestroyAllState(SSvrConn* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1714,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1719,1
    - Dst: destroyAllConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1720
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1720
    functionName: uvHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - destroyAllConn
    - taosMemoryFree
    - uv_walk
    linkageType: ''
    returnType: void
    signature: 'void uvHandleQuit(SSvrRespMsg* msg, SWorkThrd* thrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2083
    functionName: transRefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void transRefSrvHandle(void *handle) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1088,1
    - Dst: uv_fileno
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1116,1
    - Dst: uv_tcp_getpeername
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1122,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1132,1
    - Dst: uv_tcp_getsockname
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1136,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1143,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1146,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1157,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1161,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1157,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1082,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1086,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1086,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1098,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1092,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1087,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1123,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1123,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1128,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1137,1
    - Dst: transSockInfo2Str
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1146,1
    - Dst: transSetConnOption
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1155,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1166,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1161,1
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1074,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1077,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1081,1
    - Dst: createConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1108,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1114,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1116,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1124,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1129,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1132,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1138,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1137,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1080,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1077,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1080,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1086,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1089,1
    - Dst: uv_pipe_pending_count
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1097,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1103,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1117,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1142,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1153,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1167,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1159,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1162,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1169
    functionName: uvOnConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - TAOS_UNUSED
    - uv_fileno
    - transSockInfo2Str
    - uv_close
    - transUnrefSrvHandle
    - uv_err_name
    - uv_strerror
    - STUB_RAND_NETWORK_ERR
    - uv_tcp_getpeername
    - uv_tcp_getsockname
    - tTrace
    - ntohs
    - uv_accept
    - strncmp
    - transSetConnOption
    - createConn
    - tWarn
    - uv_read_start
    - tstrerror
    - strlen
    - uv_pipe_pending_count
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void uvOnConnectionCb(uv_stream_t* q, ssize_t nread, const uv_buf_t*
      buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1173,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1175,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1178
    functionName: transAcceptThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - setThreadName
    - uv_run
    linkageType: ''
    returnType: void*
    signature: 'void * transAcceptThread(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1875,1
    - Dst: destroyConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1879
    functionName: transUnrefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - destroyConn
    - tTrace
    linkageType: ''
    returnType: void
    signature: 'void transUnrefSrvHandle(void* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1832,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1834,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1833,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1833,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1835,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1838,1
    - Dst: destroyWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1840,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1846,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1847,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1852,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1857,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1858
    functionName: transCloseServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - SRV_RELEASE_UV
    - destroyWorkThrd
    - tError
    - TAOS_UNUSED
    - taosMemoryFree
    - taosThreadJoin
    - uv_async_send
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void transCloseServer(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1721
    functionName: uvHandleRelease
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void uvHandleRelease(SSvrRespMsg* msg, SWorkThrd* thrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: uvHandleActivityTimeout
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void uvHandleActivityTimeout(uv_timer_t* handle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:441,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:446,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:449,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:443,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:453,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:455,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:457,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:459,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:467,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:472,1
    - Dst: transQueuePush
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:479,1
    - Dst: uvStartSendRespImpl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:471,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:469,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:471,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pConn
    - pHead
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    constantsTouched: []
    func_position:
      end: 486
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 486
    functionName: uvMayHandleReleaseReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosMemoryFree
    - tError
    - transQueuePush
    - taosMemoryCalloc
    - taosHashGet
    - taosHton64
    - taosHashRemove
    - tstrerror
    - uvStartSendRespImpl
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t uvMayHandleReleaseReq(SSvrConn* pConn, STransMsgHead*
      pHead) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:675,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:681,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:686,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:689,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:714,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:708,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:695,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:697,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:700,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:712,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:686,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:690,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:691,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:693,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:701,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:702,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:704,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:706,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:706,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:707,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:682,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:684,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:695,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    constantsTouched: []
    func_position:
      end: 715
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 715
    functionName: uvOnSendCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - tTrace
    - QUEUE_REMOVE
    - transLabel
    - destroySmsg
    - QUEUE_DATA
    - freeWReqToWQ
    - transUnrefSrvHandle
    - uv_err_name
    - STUB_RAND_NETWORK_ERR
    - tGDebug
    - QUEUE_MOVE
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void uvOnSendCb(uv_write_t* req, int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - smsg
    - param
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 914
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 914
    functionName: destroySmsgWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - destroySmsg
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroySmsgWrapper(void* smsg, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subnetInit
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:231,1
    - Dst: subnetCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pRange
    - ip
    argTypes:
    - SIpV4Range*
    - int32_t
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: uvCheckIp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - subnetInit
    - subnetCheckIp
    linkageType: ''
    returnType: bool
    signature: 'static bool uvCheckIp(SIpV4Range* pRange, int32_t ip) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:497,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:499,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:503,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:502,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:499,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:505,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:505,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:507,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pConn
    - ppHead
    - msgLen
    argTypes:
    - SSvrConn*
    - STransMsgHead**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 516
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 516
    functionName: uvConnMayGetUserInfo
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - tstrerror
    - memcpy
    linkageType: ''
    returnType: bool
    signature: 'bool uvConnMayGetUserInfo(SSvrConn* pConn, STransMsgHead** ppHead,
      int32_t* msgLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:717,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:723,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:719,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:721,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:721,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    constantsTouched: []
    func_position:
      end: 729
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 729
    functionName: uvOnPipeWriteCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - uv_is_closing
    - tError
    - taosMemoryFree
    - uv_close
    - uv_strerror
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: 'static void uvOnPipeWriteCb(uv_write_t* req, int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:917,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:921,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:919,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:920,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:918,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:923,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:925,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: destroyAllConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - tTrace
    - QUEUE_REMOVE
    - QUEUE_DATA
    - transUnrefSrvHandle
    - QUEUE_INIT
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void destroyAllConn(SWorkThrd* pThrd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1866,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1867
    functionName: transRefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    linkageType: ''
    returnType: void
    signature: 'void transRefSrvHandle(void* handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1888,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1910,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1891,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1910,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1901,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1910,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1912,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1913,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1914,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1918,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1921,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1922,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1925,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - handle
    - status
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1927
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1927
    functionName: transReleaseSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - transLabel
    - destroySmsg
    - ASYNC_ERR_JRET
    - transAsyncSend
    - transReleaseExHandle
    - ASYNC_CHECK_HANDLE
    - tDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transReleaseSrvHandle(void* handle, int32_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1725,1
    - Dst: uvStartSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1726,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1725,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1727
    functionName: uvHandleResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - transLabel
    - uvStartSendResp
    linkageType: ''
    returnType: void
    signature: 'void uvHandleResp(SSvrRespMsg* msg, SWorkThrd* thrd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:391,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:396,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:398,1
    - Dst: taosNtoh64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:391,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:398,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:401,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:402,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:402,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:407,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:410,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:420,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:420,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:416,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:413,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:410,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:416,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - pConn
    - pHead
    - pTransMsg
    argTypes:
    - SSvrConn*
    - STransMsgHead*
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: uvPerfLog_receive
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transLabel
    - taosNtoh64
    - taosGetTimestampUs
    - tGDebug
    - tGTrace
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void uvPerfLog_receive(SSvrConn* pConn, STransMsgHead* pHead,
      STransMsg* pTransMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1250,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1251,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1251,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1258,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1256,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1258,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1262,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1264,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1264,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1270,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1280,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1279,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1280,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1271,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1276,1
    - Dst: uv_tcp_bind
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1275,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1271,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1284
    functionName: addHandleToAcceptloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tError
    - taosMemoryCalloc
    - uv_tcp_init
    - uv_async_init
    - uv_ip4_addr
    - uv_tcp_bind
    - tstrerror
    - uv_err_name
    - uv_listen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addHandleToAcceptloop(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1733,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1741,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1736,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1733,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1738,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1742,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SSvrRespMsg*
    constantsTouched: []
    func_position:
      end: 1744
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1744
    functionName: uvHandleStateReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    - transLabel
    - taosHashGet
    - taosHashPut
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uvHandleStateReq(SSvrRespMsg* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListCheckConn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:429,1
    - Dst: uvWhiteListSetConnVer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SSvrConn*
    constantsTouched: []
    func_position:
      end: 435
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 435
    functionName: uvValidConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uvWhiteListCheckConn
    - uvWhiteListSetConnVer
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t uvValidConn(SSvrConn* pConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1288,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1291,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1293,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1297
    functionName: transWorkerThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uv_err_name
    - setThreadName
    - tWarn
    - uv_run
    linkageType: ''
    returnType: void*
    signature: 'void * transWorkerThread(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1747,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1747,1
    - Dst: uvHandleStateReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1748,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1750
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1750
    functionName: uvHandleRegister
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uvHandleStateReq
    - transLabel
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void uvHandleRegister(SSvrRespMsg* msg, SWorkThrd* thrd) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1755,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1766,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1757,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1768,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1773,1
    - Dst: uvWhiteListAdd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1774,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1784,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1784,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - msg
    - thrd
    argTypes:
    - SSvrRespMsg*
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1789
    functionName: uvHandleUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - uvWhiteListAdd
    - taosMemoryCalloc
    - tFreeSUpdateIpWhiteReq
    - tstrerror
    - memcpy
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void uvHandleUpdate(SSvrRespMsg* msg, SWorkThrd* thrd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1795,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1799,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1798,1
    - Dst: uvWhiteListDestroy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1800
    functionName: destroyWorkThrdObj
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uvWhiteListDestroy
    - taosMemoryFree
    - taosCloseRef
    - transAsyncPoolDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyWorkThrdObj(SWorkThrd* pThrd) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1933,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1940,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1953,1
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1944,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1934,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1955,1
    - Dst: tGTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1965,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1966,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1967,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1968,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1972,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1977,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1981,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1976,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1982,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1978,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 1984
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1984
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - tDebug
    - taosMemoryCalloc
    - destroySmsg
    - transAsyncSend
    - transReleaseExHandle
    - ASYNC_CHECK_HANDLE
    - rpcFreeCont
    - tGTrace
    - ASYNC_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendResponse(const STransMsg* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASYNC_CHECK_HANDLE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1990,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2013,1
    - Dst: ASYNC_ERR_JRET
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2001,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2003,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2013,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2014,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2015,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2016,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2020,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2024,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2030,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2026,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2025,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2032
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2032
    functionName: transRegisterMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - transLabel
    - destroySmsg
    - ASYNC_ERR_JRET
    - transAsyncSend
    - transReleaseExHandle
    - ASYNC_CHECK_HANDLE
    - rpcFreeCont
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transRegisterMsg(const STransMsg* msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: transAllocBuffer
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:218,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: uvAllocRecvBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tError
    - transAllocBuffer
    linkageType: ''
    returnType: void
    signature: 'void uvAllocRecvBufferCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2085
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2085
    functionName: transUnrefSrvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void transUnrefSrvHandle(void *handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:735,1
    - Dst: transHeadFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:741,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:747,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:744,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:745,1
    - Dst: taosHton64
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:748,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:760,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:761,1
    - Dst: transMsgLenFromCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:764,1
    - Dst: transCompressMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:769,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:770,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:774,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:775,1
    - Dst: tGDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:774,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - smsg
    - wb
    argTypes:
    - SSvrRespMsg*
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 780
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 780
    functionName: uvPrepareSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - htonl
    - tGDebug
    - transLabel
    - taosHton64
    - transMsgLenFromCont
    - transHeadFromCont
    - transCompressMsg
    - rpcMallocCont
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t uvPrepareSendData(SSvrRespMsg* smsg, uv_buf_t* wb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allocWReqFromWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:837,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:849,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:859,1
    - Dst: transRefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:857,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:871,1
    - Dst: transUnrefSrvHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:840,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:861,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:861,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:853,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:867,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:831,1
    - Dst: uError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:839,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:833,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:839,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:863,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:849,1
    - Dst: freeWReqToWQ
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:869,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:833,1
    - Dst: uvBuildToSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:847,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:864,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:853,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:865,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:866,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - smsg
    argTypes:
    - SSvrRespMsg*
    constantsTouched: []
    func_position:
      end: 873
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 873
    functionName: uvStartSendRespImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tError
    - uvBuildToSendData
    - QUEUE_REMOVE
    - uError
    - transQueueSize
    - transRefSrvHandle
    - allocWReqFromWQ
    - destroySmsg
    - QUEUE_DATA
    - transUnrefSrvHandle
    - uv_err_name
    - QUEUE_IS_EMPTY
    - tTrace
    - tDebug
    - freeWReqToWQ
    - uv_write
    - transLabel
    - tstrerror
    - QUEUE_HEAD
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void uvStartSendRespImpl(SSvrRespMsg* smsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcIsReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2088,1
    - Dst: transSendResp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2099,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2092,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2100
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2100
    functionName: transSendResponse
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - taosVersionStrToInt
    - rpcIsReq
    - transSendResp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSendResponse(STransMsg *msg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:784,1
    - Dst: transQueueSize
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:801,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:785,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:785,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:791,1
    - Dst: transQueuePop
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:802,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:803,1
    - Dst: uvPrepareSendData
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:805,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:811,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - pConn
    - ppBuf
    - bufNum
    - toSendQ
    argTypes:
    - SSvrConn*
    - uv_buf_t**
    - int32_t*
    - queue*
    constantsTouched: []
    func_position:
      end: 823
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 823
    functionName: uvBuildToSendData
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - QUEUE_PUSH
    - transLabel
    - taosMemoryRealloc
    - uvPrepareSendData
    - transQueuePop
    - QUEUE_DATA
    - transQueueSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t uvBuildToSendData(SSvrConn* pConn, uv_buf_t** ppBuf,
      int32_t* bufNum, queue* toSendQ) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:879,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:885,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:881,1
    - Dst: transFreeMsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:884,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:881,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:887,1
    - Dst: transLabel
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:887,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SSvrRespMsg*
    constantsTouched: []
    func_position:
      end: 893
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 893
    functionName: uvMayHandleReleaseResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transFreeMsg
    - tError
    - transLabel
    - taosHashGet
    - taosHashRemove
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uvMayHandleReleaseResp(SSvrRespMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - msg
    argTypes:
    - STransMsg*
    constantsTouched: []
    func_position:
      end: 2104
      start: 2101
    functionDepth: 0
    functionLinenumber: 2101
    functionLinenumberEnd: 2104
    functionName: transRegisterMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transRegisterMsg(const STransMsg *msg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sendQuitToWorkThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1806,1
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1812,1
    - Dst: SRV_RELEASE_UV
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1811,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1807,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1808,1
    - Dst: destroyWorkThrdObj
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1815
    functionName: destroyWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - SRV_RELEASE_UV
    - tError
    - taosThreadJoin
    - sendQuitToWorkThrd
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - destroyWorkThrdObj
    linkageType: ''
    returnType: void
    signature: 'void destroyWorkThrd(SWorkThrd* pThrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    constantsTouched: []
    func_position:
      end: 2105
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2105
    functionName: transSetIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetIpWhiteList(void *thandle, void *arg, FilteFunc *func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1817,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1823,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1819,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1819,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1824,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pThrd
    argTypes:
    - SWorkThrd*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1816
    functionDepth: 0
    functionLinenumber: 1816
    functionLinenumberEnd: 1825
    functionName: sendQuitToWorkThrd
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tError
    - TAOS_UNUSED
    - taosMemoryCalloc
    - tstrerror
    - transAsyncSend
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void sendQuitToWorkThrd(SWorkThrd* pThrd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 6
    argNames:
    - ip
    - port
    - label
    - numOfThreads
    - fp
    - pInit
    argTypes:
    - uint32_t
    - uint32_t
    - char*
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2107
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2107
    functionName: transInitServer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *transInitServer(uint32_t ip, uint32_t port, char *label, int
      numOfThreads, void *fp, void *pInit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListFilte
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SIpWhiteListTab*
    - SSvrConn*
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: uvWhiteListCheckConn
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uvWhiteListFilte
    linkageType: ''
    returnType: bool
    signature: 'bool uvWhiteListCheckConn(SIpWhiteListTab* pWhite, SSvrConn* pConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:662,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:664,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:664,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: uvAllocConnBufferCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void uvAllocConnBufferCb(uv_handle_t* handle, size_t suggested_size,
      uv_buf_t* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 988
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 988
    functionName: uvFreeCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void uvFreeCb(uv_handle_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1012,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1017,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_work_t*
    - int
    constantsTouched: []
    func_position:
      end: 1019
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1019
    functionName: uvWorkAfterTask
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void uvWorkAfterTask(uv_work_t* req, int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pWhite
    - pConn
    argTypes:
    - SIpWhiteListTab*
    - SSvrConn*
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: uvWhiteListSetConnVer
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void uvWhiteListSetConnVer(SIpWhiteListTab* pWhite, SSvrConn* pConn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: uvOnTimeoutCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - tError
    linkageType: ''
    returnType: void
    signature: 'void uvOnTimeoutCb(uv_timer_t* handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:992,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 994
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 994
    functionName: uvAcceptAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uv_walk
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void uvAcceptAsyncCb(uv_async_t* async) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1025,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1027,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1032,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1054,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1063,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1049,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1064,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1068,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1032,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1033,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1047,1
    - Dst: uv_write2
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1061,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1054,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1064,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1065,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1030,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1036,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1040,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1058,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1042,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1049,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1060,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1067,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - stream
    - status
    argTypes:
    - uv_stream_t*
    - int
    constantsTouched: []
    func_position:
      end: 1071
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1071
    functionName: uvOnAcceptCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - container_of
    - tTrace
    - taosMemoryFree
    - taosMemoryMalloc
    - tError
    - TAOS_UNUSED
    - uv_accept
    - uv_is_closing
    - uv_tcp_init
    - uv_close
    - tstrerror
    - uv_buf_init
    - strlen
    - uv_write2
    - uv_err_name
    linkageType: ''
    returnType: void
    signature: 'void uvOnAcceptCb(uv_stream_t* stream, int status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: transUtilSWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:278,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:272,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:277,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - plist
    - user
    - ppBuf
    argTypes:
    - SWhiteUserList*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 282
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 282
    functionName: uvWhiteListToStr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - transUtilSWhiteListToStr
    - taosMemoryFree
    - taosMemoryCalloc
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uvWhiteListToStr(SWhiteUserList* plist, char* user, char**
      ppBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ip
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: uvWhiteListIsDefaultAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool uvWhiteListIsDefaultAddr(uint32_t ip) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1180,1
    - Dst: container_of
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1185,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1186,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int
    constantsTouched: []
    func_position:
      end: 1187
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1187
    functionName: uvOnPipeConnectionCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - container_of
    - uv_read_start
    - TAOS_UNUSED
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: 'void uvOnPipeConnectionCb(uv_connect_t* connect, int status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2035,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2042,1
    - Dst: cloneSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2054,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2047,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2035,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2056,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2063,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2065,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2066,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2074,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2071,1
    - Dst: transGetInstMgt
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2071,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:2074,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 3
    argNames:
    - thandle
    - arg
    - func
    argTypes:
    - void*
    - void*
    - FilteFunc*
    constantsTouched: []
    func_position:
      end: 2077
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2077
    functionName: transSetIpWhiteList
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - taosMemoryCalloc
    - cloneSUpdateIpWhiteReq
    - tFreeSUpdateIpWhiteReq
    - tstrerror
    - transAsyncSend
    - transGetInstMgt
    - transReleaseExHandle
    - tDebug
    - transAcquireExHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transSetIpWhiteList(void* thandle, void* arg, FilteFunc* func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:286,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:291,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:299,1
    - Dst: uvWhiteListToStr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:297,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:290,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:301,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - pWrite
    argTypes:
    - SIpWhiteListTab*
    constantsTouched: []
    func_position:
      end: 304
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 304
    functionName: uvWhiteListDebug
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uvWhiteListToStr
    - taosMemoryFree
    - taosHashIterate
    - taosHashGetKey
    - memcpy
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'void uvWhiteListDebug(SIpWhiteListTab* pWrite) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uvWhiteListIsDefaultAddr
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:351,1
    - Dst: uvCheckIp
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:363,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:353,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:353,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 14
    argCount: 4
    argNames:
    - pWhite
    - user
    - ip
    - ver
    argTypes:
    - SIpWhiteListTab*
    - char*
    - uint32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: uvWhiteListFilte
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - strlen
    - uvWhiteListIsDefaultAddr
    - uvCheckIp
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool uvWhiteListFilte(SIpWhiteListTab* pWhite, char* user, uint32_t
      ip, int64_t ver) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1196,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1207,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1209,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1213,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1227,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1236,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1238,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1201,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1196,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1203,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1209,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1222,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1215,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1238,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1195,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1229,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1215,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1190,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1225,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1229,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:1233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - pThrd
    - pipeName
    argTypes:
    - SWorkThrd*
    - char*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1243
    functionName: addHandleToWorkloop
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - tError
    - taosMemoryMalloc
    - uv_pipe_init
    - uv_pipe_connect
    - uv_read_start
    - tstrerror
    - uv_err_name
    - uv_pipe_open
    - transAsyncPoolCreate
    - QUEUE_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addHandleToWorkloop(SWorkThrd* pThrd, char* pipeName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:938,1
    - Dst: destroySmsg
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:971,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:937,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:941,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:947,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:948,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:949,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:951,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:953,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:944,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:967,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:969,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:943,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:975,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:975,1
    - Dst: transAcquireExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:967,1
    - Dst: transReleaseExHandle
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:970,1
    - Dst: uvGetConnRefOfThrd
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:970,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 979
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 979
    functionName: uvWorkerAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosThreadMutexUnlock
    - tTrace
    - tError
    - taosThreadMutexLock
    - QUEUE_REMOVE
    - uvGetConnRefOfThrd
    - destroySmsg
    - QUEUE_DATA
    - transReleaseExHandle
    - QUEUE_MOVE
    - QUEUE_HEAD
    - transAcquireExHandle
    linkageType: ''
    returnType: void
    signature: 'void uvWorkerAsyncCb(uv_async_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:981,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/transSvr.c:982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    constantsTouched: []
    func_position:
      end: 984
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 984
    functionName: uvWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/transSvr.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: 'static void uvWalkCb(uv_handle_t* handle, void* arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:120,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:127,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:140,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 7
    argNames:
    - server
    - uri
    - contLen
    - qid
    - pHead
    - headLen
    - flag
    argTypes:
    - char*
    - char*
    - int32_t
    - char*
    - char*
    - int32_t
    - EHttpCompFlag
    constantsTouched: []
    func_position:
      end: 164
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 164
    functionName: taosBuildHttpHeader
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosBuildHttpHeader(const char* server, const char*
      uri, int32_t contLen, const char* qid, char* pHead, int32_t headLen, EHttpCompFlag
      flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: clientAllocBuffCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void clientAllocBuffCb(uv_handle_t* handle, size_t
      suggested_size, uv_buf_t* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:471,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:475,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:477,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:474,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:476,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:481,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/transport/src/thttp.c:484,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:486,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:487,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:488,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: clientSentCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - tTrace
    - uv_is_closing
    - tError
    - uv_close
    - uv_read_start
    - uv_strerror
    - STUB_RAND_NETWORK_ERR
    linkageType: ''
    returnType: void
    signature: 'static void clientSentCb(uv_write_t* req, int32_t status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:572,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/transport/src/thttp.c:574,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/transport/src/thttp.c:579,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:581,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:574,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pTable
    - server
    - port
    argTypes:
    - SHashObj*
    - char*
    - int16_t
    constantsTouched: []
    func_position:
      end: 586
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 586
    functionName: httpFailFastShoudIgnoreMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - sprintf
    - taosHashGet
    - taosGetTimestampSec
    - strlen
    - tDebug
    linkageType: ''
    returnType: bool
    signature: 'static bool httpFailFastShoudIgnoreMsg(SHashObj* pTable, char* server,
      int16_t port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:864,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:865,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: transHttpDestroyRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void transHttpDestroyRecvHandle(void* handle) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:886,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:898,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/transport/src/thttp.c:892,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:892,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:904,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:906,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:906,1
    - Dst: transAsyncPoolCreate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:911,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:918,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:920,1
    - Dst: httpModuleDestroy2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:931,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:924,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 933
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 933
    functionName: transInitHttpChanImpl
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - taosMemoryMalloc
    - tError
    - TAOS_SYSTEM_ERROR
    - httpModuleDestroy2
    - taosMemoryCalloc
    - taosThreadCreate
    - uv_strerror
    - taosAddRef
    - transAsyncPoolCreate
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t transInitHttpChanImpl() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:935,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:935,1
    - Dst: transInitHttpChanImpl
      Src: /src/tdengine/source/libs/transport/src/thttp.c:936,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: taosInitHttpChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - transInitHttpChanImpl
    - taosThreadOnce
    - TAOS_UNUSED
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosInitHttpChan() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:945,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:943,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:945,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:950,1
    - Dst: httpSendQuit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:951,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:953,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:953,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:954,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:954,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/transport/src/thttp.c:958,1
    - Dst: httpModuleDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:962,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:964,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:965,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:965,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:964,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:959,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - chanId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 966
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 966
    functionName: taosDestroyHttpChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - tTrace
    - httpSendQuit
    - tError
    - TAOS_UNUSED
    - atomic_store_8
    - httpModuleDestroy
    - tstrerror
    - taosThreadJoin
    - taosReleaseRef
    - taosRemoveRef
    - tDebug
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void taosDestroyHttpChan(int64_t chanId) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:169,1
    - Dst: deflateInit2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:180,1
    - Dst: deflate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:191,1
    - Dst: deflate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:204,1
    - Dst: deflateEnd
      Src: /src/tdengine/source/libs/transport/src/thttp.c:213,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:227,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:230,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 2
    argNames:
    - pSrc
    - srcLen
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 232
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 232
    functionName: taosCompressHttpRport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - deflateInit2
    - memcpy
    - deflate
    - deflateEnd
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCompressHttpRport(char* pSrc, int32_t srcLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:437,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:440,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:444,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:440,1
    - Dst: tTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:442,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:446,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:448,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:450,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:452,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:456,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:459,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:456,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:462,1
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/thttp.c:462,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:460,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:467,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - handle
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 469
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 469
    functionName: clientRecvCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - tTrace
    - uv_is_closing
    - tError
    - TAOS_UNUSED
    - tWarn
    - taosMemoryCalloc
    - uv_close
    - tstrerror
    - taosReleaseRef
    - uv_strerror
    - taosWUnLockLatch
    - STUB_RAND_NETWORK_ERR
    - memcpy
    - taosWLockLatch
    - tDebug
    - taosAcquireRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void clientRecvCb(uv_stream_t* handle, ssize_t
      nread, const uv_buf_t* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STUB_RAND_NETWORK_ERR
      Src: /src/tdengine/source/libs/transport/src/thttp.c:494,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:502,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:500,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:501,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:498,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:503,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:504,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:506,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:506,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:511,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/transport/src/thttp.c:513,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:515,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:517,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:516,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:518,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:521,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:521,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_connect_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 522
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 522
    functionName: clientConnCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - tError
    - TAOS_UNUSED
    - uv_close
    - taosReleaseRef
    - uv_write
    - uv_strerror
    - STUB_RAND_NETWORK_ERR
    - httpFailFastMayUpdate
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'static void clientConnCb(uv_connect_t* req, int32_t status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:590,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/transport/src/thttp.c:593,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:593,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:593,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/transport/src/thttp.c:595,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/transport/src/thttp.c:596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:596,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:597,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pTable
    - server
    - port
    - succ
    argTypes:
    - SHashObj*
    - char*
    - int16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: httpFailFastMayUpdate
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tError
    - sprintf
    - taosHashRemove
    - tstrerror
    - taosGetTimestampSec
    - strlen
    - taosHashPut
    linkageType: ''
    returnType: void
    signature: 'static void httpFailFastMayUpdate(SHashObj* pTable, char* server,
      int16_t port, int8_t succ) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:968,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:969,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:973,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:968,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:975,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:976,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:977,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 982
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 982
    functionName: taosAllocHttpRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - taosAddRef
    - taosInitRWLatch
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAllocHttpRecvHandle(int64_t* rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - mgt
    - defaultAddr
    argTypes:
    - STelemAddrMgmt*
    - char*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1126
    functionName: taosTelemetryMgtInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTelemetryMgtInit(STelemAddrMgmt* mgt, char* defaultAddr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/transport/src/thttp.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:238,1
    - Dst: uv_ip4_addr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:243,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:238,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/libs/transport/src/thttp.c:242,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:245,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/transport/src/thttp.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - server
    - port
    - dest
    argTypes:
    - char*
    - uint16_t
    - struct sockaddr_in*
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: taosBuildDstAddr
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - tError
    - taosInetNtoa
    - taosGetIpv4FromFqdn
    - uv_ip4_addr
    - tstrerror
    - uv_err_name
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t taosBuildDstAddr(const char* server, uint16_t
      port, struct sockaddr_in* dest) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tWarn
      Src: /src/tdengine/source/libs/transport/src/thttp.c:320,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - cont
    - param
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: httpDestroyMsgWrapper
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - httpDestroyMsg
    - tWarn
    linkageType: ''
    returnType: void
    signature: 'static void httpDestroyMsgWrapper(void* cont, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:347,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:354,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:359,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:355,1
    - Dst: QUEUE_TAIL
      Src: /src/tdengine/source/libs/transport/src/thttp.c:358,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:362,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - q
    argTypes:
    - queue*
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: httpTrace
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - atomic_load_64
    - QUEUE_TAIL
    - QUEUE_DATA
    - QUEUE_HEAD
    - tDebug
    linkageType: ''
    returnType: void
    signature: 'static void httpTrace(queue* q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/transport/src/thttp.c:548,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:553,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/thttp.c:550,1
    - Dst: uv_handle_get_type
      Src: /src/tdengine/source/libs/transport/src/thttp.c:549,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: httpWalkCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - uv_close
    - uv_is_closing
    - uv_handle_get_type
    linkageType: ''
    returnType: void
    signature: 'static void httpWalkCb(uv_handle_t* handle, void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpModuleDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:754,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - http
    argTypes:
    - SHttpModule*
    constantsTouched: []
    func_position:
      end: 756
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 756
    functionName: httpModuleDestroy2
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - httpModuleDestroy
    linkageType: ''
    returnType: void
    signature: 'void httpModuleDestroy2(SHttpModule* http) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/transport/src/thttp.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    constantsTouched: []
    func_position:
      end: 846
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 846
    functionName: taosSendHttpReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosSendHttpReportWithQID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendHttpReport(const char* server, const char* uri, uint16_t
      port, char* pCont, int32_t contLen, EHttpCompFlag flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:871,1
    - Dst: transInitHttpChanImpl
      Src: /src/tdengine/source/libs/transport/src/thttp.c:872,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 875
    functionName: transHttpEnvInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosOpenRef
    - transInitHttpChanImpl
    linkageType: ''
    returnType: void
    signature: 'static void transHttpEnvInit() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1031,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1041,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1039,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1035,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1044,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1046,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1047,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1049,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1051,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1058,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1060,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1058,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - response
    - key
    - val
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1062
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1062
    functionName: taosTelemetryGetValueFromHttpResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - tError
    - taosMemoryFree
    - taosMemoryCalloc
    - strchr
    - strstr
    - tstrncpy
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosTelemetryGetValueFromHttpResp(const char* response,
      const char* key, char* val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/transport/src/thttp.c:253,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:254,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/transport/src/thttp.c:254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: httpThread
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - setThreadName
    - uv_run
    linkageType: ''
    returnType: void*
    signature: 'static void * httpThread(void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:326,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:333,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:332,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:331,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:330,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:336,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:337,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/thttp.c:343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - http
    - item
    argTypes:
    - SHttpModule*
    - SAsyncItem*
    constantsTouched: []
    func_position:
      end: 345
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 345
    functionName: httpMayDiscardMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - QUEUE_PUSH
    - tError
    - httpDestroyMsg
    - QUEUE_REMOVE
    - QUEUE_DATA
    - tstrerror
    - atomic_load_8
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'static void httpMayDiscardMsg(SHttpModule* http, SAsyncItem* item) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/transport/src/thttp.c:372,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:382,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:378,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/transport/src/thttp.c:377,1
    - Dst: httpMayDiscardMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:380,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:383,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:384,1
    - Dst: QUEUE_PUSH
      Src: /src/tdengine/source/libs/transport/src/thttp.c:385,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/transport/src/thttp.c:387,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:388,1
    - Dst: httpTrace
      Src: /src/tdengine/source/libs/transport/src/thttp.c:391,1
    - Dst: QUEUE_IS_EMPTY
      Src: /src/tdengine/source/libs/transport/src/thttp.c:393,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/transport/src/thttp.c:395,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/transport/src/thttp.c:394,1
    - Dst: httpHandleReq
      Src: /src/tdengine/source/libs/transport/src/thttp.c:400,1
    - Dst: httpHandleQuit
      Src: /src/tdengine/source/libs/transport/src/thttp.c:403,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/transport/src/thttp.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 404
    functionName: httpAsyncCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - QUEUE_IS_EMPTY
    - taosThreadMutexUnlock
    - QUEUE_PUSH
    - tError
    - taosThreadMutexLock
    - httpHandleReq
    - QUEUE_REMOVE
    - QUEUE_DATA
    - httpTrace
    - QUEUE_INIT
    - httpMayDiscardMsg
    - QUEUE_HEAD
    - httpHandleQuit
    linkageType: ''
    returnType: void
    signature: 'static void httpAsyncCb(uv_async_t* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:561,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:564,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:567,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:563,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/transport/src/thttp.c:566,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:567,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    constantsTouched: []
    func_position:
      end: 568
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 568
    functionName: httpHandleQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - uv_walk
    - taosReleaseRef
    - tDebug
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'static void httpHandleQuit(SHttpMsg* msg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: httpCreateMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:763,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:770,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:780,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:782,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:776,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:792,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:792,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:795,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:796,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 9
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - chanId
    - qid
    - recvBufRid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - int64_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 798
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 798
    functionName: taosSendHttpReportImplByChan2
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - httpCreateMsg
    - tError
    - httpDestroyMsg
    - tstrerror
    - transAsyncSend
    - taosReleaseRef
    - atomic_load_8
    - tDebug
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSendHttpReportImplByChan2(const char* server, const
      char* uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag,
      int64_t chanId, const char* qid, int64_t recvBufRid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:850,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:850,1
    - Dst: taosSendHttpReportImplByChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:851,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 7
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    constantsTouched: []
    func_position:
      end: 852
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 852
    functionName: taosSendHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosSendHttpReportImplByChan
    - taosThreadOnce
    - TAOS_UNUSED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, const
      char* qid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetHttpRecvById
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1068,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1070,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1075,1
    - Dst: taosTelemetryGetValueFromHttpResp
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1074,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1070,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - recvBufRid
    - telemAddr
    argTypes:
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1077
    functionName: taosGetAddrFromHttpResp
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - tstrerror
    - taosGetHttpRecvById
    - taosTelemetryGetValueFromHttpResp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosGetAddrFromHttpResp(int64_t recvBufRid, char* telemAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 7
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1143
    functionName: taosSendHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, const
      char* qid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:410,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cli
    argTypes:
    - SHttpClient*
    constantsTouched: []
    func_position:
      end: 415
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 415
    functionName: destroyHttpClient
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void destroyHttpClient(SHttpClient* cli) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: httpFailFastShoudIgnoreMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:613,1
    - Dst: taosBuildDstAddr
      Src: /src/tdengine/source/libs/transport/src/thttp.c:618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:674,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:683,1
    - Dst: uv_tcp_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:687,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:692,1
    - Dst: taosCreateSocketWithTimeout
      Src: /src/tdengine/source/libs/transport/src/thttp.c:697,1
    - Dst: uv_tcp_open
      Src: /src/tdengine/source/libs/transport/src/thttp.c:706,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:718,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:719,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:723,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:708,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:723,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:733,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:733,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:709,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:608,1
    - Dst: taosCompressHttpRport
      Src: /src/tdengine/source/libs/transport/src/thttp.c:623,1
    - Dst: taosBuildHttpHeader
      Src: /src/tdengine/source/libs/transport/src/thttp.c:642,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:655,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:657,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:700,1
    - Dst: uv_tcp_connect
      Src: /src/tdengine/source/libs/transport/src/thttp.c:716,1
    - Dst: httpFailFastMayUpdate
      Src: /src/tdengine/source/libs/transport/src/thttp.c:720,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:728,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:729,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/transport/src/thttp.c:654,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:675,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:681,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:680,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:689,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:690,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:701,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:702,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:711,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:712,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:731,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:732,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:636,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:648,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/transport/src/thttp.c:654,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:678,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:682,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:683,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:691,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:692,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:702,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:712,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:721,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    constantsTouched: []
    func_position:
      end: 734
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 734
    functionName: httpHandleReq
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tError
    - TAOS_UNUSED
    - taosMemoryCalloc
    - uv_tcp_init
    - taosReleaseRef
    - taosAcquireRef
    - destroyHttpClient
    - uv_close
    - uv_strerror
    - httpFailFastMayUpdate
    - uv_tcp_open
    - httpDestroyMsg
    - httpFailFastShoudIgnoreMsg
    - taosBuildHttpHeader
    - taosBuildDstAddr
    - uv_tcp_connect
    - taosCreateSocketWithTimeout
    - taosCompressHttpRport
    - uv_buf_init
    - strlen
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void httpHandleReq(SHttpMsg* msg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: httpCreateMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:803,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:818,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:820,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/transport/src/thttp.c:814,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:808,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:830,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:830,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:833,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:834,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - chanId
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 836
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 836
    functionName: taosSendHttpReportImplByChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - httpCreateMsg
    - tError
    - httpDestroyMsg
    - tstrerror
    - transAsyncSend
    - taosReleaseRef
    - atomic_load_8
    - tDebug
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSendHttpReportImplByChan(const char* server, const
      char* uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag,
      int64_t chanId, const char* qid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:987,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:988,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:987,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 989
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 989
    functionName: taosFreeHttpRecvHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - TAOS_UNUSED
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'static void taosFreeHttpRecvHandle(int64_t rid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:421,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:424,1
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:427,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: clientCloseCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - destroyHttpClient
    - TAOS_UNUSED
    - taosAcquireRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void clientCloseCb(uv_handle_t* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRANS_DESTROY_ASYNC_POOL_MSG
      Src: /src/tdengine/source/libs/transport/src/thttp.c:740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:745,1
    - Dst: transAsyncPoolDestroy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:741,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:744,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/transport/src/thttp.c:744,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - http
    argTypes:
    - SHttpModule*
    constantsTouched: []
    func_position:
      end: 750
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 750
    functionName: httpModuleDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - transAsyncPoolDestroy
    - uv_loop_close
    - TRANS_DESTROY_ASYNC_POOL_MSG
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void httpModuleDestroy(SHttpModule* http) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSendHttpReportImplByChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - chanId
    - qid
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: taosSendHttpReportByChan
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosSendHttpReportImplByChan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendHttpReportByChan(const char* server, const char* uri,
      uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, int64_t chanId,
      const char* qid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:992,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1006,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:996,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1006,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1005,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - rid
    - pRecv
    - len
    argTypes:
    - int64_t
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1009
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1009
    functionName: taosGetHttpRecvById
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosReleaseRef
    - taosWUnLockLatch
    - taosWLockLatch
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosGetHttpRecvById(int64_t rid, char** pRecv, int32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - STelemAddrMgmt*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1127
    functionName: taosTelemetryDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosTelemetryDestroy(STelemAddrMgmt* mgt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:260,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:268,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:262,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:273,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:281,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:282,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:283,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:285,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/transport/src/thttp.c:291,1
    - Dst: httpDestroyMsg
      Src: /src/tdengine/source/libs/transport/src/thttp.c:293,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 9
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - chanId
    - qid
    - httpMsg
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - int64_t
    - char*
    - SHttpMsg**
    constantsTouched: []
    func_position:
      end: 308
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 308
    functionName: httpCreateMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_64
    - tError
    - taosMemoryMalloc
    - httpDestroyMsg
    - taosStrdup
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t httpCreateMsg(const char* server, const char* uri,
      uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, int64_t chanId,
      const char* qid, SHttpMsg** httpMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/transport/src/thttp.c:525,1
    - Dst: transAsyncSend
      Src: /src/tdengine/source/libs/transport/src/thttp.c:533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:535,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/transport/src/thttp.c:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - http
    - chanId
    argTypes:
    - SHttpModule*
    - int64_t
    constantsTouched: []
    func_position:
      end: 540
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 540
    functionName: httpSendQuit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - transAsyncSend
    - taosMemoryFree
    - atomic_fetch_add_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t httpSendQuit(SHttpModule* http, int64_t chanId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/transport/src/thttp.c:856,1
    - Dst: taosSendHttpReportImplByChan2
      Src: /src/tdengine/source/libs/transport/src/thttp.c:857,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/transport/src/thttp.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    - recvBufId
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 858
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 858
    functionName: taosSendRecvHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    - TAOS_UNUSED
    - taosSendHttpReportImplByChan2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendRecvHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, const
      char* qid, int64_t recvBufId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDestroyHttpChan
      Src: /src/tdengine/source/libs/transport/src/thttp.c:879,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/transport/src/thttp.c:881,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 882
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 882
    functionName: transHttpEnvDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosDestroyHttpChan
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: 'void transHttpEnvDestroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - mgt
    - defaultAddr
    argTypes:
    - STelemAddrMgmt*
    - char*
    constantsTouched: []
    func_position:
      end: 1016
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1016
    functionName: taosTelemetryMgtInit
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTelemetryMgtInit(STelemAddrMgmt* mgt, char* defaultAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 6
    argNames:
    - mgt
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - STelemAddrMgmt*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    constantsTouched: []
    func_position:
      end: 1133
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1133
    functionName: taosSendTelemReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendTelemReport(STelemAddrMgmt* mgt, const char* uri,
      uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - msg
    argTypes:
    - SHttpMsg*
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: httpDestroyMsg
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void httpDestroyMsg(SHttpMsg* msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyHttpClient
      Src: /src/tdengine/source/libs/transport/src/thttp.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: httpDestroyClientCb
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - destroyHttpClient
    linkageType: ''
    returnType: void
    signature: 'static void httpDestroyClientCb(uv_handle_t* handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/transport/src/thttp.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 860
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 860
    functionName: transHttpDestroyHandle
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void transHttpDestroyHandle(void* handle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosFreeHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mgt
    argTypes:
    - STelemAddrMgmt*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1023
    functionName: taosTelemetryDestroy
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - taosFreeHttpRecvHandle
    linkageType: ''
    returnType: void
    signature: 'void taosTelemetryDestroy(STelemAddrMgmt* mgt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1086,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1089,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1087,1
    - Dst: taosGetAddrFromHttpResp
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1091,1
    - Dst: taosSendRecvHttpReportWithQID
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1088,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1093,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1093,1
    - Dst: taosFreeHttpRecvHandle
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1100,1
    - Dst: taosSendHttpReport
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1110,1
    - Dst: tDebug
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1112,1
    - Dst: tError
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/transport/src/thttp.c:1117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 6
    argNames:
    - mgt
    - uri
    - port
    - pCont
    - contLen
    - flag
    argTypes:
    - STelemAddrMgmt*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    constantsTouched: []
    func_position:
      end: 1121
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1121
    functionName: taosSendTelemReport
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosGetAddrFromHttpResp
    - tError
    - taosSendRecvHttpReportWithQID
    - tstrerror
    - taosSendHttpReport
    - taosAllocHttpRecvHandle
    - taosFreeHttpRecvHandle
    - tDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendTelemReport(STelemAddrMgmt* mgt, const char* uri,
      uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 8
    argNames:
    - server
    - uri
    - port
    - pCont
    - contLen
    - flag
    - qid
    - recvBufId
    argTypes:
    - char*
    - char*
    - uint16_t
    - char*
    - int32_t
    - EHttpCompFlag
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: taosSendRecvHttpReportWithQID
    functionSourceFile: /src/tdengine/source/libs/transport/src/thttp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSendRecvHttpReportWithQID(const char* server, const char*
      uri, uint16_t port, char* pCont, int32_t contLen, EHttpCompFlag flag, const
      char* qid, int64_t recvBufId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:221,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:247,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:248,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:259,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:252,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:222,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:232,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:233,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:238,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:234,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:239,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:236,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:237,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:249,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:251,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:253,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:256,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:246,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:258,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:224,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:223,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:226,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:227,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:228,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:229,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:231,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:243,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:242,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:241,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:254,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:244,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 169
    argCount: 3
    argNames:
    - X
    - rk
    - Y
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 268
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 268
    functionName: SMS4_ECB_Decryption_Core
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_T1
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_Decryption_Core(unsigned int X[], unsigned int rk[],
      unsigned int Y[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:107,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - dwA
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 110
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 110
    functionName: SMS4_T2
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - ROL
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int SMS4_T2(unsigned int dwA) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - src
    - dst
    - count
    argTypes:
    - unsigned int*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: SMS4_convert_to_network_order
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void SMS4_convert_to_network_order(unsigned int* src,unsigned int*
      dst,int count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:298,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:304,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:301,1
    - Dst: SMS4_ECB_Encryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:302,1
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - plaintext
    - key
    - ciphertext
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: SMS4_ECB_Encryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_ECB_Encryption_Core
    - SMS4_convert_to_host_order
    - SMS4_Key_Expansion
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_Encryption(unsigned char plaintext[16], unsigned char
      key[16], unsigned char ciphertext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:320,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:322,1
    - Dst: SMS4_ECB_Encryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - plaintext
    - key
    - ciphertext
    argTypes:
    - unsigned char
    - unsigned int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: SMS4_ECB_EncryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_ECB_Encryption_Core
    - SMS4_convert_to_host_order
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_EncryptionEx(unsigned char plaintext[16], unsigned int
      key[32], unsigned char ciphertext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:346,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:348,1
    - Dst: SMS4_ECB_Decryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ciphertext
    - key
    - plaintext
    argTypes:
    - unsigned char
    - unsigned int
    - unsigned char
    constantsTouched: []
    func_position:
      end: 349
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 349
    functionName: SMS4_ECB_DecryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_ECB_Decryption_Core
    - SMS4_convert_to_host_order
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_DecryptionEx(unsigned char ciphertext[16], unsigned
      int key[32], unsigned char plaintext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_ECB_Decryption
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ciphertext
    - key
    - iv
    - plaintext
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: SMS4_CBC_Decryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_ECB_Decryption
    linkageType: ''
    returnType: void
    signature: 'void SMS4_CBC_Decryption(unsigned char ciphertext[16], unsigned char
      key[16], unsigned char iv[16], unsigned char plaintext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_ECB_DecryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ciphertext
    - key
    - iv
    - plaintext
    argTypes:
    - unsigned char
    - unsigned int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: SMS4_CBC_DecryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_ECB_DecryptionEx
    linkageType: ''
    returnType: void
    signature: 'void SMS4_CBC_DecryptionEx(unsigned char ciphertext[16], unsigned
      int key[32], unsigned char iv[16], unsigned char plaintext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:71,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:71,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:71,1
    - Dst: ROL
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 32
    argCount: 1
    argNames:
    - dwA
    argTypes:
    - unsigned int
    constantsTouched: []
    func_position:
      end: 74
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 74
    functionName: SMS4_T1
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - ROL
    linkageType: ''
    returnType: unsigned int
    signature: 'unsigned int SMS4_T1(unsigned int dwA) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:288,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - count
    argTypes:
    - unsigned int*
    - unsigned int*
    - int
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: SMS4_convert_to_host_order
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    linkageType: ''
    returnType: void
    signature: 'void SMS4_convert_to_host_order(unsigned int* src,unsigned int* dst,int
      count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:311,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - key
    - rk
    argTypes:
    - unsigned char
    - unsigned int
    constantsTouched: []
    func_position:
      end: 313
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 313
    functionName: Key_Expansion_init
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_Key_Expansion
    linkageType: ''
    returnType: void
    signature: 'void Key_Expansion_init( unsigned char key[16], unsigned int rk[32]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:332,1
    - Dst: SMS4_ECB_Decryption_Core
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:336,1
    - Dst: SMS4_convert_to_network_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:333,1
    - Dst: SMS4_convert_to_host_order
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:338,1
    - Dst: SMS4_Key_Expansion
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ciphertext
    - key
    - plaintext
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 339
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 339
    functionName: SMS4_ECB_Decryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_convert_to_network_order
    - SMS4_ECB_Decryption_Core
    - SMS4_convert_to_host_order
    - SMS4_Key_Expansion
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_Decryption(unsigned char ciphertext[16], unsigned char
      key[16], unsigned char plaintext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_ECB_Encryption
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - plaintext
    - key
    - iv
    - ciphertext
    argTypes:
    - unsigned char
    - unsigned char
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: SMS4_CBC_Encryption
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_ECB_Encryption
    linkageType: ''
    returnType: void
    signature: 'void SMS4_CBC_Encryption(unsigned char plaintext[16], unsigned char
      key[16], unsigned char iv[16], unsigned char ciphertext[16]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_ECB_EncryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - plaintext
    - key
    - iv
    - ciphertext
    argTypes:
    - unsigned char
    - unsigned int
    - unsigned char
    - unsigned char
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: SMS4_CBC_EncryptionEx
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_ECB_EncryptionEx
    linkageType: ''
    returnType: void
    signature: 'void SMS4_CBC_EncryptionEx(unsigned char plaintext[16], unsigned int
      key[32], unsigned char iv[16], unsigned char ciphertext[16]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Key_Expansion_init
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:533,1
    - Dst: SMS4_CBC_DecryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:538,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 8
    argNames:
    - pKey
    - KeyLen
    - pIV
    - ivLen
    - pInData
    - inDataLen
    - pOutData
    - pOutDataLen
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 543
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 543
    functionName: SM4_CBC_Decrypt
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_CBC_DecryptionEx
    - Key_Expansion_init
    linkageType: ''
    returnType: int
    signature: 'int SM4_CBC_Decrypt(unsigned char *pKey, unsigned int KeyLen, unsigned
      char *pIV, unsigned int ivLen, unsigned char *pInData, unsigned int inDataLen,
      unsigned char *pOutData, unsigned int *pOutDataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:154,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:156,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:157,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:158,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:159,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:161,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:162,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:172,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:173,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:174,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:176,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:186,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:178,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:188,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:151,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:179,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:183,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:153,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:152,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:166,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:167,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:171,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:163,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:168,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:169,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:164,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:181,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:184,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:177,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:187,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:189,1
    - Dst: SMS4_T1
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 169
    argCount: 3
    argNames:
    - X
    - rk
    - Y
    argTypes:
    - unsigned int
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 198
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 198
    functionName: SMS4_ECB_Encryption_Core
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_T1
    linkageType: ''
    returnType: void
    signature: 'void SMS4_ECB_Encryption_Core(unsigned int X[], unsigned int rk[],
      unsigned int Y[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SMS4_T2
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - MK
    - rk
    argTypes:
    - unsigned int
    - unsigned int
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: SMS4_Key_Expansion
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_T2
    linkageType: ''
    returnType: void
    signature: 'void SMS4_Key_Expansion(unsigned int MK[], unsigned int rk[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Key_Expansion_init
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:493,1
    - Dst: SMS4_CBC_EncryptionEx
      Src: /src/tdengine/source/libs/sm4/src/sm4.c:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 8
    argNames:
    - pKey
    - KeyLen
    - pIV
    - ivLen
    - pInData
    - inDataLen
    - pOutData
    - pOutDataLen
    argTypes:
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int
    - unsigned char*
    - unsigned int*
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: SM4_CBC_Encrypt
    functionSourceFile: /src/tdengine/source/libs/sm4/src/sm4.c
    functionUses: []
    functionsReached:
    - SMS4_CBC_EncryptionEx
    - Key_Expansion_init
    linkageType: ''
    returnType: int
    signature: 'int SM4_CBC_Encrypt( unsigned char *pKey, unsigned int KeyLen, unsigned
      char *pIV, unsigned int ivLen, unsigned char *pInData, unsigned int inDataLen,
      unsigned char *pOutData, unsigned int *pOutDataLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 67
    functionName: tcsInit
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:75,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:76,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:82,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:81,1
    - Dst: tcsInit
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:79,1
    - Dst: fprintf
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:87,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:88,1
    - Dst: tcsUninit
      Src: /src/tdengine/source/libs/tcs/src/tcs.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 94
    functionName: tcsCheckCfg
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached:
    - fprintf
    - TAOS_RETURN
    - tcsUninit
    - tcsInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsCheckCfg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: tcsPutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsPutObjectFromFileOffset(const char* file, const char* object_name,
      int64_t offset, int64_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: tcsUninit
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tcsUninit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: tcsGetObjectBlock
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsGetObjectBlock(const char* object_name, int64_t offset,
      int64_t size, bool check, uint8_t** ppBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: tcsDeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tcsDeleteObjectsByPrefix(const char* prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 22
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 22
    functionName: tcsPutObjectFromFile2
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsPutObjectFromFile2(const char* file, const char* object,
      int8_t withcp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: tcsDeleteObjects
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsDeleteObjects(const char* object_name[], int nobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: tcsGetObjectToFile
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsGetObjectToFile(const char* object_name, const char* fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: tcsGetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/libs/tcs/src/tcsStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tcsGetObjectsByPrefix(const char* prefix, const char* path) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:117,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:131,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:137,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:134,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:148,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:137,1
    - Dst: taos_collector_registry_default_init
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:102,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:123,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:147,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:133,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:150,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:153,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:104,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:116,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:139,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:149,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:104,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:115,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:118,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:121,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:121,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:132,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:155,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 158
    functionName: monInitMonitorFW
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - taos_collector_registry_default_init
    - taos_collector_registry_register_metric
    - taos_counter_destroy
    - uError
    - strlen
    - taos_gauge_new
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'void monInitMonitorFW() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:161,1
    - Dst: taos_collector_registry_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:162,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: monCleanupMonitorFW
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - uError
    - taos_collector_registry_destroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void monCleanupMonitorFW() '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:208,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:233,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:239,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:270,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:234,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:245,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:221,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:298,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:240,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:295,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:266,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:299,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:237,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:207,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:219,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:225,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:230,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:236,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:263,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:242,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:309,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:264,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:302,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:245,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:303,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:201,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:218,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:224,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:279,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:308,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:298,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:296,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:249,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:243,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:305,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:267,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:242,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:282,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:236,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:181,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:185,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:202,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:213,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:302,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:231,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:248,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:230,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:263,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:180,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:184,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:207,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:218,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:308,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:256,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:275,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:222,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:228,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:233,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:273,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:305,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:258,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:239,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:255,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:248,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:306,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:184,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:190,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:204,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:221,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:295,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:203,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:266,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:278,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 149
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 310
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 310
    functionName: monGenClusterInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - uTrace
    - taosHashGet
    - strcmp
    - taosHashRemove
    - taos_collector_registry_register_metric
    - strlen
    - uError
    - taos_collector_registry_deregister_metric
    - taos_gauge_new
    - taos_counter_destroy
    - taos_gauge_set
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenClusterInfoTable(SMonInfo *pMonitor) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:520,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:375,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:456,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:489,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:474,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:438,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:475,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:457,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:471,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:432,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:444,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:465,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:521,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:436,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:468,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:487,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:493,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:480,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:429,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:442,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:448,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:454,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:459,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:469,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:523,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:492,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:486,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:474,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:435,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:441,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:460,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:524,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:481,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:372,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:432,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:447,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:453,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:465,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:462,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:472,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:483,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:526,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:367,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:429,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:430,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:517,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:459,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:523,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:480,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:463,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:527,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:486,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:441,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:468,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:518,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:492,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:453,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:447,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:433,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:439,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:462,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:466,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:490,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:484,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:526,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:483,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:520,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:445,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:451,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:456,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:517,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:489,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:438,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:444,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:450,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:471,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 174
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 528
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 528
    functionName: monGenDnodeInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosHashGet
    - strlen
    - uError
    - taos_gauge_set
    linkageType: ''
    returnType: void
    signature: 'void monGenDnodeInfoTable(SMonInfo *pMonitor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:582,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:585,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:590,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:589,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:593,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:597,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:597,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:598,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:600,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:600,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:601,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:603,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:604,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:603,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 606
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 606
    functionName: monGenDataDiskTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - taosHashGet
    - strlen
    - taos_gauge_set
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenDataDiskTable(SMonInfo *pMonitor) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:667,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:670,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:673,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:673,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:695,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:689,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:707,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:654,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:650,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:694,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:684,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:675,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:704,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:704,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:649,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:653,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:653,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:668,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:680,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:686,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:698,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:710,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 55
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 715
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 715
    functionName: monGenMnodeRoleTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - uTrace
    - strcmp
    - taosHashGet
    - taosHashRemove
    - taos_collector_registry_register_metric
    - strlen
    - uError
    - taos_collector_registry_deregister_metric
    - taos_gauge_new
    - taos_counter_destroy
    - taos_gauge_set
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenMnodeRoleTable(SMonInfo *pMonitor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:780,1
    - Dst: taos_collector_registry_bridge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:783,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:786,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:780,1
    - Dst: uDebugL
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:787,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:790,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:796,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:796,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:797,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:798,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:800,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:806,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:803,1
    - Dst: taos_collector_registry_clear_batch
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:809,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 811
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 811
    functionName: monSendPromReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - taos_collector_registry_bridge_new
    - uInfoL
    - uInfo
    - taosSendHttpReportWithQID
    - uDebugL
    - strlen
    - uError
    - uDebug
    - taosMemoryFreeClear
    - taos_collector_registry_clear_batch
    - tGenQid64
    - tsnprintf
    - taosGetTimestamp
    linkageType: ''
    returnType: void
    signature: 'void monSendPromReport() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:314,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:317,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:343,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:346,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:355,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:313,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:329,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:345,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:330,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:332,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:338,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:358,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:349,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:361,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:318,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:331,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:335,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:337,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 363
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 363
    functionName: monGenVgroupInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - strcmp
    - taos_collector_registry_register_metric
    - taos_counter_destroy
    - uError
    - taos_collector_registry_deregister_metric
    - taos_gauge_new
    - taos_gauge_set
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenVgroupInfoTable(SMonInfo *pMonitor) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:531,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:536,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:547,1
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:546,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:532,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:548,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:549,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:554,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:561,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:564,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:572,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:569,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 574
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 574
    functionName: monGenDnodeStatusInfoTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - strcmp
    - taos_collector_registry_register_metric
    - taos_counter_destroy
    - uError
    - taos_collector_registry_deregister_metric
    - taos_gauge_new
    - taos_gauge_set
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenDnodeStatusInfoTable(SMonInfo *pMonitor) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:628,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:635,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:641,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:635,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:639,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:615,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:625,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:638,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:631,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:638,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:624,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:624,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:630,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:630,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:641,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:618,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:627,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:636,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:642,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 643
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 643
    functionName: monGenLogDiskTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - taosHashGet
    - taos_gauge_set
    linkageType: ''
    returnType: void
    signature: 'void monGenLogDiskTable(SMonInfo *pMonitor) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taos_gauge_new
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:740,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:743,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:746,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:772,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:746,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:772,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:758,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:761,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:727,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:723,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:768,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:757,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:748,1
    - Dst: taos_gauge_set
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:773,1
    - Dst: taos_collector_registry_deregister_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:722,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:726,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:726,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:741,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monFramework.c:753,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 776
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 776
    functionName: monGenVnodeRoleTable
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monFramework.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - uTrace
    - taosHashGet
    - taosHashRemove
    - taos_collector_registry_register_metric
    - strlen
    - uError
    - taos_collector_registry_deregister_metric
    - taos_gauge_new
    - taos_counter_destroy
    - taos_gauge_set
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monGenVnodeRoleTable(SMonInfo *pMonitor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:230,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:236,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:235,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:235,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:231,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:236,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:237,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:237,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:238,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:239,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:240,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:240,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 241
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 241
    functionName: monGenBasicJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - snprintf
    - tjsonAddDoubleToObject
    - uError
    - taosFormatUtcTime
    - tjsonAddStringToObject
    linkageType: ''
    returnType: void
    signature: 'static void monGenBasicJson(SMonInfo *pMonitor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:250,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:250,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:252,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:251,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:251,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:252,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:253,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:253,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:254,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:255,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:255,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:256,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: monGenBasicJsonBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - snprintf
    - tjsonAddDoubleToObject
    - uError
    - tjsonAddStringToObject
    - tsnprintf
    - taosGetTimestamp
    linkageType: ''
    returnType: void
    signature: 'static void monGenBasicJsonBasic(SMonInfo *pMonitor) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:695,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:703,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:700,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:701,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:700,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:703,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:705,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pCont
    - uri
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 708
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 708
    functionName: monSendContent
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - uInfoL
    - strlen
    - uError
    - tGenQid64
    - tsnprintf
    - taosSendHttpReportWithQID
    linkageType: ''
    returnType: void
    signature: 'void monSendContent(char *pCont, const char *uri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:90,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:91,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:92,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVmInfo*
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: monSetVmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetVmInfo(SMonVmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:162,1
    - Dst: tFreeSMonQmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:167,1
    - Dst: tFreeSMonMmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:164,1
    - Dst: tFreeSMonVmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:165,1
    - Dst: tFreeSMonSmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:166,1
    - Dst: tFreeSMonBmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:168,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:169,1
    - Dst: monCleanupMonitorFW
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 172
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 172
    functionName: monCleanup
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tFreeSMonSmInfo
    - taosArrayDestroy
    - taosThreadMutexDestroy
    - tFreeSMonBmInfo
    - tFreeSMonQmInfo
    - tFreeSMonMmInfo
    - tFreeSMonVmInfo
    - monCleanupMonitorFW
    linkageType: ''
    returnType: void
    signature: 'void monCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:176,1
    - Dst: tFreeSMonMmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:177,1
    - Dst: tFreeSMonQmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:180,1
    - Dst: tFreeSMonVmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:178,1
    - Dst: tFreeSMonSmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:179,1
    - Dst: tFreeSMonBmInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:181,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:182,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: monCleanupMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tFreeSMonSmInfo
    - taosMemoryFree
    - taosArrayDestroy
    - tFreeSMonBmInfo
    - tFreeSMonQmInfo
    - tjsonDelete
    - tFreeSMonMmInfo
    - tFreeSMonVmInfo
    linkageType: ''
    returnType: void
    signature: 'static void monCleanupMonitorInfo(SMonInfo *pMonitor) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:270,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:273,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:275,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:278,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:281,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:283,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:296,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:298,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:299,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:314,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:292,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:301,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:263,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:265,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:272,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:277,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:274,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:280,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:282,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:285,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:287,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:298,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:301,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:307,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:313,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:312,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:308,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:266,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:271,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:274,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:277,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:279,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:280,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:282,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:284,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:287,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:311,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:312,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:313,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:314,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:316,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:316,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:270,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:273,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:279,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:278,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:276,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:281,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:283,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:286,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:293,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:297,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:299,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:297,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:304,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 93
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 318
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 318
    functionName: monGenClusterJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void monGenClusterJson(SMonInfo *pMonitor) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:400,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:403,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:407,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:407,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:402,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:408,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:409,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:410,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 412
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 412
    functionName: monGenGrantJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonCreateObject
    linkageType: ''
    returnType: void
    signature: 'static void monGenGrantJson(SMonInfo *pMonitor) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: monGenGrantJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:664,1
    - Dst: monSendReport
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:669,1
    - Dst: monGenLogDiskTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:676,1
    - Dst: monGenClusterInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:671,1
    - Dst: monSendPromReport
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:680,1
    - Dst: monGenClusterJsonBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:683,1
    - Dst: monGenBasicJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:660,1
    - Dst: monGenLogJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:667,1
    - Dst: monGenDnodeStatusInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:674,1
    - Dst: monCleanupMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:688,1
    - Dst: monGenVgroupJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:662,1
    - Dst: monGenDiskJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:666,1
    - Dst: monGenVgroupInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:672,1
    - Dst: monGenDnodeInfoTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:673,1
    - Dst: monGenVnodeRoleTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:678,1
    - Dst: monGenBasicJsonBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:682,1
    - Dst: monCreateMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:656,1
    - Dst: monGenClusterJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:661,1
    - Dst: monGenStbJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:663,1
    - Dst: monGenDnodeJson
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:665,1
    - Dst: monGenDataDiskTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:675,1
    - Dst: monGenMnodeRoleTable
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:677,1
    - Dst: monSendReportBasic
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 689
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 689
    functionName: monGenAndSendReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - monGenMnodeRoleTable
    - monGenDiskJson
    - monGenDnodeInfoTable
    - monSendReportBasic
    - monSendPromReport
    - monSendReport
    - monGenVnodeRoleTable
    - monGenClusterJsonBasic
    - monGenDataDiskTable
    - monGenVgroupInfoTable
    - monGenDnodeStatusInfoTable
    - monGenLogDiskTable
    - monCleanupMonitorInfo
    - monGenBasicJsonBasic
    - monGenBasicJson
    - monGenVgroupJson
    - monGenGrantJson
    - monCreateMonitorInfo
    - monGenClusterInfoTable
    - monGenLogJson
    - monGenDnodeJson
    - monGenStbJson
    - monGenClusterJson
    linkageType: ''
    returnType: void
    signature: 'void monGenAndSendReport() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:97,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:99,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:98,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonQmInfo*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: monSetQmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetQmInfo(SMonQmInfo *pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:188,1
    - Dst: monGetLogs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:194,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:199,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:211,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:200,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:205,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:209,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:207,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:213,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:203,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:220,1
    - Dst: monCleanupMonitorInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:216,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:198,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:204,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:206,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:210,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:208,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 223
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 223
    functionName: monCreateMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosGetTimestampMs
    - taosThreadMutexLock
    - taosMemoryCalloc
    - monGetLogs
    - memset
    - monCleanupMonitorInfo
    - tjsonCreateObject
    - memcpy
    linkageType: ''
    returnType: SMonInfo*
    signature: 'static SMonInfo *monCreateMonitorInfo() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:324,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:327,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:325,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:326,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:324,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: monGenClusterJsonBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - uError
    - tjsonAddDoubleToObject
    linkageType: ''
    returnType: void
    signature: 'static void monGenClusterJsonBasic(SMonInfo *pMonitor) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:422,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:470,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:475,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:472,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:477,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:478,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:483,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:486,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:489,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:490,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:500,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:499,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:498,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:497,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:489,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:501,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:468,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:470,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:474,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:476,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:478,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:479,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:481,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:484,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:486,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:493,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:498,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:496,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:495,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:488,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:485,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:499,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:468,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:469,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:471,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:474,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:473,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:476,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:479,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:480,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:481,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:482,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:494,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:496,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:487,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:497,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:501,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:485,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:491,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:483,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:500,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:419,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:421,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:469,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:471,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:472,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:473,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:475,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:477,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:480,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:482,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:492,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:484,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 502
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 502
    functionName: monGenDnodeJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonCreateObject
    linkageType: ''
    returnType: void
    signature: 'static void monGenDnodeJson(SMonInfo *pMonitor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:44,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:50,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:45,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:53,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - ts
    - level
    - content
    argTypes:
    - int64_t
    - ELogLevel
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 54
    functionName: monRecordLog
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tstrncpy
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void monRecordLog(int64_t ts, ELogLevel level, const char *content) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:118,1
    - Dst: monInitMonitorFW
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:120,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:125,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SMonCfg*
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: monInit
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosThreadMutexInit
    - monInitMonitorFW
    - TAOS_RETURN
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t monInit(const SMonCfg *pCfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_new
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:144,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:148,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:145,1
    - Dst: taos_counter_destroy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:147,1
    - Dst: taos_collector_registry_register_metric
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:146,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:150,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:153,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 158
    functionName: monInitVnode
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taos_counter_new
    - taos_collector_registry_register_metric
    - taos_counter_destroy
    - uError
    - uDebug
    - uInfo
    linkageType: ''
    returnType: void
    signature: 'void monInitVnode() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:341,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:347,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:365,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:351,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:362,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:366,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:355,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:335,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:338,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:342,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:350,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:365,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:353,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:369,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:339,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:349,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:353,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:346,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:348,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:352,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:367,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:369,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 372
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 372
    functionName: monGenVgroupJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonDelete
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void monGenVgroupJson(SMonInfo *pMonitor) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:634,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:639,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:645,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:645,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:637,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:646,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:647,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:647,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:649,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 653
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 653
    functionName: monSendReportBasic
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsnprintf
    - uInfoL
    - tjsonToString
    - taosSendHttpReportWithQID
    - strlen
    - uError
    - uDebug
    - uInfo
    - tGenQid64
    linkageType: ''
    returnType: void
    signature: 'void monSendReportBasic(SMonInfo *pMonitor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:57,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:70,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:68,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:67,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - logs
    argTypes:
    - SMonLogs*
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: monGetLogs
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayDup
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t monGetLogs(SMonLogs *logs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dnodeId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 133
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 133
    functionName: monSetDnodeId
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void monSetDnodeId(int32_t dnodeId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:378,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:385,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:384,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:381,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:382,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:389,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:390,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:390,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:391,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 394
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: monGenStbJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonDelete
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void monGenStbJson(SMonInfo *pMonitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:76,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:78,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:77,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonDmInfo*
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: monSetDmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetDmInfo(SMonDmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:105,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:107,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSmInfo*
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: monSetSmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetSmInfo(SMonSmInfo *pInfo) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:509,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:511,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:524,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:535,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:538,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:539,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:541,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:544,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:545,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:546,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:538,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:547,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:519,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:516,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:512,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:525,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:527,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:528,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:526,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:530,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:533,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:537,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:546,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:520,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:524,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:536,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:537,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:545,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:523,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:526,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:528,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:527,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:530,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:525,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:536,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:539,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:543,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:544,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 65
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 548
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 548
    functionName: monGenDiskJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void monGenDiskJson(SMonInfo *pMonitor) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:559,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:562,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:587,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:593,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:600,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:605,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:612,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:594,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:598,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:606,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:610,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:611,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:592,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:599,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:596,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:600,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:598,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:604,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:608,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:610,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:611,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:612,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:590,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:561,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:592,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:593,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:594,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:599,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:602,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:604,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:605,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:606,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 613
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 613
    functionName: monGenLogJson
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - uError
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: void
    signature: 'static void monGenLogJson(SMonInfo *pMonitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:83,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:84,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:86,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonMmInfo*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: monSetMmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetMmInfo(SMonMmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:111,1
    - Dst: memset
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:114,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:113,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonBmInfo*
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: monSetBmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void monSetBmInfo(SMonBmInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - level
    argTypes:
    - ELogLevel
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: monLogLevelStr
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *monLogLevelStr(ELogLevel level) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:616,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:624,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:623,1
    - Dst: tGenQid64
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:623,1
    - Dst: uInfoL
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:618,1
    - Dst: taosSendHttpReportWithQID
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:625,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:625,1
    - Dst: uError
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/monitor/src/monMain.c:629,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pMonitor
    argTypes:
    - SMonInfo*
    constantsTouched: []
    func_position:
      end: 631
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 631
    functionName: monSendReport
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMain.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - uInfoL
    - tjsonToString
    - taosSendHttpReportWithQID
    - strlen
    - uError
    - uDebug
    - tGenQid64
    linkageType: ''
    returnType: void
    signature: 'void monSendReport(SMonInfo *pMonitor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:21,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:25,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:23,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:24,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonMmInfo*
    constantsTouched: []
    func_position:
      end: 31
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 31
    functionName: tFreeSMonMmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMonMmInfo(SMonMmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonQmInfo*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: tFreeSMonQmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMonQmInfo(SMonQmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonBmInfo*
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: tFreeSMonBmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMonBmInfo(SMonBmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSmInfo*
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: tFreeSMonSmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMonSmInfo(SMonSmInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:34,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/monitor/src/monMsg.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVmInfo*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: tFreeSMonVmInfo
    functionSourceFile: /src/tdengine/source/libs/monitor/src/monMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMonVmInfo(SMonVmInfo *pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:601,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:604,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:603,1
    - Dst: SCH_TASK_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:611,1
    - Dst: SCH_CLIENT_ID
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:610,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:620,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:622,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:628,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:630,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:635,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:636,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:645,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:631,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:632,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:647,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:648,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:631,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 6
    argNames:
    - pJob
    - pTask
    - msgType
    - isHb
    - trans
    - pParam
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool
    - SSchTrans*
    - void**
    constantsTouched: []
    func_position:
      end: 656
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 656
    functionName: schMakeCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - SCH_CLIENT_ID
    - taosArrayGet
    - taosMemoryCalloc
    - TAOS_STRCPY
    - SCH_ERR_RET
    - qError
    - SCH_TASK_ID
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schMakeCallbackParam(SSchJob *pJob, SSchTask *pTask, int32_t
      msgType, bool isHb, SSchTrans *trans, void **pParam) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:733,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:734,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 10
    argCount: 2
    argNames:
    - msgType
    - fp
    argTypes:
    - int32_t
    - __async_send_cb_fn_t*
    constantsTouched: []
    func_position:
      end: 738
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 738
    functionName: schGetCallbackFp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schGetCallbackFp(int32_t msgType, __async_send_cb_fn_t *fp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:953,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:956,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:959,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:962,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:955,1
    - Dst: schCloneCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:962,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:971,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:972,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 973
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 973
    functionName: schCloneSMsgSendInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schCloneCallbackParam
    - taosMemoryCalloc
    - SCH_ERR_JRET
    - qError
    - SCH_ERR_RET
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schCloneSMsgSendInfo(void *src, void **dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:661,1
    - Dst: schMakeCallbackParam
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:663,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:664,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:668,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:670,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:670,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:676,1
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:676,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:679,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:695,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:700,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:698,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 8
    argNames:
    - pJob
    - pTask
    - msg
    - msgSize
    - msgType
    - trans
    - isHb
    - pMsgSendInfo
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - uint32_t
    - int32_t
    - SSchTrans*
    - bool
    - SMsgSendInfo**
    constantsTouched: []
    func_position:
      end: 701
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 701
    functionName: schGenerateCallBackInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - SCH_ERR_JRET
    - taosGetSystemUUIDU64
    - destroySendMsgInfo
    - SCH_RET
    - qError
    - schGetCallbackFp
    - qDebug
    - schMakeCallbackParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schGenerateCallBackInfo(SSchJob *pJob, SSchTask *pTask, void
      *msg, uint32_t msgSize, int32_t msgType, SSchTrans *trans, bool isHb, SMsgSendInfo
      **pMsgSendInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:985,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pMsgSendInfo
    - addr
    - pTask
    argTypes:
    - SMsgSendInfo*
    - SQueryNodeAddr*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 992
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 992
    functionName: schUpdateSendTargetInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateSendTargetInfo(SMsgSendInfo *pMsgSendInfo, SQueryNodeAddr
      *addr, SSchTask *pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:492,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:495,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:495,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:492,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:493,1
    - Dst: schHandleResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:496,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:499,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:503,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:504,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:506,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:509,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - param
    - pMsg
    - rspCode
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 510
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 510
    functionName: schHandleCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schProcessOnCbBegin
    - qTrace
    - SCH_ERR_JRET
    - schHandleResponseMsg
    - schProcessOnCbEnd
    - tstrerror
    - qDebug
    - taosMemoryFreeClear
    - SCH_RET
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleCallback(void *param, SDataBuf *pMsg, int32_t rspCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: schHandleCommitCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schHandleCallback
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleCommitCallback(void *param, SDataBuf *pMsg, int32_t
      code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:891,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:897,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:891,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:893,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:894,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:898,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:898,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:902,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:903,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:904,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:907,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:907,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:918,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:921,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:914,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:917,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 922
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 922
    functionName: schMakeQueryRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schGenerateCallBackInfo
    - SCH_ERR_JRET
    - SCH_GET_TASK_HANDLE
    - SCH_RET
    - SCH_ERR_RET
    - taosMemoryFreeClear
    - schMakeBrokenLinkVal
    - taosHashPut
    - taosGetDefaultHashFunction
    - SCH_TASK_ELOG
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schMakeQueryRpcCtx(SSchJob *pJob, SSchTask *pTask, SRpcCtx
      *pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:514,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:520,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:517,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 527
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 527
    functionName: schHandleDropCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - qDebug
    - qError
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleDropCallback(void *param, SDataBuf *pMsg, int32_t
      code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:572,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:574,1
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:572,1
    - Dst: tDeserializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:577,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:578,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:579,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:587,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:587,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:588,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:593,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:592,1
    - Dst: schProcessOnTaskStatusRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:588,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:594,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 596
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 596
    functionName: schHandleHbCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDeserializeSSchedulerHbRsp
    - SCH_ERR_JRET
    - qError
    - tstrerror
    - schProcessOnTaskStatusRsp
    - schUpdateHbConnection
    - tFreeSSchedulerHbRsp
    - SCH_RET
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleHbCallback(void *param, SDataBuf *pMsg, int32_t code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:926,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:932,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:928,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:938,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:929,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:940,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:941,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSchCallbackParamHeader*
    - SSchCallbackParamHeader**
    constantsTouched: []
    func_position:
      end: 948
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 948
    functionName: schCloneCallbackParam
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - taosMemoryMalloc
    - TAOS_MEMCPY
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schCloneCallbackParam(SSchCallbackParamHeader *pSrc, SSchCallbackParamHeader
      **pDst) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1207,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1281,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1345,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1375,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1388,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1252,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1130,1
    - Dst: QUERY_MSG_MASK_VIEW
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1197,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1178,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1200,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1284,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1354,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1377,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1385,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1260,1
    - Dst: QUERY_MSG_MASK_AUDIT
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1198,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1258,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1265,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1355,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1363,1
    - Dst: tSerializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1342,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1167,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1215,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1132,1
    - Dst: schMakeQueryRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1185,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1201,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1207,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1236,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1350,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1348,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1132,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1287,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1368,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1289,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1239,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1202,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1283,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1296,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1233,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1254,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1387,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1179,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1362,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1222,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1227,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1344,1
    - Dst: schAppendTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1371,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1168,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1216,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1176,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1185,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1225,1
    - Dst: QUERY_MSG_MASK_SHOW_REWRITE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1196,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1290,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1295,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1266,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1161,1
    - Dst: tSerializeSVDeleteReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1165,1
    - Dst: tSerializeSSubQueryMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1213,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1367,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1261,1
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1374,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1368,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1170,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1172,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1219,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1221,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1226,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1293,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1255,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1371,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1351,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1133,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1264,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 211
    argCount: 5
    argNames:
    - pJob
    - pTask
    - addr
    - msgType
    - param
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeAddr*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1389
    functionName: schBuildAndSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - schMakeQueryRpcCtx
    - taosMemoryCalloc
    - SCH_RET
    - tSerializeSSubQueryMsg
    - tSerializeSVDeleteReq
    - QUERY_MSG_MASK_AUDIT
    - taosArrayGetSize
    - rpcAllocHandle
    - tSerializeSTaskNotifyReq
    - SCH_TASK_NEED_FETCH
    - GET_ACTIVE_EP
    - schAppendTaskExecNode
    - schProcessOnTaskSuccess
    - schFreeRpcCtx
    - schAsyncSendMsg
    - QUERY_MSG_MASK_VIEW
    - taosArrayGet
    - tSerializeSResFetchReq
    - SCH_ERR_JRET
    - SCH_SET_TASK_HANDLE
    - QUERY_MSG_MASK_SHOW_REWRITE
    - SCH_TASK_ELOG
    - taosMemoryFreeClear
    - tSerializeSTaskDropReq
    - SCH_GET_TASK_HANDLE
    - strcmp
    - SCH_ERR_RET
    - strlen
    - SCH_IS_EXPLAIN_JOB
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schBuildAndSendMsg(SSchJob *pJob, SSchTask *pTask, SQueryNodeAddr
      *addr, int32_t msgType, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:766,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:772,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:770,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:772,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:770,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:774,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:775,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:779,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:782,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:787,1
    - Dst: schCloneSMsgSendInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:787,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:795,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:792,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:789,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:803,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:802,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRpcCtx*
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 804
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 804
    functionName: schCloneHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schCloneSMsgSendInfo
    - SCH_ERR_JRET
    - taosHashIterate
    - schFreeRpcCtx
    - SCH_RET
    - qError
    - SCH_ERR_RET
    - taosHashGetKey
    - TAOS_MEMCPY
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schCloneHbRpcCtx(SRpcCtx *pSrc, SRpcCtx *pDst) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:37,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:38,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:42,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:65,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:58,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:63,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:64,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:71,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:44,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:69,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:63,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:59,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:70,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:28,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:39,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:37,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:42,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:43,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:58,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:58,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:69,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 3
    argNames:
    - pJob
    - pTask
    - msgType
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: schValidateRspMsgType
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - jobTaskStatusStr
    - SCH_GET_TASK_STATUS
    - SCH_ERR_RET
    - SCH_TASK_ELOG
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schValidateRspMsgType(SSchJob *pJob, SSchTask *pTask, int32_t
      msgType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:531,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:535,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: schHandleNotifyCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleNotifyCallback(void *param, SDataBuf *pMsg, int32_t
      code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:822,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:836,1
    - Dst: schMakeBrokenLinkVal
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:852,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:863,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:810,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:819,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:824,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:825,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:830,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:849,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:859,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:814,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:816,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:814,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:818,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:848,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:852,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:847,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:860,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:816,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:831,1
    - Dst: schGetCallbackFp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:836,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:828,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pCtx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 864
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 864
    functionName: schMakeHbRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - schMakeBrokenLinkVal
    - SCH_ERR_JRET
    - SCH_RET
    - SCH_ERR_RET
    - taosMemoryFreeClear
    - schGetCallbackFp
    - SCH_GET_CUR_EP
    - TAOS_MEMCPY
    - taosHashPut
    - taosGetDefaultHashFunction
    - SCH_TASK_ELOG
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schMakeHbRpcCtx(SSchJob *pJob, SSchTask *pTask, SRpcCtx *pCtx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1009,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1019,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1049,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1001,1
    - Dst: schUpdateSendTargetInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1002,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1008,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1016,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1019,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1043,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1045,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1001,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1002,1
    - Dst: rpcAllocHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1006,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1016,1
    - Dst: asyncSendMsgToServerExt
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1027,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1034,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1034,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1030,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1036,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1036,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1043,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1045,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1045,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1052,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 9
    argNames:
    - pJob
    - pTask
    - trans
    - addr
    - msgType
    - msg
    - msgSize
    - persistHandle
    - ctx
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSchTrans*
    - SQueryNodeAddr*
    - int32_t
    - void*
    - uint32_t
    - bool
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 1053
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1053
    functionName: schAsyncSendMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schGenerateCallBackInfo
    - asyncSendMsgToServerExt
    - qTrace
    - SCH_ERR_JRET
    - SCH_TASK_ELOG
    - destroySendMsgInfo
    - SCH_RET
    - qError
    - tstrerror
    - SCH_TASK_DLOG
    - qDebug
    - rpcAllocHandle
    - schUpdateSendTargetInfo
    - SCH_TASK_TLOG
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schAsyncSendMsg(SSchJob *pJob, SSchTask *pTask, SSchTrans
      *trans, SQueryNodeAddr *addr, int32_t msgType, void *msg, uint32_t msgSize,
      bool persistHandle, SRpcCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:543,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:549,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:545,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:553,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:548,1
    - Dst: schUpdateHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:553,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:555,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:555,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:557,1
    - Dst: schHandleCallback
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:557,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 561
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 561
    functionName: schHandleLinkBrokenCallback
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schBuildAndSendHbMsg
    - SCH_ERR_RET
    - schHandleCallback
    - qDebug
    - schUpdateHbConnection
    - taosMemoryFreeClear
    - rpcReleaseHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleLinkBrokenCallback(void *param, SDataBuf *pMsg, int32_t
      code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:871,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:882,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:881,1
    - Dst: schGenerateCallBackInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:871,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - pJob
    - pTask
    - brokenVal
    - isHb
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRpcBrokenlinkVal*
    - bool
    constantsTouched: []
    func_position:
      end: 885
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 885
    functionName: schMakeBrokenLinkVal
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - SCH_ERR_JRET
    - schGenerateCallBackInfo
    - taosMemoryFreeClear
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schMakeBrokenLinkVal(SSchJob *pJob, SSchTask *pTask, SRpcBrokenlinkVal
      *brokenVal, bool isHb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1066,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1067,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1091,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1093,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1098,1
    - Dst: schAsyncSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1108,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1116,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1118,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1064,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1070,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1069,1
    - Dst: schCloneHbRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1076,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1077,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1084,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1097,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1086,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1089,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1106,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1117,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1075,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1079,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1081,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1082,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1094,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1088,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1099,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:1110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - nodeEpId
    - taskAction
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1119
    functionName: schBuildAndSendHbMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schCloneHbRpcCtx
    - taosMemoryCalloc
    - SCH_ERR_JRET
    - SCH_RET
    - taosHashGet
    - tSerializeSSchedulerHbReq
    - qError
    - SCH_ERR_RET
    - schFreeRpcCtx
    - SCH_LOCK
    - schAsyncSendMsg
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schBuildAndSendHbMsg(SQueryNodeEpId *nodeEpId, SArray *taskAction) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:87,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:92,1
    - Dst: schNotifyJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:94,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:97,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:110,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:115,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:102,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:81,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:90,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:94,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:102,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:115,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:121,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:84,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:121,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:124,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:128,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:90,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:92,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:104,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:114,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:111,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:118,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:130,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - pJob
    - pTask
    - msg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 131
    functionName: schProcessFetchRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schProcessOnDataFetched
    - schProcessOnExplainDone
    - SCH_SET_TASK_STATUS
    - SCH_ERR_JRET
    - SCH_TASK_ELOG
    - htobe64
    - SCH_RET
    - SCH_ERR_RET
    - atomic_store_ptr
    - atomic_add_fetch_64
    - SCH_TASK_DLOG
    - SCH_IS_EXPLAIN_JOB
    - schLaunchFetchTask
    - taosMemoryFreeClear
    - qExecExplainEnd
    - schNotifyJobAllTasks
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessFetchRsp(SSchJob *pJob, SSchTask *pTask, char *msg,
      int32_t rspCode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:455,1
    - Dst: SCH_JOB_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:470,1
    - Dst: schHandleTaskSetRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:467,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:471,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:452,1
    - Dst: IsReq
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:462,1
    - Dst: SCH_JOB_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:464,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:465,1
    - Dst: SCH_NETWORK_ERR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:450,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:457,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:459,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:467,1
    - Dst: SCH_TASKSET_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:466,1
    - Dst: schHandleJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:471,1
    - Dst: schProcessResponseMsg
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:477,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:483,1
    - Dst: schUpdateTaskHandle
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:452,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:451,1
    - Dst: schValidateRspMsgType
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:455,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:458,1
    - Dst: schHandleJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:465,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:477,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:481,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:483,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 6
    argNames:
    - pJob
    - pTask
    - seriousId
    - execId
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - uint64_t
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 484
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 484
    functionName: schHandleResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - schHandleJobRetry
    - atomic_load_64
    - IsReq
    - SCH_ERR_JRET
    - SCH_IS_QUERY_JOB
    - SCH_TASKSET_NEED_RETRY
    - schUpdateTaskHandle
    - schHandleTaskSetRetry
    - schValidateRspMsgType
    - SCH_TASK_DLOG
    - schProcessResponseMsg
    - taosMemoryFreeClear
    - schProcessOnTaskFailure
    - SCH_NETWORK_ERR
    - SCH_JOB_NEED_RETRY
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleResponseMsg(SSchJob *pJob, SSchTask *pTask, uint64_t
      seriousId, int32_t execId, SDataBuf *pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:135,1
    - Dst: qExplainUpdateExecInfo
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:135,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:138,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pJob
    - pTask
    - rsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SExplainRsp*
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: schProcessExplainRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - qExplainUpdateExecInfo
    - schProcessOnExplainDone
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessExplainRsp(SSchJob *pJob, SSchTask *pTask, SExplainRsp
      *rsp) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:242,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:284,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:311,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:355,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:360,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:439,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:153,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:246,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:258,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:339,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:382,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:417,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:229,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:260,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:319,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:154,1
    - Dst: tDecodeSVCreateTbBatchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:162,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:166,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:171,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:224,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:233,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:441,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:245,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:268,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:343,1
    - Dst: schProcessOnExplainDone
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:364,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:404,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:408,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:422,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:431,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:423,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:232,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:235,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:296,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:303,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:335,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:282,1
    - Dst: tDeserializeSQueryTableRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:369,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:378,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:393,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:408,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:398,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:164,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:183,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:209,1
    - Dst: tDecodeSVDropTbBatchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:217,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:341,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:374,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:392,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:399,1
    - Dst: tDeserializeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:403,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:314,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:323,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:202,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:299,1
    - Dst: schSaveJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:376,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:428,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:195,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:279,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:325,1
    - Dst: qExecExplainEnd
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:362,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:371,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:376,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:394,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:431,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:318,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:360,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:161,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:172,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:185,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:293,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:288,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:357,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:405,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:260,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:309,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:154,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:228,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:301,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:317,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:380,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:387,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:441,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:277,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:255,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:270,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:199,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:216,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:285,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:278,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:360,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:382,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:235,1
    - Dst: tDecodeSVAlterTbRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:243,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:338,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:347,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:427,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:196,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:203,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:207,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:223,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:287,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:272,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:276,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:349,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:364,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:393,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:244,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:273,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:295,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:252,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:186,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:206,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:209,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:370,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:389,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:415,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:432,1
    - Dst: tDecodeSVDeleteRsp
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:336,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:169,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:181,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:274,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:344,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schRemote.c:427,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 232
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 442
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 442
    functionName: schProcessResponseMsg
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schRemote.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosMemoryFree
    - tDecodeSVAlterTbRsp
    - taosArrayAddAll
    - SCH_RET
    - schSaveJobExecRes
    - taosArrayGetSize
    - taosArrayInit
    - tDecodeSVDropTbBatchRsp
    - taosMemoryMalloc
    - taosArrayDestroy
    - schProcessFetchRsp
    - schProcessOnTaskSuccess
    - tDecodeSVCreateTbBatchRsp
    - taosArrayPush
    - tDecodeSVDeleteRsp
    - SCH_UNLOCK
    - TMSG_INFO
    - schProcessOnExplainDone
    - tDeserializeSExplainRsp
    - SCH_ERR_JRET
    - SCH_IS_INSERT_JOB
    - SCH_LOCK
    - SCH_TASK_DLOG
    - SCH_TASK_ELOG
    - taosMemoryFreeClear
    - qExecExplainEnd
    - tDecoderInit
    - tDecodeSSubmitRsp2
    - tDestroySSubmitRsp2
    - SCH_GET_TASK_STATUS_STR
    - schProcessExplainRsp
    - tFreeSExplainRsp
    - tstrerror
    - tDeserializeSQueryTableRsp
    - atomic_add_fetch_64
    - SCH_IS_EXPLAIN_JOB
    - schProcessOnTaskFailure
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessResponseMsg(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:273,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:281,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:276,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:277,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:274,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:282,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:283,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:284,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - epId
    - trans
    argTypes:
    - SQueryNodeEpId*
    - SSchTrans*
    constantsTouched: []
    func_position:
      end: 290
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 290
    functionName: schUpdateHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - qInfo
    - SCH_LOCK
    - atomic_add_fetch_64
    - TAOS_MEMCPY
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateHbConnection(SQueryNodeEpId *epId, SSchTrans *trans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:293,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 301
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 301
    functionName: schCloseJobRef
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: 'void schCloseJobRef(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUID32
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:323,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:325,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:329,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:325,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:330,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 336
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 336
    functionName: schGenUUID
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - TAOS_SYSTEM_ERROR
    - qError
    - taosGetSystemUUID32
    - tstrerror
    - atomic_add_fetch_32
    - taosGetPId
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t schGenUUID(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 346
    functionName: schFreeRpcCtxVal
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - destroySendMsgInfo
    linkageType: ''
    returnType: void
    signature: 'void schFreeRpcCtxVal(const void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:371,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - pTaskList
    - taskId
    - pTask
    argTypes:
    - SHashObj*
    - uint64_t
    - SSchTask**
    constantsTouched: []
    func_position:
      end: 382
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 382
    functionName: schGetTaskFromList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void schGetTaskFromList(SHashObj *pTaskList, uint64_t taskId, SSchTask
      **pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:352,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:361,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SRpcCtx*
    constantsTouched: []
    func_position:
      end: 366
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 366
    functionName: schFreeRpcCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void schFreeRpcCtx(SRpcCtx *pCtx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:391,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:391,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:397,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:407,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:412,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:420,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:390,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:392,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:414,1
    - Dst: SCH_IS_DATA_BIND_PLAN
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:405,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:409,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:386,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:401,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:424,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:387,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:396,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:402,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:425,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:419,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - pJob
    - pSubplan
    - level
    - idx
    - taskNum
    argTypes:
    - SSchJob*
    - SSubplan*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 429
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 429
    functionName: schValidateSubplan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - nodeType
    - SCH_IS_DATA_BIND_PLAN
    - SCH_JOB_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schValidateSubplan(SSchJob *pJob, SSubplan *pSubplan, int32_t
      level, int32_t idx, int32_t taskNum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:432,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:435,1
    - Dst: taosTmrStopA
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:437,1
    - Dst: taosTmrIsStopped
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:441,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:438,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:442,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:445,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:447,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - pTask
    - syncOp
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: schStopTaskDelayTimer
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - SCH_TASK_DLOG
    - taosTmrIsStopped
    - taosMsleep
    - SCH_TASK_WLOG
    - taosTmrStopA
    linkageType: ''
    returnType: void
    signature: 'void schStopTaskDelayTimer(SSchJob *pJob, SSchTask *pTask, bool syncOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:25,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - refId
    - ppJob
    argTypes:
    - int64_t
    - SSchJob**
    constantsTouched: []
    func_position:
      end: 32
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 32
    functionName: schAcquireJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    - qTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t schAcquireJob(int64_t refId, SSchJob **ppJob) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:98,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:100,1
    - Dst: schFreeHbTrans
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:104,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:103,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:107,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:109,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:113,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 117
    functionName: schCleanClusterHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - qInfo
    - taosHashRemove
    - qError
    - tstrerror
    - SCH_LOCK
    - taosHashGetKey
    - schFreeHbTrans
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void schCleanClusterHb(void *pTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDU64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:306,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:306,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: initClientId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosGetSystemUUIDU64
    - qInfo
    - qError
    - tstrerror
    - SCH_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initClientId(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 315
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 315
    functionName: schGenTaskId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_64
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t schGenTaskId(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:39,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: schReleaseJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - qTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t schReleaseJob(int64_t refId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:122,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:125,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:126,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:123,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:130,1
    - Dst: schFreeHbTrans
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:132,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:133,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:135,1
    - Dst: SCH_TASK_ILOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:137,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pJob
    - pTask
    - epId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: schRemoveHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - SCH_TASK_ILOG
    - taosHashGet
    - taosHashRemove
    - tstrerror
    - SCH_LOCK
    - schFreeHbTrans
    - SCH_TASK_ELOG
    - SCH_TASK_WLOG
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schRemoveHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *epId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: getClientId
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t getClientId(void) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - SCH_OP_TYPE
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: schGetOpStr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *schGetOpStr(SCH_OP_TYPE type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:48,1
    - Dst: taosReleaseRefEx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - refId
    - released
    argTypes:
    - int64_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 50
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 50
    functionName: schReleaseJobEx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosReleaseRefEx
    - qTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t schReleaseJobEx(int64_t refId, int32_t *released) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:152,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:155,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:154,1
    - Dst: schMakeHbRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:152,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:157,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:158,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:165,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:166,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:168,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pJob
    - pTask
    - epId
    - exist
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    - bool*
    constantsTouched: []
    func_position:
      end: 174
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 174
    functionName: schAddHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - schFreeRpcCtx
    - qInfo
    - qError
    - SCH_ERR_RET
    - SCH_LOCK
    - HASH_NODE_EXIST
    - schMakeHbRpcCtx
    - taosHashPut
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schAddHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *epId, bool *exist) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:208,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:210,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:219,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:220,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:211,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:223,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:224,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:226,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:227,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:231,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:233,1
    - Dst: schRemoveHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:234,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:236,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: schDeregisterTaskHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - taosArrayGet
    - taosHashGet
    - TAOS_STRCPY
    - schRemoveHbConnection
    - SCH_LOCK
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_ELOG
    - SCH_TASK_WLOG
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void schDeregisterTaskHb(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:59,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:68,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pEpSet
    - ppRes
    argTypes:
    - SEpSet*
    - char**
    constantsTouched: []
    func_position:
      end: 73
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 73
    functionName: schDumpEpSet
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDumpEpSet(SEpSet *pEpSet, char **ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:91,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - SSchHbTrans*
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: schFreeHbTrans
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - schFreeRpcCtx
    - rpcReleaseHandle
    linkageType: ''
    returnType: void
    signature: 'void schFreeHbTrans(SSchHbTrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:180,1
    - Dst: schAddHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:185,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:181,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:184,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:185,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:187,1
    - Dst: schBuildAndSendHbMsg
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:187,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:196,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pEpId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeEpId*
    constantsTouched: []
    func_position:
      end: 201
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 201
    functionName: schRegisterHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - schAddHbConnection
    - SCH_RET
    - taosHashGet
    - SCH_ERR_RET
    - SCH_LOCK
    - atomic_add_fetch_64
    - schBuildAndSendHbMsg
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schRegisterHbConnection(SSchJob *pJob, SSchTask *pTask, SQueryNodeEpId
      *pEpId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:247,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:250,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:259,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:258,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:249,1
    - Dst: schRegisterHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schUtil.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 267
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 267
    functionName: schEnsureHbConnection
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - schRegisterHbConnection
    - TAOS_STRCPY
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schEnsureHbConnection(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: schUpdateJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:24,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:36,1
    - Dst: schExecJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:33,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:26,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:33,1
    - Dst: schProcessOnJobPartialSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:36,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:39,1
    - Dst: schJobFetchRows
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:39,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:44,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:44,1
    - Dst: schProcessOnJobDropped
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:47,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:49,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:56,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:50,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:52,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:57,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:65,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:65,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - pJob
    - status
    - param
    argTypes:
    - SSchJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 66
    functionName: schSwitchJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: []
    functionsReached:
    - schUpdateJobStatus
    - schProcessOnJobFailure
    - SCH_JOB_ELOG
    - SCH_JOB_TLOG
    - schProcessOnJobDropped
    - SCH_ERR_JRET
    - schJobFetchRows
    - taosRemoveRef
    - schProcessOnJobPartialSuccess
    - schExecJob
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schSwitchJobStatus(SSchJob* pJob, int32_t status, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:85,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:86,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:95,1
    - Dst: schProcessOnOpEnd
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pJob
    - type
    - pReq
    - errCode
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 98
    functionName: schHandleOpEndEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: []
    functionsReached:
    - schReleaseJob
    - schProcessOnOpEnd
    - schDirectPostJobRes
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleOpEndEvent(SSchJob* pJob, SCH_OP_TYPE type, SSchedulerReq*
      pReq, int32_t errCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:70,1
    - Dst: schProcessOnOpBegin
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:78,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:73,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:72,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schStatus.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - jobId
    - job
    - type
    - pReq
    argTypes:
    - int64_t
    - SSchJob**
    - SCH_OP_TYPE
    - SSchedulerReq*
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: schHandleOpBeginEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schStatus.c
    functionUses: []
    functionsReached:
    - schProcessOnOpBegin
    - schAcquireJob
    - SCH_ERR_RET
    - qDebug
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleOpBeginEvent(int64_t jobId, SSchJob** job, SCH_OP_TYPE
      type, SSchedulerReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:27,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:32,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:35,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:38,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: schFreeFlowCtrl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void schFreeFlowCtrl(SSchJob *pJob) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: schTaskTableNumCompare
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schTaskTableNumCompare(const void *key1, const void *key2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:78,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:82,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:86,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:83,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:80,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:88,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:89,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:95,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:100,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: schDecTaskFlowQuota
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - SCH_ERR_JRET
    - SCH_RET
    - taosHashGet
    - SCH_ERR_RET
    - SCH_LOCK
    - SCH_TASK_DLOG
    - SCH_GET_CUR_EP
    - SCH_TASK_ELOG
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDecTaskFlowQuota(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:43,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:49,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:44,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:44,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:51,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:56,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:61,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:61,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:63,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:64,1
    - Dst: SCH_SET_JOB_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:67,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pJob
    - pLevel
    argTypes:
    - SSchJob*
    - SSchLevel*
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: schChkJobNeedFlowCtrl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_JOB_DLOG
    - SCH_JOB_TLOG
    - SCH_JOB_ELOG
    - SCH_IS_QUERY_JOB
    - taosGetDefaultHashFunction
    - SCH_ERR_RET
    - taosArrayGetSize
    - SCH_SET_JOB_NEED_FLOW_CTRL
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schChkJobNeedFlowCtrl(SSchJob *pJob, SSchLevel *pLevel) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:109,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:122,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:112,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:118,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:116,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:123,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:126,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:133,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:154,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:156,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:162,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:161,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:162,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:174,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:157,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:163,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:180,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - pJob
    - pTask
    - enough
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool*
    constantsTouched: []
    func_position:
      end: 181
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 181
    functionName: schCheckIncTaskFlowQuota
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - SCH_UNLOCK
    - SCH_ERR_JRET
    - SCH_RET
    - taosHashGet
    - SCH_ERR_RET
    - HASH_NODE_EXIST
    - SCH_TASK_DLOG
    - SCH_LOCK
    - SCH_GET_CUR_EP
    - taosArrayPush
    - taosHashPut
    - taosArrayGetSize
    - SCH_TASK_ELOG
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schCheckIncTaskFlowQuota(SSchJob *pJob, SSchTask *pTask, bool
      *enough) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:197,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:200,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:199,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:222,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:249,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:249,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:254,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:210,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:214,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:217,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:231,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:236,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:233,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:267,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:205,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:216,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:219,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:240,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:236,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:273,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:247,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:250,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - pJob
    - ctrl
    argTypes:
    - SSchJob*
    - SSchFlowControl*
    constantsTouched: []
    func_position:
      end: 274
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 274
    functionName: schLaunchTasksInFlowCtrlListImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_JOB_ELOG
    - SCH_ERR_JRET
    - taosArrayRemove
    - SCH_RET
    - taosArrayGetLast
    - taosArraySort
    - SCH_LOCK
    - SCH_TASK_DLOG
    - SCH_GET_CUR_EP
    - schProcessOnTaskFailure
    - taosArrayGetSize
    - SCH_UNLOCK
    - schAsyncLaunchTaskImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchTasksInFlowCtrlListImpl(SSchJob *pJob, SSchFlowControl
      *ctrl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:277,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:283,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:281,1
    - Dst: schDecTaskFlowQuota
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:281,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:285,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:287,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:288,1
    - Dst: schLaunchTasksInFlowCtrlListImpl
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:291,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 295
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 295
    functionName: schLaunchTasksInFlowCtrlList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schFlowCtrl.c
    functionUses: []
    functionsReached:
    - SCH_TASK_NEED_FLOW_CTRL
    - schLaunchTasksInFlowCtrlListImpl
    - taosHashGet
    - SCH_ERR_RET
    - schDecTaskFlowQuota
    - SCH_GET_CUR_EP
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchTasksInFlowCtrlList(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:147,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:160,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:153,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pJob
    - pTask
    - handle
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 163
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 163
    functionName: schUpdateTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_TASK_DLOG
    - taosHashGet
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateTaskExecNode(SSchJob *pJob, SSchTask *pTask, void
      *handle, int32_t execId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:195,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:200,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:223,1
    - Dst: schTaskCheckSetRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:216,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:232,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:236,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:244,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:198,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:200,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:201,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:207,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:216,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:219,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:214,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:233,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:239,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:194,1
    - Dst: SCH_LOG_TASK_WAIT_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:214,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:224,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:229,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:236,1
    - Dst: schHandleTaskRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:239,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:193,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:194,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:221,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:227,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 245
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 245
    functionName: schProcessOnTaskFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schHandleTaskRetry
    - jobTaskStatusStr
    - schUpdateJobErrCode
    - SCH_SET_TASK_STATUS
    - atomic_load_32
    - SCH_GET_TASK_STATUS
    - SCH_LOG_TASK_END_TS
    - SCH_LOG_TASK_WAIT_TS
    - SCH_RET
    - schTaskCheckSetRetry
    - SCH_ERR_RET
    - tstrerror
    - SCH_LOCK
    - SCH_TASK_DLOG
    - schJobNeedToStop
    - SCH_JOB_NEED_WAIT
    - SCH_TASK_ELOG
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnTaskFailure(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:458,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:468,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:470,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:480,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:481,1
    - Dst: schUpdateTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:470,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:472,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:491,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:512,1
    - Dst: SCH_UPDATE_REDIRECT_CODE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:461,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:464,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:474,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:490,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:526,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:514,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:496,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:476,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:486,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:509,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:516,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:517,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:526,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:519,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:487,1
    - Dst: NO_RET_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:460,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:458,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:464,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:466,1
    - Dst: SYNC_SELF_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:471,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:485,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:496,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:505,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:509,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:494,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pData
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 527
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 527
    functionName: schDoTaskRedirect
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - SCH_UPDATE_REDIRECT_CODE
    - taosArrayGetSize
    - schChkUpdateRedirectCtx
    - NO_RET_REDIRECT_ERROR
    - schDoTaskRedirect
    - schDelayLaunchTask
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGet
    - SCH_ERR_JRET
    - qClearSubplanExecutionNode
    - SCH_TASK_DLOG
    - schResetTaskForRetry
    - SYNC_SELF_LEADER_REDIRECT_ERROR
    - SCH_SWITCH_EPSET
    - SCH_TASK_ELOG
    - SCH_UNLOCK_TASK
    - SCH_GET_TASK_STATUS_STR
    - SCH_SET_TASK_STATUS
    - SCH_LOCK_TASK
    - schSwitchTaskCandidateAddr
    - tstrerror
    - schUpdateTaskCandidateAddr
    - schProcessOnTaskFailure
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDoTaskRedirect(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pData, int32_t rspCode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:830,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:838,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:837,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:832,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:833,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:839,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:842,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:847,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:848,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:849,1
    - Dst: schSetAddrsFromNodeList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:852,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:854,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:852,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 866
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 866
    functionName: schSetTaskCandidateAddrs
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_IS_DATA_BIND_TASK
    - schSetAddrsFromNodeList
    - SCH_ERR_RET
    - taosArrayPush
    - taosRand
    - taosArrayGetSize
    - SCH_TASK_ELOG
    - SCH_TASK_TLOG
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schSetTaskCandidateAddrs(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1297,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1300,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1299,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1303,1
    - Dst: schCheckIncTaskFlowQuota
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1300,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1303,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1306,1
    - Dst: schAsyncLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1306,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1313,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1314
    functionName: schLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_TASK_NEED_FLOW_CTRL
    - SCH_ERR_JRET
    - SCH_SET_TASK_HANDLE
    - schCheckIncTaskFlowQuota
    - schProcessOnTaskFailure
    - SCH_RET
    - schAsyncLaunchTaskImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_NEED_DROP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1389,1
    - Dst: schStopTaskDelayTimer
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1398,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1393,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1402,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1401,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1403,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - list
    argTypes:
    - SSchJob*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1407
    functionName: schDropTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schStopTaskDelayTimer
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - taosHashIterate
    - schDropTaskOnExecNode
    - SCH_JOB_NEED_DROP
    linkageType: ''
    returnType: void
    signature: 'void schDropTaskInHashList(SSchJob *pJob, SHashObj *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:167,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:174,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:170,1
    - Dst: schDropTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:167,1
    - Dst: schUpdateTaskExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:170,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:177,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - pJob
    - pTask
    - dropExecNode
    - handle
    - seriousId
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - bool
    - void*
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: schUpdateTaskHandle
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schUpdateTaskExecNode
    - SCH_SET_TASK_HANDLE
    - schDropTaskExecNode
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateTaskHandle(SSchJob *pJob, SSchTask *pTask, bool dropExecNode,
      void *handle, uint64_t seriousId, int32_t execId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:251,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:257,1
    - Dst: schRecordTaskSucceedNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:259,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:267,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:303,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:306,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:322,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:326,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:328,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:335,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:251,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:261,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:263,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:283,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:280,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:290,1
    - Dst: qSetSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:320,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:338,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:334,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:338,1
    - Dst: SCH_LOG_TASK_END_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:253,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:283,1
    - Dst: SCH_JOB_NEED_WAIT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:266,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:290,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:309,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:317,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:324,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:331,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:343,1
    - Dst: schLaunchJobLowerLevel
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:343,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:255,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:259,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:261,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:270,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:280,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:273,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:277,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:305,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:318,1
    - Dst: SCH_TASK_READY_FOR_LAUNCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:330,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:336,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 347
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 347
    functionName: schProcessOnTaskSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - TSWAP
    - SCH_LOG_TASK_END_TS
    - SCH_IS_LOCAL_EXEC_TASK
    - schLaunchTasksInFlowCtrlList
    - schHandleJobFailure
    - atomic_add_fetch_32
    - taosArrayGetSize
    - SCH_TASK_TLOG
    - schDelayLaunchTask
    - schSwitchJobStatus
    - SCH_JOB_NEED_WAIT
    - SCH_UNLOCK
    - SCH_FETCH_TYPE
    - taosArrayGet
    - SCH_TASK_READY_FOR_LAUNCH
    - SCH_LOCK
    - SCH_TASK_DLOG
    - SCH_TASK_ELOG
    - SCH_GET_TASK_STATUS_STR
    - SCH_SET_TASK_STATUS
    - schLaunchJobLowerLevel
    - SCH_ERR_RET
    - schRecordTaskSucceedNode
    - qSetSubplanExecutionNode
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnTaskSuccess(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:532,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:535,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:536,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:533,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:533,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:541,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:543,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:545,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:546,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:557,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:552,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:557,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:551,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:549,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:556,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 560
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 560
    functionName: schResetTaskSetLevelInfo
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - atomic_load_32
    - SCH_GET_TASK_STATUS
    - SCH_ERR_RET
    - atomic_sub_fetch_32
    - SCH_TASK_DLOG
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schResetTaskSetLevelInfo(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:565,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:569,1
    - Dst: SYNC_OTHER_LEADER_REDIRECT_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:575,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:584,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:594,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:592,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:585,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:591,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:569,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:565,1
    - Dst: schDoTaskRedirect
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:582,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:577,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:587,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:580,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:575,1
    - Dst: schResetTaskSetLevelInfo
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:577,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:594,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pData
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 595
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 595
    functionName: schHandleTaskSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schChkResetJobRetry
    - SCH_ERR_JRET
    - SCH_RET
    - tstrerror
    - taosMemoryFreeClear
    - SCH_TASK_DLOG
    - SCH_RESET_JOB_LEVEL_IDX
    - atomic_add_fetch_64
    - schDoTaskRedirect
    - schProcessOnTaskFailure
    - SCH_TASK_ELOG
    - schResetTaskSetLevelInfo
    - SYNC_OTHER_LEADER_REDIRECT_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleTaskSetRetry(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pData, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1322,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1333,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1328,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1335,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1332,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1339
    functionName: schHandleTimerEvent
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schProcessOnCbBegin
    - schProcessOnCbEnd
    - SCH_TASK_DLOG
    - schLaunchTask
    - qDebug
    - atomic_load_8
    linkageType: ''
    returnType: void
    signature: 'void schHandleTimerEvent(void *param, void *tmrId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1412,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1419,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1414,1
    - Dst: schNotifyTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1412,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1418,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1420,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1427,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1430,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pJob
    - list
    - type
    - pCurrTask
    argTypes:
    - SSchJob*
    - SHashObj*
    - ETaskNotifyType
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1431
    functionName: schNotifyTaskInHashList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - taosHashIterate
    - SCH_ERR_RET
    - schNotifyTaskOnExecNode
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schNotifyTaskInHashList(SSchJob *pJob, SHashObj *list, ETaskNotifyType
      type, SSchTask *pCurrTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:26,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:32,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:35,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:39,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:29,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:43,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:46,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 47
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 47
    functionName: schFreeTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    - schDeregisterTaskHb
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void schFreeTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:354,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:360,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:359,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:361,1
    - Dst: SCH_TASK_TIMEOUT
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:358,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:362,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:364,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: schRescheduleTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_IS_DATA_BIND_TASK
    - taosHashClear
    - SCH_ERR_RET
    - SCH_TASK_TIMEOUT
    - schDropTaskOnExecNode
    - SCH_TASK_DLOG
    - schProcessOnTaskFailure
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schRescheduleTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:760,1
    - Dst: SCH_TASK_NEED_FLOW_CTRL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:769,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:770,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:778,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:788,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:785,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:763,1
    - Dst: schLaunchTasksInFlowCtrlList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:770,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:775,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:780,1
    - Dst: schSwitchTaskCandidateAddr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:785,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:776,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:763,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:766,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:767,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:773,1
    - Dst: SCH_SWITCH_EPSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:783,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:788,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 791
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 791
    functionName: schHandleTaskRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGet
    - SCH_TASK_NEED_FLOW_CTRL
    - SCH_SET_TASK_STATUS
    - UNUSED
    - SCH_SWITCH_EPSET
    - schSwitchTaskCandidateAddr
    - schRemoveTaskFromExecList
    - schLaunchTasksInFlowCtrlList
    - SCH_ERR_RET
    - atomic_sub_fetch_32
    - taosTmrStop
    - schDeregisterTaskHb
    - schDelayLaunchTask
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleTaskRetry(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:903,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:919,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 930
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 930
    functionName: schSwitchTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosRand
    - taosArrayGetSize
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schSwitchTaskCandidateAddr(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1121,1
    - Dst: qSubPlanToMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1122,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1126,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1128,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1132,1
    - Dst: SCH_TASK_DLOGL
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1133,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1134,1
    - Dst: schSetTaskCandidateAddrs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1138,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1141,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1144,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1144,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1138,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1141,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1140,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1145
    functionName: schLaunchRemoteTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - SCH_TASK_DLOGL
    - schBuildAndSendMsg
    - qSubPlanToMsg
    - SCH_IS_QUERY_JOB
    - SCH_RET
    - qSubPlanToString
    - tstrerror
    - SCH_ERR_RET
    - SCH_LOCK
    - schEnsureHbConnection
    - SCH_TASK_ELOG
    - schSetTaskCandidateAddrs
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchRemoteTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1434,1
    - Dst: SCH_FETCH_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1434,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: schExecRemoteFetch
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_FETCH_TYPE
    - SCH_RET
    - schBuildAndSendMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schExecRemoteFetch(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:50,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:53,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:54,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSchLevel*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: schInitTaskRetryTimes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_IS_QUERY_JOB
    - SCH_IS_DATA_BIND_TASK
    - TMAX
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void schInitTaskRetryTimes(SSchJob *pJob, SSchTask *pTask, SSchLevel
      *pLevel) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:375,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:377,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:381,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:396,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:401,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:404,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:407,1
    - Dst: SCH_GET_REDIRECT_CODE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:407,1
    - Dst: SCH_IS_DATA_BIND_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:415,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:429,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pEpSet
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SEpSet*
    - int32_t
    constantsTouched: []
    func_position:
      end: 433
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 433
    functionName: schChkUpdateRedirectCtx
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - SCH_IS_DATA_BIND_TASK
    - taosArrayGet
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - SCH_GET_REDIRECT_CODE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schChkUpdateRedirectCtx(SSchJob *pJob, SSchTask *pTask, SEpSet
      *pEpSet, int32_t rspCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:798,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:805,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:806,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:801,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:809,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:810,1
    - Dst: SCH_GET_CUR_EP
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:811,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:818,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:819,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 823
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 823
    functionName: schSetAddrsFromNodeList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - taosArrayPush
    - SCH_GET_CUR_EP
    - taosArrayGetSize
    - SCH_TASK_ELOG
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schSetAddrsFromNodeList(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:933,1
    - Dst: SCH_TASK_WLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 939
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 939
    functionName: schRemoveTaskFromExecList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_TASK_WLOG
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schRemoveTaskFromExecList(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1151,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1152,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1153,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1161,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1151,1
    - Dst: SCH_TASK_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1162,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1169,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1171,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1175,1
    - Dst: qWorkerProcessLocalQuery
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1175,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1178,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1179,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1183,1
    - Dst: schProcessOnTaskSuccess
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1183,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1189,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1187,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1190
    functionName: schLaunchLocalTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_TASK_NEED_FETCH
    - taosArrayDestroy
    - atomic_val_compare_exchange_ptr
    - SCH_ERR_JRET
    - SCH_RET
    - schProcessOnTaskSuccess
    - qWorkerProcessLocalQuery
    - SCH_ERR_RET
    - schHandleExplainRes
    - qWorkerInit
    - SCH_IS_EXPLAIN_JOB
    - qWorkerDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchLocalTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1442,1
    - Dst: qWorkerProcessLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1449,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1445,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1443,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1449,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1452,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1453,1
    - Dst: schHandleExplainRes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1453,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1457,1
    - Dst: schProcessFetchRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1457,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1461,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1463,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1464
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1464
    functionName: schExecLocalFetch
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - SCH_ERR_JRET
    - SCH_RET
    - schProcessFetchRsp
    - SCH_ERR_RET
    - schHandleExplainRes
    - qWorkerProcessLocalFetch
    - SCH_IS_EXPLAIN_JOB
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schExecLocalFetch(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:871,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:872,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:877,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:873,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:874,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:879,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:879,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:880,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:886,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:886,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:891,1
    - Dst: schDumpEpSet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:887,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:896,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pEpSet
    argTypes:
    - SSchJob*
    - SSchTask*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 899
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 899
    functionName: schUpdateTaskCandidateAddr
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - SCH_ERR_JRET
    - SCH_ERR_RET
    - schDumpEpSet
    - SCH_TASK_DLOG
    - TAOS_MEMCPY
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateTaskCandidateAddr(SSchJob *pJob, SSchTask *pTask,
      SEpSet *pEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getClientId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:70,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:76,1
    - Dst: schInitTaskRetryTimes
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:73,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:76,1
    - Dst: schGenTaskId
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:71,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:77,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:79,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:82,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:84,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:90,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:93,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pPlan
    - pLevel
    argTypes:
    - SSchJob*
    - SSchTask*
    - SSubplan*
    - SSchLevel*
    constantsTouched: []
    func_position:
      end: 94
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 94
    functionName: schInitTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - getClientId
    - taosArrayDestroy
    - SCH_SET_TASK_STATUS
    - SCH_ERR_JRET
    - SCH_RET
    - taosGetDefaultHashFunction
    - schGenTaskId
    - SCH_TASK_TLOG
    - taosHashCleanup
    - schInitTaskRetryTimes
    - taosHashInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schInitTask(SSchJob *pJob, SSchTask *pTask, SSubplan *pPlan,
      SSchLevel *pLevel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:439,1
    - Dst: schDropTaskOnExecNode
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:442,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:443,1
    - Dst: schRemoveTaskFromExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:444,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:439,1
    - Dst: schDeregisterTaskHb
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:445,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:446,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 451
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 451
    functionName: schResetTaskForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosHashClear
    - UNUSED
    - schRemoveTaskFromExecList
    - schDropTaskOnExecNode
    - taosTmrStop
    - schDeregisterTaskHb
    - TAOS_MEMSET
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void schResetTaskForRetry(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:943,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:947,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:949,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:949,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:943,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:954,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:957,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:958,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:959,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:961,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:967,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:963,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:970,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 971
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 971
    functionName: schDropTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_GET_TASK_STATUS_STR
    - schBuildAndSendMsg
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: 'void schDropTaskOnExecNode(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1470,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1476,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1478,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1479,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1472,1
    - Dst: schExecLocalFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1479,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1481,1
    - Dst: schExecRemoteFetch
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1481,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1488,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 1489
      start: 1467
    functionDepth: 0
    functionLinenumber: 1467
    functionLinenumberEnd: 1489
    functionName: schLaunchFetchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schExecRemoteFetch
    - SCH_JOB_DLOG
    - schExecLocalFetch
    - SCH_SET_TASK_STATUS
    - SCH_ERR_JRET
    - SCH_IS_LOCAL_EXEC_TASK
    - atomic_load_ptr
    - schProcessOnTaskFailure
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchFetchTask(SSchJob *pJob) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:97,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:104,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:103,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: schRecordTaskSucceedNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_IS_LOCAL_EXEC_TASK
    - SCH_ERR_RET
    - taosArrayGetSize
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schRecordTaskSucceedNode(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:974,1
    - Dst: SCH_GET_TASK_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:976,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:976,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:981,1
    - Dst: SCH_SET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:984,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:985,1
    - Dst: schBuildAndSendMsg
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:985,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:986,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:988,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:992,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    constantsTouched: []
    func_position:
      end: 997
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 997
    functionName: schNotifyTaskOnExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_GET_TASK_STATUS_STR
    - schBuildAndSendMsg
    - SCH_SET_TASK_HANDLE
    - taosHashIterate
    - taosHashGetSize
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schNotifyTaskOnExecNode(SSchJob *pJob, SSchTask *pTask, ETaskNotifyType
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_TASK_HANDLE
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:114,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:121,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:116,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:118,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pJob
    - pTask
    - addr
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - SQueryNodeAddr*
    - int32_t
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: schAppendTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_GET_TASK_HANDLE
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - taosHashPut
    - SCH_TASK_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schAppendTaskExecNode(SSchJob *pJob, SSchTask *pTask, SQueryNodeAddr
      *addr, int32_t execId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:698,1
    - Dst: SCH_TASK_NEED_RETRY
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:727,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:723,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:716,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:729,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:729,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - pJob
    - pTask
    - errCode
    - needRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 757
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 757
    functionName: schTaskCheckSetRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - tstrerror
    - SCH_TASK_DLOG
    - SCH_TASK_NEED_RETRY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schTaskCheckSetRetry(SSchJob *pJob, SSchTask *pTask, int32_t
      errCode, bool *needRetry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1000,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1008,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1004,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1010,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1016,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1017,1
    - Dst: schProcessOnCbBegin
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1019,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1025,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1026,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1032,1
    - Dst: schProcessOnCbEnd
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1040,1
    - Dst: schRescheduleTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1037,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pEpId
    - pStatusList
    argTypes:
    - SQueryNodeEpId*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1044
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1044
    functionName: schProcessOnTaskStatusRsp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - schProcessOnCbBegin
    - taosArrayGet
    - jobTaskStatusStr
    - schProcessOnCbEnd
    - qError
    - SCH_TASK_DLOG
    - qDebug
    - taosArrayGetSize
    - schRescheduleTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnTaskStatusRsp(SQueryNodeEpId *pEpId, SArray *pStatusList) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1196,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1216,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1224,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1230,1
    - Dst: schLaunchLocalTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1240,1
    - Dst: schLaunchRemoteTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1255,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1266,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1216,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1222,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1231,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1230,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1246,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1270,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1198,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1206,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1200,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1217,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1235,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1225,1
    - Dst: SCH_LOG_TASK_START_TS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1227,1
    - Dst: SCH_IS_LOCAL_EXEC_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1239,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1247,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1258,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1199,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1235,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1229,1
    - Dst: SCH_GET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1234,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1236,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1240,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1242,1
    - Dst: schEnsureHbConnection
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1247,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1263,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1268,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1271
    functionName: schLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosMemoryFree
    - SCH_RET
    - SCH_IS_LOCAL_EXEC_TASK
    - schLaunchLocalTask
    - schLaunchRemoteTask
    - schHandleJobFailure
    - schPushTaskToExecList
    - atomic_add_fetch_32
    - schReleaseJob
    - SCH_LOG_TASK_START_TS
    - schAcquireJob
    - SCH_GET_TASK_STATUS
    - schEnsureHbConnection
    - schJobNeedToStop
    - jobTaskStatusStr
    - SCH_ERR_JRET
    - SCH_TASK_DLOG
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - SCH_SET_TASK_STATUS
    - SCH_IS_QUERY_JOB
    - qDebug
    - schProcessOnTaskFailure
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchTaskImpl(void *param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1347,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1353,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1351,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1348,1
    - Dst: schPushTaskToExecList
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1347,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1354,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1357,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1362,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1363,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1369,1
    - Dst: schLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1370
    functionName: schDelayLaunchTask
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosTmrReset
    - SCH_SET_TASK_STATUS
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - schPushTaskToExecList
    - schLaunchTask
    - taosTmrStart
    - SCH_TASK_ELOG
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDelayLaunchTask(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:131,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:133,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:135,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:132,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:139,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:140,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pJob
    - pTask
    - handle
    - execId
    argTypes:
    - SSchJob*
    - SSchTask*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: schDropTaskExecNode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - SCH_TASK_DLOG
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDropTaskExecNode(SSchJob *pJob, SSchTask *pTask, void *handle,
      int32_t execId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1076,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1104,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1078,1
    - Dst: schProcessExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1084,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1113,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1108,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1048,1
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1067,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1057,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1063,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1069,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1076,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1077,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1102,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1092,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1087,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1059,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1071,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1075,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1081,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1089,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - pExplainRes
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1114
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1114
    functionName: schHandleExplainRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - jobTaskStatusStr
    - taosArrayDestroy
    - schAcquireJob
    - qWarn
    - SCH_ERR_JRET
    - schProcessExplainRsp
    - qError
    - tFreeSExplainRsp
    - schGetTaskInJob
    - SCH_TASK_DLOG
    - qDebug
    - schJobNeedToStop
    - taosArrayGetSize
    - schReleaseJob
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleExplainRes(SArray *pExplainRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1274,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1284,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1284,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1286,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1276,1
    - Dst: schLaunchTaskImpl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1273
    functionDepth: 0
    functionLinenumber: 1273
    functionLinenumberEnd: 1290
    functionName: schAsyncLaunchTaskImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - SCH_ERR_RET
    - schLaunchTaskImpl
    - taosAsyncExec
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schAsyncLaunchTaskImpl(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1373,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1382,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1376,1
    - Dst: schChkJobNeedFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1373,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:1382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - level
    argTypes:
    - SSchJob*
    - SSchLevel*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1386
    functionName: schLaunchLevelTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_ERR_RET
    - schChkJobNeedFlowCtrl
    - schDelayLaunchTask
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchLevelTasks(SSchJob *pJob, SSchLevel *level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:599,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:602,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:607,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:601,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:606,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:610,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schTask.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 613
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 613
    functionName: schPushTaskToExecList
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schTask.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    - SCH_ERR_RET
    - HASH_NODE_EXIST
    - SCH_TASK_DLOG
    - taosHashPut
    - SCH_TASK_ELOG
    - SCH_TASK_TLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schPushTaskToExecList(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:28,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:40,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:43,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:42,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:37,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:46,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:46,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:48,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:49,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:52,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:54,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:58,1
    - Dst: getClientId
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:58,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:55,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 61
    functionName: schedulerInit
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - getClientId
    - taosTmrInit
    - qInfo
    - qError
    - SCH_ERR_RET
    - tstrerror
    - taosGetDefaultHashFunction
    - taosOpenRef
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:104,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:107,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:101,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:113,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:114,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:119,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:119,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:123,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:122,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:121,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:130,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - jobId
    - pSub
    argTypes:
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 131
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 131
    functionName: schedulerGetTasksStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - jobTaskStatusStr
    - SCH_ERR_JRET
    - schHandleOpBeginEvent
    - TAOS_STRCPY
    - qError
    - taosArrayPush
    - schHandleOpEndEvent
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerGetTasksStatus(int64_t jobId, SArray *pSub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:64,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:69,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:71,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:71,1
    - Dst: schInitJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:69,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:73,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:73,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:75,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:75,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:79,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pReq
    - pJobId
    argTypes:
    - SSchedulerReq*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 80
    functionName: schedulerExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - SCH_ERR_JRET
    - schHandleOpBeginEvent
    - schInitJob
    - qDebug
    - schSwitchJobStatus
    - schHandleOpEndEvent
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerExecJob(SSchedulerReq *pReq, int64_t *pJobId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:147,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:151,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - policy
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: schedulerUpdatePolicy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - qDebug
    - SCH_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerUpdatePolicy(int32_t policy) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:168,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:174,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:174,1
    - Dst: schHandleJobDrop
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:175,1
    - Dst: schReleaseJobEx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - jobId
    - errCode
    argTypes:
    - int64_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 182
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 182
    functionName: schedulerFreeJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - SCH_JOB_TLOG
    - schAcquireJob
    - qTrace
    - schHandleJobDrop
    - tstrerror
    - schReleaseJobEx
    linkageType: ''
    returnType: void
    signature: 'void schedulerFreeJob(int64_t *jobId, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:83,1
    - Dst: schHandleOpBeginEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:88,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:90,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:88,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:90,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:94,1
    - Dst: schHandleOpEndEvent
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - jobId
    - pReq
    argTypes:
    - int64_t
    - SSchedulerReq*
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: schedulerFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - SCH_ERR_JRET
    - schHandleOpBeginEvent
    - qDebug
    - schSwitchJobStatus
    - schHandleOpEndEvent
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerFetchRows(int64_t jobId, SSchedulerReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schCleanClusterHb
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: schedulerStopQueryHb
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - schCleanClusterHb
    linkageType: ''
    returnType: void
    signature: 'void schedulerStopQueryHb(void *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - enableResche
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: schedulerEnableReSchedule
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerEnableReSchedule(bool enableResche) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:186,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:199,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:199,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:189,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:202,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:206,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:208,1
    - Dst: schFreeRpcCtx
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:211,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:212,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:214,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:218,1
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:220,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 222
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 222
    functionName: schedulerDestroy
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - SCH_UNLOCK
    - atomic_store_8
    - taosIterateRef
    - qWarn
    - taosHashIterate
    - schFreeRpcCtx
    - qInfo
    - tstrerror
    - SCH_LOCK
    - qWorkerDestroy
    - taosRemoveRef
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void schedulerDestroy(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:226,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:229,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:228,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:232,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:232,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:235,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:236,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:239,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:239,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:241,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:242,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:242,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/scheduler.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 250
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 250
    functionName: schedulerValidatePlan
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/scheduler.c
    functionUses: []
    functionsReached:
    - schFreeJobImpl
    - schValidateAndBuildJob
    - SCH_JOB_ELOG
    - taosMemoryCalloc
    - SCH_ERR_JRET
    - qError
    - SCH_ERR_RET
    - qExecExplainBegin
    - SCH_IS_EXPLAIN_JOB
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schedulerValidatePlan(SQueryPlan* pPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_DATA_BIND_QRY_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:299,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:303,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: schAppendJobDataSrc
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - taosArrayPush
    - SCH_IS_DATA_BIND_QRY_TASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schAppendJobDataSrc(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:775,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:784,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:806,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:807,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:815,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:821,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:761,1
    - Dst: schDropJobAllTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:763,1
    - Dst: schFreeTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:781,1
    - Dst: destroyQueryExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:800,1
    - Dst: schFreeFlowCtrl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:787,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:795,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:794,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:805,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:812,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:769,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:765,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:792,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:810,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:767,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:777,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:789,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:798,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:796,1
    - Dst: nodesReleaseAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:803,1
    - Dst: schCloseJobRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:817,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:810,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 822
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 822
    functionName: schFreeJobImpl
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - schCloseJobRef
    - schDropJobAllTasks
    - taosArrayGetSize
    - schFreeTask
    - taosHashCleanup
    - taosArrayDestroy
    - nodesReleaseAllocatorWeakRef
    - qTrace
    - schFreeFlowCtrl
    - atomic_sub_fetch_32
    - tsem_destroy
    - destroyQueryExecRes
    - taosArrayGet
    - qExplainFreeCtx
    - SCH_JOB_ELOG
    - qDestroyQueryPlan
    - qError
    - taosMemoryFreeClear
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void schFreeJobImpl(void *job) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pReq
    - errCode
    argTypes:
    - SSchedulerReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 983
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 983
    functionName: schDirectPostJobRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void schDirectPostJobRes(SSchedulerReq *pReq, int32_t errCode) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:321,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:319,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:324,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:326,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:332,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:336,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:346,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:349,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:339,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:342,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:394,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:401,1
    - Dst: SCH_SET_JOB_TYPE
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:410,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:438,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:431,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:446,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:408,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:315,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:327,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:331,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:341,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:361,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:362,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:368,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:376,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:377,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:382,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:431,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:443,1
    - Dst: schBuildTaskRalation
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:446,1
    - Dst: schInitTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:419,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:423,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:388,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:451,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:316,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:330,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:363,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:366,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:380,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:369,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:402,1
    - Dst: schValidateSubplan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:408,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:413,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:425,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:406,1
    - Dst: schAppendJobDataSrc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:421,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:425,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:385,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:442,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:454,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:319,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:335,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:348,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:381,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:381,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:393,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:399,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:415,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:426,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:429,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:419,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:432,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:387,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:374,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 2
    argNames:
    - pDag
    - pJob
    argTypes:
    - SQueryPlan*
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 455
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 455
    functionName: schValidateAndBuildJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosHashInit
    - nodesListGetNode
    - taosArrayInit
    - nodeType
    - taosHashCleanup
    - schAppendJobDataSrc
    - schInitTask
    - SCH_SET_JOB_TYPE
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - schValidateSubplan
    - taosArrayGet
    - SCH_JOB_ELOG
    - SCH_ERR_JRET
    - SCH_RESET_JOB_LEVEL_IDX
    - SCH_TASK_ELOG
    - SCH_GET_TASK_CAPACITY
    - LIST_LENGTH
    - SCH_JOB_TLOG
    - schBuildTaskRalation
    - SCH_ERR_RET
    - tstrerror
    - atomic_add_fetch_64
    - qDebug
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schValidateAndBuildJob(SQueryPlan *pDag, SSchJob *pJob) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:827,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:828,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:830,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:828,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:827,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:831,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:831,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:832,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:834,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:834,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:842,1
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:838,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:835,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:844,1
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:841,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:838,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:842,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 849
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 849
    functionName: schJobFetchRows
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schPostJobRes
    - SCH_GET_JOB_STATUS_STR
    - SCH_JOB_DLOG
    - SCH_IS_INSERT_JOB
    - tsem_wait
    - SCH_ERR_RET
    - qError
    - tstrerror
    - SCH_IS_EXPLAIN_JOB
    - schDumpJobFetchRes
    - schLaunchFetchTask
    - schChkCurrentOp
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schJobFetchRows(SSchJob *pJob) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:987,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:992,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:989,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:991,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:994,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:996,1
    - Dst: schUpdateJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pJob
    - rspCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1000
    functionName: schChkResetJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schUpdateJobStatus
    - SCH_JOB_ELOG
    - tstrerror
    - SCH_ERR_RET
    - SCH_LOCK
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schChkResetJobRetry(SSchJob *pJob, int32_t rspCode) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:83,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:90,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:125,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:159,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:149,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:117,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:159,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:159,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:109,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:132,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:141,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:149,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:145,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:163,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:102,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:96,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:137,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:142,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:149,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:141,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:161,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 70
    argCount: 2
    argNames:
    - pJob
    - newStatus
    argTypes:
    - SSchJob*
    - int8_t
    constantsTouched: []
    func_position:
      end: 164
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 164
    functionName: schUpdateJobStatus
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - jobTaskStatusStr
    - SCH_JOB_DLOG
    - SCH_JOB_ELOG
    - SCH_ERR_JRET
    - SCH_GET_JOB_STATUS
    - atomic_val_compare_exchange_8
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schUpdateJobStatus(SSchJob *pJob, int8_t newStatus) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:514,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:516,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:517,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:520,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:522,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:523,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: schNotifyUserExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_TLOG
    - taosMemoryCalloc
    - schDumpJobExecRes
    - atomic_load_32
    - qError
    - tstrerror
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schNotifyUserExecRes(SSchJob *pJob) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 608
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 608
    functionName: schHandleJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schSwitchJobStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleJobFailure(SSchJob *pJob, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schDropTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:743,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: schDropJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schDropTaskInHashList
    linkageType: ''
    returnType: void
    signature: 'void schDropJobAllTasks(SSchJob *pJob) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1017,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1026,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1031,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1047,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1058,1
    - Dst: qClearSubplanExecutionNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1059,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1060,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1009,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1011,1
    - Dst: schChkResetJobRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1026,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1042,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1050,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1044,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1035,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1053,1
    - Dst: schResetTaskForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1056,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1004,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1033,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1036,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1062,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1068,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1005,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1012,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1016,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1046,1
    - Dst: schChkUpdateRedirectCtx
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1051,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1054,1
    - Dst: SCH_RESET_JOB_LEVEL_IDX
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1066,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - pJob
    - pTask
    - rspCode
    - inRetry
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1071
    functionName: schResetJobForRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - schChkUpdateRedirectCtx
    - taosArrayGetSize
    - atomic_val_compare_exchange_8
    - SCH_UNLOCK
    - schChkResetJobRetry
    - taosArrayGet
    - SCH_JOB_DLOG
    - SCH_JOB_ELOG
    - qClearSubplanExecutionNode
    - SCH_LOCK
    - SCH_TASK_DLOG
    - SCH_RESET_JOB_LEVEL_IDX
    - schResetTaskForRetry
    - taosUsleep
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - SCH_ERR_RET
    - atomic_add_fetch_64
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schResetJobForRetry(SSchJob *pJob, SSchTask *pTask, int32_t
      rspCode, bool *inRetry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1109,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pJob
    - op
    - sync
    argTypes:
    - SSchJob*
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1118
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1118
    functionName: schChkCurrentOp
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_LOCK
    - SCH_UNLOCK
    linkageType: ''
    returnType: bool
    signature: 'bool schChkCurrentOp(SSchJob *pJob, int32_t op, int8_t sync) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1163,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1168,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1171,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1172,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1189,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1183,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1196,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1217,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1169,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1167,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1170,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1181,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1178,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1189,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1221,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1222,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1169,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1175,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1186,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1182,1
    - Dst: schDirectPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1185,1
    - Dst: SCH_JOB_NEED_FETCH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1198,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1199,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1204,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1211,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1220,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1221,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1175,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1183,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1184,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1199,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1200,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1204,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1205,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1212,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1216,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1221,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - pJob
    - type
    - pReq
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    constantsTouched: []
    func_position:
      end: 1226
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1226
    functionName: schProcessOnOpBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_NEED_FETCH
    - SCH_GET_JOB_STATUS_STR
    - SCH_JOB_DLOG
    - jobTaskStatusStr
    - SCH_JOB_ELOG
    - atomic_val_compare_exchange_32
    - SCH_GET_JOB_STATUS
    - SCH_ERR_RET
    - schGetOpStr
    - SCH_LOCK
    - qDebug
    - schJobNeedToStop
    - schDirectPostJobRes
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnOpBegin(SSchJob *pJob, SCH_OP_TYPE type, SSchedulerReq
      *pReq) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:171,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:178,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:206,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:193,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:206,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:213,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:216,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:221,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:226,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:232,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:275,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:286,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:262,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:272,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:175,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:194,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:202,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:207,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:233,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:238,1
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:278,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:281,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:218,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:246,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:274,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:227,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:257,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:274,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:187,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:201,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:199,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:217,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:230,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:243,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:245,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:250,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:250,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:254,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:256,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:261,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:265,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:280,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:249,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:260,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:168,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:177,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:170,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:182,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:183,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:188,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:191,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:205,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:210,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:212,1
    - Dst: SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:284,1
    - Dst: SCH_TASK_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:268,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:251,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 122
    argCount: 2
    argNames:
    - pJob
    - planToTask
    argTypes:
    - SSchJob*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 296
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 296
    functionName: schBuildTaskRalation
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosArrayGet
    - SCH_JOB_ELOG
    - SCH_IS_QUERY_JOB
    - taosHashGet
    - SCH_ERR_RET
    - SCH_TASK_TLOG
    - taosArrayPush
    - SCH_TASK_DLOG
    - nodesListGetNode
    - taosArrayGetSize
    - SCH_TASK_ELOG
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schBuildTaskRalation(SSchJob *pJob, SHashObj *planToTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schDumpJobFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:532,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:537,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:533,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:537,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:534,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:538,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 542
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 542
    functionName: schNotifyUserFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_DLOG
    - atomic_load_32
    - tstrerror
    - schDumpJobFetchRes
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schNotifyUserFetchRes(SSchJob *pJob) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:610,1
    - Dst: schProcessOnJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 610
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 610
    functionName: schProcessOnJobDropped
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schProcessOnJobFailure
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnJobDropped(SSchJob *pJob, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:749,1
    - Dst: schNotifyTaskInHashList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pJob
    - pTask
    - type
    argTypes:
    - SSchJob*
    - SSchTask*
    - ETaskNotifyType
    constantsTouched: []
    func_position:
      end: 750
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 750
    functionName: schNotifyJobAllTasks
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schNotifyTaskInHashList
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schNotifyJobAllTasks(SSchJob *pJob, SSchTask *pTask, ETaskNotifyType
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1077,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1080,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1082,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1078,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1082,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1084,1
    - Dst: schResetJobForRetry
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1084,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1086,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1086,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1088,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1096,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1101,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1092,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1104,1
    - Dst: schProcessOnTaskFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1098,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1090,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pJob
    - pTask
    - pMsg
    - rspCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1105
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1105
    functionName: schHandleJobRetry
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_UNLOCK_TASK
    - SCH_LOCK_TASK
    - atomic_store_8
    - SCH_ERR_JRET
    - schResetJobForRetry
    - tstrerror
    - schLaunchJob
    - SCH_TASK_DLOG
    - schProcessOnTaskFailure
    - taosMemoryFreeClear
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleJobRetry(SSchJob *pJob, SSchTask *pTask, SDataBuf
      *pMsg, int32_t rspCode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1129,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1127,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1130,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1141,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1142,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1141,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1126,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1155,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1158,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1141,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1129,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1139,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1158,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1129,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1132,1
    - Dst: schDumpJobExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1133,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1158,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1144,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - pJob
    - type
    - pReq
    - errCode
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    - SSchedulerReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1159
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1159
    functionName: schProcessOnOpEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - jobTaskStatusStr
    - SCH_JOB_ELOG
    - SCH_JOB_TLOG
    - schDumpJobExecRes
    - atomic_val_compare_exchange_32
    - tstrerror
    - schGetOpStr
    - SCH_LOCK
    - schHandleJobFailure
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void schProcessOnOpEnd(SSchJob *pJob, SCH_OP_TYPE type, SSchedulerReq
      *pReq, int32_t errCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1230,1
    - Dst: schHandleJobFailure
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1234,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pJob
    - pTask
    - errCode
    argTypes:
    - SSchJob*
    - SSchTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1240
      start: 1228
    functionDepth: 0
    functionLinenumber: 1228
    functionLinenumberEnd: 1240
    functionName: schProcessOnCbEnd
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schReleaseJob
    - schHandleJobFailure
    - SCH_UNLOCK_TASK
    linkageType: ''
    returnType: void
    signature: 'void schProcessOnCbEnd(SSchJob *pJob, SSchTask *pTask, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: schJobDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_GET_JOB_STATUS
    linkageType: ''
    returnType: bool
    signature: 'bool schJobDone(SSchJob *pJob) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:458,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:461,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:468,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pJob
    - pRes
    argTypes:
    - SSchJob*
    - SExecResult*
    constantsTouched: []
    func_position:
      end: 469
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 469
    functionName: schDumpJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_DLOG
    - atomic_load_32
    - tstrerror
    - SCH_LOCK
    - SCH_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void schDumpJobExecRes(SSchJob *pJob, SExecResult *pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: schHandleJobDrop
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schSwitchJobStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schHandleJobDrop(SSchJob *pJob, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:632,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: schProcessOnDataFetched
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schPostJobRes
    linkageType: ''
    returnType: void
    signature: 'void schProcessOnDataFetched(SSchJob *pJob) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SCH_GET_JOB_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:60,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:70,1
    - Dst: schJobDone
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pJob
    - pStatus
    argTypes:
    - SSchJob*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: schJobNeedToStop
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schUpdateJobErrCode
    - SCH_GET_JOB_STATUS
    - schJobDone
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE bool schJobNeedToStop(SSchJob *pJob, int8_t *pStatus) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:474,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:483,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:484,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:479,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:479,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:492,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:494,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:495,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:501,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:504,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:508,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pJob
    - pData
    argTypes:
    - SSchJob*
    - void**
    constantsTouched: []
    func_position:
      end: 511
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 511
    functionName: schDumpJobFetchRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_DLOG
    - atomic_val_compare_exchange_ptr
    - taosMemoryCalloc
    - SCH_JOB_ELOG
    - SCH_ERR_JRET
    - atomic_load_ptr
    - SCH_LOCK
    - schSwitchJobStatus
    - SCH_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schDumpJobFetchRes(SSchJob *pJob, void **pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schChkCurrentOp
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:623,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:624,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:626,1
    - Dst: schLaunchFetchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 630
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 630
    functionName: schProcessOnJobPartialSuccess
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - schLaunchFetchTask
    - schChkCurrentOp
    - schPostJobRes
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnJobPartialSuccess(SSchJob *pJob) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:635,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:637,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:637,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:635,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:638,1
    - Dst: SCH_SET_TASK_STATUS
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:640,1
    - Dst: SCH_IS_INSERT_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:642,1
    - Dst: schProcessOnDataFetched
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pJob
    - pTask
    - pRsp
    argTypes:
    - SSchJob*
    - SSchTask*
    - SRetrieveTableRsp*
    constantsTouched: []
    func_position:
      end: 647
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 647
    functionName: schProcessOnExplainDone
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schProcessOnDataFetched
    - SCH_SET_TASK_STATUS
    - SCH_IS_INSERT_JOB
    - atomic_store_64
    - atomic_store_ptr
    - SCH_TASK_DLOG
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnExplainDone(SSchJob *pJob, SSchTask *pTask, SRetrieveTableRsp
      *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:554,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:554,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:560,1
    - Dst: SCH_JOB_IN_ASYNC_FETCH_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:562,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:571,1
    - Dst: SCH_JOB_IN_ASYNC_EXEC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:564,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:549,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:568,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:572,1
    - Dst: schNotifyUserFetchRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:569,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:579,1
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:546,1
    - Dst: schGetOpStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:554,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:549,1
    - Dst: SCH_JOB_IN_SYNC_OP
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:558,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:559,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:562,1
    - Dst: schNotifyUserExecRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:566,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:565,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:572,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pJob
    - op
    argTypes:
    - SSchJob*
    - SCH_OP_TYPE
    constantsTouched: []
    func_position:
      end: 580
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 580
    functionName: schPostJobRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - jobTaskStatusStr
    - SCH_JOB_ELOG
    - SCH_JOB_TLOG
    - SCH_JOB_IN_ASYNC_EXEC_OP
    - SCH_JOB_IN_ASYNC_FETCH_OP
    - tstrerror
    - schGetOpStr
    - SCH_LOCK
    - SCH_JOB_IN_SYNC_OP
    - tsem_post
    - schNotifyUserExecRes
    - SCH_UNLOCK
    - schNotifyUserFetchRes
    linkageType: ''
    returnType: void
    signature: 'void schPostJobRes(SSchJob *pJob, SCH_OP_TYPE op) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SCH_IS_QUERY_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:650,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:659,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:655,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:661,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:666,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:668,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:669,1
    - Dst: schDelayLaunchTask
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:672,1
    - Dst: SCH_TASK_ALREADY_LAUNCHED
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:676,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:680,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - pJob
    - pTask
    argTypes:
    - SSchJob*
    - SSchTask*
    constantsTouched: []
    func_position:
      end: 685
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 685
    functionName: schLaunchJobLowerLevel
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SCH_JOB_ELOG
    - atomic_load_32
    - SCH_IS_QUERY_JOB
    - SCH_ERR_RET
    - SCH_TASK_ALREADY_LAUNCHED
    - atomic_sub_fetch_32
    - schDelayLaunchTask
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchJobLowerLevel(SSchJob *pJob, SSchTask *pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: schGetTaskFromList
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:716,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:718,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pJob
    - taskId
    - pTask
    argTypes:
    - SSchJob*
    - uint64_t
    - SSchTask**
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: schGetTaskInJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_ERR_RET
    - schGetTaskFromList
    - SCH_JOB_ELOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schGetTaskInJob(SSchJob *pJob, uint64_t taskId, SSchTask **pTask) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:863,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:869,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:888,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:890,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:905,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:908,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:919,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:923,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:946,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:946,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:854,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:857,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:877,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:887,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:893,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:914,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:918,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:920,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:926,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:940,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:856,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:876,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:898,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:898,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:892,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:901,1
    - Dst: schValidateAndBuildJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:905,1
    - Dst: qExecExplainBegin
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:908,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:911,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:915,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:929,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:866,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:868,1
    - Dst: nodesMakeAllocatorWeakRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:874,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:894,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:898,1
    - Dst: SCH_GET_TASK_CAPACITY
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:901,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:902,1
    - Dst: SCH_IS_EXPLAIN_JOB
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:907,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:911,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:925,1
    - Dst: SCH_JOB_TLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:933,1
    - Dst: schFreeJobImpl
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:942,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:950,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:925,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 95
    argCount: 2
    argNames:
    - pJobId
    - pReq
    argTypes:
    - int64_t*
    - SSchedulerReq*
    constantsTouched: []
    func_position:
      end: 951
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 951
    functionName: schInitJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - nodesMakeAllocatorWeakRef
    - atomic_add_fetch_32
    - taosArrayGetSize
    - taosHashInit
    - schFreeJobImpl
    - qTrace
    - taosAddRef
    - taosGetDefaultHashFunction
    - schValidateAndBuildJob
    - SCH_JOB_DLOG
    - SCH_JOB_ELOG
    - qDestroyQueryPlan
    - SCH_ERR_JRET
    - qInfo
    - qError
    - qExecExplainBegin
    - taosRemoveRef
    - SCH_GET_TASK_CAPACITY
    - tsem_init
    - SCH_JOB_TLOG
    - tstrerror
    - taosArrayDup
    - taosStrdup
    - SCH_IS_EXPLAIN_JOB
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schInitJob(int64_t *pJobId, SSchedulerReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:28,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:37,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:34,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:30,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:41,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:42,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:50,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 51
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 51
    functionName: schUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_JOB_DLOG
    - atomic_load_32
    - atomic_val_compare_exchange_32
    - tstrerror
    - atomic_store_32
    - NEED_CLIENT_HANDLE_ERROR
    linkageType: ''
    returnType: void
    signature: 'void schUpdateJobErrCode(SSchJob *pJob, int32_t errCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:584,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:590,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:592,1
    - Dst: schUpdateJobErrCode
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:588,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:592,1
    - Dst: schPostJobRes
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:595,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SSchJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 598
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 598
    functionName: schProcessOnJobFailure
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - schPostJobRes
    - SCH_JOB_DLOG
    - atomic_load_32
    - tstrerror
    - schUpdateJobErrCode
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnJobFailure(SSchJob *pJob, int32_t errCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SCH_LOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:689,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:699,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:694,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:695,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:700,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:701,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:702,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:705,1
    - Dst: SCH_UNLOCK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pJob
    - rsp
    argTypes:
    - SSchJob*
    - SQueryTableRsp*
    constantsTouched: []
    func_position:
      end: 713
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 713
    functionName: schSaveJobExecRes
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - SCH_ERR_RET
    - SCH_LOCK
    - taosArrayGetSize
    - taosArrayAddBatch
    - SCH_UNLOCK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schSaveJobExecRes(SSchJob *pJob, SQueryTableRsp *rsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:727,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:730,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:728,1
    - Dst: qExecStaticExplain
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:727,1
    - Dst: schSwitchJobStatus
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:728,1
    - Dst: SCH_JOB_ELOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:732,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:732,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:733,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:736,1
    - Dst: schLaunchLevelTasks
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SSchJob*
    constantsTouched: []
    func_position:
      end: 740
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 740
    functionName: schLaunchJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - schLaunchLevelTasks
    - SCH_JOB_ELOG
    - SCH_ERR_RET
    - qExecStaticExplain
    - schSwitchJobStatus
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schLaunchJob(SSchJob *pJob) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:955,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:957,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:960,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:960,1
    - Dst: schLaunchJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:957,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:961,1
    - Dst: qError
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:963,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:964,1
    - Dst: SCH_JOB_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:968,1
    - Dst: SCH_GET_JOB_STATUS_STR
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:968,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pJob
    - pReq
    argTypes:
    - SSchJob*
    - SSchedulerReq*
    constantsTouched: []
    func_position:
      end: 971
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 971
    functionName: schExecJob
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - SCH_GET_JOB_STATUS_STR
    - SCH_JOB_DLOG
    - qTrace
    - tsem_wait
    - SCH_ERR_RET
    - schLaunchJob
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schExecJob(SSchJob *pJob, SSchedulerReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schAcquireJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1249,1
    - Dst: SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1256,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1251,1
    - Dst: SCH_ERR_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1252,1
    - Dst: schJobNeedToStop
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1255,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1256,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1257,1
    - Dst: SCH_ERR_JRET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1260,1
    - Dst: schGetTaskInJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1260,1
    - Dst: SCH_LOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1262,1
    - Dst: schReleaseJob
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1275,1
    - Dst: SCH_UNLOCK_TASK
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1272,1
    - Dst: SCH_RET
      Src: /src/tdengine/source/libs/scheduler/src/schJob.c:1278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - job
    - task
    - qId
    - rId
    - tId
    argTypes:
    - SSchJob**
    - SSchTask**
    - uint64_t
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1279
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1279
    functionName: schProcessOnCbBegin
    functionSourceFile: /src/tdengine/source/libs/scheduler/src/schJob.c
    functionUses: []
    functionsReached:
    - jobTaskStatusStr
    - SCH_LOCK_TASK
    - SCH_UNLOCK_TASK
    - schAcquireJob
    - qWarn
    - SCH_ERR_JRET
    - SCH_ERR_RET
    - schGetTaskInJob
    - SCH_TASK_DLOG
    - schJobNeedToStop
    - schReleaseJob
    - SCH_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t schProcessOnCbBegin(SSchJob **job, SSchTask **task, uint64_t
      qId, int64_t rId, uint64_t tId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walker
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:40,1
    - Dst: dispatcher
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:46,1
    - Dst: walker
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:49,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - pNode
    - order
    - walker
    - pContext
    - dispatcher
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    - FNodeDispatcher
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: walkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walker
    - dispatcher
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes walkNode(SNode* pNode, ETraversalOrder order, FNodeWalker
      walker, void* pContext, FNodeDispatcher dispatcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: nodesWalkExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkExpr(SNode* pNode, FNodeWalker walker, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: walkExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walkNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes walkExpr(SNode* pNode, ETraversalOrder order, FNodeWalker
      walker, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pNode
    - walker
    - pContext
    argTypes:
    - SNode*
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: nodesWalkExprPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walkExpr
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkExprPostOrder(SNode* pNode, FNodeWalker walker, void*
      pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:241,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:250,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:244,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:247,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 254
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 254
    functionName: checkParamIsFunc
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: 'static void checkParamIsFunc(SFunctionNode* pFunc) '
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:283,1
    - Dst: checkParamIsFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:292,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:302,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:340,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:346,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:354,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:360,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:372,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:374,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:380,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:393,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:382,1
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:266,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:288,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:304,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:343,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:349,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:368,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:420,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:396,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:293,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:307,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:312,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:321,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:324,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:332,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:319,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:365,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:385,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:391,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:405,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:407,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:399,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:413,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:273,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:281,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:338,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:330,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:315,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:358,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:418,1
    - Dst: rewriter
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:429,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 187
    argCount: 4
    argNames:
    - pRawNode
    - order
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - ETraversalOrder
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 433
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 433
    functionName: rewriteExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - rewriteExprs
    - rewriter
    - rewriteExpr
    - checkParamIsFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteExpr(SNode** pRawNode, ETraversalOrder order,
      FNodeRewriter rewriter, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: nodesRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: void
    signature: 'void nodesRewriteExpr(SNode** pNode, FNodeRewriter rewriter, void*
      pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pNode
    - rewriter
    - pContext
    argTypes:
    - SNode**
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: nodesRewriteExprPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - rewriteExpr
    linkageType: ''
    returnType: void
    signature: 'void nodesRewriteExprPostOrder(SNode** pNode, FNodeRewriter rewriter,
      void* pContext) '
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:58,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:66,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:76,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:106,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:128,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:120,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:142,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:154,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:162,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:173,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:175,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:178,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:84,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:89,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:97,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:136,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:147,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:73,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:122,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:103,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:114,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:101,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:125,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:131,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:140,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:156,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:164,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:192,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:167,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:194,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:68,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:86,1
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:94,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:112,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:150,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:187,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:181,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 158
    argCount: 4
    argNames:
    - pNode
    - order
    - walker
    - pContext
    argTypes:
    - SNode*
    - ETraversalOrder
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 203
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 203
    functionName: dispatchExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - walkExpr
    - walkExprs
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes dispatchExpr(SNode* pNode, ETraversalOrder order,
      FNodeWalker walker, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:211,1
    - Dst: walkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pNodeList
    - order
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: walkExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    - walkExpr
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes walkExprs(SNodeList* pNodeList, ETraversalOrder order,
      FNodeWalker walker, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pNodeList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: nodesWalkExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walkExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkExprs(SNodeList* pNodeList, FNodeWalker walker, void*
      pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pList
    - walker
    - pContext
    argTypes:
    - SNodeList*
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: nodesWalkExprsPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - walkExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkExprsPostOrder(SNodeList* pList, FNodeWalker walker,
      void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_FOR_REWRITE
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:437,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pNodeList
    - order
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - ETraversalOrder
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: rewriteExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - rewriteExpr
    - FOREACH_FOR_REWRITE
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteExprs(SNodeList* pNodeList, ETraversalOrder
      order, FNodeRewriter rewriter, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: nodesRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - rewriteExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesRewriteExprs(SNodeList* pList, FNodeRewriter rewriter, void*
      pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pList
    - rewriter
    - pContext
    argTypes:
    - SNodeList*
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: nodesRewriteExprsPostOrder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - rewriteExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesRewriteExprsPostOrder(SNodeList* pList, FNodeRewriter rewriter,
      void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmtImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: nodesWalkSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmtImpl
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkSelectStmt(SSelectStmt* pSelect, ESqlClause clause,
      FNodeWalker walker, void* pContext) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:510,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:511,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:515,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:514,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:513,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:517,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:519,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:520,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:523,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:525,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:529,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:532,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:531,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 4
    argNames:
    - pSelect
    - clause
    - rewriter
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeRewriter
    - void*
    constantsTouched: []
    func_position:
      end: 538
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 538
    functionName: nodesRewriteSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesRewriteExpr
    - nodesRewriteExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesRewriteSelectStmt(SSelectStmt* pSelect, ESqlClause clause,
      FNodeRewriter rewriter, void* pContext) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:469,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:474,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:473,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:472,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:470,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:476,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:478,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:479,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:482,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:484,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:488,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:491,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c:490,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 21
    argCount: 4
    argNames:
    - pSelect
    - clause
    - walker
    - pContext
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - FNodeWalker
    - void*
    constantsTouched: []
    func_position:
      end: 497
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 497
    functionName: nodesWalkSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesTraverseFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    - nodesWalkExprs
    linkageType: ''
    returnType: void
    signature: 'void nodesWalkSelectStmtImpl(SSelectStmt* pSelect, ESqlClause clause,
      FNodeWalker walker, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:86,1
    - Dst: nodesListMatchExists
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pList
    - pSubList
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 93
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 93
    functionName: nodesListMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesListMatchExists
    linkageType: ''
    returnType: bool
    signature: 'bool nodesListMatch(const SNodeList* pList, const SNodeList* pSubList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SValueNode*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: valueNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'static bool valueNodeMatch(const SValueNode* pSub, const SValueNode*
      p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:114,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    constantsTouched: []
    func_position:
      end: 117
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 117
    functionName: logicConditionNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - MATCH_NODE_LIST_FIELD
    - MATCH_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool logicConditionNodeMatch(const SLogicConditionNode* pSub,
      const SLogicConditionNode* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:127,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: whenThenNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - MATCH_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool whenThenNodeMatch(const SWhenThenNode* pSub, const SWhenThenNode*
      p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:61,1
    - Dst: nodesMatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:62,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pList
    - pTarget
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: nodesListMatchExists
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesMatchNode
    linkageType: ''
    returnType: bool
    signature: 'bool nodesListMatchExists(const SNodeList* pList, const SNode* pTarget) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:107,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:109,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: operatorNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - MATCH_NODE_FIELD
    - MATCH_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool operatorNodeMatch(const SOperatorNode* pSub, const SOperatorNode*
      p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SColumnNode*
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: columnNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool columnNodeMatch(const SColumnNode* pSub, const SColumnNode*
      p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:120,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:122,1
    - Dst: MATCH_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 124
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 124
    functionName: functionNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - MATCH_NODE_LIST_FIELD
    - MATCH_STRING_FIELD
    - MATCH_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool functionNodeMatch(const SFunctionNode* pSub, const SFunctionNode*
      p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:133,1
    - Dst: MATCH_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:135,1
    - Dst: MATCH_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: caseWhenNodeMatch
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - MATCH_NODE_FIELD
    - MATCH_NODE_LIST_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool caseWhenNodeMatch(const SCaseWhenNode* pSub, const SCaseWhenNode*
      p) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:148,1
    - Dst: columnNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:154,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:148,1
    - Dst: valueNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:156,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:152,1
    - Dst: operatorNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:158,1
    - Dst: logicConditionNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:160,1
    - Dst: functionNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:162,1
    - Dst: whenThenNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:164,1
    - Dst: caseWhenNodeMatch
      Src: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c:166,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 20
    argCount: 2
    argNames:
    - pSub
    - p
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 180
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 180
    functionName: nodesMatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMatchFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - functionNodeMatch
    - caseWhenNodeMatch
    - columnNodeMatch
    - logicConditionNodeMatch
    - whenThenNodeMatch
    - operatorNodeMatch
    - valueNodeMatch
    linkageType: ''
    returnType: bool
    signature: 'bool nodesMatchNode(const SNode* pSub, const SNode* p) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:90,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:91,1
    - Dst: COMPARE_VARDATA_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:111,1
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:105,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SValueNode*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 121
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 121
    functionName: valueNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_VARDATA_FIELD
    - COMPARE_STRING_FIELD
    - COMPARE_SCALAR_FIELD
    - COMPARE_OBJECT_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool valueNodeEqual(const SValueNode* a, const SValueNode*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SDataType
    - SDataType
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: dataTypeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool dataTypeEqual(SDataType a, SDataType b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:131,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: logicConditionNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool logicConditionNodeEqual(const SLogicConditionNode* a,
      const SLogicConditionNode* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:153,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: whenThenNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool whenThenNodeEqual(const SWhenThenNode* a, const SWhenThenNode*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:166,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: groupingSetNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool groupingSetNodeEqual(const SGroupingSetNode* a, const
      SGroupingSetNode* b) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:64,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:64,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:70,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:69,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: nodeNodeListEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FORBOTH
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'static bool nodeNodeListEqual(const SNodeList* a, const SNodeList*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:124,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:125,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: operatorNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool operatorNodeEqual(const SOperatorNode* a, const SOperatorNode*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:82,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:84,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:85,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SColumnNode*
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: columnNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_STRING_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool columnNodeEqual(const SColumnNode* a, const SColumnNode*
      b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:137,1
    - Dst: COMPARE_STRING_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:138,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: functionNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_STRING_FIELD
    - COMPARE_SCALAR_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool functionNodeEqual(const SFunctionNode* a, const SFunctionNode*
      b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:159,1
    - Dst: COMPARE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:161,1
    - Dst: COMPARE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: caseWhenNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - COMPARE_NODE_LIST_FIELD
    - COMPARE_NODE_FIELD
    linkageType: ''
    returnType: bool
    signature: 'static bool caseWhenNodeEqual(const SCaseWhenNode* a, const SCaseWhenNode*
      b) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:180,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:184,1
    - Dst: valueNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:188,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:180,1
    - Dst: columnNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:186,1
    - Dst: operatorNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:190,1
    - Dst: logicConditionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:192,1
    - Dst: functionNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:194,1
    - Dst: whenThenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:196,1
    - Dst: caseWhenNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:198,1
    - Dst: groupingSetNodeEqual
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:200,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 21
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 213
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 213
    functionName: nodesEqualNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - operatorNodeEqual
    - caseWhenNodeEqual
    - groupingSetNodeEqual
    - logicConditionNodeEqual
    - functionNodeEqual
    - whenThenNodeEqual
    - columnNodeEqual
    - valueNodeEqual
    linkageType: ''
    returnType: bool
    signature: 'bool nodesEqualNode(const SNode* a, const SNode* b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:220,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:225,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c:226,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: nodeListNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesEqualFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'bool nodeListNodeEqual(const SNodeList* a, const SNode* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:101,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:103,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:105,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:102,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:104,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:106,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:107,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:108,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:109,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:110,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExprNode*
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: exprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t exprNodeCopy(const SExprNode* pSrc, SExprNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:363,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:364,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOrderByExprNode*
    - SOrderByExprNode*
    constantsTouched: []
    func_position:
      end: 367
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 367
    functionName: orderByExprNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t orderByExprNodeCopy(const SOrderByExprNode* pSrc, SOrderByExprNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:468,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:469,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowOffsetNode*
    - SWindowOffsetNode*
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: windowOffsetCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t windowOffsetCopy(const SWindowOffsetNode* pSrc, SWindowOffsetNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:781,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:783,1
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:782,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:785,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:784,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicSubplan*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: logicSubplanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD_EX
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicSubplanCopy(const SLogicSubplan* pSrc, SLogicSubplan*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:802,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:805,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:806,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:804,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:803,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:807,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:808,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanPhysiNode*
    - SScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 811
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 811
    functionName: physiScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiScanCopy(const SScanPhysiNode* pSrc, SScanPhysiNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:827,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STagScanPhysiNode*
    - STagScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: physiTagScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTagScanCopy(const STagScanPhysiNode* pSrc, STagScanPhysiNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:878,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:880,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:882,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:879,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:881,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:883,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalPhysiNode*
    - SIntervalPhysiNode*
    constantsTouched: []
    func_position:
      end: 886
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 886
    functionName: physiIntervalCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIntervalCopy(const SIntervalPhysiNode* pSrc, SIntervalPhysiNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:924,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:925,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:928,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:927,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:926,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:929,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:930,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:931,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:932,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SQueryInserterNode*
    - SQueryInserterNode*
    constantsTouched: []
    func_position:
      end: 934
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 934
    functionName: physiQueryInserterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiQueryInserterCopy(const SQueryInserterNode* pSrc,
      SQueryInserterNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:116,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:118,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:122,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:130,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:134,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:126,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:138,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:119,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:123,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:127,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:131,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:135,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:139,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:120,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:124,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:128,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:132,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:136,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:117,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:121,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:125,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:133,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:129,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnNode*
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: columnNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnNodeCopy(const SColumnNode* pSrc, SColumnNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:370,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLimitNode*
    - SLimitNode*
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: limitNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t limitNodeCopy(const SLimitNode* pSrc, SLimitNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:475,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:477,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:478,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualTableNode*
    - SVirtualTableNode*
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: virtualTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t virtualTableNodeCopy(const SVirtualTableNode * pSrc,
      SVirtualTableNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:791,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:793,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:795,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:792,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:794,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:796,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPhysiNode*
    - SPhysiNode*
    constantsTouched: []
    func_position:
      end: 799
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 799
    functionName: physiNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - CLONE_NODE_FIELD_EX
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiNodeCopy(const SPhysiNode* pSrc, SPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:814,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:815,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:817,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:818,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:816,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:819,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:820,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:821,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanPhysiNode*
    - SVirtualScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 824
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 824
    functionName: physiVirtualTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiVirtualTableScanCopy(const SVirtualScanPhysiNode*
      pSrc, SVirtualScanPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:834,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:836,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:838,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:842,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:846,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:850,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:835,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:837,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:839,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:843,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:847,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:851,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:840,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:844,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:848,1
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:833,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:841,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:849,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableScanPhysiNode*
    - STableScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: physiTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTableScanCopy(const STableScanPhysiNode* pSrc,
      STableScanPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:889,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:890,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSessionWinodwPhysiNode*
    - SSessionWinodwPhysiNode*
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: physiSessionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSessionCopy(const SSessionWinodwPhysiNode* pSrc,
      SSessionWinodwPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1001,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1005,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1003,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1002,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1004,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1006,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1007,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1008,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1009,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSetOperator*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1013
    functionName: setOperatorCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_CHAR_ARRAY_FIELD
    - CLONE_NODE_LIST_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setOperatorCopy(const SSetOperator* pSrc, SSetOperator*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:977,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:979,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:981,1
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:985,1
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:986,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:978,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:982,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:989,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:991,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:993,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:995,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:976,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:983,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:988,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:980,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:984,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:987,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:992,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:994,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:990,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSelectStmt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 998
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 998
    functionName: selectStmtCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD_EX
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t selectStmtCopy(const SSelectStmt* pSrc, SSelectStmt*
      pDst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:286,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:299,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:291,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:304,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:307,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 312
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 312
    functionName: functParamClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayPush
    - taosArrayDestroyEx
    - memcpy
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray * functParamClone(const SArray* pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:376,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:377,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SStateWindowNode*
    - SStateWindowNode*
    constantsTouched: []
    func_position:
      end: 380
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 380
    functionName: stateWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stateWindowNodeCopy(const SStateWindowNode* pSrc, SStateWindowNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:391,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:393,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCountWindowNode*
    - SCountWindowNode*
    constantsTouched: []
    func_position:
      end: 395
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 395
    functionName: countWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t countWindowNodeCopy(const SCountWindowNode* pSrc, SCountWindowNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:405,1
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:406,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSessionWindowNode*
    - SSessionWindowNode*
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: sessionWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD_EX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sessionWindowNodeCopy(const SSessionWindowNode* pSrc,
      SSessionWindowNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:421,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SNodeListNode*
    - SNodeListNode*
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: nodeListNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeListNodeCopy(const SNodeListNode* pSrc, SNodeListNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:435,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:437,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWhenThenNode*
    - SWhenThenNode*
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: whenThenNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t whenThenNodeCopy(const SWhenThenNode* pSrc, SWhenThenNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:623,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:625,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:627,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:624,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:626,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:628,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:629,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:630,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:631,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:632,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:634,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:635,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:633,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVnodeModifyLogicNode*
    - SVnodeModifyLogicNode*
    constantsTouched: []
    func_position:
      end: 638
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 638
    functionName: logicVnodeModifCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicVnodeModifCopy(const SVnodeModifyLogicNode* pSrc,
      SVnodeModifyLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:649,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:653,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:650,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:652,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:651,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:654,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:655,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:656,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:657,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:658,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:659,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SMergeLogicNode*
    - SMergeLogicNode*
    constantsTouched: []
    func_position:
      end: 662
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 662
    functionName: logicMergeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicMergeCopy(const SMergeLogicNode* pSrc, SMergeLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:316,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:317,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:319,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:320,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SRealTableNode*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: realTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t realTableNodeCopy(const SRealTableNode* pSrc, SRealTableNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:383,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:386,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:384,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SEventWindowNode*
    - SEventWindowNode*
    constantsTouched: []
    func_position:
      end: 388
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 388
    functionName: eventWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eventWindowNodeCopy(const SEventWindowNode* pSrc, SEventWindowNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:398,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:400,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAnomalyWindowNode*
    - SAnomalyWindowNode*
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: anomalyWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyWindowNodeCopy(const SAnomalyWindowNode* pSrc,
      SAnomalyWindowNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:411,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:412,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:415,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:413,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:414,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIntervalWindowNode*
    - SIntervalWindowNode*
    constantsTouched: []
    func_position:
      end: 418
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 418
    functionName: intervalWindowNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t intervalWindowNodeCopy(const SIntervalWindowNode* pSrc,
      SIntervalWindowNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:427,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:430,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:429,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillNode*
    - SFillNode*
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: fillNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillNodeCopy(const SFillNode* pSrc, SFillNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:442,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:443,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:445,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SCaseWhenNode*
    - SCaseWhenNode*
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: caseWhenNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - CLONE_NODE_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t caseWhenNodeCopy(const SCaseWhenNode* pSrc, SCaseWhenNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:641,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:642,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:644,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SExchangeLogicNode*
    - SExchangeLogicNode*
    constantsTouched: []
    func_position:
      end: 646
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 646
    functionName: logicExchangeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicExchangeCopy(const SExchangeLogicNode* pSrc, SExchangeLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:666,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:670,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:672,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:681,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:677,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:685,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:689,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:667,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:674,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:678,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:682,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:686,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:690,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:668,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:673,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:683,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:675,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:679,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:687,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:691,1
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:665,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:669,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:671,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:680,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:676,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:684,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowLogicNode*
    - SWindowLogicNode*
    constantsTouched: []
    func_position:
      end: 693
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 693
    functionName: logicWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicWindowCopy(const SWindowLogicNode* pSrc, SWindowLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:708,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:711,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:709,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:710,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSortLogicNode*
    - SSortLogicNode*
    constantsTouched: []
    func_position:
      end: 714
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 714
    functionName: logicSortCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicSortCopy(const SSortLogicNode* pSrc, SSortLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:865,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:867,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:869,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:866,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:868,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:870,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:871,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:872,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SWindowPhysiNode*
    - SWindowPhysiNode*
    constantsTouched: []
    func_position:
      end: 875
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 875
    functionName: physiWindowCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - CLONE_NODE_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiWindowCopy(const SWindowPhysiNode* pSrc, SWindowPhysiNode*
      pDst) '
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1021,1
    - Dst: realTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1046,1
    - Dst: stateWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1064,1
    - Dst: orderByExprNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1058,1
    - Dst: sessionWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1076,1
    - Dst: slotDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1094,1
    - Dst: virtualTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1115,1
    - Dst: logicJoinCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1127,1
    - Dst: logicProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1133,1
    - Dst: logicWindowCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1145,1
    - Dst: logicGroupCacheCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1166,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1231,1
    - Dst: physiDispatchCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1216,1
    - Dst: logicSubplanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1175,1
    - Dst: physiSysTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1186,1
    - Dst: logicPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1154,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1026,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1021,1
    - Dst: columnNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1028,1
    - Dst: valueNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1034,1
    - Dst: tempTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1049,1
    - Dst: eventWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1067,1
    - Dst: limitNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1061,1
    - Dst: intervalWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1079,1
    - Dst: fillNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1085,1
    - Dst: downstreamSourceCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1097,1
    - Dst: physiIntervalCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1197,1
    - Dst: physiProjectCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1213,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1230,1
    - Dst: logicForecastFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1163,1
    - Dst: physiSessionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1203,1
    - Dst: physiTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1183,1
    - Dst: logicConditionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1040,1
    - Dst: joinTableNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1052,1
    - Dst: countWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1070,1
    - Dst: nodeListNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1082,1
    - Dst: targetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1088,1
    - Dst: whenThenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1103,1
    - Dst: hintNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1109,1
    - Dst: selectStmtCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1121,1
    - Dst: logicAggCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1130,1
    - Dst: logicExchangeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1139,1
    - Dst: logicSortCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1151,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1231,1
    - Dst: physiVirtualTableScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1210,1
    - Dst: logicInterpFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1160,1
    - Dst: setOperatorCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1118,1
    - Dst: columnDefNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1031,1
    - Dst: operatorNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1037,1
    - Dst: functionNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1043,1
    - Dst: groupingSetNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1055,1
    - Dst: anomalyWindowNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1073,1
    - Dst: dataBlockDescCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1091,1
    - Dst: caseWhenNodeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1106,1
    - Dst: windowOffsetCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1112,1
    - Dst: logicScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1124,1
    - Dst: logicMergeCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1142,1
    - Dst: logicFillCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1148,1
    - Dst: logicDynQueryCtrlCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1169,1
    - Dst: physiQueryInserterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1219,1
    - Dst: physiPartitionCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1207,1
    - Dst: logicIndefRowsFuncCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1157,1
    - Dst: physiTagScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1178,1
    - Dst: physiDeleterCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1222,1
    - Dst: logicVirtualScanCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1172,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1231,1
    - Dst: logicVnodeModifCopy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1136,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 138
    argCount: 2
    argNames:
    - pNode
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1236
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1236
    functionName: nodesCloneNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - logicConditionNodeCopy
    - logicVnodeModifCopy
    - realTableNodeCopy
    - physiSessionCopy
    - dataBlockDescCopy
    - physiQueryInserterCopy
    - intervalWindowNodeCopy
    - physiProjectCopy
    - groupingSetNodeCopy
    - physiPartitionCopy
    - logicScanCopy
    - physiSysTableScanCopy
    - nodeListNodeCopy
    - nodeType
    - eventWindowNodeCopy
    - anomalyWindowNodeCopy
    - physiTableScanCopy
    - joinTableNodeCopy
    - sessionWindowNodeCopy
    - logicWindowCopy
    - logicExchangeCopy
    - targetNodeCopy
    - stateWindowNodeCopy
    - countWindowNodeCopy
    - orderByExprNodeCopy
    - limitNodeCopy
    - columnDefNodeCopy
    - slotDescCopy
    - logicAggCopy
    - nodesError
    - logicSortCopy
    - physiDeleterCopy
    - downstreamSourceCopy
    - logicPartitionCopy
    - physiTagScanCopy
    - logicVirtualScanCopy
    - logicProjectCopy
    - logicFillCopy
    - whenThenNodeCopy
    - logicDynQueryCtrlCopy
    - nodesDestroyNode
    - nodesNodeName
    - logicInterpFuncCopy
    - caseWhenNodeCopy
    - logicJoinCopy
    - operatorNodeCopy
    - nodesMakeNode
    - logicSubplanCopy
    - valueNodeCopy
    - tempTableNodeCopy
    - hintNodeCopy
    - virtualTableNodeCopy
    - fillNodeCopy
    - setOperatorCopy
    - logicIndefRowsFuncCopy
    - logicForecastFuncCopy
    - logicGroupCacheCopy
    - physiVirtualTableScanCopy
    - logicMergeCopy
    - physiDispatchCopy
    - windowOffsetCopy
    - columnNodeCopy
    - functionNodeCopy
    - physiIntervalCopy
    - selectStmtCopy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCloneNode(const SNode* pNode, SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:947,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:951,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:950,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:949,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:948,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataBlockDescNode*
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 953
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 953
    functionName: dataBlockDescCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataBlockDescCopy(const SDataBlockDescNode* pSrc, SDataBlockDescNode*
      pDst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SHintNode*
    - SHintNode*
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: copyHintValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyHintValue(const SHintNode* pSrc, SHintNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:483,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:486,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:487,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:484,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:485,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:488,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:489,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:490,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:491,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:492,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:493,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:496,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:497,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:494,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: logicNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicNodeCopy(const SLogicNode* pSrc, SLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:599,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:603,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:601,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:600,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:602,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:604,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:605,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:606,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:607,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:608,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SAggLogicNode*
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 611
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 611
    functionName: logicAggCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicAggCopy(const SAggLogicNode* pSrc, SAggLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:717,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:719,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:718,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:720,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:721,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:722,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:723,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionLogicNode*
    - SPartitionLogicNode*
    constantsTouched: []
    func_position:
      end: 726
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 726
    functionName: logicPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - CLONE_NODE_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicPartitionCopy(const SPartitionLogicNode* pSrc,
      SPartitionLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:735,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:737,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:739,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:736,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:738,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:740,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:741,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:742,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:743,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:744,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:745,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SInterpFuncLogicNode*
    - SInterpFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 748
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 748
    functionName: logicInterpFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicInterpFuncCopy(const SInterpFuncLogicNode* pSrc,
      SInterpFuncLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:895,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:898,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:896,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:897,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:899,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SPartitionPhysiNode*
    - SPartitionPhysiNode*
    constantsTouched: []
    func_position:
      end: 902
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 902
    functionName: physiPartitionCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiPartitionCopy(const SPartitionPhysiNode* pSrc,
      SPartitionPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLONE_NODE_FIELD_EX
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataSinkNode*
    - SDataSinkNode*
    constantsTouched: []
    func_position:
      end: 916
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 916
    functionName: dataSinkNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD_EX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataSinkNodeCopy(const SDataSinkNode* pSrc, SDataSinkNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:462,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:463,1
    - Dst: copyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SHintNode*
    - SHintNode*
    constantsTouched: []
    func_position:
      end: 465
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 465
    functionName: hintNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - copyHintValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hintNodeCopy(const SHintNode* pSrc, SHintNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:505,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:513,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:517,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:521,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:527,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:531,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:535,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:539,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:541,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:537,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:543,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:532,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:506,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:508,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:510,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:511,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:514,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:518,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:512,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:522,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:524,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:528,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:503,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:507,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:509,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:519,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:515,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:523,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:525,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:529,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:533,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:536,1
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:502,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:504,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:516,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:520,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:526,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:530,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:534,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:538,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:540,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:544,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 45
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SScanLogicNode*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 546
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 546
    functionName: logicScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicScanCopy(const SScanLogicNode* pSrc, SScanLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:614,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:616,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:618,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:615,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: logicProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicProjectCopy(const SProjectLogicNode* pSrc, SProjectLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:729,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SIndefRowsFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: logicIndefRowsFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicIndefRowsFuncCopy(const SIndefRowsFuncLogicNode*
      pSrc, SIndefRowsFuncLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:751,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SForecastFuncLogicNode*
    - SForecastFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: logicForecastFuncCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicForecastFuncCopy(const SForecastFuncLogicNode*
      pSrc, SForecastFuncLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:905,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:906,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:908,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:909,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SProjectPhysiNode*
    - SProjectPhysiNode*
    constantsTouched: []
    func_position:
      end: 911
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 911
    functionName: physiProjectCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiProjectCopy(const SProjectPhysiNode* pSrc, SProjectPhysiNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:696,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:699,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:698,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:700,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:697,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:701,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:702,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFillLogicNode*
    - SFillLogicNode*
    constantsTouched: []
    func_position:
      end: 705
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 705
    functionName: logicFillCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicFillCopy(const SFillLogicNode* pSrc, SFillLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDispatcherNode*
    - SDataDispatcherNode*
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: physiDispatchCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDispatchCopy(const SDataDispatcherNode* pSrc,
      SDataDispatcherNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:856,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:858,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:859,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:860,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSystemTableScanPhysiNode*
    - SSystemTableScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: physiSysTableScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSysTableScanCopy(const SSystemTableScanPhysiNode*
      pSrc, SSystemTableScanPhysiNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:223,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:224,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:226,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SOperatorNode*
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 228
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 228
    functionName: operatorNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t operatorNodeCopy(const SOperatorNode* pSrc, SOperatorNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:144,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:145,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:147,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColumnDefNode*
    - SColumnDefNode*
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: columnDefNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnDefNodeCopy(const SColumnDefNode* pSrc, SColumnDefNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:238,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:240,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:242,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:239,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:241,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:243,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:244,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:245,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:246,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:247,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 250
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 250
    functionName: functionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t functionNodeCopy(const SFunctionNode* pSrc, SFunctionNode*
      pDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:264,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:269,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: tableMetaClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - TABLE_META_SIZE
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: STableMeta*
    signature: 'static STableMeta * tableMetaClone(const STableMeta* pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:325,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STempTableNode*
    - STempTableNode*
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: tempTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tempTableNodeCopy(const STempTableNode* pSrc, STempTableNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:350,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:351,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STargetNode*
    - STargetNode*
    constantsTouched: []
    func_position:
      end: 354
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 354
    functionName: targetNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t targetNodeCopy(const STargetNode* pSrc, STargetNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:549,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:553,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:550,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:551,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:552,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:554,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:555,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:556,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:557,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVirtualScanLogicNode*
    - SVirtualScanLogicNode*
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: logicVirtualScanCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicVirtualScanCopy(const SVirtualScanLogicNode *
      pSrc, SVirtualScanLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:757,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:761,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:758,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:760,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:759,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupCacheLogicNode*
    - SGroupCacheLogicNode*
    constantsTouched: []
    func_position:
      end: 764
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 764
    functionName: logicGroupCacheCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicGroupCacheCopy(const SGroupCacheLogicNode* pSrc,
      SGroupCacheLogicNode* pDst) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: COPY_CHAR_POINT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:153,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:157,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:212,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:154,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:158,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:166,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:190,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:173,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:194,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:207,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:155,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:159,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:210,1
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:152,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:156,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:160,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:189,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:183,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:199,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:177,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:203,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:198,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 38
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SValueNode*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 220
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 220
    functionName: valueNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosMemoryCalloc
    - COPY_SCALAR_FIELD
    - COPY_CHAR_POINT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - getJsonValueLen
    - taosMemCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t valueNodeCopy(const SValueNode* pSrc, SValueNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:231,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:232,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SLogicConditionNode*
    - SLogicConditionNode*
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: logicConditionNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_NODE_LIST_FIELD
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicConditionNodeCopy(const SLogicConditionNode* pSrc,
      SLogicConditionNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:253,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:255,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:257,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:254,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:256,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:258,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableNode*
    - STableNode*
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: tableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableNodeCopy(const STableNode* pSrc, STableNode* pDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:274,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:275,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SVgroupsInfo*
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: vgroupsInfoClone
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - VGROUPS_INFO_SIZE
    linkageType: ''
    returnType: SVgroupsInfo*
    signature: 'static SVgroupsInfo * vgroupsInfoClone(const SVgroupsInfo* pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:331,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:333,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:335,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:332,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:334,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:336,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:337,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:338,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:339,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:340,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:343,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:344,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinTableNode*
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: joinTableNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t joinTableNodeCopy(const SJoinTableNode* pSrc, SJoinTableNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:357,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SGroupingSetNode*
    - SGroupingSetNode*
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: groupingSetNodeCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupingSetNodeCopy(const SGroupingSetNode* pSrc, SGroupingSetNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:564,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:568,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:572,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:578,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:574,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:582,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:586,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:590,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:565,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:569,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:575,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:579,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:583,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:587,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:591,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:594,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:566,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:570,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:576,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:580,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:584,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:588,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:592,1
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:563,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:567,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:571,1
    - Dst: CLONE_NODE_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:573,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:577,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:581,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:585,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:589,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SJoinLogicNode*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 596
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 596
    functionName: logicJoinCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_FIELD
    - CLONE_NODE_LIST_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicJoinCopy(const SJoinLogicNode* pSrc, SJoinLogicNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:767,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:770,1
    - Dst: CLONE_NODE_LIST_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:771,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:768,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:769,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:772,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:773,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:774,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:775,1
    - Dst: CLONE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlLogicNode*
    constantsTouched: []
    func_position:
      end: 778
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 778
    functionName: logicDynQueryCtrlCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - CLONE_OBJECT_FIELD
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    - COPY_BASE_OBJECT_FIELD
    - CLONE_NODE_LIST_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicDynQueryCtrlCopy(const SDynQueryCtrlLogicNode*
      pSrc, SDynQueryCtrlLogicNode* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_BASE_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:937,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:938,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:941,1
    - Dst: COPY_CHAR_ARRAY_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:940,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:939,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:942,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDataDeleterNode*
    - SDataDeleterNode*
    constantsTouched: []
    func_position:
      end: 944
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 944
    functionName: physiDeleterCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_BASE_OBJECT_FIELD
    - COPY_OBJECT_FIELD
    - COPY_CHAR_ARRAY_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDeleterCopy(const SDataDeleterNode* pSrc, SDataDeleterNode*
      pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:956,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:959,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:960,1
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:957,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSlotDescNode*
    - SSlotDescNode*
    constantsTouched: []
    func_position:
      end: 962
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 962
    functionName: slotDescCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t slotDescCopy(const SSlotDescNode* pSrc, SSlotDescNode*
      pDst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1245,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1249,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1247,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1252,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:1254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pList
    - ppList
    argTypes:
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1260
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1260
    functionName: nodesCloneList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCloneList(const SNodeList* pList, SNodeList** ppList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_OBJECT_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:965,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:966,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:969,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:968,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:967,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:970,1
    - Dst: COPY_SCALAR_FIELD
      Src: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c:971,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDownstreamSourceNode*
    - SDownstreamSourceNode*
    constantsTouched: []
    func_position:
      end: 973
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 973
    functionName: downstreamSourceCopy
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCloneFuncs.c
    functionUses: []
    functionsReached:
    - COPY_SCALAR_FIELD
    - COPY_OBJECT_FIELD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t downstreamSourceCopy(const SDownstreamSourceNode* pSrc,
      SDownstreamSourceNode* pDst) '
  - BBCount: 33
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 91
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 91
    functionName: operatorTypeStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *operatorTypeStr(EOperatorType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ELogicConditionType
    constantsTouched: []
    func_position:
      end: 105
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 105
    functionName: logicConditionTypeStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *logicConditionTypeStr(ELogicConditionType type) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: operatorTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:163,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:160,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:163,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:166,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:184,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:199,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:201,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:203,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:207,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:219,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:122,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:120,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:135,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:141,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:178,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:184,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:188,1
    - Dst: NODES_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:242,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:229,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:221,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:241,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:224,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:116,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:126,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:138,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:158,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:148,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:160,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:166,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:180,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:229,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:241,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:128,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:143,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:152,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:169,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:182,1
    - Dst: logicConditionTypeStr
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:182,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:197,1
    - Dst: NODES_ERR_RET
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:203,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:217,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:233,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 147
    argCount: 5
    argNames:
    - pNode
    - buf
    - bufSize
    - len
    - longFormat
    argTypes:
    - SNode*
    - char*
    - int32_t
    - int32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 243
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 243
    functionName: nodesNodeToSQLFormat
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: []
    functionsReached:
    - nodesGetStrValueFromNode
    - taosMemoryFree
    - logicConditionTypeStr
    - operatorTypeStr
    - nodesNodeToSQL
    - nodesNodeName
    - strlen
    - NODES_RET
    - FOREACH
    - NODES_ERR_RET
    - tsnprintf
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesNodeToSQLFormat(SNode *pNode, char *buf, int32_t bufSize,
      int32_t *len, bool longFormat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pNode
    - buf
    - bufSize
    - len
    argTypes:
    - SNode*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: nodesNodeToSQL
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesToSQLFuncs.c
    functionUses: []
    functionsReached:
    - nodesNodeToSQLFormat
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesNodeToSQL(SNode *pNode, char *buf, int32_t bufSize, int32_t
      *len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:247,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:257,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:261,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:260,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - pEncoder
    - type
    - func
    - pObj
    argTypes:
    - STlvEncoder*
    - int16_t
    - FToMsg
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 265
    functionName: tlvEncodeObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - func
    - taosMemoryRealloc
    - TMAX
    - htons
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeObj(STlvEncoder* pEncoder, int16_t type, FToMsg
      func, const void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1519,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1525,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1522,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1533
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1533
    functionName: msgToTargetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToTargetNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2002,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2004,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2008
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2008
    functionName: windowOffsetNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t windowOffsetNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2632,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2635,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2641,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2644,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2638,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2647,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2627
    functionDepth: 0
    functionLinenumber: 2627
    functionLinenumberEnd: 2655
    functionName: msgToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI32
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiSysTableScanNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3135,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3140,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3143,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3146,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3137,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3153
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3153
    functionName: physiExchangeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiExchangeNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3237,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3243,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3249,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3246,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3240,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3252,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3255,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3258,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3261,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3264,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3272
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3272
    functionName: msgToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiMergeNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3678,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3686,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3680,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3690
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3690
    functionName: physiEventWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiEventWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4634,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4645,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4636,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4639,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4649
      start: 4631
    functionDepth: 0
    functionLinenumber: 4631
    functionLinenumberEnd: 4649
    functionName: subplanToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:274,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:279,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 6
    argNames:
    - pEncoder
    - type
    - func
    - pArray
    - itemSize
    - num
    argTypes:
    - STlvEncoder*
    - int16_t
    - FToMsg
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 283
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 283
    functionName: tlvEncodeObjArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - htons
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeObjArray(STlvEncoder* pEncoder, int16_t type,
      FToMsg func, const void* pArray, int32_t itemSize, int32_t num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2015,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2021,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2029
      start: 2010
    functionDepth: 0
    functionLinenumber: 2010
    functionLinenumberEnd: 2029
    functionName: msgToWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToWindowOffsetNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3160,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3166,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3169,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3163,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3172,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3175,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3178,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3186
      start: 3155
    functionDepth: 0
    functionLinenumber: 3155
    functionLinenumberEnd: 3186
    functionName: msgToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiExchangeNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3697,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3706,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3703,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3700,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3709,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3717
      start: 3692
    functionDepth: 0
    functionLinenumber: 3692
    functionLinenumberEnd: 3717
    functionName: msgToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiEventWindowNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4239,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4244,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4247,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4250,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4241,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4253,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4256,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4259,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4262,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4266
      start: 4236
    functionDepth: 0
    functionLinenumber: 4236
    functionLinenumberEnd: 4266
    functionName: physiDeleteNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI8
    - tlvEncodeCStr
    - tlvEncodeObj
    - tlvEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDeleteNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4397,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4406,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4404,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4409,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4399,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4412,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4415,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4418,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4421,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4426,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4437,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4440,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4428,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4431,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4434,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4449
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4449
    functionName: physiDynQueryCtrlNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeU64
    - tlvEncodeEnum
    - tlvEncodeCStr
    - tlvEncodeBool
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDynQueryCtrlNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: msgToSubplanIdInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4654,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4656,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4665,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4662,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4659,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4668,1
    - Dst: msgToQueryNodeAddrInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4671,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4674,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4677,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4680,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4689,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4683,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4686,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4692
      start: 4651
    functionDepth: 0
    functionLinenumber: 4651
    functionLinenumberEnd: 4692
    functionName: msgToSubplanInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueEnum
    - msgToSubplanIdInline
    - tlvDecodeValueBool
    - tlvDecodeValueCStr
    - msgToQueryNodeAddrInline
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSubplanInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - pMsg
    - pLen
    argTypes:
    - STlvEncoder*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: endTlvEncode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void endTlvEncode(STlvEncoder* pEncoder, char** pMsg, int32_t*
      pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:177,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: tlvEncodeValueU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htons
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueU16(STlvEncoder* pEncoder, uint16_t value) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3397,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3400,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3403,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3409,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3406,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3412,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3415,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3418,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3421,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3424,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3430,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3427,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3438
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3438
    functionName: msgToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeBool
    - tlvDecodeI64
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiWindowNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3654,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3657,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3663,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3660,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3671
      start: 3649
    functionDepth: 0
    functionLinenumber: 3649
    functionLinenumberEnd: 3671
    functionName: msgToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiStateWindowNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3836,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3848,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3842,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3845,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3839,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3851,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3854,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3862
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3862
    functionName: msgToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiPartitionNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4699,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4708,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4702,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4705,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4711,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4714,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4722
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4722
    functionName: msgToSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSubplan(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:95,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:96,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:105,1
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:103,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pEncoder
    - type
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - int16_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 109
    functionName: tlvEncodeImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryRealloc
    - TMAX
    - memcpy
    - htons
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeImpl(STlvEncoder* pEncoder, int16_t type,
      const void* pValue, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:182,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: tlvEncodeU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeU64(STlvEncoder* pEncoder, int16_t type, uint64_t
      value) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2218,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2225,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2221,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2233,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2229,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2237,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2241,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2245,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2253
    functionName: physiVirtualTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    - tlvEncodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiVirtualTableScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4545,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4547,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4554
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4554
    functionName: msgToSubplanIdInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - tlvDecodeValueU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSubplanIdInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:209,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: tlvEncodeValueEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueEnum(STlvEncoder* pEncoder, int32_t value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1739,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1741,1
    - Dst: tlvEncodeObjArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1748
    functionName: epSetToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI8
    - tlvEncodeObjArray
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epSetToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1814,1
    - Dst: msgToEpSetInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1820
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1820
    functionName: msgToQueryNodeAddrInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - msgToEpSetInline
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToQueryNodeAddrInline(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1898,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1901,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1909
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1909
    functionName: msgToDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDownstreamSourceNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2133,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2141,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2144,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2138,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2135,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2147,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2150,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2153,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2160
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2160
    functionName: physiScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeI8
    - tlvEncodeObj
    - tlvEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiScanNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4093
      start: 4090
    functionDepth: 0
    functionLinenumber: 4090
    functionLinenumberEnd: 4093
    functionName: physicDataSinkNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physicDataSinkNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4273,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4282,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4279,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4285,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4276,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4288,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4291,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4294,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4297,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4300,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4308
      start: 4268
    functionDepth: 0
    functionLinenumber: 4268
    functionLinenumberEnd: 4308
    functionName: msgToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeCStr
    - tlvDecodeU64
    - tlvForEach
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiDeleteNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msgToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    constantsTouched: []
    func_position:
      end: 5279
      start: 5276
    functionDepth: 0
    functionLinenumber: 5276
    functionLinenumberEnd: 5279
    functionName: msgToNodeListFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToNodeListFromTlv(STlv* pTlv, void** pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: tlvEncodeBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeBool(STlvEncoder* pEncoder, int16_t type,
      int8_t value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1753,1
    - Dst: tlvDecodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1761
    functionName: msgToEpSetInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI8
    - tlvDecodeValueArray
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToEpSetInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1827,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1833,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1839
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1839
    functionName: msgToQueryNodeAddr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToQueryNodeAddr(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2167,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2173,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2179,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2176,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2170,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2182,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2185,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2188,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2191,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2201
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2201
    functionName: msgToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeBool
    - tlvDecodeU64
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiScanNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2346,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2354,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2351,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2357,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2348,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2364
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2364
    functionName: physiLastRowScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiLastRowScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4100,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4111
      start: 4095
    functionDepth: 0
    functionLinenumber: 4095
    functionLinenumberEnd: 4111
    functionName: msgToPhysicDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysicDataSinkNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5180,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5189,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5183,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 5192
      start: 5176
    functionDepth: 0
    functionLinenumber: 5176
    functionLinenumberEnd: 5192
    functionName: SArrayToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t SArrayToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initTlvEncoder
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5288,1
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5290,1
    - Dst: endTlvEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5293,1
    - Dst: clearTlvEncoder
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5295,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pNode
    - pMsg
    - pLen
    argTypes:
    - SNode*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 5299
      start: 5281
    functionDepth: 0
    functionLinenumber: 5281
    functionLinenumberEnd: 5299
    functionName: nodesNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - endTlvEncode
    - initTlvEncoder
    - clearTlvEncoder
    - nodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesNodeToMsg(const SNode* pNode, char** pMsg, int32_t* pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int8_t
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: tlvEncodeValueBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueBool(STlvEncoder* pEncoder, int8_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pDecoder
    argTypes:
    - STlvDecoder*
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tlvDecodeEnd
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tlvDecodeEnd(STlvDecoder* pDecoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - size
    argTypes:
    - STlv*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 508
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 508
    functionName: tlvDecodeCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeCStr(STlv* pTlv, char* pValue, int32_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1672,1
    - Dst: tlvEncodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1674,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1678
    functionName: epInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueCStr
    - tlvEncodeValueU16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epInlineToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4153,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4158,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4161,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4155,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4164,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4167,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4170,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4173,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4180
      start: 4150
    functionDepth: 0
    functionLinenumber: 4150
    functionLinenumberEnd: 4180
    functionName: physiQueryInsertNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeU64
    - tlvEncodeI8
    - tlvEncodeCStr
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiQueryInsertNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pEncoder
    - type
    - pValue
    argTypes:
    - STlvEncoder*
    - int16_t
    - char*
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: tlvEncodeCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeCStr(STlvEncoder* pEncoder, int16_t type,
      const char* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - len
    argTypes:
    - STlv*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: tlvDecodeImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeImpl(STlv* pTlv, void* pValue, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:512,1
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - char*
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: tlvDecodeValueCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueCStr(STlvDecoder* pDecoder, char* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1336,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1342
    functionName: limitNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t limitNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1683,1
    - Dst: tlvEncodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1689
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1689
    functionName: epToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeU16
    - tlvEncodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2047,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2058,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2049,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2052,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2055,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2061,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2064,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2067,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2070,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2074
    functionName: physiNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3534,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3536,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3542,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3545,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3539,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3548,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3551,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3554,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3558
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3558
    functionName: physiFillNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiFillNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3811,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3816,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3819,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3822,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3813,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3829
      start: 3808
    functionDepth: 0
    functionLinenumber: 3808
    functionLinenumberEnd: 3829
    functionName: physiPartitionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiPartitionNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4187,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4193,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4199,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4196,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4190,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4202,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4205,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4208,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4211,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4214,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4222
      start: 4182
    functionDepth: 0
    functionLinenumber: 4182
    functionLinenumberEnd: 4222
    functionName: msgToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeCStr
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvDecodeU64
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiQueryInsertNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:187,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 189
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 189
    functionName: tlvEncodeValueU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueU64(STlvEncoder* pEncoder, uint64_t value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:408,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 413
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 413
    functionName: tlvDecodeValueU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    - ntohs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueU16(STlvDecoder* pDecoder, uint16_t*
      pValue) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:891,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:898,1
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:904,1
    - Dst: tlvEncodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:908,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:914,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:914,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:917,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:917,1
    - Dst: tlvEncodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:920,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:923,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 20
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 932
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 932
    functionName: datumToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - tlvEncodeU64
    - tlvEncodeDouble
    - tlvEncodeBool
    - tlvEncodeBinary
    - getJsonValueLen
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t datumToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1246,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1249,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1255,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1258,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1252,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1261,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1264,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1267,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1270,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1273,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1282,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1279,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1276,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1289
    functionName: msgToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToFunctionNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1349,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1352,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1363
    functionName: msgToLimitNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToLimitNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2502,1
    - Dst: tlvDecodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2513,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2504,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2519,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2528,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2540,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2534,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2555,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2546,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2561,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2507,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2510,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2516,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2522,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2525,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2537,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2531,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2549,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2552,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2543,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2558,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2564
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2564
    functionName: msgToPhysiTableScanNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI8
    - tlvDecodeValueBool
    - tlvDecodeValueDouble
    - tlvDecodeValueU8
    - tlvDecodeValueI64
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiTableScanNodeInline(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4125,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4128,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4136
      start: 4120
    functionDepth: 0
    functionLinenumber: 4120
    functionLinenumberEnd: 4136
    functionName: msgToPhysiDispatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiDispatchNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4729,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4735
      start: 4726
    functionDepth: 0
    functionLinenumber: 4726
    functionLinenumberEnd: 4735
    functionName: queryPlanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueU64
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryPlanInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:193,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - double
    constantsTouched: []
    func_position:
      end: 195
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 195
    functionName: tlvEncodeDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeDouble(STlvEncoder* pEncoder, int16_t type,
      double value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:416,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: tlvDecodeU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohll
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeU64(STlv* pTlv, uint64_t* pValue) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:937,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:945,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:948,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:942,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:939,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:951,1
    - Dst: datumToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:954,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 958
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 958
    functionName: valueNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - datumToMsg
    - tlvEncodeCStr
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t valueNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2571,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2574,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2583,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2580,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2577,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2586,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2589,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2597
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2597
    functionName: msgToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiTableScanNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4740,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4746
      start: 4737
    functionDepth: 0
    functionLinenumber: 4737
    functionLinenumberEnd: 4746
    functionName: queryPlanToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryPlanToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4764,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4767,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4778
      start: 4759
    functionDepth: 0
    functionLinenumber: 4759
    functionLinenumberEnd: 4778
    functionName: msgToQueryPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToQueryPlan(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:468,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:470,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - bool*
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: tlvDecodeBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - convertIntegerType
    - tlvDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeBool(STlv* pTlv, bool* pValue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:113,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pEncoder
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 123
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 123
    functionName: tlvEncodeValueImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueImpl(STlvEncoder* pEncoder, const void*
      pValue, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:424,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 429
    functionName: tlvDecodeValueU64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    - ntohll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueU64(STlvDecoder* pDecoder, uint64_t*
      pValue) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:649,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:652,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:661,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:658,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:655,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: msgToDataType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeU8
    - tlvDecodeI32
    - tlvDecodeI8
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDataType(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:972,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:988,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:996,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1048,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1043,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1012,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:984,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:992,1
    - Dst: tlvDecodeDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1008,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1030,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:980,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1004,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1051,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:968,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:976,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1000,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1023,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1028,1
    - Dst: tlvDecodeDynBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1039,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void*
    constantsTouched: []
    func_position:
      end: 1061
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 1061
    functionName: msgToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - taosMemoryCalloc
    - tlvDecodeI64
    - tlvDecodeDouble
    - tlvDecodeBinary
    - tlvDecodeDynBinary
    - varDataSetLen
    - tlvDecodeU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDatum(STlv* pTlv, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1123,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1132,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1126,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1129,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1143
    functionName: msgToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToOperatorNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1540,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1548,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1545,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1552
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1552
    functionName: dataBlockDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI16
    - tlvEncodeValueU8
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataBlockDescNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1975,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1987,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1984,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1978,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1981,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1995
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1995
    functionName: msgToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToCaseWhenNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: tlvEncodeI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeI8(STlvEncoder* pEncoder, int16_t type, int8_t
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - double*
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: tlvDecodeDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeDouble(STlv* pTlv, double* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:477,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - bool*
    constantsTouched: []
    func_position:
      end: 482
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 482
    functionName: tlvDecodeValueBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI8
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueBool(STlvDecoder* pDecoder, bool* pValue) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1068,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1077,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1080,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1071,1
    - Dst: tlvDecodeCStrP
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1074,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1083,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1086,1
    - Dst: msgToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1089,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1097
    functionName: msgToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToDatum
    - tlvDecodeCStrP
    - tlvDecodeBool
    - tlvDecodeI32
    - tlvForEach
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToValueNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1557,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1563
    functionName: dataBlockDescNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataBlockDescNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1608,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1616,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1619,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1613,1
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1623
    functionName: slotDescNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI16
    - tlvEncodeValueBool
    - dataTypeInlineToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t slotDescNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4053,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4055,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4062
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4062
    functionName: physiForecastFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiForecastFuncNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4561,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4567,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4570,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4564,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4578
      start: 4556
    functionDepth: 0
    functionLinenumber: 4556
    functionLinenumberEnd: 4578
    functionName: msgToSubplanId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeU64
    - tlvDecodeI32
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSubplanId(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5144,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 5145
      start: 5143
    functionDepth: 0
    functionLinenumber: 5143
    functionLinenumberEnd: 5145
    functionName: nodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvGetNextTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:545,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:547,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pDecoder
    - func
    - pObj
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: tlvDecodeObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvGetNextTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeObj(STlvDecoder* pDecoder, FToObject func,
      void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:381,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:386,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:384,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:387,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:387,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: tlvDecodeValueI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - taosSetInt64Aligned
    - tlvDecodeValueImpl
    - ntohll
    - taosGetInt64Aligned
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueI64(STlvDecoder* pDecoder, int64_t* pValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    functionName: tlvEncodeValueU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueU8(STlvEncoder* pEncoder, uint8_t value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:229,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:230,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pValue
    argTypes:
    - STlvEncoder*
    - char*
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: tlvEncodeValueCStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI16
    - strlen
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueCStr(STlvEncoder* pEncoder, const char*
      pValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: tlvDecodeValueI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueI8(STlvDecoder* pDecoder, int8_t* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:365,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: tlvDecodeValueI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    - ntohl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueI32(STlvDecoder* pDecoder, int32_t* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1495,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: targetNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t targetNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1868
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1868
    functionName: downstreamSourceNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t downstreamSourceNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:556,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pDecoder
    - func
    - pArray
    - itemSize
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: tlvDecodeObjArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeObjArray(STlvDecoder* pDecoder, FToObject
      func, void* pArray, int32_t itemSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:172,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint16_t
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: tlvEncodeU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htons
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeU16(STlvEncoder* pEncoder, int16_t type, uint16_t
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pEncoder
    - type
    - pValue
    - len
    argTypes:
    - STlvEncoder*
    - int16_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: tlvEncodeBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeBinary(STlvEncoder* pEncoder, int16_t type,
      const void* pValue, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:341,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int16_t*
    constantsTouched: []
    func_position:
      end: 346
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: tlvDecodeI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohs
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeI16(STlv* pTlv, int16_t* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:373,1
    - Dst: ntohll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 378
    functionName: tlvDecodeI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohll
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeI64(STlv* pTlv, int64_t* pValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: tlvDecodeU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeU8(STlv* pTlv, uint8_t* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1506,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1512
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1512
    functionName: msgToTargetNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToTargetNodeInline(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: msgToQueryNodeAddrInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1873,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1884,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1875,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1881,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1878,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1886,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1887,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1891
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1891
    functionName: msgToDownstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToQueryNodeAddrInline
    - tlvDecodeEnd
    - tlvDecodeValueU64
    - tlvDecodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDownstreamSourceNodeInlineToMsg(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2479,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2484,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2487,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2490,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2481,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2497
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2497
    functionName: physiTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTableScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2742,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2759,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2768,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2789,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2783,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2777,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2801,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2753,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2747,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2744,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2756,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2762,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2774,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2771,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2780,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2786,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2795,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2792,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2750,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2765,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2798,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2805
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2805
    functionName: physiMergeJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiMergeJoinNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeDynObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    constantsTouched: []
    func_position:
      end: 5149
      start: 5147
    functionDepth: 0
    functionLinenumber: 5147
    functionLinenumberEnd: 5149
    functionName: msgToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeDynObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToNode(STlvDecoder* pDecoder, void** pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makeFunc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:575,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - pTlv
    - makeFunc
    - toFunc
    - pObj
    argTypes:
    - STlv*
    - FMakeObject
    - FToObject
    - void**
    constantsTouched: []
    func_position:
      end: 580
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 580
    functionName: tlvDecodeDynObjFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - makeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeDynObjFromTlv(STlv* pTlv, FMakeObject makeFunc,
      FToObject toFunc, void** pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 783
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 783
    functionName: columnNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1150,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1152,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1159
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1159
    functionName: logicConditionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicConditionNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1916,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1918,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1921,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1925
      start: 1913
    functionDepth: 0
    functionLinenumber: 1913
    functionLinenumberEnd: 1925
    functionName: whenThenNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t whenThenNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvGetNextTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:584,1
    - Dst: tlvDecodeDynObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - pDecoder
    - makeFunc
    - toFunc
    - pObj
    argTypes:
    - STlvDecoder*
    - FMakeObject
    - FToObject
    - void**
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: tlvDecodeDynObj
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeDynObjFromTlv
    - tlvGetNextTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeDynObj(STlvDecoder* pDecoder, FMakeObject
      makeFunc, FToObject toFunc, void** pObj) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:793,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:799,1
    - Dst: tlvDecodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:805,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:808,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:832,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:841,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:826,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:820,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:844,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:847,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:850,1
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:796,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:802,1
    - Dst: msgToDataTypeInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:788,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:790,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:811,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:814,1
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:823,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:829,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:835,1
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:817,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:838,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 853
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 853
    functionName: msgToColumnNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI8
    - tlvDecodeValueEnum
    - msgToDataTypeInline
    - tlvDecodeValueBool
    - tlvDecodeValueCStr
    - tlvDecodeValueU64
    - tlvDecodeValueI32
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToColumnNodeInline(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1104,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1109,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1106,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1116
    functionName: operatorNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t operatorNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1166,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1169,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1172,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1183
    functionName: msgToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeEnum
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToLogicConditionNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1203,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1214,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1211,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1205,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1208,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1217,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1220,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1223,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1226,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1229,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1232,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1239
    functionName: functionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeCStr
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t functionNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1932,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1938,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1941,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1949
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1949
    functionName: msgToWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToWhenThenNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5198,1
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5202,1
    - Dst: tlvDecodeEnd
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5200,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5204,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void**
    constantsTouched: []
    func_position:
      end: 5213
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5213
    functionName: msgToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - msgToNode
    - nodesDestroyList
    - nodesMakeList
    - tlvDecodeEnd
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToNodeList(STlvDecoder* pDecoder, void** pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1627
    functionName: slotDescNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t slotDescNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4751,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4757
      start: 4748
    functionDepth: 0
    functionLinenumber: 4748
    functionLinenumberEnd: 4757
    functionName: msgToQueryPlanInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - tlvDecodeValueU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToQueryPlanInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1632,1
    - Dst: msgToDataTypeInline
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1634,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1643,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1640,1
    - Dst: tlvDecodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1647
    functionName: msgToSlotDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToDataTypeInline
    - tlvDecodeValueI16
    - tlvDecodeValueBool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSlotDescNodeInline(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1956,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1961,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1964,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1968
    functionName: caseWhenNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t caseWhenNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: subplanIdInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4591,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4599,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4602,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4593,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4596,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4605,1
    - Dst: queryNodeAddrInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4608,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4611,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4614,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4617,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4620,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4626,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4623,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4629
      start: 4588
    functionDepth: 0
    functionLinenumber: 4588
    functionLinenumberEnd: 4629
    functionName: subplanInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - queryNodeAddrInlineToMsg
    - tlvEncodeValueBool
    - tlvEncodeValueI32
    - tlvEncodeValueCStr
    - subplanIdInlineToMsg
    - tlvEncodeValueEnum
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanInlineToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2414,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2441,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2459,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2465,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2447,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2444,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2450,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2453,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2456,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2462,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2468,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2412,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2471,1
    - Dst: tlvEncodeValueDouble
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2423,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2420,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2426,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2429,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2432,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2435,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2438,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2417,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2474
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2474
    functionName: physiTableScanNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueBool
    - tlvEncodeValueI32
    - tlvEncodeValueDouble
    - tlvEncodeValueI8
    - tlvEncodeValueU8
    - tlvEncodeValueI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTableScanNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3445,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3450,1
    - Dst: tlvEncodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3447,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3453,1
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3456,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3460
      start: 3442
    functionDepth: 0
    functionLinenumber: 3442
    functionLinenumberEnd: 3460
    functionName: physiIntervalNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI8
    - tlvEncodeValueI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIntervalNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3909,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3914,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3911,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3918
      start: 3906
    functionDepth: 0
    functionLinenumber: 3906
    functionLinenumberEnd: 3918
    functionName: physiIndefRowsFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIndefRowsFuncNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - char**
    constantsTouched: []
    func_position:
      end: 522
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 522
    functionName: tlvDecodeCStrP
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - taosStrndup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeCStrP(STlv* pTlv, char** pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:486,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pTlv
    - pValue
    - len
    argTypes:
    - STlv*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: tlvDecodeEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - convertIntegerType
    - tlvDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeEnum(STlv* pTlv, void* pValue, int16_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:139,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    constantsTouched: []
    func_position:
      end: 141
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 141
    functionName: tlvEncodeValueI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htons
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueI16(STlvEncoder* pEncoder, int16_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:199,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - double
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: tlvEncodeValueDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueDouble(STlvEncoder* pEncoder, double
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - double*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: tlvDecodeValueDouble
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueDouble(STlvDecoder* pDecoder, double*
      pValue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:860,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 871
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 871
    functionName: msgToColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToColumnNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1450,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1456
    functionName: nodeListNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeListNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1568,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1573,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1570,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1580
    functionName: msgToDataBlockDescNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - tlvDecodeValueU8
    - tlvDecodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDataBlockDescNodeInline(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:144,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: tlvEncodeI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeI32(STlvEncoder* pEncoder, int16_t type, int32_t
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:204,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: tlvEncodeEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeEnum(STlvEncoder* pEncoder, int16_t type,
      int32_t value) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - value
    - pValue
    - len
    argTypes:
    - int32_t
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 464
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 464
    functionName: convertIntegerType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertIntegerType(int32_t value, void* pValue, int16_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:495,1
    - Dst: convertIntegerType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pDecoder
    - pValue
    - len
    argTypes:
    - STlvDecoder*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: tlvDecodeValueEnum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - convertIntegerType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueEnum(STlvDecoder* pDecoder, void* pValue,
      int16_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:525,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - void**
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: tlvDecodeDynBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeDynBinary(STlv* pTlv, void** pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1416,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1422
    functionName: timeWindowToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t timeWindowToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1463,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1469,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1477
    functionName: msgToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToNodeListNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1587,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1590,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1593,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1601
    functionName: msgToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDataBlockDescNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1728,1
    - Dst: tlvEncodeValueArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1734
    functionName: epSetInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueArray
    - tlvEncodeValueI8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epSetInlineToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3311,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3320,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3314,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3317,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3323,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3326,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3329,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3336
      start: 3306
    functionDepth: 0
    functionLinenumber: 3306
    functionLinenumberEnd: 3336
    functionName: msgToPhysiSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiSortNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3465,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3470,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3474
      start: 3462
    functionDepth: 0
    functionLinenumber: 3462
    functionLinenumberEnd: 3474
    functionName: physiIntervalNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIntervalNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:149,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int32_t
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: tlvEncodeValueI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htonl
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueI32(STlvEncoder* pEncoder, int32_t value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:323,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pDecoder
    - pValue
    - len
    argTypes:
    - STlvDecoder*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: tlvDecodeValueImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueImpl(STlvDecoder* pDecoder, void* pValue,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2305,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2311
      start: 2302
    functionDepth: 0
    functionLinenumber: 2302
    functionLinenumberEnd: 2311
    functionName: physiTagScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTagScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2668,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2670,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2673,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2676,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2679,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2683
    functionName: physiProjectNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiProjectNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4517,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4519,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4526
      start: 4514
    functionDepth: 0
    functionLinenumber: 4514
    functionLinenumberEnd: 4526
    functionName: subplanIdInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueU64
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanIdInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:154,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: tlvEncodeI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeI64(STlvEncoder* pEncoder, int16_t type, int64_t
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 334
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 334
    functionName: tlvDecodeI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeI8(STlv* pTlv, int8_t* pValue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2318,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2324,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2313
    functionDepth: 0
    functionLinenumber: 2313
    functionLinenumberEnd: 2332
    functionName: msgToPhysiTagScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiTagScanNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2690,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2696,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2702,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2699,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2693,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2705,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2713
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2713
    functionName: msgToPhysiProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiProjectNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4531,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4533,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4540
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4540
    functionName: subplanIdToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanIdToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3357,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3359,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3368,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3362,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3365,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3371,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3374,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3377,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3380,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3383,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3390
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3390
    functionName: physiWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeI8
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3961,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3966,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3972,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3969,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3963,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3975,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3978,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3981,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3984,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3987,1
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3990,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3994
      start: 3958
    functionDepth: 0
    functionLinenumber: 3958
    functionLinenumberEnd: 3994
    functionName: physiInterpFuncNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeI8
    - tlvEncodeObj
    - tlvEncodeEnum
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiInterpFuncNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4322,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4333,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4324,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4327,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4330,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4336,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4340
      start: 4319
    functionDepth: 0
    functionLinenumber: 4319
    functionLinenumberEnd: 4340
    functionName: physiGroupCacheNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiGroupCacheNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pEncoder
    argTypes:
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: initTlvEncoder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initTlvEncoder(STlvEncoder* pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - void*
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: tlvDecodeBinary
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeBinary(STlv* pTlv, void* pValue) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2260,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2272,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2263,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2269,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2266,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2275,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2278,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2281,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2284,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2287,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2295
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2295
    functionName: msgToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeBool
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiVirtualTableScanNode(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2371,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2377,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2383,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2380,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2374,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2386,1
    - Dst: msgToSArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2389,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2398
    functionName: msgToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - msgToSArray
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiLastRowScanNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2815,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2833,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2857,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2869,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2836,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2839,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2842,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2860,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2848,1
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2812,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2818,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2824,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2845,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2851,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2863,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2872,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2875,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2821,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2827,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2830,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2866,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2854,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2883
      start: 2807
    functionDepth: 0
    functionLinenumber: 2807
    functionLinenumberEnd: 2883
    functionName: msgToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeI64
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiMergeJoinNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3764,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3769,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3773
      start: 3761
    functionDepth: 0
    functionLinenumber: 3761
    functionLinenumberEnd: 3773
    functionName: physiAnomalyWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeCStr
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiAnomalyWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    constantsTouched: []
    func_position:
      end: 5154
      start: 5151
    functionDepth: 0
    functionLinenumber: 5151
    functionLinenumberEnd: 5154
    functionName: msgToNodeFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToNodeFromTlv(STlv* pTlv, void** pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pEncoder
    argTypes:
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: clearTlvEncoder
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void clearTlvEncoder(STlvEncoder* pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pTlv
    - func
    - pObj
    argTypes:
    - STlv*
    - FToObject
    - void*
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: tlvDecodeObjFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeObjFromTlv(STlv* pTlv, FToObject func, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1484,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1490
    functionName: targetNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t targetNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3203,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3208,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3214,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3205,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3211,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3217,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3220,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3223,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3226,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3230
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3230
    functionName: physiMergeNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    - tlvEncodeBool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiMergeNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3780,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3783,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3789,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3786,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3797
      start: 3775
    functionDepth: 0
    functionLinenumber: 3775
    functionLinenumberEnd: 3797
    functionName: msgToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiAnomalyWindowNode(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5160,1
    - Dst: nodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 5168
      start: 5156
    functionDepth: 0
    functionLinenumber: 5156
    functionLinenumberEnd: 5168
    functionName: nodeListToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeListToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3092,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3098,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3104,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3101,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3095,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3107,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3110,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3113,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3121
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3121
    functionName: msgToPhysiAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiAggNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4456,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4468,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4465,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4459,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4462,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4471,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4474,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4477,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4480,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4483,1
    - Dst: tlvDecodeU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4489,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4501,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4495,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4498,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4486,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4492,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4508
      start: 4451
    functionDepth: 0
    functionLinenumber: 4451
    functionLinenumberEnd: 4508
    functionName: msgToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeCStr
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvDecodeU64
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiDynQueryCtrlNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4001,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4013,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4010,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4004,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4007,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4016,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4019,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4022,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4025,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4028,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4034,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4031,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4042
      start: 3996
    functionDepth: 0
    functionLinenumber: 3996
    functionLinenumberEnd: 4042
    functionName: msgToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI8
    - tlvDecodeI64
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiInterpFuncNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:287,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pEncoder
    - func
    - pArray
    - itemSize
    - num
    argTypes:
    - STlvEncoder*
    - FToMsg
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: tlvEncodeValueArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - func
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueArray(STlvEncoder* pEncoder, FToMsg func,
      const void* pArray, int32_t itemSize, int32_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: tlvDecodeValueU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueU8(STlvDecoder* pDecoder, uint8_t* pValue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1296,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1301,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1305
    functionName: orderByExprNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t orderByExprNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1768,1
    - Dst: tlvDecodeObjArrayFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1777,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1774,1
    - Dst: tlvDecodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1771,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1785
    functionName: msgToEpSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjArrayFromTlv
    - tlvDecodeI8
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToEpSet(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2081,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2093,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2084,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2090,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2087,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2096,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2099,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2102,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2105,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2108,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 2116
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2116
    functionName: msgToPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeBool
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2920,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2926,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2935,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2912,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2938,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2941,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2947,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2965,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2959,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2953,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2968,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2923,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2917,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2929,1
    - Dst: tlvEncodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2914,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2932,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2944,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2950,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2956,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2962,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2972
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2972
    functionName: physiHashJoinNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeEnum
    - tlvEncodeI32
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiHashJoinNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3740,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3743,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3749,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3757
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3757
    functionName: msgToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiCountWindowNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:301,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:302,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pDecoder
    - pTlv
    argTypes:
    - STlvDecoder*
    - STlv**
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: tlvGetNextTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohs
    - ntohl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvGetNextTlv(STlvDecoder* pDecoder, STlv** pTlv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:400,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:402,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 405
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 405
    functionName: tlvDecodeU16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohs
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeU16(STlv* pTlv, uint16_t* pValue) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:725,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:722,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:728,1
    - Dst: tlvEncodeValueEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:731,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:734,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:737,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:740,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:749,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:746,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:752,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:743,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:719,1
    - Dst: tlvEncodeValueI16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:758,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:764,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:767,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:761,1
    - Dst: tlvEncodeValueBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:755,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:770,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:773,1
    - Dst: tlvEncodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:776,1
    - Dst: dataTypeInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:714,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:716,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 779
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 779
    functionName: columnNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueU64
    - tlvEncodeValueBool
    - tlvEncodeValueI32
    - tlvEncodeValueI16
    - dataTypeInlineToMsg
    - tlvEncodeValueI8
    - tlvEncodeValueCStr
    - tlvEncodeValueEnum
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1312,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1318,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1321,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1329
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1329
    functionName: msgToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeEnum
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToOrderByExprNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2989,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2995,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3034,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3022,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2983,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2998,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3025,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3001,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3004,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3007,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3010,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3028,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3016,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3040,1
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2980,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2992,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2986,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3031,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3013,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3019,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3037,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3048
      start: 2975
    functionDepth: 0
    functionLinenumber: 2975
    functionLinenumberEnd: 3048
    functionName: msgToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI64
    - tlvDecodeI32
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiHashJoinNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3064,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3069,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3072,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3075,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3066,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3078,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3085
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3085
    functionName: physiAggNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiAggNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3286,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3297,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3288,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3291,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3294,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3304
      start: 3283
    functionDepth: 0
    functionLinenumber: 3283
    functionLinenumberEnd: 3304
    functionName: physiSortNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSortNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3638,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3640,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3647
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3647
    functionName: physiStateWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiStateWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonll
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:159,1
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int64_t
    constantsTouched: []
    func_position:
      end: 161
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 161
    functionName: tlvEncodeValueI64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    - htonll
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueI64(STlvEncoder* pEncoder, int64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:562,1
    - Dst: func
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - pDecoder
    - func
    - pArray
    - itemSize
    - pNum
    argTypes:
    - STlvDecoder*
    - FToObject
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: tlvDecodeValueArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueArray(STlvDecoder* pDecoder, FToObject
      func, void* pArray, int32_t itemSize, int32_t* pNum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:675,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:677,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 683
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 683
    functionName: exprNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t exprNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1370,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1375,1
    - Dst: tlvEncodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1378,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1382
    functionName: nameToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeCStr
    - tlvEncodeU8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nameToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1654,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1665
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1665
    functionName: msgToSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSlotDescNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3869,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3871,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3878
      start: 3866
    functionDepth: 0
    functionLinenumber: 3866
    functionLinenumberEnd: 3878
    functionName: physiStreamPartitionNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiStreamPartitionNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3925,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3928,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3931,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3934,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3942
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3942
    functionName: msgToPhysiIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiIndefRowsFuncNode(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4069,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4075,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4072,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4086
      start: 4064
    functionDepth: 0
    functionLinenumber: 4064
    functionLinenumberEnd: 4086
    functionName: msgToPhysiForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiForecastFuncNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:596,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:604,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:601,1
    - Dst: tlvEncodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: dataTypeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueI8
    - tlvEncodeValueU8
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataTypeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: tlvEncodeU8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeU8(STlvEncoder* pEncoder, int16_t type, uint8_t
      value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeObjArray
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pTlv
    - func
    - pArray
    - itemSize
    argTypes:
    - STlv*
    - FToObject
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 572
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 572
    functionName: tlvDecodeObjArrayFromTlv
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjArray
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeObjArrayFromTlv(STlv* pTlv, FToObject func,
      void* pArray, int32_t itemSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:690,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:693,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:699,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 707
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 707
    functionName: msgToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI32
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToExprNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1389,1
    - Dst: tlvDecodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1392,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1401,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1398,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1409
    functionName: msgToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU8
    - tlvDecodeI32
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToName(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3724,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3729,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3733
      start: 3721
    functionDepth: 0
    functionLinenumber: 3721
    functionLinenumberEnd: 3733
    functionName: physiCountWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiCountWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3885,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3891,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3894,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3888,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3902
      start: 3880
    functionDepth: 0
    functionLinenumber: 3880
    functionLinenumberEnd: 3902
    functionName: msgToPhysiStreamPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiStreamPartitionNode(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4347,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4359,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4350,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4356,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4353,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4362,1
    - Dst: tlvDecodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 4373
      start: 4342
    functionDepth: 0
    functionLinenumber: 4342
    functionLinenumberEnd: 4373
    functionName: msgToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - tlvDecodeBool
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiGroupCacheNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5226,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5242,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5235,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5229,1
    - Dst: tlvDecodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5232,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5248,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5251,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5260,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5266,1
    - Dst: tlvDecodeBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5269,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 2
    argNames:
    - pTlv
    - pObj
    argTypes:
    - STlv*
    - void**
    constantsTouched: []
    func_position:
      end: 5273
      start: 5215
    functionDepth: 0
    functionLinenumber: 5215
    functionLinenumberEnd: 5273
    functionName: msgToSArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tlvDecodeI32
    - tlvDecodeBinary
    - tlvForEach
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSArray(STlv* pTlv, void** pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - value
    argTypes:
    - STlvEncoder*
    - int8_t
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: tlvEncodeValueI8
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeValueI8(STlvEncoder* pEncoder, int8_t value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:349,1
    - Dst: ntohs
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pValue
    argTypes:
    - STlvDecoder*
    - int16_t*
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: tlvDecodeValueI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueImpl
    - ntohs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeValueI16(STlvDecoder* pDecoder, int16_t* pValue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1429,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1435,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1432,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1443
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1443
    functionName: msgToTimeWindow
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeI64
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToTimeWindow(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3604,1
    - Dst: tlvEncodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 3610
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3610
    functionName: physiSessionWindowNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI64
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSessionWindowNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: functionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4797,1
    - Dst: targetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4809,1
    - Dst: windowOffsetNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4829,1
    - Dst: physiMergeJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4853,1
    - Dst: physiEventWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4903,1
    - Dst: physiStreamPartitionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4917,1
    - Dst: physiQueryInsertNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4933,1
    - Dst: physiVirtualTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4945,1
    - Dst: physiDeleteNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4936,1
    - Dst: queryPlanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4951,1
    - Dst: physiForecastFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4927,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4957,1
    - Dst: logicConditionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4794,1
    - Dst: nodeListNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4806,1
    - Dst: downstreamSourceNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4818,1
    - Dst: caseWhenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4826,1
    - Dst: physiProjectNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4850,1
    - Dst: physiIntervalNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4880,1
    - Dst: physiFillNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4884,1
    - Dst: physiAnomalyWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4911,1
    - Dst: physiPartitionNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4914,1
    - Dst: physiDispatchNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4930,1
    - Dst: physiDynQueryCtrlNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4942,1
    - Dst: physiGroupCacheNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4939,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4783,1
    - Dst: operatorNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4791,1
    - Dst: limitNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4803,1
    - Dst: physiScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4835,1
    - Dst: physiLastRowScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4839,1
    - Dst: slotDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4815,1
    - Dst: whenThenNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4823,1
    - Dst: physiSysTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4847,1
    - Dst: physiAggNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4859,1
    - Dst: physiMergeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4865,1
    - Dst: physiIndefRowsFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4920,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4957,1
    - Dst: columnNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4785,1
    - Dst: valueNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4788,1
    - Dst: orderByExprNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4800,1
    - Dst: dataBlockDescNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4812,1
    - Dst: physiTagScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4832,1
    - Dst: physiTableScanNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4844,1
    - Dst: physiHashJoinNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4856,1
    - Dst: physiExchangeNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4862,1
    - Dst: physiStateWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4898,1
    - Dst: physiCountWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4908,1
    - Dst: physiInterpFuncNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4924,1
    - Dst: subplanToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4948,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4957,1
    - Dst: physiSortNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4869,1
    - Dst: physiSessionWindowNodeToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4893,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 102
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4961
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4961
    functionName: specificNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - physiTableScanNodeToMsg
    - physiCountWindowNodeToMsg
    - physiInterpFuncNodeToMsg
    - physiSortNodeToMsg
    - queryPlanToMsg
    - physiEventWindowNodeToMsg
    - limitNodeToMsg
    - physiTagScanNodeToMsg
    - dataBlockDescNodeToMsg
    - valueNodeToMsg
    - nodeType
    - physiFillNodeToMsg
    - columnNodeToMsg
    - physiForecastFuncNodeToMsg
    - functionNodeToMsg
    - physiAnomalyWindowNodeToMsg
    - physiStreamPartitionNodeToMsg
    - whenThenNodeToMsg
    - windowOffsetNodeToMsg
    - physiSysTableScanNodeToMsg
    - physiPartitionNodeToMsg
    - physiVirtualTableScanNodeToMsg
    - nodesError
    - orderByExprNodeToMsg
    - physiMergeNodeToMsg
    - physiQueryInsertNodeToMsg
    - physiProjectNodeToMsg
    - physiHashJoinNodeToMsg
    - nodeListNodeToMsg
    - physiLastRowScanNodeToMsg
    - physiDynQueryCtrlNodeToMsg
    - subplanToMsg
    - nodesNodeName
    - physiStateWindowNodeToMsg
    - downstreamSourceNodeToMsg
    - caseWhenNodeToMsg
    - slotDescNodeToMsg
    - physiSessionWindowNodeToMsg
    - physiExchangeNodeToMsg
    - logicConditionNodeToMsg
    - physiGroupCacheNodeToMsg
    - physiDispatchNodeToMsg
    - operatorNodeToMsg
    - physiIntervalNodeToMsg
    - physiScanNodeToMsg
    - physiIndefRowsFuncNodeToMsg
    - physiDeleteNodeToMsg
    - physiMergeJoinNodeToMsg
    - physiAggNodeToMsg
    - targetNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t specificNodeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:134,1
    - Dst: tlvEncodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pEncoder
    - type
    - value
    argTypes:
    - STlvEncoder*
    - int16_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: tlvEncodeI16
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - htons
    - tlvEncodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvEncodeI16(STlvEncoder* pEncoder, int16_t type, int16_t
      value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:357,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTlv
    - pValue
    argTypes:
    - STlv*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: tlvDecodeI32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - ntohl
    - tlvDecodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tlvDecodeI32(STlv* pTlv, int32_t* pValue) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: queryNodeAddrInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1846,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1857,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1851,1
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1854,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1848,1
    - Dst: tlvEncodeValueU64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1860,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1864
    functionName: downstreamSourceNodeInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeValueU64
    - queryNodeAddrInlineToMsg
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t downstreamSourceNodeInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2610,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2621,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2618,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2612,1
    - Dst: tlvEncodeBool
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:2615,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 2625
      start: 2607
    functionDepth: 0
    functionLinenumber: 2607
    functionLinenumberEnd: 2625
    functionName: physiSysTableScanNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeBool
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSysTableScanNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3617,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3620,1
    - Dst: tlvDecodeI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3631
      start: 3612
    functionDepth: 0
    functionLinenumber: 3612
    functionLinenumberEnd: 3631
    functionName: msgToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvDecodeI64
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiSessionWindowNode(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: msgToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4979,1
    - Dst: msgToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4997,1
    - Dst: msgToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5020,1
    - Dst: msgToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5004,1
    - Dst: msgToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5016,1
    - Dst: msgToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5034,1
    - Dst: msgToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5046,1
    - Dst: msgToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5050,1
    - Dst: msgToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5084,1
    - Dst: msgToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5092,1
    - Dst: msgToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5117,1
    - Dst: msgToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5111,1
    - Dst: msgToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5108,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5138,1
    - Dst: msgToQueryPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5132,1
    - Dst: msgToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4976,1
    - Dst: msgToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5013,1
    - Dst: msgToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4994,1
    - Dst: msgToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5025,1
    - Dst: msgToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5031,1
    - Dst: msgToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5043,1
    - Dst: msgToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5089,1
    - Dst: msgToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5101,1
    - Dst: msgToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5105,1
    - Dst: msgToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5123,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4965,1
    - Dst: msgToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4973,1
    - Dst: msgToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4985,1
    - Dst: msgToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4991,1
    - Dst: msgToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5010,1
    - Dst: msgToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5028,1
    - Dst: msgToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5040,1
    - Dst: msgToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5074,1
    - Dst: msgToPhysiStreamPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5098,1
    - Dst: msgToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5114,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5138,1
    - Dst: msgToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5095,1
    - Dst: msgToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4970,1
    - Dst: msgToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4967,1
    - Dst: msgToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4982,1
    - Dst: msgToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4988,1
    - Dst: msgToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5000,1
    - Dst: msgToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5007,1
    - Dst: msgToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5037,1
    - Dst: msgToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5061,1
    - Dst: msgToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5065,1
    - Dst: msgToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5079,1
    - Dst: msgToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5126,1
    - Dst: msgToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5129,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5138,1
    - Dst: msgToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5120,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 102
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 5141
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 5141
    functionName: msgToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToValueNode
    - msgToPhysiQueryInsertNode
    - msgToPhysiMergeJoinNode
    - msgToPhysiForecastFuncNode
    - msgToSlotDescNode
    - msgToOrderByExprNode
    - msgToDataBlockDescNode
    - msgToPhysiStateWindowNode
    - msgToPhysiDynQueryCtrlNode
    - msgToCaseWhenNode
    - nodeType
    - msgToPhysiAnomalyWindowNode
    - msgToDownstreamSourceNode
    - msgToLogicConditionNode
    - msgToPhysiSysTableScanNode
    - msgToPhysiAggNode
    - msgToFunctionNode
    - msgToPhysiVirtualTableScanNode
    - msgToColumnNode
    - msgToPhysiEventWindowNode
    - nodesError
    - msgToPhysiScanNode
    - msgToOperatorNode
    - msgToPhysiIntervalNode
    - msgToWhenThenNode
    - msgToPhysiDeleteNode
    - msgToQueryPlan
    - nodesNodeName
    - msgToNodeListNode
    - msgToLimitNode
    - msgToPhysiFillNode
    - msgToPhysiExchangeNode
    - msgToPhysiDispatchNode
    - msgToPhysiGroupCacheNode
    - msgToPhysiTableScanNode
    - msgToPhysiMergeNode
    - msgToPhysiCountWindowNode
    - msgToPhysiTagScanNode
    - msgToPhysiIndefRowsFuncNode
    - msgToPhysiHashJoinNode
    - msgToPhysiLastRowScanNode
    - msgToTargetNode
    - msgToPhysiPartitionNode
    - msgToPhysiInterpFuncNode
    - msgToPhysiSessionWindowNode
    - msgToPhysiProjectNode
    - msgToSubplan
    - msgToPhysiSortNode
    - msgToWindowOffsetNode
    - msgToPhysiStreamPartitionNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToSpecificNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:613,1
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:618,1
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:621,1
    - Dst: tlvEncodeU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:615,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 625
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 625
    functionName: dataTypeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeI8
    - tlvEncodeU8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataTypeToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1694,1
    - Dst: tlvDecodeValueU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1700
    functionName: msgToEpInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueU16
    - tlvDecodeValueCStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToEpInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1792,1
    - Dst: epSetInlineToMsg
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1798
    functionName: queryNodeAddrInlineToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - epSetInlineToMsg
    - tlvEncodeValueI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryNodeAddrInlineToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3479,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3484,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3487,1
    - Dst: tlvDecodeValueI64
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3481,1
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3490,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3494
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3494
    functionName: msgToPhysiIntervalNodeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI8
    - tlvDecodeValueI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiIntervalNodeInline(STlvDecoder* pDecoder,
      void* pObj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3565,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3568,1
    - Dst: tlvDecodeEnum
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3571,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3577,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3574,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3580,1
    - Dst: msgToNodeFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3583,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3586,1
    - Dst: msgToNodeListFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3589,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3597
      start: 3560
    functionDepth: 0
    functionLinenumber: 3560
    functionLinenumberEnd: 3597
    functionName: msgToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeEnum
    - tlvForEach
    - msgToNodeListFromTlv
    - tlvDecodeObjFromTlv
    - msgToNodeFromTlv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiFillNode(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvDecodeValueI8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:630,1
    - Dst: tlvDecodeValueI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:638,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:635,1
    - Dst: tlvDecodeValueU8
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:632,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 642
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 642
    functionName: msgToDataTypeInline
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeValueI32
    - tlvDecodeValueI8
    - tlvDecodeValueU8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToDataTypeInline(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1707,1
    - Dst: tlvDecodeU16
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1713,1
    - Dst: tlvDecodeCStr
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1710,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1721
    functionName: msgToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeCStr
    - tlvDecodeU16
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToEp(STlvDecoder* pDecoder, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeI32
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1803,1
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:1805,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1809
    functionName: queryNodeAddrToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeI32
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryNodeAddrToMsg(const void* pObj, STlvEncoder* pEncoder) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tlvForEach
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3501,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3504,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3507,1
    - Dst: tlvDecodeObjFromTlv
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:3510,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - STlvDecoder*
    - void*
    constantsTouched: []
    func_position:
      end: 3517
      start: 3496
    functionDepth: 0
    functionLinenumber: 3496
    functionLinenumberEnd: 3517
    functionName: msgToPhysiIntervalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvDecodeObjFromTlv
    - tlvForEach
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t msgToPhysiIntervalNode(STlvDecoder* pDecoder, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tlvEncodeObj
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:4117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pEncoder
    argTypes:
    - void*
    - STlvEncoder*
    constantsTouched: []
    func_position:
      end: 4118
      start: 4115
    functionDepth: 0
    functionLinenumber: 4115
    functionLinenumberEnd: 4118
    functionName: physiDispatchNodeToMsg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - tlvEncodeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDispatchNodeToMsg(const void* pObj, STlvEncoder*
      pEncoder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: msgToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c:5309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMsg
    - len
    - pNode
    argTypes:
    - char*
    - int32_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 5315
      start: 5301
    functionDepth: 0
    functionLinenumber: 5301
    functionLinenumberEnd: 5315
    functionName: nodesMsgToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesMsgFuncs.c
    functionUses: []
    functionsReached:
    - msgToNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMsgToNode(const char* pMsg, int32_t len, SNode** pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7834
      start: 7832
    functionDepth: 0
    functionLinenumber: 7832
    functionLinenumberEnd: 7834
    functionName: jsonToRestoreVnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRestoreVnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8031,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8037
      start: 8028
    functionDepth: 0
    functionLinenumber: 8028
    functionLinenumberEnd: 8037
    functionName: jsonToDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDescribeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:562,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:567,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:570,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: tableComInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableComInfoToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7413,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7415,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7418,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7422
      start: 7410
    functionDepth: 0
    functionLinenumber: 7410
    functionLinenumberEnd: 7422
    functionName: createUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createUserStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7701,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7702
      start: 7700
    functionDepth: 0
    functionLinenumber: 7700
    functionLinenumberEnd: 7702
    functionName: jsonToCreateQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateQnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1789,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1796
    functionName: vgroupsInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddArray
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vgroupsInfoToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4518,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4520,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4527
      start: 4515
    functionDepth: 0
    functionLinenumber: 4515
    functionLinenumberEnd: 4527
    functionName: jsonToPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPlan(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5236,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5244,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5247,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5238,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5241,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5250,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5253,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5256,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5259,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5263
      start: 5233
    functionDepth: 0
    functionLinenumber: 5233
    functionLinenumberEnd: 5263
    functionName: tableIndexInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableIndexInfoToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: grantStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8301
      start: 8301
    functionDepth: 0
    functionLinenumber: 8301
    functionLinenumberEnd: 8301
    functionName: revokeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - grantStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t revokeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8375
      start: 8375
    functionDepth: 0
    functionLinenumber: 8375
    functionLinenumberEnd: 8375
    functionName: jsonToShowIndexesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowIndexesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8419
      start: 8419
    functionDepth: 0
    functionLinenumber: 8419
    functionLinenumberEnd: 8419
    functionName: jsonToShowGrantsLogsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowGrantsLogsStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7704
      start: 7704
    functionDepth: 0
    functionLinenumber: 7704
    functionLinenumberEnd: 7704
    functionName: dropQnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropQnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1801,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1807
    functionName: jsonToVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonToArray
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToVgroupsInfo(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3849,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3851,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3854,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3860,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3857,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3863,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3866,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3869,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3872,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3876
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3876
    functionName: physiQueryInsertNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - physicDataSinkNodeToJson
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiQueryInsertNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5268,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5279,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5276,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5270,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5273,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5282,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5285,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5288,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5295
      start: 5265
    functionDepth: 0
    functionLinenumber: 5265
    functionLinenumberEnd: 5295
    functionName: jsonToTableIndexInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - tjsonGetIntValue
    - tjsonToObject
    - tjsonDupStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTableIndexInfo(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7521,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7527
      start: 7518
    functionDepth: 0
    functionLinenumber: 7518
    functionLinenumberEnd: 7527
    functionName: createDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToGrantStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8303
      start: 8303
    functionDepth: 0
    functionLinenumber: 8303
    functionLinenumberEnd: 8303
    functionName: jsonToRevokeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToGrantStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRevokeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8377
      start: 8377
    functionDepth: 0
    functionLinenumber: 8377
    functionLinenumberEnd: 8377
    functionName: showStablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showStablesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8421
      start: 8421
    functionDepth: 0
    functionLinenumber: 8421
    functionLinenumberEnd: 8421
    functionName: jsonToShowClusterMachinesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowClusterMachinesStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7892,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7894,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7898
      start: 7889
    functionDepth: 0
    functionLinenumber: 7889
    functionLinenumberEnd: 7898
    functionName: jsonToDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropTopicStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6595,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6603,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6606,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6600,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6610
      start: 6592
    functionDepth: 0
    functionLinenumber: 6592
    functionLinenumberEnd: 6610
    functionName: dataBlockDescNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataBlockDescNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:580,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:588,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:585,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:582,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 592
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 592
    functionName: jsonToTableComInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTableComInfo(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2641,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2643,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2649,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2646,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2655
      start: 2638
    functionDepth: 0
    functionLinenumber: 2638
    functionLinenumberEnd: 2655
    functionName: jsonToPhysiProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiProjectNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8363
      start: 8363
    functionDepth: 0
    functionLinenumber: 8363
    functionLinenumberEnd: 8363
    functionName: jsonToShowClusterStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowClusterStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8407
      start: 8407
    functionDepth: 0
    functionLinenumber: 8407
    functionLinenumberEnd: 8407
    functionName: jsonToShowVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowVariablesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3136,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3138,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3141,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3144,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3147,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3150,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3154
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3154
    functionName: physiSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSortNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3418,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3424
      start: 3415
    functionDepth: 0
    functionLinenumber: 3415
    functionLinenumberEnd: 3424
    functionName: physiSessionWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSessionWindowNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4504,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4509,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4513
      start: 4501
    functionDepth: 0
    functionLinenumber: 4501
    functionLinenumberEnd: 4513
    functionName: planToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t planToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6933,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6935,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6939
      start: 6930
    functionDepth: 0
    functionLinenumber: 6930
    functionLinenumberEnd: 6939
    functionName: trimDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t trimDatabaseStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8365,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8365
      start: 8365
    functionDepth: 0
    functionLinenumber: 8365
    functionLinenumberEnd: 8365
    functionName: showDatabasesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showDatabasesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8409
      start: 8409
    functionDepth: 0
    functionLinenumber: 8409
    functionLinenumberEnd: 8409
    functionName: showGrantsFullStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showGrantsFullStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1686,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1688,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1692
    functionName: epToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6980,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6982,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6991,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6988,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6985,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6994,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6998
      start: 6977
    functionDepth: 0
    functionLinenumber: 6977
    functionLinenumberEnd: 6998
    functionName: createTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1697,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1699,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1703
    functionName: jsonToEp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToEp(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7003,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7011,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7014,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7005,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7008,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7017,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7021
      start: 7000
    functionDepth: 0
    functionLinenumber: 7000
    functionLinenumberEnd: 7021
    functionName: jsonToCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateTableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1999,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2004,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2001,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2010,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2007,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2013,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2016,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2019,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2022
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2022
    functionName: jsonToLogicVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicVirtualTableScanNode(const SJson* pJson,
      void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8541,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8547
      start: 8538
    functionDepth: 0
    functionLinenumber: 8538
    functionLinenumberEnd: 8547
    functionName: showCreateViewStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showCreateViewStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8610,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8615,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8619
      start: 8607
    functionDepth: 0
    functionLinenumber: 8607
    functionLinenumberEnd: 8619
    functionName: jsonToShowTableTagsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowTableTagsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:650,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:652,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:658,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:661,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 665
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 665
    functionName: refColToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t refColToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1265,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1270,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1267,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1273,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1276,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1283
    functionName: logicFillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicFillNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8552,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8558
      start: 8549
    functionDepth: 0
    functionLinenumber: 8549
    functionLinenumberEnd: 8558
    functionName: jsonToShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowCreateViewStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1348,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1350,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1354
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1354
    functionName: jsonToLogicPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicPartitionNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4549,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4554,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4558
      start: 4546
    functionDepth: 0
    functionLinenumber: 4546
    functionLinenumberEnd: 4558
    functionName: jsonToLogicAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicAggNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4608,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4610,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4613,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4619,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4623
      start: 4605
    functionDepth: 0
    functionLinenumber: 4605
    functionLinenumberEnd: 4623
    functionName: exprNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t exprNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7747
      start: 7745
    functionDepth: 0
    functionLinenumber: 7745
    functionLinenumberEnd: 7747
    functionName: jsonToCreateSnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateSnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8152,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8158
      start: 8149
    functionDepth: 0
    functionLinenumber: 8149
    functionLinenumberEnd: 8158
    functionName: jsonToDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropStreamStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4628,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4630,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4633,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4639,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4643
      start: 4625
    functionDepth: 0
    functionLinenumber: 4625
    functionLinenumberEnd: 4643
    functionName: jsonToExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToExprNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7749
      start: 7749
    functionDepth: 0
    functionLinenumber: 7749
    functionLinenumberEnd: 7749
    functionName: dropSnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropSnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7816
      start: 7813
    functionDepth: 0
    functionLinenumber: 7813
    functionLinenumberEnd: 7816
    functionName: restoreComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t restoreComponentNodeStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6957,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6960
      start: 6954
    functionDepth: 0
    functionLinenumber: 6954
    functionLinenumberEnd: 6960
    functionName: s3migrateDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3migrateDatabaseStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1313,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1319
    functionName: logicSortNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicSortNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1854,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1866,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1856,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1862,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1859,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1869,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1872,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1875,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1878,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1882
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1882
    functionName: jsonToLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonMakeObject
    - tjsonGetNumberValue
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicSubplan(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5557,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5563
      start: 5554
    functionDepth: 0
    functionLinenumber: 5554
    functionLinenumberEnd: 5563
    functionName: jsonToLimitNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLimitNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8387
      start: 8387
    functionDepth: 0
    functionLinenumber: 8387
    functionLinenumberEnd: 8387
    functionName: jsonToShowTablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowTablesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1324,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    functionName: jsonToLogicSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicSortNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6968
      start: 6962
    functionDepth: 0
    functionLinenumber: 6962
    functionLinenumberEnd: 6968
    functionName: jsonToS3MigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToS3MigrateDatabaseStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7095
      start: 7092
    functionDepth: 0
    functionLinenumber: 7092
    functionLinenumberEnd: 7095
    functionName: createMultiTablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMultiTablesStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7688,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7689
      start: 7686
    functionDepth: 0
    functionLinenumber: 7686
    functionLinenumberEnd: 7689
    functionName: dropComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropComponentNodeStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8389
      start: 8389
    functionDepth: 0
    functionLinenumber: 8389
    functionLinenumberEnd: 8389
    functionName: showTagsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showTagsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3069,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3077,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3080,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3071,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3074,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3083,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3086,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3089,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3092,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3096
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3096
    functionName: physiMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiMergeNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4782,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4792,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4805,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4818,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4816,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4823,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4788,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4801,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4824,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4775,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4796,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4799,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4799,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4811,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4811,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4820,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4814,1
    - Dst: taosHexEncode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4799,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4804,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 43
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4835
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4835
    functionName: datumToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - tjsonAddDoubleToObject
    - varDataVal
    - taosHexEncode
    - tjsonAddBoolToObject
    - getJsonValueLen
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t datumToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6504,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6509,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6512,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6506,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6515
      start: 6501
    functionDepth: 0
    functionLinenumber: 6501
    functionLinenumberEnd: 6515
    functionName: jsonToColumnReference
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToColumnReference(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7127,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7132,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7129,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7138
      start: 7124
    functionDepth: 0
    functionLinenumber: 7124
    functionLinenumberEnd: 7138
    functionName: jsonToCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateVTableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2121,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2123,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2129,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2132,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2126,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2135,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2138,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2141,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2145
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2145
    functionName: physiScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiScanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3101,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3109,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3106,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3103,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3112,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3115,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3118,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3125
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3125
    functionName: jsonToPhysiMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiMergeNode(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4840,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4842,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4842,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4845,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4848,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4851,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4854,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4857,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4860,1
    - Dst: datumToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4863,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4867
      start: 4837
    functionDepth: 0
    functionLinenumber: 4837
    functionLinenumberEnd: 4867
    functionName: valueNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - exprNodeToJson
    - strlen
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - datumToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t valueNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6021,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6026
      start: 6018
    functionDepth: 0
    functionLinenumber: 6018
    functionLinenumberEnd: 6026
    functionName: windowOffsetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t windowOffsetNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6944,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6946,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6950
      start: 6941
    functionDepth: 0
    functionLinenumber: 6941
    functionLinenumberEnd: 6950
    functionName: jsonToTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTrimDatabaseStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5571,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5576,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5579
      start: 5569
    functionDepth: 0
    functionLinenumber: 5569
    functionLinenumberEnd: 5579
    functionName: stateWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stateWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6242,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6253,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6247,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6250,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6244,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6256,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6263
      start: 6239
    functionDepth: 0
    functionLinenumber: 6239
    functionLinenumberEnd: 6263
    functionName: tableOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6615,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6620,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6617,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6623,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6626,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6630
      start: 6612
    functionDepth: 0
    functionLinenumber: 6612
    functionLinenumberEnd: 6630
    functionName: jsonToDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetUTinyIntValue
    - tjsonGetIntValue
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDataBlockDescNode(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8662,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8673,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8664,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8670,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8667,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8676,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8679,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8686
      start: 8659
    functionDepth: 0
    functionLinenumber: 8659
    functionLinenumberEnd: 8686
    functionName: jsonToDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetBigIntValue
    - tjsonGetUTinyIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDeleteStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8764,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8766,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8775,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8769,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8778
      start: 8762
    functionDepth: 0
    functionLinenumber: 8762
    functionLinenumberEnd: 8778
    functionName: createTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTSMAStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3655,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3657,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3664
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3664
    functionName: physiIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIndefRowsFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5067,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5069,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5072,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5076
      start: 5064
    functionDepth: 0
    functionLinenumber: 5064
    functionLinenumberEnd: 5076
    functionName: logicConditionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicConditionNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5584,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5589,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5592
      start: 5581
    functionDepth: 0
    functionLinenumber: 5581
    functionLinenumberEnd: 5592
    functionName: jsonToStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToStateWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6268,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6279,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6270,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6276,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6273,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6282,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6289
      start: 6265
    functionDepth: 0
    functionLinenumber: 6265
    functionLinenumberEnd: 6289
    functionName: jsonToTableOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTableOptions(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8782,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8793,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8787,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8784,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8796
      start: 8780
    functionDepth: 0
    functionLinenumber: 8780
    functionLinenumberEnd: 8796
    functionName: jsonToCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateTSMAStmt(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2536,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2544,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2541,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2547,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2538,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2551,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2555,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2559,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2563,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2567
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2567
    functionName: jsonToPhysiVirtualTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiVirtualTableScanNode(const SJson* pJson,
      void* pObj) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5107,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5109,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5112,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5118,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5115,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5121,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5124,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5127,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5130,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5133,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5139,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5136,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5142
      start: 5104
    functionDepth: 0
    functionLinenumber: 5104
    functionLinenumberEnd: 5142
    functionName: functionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - exprNodeToJson
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t functionNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4173,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4179
      start: 4170
    functionDepth: 0
    functionLinenumber: 4170
    functionLinenumberEnd: 4179
    functionName: colIdNameToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t colIdNameToJson(const void* pObj, SJson* pJson) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5147,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5158,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5152,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5149,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5155,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5161,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5164,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5167,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5170,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5173,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5176,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5179,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5183
      start: 5144
    functionDepth: 0
    functionLinenumber: 5144
    functionLinenumberEnd: 5183
    functionName: jsonToFunctionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToExprNode
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - tjsonToObject
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToFunctionNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7250
      start: 7247
    functionDepth: 0
    functionLinenumber: 7247
    functionLinenumberEnd: 7250
    functionName: dropTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropTableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7496
      start: 7493
    functionDepth: 0
    functionLinenumber: 7493
    functionLinenumberEnd: 7496
    functionName: dropUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropUserStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7661,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7666,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7670
      start: 7658
    functionDepth: 0
    functionLinenumber: 7658
    functionLinenumberEnd: 7670
    functionName: jsonToDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropIndexStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1631,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1633,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1642,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1639,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1646
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1646
    functionName: jsonToLogicDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicDynQueryCtrlNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1888,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1889
      start: 1886
    functionDepth: 0
    functionLinenumber: 1886
    functionLinenumberEnd: 1889
    functionName: logicPlanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicPlanToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3831
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3831
    functionName: jsonToPhysicDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysicDataSinkNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8267
      start: 8264
    functionDepth: 0
    functionLinenumber: 8264
    functionLinenumberEnd: 8267
    functionName: jsonToSplitVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSplitVgroupStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1894,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1899
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1899
    functionName: jsonToLogicPlan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicPlan(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3833
      start: 3833
    functionDepth: 0
    functionLinenumber: 3833
    functionLinenumberEnd: 3833
    functionName: physiDispatchNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physicDataSinkNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDispatchNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6073,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6082,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6100,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6112,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6127,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6136,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6068,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6085,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6103,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6115,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6121,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6130,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6139,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6076,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6088,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6094,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6106,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6118,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6124,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6133,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6070,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6079,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6091,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6097,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6109,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6142,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6146
      start: 6065
    functionDepth: 0
    functionLinenumber: 6065
    functionLinenumberEnd: 6146
    functionName: databaseOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - nodeListToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t databaseOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7254,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7255
      start: 7252
    functionDepth: 0
    functionLinenumber: 7252
    functionLinenumberEnd: 7255
    functionName: jsonToDropTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropTableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7501
      start: 7498
    functionDepth: 0
    functionLinenumber: 7498
    functionLinenumberEnd: 7501
    functionName: jsonToDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropUserStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5887,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5892,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5895,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5889,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5898,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5902
      start: 5884
    functionDepth: 0
    functionLinenumber: 5884
    functionLinenumberEnd: 5902
    functionName: slotDescNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t slotDescNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8054
      start: 8051
    functionDepth: 0
    functionLinenumber: 8051
    functionLinenumberEnd: 8054
    functionName: compactVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t compactVgroupsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8343
      start: 8343
    functionDepth: 0
    functionLinenumber: 8343
    functionLinenumberEnd: 8343
    functionName: jsonToShowMnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowMnodesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9656,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9658,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9660,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9658,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 9665
      start: 9652
    functionDepth: 0
    functionLinenumber: 9652
    functionLinenumberEnd: 9665
    functionName: jsonToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesNodeName
    - tjsonGetNumberValue
    - nodesError
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5907,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5909,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5915,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5918,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5922
      start: 5904
    functionDepth: 0
    functionLinenumber: 5904
    functionLinenumberEnd: 5922
    functionName: jsonToSlotDescNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - tjsonToObject
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSlotDescNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5933,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5935,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5941,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5938,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5945
      start: 5930
    functionDepth: 0
    functionLinenumber: 5930
    functionLinenumberEnd: 5945
    functionName: columnDefNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnDefNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8059
      start: 8056
    functionDepth: 0
    functionLinenumber: 8056
    functionLinenumberEnd: 8059
    functionName: jsonToCompactVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCompactVgroupsStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8345
      start: 8345
    functionDepth: 0
    functionLinenumber: 8345
    functionLinenumberEnd: 8345
    functionName: showQnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showQnodesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8633,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8638,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8635,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8644,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8641,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8647,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8650,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8657
      start: 8630
    functionDepth: 0
    functionLinenumber: 8630
    functionLinenumberEnd: 8657
    functionName: deleteStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t deleteStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9669,1
    - Dst: jsonToNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9675,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pNode
    argTypes:
    - SJson*
    - SNode**
    constantsTouched: []
    func_position:
      end: 9679
      start: 9667
    functionDepth: 0
    functionLinenumber: 9667
    functionLinenumberEnd: 9679
    functionName: makeNodeByJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    - nodesMakeNode
    - jsonToNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeNodeByJson(const SJson* pJson, SNode** pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1550,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1556
    functionName: jsonToLogicForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicForecastFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3457,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3462,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3466
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3466
    functionName: jsonToPhysiStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiStateWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7729
      start: 7726
    functionDepth: 0
    functionLinenumber: 7726
    functionLinenumberEnd: 7729
    functionName: jsonToUpdateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToUpdateAnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8508,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8514
      start: 8505
    functionDepth: 0
    functionLinenumber: 8505
    functionLinenumberEnd: 8514
    functionName: showCreateTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showCreateTableStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5306,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5308,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5308,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5311,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5314,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5314,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5317,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5324
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5324
    functionName: realTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - VGROUPS_INFO_SIZE
    - tableNodeToJson
    - TABLE_META_SIZE
    - tjsonAddTArray
    - tjsonAddObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t realTableNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7734
      start: 7731
    functionDepth: 0
    functionLinenumber: 7731
    functionLinenumberEnd: 7734
    functionName: dropAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropAnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8312,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8314,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8321
      start: 8309
    functionDepth: 0
    functionLinenumber: 8309
    functionLinenumberEnd: 8321
    functionName: showStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8519,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8521,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8525
      start: 8516
    functionDepth: 0
    functionLinenumber: 8516
    functionLinenumberEnd: 8525
    functionName: jsonToShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowCreateTableStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6305,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6307,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6309
      start: 6302
    functionDepth: 0
    functionLinenumber: 6302
    functionLinenumberEnd: 6309
    functionName: jsonToColumnOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToColumnOptions(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7035,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7037,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7040,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7046,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7043,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7049,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7052,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7055,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7059
      start: 7032
    functionDepth: 0
    functionLinenumber: 7032
    functionLinenumberEnd: 7059
    functionName: createSubTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSubTableClauseToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8339
      start: 8339
    functionDepth: 0
    functionLinenumber: 8339
    functionLinenumberEnd: 8339
    functionName: jsonToShowDnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowDnodesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8383
      start: 8383
    functionDepth: 0
    functionLinenumber: 8383
    functionLinenumberEnd: 8383
    functionName: jsonToShowStreamsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowStreamsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1970,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1978,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1975,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1981,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1972,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1984,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1987,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1990,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1993
    functionName: logicVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicVirtualTableScanNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5515,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5517,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5524
      start: 5512
    functionDepth: 0
    functionLinenumber: 5512
    functionLinenumberEnd: 5524
    functionName: orderByExprNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t orderByExprNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7064,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7075,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7069,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7072,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7066,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7078,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7081,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7084,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7088
      start: 7061
    functionDepth: 0
    functionLinenumber: 7061
    functionLinenumberEnd: 7088
    functionName: jsonToCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateSubTableClause(const SJson* pJson, void*
      pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8074,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8079,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8082,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8085,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8076,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8088,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8091,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8094,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8097,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8101
      start: 8071
    functionDepth: 0
    functionLinenumber: 8071
    functionLinenumberEnd: 8101
    functionName: createStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8341
      start: 8341
    functionDepth: 0
    functionLinenumber: 8341
    functionLinenumberEnd: 8341
    functionName: showMnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showMnodesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8385
      start: 8385
    functionDepth: 0
    functionLinenumber: 8385
    functionLinenumberEnd: 8385
    functionName: showTablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showTablesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1090,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1101,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1092,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1095,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1105
    functionName: logicMergeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicMergeNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5867,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5869,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5876
      start: 5864
    functionDepth: 0
    functionLinenumber: 5864
    functionLinenumberEnd: 5876
    functionName: jsonToTargetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTargetNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1110,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1121,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1112,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1118,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1125
    functionName: jsonToLogicMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicMergeNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1361,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1367
    functionName: logicIndefRowsFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicIndefRowsFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2963,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2965,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2968,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2974,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2971,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2977,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2980,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2984
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2984
    functionName: physiAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiAggNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2296,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2308,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2320,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2326,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2338,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2353,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2365,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2383,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2311,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2329,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2341,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2356,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2368,1
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2294,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2314,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2344,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2332,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2359,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2371,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2377,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2305,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2299,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2302,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2317,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2347,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2323,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2335,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2350,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2362,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2374,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2380,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2386
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2386
    functionName: physiTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - physiScanNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTableScanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1372,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1378
    functionName: jsonToLogicIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicIndefRowsFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1611,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1616,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1619,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1613,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1626
    functionName: logicDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicDynQueryCtrlNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2989,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2997,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2994,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2991,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3000,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3003,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3006,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3010
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 3010
    functionName: jsonToPhysiAggNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiAggNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8141,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8147
      start: 8138
    functionDepth: 0
    functionLinenumber: 8138
    functionLinenumberEnd: 8147
    functionName: dropStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropStreamStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6891,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6896,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6893,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6900
      start: 6888
    functionDepth: 0
    functionLinenumber: 6888
    functionLinenumberEnd: 6900
    functionName: jsonToCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateDatabaseStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3512,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3514,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3520
      start: 3509
    functionDepth: 0
    functionLinenumber: 3509
    functionLinenumberEnd: 3520
    functionName: physiCountWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiCountWindowNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5674,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5679,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5676,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5682
      start: 5671
    functionDepth: 0
    functionLinenumber: 5671
    functionLinenumberEnd: 5682
    functionName: jsonToCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCountWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8488
      start: 8488
    functionDepth: 0
    functionLinenumber: 8488
    functionLinenumberEnd: 8488
    functionName: jsonToShowUserPrivilegesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowUserPrivilegesStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7647,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7649,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7656
      start: 7644
    functionDepth: 0
    functionLinenumber: 7644
    functionLinenumberEnd: 7656
    functionName: dropIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropIndexStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3525,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3530,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3527,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3534
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3534
    functionName: jsonToPhysiCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiCountWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5384,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5386,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5389,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5395,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5392,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5402
      start: 5381
    functionDepth: 0
    functionLinenumber: 5381
    functionLinenumberEnd: 5402
    functionName: joinTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tableNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t joinTableNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6724,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6751,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6718,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6727,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6733,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6745,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6754,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6766,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6710,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6712,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6736,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6757,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6739,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6715,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6721,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6730,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6742,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6760,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6763,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6748,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6770
      start: 6707
    functionDepth: 0
    functionLinenumber: 6707
    functionLinenumberEnd: 6770
    functionName: selectStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t selectStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9770,1
    - Dst: jsonToNodeListImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9774,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9777,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9775,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pList
    argTypes:
    - char*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 9783
      start: 9766
    functionDepth: 0
    functionLinenumber: 9766
    functionLinenumberEnd: 9783
    functionName: nodesStringToList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonParse
    - nodesDestroyList
    - jsonToNodeListImpl
    - tjsonDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesStringToList(const char* pStr, SNodeList** pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alterTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7402
      start: 7402
    functionDepth: 0
    functionLinenumber: 7402
    functionLinenumberEnd: 7402
    functionName: alterStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - alterTableStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterStableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2391,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2393,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2411,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2423,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2441,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2429,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2459,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2471,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2477,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2396,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2408,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2420,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2438,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2426,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2456,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2480,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2405,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2417,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2435,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2447,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2453,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2465,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2399,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2402,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2414,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2432,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2444,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2450,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2462,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2468,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2474,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2483
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2483
    functionName: jsonToPhysiTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - jsonToNodeObject
    - tjsonGetDoubleValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiTableScanNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7963,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7969
      start: 7960
    functionDepth: 0
    functionLinenumber: 7960
    functionLinenumberEnd: 7969
    functionName: alterLocalStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterLocalStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8276,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8281,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8285
      start: 8273
    functionDepth: 0
    functionLinenumber: 8273
    functionLinenumberEnd: 8285
    functionName: grantStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t grantStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToAlterTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7404
      start: 7404
    functionDepth: 0
    functionLinenumber: 7404
    functionLinenumberEnd: 7404
    functionName: jsonToAlterStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToAlterTableStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterStableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7974,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7980
      start: 7971
    functionDepth: 0
    functionLinenumber: 7971
    functionLinenumberEnd: 7980
    functionName: jsonToAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterLocalStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8290,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8295,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8299
      start: 8287
    functionDepth: 0
    functionLinenumber: 8287
    functionLinenumberEnd: 8299
    functionName: jsonToGrantStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToGrantStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5546,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5552
      start: 5543
    functionDepth: 0
    functionLinenumber: 5543
    functionLinenumberEnd: 5552
    functionName: limitNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t limitNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5661,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5663,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5666,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5669
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5669
    functionName: countWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t countWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6919,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6925
      start: 6916
    functionDepth: 0
    functionLinenumber: 6916
    functionLinenumberEnd: 6925
    functionName: jsonToAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterDatabaseStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2034,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2045,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2036,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2042,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2039,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2049
    functionName: physicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physicPlanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3697,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3702,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3708,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3705,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3699,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3711,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3714,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3717,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3720,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3723,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3733,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3730,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3736,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3726,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3740
      start: 3694
    functionDepth: 0
    functionLinenumber: 3694
    functionLinenumberEnd: 3740
    functionName: physiInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiInterpFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5330,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5341,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5338,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5332,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5335,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5345,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5349
      start: 5326
    functionDepth: 0
    functionLinenumber: 5326
    functionLinenumberEnd: 5349
    functionName: jsonToRealTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonMakeObject
    - tjsonGetIntValue
    - tjsonToTArray
    - jsonToTableNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRealTableNode(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6844,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6849,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6853
      start: 6841
    functionDepth: 0
    functionLinenumber: 6841
    functionLinenumberEnd: 6853
    functionName: vnodeModifyStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeModifyStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1539,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1545
    functionName: logicForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicForecastFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2054,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2062,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2065,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2059,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2056,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2069
    functionName: jsonToPhysicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysicPlanNode(const SJson* pJson, void* pObj) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3745,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3753,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3750,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3747,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3756,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3759,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3762,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3765,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3768,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3771,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3778,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3774,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3784,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3781,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3788
      start: 3742
    functionDepth: 0
    functionLinenumber: 3742
    functionLinenumberEnd: 3788
    functionName: jsonToPhysiInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToPhysicPlanNode
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiInterpFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6859,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6864,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6861,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6868
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6868
    functionName: jsonToVnodeModifyStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToVnodeModifyStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8020,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8026
      start: 8017
    functionDepth: 0
    functionLinenumber: 8017
    functionLinenumberEnd: 8026
    functionName: describeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t describeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8262
      start: 8259
    functionDepth: 0
    functionLinenumber: 8259
    functionLinenumberEnd: 8262
    functionName: splitVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splitVgroupStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1020,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1028,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1025,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1022,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1032
    functionName: logicVnodeModifyNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicVnodeModifyNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToCreateComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7758,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7759
      start: 7757
    functionDepth: 0
    functionLinenumber: 7757
    functionLinenumberEnd: 7759
    functionName: jsonToCreateMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToCreateComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateMnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5691,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5693,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5696,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5699
      start: 5688
    functionDepth: 0
    functionLinenumber: 5688
    functionLinenumberEnd: 5699
    functionName: anomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8203,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8209
      start: 8200
    functionDepth: 0
    functionLinenumber: 8200
    functionLinenumberEnd: 8209
    functionName: jsonToMergeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToMergeVgroupStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dropComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7761
      start: 7761
    functionDepth: 0
    functionLinenumber: 7761
    functionLinenumberEnd: 7761
    functionName: dropMnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - dropComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropMnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1037,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1042,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1045,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1039,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1049
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1049
    functionName: jsonToLogicVnodeModifyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToLogicPlanNode
    - tjsonGetIntValue
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicVnodeModifyNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3443,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3445,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3452
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3452
    functionName: physiStateWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiStateWindowNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5704,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5706,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5712
      start: 5701
    functionDepth: 0
    functionLinenumber: 5701
    functionLinenumberEnd: 5712
    functionName: jsonToAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAnomalyWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7989,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7994,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7991,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7998
      start: 7986
    functionDepth: 0
    functionLinenumber: 7986
    functionLinenumberEnd: 7998
    functionName: explainStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t explainStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:704,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:709,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:712,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:715,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:706,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:718,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:722,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:725,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:728,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:731,1
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:735,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:734,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 739
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 739
    functionName: tableMetaToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddArray
    - tjsonAddIntegerToObject
    - TABLE_TOTAL_COL_NUM
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableMetaToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5529,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5534,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5538
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5538
    functionName: jsonToOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToOrderByExprNode(const SJson* pJson, void* pObj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:745,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:747,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:753,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:750,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:756,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:759,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:762,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:765,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:768,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:771,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:775,1
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:774,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 779
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 779
    functionName: jsonToTableMeta
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonToArray
    - tjsonGetNumberValue
    - TABLE_TOTAL_COL_NUM
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTableMeta(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8596,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8598,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8601,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8605
      start: 8593
    functionDepth: 0
    functionLinenumber: 8593
    functionLinenumberEnd: 8605
    functionName: showTableTagsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showTableTagsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5950,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5955,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5952,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5961
      start: 5947
    functionDepth: 0
    functionLinenumber: 5947
    functionLinenumberEnd: 5961
    functionName: jsonToColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToColumnDefNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6320,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6325,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6322,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6331,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6335
      start: 6317
    functionDepth: 0
    functionLinenumber: 6317
    functionLinenumberEnd: 6335
    functionName: indexOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t indexOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7828
      start: 7826
    functionDepth: 0
    functionLinenumber: 7826
    functionLinenumberEnd: 7828
    functionName: jsonToRestoreQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRestoreQnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8585
      start: 8585
    functionDepth: 0
    functionLinenumber: 8585
    functionLinenumberEnd: 8585
    functionName: showLocalVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showLocalVariablesStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6340,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6351,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6342,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6348,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6355
      start: 6337
    functionDepth: 0
    functionLinenumber: 6337
    functionLinenumberEnd: 6355
    functionName: jsonToIndexOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToIndexOptions(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7110,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7112,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7118,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7121
      start: 7107
    functionDepth: 0
    functionLinenumber: 7107
    functionLinenumberEnd: 7121
    functionName: createVTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVTableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7831
      start: 7829
    functionDepth: 0
    functionLinenumber: 7829
    functionLinenumberEnd: 7831
    functionName: jsonToRestoreMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRestoreMnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8587
      start: 8587
    functionDepth: 0
    functionLinenumber: 8587
    functionLinenumberEnd: 8587
    functionName: jsonToShowLocalVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowLocalVariablesStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7677
      start: 7674
    functionDepth: 0
    functionLinenumber: 7674
    functionLinenumberEnd: 7677
    functionName: createComponentNodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createComponentNodeStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7220,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7225,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7222,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7229
      start: 7217
    functionDepth: 0
    functionLinenumber: 7217
    functionLinenumberEnd: 7229
    functionName: dropTableClauseToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropTableClauseToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6877,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6882,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6886
      start: 6874
    functionDepth: 0
    functionLinenumber: 6874
    functionLinenumberEnd: 6886
    functionName: createDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDatabaseStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6296,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6298,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6300
      start: 6294
    functionDepth: 0
    functionLinenumber: 6294
    functionLinenumberEnd: 6300
    functionName: columnOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7682
      start: 7679
    functionDepth: 0
    functionLinenumber: 7679
    functionLinenumberEnd: 7682
    functionName: jsonToCreateComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateComponentNodeStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3020,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3022,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3028,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3031,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3035
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3035
    functionName: physiExchangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiExchangeNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4940,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4947,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4950,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4962,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4969,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4972,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4897,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4901,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4905,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4909,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4913,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4945,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4935,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4952,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4957,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4933,1
    - Dst: taosHexDecode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4945,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4942,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4967,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4877,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4881,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4885,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4889,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4893,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4917,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4921,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4974,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4977,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4988
      start: 4869
    functionDepth: 0
    functionLinenumber: 4869
    functionLinenumberEnd: 4988
    functionName: jsonToDatum
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tjsonGetBigIntValue
    - taosHexDecode
    - varDataVal
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - varDataSetLen
    - tjsonGetDoubleValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDatum(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3040,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3051,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3045,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3042,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3055
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3055
    functionName: jsonToPhysiExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiExchangeNode(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4993,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5002,1
    - Dst: tjsonDupStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4999,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5005,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4996,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5008,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5011,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5014,1
    - Dst: jsonToDatum
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5017,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5021
      start: 4990
    functionDepth: 0
    functionLinenumber: 4990
    functionLinenumberEnd: 5021
    functionName: jsonToValueNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetIntValue
    - jsonToDatum
    - jsonToExprNode
    - tjsonGetBoolValue
    - tjsonDupStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToValueNode(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7448,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7459,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7453,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7456,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7450,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7466
      start: 7445
    functionDepth: 0
    functionLinenumber: 7445
    functionLinenumberEnd: 7466
    functionName: alterUserStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterUserStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7513
      start: 7510
    functionDepth: 0
    functionLinenumber: 7510
    functionLinenumberEnd: 7513
    functionName: jsonToUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToUseDatabaseStmt(const SJson* pJson, void* pObj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:868,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:876,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:870,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:879,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:873,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:882,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:885,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:888,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:891,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:894,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:912,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:915,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:897,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:900,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:903,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:909,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:906,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 918
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 918
    functionName: logicScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicScanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1911,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1913,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1916,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1922,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1919,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1925,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1931
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1931
    functionName: logicJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicJoinNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4154,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4162,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4159,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4156,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4166
      start: 4151
    functionDepth: 0
    functionLinenumber: 4151
    functionLinenumberEnd: 4166
    functionName: jsonToQueryNodeAddr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonToArray
    - tjsonGetIntValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToQueryNodeAddr(const SJson* pJson, void* pObj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:924,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:929,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:926,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:935,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:932,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:938,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:941,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:944,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:947,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:950,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:965,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:962,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:971,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:968,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:953,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:959,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:956,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 974
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 974
    functionName: jsonToLogicScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicScanNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1566,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1568,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1577,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1571,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1581
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1581
    functionName: logicGroupCacheNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicGroupCacheNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1936,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1947,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1944,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1938,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1941,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1950,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1953,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1933
    functionDepth: 0
    functionLinenumber: 1933
    functionLinenumberEnd: 1957
    functionName: jsonToLogicJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicJoinNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7881,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7887
      start: 7878
    functionDepth: 0
    functionLinenumber: 7878
    functionLinenumberEnd: 7887
    functionName: dropTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropTopicStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1000,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1002,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1008,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1005,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1011
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1011
    functionName: jsonToLogicProjectNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicProjectNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2597,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2605,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2602,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2599,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2612
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2612
    functionName: jsonToPhysiSysTableScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonGetNumberValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiSysTableScanNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6537,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6542,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6546
      start: 6534
    functionDepth: 0
    functionLinenumber: 6534
    functionLinenumberEnd: 6546
    functionName: jsonToWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToExprNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToWhenThenNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8445,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8451
      start: 8442
    functionDepth: 0
    functionLinenumber: 8442
    functionLinenumberEnd: 8451
    functionName: jsonToShowDnodeVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowDnodeVariablesStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8453
      start: 8453
    functionDepth: 0
    functionLinenumber: 8453
    functionLinenumberEnd: 8453
    functionName: showTransactionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showTransactionsStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7547,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7549,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7556
      start: 7544
    functionDepth: 0
    functionLinenumber: 7544
    functionLinenumberEnd: 7556
    functionName: alterDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterDnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7763
      start: 7763
    functionDepth: 0
    functionLinenumber: 7763
    functionLinenumberEnd: 7763
    functionName: jsonToDropMnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropMnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3475,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3483,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3477,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3487
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3487
    functionName: physiEventWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiEventWindowNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3598,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3603,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3600,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3609,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3606,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3616
      start: 3595
    functionDepth: 0
    functionLinenumber: 3595
    functionLinenumberEnd: 3616
    functionName: jsonToPhysiPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiPartitionNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4021,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4029,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4026,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4023,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4032,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4035,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4038
      start: 4018
    functionDepth: 0
    functionLinenumber: 4018
    functionLinenumberEnd: 4038
    functionName: jsonToPhysiGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiGroupCacheNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8043,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8044
      start: 8041
    functionDepth: 0
    functionLinenumber: 8041
    functionLinenumberEnd: 8044
    functionName: compactDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t compactDatabaseStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8351
      start: 8351
    functionDepth: 0
    functionLinenumber: 8351
    functionLinenumberEnd: 8351
    functionName: jsonToShowAnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowAnodesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8395
      start: 8395
    functionDepth: 0
    functionLinenumber: 8395
    functionLinenumberEnd: 8395
    functionName: jsonToShowUsersStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowUsersStmt(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3492,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3494,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3500,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3497,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3504
      start: 3489
    functionDepth: 0
    functionLinenumber: 3489
    functionLinenumberEnd: 3504
    functionName: jsonToPhysiEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiEventWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3826
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3826
    functionName: physicDataSinkNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physicDataSinkNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6908,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6914
      start: 6905
    functionDepth: 0
    functionLinenumber: 6905
    functionLinenumberEnd: 6914
    functionName: alterDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterDatabaseStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7561,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7563,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7570
      start: 7558
    functionDepth: 0
    functionLinenumber: 7558
    functionLinenumberEnd: 7570
    functionName: jsonToAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterDnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8048,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8049
      start: 8046
    functionDepth: 0
    functionLinenumber: 8046
    functionLinenumberEnd: 8049
    functionName: jsonToCompactDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCompactDatabaseStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8353
      start: 8353
    functionDepth: 0
    functionLinenumber: 8353
    functionLinenumberEnd: 8353
    functionName: showAnodesFullStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showAnodesFullStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8397
      start: 8397
    functionDepth: 0
    functionLinenumber: 8397
    functionLinenumberEnd: 8397
    functionName: showVgroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showVgroupsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6449,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6451,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6454,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6457,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6461
      start: 6447
    functionDepth: 0
    functionLinenumber: 6447
    functionLinenumberEnd: 6461
    functionName: streamNotifyOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamNotifyOptionsToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1655,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1660,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1664
    functionName: subplanIdToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanIdToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3352,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3354,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3357,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3363,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3360,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3366,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3369,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3372,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3379
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3379
    functionName: physiFillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiFillNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5436,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5441,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5438,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5444,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5438,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5444,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5447,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5455
      start: 5433
    functionDepth: 0
    functionLinenumber: 5433
    functionLinenumberEnd: 5455
    functionName: virtualTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - VGROUPS_INFO_SIZE
    - tableNodeToJson
    - TABLE_META_SIZE
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t virtualTableNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6780,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6798,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6816,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6828,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6777,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6795,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6807,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6825,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6786,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6792,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6804,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6822,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6775,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6783,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6789,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6801,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6810,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6813,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6819,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6831,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6835
      start: 6772
    functionDepth: 0
    functionLinenumber: 6772
    functionLinenumberEnd: 6835
    functionName: jsonToSelectStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSelectStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1669,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1671,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1678
    functionName: jsonToSubplanId
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSubplanId(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2622,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2633,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2627,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2630,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2624,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2636
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2636
    functionName: physiProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiProjectNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3384,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3389,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3395,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3392,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3386,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3398,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3401,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3404,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3407,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3411
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3411
    functionName: jsonToPhysiFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToPhysicPlanNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiFillNode(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5461,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5472,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5463,1
    - Dst: tjsonMakeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5466,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5469,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5479
      start: 5457
    functionDepth: 0
    functionLinenumber: 5457
    functionLinenumberEnd: 5479
    functionName: jsonToVirtualTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonMakeObject
    - tjsonGetIntValue
    - jsonToTableNode
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToVirtualTableNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:603,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:614,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:605,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:611,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 618
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 618
    functionName: schemaToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t schemaToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7820,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7821
      start: 7818
    functionDepth: 0
    functionLinenumber: 7818
    functionLinenumberEnd: 7821
    functionName: jsonToRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRestoreComponentNodeStmt(const SJson* pJson,
      void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8566,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8568,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8572
      start: 8563
    functionDepth: 0
    functionLinenumber: 8563
    functionLinenumberEnd: 8572
    functionName: showTableDistributedStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showTableDistributedStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:624,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:635,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:629,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:626,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 639
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 639
    functionName: jsonToSchema
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSchema(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToRestoreComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7825
      start: 7823
    functionDepth: 0
    functionLinenumber: 7823
    functionLinenumberEnd: 7825
    functionName: jsonToRestoreDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToRestoreComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRestoreDnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8577,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8583
      start: 8574
    functionDepth: 0
    functionLinenumber: 8574
    functionLinenumberEnd: 8583
    functionName: jsonToShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowTableDistributedStmt(const SJson* pJson,
      void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5600,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5605
      start: 5597
    functionDepth: 0
    functionLinenumber: 5597
    functionLinenumberEnd: 5605
    functionName: sessionWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sessionWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6555,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6560,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6557,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6567
      start: 6552
    functionDepth: 0
    functionLinenumber: 6552
    functionLinenumberEnd: 6567
    functionName: caseWhenNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - exprNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t caseWhenNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8106,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8108,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8111,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8114,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8117,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8120,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8123,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8126,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8129,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8133
      start: 8103
    functionDepth: 0
    functionLinenumber: 8103
    functionLinenumberEnd: 8133
    functionName: jsonToCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateStreamStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2577,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2588,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2585,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2582,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2579,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2592
    functionName: physiSysTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiScanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiSysTableScanNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5610,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5615
      start: 5607
    functionDepth: 0
    functionLinenumber: 5607
    functionLinenumberEnd: 5615
    functionName: jsonToSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSessionWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6572,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6574,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6577,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6584
      start: 6569
    functionDepth: 0
    functionLinenumber: 6569
    functionLinenumberEnd: 6584
    functionName: jsonToCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToExprNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCaseWhenNode(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1389,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1395,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1398,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1392,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1401,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1407
    functionName: streamNodeOptionToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamNodeOptionToJson(const void* pObj, SJson* pJson) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2701,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2695,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2731,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2737,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2749,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2692,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2704,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2710,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2725,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2698,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2713,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2740,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2743,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2719,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2728,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2734,1
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2690,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2707,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2716,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2722,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2746,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2753
    functionName: physiMergeJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiMergeJoinNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3669,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3674,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3678
      start: 3666
    functionDepth: 0
    functionLinenumber: 3666
    functionLinenumberEnd: 3678
    functionName: jsonToPhysiIndefRowsFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiIndefRowsFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4352,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4353,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4359,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4358,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4361,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4363,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4367,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4373
      start: 4347
    functionDepth: 0
    functionLinenumber: 4347
    functionLinenumberEnd: 4373
    functionName: jsonToOtableCols
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - taosArrayPush
    - taosStrdup
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - taosArrayInit
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToOtableCols(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5081,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5086,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5090
      start: 5078
    functionDepth: 0
    functionLinenumber: 5078
    functionLinenumberEnd: 5090
    functionName: jsonToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicConditionNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5625,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5630,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5633,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5636
      start: 5622
    functionDepth: 0
    functionLinenumber: 5622
    functionLinenumberEnd: 5636
    functionName: eventWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eventWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1411,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1420,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1417,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1414,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1423,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1426,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1429
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1429
    functionName: jsonToStreamNodeOption
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToStreamNodeOption(const SJson* pJson, void* pObj) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2758,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2766,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2763,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2781,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2808,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2805,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2811,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2802,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2814,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2769,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2760,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2799,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2817,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2778,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2790,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2796,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2772,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2775,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2784,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2787,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2793,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2821
    functionName: jsonToPhysiMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - jsonToPhysicPlanNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiMergeJoinNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4052,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4061,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4054,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4064,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4059,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4067,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4070,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4073,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4076,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4085
      start: 4049
    functionDepth: 0
    functionLinenumber: 4049
    functionLinenumberEnd: 4085
    functionName: physiDynQueryCtrlNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDynQueryCtrlNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4378,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4384,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4380,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4380,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4386,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4391,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4394,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4396,1
    - Dst: jsonToOtableCols
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4397,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4399,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4399,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4405
      start: 4375
    functionDepth: 0
    functionLinenumber: 4375
    functionLinenumberEnd: 4405
    functionName: jsonToOtableHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetArrayItem
    - tjsonGetIntValue
    - tjsonGetStringValue
    - tSimpleHashInit
    - jsonToOtableCols
    - strlen
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToOtableHash(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5641,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5649,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5643,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5646,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5652
      start: 5638
    functionDepth: 0
    functionLinenumber: 5638
    functionLinenumberEnd: 5652
    functionName: jsonToEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToEventWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8434,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8440
      start: 8431
    functionDepth: 0
    functionLinenumber: 8431
    functionLinenumberEnd: 8440
    functionName: showDnodeVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showDnodeVariablesStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4663,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4668,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4671,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4674,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4665,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4677,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4680,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4683,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4686,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4689,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4704,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4695,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4692,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4698,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4701,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4707
      start: 4660
    functionDepth: 0
    functionLinenumber: 4660
    functionLinenumberEnd: 4707
    functionName: columnNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4712,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4717,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4714,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4723,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4720,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4726,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4729,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4732,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4735,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4738,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4747,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4744,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4753,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4750,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4741,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4756
      start: 4709
    functionDepth: 0
    functionLinenumber: 4709
    functionLinenumberEnd: 4756
    functionName: jsonToColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToExprNode
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - tjsonGetStringValue
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToColumnNode(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8804,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8809,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8806,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8812
      start: 8802
    functionDepth: 0
    functionLinenumber: 8802
    functionLinenumberEnd: 8812
    functionName: dropTSMAStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropTSMAStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6419,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6424,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6421,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6427,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6430,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6433,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6436,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6440
      start: 6416
    functionDepth: 0
    functionLinenumber: 6416
    functionLinenumberEnd: 6440
    functionName: jsonToStreamOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToStreamOptions(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3575,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3583,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3586,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3580,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3577,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3589,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3593
      start: 3572
    functionDepth: 0
    functionLinenumber: 3572
    functionLinenumberEnd: 3593
    functionName: physiPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiPartitionNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3999,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4007,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4001,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4010,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4004,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4013,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4016
      start: 3996
    functionDepth: 0
    functionLinenumber: 3996
    functionLinenumberEnd: 4016
    functionName: physiGroupCacheNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddBoolToObject
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiGroupCacheNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2150,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2161,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2152,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2158,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2155,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2164,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2167,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2170,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2174
    functionName: jsonToPhysiScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - jsonToPhysicPlanNode
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiScanNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4585,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4593,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4587,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4597
      start: 4582
    functionDepth: 0
    functionLinenumber: 4582
    functionLinenumberEnd: 4597
    functionName: jsonToDataType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetUTinyIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDataType(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5791,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5797
      start: 5788
    functionDepth: 0
    functionLinenumber: 5788
    functionLinenumberEnd: 5797
    functionName: jsonToNodeListNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToNodeListNode(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7584,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7595,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7589,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7592,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7586,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7598,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7601,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7604,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7608
      start: 7581
    functionDepth: 0
    functionLinenumber: 7581
    functionLinenumberEnd: 7608
    functionName: createIndexStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIndexStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8003,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8008,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8012
      start: 8000
    functionDepth: 0
    functionLinenumber: 8000
    functionLinenumberEnd: 8012
    functionName: jsonToExplainStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToExplainStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8347
      start: 8347
    functionDepth: 0
    functionLinenumber: 8347
    functionLinenumberEnd: 8347
    functionName: jsonToShowQnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowQnodesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8391
      start: 8391
    functionDepth: 0
    functionLinenumber: 8391
    functionLinenumberEnd: 8391
    functionName: jsonToShowTagsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowTagsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7614,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7625,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7619,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7622,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7616,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7628,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7631,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7634,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7638
      start: 7610
    functionDepth: 0
    functionLinenumber: 7610
    functionLinenumberEnd: 7638
    functionName: jsonToCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - jsonToNodeObject
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateIndexStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8349
      start: 8349
    functionDepth: 0
    functionLinenumber: 8349
    functionLinenumberEnd: 8349
    functionName: showAnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showAnodesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8393
      start: 8393
    functionDepth: 0
    functionLinenumber: 8393
    functionLinenumberEnd: 8393
    functionName: showUsersStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showUsersStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7100
      start: 7097
    functionDepth: 0
    functionLinenumber: 7097
    functionLinenumberEnd: 7100
    functionName: jsonToCreateMultiTablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateMultiTablesStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2079,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2084,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2087,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2081,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2091
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2091
    functionName: nameToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nameToJson(const void* pObj, SJson* pJson) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2828,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2858,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2873,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2864,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2867,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2831,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2840,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2843,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2852,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2879,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2876,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2882,1
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2826,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2834,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2846,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2855,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2870,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2861,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2837,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2849,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2886
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2886
    functionName: physiHashJoinNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiHashJoinNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3285,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3290,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3293,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3287,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3296,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3299,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3302,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3309
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3309
    functionName: physiIntervalNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiIntervalNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3881,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3892,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3883,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3889,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3886,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3895,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3898,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3901,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3904,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3908
      start: 3878
    functionDepth: 0
    functionLinenumber: 3878
    functionLinenumberEnd: 3908
    functionName: jsonToPhysiQueryInsertNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetIntValue
    - tjsonGetStringValue
    - tjsonGetUBigIntValue
    - tjsonGetBoolValue
    - tjsonToObject
    - jsonToPhysicDataSinkNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiQueryInsertNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5808,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5810,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5816,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5819,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5813,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5823
      start: 5805
    functionDepth: 0
    functionLinenumber: 5805
    functionLinenumberEnd: 5823
    functionName: fillNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showCreateTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8529
      start: 8527
    functionDepth: 0
    functionLinenumber: 8527
    functionLinenumberEnd: 8529
    functionName: showCreateStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showCreateTableStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showCreateStableStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2096,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2101,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2098,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2108
    functionName: jsonToName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetUTinyIntValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToName(const SJson* pJson, void* pObj) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2893,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2908,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2941,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2938,1
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2891,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2905,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2914,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2932,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2929,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2926,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2935,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2923,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2947,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2902,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2911,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2920,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2896,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2899,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2917,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2944,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2951
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2951
    functionName: jsonToPhysiHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToPhysicPlanNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiHashJoinNode(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3314,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3316,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3322,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3325,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3319,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3328,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3331,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3334,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3338
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3338
    functionName: jsonToPhysiIntervalNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToPhysiWindowNode
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiIntervalNode(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5829,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5831,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5837,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5834,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5844
      start: 5825
    functionDepth: 0
    functionLinenumber: 5825
    functionLinenumberEnd: 5844
    functionName: jsonToFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToFillNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8533
      start: 8531
    functionDepth: 0
    functionLinenumber: 8531
    functionLinenumberEnd: 8533
    functionName: jsonToShowCreateStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowCreateTableStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowCreateStableStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7265,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7273,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7267,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7277
      start: 7262
    functionDepth: 0
    functionLinenumber: 7262
    functionLinenumberEnd: 7277
    functionName: dropStableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropStableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7282,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7287,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7284,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7294
      start: 7279
    functionDepth: 0
    functionLinenumber: 7279
    functionLinenumberEnd: 7294
    functionName: jsonToDropStableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropStableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8192,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8198
      start: 8189
    functionDepth: 0
    functionLinenumber: 8189
    functionLinenumberEnd: 8198
    functionName: mergeVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeVgroupStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4412,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4414,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4419,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4418,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4414,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4424,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4427,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4429,1
    - Dst: jsonToOtableHash
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4430,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4432,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4438
      start: 4409
    functionDepth: 0
    functionLinenumber: 4409
    functionLinenumberEnd: 4438
    functionName: jsonToVtablesHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetArrayItem
    - jsonToOtableHash
    - tjsonGetIntValue
    - tjsonGetUBigIntValue
    - tSimpleHashInit
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToVtablesHash(const SJson* pJson, void* pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5751,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5756,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5753,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5762,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5759,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5765,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5768,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5772
      start: 5748
    functionDepth: 0
    functionLinenumber: 5748
    functionLinenumberEnd: 5772
    functionName: jsonToIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToIntervalWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7739
      start: 7736
    functionDepth: 0
    functionLinenumber: 7736
    functionLinenumberEnd: 7739
    functionName: jsonToDropAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropAnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7774,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7779,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7782,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7776,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7785,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7789
      start: 7771
    functionDepth: 0
    functionLinenumber: 7771
    functionLinenumberEnd: 7789
    functionName: dropDnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropDnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7794,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7796,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7802,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7799,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7809
      start: 7791
    functionDepth: 0
    functionLinenumber: 7791
    functionLinenumberEnd: 7809
    functionName: jsonToDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropDnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1712,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1717,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1714,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1721
    functionName: epSetToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddArray
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t epSetToJson(const void* pObj, SJson* pJson) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4444,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4449,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4446,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4455,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4452,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4458,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4461,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4464,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4467,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4470,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4476,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4473,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4482,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4479,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4488,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4485,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4491,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4495
    functionName: jsonToSubplan
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - tjsonToObject
    - jsonToNodeObject
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSubplan(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7743
      start: 7741
    functionDepth: 0
    functionLinenumber: 7741
    functionLinenumberEnd: 7743
    functionName: createSnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7694
      start: 7691
    functionDepth: 0
    functionLinenumber: 7691
    functionLinenumberEnd: 7694
    functionName: jsonToDropComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropComponentNodeStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7907,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7909,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7916
      start: 7904
    functionDepth: 0
    functionLinenumber: 7904
    functionLinenumberEnd: 7916
    functionName: dropConsumerGroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropConsumerGroupStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8371
      start: 8371
    functionDepth: 0
    functionLinenumber: 8371
    functionLinenumberEnd: 8371
    functionName: jsonToShowFunctionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowFunctionsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8415
      start: 8415
    functionDepth: 0
    functionLinenumber: 8415
    functionLinenumberEnd: 8415
    functionName: showClusterMachinesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showClusterMachinesStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8746,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8748,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8751,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8754
      start: 8744
    functionDepth: 0
    functionLinenumber: 8744
    functionLinenumberEnd: 8754
    functionName: jsonToTSMAOption
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetUTinyIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTSMAOption(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7698
      start: 7696
    functionDepth: 0
    functionLinenumber: 7696
    functionLinenumberEnd: 7698
    functionName: createQnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createQnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4294,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4302,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4296,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4305,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4299,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4308,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4311,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4314,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4317,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4320,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4326,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4338,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4323,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4341,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4329,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4335,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4332,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4345
      start: 4291
    functionDepth: 0
    functionLinenumber: 4291
    functionLinenumberEnd: 4345
    functionName: subplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subplanToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5192,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5200,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5194,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5204
      start: 5189
    functionDepth: 0
    functionLinenumber: 5189
    functionLinenumberEnd: 5204
    functionName: tableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - exprNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7921,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7926,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7930
      start: 7918
    functionDepth: 0
    functionLinenumber: 7918
    functionLinenumberEnd: 7930
    functionName: jsonToDropConsumerGroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropConsumerGroupStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8373
      start: 8373
    functionDepth: 0
    functionLinenumber: 8373
    functionLinenumberEnd: 8373
    functionName: showIndexesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showIndexesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8417
      start: 8417
    functionDepth: 0
    functionLinenumber: 8417
    functionLinenumberEnd: 8417
    functionName: showEncryptionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showEncryptionsStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9638,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9640,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9643,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9643,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9640,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9645,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9645,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 9650
      start: 9635
    functionDepth: 0
    functionLinenumber: 9635
    functionLinenumberEnd: 9650
    functionName: nodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesNodeName
    - tjsonAddObject
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1746,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1754,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1757,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1751,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1761
    functionName: vgroupInfoToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vgroupInfoToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3542,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3544,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3547,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3550
      start: 3539
    functionDepth: 0
    functionLinenumber: 3539
    functionLinenumberEnd: 3550
    functionName: physiAnomalyWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiWindowNodeToJson
    - tjsonAddStringToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiAnomalyWindowNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3796,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3798,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3805
      start: 3793
    functionDepth: 0
    functionLinenumber: 3793
    functionLinenumberEnd: 3805
    functionName: physiForecastFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiForecastFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: physicDataSinkNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3923,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3928,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3931,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3934,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3925,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3937,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3940,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3943,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3946,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3949,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3953
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3953
    functionName: physiDeleteNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - physicDataSinkNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiDeleteNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 213
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDatabaseOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9277,1
    - Dst: jsonToColumnReference
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9291,1
    - Dst: jsonToSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9309,1
    - Dst: jsonToExplainStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9381,1
    - Dst: jsonToCreateQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9361,1
    - Dst: jsonToCreateMultiTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9329,1
    - Dst: jsonToShowDnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9413,1
    - Dst: jsonToShowClusterMachinesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9455,1
    - Dst: jsonToDeleteStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9486,1
    - Dst: jsonToLogicSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9518,1
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9539,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9628,1
    - Dst: jsonToDropStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9335,1
    - Dst: jsonToGroupingSetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9251,1
    - Dst: jsonToIndexOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9283,1
    - Dst: jsonToAlterDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9315,1
    - Dst: jsonToCompactVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9387,1
    - Dst: jsonToShowAnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9419,1
    - Dst: jsonToShowTransactionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9461,1
    - Dst: jsonToShowCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9472,1
    - Dst: jsonToRestoreQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9492,1
    - Dst: jsonToPhysiTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9545,1
    - Dst: jsonToTempTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9245,1
    - Dst: jsonToFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9265,1
    - Dst: jsonToEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9297,1
    - Dst: jsonToUseDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9349,1
    - Dst: jsonToCreateMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9369,1
    - Dst: jsonToShowStablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9433,1
    - Dst: jsonToLogicProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9506,1
    - Dst: jsonToLogicForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9526,1
    - Dst: jsonToPhysiCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9597,1
    - Dst: jsonToPhysiAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9599,1
    - Dst: jsonToDropTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9375,1
    - Dst: jsonToAlterDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9355,1
    - Dst: jsonToColumnNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9233,1
    - Dst: jsonToSlotDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9271,1
    - Dst: jsonToAnomalyWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9303,1
    - Dst: jsonToMergeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9401,1
    - Dst: jsonToGrantStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9407,1
    - Dst: jsonToShowVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9449,1
    - Dst: jsonToLogicMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9512,1
    - Dst: jsonToLogicSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9532,1
    - Dst: jsonToLogicPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9534,1
    - Dst: jsonToPhysiStreamPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9603,1
    - Dst: jsonToDataBlockDescNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9269,1
    - Dst: jsonToCountWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9301,1
    - Dst: jsonToDropDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9353,1
    - Dst: jsonToCreateTopicStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9373,1
    - Dst: jsonToShowConsumersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9447,1
    - Dst: jsonToLogicExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9510,1
    - Dst: jsonToLogicDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9530,1
    - Dst: jsonToPhysiLastRowScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9541,1
    - Dst: jsonToPhysiStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9589,1
    - Dst: jsonToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9601,1
    - Dst: jsonToPhysiQueryInsertNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9614,1
    - Dst: jsonToPhysiGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9618,1
    - Dst: jsonToCreateVSubTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9327,1
    - Dst: jsonToDownstreamSourceNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9275,1
    - Dst: jsonToSetOperator
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9307,1
    - Dst: jsonToDropIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9359,1
    - Dst: jsonToAlterLocalStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9379,1
    - Dst: jsonToAlterClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9411,1
    - Dst: jsonToShowGrantsLogsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9453,1
    - Dst: jsonToShowUsageStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9484,1
    - Dst: jsonToLogicFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9516,1
    - Dst: jsonToPhysiTagScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9536,1
    - Dst: jsonToPhysiEventWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9593,1
    - Dst: jsonToOperatorNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9237,1
    - Dst: jsonToStateWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9257,1
    - Dst: jsonToCreateTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9321,1
    - Dst: jsonToAlterStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9341,1
    - Dst: jsonToSplitVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9405,1
    - Dst: jsonToShowClusterStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9425,1
    - Dst: jsonToShowUserPrivilegesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9467,1
    - Dst: jsonToShowTableDistributedStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9478,1
    - Dst: jsonToLogicScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9498,1
    - Dst: jsonToPhysiProjectNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9551,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9628,1
    - Dst: jsonToDropUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9347,1
    - Dst: jsonToDropSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9367,1
    - Dst: jsonToRealTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9243,1
    - Dst: jsonToNodeListNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9263,1
    - Dst: jsonToCaseWhenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9295,1
    - Dst: jsonToShowIndexesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9431,1
    - Dst: jsonToLogicAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9504,1
    - Dst: jsonToLogicInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9524,1
    - Dst: jsonToPhysiAggNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9557,1
    - Dst: jsonToPhysiIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9605,1
    - Dst: jsonToPhysiMergeJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9553,1
    - Dst: jsonToFunctionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9241,1
    - Dst: jsonToIntervalWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9261,1
    - Dst: jsonToWhenThenNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9293,1
    - Dst: jsonToCreateSnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9365,1
    - Dst: jsonToAlterUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9345,1
    - Dst: jsonToShowFunctionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9429,1
    - Dst: jsonToShowTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9440,1
    - Dst: jsonToLogicVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9502,1
    - Dst: jsonToLogicIndefRowsFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9522,1
    - Dst: jsonToPhysiHashJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9555,1
    - Dst: jsonToPhysiSortNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9564,1
    - Dst: jsonToJoinTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9247,1
    - Dst: jsonToTargetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9267,1
    - Dst: jsonToStreamOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9287,1
    - Dst: jsonToWindowOffsetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9299,1
    - Dst: jsonToCreateDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9351,1
    - Dst: jsonToDropMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9371,1
    - Dst: jsonToShowStreamsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9435,1
    - Dst: jsonToShowVgroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9445,1
    - Dst: jsonToLogicVnodeModifyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9508,1
    - Dst: jsonToLogicGroupCacheNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9528,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9628,1
    - Dst: jsonToPhysiSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9585,1
    - Dst: jsonToCompactDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9385,1
    - Dst: jsonToVirtualTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9249,1
    - Dst: jsonToColumnOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9281,1
    - Dst: jsonToCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9313,1
    - Dst: jsonToDropTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9333,1
    - Dst: jsonToShowQnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9417,1
    - Dst: jsonToShowDnodeVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9459,1
    - Dst: jsonToRestoreDnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9490,1
    - Dst: jsonToPhysiFillNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9577,1
    - Dst: jsonToPhysiDispatchNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9612,1
    - Dst: jsonToPhysiDeleteNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9616,1
    - Dst: jsonToPhysiInterpFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9608,1
    - Dst: jsonToAlterTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9339,1
    - Dst: jsonToS3MigrateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9319,1
    - Dst: jsonToValueNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9235,1
    - Dst: jsonToLimitNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9255,1
    - Dst: jsonToDropStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9391,1
    - Dst: jsonToRedistributeVgroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9403,1
    - Dst: jsonToShowArbGroupsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9423,1
    - Dst: jsonToShowVnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9465,1
    - Dst: jsonToShowCreateViewStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9476,1
    - Dst: jsonToRestoreVnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9496,1
    - Dst: jsonToPhysiExchangeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9559,1
    - Dst: jsonToPhysiDynQueryCtrlNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9620,1
    - Dst: jsonToPlan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9624,1
    - Dst: jsonToOrderByExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9253,1
    - Dst: jsonToExplainOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9285,1
    - Dst: jsonToDropVtableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9337,1
    - Dst: jsonToTrimDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9317,1
    - Dst: jsonToCreateStreamStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9389,1
    - Dst: jsonToShowAnodesFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9421,1
    - Dst: jsonToShowUsersStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9443,1
    - Dst: jsonToShowSubscriptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9463,1
    - Dst: jsonToShowCreateStableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9474,1
    - Dst: jsonToRestoreMnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9494,1
    - Dst: jsonToPhysiIntervalNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9574,1
    - Dst: jsonToPhysiVirtualTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9547,1
    - Dst: jsonToLogicPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9520,1
    - Dst: jsonToDropQnodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9363,1
    - Dst: jsonToLogicConditionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9239,1
    - Dst: jsonToSessionWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9259,1
    - Dst: jsonToCreateSubTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9323,1
    - Dst: jsonToCreateUserStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9343,1
    - Dst: jsonToShowDatabasesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9427,1
    - Dst: jsonToShowTablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9438,1
    - Dst: jsonToShowCreateDatabaseStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9469,1
    - Dst: jsonToShowLocalVariablesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9480,1
    - Dst: jsonToLogicJoinNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9500,1
    - Dst: jsonToSubplan
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9622,1
    - Dst: jsonToCreateIndexStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9357,1
    - Dst: jsonToCreateVTableStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9325,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9231,1
    - Dst: jsonToColumnDefNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9273,1
    - Dst: jsonToStreamNotifyOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9305,1
    - Dst: jsonToDropConsumerGroupStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9377,1
    - Dst: jsonToRevokeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9409,1
    - Dst: jsonToShowGrantsFullStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9451,1
    - Dst: jsonToShowTableTagsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9482,1
    - Dst: jsonToLogicWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9514,1
    - Dst: jsonToPhysiSysTableScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9549,1
    - Dst: jsonToDescribeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9383,1
    - Dst: jsonToDropTableClause
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9331,1
    - Dst: jsonToTableOptions
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9279,1
    - Dst: jsonToVnodeModifyStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9311,1
    - Dst: jsonToShowMnodesStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9415,1
    - Dst: jsonToShowEncryptionsStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9457,1
    - Dst: jsonToInsertStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9488,1
    - Dst: jsonToPhysiMergeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9561,1
    - Dst: jsonToPhysiForecastFuncNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9610,1
    CyclomaticComplexity: 216
    EdgeCount: 216
    ICount: 183
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 9630
      start: 9230
    functionDepth: 0
    functionLinenumber: 9230
    functionLinenumberEnd: 9630
    functionName: jsonToSpecificNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowUserPrivilegesStmt
    - jsonToPhysiInterpFuncNode
    - jsonToShowVariablesStmt
    - jsonToLogicExchangeNode
    - jsonToPhysiIndefRowsFuncNode
    - jsonToSessionWindowNode
    - jsonToOperatorNode
    - jsonToFunctionNode
    - jsonToPhysiPartitionNode
    - jsonToValueNode
    - jsonToLogicJoinNode
    - jsonToDropStableStmt
    - jsonToRestoreQnodeStmt
    - jsonToDropTableStmt
    - jsonToAlterUserStmt
    - jsonToLogicProjectNode
    - jsonToS3MigrateDatabaseStmt
    - jsonToDropTopicStmt
    - jsonToShowTablesStmt
    - jsonToCreateIndexStmt
    - jsonToShowCreateStableStmt
    - jsonToRestoreVnodeStmt
    - nodesNodeName
    - jsonToSelectStmt
    - jsonToShowStablesStmt
    - jsonToPhysiCountWindowNode
    - jsonToExplainStmt
    - jsonToPhysiDispatchNode
    - jsonToShowDatabasesStmt
    - jsonToPhysiMergeNode
    - jsonToIntervalWindowNode
    - jsonToShowClusterMachinesStmt
    - jsonToAlterDatabaseStmt
    - jsonToShowCreateTableStmt
    - jsonToLogicInterpFuncNode
    - jsonToPhysiAggNode
    - jsonToDescribeStmt
    - jsonToLogicPartitionNode
    - jsonToAlterStableStmt
    - jsonToPhysiStateWindowNode
    - jsonToFillNode
    - jsonToPhysiIntervalNode
    - jsonToDropQnodeStmt
    - jsonToLogicVnodeModifyNode
    - jsonToShowSubscriptionsStmt
    - jsonToCreateTopicStmt
    - jsonToPhysiExchangeNode
    - jsonToTableOptions
    - jsonToShowAnodesFullStmt
    - jsonToShowUsersStmt
    - jsonToLogicFillNode
    - jsonToPhysiMergeJoinNode
    - jsonToPhysiSysTableScanNode
    - jsonToShowArbGroupsStmt
    - jsonToShowEncryptionsStmt
    - jsonToShowIndexesStmt
    - jsonToSubplan
    - jsonToPhysiHashJoinNode
    - jsonToShowMnodesStmt
    - jsonToStreamOptions
    - jsonToPhysiDeleteNode
    - jsonToShowTagsStmt
    - jsonToLogicForecastFuncNode
    - jsonToDropUserStmt
    - jsonToPhysiGroupCacheNode
    - jsonToRevokeStmt
    - jsonToPhysiSessionWindowNode
    - jsonToShowVnodesStmt
    - jsonToShowClusterStmt
    - jsonToShowCreateViewStmt
    - jsonToPhysiProjectNode
    - jsonToNodeListNode
    - jsonToRestoreMnodeStmt
    - jsonToCreateDnodeStmt
    - jsonToShowTransactionsStmt
    - jsonToLogicDynQueryCtrlNode
    - jsonToLogicConditionNode
    - jsonToShowFunctionsStmt
    - jsonToCreateMultiTablesStmt
    - jsonToTempTableNode
    - jsonToCreateSubTableClause
    - jsonToShowGrantsLogsStmt
    - jsonToJoinTableNode
    - jsonToAlterClusterStmt
    - jsonToCreateUserStmt
    - jsonToShowUsageStmt
    - jsonToPhysiTagScanNode
    - jsonToCreateVTableStmt
    - nodesWarn
    - jsonToDropStreamStmt
    - jsonToLogicScanNode
    - jsonToCreateVSubTableStmt
    - jsonToPhysiScanNode
    - jsonToShowStreamsStmt
    - jsonToDropIndexStmt
    - jsonToWhenThenNode
    - jsonToDownstreamSourceNode
    - jsonToAnomalyWindowNode
    - jsonToDropSnodeStmt
    - jsonToInsertStmt
    - jsonToExplainOptions
    - jsonToWindowOffsetNode
    - jsonToPhysiDynQueryCtrlNode
    - jsonToLogicPlan
    - jsonToDeleteStmt
    - jsonToStateWindowNode
    - jsonToShowLocalVariablesStmt
    - jsonToCompactVgroupsStmt
    - jsonToColumnNode
    - jsonToSetOperator
    - jsonToMergeVgroupStmt
    - jsonToGroupingSetNode
    - jsonToTrimDatabaseStmt
    - jsonToVnodeModifyStmt
    - jsonToRedistributeVgroupStmt
    - jsonToPhysiQueryInsertNode
    - jsonToShowTableTagsStmt
    - jsonToPhysiSortNode
    - jsonToLogicWindowNode
    - jsonToShowTableDistributedStmt
    - jsonToDropConsumerGroupStmt
    - jsonToDropTableClause
    - jsonToShowQnodesStmt
    - jsonToPhysiStreamPartitionNode
    - jsonToCaseWhenNode
    - jsonToLogicIndefRowsFuncNode
    - jsonToShowCreateDatabaseStmt
    - jsonToCountWindowNode
    - jsonToUseDatabaseStmt
    - jsonToGrantStmt
    - jsonToLogicVirtualTableScanNode
    - jsonToRealTableNode
    - jsonToTargetNode
    - jsonToPlan
    - jsonToCreateStreamStmt
    - jsonToOrderByExprNode
    - jsonToDropVtableStmt
    - jsonToAlterTableStmt
    - jsonToShowDnodesStmt
    - jsonToShowAnodesStmt
    - jsonToDropDnodeStmt
    - jsonToCreateMnodeStmt
    - jsonToLogicSubplan
    - jsonToStreamNotifyOptions
    - nodeType
    - jsonToLogicMergeNode
    - jsonToShowConsumersStmt
    - jsonToAlterDnodeStmt
    - jsonToShowVgroupsStmt
    - jsonToPhysiLastRowScanNode
    - jsonToDataBlockDescNode
    - jsonToLogicSortNode
    - jsonToShowDnodeVariablesStmt
    - jsonToEventWindowNode
    - jsonToColumnOptions
    - jsonToCreateQnodeStmt
    - jsonToRestoreDnodeStmt
    - jsonToAlterLocalStmt
    - jsonToLimitNode
    - jsonToColumnReference
    - jsonToCreateDatabaseStmt
    - jsonToPhysiTableScanNode
    - jsonToPhysiFillNode
    - jsonToPhysiForecastFuncNode
    - jsonToColumnDefNode
    - jsonToPhysiEventWindowNode
    - jsonToCreateTableStmt
    - jsonToDropMnodeStmt
    - jsonToLogicAggNode
    - jsonToPhysiVirtualTableScanNode
    - jsonToSlotDescNode
    - jsonToIndexOptions
    - jsonToShowGrantsFullStmt
    - jsonToCompactDatabaseStmt
    - jsonToPhysiAnomalyWindowNode
    - jsonToVirtualTableNode
    - jsonToCreateSnodeStmt
    - jsonToDatabaseOptions
    - jsonToLogicGroupCacheNode
    - jsonToSplitVgroupStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSpecificNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9720,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9724,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9727,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pStr
    - pNode
    argTypes:
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 9733
      start: 9716
    functionDepth: 0
    functionLinenumber: 9716
    functionLinenumberEnd: 9733
    functionName: nodesStringToNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - makeNodeByJson
    - tjsonParse
    - nodesDestroyNode
    - tjsonDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesStringToNode(const char* pStr, SNode** pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6488,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6493,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6496,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6499
      start: 6486
    functionDepth: 0
    functionLinenumber: 6486
    functionLinenumberEnd: 6499
    functionName: columnReferenceToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnReferenceToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1766,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1771,1
    - Dst: tjsonGetUIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1768,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1777,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1781
    functionName: jsonToVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetUIntValue
    - tjsonGetIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToVgroupInfo(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3555,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3557,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3564
      start: 3552
    functionDepth: 0
    functionLinenumber: 3552
    functionLinenumberEnd: 3564
    functionName: jsonToPhysiAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToPhysiWindowNode
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiAnomalyWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3810,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3815,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3819
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3819
    functionName: jsonToPhysiForecastFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiForecastFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3958,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3969,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3963,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3960,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3966,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3972,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3975,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3978,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3981,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3984,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3988
      start: 3955
    functionDepth: 0
    functionLinenumber: 3955
    functionLinenumberEnd: 3988
    functionName: jsonToPhysiDeleteNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - tjsonGetStringValue
    - tjsonGetUBigIntValue
    - jsonToNodeObject
    - jsonToPhysicDataSinkNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiDeleteNode(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5853,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5858,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5862
      start: 5850
    functionDepth: 0
    functionLinenumber: 5850
    functionLinenumberEnd: 5862
    functionName: targetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t targetNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9741,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9752,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9759,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9751,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9745,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9759,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9760,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9762,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - pList
    - format
    - pStr
    - pLen
    argTypes:
    - SNodeList*
    - bool
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 9764
      start: 9735
    functionDepth: 0
    functionLinenumber: 9735
    functionLinenumberEnd: 9764
    functionName: nodesListToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - tjsonToUnformattedString
    - tjsonDelete
    - tjsonAddItem
    - tjsonToString
    - strlen
    - FOREACH
    - tjsonCreateArray
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListToString(const SNodeList* pList, bool format, char**
      pStr, int32_t* pLen) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1147,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1152,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1155,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1158,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1149,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1161,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1164,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1167,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1170,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1173,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1191,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1182,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1194,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1185,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1179,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1176,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1188,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1198
    functionName: logicWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4090,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4097,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4092,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4102,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4099,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4105,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4108,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4111,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4114,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4117,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 4127
      start: 4087
    functionDepth: 0
    functionLinenumber: 4087
    functionLinenumberEnd: 4127
    functionName: jsonToPhysiDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetNumberValue
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiDynQueryCtrlNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4188,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4188,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4203,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4193,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4202,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4205,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4209,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4213,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4213,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4213,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4217,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4224
      start: 4186
    functionDepth: 0
    functionLinenumber: 4186
    functionLinenumberEnd: 4224
    functionName: oTableHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - tjsonAddArray
    - tSimpleHashGetSize
    - tjsonAddItemToArray
    - tSimpleHashIterate
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t oTableHashToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8359
      start: 8359
    functionDepth: 0
    functionLinenumber: 8359
    functionLinenumberEnd: 8359
    functionName: jsonToShowArbGroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowArbGroupsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8403
      start: 8403
    functionDepth: 0
    functionLinenumber: 8403
    functionLinenumberEnd: 8403
    functionName: jsonToShowConsumersStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowConsumersStmt(const SJson* pJson, void* pObj) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1203,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1214,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1211,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1205,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1208,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1217,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1220,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1223,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1226,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1229,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1232,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1235,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1241,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1244,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1247,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1238,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1250,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 65
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1254
    functionName: jsonToLogicWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1337,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1343
    functionName: logicPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicPartitionNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8361
      start: 8361
    functionDepth: 0
    functionLinenumber: 8361
    functionLinenumberEnd: 8361
    functionName: showClusterStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showClusterStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8405
      start: 8405
    functionDepth: 0
    functionLinenumber: 8405
    functionLinenumberEnd: 8405
    functionName: showVariablesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showVariablesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8734,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8739,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8742
      start: 8732
    functionDepth: 0
    functionLinenumber: 8732
    functionLinenumberEnd: 8742
    functionName: tsmaOptionToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptionToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8426
      start: 8426
    functionDepth: 0
    functionLinenumber: 8426
    functionLinenumberEnd: 8426
    functionName: jsonToShowUsageStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowUsageStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4535,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4537,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4544
      start: 4532
    functionDepth: 0
    functionLinenumber: 4532
    functionLinenumberEnd: 4544
    functionName: logicAggNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicAggNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5725,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5730,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5733,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5727,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5736,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5739,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5742,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5746
      start: 5722
    functionDepth: 0
    functionLinenumber: 5722
    functionLinenumberEnd: 5746
    functionName: intervalWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t intervalWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7714
      start: 7711
    functionDepth: 0
    functionLinenumber: 7711
    functionLinenumberEnd: 7714
    functionName: createAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1057,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1059,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1066
    functionName: logicExchangeNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicExchangeNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiPartitionNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3638,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3643,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3640,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3647
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3647
    functionName: jsonToPhysiStreamPartitionNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - jsonToNodeObject
    - jsonToPhysiPartitionNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiStreamPartitionNode(const SJson* pJson,
      void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5047,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5049,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5052,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5059
      start: 5044
    functionDepth: 0
    functionLinenumber: 5044
    functionLinenumberEnd: 5059
    functionName: jsonToOperatorNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - jsonToExprNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToOperatorNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5488,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5494
      start: 5485
    functionDepth: 0
    functionLinenumber: 5485
    functionLinenumberEnd: 5494
    functionName: groupingSetNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupingSetNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7861,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7869,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7866,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7863,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7873
      start: 7858
    functionDepth: 0
    functionLinenumber: 7858
    functionLinenumberEnd: 7873
    functionName: jsonToCreateTopicStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateTopicStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8478,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8480,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8484
      start: 8475
    functionDepth: 0
    functionLinenumber: 8475
    functionLinenumberEnd: 8484
    functionName: jsonToShowVnodesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowVnodesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8495
      start: 8492
    functionDepth: 0
    functionLinenumber: 8492
    functionLinenumberEnd: 8495
    functionName: showCreateDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showCreateDatabaseStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9682,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - pNode
    argTypes:
    - SJson*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 9687
      start: 9681
    functionDepth: 0
    functionLinenumber: 9681
    functionLinenumberEnd: 9687
    functionName: jsonToNodeObject
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - makeNodeByJson
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToNodeObject(const SJson* pJson, const char* pName,
      SNode** pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1071,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1076,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1080
    functionName: jsonToLogicExchangeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToLogicPlanNode
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicExchangeNode(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2496,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2503,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2507,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2511,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2499,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2515,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2519,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2523,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2527,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2531
    functionName: physiVirtualTableScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - physiScanNodeToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiVirtualTableScanNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5500,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5506
      start: 5496
    functionDepth: 0
    functionLinenumber: 5496
    functionLinenumberEnd: 5506
    functionName: jsonToGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToGroupingSetNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8486
      start: 8486
    functionDepth: 0
    functionLinenumber: 8486
    functionLinenumberEnd: 8486
    functionName: showUserPrivilegesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showUserPrivilegesStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8500
      start: 8497
    functionDepth: 0
    functionLinenumber: 8497
    functionLinenumberEnd: 8500
    functionName: jsonToShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowCreateDatabaseStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9695,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9707,1
    - Dst: tjsonToUnformattedString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9706,1
    - Dst: nodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9700,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9706,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - pNode
    - format
    - pStr
    - pLen
    argTypes:
    - SNode*
    - bool
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 9714
      start: 9689
    functionDepth: 0
    functionLinenumber: 9689
    functionLinenumberEnd: 9714
    functionName: nodesNodeToString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonToUnformattedString
    - tjsonDelete
    - tjsonToString
    - strlen
    - nodeToJson
    - tjsonCreateObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesNodeToString(const SNode* pNode, bool format, char**
      pStr, int32_t* pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeListImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:551,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 552
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 552
    functionName: jsonToNodeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeListImpl
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToNodeList(const SJson* pJson, const char* pName,
      SNodeList** pList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7153,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7155,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7164,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7161,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7158,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7167,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7170,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7173,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7179
      start: 7150
    functionDepth: 0
    functionLinenumber: 7150
    functionLinenumberEnd: 7179
    functionName: createVSubTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - nodeListToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVSubTableStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5780,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5782,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5786
      start: 5777
    functionDepth: 0
    functionLinenumber: 5777
    functionLinenumberEnd: 5786
    functionName: nodeListNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeListNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7184,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7192,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7186,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7189,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7195,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7198,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7201,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7204,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7211
      start: 7181
    functionDepth: 0
    functionLinenumber: 7181
    functionLinenumberEnd: 7211
    functionName: jsonToCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateVSubTableStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6031,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6036
      start: 6028
    functionDepth: 0
    functionLinenumber: 6028
    functionLinenumberEnd: 6036
    functionName: jsonToWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToWindowOffsetNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6465,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6468,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6472,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6480
      start: 6463
    functionDepth: 0
    functionLinenumber: 6463
    functionLinenumberEnd: 6480
    functionName: jsonToStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToStreamNotifyOptions(const SJson* pJson, void*
      pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7532,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7538
      start: 7529
    functionDepth: 0
    functionLinenumber: 7529
    functionLinenumberEnd: 7538
    functionName: jsonToCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateDnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1822,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1830,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1824,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1833,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1827,1
    - Dst: VGROUPS_INFO_SIZE
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1833,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1836,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1839,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1842,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1845,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1849
    functionName: logicSubplanToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    - VGROUPS_INFO_SIZE
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicSubplanToJson(const void* pObj, SJson* pJson) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1447,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1452,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1455,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1458,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1449,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1461,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1464,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1467,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1470,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1473,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1477,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1480,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 1487
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1487
    functionName: logicInterpFuncNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicInterpFuncNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8367
      start: 8367
    functionDepth: 0
    functionLinenumber: 8367
    functionLinenumberEnd: 8367
    functionName: jsonToShowDatabasesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowDatabasesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1492,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1497,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1494,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1503,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1500,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1506,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1509,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1512,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1515,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1518,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1522,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1528,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1525,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1532
    functionName: jsonToLogicInterpFuncNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    - tjsonToObject
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicInterpFuncNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4232,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4232,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4247,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4246,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4237,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4249,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4253,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4257,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4261,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4268
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4268
    functionName: vtablesHashToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - tjsonAddItemToArray
    - tjsonAddObject
    - tSimpleHashIterate
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vtablesHashToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8369
      start: 8369
    functionDepth: 0
    functionLinenumber: 8369
    functionLinenumberEnd: 8369
    functionName: showFunctionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showFunctionsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8467,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8473
      start: 8464
    functionDepth: 0
    functionLinenumber: 8464
    functionLinenumberEnd: 8473
    functionName: showVnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showVnodesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6393,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6398,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6404,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6395,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6401,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6407,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6410,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6414
      start: 6390
    functionDepth: 0
    functionLinenumber: 6390
    functionLinenumberEnd: 6414
    functionName: streamOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7844,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7852,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7846,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7849,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7856
      start: 7841
    functionDepth: 0
    functionLinenumber: 7841
    functionLinenumberEnd: 7856
    functionName: createTopicStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTopicStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8696,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8701,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8704,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8708
      start: 8693
    functionDepth: 0
    functionLinenumber: 8693
    functionLinenumberEnd: 8708
    functionName: insertStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t insertStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:510,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:516,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:511,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pJson
    - pName
    - pList
    argTypes:
    - SJson*
    - char*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 524
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 524
    functionName: nodeListToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddItem
    - LIST_LENGTH
    - FOREACH
    - tjsonAddArrayToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodeListToJson(SJson* pJson, const char* pName, const
      SNodeList* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2218
    functionName: jsonToFuncType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToFuncType(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5407,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5412,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5418,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5415,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5409,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5425
      start: 5404
    functionDepth: 0
    functionLinenumber: 5404
    functionLinenumberEnd: 5425
    functionName: jsonToJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - jsonToTableNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToJoinTableNode(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5996,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6001,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5998,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6007,1
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6004,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6014
      start: 5993
    functionDepth: 0
    functionLinenumber: 5993
    functionLinenumberEnd: 6014
    functionName: jsonToDownstreamSourceNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetIntValue
    - tjsonGetUBigIntValue
    - tjsonToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDownstreamSourceNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6156,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6159,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6177,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6183,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6201,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6216,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6153,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6168,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6174,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6192,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6198,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6213,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6222,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6225,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6165,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6171,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6189,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6195,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6207,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6210,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6219,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6151,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6162,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6186,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6204,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6180,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 102
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6229
      start: 6148
    functionDepth: 0
    functionLinenumber: 6148
    functionLinenumberEnd: 6229
    functionName: jsonToDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - jsonToNodeList
    - tjsonGetIntValue
    - jsonToNodeObject
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7234,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7236,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7243
      start: 7231
    functionDepth: 0
    functionLinenumber: 7231
    functionLinenumberEnd: 7243
    functionName: jsonToDropTableClause
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropTableClause(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6363,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6369
      start: 6360
    functionDepth: 0
    functionLinenumber: 6360
    functionLinenumberEnd: 6369
    functionName: explainOptionsToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t explainOptionsToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8355
      start: 8355
    functionDepth: 0
    functionLinenumber: 8355
    functionLinenumberEnd: 8355
    functionName: jsonToShowAnodesFullStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowAnodesFullStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:527,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:529,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:537,1
    - Dst: makeNodeByJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:539,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pJsonArray
    - pList
    argTypes:
    - SJson*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 548
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 548
    functionName: jsonToNodeListImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - tjsonGetArraySize
    - makeNodeByJson
    - nodesMakeList
    - tjsonGetArrayItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToNodeListImpl(const SJson* pJsonArray, SNodeList**
      pList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2223,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2228,1
    - Dst: tjsonAddTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2234,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2231,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2238
    functionName: physiLastRowScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddTArray
    - physiScanNodeToJson
    - nodeListToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiLastRowScanNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5973,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5975,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5978,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5984,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5981,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5987,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5991
      start: 5970
    functionDepth: 0
    functionLinenumber: 5970
    functionLinenumberEnd: 5991
    functionName: downstreamSourceNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t downstreamSourceNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6374,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6376,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6380
      start: 6371
    functionDepth: 0
    functionLinenumber: 6371
    functionLinenumberEnd: 6380
    functionName: jsonToExplainOptions
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetDoubleValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToExplainOptions(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8357
      start: 8357
    functionDepth: 0
    functionLinenumber: 8357
    functionLinenumberEnd: 8357
    functionName: showArbGroupsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showArbGroupsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7706,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7706
      start: 7706
    functionDepth: 0
    functionLinenumber: 7706
    functionLinenumberEnd: 7706
    functionName: jsonToDropQnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropQnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7938,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7944
      start: 7935
    functionDepth: 0
    functionLinenumber: 7935
    functionLinenumberEnd: 7944
    functionName: alterClusterStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterClusterStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8455
      start: 8455
    functionDepth: 0
    functionLinenumber: 8455
    functionLinenumberEnd: 8455
    functionName: jsonToShowTransactionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowTransactionsStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4137,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4142,1
    - Dst: tjsonAddArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4145,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4149
      start: 4134
    functionDepth: 0
    functionLinenumber: 4134
    functionLinenumberEnd: 4149
    functionName: queryNodeAddrToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddArray
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryNodeAddrToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7949,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7955
      start: 7946
    functionDepth: 0
    functionLinenumber: 7946
    functionLinenumberEnd: 7955
    functionName: jsonToAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterClusterStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8457
      start: 8457
    functionDepth: 0
    functionLinenumber: 8457
    functionLinenumberEnd: 8457
    functionName: showSubscriptionsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showSubscriptionsStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7471,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7476,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7479,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7482,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7473,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7489
      start: 7468
    functionDepth: 0
    functionLinenumber: 7468
    functionLinenumberEnd: 7489
    functionName: jsonToAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterUserStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2243,1
    - Dst: tjsonToTArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2254,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2245,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2251,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2258
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2258
    functionName: jsonToPhysiLastRowScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    - tjsonToTArray
    - jsonToNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiLastRowScanNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1586,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1597,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1588,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1594,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1591,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1583
    functionDepth: 0
    functionLinenumber: 1583
    functionLinenumberEnd: 1601
    functionName: jsonToLogicGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToLogicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicGroupCacheNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3236,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3241,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3247,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3238,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3244,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3250,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3253,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3256,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3259,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3262,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3265,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3268,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3272
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3272
    functionName: jsonToPhysiWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetTinyIntValue
    - tjsonGetBigIntValue
    - jsonToNodeList
    - tjsonGetBoolValue
    - jsonToPhysicPlanNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiWindowNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3835
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3835
    functionName: jsonToPhysiDispatchNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToPhysicDataSinkNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiDispatchNode(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6666,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6674,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6677,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6671,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6668,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 6684
      start: 6662
    functionDepth: 0
    functionLinenumber: 6662
    functionLinenumberEnd: 6684
    functionName: jsonToSetOperator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToSetOperator(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8399
      start: 8399
    functionDepth: 0
    functionLinenumber: 8399
    functionLinenumberEnd: 8399
    functionName: jsonToShowVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowVgroupsStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8816,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8821,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8824
      start: 8814
    functionDepth: 0
    functionLinenumber: 8814
    functionLinenumberEnd: 8824
    functionName: jsonToDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropTSMAStmt(const SJson* pJson, void* pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: physiPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3624,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3629,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3633
      start: 3621
    functionDepth: 0
    functionLinenumber: 3621
    functionLinenumberEnd: 3633
    functionName: physiStreamPartitionNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddObject
    - nodeListToJson
    - physiPartitionNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiStreamPartitionNodeToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8401
      start: 8401
    functionDepth: 0
    functionLinenumber: 8401
    functionLinenumberEnd: 8401
    functionName: showConsumersStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showConsumersStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 214
    BranchProfiles: []
    Callsites:
    - Dst: downstreamSourceNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8873,1
    - Dst: setOperatorToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8905,1
    - Dst: createTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8977,1
    - Dst: dropIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8957,1
    - Dst: showConsumersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9051,1
    - Dst: logicSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9114,1
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9134,1
    - Dst: physiInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9204,1
    - Dst: createAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8963,1
    - Dst: operatorNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8833,1
    - Dst: columnOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8879,1
    - Dst: whenThenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8891,1
    - Dst: createDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8911,1
    - Dst: alterLocalStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8983,1
    - Dst: alterClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9015,1
    - Dst: showGrantsLogsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9057,1
    - Dst: logicInterpFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9120,1
    - Dst: physiTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9141,1
    - Dst: physiProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9147,1
    - Dst: physiEventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9189,1
    - Dst: logicForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9122,1
    - Dst: createVSubTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8925,1
    - Dst: dropUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8945,1
    - Dst: columnNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8829,1
    - Dst: groupingSetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8847,1
    - Dst: splitVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9009,1
    - Dst: showClusterStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9029,1
    - Dst: showUserPrivilegesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9071,1
    - Dst: showTableDistributedStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9082,1
    - Dst: logicProjectNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9102,1
    - Dst: physiExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9155,1
    - Dst: showLocalVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9084,1
    - Dst: physiForecastFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9206,1
    - Dst: physiDeleteNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9214,1
    - Dst: physiStateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9185,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9226,1
    - Dst: logicDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9126,1
    - Dst: dropDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8951,1
    - Dst: dropSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8971,1
    - Dst: stateWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8853,1
    - Dst: dataBlockDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8867,1
    - Dst: countWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8899,1
    - Dst: dropTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8931,1
    - Dst: showIndexesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9035,1
    - Dst: showUsageStmtStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9088,1
    - Dst: logicMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9108,1
    - Dst: logicSubplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9128,1
    - Dst: planToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9222,1
    - Dst: physiDynQueryCtrlNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9218,1
    - Dst: physiSysTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9145,1
    - Dst: targetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8865,1
    - Dst: limitNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8851,1
    - Dst: windowOffsetNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8897,1
    - Dst: createDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8949,1
    - Dst: dropTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8929,1
    - Dst: showFunctionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9033,1
    - Dst: showTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9044,1
    - Dst: showTableTagsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9086,1
    - Dst: logicExchangeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9106,1
    - Dst: physiLastRowScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9137,1
    - Dst: physiAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9153,1
    - Dst: physiMergeNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9157,1
    - Dst: columnDefNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8871,1
    - Dst: streamNotifyOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8903,1
    - Dst: dropMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8975,1
    - Dst: createIndexStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8955,1
    - Dst: showStreamsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9039,1
    - Dst: logicFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9112,1
    - Dst: physiTagScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9132,1
    - Dst: physiPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9197,1
    - Dst: subplanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9220,1
    - Dst: s3migrateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8917,1
    - Dst: realTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8839,1
    - Dst: nodeListNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8859,1
    - Dst: streamOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8885,1
    - Dst: createSnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8969,1
    - Dst: alterTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8937,1
    - Dst: compactDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8989,1
    - Dst: showQnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9021,1
    - Dst: showDnodeVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9063,1
    - Dst: logicScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9094,1
    - Dst: physiSessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9181,1
    - Dst: createVTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8923,1
    - Dst: alterUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8943,1
    - Dst: virtualTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8845,1
    - Dst: dropStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8995,1
    - Dst: redistributeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9007,1
    - Dst: showArbGroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9027,1
    - Dst: showVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9049,1
    - Dst: showVnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9069,1
    - Dst: showCreateViewStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9080,1
    - Dst: logicAggNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9100,1
    - Dst: deleteStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9090,1
    - Dst: physiSortNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9160,1
    - Dst: joinTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8843,1
    - Dst: createSubTableClauseToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8921,1
    - Dst: createUserStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8941,1
    - Dst: createStreamStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8993,1
    - Dst: mergeVgroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9005,1
    - Dst: showAnodesFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9025,1
    - Dst: showUsersStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9047,1
    - Dst: showSubscriptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9067,1
    - Dst: showCreateStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9078,1
    - Dst: logicVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9098,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9226,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8827,1
    - Dst: orderByExprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8849,1
    - Dst: columnReferenceToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8889,1
    - Dst: eventWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8895,1
    - Dst: createMultiTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8927,1
    - Dst: useDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8947,1
    - Dst: grantStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9011,1
    - Dst: showDatabasesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9031,1
    - Dst: showTablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9042,1
    - Dst: showCreateDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9073,1
    - Dst: physiHashJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9151,1
    - Dst: physiDispatchNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9208,1
    - Dst: physiIntervalNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9170,1
    - Dst: physiVirtualTableScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9143,1
    - Dst: dropConsumerGroupStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8981,1
    - Dst: dropQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8961,1
    - Dst: valueNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8831,1
    - Dst: tableOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8877,1
    - Dst: vnodeModifyStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8909,1
    - Dst: revokeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9013,1
    - Dst: showGrantsFullStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9055,1
    - Dst: logicIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9118,1
    - Dst: physiFillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9173,1
    - Dst: logicVnodeModifyNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9104,1
    - Dst: dropVtableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8935,1
    - Dst: functionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8837,1
    - Dst: intervalWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8857,1
    - Dst: explainOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8883,1
    - Dst: trimDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8915,1
    - Dst: updateAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8967,1
    - Dst: describeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8987,1
    - Dst: showMnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9019,1
    - Dst: showEncryptionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9061,1
    - Dst: insertStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9092,1
    - Dst: logicGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9124,1
    - Dst: logicConditionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8835,1
    - Dst: sessionWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8855,1
    - Dst: indexOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8881,1
    - Dst: caseWhenNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8893,1
    - Dst: dropAnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8965,1
    - Dst: alterDatabaseStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8913,1
    - Dst: dropStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8933,1
    - Dst: explainStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8985,1
    - Dst: showDnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9017,1
    - Dst: showClusterMachinesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9059,1
    - Dst: physiQueryInsertNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9212,1
    - Dst: tempTableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8841,1
    - Dst: fillNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8861,1
    - Dst: alterStableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8939,1
    - Dst: createTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8919,1
    - Dst: compactVgroupsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8991,1
    - Dst: showAnodesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9023,1
    - Dst: showTransactionsStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9065,1
    - Dst: showCreateTableStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9076,1
    - Dst: logicJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9096,1
    - Dst: physiMergeJoinNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9149,1
    - Dst: physiCountWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9193,1
    - Dst: physiGroupCacheNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9216,1
    - Dst: alterDnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8953,1
    - Dst: createMnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8973,1
    - Dst: slotDescNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8869,1
    - Dst: anomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8901,1
    - Dst: showStablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9037,1
    - Dst: logicWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9110,1
    - Dst: logicPlanToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9130,1
    - Dst: physiIndefRowsFuncNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9201,1
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9226,1
    - Dst: dropTopicStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8979,1
    - Dst: databaseOptionsToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8875,1
    - Dst: selectStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8907,1
    - Dst: createQnodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8959,1
    - Dst: showVariablesStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9053,1
    - Dst: logicPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9116,1
    - Dst: physiStreamPartitionNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9199,1
    - Dst: physiAnomalyWindowNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:9195,1
    CyclomaticComplexity: 217
    EdgeCount: 217
    ICount: 182
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 9228
      start: 8826
    functionDepth: 0
    functionLinenumber: 8826
    functionLinenumberEnd: 9228
    functionName: specificNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showCreateTableStmtToJson
    - createSnodeStmtToJson
    - slotDescNodeToJson
    - showTransactionsStmtToJson
    - logicDynQueryCtrlNodeToJson
    - eventWindowNodeToJson
    - physiCountWindowNodeToJson
    - fillNodeToJson
    - logicJoinNodeToJson
    - tempTableNodeToJson
    - s3migrateDatabaseStmtToJson
    - dropStreamStmtToJson
    - showQnodesStmtToJson
    - physiLastRowScanNodeToJson
    - vnodeModifyStmtToJson
    - dropQnodeStmtToJson
    - physiTableScanNodeToJson
    - showIndexesStmtToJson
    - alterDnodeStmtToJson
    - realTableNodeToJson
    - compactVgroupsStmtToJson
    - showUsageStmtStmtToJson
    - updateAnodeStmtToJson
    - logicInterpFuncNodeToJson
    - countWindowNodeToJson
    - physiDynQueryCtrlNodeToJson
    - functionNodeToJson
    - logicPartitionNodeToJson
    - groupingSetNodeToJson
    - intervalWindowNodeToJson
    - dropVtableStmtToJson
    - showGrantsFullStmtToJson
    - nodesNodeName
    - logicFillNodeToJson
    - physiPartitionNodeToJson
    - dropDnodeStmtToJson
    - indexOptionsToJson
    - alterClusterStmtToJson
    - createSubTableClauseToJson
    - createVTableStmtToJson
    - streamOptionsToJson
    - createVSubTableStmtToJson
    - logicMergeNodeToJson
    - physiQueryInsertNodeToJson
    - showTableDistributedStmtToJson
    - orderByExprNodeToJson
    - physiSysTableScanNodeToJson
    - describeStmtToJson
    - createDatabaseStmtToJson
    - logicWindowNodeToJson
    - physiDeleteNodeToJson
    - trimDatabaseStmtToJson
    - limitNodeToJson
    - planToJson
    - deleteStmtToJson
    - dropStableStmtToJson
    - logicIndefRowsFuncNodeToJson
    - physiScanNodeToJson
    - logicExchangeNodeToJson
    - showLocalVariablesStmtToJson
    - showDatabasesStmtToJson
    - explainOptionsToJson
    - showDnodesStmtToJson
    - explainStmtToJson
    - insertStmtToJson
    - targetNodeToJson
    - createTopicStmtToJson
    - physiMergeJoinNodeToJson
    - physiSortNodeToJson
    - columnDefNodeToJson
    - selectStmtToJson
    - tableOptionsToJson
    - alterUserStmtToJson
    - databaseOptionsToJson
    - physiAggNodeToJson
    - redistributeVgroupStmtToJson
    - physiStreamPartitionNodeToJson
    - physiFillNodeToJson
    - showCreateStableStmtToJson
    - alterDatabaseStmtToJson
    - physiSessionWindowNodeToJson
    - grantStmtToJson
    - showFunctionsStmtToJson
    - showClusterMachinesStmtToJson
    - alterTableStmtToJson
    - showVnodesStmtToJson
    - streamNotifyOptionsToJson
    - revokeStmtToJson
    - showSubscriptionsStmtToJson
    - physiAnomalyWindowNodeToJson
    - dropIndexStmtToJson
    - columnNodeToJson
    - createTableStmtToJson
    - dropConsumerGroupStmtToJson
    - logicVirtualTableScanNodeToJson
    - logicPlanToJson
    - physiDispatchNodeToJson
    - anomalyWindowNodeToJson
    - showConsumersStmtToJson
    - physiProjectNodeToJson
    - downstreamSourceNodeToJson
    - alterLocalStmtToJson
    - columnOptionsToJson
    - showClusterStmtToJson
    - nodesWarn
    - showUsersStmtToJson
    - showVariablesStmtToJson
    - virtualTableNodeToJson
    - logicScanNodeToJson
    - dropMnodeStmtToJson
    - showAnodesStmtToJson
    - physiStateWindowNodeToJson
    - createMnodeStmtToJson
    - showStreamsStmtToJson
    - physiForecastFuncNodeToJson
    - whenThenNodeToJson
    - showArbGroupsStmtToJson
    - valueNodeToJson
    - createAnodeStmtToJson
    - useDatabaseStmtToJson
    - createQnodeStmtToJson
    - compactDatabaseStmtToJson
    - physiIntervalNodeToJson
    - dropTopicStmtToJson
    - nodeListNodeToJson
    - showCreateDatabaseStmtToJson
    - joinTableNodeToJson
    - windowOffsetNodeToJson
    - physiExchangeNodeToJson
    - physiInterpFuncNodeToJson
    - logicAggNodeToJson
    - logicSubplanToJson
    - physiHashJoinNodeToJson
    - logicForecastFuncNodeToJson
    - logicVnodeModifyNodeToJson
    - dropUserStmtToJson
    - alterStableStmtToJson
    - stateWindowNodeToJson
    - showGrantsLogsStmtToJson
    - mergeVgroupStmtToJson
    - dropTableClauseToJson
    - dropTableStmtToJson
    - caseWhenNodeToJson
    - operatorNodeToJson
    - createStreamStmtToJson
    - showTableTagsStmtToJson
    - physiMergeNodeToJson
    - nodeType
    - dropAnodeStmtToJson
    - dataBlockDescNodeToJson
    - dropSnodeStmtToJson
    - showTablesStmtToJson
    - logicSortNodeToJson
    - physiGroupCacheNodeToJson
    - physiVirtualTableScanNodeToJson
    - sessionWindowNodeToJson
    - showEncryptionsStmtToJson
    - setOperatorToJson
    - showAnodesFullStmtToJson
    - createUserStmtToJson
    - createDnodeStmtToJson
    - showMnodesStmtToJson
    - showTagsStmtToJson
    - showDnodeVariablesStmtToJson
    - subplanToJson
    - logicGroupCacheNodeToJson
    - showStablesStmtToJson
    - showCreateViewStmtToJson
    - logicConditionNodeToJson
    - createMultiTablesStmtToJson
    - splitVgroupStmtToJson
    - physiIndefRowsFuncNodeToJson
    - logicProjectNodeToJson
    - showUserPrivilegesStmtToJson
    - createIndexStmtToJson
    - columnReferenceToJson
    - physiEventWindowNodeToJson
    - physiTagScanNodeToJson
    - showVgroupsStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t specificNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5030,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5032,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5035,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5038,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5042
      start: 5027
    functionDepth: 0
    functionLinenumber: 5027
    functionLinenumberEnd: 5042
    functionName: operatorNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - exprNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t operatorNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8166,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8172
      start: 8163
    functionDepth: 0
    functionLinenumber: 8163
    functionLinenumberEnd: 8172
    functionName: resetStreamStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetStreamStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:671,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:679,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:682,1
    - Dst: tjsonGetSmallIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:673,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:676,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 686
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 686
    functionName: jsonToRefCol
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    - tjsonGetSmallIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRefCol(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:793,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:804,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:801,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:795,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:798,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:807,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:810,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:813,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 817
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 817
    functionName: logicPlanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    - nodeListToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicPlanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1726,1
    - Dst: tjsonToArray
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1731,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1735
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1735
    functionName: jsonToEpSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonToArray
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToEpSet(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7719
      start: 7716
    functionDepth: 0
    functionLinenumber: 7716
    functionLinenumberEnd: 7719
    functionName: jsonToCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateAnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8177,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8183
      start: 8174
    functionDepth: 0
    functionLinenumber: 8174
    functionLinenumberEnd: 8183
    functionName: jsonToResetStreamStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToResetStreamStmt(const SJson* pJson, void* pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8220,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8222,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8225,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8231,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8235
      start: 8217
    functionDepth: 0
    functionLinenumber: 8217
    functionLinenumberEnd: 8235
    functionName: redistributeVgroupStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t redistributeVgroupStmtToJson(const void* pObj, SJson*
      pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8326,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8331,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8335
      start: 8323
    functionDepth: 0
    functionLinenumber: 8323
    functionLinenumberEnd: 8335
    functionName: jsonToShowStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8379
      start: 8379
    functionDepth: 0
    functionLinenumber: 8379
    functionLinenumberEnd: 8379
    functionName: jsonToShowStablesStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowStablesStmt(const SJson* pJson, void* pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:822,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:833,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:824,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:830,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:827,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:836,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:839,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:842,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: jsonToLogicPlanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicPlanNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7724
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7724
    functionName: updateAnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateAnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8240,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8248,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8245,1
    - Dst: tjsonGetIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8242,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8255
      start: 8237
    functionDepth: 0
    functionLinenumber: 8237
    functionLinenumberEnd: 8255
    functionName: jsonToRedistributeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToRedistributeVgroupStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8337
      start: 8337
    functionDepth: 0
    functionLinenumber: 8337
    functionLinenumberEnd: 8337
    functionName: showDnodesStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showDnodesStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8381
      start: 8381
    functionDepth: 0
    functionLinenumber: 8381
    functionLinenumberEnd: 8381
    functionName: showStreamsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showStreamsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3159,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3170,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3167,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3161,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3164,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3173,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3177
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3177
    functionName: jsonToPhysiSortNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToNodeList
    - jsonToPhysicPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiSortNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5209,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5211,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5214,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5221
      start: 5206
    functionDepth: 0
    functionLinenumber: 5206
    functionLinenumberEnd: 5221
    functionName: jsonToTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - jsonToExprNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTableNode(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4568,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4576,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4570,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:4573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 4580
      start: 4565
    functionDepth: 0
    functionLinenumber: 4565
    functionLinenumberEnd: 4580
    functionName: dataTypeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataTypeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tableNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5356,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 5362
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5362
    functionName: tempTableNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tableNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tempTableNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8423
      start: 8423
    functionDepth: 0
    functionLinenumber: 8423
    functionLinenumberEnd: 8423
    functionName: jsonToShowEncryptionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowEncryptionsStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8713,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8718,1
    - Dst: jsonToNodeList
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8715,1
    - Dst: tjsonGetUTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8725
      start: 8710
    functionDepth: 0
    functionLinenumber: 8710
    functionLinenumberEnd: 8725
    functionName: jsonToInsertStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToNodeList
    - tjsonGetUTinyIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToInsertStmt(const SJson* pJson, void* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: logicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:983,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:991,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:985,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:988,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 995
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 995
    functionName: logicProjectNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - logicPlanNodeToJson
    - nodeListToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t logicProjectNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToTableNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5367,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:5369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 5373
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5373
    functionName: jsonToTempTableNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToTableNode
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToTempTableNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8425
      start: 8425
    functionDepth: 0
    functionLinenumber: 8425
    functionLinenumberEnd: 8425
    functionName: showUsageStmtStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showUsageStmtStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exprNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6523,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6528,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6532
      start: 6520
    functionDepth: 0
    functionLinenumber: 6520
    functionLinenumberEnd: 6532
    functionName: whenThenNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - exprNodeToJson
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t whenThenNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7508
      start: 7505
    functionDepth: 0
    functionLinenumber: 7505
    functionLinenumberEnd: 7508
    functionName: useDatabaseStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t useDatabaseStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: physicPlanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3195,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3206,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3203,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3197,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3200,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3209,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3212,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3215,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3218,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3221,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3224,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3227,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 3231
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3231
    functionName: physiWindowNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddObject
    - tjsonAddBoolToObject
    - tjsonAddIntegerToObject
    - physicPlanNodeToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiWindowNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7347,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7355,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7358,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7349,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7352,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7361,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7364,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7371
      start: 7344
    functionDepth: 0
    functionLinenumber: 7344
    functionLinenumberEnd: 7371
    functionName: alterTableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t alterTableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8411
      start: 8411
    functionDepth: 0
    functionLinenumber: 8411
    functionLinenumberEnd: 8411
    functionName: jsonToShowGrantsFullStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowGrantsFullStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6642,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6650,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6647,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6653,1
    - Dst: nodeListToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6644,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:6656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 6660
      start: 6639
    functionDepth: 0
    functionLinenumber: 6639
    functionLinenumberEnd: 6660
    functionName: setOperatorToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodeListToJson
    - tjsonAddIntegerToObject
    - tjsonAddObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setOperatorToJson(const void* pObj, SJson* pJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7376,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7378,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7387,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7384,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7381,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7390,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7393,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7400
      start: 7373
    functionDepth: 0
    functionLinenumber: 7373
    functionLinenumberEnd: 7400
    functionName: jsonToAlterTableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonToObject
    - tjsonGetTinyIntValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToAlterTableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: showStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 8413
      start: 8413
    functionDepth: 0
    functionLinenumber: 8413
    functionLinenumberEnd: 8413
    functionName: showGrantsLogsStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - showStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t showGrantsLogsStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7427,1
    - Dst: tjsonGetTinyIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7432,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7436
      start: 7424
    functionDepth: 0
    functionLinenumber: 7424
    functionLinenumberEnd: 7436
    functionName: jsonToCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetStringValue
    - tjsonGetTinyIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToCreateUserStmt(const SJson* pJson, void* pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jsonToLogicPlanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1288,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1296,1
    - Dst: jsonToNodeObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1293,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1299,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1290,1
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:1302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1306
    functionName: jsonToLogicFillNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    - jsonToLogicPlanNode
    - tjsonGetNumberValue
    - jsonToNodeObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToLogicFillNode(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: physiScanNodeToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2181,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2187
    functionName: physiTagScanNodeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - physiScanNodeToJson
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t physiTagScanNodeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiScanNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2192,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2198
    functionName: jsonToPhysiTagScanNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - jsonToPhysiScanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiTagScanNode(const SJson* pJson, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToShowStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:8459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 8459
      start: 8459
    functionDepth: 0
    functionLinenumber: 8459
    functionLinenumberEnd: 8459
    functionName: jsonToShowSubscriptionsStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToShowStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToShowSubscriptionsStmt(const SJson* pJson, void*
      pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jsonToDropComponentNodeStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7751
      start: 7751
    functionDepth: 0
    functionLinenumber: 7751
    functionLinenumberEnd: 7751
    functionName: jsonToDropSnodeStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToDropComponentNodeStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropSnodeStmt(const SJson* pJson, void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jsonToPhysiWindowNode
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3429,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:3431,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 3435
      start: 3426
    functionDepth: 0
    functionLinenumber: 3426
    functionLinenumberEnd: 3435
    functionName: jsonToPhysiSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - jsonToPhysiWindowNode
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToPhysiSessionWindowNode(const SJson* pJson, void*
      pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7304,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7309,1
    - Dst: tjsonAddBoolToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7312,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7306,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7316
      start: 7301
    functionDepth: 0
    functionLinenumber: 7301
    functionLinenumberEnd: 7316
    functionName: dropVtableStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - tjsonAddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dropVtableStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createComponentNodeStmtToJson
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 7755
      start: 7753
    functionDepth: 0
    functionLinenumber: 7753
    functionLinenumberEnd: 7755
    functionName: createMnodeStmtToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - createComponentNodeStmtToJson
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMnodeStmtToJson(const void* pObj, SJson* pJson) '
  - BBCount: 239
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:505,1
    CyclomaticComplexity: 241
    EdgeCount: 241
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 507
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 507
    functionName: nodesNodeName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - nodesWarn
    linkageType: ''
    returnType: char*
    signature: 'const char * nodesNodeName(ENodeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:2209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 2211
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2211
    functionName: funcTypeToJson
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t funcTypeToJson(const void* pObj, SJson* pJson) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7321,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7329,1
    - Dst: tjsonGetBoolValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7326,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c:7323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 7333
      start: 7318
    functionDepth: 0
    functionLinenumber: 7318
    functionLinenumberEnd: 7333
    functionName: jsonToDropVtableStmt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesCodeFuncs.c
    functionUses: []
    functionsReached:
    - tjsonGetBoolValue
    - tjsonGetStringValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDropVtableStmt(const SJson* pJson, void* pObj) '
  - BBCount: 21
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2428
    functionName: nodesGetValueFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * nodesGetValueFromNode(SValueNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2879,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2883,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2890,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2882,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2891,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2898,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2900,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2877
    functionDepth: 0
    functionLinenumber: 2877
    functionLinenumberEnd: 2906
    functionName: collectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - nodesEqualNode
    - FOREACH
    - nodesCloneNode
    - nodesListStrictAppend
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectFuncs(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3491
      start: 3484
    functionDepth: 0
    functionLinenumber: 3484
    functionLinenumberEnd: 3491
    functionName: tFreeStreamVtbOtbInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamVtbOtbInfo(void* param) '
  - BBCount: 24
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 30
    argCount: 2
    argNames:
    - pNode
    - value
    argTypes:
    - SValueNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2503
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2503
    functionName: nodesSetValueNodeValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesSetValueNodeValue(SValueNode* pNode, void* value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2910,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2910,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pKey
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2911
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2911
    functionName: funcNodeHash
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - strlen
    - MurmurHash3_32
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t funcNodeHash(const char* pKey, uint32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3501
      start: 3494
    functionDepth: 0
    functionLinenumber: 3494
    functionLinenumberEnd: 3501
    functionName: tFreeStreamVtbVtbInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamVtbVtbInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - EJoinSubType
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: getJoinSTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * getJoinSTypeString(EJoinSubType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: nodesSimReleaseAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesSimReleaseAllocator(int64_t allocatorId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1027,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1033,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1031,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1030,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1029,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1034
    functionName: destroyVgDataBlockArray
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyVgDataBlockArray(SArray* pArray) '
  - BBCount: 272
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1382,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1413,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1484,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1707,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2094,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1131,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1710,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1498,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1570,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1770,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1150,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1159,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1690,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1716,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1950,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1643,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1758,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1241,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1421,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1819,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1193,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1288,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1431,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1790,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1748,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1875,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1955,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2007,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2095,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2139,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1452,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1781,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1967,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1976,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2150,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1154,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1180,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1572,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2040,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1698,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1738,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1360,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1438,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1756,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1206,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1348,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1377,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1765,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1913,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1923,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1983,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2097,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1143,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1299,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1567,1
    - Dst: destroyPartitionPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2078,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1704,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1860,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1161,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1187,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1773,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1826,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2027,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2132,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1854,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1838,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1559,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1596,1
    - Dst: destroyTableCfg
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1676,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1880,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1745,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1751,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1216,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1234,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1934,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1984,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2004,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1813,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1221,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1970,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2020,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1201,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1398,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1818,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1406,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1797,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1806,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1124,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1355,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1363,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1895,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1940,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1347,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1384,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1511,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1550,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1805,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1894,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1912,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1922,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1932,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1117,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1134,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1142,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1298,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1309,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1339,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1869,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2069,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1948,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1227,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1160,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1291,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1772,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1906,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1952,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2046,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1243,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1412,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1853,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1558,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1736,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1784,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1837,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2146,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1181,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1861,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1750,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1824,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1933,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1957,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2025,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2087,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1483,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1881,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1969,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2108,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1111,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1392,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1116,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1362,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1540,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1699,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2113,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2148,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2152,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1379,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1705,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1688,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1713,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1767,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1791,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1886,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1230,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1963,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1477,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1753,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1775,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1828,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1344,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1163,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1334,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2029,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1729,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1840,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1866,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2103,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1803,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1272,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1911,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1921,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1946,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1369,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1901,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1964,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1972,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2054,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1655,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1648,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1232,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1257,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1167,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1439,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1808,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1440,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1836,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1852,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1281,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1365,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1897,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2104,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1378,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1712,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1766,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1914,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1188,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1229,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1920,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1998,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1162,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1273,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1827,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1774,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1264,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1175,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1839,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1728,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1855,1
    - Dst: destroyPartitionPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2073,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2127,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1935,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1985,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2119,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1867,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1130,1
    - Dst: destroyHintValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1315,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1404,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1467,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1971,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1182,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1210,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1231,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1256,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1551,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2093,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1450,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1481,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1782,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1807,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1233,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1310,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1356,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1364,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1896,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1910,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1381,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1706,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2161,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1569,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1125,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1353,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1941,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1991,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1949,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1432,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1709,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1763,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1139,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1194,1
    - Dst: destroyVgDataBlockArray
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1375,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1689,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1769,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1757,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1327,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1433,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1515,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2079,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2124,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2156,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1747,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1845,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1666,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1148,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1649,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1954,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2006,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2133,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1817,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1796,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1126,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1239,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1966,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1975,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2068,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1568,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1746,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1320,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1571,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1982,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2005,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1476,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1359,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1367,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2080,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1109,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1544,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1265,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1512,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1697,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1739,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1149,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1654,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1714,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1768,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1445,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1754,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1776,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1802,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1829,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1587,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1213,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1240,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1296,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1497,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1174,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1322,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1333,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1368,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1764,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1687,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1953,1
    - Dst: destroyWinodwPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2063,1
    - Dst: destroyExprNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1115,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1370,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1451,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1965,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1974,1
    - Dst: destroyDataSinkNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2112,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2125,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1531,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1141,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1539,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1825,1
    - Dst: destroyScanPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1931,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2026,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2085,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1809,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1358,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1366,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1888,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1990,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1951,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1383,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1140,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1244,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1346,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1376,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1282,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1328,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2102,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1462,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1492,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1789,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1195,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1290,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1691,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1717,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1771,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1874,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1783,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1661,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1749,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1321,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1514,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1650,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1956,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2047,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2096,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2141,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2149,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2086,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1835,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1135,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1283,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1453,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1556,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1642,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1675,1
    - Dst: destroyLogicNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1851,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1968,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1573,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1593,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1254,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1391,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1947,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1997,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1727,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1354,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1361,1
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2055,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1755,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1830,1
    CyclomaticComplexity: 373
    EdgeCount: 373
    ICount: 545
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 2163
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 2163
    functionName: nodesDestroyNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tSimpleHashCleanup
    - destroyVgDataBlockArray
    - taosMemFreeClear
    - tdDestroySVCreateTbReq
    - IS_VAR_DATA_TYPE
    - destroyWinodwPhysiNode
    - taosHashCleanup
    - nodeType
    - destroyDataSinkNode
    - destroyExprNode
    - taosArrayDestroy
    - tFreeSMCreateSmaReq
    - taosArrayDestroyP
    - nodesClearList
    - destroyPhysiNode
    - FOREACH
    - taosArrayDestroyEx
    - tFreeSCMCreateViewReq
    - taosCloseFile
    - nodesDestroyNode
    - nodesDestroyList
    - destroyScanPhysiNode
    - destroyTableCfg
    - taosMemoryFreeClear
    - tFreeSCMCreateStreamReq
    - destroyPartitionPhysiNode
    - destroyLogicNode
    - destroyHintValue
    - nodesFree
    - nodesError
    linkageType: ''
    returnType: void
    signature: 'void nodesDestroyNode(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3429
      start: 3420
    functionDepth: 0
    functionLinenumber: 3420
    functionLinenumberEnd: 3429
    functionName: nodesContainsColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'bool nodesContainsColumn(SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - type
    - stype
    argTypes:
    - EJoinType
    - EJoinSubType
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: getFullJoinTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * getFullJoinTypeString(EJoinType type, EJoinSubType stype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:298,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 305
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 305
    functionName: nodesAcquireAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosThreadMutexLock
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesAcquireAllocator(int64_t allocatorId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1037,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1039,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1038,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1041,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1042,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: destroyLogicNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void destroyLogicNode(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ppListOut
    argTypes:
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2172
      start: 2165
    functionDepth: 0
    functionLinenumber: 2165
    functionLinenumberEnd: 2172
    functionName: nodesMakeList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeList(SNodeList** ppListOut) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3433,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3440,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3443,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 3451
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3451
    functionName: mergeNodeToLogic
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeNodeToLogic(SNode** pDst, SNode** pSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:244,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:250,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:255,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:253,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: nodesDestroyAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosIterateRef
    - nodesError
    - taosCloseRef
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void nodesDestroyAllocatorSet() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2837,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2848,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2848,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2854,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2856,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2858,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2861,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2864,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 4
    argNames:
    - node
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SNode*
    - char*
    - ECollectColType
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2868
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2868
    functionName: nodesCollectColumnsFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - LIST_LENGTH
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectColumnsFromNode(SNode* node, const char* pTableAlias,
      ECollectColType type, SNodeList** pCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - index
    argTypes:
    - SNodeList*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2362
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2362
    functionName: nodesListGetNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * nodesListGetNode(SNodeList* pList, int32_t index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2761,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2771,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2771,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2776,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2777,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2779,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2782,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2785,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - pSelect
    - clause
    - pTableAlias
    - type
    - pCols
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - ECollectColType
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2789
      start: 2754
    functionDepth: 0
    functionLinenumber: 2754
    functionLinenumberEnd: 2789
    functionName: nodesCollectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesWalkSelectStmt
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectColumns(SSelectStmt* pSelect, ESqlClause clause,
      const char* pTableAlias, ECollectColType type, SNodeList** pCols) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:75,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:80,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:83,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:85,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:77,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:88,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:91,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:99,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:107,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:110,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 116
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 116
    functionName: mergeJoinConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - nodesListMakeStrictAppend
    - nodesListStrictAppendList
    - nodesDestroyNode
    - nodesListStrictAppend
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeJoinConds(SNode** ppDst, SNode** ppSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createNodeAllocator
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:261,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - queryId
    - chunkSize
    - pAllocatorId
    argTypes:
    - int64_t
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: nodesCreateAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosAddRef
    - createNodeAllocator
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCreateAllocator(int64_t queryId, int32_t chunkSize, int64_t*
      pAllocatorId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3356,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3357,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3362
      start: 3354
    functionDepth: 0
    functionLinenumber: 3354
    functionLinenumberEnd: 3362
    functionName: nodesListFindNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * nodesListFindNode(SNodeList* pList, SNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pAllocator
    - pOutChunk
    argTypes:
    - SNodeAllocator*
    - SNodeMemChunk**
    constantsTouched: []
    func_position:
      end: 138
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 138
    functionName: callocNodeChunk
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t callocNodeChunk(SNodeAllocator* pAllocator, SNodeMemChunk**
      pOutChunk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: nodesSimAcquireAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesSimAcquireAllocator(int64_t allocatorId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - index
    argTypes:
    - SNodeList*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2372
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2372
    functionName: nodesListGetCell
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: SListCell*
    signature: 'SListCell * nodesListGetCell(SNodeList* pList, int32_t index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2799,1
    - Dst: nodesWalkSelectStmtImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2816,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2811,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2811,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2817,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2819,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2822,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - pSelect
    - clause
    - pMultiTableAlias
    - type
    - pCols
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - SSHashObj*
    - ECollectColType
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2829
      start: 2791
    functionDepth: 0
    functionLinenumber: 2791
    functionLinenumberEnd: 2829
    functionName: nodesCollectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesWalkSelectStmtImpl
    - nodesDestroyList
    - nodesMakeList
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectColumnsExt(SSelectStmt* pSelect, ESqlClause clause,
      SSHashObj* pMultiTableAlias, ECollectColType type, SNodeList** pCols) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3365,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3367,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3368,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3366,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3369,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3370,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3371,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3376,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3379,1
    - Dst: nodesListFindNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3380,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3389,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3392,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3383,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3382,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 3395
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3395
    functionName: nodesListDeduplicate
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListErase
    - nodesDestroyList
    - nodesEqualNode
    - nodesMakeList
    - FOREACH
    - nodesCloneNode
    - nodesListStrictAppend
    - nodesListFindNode
    - nodesListGetNode
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListDeduplicate(SNodeList** ppList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1062,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1063,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1065,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPartitionPhysiNode*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1066
    functionName: destroyPartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void destroyPartitionPhysiNode(SPartitionPhysiNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2975,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2977,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2984
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 2984
    functionName: collectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectSpecialNodes(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3270,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int64_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 3274
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3274
    functionName: nodesMakeValueNodeFromInt64
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeValueNodeFromInt64(int64_t value, SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1069,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1070,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: destroyScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void destroyScanPhysiNode(SScanPhysiNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2992,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3002,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3005,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3000,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pSelect
    - clause
    - type
    - ppNodes
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - ENodeType
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 3012
      start: 2986
    functionDepth: 0
    functionLinenumber: 2986
    functionLinenumberEnd: 3012
    functionName: nodesCollectSpecialNodes
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    - LIST_LENGTH
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectSpecialNodes(SSelectStmt* pSelect, ESqlClause
      clause, ENodeType type, SNodeList** ppNodes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3278,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3280
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3280
    functionName: nodesIsStar
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsStar(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3418
      start: 3410
    functionDepth: 0
    functionLinenumber: 3410
    functionLinenumberEnd: 3418
    functionName: nodeContainsCol
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes nodeContainsCol(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2209,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    constantsTouched: []
    func_position:
      end: 2215
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2215
    functionName: nodesListMakeAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListMakeAppend(SNodeList** pList, SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2683
    functionName: nodesIsBitwiseOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsBitwiseOp(const SOperatorNode* pOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2219,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2217
    functionDepth: 0
    functionLinenumber: 2217
    functionLinenumberEnd: 2225
    functionName: nodesListMakeStrictAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesMakeList
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListMakeStrictAppend(SNodeList** pList, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCallocImpl
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - num
    - size
    - pOut
    argTypes:
    - int32_t
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: nodesCalloc
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesCallocImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodesCalloc(int32_t num, int32_t size, void** pOut) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2194
    functionName: nodesListAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListAppend(SNodeList* pList, SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2245
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2245
    functionName: nodesListAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListAppendList(SNodeList* pTarget, SNodeList* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: nodesFree
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void nodesFree(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2200,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2205
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2205
    functionName: nodesListStrictAppend
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListStrictAppend(SNodeList* pList, SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2251,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2253,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2256
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2256
    functionName: nodesListStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppendList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListStrictAppendList(SNodeList* pTarget, SNodeList* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3511
      start: 3504
    functionDepth: 0
    functionLinenumber: 3504
    functionLinenumberEnd: 3511
    functionName: tFreeStreamVtbDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamVtbDbVgInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesWarn
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:229,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:233,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: nodesInitAllocatorSet
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWarn
    - taosOpenRef
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesInitAllocatorSet() '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - order
    argTypes:
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 3198
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3198
    functionName: dataOrderStr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * dataOrderStr(EDataOrderLevel order) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3201,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3207,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3203,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3211,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3212,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3212,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - literal
    - ppValNode
    argTypes:
    - char*
    - SValueNode**
    constantsTouched: []
    func_position:
      end: 3220
      start: 3200
    functionDepth: 0
    functionLinenumber: 3200
    functionLinenumberEnd: 3220
    functionName: nodesMakeValueNodeFromString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - tstrdup
    - varDataVal
    - strlen
    - varDataSetLen
    - memcpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeValueNodeFromString(char* literal, SValueNode** ppValNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 338
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 338
    functionName: nodesReleaseAllocatorWeakRef
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t nodesReleaseAllocatorWeakRef(int64_t allocatorId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2698,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2700,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2704,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2703,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2703,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2706,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2708,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2711,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2713,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pNode
    argTypes:
    - SCollectColumnsCxt*
    - SColumnNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2719
      start: 2694
    functionDepth: 0
    functionLinenumber: 2694
    functionLinenumberEnd: 2719
    functionName: doCollect
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - strlen
    - nodesCloneNode
    - nodesListStrictAppend
    - taosHashBinary
    - taosHashPut
    - tsnprintf
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doCollect(SCollectColumnsCxt* pCxt, SColumnNode* pCol,
      SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2730,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2734,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2733,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2732,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2732,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2728
    functionDepth: 0
    functionLinenumber: 2728
    functionLinenumberEnd: 2738
    functionName: collectColumns
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - doCollect
    - nodeType
    - isCollectType
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectColumns(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3020
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3020
    functionName: hasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes hasColumn(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:345,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 350
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 350
    functionName: nodesDestroyAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesError
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void nodesDestroyAllocator(int64_t allocatorId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - collectType
    - colType
    argTypes:
    - ECollectColType
    - EColumnType
    constantsTouched: []
    func_position:
      end: 2726
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2726
    functionName: isCollectType
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isCollectType(ECollectColType collectType, EColumnType
      colType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2742,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2744,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2747,1
    - Dst: isCollectType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2744,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2747,1
    - Dst: doCollect
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2752
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2752
    functionName: collectColumnsExt
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - doCollect
    - tSimpleHashGet
    - strcmp
    - strlen
    - isCollectType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectColumnsExt(SNode* pNode, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3026
      start: 3022
    functionDepth: 0
    functionLinenumber: 3022
    functionLinenumberEnd: 3026
    functionName: nodesExprHasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: bool
    signature: 'bool nodesExprHasColumn(SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:191,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:202,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:198,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - chunkSize
    - pAllocator
    argTypes:
    - int32_t
    - SNodeAllocator**
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: createNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - taosThreadMutexInit
    - taosMemoryFreeClear
    - callocNodeChunk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createNodeAllocator(int32_t chunkSize, SNodeAllocator**
      pAllocator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1082,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1083,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1085,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1087,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1089
    functionName: destroyTableCfg
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyTableCfg(STableCfg* pCfg) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3124,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3132,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3133,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3144,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3149,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 35
    argCount: 2
    argNames:
    - pNode
    - pVal
    argTypes:
    - SValueNode*
    - SVariant*
    constantsTouched: []
    func_position:
      end: 3157
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3157
    functionName: nodesValueNodeToVariant
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - varDataTLen
    - getJsonValueLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesValueNodeToVariant(const SValueNode* pNode, SVariant*
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3283,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3285
      start: 3282
    functionDepth: 0
    functionLinenumber: 3282
    functionLinenumberEnd: 3285
    functionName: nodesIsTableStar
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsTableStar(SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3456,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3461,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3463,1
    - Dst: mergeNodeToLogic
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3468,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pCond
    - pAdditionalCond
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 3472
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3472
    functionName: nodesMergeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - TSWAP
    - mergeNodeToLogic
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMergeNode(SNode** pCond, SNode** pAdditionalCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDebug
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:214,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:220,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 225
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 225
    functionName: destroyNodeAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDebug
    - taosMemoryFree
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyNodeAllocator(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pIndex
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1091
    functionName: destroySmaIndex
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroySmaIndex(void* pIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3164,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3169,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3165,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3166,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SNode**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 3182
      start: 3159
    functionDepth: 0
    functionLinenumber: 3159
    functionLinenumberEnd: 3182
    functionName: nodesMergeConds
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesClearList
    - nodesListGetNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMergeConds(SNode** pDst, SNodeList** pSrc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: comp
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 2
    argNames:
    - pList
    - (*comp)
    argTypes:
    - SNodeList**
    - int32_t
    constantsTouched: []
    func_position:
      end: 3352
      start: 3287
    functionDepth: 0
    functionLinenumber: 3287
    functionLinenumberEnd: 3352
    functionName: nodesSortList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - comp
    linkageType: ''
    returnType: void
    signature: 'void nodesSortList(SNodeList** pList, int32_t (*comp)(SNode* pNode1,
      SNode* pNode2)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3482
      start: 3474
    functionDepth: 0
    functionLinenumber: 3474
    functionLinenumberEnd: 3482
    functionName: tFreeStreamVtbColName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamVtbColName(void* param) '
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2637
    functionName: nodesIsComparisonOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsComparisonOp(const SOperatorNode* pOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:313,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:322,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 323
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 323
    functionName: nodesReleaseAllocator
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosReleaseRef
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesReleaseAllocator(int64_t allocatorId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2332
    functionName: nodesListInsertList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: 'void nodesListInsertList(SNodeList* pTarget, SListCell* pPos, SNodeList*
      pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - num
    argTypes:
    - SExprNode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3400
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3400
    functionName: rewriteExprAliasName
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'void rewriteExprAliasName(SExprNode* pNode, int64_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:330,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - allocatorId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: nodesMakeAllocatorWeakRef
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesError
    - taosAcquireRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t nodesMakeAllocatorWeakRef(int64_t allocatorId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2351,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pTarget
    - pPos
    - pSrc
    argTypes:
    - SNodeList*
    - SListCell*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2352
    functionName: nodesListInsertListAfterPos
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: 'void nodesListInsertListAfterPos(SNodeList* pTarget, SListCell* pPos,
      SNodeList* pSrc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2648
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2648
    functionName: nodesIsJsonOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsJsonOp(const SOperatorNode* pOp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 3404
      start: 3402
    functionDepth: 0
    functionLinenumber: 3402
    functionLinenumberEnd: 3404
    functionName: isRelatedToOtherExpr
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isRelatedToOtherExpr(SExprNode* pExpr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2260,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pTarget
    - pSrc
    argTypes:
    - SNodeList**
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2266
    functionName: nodesListMakeStrictAppendList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListStrictAppendList
    - nodesMakeList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListMakeStrictAppendList(SNodeList** pTarget, SNodeList*
      pSrc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2296
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2296
    functionName: nodesListPushFront
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListPushFront(SNodeList* pList, SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - len
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 2918
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2918
    functionName: funcNodeEqual
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t funcNodeEqual(const void* pLeft, const void* pRight,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2929,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - pSelect
    - clause
    - tableAlias
    - classifier
    - pFuncs
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - FFuncClassifier
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2931
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2931
    functionName: nodesCollectSelectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectSelectFuncs(SSelectStmt* pSelect, ESqlClause clause,
      char* tableAlias, FFuncClassifier classifier, SNodeList* pFuncs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2270,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    constantsTouched: []
    func_position:
      end: 2276
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2276
    functionName: nodesListMakePushFront
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListPushFront
    - nodesMakeList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesListMakePushFront(SNodeList** pList, SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2310,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pList
    - pCell
    argTypes:
    - SNodeList*
    - SListCell*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2314
    functionName: nodesListErase
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesFree
    linkageType: ''
    returnType: SListCell*
    signature: 'SListCell * nodesListErase(SNodeList* pList, SListCell* pCell) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1046,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1049,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1047,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1050,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1051
    functionName: destroyPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void destroyPhysiNode(SPhysiNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2661
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2661
    functionName: nodesIsRegularOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsRegularOp(const SOperatorNode* pOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3224,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3228,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - b
    - ppValNode
    argTypes:
    - bool
    - SValueNode**
    constantsTouched: []
    func_position:
      end: 3238
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3238
    functionName: nodesMakeValueNodeFromBool
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeValueNodeFromBool(bool b, SValueNode** ppValNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyPhysiNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1054,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1055,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1058,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1057,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1056,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SWindowPhysiNode*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1059
    functionName: destroyWinodwPhysiNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - destroyPhysiNode
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void destroyWinodwPhysiNode(SWindowPhysiNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2672
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2672
    functionName: nodesIsMatchRegularOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsMatchRegularOp(const SOperatorNode* pOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3252,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - value
    - ppNode
    argTypes:
    - int32_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 3256
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3256
    functionName: nodesMakeValueNodeFromInt32
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeValueNodeFromInt32(int32_t value, SNode** ppNode) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2508,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2533,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2526,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2521,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2513,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2538,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2543,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2548,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2555,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2556,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2561,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2561,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 31
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2569
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2569
    functionName: nodesGetStrValueFromNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - varDataVal
    - snprintf
    - taosMemoryMalloc
    - varDataLen
    linkageType: ''
    returnType: char*
    signature: 'char * nodesGetStrValueFromNode(SValueNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3063
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3063
    functionName: nodesGetNameFromColumnNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * nodesGetNameFromColumnNode(SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2572,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 2575
      start: 2571
    functionDepth: 0
    functionLinenumber: 2571
    functionLinenumberEnd: 2575
    functionName: nodesIsExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsExprNode(const SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3072,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - pSlots
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3084
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3084
    functionName: nodesGetOutputNumFromSlotList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesGetOutputNumFromSlotList(SNodeList* pSlots) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1093,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pValue
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1093
    functionName: destroyFuncParam
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyFuncParam(void* pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2381,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2384
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2384
    functionName: nodesDestroyList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesListErase
    - nodesFree
    linkageType: ''
    returnType: void
    signature: 'void nodesDestroyList(SNodeList* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprsPostOrder
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:3030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3032
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3032
    functionName: nodesExprsHasColumn
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkExprsPostOrder
    linkageType: ''
    returnType: bool
    signature: 'bool nodesExprsHasColumn(SNodeList* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - option
    - value
    argTypes:
    - EHintOption
    - void*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1102
    functionName: destroyHintValue
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroyHintValue(EHintOption option, void* value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2395,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2398
      start: 2386
    functionDepth: 0
    functionLinenumber: 2386
    functionLinenumberEnd: 2398
    functionName: nodesClearList
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesFree
    linkageType: ''
    returnType: void
    signature: 'void nodesClearList(SNodeList* pList) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - mode
    argTypes:
    - EFillMode
    constantsTouched: []
    func_position:
      end: 3055
      start: 3034
    functionDepth: 0
    functionLinenumber: 3034
    functionLinenumberEnd: 3055
    functionName: nodesGetFillModeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * nodesGetFillModeString(EFillMode mode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2940,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2955,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2958,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2953,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:2961,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - pSelect
    - clause
    - tableAlias
    - classifier
    - pFuncs
    argTypes:
    - SSelectStmt*
    - ESqlClause
    - char*
    - FFuncClassifier
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2965
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2965
    functionName: nodesCollectFuncs
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    - LIST_LENGTH
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesCollectFuncs(SSelectStmt* pSelect, ESqlClause clause,
      char* tableAlias, FFuncClassifier classifier, SNodeList** pFuncs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2593
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2593
    functionName: nodesIsUnaryOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsUnaryOp(const SOperatorNode* pOp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:142,1
    - Dst: callocNodeChunk
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - size
    - pOut
    argTypes:
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 163
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 163
    functionName: nodesCallocImpl
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - callocNodeChunk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nodesCallocImpl(int32_t size, void** pOut) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCalloc
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:354,1
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - type
    - size
    - ppNode
    argTypes:
    - ENodeType
    - int32_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: makeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - setNodeType
    - nodesCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeNode(ENodeType type, int32_t size, SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SDataSinkNode*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1074
    functionName: destroyDataSinkNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'static void destroyDataSinkNode(SDataSinkNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - EJoinType
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: getJoinTypeString
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * getJoinTypeString(EJoinType type) '
  - BBCount: 263
    BranchProfiles: []
    Callsites:
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:415,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:421,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:481,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:555,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:651,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:781,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:847,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:907,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:929,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:937,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:367,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:418,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:424,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:484,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:558,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:654,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:784,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:850,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:904,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:968,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:992,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:835,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:977,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:853,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:944,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:549,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:535,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:541,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:409,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:475,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:591,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:639,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:645,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:775,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:769,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:995,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:868,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:974,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:552,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:538,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:544,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:412,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:478,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:642,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:648,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:778,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:838,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:844,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:965,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:817,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:373,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:433,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:603,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:499,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:573,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:663,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:737,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:743,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:799,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:859,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:877,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:955,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:983,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1001,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:370,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:376,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:436,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:502,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:576,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:606,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:666,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:732,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:740,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:746,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:998,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:841,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:915,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:487,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:493,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:561,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:567,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:427,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:597,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:657,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:787,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:793,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:802,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:901,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:961,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:922,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:496,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:564,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:570,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:600,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:430,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:490,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:660,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:790,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:796,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:856,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:948,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:986,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:971,1
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1019,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:385,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:451,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:517,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:585,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:511,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:615,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:621,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:671,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:755,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:763,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:388,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:454,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:514,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:520,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:618,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:624,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:674,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:766,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:814,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:820,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:933,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:505,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:579,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:379,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:439,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:445,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:609,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:749,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:805,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:871,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:919,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:508,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:582,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:382,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:442,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:448,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:612,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:752,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:760,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:808,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:874,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:403,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:463,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:469,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:529,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:633,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:725,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:829,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:889,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:895,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:926,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:980,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:941,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:406,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:466,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:472,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:532,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:636,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:728,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:832,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:898,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1010,1
    - Dst: nodesError
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1019,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:523,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:391,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:397,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:457,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:627,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:677,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:719,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:823,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:883,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:911,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:951,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:989,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1007,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:862,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:526,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:394,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:400,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:460,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:630,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:722,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:826,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:886,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:892,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1004,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:880,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:958,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:865,1
    - Dst: makeNode
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:811,1
    CyclomaticComplexity: 267
    EdgeCount: 267
    ICount: 394
    argCount: 2
    argNames:
    - type
    - ppNodeOut
    argTypes:
    - ENodeType
    - SNode**
    constantsTouched: []
    func_position:
      end: 1024
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 1024
    functionName: nodesMakeNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - nodesNodeName
    - makeNode
    - nodesError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t nodesMakeNode(ENodeType type, SNode** ppNodeOut) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c:1076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1076
    functionName: destroyExprNode
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyExprNode(SExprNode* pExpr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - pOp
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2607
    functionName: nodesIsArithmeticOp
    functionSourceFile: /src/tdengine/source/libs/nodes/src/nodesUtilFuncs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool nodesIsArithmeticOp(const SOperatorNode* pOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:33,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SAuditCfg*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: auditInit
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t auditInit(const SAuditCfg *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - record
    argTypes:
    - SAuditRecord*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: auditDeleteRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void auditDeleteRecord(SAuditRecord * record) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:49,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:53,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:51,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: auditCleanup
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosArrayDestroyP
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void auditCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditAddRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: auditAddRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - auditAddRecordImp
    linkageType: ''
    returnType: void
    signature: 'void auditAddRecord(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, char *detail, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditSendRecordsInBatchImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: auditSendRecordsInBatch
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - auditSendRecordsInBatchImp
    linkageType: ''
    returnType: void
    signature: 'void auditSendRecordsInBatch() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: auditRecordImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void auditRecordImp(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, char *detail, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: auditSendRecordsInBatchImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void auditSendRecordsInBatchImp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dnodeId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: auditSetDnodeId
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void auditSetDnodeId(int32_t dnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditRecordImp
      Src: /src/tdengine/source/libs/audit/src/auditMain.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: auditRecord
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached:
    - auditRecordImp
    linkageType: ''
    returnType: void
    signature: 'void auditRecord(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, char *detail, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - pReq
    - clusterId
    - operation
    - target1
    - target2
    - detail
    - len
    argTypes:
    - SRpcMsg*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: auditAddRecordImp
    functionSourceFile: /src/tdengine/source/libs/audit/src/auditMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void auditAddRecordImp(SRpcMsg *pReq, int64_t clusterId, char *operation,
      char *target1, char *target2, char *detail, int32_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:128,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:129,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:133,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:126,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:135,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:140,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:141,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:144,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:153,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:147,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:151,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - mgmt
    - id
    - sortCompare
    - searchCompare
    argTypes:
    - SCtgRentMgmt*
    - int64_t
    - __compar_fn_t
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 154
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 154
    functionName: ctgMetaRentRemove
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_ERR_JRET
    - taosArrayRemove
    - abs
    - qError
    - CTG_UNLOCK
    - taosArraySort
    - qDebug
    - CTG_RET
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentRemove(SCtgRentMgmt *mgmt, int64_t id, __compar_fn_t
      sortCompare, __compar_fn_t searchCompare) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:43,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:52,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:48,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:50,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:54,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:58,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:59,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:60,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:66,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:70,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - mgmt
    - meta
    - id
    - size
    argTypes:
    - SCtgRentMgmt*
    - void*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 72
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 72
    functionName: ctgMetaRentAdd
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_ERR_JRET
    - abs
    - qError
    - CTG_UNLOCK
    - taosArrayPush
    - qDebug
    - CTG_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentAdd(SCtgRentMgmt *mgmt, void *meta, int64_t id,
      int32_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:208,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:217,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:209,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:213,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:224,1
    - Dst: ctgMetaRentGetImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - mgmt
    - res
    - num
    - size
    argTypes:
    - SCtgRentMgmt*
    - void**
    - uint32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: ctgMetaRentGet
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_load_64
    - ctgMetaRentGetImpl
    - qDebug
    - atomic_val_compare_exchange_64
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentGet(SCtgRentMgmt *mgmt, void **res, uint32_t *num,
      int32_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:254,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:259,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:263,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:260,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 265
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 265
    functionName: ctgRemoveViewRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - ctgMetaRentRemove
    - taosHashIterate
    - ctgDebug
    linkageType: ''
    returnType: void
    signature: 'void ctgRemoveViewRent(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:300,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:306,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:301,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:303,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - tbName
    - dbId
    - suid
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - char*
    - uint64_t
    - uint64_t
    - SCtgTbCache*
    constantsTouched: []
    func_position:
      end: 310
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 310
    functionName: ctgUpdateRentStbVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - ctgMetaRentUpdate
    - ctgDebug
    - CTG_ERR_RET
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateRentStbVersion(SCatalog *pCtg, char *dbFName, char
      *tbName, uint64_t dbId, uint64_t suid, SCtgTbCache *pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:29,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:32,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:31,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - mgmt
    - rentSec
    - type
    - size
    argTypes:
    - SCtgRentMgmt*
    - uint32_t
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: ctgMetaRentInit
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qDebug
    - CTG_ERR_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentInit(SCtgRentMgmt *mgmt, uint32_t rentSec, int8_t
      type, int32_t size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_16
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:157,1
    - Dst: atomic_store_16
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:160,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:166,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:173,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:168,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:175,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:183,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:184,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:189,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:201,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:197,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:203,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:190,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:193,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - mgmt
    - res
    - num
    - size
    argTypes:
    - SCtgRentMgmt*
    - void**
    - uint32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 204
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 204
    functionName: ctgMetaRentGetImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosMemoryMalloc
    - taosArrayGet
    - CTG_RET
    - CTG_ERR_JRET
    - qError
    - CTG_UNLOCK
    - qDebug
    - TAOS_MEMCPY
    - atomic_add_fetch_16
    - taosArrayGetSize
    - atomic_store_16
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentGetImpl(SCtgRentMgmt *mgmt, void **res, uint32_t
      *num, int32_t size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:90,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:92,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:114,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:88,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:84,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:93,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:83,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:89,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:96,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:98,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:112,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:117,1
    - Dst: abs
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:76,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:81,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:100,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:105,1
    - Dst: ctgMetaRentAdd
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:114,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:103,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:109,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:99,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - mgmt
    - meta
    - id
    - size
    - sortCompare
    - searchCompare
    argTypes:
    - SCtgRentMgmt*
    - void*
    - int64_t
    - int32_t
    - __compar_fn_t
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 118
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 118
    functionName: ctgMetaRentUpdate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_ERR_JRET
    - taosArraySearch
    - abs
    - CTG_UNLOCK
    - taosArraySort
    - qDebug
    - ctgMetaRentAdd
    - TAOS_MEMCPY
    - taosArrayGetSize
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMetaRentUpdate(SCtgRentMgmt *mgmt, void *meta, int64_t
      id, int32_t size, __compar_fn_t sortCompare, __compar_fn_t searchCompare) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:235,1
    - Dst: taosGetUInt64Aligned
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:238,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:240,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:237,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:242,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: ctgRemoveStbRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - taosHashIterate
    - ctgMetaRentRemove
    - taosHashGetKey
    - taosGetUInt64Aligned
    linkageType: ''
    returnType: void
    signature: 'void ctgRemoveStbRent(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:270,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:277,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:279,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:278,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:274,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:282,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: ctgRemoveTSMARent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayGetP
    - ctgDebug
    - taosHashIterate
    - CTG_UNLOCK
    - ctgMetaRentRemove
    linkageType: ''
    returnType: void
    signature: 'void ctgRemoveTSMARent(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:318,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:321,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:324,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:321,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:319,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - viewName
    - dbId
    - viewId
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - char*
    - uint64_t
    - uint64_t
    - SCtgViewCache*
    constantsTouched: []
    func_position:
      end: 327
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 327
    functionName: ctgUpdateRentViewVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - ctgMetaRentUpdate
    - ctgDebug
    - CTG_ERR_RET
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateRentViewVersion(SCatalog *pCtg, char *dbFName, char
      *viewName, uint64_t dbId, uint64_t viewId, SCtgViewCache *pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:332,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:336,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:336,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:333,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRent.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - STSMACache*
    constantsTouched: []
    func_position:
      end: 343
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 343
    functionName: ctgUpdateRentTSMAVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRent.c
    functionUses: []
    functionsReached:
    - ctgMetaRentUpdate
    - ctgDebug
    - CTG_ERR_RET
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateRentTSMAVersion(SCatalog *pCtg, char *dbFName, const
      STSMACache *pCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:229,1
    - Dst: ctgRLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:236,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:236,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:229,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:231,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:238,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:244,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:246,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:253,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    constantsTouched: []
    func_position:
      end: 261
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 261
    functionName: ctgAcquireVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - ctgRLockVgInfo
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - ctgTrace
    - ctgDebug
    - CTG_CACHE_HIT_INC
    - ctgAcquireDBCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireVgInfoFromCache(SCatalog *pCtg, const char *dbFName,
      SCtgDBCache **pCache) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:313,1
    - Dst: ctgRLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:318,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:320,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:347,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:333,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:357,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:311,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:318,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:349,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:340,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:365,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:311,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:314,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:321,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:329,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:331,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:334,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:331,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:327,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:338,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:341,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:356,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:361,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    constantsTouched: []
    func_position:
      end: 372
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 372
    functionName: ctgAcquireVgMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgReleaseDBCache
    - ctgRLockVgInfo
    - CTG_META_NHIT_INC
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - ctgDebug
    - CTG_CACHE_HIT_INC
    - ctgTrace
    - taosHashAcquire
    - CTG_UNLOCK
    - strlen
    - ctgAcquireDBCache
    - CTG_META_HIT_INC
    - taosHashRelease
    - ctgRUnlockVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireVgMetaFromCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, SCtgDBCache **pDb, SCtgTbCache **pTb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:268,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:274,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:274,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:270,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:268,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:276,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:280,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:282,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:289,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:291,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:297,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:299,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    constantsTouched: []
    func_position:
      end: 302
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 302
    functionName: ctgAcquireTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_META_NHIT_INC
    - CTG_ERR_JRET
    - taosHashAcquire
    - ctgDebug
    - ctgTrace
    - strlen
    - ctgAcquireDBCache
    - CTG_META_HIT_INC
    - ctgReleaseTbMetaToCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireTbMetaFromCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, SCtgDBCache **pDb, SCtgTbCache **pTb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 103
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 103
    functionName: ctgRUnlockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgRUnlockVgInfo(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: ctgRUnlockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgRUnlockDbCfgInfo(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:157,1
    - Dst: ctgAcquireDBCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: ctgAcquireDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - ctgAcquireDBCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireDBCache(SCatalog *pCtg, const char *dbFName, SCtgDBCache
      **pCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1209,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1220,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1212,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1211,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1221,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1222,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1223,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1226,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1227,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1231,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1238,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1244,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1245,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - cfgInfo
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - SDbCfgInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 1246
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1246
    functionName: ctgUpdateDbCfgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - strchr
    - CTG_ERR_JRET
    - tstrncpy
    - IS_SYS_DBNAME
    - freeDbCfgInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateDbCfgEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, SDbCfgInfo *cfgInfo, bool syncOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2119,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2127,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2129
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2129
    functionName: ctgClearAllHandles
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - ctgClearHandle
    linkageType: ''
    returnType: void
    signature: 'void ctgClearAllHandles(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2923,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2931,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2943,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2946,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2948,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2950,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2940,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2956,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2948,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2912,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2918,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2925,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2935,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2936,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2938,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2942,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2938,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2942,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2939,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2912,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2923,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2935,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2954,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2957
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 2957
    functionName: ctgOpDropViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - ctgFreeViewCacheImpl
    - ctgGetDBCache
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - taosHashGet
    - taosHashRemove
    - strlen
    - ctgMetaRentRemove
    - CTG_DB_NUM_DEC
    - ctgGetViewMetaCacheSize
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropViewMeta(SCtgCacheOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: ctgWUnlockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgWUnlockVgInfo(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 107
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 107
    functionName: ctgWUnlockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgWUnlockDbCfgInfo(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:161,1
    - Dst: ctgAcquireDBCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: ctgGetDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - ctgAcquireDBCacheImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDBCache(SCatalog *pCtg, const char *dbFName, SCtgDBCache
      **pCache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1251,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1253,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1254,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1260,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1262,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1263,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1264,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1267,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1268,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1269,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1278,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1287,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1290,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1278,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1285,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - pCtg
    - output
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    constantsTouched: []
    func_position:
      end: 1291
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1291
    functionName: ctgUpdateTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - TAOS_MEMMOVE
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - strchr
    - CTG_RET
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateTbMetaEnqueue(SCatalog *pCtg, STableMetaOutput *output,
      bool syncOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2134,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2139,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2142,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2146
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2146
    functionName: ctgFreeAllHandles
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgFreeHandle
    - taosHashIterate
    - taosHashClear
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeAllHandles(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2964,1
    - Dst: ctgClearAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2975,1
    - Dst: ctgFreeAllHandles
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2973,1
    - Dst: ctgFreeHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2968,1
    - Dst: ctgClearHandle
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2970,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2979
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2979
    functionName: ctgClearFreeCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgFreeAllHandles
    - ctgClearAllHandles
    - ctgFreeHandle
    - CTG_UNLOCK
    - ctgClearHandle
    linkageType: ''
    returnType: void
    signature: 'void ctgClearFreeCache(SCtgCacheOperation *operation) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2750,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2750,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2756,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2756,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2752,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2760,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2764,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2766,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2770,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2772,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2793,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2791,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2778,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2788,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2794
    functionName: ctgOpUpdateEpset
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgWLockVgInfo
    - ctgGetDBCache
    - CTG_ERR_JRET
    - ctgDebug
    - taosArraySearch
    - ctgWUnlockVgInfo
    - taosHashGet
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateEpset(SCtgCacheOperation *operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:892,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:892,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:900,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:894,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:901,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:908,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:909,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:910,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:911,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:912,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:924,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:923,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:918,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - pCtg
    - pReq
    - tbNotExists
    - inCache
    - pRes
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - bool
    - bool*
    - SCtgAuthRsp*
    constantsTouched: []
    func_position:
      end: 927
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 927
    functionName: ctgChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_CACHE_NHIT_INC
    - CTG_CACHE_HIT_INC
    - ctgTrace
    - CTG_ERR_JRET
    - ctgDebug
    - taosHashGet
    - CTG_UNLOCK
    - strlen
    - TAOS_MEMCPY
    - ctgChkSetAuthRes
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkAuthFromCache(SCatalog *pCtg, SUserAuthInfo *pReq, bool
      tbNotExists, bool *inCache, SCtgAuthRsp *pRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1973,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1985,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1992,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2001,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1992,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1997,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2010,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2021,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2026,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1975,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1987,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1989,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1988,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2021,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2025,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2029,1
    - Dst: ctgFreeSTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1972,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1980,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1985,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2014,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2015,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2029,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1974,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1980,1
    - Dst: ctgFreeSTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1986,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1998,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1994,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2001,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2007,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2010,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2019,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - tbName
    - index
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - STableIndex**
    constantsTouched: []
    func_position:
      end: 2033
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 2033
    functionName: ctgWriteTbIndexToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgGetTbIndexCacheSize
    - atomic_sub_fetch_64
    - CTG_DB_NUM_INC
    - ctgError
    - ctgDebug
    - taosHashGet
    - CTG_UNLOCK
    - ctgUpdateRentStbVersion
    - strlen
    - atomic_add_fetch_64
    - taosArrayDestroyEx
    - ctgFreeSTableIndex
    - taosHashPut
    - taosArrayGetSize
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgWriteTbIndexToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *tbName, STableIndex **index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3335,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3342,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3338,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3345,1
    - Dst: ctgCleanupCacheQueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3346,1
    - Dst: ctgDequeue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3351,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3354,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3364,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3370,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3361,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3359,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3373,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3369,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3361,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3376
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3376
    functionName: ctgUpdateThreadFunc
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgdShowStatInfo
    - ctgError
    - ctgCleanupCacheQueue
    - ctgDebug
    - ctgdShowCacheInfo
    - qInfo
    - qError
    - tstrerror
    - tsem_wait
    - CTG_STAT_RT_INC
    - tsem_post
    - atomic_load_8
    - taosMemoryFreeClear
    - setThreadName
    - ctgDequeue
    linkageType: ''
    returnType: void*
    signature: 'void *ctgUpdateThreadFunc(void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2807,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2809,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2814,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2809,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2815,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2818,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2821
    functionName: ctgOpUpdateTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - ctgGetAddDBCache
    - taosArrayDestroyEx
    - ctgWriteTbIndexToCache
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateTbIndex(SCtgCacheOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_QUEUE_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:935,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:937,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation**
    constantsTouched: []
    func_position:
      end: 940
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 940
    functionName: ctgDequeue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_QUEUE_DEC
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void ctgDequeue(SCtgCacheOperation **op) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2049,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2054,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2064,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2067,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2068,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2059,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2069,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2080,1
    - Dst: ctgWarn
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2038,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2047,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2042,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2052,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2059,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2067,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2073,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2087,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2039,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2042,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2052,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2056,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2075,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2077,1
    - Dst: ctgUpdateRentViewVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2080,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2047,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2048,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2052,1
    - Dst: ctgGetViewMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2088,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2091,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - viewName
    - pMeta
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - SViewMeta*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2092
    functionName: ctgWriteViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - atomic_sub_fetch_64
    - taosMemoryFree
    - CTG_DB_NUM_INC
    - ctgUpdateRentViewVersion
    - CTG_RET
    - ctgWarn
    - CTG_ERR_JRET
    - ctgError
    - ctgDebug
    - ctgFreeSViewMeta
    - taosHashGet
    - CTG_UNLOCK
    - strlen
    - atomic_add_fetch_64
    - taosHashPut
    - CTG_ERR_RET
    - ctgGetViewMetaCacheSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgWriteViewMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *viewName, SViewMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 100
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 100
    functionName: ctgRLockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgRLockDbCfgInfo(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:110,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: ctgReleaseDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseDBCache(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:543,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:562,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:564,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:590,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:604,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:620,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:617,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:637,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:550,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:578,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:584,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:607,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:618,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:619,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:623,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:631,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:644,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:649,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:544,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:552,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:558,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:589,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:581,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:597,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:604,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:606,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:628,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:634,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:547,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:555,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:556,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:570,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:587,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:593,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:585,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:598,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:601,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:609,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:630,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 118
    argCount: 6
    argNames:
    - pCtg
    - ctx
    - pDb
    - pTb
    - pTableMeta
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - SCtgDBCache**
    - SCtgTbCache**
    - STableMeta**
    - char*
    constantsTouched: []
    func_position:
      end: 651
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 651
    functionName: ctgCopyTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryMalloc
    - taosMemoryCalloc
    - ctgError
    - ctgDebug
    - taosMemoryRealloc
    - CTG_UNLOCK
    - CTG_META_SIZE
    - taosHashRelease
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - ctgAcquireStbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCopyTbMeta(SCatalog *pCtg, SCtgTbMetaCtx *ctx, SCtgDBCache
      **pDb, SCtgTbCache **pTb, STableMeta **pTableMeta, char *dbFName) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:944,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:948,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:959,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:961,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:966,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:981,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1000,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:960,1
    - Dst: ctgFreeQNode
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:969,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:988,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1007,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:946,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:947,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:970,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:984,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:979,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:971,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:989,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:996,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1000,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1001,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:949,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:957,1
    - Dst: CTG_QUEUE_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:983,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:986,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:994,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:998,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1007,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 2
    argNames:
    - pCtg
    - operation
    argTypes:
    - SCatalog*
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 1010
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 1010
    functionName: ctgEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosMemoryFree
    - TAOS_UNUSED
    - tsem_init
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgDebug
    - ctgFreeQNode
    - qError
    - CTG_UNLOCK
    - CTG_QUEUE_INC
    - tsem_wait
    - CTG_STAT_RT_INC
    - tsem_destroy
    - tsem_post
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgEnqueue(SCatalog *pCtg, SCtgCacheOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ctgWLockDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgWLockDbCfgInfo(SCtgDBCache *dbCache) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:115,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:123,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:116,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:123,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:125,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:130,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:131,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:136,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:141,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:145,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:146,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:151,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - pCache
    - acquire
    argTypes:
    - SCatalog*
    - char*
    - SCtgDBCache**
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 154
    functionName: ctgAcquireDBCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgReleaseDBCache
    - CTG_CACHE_NHIT_INC
    - strchr
    - taosHashAcquire
    - ctgTrace
    - ctgDebug
    - CTG_CACHE_HIT_INC
    - taosHashGet
    - strlen
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireDBCacheImpl(SCatalog *pCtg, const char *dbFName,
      SCtgDBCache **pCache, bool acquire) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:660,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:661,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:663,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:666,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:666,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:668,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:672,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:672,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:674,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:676,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:682,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:686,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:683,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 687
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 687
    functionName: ctgReadTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_IS_SYS_DB
    - CTG_RET
    - CTG_ERR_JRET
    - ctgDebug
    - ctgCopyTbMeta
    - TAOS_STRCPY
    - ctgReleaseTbMetaToCache
    - ctgAcquireTbMetaFromCache
    - taosMemoryFreeClear
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadTbMetaFromCache(SCatalog *pCtg, SCtgTbMetaCtx *ctx,
      STableMeta **pTableMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1014,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1017,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1023,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1016,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1025,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1026,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1027,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1030,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1031,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1036,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1041,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1041,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1047,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1048
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1048
    functionName: ctgDropDbCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - strchr
    - CTG_ERR_JRET
    - tstrncpy
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropDbCacheEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:165,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ctgReleaseVgInfoToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - ctgRUnlockVgInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseVgInfoToCache(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:182,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:187,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:183,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgViewCache*
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: ctgReleaseViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseViewMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgViewCache *pCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:827,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:829,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:827,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:835,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:831,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:839,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:839,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:841,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:842,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:843,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:852,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:846,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:853,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 857
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 857
    functionName: ctgReadDBCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgReleaseDBCache
    - taosMemoryFree
    - CTG_CACHE_NHIT_INC
    - ctgTrace
    - CTG_ERR_JRET
    - CTG_CACHE_HIT_INC
    - ctgCloneDbCfgInfo
    - CTG_UNLOCK
    - ctgAcquireDBCache
    - TAOS_MEMCPY
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadDBCfgFromCache(SCatalog *pCtg, const char* dbFName,
      SDbCfgInfo* pDbCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:171,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:172,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: ctgReleaseTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseTbMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:194,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:195,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: ctgReleaseTbIndexToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseTbIndexToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:864,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:864,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:872,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:870,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:866,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:873,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:877,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:882,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:883,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - suid
    - stbName
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char**
    constantsTouched: []
    func_position:
      end: 886
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 886
    functionName: ctgGetCachedStbNameFromSuid
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosHashAcquire
    - ctgDebug
    - ctgAcquireDBCache
    - taosStrdup
    - taosHashRelease
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetCachedStbNameFromSuid(SCatalog* pCtg, char* dbFName,
      uint64_t suid, char **stbName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1753,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1749,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1756,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1773,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1780,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1807,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1795,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1749,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1756,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1759,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1766,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1777,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1774,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1779,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1784,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1785,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1791,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1760,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1763,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1770,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1767,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1793,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1796,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1798,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1752,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1763,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1770,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1777,1
    - Dst: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1788,1
    - Dst: ctgMetaRentAdd
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1796,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1808
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1808
    functionName: ctgAddNewDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NUM_INC
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - ctgFreeDbCache
    - CTG_RET
    - tstrncpy
    - strlen
    - HASH_NODE_EXIST
    - IS_SYS_DBNAME
    - ctgMetaRentAdd
    - taosHashPut
    - taosGetDefaultHashFunction
    - CTG_ERR_RET
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAddNewDBCache(SCatalog *pCtg, const char *dbFName, uint64_t
      dbId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1842,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1842,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1871,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1868,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1868,1
    - Dst: ctgAddNewDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1871,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1873,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - pCache
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SCtgDBCache**
    constantsTouched: []
    func_position:
      end: 1878
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1878
    functionName: ctgGetAddDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgRemoveDBFromCache
    - ctgAddNewDBCache
    - CTG_ERR_RET
    - ctgGetDBCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetAddDBCache(SCatalog *pCtg, const char *dbFName, uint64_t
      dbId, SCtgDBCache **pCache) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3054,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3059,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3077,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3082,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3092,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3110,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3120,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3125,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3140,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3072,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3076,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3086,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3094,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3103,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3119,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3123,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3138,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3067,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3096,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3089,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3098,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3089,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3108,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3059,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3054,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3070,1
    - Dst: CTG_DB_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3079,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3087,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3122,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3131,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 78
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3141
      start: 3044
    functionDepth: 0
    functionLinenumber: 3044
    functionLinenumberEnd: 3141
    functionName: ctgOpDropTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - ctgGetDBCache
    - ctgDebug
    - CTG_UNLOCK
    - taosArrayDestroyP
    - taosArrayRemove
    - taosHashRemove
    - tFreeAndClearTableTSMAInfo
    - CTG_RET
    - atomic_sub_fetch_64
    - ctgError
    - taosHashGet
    - ctgGetTbTSMACacheSize
    - CTG_DB_NUM_DEC
    - taosMemoryFreeClear
    - CTG_LOCK
    - CTG_ERR_JRET
    - tstrerror
    - strlen
    - ctgMetaRentRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropTbTSMA(SCtgCacheOperation *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1813,1
    - Dst: ctgRemoveStbRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1818,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1815,1
    - Dst: ctgRemoveViewRent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1819,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1817,1
    - Dst: ctgRemoveTSMARent
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1820,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1821,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1823,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1825,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1825,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1833,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1826,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1829,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1828,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1834,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1830,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1828,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - dbFName
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1837
    functionName: ctgRemoveDBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgRemoveTSMARent
    - ctgFreeDbCache
    - atomic_store_8
    - ctgDebug
    - CTG_UNLOCK
    - taosHashRemove
    - strlen
    - ctgMetaRentRemove
    - CTG_CACHE_NUM_DEC
    - ctgRemoveStbRent
    - CTG_ERR_RET
    - ctgInfo
    - ctgRemoveViewRent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRemoveDBFromCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      const char *dbFName) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1907,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1911,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1926,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1920,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1926,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1930,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1933,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1955,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1956,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1960,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1960,1
    - Dst: ctgUpdateRentStbVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1965,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1884,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1889,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1899,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1921,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1923,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1928,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1928,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1943,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1957,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1962,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1883,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1889,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1922,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1908,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1935,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1938,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1938,1
    - Dst: CTG_META_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1946,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1955,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1965,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1885,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1898,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1904,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1906,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1910,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1926,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1940,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1948,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1949,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 91
    argCount: 6
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - dbId
    - tbName
    - meta
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - uint64_t
    - char*
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1968
    functionName: ctgWriteTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - atomic_sub_fetch_64
    - CTG_META_NUM_INC
    - taosMemoryFree
    - ctgGetTbMetaCacheSize
    - ctgError
    - ctgDebug
    - taosHashGet
    - taosHashRemove
    - CTG_UNLOCK
    - strlen
    - ctgUpdateRentStbVersion
    - atomic_add_fetch_64
    - ctgdShowTableMeta
    - taosHashPut
    - CTG_ERR_RET
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgWriteTbMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, uint64_t dbId, char *tbName, STableMeta *meta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3152,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3162,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3162,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pDbCache
    - pMsg
    argTypes:
    - SCtgDBCache*
    - SCtgUpdateTbTSMAMsg*
    constantsTouched: []
    func_position:
      end: 3167
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3167
    functionName: ctgOpUpdateDbRentForTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgMetaRentUpdate
    - CTG_ERR_JRET
    - CTG_RET
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgOpUpdateDbRentForTsmaVersion(SCtgDBCache* pDbCache,
      SCtgUpdateTbTSMAMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:64,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:67,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:76,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:79,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - inCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - bool*
    constantsTouched: []
    func_position:
      end: 86
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 86
    functionName: ctgRLockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgDebug
    - CTG_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRLockVgInfo(SCatalog *pCtg, SCtgDBCache *dbCache, bool
      *inCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1052,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1061,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1054,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1063,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1064,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1065,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1068,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1069,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1074,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1078,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1078,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1084,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1085
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1085
    functionName: ctgDropDbVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - strchr
    - CTG_ERR_JRET
    - tstrncpy
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropDbVgroupEnqueue(SCatalog *pCtg, const char *dbFName,
      bool syncOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:89,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:92,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:94,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCtg
    - dbCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 98
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 98
    functionName: ctgWLockVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgDebug
    - CTG_ERR_RET
    - CTG_UNLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgWLockVgInfo(SCatalog *pCtg, SCtgDBCache *dbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1090,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1092,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1093,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1099,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1101,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1102,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1103,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1108,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1114,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1114,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - dbId
    - stbName
    - suid
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - char*
    - uint64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1121
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1121
    functionName: ctgDropStbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropStbMetaEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, const char *stbName, uint64_t suid, bool syncOp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1697,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1694,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1682,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1646,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1667,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1671,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1700,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1655,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1653,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1685,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1687,1
    - Dst: createDropAllTbTsmaCtgCacheOp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1677,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1701,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1704,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1660,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1660,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1665,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1673,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1687,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1680,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    constantsTouched: []
    func_position:
      end: 1705
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1705
    functionName: ctgDropTSMAForTbEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayGetP
    - ctgReleaseDBCache
    - ctgEnqueue
    - taosMemoryFree
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - taosHashAcquire
    - CTG_UNLOCK
    - strlen
    - ctgAcquireDBCache
    - createDropAllTbTsmaCtgCacheOp
    - taosHashRelease
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropTSMAForTbEnqueue(SCatalog *pCtg, SName *pName, bool
      syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:205,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:211,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:210,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTbCache*
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: ctgReleaseVgMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - ctgRUnlockVgInfo
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseVgMetaToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      SCtgTbCache *pCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:475,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:482,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:475,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:477,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:482,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:484,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:488,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:490,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:497,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:499,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:505,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:507,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - pDb
    - pTb
    argTypes:
    - SCatalog*
    - char*
    - char*
    - SCtgDBCache**
    - SCtgTbCache**
    constantsTouched: []
    func_position:
      end: 510
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 510
    functionName: ctgAcquireTbIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgReleaseTbIndexToCache
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - taosHashAcquire
    - ctgDebug
    - CTG_CACHE_HIT_INC
    - strlen
    - ctgAcquireDBCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireTbIndexFromCache(SCatalog *pCtg, char *dbFName,
      char *tbName, SCtgDBCache **pDb, SCtgTbCache **pTb) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3222,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3242,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3257,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3228,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3248,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3249,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3263,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3266,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3273,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3230,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3247,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3250,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3254,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3272,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3221,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3251,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3255,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3278,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 1
    argNames:
    - op
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3282
    functionName: ctgFreeCacheOperationData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - tFreeTableTSMAInfo
    - qError
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - freeVgInfo
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeCacheOperationData(SCtgCacheOperation *op) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:217,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:222,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - dbCache
    - pCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - SCtgTSMACache*
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: ctgReleaseTSMAToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosHashRelease
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgReleaseTSMAToCache(SCatalog* pCtg, SCtgDBCache* dbCache, SCtgTSMACache*
      pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:516,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:516,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:518,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - tbName
    - exist
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: ctgTbMetaExistInCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseTbMetaToCache
    - CTG_ERR_RET
    - ctgAcquireTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgTbMetaExistInCache(SCatalog *pCtg, const char *dbFName,
      const char *tbName, int32_t *exist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1709,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1712,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1718,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1711,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1721,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1722,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1729,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1733,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1733,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - pCtg
    - tsmaVersion
    - dbFName
    - dbId
    - syncOp
    argTypes:
    - SCatalog*
    - int32_t
    - char*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1740
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1740
    functionName: ctgUpdateDbTsmaVersionEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - memcpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateDbTsmaVersionEnqueue(SCatalog* pCtg, int32_t tsmaVersion,
      const char* dbFName, int64_t dbId, bool syncOp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3298,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3304,1
    - Dst: ctgFreeCacheOperationData
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3303,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3301,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3318,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3324,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3330,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 3332
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3332
    functionName: ctgCleanupCacheQueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ctgDebug
    - qError
    - ctgFreeCacheOperationData
    - tstrerror
    - taosMemoryFreeClear
    - CTG_STAT_RT_INC
    - tsem_post
    - taosUsleep
    linkageType: ''
    returnType: void
    signature: 'void ctgCleanupCacheQueue(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:430,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:436,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:438,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:436,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:432,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:439,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:443,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:445,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:447,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:453,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:455,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:463,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:461,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - dbCache
    - pCtg
    - dbFName
    - suid
    - pTb
    argTypes:
    - SCtgDBCache*
    - SCatalog*
    - char*
    - uint64_t
    - SCtgTbCache**
    constantsTouched: []
    func_position:
      end: 468
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 468
    functionName: ctgAcquireStbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_META_NHIT_INC
    - taosHashAcquire
    - ctgDebug
    - ctgTrace
    - strlen
    - CTG_META_HIT_INC
    - taosHashRelease
    - ctgReleaseTbMetaToCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAcquireStbMetaFromCache(SCtgDBCache *dbCache, SCatalog
      *pCtg, char *dbFName, uint64_t suid, SCtgTbCache **pTb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:714,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:717,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:726,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:729,1
    - Dst: ctgAcquireStbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:731,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:741,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:699,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:701,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:740,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:748,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:756,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:697,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:742,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:734,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:731,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:708,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:699,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:725,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:746,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 8
    argNames:
    - pCtg
    - pTableName
    - sver
    - tver
    - rver
    - tbType
    - suid
    - stbName
    argTypes:
    - SCatalog*
    - SName*
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t*
    - uint64_t*
    - char*
    constantsTouched: []
    func_position:
      end: 760
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 760
    functionName: ctgReadTbVerFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - tNameGetFullDbName
    - ctgError
    - ctgDebug
    - CTG_UNLOCK
    - taosHashGetKey
    - ctgReleaseTbMetaToCache
    - taosHashRelease
    - ctgAcquireTbMetaFromCache
    - CTG_ERR_RET
    - ctgAcquireStbMetaFromCache
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadTbVerFromCache(SCatalog *pCtg, SName *pTableName, int32_t
      *sver, int32_t *tver, int32_t *rver, int32_t *tbType, uint64_t *suid, char *stbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:765,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:765,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:767,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:772,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - tbName
    - tbType
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 777
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 777
    functionName: ctgReadTbTypeFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - ctgReleaseTbMetaToCache
    - CTG_ERR_RET
    - ctgAcquireTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadTbTypeFromCache(SCatalog *pCtg, char *dbFName, char
      *tbName, int32_t *tbType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2616,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2629,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2640,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2650,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2616,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2643,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2646,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2622,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2627,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2634,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2627,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2634,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2635,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2636,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2639,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2642,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2638,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2642,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2638,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2652,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2653
    functionName: ctgOpDropTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - ctgGetTbIndexCacheSize
    - ctgGetDBCache
    - ctgGetTbMetaCacheSize
    - CTG_ERR_JRET
    - ctgDebug
    - ctgError
    - taosHashGet
    - taosHashRemove
    - strlen
    - ctgFreeTbCacheImpl
    - taosMemoryFreeClear
    - CTG_RET
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropTbMeta(SCtgCacheOperation *operation) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2990,1
    - Dst: ctgClearAllHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2992,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2997,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2995,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2998,1
    - Dst: CTG_CACHE_LOW
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3000,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3001,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3002,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3003,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3009,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3010,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3012,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3019,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3020,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3021,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3011,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3019,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3017,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3024
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 3024
    functionName: ctgClearMetaCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgClearCacheEnqueue
    - taosTmrReset
    - ctgGetGlobalCacheSize
    - ctgClearHandleMeta
    - atomic_load_32
    - ctgClearAllHandleMeta
    - qError
    - tstrerror
    - CTG_CACHE_LOW
    - qDebug
    - ctgClearFreeCache
    linkageType: ''
    returnType: void
    signature: 'void ctgClearMetaCache(SCtgCacheOperation *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3405,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3409,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3409,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3406,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3412,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3413,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3413,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3417,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3421,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3422,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pCtg
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SCtgTbMetaCtx*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 3426
      start: 3404
    functionDepth: 0
    functionLinenumber: 3404
    functionLinenumberEnd: 3426
    functionName: ctgGetTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_IS_SYS_DB
    - CTG_FLAG_SET_SYS_DB
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    - CTG_FLAG_MATCH_STB
    - CTG_FLAG_IS_FORCE_UPDATE
    - IS_SYS_DBNAME
    - ctgReadTbMetaFromCache
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetaFromCache(SCatalog *pCtg, SCtgTbMetaCtx *ctx,
      STableMeta **pTableMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2677,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2680,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2696,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2700,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2720,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2726,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2732,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2735,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2675,1
    - Dst: ctgRemoveCacheUser
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2686,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2697,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2692,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2701,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2705,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2724,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2727,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2729,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2733,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2664,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2664,1
    - Dst: ctgGetUserCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2673,1
    - Dst: CTG_CACHE_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2682,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2694,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2698,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2702,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2728,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2730,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2737,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2675,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2676,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2695,1
    - Dst: CTG_CACHE_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2687,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2699,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2703,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2718,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2720,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2725,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2731,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 61
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2738
    functionName: ctgOpUpdateUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgGetUserCacheSize
    - ctgError
    - CTG_ERR_JRET
    - CTG_CACHE_NUM_INC
    - taosHashGet
    - CTG_UNLOCK
    - atomic_store_64
    - strlen
    - CTG_CACHE_NUM_DEC
    - TAOS_MEMCPY
    - taosHashPut
    - taosMemoryFreeClear
    - ctgRemoveCacheUser
    - CTG_RET
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateUser(SCtgCacheOperation *operation) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgClearMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3031,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3038,1
    - Dst: ctgClearFreeCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3033,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3041
      start: 3026
    functionDepth: 0
    functionLinenumber: 3026
    functionLinenumberEnd: 3041
    functionName: ctgOpClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgClearFreeCache
    - taosMemoryFreeClear
    - ctgClearMetaCache
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpClearCache(SCtgCacheOperation *operation) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3430,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3440,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3435,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3431,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3445,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3445,1
    - Dst: CTG_FLAG_MATCH_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3449,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3450,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3450,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3453,1
    - Dst: CTG_FLAG_IS_UNKNOWN_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3462,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3459,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3478,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3471,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3474,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pResList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetasCtx*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3482
      start: 3429
    functionDepth: 0
    functionLinenumber: 3429
    functionLinenumberEnd: 3482
    functionName: ctgGetTbMetaBFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_IS_SYS_DB
    - TSWAP
    - taosArrayGet
    - CTG_FLAG_SET_SYS_DB
    - CTG_FLAG_IS_UNKNOWN_STB
    - CTG_FLAG_SET_STB
    - CTG_FLAG_MATCH_STB
    - CTG_FLAG_IS_FORCE_UPDATE
    - IS_SYS_DBNAME
    - taosArrayPush
    - ctgReadTbMetaFromCache
    - taosArrayGetSize
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetaBFromCache(SCatalog* pCtg, SRequestConnInfo *pConn,
      SCtgTbMetasCtx* ctx, SArray** pResList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2425,1
    - Dst: ctgRemoveDBFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2436,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2425,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2431,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2436,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2440,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2442,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2443
    functionName: ctgOpDropDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgGetDBCache
    - CTG_RET
    - CTG_ERR_JRET
    - ctgRemoveDBFromCache
    - taosMemoryFreeClear
    - ctgInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropDbCache(SCtgCacheOperation *operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2455,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2460,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2462,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2460,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2455,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2462,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2464,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2467,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2468,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2470,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2476,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2477
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2477
    functionName: ctgOpDropDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - freeVgInfo
    - ctgWLockVgInfo
    - ctgGetDBCache
    - CTG_ERR_JRET
    - CTG_DB_NUM_RESET
    - ctgDebug
    - ctgWUnlockVgInfo
    - ctgGetDbVgroupCacheSize
    - CTG_RET
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropDbVgroup(SCtgCacheOperation *operation) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2833,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2833,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2842,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2838,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2840,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2843,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2846,1
    - Dst: ctgWriteTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2846,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2851,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2852,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2855,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2857,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2858
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2858
    functionName: ctgOpDropTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgGetDBCache
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - taosArrayDestroyEx
    - ctgWriteTbIndexToCache
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropTbIndex(SCtgCacheOperation *operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1579,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1588,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1581,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1582,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1591,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1592,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1599,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1600,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1601,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1610,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1604,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pCtg
    - pTsma
    - syncOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    constantsTouched: []
    func_position:
      end: 1611
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1611
    functionName: ctgDropTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgError
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropTbTSMAEnqueue(SCatalog* pCtg, const STSMACache* pTsma,
      bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1615,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1617,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1623,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1621,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1624,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1625,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1635,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1636,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1637,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pCtg
    - pCache
    - syncOp
    - ppOp
    argTypes:
    - SCatalog*
    - STSMACache*
    - bool
    - SCtgCacheOperation**
    constantsTouched: []
    func_position:
      end: 1643
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1643
    functionName: createDropAllTbTsmaCtgCacheOp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - ctgError
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDropAllTbTsmaCtgCacheOp(SCatalog* pCtg, const
      STSMACache* pCache, bool syncOp, SCtgCacheOperation** ppOp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2869,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2875,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2877,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2878,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2875,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2881,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2883,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2886,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2886,1
    - Dst: ctgWriteViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2888,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2894,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2898,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2893,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2896,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2861
    functionDepth: 0
    functionLinenumber: 2861
    functionLinenumberEnd: 2899
    functionName: ctgOpUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ctgWriteViewMetaToCache
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgFreeSViewMeta
    - tFreeSViewMetaRsp
    - ctgGetAddDBCache
    - dupViewMetaFromRsp
    - taosMemoryFreeClear
    - ctgInfo
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateViewMeta(SCtgCacheOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2098,1
    - Dst: ctgCloneMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2098,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2101,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2107,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2099,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pCtg
    - pOut
    - syncReq
    argTypes:
    - SCatalog*
    - STableMetaOutput*
    - bool
    constantsTouched: []
    func_position:
      end: 2109
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2109
    functionName: ctgUpdateTbMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - CTG_ERR_JRET
    - ctgUpdateTbMetaEnqueue
    - ctgFreeSTableMetaOutput
    - CTG_ERR_RET
    - ctgCloneMetaOutput
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateTbMetaToCache(SCatalog *pCtg, STableMetaOutput *pOut,
      bool syncReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2269,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2280,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2303,1
    - Dst: ctgWLockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2288,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2313,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2333,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2335,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2348,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2347,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2271,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2270,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2294,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2305,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2328,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2341,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2272,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2269,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2280,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2282,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2288,1
    - Dst: ctgGetDbVgroupCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2310,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2311,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2296,1
    - Dst: CTG_DB_NUM_RESET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2316,1
    - Dst: CTG_DB_NUM_SET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2326,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2283,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2315,1
    - Dst: ctgWUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2331,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2340,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2350,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2351
      start: 2258
    functionDepth: 0
    functionLinenumber: 2258
    functionLinenumberEnd: 2351
    functionName: ctgOpUpdateVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgTrace
    - ctgDebug
    - CTG_DB_NUM_SET
    - ctgMetaRentUpdate
    - ctgInfo
    - freeVgInfo
    - CTG_RET
    - atomic_sub_fetch_64
    - ctgWLockVgInfo
    - ctgWUnlockVgInfo
    - ctgGetDbVgroupCacheSize
    - tstrncpy
    - ctgGetAddDBCache
    - taosMemoryFreeClear
    - CTG_DB_NUM_RESET
    - CTG_ERR_JRET
    - taosHashGetSize
    - IS_SYS_DBNAME
    - atomic_add_fetch_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateVgroup(SCtgCacheOperation *operation) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2112,1
    - Dst: ctgUpdateViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncReq
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    constantsTouched: []
    func_position:
      end: 2113
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2113
    functionName: ctgUpdateViewMetaToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgUpdateViewMetaEnqueue
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateViewMetaToCache(SCatalog *pCtg, SViewMetaRsp *pRsp,
      bool syncReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2365,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2370,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2366,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2370,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2372,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2373,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2378,1
    - Dst: ctgWLockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2391,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2393,1
    - Dst: ctgWUnlockDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2397,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2408,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2411,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2399,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2409,1
    - Dst: ctgMetaRentUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2402,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2412
    functionName: ctgOpUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - ctgDebug
    - tstrncpy
    - ctgGetAddDBCache
    - ctgWUnlockDbCfgInfo
    - ctgWLockDbCfgInfo
    - ctgMetaRentUpdate
    - freeDbCfgInfo
    - taosMemoryFreeClear
    - ctgInfo
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateDbCfg(SCtgCacheOperation *operation) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4205,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4225,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4251,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4256,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4261,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4201,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4206,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4203,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4236,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4226,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4239,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4244,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4267,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4203,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4214,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4219,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4223,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4252,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4257,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4269,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4209,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4217,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4242,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4245,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4230,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4249,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4260,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 3
    argNames:
    - pCtg
    - pCtx
    - pTsmaName
    argTypes:
    - SCatalog*
    - SCtgTbTSMACtx*
    - SName*
    constantsTouched: []
    func_position:
      end: 4270
      start: 4193
    functionDepth: 0
    functionLinenumber: 4193
    functionLinenumberEnd: 4270
    functionName: ctgGetTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - ctgReleaseDBCache
    - memcmp
    - taosMemoryCalloc
    - ctgTrace
    - CTG_UNLOCK
    - tNameGetFullDbName
    - taosArrayInit
    - tFreeAndClearTableTSMAInfo
    - ctgAcquireDBCache
    - taosArrayPush
    - CTG_RET
    - CTG_CACHE_NHIT_INC
    - ctgError
    - CTG_LOCK
    - CTG_ERR_JRET
    - taosHashIterate
    - taosHashCancelIterate
    - tCloneTbTSMAInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTSMAFromCache(SCatalog* pCtg, SCtgTbTSMACtx* pCtx, SName*
      pTsmaName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:782,1
    - Dst: ctgAcquireTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:782,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:784,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:790,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:792,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - tbName
    - tbType
    - suid
    argTypes:
    - SCatalog*
    - char*
    - char*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 795
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 795
    functionName: ctgReadTbTypeSuidFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - ctgReleaseTbMetaToCache
    - CTG_ERR_RET
    - ctgAcquireTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadTbTypeSuidFromCache(SCatalog *pCtg, char *dbFName,
      char *tbName, int32_t *tbType, int64_t* suid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:804,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:814,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:808,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:810,1
    - Dst: ctgAcquireTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:808,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:814,1
    - Dst: ctgReleaseTbIndexToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:818,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:820,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 821
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 821
    functionName: ctgReadTbIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgAcquireTbIndexFromCache
    - ctgReleaseTbIndexToCache
    - ctgCloneTableIndex
    - tNameGetFullDbName
    - CTG_RET
    - CTG_ERR_JRET
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgReadTbIndexFromCache(SCatalog *pCtg, SName *pTableName,
      SArray **pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2159
    functionName: ctgVgInfoIdCompId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgVgInfoIdCompId(void const *lp, void const *rp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1125,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1127,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1128,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1134,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1136,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1137,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1138,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1142,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1143,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1148,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1148,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - tbName
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1155
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1155
    functionName: ctgDropTbMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropTbMetaEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, const char *tbName, bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1295,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1298,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1305,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1303,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1297,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1306,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1307,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1311,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1317,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1317,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - vgId
    - pEpSet
    argTypes:
    - SCatalog*
    - char*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1324
    functionName: ctgUpdateVgEpsetEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateVgEpsetEnqueue(SCatalog *pCtg, char *dbFName, int32_t
      vgId, SEpSet *pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1431,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1444,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1433,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1442,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1445,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1446,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1454,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1454,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - pCtg
    - clearMeta
    - freeCtg
    - stopQueue
    - syncOp
    argTypes:
    - SCatalog*
    - bool
    - bool
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1461
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1461
    functionName: ctgClearCacheEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgClearCacheEnqueue(SCatalog *pCtg, bool clearMeta, bool
      freeCtg, bool stopQueue, bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1509,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1520,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1511,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1512,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1518,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1521,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1522,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1526,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1527,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1533,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1539,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1540
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1540
    functionName: ctgDropViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropViewMetaEnqueue(SCatalog *pCtg, const char *dbFName,
      uint64_t dbId, const char *viewName, uint64_t viewId, bool syncOp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2490,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2499,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2502,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2514,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2505,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2515,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2517,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2527,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2491,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2508,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2508,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2520,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2532,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2533,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2534,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2538,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2492,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2502,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2509,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2519,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2524,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2536,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2495,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2490,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2496,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2498,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2508,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2511,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2504,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2520,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2524,1
    - Dst: ctgWriteTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2525,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2539
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2539
    functionName: ctgOpUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_IS_META_VCTABLE
    - taosMemoryMalloc
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgWriteTbMetaToCache
    - CTG_IS_META_TABLE
    - ctgGetAddDBCache
    - CTG_IS_META_CTABLE
    - CTG_IS_META_BOTH
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - ctgInfo
    - CTG_IS_META_VBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateTbMeta(SCtgCacheOperation *operation) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3825,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3831,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3833,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3833,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3834,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3837,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3838,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3839,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3841,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3844,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3846,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3846,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3848,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3847,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbNamesCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 3854
      start: 3823
    functionDepth: 0
    functionLinenumber: 3823
    functionLinenumberEnd: 3854
    functionName: ctgGetTbNamesFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - CTG_FLAG_SET_SYS_DB
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - ctgAddFetch
    - TAOS_STRCPY
    - IS_SYS_DBNAME
    - taosArrayPush
    - taosArrayGetSize
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbNamesFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgTbNamesCtx *ctx, int32_t dbIdx, int32_t *fetchIdx, int32_t baseResIdx, SArray
      *pList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1172,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1183,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1159,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1171,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1176,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1177,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1185,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1189,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1184,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1196,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1202,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1186,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1170,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1161,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1162,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1173,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1196,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - dbInfo
    - syncOp
    argTypes:
    - SCatalog*
    - char*
    - int64_t
    - SDBVgInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 1204
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1204
    functionName: ctgUpdateVgroupEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - freeVgInfo
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - strchr
    - CTG_ERR_JRET
    - tstrncpy
    - IS_SYS_DBNAME
    - ctgMakeVgArray
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateVgroupEnqueue(SCatalog *pCtg, const char *dbFName,
      int64_t dbId, SDBVgInfo *dbInfo, bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1328,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1331,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1337,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1339,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1340,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1341,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1349,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1349,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1355,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pAuth
    - syncOp
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    - bool
    constantsTouched: []
    func_position:
      end: 1358
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1358
    functionName: ctgUpdateUserEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - tFreeSGetUserAuthRsp
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateUserEnqueue(SCatalog *pCtg, SGetUserAuthRsp *pAuth,
      bool syncOp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1465,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1474,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1476,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1468,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1467,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1477,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1478,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1481,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1482,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1483,1
    - Dst: TAOS_MEMMOVE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1484,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1501,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1492,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1504,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1500,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pCtg
    - pRsp
    - syncOp
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    - bool
    constantsTouched: []
    func_position:
      end: 1505
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1505
    functionName: ctgUpdateViewMetaEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - TAOS_MEMMOVE
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - strchr
    - CTG_RET
    - tFreeSViewMetaRsp
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateViewMetaEnqueue(SCatalog *pCtg, SViewMetaRsp *pRsp,
      bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1544,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1555,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1546,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1553,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1556,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1557,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1567,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1567,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pTsma
    - tsmaVersion
    - syncOp
    argTypes:
    - SCatalog*
    - STSMACache**
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1575
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1575
    functionName: ctgUpdateTbTSMAEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateTbTSMAEnqueue(SCatalog *pCtg, STSMACache **pTsma,
      int32_t tsmaVersion, bool syncOp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2168,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2186,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2188,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2210,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2214,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2223,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2233,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2247,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2254,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2250,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2194,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2209,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2220,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2221,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2243,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2245,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2230,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2174,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2177,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2179,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2186,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2191,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2196,1
    - Dst: CTG_DB_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2193,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2219,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2238,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2243,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2224,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2245,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2167,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2182,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2183,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2187,1
    - Dst: ctgGetTbTSMACacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2191,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2191,1
    - Dst: ctgUpdateRentTSMAVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2196,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2202,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2207,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2232,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 5
    argNames:
    - pCtg
    - dbCache
    - dbFName
    - tbName
    - ppTsmaCache
    argTypes:
    - SCatalog*
    - SCtgDBCache*
    - char*
    - char*
    - STSMACache**
    constantsTouched: []
    func_position:
      end: 2255
      start: 2164
    functionDepth: 0
    functionLinenumber: 2164
    functionLinenumberEnd: 2255
    functionName: ctgWriteTbTSMAToCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - CTG_DB_NUM_INC
    - ctgDebug
    - tFreeTableTSMAInfo
    - CTG_UNLOCK
    - taosArrayInit
    - taosArrayRemove
    - ctgUpdateRentTSMAVersion
    - taosArrayPush
    - taosHashPut
    - CTG_RET
    - atomic_sub_fetch_64
    - ctgError
    - taosHashGet
    - ctgGetTbTSMACacheSize
    - taosMemoryFreeClear
    - CTG_LOCK
    - CTG_ERR_JRET
    - strlen
    - atomic_add_fetch_64
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgWriteTbTSMAToCache(SCatalog *pCtg, SCtgDBCache *dbCache,
      char *dbFName, char *tbName, STSMACache **ppTsmaCache) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2565,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2576,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2602,1
    - Dst: ctgGetDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2552,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2566,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2567,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2588,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2594,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2600,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2552,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2558,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2574,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2582,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2589,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2589,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2592,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2596,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2563,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2570,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2574,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2585,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2582,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2585,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2583,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2581,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2586,1
    - Dst: ctgMetaRentRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:2594,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 2603
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2603
    functionName: ctgOpDropStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - ctgGetTbIndexCacheSize
    - ctgGetDBCache
    - ctgGetTbMetaCacheSize
    - CTG_ERR_JRET
    - ctgDebug
    - ctgError
    - taosHashGet
    - taosHashRemove
    - strlen
    - ctgFreeTbCacheImpl
    - ctgMetaRentRemove
    - taosMemoryFreeClear
    - ctgInfo
    - CTG_RET
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpDropStbMeta(SCtgCacheOperation *operation) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3857,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3858,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3859,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3865,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3867,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3867,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3874,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3876,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3878,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3878,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3883,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3887,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3890,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo**
    constantsTouched: []
    func_position:
      end: 3891
      start: 3856
    functionDepth: 0
    functionLinenumber: 3856
    functionLinenumberEnd: 3891
    functionName: ctgGetTbHashVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - tNameGetFullDbName
    - ctgReleaseVgInfoToCache
    - ctgError
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - CTG_RET
    - IS_SYS_DBNAME
    - ctgGetVgInfoFromHashValue
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbHashVgroupFromCache(SCatalog *pCtg, const SName *pTableName,
      SVgroupInfo **pVgroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1362,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1365,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1373,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1371,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1374,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1375,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1383,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1383,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1390,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1393,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pCtg
    - pIndex
    - syncOp
    argTypes:
    - SCatalog*
    - STableIndex**
    - bool
    constantsTouched: []
    func_position:
      end: 1394
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1394
    functionName: ctgUpdateTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateTbIndexEnqueue(SCatalog *pCtg, STableIndex **pIndex,
      bool syncOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3180,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3181,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3180,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3182,1
    - Dst: ctgWriteTbTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3181,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3182,1
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3187,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3188,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3191,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - operation
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3194
      start: 3169
    functionDepth: 0
    functionLinenumber: 3169
    functionLinenumberEnd: 3194
    functionName: ctgOpUpdateTbTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgOpUpdateDbRentForTsmaVersion
    - CTG_ERR_JRET
    - tFreeTableTSMAInfo
    - ctgGetAddDBCache
    - ctgWriteTbTSMAToCache
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateTbTSMA(SCtgCacheOperation *operation) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3381,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3384,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3381,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3382,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3382,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3384,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3387,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3388,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3389,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3392,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3398,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3397,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3402
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3402
    functionName: ctgStartUpdateThread
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - CTG_ERR_JRET
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrSetStackSize
    - CTG_ERR_RET
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgStartUpdateThread() '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3487,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3504,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3538,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3630,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3602,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3688,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3709,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3774,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3778,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3725,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3527,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3679,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3690,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3699,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3708,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3712,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3706,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3605,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3543,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3550,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3672,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3682,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3732,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3556,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3656,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3496,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3535,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3540,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3736,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3555,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3581,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3659,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3595,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3626,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3688,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3694,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3726,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3728,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3754,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3636,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3524,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3553,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3610,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3616,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3667,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3680,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3749,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3500,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3514,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3537,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3560,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3589,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3733,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3750,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3787,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3611,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3653,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3585,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3650,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3557,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3693,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3719,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3769,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3514,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3526,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3515,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3684,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3713,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3786,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3598,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3613,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3617,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3669,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3633,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3717,1
    - Dst: CTG_META_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3738,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3751,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3582,1
    - Dst: CTG_META_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3567,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3664,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3629,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3512,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3538,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3663,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3655,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3677,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3678,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3591,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3641,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3670,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3635,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3697,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3704,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3712,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3731,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3771,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3494,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3516,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3662,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3596,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3592,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3678,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3714,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3746,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3777,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3772,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3502,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3509,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3628,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3693,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3731,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3747,1
    - Dst: CTG_FLAG_SET_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3532,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3555,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3691,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3695,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3642,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3675,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3496,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3509,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3526,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3535,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3539,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3548,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3551,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3638,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 277
    argCount: 8
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    - autoCreate
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetasCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 3790
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3790
    functionName: ctgGetTbMetasFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - ctgReleaseDBCache
    - taosMemoryCalloc
    - ctgTrace
    - ctgDebug
    - taosMemoryRealloc
    - CTG_UNLOCK
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosMemoryMalloc
    - ctgAddFetch
    - ctgAcquireDBCache
    - taosArrayPush
    - CTG_META_HIT_INC
    - taosHashRelease
    - CTG_META_SIZE
    - cloneTableMeta
    - CTG_META_NHIT_INC
    - taosArrayGet
    - CTG_FLAG_SET_SYS_DB
    - ctgError
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - ctgReleaseTbMetaToCache
    - CTG_LOCK
    - withExtSchema
    - CTG_ERR_JRET
    - taosHashAcquire
    - CTG_FLAG_SET_STB
    - TAOS_STRCPY
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetasFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgTbMetasCtx *ctx, int32_t dbIdx, int32_t *fetchIdx, int32_t baseResIdx, SArray
      *pList, bool autoCreate) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3904,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3917,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3934,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3938,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3938,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3942,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3943,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3954,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3973,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3974,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3993,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4000,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3902,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3912,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3924,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3922,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3923,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3941,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3952,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3955,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3986,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4006,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3987,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3980,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3984,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3969,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3989,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3979,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3970,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3981,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3904,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3909,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3910,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3932,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3935,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3950,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3953,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3956,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3957,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3999,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3908,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3922,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3920,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3940,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3941,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3945,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3955,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3964,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3975,1
    - Dst: ctgReleaseViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3977,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3994,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3991,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3996,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3967,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3959,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3988,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 105
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - ctx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgViewsCtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 4009
      start: 3894
    functionDepth: 0
    functionLinenumber: 3894
    functionLinenumberEnd: 4009
    functionName: ctgGetViewsFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - taosMemoryFree
    - tstrdup
    - taosMemoryCalloc
    - CTG_CACHE_HIT_INC
    - ctgDebug
    - CTG_UNLOCK
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosMemoryMalloc
    - ctgAddFetch
    - ctgAcquireDBCache
    - taosArrayPush
    - taosHashRelease
    - ctgReleaseViewMetaToCache
    - taosArrayGet
    - CTG_FLAG_SET_SYS_DB
    - CTG_CACHE_NHIT_INC
    - ctgError
    - TAOS_MEMCPY
    - CTG_LOCK
    - CTG_ERR_JRET
    - taosHashAcquire
    - ctgFreeSViewMeta
    - TAOS_STRCPY
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetViewsFromCache(SCatalog *pCtg, SRequestConnInfo *pConn,
      SCtgViewsCtx *ctx, int32_t dbIdx, int32_t *fetchIdx, int32_t baseResIdx, SArray
      *pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1398,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1407,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1409,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1400,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1401,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1410,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1411,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1415,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1416,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1420,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1426,1
    - Dst: ctgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:1420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pName
    - syncOp
    argTypes:
    - SCatalog*
    - SName*
    - bool
    constantsTouched: []
    func_position:
      end: 1427
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1427
    functionName: ctgDropTbIndexEnqueue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ctgEnqueue
    - tNameGetFullDbName
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDropTbIndexEnqueue(SCatalog *pCtg, SName *pName, bool syncOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3204,1
    - Dst: ctgOpUpdateDbRentForTsmaVersion
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3205,1
    - Dst: ctgGetAddDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3204,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3205,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3208,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 1
    argNames:
    - pOper
    argTypes:
    - SCtgCacheOperation*
    constantsTouched: []
    func_position:
      end: 3210
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3210
    functionName: ctgOpUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - ctgOpUpdateDbRentForTsmaVersion
    - CTG_ERR_JRET
    - ctgGetAddDBCache
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgOpUpdateDbTsmaVersion(SCtgCacheOperation *pOper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3799,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3799,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3803,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3806,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3806,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3808,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3808,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3811,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3814,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3814,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3820,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:3818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - syncReq
    argTypes:
    - SCatalog*
    - SName*
    - bool
    constantsTouched: []
    func_position:
      end: 3821
      start: 3792
    functionDepth: 0
    functionLinenumber: 3792
    functionLinenumberEnd: 3821
    functionName: ctgRemoveTbMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - CTG_ERR_JRET
    - ctgDebug
    - ctgDropTSMAForTbEnqueue
    - ctgDropStbMetaEnqueue
    - ctgDropTbMetaEnqueue
    - ctgReadTbMetaFromCache
    - taosMemoryFreeClear
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRemoveTbMetaFromCache(SCatalog *pCtg, SName *pTableName,
      bool syncReq) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4038,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4058,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4073,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4091,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4130,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4036,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4076,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4082,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4174,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4096,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4120,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4092,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4028,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4155,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4089,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4139,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4132,1
    - Dst: ctgAcquireDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4034,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4052,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4057,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4060,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4069,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4084,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4066,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4116,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4133,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4154,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4146,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4175,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4188,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4108,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4020,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4071,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4091,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4172,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4148,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4136,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4091,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4117,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4156,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4144,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4167,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4128,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4049,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4114,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4181,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4034,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4096,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4024,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4055,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4051,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4137,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4106,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4168,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4179,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4180,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4190,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4038,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4051,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4039,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4058,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4068,1
    - Dst: ctgReleaseTSMAToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4165,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4094,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4098,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4031,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4171,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4072,1
    - Dst: hasOutOfDateTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4125,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4121,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4166,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4024,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4055,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4163,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4106,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4140,1
    - Dst: ctgAddTSMAFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4130,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4126,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4022,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4040,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4110,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4173,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4149,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4162,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4118,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4059,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgCache.c:4071,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 161
    argCount: 6
    argNames:
    - pCtg
    - pCtx
    - dbIdx
    - fetchIdx
    - baseResIdx
    - pList
    argTypes:
    - SCatalog*
    - SCtgTbTSMACtx*
    - int32_t
    - int32_t*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 4191
      start: 4011
    functionDepth: 0
    functionLinenumber: 4011
    functionLinenumberEnd: 4191
    functionName: ctgGetTbTSMAFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgCache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - ctgReleaseDBCache
    - taosMemoryCalloc
    - ctgTrace
    - ctgDebug
    - CTG_CACHE_HIT_INC
    - CTG_UNLOCK
    - hasOutOfDateTSMACache
    - ctgAddTSMAFetch
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosArrayInit
    - tFreeTableTSMAInfoRsp
    - ctgAcquireDBCache
    - taosArrayPush
    - taosHashRelease
    - CTG_RET
    - taosArrayGet
    - CTG_CACHE_NHIT_INC
    - ctgError
    - taosMemoryFreeClear
    - CTG_LOCK
    - snprintf
    - CTG_ERR_JRET
    - taosHashAcquire
    - strlen
    - IS_SYS_DBNAME
    - ctgReleaseTSMAToCache
    - tCloneTbTSMAInfo
    - TMIN
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbTSMAFromCache(SCatalog* pCtg, SCtgTbTSMACtx* pCtx,
      int32_t dbIdx, int32_t* fetchIdx, int32_t baseResIdx, SArray* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:179,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:181,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:184,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:190,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:197,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:201,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:202,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:206,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:215,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:155,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:158,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:171,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:172,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:173,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:182,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:187,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:226,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:210,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:159,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:156,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:162,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:180,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:174,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:183,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:175,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:176,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:188,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:192,1
    - Dst: catalogAsyncGetAllMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:204,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:157,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:160,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:178,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:189,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:220,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:219,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:221,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:222,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:223,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:208,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:195,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 67
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - reqId
    - forceUpdate
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - uint64_t
    - bool
    constantsTouched: []
    func_position:
      end: 227
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 227
    functionName: ctgdLaunchAsyncCall
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - tNameFromString
    - tstrncpy
    - catalogAsyncGetAllMeta
    - taosArrayPush
    - CTG_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdLaunchAsyncCall(SCatalog *pCtg, SRequestConnInfo *pConn,
      uint64_t reqId, bool forceUpdate) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:285,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:294,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:292,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:289,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:288,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:328,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:329,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:333,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:334,1
    - Dst: ctgdEnableDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:339,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:341,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:337,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 344
    functionName: ctgdHandleDbgCommand
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - isspace
    - taosMemoryFree
    - taosStr2Int32
    - strlen
    - ctgdEnableDebug
    - taosStrdup
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdHandleDbgCommand(char *command) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:369,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - option
    - res
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: ctgdGetStatNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - strcasecmp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetStatNum(char *option, void *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: ctgdGetViewNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetViewNum(SCtgDBCache *dbCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - rent
    argTypes:
    - SCtgRentMgmt*
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: ctgdGetRentNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetRentNum(SCtgRentMgmt *rent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:451,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:464,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:455,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pCtg
    - tbName
    - p
    argTypes:
    - SCatalog*
    - char*
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 466
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 466
    functionName: ctgdShowTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - ctgDebug
    linkageType: ''
    returnType: void
    signature: 'void ctgdShowTableMeta(SCatalog *pCtg, const char *tbName, STableMeta
      *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:564,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:565,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:565,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:566,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:566,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:567,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:567,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:568,1
    - Dst: ctgdGetClusterCacheNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:568,1
    - Dst: ctgdShowDBCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:570,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 573
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 573
    functionName: ctgdShowClusterCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - ctgdGetClusterCacheNum
    - ctgdShowDBCache
    linkageType: ''
    returnType: void
    signature: 'void ctgdShowClusterCache(SCatalog *pCtg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:231,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:239,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:233,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:237,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:243,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:245,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:249,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:251,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:255,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:257,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:261,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:273,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:264,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:278,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:270,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 2
    argNames:
    - option
    - enable
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 281
    functionName: ctgdEnableDebug
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - strcasecmp
    - qDebug
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdEnableDebug(char *option, bool enable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:349,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SCatalog**
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: ctgdGetOneHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetOneHandle(SCatalog **pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: ctgdGetTbMetaNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetTbMetaNum(SCtgDBCache *dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: ctgdGetStbNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetStbNum(SCtgDBCache *dbCache) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:407,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:413,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:411,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:420,1
    - Dst: ctgdGetRentNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:409,1
    - Dst: ctgdGetTbMetaNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:425,1
    - Dst: ctgdGetStbNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:428,1
    - Dst: ctgdGetViewNum
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:431,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:434,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:437,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 2
    argNames:
    - pCtg
    - type
    argTypes:
    - SCatalog*
    - int32_t
    constantsTouched: []
    func_position:
      end: 441
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 441
    functionName: ctgdGetClusterCacheNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - ctgdGetStbNum
    - ctgError
    - taosHashIterate
    - taosHashGetSize
    - ctgdGetViewNum
    - ctgdGetRentNum
    - ctgdGetTbMetaNum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdGetClusterCacheNum(SCatalog *pCtg, int32_t type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:475,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:487,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:486,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:484,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:482,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:488,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:503,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:507,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:513,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:516,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:520,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:525,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:552,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:531,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:536,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:555,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 2
    argNames:
    - pCtg
    - dbHash
    argTypes:
    - SCatalog*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 557
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 557
    functionName: ctgdShowDBCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgDebug
    - taosHashIterate
    - taosHashGetSize
    - CTG_UNLOCK
    - taosHashGetKey
    linkageType: ''
    returnType: void
    signature: 'void ctgdShowDBCache(SCatalog *pCtg, SHashObj *dbHash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:580,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:588,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:586,1
    - Dst: ctgGetGlobalCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:585,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:589,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:591,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:593,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:594,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 597
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 597
    functionName: ctgdShowStatInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - ctgGetGlobalCacheSize
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - qDebug
    - ctgGetGlobalCacheStat
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdShowStatInfo(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:605,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:610,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:607,1
    - Dst: ctgdShowClusterCache
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:615,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:607,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:618,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 622
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 622
    functionName: ctgdShowCacheInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - ctgdShowClusterCache
    - CTG_API_LEAVE
    - taosHashIterate
    - CTG_API_ENTER
    - taosHashGetSize
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgdShowCacheInfo(void) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:28,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:66,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:69,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:77,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:78,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:80,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:81,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:84,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:97,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:108,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:98,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:26,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:46,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:67,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:74,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:90,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:91,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:94,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:111,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:114,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:63,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:65,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:62,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:107,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:127,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:130,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:131,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:28,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:36,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:30,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:37,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:39,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:43,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:55,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:59,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:87,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:88,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:120,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:104,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgDbg.c:117,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 116
    argCount: 3
    argNames:
    - pResult
    - param
    - code
    argTypes:
    - SMetaData*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 136
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 136
    functionName: ctgdUserCallback
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgDbg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - tstrerror
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void ctgdUserCallback(SMetaData *pResult, void *param, int32_t code) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:465,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:458,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:476,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:484,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:506,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:512,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:516,1
    - Dst: CTG_API_JENTER
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:454,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:456,1
    - Dst: ctgHandleBatchRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:465,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:513,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:522,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:469,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:475,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:484,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:486,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:493,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:506,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:518,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:467,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:469,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:487,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:475,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:479,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:480,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:490,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:503,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - param
    - pMsg
    - rspCode
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 523
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 523
    functionName: ctgHandleMsgCallback
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgLaunchBatchs
    - taosArrayGet
    - taosMemoryFree
    - ctgError
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - taosGetDefaultHashFunction
    - ctgHandleBatchRsp
    - qError
    - tstrerror
    - taosReleaseRef
    - qDebug
    - TMSG_INFO
    - CTG_GET_TASK_MSGCTX
    - CTG_API_JENTER
    - taosArrayGetSize
    - taosHashInit
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleMsgCallback(void* param, SDataBuf* pMsg, int32_t
      rspCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:791,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:804,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:793,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:794,1
    - Dst: tSerializeSBatchReq
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:802,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:805,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:808,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:810,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:811,1
    - Dst: tSerializeSBatchReq
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:813,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:816,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:821,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:815,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - pBatch
    - vgId
    - msg
    - pSize
    argTypes:
    - SCtgBatch*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 824
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 824
    functionName: ctgBuildBatchReqMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - qTrace
    - taosMemoryCalloc
    - qError
    - tSerializeSBatchReq
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgBuildBatchReqMsg(SCtgBatch* pBatch, int32_t vgId, void**
      msg, int32_t* pSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:977,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:996,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:998,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:994,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1000,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:991,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1016,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1018,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1020,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:982,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:991,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1001,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1005,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:981,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:988,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:991,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:994,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1016,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1018,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:979,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:986,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1005,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1002,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - input
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SBuildUseDBInput*
    - SUseDbOutput*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1023
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1023
    functionName: ctgGetDBVgInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDBVgInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SBuildUseDBInput* input, SUseDbOutput* out, SCtgTaskReq* tReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1792,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1792,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1806,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1811,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1830,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1831,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1832,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1835,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1794,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1807,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1822,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1815,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1847,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1849,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1851,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1790,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1825,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1826,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1836,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1801,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1804,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1815,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1815,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1813,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1822,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1828,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1847,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1849,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - pTbName
    - vgroupInfo
    - out
    - tReq
    - bInput
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - SStreamProgressRsp*
    - SCtgTaskReq*
    - void*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1854
    functionName: ctgGetStreamProgressFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - ctgDebug
    - tNameGetFullDbName
    - taosArrayInit
    - taosArrayDestroy
    - ctgUpdateMsgCtx
    - taosArrayPush
    - rpcFreeCont
    - CTG_RET
    - ctgAsyncSendMsg
    - ctgError
    - TMSG_INDEX
    - ctgAddBatch
    - tNameExtractFullName
    - ctgProcessRspMsg
    - tstrerror
    - rpcSendRecv
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetStreamProgressFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTbName, SVgroupInfo* vgroupInfo, SStreamProgressRsp* out,
      SCtgTaskReq* tReq, void* bInput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:528,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:531,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:536,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:530,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:537,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:538,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:558,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:559,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - pJob
    - pTaskId
    - batchId
    - pMsgIdx
    - msgType
    - pMsgSendInfo
    argTypes:
    - SCtgJob*
    - SArray*
    - int32_t
    - SArray*
    - int32_t
    - SMsgSendInfo**
    constantsTouched: []
    func_position:
      end: 562
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 562
    functionName: ctgMakeMsgSendInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - destroySendMsgInfo
    - qError
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMakeMsgSendInfo(SCtgJob* pJob, SArray* pTaskId, int32_t
      batchId, SArray* pMsgIdx, int32_t msgType, SMsgSendInfo** pMsgSendInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:829,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:836,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:832,1
    - Dst: ctgBuildBatchReqMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:839,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:839,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:840,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:843,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:845,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:853,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:855,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:857,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pCtg
    - pJob
    - pBatchs
    argTypes:
    - SCatalog*
    - SCtgJob*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 858
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 858
    functionName: ctgLaunchBatchs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosMemoryFree
    - CTG_ERR_JRET
    - taosHashIterate
    - ctgBuildBatchReqMsg
    - taosHashGetKey
    - qDebug
    - taosHashCancelIterate
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchBatchs(SCatalog* pCtg, SCtgJob* pJob, SHashObj* pBatchs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1032,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1043,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1052,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1060,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1063,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1041,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1046,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1056,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1054,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1058,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1074,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1076,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1078,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1036,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1036,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1046,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1063,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1059,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1052,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1034,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1037,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1046,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1074,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1076,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - dbFName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1081
    functionName: ctgGetDBCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDBCfgFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SDbCfgInfo* out, SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1861,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1870,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1867,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1869,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1878,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - suid
    - vgroupInfo
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int64_t
    - SVgroupInfo*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1879
    functionName: ctgGetVSubTablesFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgError
    - ctgDebug
    - TMSG_INDEX
    - ctgAddBatch
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVSubTablesFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, int64_t suid, SVgroupInfo* vgroupInfo, SCtgTaskReq* tReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:568,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:570,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:579,1
    - Dst: ctgUpdateSendTargetInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:570,1
    - Dst: ctgMakeMsgSendInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:568,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:582,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:583,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:586,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:586,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:592,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 11
    argNames:
    - pCtg
    - pConn
    - pJob
    - pTaskId
    - batchId
    - pMsgIdx
    - dbFName
    - vgId
    - msgType
    - msg
    - msgSize
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgJob*
    - SArray*
    - int32_t
    - SArray*
    - char*
    - int32_t
    - int32_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 596
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 596
    functionName: ctgAsyncSendMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - destroySendMsgInfo
    - tstrerror
    - ctgUpdateSendTargetInfo
    - ctgMakeMsgSendInfo
    - asyncSendMsgToServer
    - CTG_RET
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAsyncSendMsg(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob*
      pJob, SArray* pTaskId, int32_t batchId, SArray* pMsgIdx, char* dbFName, int32_t
      vgId, int32_t msgType, void* msg, uint32_t msgSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:870,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:871,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:880,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:892,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:890,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:888,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:908,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:910,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:912,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:868,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:877,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:886,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:893,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:894,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:897,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:866,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:875,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:880,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:908,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:910,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:870,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:897,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:886,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:880,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 915
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 915
    functionName: ctgGetQnodeListFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - ctgProcessRspMsg
    - ctgDebug
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - CTG_GET_TASK_MSGCTX
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetQnodeListFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SArray* out, SCtgTask* pTask) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:614,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:664,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:674,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:679,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:717,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:738,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:774,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:679,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:638,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:650,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:673,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:740,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:702,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:685,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:698,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:761,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:755,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:732,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:619,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:659,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:720,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:733,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:746,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:771,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:621,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:761,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:756,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:615,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:677,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:654,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:655,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:663,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:664,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:675,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:680,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:759,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:699,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:741,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:612,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:630,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:671,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:712,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:777,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:745,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:607,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:746,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:696,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:688,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:778,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:620,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:770,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:737,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:762,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:757,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:736,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:631,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:634,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:651,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:785,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:684,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:713,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:733,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:766,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:716,1
    - Dst: ctgFreeBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:784,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:684,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:618,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:637,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:753,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:682,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:608,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:740,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:719,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:605,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:616,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:635,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:656,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:692,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:766,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 196
    argCount: 7
    argNames:
    - pCtg
    - vgId
    - pConn
    - tReq
    - msgType
    - msg
    - msgSize
    argTypes:
    - SCatalog*
    - int32_t
    - SRequestConnInfo*
    - SCtgTaskReq*
    - int32_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 788
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 788
    functionName: ctgAddBatch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - ctgError
    - CTG_ERR_JRET
    - ctgFreeBatch
    - taosHashGet
    - taosArrayPush
    - ctgGetFetchName
    - qDebug
    - atomic_add_fetch_32
    - TMSG_INFO
    - taosHashPut
    - taosArrayGetSize
    - tNameGetFullDbName
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAddBatch(SCatalog* pCtg, int32_t vgId, SRequestConnInfo*
      pConn, SCtgTaskReq* tReq, int32_t msgType, void* msg, uint32_t msgSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:932,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:960,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:962,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:932,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:938,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:949,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:946,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:927,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:925,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:940,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:942,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:944,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:960,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:962,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:964,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:927,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:928,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:932,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:938,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:945,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:949,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 967
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 967
    functionName: ctgGetDnodeListFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - ctgProcessRspMsg
    - ctgDebug
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDnodeListFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SArray** out, SCtgTask* pTask) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:50,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:51,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:53,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:56,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:66,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:74,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:82,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:112,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:28,1
    - Dst: tDeserializeSBatchRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:36,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:60,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:63,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:62,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:75,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:109,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:118,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:124,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:39,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:46,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:53,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:62,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:79,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:117,1
    - Dst: ctgFreeBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:130,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:131,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:38,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:42,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:55,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:69,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:72,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:74,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:111,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:124,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:128,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 4
    argNames:
    - pJob
    - cbParam
    - pMsg
    - rspCode
    argTypes:
    - SCtgJob*
    - SCtgTaskCallbackParam*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 132
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 132
    functionName: ctgHandleBatchRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgLaunchBatchs
    - taosArrayGet
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - taosGetDefaultHashFunction
    - ctgFreeBatchs
    - tDeserializeSBatchRsp
    - taosArrayDestroyEx
    - CTG_GET_TASK_MSGCTX
    - taosArrayGetSize
    - CTG_ERR_RET
    - taosHashInit
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleBatchRsp(SCtgJob* pJob, SCtgTaskCallbackParam* cbParam,
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1095,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1104,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1112,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1114,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1116,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1132,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1134,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1136,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1101,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1117,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1110,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1118,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1121,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1092,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1099,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1104,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1132,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1134,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1090,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1094,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1094,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1110,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1121,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - indexName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SIndexInfo*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1139
    functionName: ctgGetIndexInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetIndexInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* indexName, SIndexInfo* out, SCtgTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1223,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1228,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1238,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1236,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1240,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1256,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1258,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1260,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1241,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1234,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1245,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1228,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1216,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1219,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1228,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1256,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1258,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1214,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1225,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1234,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1242,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1245,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - funcName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1263
    functionName: ctgGetUdfInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetUdfInfoFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* funcName, SFuncInfo* out, SCtgTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1396,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1399,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1416,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1431,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1431,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1445,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1448,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1461,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1463,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1410,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1417,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1441,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1431,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1434,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1459,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1414,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1438,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1439,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1423,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1443,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1444,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1448,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1461,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1403,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1421,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1434,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1459,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pTableName
    - vgroupInfo
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - STableMetaOutput*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1466
    functionName: ctgGetTbMetaFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - ctgDebug
    - tNameGetFullDbName
    - taosArrayInit
    - taosArrayDestroy
    - tNameGetTableName
    - ctgUpdateMsgCtx
    - taosArrayPush
    - rpcFreeCont
    - CTG_RET
    - ctgAsyncSendMsg
    - ctgError
    - TMSG_INDEX
    - ctgAddBatch
    - snprintf
    - ctgProcessRspMsg
    - tstrerror
    - rpcSendRecv
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetaFromVnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SVgroupInfo* vgroupInfo, STableMetaOutput* out, SCtgTaskReq*
      tReq) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:146,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:170,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:249,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:251,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:282,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:293,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:330,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:438,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:176,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:206,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:281,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:329,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:391,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:407,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:378,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:246,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:255,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:161,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:162,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:207,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:266,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:323,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:360,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:382,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:165,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:201,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:210,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:353,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:418,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:400,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:442,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:344,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:438,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:144,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:150,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:219,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:344,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:409,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:357,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:155,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:185,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:252,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:262,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:215,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:329,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:338,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:378,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:409,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:429,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:140,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:177,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:225,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:266,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:272,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:288,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:416,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:260,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:165,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:171,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:180,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:304,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:324,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:420,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:150,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:159,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:189,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:261,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:308,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:314,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:342,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:185,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:236,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:338,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:363,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:405,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:420,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:427,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:421,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:371,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:155,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:156,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:186,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:195,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:287,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:389,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:146,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:170,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:200,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:267,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:276,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:314,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:161,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:192,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:234,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:236,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:283,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:345,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:379,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:442,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:287,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:371,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:354,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:231,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:240,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:273,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:369,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:396,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:397,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:389,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:439,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:353,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 287
    argCount: 6
    argNames:
    - out
    - reqType
    - msg
    - msgSize
    - rspCode
    - target
    argTypes:
    - void*
    - int32_t
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 447
    functionName: ctgProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - SET_META_TYPE_NULL
    - CTG_TABLE_NOT_EXIST
    - qError
    - tstrerror
    - TMSG_INDEX
    - qDebug
    - taosArrayGetSize
    - CTG_ERR_RET
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgProcessRspMsg(void* out, int32_t reqType, char* msg, int32_t
      msgSize, int32_t rspCode, char* target) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1160,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1167,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1183,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1187,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1149,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1153,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1153,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1170,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1165,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1198,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1200,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1155,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1170,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1176,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1184,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1187,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1158,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1161,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1178,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1180,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1170,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1182,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1198,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1200,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1202,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - name
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableIndex*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1205
    functionName: ctgGetTbIndexFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - tNameExtractFullName
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbIndexFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      SName* name, STableIndex* out, SCtgTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1283,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1292,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1298,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1300,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1303,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1274,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1281,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1286,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1296,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1314,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1316,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1276,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1276,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1299,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1303,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1286,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1277,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1286,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1294,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1314,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1316,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1318,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - user
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SGetUserAuthRsp*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1321
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1321
    functionName: ctgGetUserDbAuthFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetUserDbAuthFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* user, SGetUserAuthRsp* out, SCtgTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1481,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1481,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1492,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1492,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1514,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1521,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1487,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1490,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1497,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1497,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1507,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1493,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1516,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1517,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1533,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1535,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1521,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1476,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1483,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1497,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1512,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1507,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1511,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1518,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1533,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1535,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1537,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pTableName
    - vgroupInfo
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - STableCfg**
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1540
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1540
    functionName: ctgGetTableCfgFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - tNameExtractFullName
    - taosArrayDestroy
    - tNameGetFullDbName
    - CTG_RET
    - ctgError
    - ctgProcessRspMsg
    - ctgDebug
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTableCfgFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, SVgroupInfo* vgroupInfo, STableCfg** out, SCtgTask*
      pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1886,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1895,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1892,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1894,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1903,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 8
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - suid
    - vgroupInfo
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int64_t
    - SVgroupInfo*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1904
    functionName: ctgGetVStbRefDbsFromVnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgError
    - ctgDebug
    - TMSG_INDEX
    - ctgAddBatch
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVStbRefDbsFromVnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, int64_t suid, SVgroupInfo* vgroupInfo, SCtgTaskReq* tReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1335,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1344,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1349,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1354,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1356,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1358,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1349,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1374,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1332,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1339,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1339,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1359,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1360,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1349,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1363,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1376,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1340,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1352,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1374,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1337,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1346,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1363,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1376,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1378,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - dbFName
    - tbName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - char*
    - STableMetaOutput*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1381
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1381
    functionName: ctgGetTbMetaFromMnodeImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - snprintf
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetaFromMnodeImpl(SCatalog* pCtg, SRequestConnInfo*
      pConn, const char* dbFName, const char* tbName, STableMetaOutput* out, SCtgTaskReq*
      tReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1560,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1564,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1564,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1577,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1581,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1579,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1597,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1599,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1601,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1562,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1575,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1565,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1582,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1586,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1555,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1555,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1553,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1597,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1599,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1557,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1569,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1575,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1583,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1586,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1604
    functionName: ctgGetTableCfgFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - tNameExtractFullName
    - taosArrayDestroy
    - tNameGetFullDbName
    - CTG_RET
    - ctgError
    - ctgProcessRspMsg
    - ctgDebug
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTableCfgFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, STableCfg** out, SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1670,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1684,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1698,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1701,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1714,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1716,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1682,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1687,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1690,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1694,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1692,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1687,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1696,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1712,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1675,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1678,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1687,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1697,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1701,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1714,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1666,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1668,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1677,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1690,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1712,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SViewMetaOutput*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1719
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1719
    functionName: ctgGetViewInfoFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - tNameExtractFullName
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetViewInfoFromMnode(SCatalog* pCtg, SRequestConnInfo*
      pConn, SName* pName, SViewMetaOutput* out, SCtgTaskReq* tReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1386,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - out
    - tReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMetaOutput*
    - SCtgTaskReq*
    constantsTouched: []
    func_position:
      end: 1389
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1389
    functionName: ctgGetTbMetaFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgGetTbMetaFromMnodeImpl
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMetaFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, STableMetaOutput* out, SCtgTaskReq* tReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1621,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1629,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1631,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1633,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1649,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1651,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1653,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1612,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1621,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1627,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1634,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1638,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1635,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1614,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1616,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1649,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1616,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1617,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1621,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1627,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1638,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - out
    - pTask
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1656
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1656
    functionName: ctgGetSvrVerFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - qDebug
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetSvrVerFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      char** out, SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1737,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1754,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1756,1
    - Dst: ctgAddBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1752,1
    - Dst: ctgUpdateMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1749,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1758,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1774,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1776,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1778,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1728,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1730,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1730,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1744,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1759,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1763,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1732,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1739,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1739,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1752,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1746,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1749,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1749,1
    - Dst: rpcSendRecv
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1774,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1776,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1735,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1740,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1760,1
    - Dst: ctgAsyncSendMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgRemote.c:1763,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - name
    - out
    - tReq
    - reqType
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfoRsp*
    - SCtgTaskReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1781
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1781
    functionName: ctgGetTbTSMAFromMnode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgRemote.c
    functionUses: []
    functionsReached:
    - ctgAsyncSendMsg
    - tNameExtractFullName
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - taosMemoryCalloc
    - ctgDebug
    - ctgProcessRspMsg
    - tstrerror
    - ctgUpdateMsgCtx
    - TMSG_INDEX
    - taosArrayPush
    - rpcSendRecv
    - ctgAddBatch
    - rpcFreeCont
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbTSMAFromMnode(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* name, STableTSMAInfoRsp* out, SCtgTaskReq* tReq, int32_t reqType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1116,1
    - Dst: ctgFreeTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1118,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1122,1
    - Dst: ctgFreeTaskCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1120,1
    - Dst: ctgClearSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - freeRes
    argTypes:
    - SCtgTask*
    - bool
    constantsTouched: []
    func_position:
      end: 1124
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1124
    functionName: ctgFreeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - ctgFreeMsgCtx
    - ctgFreeTaskRes
    - ctgClearSubTaskRes
    - ctgFreeTaskCtx
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTask(SCtgTask* pTask, bool freeRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1838,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1840,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 4
    argNames:
    - pMsgSendInfo
    - msgType
    - dbFName
    - vgId
    argTypes:
    - SMsgSendInfo*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1847
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1847
    functionName: ctgUpdateSendTargetInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_ERR_RET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateSendTargetInfo(SMsgSendInfo* pMsgSendInfo, int32_t
      msgType, char* dbFName, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2061
    functionName: ctgFreeUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeUserAuth(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1131,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1137,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pArray
    - freeRes
    argTypes:
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1138
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1138
    functionName: ctgFreeTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeTask
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTasks(SArray* pArray, bool freeRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1855,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1857,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1860,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1859,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1859,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1867
    functionName: ctgGetTablesReqNum
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - CTG_ERR_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTablesReqNum(SArray* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2069
    functionName: ctgCloneQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneQnodeList(void* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:680,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: ctgFreeTbMetasMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeMsgCtx
    - ctgFreeSTableMetaOutput
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTbMetasMsgCtx(SCtgMsgCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SCtgSubRes*
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 964
    functionName: ctgClearSubTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeSubTaskRes
    linkageType: ''
    returnType: void
    signature: 'void ctgClearSubTaskRes(SCtgSubRes* pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1991,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1991
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1991
    functionName: ctgFreeTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeTableMeta(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2006,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2006
      start: 2006
    functionDepth: 0
    functionLinenumber: 2006
    functionLinenumberEnd: 2006
    functionName: ctgFreeVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeVgroupInfo(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2491,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SViewMeta*
    constantsTouched: []
    func_position:
      end: 2492
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2492
    functionName: ctgGetViewMetaCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetViewMetaCacheSize(SViewMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:694,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - STableMetaOutput*
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 695
    functionName: ctgFreeSTableMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSTableMetaOutput(STableMetaOutput* pOutput) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:975,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:984,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:987,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:990,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:995,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1001,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1020,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1002,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1013,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1025,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1072,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1069,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:970,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1005,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1054,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1062,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1063,1
    - Dst: tDestroySVSubTablesRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1084,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1095,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1078,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1103,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1105,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1055,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:996,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1007,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1012,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1018,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1019,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1026,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1042,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1043,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1066,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1106,1
    - Dst: tDestroySVSubTablesRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1101,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1088,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:981,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:980,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1037,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1046,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1048,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1056,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1057,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1086,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1089,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1027,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1110,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 80
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1113
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 1113
    functionName: ctgFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - qError
    - taosMemoryFreeClear
    - tDestroySVSubTablesRsp
    - taosArrayDestroyEx
    - ctgFreeSTableMetaOutput
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTaskCtx(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1995,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 2004
      start: 1993
    functionDepth: 0
    functionLinenumber: 1993
    functionLinenumberEnd: 2004
    functionName: ctgCloneVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneVgroupInfo(void* pSrc, void** ppDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 2014
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2014
    functionName: ctgCloneTableIndexs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneTableIndexs(void* pSrc, void** ppDst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 2511
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2511
    functionName: ctgGetTbMetaCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE uint64_t ctgGetTbMetaCacheSize(STableMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:497,1
    - Dst: ctgClearHandleMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:502,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:509,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:504,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - clearedSize
    - clearedNum
    - roundDone
    argTypes:
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 511
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 511
    functionName: ctgClearAllHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashCancelIterate
    - ctgClearHandleMeta
    linkageType: ''
    returnType: void
    signature: 'void ctgClearAllHandleMeta(int64_t* clearedSize, int64_t* clearedNum,
      bool* roundDone) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2758,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2771,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2762,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2764,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2760,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2773,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2776,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - pRsp
    - pViewMeta
    argTypes:
    - SViewMetaRsp*
    - SViewMeta*
    constantsTouched: []
    func_position:
      end: 2779
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 2779
    functionName: dupViewMetaFromRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - tstrdup
    - CTG_ERR_RET
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dupViewMetaFromRsp(SViewMetaRsp* pRsp, SViewMeta* pViewMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:536,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:545,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:533,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:520,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:525,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:522,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:526,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:528,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:530,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:533,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:542,1
    - Dst: CTG_STAT_RT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:547,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:549,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:539,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:523,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:521,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:529,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:531,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 550
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 550
    functionName: ctgClearHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgMetaRentInit
    - ctgFreeInstDbCache
    - ctgError
    - qError
    - ctgFreeMetaRent
    - CTG_STAT_RT_INC
    - TAOS_MEMSET
    - taosGetDefaultHashFunction
    - ctgInfo
    - ctgFreeInstUserCache
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'void ctgClearHandle(SCatalog* pCtg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2782,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2787,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2784,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2789,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2790,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ppOut
    - vgInfo
    argTypes:
    - SUseDbOutput**
    - SDBVgInfo*
    constantsTouched: []
    func_position:
      end: 2794
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2794
    functionName: ctgBuildUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - taosMemoryCalloc
    - cloneDbVgInfo
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgBuildUseDbOutput(SUseDbOutput** ppOut, SDBVgInfo* vgInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1663,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1671,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1664,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1669,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1666,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1672,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1673,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1676,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 1683
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1683
    functionName: ctgMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - taosArraySort
    - taosArrayPush
    - taosHashCancelIterate
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMakeVgArraySortBy(SDBVgInfo* dbInfo, __compar_fn_t sort_func) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1924,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1933,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - SDbCfgInfo**
    constantsTouched: []
    func_position:
      end: 1941
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1941
    functionName: ctgCloneDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - taosArrayDup
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneDbCfgInfo(void* pSrc, SDbCfgInfo** ppDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:308,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:313,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:310,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: ctgFreeTbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeTbCacheImpl
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTbCache(SCtgDBCache* dbCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:333,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:336,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:338,1
    - Dst: ctgFreeTSMACacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: ctgFreeTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeTSMACacheImpl
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTSMACache(SCtgDBCache* dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2016
      start: 2016
    functionDepth: 0
    functionLinenumber: 2016
    functionLinenumberEnd: 2016
    functionName: ctgFreeTableIndexs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeTableIndexs(void* p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1691,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1686,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1694,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1696,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1697,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1700,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1709,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1701,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1713,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1705,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1686,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1690,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1697,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1710,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1721,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1714,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1688,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1699,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1711,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1723,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1707,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1712,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1717,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1724,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1725,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    constantsTouched: []
    func_position:
      end: 1730
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1730
    functionName: ctgCloneVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosHashIterate
    - qError
    - taosHashGetSize
    - taosArrayDup
    - ctgMakeVgArray
    - taosHashGetKey
    - taosHashCancelIterate
    - TAOS_MEMCPY
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneVgInfo(SDBVgInfo* src, SDBVgInfo** dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1945,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1946
    functionName: ctgFreeDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - freeDbCfgInfo
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeDbCfgInfo(void* p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:319,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:322,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTSMACache*
    - bool
    constantsTouched: []
    func_position:
      end: 328
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 328
    functionName: ctgFreeTSMACacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayDestroyP
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTSMACacheImpl(SCtgTSMACache* pCache, bool lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: ctgFreeVgInfoCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeVgInfoCache(SCtgDBCache* dbCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2020,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 2029
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2029
    functionName: ctgCloneFuncInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneFuncInfo(void* pSrc, void** ppDst) '
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - CTG_TASK_TYPE
    constantsTouched: []
    func_position:
      end: 118
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionName: ctgTaskTypeStr
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * ctgTaskTypeStr(CTG_TASK_TYPE type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: ctgFreeSTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSTableIndex(void* info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:214,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:215,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:218,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:216,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:217,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:219,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:220,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:221,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:222,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - userCache
    argTypes:
    - SCtgUserAuth*
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: ctgFreeSCtgUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSCtgUserAuth(SCtgUserAuth* userCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:278,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:281,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:285,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgViewCache*
    - bool
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: ctgFreeViewCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - ctgFreeSViewMeta
    - taosMemoryFreeClear
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeViewCacheImpl(SCtgViewCache* pCache, bool lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:396,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:398,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:397,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:401,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:399,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: ctgFreeHandleImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeMetaRent
    - taosMemoryFree
    - ctgFreeInstDbCache
    - ctgFreeInstUserCache
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeHandleImpl(SCatalog* pCtg) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:784,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:805,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:822,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:842,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:831,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:851,1
    - Dst: ctgFreeTbTSMARes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:861,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:783,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:797,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:807,1
    - Dst: ctgFreeViewMetaRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:851,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:859,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:776,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:796,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:789,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:821,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:824,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:840,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:849,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:868,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:870,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:880,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:817,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:833,1
    - Dst: ctgFreeBatchHash
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:842,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:861,1
    - Dst: ctgFreeBatchMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:870,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 69
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    constantsTouched: []
    func_position:
      end: 883
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 883
    functionName: ctgFreeTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - ctgFreeViewMetaRes
    - nodesDestroyNode
    - qError
    - ctgFreeBatchHash
    - ctgFreeBatchMeta
    - tFreeSTableCfgRsp
    - taosArrayDestroyEx
    - ctgFreeTbTSMARes
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTaskRes(CTG_TASK_TYPE type, void** pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1183,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1191,1
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1190,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - pCtxs
    - reqType
    - out
    - target
    argTypes:
    - SArray*
    - int32_t
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1195
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1195
    functionName: ctgAddMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_ERR_RET
    - taosArrayPush
    - ctgFreeMsgCtx
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAddMsgCtx(SArray* pCtxs, int32_t reqType, void* out, char*
      target) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1314,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1357,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1297,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1303,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1306,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1313,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1321,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1323,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1299,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1301,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1297,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1321,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1346,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1353,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1326,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1329,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1326,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - pCtg
    - pMgmtEps
    - dbInfo
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SEpSet*
    - SDBVgInfo*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1358
    functionName: ctgGetVgInfoFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - tNameGetFullDbName
    - CTG_RET
    - ctgError
    - taosArraySearch
    - ctgTrace
    - tstrerror
    - strlen
    - IS_SYS_DBNAME
    - ctgMakeVgArray
    - TAOS_MEMCPY
    - taosArrayGetSize
    - taosGetTbHashVal
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVgInfoFromHashValue(SCatalog* pCtg, SEpSet* pMgmtEps,
      SDBVgInfo* dbInfo, const SName* pTableName, SVgroupInfo* pVgroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:126,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:127,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - SCtgQNode*
    constantsTouched: []
    func_position:
      end: 131
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 131
    functionName: ctgFreeQNode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeQNode(SCtgQNode* node) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:171,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:186,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:210,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:204,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:198,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:144,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:189,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:201,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:159,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:192,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:177,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:183,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:195,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 211
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 211
    functionName: ctgFreeSMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSMetaData(SMetaData* pData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:234,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SCtgRentMgmt*
    constantsTouched: []
    func_position:
      end: 241
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 241
    functionName: ctgFreeMetaRent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeMetaRent(SCtgRentMgmt* mgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:294,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:299,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:297,1
    - Dst: ctgFreeViewCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: ctgFreeViewCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - ctgFreeViewCacheImpl
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeViewCache(SCtgDBCache* dbCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:408,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:410,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:412,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:409,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCtg
    - pUser
    - user
    argTypes:
    - SCatalog*
    - SCtgUserAuth*
    - char*
    constantsTouched: []
    func_position:
      end: 417
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 417
    functionName: ctgRemoveCacheUser
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_UNLOCK
    - taosHashRemove
    - strlen
    - ctgFreeSCtgUserAuth
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRemoveCacheUser(SCatalog* pCtg, SCtgUserAuth* pUser, const
      char* user) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:889,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:896,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:904,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:903,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:909,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:916,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:917,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:928,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:932,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:937,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:942,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:951,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 32
    argCount: 2
    argNames:
    - type
    - pRes
    argTypes:
    - CTG_TASK_TYPE
    - void**
    constantsTouched: []
    func_position:
      end: 954
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 954
    functionName: ctgFreeSubTaskRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - qError
    - tFreeSTableCfgRsp
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSubTaskRes(CTG_TASK_TYPE type, void** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - hashMethod
    - fp
    argTypes:
    - int8_t
    - tableNameHashFp*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1205
    functionName: ctgGetHashFunction
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetHashFunction(int8_t hashMethod, tableNameHashFp* fp) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1367,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1371,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1369,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1391,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1394,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1442,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1447,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1466,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1471,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1480,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1431,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1456,1
    - Dst: ctgTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1507,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1517,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1393,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1398,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1417,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1425,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1434,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1436,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1440,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1442,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1448,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1455,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1478,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1428,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1518,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1480,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1465,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1485,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1490,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1372,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1376,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1382,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1387,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1399,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1406,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1393,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1407,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1418,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1423,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1505,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1509,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1487,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1510,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1486,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1511,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1502,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1367,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1380,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1396,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1415,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1430,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1430,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1443,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1445,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1449,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1483,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1523,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1492,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1474,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 141
    argCount: 8
    argNames:
    - pCtg
    - pMgmgEpSet
    - tReq
    - dbInfo
    - pCtx
    - dbFName
    - pNames
    - update
    argTypes:
    - SCatalog*
    - SEpSet*
    - SCtgTaskReq*
    - SDBVgInfo*
    - SCtgTbHashsCtx*
    - char*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1524
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1524
    functionName: ctgGetVgInfosFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - taosArrayGet
    - CTG_RET
    - strchr
    - ctgError
    - ctgDebug
    - taosArraySearch
    - ctgTrace
    - TAOS_STRCPY
    - strlen
    - IS_SYS_DBNAME
    - ctgMakeVgArray
    - taosArrayPush
    - TAOS_MEMCPY
    - taosArrayGetSize
    - taosGetTbHashVal
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVgInfosFromHashValue(SCatalog* pCtg, SEpSet* pMgmgEpSet,
      SCtgTaskReq* tReq, SDBVgInfo* dbInfo, SCtgTbHashsCtx* pCtx, char* dbFName, SArray*
      pNames, bool update) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2406,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2413,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2416,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2411,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2419,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2422,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2425,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2428,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2431,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2434,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2437,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2440,1
    - Dst: ctgCloneMetaDataArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2443,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2447,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 2452
      start: 2405
    functionDepth: 0
    functionLinenumber: 2405
    functionLinenumberEnd: 2452
    functionName: catalogCloneMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - ctgCloneMetaDataArray
    - catalogFreeMetaData
    linkageType: ''
    returnType: SMetaData*
    signature: 'SMetaData * catalogCloneMetaData(SMetaData* pData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2847,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2865,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2866,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 8
    argNames:
    - pFetchs
    - dbIdx
    - tbIdx
    - fetchIdx
    - resIdx
    - flag
    - fetchType
    - sourceTbName
    argTypes:
    - SArray**
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    - int32_t
    - CTG_TSMA_FETCH_TYPE
    - SName*
    constantsTouched: []
    func_position:
      end: 2870
      start: 2844
    functionDepth: 0
    functionLinenumber: 2844
    functionLinenumberEnd: 2870
    functionName: ctgAddTSMAFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAddTSMAFetch(SArray** pFetchs, int32_t dbIdx, int32_t tbIdx,
      int32_t* fetchIdx, int32_t resIdx, int32_t flag, CTG_TSMA_FETCH_TYPE fetchType,
      const SName* sourceTbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2388,1
    - Dst: copyFunc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2395,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2399,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2389,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pSrc
    - copyFunc
    - pDst
    argTypes:
    - SArray*
    - __array_item_dup_fn_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 2403
      start: 2383
    functionDepth: 0
    functionLinenumber: 2383
    functionLinenumberEnd: 2403
    functionName: ctgCloneMetaDataArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - copyFunc
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneMetaDataArray(SArray* pSrc, __array_item_dup_fn_t
      copyFunc, SArray** pDst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:558,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:561,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SUseDbOutput*
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: ctgFreeSUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeVgInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSUseDbOutput(SUseDbOutput* pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1279
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1279
    functionName: ctgVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int ctgVgInfoComp(const void* lp, const void* rp) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:599,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:600,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:615,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:607,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:661,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:670,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:635,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:573,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:606,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:622,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:621,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:636,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:637,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:644,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:654,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:674,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:585,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:590,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:598,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:614,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:647,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:655,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:565,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:574,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:629,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:620,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:628,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:630,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:631,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:632,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:633,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:634,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 63
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgMsgCtx*
    constantsTouched: []
    func_position:
      end: 677
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 677
    functionName: ctgFreeMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tFreeTableTSMAInfoRsp
    - tFreeSViewMetaRsp
    - qError
    - taosArrayDestroyEx
    - tFreeSTableCfgRsp
    - taosMemoryFreeClear
    - ctgFreeSUseDbOutput
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeMsgCtx(SCtgMsgCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1292
    functionName: ctgHashValueComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHashValueComp(void const* lp, void const* rp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:753,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:754,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 757
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 757
    functionName: ctgFreeTbTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tFreeTableTSMAInfoRsp
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTbTSMARes(void* res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1871,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1885,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1884,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - pFetchs
    - dbIdx
    - tbIdx
    - fetchIdx
    - resIdx
    - flag
    argTypes:
    - SArray**
    - int32_t
    - int32_t
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1889
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1889
    functionName: ctgAddFetch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAddFetch(SArray** pFetchs, int32_t dbIdx, int32_t tbIdx,
      int32_t* fetchIdx, int32_t resIdx, int32_t flag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2097,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2103,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2102,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2101,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2112
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2112
    functionName: ctgCloneViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - tstrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneViewMeta(void* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pVg
    argTypes:
    - SDBVgInfo*
    constantsTouched: []
    func_position:
      end: 2520
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2520
    functionName: ctgGetDbVgroupCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosHashGetSize
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetDbVgroupCacheSize(SDBVgInfo* pVg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2718,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2729,1
    - Dst: ctgGetClusterCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2726,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pSize
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 2731
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2731
    functionName: ctgGetGlobalCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashGetKey
    - taosHashIterate
    - ctgGetClusterCacheSize
    linkageType: ''
    returnType: void
    signature: 'void ctgGetGlobalCacheSize(uint64_t* pSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 769
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 769
    functionName: ctgFreeJsonTagVal
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeJsonTagVal(void* val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1892,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1900,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1894,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1894,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1898,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1900,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pNames
    - pFetch
    - ppName
    argTypes:
    - SArray*
    - SCtgFetch*
    - SName**
    constantsTouched: []
    func_position:
      end: 1905
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1905
    functionName: ctgGetFetchName
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetFetchName(SArray* pNames, SCtgFetch* pFetch, SName**
      ppName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2120,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2123
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2123
    functionName: ctgFreeViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeViewMeta(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2564,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2555,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2573,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2595,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2609,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2531,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2534,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2540,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2543,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2549,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2568,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2559,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2577,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2579,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2585,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2612,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2603,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2588,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2594,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2537,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2546,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2582,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2591,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2600,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2586,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2615,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2528,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2532,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2541,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2552,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2550,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2561,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2558,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2567,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2570,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2576,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2597,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2606,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2604,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 109
    argCount: 1
    argNames:
    - pAuth
    argTypes:
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 2619
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2619
    functionName: ctgGetUserCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashGetKey
    - taosHashIterate
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetUserCacheSize(SGetUserAuthRsp* pAuth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2735,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2740,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2739,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2737,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2743,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2745,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2748,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2749,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - pCtx
    argTypes:
    - SCtgTask*
    - SCtgViewsCtx*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2733
    functionDepth: 0
    functionLinenumber: 2733
    functionLinenumberEnd: 2755
    functionName: ctgBuildViewNullRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - ctgDebug
    - qError
    - taosArrayPush
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgBuildViewNullRes(SCtgTask* pTask, SCtgViewsCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeTasks
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1155,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1157,1
    - Dst: ctgFreeSMetaData
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1153,1
    - Dst: ctgFreeBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1158
    functionName: ctgFreeJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeSMetaData
    - taosMemoryFree
    - qTrace
    - ctgFreeBatchs
    - ctgFreeTasks
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeJob(void* job) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1580
    functionName: ctgDbCacheInfoSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDbCacheInfoSearchCompare(const void* key1, const void*
      key2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2675
    functionDepth: 0
    functionLinenumber: 2675
    functionLinenumberEnd: 2685
    functionName: ctgSummaryClusterCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void ctgSummaryClusterCacheStat(SCatalog* pCtg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMsgCtx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1161,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1168,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pCtx
    - reqType
    - out
    - target
    argTypes:
    - SCtgMsgCtx*
    - int32_t
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1175
    functionName: ctgUpdateMsgCtx
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeMsgCtx
    - CTG_ERR_RET
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateMsgCtx(SCtgMsgCtx* pCtx, int32_t reqType, void* out,
      char* target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1590
    functionName: ctgViewVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgViewVersionSearchCompare(const void* key1, const void*
      key2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2699,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2708,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2711,1
    - Dst: ctgGetClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2704,1
    - Dst: ctgSummaryClusterCacheStat
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2705,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SCtgCacheStat*
    constantsTouched: []
    func_position:
      end: 2712
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2712
    functionName: ctgGetGlobalCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - ctgGetClusterCacheStat
    - taosHashIterate
    - ctgSummaryClusterCacheStat
    linkageType: ''
    returnType: void
    signature: 'void ctgGetGlobalCacheStat(SCtgCacheStat* pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:248,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: ctgFreeStbMetaCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeStbMetaCache(SCtgDBCache* dbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:699,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:703,1
    - Dst: ctgFreeSTableMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:707,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:710,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: ctgResetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - ctgFreeSTableMetaOutput
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: 'void ctgResetTbMetaTask(SCtgTask* pTask) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1733,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1735,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1736,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1739,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1744,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1755,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1774,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1784,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1792,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1747,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1749,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1754,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1757,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1783,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1750,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1751,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1779,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1764,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1775,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1770,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1778,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1786,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1790,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 2
    argNames:
    - output
    - pOutput
    argTypes:
    - STableMetaOutput*
    - STableMetaOutput**
    constantsTouched: []
    func_position:
      end: 1799
      start: 1732
    functionDepth: 0
    functionLinenumber: 1732
    functionLinenumberEnd: 1799
    functionName: ctgCloneMetaOutput
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - withExtSchema
    - taosMemoryMalloc
    - qTrace
    - qError
    - CTG_META_SIZE
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneMetaOutput(STableMetaOutput* output, STableMetaOutput**
      pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1218
    functionName: ctgVgInfoIdComp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgVgInfoIdComp(void const *lp, void const *rp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2126,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2128
    functionName: ctgFreeTbTSMAInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tFreeTableTSMAInfoRsp
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTbTSMAInfo(void* p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:256,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:258,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:266,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:268,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:269,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCache
    - lock
    argTypes:
    - SCtgTbCache*
    - bool
    constantsTouched: []
    func_position:
      end: 274
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 274
    functionName: ctgFreeTbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeTbCacheImpl(SCtgTbCache* pCache, bool lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:720,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - meta
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 721
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 721
    functionName: ctgFreeBatchMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeBatchMeta(void* meta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1225,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1227,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1232,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1230,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1228,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1233,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1236,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1240,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1241,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1242,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1250,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1252,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1256,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1249,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1263,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1266,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1246,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1243,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - pCtg
    - vgHash
    - pList
    - dbFName
    argTypes:
    - SCatalog*
    - SHashObj*
    - SArray**
    - char*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1267
    functionName: ctgGenerateVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - taosHashIterate
    - tNameFromString
    - taosHashGetSize
    - taosArraySort
    - taosArrayPush
    - IS_SYS_DBNAME
    - taosHashCancelIterate
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGenerateVgList(SCatalog* pCtg, SHashObj* vgHash, SArray**
      pList, const char* dbFName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1807,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1814,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1808,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1810,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1816,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1816,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1817,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1819,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1821,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1823,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1825,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pIndex
    - pRes
    argTypes:
    - SArray*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1830
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1830
    functionName: ctgCloneTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - taosArrayPush
    - taosStrdup
    - taosArrayGetSize
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneTableIndex(SArray* pIndex, SArray** pRes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2141,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2166,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2170,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2187,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2202,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2209,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2151,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2153,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2154,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2178,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2198,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2211,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2143,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2154,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2166,1
    - Dst: ctgGetCachedStbNameFromSuid
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2187,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2203,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2141,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2146,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2151,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2191,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2208,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 59
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    constantsTouched: []
    func_position:
      end: 2212
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2212
    functionName: ctgChkSetTbAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - catalogGetCachedTableMeta
    - snprintf
    - tNameExtractFullName
    - ctgGetCachedStbNameFromSuid
    - tNameGetFullDbName
    - taosMemoryFree
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - ctgGetTbMeta
    - CTG_RET
    - taosHashGet
    - tstrerror
    - strlen
    - nodesStringToNode
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkSetTbAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:363,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:371,1
    - Dst: ctgFreeDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:369,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:368,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:365,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pDbCache
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 375
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 375
    functionName: ctgFreeInstDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeDbCache
    - atomic_store_8
    - taosHashIterate
    - taosHashGetSize
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeInstDbCache(SHashObj* pDbCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1620
    functionName: ctgDbCacheInfoSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDbCacheInfoSortCompare(const void* key1, const void* key2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2624,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2628,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2633,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2630,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2627,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2636,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2637,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 2647
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2647
    functionName: ctgGetClusterCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosHashGetKey
    - taosHashIterate
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetClusterCacheSize(SCatalog* pCtg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pTsmaInfo
    argTypes:
    - STableTSMAInfo*
    constantsTouched: []
    func_position:
      end: 2812
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2812
    functionName: ctgGetTbTSMACacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetTbTSMACacheSize(STableTSMAInfo* pTsmaInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:382,1
    - Dst: ctgFreeSCtgUserAuth
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:387,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:392,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:389,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pUserCache
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 393
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 393
    functionName: ctgFreeInstUserCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeSCtgUserAuth
    - taosHashCleanup
    - taosHashIterate
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeInstUserCache(SHashObj* pUserCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1630
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1630
    functionName: ctgViewVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgViewVersionSortCompare(const void* key1, const void* key2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2659,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 2673
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2673
    functionName: ctgGetClusterCacheStat
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    linkageType: ''
    returnType: void
    signature: 'void ctgGetClusterCacheStat(SCatalog* pCtg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2819,1
    - Dst: isCtgTSMACacheOutOfDate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2823,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTsmas
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 2829
      start: 2814
    functionDepth: 0
    functionLinenumber: 2814
    functionLinenumberEnd: 2829
    functionName: hasOutOfDateTSMACache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - isCtgTSMACacheOutOfDate
    linkageType: ''
    returnType: bool
    signature: 'bool hasOutOfDateTSMACache(SArray* pTsmas) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1640
    functionName: ctgTSMAVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgTSMAVersionSortCompare(const void* key1, const void* key2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1648,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1649,1
    - Dst: ctgMakeVgArraySortBy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1654,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1652,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - dbInfo
    - dbName
    - isFullName
    argTypes:
    - SDBVgInfo*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1655
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1655
    functionName: ctgMakeVgArray
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - CTG_ERR_RET
    - ctgMakeVgArraySortBy
    - IS_SYS_DBNAME
    - tNameFromString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMakeVgArray(SDBVgInfo* dbInfo, const char* dbName, bool
      isFullName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2875,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2880,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2876,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2915,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2922,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2927,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2931,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2896,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2908,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2910,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2928,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2884,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2895,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2909,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2915,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2915,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2914,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2883,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2881,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2883,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2912,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2921,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2931,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SCtgVSubTablesCtx*
    constantsTouched: []
    func_position:
      end: 2935
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2935
    functionName: ctgBuildNormalChildVtbList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - snprintf
    - taosMemoryFree
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - taosMemoryCalloc
    - tSimpleHashGet
    - tstrncpy
    - qError
    - tSimpleHashInit
    - strlen
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tstrerror
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgBuildNormalChildVtbList(SCtgVSubTablesCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2832,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pTsmaCache
    argTypes:
    - STSMACache*
    constantsTouched: []
    func_position:
      end: 2842
      start: 2831
    functionDepth: 0
    functionLinenumber: 2831
    functionLinenumberEnd: 2842
    functionName: isCtgTSMACacheOutOfDate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - qDebug
    linkageType: ''
    returnType: bool
    signature: 'bool isCtgTSMACacheOutOfDate(STSMACache* pTsmaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:56,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:57,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - SCtgBatch*
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: ctgFreeBatch
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeBatch(SCtgBatch* pBatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 343
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 343
    functionName: ctgFreeCfgInfoCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - freeDbCfgInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeCfgInfoCache(SCtgDBCache* dbCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2031,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2031
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2031
    functionName: ctgFreeFuncInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeFuncInfo(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2046
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2046
    functionName: ctgFreeIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeIndexInfo(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:61,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:67,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:70,1
    - Dst: ctgFreeBatch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pBatchs
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: ctgFreeBatchs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - ctgFreeBatch
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeBatchs(SHashObj* pBatchs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeVgInfoCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:350,1
    - Dst: ctgFreeTbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:353,1
    - Dst: ctgFreeStbMetaCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:352,1
    - Dst: ctgFreeViewCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:354,1
    - Dst: ctgFreeCfgInfoCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:351,1
    - Dst: ctgFreeTSMACache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dbCache
    argTypes:
    - SCtgDBCache*
    constantsTouched: []
    func_position:
      end: 356
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 356
    functionName: ctgFreeDbCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeCfgInfoCache
    - ctgFreeTbCache
    - ctgFreeViewCache
    - ctgFreeStbMetaCache
    - ctgFreeVgInfoCache
    - ctgFreeTSMACache
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeDbCache(SCtgDBCache* dbCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2035,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2039,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2044
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2044
    functionName: ctgCloneIndexInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneIndexInfo(void* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2050,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2059
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2059
    functionName: ctgCloneUserAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneUserAuth(void* pSrc) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2265,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2273,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2290,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2275,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2291,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2259,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2265,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2289,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2245,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2257,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2259,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2281,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2290,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2291,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2232,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2249,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2249,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2234,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2281,1
    - Dst: ctgChkSetTbAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2275,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2289,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 73
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    constantsTouched: []
    func_position:
      end: 2303
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2303
    functionName: ctgChkSetBasicAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - ctgChkSetTbAuthRes
    - taosHashGet
    - taosHashGetSize
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkSetBasicAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2328,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2333,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2333,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2329,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2335,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2338,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2342,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2350,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2358,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 37
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    constantsTouched: []
    func_position:
      end: 2370
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2370
    functionName: ctgChkSetViewAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - tNameExtractFullName
    - ctgError
    - taosHashGet
    - tstrerror
    - strlen
    - IS_SYS_DBNAME
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkSetViewAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:37,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: ctgFreeMsgSendParam
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeMsgSendParam(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1529,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1534,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1529,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1533,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1531,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1539,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1540,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1543,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1544,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1544,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1547,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1549,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1551,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1556,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1559,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - pCtg
    - dbInfo
    - dbFName
    - pTbs
    - tbNum
    - vgId
    argTypes:
    - SCatalog*
    - SDBVgInfo*
    - char*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1560
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1560
    functionName: ctgGetVgIdsFromHashValue
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - CTG_RET
    - ctgError
    - taosArraySearch
    - ctgDebug
    - strlen
    - ctgMakeVgArray
    - taosArrayGetSize
    - taosGetTbHashVal
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVgIdsFromHashValue(SCatalog* pCtg, SDBVgInfo* dbInfo,
      char* dbFName, const char* pTbs[], int32_t tbNum, int32_t* vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1950,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1955,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 1961
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1961
    functionName: ctgCloneDbInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneDbInfo(void* pSrc, void** ppDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2071
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2071
    functionName: ctgFreeQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeQnodeList(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2374,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2379,1
    - Dst: ctgChkSetViewAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2374,1
    - Dst: ctgChkSetBasicAuthRes
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pCtg
    - req
    - res
    argTypes:
    - SCatalog*
    - SCtgAuthReq*
    - SCtgAuthRsp*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2380
    functionName: ctgChkSetAuthRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgChkSetBasicAuthRes
    - ctgChkSetViewAuthRes
    - CTG_ERR_RET
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkSetAuthRes(SCatalog* pCtg, SCtgAuthReq* req, SCtgAuthRsp*
      res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2460,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2463,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2462,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2461,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2464,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2465,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2466,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2467,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2468,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2469,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2475,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2472,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2471,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2470,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2474,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 2476
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2476
    functionName: ctgDestroySMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void ctgDestroySMetaData(SMetaData* pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: ctgFreeBatchMsg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeBatchMsg(void* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: ctgStbVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgStbVersionSearchCompare(const void* key1, const void* key2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1963
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1963
    functionName: ctgFreeDbInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeDbInfo(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pIndex
    argTypes:
    - STableIndex*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2478
    functionDepth: 0
    functionLinenumber: 2478
    functionLinenumberEnd: 2484
    functionName: ctgGetTbIndexCacheSize
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t ctgGetTbIndexCacheSize(STableIndex* pIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2090
    functionName: ctgCloneDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneDnodeList(void* pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:26,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:28,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SViewMeta*
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: ctgFreeSViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeSViewMeta(SViewMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2092,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2092
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2092
    functionName: ctgFreeDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeDnodeList(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1600
    functionName: ctgTSMAVersionSearchCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgTSMAVersionSearchCompare(const void* key1, const void*
      key2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 1919
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1919
    functionName: ctgCloneDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgCloneDbVgroup(void* pSrc, void** ppDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:426,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:428,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:427,1
    - Dst: ctgFreeInstDbCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:431,1
    - Dst: ctgFreeMetaRent
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:429,1
    - Dst: ctgFreeInstUserCache
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:432,1
    - Dst: CTG_STAT_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:436,1
    - Dst: ctgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pCtg
    argTypes:
    - SCatalog*
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: ctgFreeHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ctgFreeInstDbCache
    - CTG_STAT_NUM_DEC
    - ctgFreeMetaRent
    - ctgInfo
    - ctgFreeInstUserCache
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeHandle(SCatalog* pCtg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:729,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - hash
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: ctgFreeBatchHash
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeBatchHash(void* hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:1921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1921
    functionDepth: 0
    functionLinenumber: 1921
    functionLinenumberEnd: 1921
    functionName: ctgFreeDbVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeDbVgroup(void* p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:444,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:451,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:448,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:458,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:454,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:461,1
    - Dst: ctgGetTbMetaCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:465,1
    - Dst: ctgGetTbIndexCacheSize
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:465,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:466,1
    - Dst: CTG_META_NUM_DEC
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:471,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:477,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:484,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:481,1
    - Dst: ctgFreeTbCacheImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:474,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 4
    argNames:
    - pCtg
    - pClearedSize
    - pCleardNum
    - roundDone
    argTypes:
    - SCatalog*
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 492
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 492
    functionName: ctgClearHandleMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgGetTbIndexCacheSize
    - atomic_sub_fetch_64
    - ctgGetTbMetaCacheSize
    - taosHashIterate
    - qError
    - tstrerror
    - taosHashRemove
    - ctgFreeTbCacheImpl
    - taosHashGetKey
    - taosHashCancelIterate
    - CTG_META_NUM_DEC
    linkageType: ''
    returnType: void
    signature: 'void ctgClearHandleMeta(SCatalog* pCtg, int64_t* pClearedSize, int64_t*
      pCleardNum, bool* roundDone) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:740,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - res
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 743
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 743
    functionName: ctgFreeViewMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - ctgFreeSViewMeta
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void ctgFreeViewMetaRes(void* res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1610
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1610
    functionName: ctgStbVersionSortCompare
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgStbVersionSortCompare(const void* key1, const void* key2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgUtil.c:2082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2082
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2082
    functionName: ctgFreeTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void ctgFreeTableCfg(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1337,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1340,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1344,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1348,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1349
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1349
    functionName: catalogAsyncUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateTbMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogAsyncUpdateTableMeta(SCatalog* pCtg, STableMetaRsp*
      pMsg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1364,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1356,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1369,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1388,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1394,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1404,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1393,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1408,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1416,1
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1353,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1377,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1404,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1394,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1376,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1378,1
    - Dst: ctgReadTbVerFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1388,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1368,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1366,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1381,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1398,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pTables
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1417
    functionName: catalogChkTbMetaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - ctgReadTbVerFromCache
    - ctgError
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgRemoveTbMeta
    - CTG_API_ENTER
    - tNameFromString
    - tstrncpy
    - IS_SYS_DBNAME
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogChkTbMetaVersion(SCatalog* pCtg, SRequestConnInfo*
      pConn, SArray* pTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:69,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:78,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:73,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:69,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:73,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:84,1
    - Dst: CTG_DB_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:86,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:87,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:88,1
    - Dst: ctgDropDbCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:88,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:94,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:94,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:91,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - dbFName
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 97
    functionName: ctgRefreshDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - ctgReleaseVgInfoToCache
    - ctgDebug
    - ctgUpdateVgroupEnqueue
    - CTG_DB_NOT_EXIST
    - tstrncpy
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgDropDbCacheEnqueue
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRefreshDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1190,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1199,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1202,1
    - Dst: ctgDropDbCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1202,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1195,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1204,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCtg
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1209
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1209
    functionName: catalogRemoveDB
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgDropDbCacheEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRemoveDB(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1289,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1295,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1296
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1296
    functionName: catalogGetCachedTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetCachedTableMeta(SCatalog* pCtg, const SName* pTableName,
      STableMeta** pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1633,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1639,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1639,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - stables
    - num
    argTypes:
    - SCatalog*
    - SSTableVersion**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1640
    functionName: catalogGetExpiredSTables
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgMetaRentGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetExpiredSTables(SCatalog* pCtg, SSTableVersion**
      stables, uint32_t* num) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:105,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:111,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:123,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:129,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:135,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:140,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:143,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:147,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:147,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:153,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:170,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:182,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:196,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:175,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:199,1
    - Dst: ctgCloneMetaOutput
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:182,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:159,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:116,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:118,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:126,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:120,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:129,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:132,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:139,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:140,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:149,1
    - Dst: SET_META_TYPE_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:150,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:171,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:178,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:169,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:168,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:187,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:109,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:112,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:116,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:120,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:125,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:119,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:123,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:137,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:143,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:170,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:174,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:194,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:185,1
    - Dst: SET_META_TYPE_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:160,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:169,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:195,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:104,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:105,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:115,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:118,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:126,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:132,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:135,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:139,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:142,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:157,1
    - Dst: SET_META_TYPE_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:162,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:177,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - ctx
    - pOutput
    - syncReq
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetaCtx*
    - STableMetaOutput**
    - bool
    constantsTouched: []
    func_position:
      end: 200
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 200
    functionName: ctgRefreshTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_IS_STB
    - taosMemoryCalloc
    - ctgDebug
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_IS_META_TABLE
    - ctgGetTbMetaFromVnode
    - ctgTbMetaExistInCache
    - ctgCloneMetaOutput
    - tNameGetTableName
    - CTG_IS_META_NULL
    - CTG_IS_META_VBOTH
    - CTG_RET
    - CTG_FLAG_IS_SYS_DB
    - ctgError
    - ctgGetTbHashVgroup
    - CTG_IS_META_BOTH
    - ctgUpdateTbMetaEnqueue
    - taosMemoryFreeClear
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetTbMetaFromMnode
    - SET_META_TYPE_NULL
    - CTG_ERR_JRET
    - SET_META_TYPE_VCTABLE
    - SET_META_TYPE_CTABLE
    - CTG_ERR_RET
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRefreshTbMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      SCtgTbMetaCtx* ctx, STableMetaOutput** pOutput, bool syncReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ctgWarn
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:564,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:575,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:564,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:575,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:591,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:594,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:543,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:546,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:540,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:558,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:563,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:565,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:571,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:570,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:576,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:588,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:555,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:574,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:568,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:587,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:602,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:540,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:546,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:555,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:559,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:598,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 603
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 603
    functionName: ctgGetTbDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - freeVgInfo
    - taosArrayDestroy
    - tNameGetTableName
    - ctgError
    - CTG_ERR_JRET
    - ctgWarn
    - ctgGetTbMeta
    - ctgGenerateVgList
    - taosHashGetDup
    - CTG_RET
    - taosArrayPush
    - ctgRUnlockVgInfo
    - taosMemoryFreeClear
    - ctgGetDBVgInfo
    - tNameGetFullDbName
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbDistVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      SName* pTableName, SArray** pVgList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1212,1
    - Dst: ctgUpdateVgEpsetEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1220,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1220,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1224,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - vgId
    - epSet
    argTypes:
    - SCatalog*
    - char*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1225
    functionName: catalogUpdateVgEpSet
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgUpdateVgEpsetEnqueue
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateVgEpSet(SCatalog* pCtg, const char* dbFName,
      int32_t vgId, SEpSet* epSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1301,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1307,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1307,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1308
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1308
    functionName: catalogGetSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetSTableMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, STableMeta** pTableMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1643,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1646,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1654,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1651,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1649,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1655,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1657,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1657,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pCtg
    - views
    - num
    - dynViewVersion
    argTypes:
    - SCatalog*
    - SViewVersion**
    - uint32_t*
    - SDynViewVersion**
    constantsTouched: []
    func_position:
      end: 1658
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1658
    functionName: catalogGetExpiredViews
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosMemoryMalloc
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgMetaRentGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetExpiredViews(SCatalog* pCtg, SViewVersion** views,
      uint32_t* num, SDynViewVersion** dynViewVersion) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1821,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1832,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1824,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1828,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1828,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pCtg
    - pAuth
    - pRes
    - exists
    argTypes:
    - SCatalog*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    constantsTouched: []
    func_position:
      end: 1833
      start: 1820
    functionDepth: 0
    functionLinenumber: 1820
    functionLinenumberEnd: 1833
    functionName: catalogChkAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgChkAuth
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogChkAuthFromCache(SCatalog* pCtg, SUserAuthInfo *pAuth,
      SUserAuthRes* pRes, bool* exists) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:674,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:678,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:685,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:685,1
    - Dst: ctgAcquireVgMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:678,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:687,1
    - Dst: ctgCopyTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:692,1
    - Dst: ctgReleaseTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:694,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:696,1
    - Dst: ctgReleaseVgMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:700,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:702,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 703
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 703
    functionName: ctgGetCachedTbVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseVgMetaToCache
    - tNameGetFullDbName
    - CTG_RET
    - CTG_ERR_JRET
    - ctgCopyTbMeta
    - ctgReleaseTbMetaToCache
    - ctgGetVgInfoFromHashValue
    - ctgAcquireVgMetaFromCache
    - ctgRUnlockVgInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetCachedTbVgMeta(SCatalog* pCtg, const SName* pTableName,
      SVgroupInfo* pVgroup, STableMeta** pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:782,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:787,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:785,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:785,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:782,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:787,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:789,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:789,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 793
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 793
    functionName: ctgGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetDBCfgFromMnode
    - ctgCloneDbCfgInfo
    - ctgUpdateDbCfgEnqueue
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDBCfg(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SDbCfgInfo* pDbCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1228,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1238,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1236,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1233,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1241,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1243,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1243,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pCtg
    - pRsp
    argTypes:
    - SCatalog*
    - STableIndexRsp*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1248
    functionName: catalogUpdateTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateTbIndexEnqueue
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateTableIndex(SCatalog* pCtg, STableIndexRsp* pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:710,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:717,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:717,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    constantsTouched: []
    func_position:
      end: 722
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 722
    functionName: ctgRemoveTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_RET
    - CTG_ERR_RET
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRemoveTbMeta(SCatalog* pCtg, SName* pTableName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:810,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:810,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:804,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:810,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:818,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:820,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - ppRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 821
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 821
    functionName: ctgGetTbTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - ctgGetTbTSMAFromMnode
    - CTG_ERR_JRET
    - tFreeTableTSMAInfoRsp
    - CTG_RET
    - ctgUpdateTbTSMAEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbTsmas(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1251,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1253,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCtg
    - pTableName
    argTypes:
    - SCatalog*
    - SName*
    constantsTouched: []
    func_position:
      end: 1254
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1254
    functionName: catalogRemoveTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgRemoveTbMeta
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRemoveTableMeta(SCatalog* pCtg, SName* pTableName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1837,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1840,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1846,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1846,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1843,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1850,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pVersion
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char**
    constantsTouched: []
    func_position:
      end: 1851
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1851
    functionName: catalogGetServerVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGetSvrVerFromMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetServerVersion(SCatalog* pCtg, SRequestConnInfo*
      pConn, char** pVersion) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1908,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1911,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1915,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1919,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1920
    functionName: catalogAsyncUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgUpdateViewMetaToCache
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogAsyncUpdateViewMeta(SCatalog* pCtg, SViewMetaRsp* pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:484,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:492,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:498,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:514,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:501,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:508,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:509,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:480,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:481,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:485,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:511,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:523,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:491,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:494,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:500,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:507,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:514,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:510,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:521,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:480,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:481,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 524
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 524
    functionName: ctgGetTbTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tTagToValArray
    - parseTagDatatoJson
    - ctgGetTbHashVgroup
    - CTG_ERR_JRET
    - ctgError
    - tTagIsJson
    - CTG_RET
    - ctgGetTableCfgFromVnode
    - strlen
    - taosArrayPush
    - tFreeSTableCfgRsp
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbTag(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1891,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1895,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1899,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1894,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1899,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1904
    functionName: catalogUpdateViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgUpdateViewMetaToCache
    - CTG_API_ENTER
    - tFreeSViewMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateViewMeta(SCatalog* pCtg, SViewMetaRsp* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:422,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:427,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:429,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:432,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:422,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:437,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:440,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:440,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:444,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:444,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:451,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:450,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:453,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 457
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 457
    functionName: ctgGetTbIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ctgCloneTableIndex
    - CTG_RET
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgGetTbIndexFromMnode
    - ctgUpdateTbIndexEnqueue
    - taosArrayDestroyEx
    - tFreeSTableIndexRsp
    - CTG_ERR_RET
    - ctgReadTbIndexFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbIndex(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, SArray** pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:826,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:834,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:841,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:832,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:835,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 844
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 844
    functionName: ctgGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - ctgGetTbTSMAFromMnode
    - CTG_ERR_JRET
    - tFreeTableTSMAInfoRsp
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTsma(SCatalog* pCtg, SRequestConnInfo* pConn, const
      SName* pTsmaName, STableTSMAInfo** pTsma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1789,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1798,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1798,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1792,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1795,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - funcName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SFuncInfo*
    constantsTouched: []
    func_position:
      end: 1803
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1803
    functionName: catalogGetUdfInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - ctgGetUdfInfoFromMnode
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetUdfInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* funcName, SFuncInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1868,1
    - Dst: ctgRemoveViewMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1870,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1871
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1871
    functionName: catalogRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgRemoveViewMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRemoveViewMeta(SCatalog* pCtg, const char* dbFName,
      uint64_t dbId, const char* viewName, uint64_t viewId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1977,1
    - Dst: ctgGetTbTsmas
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1984,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1980,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1988,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1984,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1989
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 1989
    functionName: catalogGetTableTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgGetTbTsmas
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableTsmas(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SArray** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1993,1
    - Dst: ctgGetTsma
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2000,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1996,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2000,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2004,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTsmaName
    - pTsma
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 2005
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2005
    functionName: catalogGetTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgGetTsma
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTsma(SCatalog* pCtg, SRequestConnInfo* pConn, const
      SName* pTsmaName, STableTSMAInfo** pTsma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:461,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:467,1
    - Dst: ctgGetTbType
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:461,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:464,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:464,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:467,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:468,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:468,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    constantsTouched: []
    func_position:
      end: 472
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 472
    functionName: ctgGetTbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbType
    - CTG_RET
    - ctgGetTbHashVgroup
    - ctgGetTableCfgFromVnode
    - ctgGetTableCfgFromMnode
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbCfg(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, STableCfg** pCfg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:850,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:909,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:920,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:928,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:929,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:934,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:851,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:857,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:909,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:915,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:910,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:935,1
    - Dst: ctgStartUpdateThread
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:938,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:905,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:908,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:913,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:922,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:932,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:940,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:848,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:854,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:922,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:916,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:923,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:928,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:938,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - SCatalogCfg*
    constantsTouched: []
    func_position:
      end: 944
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 944
    functionName: catalogInit
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgStartUpdateThread
    - tsem_init
    - taosMemoryCalloc
    - taosTmrInit
    - qInfo
    - qError
    - tstrerror
    - TAOS_MEMSET
    - taosTmrStart
    - TAOS_MEMCPY
    - taosGetDefaultHashFunction
    - taosOpenRef
    - CTG_ERR_RET
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogInit(SCatalogCfg* cfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1566,1
    - Dst: ctgInitJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1574,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1569,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1576,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1574,1
    - Dst: ctgLaunchJob
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1576,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1584,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1586,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1592,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1592,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1597,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - pReq
    - fp
    - param
    - jobId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCatalogReq*
    - catalogCallback
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1598
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1598
    functionName: catalogAsyncGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgInitJob
    - CTG_API_ENTER
    - qError
    - tstrerror
    - taosReleaseRef
    - ctgLaunchJob
    - taosRemoveRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogAsyncGetAllMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SCatalogReq* pReq, catalogCallback fp, void* param, int64_t* jobId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1806,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1817,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1809,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1813,1
    - Dst: ctgChkAuth
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pAuth
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    constantsTouched: []
    func_position:
      end: 1818
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1818
    functionName: catalogChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgChkAuth
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogChkAuth(SCatalog* pCtg, SRequestConnInfo* pConn, SUserAuthInfo
      *pAuth, SUserAuthRes* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1875,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1878,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1882,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1884,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1881,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1885,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCtg
    - pVer
    argTypes:
    - SCatalog*
    - SDynViewVersion*
    constantsTouched: []
    func_position:
      end: 1888
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1888
    functionName: catalogUpdateDynViewVer
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgDebug
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateDynViewVer(SCatalog* pCtg, SDynViewVersion* pVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1924,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1926,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pViewName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1927
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1927
    functionName: catalogGetViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetViewMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pViewName, STableMeta** pTableMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1448,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1454,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1454,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1452,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    - isSTable
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    - int32_t
    constantsTouched: []
    func_position:
      end: 1455
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1455
    functionName: catalogRefreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbMeta
    - CTG_API_LEAVE
    - CTG_FLAG_MAKE_STB
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRefreshGetTableMeta(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, STableMeta** pTableMeta, int32_t isSTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1930,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1936,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1936,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1932,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1940,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCtg
    - ppTsma
    - tsmaVersion
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    - int32_t
    constantsTouched: []
    func_position:
      end: 1941
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1941
    functionName: catalogAsyncUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateTbTSMAEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogAsyncUpdateTSMA(SCatalog* pCtg, STableTSMAInfo** ppTsma,
      int32_t tsmaVersion) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1458,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1465,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1461,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1464,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1466,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1469,1
    - Dst: ctgGetTbDistVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1469,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1470
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1470
    functionName: catalogGetTableDistVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbDistVgInfo
    - ctgError
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableDistVgInfo(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, SArray** pVgList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1311,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1317,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1317,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCtg
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1318
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1318
    functionName: catalogGetCachedSTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetCachedSTableMeta(SCatalog* pCtg, const SName* pTableName,
      STableMeta** pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1601,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1609,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1609,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1605,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1608,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pQnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1614
    functionName: catalogGetQnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetQnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetQnodeList(SCatalog* pCtg, SRequestConnInfo* pConn,
      SArray* pQnodeList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1662,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1668,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1668,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - dbs
    - num
    argTypes:
    - SCatalog*
    - SDbCacheInfo**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1669
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1669
    functionName: catalogGetExpiredDBs
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgMetaRentGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetExpiredDBs(SCatalog* pCtg, SDbCacheInfo** dbs, uint32_t*
      num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1322,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1329,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1325,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1333,1
    - Dst: ctgUpdateTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pMsg
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1334
    functionName: catalogUpdateTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateTbMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateTableMeta(SCatalog* pCtg, STableMetaRsp* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1617,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1621,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1625,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1625,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1624,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1629,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - pDnodeList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1630
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1630
    functionName: catalogGetDnodeList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGetDnodeListFromMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetDnodeList(SCatalog* pCtg, SRequestConnInfo* pConn,
      SArray** pDnodeList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1672,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1675,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1678,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1683,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1680,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1685,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1686,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1690,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1693,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1694,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1699,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1706,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - pCtg
    - users
    - num
    argTypes:
    - SCatalog*
    - SUserAuthVersion**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1707
    functionName: catalogGetExpiredUsers
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - ctgError
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosHashCancelIterate
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetExpiredUsers(SCatalog* pCtg, SUserAuthVersion**
      users, uint32_t* num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1772,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1781,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1779,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1779,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1775,1
    - Dst: ctgGetTbCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1781,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1785,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableCfg**
    constantsTouched: []
    func_position:
      end: 1786
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1786
    functionName: catalogRefreshGetTableCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgRemoveTbMeta
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGetTbCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRefreshGetTableCfg(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, STableCfg** pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1474,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1476,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgroup
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1477
    functionName: catalogGetTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbHashVgroup
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableHashVgroup(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, SVgroupInfo* pVgroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1730,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1736,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1736,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1733,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - indexName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SIndexInfo*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1737
    functionName: catalogGetIndexMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGetIndexInfoFromMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetIndexMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* indexName, SIndexInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1481,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1483,1
    - Dst: ctgGetTbsHashVgId
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - acctId
    - pDb
    - pTableName
    - tableNum
    - vgId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int32_t
    - char*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1484
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1484
    functionName: catalogGetTablesHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbsHashVgId
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTablesHashVgId(SCatalog* pCtg, SRequestConnInfo*
      pConn, int32_t acctId, const char* pDb, const char* pTableName[], int32_t tableNum,
      int32_t *vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1740,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1743,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1751,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1747,1
    - Dst: ctgGetTbIndex
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1752
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1752
    functionName: catalogGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbIndex
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableIndex(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SArray** pRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2036,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2056,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2038,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2043,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2053,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2060,1
    - Dst: taosCheckCurrentInDll
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2062,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2063,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2064,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2067,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2071
      start: 2035
    functionDepth: 0
    functionLinenumber: 2035
    functionLinenumberEnd: 2071
    functionName: catalogDestroy
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgClearCacheEnqueue
    - taosCheckCurrentInDll
    - atomic_store_8
    - qInfo
    - taosThreadJoin
    - qDebug
    - taosTmrStop
    - atomic_load_8
    - taosTmrCleanUp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void catalogDestroy(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:373,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:373,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:392,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:390,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:390,1
    - Dst: ctgChkSetAuthRes
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:392,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:396,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:398,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRes
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SUserAuthInfo*
    - SUserAuthRes*
    - bool*
    constantsTouched: []
    func_position:
      end: 399
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 399
    functionName: ctgChkAuth
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgChkAuthFromCache
    - CTG_RET
    - ctgGetUserDbAuthFromMnode
    - CTG_ERR_JRET
    - ctgUpdateUserEnqueue
    - ctgChkSetAuthRes
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgChkAuth(SCatalog* pCtg, SRequestConnInfo* pConn, SUserAuthInfo
      *pReq, SUserAuthRes* pRes, bool* exists) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1061,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1072,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1072,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1079,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1064,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1079,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1087,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1088,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1092,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1095,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - vgroupList
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1096
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1096
    functionName: catalogGetDBVgList
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGenerateVgList
    - ctgRUnlockVgInfo
    - ctgGetDBVgInfo
    - freeVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetDBVgList(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, SArray** vgroupList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1854,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1860,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1860,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCtg
    - pAuth
    argTypes:
    - SCatalog*
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 1861
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1861
    functionName: catalogUpdateUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateUserEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateUserAuthInfo(SCatalog* pCtg, SGetUserAuthRsp*
      pAuth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:403,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:413,1
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:404,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:404,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - tbType
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: ctgGetTbType
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tNameGetFullDbName
    - ctgGetTbMeta
    - CTG_ERR_RET
    - ctgReadTbTypeFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbType(SCatalog* pCtg, SRequestConnInfo* pConn, SName*
      pTableName, int32_t* tbType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1099,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1102,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1108,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1108,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1117,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1119,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1120,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1123,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1125,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1130,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1138,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1146,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1149,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1147,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1152,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pInfo
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - TAOS_DB_ROUTE_INFO*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1153
    functionName: catalogGetDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - ctgError
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - taosMemoryCalloc
    - CTG_API_ENTER
    - taosHashIterate
    - taosHashGetSize
    - ctgRUnlockVgInfo
    - ctgGetDBVgInfo
    - freeVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName, TAOS_DB_ROUTE_INFO* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgDestroySMetaData
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1864,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1865
    functionName: catalogFreeMetaData
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgDestroySMetaData
    linkageType: ''
    returnType: void
    signature: 'void catalogFreeMetaData(SMetaData * pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1944,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1946,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1950,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1954,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1950,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 1955
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1955
    functionName: catalogUpdateTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateTbTSMAEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateTSMA(SCatalog* pCtg, STableTSMAInfo** pTsma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1420,1
    - Dst: ctgRefreshDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1426,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1423,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - pConn
    - dbFName
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1427
    functionName: catalogRefreshDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgRefreshDBVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRefreshDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn,
      const char* dbFName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1958,1
    - Dst: ctgDropTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1969,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1969,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1962,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1973,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pCtg
    - pTsma
    argTypes:
    - SCatalog*
    - STableTSMAInfo*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1974
    functionName: catalogRemoveTSMA
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgDropTbTSMAEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRemoveTSMA(SCatalog* pCtg, const STableTSMAInfo* pTsma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1430,1
    - Dst: CTG_FLAG_SET_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1440,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1433,1
    - Dst: CTG_FLAG_MAKE_STB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1438,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1439,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1443,1
    - Dst: ctgRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1443,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - isSTable
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1444
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1444
    functionName: catalogRefreshTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_SET_SYS_DB
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - IS_SYS_DBNAME
    - CTG_FLAG_MAKE_STB
    - ctgRefreshTbMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRefreshTableMeta(SCatalog* pCtg, SRequestConnInfo*
      pConn, const SName* pTableName, int32_t isSTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1511,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1514,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1533,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1535,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1532,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1542,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1530,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1560,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1524,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1534,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1542,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1556,1
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1501,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1504,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1519,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1530,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1545,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1513,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1550,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1553,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pReq
    - pRsp
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCatalogReq*
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1561
    functionName: catalogGetAllMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - ctgGetQnodeListFromMnode
    - taosArrayGet
    - taosArrayDestroy
    - ctgError
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_API_ENTER
    - taosArrayPush
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetAllMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SCatalogReq* pReq, SMetaData* pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:606,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:607,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:614,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:617,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:608,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:617,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:620,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:624,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:624,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:629,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:630,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:637,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SVgroupInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 638
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 638
    functionName: ctgGetTbHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - freeVgInfo
    - tNameGetFullDbName
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgDebug
    - IS_SYS_DBNAME
    - ctgGetVgInfoFromHashValue
    - ctgRUnlockVgInfo
    - ctgGetDBVgInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbHashVgroup(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SVgroupInfo* pVgroup, bool* exists) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1156,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1161,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1162,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1169,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - dbInfo
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SDBVgInfo*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1170
    functionName: catalogUpdateDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateVgroupEnqueue
    - freeVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateDBVgInfo(SCatalog* pCtg, const char* dbFName,
      uint64_t dbId, SDBVgInfo* dbInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1710,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1716,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1713,1
    - Dst: ctgMetaRentGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCtg
    - tsmas
    - num
    argTypes:
    - SCatalog*
    - STSMAVersion**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1717
      start: 1709
    functionDepth: 0
    functionLinenumber: 1709
    functionLinenumberEnd: 1717
    functionName: catalogGetExpiredTsmas
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgMetaRentGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetExpiredTsmas(SCatalog* pCtg, STSMAVersion** tsmas,
      uint32_t* num) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:641,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:649,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:652,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:642,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:643,1
    - Dst: ctgGetDBVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:652,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:654,1
    - Dst: ctgGetVgIdsFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:654,1
    - Dst: ctgRUnlockVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:659,1
    - Dst: ctgReleaseDBCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:660,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:664,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:667,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 7
    argNames:
    - pCtg
    - pConn
    - acctId
    - pDb
    - pTbs
    - tbNum
    - vgId
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - int32_t
    - char*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 668
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 668
    functionName: ctgGetTbsHashVgId
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgReleaseDBCache
    - freeVgInfo
    - snprintf
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgGetVgIdsFromHashValue
    - IS_SYS_DBNAME
    - ctgRUnlockVgInfo
    - ctgGetDBVgInfo
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbsHashVgId(SCatalog* pCtg, SRequestConnInfo* pConn,
      int32_t acctId, const char* pDb, const char* pTbs[], int32_t tbNum, int32_t*
      vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1173,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1186,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1182,1
    - Dst: freeDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1178,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1179,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - dbFName
    - dbId
    - cfgInfo
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1187
    functionName: catalogUpdateDbCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateDbCfgEnqueue
    - freeDbCfgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogUpdateDbCfg(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId, SDbCfgInfo* cfgInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1720,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1726,1
    - Dst: ctgGetDBCfg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1726,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - dbFName
    - pDbCfg
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1727
    functionName: catalogGetDBCfg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetDBCfg
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetDBCfg(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SDbCfgInfo* pDbCfg) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:207,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:221,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:250,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:254,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:265,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:275,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:292,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:271,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:307,1
    - Dst: CTG_IS_META_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:272,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:240,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:250,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:267,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:276,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:284,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:285,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:301,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:314,1
    - Dst: ctgRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:213,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:215,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:227,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:232,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:235,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:237,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:239,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:245,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:253,1
    - Dst: ctgDropTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:303,1
    - Dst: CTG_IS_META_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:270,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:274,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:310,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:207,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:213,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:220,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:230,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:241,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:251,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:265,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:294,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:295,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:297,1
    - Dst: ctgdShowTableMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:311,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:277,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:260,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:279,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 96
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - ctx
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgTbMetaCtx*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 315
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 315
    functionName: ctgGetTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_IS_META_VCTABLE
    - ctgDebug
    - taosMemoryRealloc
    - CTG_IS_META_TABLE
    - CTG_IS_META_CTABLE
    - ctgRefreshTbMeta
    - tNameGetFullDbName
    - CTG_META_SIZE
    - ctgDropStbMetaEnqueue
    - ctgReadTbMetaFromCache
    - CTG_IS_META_VBOTH
    - CTG_RET
    - CTG_FLAG_IS_SYS_DB
    - ctgError
    - CTG_TABLE_NOT_EXIST
    - QUERY_CHECK_NULL
    - ctgDropTbMetaEnqueue
    - ctgdShowTableMeta
    - CTG_IS_META_BOTH
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - withExtSchema
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - CTG_ERR_RET
    - ctgGetTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbMeta(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgTbMetaCtx*
      ctx, STableMeta** pTableMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:729,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:740,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:736,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:736,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - viewName
    - viewId
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 741
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 741
    functionName: ctgRemoveViewMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - ctgDropViewMetaEnqueue
    - CTG_ERR_RET
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRemoveViewMeta(SCatalog* pCtg, const char* dbFName, uint64_t
      dbId, const char* viewName, uint64_t viewId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1257,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1269,1
    - Dst: ctgDropStbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1269,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1262,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1266,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1271,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - pCtg
    - dbFName
    - dbId
    - stbName
    - suid
    argTypes:
    - SCatalog*
    - char*
    - uint64_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1276
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1276
    functionName: catalogRemoveStbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgDropStbMetaEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogRemoveStbMeta(SCatalog* pCtg, const char* dbFName,
      uint64_t dbId, const char* stbName, uint64_t suid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:320,1
    - Dst: queryCreateCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:335,1
    - Dst: ctgUpdateTbMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:350,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:347,1
    - Dst: SET_META_TYPE_CTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:333,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:335,1
    - Dst: SET_META_TYPE_VCTABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:339,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:352,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:359,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:345,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:360,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:331,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:321,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:337,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:341,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:343,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:347,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:364,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:318,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:326,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - pCtg
    - rspMsg
    - syncOp
    argTypes:
    - SCatalog*
    - STableMetaRsp*
    - bool
    constantsTouched: []
    func_position:
      end: 365
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 365
    functionName: ctgUpdateTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - queryCreateVCTableMetaFromMsg
    - queryCreateCTableMetaFromMsg
    - CTG_RET
    - taosMemoryCalloc
    - ctgError
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - SET_META_TYPE_VCTABLE
    - SET_META_TYPE_TABLE
    - queryCreateTableMetaFromMsg
    - ctgUpdateTbMetaEnqueue
    - SET_META_TYPE_CTABLE
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgUpdateTbMeta(SCatalog* pCtg, STableMetaRsp* rspMsg, bool
      syncOp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_NENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:745,1
    - Dst: ctgdShowStatInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:748,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:750,1
    - Dst: ctgdShowCacheInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:747,1
    - Dst: ctgGetGlobalCacheSize
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:753,1
    - Dst: CTG_CACHE_OVERFLOW
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:754,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:756,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:759,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:761,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:772,1
    - Dst: CTG_API_NLEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:778,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:762,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:773,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:763,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:771,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 779
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 779
    functionName: ctgProcessTimerEvent
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgClearCacheEnqueue
    - taosTmrReset
    - ctgGetGlobalCacheSize
    - qTrace
    - atomic_load_32
    - CTG_CACHE_OVERFLOW
    - ctgdShowCacheInfo
    - CTG_API_NLEAVE
    - qError
    - tstrerror
    - qDebug
    - CTG_API_NENTER
    - ctgdShowStatInfo
    linkageType: ''
    returnType: void
    signature: 'void ctgProcessTimerEvent(void *param, void *tmrId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1279,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1285,1
    - Dst: ctgGetTbMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pTableMeta
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1286
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1286
    functionName: catalogGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - ctgGetTbMeta
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableMeta(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, STableMeta** pTableMeta) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:948,1
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:951,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:954,1
    - Dst: CTG_STAT_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:975,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:984,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:982,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:986,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:990,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:994,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:997,1
    - Dst: CTG_STAT_NUM_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1018,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:955,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:962,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:968,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:973,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:982,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:984,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:986,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:993,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1026,1
    - Dst: CTG_STAT_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:966,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:983,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:981,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:976,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1000,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1003,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1007,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1020,1
    - Dst: ctgFreeHandleImpl
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1024,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1011,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:967,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:983,1
    - Dst: ctgMetaRentInit
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:981,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:989,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:996,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1002,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1008,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - clusterId
    - catalogHandle
    argTypes:
    - int64_t
    - SCatalog**
    constantsTouched: []
    func_position:
      end: 1027
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1027
    functionName: catalogGetHandle
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgMetaRentInit
    - CTG_STAT_NUM_INC
    - ctgFreeHandleImpl
    - CTG_STAT_HIT_INC
    - qTrace
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - taosHashGet
    - qError
    - HASH_NODE_EXIST
    - qDebug
    - taosHashPut
    - taosGetDefaultHashFunction
    - CTG_STAT_NHIT_INC
    - CTG_ERR_RET
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetHandle(int64_t clusterId, SCatalog** catalogHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:28,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:46,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:28,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:46,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:49,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:49,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:51,1
    - Dst: ctgCloneVgInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:51,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:53,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:53,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:62,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:59,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - dbFName
    - dbCache
    - pInfo
    - exists
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - char*
    - SCtgDBCache**
    - SDBVgInfo**
    - bool*
    constantsTouched: []
    func_position:
      end: 63
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 63
    functionName: ctgGetDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - CTG_RET
    - CTG_ERR_JRET
    - ctgCloneVgInfo
    - ctgUpdateVgroupEnqueue
    - tstrncpy
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - taosMemoryFreeClear
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetDBVgInfo(SCatalog* pCtg, SRequestConnInfo* pConn, const
      char* dbFName, SCtgDBCache** dbCache, SDBVgInfo** pInfo, bool* exists) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1030,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1042,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1039,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1039,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1033,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1049,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1051,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1053,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1057,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 6
    argNames:
    - pCtg
    - dbFName
    - version
    - dbId
    - tableNum
    - pStateTs
    argTypes:
    - SCatalog*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1058
    functionName: catalogGetDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - ctgReleaseVgInfoToCache
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgDebug
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetDBVgVersion(SCatalog* pCtg, const char* dbFName,
      int32_t* version, int64_t* dbId, int32_t* tableNum, int64_t* pStateTs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1487,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1489,1
    - Dst: ctgGetTbHashVgroup
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1489,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - exists
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 1490
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1490
    functionName: catalogGetCachedTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgGetTbHashVgroup
    - CTG_API_LEAVE
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetCachedTableHashVgroup(SCatalog* pCtg, const SName*
      pTableName, SVgroupInfo* pVgroup, bool* exists) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2008,1
    - Dst: ctgUpdateDbTsmaVersionEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2013,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2016,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2013,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pCtg
    - tsmaVersion
    - dbFName
    - dbId
    argTypes:
    - SCatalog*
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2017
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2017
    functionName: catalogAsyncUpdateDbTsmaVersion
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgUpdateDbTsmaVersionEnqueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogAsyncUpdateDbTsmaVersion(SCatalog* pCtg, int32_t tsmaVersion,
      const char* dbFName, int64_t dbId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1493,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1495,1
    - Dst: ctgGetCachedTbVgMeta
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - pCtg
    - pTableName
    - pVgroup
    - pTableMeta
    argTypes:
    - SCatalog*
    - SName*
    - SVgroupInfo*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: catalogGetCachedTableVgMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_API_LEAVE
    - CTG_API_ENTER
    - ctgGetCachedTbVgMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetCachedTableVgMeta(SCatalog* pCtg, const SName* pTableName,
      SVgroupInfo* pVgroup, STableMeta** pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2020,1
    - Dst: ctgClearCacheEnqueue
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2028,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2022,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2030,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2025,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2030,1
    - Dst: CTG_API_LEAVE_NOLOCK
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:2032,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 2033
      start: 2019
    functionDepth: 0
    functionLinenumber: 2019
    functionLinenumberEnd: 2033
    functionName: catalogClearCache
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - ctgClearCacheEnqueue
    - qInfo
    - tstrerror
    - CTG_API_ENTER_NOLOCK
    - CTG_API_LEAVE_NOLOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogClearCache(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_API_ENTER
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1756,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1763,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1767,1
    - Dst: ctgGetTbTag
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1763,1
    - Dst: CTG_API_LEAVE
      Src: /src/tdengine/source/libs/catalog/src/catalog.c:1759,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCtg
    - pConn
    - pTableName
    - pRes
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1768
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1768
    functionName: catalogGetTableTag
    functionSourceFile: /src/tdengine/source/libs/catalog/src/catalog.c
    functionUses: []
    functionsReached:
    - CTG_ERR_JRET
    - CTG_API_LEAVE
    - ctgGetTbTag
    - CTG_API_ENTER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t catalogGetTableTag(SCatalog* pCtg, SRequestConnInfo* pConn,
      const SName* pTableName, SArray** pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:483,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:491,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:489,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:485,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:492,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:495,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:497,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:498,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:499,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:502,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 506
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 506
    functionName: ctgInitGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbTagTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2527,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2529,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2533,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2527,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2539
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2539
    functionName: ctgHandleGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbCfgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3476,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3486,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3478,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3479,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3486,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3488,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3490,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3492,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3492,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3495,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3502,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3498,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3498,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3508,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3517,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3508,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3502,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3514,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3518
      start: 3469
    functionDepth: 0
    functionLinenumber: 3469
    functionLinenumberEnd: 3518
    functionName: ctgLaunchGetTbHashTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - taosMemoryMalloc
    - ctgReleaseVgInfoToCache
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - ctgHandleTaskEnd
    - ctgGetVgInfoFromHashValue
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbHashTask(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:515,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:517,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:525,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:523,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:527,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:531,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:532,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:533,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:537,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 540
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 540
    functionName: ctgInitGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetViewsTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2559,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2561,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2567,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2581,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2593,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2577,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2574,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2547,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2558,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2551,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2565,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2568,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2575,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2576,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2588,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2581,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2547,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2552,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2578,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2594
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2594
    functionName: ctgHandleGetTbTagRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tTagToValArray
    - parseTagDatatoJson
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - tTagIsJson
    - ctgError
    - strlen
    - ctgHandleTaskEnd
    - taosArrayPush
    - CTG_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbTagRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3526,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3554,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3568,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3575,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3582,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3587,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3594,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3615,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3538,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3544,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3557,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3558,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3552,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3572,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3574,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3588,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3609,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3534,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3547,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3564,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3568,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3566,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3591,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3532,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3535,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3544,1
    - Dst: ctgAddFetch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3552,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3579,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3585,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3593,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3609,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3619
      start: 3520
    functionDepth: 0
    functionLinenumber: 3520
    functionLinenumberEnd: 3619
    functionName: ctgLaunchGetTbHashsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - TSWAP
    - ctgAcquireVgInfoFromCache
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - CTG_ERR_JRET
    - ctgAddFetch
    - TAOS_STRCPY
    - ctgHandleTaskEnd
    - taosArrayPush
    - ctgGetDBVgInfoFromMnode
    - ctgGetVgInfosFromHashValue
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbHashsTask(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:92,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:99,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:94,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:101,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:103,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:104,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:107,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:108,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:109,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:112,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:113,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 116
    functionName: ctgInitGetTbMetasTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbMetasTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:322,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:324,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:325,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:317,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:326,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:329,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 333
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 333
    functionName: ctgInitGetIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - tstrncpy
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetIndexTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:548,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:557,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:555,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:550,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:559,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:560,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:563,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:564,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:565,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 569
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 569
    functionName: ctgInitGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbTSMATask(SCtgJob* pJob, int32_t taskId, void*
      param) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2422,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2426,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2439,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2435,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2460,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2478,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2420,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2422,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2416,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2448,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2434,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2417,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2423,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2426,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2436,1
    - Dst: ctgGetVgInfosFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2439,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2442,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2449,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2452,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2467,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2414,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2432,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2453,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2462,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2469,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2477,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2485,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2491,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2492
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2492
    functionName: ctgHandleGetTbHashsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosArrayGet
    - ctgError
    - CTG_ERR_JRET
    - ctgProcessRspMsg
    - ctgUpdateVgroupEnqueue
    - ctgHandleTaskEnd
    - atomic_sub_fetch_32
    - ctgGetVgInfosFromHashValue
    - taosArrayGetSize
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbHashsRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:126,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:136,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:128,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:135,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:133,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:137,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:140,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: ctgInitGetDbVgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetDbVgTask(SCtgJob* pJob, int32_t taskIdx, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:343,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:345,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:350,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:352,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:354,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:357,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 361
    functionName: ctgInitGetUdfTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - tstrncpy
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetUdfTask(SCtgJob* pJob, int32_t taskIdx, void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:577,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:587,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:585,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:579,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:583,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:591,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:592,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:593,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 597
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 597
    functionName: ctgInitGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTSMATask(SCtgJob* pJob, int32_t taskId, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2499,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2503,1
    - Dst: ctgCloneTableIndex
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2503,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2499,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2506,1
    - Dst: ctgUpdateTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2506,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2514,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2519,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2520
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2520
    functionName: ctgHandleGetTbIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgCloneTableIndex
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - ctgUpdateTbIndexEnqueue
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbIndexRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1191,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1199,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1203
    functionName: ctgDumpDbVgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpDbVgRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1374,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1382,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1376,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1381,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1386
    functionName: ctgDumpDnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpDnodeRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1416,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1423,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1424,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1428
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1428
    functionName: ctgDumpDbInfoRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpDbInfoRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1212,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1220,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1219,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1224
    functionName: ctgDumpTbHashRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbHashRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1395,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1403,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1402,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1407
    functionName: ctgDumpDbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpDbCfgRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1437,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1444,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1445,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1449
    functionName: ctgDumpUdfRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpUdfRes(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:371,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:373,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:381,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:378,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:380,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:382,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:385,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 389
    functionName: ctgInitGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetUserTask(SCtgJob* pJob, int32_t taskIdx, void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:605,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:612,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:610,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:607,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:614,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:616,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:617,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:620,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:621,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 626
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 626
    functionName: ctgInitGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - taosInitRWLatch
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgInitGetTbNamesTask(SCtgJob* pJob, int32_t taskId,
      void* param) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:987,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1003,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1011,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1040,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1072,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1060,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:925,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:966,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1005,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1022,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1015,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1070,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:890,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:906,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:964,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1079,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1104,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1110,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1115,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1116,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1034,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1054,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1045,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:888,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:900,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:904,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1089,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1125,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:973,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:996,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1067,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1086,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1042,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:928,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1000,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1086,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1092,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1098,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1045,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:891,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:907,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:967,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1061,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1126,1
    - Dst: ctgHandleForceUpdate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:978,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1052,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:994,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1063,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:897,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:901,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:984,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1072,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:905,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1036,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1069,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1089,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1098,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1101,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:964,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1002,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1095,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:978,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1031,1
    - Dst: ctgGetTablesReqNum
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:892,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:908,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:991,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1022,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1033,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1043,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1063,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1058,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:898,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:902,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1049,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1081,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1107,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1115,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:927,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:985,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1051,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1054,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1092,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1113,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1122,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:974,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:987,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1011,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1078,1
    - Dst: ctgFreeJob
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1015,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:993,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:893,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:909,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1026,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1081,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1095,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1136,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1036,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:899,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:903,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1076,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1101,1
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1104,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1119,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 275
    argCount: 6
    argNames:
    - pCtg
    - pConn
    - job
    - pReq
    - fp
    - param
    argTypes:
    - SCatalog*
    - SRequestConnInfo*
    - SCtgJob**
    - SCatalogReq*
    - catalogCallback
    - void*
    constantsTouched: []
    func_position:
      end: 1137
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 1137
    functionName: ctgInitJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - ctgInitTask
    - taosArrayGetSize
    - taosHashInit
    - taosAcquireRef
    - taosArrayInit
    - taosAddRef
    - taosGetDefaultHashFunction
    - CTG_RET
    - taosArrayGet
    - ctgError
    - qError
    - taosGetTimestampUs
    - ctgGetTablesReqNum
    - ctgHandleForceUpdate
    - CTG_ERR_JRET
    - tstrerror
    - ctgFreeJob
    - qDebug
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitJob(SCatalog* pCtg, SRequestConnInfo* pConn, SCtgJob**
      job, const SCatalogReq* pReq, catalogCallback fp, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4842,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pJob
    - taskId
    argTypes:
    - SCtgJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4852
      start: 4841
    functionDepth: 0
    functionLinenumber: 4841
    functionLinenumberEnd: 4852
    functionName: ctgGetTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: SCtgTask*
    signature: 'SCtgTask * ctgGetTask(SCtgJob* pJob, int32_t taskId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:398,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:404,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:400,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:403,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 407
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 407
    functionName: ctgInitGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetSvrVerTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:634,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:644,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:636,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:642,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 648
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 648
    functionName: ctgInitGetVSubTablesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayPush
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetVSubTablesTask(SCtgJob* pJob, int32_t taskId, void*
      param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1146,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1154,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1148,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1158
    functionName: ctgDumpTbMetaRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbMetaRes(SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgInitTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4866,1
    - Dst: ctgGetTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4868,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4874,1
    - Dst: ctgSearchExistingTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4864,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4866,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4886,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4881,1
    - Dst: ctgClearSubTaskRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4860,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4873,1
    - Dst: ctgSetSubTaskCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4881,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4887,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4892,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4890,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4873,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4898,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4893,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4884,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - ppTask
    - type
    - fp
    - param
    argTypes:
    - SCtgTask**
    - CTG_TASK_TYPE
    - ctgSubTaskCbFp
    - void*
    constantsTouched: []
    func_position:
      end: 4903
      start: 4854
    functionDepth: 0
    functionLinenumber: 4854
    functionLinenumberEnd: 4903
    functionName: ctgLaunchSubTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - ctgSetSubTaskCb
    - ctgGetTask
    - qError
    - ctgClearSubTaskRes
    - ctgInitTask
    - ctgSearchExistingTask
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchSubTask(SCtgTask** ppTask, CTG_TASK_TYPE type, ctgSubTaskCbFp
      fp, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2666,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2677,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2672,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2666,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2678
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2678
    functionName: ctgHandleGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetIndexRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2705,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2708,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2710,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2705,1
    - Dst: ctgUpdateUserEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2707,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2716,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2721,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2722
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2722
    functionName: ctgHandleGetUserRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - ctgUpdateUserEnqueue
    - taosMemoryFreeClear
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetUserRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3719,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3723,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3724,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3732,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3721,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3732,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3734,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3734,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3739,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3741,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3754,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3748,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3741,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3755
      start: 3711
    functionDepth: 0
    functionLinenumber: 3711
    functionLinenumberEnd: 3755
    functionName: ctgLaunchGetTbTagTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - tNameGetFullDbName
    - ctgGetTbHashVgroupFromCache
    - ctgError
    - CTG_ERR_JRET
    - ctgLaunchSubTask
    - CTG_CACHE_NHIT_INC
    - CTG_RET
    - ctgGetTableCfgFromVnode
    - ctgHandleTaskEnd
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbTagTask(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3903,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3905,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3906,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3913,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3915,1
    - Dst: ctgGetUdfInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3915,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3918
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 3918
    functionName: ctgLaunchGetUdfTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - ctgError
    - ctgGetUdfInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetUdfTask(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4665,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4670,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4671,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4667,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4674,1
    - Dst: ctgLaunchGetTbTagTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4674,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4678,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4679
      start: 4656
    functionDepth: 0
    functionLinenumber: 4656
    functionLinenumberEnd: 4679
    functionName: ctgGetTbTagCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - ctgGetVgInfoFromHashValue
    - ctgLaunchGetTbTagTask
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbTagCb(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2684,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2684,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2695,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2686,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2696
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2696
    functionName: ctgHandleGetUdfRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetUdfRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2729,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2740,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2729,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2731,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2741
      start: 2724
    functionDepth: 0
    functionLinenumber: 2724
    functionLinenumberEnd: 2741
    functionName: ctgHandleGetSvrVerRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetSvrVerRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3761,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3772,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3764,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3763,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3771,1
    - Dst: ctgGetQnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3775
      start: 3757
    functionDepth: 0
    functionLinenumber: 3757
    functionLinenumberEnd: 3775
    functionName: ctgLaunchGetQnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgGetQnodeListFromMnode
    - CTG_CACHE_NHIT_INC
    - ctgError
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetQnodeTask(SCtgTask* pTask) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3929,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3931,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3932,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3941,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3939,1
    - Dst: CTG_TABLE_NOT_EXIST
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3945,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3949,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3953,1
    - Dst: ctgChkAuthFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3953,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3957,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3960,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3972,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3960,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3970,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3964,1
    - Dst: ctgGetUserDbAuthFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3972,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3970,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3976
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3976
    functionName: ctgLaunchGetUserTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgChkAuthFromCache
    - ctgError
    - taosMemoryCalloc
    - ctgLaunchSubTask
    - ctgGetUserDbAuthFromMnode
    - CTG_TABLE_NOT_EXIST
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - taosMemoryFreeClear
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetUserTask(SCtgTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4687,1
    - Dst: ctgLaunchGetUserTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4687,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4691,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4692
      start: 4681
    functionDepth: 0
    functionLinenumber: 4681
    functionLinenumberEnd: 4692
    functionName: ctgGetUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgLaunchGetUserTask
    - CTG_RET
    - ctgHandleTaskEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetUserCb(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4906,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4911,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4909,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4915,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4912,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4919,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4921,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4923,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4933,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4931,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4933,1
    - Dst: ctgLaunchBatchs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4936,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4930,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    constantsTouched: []
    func_position:
      end: 4941
      start: 4905
    functionDepth: 0
    functionLinenumber: 4905
    functionLinenumberEnd: 4941
    functionName: ctgLaunchJob
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgLaunchBatchs
    - taosArrayGet
    - atomic_val_compare_exchange_32
    - taosAsyncExec
    - qError
    - tstrerror
    - qDebug
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchJob(SCtgJob* pJob) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1609,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1616,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1609,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1623
    functionName: ctgCallUserCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qDebug
    - taosRemoveRef
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCallUserCb(void* param) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2898,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2910,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2912,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2912,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2923,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2917,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2939,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2944,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2953,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2955,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2956,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2953,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2906,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2904,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2906,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2923,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2938,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2963,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2982,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2900,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2907,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2929,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2931,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2922,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2931,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2946,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2948,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2948,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2956,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2901,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2913,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2932,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2949,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2973,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2977,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2962,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2972,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2983
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2983
    functionName: ctgHandleGetTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSWAP
    - taosArrayGet
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgProcessRspMsg
    - ctgTaskError
    - tstrerror
    - ctgHandleTaskEnd
    - CTG_IS_META_NULL
    - taosArrayGetSize
    - ctgUpdateTbMetaToCache
    - ctgGetTbMetaFromMnodeImpl
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgTbMetaExistInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTSMARsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEED_CLIENT_REFRESH_VG_ERROR
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1629,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1629,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pJob
    - errCode
    argTypes:
    - SCtgJob*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1631
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1631
    functionName: ctgUpdateJobErrCode
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - tstrerror
    - NEED_CLIENT_REFRESH_VG_ERROR
    - qDebug
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: 'void ctgUpdateJobErrCode(SCtgJob* pJob, int32_t errCode) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3045,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3175,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3173,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3005,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2999,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3012,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3018,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3140,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3128,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3090,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3147,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3127,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3038,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3076,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3083,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3208,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2997,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3024,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3040,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3073,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3156,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3006,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3018,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3045,1
    - Dst: ctgTsmaFetchStreamProgress
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3183,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3202,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3121,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3066,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3092,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3112,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3016,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3029,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3051,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3024,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3047,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3050,1
    - Dst: tCloneTbTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3094,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3196,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3094,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3022,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3084,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3122,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3150,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3195,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3075,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3099,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3141,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3165,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3169,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3193,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3000,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3007,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3013,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3029,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3057,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3066,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3093,1
    - Dst: ctgUpdateTbTSMAEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3095,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3115,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3098,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3019,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3025,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3047,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3075,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3155,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3175,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3087,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3139,1
    - Dst: ctgTsmaFetchStreamProgress
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3050,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3056,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3150,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3115,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3162,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 173
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3209
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 3209
    functionName: ctgHandleGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSWAP
    - ctgAcquireVgInfoFromCache
    - ctgTsmaFetchStreamProgress
    - ctgGetVgInfoFromHashValue
    - atomic_add_fetch_32
    - ctgGetTbMetaFromVnode
    - taosArrayGetSize
    - taosHashCleanup
    - taosGetTimestampMs
    - ctgTaskError
    - tFreeAndClearTableTSMAInfo
    - atomic_sub_fetch_32
    - CTG_IS_META_NULL
    - tListLen
    - CTG_RET
    - ctgUpdateTbTSMAEnqueue
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - ctgGetTbTSMAFromMnode
    - tstrncpy
    - TMAX
    - snprintf
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - tstrerror
    - ctgHandleTaskEnd
    - qDebug
    - ctgGetDBVgInfoFromMnode
    - tCloneTbTSMAInfo
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbTSMARsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1501
    functionName: ctgDumpViewsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpViewsRes(SCtgTask* pTask) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2760,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2767,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2769,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2784,1
    - Dst: ctgFreeSViewMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2779,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2792,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2799,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2814,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2821,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2808,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2754,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2781,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2789,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2791,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2809,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2817,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2818,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2820,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2828,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2755,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2750,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2759,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2767,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2769,1
    - Dst: dupViewMetaFromRsp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2777,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2780,1
    - Dst: ctgUpdateViewMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2785,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2774,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2793,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2748,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2759,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2786,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2815,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2834,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 73
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2835
      start: 2743
    functionDepth: 0
    functionLinenumber: 2743
    functionLinenumberEnd: 2835
    functionName: ctgHandleGetViewsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosMemoryFree
    - taosMemoryCalloc
    - ctgDebug
    - dupViewMetaFromRsp
    - taosArrayGetSize
    - ctgTaskError
    - atomic_sub_fetch_32
    - CTG_RET
    - taosArrayGet
    - ctgError
    - ctgGetFetchName
    - taosMemoryFreeClear
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgFreeSViewMeta
    - ctgUpdateViewMetaToCache
    - tstrerror
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetViewsRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3982,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3992,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3984,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3985,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3994,1
    - Dst: ctgGetSvrVerFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3994,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3997
      start: 3978
    functionDepth: 0
    functionLinenumber: 3978
    functionLinenumberEnd: 3997
    functionName: ctgLaunchGetSvrVerTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - ctgError
    - ctgGetSvrVerFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetSvrVerTask(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1517,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1519,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1526,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1527,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1535
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1535
    functionName: ctgDumpVSubTablesRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgError
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpVSubTablesRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2849,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2855,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2860,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2866,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2872,1
    - Dst: ctgGetStreamProgressFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2880,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2883,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2858,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2868,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2865,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2861,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2880,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2889,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2848,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2854,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2864,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2868,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2873,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2845,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2852,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2854,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2860,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2869,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 3
    argNames:
    - tReq
    - pVgHash
    - pTsmas
    argTypes:
    - SCtgTaskReq*
    - SHashObj*
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 2890
      start: 2837
    functionDepth: 0
    functionLinenumber: 2837
    functionLinenumberEnd: 2890
    functionName: ctgTsmaFetchStreamProgress
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosGetTimestampMs
    - taosArrayGet
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - taosHashIterate
    - taosHashGetSize
    - ctgGetStreamProgressFromVnode
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgTsmaFetchStreamProgress(SCtgTaskReq* tReq, SHashObj*
      pVgHash, const STableTSMAInfoRsp* pTsmas) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctgBuildViewNullRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4009,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4012,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4010,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4026,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4026,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4035,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4042,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4056,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4067,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4028,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4039,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4041,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4046,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4048,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4052,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4057,1
    - Dst: ctgIsTaskDone
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4007,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4012,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4022,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4033,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4031,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4035,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4049,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4052,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4009,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4020,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4023,1
    - Dst: ctgGetViewsFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4027,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4054,1
    - Dst: ctgGetViewInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4067,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4071
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4071
    functionName: ctgLaunchGetViewsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - TSWAP
    - taosArrayGet
    - ctgGetViewInfoFromMnode
    - ctgBuildViewNullRes
    - ctgError
    - ctgDebug
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - ctgIsTaskDone
    - ctgGetViewsFromCache
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetViewsTask(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1641,1
    - Dst: ctgCallSubCb
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1647,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1642,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1650,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1651,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1652,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1654,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1658,1
    - Dst: taosAsyncExec
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1664,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1669,1
    - Dst: ctgMakeAsyncRes
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1658,1
    - Dst: ctgUpdateJobErrCode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pTask
    - rspCode
    argTypes:
    - SCtgTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1670
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1670
    functionName: ctgHandleTaskEnd
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgUpdateJobErrCode
    - CTG_ERR_JRET
    - taosAsyncExec
    - tstrerror
    - ctgCallSubCb
    - qDebug
    - atomic_add_fetch_32
    - ctgMakeAsyncRes
    - taosArrayGetSize
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleTaskEnd(SCtgTask* pTask, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:154,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:163,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:164,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:156,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:161,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:165,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:168,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:169,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 172
    functionName: ctgInitGetDbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetDbCfgTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:218,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:216,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:219,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:212,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:222,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:223,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:225,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:226,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:227,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:231,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:230,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 234
    functionName: ctgInitGetTbHashTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryFree
    - taosMemoryMalloc
    - tNameGetFullDbName
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbHashTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1332,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1334,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1339,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1344
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1344
    functionName: ctgDumpIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpIndexRes(SCtgTask* pTask) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ctgGetTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4211,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4234,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4234,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4240,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4205,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4207,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4230,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4232,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4249,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4252,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4254,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4256,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4256,1
    - Dst: ctgTbMetaExistInCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4249,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4201,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4208,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4214,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4216,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4226,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4225,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4199,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4202,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4211,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4217,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4230,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4227,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4235,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4242,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4242,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4246,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4254,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4263
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4263
    functionName: ctgLaunchGetTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSWAP
    - taosArrayGet
    - CTG_RET
    - ctgError
    - ctgGetTbTSMAFromMnode
    - ctgHandleTaskEnd
    - taosArrayPush
    - ctgGetTSMAFromCache
    - taosArrayGetSize
    - ctgGetTbMetaFromMnodeImpl
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgTbMetaExistInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTSMATask(SCtgTask* pTask) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4348,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4351,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4386,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4392,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4397,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4410,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4432,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4399,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4338,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4354,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4356,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4370,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4364,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4380,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4375,1
    - Dst: ctgBuildNormalChildVtbList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4386,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4387,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4387,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4340,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4357,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4363,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4367,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4375,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4392,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4407,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4420,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4436,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4415,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4397,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4350,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4341,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4361,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4380,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4399,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4406,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4409,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4414,1
    - Dst: ctgGetVSubTablesFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4420,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4442,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4424,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4443
      start: 4329
    functionDepth: 0
    functionLinenumber: 4329
    functionLinenumberEnd: 4443
    functionName: ctgLaunchGetVSubTablesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - taosMemoryCalloc
    - ctgDebug
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosMemoryMalloc
    - ctgReadTbMetaFromCache
    - ctgGetVSubTablesFromVnode
    - CTG_RET
    - ctgBuildNormalChildVtbList
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - tNameExtractFullName
    - ctgLaunchSubTask
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetVSubTablesTask(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:182,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:189,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:191,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:192,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:184,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:193,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:196,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:197,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 200
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 200
    functionName: ctgInitGetDbInfoTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetDbInfoTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:243,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:250,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:245,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:254,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:252,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:255,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:258,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:259,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:260,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:264,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 267
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 267
    functionName: ctgInitGetTbHashsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryCalloc
    - qError
    - taosArrayPush
    - qDebug
    - taosArrayGetSize
    - ctgFreeTask
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbHashsTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1353,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1355,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1361,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1365
    functionName: ctgDumpQnodeRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpQnodeRes(SCtgTask* pTask) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1737,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1740,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1780,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1814,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1802,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1767,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1701,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1721,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1862,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1769,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1770,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1809,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1820,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1731,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1765,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1788,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1728,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1686,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1711,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1718,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1760,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1774,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1713,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1755,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1772,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1806,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1689,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1696,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1698,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1716,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1718,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1723,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1787,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1811,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1738,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1754,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1794,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1780,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1803,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1868,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1698,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1757,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1800,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1744,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1709,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1769,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1731,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1815,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1849,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1685,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1764,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1765,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1858,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1779,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1800,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1689,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1713,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1737,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1854,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1756,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1708,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1821,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1746,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1755,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1817,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1788,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1701,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1721,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1819,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1770,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1795,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1826,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1859,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1678,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1696,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1728,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 142
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1869
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1869
    functionName: ctgHandleGetTbMetaRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgAcquireVgInfoFromCache
    - CTG_FLAG_IS_STB
    - ctgDebug
    - taosMemoryRealloc
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_IS_META_TABLE
    - ctgGetVgInfoFromHashValue
    - ctgGetTbMetaFromVnode
    - tNameGetFullDbName
    - tNameGetTableName
    - ctgTaskError
    - CTG_META_SIZE
    - ctgReadTbMetaFromCache
    - CTG_IS_META_NULL
    - ctgUpdateTbMetaToCache
    - tListLen
    - CTG_RET
    - CTG_IS_META_VBOTH
    - ctgReleaseVgInfoToCache
    - ctgError
    - tstrncpy
    - CTG_IS_META_BOTH
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetTbMetaFromMnode
    - withExtSchema
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - tstrerror
    - ctgHandleTaskEnd
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbMetaRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4278,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4304,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4272,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4276,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4279,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4298,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4291,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4305,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4312,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4323,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4282,1
    - Dst: ctgGetTbNamesFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4283,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4284,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4297,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4302,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4308,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4308,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4313,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4283,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4287,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4291,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4289,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4323,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4327
      start: 4265
    functionDepth: 0
    functionLinenumber: 4265
    functionLinenumberEnd: 4327
    functionName: ctgLaunchGetTbNamesTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - TSWAP
    - taosArrayGet
    - ctgError
    - ctgDebug
    - ctgGetTbNamesFromCache
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - ctgAsyncRefreshTbMeta
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgLaunchGetTbNamesTask(SCtgTask* pTask) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4457,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4464,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4467,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4473,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4496,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4501,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4485,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4511,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4536,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4546,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4471,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4474,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4490,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4501,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4480,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4503,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4513,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4518,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4528,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4540,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4454,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4477,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4496,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4514,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4524,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4456,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4466,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4490,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4485,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4503,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4510,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4519,1
    - Dst: ctgGetVStbRefDbsFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4524,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4547
      start: 4445
    functionDepth: 0
    functionLinenumber: 4445
    functionLinenumberEnd: 4547
    functionName: ctgLaunchGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - taosMemoryMalloc
    - taosArrayGet
    - tNameExtractFullName
    - tNameGetFullDbName
    - ctgError
    - ctgLaunchSubTask
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgDebug
    - ctgReleaseVgInfoToCache
    - CTG_RET
    - ctgHandleTaskEnd
    - ctgGetVStbRefDbsFromVnode
    - ctgReadTbMetaFromCache
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetVStbRefDbsTask(SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1274,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1279,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1280,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1276,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1289,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1294
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1294
    functionName: ctgDumpTbCfgRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - atomic_val_compare_exchange_ptr
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbCfgRes(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2602,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2605,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2602,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2607,1
    - Dst: ctgCloneDbCfgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2605,1
    - Dst: ctgUpdateDbCfgEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2607,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2609,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2613,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2618,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2619
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2619
    functionName: ctgHandleGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - CTG_RET
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgCloneDbCfgInfo
    - ctgHandleTaskEnd
    - ctgUpdateDbCfgEnqueue
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetDbCfgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4549
    functionDepth: 0
    functionLinenumber: 4549
    functionLinenumberEnd: 4557
    functionName: ctgDumpTbTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbTSMARes(SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1303,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1305,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1313,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1308,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1318,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1323
    functionName: ctgDumpTbTagRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - atomic_val_compare_exchange_ptr
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbTagRes(SCtgTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2623
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2623
    functionName: ctgHandleGetDbInfoRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetDbInfoRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4567
      start: 4559
    functionDepth: 0
    functionLinenumber: 4559
    functionLinenumberEnd: 4567
    functionName: ctgDumpTSMARes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTSMARes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3277,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3279,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3282,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3298,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3296,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3293,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3298,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3277,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3286,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3305,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3305,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3308,1
    - Dst: CTG_FLAG_IS_SYS_DB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3276,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3279,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3283,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3286,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3301,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3293,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3296,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3317,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3283,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3291,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3301,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3308,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - tReq
    - flag
    - pName
    - vgId
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SName*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3318
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3318
    functionName: ctgAsyncRefreshTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_FLAG_IS_SYS_DB
    - ctgAcquireVgInfoFromCache
    - tNameGetFullDbName
    - tNameGetTableName
    - CTG_FLAG_IS_STB
    - CTG_ERR_JRET
    - ctgDebug
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - ctgReleaseVgInfoToCache
    - tstrncpy
    - ctgGetVgInfoFromHashValue
    - ctgGetTbMetaFromVnode
    - CTG_ERR_RET
    - ctgGetTbMetaFromMnodeImpl
    - CTG_RET
    - ctgGetTbMetaFromMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAsyncRefreshTbMeta(SCtgTaskReq* tReq, int32_t flag, SName*
      pName, int32_t* vgId) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:695,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:715,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:761,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:763,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:694,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:699,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:708,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:757,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:812,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:828,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:836,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:838,1
    - Dst: ctgHandleForceUpdateView
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:857,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:759,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:784,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:801,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:754,1
    - Dst: ctgDropTbIndexEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:841,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:789,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:777,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:731,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:733,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:790,1
    - Dst: ctgRemoveTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:828,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:847,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:712,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:745,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:806,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:832,1
    - Dst: ctgDropTSMAForTbEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:852,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:857,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:861,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:717,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:772,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:777,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:818,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:820,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:823,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:797,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:740,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:742,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:796,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:839,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:774,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:803,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:706,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:802,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:826,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:734,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:738,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:770,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:766,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:848,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:764,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:790,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:726,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:736,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:757,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:794,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:829,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:841,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:721,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:751,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:757,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:777,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:714,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:726,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:729,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:808,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:852,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:862,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:851,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:717,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:789,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:775,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:821,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:845,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:753,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:781,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:783,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:803,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:766,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:788,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:695,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:698,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:705,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:717,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:726,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:749,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:802,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:745,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:743,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:694,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:703,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:724,1
    - Dst: ctgDropDbVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:808,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:823,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 173
    argCount: 4
    argNames:
    - pCtg
    - taskNum
    - pJob
    - pReq
    argTypes:
    - SCatalog*
    - int32_t
    - SCtgJob*
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 865
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 865
    functionName: ctgHandleForceUpdate
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tNameGetFullDbName
    - ctgDropTbIndexEnqueue
    - ctgRemoveTbMeta
    - CTG_ERR_JRET
    - taosHashIterate
    - ctgDropTSMAForTbEnqueue
    - qError
    - taosArrayGetSize
    - strlen
    - ctgHandleForceUpdateView
    - ctgDropDbVgroupEnqueue
    - taosHashPut
    - taosGetDefaultHashFunction
    - CTG_ERR_RET
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleForceUpdate(SCatalog* pCtg, int32_t taskNum, SCtgJob*
      pJob, const SCatalogReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1170
    functionName: ctgDumpTbMetasRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbMetasRes(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2338,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2345,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2347,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2338,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2345,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2347,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2348,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2348,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2353,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2354,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2359,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2364,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2365
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2365
    functionName: ctgHandleGetDbVgRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgError
    - ctgGenerateVgList
    - ctgUpdateVgroupEnqueue
    - ctgHandleTaskEnd
    - cloneDbVgInfo
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetDbVgRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4081,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4085,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4088,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4084,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4083,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4090,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4093,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4093,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4096,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4096,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pReq
    - pFetch
    argTypes:
    - SCtgTaskReq*
    - SCtgTSMAFetch*
    constantsTouched: []
    func_position:
      end: 4102
      start: 4073
    functionDepth: 0
    functionLinenumber: 4073
    functionLinenumberEnd: 4102
    functionName: ctgAsyncRefreshTbTsma
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - CTG_ERR_JRET
    - tstrncpy
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgAsyncRefreshTbTsma(SCtgTaskReq* pReq, const SCtgTSMAFetch*
      pFetch) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4769,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4776,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4773,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4775,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4771,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4783,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4791,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4796,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pJob
    - type
    - param
    - taskId
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4797
      start: 4764
    functionDepth: 0
    functionLinenumber: 4764
    functionLinenumberEnd: 4797
    functionName: ctgSearchExistingTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayGet
    - CTG_ERR_JRET
    - qError
    - CTG_UNLOCK
    - taosArrayGetSize
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgSearchExistingTask(SCtgJob* pJob, CTG_TASK_TYPE type, void*
      param, int32_t* taskId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:869,1
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:871,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:872,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:880,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - pJob
    - type
    - param
    - taskId
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 883
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 883
    functionName: ctgInitTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_ERR_JRET
    - CTG_UNLOCK
    - atomic_fetch_add_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitTask(SCtgJob* pJob, CTG_TASK_TYPE type, void* param,
      int32_t* taskId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1182
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1182
    functionName: ctgDumpTbNamesRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgDumpTbNamesRes(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2374,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2382,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2385,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2380,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2374,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2385,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2388,1
    - Dst: ctgUpdateVgroupEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2388,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2394,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2395,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2405,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2400,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2406
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2406
    functionName: ctgHandleGetTbHashRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgError
    - ctgUpdateVgroupEnqueue
    - ctgHandleTaskEnd
    - ctgGetVgInfoFromHashValue
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbHashRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3324,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3334,1
    - Dst: ctgGetTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3334,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3327,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3326,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3336,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3336,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3344,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3347
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3347
    functionName: ctgLaunchGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgError
    - ctgHandleTaskEnd
    - ctgAsyncRefreshTbMeta
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgGetTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbMetaTask(SCtgTask* pTask) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4111,1
    - Dst: ctgGetTbTSMAFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4121,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4128,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4142,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4148,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4153,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4159,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4173,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4177,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4183,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4117,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4122,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4153,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4160,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4115,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4125,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4127,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4128,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4135,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4147,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4154,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4173,1
    - Dst: ctgGetTbTSMAFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4178,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4145,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4134,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4141,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4132,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4151,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4157,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4182,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4189
      start: 4104
    functionDepth: 0
    functionLinenumber: 4104
    functionLinenumberEnd: 4189
    functionName: ctgLaunchGetTbTSMATask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - TSWAP
    - taosArrayGet
    - ctgError
    - ctgGetTbTSMAFromMnode
    - ctgHandleTaskEnd
    - ctgGetTbTSMAFromCache
    - ctgAsyncRefreshTbMeta
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbTSMATask(SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4802,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4805,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4806,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4808,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4809,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4812,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4814,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4815,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4820,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4838,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4825,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4829,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4836,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4830,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pSub
    - pTask
    argTypes:
    - SCtgTask*
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4839
      start: 4799
    functionDepth: 0
    functionLinenumber: 4799
    functionLinenumberEnd: 4839
    functionName: ctgSetSubTaskCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - CTG_ERR_JRET
    - qError
    - CTG_UNLOCK
    - taosArrayPush
    - CTG_GET_TASK_MSGCTX
    - CTG_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgSetSubTaskCb(SCtgTask* pSub, SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2629,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2640,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2635,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2629,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2631,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2641
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2641
    functionName: ctgHandleGetQnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetQnodeRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctgResetTbMetaTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4570,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4572,1
    - Dst: ctgLaunchGetTbMetaTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4575
      start: 4569
    functionDepth: 0
    functionLinenumber: 4569
    functionLinenumberEnd: 4575
    functionName: ctgRelaunchGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_ERR_RET
    - ctgLaunchGetTbMetaTask
    - ctgResetTbMetaTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgRelaunchGetTbMetaTask(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2648,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2659,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2648,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2650,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2654,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2660
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2660
    functionName: ctgHandleGetDnodeRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetDnodeRsp(SCtgTaskReq* tReq, int32_t reqType, const
      SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4580,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4593,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4590,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4594,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4588,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4597,1
    - Dst: ctgLaunchGetTbCfgTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4597,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4601,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4601,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4602
      start: 4577
    functionDepth: 0
    functionLinenumber: 4577
    functionLinenumberEnd: 4602
    functionName: ctgGetTbCfgCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgLaunchGetTbCfgTask
    - taosMemoryCalloc
    - CTG_ERR_JRET
    - ctgHandleTaskEnd
    - ctgGetVgInfoFromHashValue
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetTbCfgCb(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3217,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3233,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3238,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3219,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3239
      start: 3212
    functionDepth: 0
    functionLinenumber: 3212
    functionLinenumberEnd: 3239
    functionName: ctgHandleGetVSubTablesRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - atomic_add_fetch_32
    - atomic_fetch_add_32
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetVSubTablesRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1965,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2008,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1990,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2062,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2066,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1952,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1939,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1917,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1992,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1977,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2033,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2064,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1888,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1882,1
    - Dst: CTG_IS_META_TABLE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1972,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1973,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2087,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1945,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2028,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1897,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1921,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2085,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2092,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1926,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1982,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1929,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2020,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1994,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2025,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1964,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1888,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1916,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1996,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2023,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1954,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1963,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2088,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2095,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1886,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1909,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1994,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2081,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1936,1
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1978,1
    - Dst: ctgGetTbMetaFromMnodeImpl
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2002,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1909,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1904,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1924,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1929,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2093,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2102,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2108,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1945,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1948,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1988,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2029,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2094,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1975,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2009,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1895,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1968,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1919,1
    - Dst: ctgGetTbMetaFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1977,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1978,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2065,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1931,1
    - Dst: ctgUpdateTbMetaToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2014,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1939,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1973,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1995,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1936,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1990,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2017,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1883,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1906,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1921,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1962,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1963,1
    - Dst: CTG_FLAG_IS_FORCE_UPDATE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1980,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2031,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2035,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2002,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1889,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1897,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1906,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1904,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1924,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1926,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1946,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1877,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2040,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2073,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2074,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2001,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1895,1
    - Dst: ctgReadTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1988,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 183
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2109
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 2109
    functionName: ctgHandleGetTbMetasRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgAcquireVgInfoFromCache
    - CTG_FLAG_IS_STB
    - taosMemoryRealloc
    - CTG_FLAG_IS_FORCE_UPDATE
    - CTG_IS_META_TABLE
    - ctgGetVgInfoFromHashValue
    - ctgGetTbMetaFromVnode
    - taosArrayGetSize
    - tNameGetFullDbName
    - tNameGetTableName
    - ctgTaskError
    - CTG_META_SIZE
    - atomic_sub_fetch_32
    - ctgReadTbMetaFromCache
    - CTG_IS_META_NULL
    - ctgUpdateTbMetaToCache
    - tListLen
    - CTG_RET
    - CTG_IS_META_VBOTH
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - tstrncpy
    - ctgGetFetchName
    - CTG_IS_META_BOTH
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - ctgGetTbMetaFromMnodeImpl
    - ctgGetTbMetaFromMnode
    - withExtSchema
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - TAOS_STRCPY
    - tstrerror
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetTbMetasRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:656,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:666,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:658,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:664,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pJob
    - taskId
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 670
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 670
    functionName: ctgInitGetVStbRefDbsTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayPush
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetVStbRefDbsTask(SCtgJob* pJob, int32_t taskId, void*
      param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1458,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1466,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1465,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1470
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1470
    functionName: ctgDumpUserRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpUserRes(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3246,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3267,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3253,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3262,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3248,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3268
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3268
    functionName: ctgHandleGetVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgProcessRspMsg
    - ctgHandleTaskEnd
    - atomic_add_fetch_32
    - atomic_fetch_add_32
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleGetVStbRefDbsRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:674,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:682,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:676,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:684,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:685,1
    - Dst: ctgDropViewMetaEnqueue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pCtg
    - pReq
    argTypes:
    - SCatalog*
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 690
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 690
    functionName: ctgHandleForceUpdateView
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgDropViewMetaEnqueue
    - taosArrayGet
    - qError
    - taosArrayGetSize
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgHandleForceUpdateView(SCatalog* pCtg, const SCatalogReq*
      pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1479,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1489
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1489
    functionName: ctgDumpSvrVer
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpSvrVer(SCtgTask* pTask) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CTG_IS_META_VBOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2244,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2249,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2285,1
    - Dst: CTG_META_SIZE
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2247,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2236,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2204,1
    - Dst: CTG_IS_META_BOTH
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2240,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2136,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2143,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2162,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2184,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2201,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2191,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2228,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2281,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2153,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2171,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2186,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2227,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2300,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2318,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2191,1
    - Dst: ctgRemoveTbMetaFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2211,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2258,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2117,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2174,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2271,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2189,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2311,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2123,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2167,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2253,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2312,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2129,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2139,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2160,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2165,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2170,1
    - Dst: CTG_FLAG_IS_STB
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2182,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2217,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2204,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2151,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2155,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2235,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2284,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2127,1
    - Dst: ctgMakeVgArray
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2148,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2259,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2295,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2129,1
    - Dst: ctgTaskDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2164,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2186,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2210,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2325,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2328,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2269,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2264,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2158,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2194,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2255,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2298,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2219,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2228,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2229,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2136,1
    - Dst: ctgProcessRspMsg
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2143,1
    - Dst: CTG_IS_META_NULL
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2181,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2267,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2124,1
    - Dst: ctgGetVgInfoFromHashValue
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2189,1
    - Dst: ctgGetTbMetaFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2270,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2213,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2148,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2210,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2196,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2257,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2277,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2280,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2130,1
    - Dst: ctgTaskError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2161,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2291,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:2301,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 181
    argCount: 4
    argNames:
    - tReq
    - reqType
    - pMsg
    - rspCode
    argTypes:
    - SCtgTaskReq*
    - int32_t
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2329
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2329
    functionName: ctgHandleGetTbNamesRsp
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - ctgAcquireVgInfoFromCache
    - CTG_FLAG_IS_STB
    - taosMemoryRealloc
    - taosWUnLockLatch
    - ctgGetVgInfoFromHashValue
    - atomic_add_fetch_32
    - ctgGetTbMetaFromVnode
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosArrayDestroy
    - tNameGetTableName
    - ctgTaskError
    - CTG_META_SIZE
    - atomic_sub_fetch_32
    - CTG_IS_META_NULL
    - tListLen
    - CTG_IS_META_VBOTH
    - CTG_RET
    - taosArrayGet
    - ctgReleaseVgInfoToCache
    - ctgError
    - tstrncpy
    - ctgGetFetchName
    - ctgMakeVgArray
    - CTG_IS_META_BOTH
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - withExtSchema
    - ctgProcessRspMsg
    - CTG_ERR_JRET
    - tstrerror
    - ctgHandleTaskEnd
    - ctgTaskDebug
    - ctgGetDBVgInfoFromMnode
    - TARRAY_GET_ELEM
    - taosWLockLatch
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgRemoveTbMetaFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ctgHandleGetTbNamesRsp(SCtgTaskReq* tReq, int32_t reqType,
      const SDataBuf* pMsg, int32_t rspCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4754,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4757,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4758,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SCtgJob*
    constantsTouched: []
    func_position:
      end: 4762
      start: 4752
    functionDepth: 0
    functionLinenumber: 4752
    functionLinenumberEnd: 4762
    functionName: ctgMakeAsyncRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgMakeAsyncRes(SCtgJob* pJob) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1551,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1553,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1560,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1561,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1569
    functionName: ctgDumpVStbRefDbsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgError
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpVStbRefDbsRes(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3781,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3783,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3784,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3791,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3792,1
    - Dst: ctgGetDnodeListFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3792,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3795
      start: 3777
    functionDepth: 0
    functionLinenumber: 3777
    functionLinenumberEnd: 3795
    functionName: ctgLaunchGetDnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - ctgError
    - ctgGetDnodeListFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetDnodeTask(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3836,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3848,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3838,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3839,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3846,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3852,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3852,1
    - Dst: CTG_CACHE_HIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3859,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3861,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3866,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3873,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3869,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3869,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3874
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3874
    functionName: ctgLaunchGetDbInfoTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - ctgReleaseVgInfoToCache
    - CTG_CACHE_NHIT_INC
    - ctgError
    - taosMemoryCalloc
    - CTG_CACHE_HIT_INC
    - CTG_ERR_JRET
    - CTG_RET
    - ctgHandleTaskEnd
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetDbInfoTask(SCtgTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4717,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    constantsTouched: []
    func_position:
      end: 4718
      start: 4714
    functionDepth: 0
    functionLinenumber: 4714
    functionLinenumberEnd: 4718
    functionName: ctgCloneTbMeta
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - cloneTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneTbMeta(SCtgTask* pTask, void** pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1574,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1578,1
    - Dst: qError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1581,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1579,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1576,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1582,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1593,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1596,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1601,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1603,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1604
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1604
    functionName: ctgCallSubCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayGetP
    - CTG_ERR_JRET
    - qError
    - CTG_UNLOCK
    - taosArrayGetSize
    - CTG_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCallSubCb(SCtgTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3802,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3805,1
    - Dst: ctgReadDBCfgFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3813,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3813,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3804,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3816,1
    - Dst: ctgGetDBCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3816,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3818,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3820,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3823,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3824,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3824,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3828
      start: 3797
    functionDepth: 0
    functionLinenumber: 3797
    functionLinenumberEnd: 3828
    functionName: ctgLaunchGetDbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgGetDBCfgFromMnode
    - ctgError
    - taosMemoryCalloc
    - ctgHandleTaskEnd
    - TAOS_MEMCPY
    - ctgReadDBCfgFromCache
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetDbCfgTask(SCtgTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3881,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3883,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3884,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3891,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3893,1
    - Dst: ctgGetIndexInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3876
    functionDepth: 0
    functionLinenumber: 3876
    functionLinenumberEnd: 3896
    functionName: ctgLaunchGetIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_CACHE_NHIT_INC
    - ctgError
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgGetIndexInfoFromMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetIndexTask(SCtgTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4723,1
    - Dst: cloneDbVgInfo
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pTask
    - pRes
    argTypes:
    - SCtgTask*
    - void**
    constantsTouched: []
    func_position:
      end: 4724
      start: 4720
    functionDepth: 0
    functionLinenumber: 4720
    functionLinenumberEnd: 4724
    functionName: ctgCloneDbVg
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_RET
    - cloneDbVgInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCloneDbVg(SCtgTask* pTask, void** pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTG_LOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:32,1
    - Dst: CTG_UNLOCK
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:47,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:36,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:34,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pJob
    - type
    - done
    argTypes:
    - SCtgJob*
    - CTG_TASK_TYPE
    - bool*
    constantsTouched: []
    func_position:
      end: 48
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 48
    functionName: ctgIsTaskDone
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - CTG_LOCK
    - taosArrayGetSize
    - taosArrayGet
    - CTG_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void ctgIsTaskDone(SCtgJob* pJob, CTG_TASK_TYPE type, bool* done) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:277,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:283,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:278,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:279,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 286
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 286
    functionName: ctgInitGetQnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetQnodeTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:417,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:425,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:426,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:419,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:423,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:429,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:431,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:432,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:433,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:436,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 440
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 440
    functionName: ctgInitGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbIndexTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3628,1
    - Dst: ctgReadTbIndexFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3638,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3638,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3631,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3630,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3642,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3642,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3646,1
    - Dst: ctgGetTbIndexFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3648
      start: 3621
    functionDepth: 0
    functionLinenumber: 3621
    functionLinenumberEnd: 3648
    functionName: ctgLaunchGetTbIndexTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgError
    - ctgGetTbIndexFromMnode
    - ctgHandleTaskEnd
    - CTG_GET_TASK_MSGCTX
    - CTG_ERR_RET
    - ctgReadTbIndexFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbIndexTask(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:59,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:67,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:61,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:65,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:68,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:71,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:74,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:75,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:76,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:79,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:80,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: ctgInitGetTbMetaTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbMetaTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:296,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:302,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:298,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:297,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 305
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 305
    functionName: ctgInitGetDnodeTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosArrayPush
    - qDebug
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetDnodeTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:450,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:459,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:452,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:458,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:462,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:464,1
    - Dst: ctgFreeTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:465,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:466,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:469,1
    - Dst: ctgTaskTypeStr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pJob
    - taskIdx
    - param
    argTypes:
    - SCtgJob*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 473
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 473
    functionName: ctgInitGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgTaskTypeStr
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayPush
    - qDebug
    - TAOS_MEMCPY
    - ctgFreeTask
    - CTG_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgInitGetTbCfgTask(SCtgJob* pJob, int32_t taskIdx, void*
      param) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ctgReadTbTypeFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3673,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3678,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3684,1
    - Dst: ctgGetTbHashVgroupFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3687,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3702,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3660,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3687,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3689,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3694,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3662,1
    - Dst: CTG_CACHE_NHIT_INC
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3670,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3673,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3678,1
    - Dst: ctgGetTableCfgFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3684,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3658,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3663,1
    - Dst: ctgLaunchSubTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3689,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3708,1
    - Dst: ctgGetTableCfgFromVnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3694,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3709
      start: 3650
    functionDepth: 0
    functionLinenumber: 3650
    functionLinenumberEnd: 3709
    functionName: ctgLaunchGetTbCfgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - tNameGetFullDbName
    - CTG_CACHE_NHIT_INC
    - ctgError
    - CTG_ERR_JRET
    - ctgLaunchSubTask
    - ctgGetTbHashVgroupFromCache
    - CTG_RET
    - ctgGetTableCfgFromVnode
    - ctgHandleTaskEnd
    - ctgGetTableCfgFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    - ctgReadTbTypeFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbCfgTask(SCtgTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3369,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3372,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3392,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3390,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3383,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3396,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3401,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3412,1
    - Dst: ctgDebug
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3368,1
    - Dst: ctgGetTbMetasFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3370,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3375,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3377,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3379,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3393,1
    - Dst: ctgGetFetchName
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3396,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3363,1
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3398,1
    - Dst: ctgAsyncRefreshTbMeta
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3412,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3361,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3364,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3370,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3379,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3386,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3400,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3416
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3416
    functionName: ctgLaunchGetTbMetasTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - TSWAP
    - ctgGetTbMetasFromCache
    - taosArrayGet
    - ctgError
    - ctgDebug
    - ctgHandleTaskEnd
    - ctgGetFetchName
    - ctgAsyncRefreshTbMeta
    - taosArrayGetSize
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetTbMetasTask(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1236
    functionName: ctgDumpTbHashsRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbHashsRes(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4607,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4623,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4615,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4617,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4611,1
    - Dst: ctgLaunchGetVSubTablesTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4623,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4627,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4628
      start: 4604
    functionDepth: 0
    functionLinenumber: 4604
    functionLinenumberEnd: 4628
    functionName: ctgGetVSubTablesCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - CTG_ERR_JRET
    - ctgLaunchGetVSubTablesTask
    - taosArrayDup
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVSubTablesCb(SCtgTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 4700
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4700
    functionName: ctgCompDbVgTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCompDbVgTasks(SCtgTask* pTask, void* param, bool* equal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1245,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1247,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1255,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1251,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1250,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1260,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:1261,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 1265
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1265
    functionName: ctgDumpTbIndexRes
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - atomic_val_compare_exchange_ptr
    - taosArrayPush
    - CTG_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgDumpTbIndexRes(SCtgTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CTG_GET_TASK_MSGCTX
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3425,1
    - Dst: ctgAcquireVgInfoFromCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3435,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3428,1
    - Dst: ctgError
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3427,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3435,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3439,1
    - Dst: ctgBuildUseDbOutput
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3439,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3442,1
    - Dst: ctgGenerateVgList
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3442,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3444,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3447,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3447,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3451,1
    - Dst: CTG_ERR_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3457,1
    - Dst: ctgReleaseVgInfoToCache
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3463,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3451,1
    - Dst: ctgGetDBVgInfoFromMnode
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3457,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:3466,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 3467
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3467
    functionName: ctgLaunchGetDbVgTask
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - ctgAcquireVgInfoFromCache
    - ctgReleaseVgInfoToCache
    - CTG_RET
    - ctgError
    - CTG_ERR_JRET
    - ctgGenerateVgList
    - tstrncpy
    - ctgHandleTaskEnd
    - ctgBuildUseDbOutput
    - tListLen
    - ctgGetDBVgInfoFromMnode
    - CTG_ERR_RET
    - CTG_GET_TASK_MSGCTX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgLaunchGetDbVgTask(SCtgTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4633,1
    - Dst: CTG_ERR_JRET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4643,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4641,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4649,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4637,1
    - Dst: ctgLaunchGetVStbRefDbsTask
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4649,1
    - Dst: CTG_RET
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4653,1
    - Dst: ctgHandleTaskEnd
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4653,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SCtgTask*
    constantsTouched: []
    func_position:
      end: 4654
      start: 4630
    functionDepth: 0
    functionLinenumber: 4630
    functionLinenumberEnd: 4654
    functionName: ctgGetVStbRefDbsCb
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - TSWAP
    - CTG_ERR_JRET
    - ctgLaunchGetVStbRefDbsTask
    - taosArrayDup
    - ctgHandleTaskEnd
    - CTG_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgGetVStbRefDbsCb(SCtgTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameTbNameEqual
      Src: /src/tdengine/source/libs/catalog/src/ctgAsync.c:4706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - pTask
    - param
    - equal
    argTypes:
    - SCtgTask*
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 4712
      start: 4702
    functionDepth: 0
    functionLinenumber: 4702
    functionLinenumberEnd: 4712
    functionName: ctgCompTbMetaTasks
    functionSourceFile: /src/tdengine/source/libs/catalog/src/ctgAsync.c
    functionUses: []
    functionsReached:
    - tNameTbNameEqual
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ctgCompTbMetaTasks(SCtgTask* pTask, void* param, bool* equal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:202,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:205,1
    - Dst: doRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 7
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - i
    - swapped
    - pOutputData
    - doRelationFn
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - int32_t
    - bool
    - SColumnInfoData*
    - _geomDoRelationFunc_t
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: executeRelationFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - doRelationFn
    - TAOS_CHECK_RETURN
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t executeRelationFunc(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, int32_t i, bool swapped, SColumnInfoData
      *pOutputData, _geomDoRelationFunc_t doRelationFn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:210,1
    - Dst: initCtxFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:210,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:217,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:216,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:216,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:220,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:221,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:225,1
    - Dst: executeOneParamFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:225,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - initCtxFn
    - executeOneParamFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - _geomInitCtxFunc_t
    - _geomExecuteOneParamFunc_t
    constantsTouched: []
    func_position:
      end: 230
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 230
    functionName: geomOneParamFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataIsNull_s
    - colDataSetNNULL
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - initCtxFn
    - executeOneParamFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t geomOneParamFunction(SScalarParam *pInput, SScalarParam *pOutput,
      _geomInitCtxFunc_t initCtxFn, _geomExecuteOneParamFunc_t executeOneParamFn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:65,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:80,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:75,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:80,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:75,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:82,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:82,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:84,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:90,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:95,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:96,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:91,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:90,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - char*
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: doGeomFromTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - geosFreeBuffer
    - doGeomFromText
    - varDataLen
    - taosMemoryCalloc
    - varDataVal
    - varDataSetLen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doGeomFromTextFunc(const char *input, unsigned char **output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomTwoParamsFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 355
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 355
    functionName: makePointFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomTwoParamsFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t makePointFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomOneParamFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: asTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomOneParamFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asTextFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: equalsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t equalsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomOneParamFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: geomFromTextFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomOneParamFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t geomFromTextFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: intersectsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t intersectsFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: touchesFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t touchesFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: containsProperlyFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t containsProperlyFunction(SScalarParam *pInput, int32_t inputNum,
      SScalarParam *pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:106,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:112,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:112,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:112,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:112,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:114,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:121,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:121,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:122,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:126,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - unsigned char*
    - char**
    constantsTouched: []
    func_position:
      end: 129
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 129
    functionName: doAsTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - geosFreeBuffer
    - varDataLen
    - taosMemoryCalloc
    - varDataVal
    - strlen
    - varDataSetLen
    - doAsText
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAsTextFunc(unsigned char *input, char **output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:234,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:241,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:241,1
    - Dst: initCtxFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:234,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:241,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:241,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:244,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:248,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:249,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:250,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:260,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:258,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:264,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:268,1
    - Dst: executeTwoParamsFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:264,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:259,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - initCtxFn
    - executeTwoParamsFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - _geomInitCtxFunc_t
    - _geomExecuteTwoParamsFunc_t
    constantsTouched: []
    func_position:
      end: 269
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 269
    functionName: geomTwoParamsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataIsNull_s
    - colDataSetNNULL
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - initCtxFn
    - TMAX
    - executeTwoParamsFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t geomTwoParamsFunction(SScalarParam *pInput, SScalarParam *pOutput,
      _geomInitCtxFunc_t initCtxFn, _geomExecuteTwoParamsFunc_t executeTwoParamsFn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:143,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:138,1
    - Dst: getVectorDoubleValueFn
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:144,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:145,1
    - Dst: doMakePointFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:145,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:150,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:146,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - pInputData
    - iLeft
    - iRight
    - pOutputData
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 154
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 154
    functionName: executeMakePointFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - getVectorDoubleValueFn
    - taosMemoryFree
    - colDataSetVal
    - TMAX
    - doMakePointFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t executeMakePointFunc(SColumnInfoData *pInputData[], int32_t
      iLeft, int32_t iRight, SColumnInfoData *pOutputData) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: initCtxRelationFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:275,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:278,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:317,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:321,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:327,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:330,1
    - Dst: executeRelationFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:333,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:337,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:350,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:278,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:289,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:321,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:322,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:330,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:333,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:340,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:275,1
    - Dst: GET_PARAM_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:278,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:278,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:287,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:288,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:314,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:327,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:327,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:348,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:281,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:286,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:317,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:317,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:314,1
    - Dst: readGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:330,1
    - Dst: destroyGeometry
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:347,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 4
    argNames:
    - pInput
    - pOutput
    - swapAllowed
    - doRelationFn
    argTypes:
    - SScalarParam*
    - SScalarParam*
    - bool
    - _geomDoRelationFunc_t
    constantsTouched: []
    func_position:
      end: 351
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 351
    functionName: geomRelationFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - IS_NULL_TYPE
    - GET_PARAM_TYPE
    - colDataSetNULL
    - colDataIsNull_s
    - colDataSetNNULL
    - colDataGetData
    - initCtxRelationFunc
    - executeRelationFunc
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - TMAX
    - destroyGeometry
    - readGeometry
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t geomRelationFunction(SScalarParam *pInput, SScalarParam *pOutput,
      bool swapAllowed, _geomDoRelationFunc_t doRelationFn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doMakePoint
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:39,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:44,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:50,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:51,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:50,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - x
    - y
    - output
    argTypes:
    - double
    - double
    - unsigned char**
    constantsTouched: []
    func_position:
      end: 58
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 58
    functionName: doMakePointFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geosFreeBuffer
    - taosMemoryCalloc
    - varDataVal
    - varDataSetLen
    - memcpy
    - doMakePoint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMakePointFunc(double x, double y, unsigned char **output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:159,1
    - Dst: doGeomFromTextFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:166,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:166,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:163,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:167,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pInputData
    - i
    - pOutputData
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: executeGeomFromTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - doGeomFromTextFunc
    - colDataSetVal
    - colDataGetData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t executeGeomFromTextFunc(SColumnInfoData *pInputData, int32_t
      i, SColumnInfoData *pOutputData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: coversFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t coversFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:180,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:184,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:184,1
    - Dst: doAsTextFunc
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:183,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:183,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pInputData
    - i
    - pOutputData
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: executeAsTextFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - colDataSetVal
    - doAsTextFunc
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t executeAsTextFunc(SColumnInfoData *pInputData, int32_t i,
      SColumnInfoData *pOutputData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: geomRelationFunction
      Src: /src/tdengine/source/libs/geometry/src/geomFunc.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pInput
    - inputNum
    - pOutput
    argTypes:
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: containsFunction
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geomFunc.c
    functionUses: []
    functionsReached:
    - geomRelationFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t containsFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam
      *pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:249,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:252,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:249,1
    - Dst: GEOSWKBReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:261,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:257,1
    - Dst: GEOSWKTWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:268,1
    - Dst: GEOSWKTWriter_setRoundingPrecision_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:271,1
    - Dst: GEOSWKTWriter_setTrim_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 279
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 279
    functionName: initCtxAsText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOS_init_r
    - GEOSWKTWriter_setTrim_r
    - GEOSWKBReader_create_r
    - GEOSWKTWriter_setRoundingPrecision_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKTWriter_create_r
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCtxAsText() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:321,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:321,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:323,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - wkb
    - size
    argTypes:
    - unsigned char*
    - size_t
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: checkWKB
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - GEOSGeom_destroy_r
    - getThreadLocalGeosCtx
    - GEOSWKBReader_read_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkWKB(const unsigned char *wkb, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: doCovers
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCovers(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: doContains
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doContains(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: acquireThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:469,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:478,1
    - Dst: GEOSPreparedGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:473,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - geom
    - preparedGeom
    argTypes:
    - GEOSGeometry**
    - GEOSPreparedGeometry**
    constantsTouched: []
    func_position:
      end: 481
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 481
    functionName: destroyGeometry
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOSGeom_destroy_r
    - GEOSPreparedGeom_destroy_r
    - acquireThreadLocalGeosCtx
    linkageType: ''
    returnType: void
    signature: 'void destroyGeometry(GEOSGeometry **geom, const GEOSPreparedGeometry
      **preparedGeom) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:67,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:67,1
    - Dst: GEOSGeom_createPointFromXY_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:72,1
    - Dst: GEOSWKBWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:78,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:88,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - x
    - y
    - outputGeom
    - size
    argTypes:
    - double
    - double
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: doMakePoint
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOSGeom_createPointFromXY_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSGeom_destroy_r
    - GEOSWKBWriter_write_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMakePoint(double x, double y, unsigned char **outputGeom,
      size_t *size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - errMsg
    - userData
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: geosErrMsgeHandler
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void geosErrMsgeHandler(const char *errMsg, void *userData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:340,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:343,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:348,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:340,1
    - Dst: GEOSWKBReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 359
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 359
    functionName: initCtxRelationFunc
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOS_init_r
    - GEOSWKBReader_create_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCtxRelationFunc() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:97,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:159,1
    - Dst: doRegComp
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - ppRegex
    - ppMatchData
    argTypes:
    - pcre2_code**
    - pcre2_match_data**
    constantsTouched: []
    func_position:
      end: 168
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 168
    functionName: initWktRegex
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - doRegComp
    - taosMemoryFree
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initWktRegex(pcre2_code **ppRegex, pcre2_match_data
      **ppMatchData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:287,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:309,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:287,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:292,1
    - Dst: GEOSWKTWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - inputGeom
    - size
    - outputWKT
    argTypes:
    - unsigned char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 314
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 314
    functionName: doAsText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOSWKTWriter_write_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSGeom_destroy_r
    - GEOSWKBReader_read_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAsText(const unsigned char *inputGeom, size_t size, char
      **outputWKT) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:447,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:452,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:452,1
    - Dst: GEOSWKBReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:453,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:453,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:453,1
    - Dst: GEOSPrepare_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:459,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - input
    - outputGeom
    - outputPreparedGeom
    argTypes:
    - unsigned char*
    - GEOSGeometry**
    - GEOSPreparedGeometry**
    constantsTouched: []
    func_position:
      end: 466
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 466
    functionName: readGeometry
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOSPrepare_r
    - varDataLen
    - getThreadLocalGeosCtx
    - varDataVal
    - TAOS_CHECK_RETURN
    - GEOSWKBReader_read_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readGeometry(const unsigned char *input, GEOSGeometry **outputGeom,
      const GEOSPreparedGeometry **outputPreparedGeom) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:430,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 431
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 431
    functionName: doContainsProperly
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doContainsProperly(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:40,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:43,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:40,1
    - Dst: GEOSWKBWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:52,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:48,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: initCtxMakePoint
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOS_init_r
    - GEOSWKBWriter_create_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCtxMakePoint() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: doEquals
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doEquals(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: acquireThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:26,1
    - Dst: GEOSFree_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: geosFreeBuffer
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOSFree_r
    - acquireThreadLocalGeosCtx
    linkageType: ''
    returnType: void
    signature: 'void geosFreeBuffer(void *buffer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:412,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: doTouches
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTouches(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:212,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:212,1
    - Dst: GEOSWKBWriter_write_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:228,1
    - Dst: GEOSWKTReader_read_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:222,1
    - Dst: doRegExec
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:217,1
    - Dst: GEOSGeom_destroy_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:238,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - inputWKT
    - outputGeom
    - size
    argTypes:
    - char*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 243
    functionName: doGeomFromText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - GEOSWKBWriter_write_r
    - GEOSGeom_destroy_r
    - GEOSWKTReader_read_r
    - doRegExec
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doGeomFromText(const char *inputWKT, unsigned char **outputGeom,
      size_t *size) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:174,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:174,1
    - Dst: GEOSWKTReader_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:186,1
    - Dst: GEOSContext_setErrorMessageHandler_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:182,1
    - Dst: GEOS_init_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:177,1
    - Dst: GEOSWKBWriter_create_r
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:193,1
    - Dst: initWktRegex
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 204
    functionName: initCtxGeomFromText
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - GEOS_init_r
    - GEOSWKBWriter_create_r
    - getThreadLocalGeosCtx
    - TAOS_CHECK_RETURN
    - initWktRegex
    - GEOSWKTReader_create_r
    - GEOSContext_setErrorMessageHandler_r
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCtxGeomFromText() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:367,1
    - Dst: relationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:374,1
    - Dst: preparedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:386,1
    - Dst: getThreadLocalGeosCtx
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:367,1
    - Dst: swappedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:379,1
    - Dst: swappedPreparedRelationFn
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:391,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 9
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    - relationFn
    - swappedRelationFn
    - preparedRelationFn
    - swappedPreparedRelationFn
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    - _geosRelationFunc_t
    - _geosRelationFunc_t
    - _geosPreparedRelationFunc_t
    - _geosPreparedRelationFunc_t
    constantsTouched: []
    func_position:
      end: 396
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 396
    functionName: doGeosRelation
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - preparedRelationFn
    - swappedPreparedRelationFn
    - getThreadLocalGeosCtx
    - relationFn
    - TAOS_CHECK_RETURN
    - swappedRelationFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doGeosRelation(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res, _geosRelationFunc_t
      relationFn, _geosRelationFunc_t swappedRelationFn, _geosPreparedRelationFunc_t
      preparedRelationFn, _geosPreparedRelationFunc_t swappedPreparedRelationFn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doGeosRelation
      Src: /src/tdengine/source/libs/geometry/src/geosWrapper.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - geom1
    - preparedGeom1
    - geom2
    - swapped
    - res
    argTypes:
    - GEOSGeometry*
    - GEOSPreparedGeometry*
    - GEOSGeometry*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: doIntersects
    functionSourceFile: /src/tdengine/source/libs/geometry/src/geosWrapper.c
    functionUses: []
    functionsReached:
    - doGeosRelation
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doIntersects(const GEOSGeometry *geom1, const GEOSPreparedGeometry
      *preparedGeom1, const GEOSGeometry *geom2, bool swapped, char *res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:248,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:249,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pFile
    - dest
    argTypes:
    - STfsFile*
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: tfsDirname
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosDirName
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void tfsDirname(const STfsFile *pFile, char *dest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:716,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:723,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:721,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:718,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:723,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:731,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:732,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:733,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:733,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:734,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:742,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:740,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:740,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pTfs
    - pInfo
    argTypes:
    - STfs*
    - SMonDiskInfo*
    constantsTouched: []
    func_position:
      end: 743
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 743
    functionName: tfsGetMonitorInfo
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsUpdateSize
    - TAOS_UNUSED
    - taosArrayDestroy
    - tstrncpy
    - tfsUnLock
    - TAOS_RETURN
    - taosArrayPush
    - tfsLock
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsGetMonitorInfo(STfs *pTfs, SMonDiskInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:253,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pTfs
    - diskId
    - rname
    - aname
    argTypes:
    - STfs*
    - SDiskID
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: tfsAbsoluteName
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void tfsAbsoluteName(STfs *pTfs, SDiskID diskId, const char *rname,
      char *aname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:348,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:352,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    constantsTouched: []
    func_position:
      end: 353
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 353
    functionName: tfsDirExistAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - taosDirExist
    - snprintf
    linkageType: ''
    returnType: bool
    signature: 'bool tfsDirExistAt(STfs *pTfs, const char *rname, SDiskID diskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:103,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:103,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:105,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 108
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 108
    functionName: tfsGetSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsUnLock
    - tfsLock
    - TAOS_UNUSED
    linkageType: ''
    returnType: SDiskSize
    signature: 'SDiskSize tfsGetSize(STfs *pTfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfsDestroyTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:78,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:82,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:83,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 84
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 84
    functionName: tfsClose
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsDestroyTier
    - taosMemoryFree
    - taosThreadSpinDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tfsClose(STfs *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTfs
    - diskId
    argTypes:
    - STfs*
    - SDiskID
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: tfsGetDiskPath
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    linkageType: ''
    returnType: char*
    signature: 'const char *tfsGetDiskPath(STfs *pTfs, SDiskID diskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - STfsFile*
    constantsTouched: []
    func_position:
      end: 258
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 258
    functionName: tfsRemoveFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsRemoveFile(const STfsFile *pFile) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:114,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:122,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pTfs
    - level
    argTypes:
    - STfs*
    - int32_t
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: tfsDiskSpaceAvailable
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - fError
    - TFS_TIER_AT
    linkageType: ''
    returnType: bool
    signature: 'bool tfsDiskSpaceAvailable(STfs *pTfs, int32_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfsUpdateTierSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:91,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:97,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:99,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:97,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: tfsUpdateSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsUnLock
    - tfsLock
    - tfsUpdateTierSize
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void tfsUpdateSize(STfs *pTfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:189,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:197,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pTfs
    - pFile
    - diskId
    - rname
    argTypes:
    - STfs*
    - STfsFile*
    - SDiskID
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: tfsInitFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - snprintf
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void tfsInitFile(STfs *pTfs, STfsFile *pFile, SDiskID diskId, const
      char *rname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFile1
    - pFile2
    argTypes:
    - STfsFile*
    - STfsFile*
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: tfsCopyFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosCopyFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsCopyFile(const STfsFile *pFile1, const STfsFile *pFile2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:357,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:367,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:368,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:363,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:366,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: tfsRmdir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - snprintf
    - TFS_TIER_AT
    - TAOS_RETURN
    - taosRemoveDir
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsRmdir(STfs *pTfs, const char *rname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:134,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pTfs
    - level
    - disk
    argTypes:
    - STfs*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: tfsDiskSpaceSufficient
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - TFS_TIER_AT
    linkageType: ''
    returnType: bool
    signature: 'bool tfsDiskSpaceSufficient(STfs *pTfs, int32_t level, int32_t disk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: tfsGetLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsGetLevel(STfs *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:228,1
    - Dst: tfsInitFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:232,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:230,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:234,1
    - Dst: taosDecodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pTfs
    - buf
    - pFile
    argTypes:
    - STfs*
    - void*
    - STfsFile*
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: tfsDecodeFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosDecodeString
    - taosDecodeVariantI32
    - taosMemoryFreeClear
    - tfsInitFile
    linkageType: ''
    returnType: void*
    signature: 'void *tfsDecodeFile(STfs *pTfs, void *buf, STfsFile *pFile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:265,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:271,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:273,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    constantsTouched: []
    func_position:
      end: 277
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 277
    functionName: tfsMkdirAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - TAOS_RETURN
    - taosMkDir
    - TFS_DISK_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsMkdirAt(STfs *pTfs, const char *rname, SDiskID diskId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:417,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:422,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pTfs
    - level
    - fname
    argTypes:
    - STfs*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 427
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 427
    functionName: tfsSearch
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosCheckExistFile
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsSearch(STfs *pTfs, int32_t level, const char *fname) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:457,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:460,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:461,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:461,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:464,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:466,1
    - Dst: tfsInitFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:469,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    constantsTouched: []
    func_position:
      end: 482
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 482
    functionName: tfsReaddir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsOpendirImpl
    - snprintf
    - strcmp
    - taosReadDir
    - tfsInitFile
    - taosGetDirEntryName
    linkageType: ''
    returnType: STfsFile*
    signature: 'const STfsFile *tfsReaddir(STfsDir *pTfsDir) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:498,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:503,1
    - Dst: tfsCheckAndFormatCfg
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:498,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:503,1
    - Dst: tfsMountDiskToTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:503,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:506,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:506,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:508,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:516,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:516,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    constantsTouched: []
    func_position:
      end: 519
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 519
    functionName: tfsMount
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - fError
    - tfsCheckAndFormatCfg
    - strnlen
    - tstrerror
    - TAOS_RETURN
    - tfsMountDiskToTier
    - TFS_TIER_AT
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsMount(STfs *pTfs, SDiskCfg *pCfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: wordexp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:596,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:601,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:598,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:608,1
    - Dst: wordfree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:611,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:613,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:613,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:619,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - idir
    - odir
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 621
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 621
    functionName: tfsFormatDir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - wordfree
    - TAOS_SYSTEM_ERROR
    - fError
    - TAOS_CHECK_EXIT
    - tstrncpy
    - tstrerror
    - strlen
    - TAOS_RETURN
    - taosRealPath
    - wordexp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsFormatDir(char *idir, char *odir) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:32,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:41,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:41,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:49,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:49,1
    - Dst: tfsMount
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:55,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:51,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:71,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:40,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:58,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:55,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:35,1
    - Dst: tfsPosNextId
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:62,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:60,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:37,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:46,1
    - Dst: tfsInitTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:46,1
    - Dst: tfsCheck
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:58,1
    - Dst: tfsClose
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:67,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - pCfg
    - ndisk
    - ppTfs
    argTypes:
    - SDiskCfg*
    - int32_t
    - STfs**
    constantsTouched: []
    func_position:
      end: 72
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 72
    functionName: tfsOpen
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tfsUpdateSize
    - tfsInitTier
    - TAOS_SYSTEM_ERROR
    - tfsCheck
    - taosMemoryCalloc
    - tfsPosNextId
    - TAOS_RETURN
    - tfsMount
    - taosThreadSpinInit
    - taosGetDefaultHashFunction
    - tfsClose
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsOpen(SDiskCfg *pCfg, int32_t ndisk, STfs **ppTfs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:145,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pTfs
    - level
    argTypes:
    - STfs*
    - int32_t
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: tfsGetDisksAtLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsGetDisksAtLevel(STfs *pTfs, int32_t level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfsAllocDiskAtLevel
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:160,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:165,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pTfs
    - expLevel
    - label
    - pDiskId
    argTypes:
    - STfs*
    - int32_t
    - char*
    - SDiskID*
    constantsTouched: []
    func_position:
      end: 166
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 166
    functionName: tfsAllocDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tfsAllocDiskAtLevel
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsAllocDisk(STfs *pTfs, int32_t expLevel, const char *label,
      SDiskID *pDiskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:241,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:242,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pFile
    - dest
    argTypes:
    - STfsFile*
    - char*
    constantsTouched: []
    func_position:
      end: 243
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 243
    functionName: tfsBasename
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosDirEntryBaseName
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void tfsBasename(const STfsFile *pFile, char *dest) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:318,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:284,1
    - Dst: taosDirName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:306,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:316,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:311,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:308,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:316,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:305,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:288,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:320,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:299,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:302,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:303,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:305,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:306,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - pTfs
    - rname
    - diskId
    argTypes:
    - STfs*
    - char*
    - SDiskID
    constantsTouched: []
    func_position:
      end: 321
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 321
    functionName: tfsMkdirRecurAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - fError
    - tfsMkdirAt
    - tstrerror
    - strlen
    - tfsMkdirRecurAt
    - TAOS_RETURN
    - taosStrdup
    - taosDirName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsMkdirRecurAt(STfs *pTfs, const char *rname, SDiskID diskId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:431,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:433,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:439,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:441,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:437,1
    - Dst: tfsOpendirImpl
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:441,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pTfs
    - rname
    - ppDir
    argTypes:
    - STfs*
    - char*
    - STfsDir**
    constantsTouched: []
    func_position:
      end: 449
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 449
    functionName: tfsOpendir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tfsOpendirImpl
    - taosMemoryCalloc
    - tstrncpy
    - taosMemoryFreeClear
    - TAOS_RETURN
    - TFS_DISK_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsOpendir(STfs *pTfs, const char *rname, STfsDir **ppDir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:487,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:487,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pTfsDir
    argTypes:
    - STfsDir*
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: tfsClosedir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: 'void tfsClosedir(STfsDir *pTfsDir) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:548,1
    - Dst: tfsGetDiskByName
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:558,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:568,1
    - Dst: taosCheckAccessFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:573,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:536,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:532,1
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:546,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:547,1
    - Dst: tfsFormatDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:552,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:560,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:564,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:570,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:579,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:584,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:531,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:527,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:543,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:559,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:559,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:563,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:569,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:575,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:581,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:526,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:542,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:553,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:574,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:580,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:586,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 2
    argNames:
    - pTfs
    - pCfg
    argTypes:
    - STfs*
    - SDiskCfg*
    constantsTouched: []
    func_position:
      end: 587
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 587
    functionName: tfsCheckAndFormatCfg
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - tfsGetDiskByName
    - fError
    - taosCheckAccessFile
    - tstrncpy
    - tfsFormatDir
    - tstrerror
    - TAOS_RETURN
    - taosIsDir
    - TFS_PRIMARY_DISK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsCheckAndFormatCfg(STfs *pTfs, SDiskCfg *pCfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:624,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:626,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:630,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:631,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:625,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:632,1
    - Dst: tfsUpdateTierSize
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:636,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:636,1
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:637,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:638,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:639,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 645
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 645
    functionName: tfsCheck
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_PRIMARY_DISK
    - tfsUpdateTierSize
    - fError
    - TAOS_RETURN
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsCheck(STfs *pTfs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:666,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:667,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:666,1
    - Dst: tfsNextDisk
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:673,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:680,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:682,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:684,1
    - Dst: fWarn
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:686,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:689,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pTfs
    - pTfsDir
    argTypes:
    - STfs*
    - STfsDir*
    constantsTouched: []
    func_position:
      end: 690
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 690
    functionName: tfsOpendirImpl
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - fError
    - fWarn
    - taosCloseDir
    - tstrerror
    - TAOS_RETURN
    - taosOpenDir
    - tfsNextDisk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsOpendirImpl(STfs *pTfs, STfsDir *pTfsDir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:170,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:178,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:181,1
    - Dst: tfsAllocDiskOnTier
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - pTfs
    - level
    - label
    - pDiskId
    argTypes:
    - STfs*
    - int32_t
    - char*
    - SDiskID*
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: tfsAllocDiskAtLevel
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tfsAllocDiskOnTier
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsAllocDiskAtLevel(STfs *pTfs, int32_t level, const char
      *label, SDiskID *pDiskId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:206,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:209,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:208,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:208,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:207,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:209,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:210,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pFile1
    - pFile2
    argTypes:
    - STfsFile*
    - STfsFile*
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: tfsIsSameFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - strncmp
    - TAOS_UNUSED
    - taosRealPath
    - tstrncpy
    linkageType: ''
    returnType: bool
    signature: 'bool tfsIsSameFile(const STfsFile *pFile1, const STfsFile *pFile2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:325,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:328,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:328,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: tfsMkdirRecur
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tfsMkdirRecurAt
    - TAOS_RETURN
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsMkdirRecur(STfs *pTfs, const char *rname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:381,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:383,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:387,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:384,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:386,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:388,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:389,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pTfs
    - diskId
    - orname
    - nrname
    argTypes:
    - STfs*
    - SDiskID
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 393
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 393
    functionName: tfsRenameAt
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - fError
    - taosRenameFile
    - tstrerror
    - TAOS_RETURN
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsRenameAt(STfs *pTfs, SDiskID diskId, const char
      *orname, const char *nrname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_PRIMARY_DISK
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pTfs
    argTypes:
    - STfs*
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tfsGetPrimaryPath
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_PRIMARY_DISK
    linkageType: ''
    returnType: char*
    signature: 'const char *tfsGetPrimaryPath(STfs *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:217,1
    - Dst: taosEncodeVariantI32
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:218,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - pFile
    argTypes:
    - void**
    - STfsFile*
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: tfsEncodeFile
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - taosEncodeString
    - taosEncodeVariantI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsEncodeFile(void **buf, STfsFile *pFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:337,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:344,1
    - Dst: tfsMkdirAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pTfs
    - rname
    argTypes:
    - STfs*
    - char*
    constantsTouched: []
    func_position:
      end: 345
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 345
    functionName: tfsMkdir
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tfsMkdirAt
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsMkdir(STfs *pTfs, const char *rname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:409,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:409,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:404,1
    - Dst: tfsRenameAt
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pTfs
    - diskPrimary
    - orname
    - nrname
    argTypes:
    - STfs*
    - int32_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: tfsRename
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tfsRenameAt
    - TFS_TIER_AT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsRename(STfs *pTfs, int32_t diskPrimary, const char *orname,
      const char *nrname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:648,1
    - Dst: strnlen
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:648,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:650,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:654,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pTfs
    - dir
    - ppDisk
    argTypes:
    - STfs*
    - char*
    - STfsDisk**
    constantsTouched: []
    func_position:
      end: 657
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 657
    functionName: tfsGetDiskByName
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - strnlen
    - TFS_DISK_AT
    - TAOS_RETURN
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfsGetDiskByName(STfs *pTfs, const char *dir, STfsDisk
      **ppDisk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TFS_TIER_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:700,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:701,1
    - Dst: TFS_DISK_AT
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:706,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pTfs
    - pIter
    argTypes:
    - STfs*
    - SDiskIter*
    constantsTouched: []
    func_position:
      end: 713
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 713
    functionName: tfsNextDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - TFS_DISK_AT
    - TFS_TIER_AT
    linkageType: ''
    returnType: STfsDisk*
    signature: 'static STfsDisk *tfsNextDisk(STfs *pTfs, SDiskIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:746,1
    - Dst: tfsLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:746,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:753,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:753,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:751,1
    - Dst: fInfo
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:754,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:755,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:759,1
    - Dst: tfsUnLock
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:759,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:760,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfs.c:761,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pTfs
    - dir
    - disable
    argTypes:
    - STfs*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 762
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 762
    functionName: tfsUpdateDiskDisable
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfs.c
    functionUses: []
    functionsReached:
    - fInfo
    - TAOS_UNUSED
    - fError
    - strcmp
    - tfsUnLock
    - TAOS_RETURN
    - tfsLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsUpdateDiskDisable(STfs *pTfs, const char *dir, int8_t disable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:57,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:60,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: tfsDestroyTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - taosThreadSpinDestroy
    - tfsFreeDisk
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tfsDestroyTier(STfsTier *pTier) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: tfsDiskCursorFree
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void tfsDiskCursorFree(void *p) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:141,1
    - Dst: tfsLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:138,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:147,1
    - Dst: tfsDiskCursorNew
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:152,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:192,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:194,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:154,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:155,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:160,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:161,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:154,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:175,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:158,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:158,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:138,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:142,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:141,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:147,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:181,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:192,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pTier
    - label
    argTypes:
    - STfsTier*
    - char*
    constantsTouched: []
    func_position:
      end: 197
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 197
    functionName: tfsAllocDiskOnTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - uTrace
    - taosHashGet
    - tfsLockTier
    - strlen
    - TAOS_RETURN
    - tfsUnLockTier
    - tfsDiskCursorNew
    - taosHashPut
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsAllocDiskOnTier(STfsTier *pTier, const char *label) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - nextid
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: tfsDiskCursorNew
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SDiskCursor*
    signature: 'static SDiskCursor *tfsDiskCursorNew(int32_t nextid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:74,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:102,1
    - Dst: tfsNewDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:95,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:95,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:92,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:103,1
    - Dst: fDebug
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - pTier
    - pCfg
    - ppDisk
    argTypes:
    - STfsTier*
    - SDiskCfg*
    - STfsDisk**
    constantsTouched: []
    func_position:
      end: 111
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 111
    functionName: tfsMountDiskToTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - fDebug
    - fError
    - tfsFreeDisk
    - tstrerror
    - tfsNewDisk
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsMountDiskToTier(STfsTier *pTier, SDiskCfg *pCfg, STfsDisk
      **ppDisk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:41,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:43,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:44,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:48,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:44,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:48,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:50,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pTier
    - level
    argTypes:
    - STfsTier*
    - int32_t
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: tfsInitTier
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - memset
    - TAOS_RETURN
    - taosThreadSpinInit
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsInitTier(STfsTier *pTier, int32_t level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: tfsPosNextId
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tfsPosNextId(STfsTier *pTier) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:117,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:133,1
    - Dst: tfsUpdateDiskSize
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:122,1
    - Dst: tfsLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:117,1
    - Dst: tfsUnLockTier
      Src: /src/tdengine/source/libs/tfs/src/tfsTier.c:133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pTier
    argTypes:
    - STfsTier*
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: tfsUpdateTierSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsTier.c
    functionUses: []
    functionsReached:
    - tfsLockTier
    - TAOS_UNUSED
    - tfsUpdateDiskSize
    - tfsUnLockTier
    linkageType: ''
    returnType: void
    signature: 'void tfsUpdateTierSize(STfsTier *pTier) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:23,1
    - Dst: taosGetDiskSize
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:34,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:28,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:27,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:24,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:36,1
    - Dst: tfsFreeDisk
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:40,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:41,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:41,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:45,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - level
    - id
    - disable
    - path
    - ppDisk
    argTypes:
    - int32_t
    - int32_t
    - int8_t
    - char*
    - STfsDisk**
    constantsTouched: []
    func_position:
      end: 46
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 46
    functionName: tfsNewDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - fError
    - taosMemoryCalloc
    - taosGetDiskSize
    - tfsFreeDisk
    - tstrerror
    - TAOS_RETURN
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsNewDisk(int32_t level, int32_t id, int8_t disable, const
      char *path, STfsDisk **ppDisk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pDisk
    argTypes:
    - STfsDisk*
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: tfsFreeDisk
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: STfsDisk*
    signature: 'STfsDisk *tfsFreeDisk(STfsDisk *pDisk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDiskSize
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:58,1
    - Dst: fError
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:60,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:62,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tfs/src/tfsDisk.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pDisk
    argTypes:
    - STfsDisk*
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: tfsUpdateDiskSize
    functionSourceFile: /src/tdengine/source/libs/tfs/src/tfsDisk.c
    functionUses: []
    functionsReached:
    - taosGetDiskSize
    - TAOS_RETURN
    - tstrerror
    - fError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tfsUpdateDiskSize(STfsDisk *pDisk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/inc/executil.h:143,1
    - Dst: uFatal
      Src: /src/tdengine/source/libs/executor/inc/executil.h:145,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/inc/executil.h:145,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/inc/executil.h:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pBuf
    - pos
    - forUpdate
    argTypes:
    - SDiskbasedBuf*
    - SResultRowPosition*
    - bool
    constantsTouched: []
    func_position:
      end: 154
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 154
    functionName: getResultRowByPos
    functionSourceFile: /src/tdengine/source/libs/executor/inc/executil.h
    functionUses: []
    functionsReached:
    - terrstr
    - uFatal
    - getBufPage
    - setBufPageDirty
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE SResultRow * getResultRowByPos(SDiskbasedBuf*
      pBuf, SResultRowPosition* pos, bool forUpdate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SDataSinkStat*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: dsDataSinkGetCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsDataSinkGetCacheSize(SDataSinkStat* pStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - pInput
    - pContinue
    argTypes:
    - DataSinkHandle
    - SInputData*
    - bool*
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: dsPutDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsPutDataBlock(DataSinkHandle handle, const SInputData* pInput,
      bool* pContinue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: dsReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dsReset(DataSinkHandle handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pOutput
    argTypes:
    - DataSinkHandle
    - SOutputData*
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: dsGetDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsGetDataBlock(DataSinkHandle handle, SOutputData* pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ahandle
    - pItem
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: dsScheduleProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dsScheduleProcess(void* ahandle, void* pItem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:23,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - cfg
    - pAPI
    - ppSinkManager
    argTypes:
    - SDataSinkMgtCfg*
    - SStorageAPI*
    - void**
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: dsDataSinkMgtInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsDataSinkMgtInit(SDataSinkMgtCfg* cfg, SStorageAPI* pAPI,
      void** ppSinkManager) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:43,1
    - Dst: createDataDispatcher
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:56,1
    - Dst: createDataInserter
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:50,1
    - Dst: createDataDeleter
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:47,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:57,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:57,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 6
    argNames:
    - pSinkManager
    - ppDataSink
    - pHandle
    - pParam
    - id
    - processOneBlock
    argTypes:
    - void*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: dsCreateDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached:
    - nodeType
    - createDataDeleter
    - taosMemoryFree
    - createDataDispatcher
    - qError
    - createDataInserter
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsCreateDataSinker(void* pSinkManager, SDataSinkNode** ppDataSink,
      DataSinkHandle* pHandle, void* pParam, const char* id, bool processOneBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - useconds
    argTypes:
    - DataSinkHandle
    - uint64_t
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: dsEndPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dsEndPut(DataSinkHandle handle, uint64_t useconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - DataSinkHandle
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: dsGetDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dsGetDataLength(DataSinkHandle handle, int64_t* pLen, int64_t*
      pRawLen, bool* pQueryEnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pSize
    argTypes:
    - DataSinkHandle
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: dsGetCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsGetCacheSize(DataSinkHandle handle, uint64_t* pSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataSinkMgt.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - DataSinkHandle
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: dsDestroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void dsDestroyDataSinker(DataSinkHandle handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - pFlags
    argTypes:
    - DataSinkHandle
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: dsGetSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataSinkMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dsGetSinkFlags(DataSinkHandle handle, uint64_t* pFlags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:52,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:54,1
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:66,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:68,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:91,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:81,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:55,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:84,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:86,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:75,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:79,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:85,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:80,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:94,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:100,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:61,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:67,1
    - Dst: compactSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:74,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:87,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:92,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:104,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:104,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 106
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 106
    functionName: streamSessionNonblockReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - getSessionWindowInfoByKey
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - saveDeleteRes
    - qError
    - strlen
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qDebug
    - compactSessionWindow
    - TMAX
    - saveSessionOutputBuf
    - GET_TASKID
    - reuseOutputBuf
    linkageType: ''
    returnType: void
    signature: 'void streamSessionNonblockReloadState(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:357,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:358,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:361,1
    - Dst: doBuildPullDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:359,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:361,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:361,1
    - Dst: doBuildDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:368,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:370,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:370,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:370,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:375,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:377,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:377,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:377,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 7
    argNames:
    - pOperator
    - pAggSup
    - pBInfo
    - pBasic
    - pGroupResInfo
    - pNbSup
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SStreamAggSupporter*
    - SOptrBasicInfo*
    - SSteamOpBasicInfo*
    - SGroupResInfo*
    - SNonBlockAggSupporter*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 383
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 383
    functionName: buildNonBlockSessionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - printDataBlock
    - doBuildPullDataBlock
    - isFinalOperator
    - BIT_FLAG_TEST_MASK
    - doBuildSessionResult
    - GET_TASKID
    - doBuildDeleteDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildNonBlockSessionResult(SOperatorInfo* pOperator, SStreamAggSupporter*
      pAggSup, SOptrBasicInfo* pBInfo, SSteamOpBasicInfo* pBasic, SGroupResInfo* pGroupResInfo,
      SNonBlockAggSupporter* pNbSup, SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:430,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:436,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:437,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:443,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - startIndex
    - pUpdated
    - uid
    - pTsDataState
    - pAggSup
    argTypes:
    - int32_t
    - SArray*
    - uint64_t
    - STableTsDataState*
    - SStreamAggSupporter*
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: checkAndSaveSessionStateToDisc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveRecWindowToDisc
    - qError
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAndSaveSessionStateToDisc(int32_t startIndex,
      SArray* pUpdated, uint64_t uid, STableTsDataState* pTsDataState, SStreamAggSupporter*
      pAggSup) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:120,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:129,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:163,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:147,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:149,1
    - Dst: updateSessionWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:161,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:169,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:165,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:171,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:178,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:178,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:156,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:170,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:154,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 181
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 181
    functionName: doStreamSessionNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - GET_TASKID
    - taosArrayGet
    - saveRecWindowToDisc
    - releaseOutputBuf
    - qError
    - tSimpleHashInit
    - updateSessionWindowInfo
    - setSessionOutputBuf
    - taosArrayPush
    - QUERY_CHECK_NULL
    - doOneWindowAggImpl
    - tstrerror
    - saveSessionOutputBuf
    - taosGetDefaultHashFunction
    - reuseOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSessionNonblockAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:395,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:393,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:403,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:404,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:406,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:406,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:413,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:420,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:415,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:407,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:420,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 423
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 423
    functionName: doSetSessionWindowRecFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveRecWindowToDisc
    - isFinalOperator
    - isSingleOperator
    - qError
    - tstrerror
    - qDebug
    - GET_TASKID
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetSessionWindowRecFlag(SOperatorInfo* pOperator,
      SSDataBlock* pBlock) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:547,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:553,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:486,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:466,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:579,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:593,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:606,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:458,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:496,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:535,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:579,1
    - Dst: buildOtherResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:637,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:493,1
    - Dst: buildRetriveRequest
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:514,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:567,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:616,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:626,1
    - Dst: getMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:620,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:641,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:458,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:575,1
    - Dst: getStateKeepInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:474,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:504,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:532,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:641,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:615,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:487,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:505,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:520,1
    - Dst: buildNonBlockSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:631,1
    - Dst: getSessionHistoryRemainResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:597,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:621,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:583,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:628,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:641,1
    - Dst: saveRecalculateData
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:536,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:589,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:611,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:471,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:474,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:487,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:504,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:624,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:625,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:497,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:504,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:531,1
    - Dst: doDeleteSessionRecalculateWindows
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:533,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:589,1
    - Dst: closeNonBlockSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:604,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:542,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:603,1
    - Dst: buildNonBlockSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:465,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:471,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:487,1
    - Dst: buildOtherResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:480,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:496,1
    - Dst: doSetSessionWindowRecFlag
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:546,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:557,1
    - Dst: checkAndSaveSessionStateToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:607,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:613,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:458,1
    - Dst: processDataPullOver
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:552,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:591,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:569,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:521,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:605,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:632,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:619,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:629,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 180
    argCount: 10
    argNames:
    - pOperator
    - pBInfo
    - pBasic
    - pAggSup
    - pTwAggSup
    - pGroupResInfo
    - pNbSup
    - pScalarSupp
    - pHistoryWins
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SSteamOpBasicInfo*
    - SStreamAggSupporter*
    - STimeWindowAggSupp*
    - SGroupResInfo*
    - SNonBlockAggSupporter*
    - SExprSupp*
    - SArray*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 645
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 645
    functionName: doStreamSessionNonblockAggNextImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - copyNewResult
    - isRecalculateOperator
    - setInputDataBlock
    - isFinalOperator
    - closeNonBlockSessionWindow
    - GET_TASKID
    - taosArrayGetSize
    - doSetSessionWindowRecFlag
    - taosArrayInit
    - isHistoryOperator
    - printDataBlock
    - removeSessionDeleteResults
    - getSessionHistoryRemainResultInfo
    - setStreamOperatorState
    - taosArraySort
    - blockDataEnsureCapacity
    - qInfo
    - isSingleOperator
    - qError
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - isTaskKilled
    - TMAX
    - getStateKeepInfo
    - buildRetriveRequest
    - taosArrayRemoveDuplicate
    - getStreamOpName
    - doDeleteSessionRecalculateWindows
    - isSemiOperator
    - initGroupResInfoFromArrayList
    - buildNonBlockSessionResult
    - buildOtherResult
    - tstrerror
    - copyDataBlock
    - qDebug
    - checkAndSaveSessionStateToDisc
    - processDataPullOver
    - getMaxTsWins
    - saveRecalculateData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSessionNonblockAggNextImpl(SOperatorInfo* pOperator,
      SOptrBasicInfo* pBInfo, SSteamOpBasicInfo* pBasic, SStreamAggSupporter* pAggSup,
      STimeWindowAggSupp* pTwAggSup, SGroupResInfo* pGroupResInfo, SNonBlockAggSupporter*
      pNbSup, SExprSupp* pScalarSupp, SArray* pHistoryWins, SSDataBlock** ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getSessionHistoryRemainResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:230,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:235,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:232,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:233,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:231,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:237,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:238,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:239,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:246,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - pOperator
    - pBinfo
    - pBasic
    - pAggSup
    - pNbSup
    - pGroupResInfo
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SSteamOpBasicInfo*
    - SStreamAggSupporter*
    - SNonBlockAggSupporter*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 249
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 249
    functionName: buildSessionHistoryResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initGroupResInfoFromArrayList
    - getSessionHistoryRemainResultInfo
    - qError
    - tstrerror
    - taosArraySort
    - QUERY_CHECK_NULL
    - doBuildSessionResult
    - taosArrayGetSize
    - taosArrayRemoveDuplicate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSessionHistoryResult(SOperatorInfo* pOperator, SOptrBasicInfo*
      pBinfo, SSteamOpBasicInfo* pBasic, SStreamAggSupporter* pAggSup, SNonBlockAggSupporter*
      pNbSup, SGroupResInfo* pGroupResInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:717,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:728,1
    - Dst: setSingleOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:723,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:724,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:728,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 731
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 731
    functionName: createSessionNonblockOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSingleOperatorFlag
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - createStreamSessionAggOperatorInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSessionNonblockOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:254,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:260,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:262,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:256,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:267,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:271,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:271,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 16
    argCount: 3
    argNames:
    - pTaskInfo
    - pBlock
    - pDeleteMap
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 274
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 274
    functionName: doDeleteSessionRecalculateWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - tSimpleHashPut
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteSessionRecalculateWindows(SExecTaskInfo* pTaskInfo,
      SSDataBlock* pBlock, SSHashObj* pDeleteMap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:737,1
    - Dst: setSemiOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:738,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:748,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:744,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:748,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:748,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 751
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 751
    functionName: createSemiSessionNonblockOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSemiOperatorFlag
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - createStreamSessionAggOperatorInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSemiSessionNonblockOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:39,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:39,1
    - Dst: streamSessionReleaseState
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: streamSessionNonblockReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qDebug
    - streamSessionReleaseState
    linkageType: ''
    returnType: void
    signature: 'void streamSessionNonblockReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:861,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:871,1
    - Dst: setFinalOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:870,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:862,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:875,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:875,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 878
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 878
    functionName: createFinalSessionNonblockOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - setFinalOperatorFlag
    - createStreamSessionAggOperatorInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createFinalSessionNonblockOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:203,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pAggSup
    - numOfState
    - pUpdated
    - capacity
    argTypes:
    - SStreamAggSupporter*
    - int32_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 211
    functionName: getSessionHistoryRemainResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSessionHistoryRemainResultInfo(SStreamAggSupporter* pAggSup,
      int32_t numOfState, SArray* pUpdated, int32_t capacity) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:286,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:286,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:294,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:294,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:311,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:313,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:282,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:286,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:294,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:303,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:306,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:320,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:284,1
    - Dst: buildSessionHistoryResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:283,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:312,1
    - Dst: getStateKeepInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:306,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:312,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:303,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:312,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:320,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:320,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 8
    argNames:
    - pOperator
    - pBinfo
    - pBasic
    - pAggSup
    - pTwAggSup
    - pNbSup
    - pGroupResInfo
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SSteamOpBasicInfo*
    - SStreamAggSupporter*
    - STimeWindowAggSupp*
    - SNonBlockAggSupporter*
    - SGroupResInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 323
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 323
    functionName: buildOtherResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStreamOpName
    - isHistoryOperator
    - printDataBlock
    - tSimpleHashGetSize
    - isRecalculateOperator
    - isFinalOperator
    - isSingleOperator
    - qError
    - tstrerror
    - setStreamOperatorCompleted
    - qDebug
    - getStateKeepInfo
    - GET_TASKID
    - buildSessionHistoryResult
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildOtherResult(SOperatorInfo* pOperator, SOptrBasicInfo*
      pBinfo, SSteamOpBasicInfo* pBasic, SStreamAggSupporter* pAggSup, STimeWindowAggSupp*
      pTwAggSup, SNonBlockAggSupporter* pNbSup, SGroupResInfo* pGroupResInfo, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamSessionNonblockAggNextImpl
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:649,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: doStreamSessionNonblockAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - doStreamSessionNonblockAggNextImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSessionNonblockAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 6
    argNames:
    - pAggSup
    - pNbSup
    - startTs
    - endTs
    - groupId
    - gap
    argTypes:
    - SStreamAggSupporter*
    - SNonBlockAggSupporter*
    - TSKEY
    - TSKEY
    - uint64_t
    - TSKEY
    constantsTouched: []
    func_position:
      end: 760
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 760
    functionName: isDataDeletedSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isDataDeletedSessionWindow(SStreamAggSupporter* pAggSup, SNonBlockAggSupporter*
      pNbSup, TSKEY startTs, TSKEY endTs, uint64_t groupId, TSKEY gap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: releaseSessionFlusedPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void releaseSessionFlusedPos(void* pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:331,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:335,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:337,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:339,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:346,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 4
    argNames:
    - pHashMap
    - pTwSup
    - pUpdated
    - pTaskInfo
    argTypes:
    - SSHashObj*
    - STimeWindowAggSupp*
    - SArray*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 349
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 349
    functionName: closeNonBlockSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - qTrace
    - qError
    - tstrerror
    - tSimpleHashIterate
    - taosArrayPush
    - QUERY_CHECK_NULL
    - tSimpleHashIterateRemove
    - GET_TASKID
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t closeNonBlockSessionWindow(SSHashObj* pHashMap, STimeWindowAggSupp*
      pTwSup, SArray* pUpdated, SExecTaskInfo* pTaskInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:666,1
    - Dst: setSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:683,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:681,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:678,1
    - Dst: updateSessionWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:686,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:688,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:692,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:694,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:703,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:702,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:708,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:708,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:695,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 711
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 711
    functionName: doStreamSemiSessionNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isHistoryOperator
    - taosArrayGet
    - copyNewResult
    - tSimpleHashGetSize
    - qError
    - tstrerror
    - updateSessionWindowInfo
    - setSessionOutputBuf
    - doOneWindowAggImpl
    - tSimpleHashPut
    - saveSessionOutputBuf
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSemiSessionNonblockAggImpl(SOperatorInfo* pOperator,
      SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:792,1
    - Dst: isDataDeletedSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:820,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:775,1
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:795,1
    - Dst: setSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:807,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:831,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:839,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:851,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:851,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:777,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:818,1
    - Dst: updateSessionWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:822,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:826,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:830,1
    - Dst: closeNonBlockSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:837,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:838,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:839,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:842,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:784,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:782,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:813,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:836,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:840,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:845,1
    - Dst: checkAndSaveSessionStateToDisc
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c:851,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 854
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 854
    functionName: doStreamFinalSessionNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamsessionnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - copyNewResult
    - tSimpleHashGetSize
    - appendOneRowToSpecialBlockImpl
    - isRecalculateOperator
    - isDataDeletedSessionWindow
    - closeNonBlockSessionWindow
    - saveSessionOutputBuf
    - GET_TASKID
    - isHistoryOperator
    - tSimpleHashGet
    - updateSessionWindowInfo
    - setSessionOutputBuf
    - doOneWindowAggImpl
    - taosArrayGet
    - saveDeleteRes
    - qError
    - tSimpleHashPut
    - blockDataCleanup
    - tstrerror
    - checkAndSaveSessionStateToDisc
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamFinalSessionNonblockAggImpl(SOperatorInfo*
      pOperator, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:51,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:58,1
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:53,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:59,1
    - Dst: clearSessionGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:60,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:61,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:63,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:65,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:66,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:67,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:74,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:76,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:72,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:71,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:68,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 77
    functionName: destroyStreamCountAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - destroyStreamAggSupporter
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupResultInfoInStream
    - colDataDestroy
    - blockDataDestroy
    - clearSessionGroupResInfo
    - taosArrayDestroyEx
    - cleanupExprSupp
    - taosMemoryFreeClear
    - destroyStreamBasicInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamCountAggOperatorInfo(void* param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:190,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:189,1
    - Dst: removeCountResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:203,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:202,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 10
    argNames:
    - pAggSup
    - pWinInfo
    - pTs
    - start
    - rows
    - maxRows
    - pStUpdated
    - pStDeleted
    - pRebuild
    - pWinRows
    argTypes:
    - SStreamAggSupporter*
    - SCountWindowInfo*
    - TSKEY*
    - int32_t
    - int32_t
    - int32_t
    - SSHashObj*
    - SSHashObj*
    - bool*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 216
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 216
    functionName: updateCountWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - removeCountResult
    - saveDeleteRes
    - qError
    - tstrerror
    - memcpy
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateCountWindowInfo(SStreamAggSupporter* pAggSup,
      SCountWindowInfo* pWinInfo, TSKEY* pTs, int32_t start, int32_t rows, int32_t
      maxRows, SSHashObj* pStUpdated, SSHashObj* pStDeleted, bool* pRebuild, int32_t*
      pWinRows) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:90,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:99,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:95,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:107,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:109,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:147,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 6
    argNames:
    - pAggSup
    - ts
    - groupId
    - pCurWin
    - pBuffInfo
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - uint64_t
    - SCountWindowInfo*
    - SBuffInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 150
    functionName: setCountOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isSlidingCountWindow
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - reuseOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setCountOutputBuf(SStreamAggSupporter* pAggSup, TSKEY ts,
      uint64_t groupId, SCountWindowInfo* pCurWin, SBuffInfo* pBuffInfo, int32_t*
      pWinCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:648,1
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:656,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:651,1
    - Dst: doDeleteCountWindows
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:655,1
    - Dst: doDeleteTimeWindows
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:659,1
    - Dst: removeSessionResults
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:661,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:662,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:663,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:668,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:666,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:672,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 6
    argNames:
    - pAggSup
    - pBlock
    - pMapUpdate
    - pMapDelete
    - pPkDelete
    - needAdd
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    - SSHashObj*
    - bool
    constantsTouched: []
    func_position:
      end: 675
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 675
    functionName: deleteCountWinState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayDestroy
    - removeSessionResults
    - copyDeleteWindowInfo
    - isSlidingCountWindow
    - qError
    - tstrerror
    - doDeleteCountWindows
    - doDeleteTimeWindows
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteCountWinState(SStreamAggSupporter* pAggSup, SSDataBlock*
      pBlock, SSHashObj* pMapUpdate, SSHashObj* pMapDelete, SSHashObj* pPkDelete,
      bool needAdd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pAggSup
    argTypes:
    - SStreamAggSupporter*
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: isSlidingCountWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isSlidingCountWindow(SStreamAggSupporter* pAggSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:157,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:155,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:160,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:157,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pHashMap
    - pResMap
    - pKey
    argTypes:
    - SSHashObj*
    - SSHashObj*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: removeCountResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - getSessionHashKey
    - tSimpleHashRemove
    - qInfo
    linkageType: ''
    returnType: void
    signature: 'static void removeCountResult(SSHashObj* pHashMap, SSHashObj* pResMap,
      SSessionKey* pKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:221,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:239,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - pAggSup
    - pKey
    - mode
    - pDelRange
    argTypes:
    - SStreamAggSupporter*
    - SSessionKey*
    - EStreamType
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: getCountWinRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - isSlidingCountWindow
    - TMAX
    linkageType: ''
    returnType: void
    signature: 'void getCountWinRange(SStreamAggSupporter* pAggSup, const SSessionKey*
      pKey, EStreamType mode, SSessionKey* pDelRange) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:685,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:685,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:705,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:722,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:723,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:749,1
    - Dst: doStreamCountSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:783,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:800,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:796,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:809,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:809,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:692,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:705,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:705,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:728,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:734,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:734,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:773,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:792,1
    - Dst: IS_NORMAL_COUNT_OP
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:794,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:791,1
    - Dst: copyDeleteSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:795,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:685,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:710,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:734,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:718,1
    - Dst: IS_NORMAL_COUNT_OP
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:741,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:757,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:769,1
    - Dst: doStreamCountAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:775,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:776,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:777,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:786,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:813,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:811,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:785,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:691,1
    - Dst: resetUnCloseSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:700,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:717,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:735,1
    - Dst: deleteCountWinState
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:739,1
    - Dst: doResetCountWindows
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:744,1
    - Dst: getAllSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:748,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:763,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:789,1
    - Dst: closeSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:782,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:788,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:809,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 127
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 816
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 816
    functionName: doStreamCountAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - doStreamCountAggImpl
    - doResetCountWindows
    - GET_TASKID
    - taosArrayInit
    - printDataBlock
    - removeSessionDeleteResults
    - setStreamOperatorState
    - taosGetDefaultHashFunction
    - resetUnCloseSessionWinInfo
    - deleteCountWinState
    - blockDataEnsureCapacity
    - qError
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - TMAX
    - buildCountResult
    - getStreamOpName
    - getAllSessionWindow
    - copyDeleteSessionKey
    - doStreamCountSaveCheckpoint
    - initGroupResInfoFromArrayList
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - closeSessionWindow
    - setStreamOperatorCompleted
    - qDebug
    - IS_NORMAL_COUNT_OP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamCountAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inCountCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pAggSup
    - pWin
    - pBlockInfo
    argTypes:
    - SStreamAggSupporter*
    - STimeWindow*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: inCountSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - inCountCalSlidingWindow
    linkageType: ''
    returnType: bool
    signature: 'bool inCountSlidingWindow(SStreamAggSupporter* pAggSup, STimeWindow*
      pWin, SDataBlockInfo* pBlockInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:396,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:402,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:411,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:421,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:424,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:424,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:434,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:399,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:422,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:429,1
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:401,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:415,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:430,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:434,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:434,1
    - Dst: doBuildDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:397,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:411,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:424,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 438
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 438
    functionName: buildCountResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - QUERY_CHECK_CODE
    - addAggResultNotifyEvent
    - addAggDeleteNotifyEvent
    - printDataBlock
    - removeOutdatedNotifyEvents
    - qError
    - BIT_FLAG_TEST_MASK
    - tstrerror
    - doBuildSessionResult
    - buildNotifyEventBlock
    - GET_TASKID
    - doBuildDeleteDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCountResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:578,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:576,1
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:586,1
    - Dst: inCountCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:598,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 2
    argNames:
    - pAggSup
    - pBlock
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 606
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 606
    functionName: doResetCountWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - isSlidingCountWindow
    - inCountCalSlidingWindow
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void doResetCountWindows(SStreamAggSupporter* pAggSup, SSDataBlock*
      pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:824,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:825,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:828,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:827,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:830,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:832,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:840,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 842
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 842
    functionName: streamCountReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - QUERY_CHECK_NULL
    - qDebug
    - memcpy
    - GET_TASKID
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamCountReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:289,1
    - Dst: setCountOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:304,1
    - Dst: getCountWinRange
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:342,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:344,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:348,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:349,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:362,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:276,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:282,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:305,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:333,1
    - Dst: inCountSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:345,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:381,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:381,1
    - Dst: addCountAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:309,1
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:327,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:323,1
    - Dst: updateCountWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:321,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:337,1
    - Dst: IS_NORMAL_COUNT_OP
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:347,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:361,1
    - Dst: isSlidingCountWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:285,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:288,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:308,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:332,1
    - Dst: setSessionWinOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:318,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:336,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:381,1
    - Dst: destroySBuffInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:383,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 4
    argNames:
    - pOperator
    - pSDataBlock
    - pStUpdated
    - pStDeleted
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 384
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 384
    functionName: doStreamCountAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroySBuffInfo
    - inCountSlidingWindow
    - setSessionWinOutputInfo
    - saveSessionOutputBuf
    - GET_TASKID
    - isSlidingCountWindow
    - addCountAggNotifyEvent
    - BIT_FLAG_TEST_MASK
    - doOneWindowAggImpl
    - saveResult
    - taosArrayGet
    - blockDataEnsureCapacity
    - checkExpiredData
    - saveDeleteRes
    - qError
    - tSimpleHashPut
    - TMAX
    - updateCountWindowInfo
    - getCountWinRange
    - getSessionHashKey
    - setCountOutputBuf
    - tstrerror
    - appendDataToSpecialBlock
    - TMIN
    - IS_NORMAL_COUNT_OP
    linkageType: ''
    returnType: void
    signature: 'static void doStreamCountAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, SSHashObj* pStUpdated, SSHashObj* pStDeleted) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:450,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:457,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:455,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:451,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:456,1
    - Dst: encodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:458,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:462,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:465,1
    - Dst: encodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:468,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:473,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:474,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 481
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 481
    functionName: doStreamCountEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - encodeSResultWindowInfo
    - taosCalcChecksum
    - tSimpleHashIterate
    - encodeSTimeWindowAggSupp
    - encodeStreamBasicInfo
    - taosEncodeFixedI32
    - encodeSSessionKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamCountEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:611,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:613,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:615,1
    - Dst: doDeleteSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:629,1
    - Dst: saveDeleteInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:632,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:639,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 21
    argCount: 3
    argNames:
    - pAggSup
    - pBlock
    - result
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 642
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 642
    functionName: doDeleteCountWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveDeleteInfo
    - qError
    - tstrerror
    - doDeleteSessionWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doDeleteCountWindows(SStreamAggSupporter* pAggSup, SSDataBlock*
      pBlock, SArray* result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:855,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:854,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:859,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:858,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:865,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:870,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:870,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 872
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 872
    functionName: streamCountReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - qError
    - tstrerror
    - strlen
    - reloadAggSupFromDownStream
    - TMAX
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void streamCountReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pAggSup
    - pBuffInfo
    argTypes:
    - SStreamAggSupporter*
    - SBuffInfo*
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: destroySBuffInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destroySBuffInfo(SStreamAggSupporter* pAggSup, SBuffInfo*
      pBuffInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:520,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:537,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:537,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:507,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:512,1
    - Dst: setCountOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:514,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:527,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:524,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:500,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:515,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:518,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:532,1
    - Dst: decodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:537,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:488,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:498,1
    - Dst: decodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:517,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 4
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 540
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 540
    functionName: doStreamCountDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosDecodeFixedI64
    - decodeSSessionKey
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - tSimpleHashPut
    - GET_TASKID
    - setCountOutputBuf
    - decodeStreamBasicInfo
    - decodeSResultWindowInfo
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamCountDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pAggSup
    - pWin
    - sKey
    - eKey
    argTypes:
    - SStreamAggSupporter*
    - STimeWindow*
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: inCountCalSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool inCountCalSlidingWindow(SStreamAggSupporter* pAggSup, STimeWindow*
      pWin, TSKEY sKey, TSKEY eKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:548,1
    - Dst: doStreamCountEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:556,1
    - Dst: doStreamCountEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:553,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:550,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:558,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:559,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:565,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:565,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 567
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 567
    functionName: doStreamCountSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - needSaveStreamOperatorInfo
    - GET_TASKID
    - taosMemoryFreeClear
    - doStreamCountEncodeOpState
    linkageType: ''
    returnType: void
    signature: 'void doStreamCountSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:896,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:903,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:923,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:925,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:955,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:958,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:959,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:974,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:982,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:989,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:1003,1
    - Dst: initDownStream
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:985,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:891,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:882,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:904,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:927,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:940,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:948,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:970,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:979,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:981,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:990,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:1003,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:977,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:876,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:898,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:912,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:908,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:935,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:936,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:951,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:963,1
    - Dst: destroyStreamCountAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:998,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:1001,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:899,1
    - Dst: initBasicInfoEx
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:911,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:919,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:909,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:932,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:954,1
    - Dst: doStreamCountDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:972,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c:987,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1005
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 1005
    functionName: createStreamCountAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamcountwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryFree
    - taosMemoryCalloc
    - getDeleteMark
    - initExprSupp
    - destroyStreamCountAggOperatorInfo
    - GET_TASKID
    - doStreamCountDecodeOpState
    - taosArrayInit
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initBasicInfoEx
    - taosGetDefaultHashFunction
    - initDownStream
    - initResultSizeInfo
    - appendDownstream
    - qError
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - initStreamBasicInfo
    - createOperatorFpSet
    - getStreamOpName
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - tstrerror
    - strlen
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamCountAggOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2230,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2243,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2246,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2257,1
    - Dst: getRowsBlockWithinMergeLimit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2272,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2295,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2300,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2318,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2331,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2382,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2361,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2362,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2240,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2237,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2244,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2257,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2281,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2282,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2311,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2322,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2346,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2364,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2363,1
    - Dst: tsortFinalizeRegions
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2368,1
    - Dst: sortBlocksToExtSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2337,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2375,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2268,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2288,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2334,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2344,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2375,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2379,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2385,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2258,1
    - Dst: createPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2250,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2310,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2316,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2324,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2329,1
    - Dst: tsortOpenRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2333,1
    - Dst: tsortCloseRegion
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2341,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2349,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2388,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2338,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2314,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 139
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2226
    functionDepth: 0
    functionLinenumber: 2226
    functionLinenumberEnd: 2391
    functionName: createBlocksMergeSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - tSimpleHashCleanup
    - tSimpleHashClear
    - taosArrayAddAll
    - tsortClearOrderedSource
    - taosArrayGetSize
    - blockDataMerge
    - taosArrayInit
    - createOneDataBlock
    - taosArrayDestroy
    - tSimpleHashGet
    - taosArrayPush
    - taosArrayDestroyEx
    - tsortOpenRegion
    - taosGetDefaultHashFunction
    - taosArrayGet
    - createPageBuf
    - qError
    - blockDataDestroy
    - tSimpleHashInit
    - taosGetTimestampUs
    - QUERY_CHECK_NULL
    - sortBlocksToExtSource
    - tsortCloseRegion
    - tsortFinalizeRegions
    - tSimpleHashPut
    - blockDataGetSize
    - getRowsBlockWithinMergeLimit
    - tstrerror
    - taosArrayClearEx
    - qDebug
    - tsortIsClosed
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createBlocksMergeSortInitialSources(SSortHandle* pHandle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2400,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2413
    functionName: freeSortSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeSortSource(void* p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/tsort.c:289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:291,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:290,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:297,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:308,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:309,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:314,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:315,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:322,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:345,1
    - Dst: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:334,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:345,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/tsort.c:347,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 10
    argNames:
    - pSortInfo
    - type
    - pageSize
    - numOfPages
    - pBlock
    - idstr
    - pqMaxRows
    - pqMaxTupleLength
    - pqSortBufSize
    - pHandle
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    - int32_t
    - SSDataBlock*
    - char*
    - uint64_t
    - uint32_t
    - uint32_t
    - SSortHandle**
    constantsTouched: []
    func_position:
      end: 350
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 350
    functionName: tsortCreateSortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createOneDataBlock
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - taosArrayDup
    - tsortDestroySortHandle
    - QUERY_CHECK_NULL
    - tsortSetComparFp
    - taosStrdup
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortCreateSortHandle(SArray* pSortInfo, int32_t type, int32_t
      pageSize, int32_t numOfPages, SSDataBlock* pBlock, const char* idstr, uint64_t
      pqMaxRows, uint32_t pqMaxTupleLength, uint32_t pqSortBufSize, SSortHandle**
      pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2646
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2646
    functionName: tsortSetForceUsePQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetForceUsePQSort(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    constantsTouched: []
    func_position:
      end: 2936
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2936
    functionName: tsortGetGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t tsortGetGroupId(STupleHandle* pVHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2648
    functionDepth: 0
    functionLinenumber: 2648
    functionLinenumberEnd: 2653
    functionName: tsortIsPQSortApplicable
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tsortIsForceUsePQSort
    linkageType: ''
    returnType: bool
    signature: 'static bool tsortIsPQSortApplicable(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pVHandle
    - pBlockInfo
    argTypes:
    - STupleHandle*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2937
    functionDepth: 0
    functionLinenumber: 2937
    functionLinenumberEnd: 2937
    functionName: tsortGetBlockInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortGetBlockInfo(STupleHandle* pVHandle, SDataBlockInfo* pBlockInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryAllocatedTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:273,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: destroyTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - destoryAllocatedTuple
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyTuple(void* t) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pHandle
    - (*mergeLimitReachedCb)
    - param
    argTypes:
    - SSortHandle*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 2975
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2975
    functionName: tsortSetMergeLimitReachedFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetMergeLimitReachedFp(SSortHandle* pHandle, void (*mergeLimitReachedCb)(uint64_t
      tableUid, void* param), void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:134,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - columnNum
    - tupleLen
    argTypes:
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: createTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryCalloc
    linkageType: ''
    returnType: void*
    signature: 'static void * createTuple(uint32_t columnNum, uint32_t tupleLen) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:867,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:881,1
    - Dst: tsortComparBlockCell
      Src: /src/tdengine/source/libs/executor/src/tsort.c:874,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:868,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:882,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:883,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:884,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:890,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:892,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:900,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:922,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:923,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:931,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:935,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:902,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:925,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:926,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 70
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 945
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 945
    functionName: msortComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - colDataIsNull_t
    - colDataGetNumData
    - tsortComparBlockCell
    - IS_VAR_DATA_TYPE
    - fn
    - colDataGetVarData
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t msortComparFn(const void* pLeft, const void* pRight, void*
      param) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:954,1
    - Dst: sortComparInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:964,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1001,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:995,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1004,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1015,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1022,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1024,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:973,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:976,1
    - Dst: getSortedBlockDataInner
      Src: /src/tdengine/source/libs/executor/src/tsort.c:982,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:988,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:991,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:989,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:992,1
    - Dst: sortComparCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1014,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1021,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:969,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:972,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1017,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1035,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:968,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1002,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:995,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1028,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 7
    argNames:
    - pHandle
    - sortTimes
    - numOfSorted
    - numOfInputSources
    - pResList
    - sortGroup
    - numOfRows
    argTypes:
    - SSortHandle*
    - int32_t
    - int32_t
    - int32_t
    - SArray*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1037
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 1037
    functionName: doSortForEachGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tMergeTreeDestroy
    - getNewBufPage
    - getBufPageSize
    - taosArrayGetSize
    - tsortIsClosed
    - taosArrayInit
    - releaseBufPage
    - createOneDataBlock
    - taosArrayDestroy
    - tMergeTreeCreate
    - taosArrayPush
    - qError
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - getSortedBlockDataInner
    - sortComparInit
    - blockDataGetSize
    - blockDataCleanup
    - sortComparCleanup
    - doAddNewExternalMemSource
    - tstrerror
    - qDebug
    - setBufPageDirty
    - blockDataToBuf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSortForEachGroup(SSortHandle* pHandle, int32_t sortTimes,
      int32_t numOfSorted, int32_t numOfInputSources, SArray* pResList, int32_t sortGroup,
      int32_t numOfRows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsPQSortApplicable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2891,1
    - Dst: tsortOpenForPQSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2892,1
    - Dst: tsortOpenForBufMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2898
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2898
    functionName: tsortOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tsortOpenForPQSort
    - tsortIsPQSortApplicable
    - tsortOpenForBufMergeSort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortOpen(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pHandle
    - mergeLimit
    argTypes:
    - SSortHandle*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2561
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2561
    functionName: tsortSetMergeLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetMergeLimit(SSortHandle* pHandle, int64_t mergeLimit) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2675,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2681,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2697,1
    - Dst: tupleDescGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2680,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2677,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2702,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2704,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 23
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2713
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2713
    functionName: tupleComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tupleDescGetField
    - fn
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tupleComparFn(const void* pLeft, const void* pRight,
      void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pHandle
    - fetchFp
    - (*fp)
    - param
    argTypes:
    - SSortHandle*
    - _sort_fetch_block_fn_t
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2563
    functionDepth: 0
    functionLinenumber: 2563
    functionLinenumberEnd: 2568
    functionName: tsortSetFetchRawDataFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetFetchRawDataFp(SSortHandle* pHandle, _sort_fetch_block_fn_t
      fetchFp, void (*fp)(SSDataBlock*, void*), void* param) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: createBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2716,1
    - Dst: tsortSetComparFp
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2721,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2723,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2746,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2752,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2756,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2762,1
    - Dst: createAllocatedTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2777,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2772,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2786
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2786
    functionName: tsortOpenForPQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - createBoundedQueue
    - createOneDataBlock
    - taosArrayGet
    - taosBQPush
    - TAOS_CHECK_RETURN
    - createAllocatedTuple
    - tsortSetComparFp
    - IS_VAR_DATA_TYPE
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortOpenForPQSort(SSortHandle* pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsortSingleTableMergeNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2904,1
    - Dst: tsortBufMergeSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2908,1
    - Dst: tsortPQSortNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2906,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    constantsTouched: []
    func_position:
      end: 2912
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2912
    functionName: tsortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tsortBufMergeSortNextTuple
    - tsortPQSortNextTuple
    - tsortSingleTableMergeNextTuple
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortNextTuple(SSortHandle* pHandle, STupleHandle** pTupleHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rowSize
    - numOfCols
    argTypes:
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1129
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1129
    functionName: getProperSortPageSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataGetSerialMetaSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getProperSortPageSize(size_t rowSize, uint32_t numOfCols) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1256,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1261,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1270,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1267,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1271,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1278,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1280,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1281,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1289,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - pBlock
    - rowIdx
    - buf
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1296
    functionName: blockRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - colDataIsNull_s
    - colDataGetData
    - getJsonValueLen
    - varDataCopy
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t blockRowToBuf(SSDataBlock* pBlock, int32_t rowIdx,
      char* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1461,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1469,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1478
    functionName: tsortOpenRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortOpenRegion(SSortHandle* pHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1523,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1526
    functionName: tsortFinalizeRegions
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFree
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortFinalizeRegions(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1987,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pBlockList
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1993
      start: 1984
    functionDepth: 0
    functionLinenumber: 1984
    functionLinenumberEnd: 1993
    functionName: getTotalRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTotalRows(SArray* pBlockList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1301,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1313,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1308,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1313,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1315,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1316,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1318,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1331,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1336,1
    - Dst: taosReadFromCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1343,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1340,1
    - Dst: taosSeekCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1339,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1344,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 6
    argNames:
    - pHandle
    - regionId
    - tupleOffset
    - rowLen
    - ppRow
    - pFreeRow
    argTypes:
    - SSortHandle*
    - int32_t
    - int32_t
    - int32_t
    - char**
    - bool*
    constantsTouched: []
    func_position:
      end: 1353
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1353
    functionName: getRowBufFromExtMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryMalloc
    - taosReadFromCFile
    - TAOS_SYSTEM_ERROR
    - qError
    - TAOS_CHECK_RETURN
    - taosMemoryFreeClear
    - memcpy
    - taosSeekCFile
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getRowBufFromExtMemFile(SSortHandle* pHandle, int32_t
      regionId, int32_t tupleOffset, int32_t rowLen, char** ppRow, bool* pFreeRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1482,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1492,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1498
    functionName: tsortCloseRegion
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - fwrite
    - taosArrayGet
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortCloseRegion(SSortHandle* pHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1532,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1542,1
    - Dst: fwrite
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1540,1
    - Dst: blockRowToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1552,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 6
    argNames:
    - pHandle
    - pBlock
    - rowIdx
    - pRegionId
    - pOffset
    - pLength
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1558
    functionName: saveBlockRowToExtRowsMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - fwrite
    - blockRowToBuf
    - taosArrayGet
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveBlockRowToExtRowsMemFile(SSortHandle* pHandle,
      SSDataBlock* pBlock, int32_t rowIdx, int32_t* pRegionId, int32_t* pOffset, int32_t*
      pLength) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1998,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2025,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2041,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2063,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2060,1
    - Dst: appendToRowIndexDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2096,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2098,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2128,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2148,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1997,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2008,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2017,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2025,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2041,1
    - Dst: getTotalRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2036,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2118,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2141,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2161,1
    - Dst: initMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2031,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2059,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2047,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2043,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2107,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2126,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2066,1
    - Dst: appendDataBlockToPageBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2068,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2074,1
    - Dst: getBufIncForNewRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2077,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2106,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2145,1
    - Dst: cleanupMergeSup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2154,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2155,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2160,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2162,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 143
    argCount: 3
    argNames:
    - pHandle
    - aBlk
    - aExtSrc
    argTypes:
    - SSortHandle*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2164
      start: 1995
    functionDepth: 0
    functionLinenumber: 1995
    functionLinenumberEnd: 2164
    functionName: sortBlocksToExtSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tMergeTreeDestroy
    - getTotalRows
    - blockDataGetCapacityInRow
    - tMergeTreeAdjust
    - taosArrayGetSize
    - taosArrayInit
    - createOneDataBlock
    - taosArrayDestroy
    - tMergeTreeCreate
    - getBufIncForNewRow
    - tMergeTreeGetAdjustIndex
    - tMergeTreeGetChosenIndex
    - taosArrayGet
    - appendDataBlockToPageBuf
    - blockDataEnsureCapacity
    - appendOneRowToDataBlock
    - cleanupMergeSup
    - qError
    - blockDataDestroy
    - appendToRowIndexDataBlock
    - blockDataGetSize
    - blockDataCleanup
    - doAddNewExternalMemSource
    - initMergeSup
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortBlocksToExtSource(SSortHandle* pHandle, SArray*
      aBlk, SArray* aExtSrc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:215,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:222,1
    - Dst: createTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:213,1
    - Dst: tupleGetDataStartOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:220,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:224,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:228,1
    - Dst: tupleAddField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:229,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/tsort.c:231,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:236,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:233,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:236,1
    - Dst: tupleAddField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - pBlock
    - colNum
    - tupleLen
    - rowIdx
    - pDesc
    argTypes:
    - SSDataBlock*
    - size_t
    - uint32_t
    - size_t
    - TupleDesc**
    constantsTouched: []
    func_position:
      end: 246
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 246
    functionName: createAllocatedTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - createTuple
    - taosMemoryFree
    - taosArrayGet
    - tupleAddField
    - tupleGetDataStartOffset
    - taosMemoryCalloc
    - colDataIsNull_s
    - colDataGetRowLength
    - colDataGetData
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAllocatedTuple(SSDataBlock* pBlock, size_t colNum,
      uint32_t tupleLen, size_t rowIdx, TupleDesc** pDesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:358,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - cmpParam
    argTypes:
    - SMsortComparParam*
    constantsTouched: []
    func_position:
      end: 366
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 366
    functionName: sortComparCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortComparCleanup(SMsortComparParam* cmpParam) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:643,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:656,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:654,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:649,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:644,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:662,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:663,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - pBlock
    - pSource
    - rowIndex
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 673
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 673
    functionName: appendOneRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - taosArrayGet
    - colDataSetVal
    - colDataGetData
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendOneRowToDataBlock(SSDataBlock* pBlock, const
      SSDataBlock* pSource, int32_t* rowIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1792
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1792
    functionName: blockCompareTsFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t blockCompareTsFn(const void* pLeft, const void* pRight,
      void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:253,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:258,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:262,1
    - Dst: tupleGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pDesc
    - colIdx
    - colNum
    - pResult
    argTypes:
    - TupleDesc*
    - int32_t
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 268
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 268
    functionName: tupleDescGetField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - taosArrayGet
    - tupleGetField
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tupleDescGetField(const TupleDesc* pDesc, int32_t colIdx,
      uint32_t colNum, void** pResult) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:369,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:370,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:382,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:386,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:391,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:395,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:398,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - pOrderedSource
    - fetchUs
    - fetchNum
    argTypes:
    - SArray*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 399
    functionName: tsortClearOrderedSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tsortClearOrderedSource(SArray* pOrderedSource, int64_t *fetchUs,
      int64_t *fetchNum) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:705,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:735,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/executor/src/tsort.c:746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:698,1
    - Dst: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:709,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:713,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:718,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:717,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:745,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:686,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:695,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:732,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/tsort.c:739,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:716,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:691,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:705,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:723,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/executor/src/tsort.c:736,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - pSource
    - pTree
    - pHandle
    - numOfCompleted
    argTypes:
    - SSortSource*
    - SMultiwayMergeTreeInfo*
    - SSortHandle*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 749
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 749
    functionName: adjustMergeTreeForNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - taosArrayGet
    - getBufPage
    - qError
    - blockDataDestroy
    - tstrerror
    - taosGetTimestampUs
    - TAOS_CHECK_RETURN
    - tMergeTreeGetAdjustIndex
    - qDebug
    - blockDataFromBuf
    - printf
    - tMergeTreeAdjust
    - taosArrayGetSize
    - tMergeTreePrint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustMergeTreeForNextTuple(SSortSource* pSource, SMultiwayMergeTreeInfo*
      pTree, SSortHandle* pHandle, int32_t* numOfCompleted) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsortComparBlockCell
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1813,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1816
    functionName: blockCompareTsPkFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tsortComparBlockCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t blockCompareTsPkFn(const void* pLeft, const void* pRight,
      void* param) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1882,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1894,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1886,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1891,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1900,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1905,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1907,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1908,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - pDstBlock
    - srcRowIndex
    - dstRowIndex
    - pPkCol
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 1921
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1921
    functionName: getPageBufIncForRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - qError
    - TARRAY_GET_ELEM
    - blockDataGetRowSize
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPageBufIncForRowIdSort(SSDataBlock* pDstBlock, int32_t
      srcRowIndex, int32_t dstRowIndex, SColumnInfoData* pPkCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2660
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2660
    functionName: tsortPQCompFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tsortPQCompFn(void* a, void* b, void* param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2796,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2803,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2797,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2804,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2803,1
    - Dst: taosBQSetFn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2808,1
    - Dst: taosBQBuildHeap
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2809,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2811,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2812,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2820,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2823,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2825,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2820,1
    - Dst: tupleGetField
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2817,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2825,1
    - Dst: taosBQPop
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2830,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    constantsTouched: []
    func_position:
      end: 2840
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2840
    functionName: tsortPQSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - taosBQSetFn
    - tupleGetField
    - blockDataEnsureCapacity
    - colDataSetNULL
    - colDataSetVal
    - taosBQMaxSize
    - taosBQBuildHeap
    - blockDataGetNumOfCols
    - TAOS_CHECK_RETURN
    - taosBQPop
    - bdGetColumnInfoData
    - taosBQTop
    - taosBQSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortPQSortNextTuple(SSortHandle* pHandle, STupleHandle
      **pTupleHandle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2857,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2864,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2867,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    constantsTouched: []
    func_position:
      end: 2878
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2878
    functionName: tsortSingleTableMergeNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - setCurrentSourceDone
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortSingleTableMergeNextTuple(SSortHandle* pHandle,
      STupleHandle** pTupleHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1932,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1933,1
    - Dst: getPageBufIncForRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1938,1
    - Dst: getPageBufIncForRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1936,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - pHandle
    - dstRowIndex
    - pSrcBlock
    - srcRowIndex
    argTypes:
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1942
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1942
    functionName: getBufIncForNewRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - getPageBufIncForRowIdSort
    - taosArrayGet
    - getPageBufIncForRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBufIncForNewRow(SSortHandle* pHandle, int32_t dstRowIndex,
      SSDataBlock* pSrcBlock, int32_t srcRowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - a
    - b
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2667
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2667
    functionName: tsortPQComFnReverse
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tsortPQComFnReverse(void*a, void* b, void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsortClose
      Src: /src/tdengine/source/libs/executor/src/tsort.c:406,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:412,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:411,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:408,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:413,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:415,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:418,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:421,1
    - Dst: destroySortMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:423,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:429,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:427,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pSortHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 430
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 430
    functionName: tsortDestroySortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tMergeTreeDestroy
    - taosArrayDestroy
    - destroyDiskbasedBuf
    - destroyBoundedQueue
    - blockDataDestroy
    - qDebug
    - tsortClearOrderedSource
    - tsortClose
    - destroySortMemFile
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tsortDestroySortHandle(SSortHandle* pSortHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1742,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1744,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1742,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1754,1
    - Dst: initRowIdSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1749,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1755,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1755,1
    - Dst: createSortMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1759,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pHandle
    - extRowsMemSize
    argTypes:
    - SSortHandle*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1762
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1762
    functionName: tsortSetSortByRowId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - osTempSpaceAvailable
    - initRowIdSort
    - terrstr
    - createSortMemFile
    - qError
    - taosArrayDup
    - taosArrayGetSize
    - blockDataGetRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortSetSortByRowId(SSortHandle* pHandle, int32_t extRowsMemSize) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2515,1
    - Dst: doInternalMergeSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2521,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2529,1
    - Dst: getNumOfInMemBufPages
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2528,1
    - Dst: sortComparInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2538,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2543,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2545
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2545
    functionName: tsortOpenForBufMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tMergeTreeCreate
    - getNumOfInMemBufPages
    - doInternalMergeSort
    - qError
    - sortComparInit
    - createInitialSources
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortOpenForBufMergeSort(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2553
      start: 2551
    functionDepth: 0
    functionLinenumber: 2551
    functionLinenumberEnd: 2553
    functionName: tsortIsClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: bool
    signature: 'bool tsortIsClosed(SSortHandle* pHandle) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2586,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2626,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2606,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2622,1
    - Dst: adjustMergeTreeForNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2610,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pHandle
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - STupleHandle**
    constantsTouched: []
    func_position:
      end: 2638
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2638
    functionName: tsortBufMergeSortNextTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tMergeTreeGetChosenIndex
    - tsortIsClosed
    - adjustMergeTreeForNextTuple
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsortBufMergeSortNextTuple(SSortHandle* pHandle, STupleHandle**
      pTupleHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pColInfo
    argTypes:
    - STupleHandle*
    - int32_t
    - SColumnInfoData**
    constantsTouched: []
    func_position:
      end: 2933
      start: 2931
    functionDepth: 0
    functionLinenumber: 2931
    functionLinenumberEnd: 2933
    functionName: tsortGetColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void
    signature: 'void tsortGetColumnInfo(STupleHandle* pVHandle, int32_t colIndex,
      SColumnInfoData** pColInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pSortHandle
    - pSource
    argTypes:
    - SSortHandle*
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 435
    functionName: tsortAddSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortAddSource(SSortHandle* pSortHandle, void* pSource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2549
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2549
    functionName: tsortClose
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: void
    signature: 'void tsortClose(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2557
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2557
    functionName: tsortSetClosed
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    linkageType: ''
    returnType: void
    signature: 'void tsortSetClosed(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2642
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2642
    functionName: tsortIsForceUsePQSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tsortIsForceUsePQSort(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVHandle
    argTypes:
    - STupleHandle*
    constantsTouched: []
    func_position:
      end: 2935
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2935
    functionName: tsortGetColNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: size_t
    signature: 'size_t tsortGetColNum(STupleHandle* pVHandle) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:791,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:794,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:792,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:799,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:802,1
    - Dst: colDataIsNull_t
      Src: /src/tdengine/source/libs/executor/src/tsort.c:809,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:811,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:830,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:831,1
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/tsort.c:833,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 5
    argNames:
    - pLeftBlock
    - pRightBlock
    - leftRowIndex
    - rightRowIndex
    - pCompareOrder
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 835
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 835
    functionName: tsortComparBlockCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - colDataIsNull_t
    - IS_VAR_DATA_TYPE
    - fn
    - colDataGetData
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortComparBlockCell(SSDataBlock* pLeftBlock, SSDataBlock*
      pRightBlock, int32_t leftRowIndex, int32_t rightRowIndex, void* pCompareOrder) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1360,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1368,1
    - Dst: taosSetAutoDelFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1372,1
    - Dst: taosGetTmpfilePath
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1365,1
    - Dst: taosOpenCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1374,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1385,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1393,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1403,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1404,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1409,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1406,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1355
    functionDepth: 0
    functionLinenumber: 1355
    functionLinenumberEnd: 1413
    functionName: createSortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosSetAutoDelFile
    - taosMemoryCalloc
    - taosOpenCFile
    - qError
    - taosGetTmpfilePath
    - taosCloseCFile
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSortMemFile(SSortHandle* pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1421,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1433,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1430,1
    - Dst: taosCloseCFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1436,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1438,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1441
    functionName: destroySortMemFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - taosCloseCFile
    - taosArrayGetSize
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'static void destroySortMemFile(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: tsortSetSingleTableMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetSingleTableMerge(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 138
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 138
    functionName: destoryAllocatedTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destoryAllocatedTuple(void* t) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2174,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2204,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2178,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 6
    argNames:
    - pHandle
    - mTableNumRows
    - pOrigBlk
    - pExtractedBlock
    - pSkipBlock
    - pRes
    argTypes:
    - SSortHandle*
    - SSHashObj*
    - SSDataBlock*
    - bool*
    - bool*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2217
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2217
    functionName: getRowsBlockWithinMergeLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataExtractBlock
    - tSimpleHashGet
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getRowsBlockWithinMergeLimit(const SSortHandle* pHandle,
      SSHashObj* mTableNumRows, SSDataBlock* pOrigBlk, bool* pExtractedBlock, bool*
      pSkipBlock, SSDataBlock** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2915,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2920,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pVHandle
    - colIndex
    argTypes:
    - STupleHandle*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2921
      start: 2914
    functionDepth: 0
    functionLinenumber: 2914
    functionLinenumberEnd: 2921
    functionName: tsortIsNullVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool tsortIsNullVal(STupleHandle* pVHandle, int32_t colIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pHandle
    - (*checkFn)
    - param
    argTypes:
    - SSortHandle*
    - bool
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: tsortSetAbortCheckFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetAbortCheckFn(SSortHandle *pHandle, bool (*checkFn)(void
      *), void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2224
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2224
    functionName: freeHelp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeHelp(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2925,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pVHandle
    - colIndex
    - pVal
    argTypes:
    - STupleHandle*
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 2929
      start: 2923
    functionDepth: 0
    functionLinenumber: 2923
    functionLinenumberEnd: 2929
    functionName: tsortGetValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: 'void tsortGetValue(STupleHandle* pVHandle, int32_t colIndex, void**
      pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:441,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:442,1
    - Dst: blockDataGetSerialRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:453,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:448,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:457,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:457,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:457,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tsort.c:458,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:467,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - pBuf
    - pAllSources
    - pBlock
    - sourceId
    - pPageIdList
    argTypes:
    - SDiskbasedBuf*
    - SArray*
    - SSDataBlock*
    - int32_t*
    - SArray*
    constantsTouched: []
    func_position:
      end: 469
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 469
    functionName: doAddNewExternalMemSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - blockDataGetSerialMetaSize
    - QUERY_CHECK_CONDITION
    - taosArrayGetSize
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - getBufPageSize
    - blockDataGetSerialRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddNewExternalMemSource(SDiskbasedBuf* pBuf, SArray*
      pAllSources, SSDataBlock* pBlock, int32_t* sourceId, SArray* pPageIdList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSource
    - pHandle
    argTypes:
    - SSortSource*
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: setCurrentSourceDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setCurrentSourceDone(SSortSource* pSource, SSortHandle*
      pHandle) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1052,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1060,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1088,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1101,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1104,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1074,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1077,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1093,1
    - Dst: doSortForEachGroup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1086,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1097,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1108,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1048,1
    - Dst: log2
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1046,1
    - Dst: getTotalBufSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1051,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1056,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1060,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1061,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1094,1
    - Dst: tsortClearOrderedSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1096,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1102,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1117,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1040,1
    - Dst: log2
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1046,1
    - Dst: floorl
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1046,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1066,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1076,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1089,1
    - Dst: getDBufStatis
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1119
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1119
    functionName: doInternalMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - log2
    - taosArrayDestroy
    - blockDataEnsureCapacity
    - blockDataGetCapacityInRow
    - taosArrayAddAll
    - blockDataGetSerialMetaSize
    - taosGetTimestampUs
    - doSortForEachGroup
    - qDebug
    - tsortClearOrderedSource
    - floorl
    - taosArrayGetSize
    - getDBufStatis
    - taosArrayInit
    - getTotalBufSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doInternalMergeSort(SSortHandle* pHandle) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:481,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:486,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:526,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:520,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:546,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:539,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:527,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:536,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:537,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:553,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:554,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:475,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:489,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:499,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:521,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:543,1
    - Dst: doAddNewExternalMemSource
      Src: /src/tdengine/source/libs/executor/src/tsort.c:551,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:477,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:497,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:506,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:511,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:514,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:518,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:513,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:531,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 2
    argNames:
    - pDataBlock
    - pHandle
    argTypes:
    - SSDataBlock*
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 557
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 557
    functionName: doAddToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - terrstr
    - blockDataExtractBlock
    - getNewBufPage
    - getBufPageSize
    - taosArrayGetSize
    - taosArrayInit
    - releaseBufPage
    - blockDataSplitRows
    - taosArrayDestroy
    - createOneDataBlock
    - taosArrayPush
    - createDiskbasedBuf
    - osTempSpaceAvailable
    - qError
    - blockDataDestroy
    - blockDataGetSize
    - blockDataCleanup
    - doAddNewExternalMemSource
    - dBufSetPrintInfo
    - setBufPageDirty
    - blockDataToBuf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddToBuf(SSDataBlock* pDataBlock, SSortHandle* pHandle) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:587,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/executor/src/tsort.c:625,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:621,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:578,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:576,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:597,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:620,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:566,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:578,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:582,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:596,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:601,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:606,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:617,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:633,1
    - Dst: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:611,1
    - Dst: setCurrentSourceDone
      Src: /src/tdengine/source/libs/executor/src/tsort.c:629,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 5
    argNames:
    - pParam
    - pSources
    - startIndex
    - endIndex
    - pHandle
    argTypes:
    - SMsortComparParam*
    - SArray*
    - int32_t
    - int32_t
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 638
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 638
    functionName: sortComparInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - osTempSpaceAvailable
    - taosArrayGet
    - terrstr
    - setCurrentSourceDone
    - getBufPage
    - qError
    - dBufSetPrintInfo
    - taosGetTimestampUs
    - TAOS_CHECK_RETURN
    - createDiskbasedBuf
    - blockDataFromBuf
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortComparInit(SMsortComparParam* pParam, SArray* pSources,
      int32_t startIndex, int32_t endIndex, SSortHandle* pHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tupleSetOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:157,1
    - Dst: tupleSetNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:160,1
    - Dst: tupleGetDataStartOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:162,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:164,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:163,1
    - Dst: tupleSetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:175,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 9
    argNames:
    - t
    - colNum
    - offset
    - colIdx
    - data
    - length
    - isNull
    - tupleLen
    - pOffset
    argTypes:
    - char**
    - uint32_t
    - uint32_t
    - uint32_t
    - void*
    - size_t
    - bool
    - uint32_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: tupleAddField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tupleGetDataStartOffset
    - tupleSetNull
    - taosMemoryRealloc
    - qError
    - tstrerror
    - tupleSetOffset
    - QUERY_CHECK_NULL
    - tupleSetData
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t tupleAddField(char** t, uint32_t colNum, uint32_t
      offset, uint32_t colIdx, void* data, size_t length, bool isNull, uint32_t tupleLen,
      uint32_t* pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1949,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1954,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1951,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1952,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1955,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1958,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1959,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1973,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - pSup
    - pBlockList
    - tsOrder
    - tsSlotId
    - pPkOrderInfo
    argTypes:
    - SBlkMergeSupport*
    - SArray*
    - int32_t
    - int32_t
    - SBlockOrderInfo*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1944
    functionDepth: 0
    functionLinenumber: 1944
    functionLinenumberEnd: 1976
    functionName: initMergeSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosMemoryCalloc
    - memset
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initMergeSup(SBlkMergeSupport* pSup, SArray* pBlockList,
      int32_t tsOrder, int32_t tsSlotId, SBlockOrderInfo* pPkOrderInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2430,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2452,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2461,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2465,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2473,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2474,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2495,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2438,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2443,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2454,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2459,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2451,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2464,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2497,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2419,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2463,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2457,1
    - Dst: blockDataSort
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2458,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2478,1
    - Dst: doAddToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2437,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2438,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2475,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 76
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2499
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2499
    functionName: createBlocksQuickSortInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getProperSortPageSize
    - createOneDataBlock
    - taosArrayGet
    - doAddToBuf
    - taosArrayRemoveBatch
    - qError
    - tstrerror
    - taosGetTimestampUs
    - blockDataSort
    - blockDataKeepFirstNRows
    - taosArrayGetSize
    - blockDataGetRowSize
    - blockDataGetSize
    - blockDataMerge
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createBlocksQuickSortInitialSources(SSortHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1981,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SBlkMergeSupport*
    constantsTouched: []
    func_position:
      end: 1982
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1982
    functionName: cleanupMergeSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void cleanupMergeSup(SBlkMergeSupport* pSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createBlocksQuickSortInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2505,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2510,1
    - Dst: createBlocksMergeSortInitialSources
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2507,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2512
    functionName: createInitialSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - createBlocksQuickSortInitialSources
    - taosArrayGetSize
    - createBlocksMergeSortInitialSources
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createInitialSources(SSortHandle* pHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1820,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1830,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1831,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1825,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1830,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1832,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1836,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1838,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pHandle
    - blk
    - aPgId
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1842
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1842
    functionName: appendDataBlockToPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - qError
    - setBufPageDirty
    - blockDataToBuf
    - taosArrayPush
    - getNewBufPage
    - getBufPageSize
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendDataBlockToPageBuf(SSortHandle* pHandle, SSDataBlock*
      blk, SArray* aPgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - fp
    argTypes:
    - SSortHandle*
    - _sort_merge_compar_fn_t
    constantsTouched: []
    func_position:
      end: 2574
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2574
    functionName: tsortSetComparFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetComparFp(SSortHandle* pHandle, _sort_merge_compar_fn_t
      fp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1846,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1850,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1853,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1854,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1856,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1859,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pSrcBlock
    - srcRowIndex
    - dstRowIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1877
      start: 1844
    functionDepth: 0
    functionLinenumber: 1844
    functionLinenumberEnd: 1877
    functionName: getPageBufIncForRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - getJsonValueLen
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - blockDataGetRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPageBufIncForRow(SSDataBlock* pSrcBlock, int32_t
      srcRowIndex, int32_t dstRowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - compareGroupId
    argTypes:
    - SSortHandle*
    - bool
    constantsTouched: []
    func_position:
      end: 2580
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2580
    functionName: tsortSetCompareGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsortSetCompareGroupId(SSortHandle* pHandle, bool compareGroupId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDBufStatis
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 2958
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2958
    functionName: tsortGetSortExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - getDBufStatis
    linkageType: ''
    returnType: SSortExecInfo
    signature: 'SSortExecInfo tsortGetSortExecInfo(SSortHandle* pHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compKeys
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2963,1
    - Dst: buildKeys
      Src: /src/tdengine/source/libs/executor/src/tsort.c:2966,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pSortCols
    - keyBuf
    - keyLen
    - pTuple
    argTypes:
    - SArray*
    - char*
    - int32_t*
    - STupleHandle*
    constantsTouched: []
    func_position:
      end: 2970
      start: 2960
    functionDepth: 0
    functionLinenumber: 2960
    functionLinenumberEnd: 2970
    functionName: tsortCompAndBuildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - buildKeys
    - compKeys
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortCompAndBuildKeys(const SArray* pSortCols, char* keyBuf,
      int32_t* keyLen, const STupleHandle* pTuple) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tupleColIsNull
      Src: /src/tdengine/source/libs/executor/src/tsort.c:181,1
    - Dst: tupleOffset
      Src: /src/tdengine/source/libs/executor/src/tsort.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - t
    - colIdx
    - colNum
    argTypes:
    - char*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tupleGetField
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - tupleColIsNull
    - tupleOffset
    linkageType: ''
    returnType: void*
    signature: 'static void * tupleGetField(char* t, uint32_t colIdx, uint32_t colNum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/tsort.c:756,1
    - Dst: adjustMergeTreeForNextTuple
      Src: /src/tdengine/source/libs/executor/src/tsort.c:771,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/tsort.c:763,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:766,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pHandle
    - cmpParam
    - capacity
    - pRes
    argTypes:
    - SSortHandle*
    - SMsortComparParam*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 784
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 784
    functionName: getSortedBlockDataInner
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - appendOneRowToDataBlock
    - blockDataCleanup
    - tMergeTreeGetChosenIndex
    - adjustMergeTreeForNextTuple
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSortedBlockDataInner(SSortHandle* pHandle, SMsortComparParam*
      cmpParam, int32_t capacity, SSDataBlock** pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1133,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1135,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1144,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1135,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1148
    functionName: createPageBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - osTempSpaceAvailable
    - terrstr
    - dBufSetPrintInfo
    - qError
    - createDiskbasedBuf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPageBuf(SSortHandle* pHandle) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1572,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1631,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1633,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1630,1
    - Dst: saveBlockRowToExtRowsMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1566,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1582,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1587,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1593,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1598,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1620,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1588,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1600,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1605,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1625,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1615,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 49
    argCount: 3
    argNames:
    - pHandle
    - pSource
    - rowIndex
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1644
    functionName: appendToRowIndexDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - colDataGetData
    - saveBlockRowToExtRowsMemFile
    - colDataIsNull_s
    - colDataSetInt32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendToRowIndexDataBlock(SSortHandle* pHandle, SSDataBlock*
      pSource, int32_t* rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pSortHandle
    - pBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: tsortGetSortedDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortGetSortedDataBlock(const SSortHandle* pSortHandle, SSDataBlock**
      pBlock) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1171,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1175,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1229,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1224,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1155,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1206,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1241,1
    - Dst: getRowBufFromExtMemFile
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1166,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1187,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1189,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1201,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1196,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1218,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1226,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1157,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1181,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1219,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1231,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 3
    argNames:
    - pHandle
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - STupleHandle*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1248
    functionName: tsortAppendTupleToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosMemoryFree
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - getRowBufFromExtMemFile
    - tsortIsNullVal
    - qError
    - tsortGetValue
    - getJsonValueLen
    - tsortGetBlockInfo
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsortAppendTupleToBlock(SSortHandle* pHandle, SSDataBlock*
      pBlock, STupleHandle* pTupleHandle) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1647,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1659,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1653,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1661,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1682,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1687,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1673,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1695,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1680,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1649,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1658,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1672,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1690,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1679,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1708,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1735,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1666,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1668,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1675,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1703,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1728,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1730,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1737,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1665,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1715,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1717,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/tsort.c:1726,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SSortHandle*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1739
    functionName: initRowIdSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/tsort.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - taosArrayGet
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayPush
    - getKeyComparFunc
    - createDataBlock
    - createColumnInfoData
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initRowIdSort(SSortHandle* pHandle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:402,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:414,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:411,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 419
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 419
    functionName: functionNeedToExecute
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - isRowEntryCompleted
    - fmIsRepeatScanFunc
    - GET_RES_INFO
    linkageType: ''
    returnType: bool
    signature: 'bool functionNeedToExecute(SqlFunctionCtx* pCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:597,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:619,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:625,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:612,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:611,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:624,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:592,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:603,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:609,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:593,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:605,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:606,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:618,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - pBlock
    - pFilterInfo
    - pColMatchInfo
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SColMatchInfo*
    constantsTouched: []
    func_position:
      end: 627
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 627
    functionName: doFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosArrayGet
    - blockDataCheck
    - blockDataUpdateTsWindow
    - colDataDestroy
    - qError
    - tstrerror
    - filterSetDataFromSlotId
    - extractQualifiedTupleByFilterResult
    - QUERY_CHECK_NULL
    - filterExecute
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doFilter(SSDataBlock* pBlock, SFilterInfo* pFilterInfo, SColMatchInfo*
      pColMatchInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pResultInfo
    - numOfRows
    argTypes:
    - SResultInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1018
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1018
    functionName: initResultSizeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initResultSizeInfo(SResultInfo* pResultInfo, int32_t numOfRows) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1035,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1036,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1041,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1044,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1045,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1046,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1047,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1050,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1054,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - pCtx
    - pExpr
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1056
    functionName: destroySqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    - taosVariantDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroySqlFunctionCtx(SqlFunctionCtx* pCtx, SExprInfo*
      pExpr, int32_t numOfOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1188,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1191,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1197,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1190,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1194,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    constantsTouched: []
    func_position:
      end: 1200
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1200
    functionName: freeOperatorParamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - taosArrayDestroy
    - freeOperatorParam
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void freeOperatorParamImpl(SOperatorParam* pParam, SOperatorParamType
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1249
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1249
    functionName: freeOpParamItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: 'void freeOpParamItem(void* pItem) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:424,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:465,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:436,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - pInput
    - pFuncParam
    - type
    - paramIndex
    - numOfRows
    argTypes:
    - SInputColumnInfoData*
    - SFunctParam*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 469
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 469
    functionName: doCreateConstantValColumnSMAInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreateConstantValColumnSMAInfo(SInputColumnInfoData*
      pInput, SFunctParam* pFuncParam, int32_t type, int32_t paramIndex, int32_t numOfRows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:635,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pBlock
    - p
    - status
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 643
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 643
    functionName: extractQualifiedTupleByFilterResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - trimDataBlock
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractQualifiedTupleByFilterResult(SSDataBlock* pBlock, const
      SColumnInfoData* p, int32_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SOptrBasicInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1023
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1023
    functionName: initBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - initResultRowInfo
    linkageType: ''
    returnType: void
    signature: 'void initBasicInfo(SOptrBasicInfo* pInfo, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1062,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pSup
    - pExprInfo
    - numOfExpr
    - pStore
    argTypes:
    - SExprSupp*
    - SExprInfo*
    - int32_t
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1069
    functionName: initExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - createSqlFunctionCtx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initExprSupp(SExprSupp* pSup, SExprInfo* pExprInfo, int32_t
      numOfExpr, SFunctionStateStore* pStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1204,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1209
    functionName: freeExchangeGetBasicOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeExchangeGetBasicOperatorParam(void* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1253,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: freeVirtualTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeVirtualTableScanGetOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1257
    functionName: freeVTableScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeVTableScanNotifyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1348,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1349,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1349,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1352,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1352,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1352,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1352,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - v
    - pKey
    argTypes:
    - char*
    - SStateKeys*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1357
    functionName: compareVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - varDataVal
    - memcmp
    - varDataLen
    linkageType: ''
    returnType: bool
    signature: 'bool compareVal(const char* v, const SStateKeys* pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:42,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - __size
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: u_malloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosRand
    - taosMemoryMalloc
    linkageType: ''
    returnType: UNUSED_FUNC*
    signature: 'static UNUSED_FUNC void *u_malloc (size_t __size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:515,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pInterval
    - key
    argTypes:
    - SInterval*
    - int64_t
    constantsTouched: []
    func_position:
      end: 527
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: getAlignQueryTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: STimeWindow
    signature: 'STimeWindow getAlignQueryTimeWindow(const SInterval* pInterval, int64_t
      key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:648,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - pCtx
    - pRow
    - numOfExprs
    - rowEntryOffset
    argTypes:
    - SqlFunctionCtx*
    - SResultRow*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 667
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 667
    functionName: doUpdateNumOfRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - isRowEntryInitialized
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void doUpdateNumOfRows(SqlFunctionCtx* pCtx, SResultRow* pRow, int32_t
      numOfExprs, const int32_t* rowEntryOffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:720,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:722,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:744,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:745,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:746,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:754,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:722,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:722,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:753,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:723,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:734,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:747,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:750,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:753,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:752,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:751,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:753,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:757,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:732,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:743,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:746,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - pBuf
    - resultRowPosition
    - pSup
    - pBlock
    - pTaskInfo
    argTypes:
    - SDiskbasedBuf*
    - SResultRowPosition*
    - SExprSupp*
    - SSDataBlock*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 759
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 759
    functionName: finalizeResultRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - blockDataEnsureCapacity
    - TAOS_FAILED
    - getBufPage
    - qError
    - tstrerror
    - T_LONG_JMP
    - doUpdateNumOfRows
    - GET_TASKID
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: void
    signature: 'void finalizeResultRows(SDiskbasedBuf* pBuf, SResultRowPosition* resultRowPosition,
      SExprSupp* pSup, SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:861,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:863,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:879,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:900,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:882,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:918,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:921,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:927,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:901,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:922,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:863,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:902,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:903,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:918,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:857,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:860,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:863,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:864,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:869,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:874,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:908,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:909,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:926,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 8
    argNames:
    - pTaskInfo
    - pBlock
    - pSup
    - pBuf
    - pGroupResInfo
    - threshold
    - ignoreGroup
    - minWindowSize
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - int32_t
    - bool
    - int64_t
    constantsTouched: []
    func_position:
      end: 929
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 929
    functionName: doCopyToSDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - releaseBufPage
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - getBufPage
    - qError
    - tstrerror
    - getNumOfTotalRes
    - T_LONG_JMP
    - qDebug
    - doUpdateNumOfRows
    - GET_TASKID
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: void
    signature: 'void doCopyToSDataBlock(SExecTaskInfo* pTaskInfo, SSDataBlock* pBlock,
      SExprSupp* pSup, SDiskbasedBuf* pBuf, SGroupResInfo* pGroupResInfo, int32_t
      threshold, bool ignoreGroup, int64_t minWindowSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:52,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - num
    - __size
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: u_calloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosRand
    linkageType: ''
    returnType: UNUSED_FUNC*
    signature: 'static UNUSED_FUNC void * u_calloc(size_t num, size_t __size) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:676,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:687,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:688,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:679,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:692,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:693,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:695,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:702,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:704,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:712,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:712,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:700,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 7
    argNames:
    - pExprInfo
    - numOfExprs
    - pRow
    - pCtx
    - pBlock
    - rowEntryOffset
    - pTaskInfo
    argTypes:
    - SExprInfo*
    - int32_t
    - SResultRow*
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 715
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 715
    functionName: copyResultrowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - GET_ROWCELL_INTERBUF
    - colDataSetValOrCover
    - blockDataEnsureCapacity
    - strcmp
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - GET_TASKID
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyResultrowToDataBlock(SExprInfo* pExprInfo, int32_t numOfExprs,
      SResultRow* pRow, SqlFunctionCtx* pCtx, SSDataBlock* pBlock, const int32_t*
      rowEntryOffset, SExecTaskInfo* pTaskInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:784,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:826,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:807,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:827,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:843,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:777,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:815,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:835,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:844,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:771,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:839,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:776,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:783,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:781,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:783,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:789,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:797,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:817,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:835,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:818,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:838,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 64
    argCount: 8
    argNames:
    - pTaskInfo
    - pBlock
    - pSup
    - pBuf
    - pGroupResInfo
    - pHashmap
    - threshold
    - ignoreGroup
    argTypes:
    - SExecTaskInfo*
    - SSDataBlock*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - SSHashObj*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 846
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 846
    functionName: doCopyToSDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - releaseBufPage
    - tSimpleHashGetSize
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - getBufPage
    - qError
    - tstrerror
    - tSimpleHashIterate
    - T_LONG_JMP
    - qDebug
    - doUpdateNumOfRows
    - GET_TASKID
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: void
    signature: 'void doCopyToSDataBlockByHash(SExecTaskInfo* pTaskInfo, SSDataBlock*
      pBlock, SExprSupp* pSup, SDiskbasedBuf* pBuf, SGroupResInfo* pGroupResInfo,
      SSHashObj* pHashmap, int32_t threshold, bool ignoreGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:939,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:948,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:940,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:947,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:950,1
    - Dst: doCopyToSDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:951,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:952,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    constantsTouched: []
    func_position:
      end: 964
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 964
    functionName: doBuildResultDatablock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - doCopyToSDataBlock
    - hasRemainResults
    - getMinWindowSize
    linkageType: ''
    returnType: void
    signature: 'void doBuildResultDatablock(SOperatorInfo* pOperator, SOptrBasicInfo*
      pbInfo, SGroupResInfo* pGroupResInfo, SDiskbasedBuf* pBuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:507,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:507,1
    - Dst: doCreateConstantValColumnSMAInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:497,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - pCtx
    - pExprInfo
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SExprInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 510
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 510
    functionName: setBlockSMAInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - doCreateConstantValColumnSMAInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setBlockSMAInfo(SqlFunctionCtx* pCtx, SExprInfo* pExprInfo,
      SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setBlockSMAInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:261,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: doSetInputDataBlockInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tstrerror
    - setBlockSMAInfo
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetInputDataBlockInfo(SExprSupp* pExprSup, SSDataBlock*
      pBlock, int32_t order, int32_t scanFlag) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:533,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:539,1
    - Dst: isRowEntryCompleted
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:539,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:550,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:552,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:555,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:555,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - pResult
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    argTypes:
    - SResultRow*
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 566
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 566
    functionName: setResultRowInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - isRowEntryCompleted
    - qError
    - tstrerror
    - isRowEntryInitialized
    - fmIsUserDefinedFunc
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setResultRowInitCtx(SResultRow* pResult, SqlFunctionCtx* pCtx,
      int32_t numOfOutput, int32_t* rowEntryInfoOffset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:971,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:977,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:978,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:973,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pExpr
    - numOfExprs
    argTypes:
    - SExprInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 980
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 980
    functionName: destroyExprInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - taosVariantDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyExprInfo(SExprInfo* pExpr, int32_t numOfExprs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroySqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1072,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1079,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1075,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1083,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1084
    functionName: cleanupExprSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - destroyExprInfo
    - destroySqlFunctionCtx
    - taosMemoryFreeClear
    - filterFreeInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupExprSupp(SExprSupp* pSupp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:91,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:93,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:93,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:100,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:106,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:108,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:112,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:128,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - pResultBuf
    - currentPageId
    - interBufSize
    argTypes:
    - SDiskbasedBuf*
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 135
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 135
    functionName: getNewResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getBufPage
    - qError
    - tstrerror
    - setBufPageDirty
    - memset
    - getNewBufPage
    - getBufPageSize
    linkageType: ''
    returnType: SResultRow*
    signature: 'SResultRow * getNewResultRow(SDiskbasedBuf* pResultBuf, int32_t* currentPageId,
      int32_t interBufSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:61,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - p
    - __size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: u_realloc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosRand
    - taosMemoryRealloc
    linkageType: ''
    returnType: UNUSED_FUNC*
    signature: 'static UNUSED_FUNC void * u_realloc(void* p, size_t __size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetInputDataBlockInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:277,1
    - Dst: doSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    - createDummyCol
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: setInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - doSetInputDataBlock
    - doSetInputDataBlockInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setInputDataBlock(SExprSupp* pExprSup, SSDataBlock* pBlock,
      int32_t order, int32_t scanFlag, bool createDummyCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 580
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 580
    functionName: clearResultRowInitFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void clearResultRowInitFlag(SqlFunctionCtx* pCtx, int32_t numOfOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - rowSize
    - defaultPgsz
    - defaultBufsz
    argTypes:
    - int32_t
    - uint32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1005
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1005
    functionName: getBufferPgSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getBufferPgSize(int32_t rowSize, uint32_t* defaultPgsz, int64_t*
      defaultBufsz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOptrBasicInfo*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1089
    functionName: cleanupBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'void cleanupBasicInfo(SOptrBasicInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:240,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:248,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:244,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:249,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:245,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pColData
    - pQueryWindow
    argTypes:
    - SColumnInfoData*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: initExecTimeWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - colDataSetInt64
    - colInfoDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initExecTimeWindowInfo(SColumnInfoData* pColData, STimeWindow*
      pQueryWindow) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:147,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:153,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:149,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:149,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:153,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:160,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:177,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:196,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:196,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:200,1
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:216,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:227,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:213,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:213,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:216,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 10
    argNames:
    - pResultBuf
    - pResultRowInfo
    - pData
    - bytes
    - masterscan
    - groupId
    - pTaskInfo
    - isIntervalQuery
    - pSup
    - keepGroup
    argTypes:
    - SDiskbasedBuf*
    - SResultRowInfo*
    - char*
    - int32_t
    - bool
    - uint64_t
    - SExecTaskInfo*
    - bool
    - SAggSupporter*
    - bool
    constantsTouched: []
    func_position:
      end: 233
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 233
    functionName: doSetResultOutBufByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - calcGroupId
    - tSimpleHashGetSize
    - tSimpleHashGet
    - SET_RES_WINDOW_KEY
    - getBufPage
    - qError
    - tstrerror
    - getResultRowByPos
    - tSimpleHashPut
    - GET_RES_WINDOW_KEY_LEN
    - GET_TASKID
    - getNewResultRow
    linkageType: ''
    returnType: SResultRow*
    signature: 'SResultRow * doSetResultOutBufByKey(SDiskbasedBuf* pResultBuf, SResultRowInfo*
      pResultRowInfo, char* pData, int32_t bytes, bool masterscan, uint64_t groupId,
      SExecTaskInfo* pTaskInfo, bool isIntervalQuery, SAggSupporter* pSup, bool keepGroup) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:302,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:308,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:301,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:313,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:316,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:317,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:319,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:324,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:322,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - pInput
    - pFuncParam
    - paramIndex
    - numOfRows
    argTypes:
    - SInputColumnInfoData*
    - SFunctParam*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 332
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 332
    functionName: doCreateConstantValColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryMalloc
    - colDataSetDouble
    - STR_WITH_SIZE_TO_VARSTR
    - taosMemoryCalloc
    - colDataSetVal
    - colInfoDataEnsureCapacity
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - colDataSetInt64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreateConstantValColumnInfo(SInputColumnInfoData*
      pInput, SFunctParam* pFuncParam, int32_t paramIndex, int32_t numOfRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1094,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pGroupList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1101
    functionName: groupbyTbname
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool groupbyTbname(SNodeList* pGroupList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1178
    functionName: streamOpReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamOpReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1215,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1220,1
    - Dst: freeExchangeGetBasicOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1221
    functionName: freeExchangeGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeExchangeGetBasicOperatorParam
    - tSimpleHashCleanup
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeExchangeGetOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1225
    functionName: freeGroupCacheGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeGroupCacheGetOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1229
    functionName: freeMergeJoinGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeMergeJoinGetOperatorParam(SOperatorParam* pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1235,1
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1240,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1238,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1241
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1241
    functionName: freeTableScanGetOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeTableScanGetOperatorParam(SOperatorParam* pParam) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:362,1
    - Dst: doCreateConstantValColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:387,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:371,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:388,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:396,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - order
    - scanFlag
    - createDummyCol
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 399
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 399
    functionName: doSetInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - fmIsImplicitTsFunc
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - doCreateConstantValColumnInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetInputDataBlock(SExprSupp* pExprSup, SSDataBlock*
      pBlock, int32_t order, int32_t scanFlag, bool createDummyCol) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1155,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1116,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1128,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1149,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1157,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1106,1
    - Dst: getTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1124,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1144,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1158,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1151,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1135,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1152,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 47
    argCount: 4
    argNames:
    - pNode
    - pParam
    - pTask
    - readHandle
    argTypes:
    - SDataSinkNode*
    - void**
    - SExecTaskInfo*
    - SReadHandle*
    constantsTouched: []
    func_position:
      end: 1171
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1171
    functionName: createDataSinkParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tableListGetInfo
    - taosMemoryFree
    - tableListGetSize
    - taosArrayDestroy
    - taosMemoryCalloc
    - qError
    - tstrerror
    - getTableListInfo
    - taosArrayPush
    - tableListGetSuid
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataSinkParam(SDataSinkNode* pNode, void** pParam, SExecTaskInfo*
      pTask, SReadHandle* readHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1185
    functionName: streamOpReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamOpReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: freeExchangeNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeExchangeNotifyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1227
    functionName: freeGroupCacheNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeGroupCacheNotifyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1231,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1231
    functionName: freeMergeJoinNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeMergeJoinNotifyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParamImpl
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1243
    functionName: freeTableScanNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeOperatorParamImpl
    linkageType: ''
    returnType: void
    signature: 'void freeTableScanNotifyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: freeExchangeGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1266,1
    - Dst: freeExchangeNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1266,1
    - Dst: freeMergeJoinGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1272,1
    - Dst: freeGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1269,1
    - Dst: freeGroupCacheGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1269,1
    - Dst: freeMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1272,1
    - Dst: freeTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1275,1
    - Dst: freeTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1275,1
    - Dst: freeVirtualTableScanGetOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1278,1
    - Dst: freeVTableScanNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1278,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pParam
    - type
    argTypes:
    - SOperatorParam*
    - SOperatorParamType
    constantsTouched: []
    func_position:
      end: 1284
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1284
    functionName: freeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - freeExchangeNotifyOperatorParam
    - freeVirtualTableScanGetOperatorParam
    - freeTableScanGetOperatorParam
    - freeVTableScanNotifyOperatorParam
    - freeMergeJoinNotifyOperatorParam
    - freeTableScanNotifyOperatorParam
    - freeGroupCacheNotifyOperatorParam
    - qError
    - freeMergeJoinGetOperatorParam
    - freeGroupCacheGetOperatorParam
    - freeExchangeGetOperatorParam
    linkageType: ''
    returnType: void
    signature: 'void freeOperatorParam(SOperatorParam* pParam, SOperatorParamType
      type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1303,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1315,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1310,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 17
    argCount: 3
    argNames:
    - pOperator
    - type
    - allFree
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParamType
    - bool
    constantsTouched: []
    func_position:
      end: 1318
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1318
    functionName: freeResetOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: 'void freeResetOperatorParams(struct SOperatorInfo* pOperator, SOperatorParamType
      type, bool allFree) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1335,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1330,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1335,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executorInt.c:1342,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pOperator
    - idx
    - clearParam
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - bool
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1345
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1345
    functionName: getNextBlockFromDownstreamImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executorInt.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - qDebug
    - freeOperatorParam
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t getNextBlockFromDownstreamImpl(struct SOperatorInfo*
      pOperator, int32_t idx, bool clearParam, SSDataBlock** pResBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:32,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:52,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:71,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:94,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:102,1
    - Dst: destroyEWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:117,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:36,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:51,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:59,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:78,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:104,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:37,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:49,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:58,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:61,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:65,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:76,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:81,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:82,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:85,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:107,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:48,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:60,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:80,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:72,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:74,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:64,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:84,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:87,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:95,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:120,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 123
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 123
    functionName: createEventwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - destroyEWindowOperatorInfo
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createEventwindowOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      physiNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:235,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:245,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - pResultRowInfo
    - win
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: setSingleOutputTupleBufv1
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - setResultRowInitCtx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSingleOutputTupleBufv1(SResultRowInfo* pResultRowInfo,
      STimeWindow* win, SResultRow** pResult, SExprSupp* pExprSup, SAggSupporter*
      pAggSup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:145,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:149,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:154,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:158,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:159,1
    - Dst: cleanupResultInfoInEventWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:161,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:163,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 166
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 166
    functionName: destroyEWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cleanupExprSupp
    - cleanupBasicInfo
    - colDataDestroy
    - cleanupAggSup
    - cleanupResultInfoInEventWindow
    - taosMemoryFreeClear
    - filterFreeInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyEWindowOperatorInfo(void* param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:179,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:196,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:197,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:185,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:200,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:206,1
    - Dst: eventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:213,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:226,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:224,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 230
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 230
    functionName: eventWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - projectApplyFunctions
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - doFilter
    - qError
    - eventWindowAggImpl
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eventWindowAggregateNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: cleanupResultInfoInEventWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupResultInfoInEventWindow(SOperatorInfo* pOperator, SEventWindowOperatorInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:257,1
    - Dst: setSingleOutputTupleBufv1
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:259,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:266,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:261,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:265,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 7
    argNames:
    - pInfo
    - pSup
    - startIndex
    - endIndex
    - pBlock
    - tsList
    - pTaskInfo
    argTypes:
    - SEventWindowOperatorInfo*
    - SExprSupp*
    - int32_t
    - int32_t
    - SSDataBlock*
    - int64_t*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 269
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 269
    functionName: doEventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - setSingleOutputTupleBufv1
    - doKeepTuple
    - applyAggFunctionOnPartialTuples
    - qError
    - updateTimeWindowInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doEventWindowAggImpl(SEventWindowOperatorInfo* pInfo,
      SExprSupp* pSup, int32_t startIndex, int32_t endIndex, const SSDataBlock* pBlock,
      int64_t* tsList, SExecTaskInfo* pTaskInfo) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:305,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:342,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:352,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:383,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:279,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:298,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:309,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:336,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:340,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:380,1
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:301,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:308,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:312,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:326,1
    - Dst: doEventWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:325,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:361,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:378,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:381,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:300,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:330,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:327,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/eventwindowoperator.c:382,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SEventWindowOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 386
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 386
    functionName: eventWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/eventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosArrayGet
    - blockDataEnsureCapacity
    - doKeepNewWindowStartInfo
    - colDataDestroy
    - clearResultRowInitFlag
    - qError
    - tstrerror
    - filterSetDataFromSlotId
    - QUERY_CHECK_NULL
    - doEventWindowAggImpl
    - qDebug
    - doUpdateNumOfRows
    - filterExecute
    - taosArrayGetSize
    - copyResultrowToDataBlock
    - getMinWindowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t eventWindowAggImpl(SOperatorInfo* pOperator, SEventWindowOperatorInfo*
      pInfo, SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:30,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:35,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:32,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:41,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pRangeMap
    - pParam
    - pEnd
    argTypes:
    - SSHashObj*
    - SStreamRecParam*
    - bool*
    constantsTouched: []
    func_position:
      end: 57
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 57
    functionName: buildSessionResultSql
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - tsnprintf
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSessionResultSql(SSHashObj* pRangeMap, SStreamRecParam*
      pParam, bool* pEnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildSessionResultSql
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:175,1
    - Dst: doTransformResult
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:180,1
    - Dst: doProcessSql
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:179,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:182,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:187,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pParam
    - pRangeMap
    - pRangeRes
    argTypes:
    - SStreamRecParam*
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 190
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 190
    functionName: streamClientGetResultRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doProcessSql
    - buildSessionResultSql
    - qError
    - tstrerror
    - doTransformResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientGetResultRange(SStreamRecParam* pParam, SSHashObj*
      pRangeMap, SArray* pRangeRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:82,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:86,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:83,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:85,1
    - Dst: curl_slist_append
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:91,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:95,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:103,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:113,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:120,1
    - Dst: curl_slist_append
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:89,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:92,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:94,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:115,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:126,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:90,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:98,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:109,1
    - Dst: curl_easy_strerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:113,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:97,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:100,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:106,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:108,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - pParam
    - ppJsonResult
    argTypes:
    - SStreamRecParam*
    - SJson**
    constantsTouched: []
    func_position:
      end: 129
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 129
    functionName: doProcessSql
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - curl_easy_setopt
    - QUERY_CHECK_CONDITION
    - curl_slist_append
    - curl_easy_init
    - qError
    - curl_slist_free_all
    - QUERY_CHECK_NULL
    - tstrerror
    - qDebug
    - curl_easy_perform
    - curl_easy_strerror
    - curl_easy_cleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doProcessSql(SStreamRecParam* pParam, SJson** ppJsonResult) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:208,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:212,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:211,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:214,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:210,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:215,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:216,1
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:217,1
    - Dst: cJSON_IsTrue
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:218,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:219,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:222,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJson
    - pCell
    argTypes:
    - SJson*
    - SResultCellData*
    constantsTouched: []
    func_position:
      end: 226
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 226
    functionName: jsonToDataCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - SET_TYPED_DATA
    - tjsonGetObjectValueDouble
    - tjsonGetObjectValueBigInt
    - IS_TIMESTAMP_TYPE
    - cJSON_GetStringValue
    - STR_TO_VARSTR
    - cJSON_IsTrue
    - IS_FLOAT_TYPE
    - IS_BOOLEAN_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonToDataCell(const SJson* pJson, SResultCellData*
      pCell) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:255,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:256,1
    - Dst: getColumnIndex
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:258,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:266,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:278,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:242,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:250,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:260,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:265,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:284,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:284,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:241,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:269,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:244,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:247,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:248,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:249,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:252,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:274,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:273,1
    - Dst: jsonToDataCell
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:268,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 7
    argNames:
    - pJsonResult
    - pRangeRes
    - pEmptyRow
    - size
    - pOffsetInfo
    - numOfCols
    - pMap
    argTypes:
    - SJson*
    - SArray*
    - void*
    - int32_t
    - int32_t*
    - int32_t
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 287
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 287
    functionName: doTransformFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tjsonGetArraySize
    - taosMemoryCalloc
    - getColumnIndex
    - tjsonGetObjectValueBigInt
    - qError
    - tstrerror
    - jsonToDataCell
    - QUERY_CHECK_NULL
    - memcpy
    - qDebug
    - taosArrayPush
    - tjsonGetArrayItem
    - tjsonGetObjectItem
    - getSliceResultCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTransformFillResult(const SJson* pJsonResult, SArray*
      pRangeRes, void* pEmptyRow, int32_t size, int32_t* pOffsetInfo, int32_t numOfCols,
      SSHashObj* pMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pParam
    - pRangeMap
    - pRangeRes
    argTypes:
    - SStreamRecParam*
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: streamClientGetResultRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientGetResultRange(SStreamRecParam* pParam, SSHashObj*
      pRangeMap, SArray* pRangeRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:135,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:138,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:136,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:141,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:142,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:143,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:145,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:146,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:147,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:148,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:150,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:152,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:162,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:153,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:162,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:154,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - pJsonResult
    - pRangeRes
    argTypes:
    - SJson*
    - SArray*
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: doTransformResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetObjectValueBigInt
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tjsonGetArrayItem
    - tjsonGetObjectItem
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTransformResult(const SJson* pJsonResult, SArray*
      pRangeRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:62,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:63,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:64,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:65,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:67,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:68,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - pCont
    - contLen
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: parseResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - qTrace
    - tjsonParse
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - qDebug
    linkageType: ''
    returnType: size_t
    signature: 'static size_t parseResult(char* pCont, size_t contLen, size_t nmemb,
      void* userdata) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:193,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pKey
    - pParam
    argTypes:
    - SWinKey*
    - SStreamRecParam*
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: buildFillResultSql
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildFillResultSql(SWinKey* pKey, SStreamRecParam*
      pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pMap
    - colId
    argTypes:
    - SSHashObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: getColumnIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getColumnIndex(SSHashObj* pMap, int32_t colId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildFillResultSql
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:294,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:295,1
    - Dst: doProcessSql
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:298,1
    - Dst: doTransformFillResult
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:300,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:301,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 7
    argNames:
    - pParam
    - pKey
    - pRangeRes
    - pEmptyRow
    - size
    - pOffsetInfo
    - numOfCols
    argTypes:
    - SStreamRecParam*
    - SWinKey*
    - SArray*
    - void*
    - int32_t
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 308
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 308
    functionName: streamClientGetFillRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doProcessSql
    - qError
    - tstrerror
    - doTransformFillResult
    - buildFillResultSql
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientGetFillRange(SStreamRecParam* pParam, SWinKey*
      pKey, SArray* pRangeRes, void* pEmptyRow, int32_t size, int32_t* pOffsetInfo,
      int32_t numOfCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:316,1
    - Dst: doProcessSql
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:319,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:321,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:322,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:324,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:327,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamclient.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SStreamRecParam*
    constantsTouched: []
    func_position:
      end: 335
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 335
    functionName: streamClientCheckCfg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doProcessSql
    - tjsonGetArraySize
    - tstrncpy
    - memset
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientCheckCfg(SStreamRecParam* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - pParam
    - pKey
    - pRangeRes
    - pEmptyRow
    - size
    - pOffsetInfo
    - numOfCols
    argTypes:
    - SStreamRecParam*
    - SWinKey*
    - SArray*
    - void*
    - int32_t
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 344
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 344
    functionName: streamClientGetFillRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientGetFillRange(SStreamRecParam* pParam, SWinKey*
      pKey, SArray* pRangeRes, void* pEmptyRow, int32_t size, int32_t* pOffsetInfo,
      int32_t numOfCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SStreamRecParam*
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: streamClientCheckCfg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamclient.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamClientCheckCfg(SStreamRecParam* pParam) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:627,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:627,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:636,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:639,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:649,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:658,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:663,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:663,1
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:629,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:650,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:652,1
    - Dst: doBuildDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:625,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:643,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:641,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:652,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:652,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:663,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:624,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:627,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:639,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:657,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 666
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 666
    functionName: buildEventResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - QUERY_CHECK_CODE
    - addAggResultNotifyEvent
    - addAggDeleteNotifyEvent
    - printDataBlock
    - removeOutdatedNotifyEvents
    - qError
    - BIT_FLAG_TEST_MASK
    - tstrerror
    - doBuildSessionResult
    - buildNotifyEventBlock
    - GET_TASKID
    - doBuildDeleteDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildEventResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:684,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:702,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:714,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:715,1
    - Dst: IS_NORMAL_EVENT_OP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:735,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:768,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:761,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:776,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:807,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:777,1
    - Dst: copyDeleteSessionKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:801,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:820,1
    - Dst: resetUnCloseSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:721,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:727,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:727,1
    - Dst: deleteSessionWinState
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:733,1
    - Dst: doStreamEventSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:762,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:779,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:791,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:792,1
    - Dst: getMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:795,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:802,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:824,1
    - Dst: doStreamEventAggImpl
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:789,1
    - Dst: buildEventResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:683,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:697,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:727,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:710,1
    - Dst: getAllSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:739,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:755,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:766,1
    - Dst: closeSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:793,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:820,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:812,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:680,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:680,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:697,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:697,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:709,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:713,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:740,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:750,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:796,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:805,1
    - Dst: buildEventResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:811,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:785,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:822,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:808,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:798,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:774,1
    - Dst: IS_NORMAL_EVENT_OP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:800,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:820,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 143
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 827
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 827
    functionName: doStreamEventAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - GET_TASKID
    - taosArrayInit
    - taosArrayDestroy
    - printDataBlock
    - removeSessionDeleteResults
    - setStreamOperatorState
    - taosGetDefaultHashFunction
    - resetUnCloseSessionWinInfo
    - blockDataEnsureCapacity
    - IS_NORMAL_EVENT_OP
    - qError
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - TMAX
    - buildEventResult
    - getStreamOpName
    - getAllSessionWindow
    - doStreamEventSaveCheckpoint
    - copyDeleteSessionKey
    - initGroupResInfoFromArrayList
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - closeSessionWindow
    - setStreamOperatorCompleted
    - qDebug
    - getMaxTsWins
    - doStreamEventAggImpl
    - deleteSessionWinState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamEventAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:49,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:52,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:83,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:93,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:42,1
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:44,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:56,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:58,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:65,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:69,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:68,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:67,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:66,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:98,1
    - Dst: clearSessionGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:51,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:60,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:61,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:78,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:88,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:54,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:63,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:70,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:72,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:73,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:75,1
    - Dst: destroyNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:96,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 99
    functionName: destroyStreamEventOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tSimpleHashCleanup
    - colDataDestroy
    - clearSessionGroupResInfo
    - cleanupExprSupp
    - taosArrayGetSize
    - destroyNonBlockAggSupptor
    - taosArrayDestroy
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupResultInfoInStream
    - destroyOperator
    - taosArrayDestroyEx
    - filterFreeInfo
    - nodesDestroyList
    - blockDataDestroy
    - taosMemoryFreeClear
    - destroyStreamBasicInfo
    - destroyStreamAggSupporter
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamEventOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pWinInfo
    argTypes:
    - SEventWindowInfo*
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: isWindowIncomplete
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isWindowIncomplete(SEventWindowInfo* pWinInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isWindowIncomplete
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:152,1
    - Dst: isInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:161,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:183,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:148,1
    - Dst: isInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:149,1
    - Dst: getEndCondIndex
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:163,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:194,1
    - Dst: setEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:174,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:162,1
    - Dst: isWindowIncomplete
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:166,1
    - Dst: setEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:150,1
    - Dst: setEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:177,1
    - Dst: SET_SESSION_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:199,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:199,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 10
    argNames:
    - pAggSup
    - pTs
    - groupId
    - pStart
    - pEnd
    - index
    - rows
    - pCurWin
    - pNextWinKey
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - TSKEY*
    - uint64_t
    - bool*
    - bool*
    - int32_t
    - int32_t
    - SEventWindowInfo*
    - SSessionKey*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 202
    functionName: setEventOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isWindowIncomplete
    - getEndCondIndex
    - inWinRange
    - setEventWindowInfo
    - qError
    - tstrerror
    - qDebug
    - SET_SESSION_WIN_KEY_INVALID
    - reuseOutputBuf
    - isInTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setEventOutputBuf(SStreamAggSupporter* pAggSup, TSKEY* pTs,
      uint64_t groupId, bool* pStart, bool* pEnd, int32_t index, int32_t rows, SEventWindowInfo*
      pCurWin, SSessionKey* pNextWinKey, int32_t* pWinCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:547,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:563,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:587,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:592,1
    - Dst: decodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:586,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:575,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:553,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:570,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:554,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:592,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:592,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:544,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:566,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:582,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:579,1
    - Dst: decodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:572,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - buf
    - len
    - pOperator
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 595
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 595
    functionName: doStreamEventDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosDecodeFixedI64
    - decodeSSessionKey
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - tSimpleHashPut
    - GET_TASKID
    - decodeStreamBasicInfo
    - decodeSResultWindowInfo
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamEventDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pAggSup
    - pWinInfo
    argTypes:
    - SStreamAggSupporter*
    - SEventWindowInfo*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: setEventWindowFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setEventWindowFlag(SStreamAggSupporter* pAggSup, SEventWindowInfo*
      pWinInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - pPos
    - pAPI
    argTypes:
    - void*
    - SRowBuffPos*
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: reuseOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void reuseOutputBuf(void* pState, SRowBuffPos* pPos, SStateStore*
      pAPI) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_SESSION_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:234,1
    - Dst: removeSessionResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:236,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:222,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:233,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:260,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:274,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:274,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 74
    argCount: 13
    argNames:
    - pAggSup
    - pWinInfo
    - pNextWinKey
    - pTsData
    - starts
    - ends
    - rows
    - start
    - pResultRows
    - pStUpdated
    - pStDeleted
    - pRebuild
    - pWinRow
    argTypes:
    - SStreamAggSupporter*
    - SEventWindowInfo*
    - SSessionKey*
    - TSKEY*
    - bool*
    - bool*
    - int32_t
    - int32_t
    - SSHashObj*
    - SSHashObj*
    - SSHashObj*
    - bool*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 277
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 277
    functionName: updateEventWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - removeSessionResult
    - saveDeleteRes
    - qError
    - tstrerror
    - memcpy
    - TMIN
    - IS_INVALID_SESSION_WIN_KEY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateEventWindowInfo(SStreamAggSupporter* pAggSup, SEventWindowInfo*
      pWinInfo, SSessionKey* pNextWinKey, TSKEY* pTsData, bool* starts, bool* ends,
      int32_t rows, int32_t start, SSHashObj* pResultRows, SSHashObj* pStUpdated,
      SSHashObj* pStDeleted, bool* pRebuild, int32_t* pWinRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:599,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:601,1
    - Dst: doStreamEventEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:603,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:603,1
    - Dst: doStreamEventEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:607,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:610,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: doStreamEventSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - needSaveStreamOperatorInfo
    - doStreamEventEncodeOpState
    linkageType: ''
    returnType: void
    signature: 'void doStreamEventSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNextSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:299,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:302,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:301,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:300,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:305,1
    - Dst: setEventWindowFlag
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:308,1
    - Dst: compactTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:311,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:318,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:318,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 32
    argCount: 5
    argNames:
    - pOperator
    - pCurWin
    - pStUpdated
    - pStDeleted
    - pIsEnd
    argTypes:
    - SOperatorInfo*
    - SEventWindowInfo*
    - SSHashObj*
    - SSHashObj*
    - bool*
    constantsTouched: []
    func_position:
      end: 321
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 321
    functionName: compactEventWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_VALID_SESSION_WIN
    - releaseOutputBuf
    - compactTimeWindow
    - qError
    - setEventWindowFlag
    - tstrerror
    - getNextSessionWinInfo
    - GET_TASKID
    - inWinRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compactEventWindow(SOperatorInfo* pOperator, SEventWindowInfo*
      pCurWin, SSHashObj* pStUpdated, SSHashObj* pStDeleted, bool* pIsEnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: removeSessionResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pAggSup
    - pSeUpdated
    - pKey
    argTypes:
    - SStreamAggSupporter*
    - SSHashObj*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 326
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 326
    functionName: doDeleteEventWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - removeSessionResult
    linkageType: ''
    returnType: void
    signature: 'void doDeleteEventWindow(SStreamAggSupporter* pAggSup, SSHashObj*
      pSeUpdated, SSessionKey* pKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setEventWindowFlag
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pAggSup
    - pKey
    - pPos
    - pWinInfo
    argTypes:
    - SStreamAggSupporter*
    - SSessionKey*
    - SRowBuffPos*
    - SEventWindowInfo*
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: setEventWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - setEventWindowFlag
    linkageType: ''
    returnType: void
    signature: 'void setEventWindowInfo(SStreamAggSupporter* pAggSup, SSessionKey*
      pKey, SRowBuffPos* pPos, SEventWindowInfo* pWinInfo) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:365,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:367,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:376,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:391,1
    - Dst: setEventOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:378,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:407,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:418,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:439,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:463,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:494,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:437,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:432,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:371,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:383,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:387,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:406,1
    - Dst: setSessionWinOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:413,1
    - Dst: updateEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:415,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:424,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:427,1
    - Dst: doDeleteEventWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:429,1
    - Dst: isWindowIncomplete
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:431,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:433,1
    - Dst: compactEventWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:490,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:464,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:492,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:468,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:481,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:353,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:372,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:388,1
    - Dst: addEventAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:410,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:426,1
    - Dst: IS_NORMAL_EVENT_OP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:430,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:435,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:438,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:469,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:489,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:442,1
    - Dst: addEventAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:482,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:458,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:477,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:447,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:449,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:453,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:454,1
    - Dst: isWindowIncomplete
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:457,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:475,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:484,1
    - Dst: IS_NORMAL_EVENT_OP
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:462,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 132
    argCount: 4
    argNames:
    - pOperator
    - pSDataBlock
    - pSeUpdated
    - pStDeleted
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 496
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 496
    functionName: doStreamEventAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - colDataGetNumData
    - setSessionWinOutputInfo
    - colDataDestroy
    - filterSetDataFromSlotId
    - compactEventWindow
    - saveSessionOutputBuf
    - taosArrayGetSize
    - GET_TASKID
    - doDeleteEventWindow
    - isWindowIncomplete
    - qTrace
    - BIT_FLAG_TEST_MASK
    - doOneWindowAggImpl
    - saveResult
    - filterExecute
    - taosArrayGet
    - setEventOutputBuf
    - blockDataEnsureCapacity
    - checkExpiredData
    - IS_NORMAL_EVENT_OP
    - saveDeleteRes
    - qError
    - releaseOutputBuf
    - tSimpleHashPut
    - TMAX
    - tSimpleHashRemove
    - addEventAggNotifyEvent
    - getSessionHashKey
    - updateEventWindowInfo
    - tstrerror
    - appendDataToSpecialBlock
    linkageType: ''
    returnType: void
    signature: 'static void doStreamEventAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, SSHashObj* pSeUpdated, SSHashObj* pStDeleted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:831,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:837,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:839,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:833,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:838,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:840,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:842,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:844,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 850
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 850
    functionName: streamEventReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - qDebug
    - memcpy
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamEventReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pEnd
    - start
    - rows
    argTypes:
    - bool*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: getEndCondIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getEndCondIndex(bool* pEnd, int32_t start, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:508,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:515,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:513,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:509,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:514,1
    - Dst: encodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:516,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:520,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:523,1
    - Dst: encodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:526,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:530,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - len
    - pOperator
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 537
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 537
    functionName: doStreamEventEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - encodeSResultWindowInfo
    - taosCalcChecksum
    - tSimpleHashIterate
    - encodeSTimeWindowAggSupp
    - encodeStreamBasicInfo
    - taosEncodeFixedI32
    - encodeSSessionKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamEventEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:872,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:918,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:919,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:926,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:938,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:942,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:942,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:923,1
    - Dst: setEventWindowFlag
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:896,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:887,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:929,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:928,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:908,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:906,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:868,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:865,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:878,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:882,1
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:889,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:898,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:899,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:904,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:932,1
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:858,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:864,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:876,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:881,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:890,1
    - Dst: compactEventWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:903,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:909,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:910,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 944
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 944
    functionName: streamEventReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - compactEventWindow
    - saveSessionOutputBuf
    - GET_TASKID
    - setEventWindowFlag
    - saveResult
    - reloadAggSupFromDownStream
    - taosGetDefaultHashFunction
    - isCloseWindow
    - getSessionWindowInfoByKey
    - saveDeleteRes
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - TMAX
    - getSessionHashKey
    - tstrerror
    - strlen
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamEventReloadState(SOperatorInfo* pOperator) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:954,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:961,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:993,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1043,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1043,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1054,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1059,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1070,1
    - Dst: setRecalculateOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1065,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1082,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1094,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1103,1
    - Dst: doStreamEventDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1052,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1074,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:966,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:979,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:982,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1005,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1006,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1007,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1018,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1033,1
    - Dst: setFillHistoryOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1063,1
    - Dst: initDownStream
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1077,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1087,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:948,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:983,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:985,1
    - Dst: initBasicInfoEx
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:995,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:999,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1001,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1009,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1028,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1034,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1038,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1058,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1091,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1081,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1085,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1093,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:955,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:968,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:996,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1003,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1010,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1027,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1050,1
    - Dst: initNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1057,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1079,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1084,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1105,1
    - Dst: destroyStreamEventOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1102,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1039,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c:1088,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 131
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1107
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1107
    functionName: createStreamEventAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - setFillHistoryOperatorFlag
    - taosMemoryFree
    - taosMemoryCalloc
    - getDeleteMark
    - initExprSupp
    - GET_TASKID
    - taosArrayInit
    - initNonBlockAggSupptor
    - nodeType
    - destroyStreamEventOperatorInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - nodesCollectColumnsFromNode
    - initBasicInfoEx
    - taosGetDefaultHashFunction
    - initDownStream
    - setRecalculateOperatorFlag
    - doStreamEventDecodeOpState
    - initResultSizeInfo
    - appendDownstream
    - qError
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - filterInitFromNode
    - initStreamBasicInfo
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - tstrerror
    - strlen
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamEventAggOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SBufRowInfo*
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: hJoinGetSingleKeyRowsNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t hJoinGetSingleKeyRowsNum(SBufRowInfo* pRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:153,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:173,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:163,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:166,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SHJoinTableCtx*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 180
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 180
    functionName: hJoinInitKeyColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    - FOREACH
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitKeyColsInfo(SHJoinTableCtx* pTable, SNodeList*
      pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:388,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 406
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 406
    functionName: hJoinBuildResColsMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinBuildResColsMap(SHJoinOperatorInfo* pInfo, SHashJoinPhysiNode*
      pJoinNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:551,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:559,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:556,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:557,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:552,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - pJoin
    - pRes
    - startIdx
    - rows
    argTypes:
    - SHJoinOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 568
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 568
    functionName: hJoinCopyNMatchRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - colDataAssignNRows
    - taosArrayGet
    - QRY_ERR_RET
    - colDataSetNItemsNull
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinCopyNMatchRowsToBlock(SHJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, int32_t startIdx, int32_t rows) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:740,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:748,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:745,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - pPages
    - bufSize
    - pBuf
    - pRow
    argTypes:
    - SArray*
    - int32_t
    - char**
    - SBufRowInfo*
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: hJoinGetValBufFromPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinAddPageToBufs
    - taosArrayGetSize
    - taosArrayGetLast
    - qError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t hJoinGetValBufFromPages(SArray* pPages,
      int32_t bufSize, char** pBuf, SBufRowInfo* pRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:910,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:924,1
    - Dst: hJoinAddBlockRowsToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:918,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:925,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:924,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - queryDone
    argTypes:
    - struct SOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 932
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 932
    functionName: hJoinBuildHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinSetDone
    - IS_INNER_NONE_JOIN
    - tSimpleHashGetSize
    - hJoinAddBlockRowsToHash
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinBuildHash(struct SOperatorInfo* pOperator, bool*
      queryDone) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:142,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:143,1
    - Dst: hJoinGetSingleKeyRowsNum
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: hJoinGetRowsNumOfKeyHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - tSimpleHashGetKey
    - hJoinGetSingleKeyRowsNum
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t hJoinGetRowsNumOfKeyHash(SSHashObj* pHash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pList
    - blkId
    - colNum
    argTypes:
    - SNodeList*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: hJoinGetValColsNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void hJoinGetValColsNum(SNodeList* pList, int32_t blkId, int32_t*
      colNum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:413,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pRowBufs
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 422
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 422
    functionName: hJoinAddPageToBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t hJoinAddPageToBufs(SArray* pRowBufs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hJoinCopyResRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:587,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:590,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 3
    argNames:
    - pOperator
    - pRes
    - allFetched
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - bool*
    constantsTouched: []
    func_position:
      end: 595
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 595
    functionName: hJoinAppendResToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - hJoinCopyResRowsToBlock
    linkageType: ''
    returnType: void
    signature: 'void hJoinAppendResToBlock(struct SOperatorInfo* pOperator, SSDataBlock*
      pRes, bool* allFetched) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:768,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: hJoinGetValBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t hJoinGetValBufSize(SHJoinTableCtx* pTable,
      int32_t rowIdx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hJoinFilterTimeRange
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:938,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:952,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:946,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:939,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:952,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:954,1
    - Dst: hJoinSetValColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:958,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:971,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:977,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 980
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 980
    functionName: hJoinPrepareStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - IS_INNER_NONE_JOIN
    - hJoinLaunchPrimExpr
    - HJ_ERR_RET
    - hJoinFilterTimeRange
    - hJoinSetKeyColsData
    - hJoinSetValColsData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinPrepareStart(struct SOperatorInfo* pOperator,
      SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:323,1
    - Dst: hJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:323,1
    - Dst: hJoinInitKeyColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:325,1
    - Dst: hJoinInitValColsInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:329,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:334,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:336,1
    - Dst: hJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:336,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - pJoin
    - pJoinNode
    - pDownstream
    - idx
    - pStat
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    - SOperatorInfo**
    - int32_t
    - SQueryStat*
    constantsTouched: []
    func_position:
      end: 339
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 339
    functionName: hJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinInitKeyColsInfo
    - HJ_ERR_RET
    - TAOS_MEMCPY
    - hJoinInitPrimExprCtx
    - hJoinInitValColsInfo
    - hJoinInitPrimKeyInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitTableInfo(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode, SOperatorInfo** pDownstream, int32_t idx, SQueryStat* pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:425,1
    - Dst: hJoinAddPageToBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SHJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: hJoinInitBufPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinAddPageToBufs
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitBufPages(SHJoinOperatorInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:474,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:476,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:476,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pRowBufs
    - pRow
    - ppData
    argTypes:
    - SArray*
    - SBufRowInfo*
    - char**
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: hJoinRetrieveColDataFromRowBufs
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - QRY_ERR_RET
    - qError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t hJoinRetrieveColDataFromRowBufs(SArray*
      pRowBufs, SBufRowInfo* pRow, char** ppData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:603,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:608,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:616,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:621,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:621,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:622,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 637
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 637
    functionName: hJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_s
    - TAOS_MEMCPY
    linkageType: ''
    returnType: bool
    signature: 'bool hJoinCopyKeyColsDataToBuf(SHJoinTableCtx* pTable, int32_t rowIdx,
      size_t *pBufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1140
    functionName: hJoinGetFinBlkCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t hJoinGetFinBlkCapacity(SHJoinOperatorInfo* pJoin,
      SHashJoinPhysiNode* pJoinNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - blkRows
    argTypes:
    - SHJoinOperatorInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: hJoinBlkReachThreshold
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hJoinBlkReachThreshold(SHJoinOperatorInfo* pInfo, int64_t blkRows) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 384
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 384
    functionName: hJoinSetBuildAndProbeTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hJoinSetBuildAndProbeTable(SHJoinOperatorInfo* pInfo,
      SHashJoinPhysiNode* pJoinNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:434,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:436,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:435,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SHJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: hJoinFreeTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void hJoinFreeTableInfo(SHJoinTableCtx* pTable) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:495,1
    - Dst: hJoinRetrieveColDataFromRowBufs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:495,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:504,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:508,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:502,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:510,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:511,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:516,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:526,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:529,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:529,1
    - Dst: colDataCopyNItems
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:529,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:527,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - pJoin
    - rowNum
    - pStart
    - pRes
    argTypes:
    - SHJoinOperatorInfo*
    - int32_t
    - SBufRowInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 540
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 540
    functionName: hJoinCopyResRowsToBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_f
    - taosArrayGet
    - colDataSetVal
    - HJ_ERR_RET
    - colDataCopyNItems
    - hJoinRetrieveColDataFromRowBufs
    - colDataGetData
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinCopyResRowsToBlock(SHJoinOperatorInfo* pJoin,
      int32_t rowNum, SBufRowInfo* pStart, SSDataBlock* pRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:641,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:644,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:643,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:643,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:646,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:651,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 662
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 662
    functionName: hJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - QRY_ERR_RET
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinSetKeyColsData(SSDataBlock* pBlock, SHJoinTableCtx*
      pTable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1144,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1146,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1151,1
    - Dst: hJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1149,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1149,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1156,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1158,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1161,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1169
    functionName: hJoinInitResBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - hJoinGetFinBlkCapacity
    - blockDataEnsureCapacity
    - createDataBlockFromDescNode
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinInitResBlocks(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SHJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: hJoinSetImplFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinSetImplFp(SHJoinOperatorInfo* pJoin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - slotId
    - keyNum
    - pKeys
    - pKeyIdx
    argTypes:
    - int16_t
    - int32_t
    - SHJoinColInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: hJoinIsValColInKeyCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hJoinIsValColInKeyCols(int16_t slotId, int32_t keyNum,
      SHJoinColInfo* pKeys, int32_t* pKeyIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: hJoinFreeBufPage
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void hJoinFreeBufPage(void* param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:672,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:677,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:674,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:675,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:674,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:682,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 695
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 695
    functionName: hJoinSetValColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - QRY_ERR_RET
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinSetValColsData(SSDataBlock* pBlock, SHJoinTableCtx*
      pTable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:784,1
    - Dst: hJoinGetValBufSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:796,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:798,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:790,1
    - Dst: hJoinGetValBufFromPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:796,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:805,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - pJoin
    - pGroup
    - pTable
    - keyLen
    - rowIdx
    argTypes:
    - SHJoinOperatorInfo*
    - SGroupData*
    - SHJoinTableCtx*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 814
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 814
    functionName: hJoinAddRowToHashImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinGetValBufSize
    - taosMemoryFree
    - taosMemoryMalloc
    - hJoinGetValBufFromPages
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinAddRowToHashImpl(SHJoinOperatorInfo* pJoin, SGroupData*
      pGroup, SHJoinTableCtx* pTable, size_t keyLen, int32_t rowIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1083,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1090,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1091,1
    - Dst: hJoinFreeTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1089,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1087,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1093,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1094,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1097
    functionName: destroyHashJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - qDebug
    - hJoinFreeTableInfo
    - hJoinDestroyKeyHash
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyHashJoinOperator(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pBlock
    - pTable
    - startIdx
    - endIdx
    argTypes:
    - SSDataBlock*
    - SHJoinTableCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: hJoinLaunchPrimExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinLaunchPrimExpr(SSDataBlock* pBlock, SHJoinTableCtx* pTable,
      int32_t startIdx, int32_t endIdx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hJoinGetValColsNum
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:207,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:233,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:220,1
    - Dst: hJoinIsValColInKeyCols
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:224,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:236,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:241,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:253,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SHJoinTableCtx*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 257
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 257
    functionName: hJoinInitValColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryMalloc
    - hJoinIsValColInKeyCols
    - hJoinGetValColsNum
    - FOREACH
    - taosArrayPush
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitValColsInfo(SHJoinTableCtx* pTable, SNodeList*
      pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:459,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:464,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - ppHash
    argTypes:
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 466
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 466
    functionName: hJoinDestroyKeyHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - taosMemoryFree
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void hJoinDestroyKeyHash(SSHashObj** ppHash) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:706,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:717,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:713,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:716,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:716,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:720,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:721,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:724,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pTable
    - rowIdx
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 730
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 730
    functionName: hJoinCopyValColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_f
    - TAOS_MEMSET
    - TAOS_MEMCPY
    - colDataSetNull_f
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void hJoinCopyValColsDataToBuf(SHJoinTableCtx*
      pTable, int32_t rowIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hJoinSetValColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:818,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:823,1
    - Dst: hJoinCopyValColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:829,1
    - Dst: hJoinAddRowToHashImpl
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:824,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pJoin
    - pBlock
    - keyLen
    - rowIdx
    argTypes:
    - SHJoinOperatorInfo*
    - SSDataBlock*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 832
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 832
    functionName: hJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinCopyValColsDataToBuf
    - tSimpleHashGet
    - hJoinAddRowToHashImpl
    - hJoinSetValColsData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinAddRowToHash(SHJoinOperatorInfo* pJoin, SSDataBlock*
      pBlock, size_t keyLen, int32_t rowIdx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1105,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1105,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1112,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1112,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1119,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1119,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1122,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1122,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SHJoinOperatorInfo*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1130
    functionName: hJoinHandleConds
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - filterInitFromNode
    - HJ_ERR_RET
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinHandleConds(SHJoinOperatorInfo* pJoin, SHashJoinPhysiNode*
      pJoinNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pJoin
    - pCtx
    argTypes:
    - SHJoinOperatorInfo*
    - SHJoinCtx*
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: hJoinHandleMidRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinHandleMidRemains(SHJoinOperatorInfo* pJoin, SHJoinCtx*
      pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pTable
    - slotId
    argTypes:
    - SHJoinTableCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: hJoinInitPrimKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitPrimKeyInfo(SHJoinTableCtx* pTable, int32_t
      slotId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:835,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:842,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:841,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:837,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:837,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:855,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:856,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:863,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:869,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - pBlock
    - pRange
    - primSlot
    - startIdx
    - endIdx
    argTypes:
    - SSDataBlock*
    - STimeWindow*
    - int32_t
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 874
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 874
    functionName: hJoinFilterTimeRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - qError
    - taosArrayGetSize
    - taosbsearch
    linkageType: ''
    returnType: bool
    signature: 'static bool hJoinFilterTimeRange(SSDataBlock* pBlock, STimeWindow*
      pRange, int32_t primSlot, int32_t* startIdx, int32_t* endIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:983,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:988,1
    - Dst: hJoinDestroyKeyHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 989
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 989
    functionName: hJoinSetDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - setOperatorCompleted
    - qDebug
    - hJoinDestroyKeyHash
    linkageType: ''
    returnType: void
    signature: 'void hJoinSetDone(struct SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:63,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:63,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:64,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:68,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:68,1
    - Dst: blockDataShrinkNRows
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:69,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pCtx
    - ppMid
    - ppFin
    argTypes:
    - SHJoinCtx*
    - SSDataBlock**
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 80
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 80
    functionName: hJoinCopyMergeMidBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - HJ_ERR_RET
    - blockDataMergeNRows
    - blockDataShrinkNRows
    - blockDataMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hJoinCopyMergeMidBlk(SHJoinCtx* pCtx, SSDataBlock** ppMid,
      SSDataBlock** ppFin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:277,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:296,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:297,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:282,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:295,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:297,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:300,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:301,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:301,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SHJoinPrimExprCtx*
    - SHJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 307
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 307
    functionName: hJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSDB_TICK_PER_SECOND
    - varDataVal
    - offsetFromTz
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinInitPrimExprCtx(SNode* pNode, SHJoinPrimExprCtx*
      pCtx, SHJoinTableCtx* pTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hJoinFilterTimeRange
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:879,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:883,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:892,1
    - Dst: hJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:885,1
    - Dst: hJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:883,1
    - Dst: hJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pBlock
    - pJoin
    argTypes:
    - SSDataBlock*
    - SHJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 902
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 902
    functionName: hJoinAddBlockRowsToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - hJoinLaunchPrimExpr
    - HJ_ERR_RET
    - hJoinCopyKeyColsDataToBuf
    - hJoinFilterTimeRange
    - hJoinAddRowToHash
    - hJoinSetKeyColsData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinAddBlockRowsToHash(SSDataBlock* pBlock, SHJoinOperatorInfo*
      pJoin) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:999,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1025,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1039,1
    - Dst: hJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1041,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1070,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1070,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1014,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1049,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1057,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1056,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1072,1
    - Dst: hJoinBuildHash
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1013,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1051,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1067,1
    - Dst: hJoinPrepareStart
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1048,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1021,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1028,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1029,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1079
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 1079
    functionName: hJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - hJoinSetDone
    - doFilter
    - hJoinBlkReachThreshold
    - taosGetTimestampUs
    - qError
    - tstrerror
    - T_LONG_JMP
    - hJoinBuildHash
    - hJoinPrepareStart
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hJoinMainProcess(struct SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1191,1
    - Dst: hJoinBuildResColsMap
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1196,1
    - Dst: hJoinInitResBlocks
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1209,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1211,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1213,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1217,1
    - Dst: destroyHashJoinOperator
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1225,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1227,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1189,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1177,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1192,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1196,1
    - Dst: hJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1207,1
    - Dst: hJoinInitBufPages
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1198,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1201,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1174,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1178,1
    - Dst: hJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1192,1
    - Dst: hJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1194,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1201,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1207,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1209,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1215,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1191,1
    - Dst: HJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1198,1
    - Dst: hJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1211,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/hashjoinoperator.c:1213,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SHashJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1230
      start: 1172
    functionDepth: 0
    functionLinenumber: 1172
    functionLinenumberEnd: 1230
    functionName: createHashJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoinoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - destroyHashJoinOperator
    - hJoinInitBufPages
    - hJoinInitTableInfo
    - taosMemoryCalloc
    - setOperatorInfo
    - hJoinBuildResColsMap
    - HJ_ERR_JRET
    - appendDownstream
    - hJoinSetBuildAndProbeTable
    - tSimpleHashInit
    - hJoinInitResBlocks
    - qDebug
    - taosGetDefaultHashFunction
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - hJoinHandleConds
    - hJoinSetImplFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createHashJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t
      numOfDownstream, SHashJoinPhysiNode* pJoinNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:189,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:198,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:202,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:256,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:282,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:312,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:313,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:322,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:328,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:193,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:209,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:233,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:245,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:258,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:259,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:251,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:275,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:296,1
    - Dst: uError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:339,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:238,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:277,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:297,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:316,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:323,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:338,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:210,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:225,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:252,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:258,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:260,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:283,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:298,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 125
    argCount: 7
    argNames:
    - pInserter
    - ppReq
    - pDataBlock
    - pTSchema
    - uid
    - vgId
    - suid
    argTypes:
    - SDataInserterHandle*
    - SSubmitReq2**
    - SSDataBlock*
    - STSchema*
    - int64_t
    - int32_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 347
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 347
    functionName: buildSubmitReqFromBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - taosMemoryFree
    - tDestroySubmitTbData
    - varDataLen
    - taosMemoryCalloc
    - uError
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - varDataVal
    - taosArrayPush
    - tRowSort
    - taosArrayGet
    - taosHashGet
    - qError
    - tRowBuild
    - COL_VAL_NULL
    - tDestroySubmitReq
    - colDataIsNull_s
    - colDataGetVarData
    - COL_VAL_VALUE
    - POINTER_SHIFT
    - tRowMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSubmitReqFromBlock(SDataInserterHandle* pInserter, SSubmitReq2**
      ppReq, const SSDataBlock* pDataBlock, const STSchema* pTSchema, int64_t uid,
      int32_t vgId, tb_uid_t suid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:126,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:132,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:134,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pInserter
    - pMsg
    - msgLen
    - pTransporter
    - pEpset
    argTypes:
    - SDataInserterHandle*
    - void*
    - int32_t
    - void*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 148
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 148
    functionName: sendSubmitRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - asyncSendMsgToServer
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendSubmitRequest(SDataInserterHandle* pInserter, void*
      pMsg, int32_t msgLen, void* pTransporter, SEpSet* pEpset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:385,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:395,1
    - Dst: sendSubmitRequest
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:397,1
    - Dst: dataBlocksToSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:390,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:403,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    constantsTouched: []
    func_position:
      end: 413
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 413
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - dataBlocksToSubmitReq
    - tsem_wait
    - taosArrayPush
    - QRY_ERR_RET
    - sendSubmitRequest
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData*
      pInput, bool* pContinue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'static void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen,
      int64_t* pRawLen, bool* pQueryEnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 450
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 450
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t*
      size) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:67,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:74,1
    - Dst: tDecodeSSubmitRsp2
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:75,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:77,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:84,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:94,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:102,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:105,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:112,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:110,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 121
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 121
    functionName: inserterCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - taosMemoryFree
    - taosArrayGet
    - tDecodeSSubmitRsp2
    - taosMemoryCalloc
    - qError
    - tstrerror
    - qDebug
    - tsem_post
    - taosArrayGetSize
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t inserterCallback(void* param, SDataBuf* pMsg, int32_t code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:154,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:163,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:162,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:158,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:165,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:165,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:166,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - vgId
    - pReq
    - pData
    - pLen
    argTypes:
    - int32_t
    - SSubmitReq2*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 178
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 178
    functionName: submitReqToMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - taosMemoryFree
    - tEncodeSubmitReq
    - POINTER_SHIFT
    - tEncodeSize
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t submitReqToMsg(int32_t vgId, SSubmitReq2* pReq, void**
      pData, int32_t* pLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:355,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:360,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:367,1
    - Dst: buildSubmitReqFromBlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:368,1
    - Dst: submitReqToMsg
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:375,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:377,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - pInserter
    - pMsg
    - msgLen
    argTypes:
    - SDataInserterHandle*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 380
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 380
    functionName: dataBlocksToSubmitReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tDestroySubmitReq
    - taosMemoryFree
    - taosArrayGetSize
    - buildSubmitReqFromBlock
    - submitReqToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dataBlocksToSubmitReq(SDataInserterHandle* pInserter, void**
      pMsg, int32_t* msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:417,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:420,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 421
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 421
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'static void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:434,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:435,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:436,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    constantsTouched: []
    func_position:
      end: 443
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 443
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryFree
    - taosArrayDestroy
    - taosThreadMutexDestroy
    - nodesDestroyNode
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t destroyDataSinker(SDataSinkHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 457
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 457
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t*
      pFlags) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:464,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:497,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:501,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:501,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:505,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:505,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:513,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:515,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:515,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:522,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:522,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:530,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:531,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:536,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataInserter.c:533,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    constantsTouched: []
    func_position:
      end: 540
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 540
    functionName: createDataInserter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataInserter.c
    functionUses: []
    functionsReached:
    - destroyDataSinker
    - taosMemoryFree
    - tsem_init
    - taosMemoryCalloc
    - taosThreadMutexInit
    - nodesDestroyNode
    - FOREACH
    - taosHashPut
    - taosGetDefaultHashFunction
    - QRY_ERR_JRET
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataInserter(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle, void* pParam) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:202,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:202,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:233,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:259,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:295,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:212,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:212,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:213,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:215,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:239,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:246,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:231,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:248,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:192,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:205,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:238,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:269,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:273,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:275,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:258,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:280,1
    - Dst: setNullRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:221,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:243,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:249,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:256,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:256,1
    - Dst: setNullRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:264,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:270,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:279,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:288,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 5
    argNames:
    - pFillInfo
    - pBlock
    - pSrcBlock
    - ts
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 297
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 297
    functionName: doFillOneRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosTimeAdd
    - colDataSetNULL
    - fillIfWindowPseudoColumn
    - colDataSetVal
    - setNullRow
    - typeGetTypeModFromColInfo
    - colDataGetData
    - doSetUserSpecifiedValue
    - qError
    - tstrerror
    - T_LONG_JMP
    - setNotFillColumn
    - GET_FORWARD_DIRECTION_FACTOR
    - GET_DEST_SLOT_ID
    - taosGetLinearInterpolationVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void doFillOneRow(SFillInfo* pFillInfo, SSDataBlock* pBlock,
      SSDataBlock* pSrcBlock, int64_t ts, bool outOfBound) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:720,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:725,1
    - Dst: getNumOfResultsAfterFillGap
      Src: /src/tdengine/source/libs/executor/src/tfill.c:728,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 732
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 732
    functionName: taosFillHasMoreResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosNumOfRemainRows
    - getNumOfResultsAfterFillGap
    - FILL_IS_ASC_FILL
    linkageType: ''
    returnType: bool
    signature: 'bool taosFillHasMoreResults(SFillInfo* pFillInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - pFillInfo
    - pDstBlock
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 873
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 873
    functionName: fillShouldPause
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool fillShouldPause(SFillInfo* pFillInfo, const SSDataBlock*
      pDstBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1113,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1122,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1118,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1125,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1119,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1126,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1131,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1137,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1138,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - pFillInfo
    - pBlock
    - pSrcBlock
    - ts
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SSDataBlock*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1140
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1140
    functionName: doFillOneRow2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - tFillFromHeadForCol
    - tFillTrySaveColProgress
    - taosTimeAdd
    - tIsColFallBehind
    - tdListGetTail
    - qError
    - tstrerror
    - T_LONG_JMP
    - GET_FORWARD_DIRECTION_FACTOR
    - doFillOneCol
    linkageType: ''
    returnType: void
    signature: 'static void doFillOneRow2(SFillInfo* pFillInfo, SSDataBlock* pBlock,
      SSDataBlock* pSrcBlock, int64_t ts, bool outOfBound) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1171,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1175,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1173,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1179
    functionName: createNewSavedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - blockDataEnsureCapacity
    - createOneDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * createNewSavedBlock(struct SFillInfo* pFillInfo,
      SSDataBlock* pDstBlock, int32_t capacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:306,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pDstCol
    - rowIndex
    - pKey
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SGroupKeys*
    constantsTouched: []
    func_position:
      end: 314
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 314
    functionName: doSetVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataSetNULL
    - colDataSetVal
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSetVal(SColumnInfoData* pDstCol, int32_t rowIndex, const
      SGroupKeys* pKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:741,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:749,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:745,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:748,1
    - Dst: taosTimeCountIntervalForFill
      Src: /src/tdengine/source/libs/executor/src/tfill.c:754,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pFillInfo
    - ekey
    - maxNumOfRows
    argTypes:
    - SFillInfo*
    - TSKEY
    - int32_t
    constantsTouched: []
    func_position:
      end: 759
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 759
    functionName: getNumOfResultsAfterFillGap
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosNumOfRemainRows
    - FILL_IS_ASC_FILL
    - taosArrayGet
    - taosTimeCountIntervalForFill
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getNumOfResultsAfterFillGap(SFillInfo* pFillInfo, TSKEY ekey,
      int32_t maxNumOfRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:877,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 881
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 881
    functionName: getBlockCurTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: TSKEY
    signature: 'static TSKEY getBlockCurTs(const struct SFillInfo* pFillInfo, const
      SSDataBlock* pBlock, int32_t rowIdx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1143,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1160,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1159,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1161,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1151,1
    - Dst: destroyFillBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1162,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1163,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1166
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1166
    functionName: tryExtractReadyBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosArrayGet
    - tdListPopNode
    - destroyFillBlock
    - taosMemFreeClear
    - tdListGetHead
    linkageType: ''
    returnType: void
    signature: 'static void tryExtractReadyBlocks(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createNewSavedBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1183,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1195,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1207,1
    - Dst: tFillSaveBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1200,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1188,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1208,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 22
    argCount: 4
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    - ppFillBlock
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    - SFillBlock**
    constantsTouched: []
    func_position:
      end: 1210
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1210
    functionName: trySaveNewBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - tFillSaveBlock
    - createNewSavedBlock
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t trySaveNewBlock(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity, SFillBlock**ppFillBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdListAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - pFill
    - pBlock
    - pProgress
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1360
    functionName: tFillSaveBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - tdListAdd
    linkageType: ''
    returnType: SFillBlock*
    signature: 'SFillBlock * tFillSaveBlock(SFillInfo* pFill, SSDataBlock* pBlock,
      SArray* pProgress) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:156,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:157,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:164,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:170,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:174,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:181,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:182,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - pFillInfo
    - pCol
    - pDstColInfoData
    - rowIndex
    argTypes:
    - SFillInfo*
    - SFillColInfo*
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 185
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 185
    functionName: fillIfWindowPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosTimeAdd
    - colDataSetVal
    - qError
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: bool
    signature: 'bool fillIfWindowPseudoColumn(SFillInfo* pFillInfo, SFillColInfo*
      pCol, SColumnInfoData* pDstColInfoData, int32_t rowIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:76,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:79,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:84,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:81,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pBlock
    - pFillInfo
    - rowIdx
    - colIdx
    argTypes:
    - SSDataBlock*
    - SFillInfo*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 86
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 86
    functionName: setNullCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - fillIfWindowPseudoColumn
    - setNotFillColumn
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: 'static void setNullCol(SSDataBlock* pBlock, SFillInfo* pFillInfo,
      int32_t rowIdx, int32_t colIdx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:103,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:107,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:112,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:117,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:102,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:108,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:113,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:114,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:118,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:122,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:106,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:106,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:111,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:111,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:116,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:116,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:123,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:127,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:131,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:101,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:101,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:109,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:121,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:121,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:138,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:138,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 4
    argNames:
    - pDst
    - pVar
    - rowIndex
    - currentKey
    argTypes:
    - SColumnInfoData*
    - SVariant*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 141
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: doSetUserSpecifiedValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_UNSIGNED_NUMERIC_TYPE
    - colDataSetNULL
    - colDataSetVal
    - IS_SIGNED_NUMERIC_TYPE
    - typeGetTypeModFromColInfo
    - GET_TYPED_DATA
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetUserSpecifiedValue(SColumnInfoData* pDst, SVariant*
      pVar, int32_t rowIndex, int64_t currentKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:536,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:543,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:540,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/tfill.c:541,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - rowBuf
    - columnIndex
    - src
    - isNull
    argTypes:
    - SArray*
    - int32_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 547
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 547
    functionName: saveColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - memcpy
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void saveColData(SArray* rowBuf, int32_t columnIndex, const
      char* src, bool isNull) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 579
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 579
    functionName: taosNumOfRemainRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosNumOfRemainRows(SFillInfo* pFillInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pFillInfo
    - ts
    argTypes:
    - SFillInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 715
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 715
    functionName: taosFillUpdateStartTimestampInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosFillUpdateStartTimestampInfo(SFillInfo* pFillInfo, int64_t
      ts) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:996,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:991,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:996,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1020,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1013,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1041,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1061,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1060,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:997,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1004,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1008,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1015,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1024,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1037,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1038,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1066,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1066,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:988,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:988,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:999,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1021,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1026,1
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1046,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1050,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1054,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:989,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1022,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1019,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1040,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1051,1
    - Dst: setNotFillColumn
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1056,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1067,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 80
    argCount: 6
    argNames:
    - pFillInfo
    - pBlock
    - ts
    - colIdx
    - rowIdx
    - outOfBound
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - TSKEY
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1070
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1070
    functionName: doFillOneCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - fillIfWindowPseudoColumn
    - colDataSetVal
    - typeGetTypeModFromColInfo
    - doSetUserSpecifiedValue
    - colDataIsNull_s
    - colDataGetData
    - qError
    - tstrerror
    - T_LONG_JMP
    - setNotFillColumn
    - GET_DEST_SLOT_ID
    - setNullCol
    - taosGetLinearInterpolationVal
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: 'static bool doFillOneCol(SFillInfo* pFillInfo, SSDataBlock* pBlock,
      TSKEY ts, int32_t colIdx, int32_t rowIdx, bool outOfBound) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:43,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:52,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:51,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:49,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:48,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:55,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:60,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:62,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:62,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:63,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:65,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:68,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:67,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 4
    argNames:
    - pFillInfo
    - pDstColInfo
    - rowIndex
    - colIdx
    argTypes:
    - SFillInfo*
    - SColumnInfoData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 72
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 72
    functionName: setNotFillColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - doSetVal
    - FILL_IS_ASC_FILL
    - tstrerror
    - qError
    - T_LONG_JMP
    linkageType: ''
    returnType: bool
    signature: 'static bool setNotFillColumn(SFillInfo* pFillInfo, SColumnInfoData*
      pDstColInfo, int32_t rowIndex, int32_t colIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setNullCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pBlock
    - pFillInfo
    - rowIndex
    argTypes:
    - SSDataBlock*
    - SFillInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: setNullRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - setNullCol
    linkageType: ''
    returnType: void
    signature: 'static void setNullRow(SSDataBlock* pBlock, SFillInfo* pFillInfo,
      int32_t rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:568,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:563,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - resultCapacity
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int64_t
    constantsTouched: []
    func_position:
      end: 571
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 571
    functionName: appendFilledResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - tstrerror
    - doFillOneRow
    - QUERY_CHECK_CONDITION
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendFilledResult(SFillInfo* pFillInfo, SSDataBlock*
      pBlock, int64_t resultCapacity) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:592,1
    - Dst: taosResetFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:593,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:616,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:617,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:619,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:620,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:622,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:623,1
    - Dst: initBeforeAfterDataBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:628,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:635,1
    - Dst: taosDestroyFillInfo
      Src: /src/tdengine/source/libs/executor/src/tfill.c:636,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:635,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:625,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:629,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 13
    argNames:
    - skey
    - numOfFillCols
    - numOfNotFillCols
    - fillNullCols
    - capacity
    - pInterval
    - fillType
    - pCol
    - primaryTsSlotId
    - order
    - id
    - pTaskInfo
    - ppFillInfo
    argTypes:
    - TSKEY
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - SInterval*
    - int32_t
    - struct SFillColInfo*
    - int32_t
    - int32_t
    - char*
    - SExecTaskInfo*
    - SFillInfo**
    constantsTouched: []
    func_position:
      end: 640
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 640
    functionName: taosCreateFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initBeforeAfterDataBuf
    - taosMemoryCalloc
    - taosDestroyFillInfo
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - GET_DEST_SLOT_ID
    - taosResetFillInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosCreateFillInfo(TSKEY skey, int32_t numOfFillCols, int32_t
      numOfNotFillCols, int32_t fillNullCols, int32_t capacity, SInterval* pInterval,
      int32_t fillType, struct SFillColInfo* pCol, int32_t primaryTsSlotId, int32_t
      order, const char* id, SExecTaskInfo* pTaskInfo, SFillInfo** ppFillInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: taosFillNotStarted
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosFillNotStarted(const SFillInfo* pFillInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1077,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1086,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1088,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1090,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1093,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1094,1
    - Dst: TD_DLIST_NODE_NEXT
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1101,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 4
    argNames:
    - pFillInfo
    - ts
    - colIdx
    - outOfBound
    argTypes:
    - struct SFillInfo*
    - TSKEY
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1107
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1107
    functionName: tFillFromHeadForCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - TD_DLIST_NODE_NEXT
    - taosArrayGet
    - qError
    - doFillOneCol
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tFillFromHeadForCol(struct SFillInfo* pFillInfo, TSKEY
      ts, int32_t colIdx, bool outOfBound) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:319,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:328,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:335,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:329,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:338,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:339,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:342,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:344,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:347,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:353,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:345,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 356
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 356
    functionName: initBeforeAfterDataBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initBeforeAfterDataBuf(SFillInfo* pFillInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:363,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:364,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:372,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:371,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:374,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:380,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:381,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:383,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:384,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:386,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:389,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:390,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 4
    argNames:
    - pFillInfo
    - rowIndex
    - pRowVal
    - reset
    argTypes:
    - SFillInfo*
    - int32_t
    - SRowVal*
    - bool
    constantsTouched: []
    func_position:
      end: 399
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 399
    functionName: copyCurrentRowIntoBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveColData
    - colDataIsNull_s
    - colDataGetData
    - FILL_IS_ASC_FILL
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyCurrentRowIntoBuf(SFillInfo* pFillInfo, int32_t
      rowIndex, SRowVal* pRowVal, bool reset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pFillInfo
    - numOfRows
    - endKey
    argTypes:
    - SFillInfo*
    - int32_t
    - TSKEY
    constantsTouched: []
    func_position:
      end: 706
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 706
    functionName: taosFillSetStartInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosFillSetStartInfo(SFillInfo* pFillInfo, int32_t numOfRows,
      TSKEY endKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:764,1
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:768,1
    - Dst: DO_INTERPOLATION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:769,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:765,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/tfill.c:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - point
    - outputType
    - point1
    - point2
    - inputType
    - inputTypeMod
    argTypes:
    - SPoint*
    - int32_t
    - SPoint*
    - SPoint*
    - int32_t
    - STypeMod
    constantsTouched: []
    func_position:
      end: 774
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 774
    functionName: taosGetLinearInterpolationVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - SET_TYPED_DATA
    - DO_INTERPOLATION
    - GET_TYPED_DATA
    - IS_BOOLEAN_TYPE
    linkageType: ''
    returnType: void
    signature: 'void taosGetLinearInterpolationVal(SPoint* point, int32_t outputType,
      SPoint* point1, SPoint* point2, int32_t inputType, STypeMod inputTypeMod) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1215,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1220,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1217,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1231
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1231
    functionName: fillInitSavedBlockList
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - trySaveNewBlock
    - tdListNew
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillInitSavedBlockList(struct SFillInfo* pFillInfo,
      SSDataBlock* pDstBlock, int32_t capacity) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1263,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1257,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1274,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1305,1
    - Dst: tryExtractReadyBlocks
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1334,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1248,1
    - Dst: fillInitSavedBlockList
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1254,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1275,1
    - Dst: fillShouldPause
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1284,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1303,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1288,1
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1265,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1304,1
    - Dst: fillTrySaveRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1293,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1307,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1308,1
    - Dst: tIsColFallBehind
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1309,1
    - Dst: tFillFromHeadForCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1309,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1311,1
    - Dst: tFillTrySaveColProgress
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1318,1
    - Dst: doFillOneCol
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1320,1
    - Dst: doFillOneRow2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1269,1
    - Dst: trySaveNewBlock
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1286,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1291,1
    - Dst: doFillOneRow2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1312,1
    - Dst: tryResetColNextPrev
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1323,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1327,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1327,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1339,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 4
    argNames:
    - pFillInfo
    - pDstBlock
    - capacity
    - wantMoreBlock
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1345
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1345
    functionName: taosFillResultDataBlock2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - tFillFromHeadForCol
    - QUERY_CHECK_CODE
    - colDataSetVal
    - fillInitSavedBlockList
    - FILL_IS_ASC_FILL
    - doFillOneCol
    - doFillOneRow2
    - getBlockCurTs
    - taosTimeAdd
    - tIsColFallBehind
    - trySaveNewBlock
    - colDataGetData
    - tryResetColNextPrev
    - taosArrayGet
    - isListEmpty
    - tdListGetTail
    - tryExtractReadyBlocks
    - fillShouldPause
    - fillTrySaveRow
    - tFillTrySaveColProgress
    - colDataIsNull_s
    - GET_FORWARD_DIRECTION_FACTOR
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosFillResultDataBlock2(struct SFillInfo* pFillInfo, SSDataBlock*
      pDstBlock, int32_t capacity, bool* wantMoreBlock) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:416,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:465,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:448,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:468,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:469,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:473,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:479,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:480,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:485,1
    - Dst: doSetUserSpecifiedValue
      Src: /src/tdengine/source/libs/executor/src/tfill.c:505,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:502,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/tfill.c:515,1
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/tfill.c:407,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:417,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:408,1
    - Dst: doFillOneRow
      Src: /src/tdengine/source/libs/executor/src/tfill.c:429,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:445,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:455,1
    - Dst: copyCurrentRowIntoBuf
      Src: /src/tdengine/source/libs/executor/src/tfill.c:454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:484,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:486,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:499,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:491,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:466,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:471,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:487,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:489,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:496,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:530,1
    - Dst: doSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:405,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:421,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:438,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:453,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:463,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/tfill.c:490,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:500,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:506,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:530,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:494,1
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:498,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 141
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - outputRows
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 533
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 533
    functionName: fillResultImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataSetVal
    - FILL_IS_ASC_FILL
    - doFillOneRow
    - taosTimeAdd
    - colDataSetNULL
    - doSetVal
    - colDataGetData
    - taosArrayGet
    - copyCurrentRowIntoBuf
    - saveColData
    - doSetUserSpecifiedValue
    - qError
    - QUERY_CHECK_NULL
    - colDataIsNull_s
    - QUERY_CHECK_CONDITION
    - tstrerror
    - GET_FORWARD_DIRECTION_FACTOR
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillResultImpl(SFillInfo* pFillInfo, SSDataBlock* pBlock,
      int32_t outputRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFillInfo
    - pInput
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: taosFillSetInputDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosFillSetInputDataBlock(SFillInfo* pFillInfo, const SSDataBlock*
      pInput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosNumOfRemainRows
      Src: /src/tdengine/source/libs/executor/src/tfill.c:779,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:787,1
    - Dst: appendFilledResult
      Src: /src/tdengine/source/libs/executor/src/tfill.c:786,1
    - Dst: getNumOfResultsAfterFillGap
      Src: /src/tdengine/source/libs/executor/src/tfill.c:781,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:782,1
    - Dst: fillResultImpl
      Src: /src/tdengine/source/libs/executor/src/tfill.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:790,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/tfill.c:791,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/tfill.c:794,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:800,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - pFillInfo
    - p
    - capacity
    argTypes:
    - SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 803
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 803
    functionName: taosFillResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosNumOfRemainRows
    - QUERY_CHECK_CODE
    - fillResultImpl
    - getNumOfResultsAfterFillGap
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - qDebug
    - appendFilledResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosFillResultDataBlock(SFillInfo* pFillInfo, SSDataBlock*
      p, int32_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1234,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1240,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1243
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1243
    functionName: tryResetColNextPrev
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - FILL_IS_ASC_FILL
    linkageType: ''
    returnType: void
    signature: 'static void tryResetColNextPrev(struct SFillInfo* pFillInfo, int32_t
      colIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1349,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:1350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: destroyFillBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyFillBlock(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFillInfo
    - startTimestamp
    argTypes:
    - SFillInfo*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: taosResetFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosResetFillInfo(SFillInfo* pFillInfo, TSKEY startTimestamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - struct SFillInfo*
    constantsTouched: []
    func_position:
      end: 805
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 805
    functionName: getFillInfoStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getFillInfoStart(struct SFillInfo* pFillInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:886,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:891,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/tfill.c:897,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:908,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:909,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/tfill.c:911,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:912,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:915,1
    - Dst: saveColData
      Src: /src/tdengine/source/libs/executor/src/tfill.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:927,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:933,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:926,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 56
    argCount: 4
    argNames:
    - pFillInfo
    - rowIndex
    - pRowVal
    - blockCurTs
    argTypes:
    - SFillInfo*
    - int32_t
    - SRowVal*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 936
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 936
    functionName: copyCurrentRowIntoBuf2
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveColData
    - colDataIsNull_s
    - colDataGetData
    - FILL_IS_ASC_FILL
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyCurrentRowIntoBuf2(SFillInfo* pFillInfo, int32_t
      rowIndex, SRowVal* pRowVal, TSKEY blockCurTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:951,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:953,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:953,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pFillInfo
    - colIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 960
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 960
    functionName: tIsColFallBehind
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tIsColFallBehind(struct SFillInfo* pFillInfo, int32_t
      colIdx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:656,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:657,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:660,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:658,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:661,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tfill.c:662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:663,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:664,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:666,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:667,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:690,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:693,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:691,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/executor/src/tfill.c:692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:681,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tfill.c:689,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 695
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 695
    functionName: taosDestroyFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - tdListFreeP
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void*
    signature: 'void * taosDestroyFillInfo(SFillInfo* pFillInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tfill.c:812,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:829,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/tfill.c:817,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/tfill.c:828,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/tfill.c:830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/tfill.c:831,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/tfill.c:856,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tfill.c:858,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tfill.c:860,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tfill.c:860,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 7
    argNames:
    - pExpr
    - numOfFillExpr
    - pNotFillExpr
    - numOfNoFillExpr
    - pFillNullExpr
    - numOfFillNullExpr
    - pValNode
    argTypes:
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - struct SNodeListNode*
    constantsTouched: []
    func_position:
      end: 863
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 863
    functionName: createFillColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - LIST_LENGTH
    - taosMemoryFree
    - taosMemoryCalloc
    - qError
    - nodesValueNodeToVariant
    - tstrerror
    - QUERY_CHECK_NULL
    - taosVariantDestroy
    - nodesListGetNode
    linkageType: ''
    returnType: SFillColInfo*
    signature: 'SFillColInfo * createFillColInfo(SExprInfo* pExpr, int32_t numOfFillExpr,
      SExprInfo* pNotFillExpr, int32_t numOfNoFillExpr, SExprInfo* pFillNullExpr,
      int32_t numOfFillNullExpr, const struct SNodeListNode* pValNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FILL_IS_ASC_FILL
      Src: /src/tdengine/source/libs/executor/src/tfill.c:942,1
    - Dst: copyCurrentRowIntoBuf2
      Src: /src/tdengine/source/libs/executor/src/tfill.c:947,1
    - Dst: getBlockCurTs
      Src: /src/tdengine/source/libs/executor/src/tfill.c:943,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pFillInfo
    - pBlock
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: fillTrySaveRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - copyCurrentRowIntoBuf2
    - getBlockCurTs
    - FILL_IS_ASC_FILL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillTrySaveRow(struct SFillInfo* pFillInfo, const SSDataBlock*
      pBlock, int32_t rowIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:967,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tfill.c:972,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - pFillInfo
    - colIdx
    - pBlockNode
    - rowIdx
    argTypes:
    - struct SFillInfo*
    - int32_t
    - SListNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 978
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 978
    functionName: tFillTrySaveColProgress
    functionSourceFile: /src/tdengine/source/libs/executor/src/tfill.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool tFillTrySaveColProgress(struct SFillInfo* pFillInfo, int32_t
      colIdx, SListNode* pBlockNode, int32_t rowIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 3
    argNames:
    - pKey
    - data
    - index
    argTypes:
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: comparePullWinKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t comparePullWinKey(void* pKey, void* data, int32_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reloadFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - downstream
    - pInfo
    argTypes:
    - SOperatorInfo*
    - SStreamIntervalOperatorInfo*
    constantsTouched: []
    func_position:
      end: 560
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 560
    functionName: reloadFromDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - reloadFromDownStream
    linkageType: ''
    returnType: void
    signature: 'void reloadFromDownStream(SOperatorInfo* downstream, SStreamIntervalOperatorInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:681,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - pWin
    - groupId
    - pState
    - pTwSup
    - pStore
    argTypes:
    - STimeWindow*
    - uint64_t
    - void*
    - STimeWindowAggSupp*
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 687
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 687
    functionName: isDeletedStreamWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - hasIntervalWindow
    linkageType: ''
    returnType: bool
    signature: 'bool isDeletedStreamWindow(STimeWindow* pWin, uint64_t groupId, void*
      pState, STimeWindowAggSupp* pTwSup, SStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyFlusedPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2193
    functionName: destroyResultWinInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - destroyFlusedPos
    linkageType: ''
    returnType: void
    signature: 'void destroyResultWinInfo(void* pRes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getNextSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2708,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2713,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2717,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2709,1
    - Dst: isInWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2716,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2718,1
    - Dst: compactTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2723,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2732,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2732,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2732,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 7
    argNames:
    - pOperator
    - pCurWin
    - pStUpdated
    - pStDeleted
    - addGap
    - pWinNum
    - pIsEnd
    argTypes:
    - SOperatorInfo*
    - SResultWindowInfo*
    - SSHashObj*
    - SSHashObj*
    - bool
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 2735
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2735
    functionName: compactSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_VALID_SESSION_WIN
    - releaseOutputBuf
    - compactTimeWindow
    - qError
    - tstrerror
    - getNextSessionWinInfo
    - GET_TASKID
    - isInWindow
    - inWinRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compactSessionWindow(SOperatorInfo* pOperator, SResultWindowInfo*
      pCurWin, SSHashObj* pStUpdated, SSHashObj* pStDeleted, bool addGap, int32_t*
      pWinNum, bool* pIsEnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3472,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - key
    argTypes:
    - void**
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3475
      start: 3470
    functionDepth: 0
    functionLinenumber: 3470
    functionLinenumberEnd: 3475
    functionName: encodeSSessionKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - encodeSTimeWindow
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSSessionKey(void** buf, SSessionKey* key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3650,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3656,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3657,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3659,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3661,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3668
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3668
    functionName: copyDeleteSessionKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - tSimpleHashClear
    - saveDeleteRes
    - qError
    - tstrerror
    - tSimpleHashIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyDeleteSessionKey(SSHashObj* source, SSHashObj* dest) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pWin
    - ts
    argTypes:
    - SStateWindowInfo*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 4524
      start: 4519
    functionDepth: 0
    functionLinenumber: 4519
    functionLinenumberEnd: 4524
    functionName: isTsInWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isTsInWindow(SStateWindowInfo* pWin, TSKEY ts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:122,1
    - Dst: binarySearchCom
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:123,1
    - Dst: comparePullWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:127,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:130,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:129,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:131,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:132,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:133,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pPullInfo
    - pPullWins
    argTypes:
    - SPullWindowInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 143
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 143
    functionName: savePullWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - comparePullWinKey
    - taosArrayGet
    - binarySearchCom
    - TMAX
    - taosArrayGetSize
    - TMIN
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t savePullWindow(SPullWindowInfo* pPullInfo, SArray*
      pPullWins) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: hasSrcPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasSrcPrimaryKeyCol(SSteamOpBasicInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:692,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 6
    argNames:
    - pInterval
    - pBlockInfo
    - tsCols
    - startPos
    - eKey
    - pNextWin
    argTypes:
    - SInterval*
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - TSKEY
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: getNexWindowPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getNumOfRowsInTimeWindow
    - getNextQualifiedWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNexWindowPos(SInterval* pInterval, SDataBlockInfo* pBlockInfo,
      TSKEY* tsCols, int32_t startPos, TSKEY eKey, STimeWindow* pNextWin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2196,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2199,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2206,1
    - Dst: destroyFlusedPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 2209
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2209
    functionName: clearSessionGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - destroyFlusedPos
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearSessionGroupResInfo(SGroupResInfo* pGroupResInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2748,1
    - Dst: isInWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2749,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2751,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2750,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2749,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2754,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2755,1
    - Dst: doDeleteSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2756,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2757,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - pOperator
    - pCurWin
    argTypes:
    - SOperatorInfo*
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 2759
      start: 2737
    functionDepth: 0
    functionLinenumber: 2737
    functionLinenumberEnd: 2759
    functionName: compactSessionSemiWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - IS_VALID_SESSION_WIN
    - releaseOutputBuf
    - memcpy
    - TMAX
    - getNextSessionWinInfo
    - doDeleteSessionWindow
    - isInWindow
    - inWinRange
    linkageType: ''
    returnType: void
    signature: 'static void compactSessionSemiWindow(SOperatorInfo* pOperator, SResultWindowInfo*
      pCurWin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3478,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - key
    argTypes:
    - void*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3481
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3481
    functionName: decodeSSessionKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedU64
    - decodeSTimeWindow
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSSessionKey(void* buf, SSessionKey* key) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3714,1
    - Dst: doDeleteTimeWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3750,1
    - Dst: getAllSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3760,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3811,1
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3838,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3812,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3678,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3840,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3842,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3859,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3829,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3698,1
    - Dst: removeSessionResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3737,1
    - Dst: closeChildSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3825,1
    - Dst: createStreamFinalSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3711,1
    - Dst: buildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3744,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3849,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3857,1
    - Dst: doDeleteTimeWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3734,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3738,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3753,1
    - Dst: closeSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3822,1
    - Dst: resetUnCloseSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3693,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3698,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3845,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3857,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3716,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3791,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3799,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3685,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3710,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3739,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3786,1
    - Dst: getMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3835,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3678,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3735,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3761,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3769,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3826,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3754,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3813,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3792,1
    - Dst: buildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3684,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3776,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3804,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3857,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3816,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3678,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3703,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3715,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3726,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3740,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3817,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3861,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3782,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3727,1
    - Dst: doStreamSessionAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3836,1
    - Dst: doStreamSessionAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3807,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3731,1
    - Dst: rebuildSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3746,1
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3752,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3832,1
    - Dst: copyDeleteSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3839,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3844,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3801,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3756,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3799,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3770,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3749,1
    - Dst: doStreamSessionSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3768,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 185
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 3864
      start: 3670
    functionDepth: 0
    functionLinenumber: 3670
    functionLinenumberEnd: 3864
    functionName: doStreamSessionAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - removeSessionResults
    - projectApplyFunctions
    - setInputDataBlock
    - rebuildSessionWindow
    - GET_TASKID
    - taosArrayGetSize
    - closeChildSessionWindow
    - taosArrayInit
    - taosArrayDestroy
    - printDataBlock
    - removeSessionDeleteResults
    - IS_FINAL_SESSION_OP
    - setStreamOperatorState
    - taosArrayPush
    - taosGetDefaultHashFunction
    - buildSessionResult
    - doDeleteTimeWindows
    - resetUnCloseSessionWinInfo
    - getChildIndex
    - createStreamFinalSessionAggOperatorInfo
    - blockDataEnsureCapacity
    - doStreamSessionAggImpl
    - qError
    - doStreamSessionSaveCheckpoint
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - TMAX
    - getStreamOpName
    - getAllSessionWindow
    - copyDeleteSessionKey
    - copyDeleteWindowInfo
    - initGroupResInfoFromArrayList
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - closeSessionWindow
    - setStreamOperatorCompleted
    - qDebug
    - IS_NORMAL_SESSION_OP
    - getMaxTsWins
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamSessionAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4527,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pWin
    - pKeyData
    argTypes:
    - SStateWindowInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 4528
      start: 4526
    functionDepth: 0
    functionLinenumber: 4526
    functionLinenumberEnd: 4528
    functionName: isEqualStateKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - compareVal
    linkageType: ''
    returnType: bool
    signature: 'bool isEqualStateKey(SStateWindowInfo* pWin, char* pKeyData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - pInterval
    - pNext
    - pDataBlockInfo
    - primaryKeys
    - prevPosition
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: getNextQualifiedFinalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getFinalTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNextQualifiedFinalWindow(SInterval* pInterval, STimeWindow*
      pNext, SDataBlockInfo* pDataBlockInfo, TSKEY* primaryKeys, int32_t prevPosition) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2236,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2224,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2226,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2240,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2241,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2247,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2242,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2244,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2246,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2248,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2216,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2231,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2223,1
    - Dst: clearSessionGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2225,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2233,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2234,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2243,1
    - Dst: destroyNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2249,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2252
    functionName: destroyStreamSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - destroyStreamAggSupporter
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupResultInfoInStream
    - colDataDestroy
    - blockDataDestroy
    - clearSessionGroupResInfo
    - taosArrayDestroyEx
    - destroyOperator
    - cleanupExprSupp
    - taosArrayGetSize
    - taosMemoryFreeClear
    - destroyNonBlockAggSupptor
    - destroyStreamBasicInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamSessionAggOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - pPos
    - pAPI
    argTypes:
    - void*
    - SRowBuffPos*
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 2494
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2494
    functionName: releaseOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void releaseOutputBuf(void* pState, SRowBuffPos* pPos, SStateStore*
      pAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pAggSup
    - pWinInfo
    argTypes:
    - SStreamAggSupporter*
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 2766
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2766
    functionName: saveSessionOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveSessionOutputBuf(SStreamAggSupporter* pAggSup, SResultWindowInfo*
      pWinInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3381,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3382,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3385,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3385,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3412,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3397,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3425,1
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3388,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3397,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3404,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3397,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3413,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3415,1
    - Dst: doBuildDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3406,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3415,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3415,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3425,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3425,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3385,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3401,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3420,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 3429
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3429
    functionName: buildSessionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - QUERY_CHECK_CODE
    - addAggResultNotifyEvent
    - addAggDeleteNotifyEvent
    - taosArrayGet
    - printDataBlock
    - removeOutdatedNotifyEvents
    - taosArrayGetSize
    - BIT_FLAG_TEST_MASK
    - qError
    - doBuildSessionResult
    - buildNotifyEventBlock
    - tstrerror
    - IS_NORMAL_SESSION_OP
    - GET_TASKID
    - doBuildDeleteDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSessionResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4888,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4895,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4893,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4889,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4894,1
    - Dst: encodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4896,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4900,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4903,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4904,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4906,1
    - Dst: encodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4914,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4919,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4911,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4920,1
    - Dst: doStreamStateEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4907,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 4927
      start: 4878
    functionDepth: 0
    functionLinenumber: 4878
    functionLinenumberEnd: 4927
    functionName: doStreamStateEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - encodeSResultWindowInfo
    - taosCalcChecksum
    - tSimpleHashIterate
    - doStreamStateEncodeOpState
    - taosEncodeFixedI64
    - encodeSTimeWindowAggSupp
    - taosArrayGetSize
    - encodeStreamBasicInfo
    - taosEncodeFixedI32
    - encodeSSessionKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamStateEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1080,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1073,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1086,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1099,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1106,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1106,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1115,1
    - Dst: getNexWindowPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1116,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1120,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1153,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1179,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1234,1
    - Dst: addIntervalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1177,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1234,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1060,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1087,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1091,1
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1100,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1113,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1105,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1125,1
    - Dst: isDeletedStreamWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1132,1
    - Dst: addPullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1172,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1198,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1097,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1112,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1108,1
    - Dst: savePullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1137,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1143,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1152,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1174,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1203,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1208,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1084,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1109,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1102,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1139,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1161,1
    - Dst: setIntervalOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1170,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1175,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1187,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1196,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1197,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1215,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1213,1
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1202,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1222,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1226,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1234,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 163
    argCount: 5
    argNames:
    - pOperator
    - pSDataBlock
    - groupId
    - pUpdatedMap
    - pDeletedMap
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - uint64_t
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1237
    functionName: doStreamIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getNumOfRowsInTimeWindow
    - blockDataUpdateTsWindow
    - inSlidingWindow
    - getActiveTimeWindow
    - IS_FINAL_INTERVAL_OP
    - GET_TASKID
    - setIntervalOutputBuf
    - colDataGetData
    - colDataGetRowLength
    - BIT_FLAG_TEST_MASK
    - isDeletedStreamWindow
    - updateTimeWindowInfo
    - isCloseWindow
    - getChildIndex
    - taosArrayGet
    - checkExpiredData
    - addPullWindow
    - taosHashGet
    - savePullWindow
    - qError
    - getFinalTimeWindow
    - tSimpleHashPut
    - TMAX
    - addIntervalAggNotifyEvent
    - taosArraySearchIdx
    - hasSrcPrimaryKeyCol
    - saveWinResult
    - applyAggFunctionOnPartialTuples
    - tstrerror
    - IS_NORMAL_INTERVAL_OP
    - getNexWindowPos
    - getNextQualifiedFinalWindow
    - getStartTsKey
    - qDebug
    - getNextQualifiedWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamIntervalAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, uint64_t groupId, SSHashObj* pUpdatedMap, SSHashObj* pDeletedMap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2256,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 6
    argNames:
    - pBasicInfo
    - pSup
    - pExprInfo
    - numOfCols
    - pResultBlock
    - pStore
    argTypes:
    - SOptrBasicInfo*
    - SExprSupp*
    - SExprInfo*
    - int32_t
    - SSDataBlock*
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 2267
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2267
    functionName: initBasicInfoEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - initExprSupp
    - initBasicInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initBasicInfoEx(SOptrBasicInfo* pBasicInfo, SExprSupp* pSup,
      SExprInfo* pExprInfo, int32_t numOfCols, SSDataBlock* pResultBlock, SFunctionStateStore*
      pStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2500,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2501,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2505,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2504,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2503,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2507,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pAggSup
    - pHashMap
    - pResMap
    - pKey
    argTypes:
    - SStreamAggSupporter*
    - SSHashObj*
    - SSHashObj*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2509
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2509
    functionName: removeSessionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getSessionHashKey
    - qTrace
    - tSimpleHashGet
    - releaseOutputBuf
    - tSimpleHashRemove
    linkageType: ''
    returnType: void
    signature: 'void removeSessionResult(SStreamAggSupporter* pAggSup, SSHashObj*
      pHashMap, SSHashObj* pResMap, SSessionKey* pKey) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2787,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2791,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2793,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2808,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2822,1
    - Dst: setSessionWinOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2832,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2872,1
    - Dst: updateSessionWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2843,1
    - Dst: compactSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2845,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2848,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2856,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2862,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2872,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2872,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2781,1
    - Dst: setSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2818,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2810,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2811,1
    - Dst: addSessionAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2825,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2849,1
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2851,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2802,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2806,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2806,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2807,1
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2819,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2852,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2864,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 91
    argCount: 6
    argNames:
    - pOperator
    - pSDataBlock
    - pStUpdated
    - pStDeleted
    - hasEndTs
    - addGap
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 2874
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2874
    functionName: doStreamSessionAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSessionWinOutputInfo
    - compactSessionWindow
    - saveSessionOutputBuf
    - GET_TASKID
    - IS_FINAL_SESSION_OP
    - colDataGetData
    - colDataGetRowLength
    - BIT_FLAG_TEST_MASK
    - updateSessionWindowInfo
    - setSessionOutputBuf
    - doOneWindowAggImpl
    - saveResult
    - taosArrayGet
    - checkExpiredData
    - saveDeleteRes
    - qError
    - tSimpleHashPut
    - TMAX
    - getSessionHashKey
    - hasSrcPrimaryKeyCol
    - addSessionAggNotifyEvent
    - tstrerror
    - IS_NORMAL_SESSION_OP
    linkageType: ''
    returnType: void
    signature: 'static void doStreamSessionAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, SSHashObj* pStUpdated, SSHashObj* pStDeleted, bool hasEndTs, bool
      addGap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3434,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3443,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3440,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3438,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3451,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3454,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3457,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3465,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3465,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - pAllWins
    - pMaxWins
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3468
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3468
    functionName: getMaxTsWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getMaxTsWins(const SArray* pAllWins, SArray* pMaxWins) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4938,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4958,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4963,1
    - Dst: doStreamStateDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4979,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4972,1
    - Dst: decodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4965,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4984,1
    - Dst: decodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4992,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4946,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4948,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4968,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4980,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4976,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4935,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4945,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4955,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4978,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4998,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4998,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 5
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    - ppBuf
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    - bool
    - void**
    constantsTouched: []
    func_position:
      end: 5001
      start: 4929
    functionDepth: 0
    functionLinenumber: 4929
    functionLinenumberEnd: 5001
    functionName: doStreamStateDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosDecodeFixedI64
    - doStreamStateDecodeOpState
    - decodeSSessionKey
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - tSimpleHashPut
    - GET_TASKID
    - decodeStreamBasicInfo
    - decodeSResultWindowInfo
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamStateDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent, void** ppBuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initIntervalDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:586,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:599,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:599,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:599,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - downstream
    - type
    - pInfo
    - pBasic
    argTypes:
    - SOperatorInfo*
    - uint16_t
    - SStreamIntervalOperatorInfo*
    - struct SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: initIntervalDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initIntervalDownStream
    - hasSrcPrimaryKeyCol
    - qError
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initIntervalDownStream(SOperatorInfo* downstream, uint16_t
      type, SStreamIntervalOperatorInfo* pInfo, struct SSteamOpBasicInfo* pBasic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: clearSpecialDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    linkageType: ''
    returnType: void
    signature: 'static void clearSpecialDataBlock(SSDataBlock* pBlock) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:808,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:811,1
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:828,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:855,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:856,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:858,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:800,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:814,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:821,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:825,1
    - Dst: doDeleteWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:827,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:834,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:819,1
    - Dst: savePullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:844,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:845,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:815,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:818,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:842,1
    - Dst: addPullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:851,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:873,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:873,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:798,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:802,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:813,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:817,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:826,1
    - Dst: IS_MID_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:836,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:839,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:852,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:864,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:848,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 62
    argCount: 8
    argNames:
    - pBlock
    - pMap
    - pFinalMap
    - pInterval
    - pPullWins
    - numOfCh
    - pOperator
    - pBeOver
    argTypes:
    - SSDataBlock*
    - SHashObj*
    - SHashObj*
    - SInterval*
    - SArray*
    - int32_t
    - SOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 876
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 876
    functionName: processPullOver
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_MID_INTERVAL_OP
    - taosArrayGetSize
    - taosArrayDestroy
    - taosTimeAdd
    - qTrace
    - taosArrayRemove
    - doDeleteWindow
    - taosHashRemove
    - taosArrayPush
    - getChildIndex
    - taosArrayGet
    - addPullWindow
    - taosHashGet
    - savePullWindow
    - getFinalTimeWindow
    - qError
    - tSimpleHashPut
    - taosArraySearchIdx
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processPullOver(SSDataBlock* pBlock, SHashObj* pMap,
      SHashObj* pFinalMap, SInterval* pInterval, SArray* pPullWins, int32_t numOfCh,
      SOperatorInfo* pOperator, bool* pBeOver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 923
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 923
    functionName: clearFunctionContext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clearFunctionContext(SExprSupp* pSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_SESSION_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - pAggSup
    - startTs
    - endTs
    - groupId
    - pKey
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - TSKEY
    - uint64_t
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2411
    functionName: getCurSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - SET_SESSION_WIN_KEY_INVALID
    linkageType: ''
    returnType: void
    signature: 'void getCurSessionWindow(SStreamAggSupporter* pAggSup, TSKEY startTs,
      TSKEY endTs, uint64_t groupId, SSessionKey* pKey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:624,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:614,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:615,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:627,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:629,1
    - Dst: fmGetFuncName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:631,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:632,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:632,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:641,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:641,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:641,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:633,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:635,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 5
    argNames:
    - pDestCtx
    - pSourceCtx
    - numOfOutput
    - pTaskInfo
    - pTimeWindowData
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - int32_t
    - SExecTaskInfo*
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 644
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 644
    functionName: compactFunctions
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - functionNeedToExecute
    - GET_RES_INFO
    - fmGetFuncName
    - qError
    - tstrerror
    - taosMemoryFreeClear
    - fmIsWindowPseudoColumnFunc
    - GET_ROWCELL_INTERBUF
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compactFunctions(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx, int32_t numOfOutput, SExecTaskInfo* pTaskInfo, SColumnInfoData*
      pTimeWindowData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:760,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:751,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:769,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:773,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:748,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:766,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:783,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:741,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:752,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:755,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:782,1
    - Dst: clearSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:742,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:747,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:757,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:759,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:768,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:771,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:787,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - array
    - pIndex
    - pBlock
    argTypes:
    - SArray*
    - int32_t*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 789
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 789
    functionName: doBuildPullDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayClear
    - taosArrayGet
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - clearSpecialDataBlock
    - blockDataUpdateTsWindow
    - qError
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void doBuildPullDataBlock(SArray* array, int32_t* pIndex, SSDataBlock*
      pBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:881,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:883,1
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:884,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:885,1
    - Dst: savePullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:890,1
    - Dst: addPullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:891,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:892,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:896,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:898,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:903,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:906,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:907,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:914,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:902,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:905,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - wins
    - pInfo
    - childId
    argTypes:
    - SArray*
    - SStreamIntervalOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 917
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 917
    functionName: addRetriveWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - addPullWindow
    - taosHashGet
    - savePullWindow
    - getFinalTimeWindow
    - qError
    - tstrerror
    - qDebug
    - tSimpleHashPut
    - taosHashPut
    - taosArrayGetSize
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addRetriveWindow(SArray* wins, SStreamIntervalOperatorInfo*
      pInfo, int32_t childId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pPos
    - pResult
    - pStore
    argTypes:
    - void*
    - SRowBuffPos*
    - SResultRow**
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 927
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 927
    functionName: getOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getOutputBuf(void* pState, SRowBuffPos* pPos, SResultRow**
      pResult, SStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pWinInfo
    argTypes:
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2413
    functionName: isInvalidSessionWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isInvalidSessionWin(SResultWindowInfo* pWinInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5960,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5966,1
    - Dst: addPullWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5965,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5962,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5963,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5967,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5972,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5972,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - wins
    - pMidPullMap
    - numOfChild
    argTypes:
    - SArray*
    - SHashObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5975
      start: 5957
    functionDepth: 0
    functionLinenumber: 5957
    functionLinenumberEnd: 5975
    functionName: addMidRetriveWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - addPullWindow
    - taosHashGet
    - qError
    - tstrerror
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addMidRetriveWindow(SArray* wins, SHashObj* pMidPullMap,
      int32_t numOfChild) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_SESSION_WIN_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4561,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pAggSup
    - pNextWin
    - asc
    argTypes:
    - SStreamAggSupporter*
    - SStateWindowInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 4572
      start: 4546
    functionDepth: 0
    functionLinenumber: 4546
    functionLinenumberEnd: 4572
    functionName: getNextStateWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - SET_SESSION_WIN_INVALID
    linkageType: ''
    returnType: void
    signature: 'void getNextStateWin(const SStreamAggSupporter* pAggSup, SStateWindowInfo*
      pNextWin, bool asc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 2
    argNames:
    - pKey1
    - pKey2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1258
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1258
    functionName: winPosCmprImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int winPosCmprImpl(const void* pKey1, const void* pKey2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1507,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1511,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1511,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1509,1
    - Dst: doStreamIntervalEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1508,1
    - Dst: doStreamIntervalEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1515,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1517,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1518,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1521
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1521
    functionName: doStreamIntervalSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - needSaveStreamOperatorInfo
    - doStreamIntervalEncodeOpState
    linkageType: ''
    returnType: void
    signature: 'void doStreamIntervalSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pDummy
    - pCtx
    - nums
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2276
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2276
    functionName: initDummyFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initDummyFunction(SqlFunctionCtx* pDummy, SqlFunctionCtx* pCtx,
      int32_t nums) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2955,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2952,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2949,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2959,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2975,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2982,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2982,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2940,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2944,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2947,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2937,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2951,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2957,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2954,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2973,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2933,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2938,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2934,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2942,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2945,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2948,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2967,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2970,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2974,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 3
    argNames:
    - pOp
    - pBlock
    - pKey
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2985
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2985
    functionName: appendToDeleteDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - STR_WITH_MAXSIZE_TO_VARSTR
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendToDeleteDataBlock(SOperatorInfo* pOp, SSDataBlock
      *pBlock, SSessionKey *pKey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3055,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3070,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3066,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3079,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3091,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3096,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3107,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3121,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3122,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3059,1
    - Dst: getSessionWinBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3077,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3080,1
    - Dst: initSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3092,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3098,1
    - Dst: initSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3101,1
    - Dst: compactSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3062,1
    - Dst: setSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3086,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3088,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3093,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3131,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3131,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3084,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3097,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3100,1
    - Dst: compactFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3105,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3112,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3114,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3124,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3125,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 3
    argNames:
    - pOperator
    - pWinArray
    - pStUpdated
    argTypes:
    - SOperatorInfo*
    - SArray*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3134
      start: 3047
    functionDepth: 0
    functionLinenumber: 3047
    functionLinenumberEnd: 3134
    functionName: rebuildSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - compactSessionWindow
    - saveSessionOutputBuf
    - taosArrayGetSize
    - GET_TASKID
    - inWinRange
    - getSessionWinBuf
    - setSessionOutputBuf
    - saveResult
    - memcpy
    - updateTimeWindowInfo
    - initSessionOutputBuf
    - taosArrayGet
    - releaseOutputBuf
    - qError
    - TMAX
    - compactFunctions
    - getSessionHashKey
    - tstrerror
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rebuildSessionWindow(SOperatorInfo* pOperator, SArray*
      pWinArray, SSHashObj* pStUpdated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3506,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3507,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3512,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3513,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3511,1
    - Dst: encodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3514,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3521,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3522,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3524,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3529,1
    - Dst: encodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3532,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3537,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3538,1
    - Dst: doStreamSessionEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3525,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 3545
      start: 3496
    functionDepth: 0
    functionLinenumber: 3496
    functionLinenumberEnd: 3545
    functionName: doStreamSessionEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - encodeSResultWindowInfo
    - taosCalcChecksum
    - tSimpleHashIterate
    - taosEncodeFixedI64
    - encodeSTimeWindowAggSupp
    - doStreamSessionEncodeOpState
    - taosArrayGetSize
    - encodeStreamBasicInfo
    - taosEncodeFixedI32
    - encodeSSessionKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSessionEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3999,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4031,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4032,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4045,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3991,1
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4009,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4011,1
    - Dst: compactSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4016,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4024,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4027,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4023,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4036,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4049,1
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3993,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4004,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4017,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4037,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4049,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4049,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4003,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4020,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4028,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4039,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4051
      start: 3980
    functionDepth: 0
    functionLinenumber: 3980
    functionLinenumberEnd: 4051
    functionName: streamSessionReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - compactSessionWindow
    - saveSessionOutputBuf
    - GET_TASKID
    - saveResult
    - reloadAggSupFromDownStream
    - taosGetDefaultHashFunction
    - isCloseWindow
    - getSessionWindowInfoByKey
    - saveDeleteRes
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - TMAX
    - getSessionHashKey
    - tstrerror
    - strlen
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamSessionReloadState(SOperatorInfo* pOperator) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4426,1
    - Dst: createStreamFinalSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4429,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4421,1
    - Dst: createStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4408,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4440,1
    - Dst: doStreamSessionDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4450,1
    - Dst: IS_FINAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4456,1
    - Dst: destroyStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4465,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4473,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4431,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4437,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4473,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4411,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4419,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4451,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4448,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4452,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4473,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 6
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - numOfChild
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - int32_t
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 4476
      start: 4400
    functionDepth: 0
    functionLinenumber: 4400
    functionLinenumberEnd: 4476
    functionName: createStreamFinalSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createStreamFinalSessionAggOperatorInfo
    - taosMemoryFree
    - doStreamSessionDecodeOpState
    - IS_FINAL_SESSION_OP
    - setOperatorStreamStateFn
    - destroyStreamSessionAggOperatorInfo
    - qError
    - strlen
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - destroyOperator
    - createStreamSessionAggOperatorInfo
    - GET_TASKID
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamFinalSessionAggOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, int32_t numOfChild, SReadHandle*
      pHandle, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - winMap
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1267
    functionName: resetUnCloseWinInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    linkageType: ''
    returnType: void
    signature: 'static void resetUnCloseWinInfo(SSHashObj* winMap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1528,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1533,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1530,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1540,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pMap
    - pWins
    argTypes:
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1543
    functionName: copyIntervalDeleteKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - tSimpleHashClear
    - qError
    - tstrerror
    - tSimpleHashIterate
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyIntervalDeleteKey(SSHashObj* pMap, SArray* pWins) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2290,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2319,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2319,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2319,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 7
    argNames:
    - downstream
    - pAggSup
    - type
    - tsColIndex
    - pTwSup
    - pBasic
    - recalculateInterval
    argTypes:
    - SOperatorInfo*
    - SStreamAggSupporter*
    - uint16_t
    - int32_t
    - STimeWindowAggSupp*
    - struct SSteamOpBasicInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2322
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2322
    functionName: initDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasSrcPrimaryKeyCol
    - qError
    - tstrerror
    - GET_TASKID
    - initDownStream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initDownStream(SOperatorInfo* downstream, SStreamAggSupporter*
      pAggSup, uint16_t type, int32_t tsColIndex, STimeWindowAggSupp* pTwSup, struct
      SSteamOpBasicInfo* pBasic, int64_t recalculateInterval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2992,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2993,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3000,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2995,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2996,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3011,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3012,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3015,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3019,1
    - Dst: appendToDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3020,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3021,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3031,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3043,1
    - Dst: appendToDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3026,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3043,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3043,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 5
    argNames:
    - pOp
    - pStDeleted
    - pBlock
    - Ite
    - pGroupResInfo
    argTypes:
    - SOperatorInfo*
    - SSHashObj*
    - SSDataBlock*
    - void**
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 3045
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3045
    functionName: doBuildDeleteDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - tSimpleHashGetKey
    - taosArrayGet
    - tSimpleHashGetSize
    - blockDataEnsureCapacity
    - tSimpleHashClear
    - getNumOfTotalRes
    - qError
    - tSimpleHashIterate
    - tstrerror
    - GET_TASKID
    - appendToDeleteDataBlock
    - getMinWindowSize
    linkageType: ''
    returnType: void
    signature: 'void doBuildDeleteDataBlock(SOperatorInfo* pOp, SSHashObj* pStDeleted,
      SSDataBlock* pBlock, void** Ite, SGroupResInfo* pGroupResInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3141,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3146,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3148,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3145,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - pHashMap
    - pTwSup
    - pClosed
    argTypes:
    - SSHashObj*
    - STimeWindowAggSupp*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3158
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3158
    functionName: closeSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - qError
    - tstrerror
    - tSimpleHashIterate
    - tSimpleHashIterateRemove
    - saveResult
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t closeSessionWindow(SSHashObj* pHashMap, STimeWindowAggSupp*
      pTwSup, SSHashObj* pClosed) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3586,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3596,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3615,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3615,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3562,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3564,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3566,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3580,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3594,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3584,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3552,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3563,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3573,1
    - Dst: decodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3583,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3590,1
    - Dst: doStreamSessionDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3597,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3581,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3602,1
    - Dst: decodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3610,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - buf
    - len
    - pOperator
    - isParent
    - ppBuf
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    - bool
    - void**
    constantsTouched: []
    func_position:
      end: 3618
      start: 3547
    functionDepth: 0
    functionLinenumber: 3547
    functionLinenumberEnd: 3618
    functionName: doStreamSessionDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosDecodeFixedI64
    - doStreamSessionDecodeOpState
    - decodeSSessionKey
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - tSimpleHashPut
    - GET_TASKID
    - decodeStreamBasicInfo
    - decodeSResultWindowInfo
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSessionDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator, bool isParent, void** ppBuf) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4075,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4085,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4120,1
    - Dst: initBasicInfoEx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4113,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4125,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4134,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4184,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4208,1
    - Dst: destroyStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4204,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4208,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4070,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4089,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4093,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4105,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4143,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4153,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4153,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4169,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4179,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4206,1
    - Dst: setFillHistoryOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4174,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4062,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4077,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4090,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4100,1
    - Dst: initNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4151,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4170,1
    - Dst: initDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4196,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4186,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4061,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4074,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4084,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4112,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4124,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4149,1
    - Dst: setRecalculateOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4176,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4181,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4195,1
    - Dst: doStreamSessionDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4163,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 4210
      start: 4053
    functionDepth: 0
    functionLinenumber: 4053
    functionLinenumberEnd: 4210
    functionName: createStreamSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - setFillHistoryOperatorFlag
    - taosMemoryFree
    - doStreamSessionDecodeOpState
    - taosMemoryCalloc
    - getDeleteMark
    - initExprSupp
    - GET_TASKID
    - taosArrayInit
    - initNonBlockAggSupptor
    - nodeType
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initBasicInfoEx
    - taosGetDefaultHashFunction
    - initDownStream
    - setRecalculateOperatorFlag
    - initResultSizeInfo
    - appendDownstream
    - qError
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - initStreamBasicInfo
    - createOperatorFpSet
    - getStreamOpName
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - destroyStreamSessionAggOperatorInfo
    - tstrerror
    - strlen
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamSessionAggOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4483,1
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4485,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4494,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4496,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4498,1
    - Dst: clearSessionGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4491,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4500,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4501,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4513,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4509,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4511,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4512,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4516,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4503,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4490,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4492,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4508,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4505,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4506,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4507,1
    - Dst: destroyNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4514,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4517
      start: 4478
    functionDepth: 0
    functionLinenumber: 4478
    functionLinenumberEnd: 4517
    functionName: destroyStreamStateOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - cleanupExprSupp
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupResultInfoInStream
    - colDataDestroy
    - blockDataDestroy
    - clearSessionGroupResInfo
    - taosArrayDestroyEx
    - destroyOperator
    - destroyStreamAggSupporter
    - taosArrayGetSize
    - taosMemoryFreeClear
    - destroyNonBlockAggSupptor
    - destroyStreamBasicInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamStateOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:325,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:326,1
    - Dst: saveWinResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pHashMap
    - resWins
    argTypes:
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 340
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 340
    functionName: getAllIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - saveWinResultInfo
    - tSimpleHashIterate
    - tSimpleHashGetKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getAllIntervalWindow(SSHashObj* pHashMap, SSHashObj*
      resWins) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - pKey
    - pStore
    argTypes:
    - void*
    - SWinKey*
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 648
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 648
    functionName: hasIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasIntervalWindow(void* pState, SWinKey* pKey, SStateStore* pStore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:706,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:709,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:701,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:710,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMap
    - pWinRes
    - size
    argTypes:
    - SHashObj*
    - SWinKey*
    - int32_t
    constantsTouched: []
    func_position:
      end: 716
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 716
    functionName: addPullWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addPullWindow(SHashObj* pMap, SWinKey* pWinRes, int32_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1369,1
    - Dst: encodeSWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1376,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1380,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1403,1
    - Dst: encodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1406,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1410,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1384,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1388,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1392,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1395,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1375,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1374,1
    - Dst: encodeSPullWindowInfoArray
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1394,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1391,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1411,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1370,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1383,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1387,1
    - Dst: encodeSWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1389,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - len
    - pOperator
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1417
    functionName: doStreamIntervalEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - taosArrayGet
    - tSimpleHashGetSize
    - taosHashIterate
    - taosHashGetSize
    - tSimpleHashIterate
    - taosHashGetKey
    - taosEncodeFixedI64
    - encodeSTimeWindowAggSupp
    - encodeSWinKey
    - encodeSPullWindowInfoArray
    - taosArrayGetSize
    - encodeStreamBasicInfo
    - taosEncodeFixedI32
    - taosCalcChecksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamIntervalEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2532,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2537,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2535,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2541,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2543,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2544,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pAggSup
    - pHashMap
    - pWins
    argTypes:
    - SStreamAggSupporter*
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2531
    functionDepth: 0
    functionLinenumber: 2531
    functionLinenumberEnd: 2548
    functionName: removeSessionResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getSessionHashKey
    - taosArrayGet
    - tSimpleHashGetSize
    - qTrace
    - tSimpleHashGet
    - releaseOutputBuf
    - tSimpleHashRemove
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void removeSessionResults(SStreamAggSupporter* pAggSup, SSHashObj*
      pHashMap, SArray* pWins) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2879,1
    - Dst: IS_INVALID_SESSION_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2889,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2881,1
    - Dst: getCurSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2888,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2883,1
    - Dst: doDeleteSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2892,1
    - Dst: saveDeleteInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2895,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2902,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2902,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 3
    argNames:
    - pAggSup
    - pBlock
    - result
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2905
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2905
    functionName: doDeleteTimeWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - saveDeleteInfo
    - qError
    - tstrerror
    - getCurSessionWindow
    - doDeleteSessionWindow
    - IS_INVALID_SESSION_WIN_KEY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doDeleteTimeWindows(SStreamAggSupporter* pAggSup, SSDataBlock*
      pBlock, SArray* result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3204,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3211,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3209,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3206,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pResWins
    - pStDeleted
    argTypes:
    - SArray*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3219
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3219
    functionName: copyDeleteWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getSessionHashKey
    - taosArrayGet
    - qError
    - tstrerror
    - tSimpleHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyDeleteWindowInfo(SArray* pResWins, SSHashObj* pStDeleted) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4257,1
    - Dst: clearStreamSessionOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4287,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4344,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4350,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4356,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4359,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4368,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4383,1
    - Dst: clearStreamSessionOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4388,1
    - Dst: buildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4372,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4366,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4386,1
    - Dst: doStreamSessionAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4349,1
    - Dst: buildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4265,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4273,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4307,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4314,1
    - Dst: getAllSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4324,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4325,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4347,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4348,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4369,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4363,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4257,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4257,1
    - Dst: clearStreamSessionOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4275,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4281,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4281,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4288,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4297,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4302,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4285,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4301,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4381,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4320,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4343,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4389,1
    - Dst: getMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4362,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4266,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4281,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4296,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4300,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4313,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4313,1
    - Dst: doStreamSessionSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4332,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4373,1
    - Dst: deleteSessionWinState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4319,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 122
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 4392
      start: 4247
    functionDepth: 0
    functionLinenumber: 4247
    functionLinenumberEnd: 4392
    functionName: doStreamSessionSemiAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - GET_TASKID
    - taosArrayInit
    - printDataBlock
    - clearStreamSessionOperator
    - removeSessionDeleteResults
    - setStreamOperatorState
    - taosGetDefaultHashFunction
    - buildSessionResult
    - clearFunctionContext
    - blockDataEnsureCapacity
    - doStreamSessionAggImpl
    - qError
    - doStreamSessionSaveCheckpoint
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - TMAX
    - getStreamOpName
    - getAllSessionWindow
    - initGroupResInfoFromArrayList
    - tstrerror
    - T_LONG_JMP
    - setStreamOperatorCompleted
    - qDebug
    - getMaxTsWins
    - deleteSessionWinState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamSessionSemiAggNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:345,1
    - Dst: binarySearchCom
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:357,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:375,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:393,1
    - Dst: compareWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:358,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:384,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:379,1
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:383,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:352,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:353,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:367,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:369,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:387,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:393,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:393,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:354,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:360,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:375,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 7
    argNames:
    - pHashMap
    - pTwSup
    - pInterval
    - pPullDataMap
    - closeWins
    - pDelWins
    - pOperator
    argTypes:
    - SSHashObj*
    - STimeWindowAggSupp*
    - SInterval*
    - SHashObj*
    - SSHashObj*
    - SArray*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 396
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 396
    functionName: closeStreamIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - GET_TASKID
    - tSimpleHashGetKey
    - compareWinKey
    - taosArrayGet
    - taosTimeAdd
    - qTrace
    - binarySearchCom
    - taosArrayRemove
    - taosHashGet
    - saveWinResult
    - qError
    - tstrerror
    - tSimpleHashIterate
    - tSimpleHashIterateRemove
    - qDebug
    - taosArrayGetSize
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t closeStreamIntervalWindow(SSHashObj* pHashMap, STimeWindowAggSupp*
      pTwSup, SInterval* pInterval, SHashObj* pPullDataMap, SSHashObj* closeWins,
      SArray* pDelWins, SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:660,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:672,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:667,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:672,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 10
    argNames:
    - pState
    - win
    - pResult
    - groupId
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    - pAggSup
    - pStore
    - pWinCode
    argTypes:
    - void*
    - STimeWindow*
    - SRowBuffPos**
    - int64_t
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    - SAggSupporter*
    - SStateStore*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 675
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 675
    functionName: setIntervalOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setResultRowInitCtx
    - tstrerror
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setIntervalOutputBuf(void* pState, STimeWindow* win, SRowBuffPos**
      pResult, int64_t groupId, SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t*
      rowEntryInfoOffset, SAggSupporter* pAggSup, SStateStore* pStore, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:719,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:721,1
    - Dst: clearDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamIntervalOperatorInfo*
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: clearStreamIntervalOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    - initResultRowInfo
    - clearDiskbasedBuf
    linkageType: ''
    returnType: void
    signature: 'static void clearStreamIntervalOperator(SStreamIntervalOperatorInfo*
      pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1435,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1467,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1461,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1476,1
    - Dst: decodeSPullWindowInfoArray
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1488,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1427,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1433,1
    - Dst: decodeSWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1444,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1452,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1457,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1479,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1482,1
    - Dst: decodeStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1495,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1501,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1501,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1453,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1464,1
    - Dst: decodeSWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1483,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1449,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1472,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1496,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1501,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 3
    argNames:
    - buf
    - len
    - pOperator
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1503
    functionName: doStreamIntervalDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosDecodeFixedI64
    - decodeSPullWindowInfoArray
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - taosArrayPush
    - tSimpleHashPut
    - taosHashPut
    - GET_TASKID
    - decodeSWinKey
    - decodeStreamBasicInfo
    - taosArrayInit
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: void
    signature: 'void doStreamIntervalDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isInWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2564,1
    - Dst: removeSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2567,1
    - Dst: isInWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2557,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2563,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2570,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2572,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2574,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2580,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 12
    argNames:
    - pAggSup
    - pWinInfo
    - pStartTs
    - pEndTs
    - groupId
    - rows
    - start
    - gap
    - pResultRows
    - pStUpdated
    - pStDeleted
    - pWinRos
    argTypes:
    - SStreamAggSupporter*
    - SResultWindowInfo*
    - TSKEY*
    - TSKEY*
    - uint64_t
    - int32_t
    - int32_t
    - int64_t
    - SSHashObj*
    - SSHashObj*
    - SSHashObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2583
    functionName: updateSessionWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - removeSessionResult
    - saveDeleteRes
    - qError
    - tstrerror
    - TMAX
    - memcpy
    - isInWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateSessionWindowInfo(SStreamAggSupporter* pAggSup, SResultWindowInfo*
      pWinInfo, TSKEY* pStartTs, TSKEY* pEndTs, uint64_t groupId, int32_t rows, int32_t
      start, int64_t gap, SSHashObj* pResultRows, SSHashObj* pStUpdated, SSHashObj*
      pStDeleted, int32_t* pWinRos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 2
    argNames:
    - pKey1
    - pKey2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2926
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 2926
    functionName: sessionKeyCompareAsc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'inline int32_t sessionKeyCompareAsc(const void* pKey1, const void*
      pKey2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamSessionSemiAggNext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4396,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4398
      start: 4394
    functionDepth: 0
    functionLinenumber: 4394
    functionLinenumberEnd: 4398
    functionName: doStreamSessionSemiAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - doStreamSessionSemiAggNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doStreamSessionSemiAgg(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1312,1
    - Dst: encodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1314,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - pPullInfo
    argTypes:
    - void**
    - SPullWindowInfo*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1316
    functionName: encodeSPullWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - encodeSTimeWindow
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSPullWindowInfo(void** buf, SPullWindowInfo* pPullInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedBool
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3485,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - key
    - outLen
    argTypes:
    - void**
    - SResultWindowInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3488
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3488
    functionName: encodeSResultWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - encodeSSessionKey
    - taosEncodeFixedBool
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSResultWindowInfo(void** buf, SResultWindowInfo* key,
      int32_t outLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5284,1
    - Dst: compactStateWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5300,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5301,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5303,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5306,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5307,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5314,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5324,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5339,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5271,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5280,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5281,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5291,1
    - Dst: compareWinStateKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5296,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5317,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5339,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5339,1
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5261,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5267,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5279,1
    - Dst: getStateWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5293,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5268,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5275,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5286,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5285,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5297,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5294,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5309,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5319,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5320,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5323,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5328,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5337,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 5341
      start: 5255
    functionDepth: 0
    functionLinenumber: 5255
    functionLinenumberEnd: 5341
    functionName: streamStateReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - saveSessionOutputBuf
    - GET_TASKID
    - compareWinStateKey
    - saveResult
    - reloadAggSupFromDownStream
    - taosGetDefaultHashFunction
    - isCloseWindow
    - saveDeleteRes
    - releaseOutputBuf
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - TMAX
    - taosMemoryFreeClear
    - getSessionHashKey
    - compactStateWindow
    - tstrerror
    - strlen
    - qDebug
    - getStateWindowInfoByKey
    linkageType: ''
    returnType: void
    signature: 'void streamStateReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1319,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1320,1
    - Dst: decodeSTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - pPullInfo
    argTypes:
    - void*
    - SPullWindowInfo*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1323
    functionName: decodeSPullWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedU64
    - decodeSTimeWindow
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSPullWindowInfo(void* buf, SPullWindowInfo* pPullInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedBool
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3491,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - buf
    - key
    - outLen
    argTypes:
    - void*
    - SResultWindowInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3494
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3494
    functionName: decodeSResultWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - decodeSSessionKey
    - taosDecodeFixedBool
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSResultWindowInfo(void* buf, SResultWindowInfo* key,
      int32_t outLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5345,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5390,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5400,1
    - Dst: initBasicInfoEx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5392,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5422,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5429,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5438,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5356,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5430,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5433,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5434,1
    - Dst: initNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5451,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5452,1
    - Dst: setFillHistoryOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5457,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5486,1
    - Dst: initDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5472,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5474,1
    - Dst: setRecalculateOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5459,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5477,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5352,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5367,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5382,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5410,1
    - Dst: doStreamStateDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5453,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5469,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5476,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5488,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5438,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5463,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5488,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5360,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5368,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5376,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5389,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5379,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5383,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5405,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5406,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5407,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5445,1
    - Dst: destroyStreamStateOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5485,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5467,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 117
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 5490
      start: 5343
    functionDepth: 0
    functionLinenumber: 5343
    functionLinenumberEnd: 5490
    functionName: createStreamStateAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - setFillHistoryOperatorFlag
    - taosMemoryFree
    - taosMemoryCalloc
    - getDeleteMark
    - initExprSupp
    - GET_TASKID
    - taosArrayInit
    - initNonBlockAggSupptor
    - nodeType
    - setOperatorInfo
    - destroyStreamStateOperatorInfo
    - createDataBlockFromDescNode
    - initBasicInfoEx
    - taosGetDefaultHashFunction
    - initDownStream
    - setRecalculateOperatorFlag
    - initResultSizeInfo
    - appendDownstream
    - qError
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - initStreamBasicInfo
    - extractColumnFromColumnNode
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - doStreamStateDecodeOpState
    - setOperatorStreamStateFn
    - tstrerror
    - strlen
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamStateAggOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1927
    functionName: getSelectivityBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSelectivityBufSize(SqlFunctionCtx* pCtx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:945,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:998,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1000,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1001,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1009,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:946,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:948,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:960,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:992,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:990,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1019,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1023,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1023,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:988,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:989,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:989,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:940,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:964,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:966,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1010,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1023,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 6
    argNames:
    - pOperator
    - pState
    - pBlock
    - pSup
    - pGroupResInfo
    - pSessionKeys
    argTypes:
    - SOperatorInfo*
    - void*
    - SSDataBlock*
    - SExprSupp*
    - SGroupResInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1025
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 1025
    functionName: buildDataBlockFromGroupRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - GET_ROWCELL_INTERBUF
    - TAOS_FAILED
    - colDataSetVal
    - blockDataUpdateTsWindow
    - strcmp
    - getNumOfTotalRes
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qDebug
    - doUpdateNumOfRows
    - getOutputBuf
    - memcpy
    - GET_TASKID
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void buildDataBlockFromGroupRes(SOperatorInfo* pOperator, void* pState,
      SSDataBlock* pBlock, SExprSupp* pSup, SGroupResInfo* pGroupResInfo, SArray*
      pSessionKeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1271,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1273,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - key
    argTypes:
    - void**
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: encodeSWinKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSWinKey(void** buf, SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2590,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 5
    argNames:
    - pWinInfo
    - pResult
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    argTypes:
    - SResultWindowInfo*
    - SResultRow**
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2591
    functionName: initSessionOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - setResultRowInitCtx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initSessionOutputBuf(SResultWindowInfo* pWinInfo, SResultRow**
      pResult, SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t* rowEntryInfoOffset) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6085,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6112,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6149,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6131,1
    - Dst: addMidRetriveWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6194,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6036,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6062,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6079,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6099,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6178,1
    - Dst: doDeleteWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6151,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6200,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6159,1
    - Dst: clearStreamIntervalOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6052,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6057,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6075,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6229,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6190,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6014,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6031,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6085,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6021,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6031,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6132,1
    - Dst: clearStreamIntervalOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6224,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6028,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6105,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6103,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6204,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6208,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6229,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6146,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6112,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6014,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6037,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6031,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6068,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6157,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6085,1
    - Dst: doDeleteWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6098,1
    - Dst: processPullOver
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6126,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6181,1
    - Dst: removeDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6185,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6141,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6177,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6180,1
    - Dst: doStreamMidIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6179,1
    - Dst: removeResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6101,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6058,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6086,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6022,1
    - Dst: clearStreamIntervalOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6030,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6202,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6107,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6160,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6014,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6068,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6067,1
    - Dst: doBuildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6109,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6128,1
    - Dst: buildMidIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6043,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6063,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6182,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6231,1
    - Dst: buildMidIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6142,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6061,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6079,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6092,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6102,1
    - Dst: doStreamIntervalSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6140,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6198,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6175,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6095,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6209,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 212
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6235
      start: 6005
    functionDepth: 0
    functionLinenumber: 6005
    functionLinenumberEnd: 6235
    functionName: doStreamMidIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - processPullOver
    - clearStreamIntervalOperator
    - projectApplyFunctions
    - tSimpleHashCleanup
    - taosArrayAddAll
    - setInputDataBlock
    - tSimpleHashIterate
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - buildIntervalResult
    - printDataBlock
    - setStreamOperatorState
    - taosArraySort
    - taosArrayPush
    - taosGetDefaultHashFunction
    - clearFunctionContext
    - blockDataEnsureCapacity
    - qInfo
    - initMultiResInfoFromArrayList
    - setOperatorCompleted
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - qError
    - isTaskKilled
    - doStreamIntervalSaveCheckpoint
    - removeResults
    - TMAX
    - removeDeleteResults
    - doStreamMidIntervalAggImpl
    - getStreamOpName
    - doBuildDeleteResult
    - addMidRetriveWindow
    - buildMidIntervalResult
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - qDebug
    - doDeleteWindows
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamMidIntervalAggNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSelectivityBufSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1932,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSup
    - numOfCols
    argTypes:
    - SExprSupp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1936
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1936
    functionName: getMaxFunResSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    - getSelectivityBufSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMaxFunResSize(SExprSupp* pSup, int32_t numOfCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1033,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1035,1
    - Dst: buildDataBlockFromGroupRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1041,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1034,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - pOperator
    - pState
    - pBlock
    - pGroupResInfo
    - pSessionKeys
    argTypes:
    - SOperatorInfo*
    - void*
    - SSDataBlock*
    - SGroupResInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1042
    functionName: doBuildStreamIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - blockDataCleanup
    - hasRemainResults
    - buildDataBlockFromGroupRes
    linkageType: ''
    returnType: void
    signature: 'void doBuildStreamIntervalResult(SOperatorInfo* pOperator, void* pState,
      SSDataBlock* pBlock, SGroupResInfo* pGroupResInfo, SArray* pSessionKeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1278,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1280,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - key
    argTypes:
    - void*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1282
    functionName: decodeSWinKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - taosDecodeFixedU64
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSWinKey(void* buf, SWinKey* key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2601,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2603,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2604,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2608,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2608,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 9
    argNames:
    - pTimeWindowData
    - pCurWin
    - pResult
    - startIndex
    - winRows
    - rows
    - numOutput
    - pOperator
    - winDelta
    argTypes:
    - SColumnInfoData*
    - SResultWindowInfo*
    - SResultRow**
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - SOperatorInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2611
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2611
    functionName: doOneWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - applyAggFunctionOnPartialTuples
    - qError
    - tstrerror
    - updateTimeWindowInfo
    - GET_TASKID
    - initSessionOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doOneWindowAggImpl(SColumnInfoData* pTimeWindowData, SResultWindowInfo*
      pCurWin, SResultRow** pResult, int32_t startIndex, int32_t winRows, int32_t
      rows, int32_t numOutput, SOperatorInfo* pOperator, int64_t winDelta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamMidIntervalAggNext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6241
      start: 6237
    functionDepth: 0
    functionLinenumber: 6237
    functionLinenumberEnd: 6241
    functionName: doStreamMidIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - doStreamMidIntervalAggNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doStreamMidIntervalAgg(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6244,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6246,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6244,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:6245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6247
      start: 6243
    functionDepth: 0
    functionLinenumber: 6243
    functionLinenumberEnd: 6247
    functionName: setStreamOperatorCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - GET_TASKID
    - setOperatorCompleted
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void setStreamOperatorCompleted(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5226,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5234,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5232,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5233,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5234,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5236,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5238,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 5244
      start: 5224
    functionDepth: 0
    functionLinenumber: 5224
    functionLinenumberEnd: 5244
    functionName: streamStateReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - qDebug
    - memcpy
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamStateReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4728,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4733,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pKey
    - pSeUpdate
    - pResults
    argTypes:
    - SSessionKey*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 4737
      start: 4726
    functionDepth: 0
    functionLinenumber: 4726
    functionLinenumberEnd: 4737
    functionName: isWinResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getSessionHashKey
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: 'static bool isWinResult(SSessionKey* pKey, SSHashObj* pSeUpdate, SSHashObj*
      pResults) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4774,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4779,1
    - Dst: setStateOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4806,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4799,1
    - Dst: addStateAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4804,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4803,1
    - Dst: addStateAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4809,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4811,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4816,1
    - Dst: IS_NORMAL_STATE_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4844,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4850,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4775,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4777,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4785,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4822,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4833,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4837,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4857,1
    - Dst: addStateAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4866,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4829,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4766,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4797,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4826,1
    - Dst: doDeleteSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4832,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4839,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4841,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4846,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4851,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4874,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4781,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4802,1
    - Dst: getNextStateWin
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4796,1
    - Dst: isWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4815,1
    - Dst: updateStateWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4820,1
    - Dst: setSessionWinOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4828,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4842,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4859,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4860,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4868,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4874,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 4
    argNames:
    - pOperator
    - pSDataBlock
    - pSeUpdated
    - pStDeleted
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 4876
      start: 4739
    functionDepth: 0
    functionLinenumber: 4739
    functionLinenumberEnd: 4876
    functionName: doStreamStateAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_VALID_SESSION_WIN
    - setSessionWinOutputInfo
    - setStateOutputBuf
    - saveSessionOutputBuf
    - GET_TASKID
    - qTrace
    - colDataGetData
    - isWinResult
    - BIT_FLAG_TEST_MASK
    - doOneWindowAggImpl
    - saveResult
    - taosArrayGet
    - blockDataEnsureCapacity
    - checkExpiredData
    - getNextStateWin
    - saveDeleteRes
    - releaseOutputBuf
    - qError
    - addStateAggNotifyEvent
    - TMAX
    - tSimpleHashRemove
    - tSimpleHashPut
    - getSessionHashKey
    - IS_NORMAL_STATE_OP
    - updateStateWindowInfo
    - colDataIsNull_s
    - tstrerror
    - appendDataToSpecialBlock
    - qDebug
    - doDeleteSessionWindow
    linkageType: ''
    returnType: void
    signature: 'static void doStreamStateAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, SSHashObj* pSeUpdated, SSHashObj* pStDeleted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compactTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5251,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 5
    argNames:
    - pOperator
    - pCurWin
    - pNextWin
    - pStUpdated
    - pStDeleted
    argTypes:
    - SOperatorInfo*
    - SResultWindowInfo*
    - SResultWindowInfo*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 5253
      start: 5246
    functionDepth: 0
    functionLinenumber: 5246
    functionLinenumberEnd: 5253
    functionName: compactStateWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - compactTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compactStateWindow(SOperatorInfo* pOperator, SResultWindowInfo*
      pCurWin, SResultWindowInfo* pNextWin, SSHashObj* pStUpdated, SSHashObj* pStDeleted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5005,1
    - Dst: doStreamStateEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5006,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5009,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5009,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5007,1
    - Dst: doStreamStateEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5013,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5016,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 5019
      start: 5003
    functionDepth: 0
    functionLinenumber: 5003
    functionLinenumberEnd: 5019
    functionName: doStreamStateSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - doStreamStateEncodeOpState
    - needSaveStreamOperatorInfo
    linkageType: ''
    returnType: void
    signature: 'void doStreamStateSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5697,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5706,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5737,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5741,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5750,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5761,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5806,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5821,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5822,1
    - Dst: destroyStreamFinalIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5847,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5707,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5708,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5719,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5738,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5751,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5744,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5743,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5772,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5775,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5838,1
    - Dst: initIntervalDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5837,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5841,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5752,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5773,1
    - Dst: getMaxFunResSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5789,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5801,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5811,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5813,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5819,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5823,1
    - Dst: doStreamIntervalDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5832,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5803,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5698,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5701,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5726,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5754,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5764,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5768,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5769,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5809,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5814,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5830,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5818,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 113
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 5851
      start: 5688
    functionDepth: 0
    functionLinenumber: 5688
    functionLinenumberEnd: 5851
    functionName: createStreamSingleIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryFree
    - taosMemoryCalloc
    - getDeleteMark
    - calcIntervalAutoOffset
    - doStreamIntervalDecodeOpState
    - destroyStreamFinalIntervalOperatorInfo
    - initExprSupp
    - GET_TASKID
    - taosArrayInit
    - getMaxFunResSize
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - taosGetDefaultHashFunction
    - initAggSup
    - initIntervalDownStream
    - initResultSizeInfo
    - appendDownstream
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamBasicInfo
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - strlen
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamSingleIntervalOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5035,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5036,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5063,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5056,1
    - Dst: doBuildDeleteDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5031,1
    - Dst: doBuildSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5042,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5058,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5049,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5064,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5068,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5068,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5030,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5033,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5045,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5033,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5033,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5045,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5045,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5068,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 5072
      start: 5021
    functionDepth: 0
    functionLinenumber: 5021
    functionLinenumberEnd: 5072
    functionName: buildStateResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - QUERY_CHECK_CODE
    - addAggResultNotifyEvent
    - addAggDeleteNotifyEvent
    - printDataBlock
    - removeOutdatedNotifyEvents
    - qError
    - BIT_FLAG_TEST_MASK
    - tstrerror
    - doBuildSessionResult
    - buildNotifyEventBlock
    - GET_TASKID
    - doBuildDeleteDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildStateResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5857,1
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5873,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5880,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5887,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5897,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5919,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5918,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5933,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5936,1
    - Dst: getNexWindowPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5898,1
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5913,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5914,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5937,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5945,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5953,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5953,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5868,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5886,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5890,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5923,1
    - Dst: setIntervalOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5906,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5872,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5925,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5922,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5953,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 3
    argNames:
    - pOperator
    - pSDataBlock
    - pUpdatedMap
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 5955
      start: 5853
    functionDepth: 0
    functionLinenumber: 5853
    functionLinenumberEnd: 5955
    functionName: doStreamMidIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - inSlidingWindow
    - GET_TASKID
    - setIntervalOutputBuf
    - updateTimeWindowInfo
    - getChildIndex
    - taosArrayGet
    - taosHashGet
    - getFinalTimeWindow
    - qError
    - tSimpleHashPut
    - TMAX
    - taosArraySearchIdx
    - saveWinResult
    - applyAggFunctionOnPartialTuples
    - tstrerror
    - getNextQualifiedFinalWindow
    - getNexWindowPos
    - getStartTsKey
    linkageType: ''
    returnType: void
    signature: 'static void doStreamMidIntervalAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pSDataBlock, SSHashObj* pUpdatedMap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:147,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - winInfo
    - pStUpdated
    argTypes:
    - SResultWindowInfo
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: saveResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashPut
    - qError
    - tSimpleHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveResult(SResultWindowInfo winInfo, SSHashObj* pStUpdated) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1906,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pOption
    argTypes:
    - SStreamNodeOption*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1908
    functionName: getDeleteMarkFromOption
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getDeleteMarkFromOption(SStreamNodeOption* pOption) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1944,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1953
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1953
    functionName: streamIntervalReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void streamIntervalReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2327
    functionName: sesionTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TSKEY
    signature: 'static TSKEY sesionTs(void* pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_SESSION_WIN_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2639,1
    - Dst: setSessionWinOutputInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2633,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pAggSup
    - pStUpdated
    - pCurWin
    - pNextWin
    argTypes:
    - SStreamAggSupporter*
    - SSHashObj*
    - SResultWindowInfo*
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 2642
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2642
    functionName: getNextSessionWinInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - SET_SESSION_WIN_INVALID
    - setSessionWinOutputInfo
    linkageType: ''
    returnType: void
    signature: 'void getNextSessionWinInfo(SStreamAggSupporter* pAggSup, SSHashObj*
      pStUpdated, SResultWindowInfo* pCurWin, SResultWindowInfo* pNextWin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmSetInvertFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5496,1
    - Dst: fmSetNormalFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCtx
    - num
    - type
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - EStreamType
    constantsTouched: []
    func_position:
      end: 5501
      start: 5493
    functionDepth: 0
    functionLinenumber: 5493
    functionLinenumberEnd: 5501
    functionName: setInverFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - fmSetInvertFunc
    - fmSetNormalFunc
    linkageType: ''
    returnType: void
    signature: 'static void setInverFunction(SqlFunctionCtx* pCtx, int32_t num, EStreamType
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:155,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:159,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pKey
    - pPos
    - pUpdatedMap
    argTypes:
    - SWinKey*
    - SRowBuffPos*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: saveWinResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashPut
    - qError
    - tSimpleHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveWinResult(SWinKey* pKey, SRowBuffPos* pPos, SSHashObj*
      pUpdatedMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1913
    functionName: compareTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY compareTs(void* pKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1965,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1969,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1970,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1966,1
    - Dst: reloadFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1981,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1981,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1983
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1983
    functionName: streamIntervalReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - reloadFromDownStream
    - qError
    - tstrerror
    - strlen
    - TMAX
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void streamIntervalReloadState(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2333,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2335,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2336,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2341,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2342,1
    - Dst: initDummyFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2347,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2348,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2349,1
    - Dst: getMaxFunResSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2353,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2386,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2372,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 15
    argNames:
    - pSup
    - pExpSup
    - numOfOutput
    - gap
    - pState
    - keySize
    - keyType
    - pStore
    - pHandle
    - pTwAggSup
    - taskIdStr
    - pApi
    - tsIndex
    - stateType
    - ratio
    argTypes:
    - SStreamAggSupporter*
    - SExprSupp*
    - int32_t
    - int64_t
    - SStreamState*
    - int32_t
    - int16_t
    - SStateStore*
    - SReadHandle*
    - STimeWindowAggSupp*
    - char*
    - SStorageAPI*
    - int32_t
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2389
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2389
    functionName: initStreamAggSupporter
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initDummyFunction
    - taosGetDefaultHashFunction
    - qError
    - tstrerror
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - getResultRowSize
    - getMaxFunResSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initStreamAggSupporter(SStreamAggSupporter* pSup, SExprSupp*
      pExpSup, int32_t numOfOutput, int64_t gap, SStreamState* pState, int32_t keySize,
      int16_t keyType, SStateStore* pStore, SReadHandle* pHandle, STimeWindowAggSupp*
      pTwAggSup, const char* taskIdStr, SStorageAPI* pApi, int32_t tsIndex, int8_t
      stateType, int32_t ratio) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2656,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2658,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2659,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2675,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2652,1
    - Dst: compactFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2666,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2684,1
    - Dst: doDeleteSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2679,1
    - Dst: removeSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2678,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2667,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2669,1
    - Dst: initSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2655,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2680,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2676,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2673,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2684,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 9
    argNames:
    - pSup
    - pAggSup
    - pTwAggSup
    - pTaskInfo
    - pCurWin
    - pNextWin
    - pStUpdated
    - pStDeleted
    - addGap
    argTypes:
    - SExprSupp*
    - SStreamAggSupporter*
    - STimeWindowAggSupp*
    - SExecTaskInfo*
    - SResultWindowInfo*
    - SResultWindowInfo*
    - SSHashObj*
    - SSHashObj*
    - bool
    constantsTouched: []
    func_position:
      end: 2687
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2687
    functionName: compactTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qTrace
    - removeSessionResult
    - saveDeleteRes
    - releaseOutputBuf
    - qError
    - tstrerror
    - tSimpleHashRemove
    - qDebug
    - doDeleteSessionWindow
    - compactFunctions
    - TMAX
    - memcpy
    - updateTimeWindowInfo
    - GET_TASKID
    - initSessionOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compactTimeWindow(SExprSupp* pSup, SStreamAggSupporter* pAggSup,
      STimeWindowAggSupp* pTwAggSup, SExecTaskInfo* pTaskInfo, SResultWindowInfo*
      pCurWin, SResultWindowInfo* pNextWin, SSHashObj* pStUpdated, SSHashObj* pStDeleted,
      bool addGap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4625,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4634,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4646,1
    - Dst: clearOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4636,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4656,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4657,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4659,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4665,1
    - Dst: getNextStateWin
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4669,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4674,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4670,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4674,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 7
    argNames:
    - pAggSup
    - ts
    - groupId
    - pKeyData
    - pCurWin
    - pNextWin
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - uint64_t
    - char*
    - SStateWindowInfo*
    - SStateWindowInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4677
      start: 4613
    functionDepth: 0
    functionLinenumber: 4613
    functionLinenumberEnd: 4677
    functionName: setStateOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getNextStateWin
    - qError
    - clearOutputBuf
    - tstrerror
    - memcpy
    - qDebug
    - varDataCopy
    - IS_VAR_DATA_TYPE
    - inWinRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setStateOutputBuf(SStreamAggSupporter* pAggSup, TSKEY ts,
      uint64_t groupId, char* pKeyData, SStateWindowInfo* pCurWin, SStateWindowInfo*
      pNextWin, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:216,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pOperator
    - ts
    - groupId
    argTypes:
    - SOperatorInfo*
    - TSKEY
    - uint64_t
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: doDeleteWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashRemove
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'static void doDeleteWindow(SOperatorInfo* pOperator, TSKEY ts, uint64_t
      groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyFlusedPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ppRes
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: destroyFlusedppPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - destroyFlusedPos
    linkageType: ''
    returnType: void
    signature: 'void destroyFlusedppPos(void* ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1299,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pWin
    argTypes:
    - void**
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1302
    functionName: encodeSTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSTimeWindow(void** buf, STimeWindow* pWin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamSessionAggNext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3870
      start: 3866
    functionDepth: 0
    functionLinenumber: 3866
    functionLinenumberEnd: 3870
    functionName: doStreamSessionAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - doStreamSessionAggNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doStreamSessionAgg(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - winRange
    argTypes:
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 3895
      start: 3892
    functionDepth: 0
    functionLinenumber: 3892
    functionLinenumberEnd: 3895
    functionName: resetWinRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void resetWinRange(STimeWindow* winRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamSessionAggOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4216
      start: 4212
    functionDepth: 0
    functionLinenumber: 4212
    functionLinenumberEnd: 4216
    functionName: clearStreamSessionOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    linkageType: ''
    returnType: void
    signature: 'static void clearStreamSessionOperator(SStreamSessionAggOperatorInfo*
      pInfo) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5086,1
    - Dst: buildStateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5089,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5103,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5131,1
    - Dst: getAllSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5178,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5197,1
    - Dst: closeSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5177,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5181,1
    - Dst: buildStateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5200,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5211,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5187,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5103,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5115,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5132,1
    - Dst: deleteSessionWinState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5144,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5166,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5180,1
    - Dst: initGroupResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5201,1
    - Dst: getMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5186,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5090,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5108,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5116,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5120,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5121,1
    - Dst: IS_NORMAL_STATE_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5159,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5169,1
    - Dst: removeSessionDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5183,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5191,1
    - Dst: resetUnCloseSessionWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5098,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5126,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5131,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5131,1
    - Dst: doStreamStateSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5153,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5165,1
    - Dst: doStreamStateAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5171,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5172,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5196,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5209,1
    - Dst: copyDeleteSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5190,1
    - Dst: IS_NORMAL_STATE_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5189,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 128
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 5216
      start: 5074
    functionDepth: 0
    functionLinenumber: 5074
    functionLinenumberEnd: 5216
    functionName: doStreamStateAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - doStreamStateAggImpl
    - buildStateResult
    - GET_TASKID
    - taosArrayInit
    - printDataBlock
    - removeSessionDeleteResults
    - setStreamOperatorState
    - taosGetDefaultHashFunction
    - resetUnCloseSessionWinInfo
    - blockDataEnsureCapacity
    - qError
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - TMAX
    - doStreamStateSaveCheckpoint
    - getStreamOpName
    - getAllSessionWindow
    - copyDeleteSessionKey
    - IS_NORMAL_STATE_OP
    - initGroupResInfoFromArrayList
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - closeSessionWindow
    - setStreamOperatorCompleted
    - qDebug
    - getMaxTsWins
    - deleteSessionWinState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamStateAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1305,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pWin
    argTypes:
    - void*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1308
    functionName: decodeSTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSTimeWindow(void* buf, STimeWindow* pWin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: getChildIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getChildIndex(SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:465,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:474,1
    - Dst: destroyFlusedPos
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:469,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 478
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 478
    functionName: clearGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - destroyFlusedPos
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearGroupResInfo(SGroupResInfo* pGroupResInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3874,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3876,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3880,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3881,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3883,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3885,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3890
      start: 3872
    functionDepth: 0
    functionLinenumber: 3872
    functionLinenumberEnd: 3890
    functionName: streamSessionReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - memcpy
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamSessionReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3904,1
    - Dst: SET_SESSION_WIN_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3913,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3918,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3918,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pAggSup
    - pKey
    - pWinInfo
    argTypes:
    - SStreamAggSupporter*
    - SSessionKey*
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 3921
      start: 3897
    functionDepth: 0
    functionLinenumber: 3897
    functionLinenumberEnd: 3921
    functionName: getSessionWindowInfoByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - SET_SESSION_WIN_INVALID
    - tstrerror
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSessionWindowInfoByKey(SStreamAggSupporter* pAggSup, SSessionKey*
      pKey, SResultWindowInfo* pWinInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4222,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4228,1
    - Dst: removeSessionResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4230,1
    - Dst: doDeleteTimeWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4225,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4231,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4232,1
    - Dst: copyDeleteWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4236,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4242,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4242,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - pAggSup
    - pBlock
    - pMapUpdate
    - pMapDelete
    - pPkDelete
    - needAdd
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    - SSHashObj*
    - bool
    constantsTouched: []
    func_position:
      end: 4245
      start: 4218
    functionDepth: 0
    functionLinenumber: 4218
    functionLinenumberEnd: 4245
    functionName: deleteSessionWinState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayDestroy
    - removeSessionResults
    - copyDeleteWindowInfo
    - qError
    - tstrerror
    - doDeleteTimeWindows
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteSessionWinState(SStreamAggSupporter* pAggSup, SSDataBlock*
      pBlock, SSHashObj* pMapUpdate, SSHashObj* pMapDelete, SSHashObj* pPkDelete,
      bool needAdd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamStateAggNext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 5222
      start: 5218
    functionDepth: 0
    functionLinenumber: 5218
    functionLinenumberEnd: 5222
    functionName: doStreamStateAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - doStreamStateAggNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doStreamStateAgg(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - ts
    - groupId
    - pPos
    - pUpdatedMap
    argTypes:
    - TSKEY
    - uint64_t
    - SRowBuffPos*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 165
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 165
    functionName: saveWinResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - saveWinResult
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveWinResultInfo(TSKEY ts, uint64_t groupId, SRowBuffPos*
      pPos, SSHashObj* pUpdatedMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - ekey
    - pTwSup
    argTypes:
    - TSKEY
    - STimeWindowAggSupp*
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: isOverdue
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isOverdue(TSKEY ekey, STimeWindowAggSupp* pTwSup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:421,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:420,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:414,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:417,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:429,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:433,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:435,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:447,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:437,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 5
    argNames:
    - pAPI
    - pState
    - pWins
    - index
    - pBlock
    argTypes:
    - SStateStore*
    - SStreamState*
    - SArray*
    - int32_t*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 449
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 449
    functionName: doBuildDeleteResultImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - blockDataCleanup
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataEnsureCapacity
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - appendDataToSpecialBlock
    - STR_WITH_MAXSIZE_TO_VARSTR
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void doBuildDeleteResultImpl(SStateStore* pAPI, SStreamState* pState,
      SArray* pWins, int32_t* index, SSDataBlock* pBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:485,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:487,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:527,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:536,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:493,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:495,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:501,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:514,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:525,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:529,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:506,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:513,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:521,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:531,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:532,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:534,1
    - Dst: clearGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:494,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:492,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:500,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:503,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:504,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:508,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:505,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:509,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:510,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:507,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:524,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 537
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 537
    functionName: destroyStreamFinalIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupBasicInfo
    - cleanupAggSup
    - taosArrayDestroyP
    - taosHashIterate
    - nodesDestroyNode
    - colDataDestroy
    - blockDataDestroy
    - clearGroupResInfo
    - cleanupExprSupp
    - cleanupResultInfo
    - tSimpleHashSetFreeFp
    - taosMemoryFreeClear
    - destroyStreamBasicInfo
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamFinalIntervalOperatorInfo(void* param) '
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1676,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1741,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1766,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1801,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1860,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1877,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1748,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1706,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1735,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1839,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1840,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1759,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1790,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1671,1
    - Dst: doDeleteWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1744,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1831,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1886,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1773,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1753,1
    - Dst: resetUnCloseWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1666,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1671,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1681,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1869,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1715,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1827,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1877,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1888,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1711,1
    - Dst: processPullOver
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1802,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1768,1
    - Dst: removeResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1762,1
    - Dst: doStreamIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1833,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1844,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1864,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1868,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1884,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1754,1
    - Dst: clearStreamIntervalOperator
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1680,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1709,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1727,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1756,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1841,1
    - Dst: copyIntervalDeleteKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1750,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1797,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1793,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1650,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1689,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1743,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1884,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1657,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1734,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1773,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1812,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1650,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1686,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1710,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1716,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1727,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1804,1
    - Dst: getAllIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1786,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1862,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1705,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1723,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1828,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1854,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1734,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1697,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1745,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1830,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1847,1
    - Dst: closeStreamIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1848,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1877,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1884,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1742,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1773,1
    - Dst: clearFunctionContext
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1850,1
    - Dst: addRetriveWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1749,1
    - Dst: doDeleteWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1796,1
    - Dst: doBuildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1770,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1792,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1658,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1697,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1677,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1784,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1816,1
    - Dst: removeDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1865,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1734,1
    - Dst: doStreamIntervalSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1811,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1813,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1650,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1671,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1697,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1716,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1859,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 246
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1891
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1891
    functionName: doStreamFinalIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - processPullOver
    - clearStreamIntervalOperator
    - projectApplyFunctions
    - taosArrayAddAll
    - setInputDataBlock
    - IS_FINAL_INTERVAL_OP
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayInit
    - copyIntervalDeleteKey
    - taosArrayDestroy
    - buildIntervalResult
    - printDataBlock
    - addRetriveWindow
    - getAllIntervalWindow
    - setStreamOperatorState
    - taosGetDefaultHashFunction
    - getChildIndex
    - clearFunctionContext
    - blockDataEnsureCapacity
    - qInfo
    - initMultiResInfoFromArrayList
    - qError
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - copyUpdateResult
    - isTaskKilled
    - doStreamIntervalSaveCheckpoint
    - removeResults
    - TMAX
    - removeDeleteResults
    - getStreamOpName
    - doBuildDeleteResult
    - resetUnCloseWinInfo
    - closeStreamIntervalWindow
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - setStreamOperatorCompleted
    - qDebug
    - doStreamIntervalAggImpl
    - doDeleteWindows
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamFinalIntervalAggNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2434,1
    - Dst: clearOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2438,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2436,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2450,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2454,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2454,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 6
    argNames:
    - pAggSup
    - startTs
    - endTs
    - groupId
    - pCurWin
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - TSKEY
    - uint64_t
    - SResultWindowInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2457
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2457
    functionName: setSessionOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - clearOutputBuf
    - tstrerror
    - qDebug
    - inWinRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setSessionOutputBuf(SStreamAggSupporter* pAggSup, TSKEY startTs,
      TSKEY endTs, uint64_t groupId, SResultWindowInfo* pCurWin, int32_t* pWinCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2474,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2477,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pWins
    - key
    argTypes:
    - SArray*
    - SSessionKey
    constantsTouched: []
    func_position:
      end: 2485
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2485
    functionName: saveDeleteInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayPush
    - tstrerror
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveDeleteInfo(SArray* pWins, SSessionKey key) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4687,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4705,1
    - Dst: isEqualStateKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4689,1
    - Dst: isTsInWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4688,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4706,1
    - Dst: removeSessionResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4708,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4711,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4712,1
    - Dst: isEqualStateKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4721,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4721,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 13
    argNames:
    - pAggSup
    - pWinInfo
    - pNextWin
    - pTs
    - groupId
    - pKeyCol
    - rows
    - start
    - allEqual
    - pResultRows
    - pSeUpdated
    - pSeDeleted
    - pWinRows
    argTypes:
    - SStreamAggSupporter*
    - SStateWindowInfo*
    - SStateWindowInfo*
    - TSKEY*
    - uint64_t
    - SColumnInfoData*
    - int32_t
    - int32_t
    - bool*
    - SSHashObj*
    - SSHashObj*
    - SSHashObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4724
      start: 4679
    functionDepth: 0
    functionLinenumber: 4679
    functionLinenumberEnd: 4724
    functionName: updateStateWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isEqualStateKey
    - removeSessionResult
    - IS_VALID_SESSION_WIN
    - colDataGetData
    - saveDeleteRes
    - qError
    - tstrerror
    - isTsInWindow
    - TMAX
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateStateWindowInfo(SStreamAggSupporter* pAggSup, SStateWindowInfo*
      pWinInfo, SStateWindowInfo* pNextWin, TSKEY* pTs, uint64_t groupId, SColumnInfoData*
      pKeyCol, int32_t rows, int32_t start, bool* allEqual, SSHashObj* pResultRows,
      SSHashObj* pSeUpdated, SSHashObj* pSeDeleted, int32_t* pWinRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:168,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:174,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:170,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:175,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:176,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pWins
    - pUpdatedMap
    argTypes:
    - SArray*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 179
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 179
    functionName: removeResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - qTrace
    - tSimpleHashGet
    - tSimpleHashRemove
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void removeResults(SArray* pWins, SSHashObj* pUpdatedMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isOverdue
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pWin
    - pTwSup
    argTypes:
    - STimeWindow*
    - STimeWindowAggSupp*
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: isCloseWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - isOverdue
    linkageType: ''
    returnType: bool
    signature: 'bool isCloseWindow(STimeWindow* pWin, STimeWindowAggSupp* pTwSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: destroyFlusedPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyFlusedPos(void* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1897,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pWinPhyNode
    - interval
    argTypes:
    - SWindowPhysiNode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1900
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1900
    functionName: getDeleteMark
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getDeleteMark(SWindowPhysiNode* pWinPhyNode, int64_t interval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - pAggSup
    - pCur
    - pWinInfo
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - SStreamStateCur*
    - SResultWindowInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2469
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2469
    functionName: getSessionWinBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void getSessionWinBuf(SStreamAggSupporter* pAggSup, SStreamStateCur*
      pCur, SResultWindowInfo* pWinInfo, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pStDelete
    - key
    argTypes:
    - SSHashObj*
    - SSessionKey
    constantsTouched: []
    func_position:
      end: 2490
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2490
    functionName: saveDeleteRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveDeleteRes(SSHashObj* pStDelete, SSessionKey key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5984,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5988,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5984,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5984,1
    - Dst: doBuildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5989,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5992,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5992,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5992,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5998,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5998,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5998,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6003
      start: 5977
    functionDepth: 0
    functionLinenumber: 5977
    functionLinenumberEnd: 6003
    functionName: buildMidIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - doBuildDeleteResult
    - printDataBlock
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildMidIntervalResult(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pGroupResInfo
    - pArrayList
    argTypes:
    - SGroupResInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3228
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3228
    functionName: initGroupResInfoFromArrayList
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initGroupResInfoFromArrayList(SGroupResInfo* pGroupResInfo, SArray*
      pArrayList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:227,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:233,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:238,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:235,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:237,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: doDeleteWindowByGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - taosArrayGet
    - qTrace
    - tSimpleHashIterate
    - tSimpleHashIterateRemove
    linkageType: ''
    returnType: void
    signature: 'static void doDeleteWindowByGroupId(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1286,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pTwAggSup
    argTypes:
    - void**
    - STimeWindowAggSupp*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1289
    functionName: encodeSTimeWindowAggSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSTimeWindowAggSupp(void** buf, STimeWindowAggSupp* pTwAggSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1327,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1328,1
    - Dst: encodeSPullWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1331,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - pPullInfos
    argTypes:
    - void**
    - SArray*
    constantsTouched: []
    func_position:
      end: 1334
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1334
    functionName: encodeSPullWindowInfoArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - encodeSPullWindowInfo
    - taosArrayGet
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeSPullWindowInfoArray(void** buf, SArray* pPullInfos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - range
    - cur
    argTypes:
    - STimeWindow*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 2420
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2420
    functionName: inWinRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool inWinRange(STimeWindow* range, STimeWindow* cur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pKey
    - pHashKey
    argTypes:
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2514
      start: 2511
    functionDepth: 0
    functionLinenumber: 2511
    functionLinenumberEnd: 2514
    functionName: getSessionHashKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void getSessionHashKey(const SSessionKey* pKey, SSessionKey* pHashKey) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getMinWindowSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3240,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3242,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3305,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3277,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3312,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3257,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3275,1
    - Dst: TAOS_FAILED
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3304,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3313,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3245,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3285,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3332,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3336,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3336,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3262,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3300,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3324,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3331,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 6
    argNames:
    - pOperator
    - pState
    - pBlock
    - pSup
    - pGroupResInfo
    - pSessionKeys
    argTypes:
    - SOperatorInfo*
    - void*
    - SSDataBlock*
    - SExprSupp*
    - SGroupResInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3230
    functionDepth: 0
    functionLinenumber: 3230
    functionLinenumberEnd: 3339
    functionName: buildSessionResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - GET_ROWCELL_INTERBUF
    - TAOS_FAILED
    - colDataSetVal
    - blockDataUpdateTsWindow
    - strcmp
    - getNumOfTotalRes
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qDebug
    - doUpdateNumOfRows
    - memcpy
    - GET_TASKID
    - getResultEntryInfo
    - getMinWindowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSessionResultDataBlock(SOperatorInfo* pOperator, void*
      pState, SSDataBlock* pBlock, SExprSupp* pSup, SGroupResInfo* pGroupResInfo,
      SArray* pSessionKeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3927,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - downstream
    - pAggSup
    argTypes:
    - SOperatorInfo*
    - SStreamAggSupporter*
    constantsTouched: []
    func_position:
      end: 3933
      start: 3923
    functionDepth: 0
    functionLinenumber: 3923
    functionLinenumberEnd: 3933
    functionName: reloadAggSupFromDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - reloadAggSupFromDownStream
    linkageType: ''
    returnType: void
    signature: 'void reloadAggSupFromDownStream(SOperatorInfo* downstream, SStreamAggSupporter*
      pAggSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - data
    - key
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4537
      start: 4530
    functionDepth: 0
    functionLinenumber: 4530
    functionLinenumberEnd: 4537
    functionName: compareStateKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - compareVal
    linkageType: ''
    returnType: bool
    signature: 'bool compareStateKey(void* data, void* key) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:294,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:305,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:252,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:260,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:256,1
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:275,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:287,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:281,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:292,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:317,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:267,1
    - Dst: IS_MID_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:267,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:276,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:288,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:285,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:254,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:271,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:283,1
    - Dst: doDeleteWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:300,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:312,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:317,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:317,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 53
    argCount: 6
    argNames:
    - pOperator
    - pInterval
    - pBlock
    - pUpWins
    - pUpdatedMap
    - pInvalidWins
    argTypes:
    - SOperatorInfo*
    - SInterval*
    - SSDataBlock*
    - SArray*
    - SSHashObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 320
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 320
    functionName: doDeleteWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_MID_INTERVAL_OP
    - getActiveTimeWindow
    - IS_FINAL_INTERVAL_OP
    - GET_TASKID
    - qTrace
    - doDeleteWindow
    - taosArrayPush
    - taosHashPut
    - getChildIndex
    - taosArrayGet
    - inCalSlidingWindow
    - taosHashGet
    - qError
    - tSimpleHashRemove
    - getNextTimeWindow
    - taosArraySearchIdx
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteWindows(SOperatorInfo* pOperator, SInterval*
      pInterval, SSDataBlock* pBlock, SArray* pUpWins, SSHashObj* pUpdatedMap, SHashObj*
      pInvalidWins) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1292,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pTwAggSup
    argTypes:
    - void*
    - STimeWindowAggSupp*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: decodeSTimeWindowAggSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void*
    signature: 'void * decodeSTimeWindowAggSupp(void* buf, STimeWindowAggSupp* pTwAggSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1347,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1344,1
    - Dst: decodeSPullWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1354,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - pPullInfos
    - ppBuf
    argTypes:
    - void*
    - SArray*
    - void**
    constantsTouched: []
    func_position:
      end: 1357
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1357
    functionName: decodeSPullWindowInfoArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - decodeSPullWindowInfo
    - taosDecodeFixedI32
    - tstrerror
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decodeSPullWindowInfoArray(void* buf, SArray* pPullInfos,
      void** ppBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - pPos
    - pAPI
    argTypes:
    - void*
    - SRowBuffPos*
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 2422
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2422
    functionName: clearOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void clearOutputBuf(void* pState, SRowBuffPos* pPos, SStateStore*
      pAPI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2517,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2520,1
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2525,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2526,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2522,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pHashMap
    - pWins
    argTypes:
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2529
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2529
    functionName: removeSessionDeleteResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getSessionHashKey
    - taosArrayGet
    - tSimpleHashGetSize
    - qTrace
    - tSimpleHashRemove
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void removeSessionDeleteResults(SSHashObj* pHashMap, SArray* pWins) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3349,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3352,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3350,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3351,1
    - Dst: buildSessionResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3358,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3359,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3362,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3367,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 5
    argNames:
    - pOperator
    - pState
    - pGroupResInfo
    - pBlock
    - pSessionKeys
    argTypes:
    - SOperatorInfo*
    - void*
    - SGroupResInfo*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3369
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3369
    functionName: doBuildSessionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - blockDataCleanup
    - QUERY_CHECK_CODE
    - cleanupGroupResInfo
    - hasRemainResults
    - qError
    - tstrerror
    - buildSessionResultDataBlock
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void doBuildSessionResult(SOperatorInfo* pOperator, void* pState,
      SGroupResInfo* pGroupResInfo, SSDataBlock* pBlock, SArray* pSessionKeys) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3948,1
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3954,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3947,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3955,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3956,1
    - Dst: compactSessionSemiWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3959,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3961,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3972,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3976,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3964,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3976,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3965,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3976,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3978
      start: 3935
    functionDepth: 0
    functionLinenumber: 3935
    functionLinenumberEnd: 3978
    functionName: streamSessionSemiReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - compactSessionSemiWindow
    - taosMemoryFree
    - getSessionWindowInfoByKey
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - qError
    - tstrerror
    - strlen
    - reloadAggSupFromDownStream
    - TMAX
    - saveSessionOutputBuf
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void streamSessionSemiReloadState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SStateKeys*
    - SStateKeys*
    constantsTouched: []
    func_position:
      end: 4544
      start: 4539
    functionDepth: 0
    functionLinenumber: 4539
    functionLinenumberEnd: 4544
    functionName: compareWinStateKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - compareVal
    linkageType: ''
    returnType: bool
    signature: 'bool compareWinStateKey(SStateKeys* left, SStateKeys* right) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:542,1
    - Dst: fmIsInvertible
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pFCtx
    - numOfCols
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: allInvertible
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    - fmIsInvertible
    linkageType: ''
    returnType: bool
    signature: 'static bool allInvertible(SqlFunctionCtx* pFCtx, int32_t numOfCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4582,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4584,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4584,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4583,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4598,1
    - Dst: getNextStateWin
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4602,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4605,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:4608,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pAggSup
    - pKey
    - pCurWin
    - pNextWin
    argTypes:
    - SStreamAggSupporter*
    - SSessionKey*
    - SStateWindowInfo*
    - SStateWindowInfo*
    constantsTouched: []
    func_position:
      end: 4611
      start: 4574
    functionDepth: 0
    functionLinenumber: 4574
    functionLinenumberEnd: 4611
    functionName: getStateWindowInfoByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getSessionWindowInfoByKey
    - IS_VALID_SESSION_WIN
    - getNextStateWin
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStateWindowInfoByKey(SStreamAggSupporter* pAggSup, SSessionKey*
      pKey, SStateWindowInfo* pCurWin, SStateWindowInfo* pNextWin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:182,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pKey
    - data
    - index
    argTypes:
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: compareWinKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - winKeyCmprImpl
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareWinKey(void* pKey, void* data, int32_t index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    constantsTouched: []
    func_position:
      end: 402
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 402
    functionName: getFinalTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: STimeWindow
    signature: 'STimeWindow getFinalTimeWindow(int64_t ts, SInterval* pInterval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSessionHashKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2616,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2618,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pAggSup
    - pKey
    argTypes:
    - SStreamAggSupporter*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2619
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2619
    functionName: doDeleteSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getSessionHashKey
    - tSimpleHashRemove
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void doDeleteSessionWindow(SStreamAggSupporter* pAggSup, SSessionKey*
      pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3164,1
    - Dst: closeSessionWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3169,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3166,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3170,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pChildren
    - maxTs
    argTypes:
    - SArray*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 3177
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3177
    functionName: closeChildSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - closeSessionWindow
    - TMAX
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t closeChildSessionWindow(SArray* pChildren, TSKEY maxTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3622,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3624,1
    - Dst: doStreamSessionEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3623,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3626,1
    - Dst: doStreamSessionEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3630,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3632,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3633,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3636
      start: 3620
    functionDepth: 0
    functionLinenumber: 3620
    functionLinenumberEnd: 3636
    functionName: doStreamSessionSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - needSaveStreamOperatorInfo
    - doStreamSessionEncodeOpState
    linkageType: ''
    returnType: void
    signature: 'void doStreamSessionSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:57,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:64,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:58,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:66,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:59,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:76,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:77,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:79,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:90,1
    - Dst: comparefn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:92,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 5
    argNames:
    - keyList
    - num
    - pKey
    - order
    - comparefn
    argTypes:
    - void*
    - int
    - void*
    - int
    - __compare_fn_t
    constantsTouched: []
    func_position:
      end: 101
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 101
    functionName: binarySearchCom
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - comparefn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t binarySearchCom(void* keyList, int num, void* pKey, int order,
      __compare_fn_t comparefn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:187,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:195,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:188,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:190,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:189,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:196,1
    - Dst: binarySearchCom
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:197,1
    - Dst: compareWinKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:198,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:199,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pUpdatedMap
    - pDelWins
    argTypes:
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: removeDeleteResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - compareWinKey
    - tSimpleHashGetSize
    - binarySearchCom
    - taosArrayRemove
    - tSimpleHashIterate
    - taosArraySort
    - taosArrayGetSize
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: void
    signature: 'void removeDeleteResults(SSHashObj* pUpdatedMap, SArray* pDelWins) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doBuildDeleteResultImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pTaskInfo
    - pWins
    - index
    - pBlock
    argTypes:
    - SExecTaskInfo*
    - SArray*
    - int32_t*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: doBuildDeleteResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - doBuildDeleteResultImpl
    linkageType: ''
    returnType: void
    signature: 'static void doBuildDeleteResult(SExecTaskInfo* pTaskInfo, SArray*
      pWins, int32_t* index, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pStUpdated
    - pWinInfo
    argTypes:
    - SSHashObj*
    - SResultWindowInfo*
    constantsTouched: []
    func_position:
      end: 2627
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2627
    functionName: setSessionWinOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: 'void setSessionWinOutputInfo(SSHashObj* pStUpdated, SResultWindowInfo*
      pWinInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3196,1
    - Dst: saveResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pHashMap
    - pStUpdated
    argTypes:
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3199
      start: 3179
    functionDepth: 0
    functionLinenumber: 3179
    functionLinenumberEnd: 3199
    functionName: getAllSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - tSimpleHashIterate
    - saveResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getAllSessionWindow(SSHashObj* pHashMap, SSHashObj* pStUpdated) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:3641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - winMap
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 3645
      start: 3638
    functionDepth: 0
    functionLinenumber: 3638
    functionLinenumberEnd: 3645
    functionName: resetUnCloseSessionWinInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    linkageType: ''
    returnType: void
    signature: 'void resetUnCloseSessionWinInfo(SSHashObj* winMap) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5512,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5512,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5535,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5535,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5571,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5571,1
    - Dst: getAllIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5581,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5585,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5623,1
    - Dst: doStreamIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5630,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5650,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5659,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5666,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5646,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5638,1
    - Dst: doStreamIntervalSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5595,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5522,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5571,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5582,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5603,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5603,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5590,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5597,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5615,1
    - Dst: setInverFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5626,1
    - Dst: closeStreamIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5644,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5648,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5622,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5681,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5683,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5673,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5637,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5656,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5672,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5512,1
    - Dst: resetUnCloseWinInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5530,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5549,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5555,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5564,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5554,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5572,1
    - Dst: doDeleteWindows
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5577,1
    - Dst: doDeleteWindowByGroupId
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5589,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5655,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5616,1
    - Dst: copyIntervalDeleteKey
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5649,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5664,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5662,1
    - Dst: buildIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5521,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5535,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5540,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5561,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5564,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5553,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5548,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5585,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5585,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5636,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5669,1
    - Dst: removeDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5642,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5667,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:5679,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 161
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 5686
      start: 5504
    functionDepth: 0
    functionLinenumber: 5504
    functionLinenumberEnd: 5686
    functionName: doStreamIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tSimpleHashCleanup
    - setInputDataBlock
    - tSimpleHashIterate
    - GET_TASKID
    - taosArrayInit
    - copyIntervalDeleteKey
    - buildIntervalResult
    - printDataBlock
    - setInverFunction
    - getAllIntervalWindow
    - setStreamOperatorState
    - taosArraySort
    - taosArrayPush
    - taosGetDefaultHashFunction
    - blockDataEnsureCapacity
    - initMultiResInfoFromArrayList
    - qError
    - tSimpleHashInit
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - doStreamIntervalSaveCheckpoint
    - TMAX
    - removeDeleteResults
    - getStreamOpName
    - resetUnCloseWinInfo
    - closeStreamIntervalWindow
    - tstrerror
    - IS_NORMAL_INTERVAL_OP
    - copyDataBlock
    - T_LONG_JMP
    - setStreamOperatorCompleted
    - qDebug
    - doStreamIntervalAggImpl
    - doDeleteWindows
    - TMIN
    - doDeleteWindowByGroupId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamIntervalAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1992,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2028,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2038,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2039,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2058,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2076,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2080,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2084,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2069,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2085,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2144,1
    - Dst: destroyStreamFinalIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2172,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2114,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2156,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2113,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2165,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2016,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2022,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2050,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2072,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2081,1
    - Dst: getMaxFunResSize
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2104,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2111,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2120,1
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2127,1
    - Dst: doStreamIntervalDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2153,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2121,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2057,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2137,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2141,1
    - Dst: initIntervalDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2152,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1987,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2030,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2051,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2053,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2063,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2073,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2102,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2112,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2075,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2147,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2071,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2173,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1996,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2010,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2035,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2036,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2044,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2040,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2055,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2115,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2116,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2059,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2122,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2130,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 157
    argCount: 6
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - numOfChild
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - int32_t
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 2176
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2176
    functionName: createStreamFinalIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryFree
    - taosMemoryCalloc
    - getDeleteMark
    - calcIntervalAutoOffset
    - doStreamIntervalDecodeOpState
    - destroyStreamFinalIntervalOperatorInfo
    - initExprSupp
    - IS_FINAL_INTERVAL_OP
    - GET_TASKID
    - taosHashInit
    - taosArrayInit
    - getMaxFunResSize
    - initBasicInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - taosGetDefaultHashFunction
    - initAggSup
    - initIntervalDownStream
    - initResultSizeInfo
    - appendDownstream
    - qInfo
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamBasicInfo
    - createOperatorFpSet
    - getStreamOpName
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - strlen
    - nodesCloneNode
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamFinalIntervalOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, int32_t numOfChild, SReadHandle*
      pHandle, SOperatorInfo** pOptrInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_FINAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1563,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1588,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1592,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1606,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1567,1
    - Dst: doBuildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1573,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1588,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1588,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1576,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1607,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1611,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1611,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1556,1
    - Dst: doBuildPullDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1564,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1567,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1567,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1576,1
    - Dst: doBuildStreamIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1585,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1599,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1601,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1562,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1561,1
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1578,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1579,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1601,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1601,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1611,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1615
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1615
    functionName: buildIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - QUERY_CHECK_CODE
    - addAggResultNotifyEvent
    - addAggDeleteNotifyEvent
    - doBuildDeleteResult
    - printDataBlock
    - removeOutdatedNotifyEvents
    - doBuildStreamIntervalResult
    - doBuildPullDataBlock
    - qError
    - BIT_FLAG_TEST_MASK
    - IS_NORMAL_INTERVAL_OP
    - buildNotifyEventBlock
    - tstrerror
    - isTaskKilled
    - IS_FINAL_INTERVAL_OP
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildIntervalResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pWin
    - ts
    - gap
    argTypes:
    - STimeWindow*
    - TSKEY
    - int64_t
    constantsTouched: []
    func_position:
      end: 2396
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2396
    functionName: isInTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isInTimeWindow(STimeWindow* pWin, TSKEY ts, int64_t gap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1622,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1629,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1626,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1623,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1630,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:1635,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - ppWinUpdated
    - pUpdated
    - compar
    argTypes:
    - SSHashObj**
    - SArray*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 1638
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1638
    functionName: copyUpdateResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashCleanup
    - qError
    - tstrerror
    - tSimpleHashIterate
    - taosArraySort
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyUpdateResult(SSHashObj** ppWinUpdated, SArray* pUpdated,
      __compar_fn_t compar) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2179,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2186,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2181,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2180,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SStreamAggSupporter*
    constantsTouched: []
    func_position:
      end: 2188
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2188
    functionName: destroyStreamAggSupporter
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - destroyDiskbasedBuf
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamAggSupporter(SStreamAggSupporter* pSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c:2399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pWinInfo
    - ts
    - gap
    argTypes:
    - SResultWindowInfo*
    - TSKEY
    - int64_t
    constantsTouched: []
    func_position:
      end: 2400
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2400
    functionName: isInWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimewindowoperator.c
    functionUses: []
    functionsReached:
    - isInTimeWindow
    linkageType: ''
    returnType: bool
    signature: 'bool isInWindow(SResultWindowInfo* pWinInfo, TSKEY ts, int64_t gap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: timeSliceEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:569,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:575,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:577,1
    - Dst: isIrowtsOriginPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:570,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:578,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:579,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:580,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:582,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:583,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:588,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:603,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:603,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:595,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:586,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:593,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 5
    argNames:
    - pSliceInfo
    - pExprSup
    - pResBlock
    - pSrcBlock
    - index
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 606
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 606
    functionName: addCurrentRowToResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - isIrowtsPseudoColumn
    - colDataSetNULL
    - colDataSetVal
    - timeSliceEnsureBlockCapacity
    - colDataIsNull_s
    - colDataGetData
    - isIsfilledPseudoColumn
    - qError
    - tstrerror
    - isIrowtsOriginPseudoColumn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addCurrentRowToResult(STimeSliceOperatorInfo* pSliceInfo,
      SExprSupp* pExprSup, SSDataBlock* pResBlock, SSDataBlock* pSrcBlock, int32_t
      index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1234,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - cond
    - range
    - twindow
    - extTwindows
    argTypes:
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1240
    functionName: getQueryExtWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getQueryExtWindow(const STimeWindow* cond, const STimeWindow*
      range, STimeWindow* twindow, STimeWindow* extTwindows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:615,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:628,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:622,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:629,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:630,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:631,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:638,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:638,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 641
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 641
    functionName: initPrevRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initPrevRowsKeeper(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1185,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1186,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1190,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1188,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - pFuncs
    - pHasPk
    - pPkColumn
    argTypes:
    - SNodeList*
    - bool*
    - SColumn*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1199
    functionName: extractPkColumnFromFuncs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - fmIsInterpFunc
    - nodeType
    - FOREACH
    - extractColumnFromColumnNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractPkColumnFromFuncs(SNodeList* pFuncs, bool* pHasPk,
      SColumn* pPkColumn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:162,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:163,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:165,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pSliceInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 170
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 170
    functionName: timeSliceEnsureBlockCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - blockDataEnsureCapacity
    - TMIN
    - tstrerror
    - qError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t timeSliceEnsureBlockCapacity(STimeSliceOperatorInfo*
      pSliceInfo, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: destroyGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyGroupKey(void* pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pSliceInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionName: checkWindowBoundReached
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool checkWindowBoundReached(STimeSliceOperatorInfo* pSliceInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1014,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1021,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1028,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1016,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1029,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1030,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1032,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - pExprSup
    - pGroupKeys
    - pSrcBlock
    argTypes:
    - SExprSupp*
    - SArray*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1039
    functionName: copyPrevGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - isGroupKeyFunc
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyPrevGroupKey(SExprSupp* pExprSup, SArray * pGroupKeys,
      SSDataBlock* pSrcBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:174,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: isIrowtsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'bool isIrowtsPseudoColumn(SExprInfo* pExprInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:730,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:748,1
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:738,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:742,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:744,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:749,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:750,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pInfo
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 758
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 758
    functionName: initGroupKeyKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - isGroupKeyFunc
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupKeyKeeper(STimeSliceOperatorInfo* pInfo, SExprSupp*
      pExprSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - curIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 866
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 866
    functionName: saveBlockStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void saveBlockStatus(STimeSliceOperatorInfo* pSliceInfo, SSDataBlock*
      pBlock, int32_t curIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetKeeperInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pSliceInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: resetTimesliceInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - resetKeeperInfo
    linkageType: ''
    returnType: void
    signature: 'static void resetTimesliceInfo(STimeSliceOperatorInfo* pSliceInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 4
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1410
    functionName: getMinWindowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getMinWindowSize(struct SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:206,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:214,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:217,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:217,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:215,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - pSliceInfo
    - pTsCol
    - pPkCol
    - curIndex
    - rows
    argTypes:
    - STimeSliceOperatorInfo*
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 230
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 230
    functionName: checkDuplicateTimestamps
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - colDataGetData
    - colDataGetVarData
    - tRowKeyAssign
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: 'static bool checkDuplicateTimestamps(STimeSliceOperatorInfo* pSliceInfo,
      SColumnInfoData* pTsCol, SColumnInfoData* pPkCol, int32_t curIndex, int32_t
      rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:179,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: isIsfilledPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - IS_BOOLEAN_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool isIsfilledPseudoColumn(SExprInfo* pExprInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:194,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:197,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:195,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:195,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:198,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:199,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ts
    - pPkCol
    - rowIndex
    - pKey
    argTypes:
    - int64_t
    - SColumnInfoData*
    - int32_t
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: tRowGetKeyFromColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - IS_NUMERIC_TYPE
    - varDataLen
    - varDataVal
    - colDataGetData
    - colDataGetVarData
    linkageType: ''
    returnType: void
    signature: 'static void tRowGetKeyFromColData(int64_t ts, SColumnInfoData* pPkCol,
      int32_t rowIndex, SRowKey* pKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isInterpFunc(SExprInfo* pExprInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:650,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:655,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:664,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:657,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:666,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:667,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:674,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 677
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 677
    functionName: initNextRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initNextRowsKeeper(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initPrevRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:762,1
    - Dst: initFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:772,1
    - Dst: initGroupKeyKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:777,1
    - Dst: initNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pInfo
    - pBlock
    - pExprSup
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 783
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 783
    functionName: initKeeperInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - initNextRowsKeeper
    - initPrevRowsKeeper
    - initFillLinearInfo
    - initGroupKeyKeeper
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initKeeperInfo(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock, SExprSupp* pExprSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:805,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 813
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 813
    functionName: resetNextRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void resetNextRowsKeeper(STimeSliceOperatorInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:56,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:63,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:61,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:58,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:60,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:64,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:65,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:65,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 75
    functionName: doKeepPrevRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doKeepPrevRows(STimeSliceOperatorInfo* pSliceInfo, const
      SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:184,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: isIrowtsOriginPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'bool isIrowtsOriginPseudoColumn(SExprInfo* pExprInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: isGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isGroupKeyFunc(SExprInfo* pExprInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:686,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:693,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:691,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:701,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:702,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:707,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:713,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 716
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 716
    functionName: initFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initFillLinearInfo(STimeSliceOperatorInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 798
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 798
    functionName: resetPrevRowsKeeper
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void resetPrevRowsKeeper(STimeSliceOperatorInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: resetFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void resetFillLinearInfo(STimeSliceOperatorInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:78,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:85,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:82,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:83,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:80,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:86,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:87,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:89,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 97
    functionName: doKeepNextRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doKeepNextRows(STimeSliceOperatorInfo* pSliceInfo, const
      SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 245
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 245
    functionName: isSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isSelectGroupConstValueFunc(SExprInfo* pExprInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:272,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:276,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:274,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pExprSup
    - pSrcBlock
    - index
    - ignoreNull
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 283
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 283
    functionName: checkNullRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - isInterpFunc
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool checkNullRow(SExprSupp* pExprSup, SSDataBlock* pSrcBlock, int32_t
      index, bool ignoreNull) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pSliceInfo
    - ppFillRow
    - pFillRefRow
    - fillRefRowTs
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    - SArray*
    - int64_t
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: interpSetFillRowWithRangeIntervalCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - llabs
    linkageType: ''
    returnType: bool
    signature: 'static bool interpSetFillRowWithRangeIntervalCheck(STimeSliceOperatorInfo*
      pSliceInfo, SArray** ppFillRow, SArray* pFillRefRow, int64_t fillRefRowTs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:340,1
    - Dst: interpDetermineNearFillRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:351,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:347,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:341,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pSliceInfo
    - ppOutRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 356
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 356
    functionName: interpDetermineFillRefRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - interpSetFillRowWithRangeIntervalCheck
    - taosArrayGet
    - interpDetermineNearFillRow
    linkageType: ''
    returnType: bool
    signature: 'static bool interpDetermineFillRefRow(STimeSliceOperatorInfo* pSliceInfo,
      SArray** ppOutRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetPrevRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:832,1
    - Dst: resetFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:834,1
    - Dst: resetNextRowsKeeper
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:833,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STimeSliceOperatorInfo*
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: resetKeeperInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - resetPrevRowsKeeper
    - resetNextRowsKeeper
    - resetFillLinearInfo
    linkageType: ''
    returnType: void
    signature: 'static void resetKeeperInfo(STimeSliceOperatorInfo* pInfo) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:884,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:896,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:897,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:899,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:900,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:903,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:915,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:905,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:944,1
    - Dst: doKeepNextRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:948,1
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:891,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:916,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:929,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:909,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:933,1
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:952,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:989,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:875,1
    - Dst: checkDuplicateTimestamps
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:887,1
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:924,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:910,1
    - Dst: doKeepNextRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:920,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:936,1
    - Dst: addCurrentRowToResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:963,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:964,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:987,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:987,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:957,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:879,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:921,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:937,1
    - Dst: doKeepLinearInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:949,1
    - Dst: doKeepPrevRows
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:969,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:974,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:967,1
    - Dst: saveBlockStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:975,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 97
    argCount: 5
    argNames:
    - pOperator
    - pSliceInfo
    - pBlock
    - pTaskInfo
    - ignoreNull
    argTypes:
    - SOperatorInfo*
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 991
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 991
    functionName: doTimesliceImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - saveBlockStatus
    - doKeepLinearInfo
    - taosArrayGet
    - doKeepNextRows
    - taosTimeAdd
    - checkThresholdReached
    - addCurrentRowToResult
    - colDataGetData
    - qError
    - doKeepPrevRows
    - genInterpolationResult
    - tstrerror
    - checkWindowBoundReached
    - T_LONG_JMP
    - checkNullRow
    - checkDuplicateTimestamps
    linkageType: ''
    returnType: void
    signature: 'static void doTimesliceImpl(SOperatorInfo* pOperator, STimeSliceOperatorInfo*
      pSliceInfo, SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo, bool ignoreNull) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getIgoreNullRes
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1052,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1066,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1055,1
    - Dst: initKeeperInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1059,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1061,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1068,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1068,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1069,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1074,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1076,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1082,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1082,1
    - Dst: copyPrevGroupKey
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1080,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1083,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1076,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1077,1
    - Dst: doTimesliceImpl
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1079,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1085
    functionName: doHandleTimeslice
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - copyPrevGroupKey
    - getIgoreNullRes
    - projectApplyFunctions
    - setInputDataBlock
    - qError
    - T_LONG_JMP
    - tstrerror
    - checkWindowBoundReached
    - initKeeperInfo
    - doTimesliceImpl
    linkageType: ''
    returnType: void
    signature: 'static void doHandleTimeslice(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:100,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:104,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:140,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:102,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:114,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:116,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:125,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:128,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:137,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:146,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:131,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:119,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:127,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:139,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:144,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:144,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:103,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:113,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:117,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:124,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:129,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:129,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:117,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pSliceInfo
    - pBlock
    - rowIndex
    argTypes:
    - STimeSliceOperatorInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 154
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 154
    functionName: doKeepLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - IS_MATHABLE_TYPE
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doKeepLinearInfo(STimeSliceOperatorInfo* pSliceInfo, const
      SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 1
    argNames:
    - pExprSup
    argTypes:
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 262
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 262
    functionName: getIgoreNullRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - isInterpFunc
    linkageType: ''
    returnType: bool
    signature: 'bool getIgoreNullRes(SExprSupp* pExprSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:288,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pDst
    - rowNum
    - pKey
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SGroupKeys*
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: interpColSetKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - colDataSetNULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t interpColSetKey(SColumnInfoData* pDst, int32_t rowNum,
      SGroupKeys* pKey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:312,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:316,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:324,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:326,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:321,1
    - Dst: llabs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:326,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:328,1
    - Dst: interpSetFillRowWithRangeIntervalCheck
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:330,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - pSliceInfo
    - ppNearRow
    argTypes:
    - STimeSliceOperatorInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 334
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 334
    functionName: interpDetermineNearFillRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - interpSetFillRowWithRangeIntervalCheck
    - taosArrayGet
    - llabs
    linkageType: ''
    returnType: bool
    signature: 'static bool interpDetermineNearFillRow(STimeSliceOperatorInfo* pSliceInfo,
      SArray** ppNearRow) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: isIrowtsOriginPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:388,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:418,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:533,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:479,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:473,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:484,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:475,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:488,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:395,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:409,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:489,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:539,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:558,1
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:388,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:401,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:415,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:464,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:364,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:443,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:444,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:464,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:540,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:500,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:383,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:392,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:408,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:543,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:558,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:381,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:399,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:417,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:466,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:491,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:503,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:494,1
    - Dst: interpDetermineFillRefRow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:372,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:420,1
    - Dst: isIrowtsOriginPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:427,1
    - Dst: interpColSetKey
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:443,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:560,1
    - Dst: IS_BOOLEAN_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:495,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:400,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:411,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:431,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:485,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:476,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:537,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:471,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:511,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:380,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:385,1
    - Dst: isSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:402,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:477,1
    - Dst: timeSliceEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:363,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:379,1
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:405,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:486,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:394,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:500,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:461,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:541,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:538,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:377,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:450,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:462,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:491,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:502,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:482,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:493,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:473,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:498,1
    - Dst: isSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:389,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:467,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 179
    argCount: 7
    argNames:
    - pSliceInfo
    - pExprSup
    - pResBlock
    - pSrcBlock
    - index
    - beforeTs
    - pTaskInfo
    argTypes:
    - STimeSliceOperatorInfo*
    - SExprSupp*
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - bool
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 563
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 563
    functionName: genInterpolationResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - isIrowtsPseudoColumn
    - colDataSetVal
    - taosMemoryCalloc
    - isIsfilledPseudoColumn
    - taosStr2Int64
    - isSelectGroupConstValueFunc
    - IS_VAR_DATA_TYPE
    - IS_BOOLEAN_TYPE
    - taosStr2Float
    - colDataSetNULL
    - taosStr2Double
    - timeSliceEnsureBlockCapacity
    - colDataGetData
    - varDataVal
    - interpDetermineFillRefRow
    - taosGetLinearInterpolationVal
    - interpColSetKey
    - isIrowtsOriginPseudoColumn
    - taosArrayGet
    - IS_SIGNED_NUMERIC_TYPE
    - isGroupKeyFunc
    - qError
    - QUERY_CHECK_NULL
    - taosStr2Int8
    - taosStr2UInt64
    - isInterpFunc
    - IS_UNSIGNED_NUMERIC_TYPE
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: bool
    signature: 'static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo,
      SExprSupp* pExprSup, SSDataBlock* pResBlock, SSDataBlock* pSrcBlock, int32_t
      index, bool beforeTs, SExecTaskInfo* pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pSliceInfo
    - threshold
    argTypes:
    - STimeSliceOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: checkThresholdReached
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool checkThresholdReached(STimeSliceOperatorInfo* pSliceInfo,
      int32_t threshold) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: genInterpolationResult
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1003,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pSliceInfo
    - pOperator
    - index
    argTypes:
    - STimeSliceOperatorInfo*
    - SOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1007
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1007
    functionName: genInterpAfterDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - genInterpolationResult
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'static void genInterpAfterDataBlock(STimeSliceOperatorInfo* pSliceInfo,
      SOperatorInfo* pOperator, int32_t index) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1099,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1124,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1142,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1169,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1104,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1104,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1154,1
    - Dst: resetTimesliceInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1161,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1176,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1105,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1106,1
    - Dst: doHandleTimeslice
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1174,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1122,1
    - Dst: checkWindowBoundReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1140,1
    - Dst: genInterpAfterDataBlock
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1152,1
    - Dst: checkThresholdReached
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1140,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1181
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1181
    functionName: doTimesliceNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - genInterpAfterDataBlock
    - resetTimesliceInfo
    - checkThresholdReached
    - doFilter
    - setOperatorCompleted
    - setTaskStatus
    - doHandleTimeslice
    - checkWindowBoundReached
    - qError
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTimesliceNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1247,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1272,1
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1287,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1279,1
    - Dst: extractPkColumnFromFuncs
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1280,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1288,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1312,1
    - Dst: getQueryExtWindow
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1320,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1342,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1269,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1276,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1281,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1321,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1324,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1329,1
    - Dst: destroyTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1344,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1243,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1260,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1263,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1270,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1277,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1283,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1291,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1292,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1310,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1334,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1248,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1261,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1273,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1284,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1335,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1345,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1348
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1348
    functionName: createTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - getQueryExtWindow
    - IS_VAR_DATA_TYPE
    - setOperatorInfo
    - createFillColInfo
    - destroyTimeSliceOperatorInfo
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - extractColumnFromColumnNode
    - createOperatorFpSet
    - convertFillType
    - extractPkColumnFromFuncs
    - tstrerror
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTimeSliceOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1388,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1353,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1360,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1363,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1371,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1376,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1379,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1373,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1370,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1358,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1357,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1362,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1369,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1364,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1368,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1383,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1386,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timesliceoperator.c:1380,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1391
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1391
    functionName: destroyTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timesliceoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - blockDataDestroy
    - taosVariantDestroy
    - taosArrayDestroyEx
    - cleanupExprSupp
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyTimeSliceOperatorInfo(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - bucketId
    - bits
    - numOfBuckets
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: doGetAlternativeBucketId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetAlternativeBucketId(int32_t bucketId, int32_t
      bits, int32_t numOfBuckets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:81,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - p
    - key
    - keyLen
    - data
    - size
    argTypes:
    - char*
    - void*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: doCopyObject
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void doCopyObject(char* p, const void* key, int32_t keyLen,
      const void* data, int32_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:137,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:148,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pPage
    - pNode
    - pBucket
    argTypes:
    - SFilePage*
    - SLHashNode*
    - SLHashBucket*
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: doRemoveFromBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - GET_LHASH_NODE_LEN
    - setBufPageDirty
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void doRemoveFromBucket(SFilePage* pPage, SLHashNode* pNode,
      SLHashBucket* pBucket) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:229,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:239,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:251,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:245,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:234,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:257,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:259,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - pHashObj
    argTypes:
    - SLHashObj*
    constantsTouched: []
    func_position:
      end: 268
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 268
    functionName: doAddNewBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - taosMemoryCalloc
    - taosMemoryRealloc
    - memset
    - taosArrayPush
    - getNewBufPage
    - setBufPageDirty
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddNewBucket(SLHashObj* pHashObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:334,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:340,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:341,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pHashObj
    argTypes:
    - SLHashObj*
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: tHashCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - destroyDiskbasedBuf
    linkageType: ''
    returnType: void*
    signature: 'void * tHashCleanup(SLHashObj* pHashObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doGetAlternativeBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:447,1
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:457,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:454,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:458,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:464,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:465,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:466,1
    - Dst: GET_LHASH_NODE_DATA
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:467,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:469,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:473,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - pHashObj
    - key
    - keyLen
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 477
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 477
    functionName: tHashGet
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - taosArrayGet
    - doGetBucketIdFromHashVal
    - GET_LHASH_NODE_KEY
    - memcmp
    - GET_LHASH_NODE_LEN
    - getBufPage
    - GET_LHASH_NODE_DATA
    - taosArrayGetSize
    - doGetAlternativeBucketId
    linkageType: ''
    returnType: char*
    signature: 'char * tHashGet(SLHashObj* pHashObj, const void* key, size_t keyLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - hashv
    - bits
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: doGetBucketIdFromHashVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetBucketIdFromHashVal(int32_t hashv, int32_t bits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - bucketId
    - bits
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: doGetRelatedSplitBucketId
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetRelatedSplitBucketId(int32_t bucketId, int32_t
      bits) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:89,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:91,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:103,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:102,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:98,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:107,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:112,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:117,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:120,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:121,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:124,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:126,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:127,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 7
    argNames:
    - pHashObj
    - pBucket
    - index
    - key
    - keyLen
    - data
    - size
    argTypes:
    - SLHashObj*
    - SLHashBucket*
    - int32_t
    - void*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 134
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 134
    functionName: doAddToBucket
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getBufPage
    - taosArrayGetLast
    - setBufPageDirty
    - doCopyObject
    - taosArrayPush
    - getNewBufPage
    - getBufPageSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddToBucket(SLHashObj* pHashObj, SLHashBucket* pBucket,
      int32_t index, const void* key, int32_t keyLen, const void* data, int32_t size) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:154,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:169,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:180,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:210,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:162,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:160,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:172,1
    - Dst: GET_LHASH_NODE_DATA
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:184,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:187,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:184,1
    - Dst: doCopyObject
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:184,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:207,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:211,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:215,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:186,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:197,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:202,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:203,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:163,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:159,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:167,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:199,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:199,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - pHashObj
    - pBucket
    argTypes:
    - SLHashObj*
    - SLHashBucket*
    constantsTouched: []
    func_position:
      end: 220
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 220
    functionName: doTrimBucketPages
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - taosArrayGet
    - GET_LHASH_NODE_KEY
    - memmove
    - taosArrayRemove
    - GET_LHASH_NODE_LEN
    - taosArrayGetLast
    - getBufPage
    - qError
    - tstrerror
    - doCopyObject
    - GET_LHASH_NODE_DATA
    - dBufSetBufPageRecycled
    - setBufPageDirty
    - getBufPageSize
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTrimBucketPages(SLHashObj* pHashObj, SLHashBucket*
      pBucket) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:280,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:279,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:279,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:277,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:284,1
    - Dst: setBufPageCompressOnDisk
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:290,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:304,1
    - Dst: doAddNewBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:310,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:324,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:323,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - inMemPages
    - pageSize
    - fn
    - numOfTuplePerPage
    argTypes:
    - int32_t
    - int32_t
    - _hash_fn_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 331
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 331
    functionName: tHashInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - osTempSpaceAvailable
    - taosArrayDestroy
    - setBufPageCompressOnDisk
    - taosMemoryCalloc
    - terrstr
    - destroyDiskbasedBuf
    - doAddNewBucket
    - printf
    - createDiskbasedBuf
    linkageType: ''
    returnType: SLHashObj*
    signature: 'SLHashObj * tHashInit(int32_t inMemPages, int32_t pageSize, _hash_fn_t
      fn, int32_t numOfTuplePerPage) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:352,1
    - Dst: log
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:382,1
    - Dst: log
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:382,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:386,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:398,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:400,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:416,1
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:421,1
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:349,1
    - Dst: doGetAlternativeBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:355,1
    - Dst: doAddToBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:364,1
    - Dst: doAddNewBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:377,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:382,1
    - Dst: doGetBucketIdFromHashVal
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:412,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:430,1
    - Dst: doGetRelatedSplitBucketId
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:399,1
    - Dst: doTrimBucketPages
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:433,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:422,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:406,1
    - Dst: GET_LHASH_NODE_KEY
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:421,1
    - Dst: doRemoveFromBucket
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:423,1
    - Dst: GET_LHASH_NODE_LEN
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:426,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 70
    argCount: 5
    argNames:
    - pHashObj
    - key
    - keyLen
    - data
    - size
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 440
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 440
    functionName: tHashPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - doRemoveFromBucket
    - doAddToBucket
    - releaseBufPage
    - doGetBucketIdFromHashVal
    - taosArrayGet
    - GET_LHASH_NODE_KEY
    - doAddNewBucket
    - GET_LHASH_NODE_LEN
    - getBufPage
    - qError
    - doTrimBucketPages
    - log
    - ceil
    - taosArrayGetSize
    - doGetRelatedSplitBucketId
    - doGetAlternativeBucketId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHashPut(SLHashObj* pHashObj, const void* key, size_t keyLen,
      void* data, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pHashObj
    - key
    - keyLen
    argTypes:
    - SLHashObj*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: tHashRemove
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHashRemove(SLHashObj* pHashObj, const void* key, size_t keyLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:485,1
    - Dst: dBufSetPrintInfo
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:488,1
    - Dst: dBufPrintStatis
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:496,1
    - Dst: printf
      Src: /src/tdengine/source/libs/executor/src/tlinearhash.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pHashObj
    - type
    argTypes:
    - SLHashObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 498
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 498
    functionName: tHashPrint
    functionSourceFile: /src/tdengine/source/libs/executor/src/tlinearhash.c
    functionUses: []
    functionsReached:
    - dBufSetPrintInfo
    - dBufPrintStatis
    - printf
    linkageType: ''
    returnType: void
    signature: 'void tHashPrint(const SLHashObj* pHashObj, int32_t type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosResetFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:73,1
    - Dst: getFillInfoStart
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:73,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:75,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:76,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:78,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:82,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:84,1
    - Dst: fillResetPrevForNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:86,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:88,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:88,1
    - Dst: taosFillResultDataBlock2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:94,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:97,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:89,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:96,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pResultInfo
    - order
    argTypes:
    - SOperatorInfo*
    - SFillOperatorInfo*
    - SResultInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: doHandleRemainBlockForNewGroupImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - fillResetPrevForNewGroup
    - reviseFillStartAndEndKey
    - taosFillSetInputDataBlock
    - taosFillResultDataBlock2
    - getFillInfoStart
    - qError
    - tstrerror
    - taosFillSetStartInfo
    - T_LONG_JMP
    - taosResetFillInfo
    - doApplyScalarCalculation
    linkageType: ''
    returnType: void
    signature: 'static void doHandleRemainBlockForNewGroupImpl(SOperatorInfo* pOperator,
      SFillOperatorInfo* pInfo, SResultInfo* pResultInfo, int32_t order) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:133,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:131,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:138,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:139,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:143,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:147,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:157,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:149,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:158,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - order
    - scanFlag
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 160
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 160
    functionName: doApplyScalarCalculation
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - qError
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: void
    signature: 'void doApplyScalarCalculation(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, int32_t order, int32_t scanFlag) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:193,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:207,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:255,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:274,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:200,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:211,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:213,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:221,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:226,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:232,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:287,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:228,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:225,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:233,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:222,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:224,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:266,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:288,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:186,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:214,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:217,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:229,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:241,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:247,1
    - Dst: taosFillResultDataBlock2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:254,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 95
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 291
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 291
    functionName: doFillImpl2
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosFillNotStarted
    - reviseFillStartAndEndKey
    - taosFillSetInputDataBlock
    - taosFillResultDataBlock2
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - doHandleRemainBlockForNewGroupImpl
    - qError
    - setOperatorCompleted
    - taosFillSetStartInfo
    - tstrerror
    - T_LONG_JMP
    - doHandleRemainBlockFromNewGroup
    - getNextBlockFromDownstream
    - doApplyScalarCalculation
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doFillImpl2(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: doFillImpl2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:427,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:433,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:435,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:435,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:437,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 450
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 450
    functionName: doFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - qError
    - setOperatorCompleted
    - tstrerror
    - doFilter
    - doFillImpl2
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFillNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:475,1
    - Dst: taosCreateFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:475,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:487,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:498,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:504,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:505,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 15
    argNames:
    - pInfo
    - pExpr
    - numOfCols
    - pNotFillExpr
    - numOfNotFillCols
    - pFillNullExpr
    - numOfFillNullExprs
    - pValNode
    - win
    - capacity
    - id
    - pInterval
    - fillType
    - order
    - pTaskInfo
    argTypes:
    - SFillOperatorInfo*
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SExprInfo*
    - int32_t
    - SNodeListNode*
    - STimeWindow
    - int32_t
    - char*
    - SInterval*
    - int32_t
    - int32_t
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 510
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 510
    functionName: initFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosCreateFillInfo
    - createFillColInfo
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initFillInfo(SFillOperatorInfo* pInfo, SExprInfo* pExpr,
      int32_t numOfCols, SExprInfo* pNotFillExpr, int32_t numOfNotFillCols, SExprInfo*
      pFillNullExpr, int32_t numOfFillNullExprs, SNodeListNode* pValNode, STimeWindow
      win, int32_t capacity, const char* id, SInterval* pInterval, int32_t fillType,
      int32_t order, SExecTaskInfo* pTaskInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isWstartColumnExist
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:529,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:542,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:537,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:533,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:544,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - pInfo
    - pPhyFillNode
    - pExprSupp
    - idStr
    argTypes:
    - SFillOperatorInfo*
    - SFillPhysiNode*
    - SExprSupp*
    - char*
    constantsTouched: []
    func_position:
      end: 555
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 555
    functionName: createPrimaryTsExprIfNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - qError
    - isWstartColumnExist
    - tstrerror
    - createExprFromTargetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPrimaryTsExprIfNeeded(SFillOperatorInfo* pInfo,
      SFillPhysiNode* pPhyFillNode, SExprSupp* pExprSupp, const char* idStr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosFillHasMoreResults
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:107,1
    - Dst: taosFillResultDataBlock2
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:109,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:111,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pResultInfo
    - order
    argTypes:
    - SOperatorInfo*
    - SFillOperatorInfo*
    - SResultInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: doHandleRemainBlockFromNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - taosFillResultDataBlock2
    - qError
    - tstrerror
    - T_LONG_JMP
    - doHandleRemainBlockForNewGroupImpl
    - taosFillHasMoreResults
    linkageType: ''
    returnType: void
    signature: 'static void doHandleRemainBlockFromNewGroup(SOperatorInfo* pOperator,
      SFillOperatorInfo* pInfo, SResultInfo* pResultInfo, int32_t order) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:167,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SFillInfo*
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: fillResetPrevForNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillResetPrevForNewGroup(SFillInfo* pFillInfo) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:299,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:346,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:348,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:349,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:389,1
    - Dst: doHandleRemainBlockForNewGroupImpl
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:397,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:395,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:306,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:335,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:337,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:341,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:351,1
    - Dst: taosFillNotStarted
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:350,1
    - Dst: taosFillSetInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:365,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:371,1
    - Dst: taosFillResultDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:352,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:357,1
    - Dst: taosFillSetStartInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:378,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:409,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:409,1
    - Dst: doHandleRemainBlockFromNewGroup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:324,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:310,1
    - Dst: reviseFillStartAndEndKey
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:338,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:345,1
    - Dst: doApplyScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:353,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:410,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 100
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 413
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 413
    functionName: doFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosFillNotStarted
    - reviseFillStartAndEndKey
    - taosFillSetInputDataBlock
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - doHandleRemainBlockForNewGroupImpl
    - qError
    - setOperatorCompleted
    - taosFillSetStartInfo
    - taosFillResultDataBlock
    - tstrerror
    - T_LONG_JMP
    - doHandleRemainBlockFromNewGroup
    - getNextBlockFromDownstream
    - doApplyScalarCalculation
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doFillImpl(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDestroyFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:454,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:461,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:455,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:460,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:457,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:463,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:464,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:465,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 466
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: destroyFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosDestroyFillInfo
    - blockDataDestroy
    - cleanupExprSupp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyFillOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SFillOperatorInfo*
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: isWstartColumnExist
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isWstartColumnExist(SFillOperatorInfo* pInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:563,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:582,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:589,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:613,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:622,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:646,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:652,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:664,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:664,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:575,1
    - Dst: createPrimaryTsExprIfNeeded
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:584,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:591,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:608,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:604,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:625,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:636,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:641,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:651,1
    - Dst: destroyFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:667,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:669,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:559,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:571,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:593,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:594,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:585,1
    - Dst: initFillInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:564,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:596,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:588,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:655,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 4
    argNames:
    - downstream
    - pPhyFillNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SFillPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 672
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 672
    functionName: createFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - createOneDataBlock
    - setOperatorInfo
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - qError
    - filterInitFromNode
    - destroyFillOperatorInfo
    - QUERY_CHECK_NULL
    - createPrimaryTsExprIfNeeded
    - createOperatorFpSet
    - extractColMatchInfo
    - convertFillType
    - initFillInfo
    - tstrerror
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createFillOperatorInfo(SOperatorInfo* downstream, SFillPhysiNode*
      pPhyFillNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:677,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:678,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:683,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:680,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:689,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:692,1
    - Dst: taosFillUpdateStartTimestampInfo
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:696,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/filloperator.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - pInfo
    - order
    argTypes:
    - SFillOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 699
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 699
    functionName: reviseFillStartAndEndKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/filloperator.c
    functionUses: []
    functionsReached:
    - taosTimeTruncate
    - taosTimeAdd
    - taosFillUpdateStartTimestampInfo
    linkageType: ''
    returnType: void
    signature: 'static void reviseFillStartAndEndKey(SFillOperatorInfo* pInfo, int32_t
      order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    functionName: freeGroupKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeGroupKey(void* param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:101,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:110,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:119,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:124,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:133,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 4
    argNames:
    - pGroupColVals
    - keyLen
    - keyBuf
    - pGroupColList
    argTypes:
    - SArray**
    - int32_t*
    - char**
    - SArray*
    constantsTouched: []
    func_position:
      end: 139
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 139
    functionName: initGroupOptrInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupOptrInfo(SArray** pGroupColVals, int32_t*
      keyLen, char** keyBuf, const SArray* pGroupColList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:195,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:196,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:199,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:208,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:212,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:214,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:218,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:219,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:223,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:221,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:220,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 4
    argNames:
    - pGroupCols
    - pGroupColVals
    - pBlock
    - rowIndex
    argTypes:
    - SArray*
    - SArray*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 227
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 227
    functionName: recordNewGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull
    - taosArrayGet
    - tTagIsJson
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - getJsonValueLen
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void recordNewGroupKeys(SArray* pGroupCols, SArray* pGroupColVals,
      SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doBuildResultDatablockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:418,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:423,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:421,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:420,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:426,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:439,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 443
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 443
    functionName: buildGroupResultDataBlockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashCleanup
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    - doBuildResultDatablockByHash
    - hasRemainResultByHash
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildGroupResultDataBlockByHash(SOperatorInfo*
      pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1227,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 8
    argNames:
    - pOperator
    - binfo
    - numOfCols
    - pData
    - bytes
    - groupId
    - pBuf
    - pAggSup
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - int32_t
    - char*
    - int32_t
    - uint64_t
    - SDiskbasedBuf*
    - SAggSupporter*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1234
    functionName: setGroupResultOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - setResultRowInitCtx
    - doSetResultOutBufByKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setGroupResultOutputBuf(SOperatorInfo* pOperator, SOptrBasicInfo*
      binfo, int32_t numOfCols, char* pData, int32_t bytes, uint64_t groupId, SDiskbasedBuf*
      pBuf, SAggSupporter* pAggSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1686
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1686
    functionName: freePartItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freePartItem(void* ptr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:145,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:146,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:162,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:165,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:167,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:172,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:173,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:174,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:180,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 5
    argNames:
    - pGroupCols
    - pGroupColVals
    - pBlock
    - rowIndex
    - numOfGroupCols
    argTypes:
    - SArray*
    - SArray*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 187
    functionName: groupKeyCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - taosArrayGet
    - memcmp
    - varDataLen
    - colDataGetData
    - varDataVal
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: 'static bool groupKeyCompare(SArray* pGroupCols, SArray* pGroupColVals,
      SSDataBlock* pBlock, int32_t rowIndex, int32_t numOfGroupCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:83,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:86,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:84,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:87,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:85,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:90,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:95,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: destroyGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - taosArrayDestroyEx
    - cleanupExprSupp
    - cleanupResultInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyGroupOperatorInfo(void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:230,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:235,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:243,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:244,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:247,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:248,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:250,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pKey
    - pGroupColVals
    argTypes:
    - void*
    - SArray*
    constantsTouched: []
    func_position:
      end: 256
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 256
    functionName: buildGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - getJsonValueLen
    - varDataCopy
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildGroupKeys(void* pKey, const SArray* pGroupColVals) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:452,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:465,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:460,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:473,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:454,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:474,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:480,1
    - Dst: doHashGroupbyAgg
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:483,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:490,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:506,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:508,1
    - Dst: buildGroupResultDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:510,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:502,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 514
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 514
    functionName: hashGroupbyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosArrayDestroy
    - projectApplyFunctions
    - doHashGroupbyAgg
    - setInputDataBlock
    - buildGroupResultDataBlockByHash
    - qError
    - taosGetTimestampUs
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hashGroupbyAggregateNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1239,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1241,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1246,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pParSup
    - pExprSup
    - pBlock
    - rowId
    argTypes:
    - SPartitionBySupporter*
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1248
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1248
    functionName: calGroupIdByData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - projectApplyFunctions
    - calcGroupId
    - recordNewGroupKeys
    - buildGroupKeys
    - qError
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t calGroupIdByData(SPartitionBySupporter* pParSup, SExprSupp*
      pExprSup, SSDataBlock* pBlock, int32_t rowId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1695,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1723,1
    - Dst: buildCreateTableBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1737,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1744,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1750,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1753,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1760,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1778,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1795,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1690,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1710,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1720,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1722,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1730,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1738,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1773,1
    - Dst: initParDownStream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1787,1
    - Dst: destroyStreamPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1794,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1709,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1715,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1716,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1729,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1719,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1733,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1766,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1771,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1786,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1796,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1694,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1732,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1746,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1751,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1754,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1762,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1765,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1770,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1784,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 4
    argNames:
    - downstream
    - pPartNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SStreamPartitionPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1798
      start: 1688
    functionDepth: 0
    functionLinenumber: 1688
    functionLinenumberEnd: 1798
    functionName: createStreamPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - taosHashInit
    - setOperatorInfo
    - makeColumnArrayFromList
    - createDataBlockFromDescNode
    - destroyStreamPartitionOperatorInfo
    - taosGetDefaultHashFunction
    - initParDownStream
    - taosHashSetFreeFp
    - blockDataEnsureCapacity
    - appendDownstream
    - createExpr
    - qError
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - initGroupOptrInfo
    - buildCreateTableBlock
    - setOperatorStreamStateFn
    - tstrerror
    - createExprFromOneNode
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamPartitionOperatorInfo(SOperatorInfo* downstream,
      SStreamPartitionPhysiNode* pPartNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:262,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:268,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:266,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:271,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:272,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:273,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:274,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pCtx
    - numOfOutput
    - totalRows
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 285
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 285
    functionName: doAssignGroupKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - GET_RES_INFO
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - getJsonValueLen
    - varDataCopy
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: void
    signature: 'static void doAssignGroupKeys(SqlFunctionCtx* pCtx, int32_t numOfOutput,
      int32_t totalRows, int32_t rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 372
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 372
    functionName: hasRemainResultByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool hasRemainResultByHash(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:837,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:852,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:847,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:838,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pBlock
    - rowCapacity
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 862
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 862
    functionName: setupColumnOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t*
    signature: 'int32_t * setupColumnOffset(const SSDataBlock* pBlock, int32_t rowCapacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1078,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1086,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1107,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1105,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1106,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1095,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1093,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1080,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1088,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1102,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1099,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1103,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1098,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1108,1
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1075,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1076,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1083,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1084,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1109
    functionName: destroyPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - destroyDiskbasedBuf
    - cleanupBasicInfo
    - taosHashIterate
    - cleanupExprSupp
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyPartitionOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1261,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1265,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1270,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1280,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1291,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1300,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1315,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1317,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1315,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1274,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1277,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1264,1
    - Dst: hasRemainPartion
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1273,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1276,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1314,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1317,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1317,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1263,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1275,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1294,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1281,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1279,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1305,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1309,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1310,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1319
    functionName: buildStreamPartitionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataIsNull
    - hasRemainPartion
    - colDataSetVal
    - blockDataUpdateTsWindow
    - taosArrayGetSize
    - GET_TASKID
    - taosArrayDestroy
    - qTrace
    - printDataBlock
    - colDataGetData
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - QUERY_CHECK_NULL
    - getStreamOpName
    - blockDataCleanup
    - taosHashIterate
    - QUERY_CHECK_CONDITION
    - tstrerror
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildStreamPartitionResult(SOperatorInfo* pOperator) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1541,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1553,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1568,1
    - Dst: buildStreamPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1563,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1507,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1558,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1570,1
    - Dst: hasRemainPartion
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1496,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1505,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1511,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1519,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1520,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1523,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1523,1
    - Dst: doStreamHashPartitionImpl
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1551,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1556,1
    - Dst: buildStreamCreateTableResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1557,1
    - Dst: hasRemainTbName
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1487,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1489,1
    - Dst: buildStreamCreateTableResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1488,1
    - Dst: buildStreamPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1497,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1501,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1511,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1548,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1546,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1511,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1574
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1574
    functionName: doStreamHashPartitionNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - taosHashClear
    - hasRemainPartion
    - hasRemainTbName
    - getNextBlockFromDownstream
    - GET_TASKID
    - printDataBlock
    - doStreamHashPartitionImpl
    - buildStreamPartitionResult
    - qError
    - setOperatorCompleted
    - taosGetTimestampUs
    - printSpecDataBlock
    - getStreamOpName
    - buildStreamCreateTableResult
    - taosHashIterate
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamHashPartitionNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:338,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:341,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:352,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:364,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:305,1
    - Dst: groupKeyCompare
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:314,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:307,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:325,1
    - Dst: setGroupResultOutputBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:331,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:362,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:355,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:351,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:292,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:323,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:334,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:330,1
    - Dst: doAssignGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:345,1
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:346,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 366
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 366
    functionName: doHashGroupbyAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - groupKeyCompare
    - doAssignGroupKeys
    - recordNewGroupKeys
    - buildGroupKeys
    - T_LONG_JMP
    - setGroupResultOutputBuf
    - applyAggFunctionOnPartialTuples
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doHashGroupbyAgg(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:385,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:386,1
    - Dst: hasRemainResultByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:395,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:392,1
    - Dst: doCopyToSDataBlockByHash
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - pOperator
    - pbInfo
    - pGroupResInfo
    - pBuf
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SGroupResInfo*
    - SDiskbasedBuf*
    constantsTouched: []
    func_position:
      end: 407
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 407
    functionName: doBuildResultDatablockByHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - doCopyToSDataBlockByHash
    - blockDataCleanup
    - hasRemainResultByHash
    linkageType: ''
    returnType: void
    signature: 'void doBuildResultDatablockByHash(SOperatorInfo* pOperator, SOptrBasicInfo*
      pbInfo, SGroupResInfo* pGroupResInfo, SDiskbasedBuf* pBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:865,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:873,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:867,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:870,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:871,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:876,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:878,1
    - Dst: clearDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:879,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SPartitionOperatorInfo*
    constantsTouched: []
    func_position:
      end: 880
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 880
    functionName: clearPartitionOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - taosArrayDestroy
    - clearDiskbasedBuf
    - blockDataDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void clearPartitionOperator(SPartitionOperatorInfo* pInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1117,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1135,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1149,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1165,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1166,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1155,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1173,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1184,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1193,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1127,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1152,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1171,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1183,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1191,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1204,1
    - Dst: destroyPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1214,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1217,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1218,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1113,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1126,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1131,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1142,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1151,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1173,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1177,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1183,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1184,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1118,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1164,1
    - Dst: setupColumnOffset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1190,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1198,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 84
    argCount: 4
    argNames:
    - downstream
    - pPartNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPartitionPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1219
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1219
    functionName: createPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - terrstr
    - blockDataGetCapacityInRow
    - initExprSupp
    - getBufferPgSize
    - getBufPageSize
    - taosArrayGetSize
    - setupColumnOffset
    - taosArrayInit
    - taosHashInit
    - setOperatorInfo
    - makeColumnArrayFromList
    - blockDataGetSerialMetaSize
    - createDataBlockFromDescNode
    - taosArrayPush
    - createDiskbasedBuf
    - taosGetDefaultHashFunction
    - osTempSpaceAvailable
    - destroyPartitionOperatorInfo
    - appendDownstream
    - qError
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - initGroupOptrInfo
    - TAOS_RETURN
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createPartitionOperatorInfo(SOperatorInfo* downstream, SPartitionPhysiNode*
      pPartNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1335,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1341,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1343,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1364,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1369,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1387,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1393,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1330,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1359,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1349,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1352,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1385,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1386,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1392,1
    - Dst: blockCopyOneRow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1334,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1337,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1345,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1355,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1361,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1367,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1381,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1390,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1346,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1347,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1356,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1357,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1357,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1368,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1378,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1400,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 9
    argNames:
    - pState
    - pTableSup
    - pTagSup
    - groupId
    - pSrcBlock
    - rowId
    - pDestBlock
    - pAPI
    - id
    argTypes:
    - void*
    - SExprSupp*
    - SExprSupp*
    - uint64_t
    - SSDataBlock*
    - int32_t
    - SSDataBlock*
    - SStateStore*
    - char*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1403
    functionName: appendCreateTableRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - projectApplyFunctions
    - qTrace
    - varDataLen
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - memset
    - blockCopyOneRow
    - blockDataDestroy
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - memcpy
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendCreateTableRow(void* pState, SExprSupp* pTableSup, SExprSupp*
      pTagSup, uint64_t groupId, SSDataBlock* pSrcBlock, int32_t rowId, SSDataBlock*
      pDestBlock, SStateStore* pAPI, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1578,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1587,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1582,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1581,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1591,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1592,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1593,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1594,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1595,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1596,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1598,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1599
    functionName: destroyStreamPartitionOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - cleanupBasicInfo
    - blockDataDestroy
    - cleanupExprSupp
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamPartitionOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:540,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:549,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:565,1
    - Dst: initGroupOptrInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:556,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:569,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:572,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:518,1
    - Dst: extractColumnInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:539,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:554,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:557,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:573,1
    - Dst: destroyGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:590,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:591,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:563,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:553,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:584,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:531,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:536,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:522,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:562,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:567,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:570,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:583,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 594
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 594
    functionName: createGroupOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - extractColumnInfo
    - initExprSupp
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - createOperatorFpSet
    - destroyGroupOperatorInfo
    - initGroupOptrInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createGroupOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode*
      pAggNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:660,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:714,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:715,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:716,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:722,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:706,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:713,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:727,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:729,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:730,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:673,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:698,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:718,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:730,1
    - Dst: createBlockDataNotLoaded
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:744,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:763,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:750,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:755,1
    - Dst: getCurrentDataGroupInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:664,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:666,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:714,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:729,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:741,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:742,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:763,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:746,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:661,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:685,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:693,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:703,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:704,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:708,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:725,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:749,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:764,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:756,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 766
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 766
    functionName: doHashPartition
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - BitmapLen
    - calcGroupId
    - recordNewGroupKeys
    - getBufPageSize
    - IS_VAR_DATA_TYPE
    - createBlockDataNotLoaded
    - taosArrayInit
    - colDataIsNull_f
    - releaseBufPage
    - colDataGetData
    - taosArrayPush
    - memcpy
    - colDataSetNull_f
    - getCurrentDataGroupInfo
    - taosArrayGet
    - buildGroupKeys
    - qError
    - QUERY_CHECK_NULL
    - colDataIsNull_s
    - QUERY_CHECK_CONDITION
    - T_LONG_JMP
    - tstrerror
    - getJsonValueLen
    - setBufPageDirty
    linkageType: ''
    returnType: void
    signature: 'static void doHashPartition(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamPartitionOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1250
    functionName: hasRemainPartion
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasRemainPartion(SStreamPartitionOperatorInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:604,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:616,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:627,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:629,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:630,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:632,1
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:636,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:637,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:646,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:647,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:646,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:640,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - pOperator
    - pDataBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 651
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 651
    functionName: createBlockDataNotLoaded
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataAppendColInfo
    - doEnsureCapacity
    - taosMemoryCalloc
    - colDataAssign
    - qError
    - blockDataDestroy
    - tstrerror
    - createDataBlock
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * createBlockDataNotLoaded(const SOperatorInfo* pOperator,
      SSDataBlock* pDataBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:798,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:814,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:829,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:829,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:777,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:783,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:779,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:788,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:799,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:814,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:771,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:793,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:801,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:818,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:808,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:819,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:821,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:821,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:776,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:785,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:812,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:801,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 3
    argNames:
    - pInfo
    - pGroupInfo
    - len
    argTypes:
    - SPartitionOperatorInfo*
    - SDataGroupInfo**
    - int32_t
    constantsTouched: []
    func_position:
      end: 834
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 834
    functionName: getCurrentDataGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - releaseBufPage
    - taosHashGet
    - taosArrayGetLast
    - getBufPage
    - qError
    - tstrerror
    - memset
    - QUERY_CHECK_NULL
    - getNewBufPage
    - taosArrayPush
    - getBufPageSize
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void * getCurrentDataGroupInfo(const SPartitionOperatorInfo* pInfo,
      SDataGroupInfo** pGroupInfo, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamPartitionOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1251
    functionName: hasRemainTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasRemainTbName(SStreamPartitionOperatorInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1803,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1804,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1812,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1813,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1808,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1815,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1818,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1819,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1820,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1821,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1831,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1840,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1840,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pNodeList
    - pArrayRes
    argTypes:
    - SNodeList*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1843
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1843
    functionName: extractColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - nodeType
    - LIST_LENGTH
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - extractColumnFromColumnNode
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractColumnInfo(SNodeList* pNodeList, SArray** pArrayRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - group1
    - group2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: compareDataGroupInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int compareDataGroupInfo(const void* group1, const void* group2) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:914,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:928,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:930,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:930,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:948,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:954,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:961,1
    - Dst: blockDataGetSortedRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:980,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:985,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:990,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:915,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:930,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:939,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:944,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:950,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:965,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:968,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:979,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:912,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:938,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:943,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:938,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:943,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:947,1
    - Dst: clearPartitionOperator
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:955,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:958,1
    - Dst: blockDataFromBuf1
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:964,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:978,1
    - Dst: buildPartitionResultForNotLoadBlock
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:917,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:921,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:922,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:938,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:936,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:943,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:962,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:986,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 996
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 996
    functionName: buildPartitionResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - buildPartitionResultForNotLoadBlock
    - taosArrayGetSize
    - blockDataTrimFirstRows
    - GET_TASKID
    - releaseBufPage
    - clearPartitionOperator
    - taosArrayGet
    - blockDataEnsureCapacity
    - getBufPage
    - qError
    - setOperatorCompleted
    - buildPartitionResult
    - blockDataCleanup
    - blockDataFromBuf1
    - tstrerror
    - T_LONG_JMP
    - blockDataGetSortedRows
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildPartitionResult(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1411,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1417,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1421,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1422,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1423,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1427,1
    - Dst: appendCreateTableRow
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1430,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1436,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1431,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1439
    functionName: buildStreamCreateTableResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayGet
    - blockDataEnsureCapacity
    - taosHashIterate
    - taosHashGetSize
    - qError
    - tstrerror
    - appendCreateTableRow
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildStreamCreateTableResult(SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 6
    argNames:
    - downstream
    - pParSup
    - pExpr
    - pTbnameExpr
    - pResExprSupp
    - pPkColIndex
    argTypes:
    - SOperatorInfo*
    - SPartitionBySupporter*
    - SExprSupp*
    - SExprSupp*
    - SExprSupp*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1626
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1626
    functionName: initParDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initParDownStream(SOperatorInfo* downstream, SPartitionBySupporter*
      pParSup, SExprSupp* pExpr, SExprSupp* pTbnameExpr, SExprSupp* pResExprSupp,
      int32_t* pPkColIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - pGroupInfo
    argTypes:
    - SDataGroupInfo*
    constantsTouched: []
    func_position:
      end: 903
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 903
    functionName: buildPartitionResultForNotLoadBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildPartitionResultForNotLoadBlock(SDataGroupInfo*
      pGroupInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1011,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1015,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1027,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1019,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1029,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1048,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1043,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1060,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1036,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1051,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1059,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1056,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1066,1
    - Dst: doHashPartition
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1033,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1041,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1047,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1064,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1064,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1040,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1040,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1054,1
    - Dst: buildPartitionResult
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1069,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1071
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1071
    functionName: hashPartitionNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - taosHashClear
    - blockDataEnsureCapacity
    - taosHashIterate
    - taosHashGetSize
    - qError
    - taosGetTimestampUs
    - taosArraySort
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tstrerror
    - T_LONG_JMP
    - doHashPartition
    - getNextBlockFromDownstream
    - buildPartitionResult
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hashPartitionNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recordNewGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1451,1
    - Dst: buildGroupKeys
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1452,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1449,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1455,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1456,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1457,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1458,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1459,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1472,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1462,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1472,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1466,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SStreamPartitionOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1474
    functionName: doStreamHashPartitionImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - calcGroupId
    - taosHashGet
    - recordNewGroupKeys
    - buildGroupKeys
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void doStreamHashPartitionImpl(SStreamPartitionOperatorInfo*
      pInfo, SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1631,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1652,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1641,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1642,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1653,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1661,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1670,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1676,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupoperator.c:1676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - tbName
    - tag
    argTypes:
    - SExprSupp*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1681
    functionName: buildCreateTableBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - tstrerror
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * buildCreateTableBlock(SExprSupp* tbName, SExprSupp*
      tag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:92,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:99,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:99,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:96,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:100,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:103,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:104,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:105,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:106,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:107,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:112,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:114,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:121,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pSource
    - idstr
    argTypes:
    - SStreamVtableMergeSource*
    - char*
    constantsTouched: []
    func_position:
      end: 127
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 127
    functionName: svmSourceFlushInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - releaseBufPage
    - blockDataGetNumOfRows
    - QUERY_CHECK_CONDITION
    - setBufPageDirty
    - qError
    - tstrerror
    - blockDataToBuf
    - QUERY_CHECK_NULL
    - getNewBufPage
    - tdListAppend
    - dBufSetBufPageRecycled
    - getBufPageSize
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceFlushInput(SStreamVtableMergeSource* pSource,
      const char* idstr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: listNEles
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pSource
    argTypes:
    - SStreamVtableMergeSource*
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: svmSourceIsEmpty
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - listNEles
    linkageType: ''
    returnType: bool
    signature: 'static bool svmSourceIsEmpty(SStreamVtableMergeSource* pSource) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:202,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:206,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:203,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:204,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:203,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:209,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:213,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:216,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:218,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:219,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:221,1
    - Dst: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:225,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:228,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pSource
    - idstr
    argTypes:
    - SStreamVtableMergeSource*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 231
    functionName: svmSourceReadBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - releaseBufPage
    - taosArrayGet
    - svmSourceIsEmpty
    - QUERY_CHECK_CONDITION
    - getBufPage
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - blockDataFromBuf
    - taosArrayGetSize
    - tdListGetHead
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceReadBuf(SStreamVtableMergeSource* pSource,
      const char* idstr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:267,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:270,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:273,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:277,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:292,1
    - Dst: svmSourceReadBuf
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:291,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:276,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:309,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:263,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:267,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:272,1
    - Dst: dBufSetBufPageRecycled
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:278,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:309,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:262,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:274,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:281,1
    - Dst: svmSourceCurrentTs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:279,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - pSource
    - idstr
    argTypes:
    - SStreamVtableMergeSource*
    - char*
    constantsTouched: []
    func_position:
      end: 312
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 312
    functionName: svmSourceMoveNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - svmSourceReadBuf
    - svmSourceIsEmpty
    - svmSourceCurrentTs
    - blockDataGetNumOfRows
    - QUERY_CHECK_CONDITION
    - getBufPage
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - dBufSetBufPageRecycled
    - tdListPopHead
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceMoveNext(SStreamVtableMergeSource* pSource,
      const char* idstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:354,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:359,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:355,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:360,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:361,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:362,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:364,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:373,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:373,1
    - Dst: svmSourceDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - pHandle
    - uid
    - idstr
    argTypes:
    - SStreamVtableMergeHandle*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 379
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 379
    functionName: svmAddSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createOneDataBlock
    - svmSourceDestroy
    - taosMemoryCalloc
    - tdListNew
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosHashPut
    linkageType: ''
    returnType: SStreamVtableMergeSource*
    signature: 'static SStreamVtableMergeSource * svmAddSource(SStreamVtableMergeHandle*
      pHandle, int64_t uid, const char* idstr) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:415,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:455,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:462,1
    - Dst: svmSourceMoveNext
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:418,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:421,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:462,1
    - Dst: svmSourceFlushInput
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:414,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:405,1
    - Dst: svmSourceGetExpireTime
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:423,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:428,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:454,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:410,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:420,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:422,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:425,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:440,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:454,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:465,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:468,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 3
    argNames:
    - pHandle
    - pRes
    - idstr
    argTypes:
    - SStreamVtableMergeHandle*
    - SVM_NEXT_RESULT*
    - char*
    constantsTouched: []
    func_position:
      end: 471
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 471
    functionName: svmBuildTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetTimestampMs
    - svmSourceGetExpireTime
    - taosArrayDestroy
    - svmSourceFlushInput
    - svmSourceIsEmpty
    - tMergeTreeCreate
    - taosHashIterate
    - qError
    - tstrerror
    - svmSourceMoveNext
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayGetSize
    - TMIN
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmBuildTree(SStreamVtableMergeHandle* pHandle, SVM_NEXT_RESULT*
      pRes, const char* idstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:515,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:518,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:516,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:520,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:523,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:529,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - pHandle
    - ppDataBlock
    - pRowIdx
    - idstr
    argTypes:
    - SStreamVtableMergeHandle*
    - SSDataBlock**
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 532
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 532
    functionName: streamVtableMergeCurrent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - tMergeTreeGetChosenIndex
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamVtableMergeCurrent(SStreamVtableMergeHandle* pHandle,
      SSDataBlock** ppDataBlock, int32_t* pRowIdx, const char* idstr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:626,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:628,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:631,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:632,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:639,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:639,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:640,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:641,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:642,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:643,1
    - Dst: streamVtableMergeDestroyHandle
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:654,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:651,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 8
    argNames:
    - ppHandle
    - vuid
    - nSrcTbls
    - numPageLimit
    - primaryTsIndex
    - pBuf
    - pResBlock
    - idstr
    argTypes:
    - SStreamVtableMergeHandle**
    - int64_t
    - int32_t
    - int32_t
    - int32_t
    - SDiskbasedBuf*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 657
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 657
    functionName: streamVtableMergeCreateHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createOneDataBlock
    - streamVtableMergeDestroyHandle
    - taosMemoryCalloc
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamVtableMergeCreateHandle(SStreamVtableMergeHandle** ppHandle,
      int64_t vuid, int32_t nSrcTbls, int32_t numPageLimit, int32_t primaryTsIndex,
      SDiskbasedBuf* pBuf, SSDataBlock* pResBlock, const char* idstr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:73,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:76,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:82,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: svmSourceDestroy
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - tdListFree
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void svmSourceDestroy(void* ptr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:138,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:138,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:144,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:147,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:153,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:144,1
    - Dst: blockDataSplitRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:149,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:157,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:135,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:138,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:155,1
    - Dst: svmSourceFlushInput
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:170,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:171,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:177,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:142,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:146,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:160,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:162,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:177,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 3
    argNames:
    - pSource
    - pDataBlock
    - idstr
    argTypes:
    - SStreamVtableMergeSource*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 180
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 180
    functionName: svmSourceAddBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetTimestampMs
    - blockDataSplitRows
    - svmSourceFlushInput
    - blockDataEnsureCapacity
    - blockDataGetNumOfRows
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - getBufPageSize
    - blockDataMergeNRows
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceAddBlock(SStreamVtableMergeSource* pSource,
      SSDataBlock* pDataBlock, const char* idstr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pSource
    argTypes:
    - SStreamVtableMergeSource*
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: svmSourceGetExpireTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - tdListGetHead
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t svmSourceGetExpireTime(SStreamVtableMergeSource* pSource) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:238,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:243,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:240,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:240,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:239,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:244,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:245,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pSource
    - idstr
    - pTs
    argTypes:
    - SStreamVtableMergeSource*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 254
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 254
    functionName: svmSourceCurrentTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - blockDataGetNumOfRows
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceCurrentTs(SStreamVtableMergeSource* pSource,
      const char* idstr, int64_t* pTs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:320,1
    - Dst: svmSourceCurrentTs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:330,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:325,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:323,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:321,1
    - Dst: svmSourceCurrentTs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:335,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 347
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 347
    functionName: svmSourceCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - svmSourceCurrentTs
    - taosArrayGet
    - svmSourceIsEmpty
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t svmSourceCompare(const void* pLeft, const void* pRight,
      void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:389,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:393,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 394
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 394
    functionName: svmDestroyTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - tMergeTreeDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void svmDestroyTree(void* ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:480,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:481,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:488,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:484,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:490,1
    - Dst: svmAddSource
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:493,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:494,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:497,1
    - Dst: svmSourceAddBlock
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:500,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:505,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pHandle
    - pDataBlock
    - idstr
    argTypes:
    - SStreamVtableMergeHandle*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 508
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 508
    functionName: streamVtableMergeAddBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosHashGet
    - qError
    - taosHashGetSize
    - svmAddSource
    - svmSourceAddBlock
    - QUERY_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamVtableMergeAddBlock(SStreamVtableMergeHandle* pHandle,
      SSDataBlock* pDataBlock, const char* idstr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:578,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:580,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:583,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:590,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:592,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:594,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:551,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:542,1
    - Dst: svmBuildTree
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:577,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:614,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:556,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:557,1
    - Dst: svmSourceMoveNext
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:560,1
    - Dst: svmSourceIsEmpty
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:563,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:568,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:591,1
    - Dst: svmDestroyTree
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:614,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:541,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:573,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:561,1
    - Dst: svmSourceCurrentTs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:582,1
    - Dst: svmSourceGetExpireTime
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:594,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:601,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 80
    argCount: 3
    argNames:
    - pHandle
    - pRes
    - idstr
    argTypes:
    - SStreamVtableMergeHandle*
    - SVM_NEXT_RESULT*
    - char*
    constantsTouched: []
    func_position:
      end: 617
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 617
    functionName: streamVtableMergeMoveNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetTimestampMs
    - taosArrayGet
    - svmSourceGetExpireTime
    - svmSourceIsEmpty
    - svmDestroyTree
    - svmSourceCurrentTs
    - svmBuildTree
    - qError
    - tMergeTreeGetAdjustIndex
    - tMergeTreeAdjust
    - tMergeTreeGetChosenIndex
    - QUERY_CHECK_NULL
    - svmSourceMoveNext
    - tstrerror
    - TMAX
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamVtableMergeMoveNext(SStreamVtableMergeHandle* pHandle,
      SVM_NEXT_RESULT* pRes, const char* idstr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:667,1
    - Dst: svmDestroyTree
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:671,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:673,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamVtableMerge.c:670,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 674
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 674
    functionName: streamVtableMergeDestroyHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - svmDestroyTree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamVtableMergeDestroyHandle(void* ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SStreamVtableMergeHandle*
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: streamVtableMergeHandleGetVuid
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamVtableMerge.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t streamVtableMergeHandleGetVuid(SStreamVtableMergeHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:142,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: getStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getStatus(SDataDeleterHandle* pDeleter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:112,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:120,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:114,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:113,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:122,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pDeleter
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - qError
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t allocBuf(SDataDeleterHandle* pDeleter, const SInputData*
      pInput, SDataDeleterBuf* pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:179,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'static void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:213,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:233,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:230,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:231,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:224,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:234,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:235,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - qError
    - updateStatus
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDataBlock(SDataSinkHandle* pHandle, SOutputData*
      pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 274
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t*
      size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:58,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:68,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:72,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:70,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:63,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:74,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:76,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:78,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:84,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:85,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:92,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:100,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:104,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:105,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:93,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDeleterHandle*
    - SInputData*
    - SDataDeleterBuf*
    constantsTouched: []
    func_position:
      end: 108
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 108
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayGet
    - TAOS_STRCPY
    - qError
    - atomic_add_fetch_64
    - QRY_ERR_RET
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t toDataCacheEntry(SDataDeleterHandle* pHandle, const
      SInputData* pInput, SDataDeleterBuf* pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:130,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:131,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pDeleter
    argTypes:
    - SDataDeleterHandle*
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateStatus(SDataDeleterHandle* pDeleter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:153,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:160,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:164,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:164,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:158,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:165,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:165,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:166,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    constantsTouched: []
    func_position:
      end: 175
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 175
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - allocBuf
    - taosFreeQitem
    - toDataCacheEntry
    - taosWriteQitem
    - updateStatus
    - QRY_ERR_JRET
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData*
      pInput, bool* pContinue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:187,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:196,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:205,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:197,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRawLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 207
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 207
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosQueueEmpty
    - qDebug
    - taosReadQitem
    - TAOS_MEMCPY
    linkageType: ''
    returnType: void
    signature: 'static void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen,
      int64_t* pRawLen, bool* pQueryEnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:249,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:248,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:250,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:247,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:252,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:255,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:256,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:259,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:261,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    constantsTouched: []
    func_position:
      end: 267
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 267
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - taosCloseQueue
    - atomic_sub_fetch_64
    - taosQueueEmpty
    - taosMemoryFree
    - taosFreeQitem
    - taosArrayDestroy
    - taosThreadMutexDestroy
    - nodesDestroyNode
    - taosReadQitem
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t destroyDataSinker(SDataSinkHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t*
      pFlags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:291,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:297,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:291,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:322,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:327,1
    - Dst: destroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:338,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:339,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:341,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDeleter.c:344,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - pParam
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - void*
    constantsTouched: []
    func_position:
      end: 348
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 348
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDeleter.c
    functionUses: []
    functionsReached:
    - destroyDataSinker
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosThreadMutexInit
    - nodesDestroyNode
    - qError
    - tstrerror
    - taosOpenQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataDeleter(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle, void* pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: streamOperatorReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamOperatorReloadState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:71,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:76,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:73,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:74,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: destroyIndefinitOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupExprSupp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyIndefinitOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - pLimitInfo
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    constantsTouched: []
    func_position:
      end: 212
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 212
    functionName: discardGroupDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t discardGroupDataBlock(SSDataBlock* pBlock, SLimitInfo*
      pLimitInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:252,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:257,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - pLimitInfo
    - groupId
    - pBlock
    - pOperator
    argTypes:
    - SLimitInfo*
    - uint64_t
    - SSDataBlock*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: doIngroupLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - applyLimitOffset
    - setOperatorCompleted
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doIngroupLimitOffset(SLimitInfo* pLimitInfo, uint64_t
      groupId, SSDataBlock* pBlock, SOperatorInfo* pOperator) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:461,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:469,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:486,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:480,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:488,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:506,1
    - Dst: destroyIndefinitOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:518,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:519,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:437,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:470,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:492,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:495,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:481,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:490,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:501,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:504,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:444,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:463,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:493,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:496,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:502,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:443,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:460,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:478,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:479,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:485,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:509,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 522
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 522
    functionName: createIndefinitOutputOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - setFunctionResultOutput
    - initExprSupp
    - TSDB_CHECK_NULL
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initAggSup
    - TSDB_CHECK_CODE
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - createOperatorFpSet
    - destroyIndefinitOperatorInfo
    - setRowTsColumnOutputInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createIndefinitOutputOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:562,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:595,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:579,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:590,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:571,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:602,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:604,1
    - Dst: doHandleDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:619,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:627,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:633,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:648,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:650,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:641,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:648,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 653
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 653
    functionName: doApplyIndefinitFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - doHandleDataBlock
    - GET_RES_INFO
    - doFilter
    - setOperatorCompleted
    - taosGetTimestampUs
    - qError
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doApplyIndefinitFunction(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:689,1
    - Dst: initCtxOutputBuffer
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:707,1
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:693,1
    - Dst: cleanupResultRowEntry
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:701,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:700,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 14
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pSup
    - stage
    - numOfExprs
    argTypes:
    - SOperatorInfo*
    - SOptrBasicInfo*
    - SAggSupporter*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 708
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 708
    functionName: setFunctionResultOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - initCtxOutputBuffer
    - doSetResultOutBufByKey
    - initResultRowInfo
    - getResultEntryInfo
    - cleanupResultRowEntry
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setFunctionResultOutput(SOperatorInfo* pOperator, SOptrBasicInfo*
      pInfo, SAggSupporter* pSup, int32_t stage, int32_t numOfExprs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:768,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:786,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:773,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:813,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:794,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:757,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:748,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:767,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:778,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:788,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:819,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:823,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:825,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:736,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:739,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:757,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:797,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:802,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:803,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 829
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 829
    functionName: doGenerateSourceData
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - scalarCalculate
    - taosVariantGet
    - taosArrayGet
    - taosArrayDestroy
    - blockDataEnsureCapacity
    - colDataSetVal
    - colDataAssign
    - colDataDestroy
    - doIngroupLimitOffset
    - colDataSetNNULL
    - qError
    - doFilter
    - taosGetTimestampUs
    - setOperatorCompleted
    - taosArrayPush
    - taosArrayInit
    - fmIsScalarFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doGenerateSourceData(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:57,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:59,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:61,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:62,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: destroyProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - cleanupBasicInfo
    - cleanupAggSup
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyProjectOperatorInfo(void* param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:98,1
    - Dst: setRowTsColumnOutputInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:162,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:153,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:155,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:170,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:110,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:113,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:149,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:163,1
    - Dst: initStreamFillOperatorColumnMapInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:165,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:172,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:111,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:118,1
    - Dst: setFunctionResultOutput
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:156,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:159,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:150,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:166,1
    - Dst: destroyProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:185,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:186,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:95,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:99,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:119,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:145,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:157,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:151,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:160,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:168,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:175,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 4
    argNames:
    - downstream
    - pProjPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SProjectPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 189
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 189
    functionName: createProjectOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - setFunctionResultOutput
    - destroyProjectOperatorInfo
    - TSDB_CHECK_NULL
    - initLimitInfo
    - createOneDataBlock
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initAggSup
    - TSDB_CHECK_CODE
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - createOperatorFpSet
    - initStreamFillOperatorColumnMapInfo
    - setOperatorStreamStateFn
    - setRowTsColumnOutputInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createProjectOperatorInfo(SOperatorInfo* downstream, SProjectPhysiNode*
      pProjPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: streamOperatorReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamOperatorReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:218,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:241,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:234,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pBlock
    - pLimitInfo
    - pOperator
    argTypes:
    - SSDataBlock*
    - SLimitInfo*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 245
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 245
    functionName: setInfoForNewGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - setOperatorCompleted
    - resetLimitInfoForNextGroup
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setInfoForNewGroup(SSDataBlock* pBlock, SLimitInfo*
      pLimitInfo, SOperatorInfo* pOperator) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:280,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:311,1
    - Dst: discardGroupDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:335,1
    - Dst: setInfoForNewGroup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:340,1
    - Dst: doIngroupLimitOffset
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:352,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:357,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:389,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:421,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:421,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:308,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:359,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:376,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:395,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:396,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:421,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:267,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:288,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:355,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:385,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:413,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:428,1
    - Dst: doGenerateSourceData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:295,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:296,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:314,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:351,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:430,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 120
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 433
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 433
    functionName: doProjectOperation
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - doGenerateSourceData
    - discardGroupDataBlock
    - doIngroupLimitOffset
    - getNextBlockFromDownstream
    - GET_TASKID
    - blockDataMerge
    - printDataBlock
    - blockDataEnsureCapacity
    - doFilter
    - setOperatorCompleted
    - taosGetTimestampUs
    - qError
    - getStreamOpName
    - blockDataCleanup
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - setInfoForNewGroup
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doProjectOperation(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:537,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:549,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:546,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:540,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:544,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:551,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:554,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:557,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - downstream
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SOperatorInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 559
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 559
    functionName: doHandleDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - blockDataEnsureCapacity
    - setInputDataBlock
    - projectApplyFunctions
    linkageType: ''
    returnType: void
    signature: 'static void doHandleDataBlock(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, SOperatorInfo* downstream, SExecTaskInfo* pTaskInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:658,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:659,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:660,1
    - Dst: isRowEntryInitialized
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:659,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - size
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 671
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 671
    functionName: initCtxOutputBuffer
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - isRowEntryInitialized
    - fmIsScalarFunc
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCtxOutputBuffer(SqlFunctionCtx* pCtx, int32_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:711,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:719,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:712,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:718,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pCtx
    - numOfCols
    - pResList
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 728
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 728
    functionName: setRowTsColumnOutputInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - fmIsPseudoColumnFunc
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setRowTsColumnOutputInfo(SqlFunctionCtx* pCtx, int32_t numOfCols,
      SArray** pResList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:834,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pResult
    - pCtx
    - pPseudoList
    argTypes:
    - SSDataBlock*
    - SqlFunctionCtx*
    - SArray*
    constantsTouched: []
    func_position:
      end: 839
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 839
    functionName: setPseudoOutputColInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: void
    signature: 'static void setPseudoOutputColInfo(SSDataBlock* pResult, SqlFunctionCtx*
      pCtx, SArray* pPseudoList) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1094,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1079,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:869,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:887,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:972,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1044,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1024,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:997,1
    - Dst: fmIsSelectValueFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1081,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:981,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:985,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:989,1
    - Dst: fmIsGroupIdFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1021,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:880,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:944,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1069,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1107,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1031,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1066,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1166,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1180,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:930,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1020,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1030,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1008,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1121,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1155,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1162,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1076,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:978,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1020,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:998,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1163,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1183,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1088,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:961,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:975,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:988,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1136,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:954,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:963,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:995,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1013,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1017,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1112,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1146,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:861,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:901,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1003,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1005,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1027,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1085,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1128,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1154,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1034,1
    - Dst: taosVariantGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:868,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:916,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:889,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:951,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:965,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1023,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1025,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1105,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1106,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:922,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1040,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1137,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:879,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:919,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:935,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:948,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1014,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1073,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1041,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1103,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1028,1
    - Dst: setPseudoOutputColInfo
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:845,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:868,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1101,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1118,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1134,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1151,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1022,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:858,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:966,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:982,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1064,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1097,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1142,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1144,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1170,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:856,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:854,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:904,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:913,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:938,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/projectoperator.c:1126,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 285
    argCount: 6
    argNames:
    - pExpr
    - pResult
    - pSrcBlock
    - pCtx
    - numOfOutput
    - pPseudoList
    argTypes:
    - SExprInfo*
    - SSDataBlock*
    - SSDataBlock*
    - SqlFunctionCtx*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1186
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 1186
    functionName: projectApplyFunctions
    functionSourceFile: /src/tdengine/source/libs/executor/src/projectoperator.c
    functionUses: []
    functionsReached:
    - taosVariantGet
    - colDataSetVal
    - colDataDestroy
    - TSDB_CHECK_NULL
    - fmIsScanPseudoColumnFunc
    - colDataMergeCol
    - fmIsIndefiniteRowsFunc
    - taosArrayGetSize
    - taosArrayInit
    - scalarCalculate
    - taosArrayDestroy
    - qTrace
    - colDataAssign
    - colDataSetNULL
    - colDataGetData
    - taosArrayPush
    - memcpy
    - setPseudoOutputColInfo
    - TSDB_CHECK_CODE
    - taosArrayGet
    - blockDataEnsureCapacity
    - GET_RES_INFO
    - colDataSetNNULL
    - fmIsSelectValueFunc
    - qError
    - fmIsProcessByRowFunc
    - fmIsPseudoColumnFunc
    - colDataIsNull_s
    - fmIsAggFunc
    - fmIsGroupIdFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t projectApplyFunctions(SExprInfo* pExpr, SSDataBlock* pResult,
      SSDataBlock* pSrcBlock, SqlFunctionCtx* pCtx, int32_t numOfOutput, SArray* pPseudoList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:725,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:727,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pAggSup
    argTypes:
    - SAggSupporter*
    constantsTouched: []
    func_position:
      end: 728
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 728
    functionName: cleanupAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    - destroyDiskbasedBuf
    linkageType: ''
    returnType: void
    signature: 'void cleanupAggSup(SAggSupporter* pAggSup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: functionCtxSave
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:762,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:776,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:774,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:787,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:793,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:796,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:796,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:805,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:805,1
    - Dst: functionCtxRestore
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:812,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:805,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 7
    argNames:
    - taskInfo
    - pCtx
    - pTimeWindowData
    - offset
    - forwardStep
    - numOfTotal
    - numOfOutput
    argTypes:
    - SExecTaskInfo*
    - SqlFunctionCtx*
    - SColumnInfoData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 816
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 816
    functionName: applyAggFunctionOnPartialTuples
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - functionNeedToExecute
    - GET_RES_INFO
    - functionCtxRestore
    - qError
    - tstrerror
    - GET_ROWCELL_INTERBUF
    - GET_TASKID
    - functionCtxSave
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t applyAggFunctionOnPartialTuples(SExecTaskInfo* taskInfo, SqlFunctionCtx*
      pCtx, SColumnInfoData* pTimeWindowData, int32_t offset, int32_t forwardStep,
      int32_t numOfTotal, int32_t numOfOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:732,1
    - Dst: doInitAggInfoSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:737,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 8
    argNames:
    - pSup
    - pAggSup
    - pExprInfo
    - numOfCols
    - keyBufSize
    - pkey
    - pState
    - pStore
    argTypes:
    - SExprSupp*
    - SAggSupporter*
    - SExprInfo*
    - int32_t
    - size_t
    - char*
    - void*
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 754
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 754
    functionName: initAggSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - initExprSupp
    - doInitAggInfoSup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initAggSup(SExprSupp* pSup, SAggSupporter* pAggSup, SExprInfo*
      pExprInfo, int32_t numOfCols, size_t keyBufSize, const char* pkey, void* pState,
      SFunctionStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - pStatus
    argTypes:
    - SqlFunctionCtx*
    - SFunctionCtxStatus*
    constantsTouched: []
    func_position:
      end: 822
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 822
    functionName: functionCtxSave
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void functionCtxSave(SqlFunctionCtx* pCtx, SFunctionCtxStatus* pStatus) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:75,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:94,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:95,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:127,1
    - Dst: destroyAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:149,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:151,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:93,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:101,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:113,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:105,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:129,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:116,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:147,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:85,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:100,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:103,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:112,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:115,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:138,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:84,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:98,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:108,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:109,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - downstream
    - pAggNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SAggPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 154
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 154
    functionName: createAggregateOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - TSDB_CHECK_CODE
    - initBasicInfo
    - taosMemoryCalloc
    - setOperatorInfo
    - initResultSizeInfo
    - appendDownstream
    - destroyAggOperatorInfo
    - qError
    - createDataBlockFromDescNode
    - filterInitFromNode
    - initExprSupp
    - QUERY_CHECK_NULL
    - tstrerror
    - createExprInfo
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - initAggSup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createAggregateOperatorInfo(SOperatorInfo* downstream, SAggPhysiNode*
      pAggNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:207,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:209,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:237,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:249,1
    - Dst: doAggregateImpl
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:257,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:260,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:263,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:271,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:279,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:205,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:206,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:248,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:251,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:254,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:259,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:196,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:204,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:218,1
    - Dst: createDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:217,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:253,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:268,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:210,1
    - Dst: destroyDataBlockForEmptyInput
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:236,1
    - Dst: setExecutionContext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:246,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:234,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:277,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 86
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 282
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 282
    functionName: nextGroupedResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tSimpleHashClear
    - setInputDataBlock
    - qError
    - destroyDataBlockForEmptyInput
    - taosGetTimestampUs
    - T_LONG_JMP
    - initGroupedResultInfo
    - createDataBlockForEmptyInput
    - doAggregateImpl
    - setExecutionContext
    - tstrerror
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: bool
    signature: 'static bool nextGroupedResult(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetTableGroupOutputBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 472
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 472
    functionName: setExecutionContext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - doSetTableGroupOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setExecutionContext(SOperatorInfo* pOperator, int32_t numOfOutput,
      uint64_t groupId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDataBufPagesIdList
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:522,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:524,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:527,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:527,1
    - Dst: getLastPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:532,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:533,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:533,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:535,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:535,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:541,1
    - Dst: getPageId
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:539,1
    - Dst: releaseBufPageInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:547,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:545,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:547,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - pWindowRes
    - pResultBuf
    - size
    argTypes:
    - SResultRow*
    - SDiskbasedBuf*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 567
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 567
    functionName: addNewResultRowBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - getBufPage
    - qError
    - tstrerror
    - getPageId
    - getNewBufPage
    - getBufPageSize
    - getLastPageInfo
    - getDataBufPagesIdList
    - taosArrayGetSize
    - releaseBufPageInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addNewResultRowBuf(SResultRow* pWindowRes, SDiskbasedBuf*
      pResultBuf, uint32_t size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:161,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:164,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:168,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:169,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:170,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: destroyAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - cleanupAggSup
    - cleanupExprSupp
    - cleanupResultInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyAggOperatorInfo(void* param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nextGroupedResult
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:298,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:303,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:304,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:300,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:305,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:307,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:308,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:318,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:323,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:325,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 330
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 330
    functionName: getAggregateResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataEnsureCapacity
    - blockDataGetNumOfRows
    - doBuildResultDatablock
    - hasRemainResults
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    - nextGroupedResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getAggregateResultNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:486,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:502,1
    - Dst: addNewResultRowBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:498,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:499,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:507,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 3
    argNames:
    - pOperator
    - numOfOutput
    - groupId
    argTypes:
    - SOperatorInfo*
    - int32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 510
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 510
    functionName: doSetTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doSetResultOutBufByKey
    - qError
    - setResultRowInitCtx
    - tstrerror
    - addNewResultRowBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSetTableGroupOutputBuf(SOperatorInfo* pOperator, int32_t
      numOfOutput, uint64_t groupId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:575,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:576,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:577,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:587,1
    - Dst: getBufferPgSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:585,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:593,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:597,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - pAggSup
    - pCtx
    - numOfOutput
    - keyBufSize
    - pKey
    argTypes:
    - SAggSupporter*
    - SqlFunctionCtx*
    - int32_t
    - size_t
    - char*
    constantsTouched: []
    func_position:
      end: 604
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 604
    functionName: doInitAggInfoSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - osTempSpaceAvailable
    - taosMemoryCalloc
    - qError
    - tstrerror
    - tSimpleHashInit
    - createDiskbasedBuf
    - getBufferPgSize
    - getResultRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doInitAggInfoSup(SAggSupporter* pAggSup, SqlFunctionCtx* pCtx,
      int32_t numOfOutput, size_t keyBufSize, const char* pKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAggregateResultNext
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: getAggregateResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - getAggregateResultNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * getAggregateResult(SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:612,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:629,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:629,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:629,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:634,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - pTaskInfo
    - pState
    - pSup
    - pGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - void*
    - SExprSupp*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 640
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 640
    functionName: cleanupResultInfoInStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - getNumOfTotalRes
    - GET_TASKID
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupResultInfoInStream(SExecTaskInfo* pTaskInfo, void* pState,
      SExprSupp* pSup, SGroupResInfo* pGroupResInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:694,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:699,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:699,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:699,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:706,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:712,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 5
    argNames:
    - pTaskInfo
    - pSup
    - pBuf
    - pGroupResInfo
    - pHashmap
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 714
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 714
    functionName: cleanupResultInfoInHashMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getBufPage
    - qError
    - tstrerror
    - tSimpleHashIterate
    - GET_TASKID
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupResultInfoInHashMap(SExecTaskInfo* pTaskInfo, SExprSupp*
      pSup, SDiskbasedBuf* pBuf, SGroupResInfo* pGroupResInfo, SSHashObj* pHashmap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:341,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:353,1
    - Dst: functionNeedToExecute
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:353,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:362,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 369
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 369
    functionName: doAggregateImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - functionNeedToExecute
    - GET_TASKID
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAggregateImpl(SOperatorInfo* pOperator, SqlFunctionCtx*
      pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:647,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:659,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:662,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:662,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:660,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:662,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:669,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:674,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 4
    argNames:
    - pTaskInfo
    - pSup
    - pBuf
    - pGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SDiskbasedBuf*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 676
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 676
    functionName: cleanupResultInfoInGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - releaseBufPage
    - getBufPage
    - qError
    - tstrerror
    - getNumOfTotalRes
    - GET_TASKID
    - getResultEntryInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupResultInfoInGroupResInfo(SExecTaskInfo* pTaskInfo, SExprSupp*
      pSup, SDiskbasedBuf* pBuf, SGroupResInfo* pGroupResInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupResultInfoInGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:719,1
    - Dst: cleanupResultInfoInHashMap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:721,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - pTaskInfo
    - pSup
    - pGroupResInfo
    - pAggSup
    - cleanGroupResInfo
    argTypes:
    - SExecTaskInfo*
    - SExprSupp*
    - SGroupResInfo*
    - SAggSupporter*
    - bool
    constantsTouched: []
    func_position:
      end: 723
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 723
    functionName: cleanupResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - cleanupResultInfoInHashMap
    - cleanupResultInfoInGroupResInfo
    linkageType: ''
    returnType: void
    signature: 'void cleanupResultInfo(SExecTaskInfo* pTaskInfo, SExprSupp* pSup,
      SGroupResInfo* pGroupResInfo, SAggSupporter *pAggSup, bool cleanGroupResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - pStatus
    argTypes:
    - SqlFunctionCtx*
    - SFunctionCtxStatus*
    constantsTouched: []
    func_position:
      end: 828
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 828
    functionName: functionCtxRestore
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void functionCtxRestore(SqlFunctionCtx* pCtx, SFunctionCtxStatus*
      pStatus) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:398,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:420,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:423,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:424,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:434,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:436,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:437,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:445,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:446,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:439,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:446,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 449
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 449
    functionName: createDataBlockForEmptyInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - blockDataEnsureCapacity
    - blockDataGetNumOfCols
    - taosArrayGetSize
    - blockDataDestroy
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - createDataBlock
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataBlockForEmptyInput(SOperatorInfo* pOperator,
      SSDataBlock** ppBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/aggregateoperator.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - blockAllocated
    - ppBlock
    argTypes:
    - bool
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: destroyDataBlockForEmptyInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/aggregateoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyDataBlockForEmptyInput(bool blockAllocated, SSDataBlock**
      ppBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:92,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:97,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:94,1
    - Dst: hJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:97,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:94,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:111,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:111,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:114,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 128
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 128
    functionName: hLeftJoinHandleSeqRowRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - hJoinAppendResToBlock
    - HJ_ERR_RET
    - hJoinCopyNMatchRowsToBlock
    - doFilter
    - hJoinBlkReachThreshold
    - hJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hLeftJoinHandleSeqRowRemains(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:218,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 234
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 234
    functionName: hLeftJoinHandleRowRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - hJoinAppendResToBlock
    - hJoinBlkReachThreshold
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hLeftJoinHandleRowRemains(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:41,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:54,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:69,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:58,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 83
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 83
    functionName: hInnerJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    - hJoinCopyKeyColsDataToBuf
    - hJoinAppendResToBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hInnerJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:244,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:259,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:259,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:260,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:248,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:272,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:273,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 287
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 287
    functionName: hLeftJoinHandleProbeRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - hJoinAppendResToBlock
    - HJ_ERR_RET
    - tSimpleHashGet
    - hJoinCopyNMatchRowsToBlock
    - hJoinCopyKeyColsDataToBuf
    - hJoinBlkReachThreshold
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hLeftJoinHandleProbeRows(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:136,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:145,1
    - Dst: hJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:141,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:156,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:156,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:157,1
    - Dst: hJoinAppendResToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:172,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:174,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:174,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:177,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:192,1
    - Dst: hJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:195,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:192,1
    - Dst: hJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:177,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - loopCont
    argTypes:
    - struct SOperatorInfo*
    - SHJoinOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 211
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 211
    functionName: hLeftJoinHandleSeqProbeRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - hJoinAppendResToBlock
    - HJ_ERR_RET
    - tSimpleHashGet
    - hJoinCopyNMatchRowsToBlock
    - hJoinCopyKeyColsDataToBuf
    - hJoinBlkReachThreshold
    - doFilter
    - hJoinCopyMergeMidBlk
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hLeftJoinHandleSeqProbeRows(struct SOperatorInfo* pOperator,
      SHJoinOperatorInfo* pJoin, bool* loopCont) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:301,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:314,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:301,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:304,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:304,1
    - Dst: hLeftJoinHandleSeqProbeRows
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:314,1
    - Dst: hLeftJoinHandleProbeRows
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:314,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:316,1
    - Dst: hLeftJoinHandleSeqRowRemains
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:316,1
    - Dst: hLeftJoinHandleRowRemains
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:316,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:332,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:332,1
    - Dst: hJoinCopyNMatchRowsToBlock
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:329,1
    - Dst: HJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/hashjoin.c:329,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 348
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 348
    functionName: hLeftJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/hashjoin.c
    functionUses: []
    functionsReached:
    - hLeftJoinHandleSeqProbeRows
    - HJ_ERR_RET
    - hLeftJoinHandleRowRemains
    - hJoinCopyNMatchRowsToBlock
    - hLeftJoinHandleProbeRows
    - hLeftJoinHandleSeqRowRemains
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hLeftJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:277,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - pSrc
    argTypes:
    - SAnomalyWindowOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 284
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 284
    functionName: anomalyCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyCacheBlock(SAnomalyWindowOperatorInfo* pInfo,
      SSDataBlock* pSrc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:191,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:193,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:196,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:205,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:217,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:240,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:208,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:211,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:225,1
    - Dst: anomalyAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:232,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:219,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:242,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:189,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:190,1
    - Dst: anomalyCacheBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:220,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:212,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:210,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:235,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:236,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:231,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 247
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 247
    functionName: anomalyAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - anomalyCacheBlock
    - qError
    - anomalyAggregateBlocks
    - taosGetTimestampUs
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - getNextBlockFromDownstream
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyAggregateNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:305,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:344,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:358,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:345,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:327,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:331,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:334,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:357,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:312,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:314,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:324,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:316,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:337,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:338,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:351,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:352,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:340,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:360,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:361,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 3
    argNames:
    - pJson
    - pWindows
    - pId
    argTypes:
    - SJson*
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 365
    functionName: anomalyParseJson
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - tjsonGetArraySize
    - taosArrayGet
    - tjsonGetObjectValueBigInt
    - qError
    - tstrerror
    - taosArrayGetSize
    - taosArrayPush
    - qDebug
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyParseJson(SJson* pJson, SArray* pWindows, const
      char* pId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:479,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:482,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 487
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 487
    functionName: anomalyAggregateRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - setResultRowInitCtx
    - updateTimeWindowInfo
    - applyAggFunctionOnPartialTuples
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyAggregateRows(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 666
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 666
    functionName: createAnomalywindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createAnomalywindowOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:90,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:108,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:116,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:120,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:123,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:127,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:144,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:148,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:155,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:163,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:174,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:176,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:168,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:150,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:65,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:83,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:86,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:103,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:112,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:117,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:118,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:121,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:135,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:138,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:156,1
    - Dst: anomalyDestroyOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:75,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:84,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:88,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:95,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:100,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:110,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:114,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:131,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:145,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:74,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:71,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:87,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:101,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:107,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:91,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:132,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:136,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:141,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:160,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:167,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:147,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 179
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 179
    functionName: createAnomalywindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - taosAnalysisParseWncheck
    - initExprSupp
    - GET_TASKID
    - taosArrayInit
    - taosHashCleanup
    - anomalyDestroyOperatorInfo
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - taosAnalysisParseTimout
    - tListLen
    - initAggSup
    - TSDB_CHECK_CODE
    - taosAnalysisParseAlgo
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - tstrncpy
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - extractColumnFromColumnNode
    - taosAnalyGetOpts
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - tstrerror
    - qDebug
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createAnomalywindowOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* physiNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pSupp
    - key
    argTypes:
    - SAnomalyWindowSupp*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: anomalyFindWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyFindWindow(SAnomalyWindowSupp* pSupp, TSKEY
      key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:253,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:256,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:255,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:254,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:258,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:259,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:260,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:263,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:264,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:265,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:268,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 269
    functionName: anomalyDestroyOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - cleanupBasicInfo
    - cleanupAggSup
    - colDataDestroy
    - blockDataDestroy
    - cleanupExprSupp
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void anomalyDestroyOperatorInfo(void* param) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:376,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:378,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:381,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:418,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:421,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:434,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:438,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:388,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:390,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:400,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:403,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:409,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:427,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:427,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:450,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:465,1
    - Dst: anomalyParseJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:458,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:405,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:413,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:417,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:423,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:431,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:447,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:466,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:452,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:462,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:446,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:374,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:380,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:432,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:435,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:444,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:449,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:462,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:443,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 468
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 468
    functionName: anomalyAnalysisWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosAnalyBufWriteColData
    - taosAnalyBufWriteColMeta
    - taosArrayGetSize
    - GET_TASKID
    - taosGetTimestampMs
    - tsosAnalyBufOpen
    - taosAnalyBufWriteDataEnd
    - colDataGetData
    - tjsonDelete
    - taosAnalyBufWriteColEnd
    - taosAnalyBufWriteDataBegin
    - taosArrayGet
    - taosAnalySendReqRetJson
    - qError
    - anomalyParseJson
    - taosAnalyBufWriteOptInt
    - taosAnalyBufDestroy
    - taosAnalyBufWriteColBegin
    - snprintf
    - taosAnalyBufWriteOptStr
    - tstrerror
    - taosAnalyBufClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyAnalysisWindow(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:496,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:503,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 505
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 505
    functionName: anomalyBuildResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - copyResultrowToDataBlock
    - clearResultRowInitFlag
    - doUpdateNumOfRows
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyBuildResult(SOperatorInfo* pOperator) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:526,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:554,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:588,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:562,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:574,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:590,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:624,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:626,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:633,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:635,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:642,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:648,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:651,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:567,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:595,1
    - Dst: anomalyAggregateRows
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:597,1
    - Dst: anomalyBuildResult
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:604,1
    - Dst: anomalyFindWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:608,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:611,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:627,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:636,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:652,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:523,1
    - Dst: anomalyAnalysisWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:529,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:532,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:533,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:535,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:546,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:598,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:605,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:646,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:530,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:569,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:550,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:602,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:609,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:616,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:641,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c:647,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 119
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 659
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 659
    functionName: anomalyAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - anomalyAnalysisWindow
    - projectApplyFunctions
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - anomalyAggregateRows
    - taosArrayGetSize
    - taosArrayClear
    - qTrace
    - anomalyBuildResult
    - taosArrayGet
    - blockDataEnsureCapacity
    - doFilter
    - blockDataDestroy
    - doKeepTuple
    - qDebug
    - anomalyFindWindow
    - doKeepNewWindowStartInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t anomalyAggregateBlocks(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 667
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 667
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/anomalywindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void destroyForecastInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_UNSET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 50
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 50
    functionName: saveStreamOperatorStateComplete
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_UNSET_MASK
    linkageType: ''
    returnType: void
    signature: 'void saveStreamOperatorStateComplete(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:178,1
    - Dst: destroyStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:191,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:184,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:181,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 192
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 192
    functionName: destroyStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - destroyStreamNotifyEventSupp
    - taosArrayDestroyP
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamBasicInfo(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decodeStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - pBasicInfo
    argTypes:
    - void**
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: decodeStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - decodeStreamNotifyEventSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decodeStreamBasicInfo(void** buf, SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:645,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: addIntervalAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addIntervalAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey, SStreamNotifyEventSupp* sup, STaskNotifyEventStat*
      pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 928
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 928
    functionName: setRecalculateOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setRecalculateOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:56,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: destroyStreamWindowEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamWindowEvent(void* ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:203,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:203,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:209,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:207,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:204,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:210,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:211,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:212,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:213,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:214,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - buf
    - sup
    argTypes:
    - void**
    - SStreamNotifyEventSupp*
    constantsTouched: []
    func_position:
      end: 218
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 218
    functionName: encodeStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - cJSON_free
    - taosHashIterate
    - taosEncodeFixedU64
    - taosHashGetSize
    - taosEncodeString
    - taosEncodeFixedI64
    - cJSON_PrintUnformatted
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t encodeStreamNotifyEventSupp(void** buf, const SStreamNotifyEventSupp*
      sup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:268,1
    - Dst: u64toaFastLut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSessionKey
    - buf
    argTypes:
    - SSessionKey*
    - char*
    constantsTouched: []
    func_position:
      end: 270
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 270
    functionName: streamNotifyGetEventWindowId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - u64toaFastLut
    - MurmurHash3_64
    linkageType: ''
    returnType: void
    signature: 'static void streamNotifyGetEventWindowId(const SSessionKey* pSessionKey,
      char* buf) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:338,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:344,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:355,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:355,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:361,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:388,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:280,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:281,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:329,1
    - Dst: cJSON_malloc
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:339,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:345,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:367,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:378,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:378,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:385,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:373,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:298,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:298,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:304,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:310,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:310,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:304,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:340,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:341,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:361,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:367,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:373,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:285,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:282,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:285,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:292,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:292,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:317,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:323,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:317,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:323,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:329,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:337,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 5
    argNames:
    - colName
    - type
    - isNull
    - pData
    - obj
    argTypes:
    - char*
    - int16_t
    - bool
    - char*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 391
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 391
    functionName: jsonAddColumnField
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - cJSON_CreateBool
    - cJSON_free
    - JSON_CHECK_ADD_ITEM
    - varDataLen
    - cJSON_CreateNull
    - cJSON_malloc
    - varDataVal
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - cJSON_CreateStringReference
    - memcpy
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t jsonAddColumnField(const char* colName, int16_t type,
      bool isNull, const char* pData, cJSON* obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: addSessionAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addSessionAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey, SStreamNotifyEventSupp* sup, STaskNotifyEventStat*
      pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_UNSET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 932
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 932
    functionName: unsetRecalculateOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_UNSET_MASK
    linkageType: ''
    returnType: void
    signature: 'void unsetRecalculateOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:64,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:67,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:65,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sup
    argTypes:
    - SStreamNotifyEventSupp*
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: destroyStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamNotifyEventSupp(SStreamNotifyEventSupp* sup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:816,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:820,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:819,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:855,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:857,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:884,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:868,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:854,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:818,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:821,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:824,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:842,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:852,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:877,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:823,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:827,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:841,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:844,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:850,1
    - Dst: varColSetVarData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:853,1
    - Dst: taosHashGetMemSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:867,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:871,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:881,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:881,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:830,1
    - Dst: cJSON_HasObjectItem
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:831,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:837,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:840,1
    - Dst: streamNotifyGetDestTableName
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:839,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:843,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:847,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:847,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:851,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:861,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 3
    argNames:
    - pTaskInfo
    - sup
    - pNotifyEventStat
    argTypes:
    - SExecTaskInfo*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 887
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 887
    functionName: buildNotifyEventBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetMonoTimestampMs
    - varColSetVarData
    - taosHashClear
    - cJSON_free
    - taosHashGetMemSize
    - taosHashRemove
    - cJSON_HasObjectItem
    - cJSON_CreateStringReference
    - taosHashPut
    - taosArrayGet
    - taosHashGet
    - qError
    - QUERY_CHECK_NULL
    - cJSON_PrintUnformatted
    - taosMemoryFreeClear
    - streamNotifyGetDestTableName
    - blockDataCleanup
    - JSON_CHECK_ADD_ITEM
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - strlen
    - qDebug
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildNotifyEventBlock(const SExecTaskInfo* pTaskInfo, SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:81,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:90,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:95,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:102,1
    - Dst: destroyStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:109,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:103,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:113,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:99,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:96,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:92,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:82,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:89,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:93,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:95,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:107,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:94,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:100,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - sup
    - windowType
    - resCapacity
    argTypes:
    - SStreamNotifyEventSupp*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 116
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 116
    functionName: initStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - taosGetDefaultHashFunction
    - qError
    - taosArrayInit
    - tstrerror
    - destroyStreamNotifyEventSupp
    - QUERY_CHECK_NULL
    - blockDataDestroy
    - createDataBlock
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initStreamNotifyEventSupp(SStreamNotifyEventSupp* sup,
      const char* windowType, int32_t resCapacity) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:899,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:904,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:905,1
    - Dst: isOverdue
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:903,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:909,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:913,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - pTwSup
    - sup
    - pNotifyEventStat
    argTypes:
    - STimeWindowAggSupp*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 916
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 916
    functionName: removeOutdatedNotifyEvents
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosHashIterate
    - taosHashGetSize
    - taosHashRemove
    - qError
    - isOverdue
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t removeOutdatedNotifyEvents(STimeWindowAggSupp* pTwSup, SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: setSemiOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setSemiOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:418,1
    - Dst: streamNotifyGetEventWindowId
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:421,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:437,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:439,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:402,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:423,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:426,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:426,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:429,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:429,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:414,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:422,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:401,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:417,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:423,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:423,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:424,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:425,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:424,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:425,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:431,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:431,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 3
    argNames:
    - windowType
    - eventType
    - pSessionKey
    argTypes:
    - char*
    - EStreamNotifyEventType
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 443
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 443
    functionName: createBasicAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - JSON_CHECK_ADD_ITEM
    - cJSON_Delete
    - cJSON_CreateObject
    - QUERY_CHECK_CONDITION
    - cJSON_CreateString
    - strcmp
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - cJSON_CreateStringReference
    - qDebug
    - cJSON_CreateNumber
    - streamNotifyGetEventWindowId
    linkageType: ''
    returnType: cJSON*
    signature: 'static cJSON * createBasicAggNotifyEvent(const char* windowType, EStreamNotifyEventType
      eventType, const SSessionKey* pSessionKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:919,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 920
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 920
    functionName: setFinalOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setFinalOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: isSemiOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool isSemiOperator(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:459,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:463,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:476,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:483,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:484,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:484,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:487,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:495,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:497,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:515,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:461,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:475,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:472,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:502,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:512,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:518,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:464,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:468,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:473,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:482,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:496,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:500,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:504,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:460,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:462,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:466,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:471,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:476,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:478,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:485,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:508,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:508,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 7
    argNames:
    - eventType
    - pSessionKey
    - pInputBlock
    - pCondCols
    - ri
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SSDataBlock*
    - SNodeList*
    - int32_t
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 521
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 521
    functionName: addEventAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - jsonAddColumnField
    - taosGetMonoTimestampMs
    - taosArrayGet
    - JSON_CHECK_ADD_ITEM
    - cJSON_Delete
    - colDataIsNull_s
    - cJSON_CreateObject
    - createBasicAggNotifyEvent
    - colDataGetData
    - taosHashGetSize
    - qError
    - tstrerror
    - FOREACH
    - QUERY_CHECK_NULL
    - destroyStreamWindowEvent
    - taosHashPut
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addEventAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey, const SSDataBlock* pInputBlock, const SNodeList* pCondCols,
      int32_t ri, SStreamNotifyEventSupp* sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:923,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 924
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 924
    functionName: isFinalOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool isFinalOperator(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pBasicInfo
    - type
    argTypes:
    - SSteamOpBasicInfo*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: setStreamOperatorState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setStreamOperatorState(SSteamOpBasicInfo* pBasicInfo, EStreamType
      type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:124,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:128,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:125,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:130,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:131,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:134,1
    - Dst: IS_NORMAL_SESSION_OP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:136,1
    - Dst: IS_NORMAL_STATE_OP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:138,1
    - Dst: IS_NORMAL_EVENT_OP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:152,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:152,1
    - Dst: initStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:147,1
    - Dst: IS_NORMAL_COUNT_OP
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pBasicInfo
    - pOperator
    argTypes:
    - SSteamOpBasicInfo*
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 155
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 155
    functionName: initStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_NORMAL_STATE_OP
    - IS_NORMAL_EVENT_OP
    - qError
    - tstrerror
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - IS_NORMAL_INTERVAL_OP
    - IS_NORMAL_SESSION_OP
    - initStreamNotifyEventSupp
    - taosGetDefaultHashFunction
    - IS_NORMAL_COUNT_OP
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initStreamBasicInfo(SSteamOpBasicInfo* pBasicInfo, const struct
      SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: isHistoryOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool isHistoryOperator(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:228,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:230,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:233,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:231,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:232,1
    - Dst: taosDecodeVariantU64
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:234,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:235,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:237,1
    - Dst: cJSON_GetErrorPtr
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:237,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:239,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:248,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:242,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:250,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - buf
    - sup
    argTypes:
    - void**
    - SStreamNotifyEventSupp*
    constantsTouched: []
    func_position:
      end: 252
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 252
    functionName: decodeStreamNotifyEventSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - QUERY_CHECK_CODE
    - taosDecodeFixedU64
    - cJSON_Parse
    - qWarn
    - cJSON_GetErrorPtr
    - taosHashPut
    - qError
    - taosDecodeFixedI32
    - tstrerror
    - QUERY_CHECK_NULL
    - POINTER_SHIFT
    - destroyStreamWindowEvent
    - taosDecodeVariantU64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t decodeStreamNotifyEventSupp(void** buf, SStreamNotifyEventSupp*
      sup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:535,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:548,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:561,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:582,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:592,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:543,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:537,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:536,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:549,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:566,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:565,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:558,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:575,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:577,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:534,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:547,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:588,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:588,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:590,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:580,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:584,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:554,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:555,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:562,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:576,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 7
    argNames:
    - eventType
    - pSessionKey
    - pCurState
    - pAnotherState
    - onlyUpdate
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStateKeys*
    - SStateKeys*
    - bool
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 595
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 595
    functionName: addStateAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - jsonAddColumnField
    - taosGetMonoTimestampMs
    - cJSON_Delete
    - taosHashGet
    - createBasicAggNotifyEvent
    - taosHashGetSize
    - qError
    - tstrerror
    - destroyStreamWindowEvent
    - QUERY_CHECK_NULL
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addStateAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey, const SStateKeys* pCurState, const SStateKeys* pAnotherState,
      bool onlyUpdate, SStreamNotifyEventSupp* sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:655,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 656
    functionName: addCountAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addCountAggNotifyEvent(EStreamNotifyEventType eventType, const
      SSessionKey* pSessionKey, SStreamNotifyEventSupp* sup, STaskNotifyEventStat*
      pNotifyEventStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:743,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:744,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:747,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:749,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:751,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:753,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:754,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:755,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:762,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:757,1
    - Dst: addNormalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - pDeleteBlock
    - sup
    - pNotifyEventStat
    argTypes:
    - SSDataBlock*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 765
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 765
    functionName: addAggDeleteNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataGetNumData
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - qDebug
    - addNormalAggNotifyEvent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addAggDeleteNotifyEvent(const SSDataBlock* pDeleteBlock, SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 936
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionName: isRecalculateOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool isRecalculateOperator(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: needSaveStreamOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool needSaveStreamOperatorInfo(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: setFillHistoryOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setFillHistoryOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:166,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: needBuildAllResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool needBuildAllResult(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encodeStreamNotifyEventSupp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - pBasicInfo
    argTypes:
    - void**
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: encodeStreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - encodeStreamNotifyEventSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeStreamBasicInfo(void** buf, const SSteamOpBasicInfo*
      pBasicInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:607,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:608,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:609,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:610,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:612,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:614,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:621,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:623,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:628,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:634,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:638,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:636,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:634,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - eventType
    - pSessionKey
    - sup
    - pNotifyEventStat
    argTypes:
    - EStreamNotifyEventType
    - SSessionKey*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 641
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 641
    functionName: addNormalAggNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetMonoTimestampMs
    - cJSON_Delete
    - createBasicAggNotifyEvent
    - taosHashGetSize
    - qError
    - tstrerror
    - destroyStreamWindowEvent
    - QUERY_CHECK_NULL
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNormalAggNotifyEvent(EStreamNotifyEventType eventType,
      const SSessionKey* pSessionKey, SStreamNotifyEventSupp* sup, STaskNotifyEventStat*
      pNotifyEventStat) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:672,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:670,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:676,1
    - Dst: createBasicAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:686,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:703,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:713,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:725,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:725,1
    - Dst: destroyStreamWindowEvent
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:727,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:729,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:684,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:687,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:694,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:695,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:708,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:709,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:710,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:671,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:673,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:689,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:689,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:688,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:707,1
    - Dst: jsonAddColumnField
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:708,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:719,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:717,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:721,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:675,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:677,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:680,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:690,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:691,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:692,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:691,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:692,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:697,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:706,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 5
    argNames:
    - pResultBlock
    - pSessionKeys
    - pSchemaWrapper
    - sup
    - pNotifyEventStat
    argTypes:
    - SSDataBlock*
    - SArray*
    - SSchemaWrapper*
    - SStreamNotifyEventSupp*
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 732
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 732
    functionName: addAggResultNotifyEvent
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosGetMonoTimestampMs
    - cJSON_Delete
    - cJSON_CreateNull
    - taosArrayGetSize
    - colDataGetData
    - cJSON_CreateObject
    - createBasicAggNotifyEvent
    - destroyStreamWindowEvent
    - taosHashPut
    - taosArrayGet
    - taosHashGet
    - qError
    - QUERY_CHECK_NULL
    - jsonAddColumnField
    - JSON_CHECK_ADD_ITEM
    - colDataIsNull_s
    - strcmp
    - taosHashGetSize
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addAggResultNotifyEvent(const SSDataBlock* pResultBlock, const
      SArray* pSessionKeys, const SSchemaWrapper* pSchemaWrapper, SStreamNotifyEventSupp*
      sup, STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:776,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:783,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:777,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:787,1
    - Dst: buildSinkDestTableName
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:793,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:797,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pTaskInfo
    - gid
    - pTableName
    argTypes:
    - SExecTaskInfo*
    - uint64_t
    - char**
    constantsTouched: []
    func_position:
      end: 800
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 800
    functionName: streamNotifyGetDestTableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - buildSinkDestTableName
    - qError
    - tstrncpy
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamNotifyGetDestTableName(const SExecTaskInfo* pTaskInfo,
      uint64_t gid, char** pTableName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: setSingleOperatorFlag
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    linkageType: ''
    returnType: void
    signature: 'void setSingleOperatorFlag(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamexecutorInt.c:943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBasicInfo
    argTypes:
    - SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 944
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 944
    functionName: isSingleOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamexecutorInt.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'bool isSingleOperator(SSteamOpBasicInfo* pBasicInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/executor.c:32,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: cleanupRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_32
    - taosCloseRef
    linkageType: ''
    returnType: void
    signature: 'static void cleanupRefPool() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearStreamBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:125,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/executor.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: clearStreamBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - clearStreamBlock
    - doClearBufferedBlocks
    linkageType: ''
    returnType: void
    signature: 'static void clearStreamBlock(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 635
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 635
    functionName: qDestroyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: 'void qDestroyOperatorParam(SOperatorParam* pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:935,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:939,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    constantsTouched: []
    func_position:
      end: 943
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 943
    functionName: qAppendTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - taosArrayPush
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qAppendTaskStopInfo(SExecTaskInfo* pTaskInfo, SExchangeOpStopInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:999,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1001,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:999,1
    - Dst: qStopTaskOperators
      Src: /src/tdengine/source/libs/executor/src/executor.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - qinfo
    - rspCode
    argTypes:
    - qTaskInfo_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1005
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1005
    functionName: qAsyncKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qStopTaskOperators
    - qDebug
    - setTaskKilled
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qAsyncKillTask(qTaskInfo_t qinfo, int32_t rspCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - qinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1058
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1058
    functionName: qTaskIsExecuting
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: bool
    signature: 'bool qTaskIsExecuting(qTaskInfo_t qinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOpratorIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - pOperator
    - pWaterMark
    - pInterval
    - pLastWindow
    - pRecInteral
    argTypes:
    - SOperatorInfo*
    - int64_t*
    - SInterval*
    - STimeWindow*
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1191
    functionName: getOpratorIntervalInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - getOpratorIntervalInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getOpratorIntervalInfo(SOperatorInfo* pOperator, int64_t*
      pWaterMark, SInterval* pInterval, STimeWindow* pLastWindow, TSKEY* pRecInteral) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1211,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1237,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1225,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1249,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1261,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1269,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1269,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1274,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1282,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1282,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1288,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1298
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1298
    functionName: qSetStreamOperatorOptionForScanHistory
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qInfo
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetStreamOperatorOptionForScanHistory(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearStreamBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: qResetTaskInfoCode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - clearStreamBlock
    linkageType: ''
    returnType: void
    signature: 'void qResetTaskInfoCode(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/executor.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - tinfo
    - pParam
    argTypes:
    - qTaskInfo_t
    - void*
    constantsTouched: []
    func_position:
      end: 640
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 640
    functionName: qUpdateOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: void
    signature: 'void qUpdateOperatorParam(qTaskInfo_t tinfo, void* pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 956
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 956
    functionName: stopInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stopInfoComp(void const* lp, void const* rp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1008,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1015,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1017,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1017,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1015,1
    - Dst: setTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:1020,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1024,1
    - Dst: qTaskIsExecuting
      Src: /src/tdengine/source/libs/executor/src/executor.c:1025,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1026,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/executor/src/executor.c:1028,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1030,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1045,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1032,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1045,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/executor/src/executor.c:1043,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/executor.c:1032,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1037,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - tinfo
    - rspCode
    - waitDuration
    argTypes:
    - qTaskInfo_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1049
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1049
    functionName: qKillTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMsleep
    - setTaskKilled
    - qWarn
    - qInfo
    - qTaskIsExecuting
    - taosWUnLockLatch
    - qDebug
    - GET_TASKID
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qKillTask(qTaskInfo_t tinfo, int32_t rspCode, int64_t waitDuration) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1066,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1074,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1070,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1077
    functionName: printTaskExecCostInLog
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'static void printTaskExecCostInLog(SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOpratorIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1196,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - tinfo
    - pWaterMark
    - pInterval
    - pLastWindow
    - pRecInteral
    argTypes:
    - qTaskInfo_t
    - int64_t*
    - SInterval*
    - STimeWindow*
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 1197
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1197
    functionName: qGetStreamIntervalExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - getOpratorIntervalInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qGetStreamIntervalExecInfo(qTaskInfo_t tinfo, int64_t* pWaterMark,
      SInterval* pInterval, STimeWindow* pLastWindow, TSKEY* pRecInteral) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1303
      start: 1300
    functionDepth: 0
    functionLinenumber: 1300
    functionLinenumberEnd: 1303
    functionName: qStreamScanhistoryFinished
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool qStreamScanhistoryFinished(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1335
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1335
    functionName: qStreamExtractMetaMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMqBatchMetaRsp*
    signature: 'SMqBatchMetaRsp * qStreamExtractMetaMsg(qTaskInfo_t tinfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1356,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1353,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1355,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1352,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executor.c:1360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pCond
    - sContext
    - pMtInfo
    argTypes:
    - SQueryTableDataCond*
    - SSnapContext*
    - SMetaTableInfo*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1377
    functionName: initQueryTableDataCondForTmq
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - memset
    - TAOS_SET_OBJ_ALIGNED
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initQueryTableDataCondForTmq(SQueryTableDataCond* pCond, SSnapContext*
      sContext, SMetaTableInfo* pMtInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - tinfo
    - sourceExcluded
    argTypes:
    - qTaskInfo_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1388
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1388
    functionName: qStreamSetSourceExcluded
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qStreamSetSourceExcluded(qTaskInfo_t tinfo, int8_t sourceExcluded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:959,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/executor.c:962,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:964,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/executor.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pTaskInfo
    - pInfo
    argTypes:
    - SExecTaskInfo*
    - SExchangeOpStopInfo*
    constantsTouched: []
    func_position:
      end: 965
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 965
    functionName: qRemoveTaskStopInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosArrayRemove
    - taosWLockLatch
    - taosWUnLockLatch
    - taosArraySearchIdx
    linkageType: ''
    returnType: void
    signature: 'void qRemoveTaskStopInfo(SExecTaskInfo* pTaskInfo, SExchangeOpStopInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1759
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1759
    functionName: qStreamOperatorReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamOperatorReleaseState(qTaskInfo_t tInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1309,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1315
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1315
    functionName: qStreamInfoResetTimewindowFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamInfoResetTimewindowFilter(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1339,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tinfo
    - pOffset
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1346
    functionName: qStreamExtractOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - tOffsetCopy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamExtractOffset(qTaskInfo_t tinfo, STqOffsetVal* pOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1383
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1383
    functionName: qStreamSetOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qStreamSetOpen(qTaskInfo_t tinfo) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1434,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1449,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1522,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1567,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1591,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1525,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1507,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1511,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1587,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1584,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1532,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1458,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1574,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1516,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1598,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1542,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1396,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1594,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1614,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1587,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1447,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1450,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1609,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1458,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1507,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1516,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1628,1
    - Dst: initQueryTableDataCondForTmq
      Src: /src/tdengine/source/libs/executor/src/executor.c:1572,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1486,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/executor.c:1563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1593,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1639,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/executor.c:1616,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1600,1
    - Dst: tableListFind
      Src: /src/tdengine/source/libs/executor/src/executor.c:1480,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1586,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1459,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1407,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/libs/executor/src/executor.c:1431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1449,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1467,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:1481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1522,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1619,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1593,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1600,1
    - Dst: tOffsetEqual
      Src: /src/tdengine/source/libs/executor/src/executor.c:1410,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1574,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1625,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1550,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1634,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1557,1
    - Dst: tableListClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:1564,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1399,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:1415,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 188
    argCount: 3
    argNames:
    - tinfo
    - pOffset
    - subType
    argTypes:
    - qTaskInfo_t
    - STqOffsetVal*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1641
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1641
    functionName: qStreamPrepareScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - tableListFind
    - tOffsetEqual
    - initQueryTableDataCondForTmq
    - walReaderVerifyOffset
    - extractOperatorInTree
    - GET_TASKID
    - cleanupQueryTableDataCond
    - tableListGetInfo
    - tableListGetSize
    - taosRUnLockLatch
    - tOffsetCopy
    - tDeleteSchemaWrapper
    - qError
    - tstrncpy
    - tableListAddTableInfo
    - taosRLockLatch
    - tstrerror
    - destroyMetaTableInfo
    - tableListClear
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamPrepareScan(qTaskInfo_t tinfo, STqOffsetVal* pOffset,
      int8_t subType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - tInfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1767
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1767
    functionName: qStreamOperatorReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamOperatorReloadState(qTaskInfo_t tInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:37,1
    - Dst: atexit
      Src: /src/tdengine/source/libs/executor/src/executor.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: initRefPool
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosOpenRef
    - atexit
    linkageType: ''
    returnType: void
    signature: 'static void initRefPool() '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:46,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:64,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/executor.c:63,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:51,1
    - Dst: doSetSMABlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:55,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:65,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:69,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:70,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:76,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:77,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:83,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/executor.c:87,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:99,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:88,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:82,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:99,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:89,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 52
    argCount: 5
    argNames:
    - pOperator
    - input
    - numOfBlocks
    - type
    - id
    argTypes:
    - SOperatorInfo*
    - void*
    - size_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 102
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 102
    functionName: doSetSMABlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - POINTER_SHIFT
    - QUERY_CHECK_NULL
    - taosArrayPush
    - doSetSMABlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetSMABlock(SOperatorInfo* pOperator, void* input,
      size_t numOfBlocks, int32_t type, char* id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:145,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:203,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:189,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:150,1
    - Dst: doSetStreamBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:154,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/executor.c:165,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:172,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:195,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:181,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:159,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:166,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:167,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/executor/src/executor.c:182,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 5
    argNames:
    - pOperator
    - input
    - numOfBlocks
    - type
    - id
    argTypes:
    - SOperatorInfo*
    - void*
    - size_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 206
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 206
    functionName: doSetStreamBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doSetStreamBlock
    - uTrace
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - POINTER_SHIFT
    - taosArrayPush
    - qDebug
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetStreamBlock(SOperatorInfo* pOperator, void* input,
      size_t numOfBlocks, int32_t type, const char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/executor.c:265,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executor.c:269,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - tinfo
    - eventTypes
    - pSchemaWrapper
    - stbFullName
    - newSubTableRule
    - pNotifyEventStat
    argTypes:
    - qTaskInfo_t
    - int32_t
    - SSchemaWrapper*
    - char*
    - bool
    - STaskNotifyEventStat*
    constantsTouched: []
    func_position:
      end: 275
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 275
    functionName: qSetStreamNotifyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosStrdup
    - tCloneSSchemaWrapper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetStreamNotifyInfo(qTaskInfo_t tinfo, int32_t eventTypes,
      const SSchemaWrapper* pSchemaWrapper, const char* stbFullName, bool newSubTableRule,
      STaskNotifyEventStat* pNotifyEventStat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetStreamBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:297,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:299,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:301,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:297,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:299,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - tinfo
    - pBlocks
    - numOfBlocks
    - type
    argTypes:
    - qTaskInfo_t
    - void*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 305
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 305
    functionName: qSetMultiStreamInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - doSetStreamBlock
    - GET_TASKID
    - qDebug
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetMultiStreamInput(qTaskInfo_t tinfo, const void* pBlocks,
      size_t numOfBlocks, int32_t type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:333,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:340,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:345,1
    - Dst: createRawScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:338,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:345,1
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/src/executor.c:350,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:357,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:359,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executor.c:369,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 5
    argNames:
    - msg
    - pReaderHandle
    - vgId
    - numOfCols
    - id
    argTypes:
    - void*
    - SReadHandle*
    - int32_t
    - int32_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 377
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 377
    functionName: qCreateQueueExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - qCreateExecTask
    - doCreateTask
    - createRawScanOperatorInfo
    - qStringToSubplan
    - FOREACH
    - qDebug
    - qDestroyTask
    - GET_TASKID
    linkageType: ''
    returnType: qTaskInfo_t
    signature: 'qTaskInfo_t qCreateQueueExecTaskInfo(void* msg, SReadHandle* pReaderHandle,
      int32_t vgId, int32_t* numOfCols, uint64_t id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 645
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 645
    functionName: qExecutorInit
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecutorInit(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeBlock(void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:112,1
    - Dst: doSetStreamOpOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - id
    argTypes:
    - SOperatorInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: doSetStreamOpOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - doSetStreamOpOpen
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetStreamOpOpen(SOperatorInfo* pOperator, char* id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:217,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:223,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: doSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - tstrerror
    - doSetTaskId
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSetTaskId(SOperatorInfo* pOperator, SStorageAPI* pAPI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - tinfo
    - pVTables
    argTypes:
    - qTaskInfo_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: qSetStreamMergeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qSetStreamMergeInfo(qTaskInfo_t tinfo, SArray* pVTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doSetSMABlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:318,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:318,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:322,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:320,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:320,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - tinfo
    - pBlocks
    - numOfBlocks
    - type
    argTypes:
    - qTaskInfo_t
    - void*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: qSetSMAInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - qDebug
    - doSetSMABlock
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetSMAInput(qTaskInfo_t tinfo, const void* pBlocks, size_t
      numOfBlocks, int32_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/libs/executor/src/executor.c:387,1
    - Dst: qStreamInfoResetTimewindowFilter
      Src: /src/tdengine/source/libs/executor/src/executor.c:398,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:394,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:392,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - pTaskInfo
    - msg
    - readers
    - vgId
    - taskId
    argTypes:
    - qTaskInfo_t*
    - void*
    - SReadHandle*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 404
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 404
    functionName: qCreateStreamExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - qStringToSubplan
    - qStreamInfoResetTimewindowFilter
    - qCreateExecTask
    - qDestroyTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCreateStreamExecTaskInfo(qTaskInfo_t* pTaskInfo, void* msg,
      SReadHandle* readers, int32_t vgId, int32_t taskId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:666,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executor.c:682,1
    - Dst: createExecTaskInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:655,1
    - Dst: dsDataSinkMgtInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:664,1
    - Dst: createDataSinkParam
      Src: /src/tdengine/source/libs/executor/src/executor.c:671,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:673,1
    - Dst: dsCreateDataSinker
      Src: /src/tdengine/source/libs/executor/src/executor.c:689,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:673,1
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/executor/src/executor.c:651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:657,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:653,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:683,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:674,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executor.c:680,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:695,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:696,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:666,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:691,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:691,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 9
    argNames:
    - readHandle
    - vgId
    - taskId
    - pSubplan
    - pTaskInfo
    - handle
    - compressResult
    - sql
    - model
    argTypes:
    - SReadHandle*
    - int32_t
    - uint64_t
    - SSubplan*
    - qTaskInfo_t*
    - DataSinkHandle*
    - int8_t
    - char*
    - EOPTR_EXEC_MODEL
    constantsTouched: []
    func_position:
      end: 701
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 701
    functionName: qCreateExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosThreadOnce
    - taosMemoryFree
    - dsDataSinkMgtInit
    - qError
    - createExecTaskInfo
    - tstrerror
    - dsCreateDataSinker
    - nodesCloneNode
    - qDebug
    - createDataSinkParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCreateExecTask(SReadHandle* readHandle, int32_t vgId, uint64_t
      taskId, SSubplan* pSubplan, qTaskInfo_t* pTaskInfo, DataSinkHandle* handle,
      int8_t compressResult, char* sql, EOPTR_EXEC_MODEL model) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:718,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:715,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:722,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:728,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:733,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:743,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:767,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:778,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:781,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:830,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:832,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:818,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:712,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:721,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:738,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:741,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:753,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:783,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:784,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:800,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:801,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:826,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:791,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:809,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:829,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:722,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:743,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:749,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:744,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:743,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:763,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:780,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:787,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:732,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:733,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:764,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:788,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:808,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:810,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:830,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:835,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:835,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 110
    argCount: 6
    argNames:
    - tinfo
    - pResList
    - useconds
    - hasMore
    - pLocal
    - processOneBlock
    argTypes:
    - qTaskInfo_t
    - SArray*
    - uint64_t*
    - bool*
    - SLocalFetch*
    - bool
    constantsTouched: []
    func_position:
      end: 839
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 839
    functionName: qExecTaskOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - atomic_val_compare_exchange_64
    - taosArrayGetSize
    - GET_TASKID
    - taosArrayClear
    - createOneDataBlock
    - blockDataCheck
    - taosArrayPush
    - memcpy
    - setjmp
    - cleanUpUdfs
    - taosArrayGet
    - qError
    - atomic_store_64
    - taosGetTimestampUs
    - taosGetSelfPthreadId
    - QUERY_CHECK_NULL
    - isTaskKilled
    - QUERY_CHECK_CONDITION
    - tstrerror
    - copyDataBlock
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecTaskOpt(qTaskInfo_t tinfo, SArray* pResList, uint64_t*
      useconds, bool* hasMore, SLocalFetch* pLocal, bool processOneBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:968,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:974,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:972,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:974,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:977,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/executor.c:979,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:981,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/executor.c:983,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:985,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:990,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 991
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 991
    functionName: qStopTaskOperators
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - taosReleaseRef
    - taosWUnLockLatch
    - tsem_post
    - taosArrayGetSize
    - taosWLockLatch
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void qStopTaskOperators(SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - scanner
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1320
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1320
    functionName: qExtractReaderFromStreamScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * qExtractReaderFromStreamScanner(void* scanner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1713,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1718,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1722,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1714,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1719,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1728,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1728,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - pList
    - pOperator
    argTypes:
    - SArray*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1731
    functionName: extractTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - extractTableList
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractTableList(SArray* pList, const SOperatorInfo*
      pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:232,1
    - Dst: doSetTaskId
      Src: /src/tdengine/source/libs/executor/src/executor.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - tinfo
    - taskId
    - queryId
    argTypes:
    - qTaskInfo_t
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: qSetTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - doSetTaskId
    - buildTaskId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetTaskId(qTaskInfo_t tinfo, uint64_t taskId, uint64_t queryId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:599,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:613,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:603,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:605,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:618,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 10
    argNames:
    - tinfo
    - dbName
    - dbNameBuffLen
    - tableName
    - tbaleNameBuffLen
    - sversion
    - tversion
    - rversion
    - idx
    - tbGet
    argTypes:
    - qTaskInfo_t
    - char*
    - int32_t
    - char*
    - int32_t
    - int32_t*
    - int32_t*
    - int32_t*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 626
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 626
    functionName: qGetQueryTableSchemaVersion
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tstrncpy
    - tstrerror
    - qError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qGetQueryTableSchemaVersion(qTaskInfo_t tinfo, char* dbName,
      int32_t dbNameBuffLen, char* tableName, int32_t tbaleNameBuffLen, int32_t* sversion,
      int32_t* tversion, int32_t* rversion, int32_t idx, bool* tbGet) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:410,1
    - Dst: tableListGetSourceTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:423,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:411,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:412,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:429,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:430,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:434,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:434,1
    - Dst: isQualifiedTable
      Src: /src/tdengine/source/libs/executor/src/executor.c:460,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:483,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:438,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:462,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:472,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:483,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 5
    argNames:
    - pScanInfo
    - tableIdList
    - idstr
    - pAPI
    - ppArrayRes
    argTypes:
    - SStreamScanInfo*
    - SArray*
    - char*
    - SStorageAPI*
    - SArray**
    constantsTouched: []
    func_position:
      end: 486
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 486
    functionName: filterUnqualifiedTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tableListGetSourceTableInfo
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - isQualifiedTable
    - taosArrayGetSize
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t filterUnqualifiedTables(const SStreamScanInfo* pScanInfo,
      const SArray* tableIdList, const char* idstr, SStorageAPI* pAPI, SArray** ppArrayRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:844,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:848,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executor.c:852,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 853
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 853
    functionName: qCleanExecTaskBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'void qCleanExecTaskBlockBuf(qTaskInfo_t tinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1086,1
    - Dst: printTaskExecCostInLog
      Src: /src/tdengine/source/libs/executor/src/executor.c:1091,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1088,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1088,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1086,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/executor.c:1092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - qTaskHandle
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1093
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1093
    functionName: qDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - printTaskExecCostInLog
    - qDebug
    - doDestroyTask
    linkageType: ''
    returnType: void
    signature: 'void qDestroyTask(qTaskInfo_t qTaskHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - tinfo
    - scanner
    argTypes:
    - qTaskInfo_t
    - void**
    constantsTouched: []
    func_position:
      end: 1113
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1113
    functionName: qExtractStreamScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void qExtractStreamScanner(qTaskInfo_t tinfo, void** scanner) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:1146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1161,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1161,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1157,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1155,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - tinfo
    - pVerRange
    - pWindow
    argTypes:
    - qTaskInfo_t
    - SVersionRange*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1164
    functionName: qStreamSourceScanParamForHistoryScanStep2
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamSourceScanParamForHistoryScanStep2(qTaskInfo_t tinfo,
      SVersionRange* pVerRange, STimeWindow* pWindow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1325
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1325
    functionName: qExtractSchemaFromTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSchemaWrapper*
    signature: 'const SSchemaWrapper * qExtractSchemaFromTask(qTaskInfo_t tinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doSetStreamOpOpen
      Src: /src/tdengine/source/libs/executor/src/executor.c:244,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:248,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:246,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:246,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:244,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 252
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 252
    functionName: qSetStreamOpOpen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - doSetStreamOpOpen
    - GET_TASKID
    - qDebug
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetStreamOpOpen(qTaskInfo_t tinfo) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:506,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:520,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:531,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:540,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:537,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:521,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:542,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:544,1
    - Dst: getGroupIdFromTagsVal
      Src: /src/tdengine/source/libs/executor/src/executor.c:553,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:564,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:490,1
    - Dst: extractOperatorInTree
      Src: /src/tdengine/source/libs/executor/src/executor.c:499,1
    - Dst: taosLRUCacheErase
      Src: /src/tdengine/source/libs/executor/src/executor.c:509,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:517,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:529,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:556,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:558,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:581,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:573,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:580,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:494,1
    - Dst: filterUnqualifiedTables
      Src: /src/tdengine/source/libs/executor/src/executor.c:515,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/executor.c:528,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:543,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:566,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executor.c:575,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:580,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:583,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executor.c:507,1
    - Dst: getTableTagsBufLen
      Src: /src/tdengine/source/libs/executor/src/executor.c:525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:557,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:578,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 3
    argNames:
    - tinfo
    - tableIdList
    - isAdd
    argTypes:
    - qTaskInfo_t
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 587
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 587
    functionName: qUpdateTableListForStreamScanner
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosLRUCacheErase
    - groupbyTbname
    - taosMemoryFree
    - taosArrayGet
    - filterUnqualifiedTables
    - taosArrayDestroy
    - taosMemoryMalloc
    - tableListAddTableInfo
    - getTableTagsBufLen
    - taosArrayGetSize
    - extractOperatorInTree
    - qDebug
    - taosWUnLockLatch
    - GET_TASKID
    - taosWLockLatch
    - getGroupIdFromTagsVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qUpdateTableListForStreamScanner(qTaskInfo_t tinfo, const
      SArray* tableIdList, bool isAdd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 628
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 628
    functionName: qIsDynamicExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool qIsDynamicExecTask(qTaskInfo_t tinfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:874,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:885,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:892,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:905,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:905,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/executor.c:908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:911,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:911,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:867,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:863,1
    - Dst: clearStreamBlock
      Src: /src/tdengine/source/libs/executor/src/executor.c:866,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:893,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:894,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:893,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:900,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/executor/src/executor.c:857,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/executor.c:864,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:867,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:874,1
    - Dst: setjmp
      Src: /src/tdengine/source/libs/executor/src/executor.c:889,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:882,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:898,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:905,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:911,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executor.c:914,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:927,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/executor.c:877,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:898,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:893,1
    - Dst: cleanUpUdfs
      Src: /src/tdengine/source/libs/executor/src/executor.c:921,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:926,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/executor/src/executor.c:929,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 3
    argNames:
    - tinfo
    - pRes
    - useconds
    argTypes:
    - qTaskInfo_t
    - SSDataBlock**
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 931
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 931
    functionName: qExecTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - cleanUpUdfs
    - blockDataCheck
    - taosRUnLockLatch
    - qError
    - taosRLockLatch
    - clearStreamBlock
    - taosGetSelfPthreadId
    - taosGetTimestampUs
    - tstrerror
    - isTaskKilled
    - qDebug
    - atomic_store_64
    - GET_TASKID
    - setjmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecTask(qTaskInfo_t tinfo, SSDataBlock** pRes, uint64_t*
      useconds) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - tinfo
    - pExecInfoList
    argTypes:
    - qTaskInfo_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1098
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1098
    functionName: qGetExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - getOperatorExplainExecInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qGetExplainExecInfo(qTaskInfo_t tinfo, SArray* pExecInfoList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:1119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1134,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executor.c:1130,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - tinfo
    - pVerRange
    - pWindow
    argTypes:
    - qTaskInfo_t
    - SVersionRange*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 1137
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1137
    functionName: qStreamSourceScanParamForHistoryScanStep1
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamSourceScanParamForHistoryScanStep1(qTaskInfo_t tinfo,
      SVersionRange* pVerRange, STimeWindow* pWindow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executor.c:1170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1179
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1179
    functionName: qStreamRecoverFinish
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - tstrerror
    - QUERY_CHECK_CONDITION
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStreamRecoverFinish(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1330
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1330
    functionName: qExtractTbnameFromTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * qExtractTbnameFromTask(qTaskInfo_t tinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableListInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1672,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executor.c:1684,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1678,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:1680,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1681,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executor.c:1685,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1689,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executor.c:1690,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executor.c:1691,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1698,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1694,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/executor.c:1699,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1698,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1702
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1702
    functionName: qGetQueriedTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - tableListGetSize
    - taosArrayDestroy
    - qError
    - tstrerror
    - T_LONG_JMP
    - getTableListInfo
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * qGetQueriedTableListInfo(qTaskInfo_t tinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executor.c:1774,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executor.c:1774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tinfo
    argTypes:
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 1775
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1775
    functionName: qResetTaskCode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void qResetTaskCode(qTaskInfo_t tinfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executor.c:1739,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1748,1
    - Dst: extractTableList
      Src: /src/tdengine/source/libs/executor/src/executor.c:1744,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pTaskInfo
    - pList
    argTypes:
    - SExecTaskInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1751
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1751
    functionName: getTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - extractTableList
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableListInfo(const SExecTaskInfo* pTaskInfo, SArray**
      pList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executor.c:1646,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/executor/src/executor.c:1662,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executor.c:1653,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executor.c:1657,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/executor/src/executor.c:1663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1664
    functionName: qProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/executor/src/executor.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - destroySendMsgInfo
    - qError
    - rpcFreeCont
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void qProcessRspMsg(void* parent, SRpcMsg* pMsg, SEpSet* pEpSet) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inputSafetyCheck
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:131,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:158,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:137,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:133,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:160,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:170,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:178,1
    - Dst: tsCompressString
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:182,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:196,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:206,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:191,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:194,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:205,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    constantsTouched: []
    func_position:
      end: 209
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 209
    functionName: toDataCacheEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - QRY_RET
    - taosMemoryMalloc
    - taosMemoryRealloc
    - blockEncode
    - qError
    - FOREACH
    - tsCompressString
    - atomic_add_fetch_64
    - TAOS_MEMCPY
    - inputSafetyCheck
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t toDataCacheEntry(SDataDispatchHandle* pHandle, const
      SInputData* pInput, SDataDispatchBuf* pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:233,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:239,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: updateStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateStatus(SDataDispatchHandle* pDispatcher) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:255,1
    - Dst: allocBuf
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:260,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:262,1
    - Dst: toDataCacheEntry
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:266,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:266,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:267,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:267,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:269,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:275,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pHandle
    - pInput
    - pContinue
    argTypes:
    - SDataSinkHandle*
    - SInputData*
    - bool*
    constantsTouched: []
    func_position:
      end: 278
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 278
    functionName: putDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - allocBuf
    - taosFreeQitem
    - toDataCacheEntry
    - taosWriteQitem
    - taosMemoryFreeClear
    - updateStatus
    - QRY_ERR_JRET
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putDataBlock(SDataSinkHandle* pHandle, const SInputData*
      pInput, bool* pContinue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:290,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - struct SDataSinkHandle*
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: resetDispatcher
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'static void resetDispatcher(struct SDataSinkHandle* pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:323,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:335,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:341,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:343,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:340,1
    - Dst: updateStatus
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:344,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:346,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:350,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pHandle
    - pOutput
    argTypes:
    - SDataSinkHandle*
    - SOutputData*
    constantsTouched: []
    func_position:
      end: 353
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 353
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - qError
    - updateStatus
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDataBlock(SDataSinkHandle* pHandle, SOutputData*
      pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - size
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 384
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 384
    functionName: getCacheSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCacheSize(struct SDataSinkHandle* pHandle, uint64_t*
      size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:399,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:415,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 419
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 419
    functionName: blockDescNodeCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - FOREACH
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t blockDescNodeCheck(SDataBlockDescNode* pInputDataBlockDesc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:64,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:73,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:74,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:74,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:69,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:80,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:83,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:88,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:91,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:93,1
    - Dst: IS_INVALID_TYPE
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:106,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:102,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:98,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - pHandle
    - pInput
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    constantsTouched: []
    func_position:
      end: 116
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 116
    functionName: inputSafetyCheck
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - FOREACH
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - IS_INVALID_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t inputSafetyCheck(SDataDispatchHandle* pHandle, const
      SInputData* pInput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:221,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pDispatcher
    - pInput
    - pBuf
    argTypes:
    - SDataDispatchHandle*
    - SInputData*
    - SDataDispatchBuf*
    constantsTouched: []
    func_position:
      end: 230
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 230
    functionName: allocBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - blockGetEncodeSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t allocBuf(SDataDispatchHandle* pDispatcher, const SInputData*
      pInput, SDataDispatchBuf* pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:244,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pDispatcher
    argTypes:
    - SDataDispatchHandle*
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: getStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getStatus(SDataDispatchHandle* pDispatcher) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:282,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:285,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pHandle
    - useconds
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: endPut
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'static void endPut(struct SDataSinkHandle* pHandle, uint64_t useconds) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:297,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:315,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:304,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:306,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pHandle
    - pLen
    - pRowLen
    - pQueryEnd
    argTypes:
    - SDataSinkHandle*
    - int64_t*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 317
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 317
    functionName: getDataLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosQueueEmpty
    - qDebug
    - taosReadQitem
    - TAOS_MEMCPY
    linkageType: ''
    returnType: void
    signature: 'static void getDataLength(SDataSinkHandle* pHandle, int64_t* pLen,
      int64_t* pRowLen, bool* pQueryEnd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:359,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:358,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:363,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:365,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:366,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:370,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:371,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:374,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SDataSinkHandle*
    constantsTouched: []
    func_position:
      end: 377
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 377
    functionName: destroyDataSinker
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - taosCloseQueue
    - atomic_sub_fetch_64
    - taosQueueEmpty
    - taosFreeQitem
    - taosMemoryFree
    - taosThreadMutexDestroy
    - nodesDestroyNode
    - taosReadQitem
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t destroyDataSinker(SDataSinkHandle* pHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pHandle
    - pFlags
    argTypes:
    - struct SDataSinkHandle*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 391
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 391
    functionName: getSinkFlags
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSinkFlags(struct SDataSinkHandle* pHandle, uint64_t*
      pFlags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:423,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pInputDataBlockDesc
    argTypes:
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 438
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 438
    functionName: getOutputColCounts
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - FOREACH
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getOutputColCounts(SDataBlockDescNode* pInputDataBlockDesc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDescNodeCheck
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:443,1
    - Dst: getOutputColCounts
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:445,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:470,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:449,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:491,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:494,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/dataDispatcher.c:497,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - pManager
    - ppDataSink
    - pHandle
    - processOneBlock
    argTypes:
    - SDataSinkManager*
    - SDataSinkNode**
    - DataSinkHandle*
    - bool
    constantsTouched: []
    func_position:
      end: 501
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 501
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/executor/src/dataDispatcher.c
    functionUses: []
    functionsReached:
    - getOutputColCounts
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadMutexInit
    - blockDescNodeCheck
    - nodesDestroyNode
    - qError
    - taosOpenQueue
    - dsDestroyDataSinker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataDispatcher(SDataSinkManager* pManager, SDataSinkNode**
      ppDataSink, DataSinkHandle* pHandle, bool processOneBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:758,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:759,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - pCtx
    - pTb
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinTableCtx*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 768
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 768
    functionName: mJoinProcessLowerGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinNonEqCart
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinProcessLowerGrp(SMJoinMergeCtx* pCtx, SMJoinTableCtx*
      pTb, SColumnInfoData* pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1181,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1167,1
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1126,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1178,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1185
    functionName: mJoinGrpRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemain
    - mJoinLaunchPrimExpr
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mJoinGrpRetrieveImpl(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1213,1
    - Dst: mJoinInitMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1220,1
    - Dst: mJoinInitWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1216,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1213,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1221
    functionName: mJoinInitCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - ASOF_LOWER_ROW_INCLUDED
    - mJoinInitMergeCtx
    - mJoinInitWindowCtx
    - ASOF_GREATER_ROW_INCLUDED
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1456,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1458,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1461,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1466,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1477
    functionName: mJoinSetKeyColsData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGet
    - MJ_ERR_RET
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinSetKeyColsData(SSDataBlock* pBlock, SMJoinTableCtx* pTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1694,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1699,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1703,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1691,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1706,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pCache
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    constantsTouched: []
    func_position:
      end: 1708
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1708
    functionName: mWinJoinResetWindowCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSWAP
    - blockDataCleanup
    - taosArrayGet
    - blockDataDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void mWinJoinResetWindowCache(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1744,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1748,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1748,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1744,1
    - Dst: mJoinResetOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1747,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1754,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1762,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1769,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1771,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1771,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1773,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1784,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1793
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1793
    functionName: mJoinMainProcess
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinResetOperator
    - doFilter
    - T_LONG_JMP
    - taosGetTimestampUs
    - qError
    - tstrerror
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinMainProcess(struct SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1809,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1806,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1810,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1811,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1812,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1814,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1816
    functionName: destroyMergeJoinTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mJoinDestroyCreatedBlks
    - taosArrayDestroy
    - tSimpleHashCleanup
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void destroyMergeJoinTableCtx(SMJoinTableCtx* pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:777,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:786,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - pCtx
    - pTb
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinTableCtx*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 787
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 787
    functionName: mJoinProcessGreaterGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinNonEqCart
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinProcessGreaterGrp(SMJoinMergeCtx* pCtx, SMJoinTableCtx*
      pTb, SColumnInfoData* pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamRemain
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1192,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1199,1
    - Dst: mJoinLaunchPrimExpr
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1204
    functionName: mJoinRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - getNextBlockFromDownstreamRemain
    - mJoinLaunchPrimExpr
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE SSDataBlock * mJoinRetrieveImpl(SMJoinOperatorInfo*
      pJoin, SMJoinTableCtx* pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1225,1
    - Dst: mJoinDestroyMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1229
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1229
    functionName: mJoinDestroyCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinDestroyWindowCtx
    - mJoinDestroyMergeCtx
    linkageType: ''
    returnType: void
    signature: 'static void mJoinDestroyCtx(SMJoinOperatorInfo* pJoin) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1484,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1505,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1492,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1489,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1500,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1505,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1506,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1509,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1509,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1510,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1513,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 3
    argNames:
    - pTable
    - rowIdx
    - pBufLen
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - size_t*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1525
    functionName: mJoinCopyKeyColsDataToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_s
    - getJsonValueLen
    - TAOS_MEMCPY
    linkageType: ''
    returnType: bool
    signature: 'bool mJoinCopyKeyColsDataToBuf(SMJoinTableCtx* pTable, int32_t rowIdx,
      size_t *pBufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1718
    functionName: mJoinResetWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetWindowCtx(SMJoinWindowCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ppArray
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1798
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1798
    functionName: destroyGrpArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyGrpArray(void* ppArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1821,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1832,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1828,1
    - Dst: filterFreeInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1824,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1836,1
    - Dst: destroyMergeJoinTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1837,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1839,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1840
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1840
    functionName: destroyMergeJoinOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - destroyMergeJoinTableCtx
    - mJoinDestroyCtx
    - taosMemoryFreeClear
    - filterFreeInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyMergeJoinOperator(void* param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1917,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1944,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1950,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1952,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1955,1
    - Dst: mJoinInitDownstreamInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1936,1
    - Dst: mJoinHandleConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1942,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1945,1
    - Dst: mJoinInitCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1947,1
    - Dst: destroyMergeJoinOperator
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1967,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1969,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1938,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1942,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1947,1
    - Dst: mJoinSetImplFp
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1971,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1929,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1936,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1923,1
    - Dst: mJoinSetBuildAndProbeTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1940,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1944,1
    - Dst: mJoinInitTableInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1945,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1952,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pJoinNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SSortMergeJoinPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1976
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1976
    functionName: createMergeJoinOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - taosMemoryFree
    - taosMemoryCalloc
    - setOperatorInfo
    - mJoinInitDownstreamInfo
    - mJoinSetBuildAndProbeTable
    - mJoinHandleConds
    - mJoinSetImplFp
    - appendDownstream
    - MJ_ERR_JRET
    - mJoinInitTableInfo
    - mJoinInitCtx
    - destroyMergeJoinOperator
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createMergeJoinOperatorInfo(SOperatorInfo** pDownstream, int32_t
      numOfDownstream, SSortMergeJoinPhysiNode* pJoinNode, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:65,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:66,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:71,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:69,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:75,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:79,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:82,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:83,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:86,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:88,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:95,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:97,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:93,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 105
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 105
    functionName: mJoinTrimKeepFirstRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - colDataIsNull_var
    - varDataTLen
    - colDataIsNull_f
    - taosArrayGet
    - colDataGetVarData
    - MJ_ERR_RET
    - getJsonValueLen
    - TAOS_MEMSET
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataSetNull_f
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinTrimKeepFirstRow(SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:474,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:475,1
    - Dst: blockDataMerge
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:474,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:480,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:480,1
    - Dst: blockDataShrinkNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:481,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - pCtx
    - ppMid
    - ppFin
    argTypes:
    - SMJoinMergeCtx*
    - SSDataBlock**
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 494
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 494
    functionName: mJoinCopyMergeMidBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - MJ_ERR_RET
    - blockDataMergeNRows
    - blockDataShrinkNRows
    - blockDataMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinCopyMergeMidBlk(SMJoinMergeCtx* pCtx, SSDataBlock** ppMid,
      SSDataBlock** ppFin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:509,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:516,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:513,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:514,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:519,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:524,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:526,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:529,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 5
    argNames:
    - pJoin
    - pRes
    - append
    - pGrp
    - probeGrp
    argTypes:
    - SMJoinOperatorInfo*
    - SSDataBlock*
    - bool
    - SMJoinGrpRows*
    - bool
    constantsTouched: []
    func_position:
      end: 534
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 534
    functionName: mJoinNonEqGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - colDataAssignNRows
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - colDataSetNItemsNull
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinNonEqGrpCart(SMJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, bool append, SMJoinGrpRows* pGrp, bool probeGrp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:583,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:603,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:593,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:571,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:579,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:576,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:572,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:587,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:590,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:592,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:595,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:609,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:577,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:584,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:595,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:595,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:609,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 5
    argNames:
    - pJoin
    - pRes
    - append
    - pFirst
    - pSecond
    argTypes:
    - SMJoinOperatorInfo*
    - SSDataBlock*
    - bool
    - SMJoinGrpRows*
    - SMJoinGrpRows*
    constantsTouched: []
    func_position:
      end: 616
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 616
    functionName: mJoinMergeGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - colDataAssignNRows
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNItemsNull
    - qError
    - colDataSetNItems
    - MJ_ERR_RET
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinMergeGrpCart(SMJoinOperatorInfo* pJoin, SSDataBlock*
      pRes, bool append, SMJoinGrpRows* pFirst, SMJoinGrpRows* pSecond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - pInfo
    - pDownstream
    argTypes:
    - SMJoinOperatorInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 798
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 798
    functionName: mJoinBuildDownstreams
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SOperatorInfo**
    signature: 'SOperatorInfo ** mJoinBuildDownstreams(SMJoinOperatorInfo* pInfo,
      SOperatorInfo** pDownstream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:852,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:861,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:861,1
    - Dst: mJoinInitColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:852,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pTable
    - pList
    - allocKeyBuf
    argTypes:
    - SMJoinTableCtx*
    - SNodeList*
    - bool
    constantsTouched: []
    func_position:
      end: 868
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 868
    functionName: mJoinInitKeyColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - TMAX
    - MJ_ERR_RET
    - mJoinInitColsInfo
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitKeyColsInfo(SMJoinTableCtx* pTable, SNodeList*
      pList, bool allocKeyBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1529,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1538,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1530,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1534,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pTable
    - ppRes
    argTypes:
    - SMJoinTableCtx*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1548
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1548
    functionName: mJoinGetAvailableGrpArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayClear
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinGetAvailableGrpArray(SMJoinTableCtx* pTable, SArray**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1575,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1583,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1578,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1580,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1578,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1583,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pJoin
    - keyLen
    - pBlock
    - rowIdx
    argTypes:
    - SMJoinOperatorInfo*
    - size_t
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1591
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1591
    functionName: mJoinAddRowToFullHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinGetAvailableGrpArray
    - tSimpleHashGet
    - taosArrayPush
    - MJ_ERR_RET
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinAddRowToFullHash(SMJoinOperatorInfo* pJoin, size_t
      keyLen, SSDataBlock* pBlock, int32_t rowIdx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:160,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:172,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:178,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:194,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:267,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:114,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:146,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:148,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:152,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:158,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:150,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:195,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:229,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:247,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:179,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:154,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:174,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:212,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:230,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:213,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:117,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:123,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:119,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:128,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:138,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:139,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:143,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:157,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:155,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 117
    argCount: 3
    argNames:
    - pBlock
    - totalRows
    - pBoolList
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 271
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 271
    functionName: mJoinTrimKeepOneRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - varDataTLen
    - taosMemoryFree
    - colDataSetNull_var
    - colDataSetVal
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataIsNull_f
    - taosMemoryMalloc
    - MJ_ERR_RET
    - TAOS_MEMSET
    - colDataIsNull_var
    - colDataSetNull_f
    - taosArrayGet
    - TAOS_MEMCPY
    - taosMemoryFreeClear
    - colDataGetVarData
    - getJsonValueLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinTrimKeepOneRow(SSDataBlock* pBlock, int32_t totalRows,
      const bool* pBoolList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:498,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: mJoinHandleMidRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinHandleMidRemains(SMJoinMergeCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:551,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:558,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:552,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:558,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:552,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - pCtx
    - pGrp
    - probeGrp
    - singleProbeRow
    argTypes:
    - SMJoinCommonCtx*
    - SMJoinGrpRows*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 565
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 565
    functionName: mJoinNonEqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinNonEqGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinNonEqCart(SMJoinCommonCtx* pCtx, SMJoinGrpRows* pGrp,
      bool probeGrp, bool singleProbeRow) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:630,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:648,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:640,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:645,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:646,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:651,1
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:652,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:654,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:654,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:654,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:662,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:664,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:669,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:667,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:660,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 6
    argNames:
    - pBlk
    - probeGrp
    - append
    - probe
    - build
    - cont
    argTypes:
    - SSDataBlock*
    - SMJoinGrpRows*
    - bool
    - SMJoinTableCtx*
    - SMJoinTableCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 693
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 693
    functionName: mJoinHashGrpCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - colDataAssignNRows
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - colDataSetNItemsNull
    - colDataSetNItems
    - MJ_ERR_RET
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinHashGrpCart(SSDataBlock* pBlk, SMJoinGrpRows* probeGrp,
      bool append, SMJoinTableCtx* probe, SMJoinTableCtx* build, bool* cont) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mJoinBuildDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - pInfo
    - pDownstream
    - numOfDownstream
    - newDownstreams
    argTypes:
    - SMJoinOperatorInfo*
    - SOperatorInfo***
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 811
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 811
    functionName: mJoinInitDownstreamInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinBuildDownstreams
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinInitDownstreamInfo(SMJoinOperatorInfo* pInfo, SOperatorInfo***
      pDownstream, int32_t *numOfDownstream, bool *newDownstreams) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:872,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:872,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:886,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pTable
    - pList
    argTypes:
    - SMJoinTableCtx*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 894
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 894
    functionName: mJoinInitFinColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    - FOREACH
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitFinColsInfo(SMJoinTableCtx* pTable, SNodeList*
      pList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1553,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1561,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1556,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1558,1
    - Dst: mJoinGetAvailableGrpArray
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1556,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1561,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1563,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - pJoin
    - keyLen
    - pBlock
    - rowIdx
    argTypes:
    - SMJoinOperatorInfo*
    - size_t
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1569
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1569
    functionName: mJoinAddRowToHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinGetAvailableGrpArray
    - tSimpleHashGet
    - taosArrayPush
    - MJ_ERR_RET
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinAddRowToHash(SMJoinOperatorInfo* pJoin, size_t
      keyLen, SSDataBlock* pBlock, int32_t rowIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1596,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1607,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1601,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1603,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1609,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1611,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1617,1
    - Dst: mJoinAddRowToFullHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1617,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1622
    functionName: mJoinCreateFullBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - mJoinAddRowToFullHash
    - tSimpleHashClear
    - mJoinSetKeyColsData
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinCreateFullBuildTbHash(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:279,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:288,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:294,1
    - Dst: MJOIN_ROW_BITMAP_SET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:299,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:303,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:307,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:313,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:317,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 4
    argNames:
    - pBlock
    - pFilterInfo
    - build
    - startRowIdx
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SMJoinTableCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 320
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 320
    functionName: mJoinFilterAndMarkHashRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - MJOIN_ROW_BITMAP_SET
    - taosMemoryFree
    - colDataDestroy
    - filterSetDataFromSlotId
    - extractQualifiedTupleByFilterResult
    - filterExecute
    - taosArrayGetSize
    - MJOIN_SET_ROW_BITMAP
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinFilterAndMarkHashRows(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo, SMJoinTableCtx* build, int32_t startRowIdx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:391,1
    - Dst: mJoinTrimKeepFirstRow
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:407,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:407,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:400,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:394,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:411,1
    - Dst: mJoinTrimKeepOneRow
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:411,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:419,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - pBlock
    - pFilterInfo
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 422
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 422
    functionName: mJoinFilterAndKeepSingleRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mJoinTrimKeepOneRow
    - colDataDestroy
    - MJ_ERR_JRET
    - filterSetDataFromSlotId
    - filterExecute
    - mJoinTrimKeepFirstRow
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinFilterAndKeepSingleRow(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:696,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:698,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:703,1
    - Dst: mJoinGetRowBitmapOffset
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 708
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 708
    functionName: mJoinAllocGrpRowBitmap
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinGetRowBitmapOffset
    - taosArrayGetSize
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinAllocGrpRowBitmap(SMJoinTableCtx* pTb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pTable
    - slotId
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 822
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 822
    functionName: mJoinInitPrimKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitPrimKeyInfo(SMJoinTableCtx* pTable, int32_t
      slotId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:951,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:952,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:957,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:952,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:957,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:958,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:958,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:962,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:963,1
    - Dst: mJoinInitFuncPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:963,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:964,1
    - Dst: mJoinInitValPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:965,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:965,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - pNode
    - pCtx
    - pTable
    argTypes:
    - SNode*
    - SMJoinPrimExprCtx*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 971
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 971
    functionName: mJoinInitPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - qError
    - mJoinInitFuncPrimExprCtx
    - MJ_ERR_RET
    - mJoinInitValPrimExprCtx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitPrimExprCtx(SNode* pNode, SMJoinPrimExprCtx*
      pCtx, SMJoinTableCtx* pTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1250,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1250,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pJoin
    - pIdx
    - ppBlk
    - pTb
    argTypes:
    - SMJoinOperatorInfo*
    - int32_t*
    - SSDataBlock**
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1261
    functionName: mJoinRetrieveBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - MJOIN_TBTYPE
    - qDebug
    linkageType: ''
    returnType: bool
    signature: 'bool mJoinRetrieveBlk(SMJoinOperatorInfo* pJoin, int32_t* pIdx, SSDataBlock**
      ppBlk, SMJoinTableCtx* pTb) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1323,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1343,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1374,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1380,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1376,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1421,1
    - Dst: mJoinResetForBuildTable
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1317,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1312,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1332,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1404,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1379,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1304,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1321,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1306,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1356,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1410,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1396,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1411,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 129
    argCount: 4
    argNames:
    - pTable
    - timestamp
    - wholeBlk
    - restart
    argTypes:
    - SMJoinTableCtx*
    - int64_t
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 1429
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1429
    functionName: mJoinBuildEqGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - taosArrayGet
    - colDataGetNumData
    - blockDataExtractBlock
    - taosArrayPush
    - MJ_ERR_RET
    - taosArrayPop
    - taosArrayReserve
    - mJoinResetForBuildTable
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinBuildEqGroups(SMJoinTableCtx* pTable, int64_t timestamp,
      bool* wholeBlk, bool restart) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:347,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:344,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:337,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:331,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:349,1
    - Dst: MJOIN_ROW_BITMAP_SET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:363,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:367,1
    - Dst: extractQualifiedTupleByFilterResult
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:377,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:381,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 5
    argNames:
    - pBlock
    - pFilterInfo
    - build
    - startGrpIdx
    - startRowIdx
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    - SMJoinTableCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 384
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 384
    functionName: mJoinFilterAndMarkRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - MJOIN_ROW_BITMAP_SET
    - taosMemoryFree
    - taosArrayGet
    - colDataDestroy
    - MJ_ERR_JRET
    - filterSetDataFromSlotId
    - extractQualifiedTupleByFilterResult
    - filterExecute
    - taosArrayGetSize
    - MJOIN_SET_ROW_BITMAP
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinFilterAndMarkRows(SSDataBlock* pBlock, SFilterInfo* pFilterInfo,
      SMJoinTableCtx* build, int32_t startGrpIdx, int32_t startRowIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:429,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:452,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:451,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:432,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:438,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pBlock
    - pFilterInfo
    argTypes:
    - SSDataBlock*
    - SFilterInfo*
    constantsTouched: []
    func_position:
      end: 455
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 455
    functionName: mJoinFilterAndNoKeepRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    - filterSetDataFromSlotId
    - filterExecute
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinFilterAndNoKeepRows(SSDataBlock* pBlock, SFilterInfo*
      pFilterInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:716,1
    - Dst: mJoinRetrieveEqGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:718,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:718,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:716,1
    - Dst: REACH_HJOIN_THRESHOLD
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:723,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:726,1
    - Dst: mJoinCreateFullBuildTbHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:726,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:728,1
    - Dst: mJoinCreateBuildTbHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:728,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:733,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:745,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:733,1
    - Dst: mJoinAllocGrpRowBitmap
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:745,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinMergeCtx*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 749
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 749
    functionName: mJoinProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinAllocGrpRowBitmap
    - mJoinCreateFullBuildTbHash
    - REACH_HJOIN_THRESHOLD
    - mJoinCreateBuildTbHash
    - mJoinSetKeyColsData
    - MJ_ERR_RET
    - mJoinBuildEqGroups
    - mJoinRetrieveEqGrpRows
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinProcessEqualGrp(SMJoinMergeCtx* pCtx, int64_t timestamp,
      bool lastBuildGrp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:825,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:827,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:836,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - colNum
    - rowSize
    - pCols
    - pList
    argTypes:
    - int32_t*
    - int64_t*
    - SMJoinColInfo**
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 847
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 847
    functionName: mJoinInitColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    - FOREACH
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitColsInfo(int32_t* colNum, int64_t* rowSize,
      SMJoinColInfo** pCols, SNodeList* pList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:976,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:979,1
    - Dst: mJoinInitKeyColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:979,1
    - Dst: mJoinInitPrimKeyInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:977,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:977,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:980,1
    - Dst: mJoinInitFinColsInfo
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:980,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:982,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:984,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:990,1
    - Dst: IS_FULL_OUTER_JOIN
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1003,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1021,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:998,1
    - Dst: mJoinInitPrimExprCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1021,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:998,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:994,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1005,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 6
    argNames:
    - pJoin
    - pJoinNode
    - pDownstream
    - idx
    - pStat
    - sameDs
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    - SOperatorInfo**
    - int32_t
    - SQueryStat*
    - bool
    constantsTouched: []
    func_position:
      end: 1024
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1024
    functionName: mJoinInitTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinInitPrimExprCtx
    - getOperatorResultBlockId
    - taosMemoryMalloc
    - mJoinInitKeyColsInfo
    - IS_FULL_OUTER_JOIN
    - tSimpleHashInit
    - MJ_ERR_RET
    - mJoinInitFinColsInfo
    - mJoinInitPrimKeyInfo
    - TAOS_MEMCPY
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitTableInfo(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode, SOperatorInfo** pDownstream, int32_t idx, SQueryStat* pStat, bool
      sameDs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1264,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1266,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1268,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pCreatedBlks
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1269
    functionName: mJoinDestroyCreatedBlks
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'static void mJoinDestroyCreatedBlks(SArray* pCreatedBlks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1435,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1439,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1439,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1435,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1439,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1448,1
    - Dst: mJoinBuildEqGroups
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pJoin
    - pTable
    - timestamp
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1452
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1452
    functionName: mJoinRetrieveEqGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - MJ_ERR_RET
    - qDebug
    - mJoinBuildEqGroups
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinRetrieveEqGrpRows(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable, int64_t timestamp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:906,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:917,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:917,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:923,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:912,1
    - Dst: offsetFromTz
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:924,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:924,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:924,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - pCtx
    - pTarget
    argTypes:
    - SMJoinPrimExprCtx*
    - STargetNode*
    constantsTouched: []
    func_position:
      end: 930
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 930
    functionName: mJoinInitFuncPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - TSDB_TICK_PER_SECOND
    - varDataVal
    - offsetFromTz
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitFuncPrimExprCtx(SMJoinPrimExprCtx* pCtx, STargetNode*
      pTarget) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pInfo
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1067
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1067
    functionName: mJoinSetBuildAndProbeTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mJoinSetBuildAndProbeTable(SMJoinOperatorInfo* pInfo,
      SSortMergeJoinPhysiNode* pJoinNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1233
    functionName: mJoinIsDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mJoinIsDone(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1272,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1276,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pTable
    - rowNum
    - rowBitmapOffset
    argTypes:
    - SMJoinTableCtx*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1289
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1289
    functionName: mJoinGetRowBitmapOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryRealloc
    - TAOS_MEMSET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinGetRowBitmapOffset(SMJoinTableCtx* pTable, int32_t rowNum,
      int32_t *rowBitmapOffset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1627,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1634,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1639,1
    - Dst: mJoinSetKeyColsData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1639,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1641,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1643,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1647,1
    - Dst: mJoinAddRowToHash
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pJoin
    - pTable
    argTypes:
    - SMJoinOperatorInfo*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1652
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1652
    functionName: mJoinCreateBuildTbHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - mJoinAddRowToHash
    - tSimpleHashClear
    - mJoinSetKeyColsData
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinCreateBuildTbHash(SMJoinOperatorInfo* pJoin, SMJoinTableCtx*
      pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1671
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1671
    functionName: mJoinResetTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinResetGroupTableCtx
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetTableCtx(SMJoinTableCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetMergeCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1722,1
    - Dst: mJoinResetWindowCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1726
    functionName: mJoinResetCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinResetWindowCtx
    - mJoinResetMergeCtx
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetCtx(SMJoinOperatorInfo* pJoin) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1848,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1855,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1862,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1848,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1855,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1862,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1865,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1865,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1868,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1868,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1876
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1876
    functionName: mJoinHandleConds
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - filterInitFromNode
    - MJ_ERR_RET
    - mergeJoinConds
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinHandleConds(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:31,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:33,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:40,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:43,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pTable
    - timestamp
    - wholeBlk
    - pGrp
    argTypes:
    - SMJoinTableCtx*
    - int64_t
    - bool*
    - SMJoinGrpRows*
    constantsTouched: []
    func_position:
      end: 61
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 61
    functionName: mJoinBuildEqGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - colDataGetNumData
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinBuildEqGrp(SMJoinTableCtx* pTable, int64_t timestamp,
      bool* wholeBlk, SMJoinGrpRows* pGrp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCtx
    - pTarget
    argTypes:
    - SMJoinPrimExprCtx*
    - STargetNode*
    constantsTouched: []
    func_position:
      end: 942
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 942
    functionName: mJoinInitValPrimExprCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mJoinInitValPrimExprCtx(SMJoinPrimExprCtx* pCtx, STargetNode*
      pTarget) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1074,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1099,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1099,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1082,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - pBlock
    - pTable
    argTypes:
    - SSDataBlock*
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1107
    functionName: mJoinLaunchPrimExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - colDataSetNItems
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinLaunchPrimExpr(SSDataBlock* pBlock, SMJoinTableCtx* pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1236,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1238,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1243
    functionName: mJoinSetDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - setOperatorCompleted
    - freeOperatorParam
    linkageType: ''
    returnType: void
    signature: 'void mJoinSetDone(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1295,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1296,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1301
    functionName: mJoinResetForBuildTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - mJoinDestroyCreatedBlks
    - TAOS_MEMSET
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetForBuildTable(SMJoinTableCtx* pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinDestroyCreatedBlks
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1659,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinTableCtx*
    constantsTouched: []
    func_position:
      end: 1661
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1661
    functionName: mJoinResetGroupTableCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    - mJoinDestroyCreatedBlks
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetGroupTableCtx(SMJoinTableCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1680
    functionName: mJoinResetMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetMergeCtx(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1731,1
    - Dst: mJoinResetTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1732,1
    - Dst: mJoinResetCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoinoperator.c:1734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1737
    functionName: mJoinResetOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached:
    - mJoinResetTableCtx
    - mJoinResetCtx
    linkageType: ''
    returnType: void
    signature: 'void mJoinResetOperator(struct SOperatorInfo* pOperator) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1913
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1913
    functionName: mJoinSetImplFp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoinoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinSetImplFp(SMJoinOperatorInfo* pJoin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/libs/executor/src/operator.c:156,1
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pOperator
    - fn
    - pParam
    - id
    argTypes:
    - SOperatorInfo*
    - optr_fn_t
    - STraverParam*
    - char*
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: traverseOperatorTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - fn
    - traverseOperatorTree
    linkageType: ''
    returnType: void
    signature: 'void traverseOperatorTree(SOperatorInfo* pOperator, optr_fn_t fn,
      STraverParam* pParam, const char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:184,1
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pOperator
    - type
    - id
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - int32_t
    - char*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: extractOperatorInTree
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - traverseOperatorTree
    - QRY_PARAM_CHECK
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractOperatorInTree(SOperatorInfo* pOperator, int32_t type,
      const char* id, SOperatorInfo** pOptrInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: extractScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ERetType
    signature: 'static ERetType extractScanInfo(SOperatorInfo* pOperator, STraverParam*
      pParam, const char* pIdStr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: doStopDataReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ERetType
    signature: 'static ERetType doStopDataReader(SOperatorInfo* pOperator, STraverParam*
      pParam, const char* pIdStr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:789,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:799,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pOperator
    - downstreams
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    constantsTouched: []
    func_position:
      end: 801
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 801
    functionName: destroyOperatorAndDownstreams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - destroyOperator
    linkageType: ''
    returnType: void
    signature: 'void destroyOperatorAndDownstreams(SOperatorInfo* pOperator, SOperatorInfo**
      downstreams, int32_t num) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:839,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:849,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/operator.c:855,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:857,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/operator.c:861,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:863,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:875,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:878,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/operator.c:893,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/operator.c:888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:903,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:886,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 42
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SOperatorParam*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 908
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 908
    functionName: mergeOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayAddAll
    - tSimpleHashGet
    - qError
    - tSimpleHashInit
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeOperatorParams(SOperatorParam* pDst, SOperatorParam*
      pSrc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:1002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1006,1
    - Dst: setOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:1005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/operator.c:1008,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:1012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:1012,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:1014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1018
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1018
    functionName: optrDefaultGetNextExtFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - T_LONG_JMP
    - setOperatorParams
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optrDefaultGetNextExtFn(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SSDataBlock** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: extractOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ERetType
    signature: 'ERetType extractOperatorInfo(SOperatorInfo* pOperator, STraverParam*
      pParam, const char* pIdStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:237,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pOperator
    - order
    - scanFlag
    - inheritUsOrder
    argTypes:
    - SOperatorInfo*
    - int32_t*
    - int32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 248
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 248
    functionName: getTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - traverseOperatorTree
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableScanInfo(SOperatorInfo* pOperator, int32_t* order,
      int32_t* scanFlag, bool inheritUsOrder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pOperator
    - pIdStr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - char*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: stopTableScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - traverseOperatorTree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stopTableScanOperator(SOperatorInfo* pOperator, const char*
      pIdStr, SStorageAPI* pAPI) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/operator.c:805,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:820,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:820,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:820,1
    - Dst: getOperatorExplainExecInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:827,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - operatorInfo
    - pExecInfoList
    argTypes:
    - SOperatorInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 835
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 835
    functionName: getOperatorExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - taosArrayPush
    - getOperatorExplainExecInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getOperatorExplainExecInfo(SOperatorInfo* operatorInfo, SArray*
      pExecInfoList) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:926,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:935,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:956,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/operator.c:948,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:950,1
    - Dst: mergeOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:962,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:971,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - type
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SOperatorParamType
    constantsTouched: []
    func_position:
      end: 975
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 975
    functionName: setOperatorParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - taosMemoryCalloc
    - freeResetOperatorParams
    - memset
    - taosArrayGetSize
    - mergeOperatorParams
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setOperatorParams(struct SOperatorInfo* pOperator, SOperatorParam*
      pInput, SOperatorParamType type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:1021,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/operator.c:1038,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/operator.c:1028,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1042
    functionName: optrDefaultNotifyFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - setOperatorParams
    - optrDefaultNotifyFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optrDefaultNotifyFn(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/operator.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1049
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1049
    functionName: getOperatorResultBlockId
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - getOperatorResultBlockId
    linkageType: ''
    returnType: int16_t
    signature: 'int16_t getOperatorResultBlockId(struct SOperatorInfo* pOperator,
      int32_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: optrDefaultBufFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optrDefaultBufFn(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getQuerySupportBufSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:131,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/operator.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: releaseQueryBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_64
    - getQuerySupportBufSize
    linkageType: ''
    returnType: void
    signature: 'void releaseQueryBuf(size_t numOfTables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - pOperator
    - name
    - type
    - blocking
    - status
    - pInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - char*
    - int32_t
    - bool
    - int32_t
    - void*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: setOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setOperatorInfo(SOperatorInfo* pOperator, const char* name, int32_t
      type, bool blocking, int32_t status, void* pInfo, SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pOperator
    - relaseFn
    - reloadFn
    argTypes:
    - SOperatorInfo*
    - __optr_state_fn_t
    - __optr_state_fn_t
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: setOperatorStreamStateFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setOperatorStreamStateFn(SOperatorInfo* pOperator, __optr_state_fn_t
      relaseFn, __optr_state_fn_t reloadFn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: getQuerySupportBufSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getQuerySupportBufSize(size_t numOfTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:979,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:983,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:983,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:981,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 987
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 987
    functionName: getNextBlockFromDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - getNextBlockFromDownstreamImpl
    - qError
    - blockDataCheck
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * getNextBlockFromDownstream(struct SOperatorInfo* pOperator,
      int32_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 8
    argNames:
    - openFn
    - nextFn
    - cleanup
    - closeFn
    - reqBufFn
    - explain
    - nextExtFn
    - notifyFn
    argTypes:
    - __optr_open_fn_t
    - __optr_fn_t
    - __optr_fn_t
    - __optr_close_fn_t
    - __optr_reqBuf_fn_t
    - __optr_explain_fn_t
    - __optr_get_ext_fn_t
    - __optr_notify_fn_t
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: createOperatorFpSet
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SOperatorFpSet
    signature: 'SOperatorFpSet createOperatorFpSet(__optr_open_fn_t openFn, __optr_fn_t
      nextFn, __optr_fn_t cleanup, __optr_close_fn_t closeFn, __optr_reqBuf_fn_t reqBufFn,
      __optr_explain_fn_t explain, __optr_get_ext_fn_t nextExtFn, __optr_notify_fn_t
      notifyFn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/operator.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: optrDummyOpenFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - OPTR_SET_OPENED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optrDummyOpenFn(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getQuerySupportBufSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:105,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/operator.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - numOfTables
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: checkForQueryBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_64
    - getQuerySupportBufSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkForQueryBuf(size_t numOfTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstreamImpl
      Src: /src/tdengine/source/libs/executor/src/operator.c:991,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/operator.c:993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:995,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - idx
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 999
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 999
    functionName: getNextBlockFromDownstreamRemain
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - getNextBlockFromDownstreamImpl
    - qError
    - blockDataCheck
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * getNextBlockFromDownstreamRemain(struct SOperatorInfo*
      pOperator, int32_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:62,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/operator.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - p
    - pDownstream
    - num
    argTypes:
    - SOperatorInfo*
    - SOperatorInfo**
    - int32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 71
    functionName: appendDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendDownstream(SOperatorInfo* p, SOperatorInfo** pDownstream,
      int32_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/operator.c:289,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pIdStr
    argTypes:
    - SOperatorInfo*
    - STraverParam*
    - char*
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: doClearTbNameHashPtr
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: ERetType
    signature: 'static ERetType doClearTbNameHashPtr(SOperatorInfo* pOperator, STraverParam*
      pParam, const char* pIdStr) '
  - BBCount: 101
    BranchProfiles: []
    Callsites:
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:391,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:414,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:716,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:575,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:745,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:344,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:587,1
    - Dst: createSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:622,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:707,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:735,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/operator.c:476,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:528,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:565,1
    - Dst: createStreamScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:420,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:471,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:580,1
    - Dst: createMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:627,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:704,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:715,1
    - Dst: createStreamEventAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:649,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:462,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:384,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:423,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:517,1
    - Dst: createStreamFinalIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:615,1
    - Dst: createStreamPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:642,1
    - Dst: createTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:661,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:711,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:747,1
    - Dst: createForecastOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:663,1
    - Dst: createTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:388,1
    - Dst: createDataBlockInfoScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:502,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/operator.c:574,1
    - Dst: createStreamFinalIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:618,1
    - Dst: createFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:655,1
    - Dst: createAnomalywindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:677,1
    - Dst: createSessionNonblockOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:679,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:720,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:723,1
    - Dst: createStreamVtableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:740,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:365,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:348,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:445,1
    - Dst: createMergeAlignedIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:604,1
    - Dst: createSemiIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:612,1
    - Dst: createFinalIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:620,1
    - Dst: createStreamFinalSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:635,1
    - Dst: createEventwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:665,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:716,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:726,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:441,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:415,1
    - Dst: createTableCountScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:431,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:434,1
    - Dst: createVirtualTableMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:550,1
    - Dst: createIndefinitOutputOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:659,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:736,1
    - Dst: createAggregateOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:415,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:486,1
    - Dst: createPartitionOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:640,1
    - Dst: createMergeJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:651,1
    - Dst: createSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:630,1
    - Dst: createSemiSessionNonblockOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:681,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:321,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:377,1
    - Dst: createExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:513,1
    - Dst: createProjectOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:405,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:521,1
    - Dst: createGroupOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:591,1
    - Dst: createIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:597,1
    - Dst: createFinalSessionNonblockOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:748,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/operator.c:566,1
    - Dst: createStatewindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:645,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:730,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:494,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:377,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:544,1
    - Dst: createStreamFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:657,1
    - Dst: createCountwindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:673,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/operator.c:752,1
    - Dst: createEventNonblockOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:687,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:454,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/operator.c:309,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:368,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:349,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:376,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/operator.c:467,1
    - Dst: createStreamFinalIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:610,1
    - Dst: createStreamSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:632,1
    - Dst: createStreamStateAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:647,1
    - Dst: createStreamCountAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:671,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:505,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:525,1
    - Dst: createCacherowsScanOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:532,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:534,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/operator.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:324,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:372,1
    - Dst: createSysTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:437,1
    - Dst: createTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:450,1
    - Dst: createScanTableListInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:410,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/operator.c:305,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:349,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/operator.c:478,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:513,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:492,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:405,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/operator.c:308,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:497,1
    - Dst: createStreamIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:601,1
    - Dst: createGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:707,1
    - Dst: initQueriedTableSchemaInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:698,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:459,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:578,1
    - Dst: createMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:607,1
    - Dst: createStreamFinalSessionAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:638,1
    - Dst: createGroupCacheOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:667,1
    - Dst: createDynQueryCtrlOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:669,1
    - Dst: createStateNonblockOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:685,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:446,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/operator.c:472,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/operator.c:462,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:510,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/operator.c:324,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/operator.c:402,1
    - Dst: createStreamSingleIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:599,1
    - Dst: createStreamTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:675,1
    - Dst: createHashJoinOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/operator.c:653,1
    CyclomaticComplexity: 158
    EdgeCount: 158
    ICount: 478
    argCount: 9
    argNames:
    - pPhyNode
    - pTaskInfo
    - pHandle
    - pTagCond
    - pTagIndexCond
    - pUser
    - dbname
    - pOptrInfo
    - model
    argTypes:
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SNode*
    - SNode*
    - char*
    - char*
    - SOperatorInfo**
    - EOPTR_EXEC_MODEL
    constantsTouched: []
    func_position:
      end: 759
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 759
    functionName: createOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - createMergeJoinOperatorInfo
    - createFinalIntervalSliceOperatorInfo
    - taosMemoryFree
    - createStreamFillOperatorInfo
    - tableListCreate
    - createDynQueryCtrlOperatorInfo
    - createSessionNonblockOperatorInfo
    - taosMemoryCalloc
    - createIntervalOperatorInfo
    - createDataBlockInfoScanOperator
    - initQueriedTableSchemaInfo
    - createStreamTimeSliceOperatorInfo
    - createFillOperatorInfo
    - createStreamIntervalSliceOperatorInfo
    - createStreamStateAggOperatorInfo
    - createGroupOperatorInfo
    - createSortOperatorInfo
    - GET_TASKID
    - createTagScanOperatorInfo
    - taosArrayGetSize
    - createCacherowsScanOperator
    - taosArrayInit
    - nodesListGetNode
    - tableListDestroy
    - nodeType
    - createStreamSingleIntervalOperatorInfo
    - createMergeIntervalOperatorInfo
    - createStreamFinalIntervalOperatorInfo
    - taosArrayDestroy
    - createMultiwayMergeOperatorInfo
    - createTableCountScanOperatorInfo
    - createStreamSessionAggOperatorInfo
    - createAnomalywindowOperatorInfo
    - createStreamVtableMergeOperatorInfo
    - createTimeSliceOperatorInfo
    - createTableScanOperatorInfo
    - createSemiSessionNonblockOperatorInfo
    - createForecastOperatorInfo
    - destroyOperator
    - createGroupSortOperatorInfo
    - createStreamFinalSessionAggOperatorInfo
    - createEventNonblockOperatorInfo
    - taosArrayGet
    - createSessionAggOperatorInfo
    - createStateNonblockOperatorInfo
    - createExchangeOperatorInfo
    - createSysTableScanOperatorInfo
    - createStreamCountAggOperatorInfo
    - qError
    - createStreamScanOperatorInfo
    - createMergeAlignedIntervalOperatorInfo
    - createSemiIntervalSliceOperatorInfo
    - createIndefinitOutputOperatorInfo
    - createTableMergeScanOperatorInfo
    - tableListAddTableInfo
    - createStatewindowOperatorInfo
    - createGroupCacheOperatorInfo
    - createFinalSessionNonblockOperatorInfo
    - createPartitionOperatorInfo
    - LIST_LENGTH
    - createStreamPartitionOperatorInfo
    - createCountwindowOperatorInfo
    - createScanTableListInfo
    - createHashJoinOperatorInfo
    - createVirtualTableMergeOperatorInfo
    - tstrerror
    - createOperator
    - createAggregateOperatorInfo
    - createStreamEventAggOperatorInfo
    - createProjectOperatorInfo
    - createEventwindowOperatorInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createOperator(SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo,
      SReadHandle* pHandle, SNode* pTagCond, SNode* pTagIndexCond, const char* pUser,
      const char* dbname, SOperatorInfo** pOptrInfo, EOPTR_EXEC_MODEL model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/operator.c:75,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/operator.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: setOperatorCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - setTaskStatus
    linkageType: ''
    returnType: void
    signature: 'void setOperatorCompleted(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traverseOperatorTree
      Src: /src/tdengine/source/libs/executor/src/operator.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pOperator
    - pIdStr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - char*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: clearParTbNameHashPtr
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - traverseOperatorTree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearParTbNameHashPtr(SOperatorInfo* pOperator, const char*
      pIdStr, SStorageAPI* pAPI) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:766,1
    - Dst: freeResetOperatorParams
      Src: /src/tdengine/source/libs/executor/src/operator.c:767,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:774,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/operator.c:771,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/operator.c:782,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/operator.c:783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 784
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 784
    functionName: destroyOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/operator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - destroyOperator
    - freeResetOperatorParams
    - cleanupExprSupp
    linkageType: ''
    returnType: void
    signature: 'void destroyOperator(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - TSKEY
    - SInterval*
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: getNextWindowTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - getNextTimeWindow
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY getNextWindowTs(TSKEY ts, SInterval* pInterval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:178,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:183,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:185,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: resetPrevAndNextWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - resetFillWindow
    linkageType: ''
    returnType: void
    signature: 'static void resetPrevAndNextWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 250
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 250
    functionName: hasCurWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasCurWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:906,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:908,1
    - Dst: getWindowFromDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:912,1
    - Dst: getWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:915,1
    - Dst: setDeleteFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:918,1
    - Dst: doStreamFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:921,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 925
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 925
    functionName: doDeleteFillFinalize
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - doStreamFillRange
    - getWindowInfoByKey
    - getWindowFromDiscBuf
    - setDeleteFillValueInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doDeleteFillFinalize(SOperatorInfo* pOperator) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1430,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1439,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1460,1
    - Dst: doApplyStreamScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1489,1
    - Dst: buildAllResultKey
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1490,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1493,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1516,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1502,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1420,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1420,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1438,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1450,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1453,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1462,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1454,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1476,1
    - Dst: doStreamForceFillImpl
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1484,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1491,1
    - Dst: buildForceFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1429,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1485,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1488,1
    - Dst: removeDuplicateResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1494,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1503,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1516,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1516,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1447,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1453,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1453,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1481,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1496,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1499,1
    - Dst: buildForceFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1505,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1510,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1500,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 80
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1520
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1520
    functionName: doStreamForceFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - removeDuplicateResult
    - getNextBlockFromDownstream
    - taosArrayGetSize
    - buildForceFillResult
    - GET_TASKID
    - taosArrayInit
    - taosArrayClear
    - setStreamOperatorState
    - taosArrayPush
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - initMultiResInfoFromArrayList
    - qError
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - doApplyStreamScalarCalculation
    - getStreamOpName
    - buildAllResultKey
    - resetStreamFillInfo
    - tstrerror
    - setStreamOperatorCompleted
    - qDebug
    - doStreamForceFillImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamForceFillNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1735,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1742,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1740,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1741,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1736,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1744,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1745,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1746,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1748,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1749,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1758,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1757,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - pFillSup
    - pFillInfo
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1762
    functionName: setValueForFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - SET_TYPED_DATA
    - getResultCell
    - GET_TYPED_DATA
    - GET_DEST_SLOT_ID
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void setValueForFillInfo(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - TSKEY
    - SInterval*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: getPrevWindowTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - getNextTimeWindow
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY getPrevWindowTs(TSKEY ts, SInterval* pInterval) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: resetPrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:191,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - pOperator
    - ts
    - groupId
    - pFillSup
    argTypes:
    - SOperatorInfo*
    - TSKEY
    - uint64_t
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 248
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 248
    functionName: getWindowFromDiscBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - resetPrevAndNextWindow
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void getWindowFromDiscBuf(SOperatorInfo* pOperator, TSKEY ts, uint64_t
      groupId, SStreamFillSupporter* pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 251
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 251
    functionName: hasPrevWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasPrevWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:938,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:974,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:991,1
    - Dst: doDeleteFillResultImpl
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:983,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:991,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:991,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 994
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 994
    functionName: doDeleteFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - doDeleteFillResultImpl
    - qError
    - tstrerror
    - TMAX
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteFillResult(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pInputRes
    - pFillSup
    argTypes:
    - SSDataBlock*
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1539
    functionName: initResultBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initResultBuf(SSDataBlock* pInputRes, SStreamFillSupporter*
      pFillSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1785,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1781,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - downstream
    - triggerType
    - pInterval
    - pOperatorFlag
    argTypes:
    - SOperatorInfo*
    - int8_t*
    - SInterval*
    - int16_t*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1764
    functionDepth: 0
    functionLinenumber: 1764
    functionLinenumberEnd: 1788
    functionName: getDownStreamInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_NORMAL_INTERVAL_OP
    - tstrerror
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDownStreamInfo(SOperatorInfo* downstream, int8_t* triggerType,
      SInterval* pInterval, int16_t* pOperatorFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: destroySPoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroySPoint(void* ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:122,1
    - Dst: destroyStreamFillLinearInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:127,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:123,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:124,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:125,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:130,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:131,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: destroyStreamFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - destroyStreamFillLinearInfo
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamFillInfo(SStreamFillInfo* pFillInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroyStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:144,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:148,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:146,1
    - Dst: destroyStreamFillSupporter
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:145,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:150,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:154,1
    - Dst: clearGroupResArray
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:156,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:163,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:165,1
    - Dst: destroyNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 169
    functionName: destroyStreamFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - clearGroupResArray
    - taosArrayDestroy
    - destroyStreamBasicInfo
    - blockDataDestroy
    - destroyStreamFillSupporter
    - taosMemoryFreeClear
    - destroyNonBlockAggSupptor
    - destroyStreamFillInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamFillOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 252
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 252
    functionName: hasNextWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasNextWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:290,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - ts
    - pInterval
    - pFillInfo
    argTypes:
    - TSKEY
    - SInterval*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: setFillInfoStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'static void setFillInfoStart(TSKEY ts, SInterval* pInterval, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:647,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:648,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:653,1
    - Dst: doStreamFillNormal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:660,1
    - Dst: doStreamFillLinear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:662,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:666,1
    - Dst: taosArraySwap
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:675,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:677,1
    - Dst: doStreamFillLinear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:678,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:691,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:691,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:683,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:682,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - pFillInfo
    - pFillSup
    - pRes
    argTypes:
    - SStreamFillInfo*
    - SStreamFillSupporter*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 693
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 693
    functionName: doStreamFillRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doStreamFillNormal
    - doStreamFillLinear
    - setFillKeyInfo
    - qError
    - tstrerror
    - buildFillResult
    - taosArraySwap
    linkageType: ''
    returnType: void
    signature: 'void doStreamFillRange(SStreamFillInfo* pFillInfo, SStreamFillSupporter*
      pFillSup, SSDataBlock* pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:778,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:784,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:786,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:789,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:779,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:787,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:803,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:816,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:816,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:776,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:780,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:793,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:790,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:777,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:781,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:791,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:801,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:816,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 5
    argNames:
    - pOp
    - start
    - end
    - groupId
    - delRes
    argTypes:
    - SOperatorInfo*
    - TSKEY
    - TSKEY
    - uint64_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 819
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 819
    functionName: buildDeleteRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - qError
    - tstrerror
    - STR_WITH_MAXSIZE_TO_VARSTR
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDeleteRange(SOperatorInfo* pOp, TSKEY start, TSKEY
      end, uint64_t groupId, SSDataBlock* delRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pRowData
    argTypes:
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: resetForceFillWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void resetForceFillWindow(SResultRowData* pRowData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:111,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:113,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pFillLinear
    argTypes:
    - SStreamFillLinearInfo*
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: destroyStreamFillLinearInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamFillLinearInfo(SStreamFillLinearInfo* pFillLinear) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: clearGroupResArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearGroupResArray(SGroupResInfo* pGroupResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pRowData
    argTypes:
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: resetFillWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void resetFillWindow(SResultRowData* pRowData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 253
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 253
    functionName: hasNextNextWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasNextNextWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - ts
    - pInterval
    - pFillInfo
    argTypes:
    - TSKEY
    - SInterval*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: setFillInfoEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'static void setFillInfoEnd(TSKEY ts, SInterval* pInterval, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:702,1
    - Dst: keepResultInDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:703,1
    - Dst: transBlockToResultRow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:704,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:706,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:710,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 7
    argNames:
    - pOperator
    - pFillInfo
    - pBlock
    - tsCol
    - rowId
    - groupId
    - rowSize
    argTypes:
    - SOperatorInfo*
    - SStreamFillInfo*
    - SSDataBlock*
    - TSKEY*
    - int32_t
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 713
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 713
    functionName: keepBlockRowInDiscBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - keepResultInDiscBuf
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - transBlockToResultRow
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t keepBlockRowInDiscBuf(SOperatorInfo* pOperator, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock, TSKEY* tsCol, int32_t rowId, uint64_t groupId,
      int32_t rowSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:827,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:830,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:831,1
    - Dst: buildDeleteRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:829,1
    - Dst: getNextWindowTs
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:828,1
    - Dst: getPrevWindowTs
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:832,1
    - Dst: buildDeleteRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:834,1
    - Dst: buildDeleteRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:836,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:837,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:842,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:842,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:842,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - pOperator
    - startTs
    - endTs
    - groupId
    - delRes
    argTypes:
    - SOperatorInfo*
    - TSKEY
    - TSKEY
    - uint64_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 845
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 845
    functionName: buildDeleteResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getNextWindowTs
    - hasNextWindow
    - getPrevWindowTs
    - qError
    - tstrerror
    - buildDeleteRange
    - GET_TASKID
    - hasPrevWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildDeleteResult(SOperatorInfo* pOperator, TSKEY startTs,
      TSKEY endTs, uint64_t groupId, SSDataBlock* delRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1197,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1210,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1225,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1216,1
    - Dst: copyNotFillExpData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1233,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1231,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1230,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1249,1
    - Dst: resetForceFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1238,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1251,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1258,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1199,1
    - Dst: resetForceFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1217,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1218,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1235,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 5
    argNames:
    - pOperator
    - pFillSup
    - pFillInfo
    - pBlock
    - pGroupResInfo
    argTypes:
    - SOperatorInfo*
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1260
    functionName: doBuildForceFillResultImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - resetForceFillWindow
    - getNumOfTotalRes
    - releaseOutputBuf
    - qError
    - tstrerror
    - copyNotFillExpData
    - buildFillResult
    - qDebug
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void doBuildForceFillResultImpl(SOperatorInfo* pOperator, SStreamFillSupporter*
      pFillSup, SStreamFillInfo* pFillInfo, SSDataBlock* pBlock, SGroupResInfo* pGroupResInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doBuildForceFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1283,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1285,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1294,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1297
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1297
    functionName: buildForceFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - printDataBlock
    - qError
    - tstrerror
    - doBuildForceFillResult
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildForceFillResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1410,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1411,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pTsArrray
    - fn
    argTypes:
    - SArray*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 1412
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1412
    functionName: removeDuplicateResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosArraySort
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: void
    signature: 'void removeDuplicateResult(SArray* pTsArrray, __compar_fn_t fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:349,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:351,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:354,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:350,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pFillSup
    - pFillInfo
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: copyNotFillExpData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - memcpy
    - getResultCell
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: 'void copyNotFillExpData(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:485,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:479,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:480,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pFillSup
    - ts
    - groupId
    - pRes
    argTypes:
    - SStreamFillSupporter*
    - TSKEY
    - uint64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: checkResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGet
    - qError
    - tstrerror
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkResult(SStreamFillSupporter* pFillSup, TSKEY ts, uint64_t
      groupId, bool* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pFillInfo
    argTypes:
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: hasRemainCalc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasRemainCalc(SStreamFillInfo* pFillInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:589,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:591,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:594,1
    - Dst: setRowCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:596,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:612,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:613,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:597,1
    - Dst: destroySPoint
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:617,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:620,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:604,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:614,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:614,1
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:564,1
    - Dst: checkResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:615,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:627,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:627,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:570,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:573,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:616,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - pBlock
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 629
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 629
    functionName: doStreamFillLinear
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fillIfWindowPseudoColumn
    - taosMemoryCalloc
    - colDataSetVal
    - setRowCell
    - checkResult
    - IS_VAR_DATA_TYPE
    - destroySPoint
    - inWinRange
    - getResultCell
    - taosTimeAdd
    - colDataSetNULL
    - hasRemainCalc
    - taosGetLinearInterpolationVal
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - typeGetTypeModFromColInfo
    - tstrerror
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: 'static void doStreamFillLinear(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1021,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1022,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1026,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1023,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1028,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1032,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1033,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1035,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1043,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1043,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1043,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pOperator
    - pSrcBlock
    - pDstBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1046
    functionName: doApplyStreamScalarCalculation
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - projectApplyFunctions
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - qError
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doApplyStreamScalarCalculation(SOperatorInfo* pOperator, SSDataBlock*
      pSrcBlock, SSDataBlock* pDstBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1311,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1309,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pInfo
    - groupId
    - pRow
    argTypes:
    - SStreamFillOperatorInfo*
    - uint64_t
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1317
    functionName: keepResultInStateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - qDebug
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void keepResultInStateBuf(SStreamFillOperatorInfo* pInfo, uint64_t
      groupId, SResultRowData* pRow) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:362,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:384,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:369,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:386,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:386,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:395,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:410,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:422,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:429,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:448,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:372,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:414,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:405,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:408,1
    - Dst: copyNotFillExpData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:402,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:421,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:424,1
    - Dst: calcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:440,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:447,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:456,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:362,1
    - Dst: hasNextNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:406,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:413,1
    - Dst: calcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:444,1
    - Dst: calcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:451,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:466,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:389,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:396,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:399,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:407,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:436,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:436,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:437,1
    - Dst: calcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:459,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 5
    argNames:
    - pBlock
    - ts
    - rowId
    - pFillSup
    - pFillInfo
    argTypes:
    - SSDataBlock*
    - TSKEY
    - int32_t
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 469
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 469
    functionName: setFillValueInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - hasNextWindow
    - setFillKeyInfo
    - resetFillWindow
    - qError
    - tstrerror
    - copyNotFillExpData
    - calcRowDeltaData
    - hasNextNextWindow
    - hasPrevWindow
    linkageType: ''
    returnType: void
    signature: 'void setFillValueInfo(SSDataBlock* pBlock, TSKEY ts, int32_t rowId,
      SStreamFillSupporter* pFillSup, SStreamFillInfo* pFillInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:500,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:501,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:509,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:519,1
    - Dst: setRowCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:521,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:529,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:529,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 6
    argNames:
    - pResRow
    - pFillSup
    - ts
    - pBlock
    - pRes
    - isFilld
    argTypes:
    - SResultRowData*
    - SStreamFillSupporter*
    - TSKEY
    - SSDataBlock*
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 532
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 532
    functionName: buildFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getResultCell
    - taosArrayGet
    - fillIfWindowPseudoColumn
    - qError
    - tstrerror
    - setRowCell
    - GET_DEST_SLOT_ID
    - checkResult
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildFillResult(SResultRowData* pResRow, SStreamFillSupporter*
      pFillSup, TSKEY ts, SSDataBlock* pBlock, bool* pRes, bool isFilld) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:544,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:551,1
    - Dst: buildFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:548,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:549,1
    - Dst: inWinRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:546,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:557,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - pBlock
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 559
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 559
    functionName: doStreamFillNormal
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosTimeAdd
    - hasRemainCalc
    - qError
    - tstrerror
    - buildFillResult
    - inWinRange
    linkageType: ''
    returnType: void
    signature: 'static void doStreamFillNormal(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:636,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pOperator
    - groupId
    - pRow
    - len
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SResultRowData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 640
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 640
    functionName: keepResultInDiscBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qDebug
    - qError
    linkageType: ''
    returnType: void
    signature: 'static void keepResultInDiscBuf(SOperatorInfo* pOperator, uint64_t
      groupId, SResultRowData* pRow, int32_t len) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1063,1
    - Dst: doStreamFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1061,1
    - Dst: doDeleteFillFinalize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1069,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1097,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1091,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1097,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1075,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1122,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1122,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1175,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1063,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1063,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1071,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1091,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1091,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1086,1
    - Dst: doDeleteFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1118,1
    - Dst: doApplyStreamScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1131,1
    - Dst: doStreamFillImpl
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1147,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1149,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1169,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1071,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1071,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1119,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1179,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1148,1
    - Dst: doDeleteFillFinalize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1158,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1058,1
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1059,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1076,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1097,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1116,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1122,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1132,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1151,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1163,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1169,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1175,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1180,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1175,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1177,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1169,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1162,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1183
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1183
    functionName: doStreamFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doDeleteFillResult
    - getNextBlockFromDownstream
    - GET_TASKID
    - printDataBlock
    - hasRemainCalc
    - doStreamFillImpl
    - memcpy
    - doStreamFillRange
    - doFilter
    - setOperatorCompleted
    - printSpecDataBlock
    - qError
    - doApplyStreamScalarCalculation
    - getStreamOpName
    - blockDataCleanup
    - doDeleteFillFinalize
    - resetStreamFillInfo
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamFillNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1325,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1333,1
    - Dst: transBlockToResultRow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1333,1
    - Dst: keepResultInStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1329,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 7
    argNames:
    - pInfo
    - pFillInfo
    - pBlock
    - tsCol
    - rowId
    - groupId
    - rowSize
    argTypes:
    - SStreamFillOperatorInfo*
    - SStreamFillInfo*
    - SSDataBlock*
    - TSKEY*
    - int32_t
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1336
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1336
    functionName: keepBlockRowInStateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - keepResultInStateBuf
    - TAOS_MEMSET
    - transBlockToResultRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t keepBlockRowInStateBuf(SStreamFillOperatorInfo* pInfo, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock, TSKEY* tsCol, int32_t rowId, uint64_t groupId,
      int32_t rowSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1819,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1835,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1836,1
    - Dst: getDownStreamInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1841,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1848,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1874,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1875,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1892,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1884,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1904,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1908,1
    - Dst: streamClientCheckCfg
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1929,1
    - Dst: initFillSupRowInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1917,1
    - Dst: initFillOperatorStateBuff
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1896,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1832,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1852,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1855,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1842,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1853,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1877,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1878,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1888,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1903,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1914,1
    - Dst: initNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1906,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1928,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1923,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1898,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1815,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1856,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1858,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1869,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1871,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1889,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1897,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1935,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1907,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1935,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1911,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1926,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1820,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1830,1
    - Dst: initStreamFillSup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1844,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1851,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1859,1
    - Dst: initStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1861,1
    - Dst: setValueForFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1866,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1868,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1872,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1919,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1935,1
    - Dst: initFillOperatorStateBuff
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1918,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1938,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1899,1
    - Dst: destroyStreamFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1937,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 111
    argCount: 5
    argNames:
    - downstream
    - pPhyFillNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SStreamFillPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1941
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1941
    functionName: createStreamFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - setValueForFillInfo
    - taosMemoryCalloc
    - getDownStreamInfo
    - isFinalOperator
    - streamClientCheckCfg
    - initExprSupp
    - destroyStreamFillOperatorInfo
    - GET_TASKID
    - initFillSupRowInfo
    - taosArrayInit
    - initNonBlockAggSupptor
    - nodeType
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initStreamFillInfo
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - qError
    - filterInitFromNode
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamBasicInfo
    - createOperatorFpSet
    - extractColMatchInfo
    - setOperatorStreamStateFn
    - initFillOperatorStateBuff
    - tstrerror
    - createExprInfo
    - initStreamFillSup
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamFillOperatorInfo(SOperatorInfo* downstream, SStreamFillPhysiNode*
      pPhyFillNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1636,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1639,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1645,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1677,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1678,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1690,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1711,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1670,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1703,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1725,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1601,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1615,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1644,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1641,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1654,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1640,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1656,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1657,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1725,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1629,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1669,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1688,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1694,1
    - Dst: destroyStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1727,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1704,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1720,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1623,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1604,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1650,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1651,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1643,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1660,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1706,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1707,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1698,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1691,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1714,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 131
    argCount: 2
    argNames:
    - pFillSup
    - pRes
    argTypes:
    - SStreamFillSupporter*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1598
    functionDepth: 0
    functionLinenumber: 1598
    functionLinenumberEnd: 1729
    functionName: initStreamFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getResultCell
    - taosArrayGet
    - taosMemoryCalloc
    - destroyStreamFillInfo
    - taosMemoryRealloc
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - memcpy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: SStreamFillInfo*
    signature: 'SStreamFillInfo * initStreamFillInfo(SStreamFillSupporter* pFillSup,
      SSDataBlock* pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pCol
    - rowId
    - pCell
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SResultCellData*
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: setRowCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setRowCell(SColumnInfoData* pCol, int32_t rowId, const SResultCellData*
      pCell) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:73,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:79,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:77,1
    - Dst: taosVariantDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:74,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pFillCol
    - start
    - end
    argTypes:
    - SFillColInfo*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: destroyFillColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - taosVariantDestroy
    - destroyExprInfo
    linkageType: ''
    returnType: void*
    signature: 'void * destroyFillColumnInfo(SFillColInfo* pFillCol, int32_t start,
      int32_t end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:256,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:260,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:259,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:264,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:258,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:265,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:266,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:266,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:268,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pBlock
    - rowId
    - ts
    - pRowVal
    argTypes:
    - SSDataBlock*
    - int32_t
    - TSKEY
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 275
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 275
    functionName: transBlockToResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - getResultCell
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void transBlockToResultRow(const SSDataBlock* pBlock, int32_t
      rowId, TSKEY ts, SResultRowData* pRowVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setFillInfoStart
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:300,1
    - Dst: setFillInfoEnd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - start
    - end
    - pInterval
    - pFillInfo
    argTypes:
    - TSKEY
    - TSKEY
    - SInterval*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: setFillKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - setFillInfoEnd
    - setFillInfoStart
    linkageType: ''
    returnType: void
    signature: 'static void setFillKeyInfo(TSKEY start, TSKEY end, SInterval* pInterval,
      SStreamFillInfo* pFillInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getWindowFromDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:718,1
    - Dst: doStreamFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:723,1
    - Dst: setFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:722,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:720,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 7
    argNames:
    - pOperator
    - pFillSup
    - pFillInfo
    - pBlock
    - tsCol
    - rowId
    - pRes
    argTypes:
    - SOperatorInfo*
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    - TSKEY*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: doFillResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - setFillValueInfo
    - getWindowFromDiscBuf
    - doStreamFillRange
    - resetFillWindow
    linkageType: ''
    returnType: void
    signature: 'static void doFillResults(SOperatorInfo* pOperator, SStreamFillSupporter*
      pFillSup, SStreamFillInfo* pFillInfo, SSDataBlock* pBlock, TSKEY* tsCol, int32_t
      rowId, SSDataBlock* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getWindowFromDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:859,1
    - Dst: buildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:858,1
    - Dst: setDeleteFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:854,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:869,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:875,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:875,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - pOperator
    - startTs
    - endTs
    - groupId
    argTypes:
    - SOperatorInfo*
    - TSKEY
    - TSKEY
    - uint64_t
    constantsTouched: []
    func_position:
      end: 878
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 878
    functionName: doDeleteFillResultImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - buildDeleteResult
    - getWindowFromDiscBuf
    - qError
    - tstrerror
    - taosArrayPush
    - setDeleteFillValueInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteFillResultImpl(SOperatorInfo* pOperator, TSKEY
      startTs, TSKEY endTs, uint64_t groupId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:997,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:998,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1003,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 1006
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1006
    functionName: resetStreamFillSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void resetStreamFillSup(SStreamFillSupporter* pFillSup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1348,1
    - Dst: keepBlockRowInStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1351,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1356,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1354,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1360,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1361,1
    - Dst: IS_FILL_CONST_VALUE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1363,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1372,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1376,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1379
    functionName: doStreamForceFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosTimeAdd
    - qError
    - tstrerror
    - taosArrayPush
    - keepBlockRowInStateBuf
    - QUERY_CHECK_NULL
    - IS_FILL_CONST_VALUE
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamForceFillImpl(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pRaw
    - index
    argTypes:
    - SResultRowData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: getResultCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SResultCellData*
    signature: 'SResultCellData * getResultCell(SResultRowData* pRaw, int32_t index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroyFillColumnInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:87,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:88,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:94,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:95,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:96,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:98,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:99,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 103
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 103
    functionName: destroyStreamFillSupporter
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tSimpleHashCleanup
    - destroyFillColumnInfo
    - cleanupExprSupp
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamFillSupporter(SStreamFillSupporter* pFillSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:280,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:282,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:284,1
    - Dst: getResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - pEndRow
    - pEndPoins
    - pFillCol
    - numOfCol
    argTypes:
    - SResultRowData*
    - SArray*
    - SFillColInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: calcRowDeltaData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - memcpy
    - getResultCell
    - taosArrayGet
    - GET_DEST_SLOT_ID
    linkageType: ''
    returnType: void
    signature: 'static void calcRowDeltaData(SResultRowData* pEndRow, SArray* pEndPoins,
      SFillColInfo* pFillCol, int32_t numOfCol) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:306,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:332,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:311,1
    - Dst: calcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:335,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:306,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:341,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - start
    - end
    - pFillSup
    - pFillInfo
    argTypes:
    - TSKEY
    - TSKEY
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 344
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 344
    functionName: setDeleteFillValueInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    - hasNextWindow
    - setFillKeyInfo
    - qError
    - tstrerror
    - calcRowDeltaData
    - hasPrevWindow
    linkageType: ''
    returnType: void
    signature: 'void setDeleteFillValueInfo(TSKEY start, TSKEY end, SStreamFillSupporter*
      pFillSup, SStreamFillInfo* pFillInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:736,1
    - Dst: keepBlockRowInDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:742,1
    - Dst: keepBlockRowInDiscBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:748,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:743,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:749,1
    - Dst: doFillResults
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:750,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:752,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:753,1
    - Dst: doFillResults
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:758,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:759,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:765,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:760,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:765,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:761,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 767
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 767
    functionName: doStreamFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayGet
    - blockDataUpdateTsWindow
    - keepBlockRowInDiscBuf
    - qError
    - tstrerror
    - doFillResults
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'static void doStreamFillImpl(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:886,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:891,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - pAPI
    - pState
    - ts
    - groupId
    - pWinData
    argTypes:
    - SStorageAPI*
    - void*
    - TSKEY
    - int64_t
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 899
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 899
    functionName: getWindowInfoByKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - qDebug
    - resetFillWindow
    linkageType: ''
    returnType: void
    signature: 'static void getWindowInfoByKey(SStorageAPI* pAPI, void* pState, TSKEY
      ts, int64_t groupId, SResultRowData* pWinData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetStreamFillSup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1008,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1009,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamFillOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: resetStreamFillInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - resetStreamFillSup
    linkageType: ''
    returnType: void
    signature: 'void resetStreamFillInfo(SStreamFillOperatorInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1392,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1393,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pStateStore
    - pState
    - ts
    - pUpdated
    argTypes:
    - SStateStore*
    - SStreamState*
    - TSKEY
    - SArray*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1407
    functionName: buildAllResultKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildAllResultKey(SStateStore* pStateStore, SStreamState*
      pState, TSKEY ts, SArray* pUpdated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1575,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1593,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1545,1
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1576,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1581,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1582,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1583,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1554,1
    - Dst: initResultBuf
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1571,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1578,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1548,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1562,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1579,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1586,1
    - Dst: destroyStreamFillSupporter
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1591,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - pPhyFillNode
    - pInterval
    - pFillExprInfo
    - numOfFillCols
    - pAPI
    - pInputRes
    argTypes:
    - SStreamFillPhysiNode*
    - SInterval*
    - SExprInfo*
    - int32_t
    - SStorageAPI*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1596
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1596
    functionName: initStreamFillSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyExprInfo
    - taosMemoryCalloc
    - createFillColInfo
    - destroyStreamFillSupporter
    - qError
    - tSimpleHashInit
    - initExprSupp
    - QUERY_CHECK_NULL
    - tstrerror
    - createExprInfo
    - taosGetDefaultHashFunction
    - convertFillType
    - initResultBuf
    - taosArrayInit
    linkageType: ''
    returnType: SStreamFillSupporter*
    signature: 'static SStreamFillSupporter * initStreamFillSup(SStreamFillPhysiNode*
      pPhyFillNode, SInterval* pInterval, SExprInfo* pFillExprInfo, int32_t numOfFillCols,
      SStorageAPI* pAPI, SSDataBlock* pInputRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1804,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1797,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - pInfo
    - pState
    - pStore
    - pHandle
    - taskIdStr
    - pApi
    argTypes:
    - SStreamFillOperatorInfo*
    - SStreamState*
    - SStateStore*
    - SReadHandle*
    - char*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1811
    functionName: initFillOperatorStateBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initFillOperatorStateBuff(SStreamFillOperatorInfo* pInfo,
      SStreamState* pState, SStateStore* pStore, SReadHandle* pHandle, const char*
      taskIdStr, SStorageAPI* pApi) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1264,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1271,1
    - Dst: doBuildForceFillResultImpl
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1273,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1265,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/streamfilloperator.c:1271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 5
    argNames:
    - pOperator
    - pFillSup
    - pFillInfo
    - pBlock
    - pGroupResInfo
    argTypes:
    - SOperatorInfo*
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1274
    functionName: doBuildForceFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfilloperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - hasRemainResults
    - memset
    - doBuildForceFillResultImpl
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void doBuildForceFillResult(SOperatorInfo* pOperator, SStreamFillSupporter*
      pFillSup, SStreamFillInfo* pFillInfo, SSDataBlock* pBlock, SGroupResInfo* pGroupResInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:370,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:382,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:374,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:378,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:384,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:385,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:391,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:402,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:405,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:407,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:398,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:395,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 410
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 410
    functionName: doOpenSortOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tsortCreateSortHandle
    - tsortAddSource
    - tsortOpen
    - tsortSetFetchRawDataFp
    - taosMemoryFree
    - OPTR_SET_OPENED
    - taosMemoryCalloc
    - qError
    - tstrerror
    - taosGetTimestampUs
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - OPTR_IS_OPENED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doOpenSortOperator(SOperatorInfo* pOperator) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:431,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:424,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:429,1
    - Dst: getSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:434,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:436,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:438,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:443,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:452,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:464,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:445,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:450,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:466,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:464,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 469
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 469
    functionName: doSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - applyLimitOffset
    - blockDataGetNumOfRows
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    - getSortedBlockData
    - resetLimitInfoForNextGroup
    - tsortIsClosed
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:833,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:851,1
    - Dst: destroyGroupSortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:868,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:840,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:854,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:827,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:832,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:838,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:857,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:849,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:826,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:815,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:837,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:847,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:852,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:810,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:835,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:841,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:870,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - downstream
    - pSortPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SGroupSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 872
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 872
    functionName: createGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - TSDB_CHECK_CODE
    - destroyGroupSortOperatorInfo
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - blockDataEnsureCapacity
    - setOperatorInfo
    - initResultSizeInfo
    - extractColMatchInfo
    - appendDownstream
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - createExprInfo
    - createSortInfo
    - QRY_PARAM_CHECK
    - createOperatorFpSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createGroupSortOperatorInfo(SOperatorInfo* downstream, SGroupSortPhysiNode*
      pSortPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:63,1
    - Dst: makeColsNodeArrFromSortKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:115,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:105,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:106,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:124,1
    - Dst: extractKeysLen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:125,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:151,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:74,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:79,1
    - Dst: calcSortOperMaxTupleLength
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:84,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:103,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:120,1
    - Dst: makeColumnArrayFromList
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:118,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:110,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:165,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:57,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:73,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:95,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:96,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:102,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:130,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:142,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:153,1
    - Dst: destroySortOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:163,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:62,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:94,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:97,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:126,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:140,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 87
    argCount: 4
    argNames:
    - downstream
    - pSortNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSortPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 168
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 168
    functionName: createSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - extractKeysLen
    - TSDB_CHECK_NULL
    - initLimitInfo
    - taosArrayPop
    - setOperatorInfo
    - nodesClearList
    - makeColumnArrayFromList
    - createDataBlockFromDescNode
    - createSortInfo
    - calcSortOperMaxTupleLength
    - destroySortOperatorInfo
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - extractColMatchInfo
    - makeColsNodeArrFromSortKeys
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSortOperatorInfo(SOperatorInfo* downstream, SSortPhysiNode*
      pSortNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:501,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:511,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pSortOperInfo
    - pSortKeys
    argTypes:
    - SSortOperatorInfo*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 514
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 514
    functionName: calcSortOperMaxTupleLength
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - nodesListGetNode
    - taosArrayGet
    - LIST_LENGTH
    linkageType: ''
    returnType: void
    signature: 'static void calcSortOperMaxTupleLength(SSortOperatorInfo* pSortOperInfo,
      SNodeList* pSortKeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 792
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 792
    functionName: getGroupSortExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getGroupSortExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:172,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:178,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:180,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:173,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:183,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:186,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pBlock
    - pTupleHandle
    argTypes:
    - SSDataBlock*
    - STupleHandle*
    constantsTouched: []
    func_position:
      end: 202
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 202
    functionName: appendOneRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - tsortIsNullVal
    - tsortGetValue
    - tsortGetBlockInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendOneRowToDataBlock(SSDataBlock* pBlock, STupleHandle*
      pTupleHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:518,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:519,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCalc
    argTypes:
    - SSortOpGroupIdCalc*
    constantsTouched: []
    func_position:
      end: 522
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 522
    functionName: destroySortOpGroupIdCalc
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroySortOpGroupIdCalc(SSortOpGroupIdCalc* pCalc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:796,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:799,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:805,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:800,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 806
    functionName: destroyGroupSortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyGroupSortOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:355,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pBlock
    - param
    argTypes:
    - SSDataBlock*
    - void*
    constantsTouched: []
    func_position:
      end: 361
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 361
    functionName: applyScalarFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - T_LONG_JMP
    - projectApplyFunctions
    linkageType: ''
    returnType: void
    signature: 'void applyScalarFunction(SSDataBlock* pBlock, void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:473,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:476,1
    - Dst: destroySortOpGroupIdCalc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:479,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:478,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:477,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 481
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 481
    functionName: destroySortOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - destroySortOpGroupIdCalc
    - taosArrayDestroy
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroySortOperatorInfo(void* param) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:544,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:553,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:558,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:546,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:547,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:565,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:570,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:583,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:593,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:609,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:598,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 49
    argCount: 6
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SGroupSortOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 612
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 612
    functionName: getGroupSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - taosArrayGet
    - tsortNextTuple
    - blockDataEnsureCapacity
    - appendOneRowToDataBlock
    - colDataAssign
    - blockDataDestroy
    - tsortGetSortedDataBlock
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getGroupSortedBlockData(SSortHandle* pHandle, SSDataBlock*
      pDataBlock, int32_t capacity, SArray* pColMatchInfo, SGroupSortOperatorInfo*
      pInfo, SSDataBlock** pResBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:626,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:635,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:638,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:655,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 658
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 658
    functionName: fetchNextGroupSortDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCheck
    - qError
    - tstrerror
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fetchNextGroupSortDataBlock(void* param, SSDataBlock** ppBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:484,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:491,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 495
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 495
    functionName: getExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:667,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:675,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:679,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:688,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 695
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 695
    functionName: beginSortGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - tsortAddSource
    - tsortCreateSortHandle
    - tsortOpen
    - taosMemoryFree
    - tsortSetFetchRawDataFp
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t beginSortGroup(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:344,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:340,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:342,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: loadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - blockDataCheck
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadNextDataBlock(void* param, SSDataBlock** ppBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:218,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:218,1
    - Dst: tsortCompAndBuildKeys
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:229,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:216,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - pHandle
    - pInfo
    - pBlock
    - pTupleHandle
    argTypes:
    - SSortHandle*
    - SSortOperatorInfo*
    - SSDataBlock*
    - STupleHandle**
    constantsTouched: []
    func_position:
      end: 257
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 257
    functionName: nextTupleWithGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - tsortNextTuple
    - calcGroupId
    - tsortCompAndBuildKeys
    - tstrerror
    - qError
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nextTupleWithGroupId(SSortHandle* pHandle, SSortOperatorInfo*
      pInfo, SSDataBlock* pBlock, STupleHandle** pTupleHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:700,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: finishSortGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - tsortDestroySortHandle
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t finishSortGroup(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:262,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:284,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:297,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:330,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:330,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:316,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:325,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:332,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:315,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:261,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:269,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:274,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:307,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:306,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:300,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:275,1
    - Dst: nextTupleWithGroupId
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:279,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:312,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 6
    argNames:
    - pHandle
    - pDataBlock
    - capacity
    - pColMatchInfo
    - pInfo
    - pResBlock
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SArray*
    - SSortOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 334
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 334
    functionName: getSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsortNextTuple
    - blockDataEnsureCapacity
    - appendOneRowToDataBlock
    - colDataAssign
    - nextTupleWithGroupId
    - qError
    - blockDataDestroy
    - tstrerror
    - QUERY_CHECK_NULL
    - tsortGetSortedDataBlock
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSortedBlockData(SSortHandle* pHandle, SSDataBlock*
      pDataBlock, int32_t capacity, SArray* pColMatchInfo, SSortOperatorInfo* pInfo,
      SSDataBlock** pResBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:753,1
    - Dst: getGroupSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:769,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:740,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:745,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:780,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:726,1
    - Dst: beginSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:747,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:772,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:771,1
    - Dst: finishSortGroup
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:766,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:782,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:715,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:731,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:733,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sortoperator.c:758,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 785
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 785
    functionName: doGroupSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/sortoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - finishSortGroup
    - getGroupSortedBlockData
    - qError
    - setOperatorCompleted
    - tstrerror
    - T_LONG_JMP
    - beginSortGroup
    - getNextBlockFromDownstream
    - tsortIsClosed
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doGroupSort(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:316,1
    - Dst: createFillColInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:321,1
    - Dst: convertFillType
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:325,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:317,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:323,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:335,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:337,1
    - Dst: initTimeSliceResultBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:339,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:340,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:345,1
    - Dst: initOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:351,1
    - Dst: destroyStreamFillSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:360,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:352,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 6
    argNames:
    - pPhyFillNode
    - pExprSup
    - numOfExprs
    - pInputRes
    - pPkCol
    - ppResFillSup
    argTypes:
    - SStreamInterpFuncPhysiNode*
    - SExprSupp*
    - int32_t
    - SSDataBlock*
    - SColumnInfo*
    - SStreamFillSupporter**
    constantsTouched: []
    func_position:
      end: 363
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 363
    functionName: initTimeSliceFillSup
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initTimeSliceResultBuf
    - initOffsetInfo
    - taosMemoryCalloc
    - createFillColInfo
    - destroyStreamFillSupporter
    - qError
    - tSimpleHashInit
    - tstrerror
    - QUERY_CHECK_NULL
    - getKeyComparFunc
    - taosGetDefaultHashFunction
    - convertFillType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initTimeSliceFillSup(SStreamInterpFuncPhysiNode* pPhyFillNode,
      SExprSupp* pExprSup, int32_t numOfExprs, SSDataBlock* pInputRes, SColumnInfo*
      pPkCol, SStreamFillSupporter** ppResFillSup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:737,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:751,1
    - Dst: IS_INVALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:790,1
    - Dst: adustEndTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:801,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:747,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:763,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:788,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:783,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:792,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:810,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:810,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:749,1
    - Dst: IS_INVALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:761,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:772,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:778,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:782,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:754,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:759,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:761,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:764,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:790,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:793,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 7
    argNames:
    - pAggSup
    - pFillSup
    - ts
    - groupId
    - pCurPoint
    - pPrevPoint
    - pNextPoint
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - TSKEY
    - int64_t
    - SSlicePoint*
    - SSlicePoint*
    - SSlicePoint*
    constantsTouched: []
    func_position:
      end: 813
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 813
    functionName: getLinearResultInfoFromState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - adustPrevTsKey
    - HAS_NON_ROW_DATA
    - adustEndTsKey
    - QUERY_CHECK_CONDITION
    - IS_INVALID_WIN_KEY
    - resetFillWindow
    - qError
    - tstrerror
    - setPointBuff
    - HAS_ROW_DATA
    - resetTimeSlicePrevAndNextWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getLinearResultInfoFromState(SStreamAggSupporter* pAggSup,
      SStreamFillSupporter* pFillSup, TSKEY ts, int64_t groupId, SSlicePoint* pCurPoint,
      SSlicePoint* pPrevPoint, SSlicePoint* pNextPoint) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1340,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1342,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1348,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1343,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1344,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1349,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1350,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1350,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1352,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1360,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1362,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1364,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1362,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1361,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 8
    argNames:
    - pBlock
    - rowId
    - ts
    - pRowVal
    - rowSize
    - pPkData
    - pPkCol
    - pCellOffsetInfo
    argTypes:
    - SSDataBlock*
    - int32_t
    - TSKEY
    - SSliceRowData*
    - int32_t
    - void*
    - SColumnInfoData*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1367
    functionName: transBlockToSliceResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - POINTER_SHIFT
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - getSliceResultCell
    linkageType: ''
    returnType: void
    signature: 'void transBlockToSliceResultRow(const SSDataBlock* pBlock, int32_t
      rowId, TSKEY ts, SSliceRowData* pRowVal, int32_t rowSize, void* pPkData, SColumnInfoData*
      pPkCol, int32_t* pCellOffsetInfo) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1424,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1430,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1447,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1459,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1478,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1489,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1491,1
    - Dst: getQualifiedRowNumAsc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1493,1
    - Dst: getPointInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1499,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1505,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1423,1
    - Dst: needAdjustValue
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1462,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1474,1
    - Dst: needAdjustValue
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1482,1
    - Dst: saveTimeSliceWinResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1487,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1497,1
    - Dst: transBlockToSliceResultRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1510,1
    - Dst: saveTimeSliceWinResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1513,1
    - Dst: getPointInfoFromStateRight
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1501,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1517,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1403,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1422,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1412,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1457,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1469,1
    - Dst: getPointInfoFromStateRight
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1455,1
    - Dst: getPointInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1453,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1471,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1522,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1506,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1411,1
    - Dst: checkExpiredData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1428,1
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1435,1
    - Dst: transBlockToSliceResultRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1464,1
    - Dst: saveTimeSliceWinResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1467,1
    - Dst: getQualifiedRowNumDesc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1477,1
    - Dst: transBlockToSliceResultRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1484,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1503,1
    - Dst: needAdjustValue
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1508,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1515,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 112
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1524
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1524
    functionName: doStreamTimeSliceImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - needAdjustValue
    - getNumOfRowsInTimeWindow
    - getActiveTimeWindow
    - getPointInfoFromStateRight
    - getQualifiedRowNumAsc
    - colDataGetData
    - colDataGetRowLength
    - taosArrayGet
    - checkExpiredData
    - releaseOutputBuf
    - qError
    - transBlockToSliceResultRow
    - getQualifiedRowNumDesc
    - getPointInfoFromState
    - hasSrcPrimaryKeyCol
    - QUERY_CHECK_CONDITION
    - tstrerror
    - qDebug
    - saveTimeSliceWinResultInfo
    - checkNullRow
    linkageType: ''
    returnType: void
    signature: 'static void doStreamTimeSliceImpl(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - curGroupId
    - pKeyArray
    - curIndex
    - pNextKey
    argTypes:
    - int64_t
    - SArray*
    - int32_t
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1548
    functionName: getPrevResKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void getPrevResKey(int64_t curGroupId, SArray* pKeyArray, int32_t
      curIndex, TSKEY* pNextKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1758,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1771,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1762,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1773,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1774,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1781,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1781,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - pAllWins
    - pMaxWins
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1784
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1784
    functionName: getSliceMaxTsWins
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSliceMaxTsWins(const SArray* pAllWins, SArray* pMaxWins) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1879,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1896,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1913,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1922,1
    - Dst: doDeleteTimeSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1928,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1929,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1934,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1934,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1942,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1949,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1981,1
    - Dst: buildAllResultKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1982,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1986,1
    - Dst: buildTimeSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2020,1
    - Dst: resetStreamFillSup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2028,1
    - Dst: removeDuplicateTs
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1977,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2017,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1985,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1997,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2004,1
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1874,1
    - Dst: doStreamTimeSliceFillRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1877,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1879,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1879,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1904,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1922,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1922,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1931,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1934,1
    - Dst: getSliceMaxTsWins
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2003,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1887,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1916,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1930,1
    - Dst: doStreamTimeSliceSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1948,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1950,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1958,1
    - Dst: copyIntervalDeleteKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1972,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1973,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1978,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1979,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1983,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1989,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2007,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2033,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2033,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2021,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1876,1
    - Dst: buildTimeSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1886,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1896,1
    - Dst: resetStreamFillSup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1905,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1916,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1896,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1923,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1959,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1964,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1968,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1976,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2014,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2000,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2011,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1994,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2016,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1995,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2018,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1996,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1985,1
    - Dst: doStreamTimeSliceImpl
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1967,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1988,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 149
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2036
      start: 1861
    functionDepth: 0
    functionLinenumber: 1861
    functionLinenumberEnd: 2036
    functionName: doStreamTimeSliceNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - tSimpleHashCleanup
    - doDeleteTimeSliceResult
    - tSimpleHashIterate
    - removeDuplicateTs
    - getNextBlockFromDownstream
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - printDataBlock
    - hasRemainCalc
    - buildTimeSliceResult
    - setStreamOperatorState
    - taosArraySort
    - taosArrayPush
    - doStreamTimeSliceImpl
    - taosGetDefaultHashFunction
    - tSimpleHashGetKey
    - taosArrayGet
    - blockDataEnsureCapacity
    - initMultiResInfoFromArrayList
    - resetStreamFillSup
    - qError
    - printSpecDataBlock
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - TMAX
    - getSliceMaxTsWins
    - getStreamOpName
    - blockDataCleanup
    - buildAllResultKey
    - doStreamTimeSliceSaveCheckpoint
    - tstrerror
    - copyDataBlock
    - doStreamTimeSliceFillRange
    - setStreamOperatorCompleted
    - qDebug
    - copyIntervalDeleteKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamTimeSliceNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:370,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:373,1
    - Dst: doStreamTimeSliceEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:372,1
    - Dst: doStreamTimeSliceEncodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:379,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:380,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:383,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:384,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:388,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 392
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 392
    functionName: doStreamTimeSliceSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - doStreamTimeSliceEncodeOpState
    - QUERY_CHECK_CODE
    - saveStreamOperatorStateComplete
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - QUERY_CHECK_NULL
    - needSaveStreamOperatorInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void doStreamTimeSliceSaveCheckpoint(SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:832,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:850,1
    - Dst: adustEndTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:886,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:894,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:855,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:878,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:858,1
    - Dst: IS_INVALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:855,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:865,1
    - Dst: IS_INVALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:876,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:872,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:903,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:903,1
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:822,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:839,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:851,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:873,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:857,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:876,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:879,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 72
    argCount: 8
    argNames:
    - pAggSup
    - pFillSup
    - ts
    - groupId
    - pCurPoint
    - pPrevPoint
    - pNextPoint
    - isFwc
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - TSKEY
    - int64_t
    - SSlicePoint*
    - SSlicePoint*
    - SSlicePoint*
    - bool
    constantsTouched: []
    func_position:
      end: 906
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 906
    functionName: getResultInfoFromState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - adustPrevTsKey
    - adustEndTsKey
    - QUERY_CHECK_CONDITION
    - IS_INVALID_WIN_KEY
    - qError
    - tstrerror
    - setPointBuff
    - qDebug
    - HAS_ROW_DATA
    - resetTimeSlicePrevAndNextWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getResultInfoFromState(SStreamAggSupporter* pAggSup,
      SStreamFillSupporter* pFillSup, TSKEY ts, int64_t groupId, SSlicePoint* pCurPoint,
      SSlicePoint* pPrevPoint, SSlicePoint* pNextPoint, bool isFwc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: saveTimeSliceWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1375,1
    - Dst: saveTimeSliceWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1378,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1379,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1383,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1385,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 6
    argNames:
    - pAggSup
    - pTwAggSup
    - pKey
    - pUpdatedMap
    - needDel
    - pDeletedMap
    argTypes:
    - SStreamAggSupporter*
    - STimeWindowAggSupp*
    - SWinKey*
    - SSHashObj*
    - bool
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1392
    functionName: saveTimeSliceWinResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - saveTimeSliceWinResult
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveTimeSliceWinResultInfo(SStreamAggSupporter* pAggSup,
      STimeWindowAggSupp* pTwAggSup, SWinKey* pKey, SSHashObj* pUpdatedMap, bool needDel,
      SSHashObj* pDeletedMap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - curGroupId
    - pKeyArray
    - curIndex
    - pNextKey
    argTypes:
    - int64_t
    - SArray*
    - int32_t
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1536
    functionName: getNextResKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void getNextResKey(int64_t curGroupId, SArray* pKeyArray, int32_t
      curIndex, TSKEY* pNextKey) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1565,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1609,1
    - Dst: getLinearResultInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1598,1
    - Dst: setForceWindowCloseFillRule
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1615,1
    - Dst: doStreamTimeSliceFillRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1619,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1555,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1580,1
    - Dst: getResultInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1595,1
    - Dst: getPrevResKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1603,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1566,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1586,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1600,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1621,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1563,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1556,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1584,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1604,1
    - Dst: getNextResKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1608,1
    - Dst: setTimeSliceFillRule
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1617,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1620,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1622,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1631,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 7
    argNames:
    - pAggSup
    - pTwSup
    - pFillSup
    - pFillInfo
    - pBlock
    - pGroupResInfo
    - pTaskInfo
    argTypes:
    - SStreamAggSupporter*
    - STimeWindowAggSupp*
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    - SGroupResInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 1633
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1633
    functionName: doBuildTimeSlicePointResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasPrevWindow
    - getNextResKey
    - hasNextWindow
    - setTimeSliceFillRule
    - hasRemainResults
    - getNumOfTotalRes
    - getLinearResultInfoFromState
    - memcpy
    - taosArrayGet
    - getPrevResKey
    - getResultInfoFromState
    - releaseOutputBuf
    - qError
    - blockDataCleanup
    - setForceWindowCloseFillRule
    - tstrerror
    - doStreamTimeSliceFillRange
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void doBuildTimeSlicePointResult(SStreamAggSupporter* pAggSup, STimeWindowAggSupp*
      pTwSup, SStreamFillSupporter* pFillSup, SStreamFillInfo* pFillInfo, SSDataBlock*
      pBlock, SGroupResInfo* pGroupResInfo, SExecTaskInfo* pTaskInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1791,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1805,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1795,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1809,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1810,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1810,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1822,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1822,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - pAggSup
    - pBlock
    - pUpdatedMap
    argTypes:
    - SStreamAggSupporter*
    - SSDataBlock*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1825
    functionName: doDeleteTimeSliceResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qTrace
    - qError
    - tstrerror
    - tSimpleHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteTimeSliceResult(SStreamAggSupporter* pAggSup,
      SSDataBlock* pBlock, SSHashObj* pUpdatedMap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2043,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2054,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2047,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2052,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2053,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2056,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2057,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2058,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2060,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2061,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2070,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2071,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 2
    argNames:
    - pFillSup
    - pFillInfo
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 2075
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2075
    functionName: copyFillValueInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - isInterpFunc
    - SET_TYPED_DATA
    - IS_INTEGER_TYPE
    - GET_TYPED_DATA
    - GET_DEST_SLOT_ID
    - IS_FLOAT_TYPE
    - getSliceResultCell
    linkageType: ''
    returnType: void
    signature: 'static void copyFillValueInfo(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:75,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:84,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:95,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:106,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:114,1
    - Dst: saveTimeSliceWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:116,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:80,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:86,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:90,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:96,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:97,1
    - Dst: reloadAggSupFromDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:129,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:81,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 131
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 131
    functionName: streamTimeSliceReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - GET_TASKID
    - taosMemoryFree
    - QUERY_CHECK_CONDITION
    - resetWinRange
    - qError
    - tstrerror
    - strlen
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - qDebug
    - reloadAggSupFromDownStream
    - TMAX
    - taosGetDefaultHashFunction
    - saveTimeSliceWinResult
    linkageType: ''
    returnType: void
    signature: 'void streamTimeSliceReloadState(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:199,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:204,1
    - Dst: encodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:206,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:205,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:200,1
    - Dst: encodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:207,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:211,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:215,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - buf
    - len
    - pOperator
    - pLen
    argTypes:
    - void**
    - int32_t
    - SOperatorInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 223
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 223
    functionName: doStreamTimeSliceEncodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - encodeSResultWindowInfo
    - taosCalcChecksum
    - tSimpleHashIterate
    - encodeSTimeWindowAggSupp
    - taosEncodeFixedI32
    - encodeSSessionKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamTimeSliceEncodeOpState(void** buf, int32_t len, SOperatorInfo*
      pOperator, int32_t* pLen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: checkResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:428,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:440,1
    - Dst: isSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:464,1
    - Dst: isWindowFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:446,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:443,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:455,1
    - Dst: isGroupKeyFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:464,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:438,1
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:437,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:442,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:445,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:465,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:470,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:429,1
    - Dst: IS_FILL_CONST_VALUE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:463,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:453,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:467,1
    - Dst: setRowCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:469,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 54
    argCount: 7
    argNames:
    - pFillSup
    - pResRow
    - pNonFillRow
    - ts
    - pBlock
    - pRes
    - isFilled
    argTypes:
    - SStreamFillSupporter*
    - SResultRowData*
    - SResultRowData*
    - TSKEY
    - SSDataBlock*
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 482
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 482
    functionName: fillPointResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - isIrowtsPseudoColumn
    - colDataSetVal
    - fillIfWindowPseudoColumn
    - isGroupKeyFunc
    - isIsfilledPseudoColumn
    - qError
    - isSelectGroupConstValueFunc
    - tstrerror
    - setRowCell
    - GET_DEST_SLOT_ID
    - checkResult
    - isWindowFunction
    - IS_FILL_CONST_VALUE
    - getSliceResultCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillPointResult(SStreamFillSupporter* pFillSup, SResultRowData*
      pResRow, SResultRowData* pNonFillRow, TSKEY ts, SSDataBlock* pBlock, bool* pRes,
      bool isFilled) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pointTs
    - rowTs
    - pInterval
    argTypes:
    - TSKEY
    - TSKEY
    - SInterval*
    constantsTouched: []
    func_position:
      end: 593
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 593
    functionName: adustPrevTsKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY adustPrevTsKey(TSKEY pointTs, TSKEY rowTs, SInterval* pInterval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ppResRow
    - pFillSup
    argTypes:
    - SResultRowData**
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: adjustFillResRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void adjustFillResRow(SResultRowData** ppResRow, SStreamFillSupporter*
      pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - pFillSup
    argTypes:
    - void*
    - void*
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: comparePkVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t comparePkVal(void* pLeft, void* pRight, SStreamFillSupporter*
      pFillSup) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1646,1
    - Dst: getResultInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1658,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1665,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1672,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1639,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1647,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1668,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1710,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1703,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1692,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1700,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1704,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1706,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1709,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1718,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1640,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1651,1
    - Dst: getLinearResultInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1663,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1691,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1693,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1708,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 6
    argNames:
    - pAggSup
    - pFillSup
    - pWins
    - index
    - pBlock
    - pTaskInfo
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - SArray*
    - int32_t*
    - SSDataBlock*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 1720
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1720
    functionName: doBuildTimeSliceDeleteResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - blockDataCleanup
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataEnsureCapacity
    - hasNextWindow
    - QUERY_CHECK_CONDITION
    - getResultInfoFromState
    - releaseOutputBuf
    - qError
    - tstrerror
    - getLinearResultInfoFromState
    - appendDataToSpecialBlock
    - STR_WITH_MAXSIZE_TO_VARSTR
    - taosArrayGetSize
    - hasPrevWindow
    linkageType: ''
    returnType: void
    signature: 'static void doBuildTimeSliceDeleteResult(SStreamAggSupporter* pAggSup,
      SStreamFillSupporter* pFillSup, SArray* pWins, int32_t* index, SSDataBlock*
      pBlock, SExecTaskInfo* pTaskInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2081,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2095,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2089,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2082,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2095,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - downstream
    - ppRes
    - ppPkCol
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    - SColumnInfo**
    constantsTouched: []
    func_position:
      end: 2097
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2097
    functionName: getDownstreamRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - hasSrcPrimaryKeyCol
    - qError
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDownstreamRes(SOperatorInfo* downstream, SSDataBlock**
      ppRes, SColumnInfo** ppPkCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pRowData
    argTypes:
    - SResultRowData*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: resetFillWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void resetFillWindow(SResultRowData* pRowData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:232,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:242,1
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:240,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:238,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:247,1
    - Dst: decodeSSessionKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:250,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:254,1
    - Dst: decodeSResultWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:256,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:259,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:267,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:263,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:267,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - len
    - pOperator
    argTypes:
    - void*
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 270
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 270
    functionName: doStreamTimeSliceDecodeOpState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - decodeSSessionKey
    - qError
    - tstrerror
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosCheckChecksum
    - tSimpleHashPut
    - GET_TASKID
    - decodeSResultWindowInfo
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamTimeSliceDecodeOpState(void* buf, int32_t len, SOperatorInfo*
      pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:501,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:492,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:493,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - pBlock
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: fillNormalRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosTimeAdd
    - fillPointResult
    - hasRemainCalc
    - qError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void fillNormalRange(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pointTs
    - rowTs
    - pInterval
    argTypes:
    - TSKEY
    - TSKEY
    - SInterval*
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: adustEndTsKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY adustEndTsKey(TSKEY pointTs, TSKEY rowTs, SInterval* pInterval) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:622,1
    - Dst: fillNormalRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:628,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:650,1
    - Dst: taosArraySwap
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:658,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:649,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:675,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:675,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:632,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:639,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:661,1
    - Dst: fillLinearRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:662,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:615,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:616,1
    - Dst: fillPointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:667,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:640,1
    - Dst: adjustFillResRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:641,1
    - Dst: fillLinearRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:646,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:660,1
    - Dst: fillNormalRange
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:642,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - pRes
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 677
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 677
    functionName: doStreamTimeSliceFillRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - adustPrevTsKey
    - fillPointResult
    - adjustFillResRow
    - setFillKeyInfo
    - qError
    - tstrerror
    - fillNormalRange
    - taosArraySwap
    - fillLinearRange
    linkageType: ''
    returnType: void
    signature: 'void doStreamTimeSliceFillRange(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, SSDataBlock* pRes) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: IS_INVALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1247,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1261,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1257,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1270,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1276,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1284,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1285,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1292,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1298,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1307,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1313,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1333,1
    - Dst: comparePkVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1325,1
    - Dst: HAS_NON_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1319,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 85
    argCount: 6
    argNames:
    - pPoint
    - ts
    - pPkVal
    - pFillSup
    - isLeft
    - fillType
    argTypes:
    - SSlicePoint*
    - TSKEY
    - void*
    - SStreamFillSupporter*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 1336
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1336
    functionName: needAdjustValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - HAS_NON_ROW_DATA
    - IS_INVALID_WIN_KEY
    - qError
    - comparePkVal
    linkageType: ''
    returnType: bool
    signature: 'static bool needAdjustValue(SSlicePoint* pPoint, TSKEY ts, void* pPkVal,
      SStreamFillSupporter* pFillSup, bool isLeft, int32_t fillType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doBuildTimeSliceDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1730,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1733,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1733,1
    - Dst: doBuildTimeSlicePointResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1738,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1733,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1741,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1741,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1741,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1750,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1750,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1753
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1753
    functionName: buildTimeSliceResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - printDataBlock
    - doBuildTimeSlicePointResult
    - qError
    - tstrerror
    - GET_TASKID
    - doBuildTimeSliceDeleteResult
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTimeSliceResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initTimeSliceDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2112,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2135,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2135,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 7
    argNames:
    - downstream
    - pAggSup
    - type
    - tsColIndex
    - pTwSup
    - pBasic
    - pFillSup
    argTypes:
    - SOperatorInfo*
    - SStreamAggSupporter*
    - uint16_t
    - int32_t
    - STimeWindowAggSupp*
    - struct SSteamOpBasicInfo*
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2138
    functionName: initTimeSliceDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasSrcPrimaryKeyCol
    - qError
    - tstrerror
    - initTimeSliceDownStream
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTimeSliceDownStream(SOperatorInfo* downstream, SStreamAggSupporter*
      pAggSup, uint16_t type, int32_t tsColIndex, STimeWindowAggSupp* pTwSup, struct
      SSteamOpBasicInfo* pBasic, SStreamFillSupporter* pFillSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:139,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:142,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:141,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFillSup
    argTypes:
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: resetTimeSlicePrevAndNextWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - resetFillWindow
    linkageType: ''
    returnType: void
    signature: 'void resetTimeSlicePrevAndNextWindow(SStreamFillSupporter* pFillSup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:689,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pExprSup
    - pBlock
    - rowId
    - ignoreNull
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 694
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 694
    functionName: getQualifiedRowNumAsc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - checkNullRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getQualifiedRowNumAsc(SExprSupp* pExprSup, SSDataBlock*
      pBlock, int32_t rowId, bool ignoreNull) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ppRowData
    - pBuff
    argTypes:
    - SSliceRowData**
    - void*
    constantsTouched: []
    func_position:
      end: 717
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 717
    functionName: setResultRowData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setResultRowData(SSliceRowData** ppRowData, void* pBuff) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:926,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:931,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:928,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:935,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:938,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:947,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:949,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:953,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:958,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:958,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - pAggSup
    - pFillSup
    - ts
    - groupId
    - pCurPoint
    - pNextPoint
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - TSKEY
    - int64_t
    - SSlicePoint*
    - SSlicePoint*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 961
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 961
    functionName: getPointInfoFromStateRight
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - SET_WIN_KEY_INVALID
    - qError
    - tstrerror
    - setPointBuff
    - qDebug
    - getNextTimeWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPointInfoFromStateRight(SStreamAggSupporter* pAggSup,
      SStreamFillSupporter* pFillSup, TSKEY ts, int64_t groupId, SSlicePoint* pCurPoint,
      SSlicePoint* pNextPoint, int32_t* pWinCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1028,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1032,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1028,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1031,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1029,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1035,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pFillSup
    - pFillInfo
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 1039
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1039
    functionName: copyNonFillValueInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - isInterpFunc
    - isIrowtsPseudoColumn
    - isIsfilledPseudoColumn
    - memcpy
    - getSliceResultCell
    linkageType: ''
    returnType: void
    signature: 'static void copyNonFillValueInfo(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:163,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:175,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:174,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:181,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:185,1
    - Dst: destroyStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:156,1
    - Dst: destroyStreamFillSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:155,1
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:154,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:152,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:157,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:158,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:159,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:162,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:168,1
    - Dst: clearGroupResArray
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:176,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:165,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:178,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:166,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:180,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:183,1
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:148,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 186
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 186
    functionName: destroyStreamTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - destroyStreamAggSupporter
    - clearGroupResArray
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupResultInfoInStream
    - colDataDestroy
    - destroyStreamBasicInfo
    - blockDataDestroy
    - cleanupExprSupp
    - resetTimeSlicePrevAndNextWindow
    - destroyStreamFillSupporter
    - taosMemoryFreeClear
    - destroyStreamFillInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamTimeSliceOperatorInfo(void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkNullRow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:701,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - pExprSup
    - pBlock
    - tsCols
    - rowId
    - ignoreNull
    argTypes:
    - SExprSupp*
    - SSDataBlock*
    - TSKEY*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 715
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 715
    functionName: getQualifiedRowNumDesc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - checkNullRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getQualifiedRowNumDesc(SExprSupp* pExprSup, SSDataBlock* pBlock,
      TSKEY* tsCols, int32_t rowId, bool ignoreNull) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setResultRowData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:721,1
    - Dst: setResultRowData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:726,1
    - Dst: setResultRowData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:724,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pPoint
    - pFillSup
    argTypes:
    - SSlicePoint*
    - SStreamFillSupporter*
    constantsTouched: []
    func_position:
      end: 728
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 728
    functionName: setPointBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - setResultRowData
    - POINTER_SHIFT
    linkageType: ''
    returnType: void
    signature: 'void setPointBuff(SSlicePoint* pPoint, SStreamFillSupporter* pFillSup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:978,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:980,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:983,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:987,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:990,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:997,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1000,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1002,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1010,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1013,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1019,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1005,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1012,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1009,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 7
    argNames:
    - pAggSup
    - pFillSup
    - ts
    - groupId
    - pCurPoint
    - pNextPoint
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - TSKEY
    - int64_t
    - SSlicePoint*
    - SSlicePoint*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1022
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1022
    functionName: getPointInfoFromState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - SET_WIN_KEY_INVALID
    - taosTimeAdd
    - qError
    - tstrerror
    - setPointBuff
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPointInfoFromState(SStreamAggSupporter* pAggSup,
      SStreamFillSupporter* pFillSup, TSKEY ts, int64_t groupId, SSlicePoint* pCurPoint,
      SSlicePoint* pNextPoint, int32_t* pWinCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1044,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1046,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1047,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - pEndRow
    - pEndPoins
    - pFillCol
    - numOfCol
    - pOffsetInfo
    - normalFill
    argTypes:
    - SResultRowData*
    - SArray*
    - SFillColInfo*
    - int32_t
    - int32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1052
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1052
    functionName: copyCalcRowDeltaData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - isInterpFunc
    - memcpy
    - getSliceResultCell
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void copyCalcRowDeltaData(SResultRowData* pEndRow, SArray*
      pEndPoins, SFillColInfo* pFillCol, int32_t numOfCol, int32_t* pOffsetInfo, bool
      normalFill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pKey
    - pUpdatedMap
    argTypes:
    - SWinKey*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: saveTimeSliceWinResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveTimeSliceWinResult(SWinKey* pKey, SSHashObj* pUpdatedMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pFillSup
    - pExpSup
    argTypes:
    - SStreamFillSupporter*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: initTimeSliceResultBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - getResultRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initTimeSliceResultBuf(SStreamFillSupporter* pFillSup,
      SExprSupp* pExpSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pRowVal
    - index
    - pCellOffsetInfo
    argTypes:
    - SResultCellData*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: getSliceResultCell
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    linkageType: ''
    returnType: SResultCellData*
    signature: 'SResultCellData * getSliceResultCell(SResultCellData* pRowVal, int32_t
      index, int32_t* pCellOffsetInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: isSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isSelectGroupConstValueFunc(SExprInfo* pExprInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_DEST_SLOT_ID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:514,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:515,1
    - Dst: isIsfilledPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:521,1
    - Dst: isWindowFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:525,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:541,1
    - Dst: fillIfWindowPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:532,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:555,1
    - Dst: destroySPoint
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:561,1
    - Dst: setRowCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:578,1
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:508,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:519,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:559,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:564,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:524,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:554,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:558,1
    - Dst: checkResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:510,1
    - Dst: isIrowtsPseudoColumn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:518,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:523,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:543,1
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:536,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:542,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:557,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:566,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - pBlock
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 580
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 580
    functionName: fillLinearRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isIrowtsPseudoColumn
    - colDataSetVal
    - fillIfWindowPseudoColumn
    - taosMemoryCalloc
    - isIsfilledPseudoColumn
    - setRowCell
    - checkResult
    - IS_VAR_DATA_TYPE
    - getSliceResultCell
    - destroySPoint
    - taosTimeAdd
    - colDataSetNULL
    - hasRemainCalc
    - taosGetLinearInterpolationVal
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - isInterpFunc
    - typeGetTypeModFromColInfo
    - tstrerror
    - GET_DEST_SLOT_ID
    - isWindowFunction
    linkageType: ''
    returnType: void
    signature: 'static void fillLinearRange(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, SSDataBlock* pBlock) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1055,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1069,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1056,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1056,1
    - Dst: copyNonFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1072,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1080,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1082,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1084,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1092,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - ts
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1095
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1095
    functionName: setForceWindowCloseFillRule
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - copyNonFillValueInfo
    - hasNextWindow
    - setFillKeyInfo
    - qError
    - qDebug
    - hasPrevWindow
    linkageType: ''
    returnType: void
    signature: 'static void setForceWindowCloseFillRule(SStreamFillSupporter* pFillSup,
      SStreamFillInfo* pFillInfo, TSKEY ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: saveTimeSliceWinResult
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1838,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1839,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1850,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1850,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pAggSup
    - ts
    - pUpdatedMap
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1853
    functionName: setAllResultKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - saveTimeSliceWinResult
    - tstrerror
    - QUERY_CHECK_CODE
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setAllResultKey(SStreamAggSupporter* pAggSup, TSKEY ts, SSHashObj*
      pUpdatedMap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:40,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:50,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:45,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:48,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:44,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:51,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:53,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:55,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:64,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 66
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: streamTimeSliceReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - tstrerror
    - strlen
    - QUERY_CHECK_NULL
    - qDebug
    - memcpy
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamTimeSliceReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:295,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:308,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - ppOffset
    - pRes
    argTypes:
    - int32_t**
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 311
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 311
    functionName: initOffsetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initOffsetInfo(int32_t** ppOffset, SSDataBlock* pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExprInfo
    argTypes:
    - SExprInfo*
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: isGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isGroupKeyFunc(SExprInfo* pExprInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SFillColInfo*
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: isWindowFunction
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowFunction(SFillColInfo* pCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - start
    - end
    - pInterval
    - pFillInfo
    argTypes:
    - TSKEY
    - TSKEY
    - SInterval*
    - SStreamFillInfo*
    constantsTouched: []
    func_position:
      end: 586
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 586
    functionName: setFillKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setFillKeyInfo(TSKEY start, TSKEY end, SInterval* pInterval,
      SStreamFillInfo* pFillInfo) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1132,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1147,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1182,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1182,1
    - Dst: copyCalcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1190,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1215,1
    - Dst: copyCalcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1209,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1163,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1114,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1118,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1127,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1127,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1129,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1148,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1136,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1133,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1154,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1155,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1167,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1236,1
    - Dst: copyCalcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1199,1
    - Dst: copyCalcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1220,1
    - Dst: IS_FILL_CONST_VALUE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1100,1
    - Dst: copyNonFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1101,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1111,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1150,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1154,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1168,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1175,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1177,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1184,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1205,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1161,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1236,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1103,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1103,1
    - Dst: adustEndTsKey
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1117,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1142,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1142,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1144,1
    - Dst: resetFillWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1170,1
    - Dst: copyCalcRowDeltaData
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1186,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1197,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1206,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1227,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1208,1
    - Dst: hasPrevWindow
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1161,1
    - Dst: setFillKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1216,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 143
    argCount: 3
    argNames:
    - pFillSup
    - pFillInfo
    - ts
    argTypes:
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1238
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1238
    functionName: setTimeSliceFillRule
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - copyNonFillValueInfo
    - adustPrevTsKey
    - SET_WIN_KEY_INVALID
    - copyCalcRowDeltaData
    - adustEndTsKey
    - hasNextWindow
    - QUERY_CHECK_CONDITION
    - setFillKeyInfo
    - resetFillWindow
    - qError
    - tstrerror
    - IS_FILL_CONST_VALUE
    - hasPrevWindow
    linkageType: ''
    returnType: void
    signature: 'void setTimeSliceFillRule(SStreamFillSupporter* pFillSup, SStreamFillInfo*
      pFillInfo, TSKEY ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1856,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1857,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:1858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTsArrray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1859
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1859
    functionName: removeDuplicateTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - taosArraySort
    - taosArrayRemoveDuplicate
    - getKeyComparFunc
    linkageType: ''
    returnType: void
    signature: 'static void removeDuplicateTs(SArray* pTsArrray) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2160,1
    - Dst: getDownstreamRes
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2187,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2200,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2212,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2219,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2229,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2268,1
    - Dst: initTimeSliceDownStream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2278,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2290,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2295,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2263,1
    - Dst: copyFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2245,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2282,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2273,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2152,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2156,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2173,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2192,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2200,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2204,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2283,1
    - Dst: destroyStreamTimeSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2293,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2276,1
    - Dst: initStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2240,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2147,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2145,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2165,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2172,1
    - Dst: getDeleteMarkFromOption
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2180,1
    - Dst: initTimeSliceFillSup
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2207,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2209,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2221,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2222,1
    - Dst: doStreamTimeSliceDecodeOpState
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2266,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2271,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2218,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2230,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2166,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2234,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2244,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2252,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2257,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2267,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2280,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2227,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2223,1
    - Dst: getIgoreNullRes
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2242,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2228,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c:2275,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 131
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 2299
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2299
    functionName: createStreamTimeSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamtimesliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryFree
    - taosMemoryCalloc
    - copyFillValueInfo
    - initExprSupp
    - initTimeSliceDownStream
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayInit
    - destroyStreamTimeSliceOperatorInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosGetDefaultHashFunction
    - initStreamFillInfo
    - initResultSizeInfo
    - appendDownstream
    - initTimeSliceFillSup
    - qError
    - filterInitFromNode
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - tSimpleHashInit
    - initStreamBasicInfo
    - doStreamTimeSliceDecodeOpState
    - createOperatorFpSet
    - getDownstreamRes
    - getDeleteMarkFromOption
    - getIgoreNullRes
    - getStreamOpName
    - initExecTimeWindowInfo
    - setOperatorStreamStateFn
    - tstrerror
    - strlen
    - createExprInfo
    - blockDataGetRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamTimeSliceOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:40,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:40,1
    - Dst: streamStateReleaseState
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:39,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: streamStateNonblockReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c
    functionUses: []
    functionsReached:
    - streamStateReleaseState
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamStateNonblockReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:140,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:141,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:166,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:194,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:194,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:188,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:156,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:182,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:186,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:194,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:146,1
    - Dst: setStateOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:155,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:173,1
    - Dst: updateStateWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:180,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:184,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:175,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:189,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 197
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 197
    functionName: doStreamStateNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - GET_TASKID
    - taosArrayGet
    - updateStateWindowInfo
    - saveRecWindowToDisc
    - colDataGetData
    - releaseOutputBuf
    - qError
    - tSimpleHashInit
    - doOneWindowAggImpl
    - taosArrayPush
    - QUERY_CHECK_NULL
    - tstrerror
    - setStateOutputBuf
    - saveSessionOutputBuf
    - taosGetDefaultHashFunction
    - reuseOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamStateNonblockAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamStateAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:210,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:218,1
    - Dst: setSingleOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:222,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:222,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 225
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 225
    functionName: createStateNonblockOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSingleOperatorFlag
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - GET_TASKID
    - createStreamStateAggOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStateNonblockOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamSessionNonblockAggNextImpl
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: doStreamStateNonblockAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c
    functionUses: []
    functionsReached:
    - doStreamSessionNonblockAggNextImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamStateNonblockAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:62,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:68,1
    - Dst: compareWinStateKey
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:73,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:95,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:97,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:115,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:55,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:78,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:80,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:84,1
    - Dst: getNextStateWin
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:83,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:56,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:71,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:74,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:96,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:105,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:106,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:109,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:115,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:119,1
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:53,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:68,1
    - Dst: getStateWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:70,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:89,1
    - Dst: compactStateWindow
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:77,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:90,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:91,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:94,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:100,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c:104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 121
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 121
    functionName: streamStateNonblockReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamstatenonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - saveSessionOutputBuf
    - GET_TASKID
    - compareWinStateKey
    - taosArrayPush
    - getNextStateWin
    - saveDeleteRes
    - releaseOutputBuf
    - qError
    - QUERY_CHECK_NULL
    - TMAX
    - taosMemoryFreeClear
    - compactStateWindow
    - tstrerror
    - strlen
    - qDebug
    - reuseOutputBuf
    - getStateWindowInfoByKey
    linkageType: ''
    returnType: void
    signature: 'void streamStateNonblockReloadState(SOperatorInfo* pOperator) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:343,1
    - Dst: tsortGetBlockInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:353,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:388,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:391,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:339,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:387,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:356,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:359,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:362,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:372,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:373,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:373,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:391,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:357,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:382,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:376,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:376,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 401
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 401
    functionName: doGetVtableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - VTS_ERR_RET
    - taosArrayGet
    - tsortNextTuple
    - colDataSetNULL
    - colDataSetVal
    - tsortIsNullVal
    - tsortGetColNum
    - taosHashGet
    - tsortGetValue
    - qError
    - tsortGetBlockInfo
    - blockDataEmpty
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetVtableMergedBlockData(SVirtualScanMergeOperatorInfo*
      pInfo, SSortHandle* pHandle, int32_t capacity, SSDataBlock* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:495,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:496,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:503,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:503,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:495,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:508,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:508,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:510,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:515,1
    - Dst: doGetVStableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:515,1
    - Dst: doGetVtableMergedBlockData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:517,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:520,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:521,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:520,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:517,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:521,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 526
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 526
    functionName: doVirtualTableMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - VTS_ERR_RET
    - blockDataCleanup
    - doGetVtableMergedBlockData
    - blockDataEnsureCapacity
    - copyDataBlock
    - qDebug
    - doGetVStableMergedBlockData
    - tsortGetSortedDataBlock
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doVirtualTableMerge(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:557,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:560,1
    - Dst: doVirtualTableMerge
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:560,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:562,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:568,1
    - Dst: tableListFind
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:569,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:572,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:573,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:578,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:587,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:587,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:589,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:577,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:577,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:578,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 592
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 592
    functionName: virtualTableGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - tableListGetInfo
    - doVirtualTableMerge
    - tableListFind
    - VTS_ERR_JRET
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - T_LONG_JMP
    - doSetTagColumnData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t virtualTableGetNext(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:617,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:622,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:628,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:620,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:625,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:630,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:632,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:635,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:636,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:637,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:638,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:640,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:642,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 643
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 643
    functionName: destroyVirtualTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - destroyTableScanBase
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyVirtualTableScanOperatorInfo(void* param) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:456,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:452,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:453,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:453,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:472,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:475,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:408,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:424,1
    - Dst: tsortGetColumnInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:428,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:423,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:437,1
    - Dst: tsortGetColumnInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:471,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:456,1
    - Dst: tsortIsNullVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:466,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:412,1
    - Dst: tsortGetValue
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:443,1
    - Dst: tsortGetColNum
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:465,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:475,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:475,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 4
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    argTypes:
    - SVirtualScanMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 484
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 484
    functionName: doGetVStableMergedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - VTS_ERR_RET
    - tsortGetColumnInfo
    - taosArrayGet
    - tsortNextTuple
    - colDataSetNULL
    - colDataSetVal
    - tsortIsNullVal
    - tsortGetColNum
    - tsortGetValue
    - blockDataEmpty
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetVStableMergedBlockData(SVirtualScanMergeOperatorInfo*
      pInfo, SSortHandle* pHandle, int32_t capacity, SSDataBlock* p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:533,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - rows
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: doSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - addTagPseudoColumnData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetTagColumnData(STableScanBase * pTableScanInfo,
      SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:595,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:606,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:603,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:607,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    constantsTouched: []
    func_position:
      end: 609
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 609
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - cleanupQueryTableDataCond
    - tableListDestroy
    - taosArrayDestroy
    - cleanupExprSupp
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyTableScanBase(STableScanBase* pBase, TsdReader*
      pAPI) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:646,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:655,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:659,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:656,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:655,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:660,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:666,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:666,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:672,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:675,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:675,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pNodeList
    - pSlotMap
    - tsSlotId
    argTypes:
    - SNodeList*
    - SHashObj**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 678
    functionName: extractColMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - VTS_ERR_JRET
    - qError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosHashCleanup
    - taosHashPut
    - taosGetDefaultHashFunction
    - nodesListGetNode
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractColMap(SNodeList* pNodeList, SHashObj** pSlotMap, int32_t
      *tsSlotId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:142,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:142,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:147,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:144,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:144,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:147,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:152,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:152,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:157,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:158,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pMergeKeys
    - tsSlotId
    argTypes:
    - SNodeList**
    - col_id_t
    constantsTouched: []
    func_position:
      end: 161
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 161
    functionName: makeTSMergeKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - VTS_ERR_JRET
    - nodesDestroyNode
    - nodesDestroyList
    - nodesMakeList
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t makeTSMergeKey(SNodeList** pMergeKeys, col_id_t tsSlotId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:687,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:692,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:702,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:723,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:727,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:735,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:764,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:688,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:719,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:724,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:717,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:725,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:730,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:739,1
    - Dst: destroyVirtualTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:762,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:693,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:700,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:717,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:711,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:713,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:723,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:736,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:743,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:750,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:759,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:759,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:699,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:703,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:709,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:716,1
    - Dst: extractColMap
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:731,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:738,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:746,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:750,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:753,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:766,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 7
    argNames:
    - pDownstream
    - readHandle
    - pTableListInfo
    - numOfDownstream
    - pVirtualScanPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - SReadHandle*
    - STableListInfo*
    - int32_t
    - SVirtualScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 768
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 768
    functionName: createVirtualTableMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - VTS_ERR_JRET
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosLRUCacheInit
    - destroyVirtualTableScanOperatorInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - extractColMap
    - createSortInfo
    - TSDB_CHECK_CODE
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - nodesDestroyList
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - getProperSortPageSize
    - tstrerror
    - createExprInfo
    - makeTSMergeKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createVirtualTableMergeOperatorInfo(SOperatorInfo** pDownstream,
      SReadHandle* readHandle, STableListInfo* pTableListInfo, int32_t numOfDownstream,
      SVirtualScanPhysiNode* pVirtualScanPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:165,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:174,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:173,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:176,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:178,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pVirtualScanInfo
    argTypes:
    - SVirtualTableScanInfo*
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: cleanUpVirtualScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void cleanUpVirtualScanInfo(SVirtualTableScanInfo* pVirtualScanInfo) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:833,1
    - Dst: getNumOfInMemBufPages
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:796,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:836,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:838,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:844,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:934,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:939,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:850,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:798,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:807,1
    - Dst: streamVtableMergeMoveNext
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:878,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:862,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:882,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:860,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:959,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:961,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:954,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:831,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:835,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:873,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:976,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:890,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:912,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:928,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:970,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:904,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:955,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:911,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:785,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:806,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:829,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:834,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:841,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:846,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:921,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:790,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:790,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:792,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:845,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:849,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:888,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:874,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:879,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:802,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:837,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:926,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:869,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:884,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:974,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:948,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:927,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:842,1
    - Dst: streamVtableMergeMoveNext
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:933,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:974,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:922,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:938,1
    - Dst: streamVtableMergeDestroyHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:810,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:853,1
    - Dst: streamVtableMergeAddBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:859,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:910,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:960,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:791,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:908,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:812,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:956,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:881,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:863,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:930,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:795,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:830,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:909,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:899,1
    - Dst: streamVtableMergeCurrent
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:903,1
    - Dst: streamVtableMergeHandleGetVuid
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:943,1
    - Dst: streamVtableMergeCreateHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:804,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:847,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:867,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:896,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:929,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:957,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 188
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 979
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 979
    functionName: doStreamVtableMergeNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetTableGroupId
    - colDataAssignNRows
    - colDataGetNumData
    - blockDataUpdateTsWindow
    - colInfoDataEnsureCapacity
    - getNumOfInMemBufPages
    - taosArrayPop
    - streamVtableMergeCurrent
    - taosArrayGetSize
    - GET_TASKID
    - streamVtableMergeCreateHandle
    - taosHashInit
    - streamVtableMergeDestroyHandle
    - colDataSetNULL
    - streamVtableMergeAddBlock
    - taosArrayGetLast
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - streamVtableMergeHandleGetVuid
    - taosArrayGet
    - colDataSetNNULL
    - taosHashGet
    - qError
    - doFilter
    - QUERY_CHECK_NULL
    - addTagPseudoColumnData
    - blockDataCleanup
    - blockDataAppendColInfo
    - streamVtableMergeMoveNext
    - taosHashIterate
    - QUERY_CHECK_CONDITION
    - colDataIsNull_s
    - tstrerror
    - T_LONG_JMP
    - copyDataBlock
    - qDebug
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamVtableMergeNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:302,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:304,1
    - Dst: createSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:310,1
    - Dst: createSortHandleFromParam
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: openVirtualTableScanOperatorImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - VTS_ERR_JRET
    - qError
    - tstrerror
    - createSortHandleFromParam
    - createSortHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openVirtualTableScanOperatorImpl(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:317,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:325,1
    - Dst: openVirtualTableScanOperatorImpl
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:323,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:321,1
    - Dst: VTS_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:328,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 332
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 332
    functionName: openVirtualTableScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - VTS_ERR_RET
    - OPTR_SET_OPENED
    - taosGetTimestampUs
    - openVirtualTableScanOperatorImpl
    - OPTR_IS_OPENED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openVirtualTableScanOperator(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:78,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:79,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:89,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:90,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:86,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:92,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:92,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:93,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:93,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:97,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:97,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - pBlock
    - tsSlotId
    - startTs
    - endTs
    argTypes:
    - SSDataBlock*
    - col_id_t
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: getTimeWindowOfBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataGetNumData
    - GET_TYPED_DATA
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTimeWindowOfBlock(SSDataBlock *pBlock, col_id_t tsSlotId,
      int64_t *startTs, int64_t *endTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:200,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:203,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:215,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:208,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:238,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:198,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:223,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:229,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:230,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:240,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:238,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:189,1
    - Dst: makeTSMergeKey
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:195,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:200,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:204,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:210,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:209,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:207,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:230,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:233,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:242,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:196,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:195,1
    - Dst: cleanUpVirtualScanInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:194,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:197,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:214,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:229,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 245
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 245
    functionName: createSortHandleFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - tsortAddSource
    - tsortOpen
    - taosMemoryFree
    - VTS_ERR_JRET
    - tsortSetFetchRawDataFp
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - tsortSetForceUsePQSort
    - taosArrayGetSize
    - cleanUpVirtualScanInfo
    - taosArrayInit
    - tsortCreateSortHandle
    - taosMemoryMalloc
    - taosArrayPush
    - createSortInfo
    - taosArrayGet
    - nodesDestroyList
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - makeTSMergeKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSortHandleFromParam(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:65,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:66,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:70,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:70,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: virtualScanloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - VTS_ERR_JRET
    - qError
    - blockDataCheck
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t virtualScanloadNextDataBlock(void* param, SSDataBlock** ppBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:112,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:118,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:116,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:118,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:120,1
    - Dst: getTimeWindowOfBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:122,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:123,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:132,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 134
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 134
    functionName: virtualScanloadNextDataBlockFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - VTS_ERR_JRET
    - blockDataCheck
    - qError
    - blockDataDestroy
    - getTimeWindowOfBlock
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t virtualScanloadNextDataBlockFromParam(void* param, SSDataBlock**
      ppBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:256,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:260,1
    - Dst: tsortSetForceUsePQSort
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:259,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:256,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:265,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:267,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:270,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:271,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:276,1
    - Dst: VTS_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:287,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:284,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:276,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 290
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 290
    functionName: createSortHandle
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - tsortAddSource
    - tsortCreateSortHandle
    - tsortOpen
    - taosMemoryFree
    - tsortSetFetchRawDataFp
    - VTS_ERR_JRET
    - taosMemoryCalloc
    - qError
    - tstrerror
    - TSDB_CHECK_NULL
    - tsortSetForceUsePQSort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSortHandle(SOperatorInfo* pOperator) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:985,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1016,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1017,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1075,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1051,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1059,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1076,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1090,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1094,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1149,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1118,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1038,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1047,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1060,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1088,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1090,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1105,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1106,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1136,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1153,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1155,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1162,1
    - Dst: destroyStreamScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:989,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1037,1
    - Dst: buildCreateTableBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1070,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1071,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1080,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1082,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1083,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1084,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1085,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1087,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1157,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1146,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1178,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1013,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1030,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1040,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1079,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1084,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1091,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1110,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1161,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1109,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c:1093,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 155
    argCount: 7
    argNames:
    - pDownstream
    - pHandle
    - pVirtualScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SReadHandle*
    - SVirtualScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1182
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1182
    functionName: createStreamVtableMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/virtualtablescanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - initExprSupp
    - taosArrayGetSize
    - taosArrayInit
    - tableListDestroy
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosArrayPush
    - destroyOperator
    - createDiskbasedBuf
    - taosArrayGet
    - blockDataEnsureCapacity
    - appendDownstream
    - createExpr
    - filterInitFromNode
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - TMAX
    - destroyStreamScanOperatorInfo
    - createOperatorFpSet
    - extractColMatchInfo
    - getProperSortPageSize
    - buildCreateTableBlock
    - strlen
    - createExprFromOneNode
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamVtableMergeOperatorInfo(SOperatorInfo* pDownstream,
      SReadHandle* pHandle, SVirtualScanPhysiNode* pVirtualScanNode, SNode* pTagCond,
      STableListInfo* pTableListInfo, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: streamIntervalSliceReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamIntervalSliceReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsElapsedFunc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - winKey
    - pSup
    argTypes:
    - TSKEY
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: doSetElapsedEndKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - fmIsElapsedFunc
    linkageType: ''
    returnType: void
    signature: 'void doSetElapsedEndKey(TSKEY winKey, SExprSupp* pSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPoint
    argTypes:
    - SInervalSlicePoint*
    constantsTouched: []
    func_position:
      end: 292
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 292
    functionName: setInterpoWindowFinished
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setInterpoWindowFinished(SInervalSlicePoint* pPoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: streamIntervalSliceReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamIntervalSliceReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: resetIntervalSliceFunctionKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void resetIntervalSliceFunctionKey(SqlFunctionCtx* pCtx, int32_t numOfOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPoint
    argTypes:
    - SInervalSlicePoint*
    constantsTouched: []
    func_position:
      end: 294
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 294
    functionName: isInterpoWindowFinished
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isInterpoWindowFinished(SInervalSlicePoint* pPoint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:37,1
    - Dst: clearGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:45,1
    - Dst: destroyStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:44,1
    - Dst: cleanupResultInfoInStream
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:39,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:46,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:50,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:51,1
    - Dst: destroyStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:54,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:56,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:57,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:60,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:59,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:64,1
    - Dst: destroyNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:65,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:63,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:67,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 68
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 68
    functionName: destroyStreamIntervalSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - cleanupExprSupp
    - taosArrayDestroy
    - tSimpleHashCleanup
    - cleanupBasicInfo
    - taosArrayDestroyP
    - cleanupResultInfoInStream
    - colDataDestroy
    - blockDataDestroy
    - destroyStreamAggSupporter
    - clearGroupResInfo
    - tSimpleHashSetFreeFp
    - taosMemoryFreeClear
    - destroyNonBlockAggSupptor
    - destroyStreamBasicInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamIntervalSliceOperatorInfo(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:266,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pAggSup
    - pPoint
    argTypes:
    - SStreamAggSupporter*
    - SInervalSlicePoint*
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: checkAndRecoverPointBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAndRecoverPointBuff(SStreamAggSupporter* pAggSup,
      SInervalSlicePoint* pPoint) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:84,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:97,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:97,1
    - Dst: doBuildStreamIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:107,1
    - Dst: removeOutdatedNotifyEvents
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:133,1
    - Dst: doBuildPullDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:85,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:97,1
    - Dst: addAggDeleteNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:99,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:100,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:129,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:87,1
    - Dst: doBuildDeleteResultImpl
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:94,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:114,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:110,1
    - Dst: addAggResultNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:112,1
    - Dst: buildNotifyEventBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:120,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:123,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:80,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:87,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:81,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:87,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:110,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:110,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:121,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:123,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:133,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 136
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 136
    functionName: buildIntervalSliceResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - doBuildDeleteResultImpl
    - QUERY_CHECK_CODE
    - addAggDeleteNotifyEvent
    - addAggResultNotifyEvent
    - printDataBlock
    - removeOutdatedNotifyEvents
    - doBuildStreamIntervalResult
    - isFinalOperator
    - doBuildPullDataBlock
    - qError
    - BIT_FLAG_TEST_MASK
    - IS_NORMAL_INTERVAL_OP
    - buildNotifyEventBlock
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildIntervalSliceResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAndRecoverPointBuff
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:277,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:287,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:282,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - pAggSup
    - pPoint
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    argTypes:
    - SStreamAggSupporter*
    - SInervalSlicePoint*
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: setIntervalSliceOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - checkAndRecoverPointBuff
    - QUERY_CHECK_CODE
    - qError
    - setResultRowInitCtx
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setIntervalSliceOutputBuf(SStreamAggSupporter* pAggSup, SInervalSlicePoint*
      pPoint, SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t* rowEntryInfoOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:145,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pAggSup
    - pTWin
    - groupId
    - pPoint
    argTypes:
    - SStreamAggSupporter*
    - STimeWindow*
    - int64_t
    - SInervalSlicePoint*
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: initIntervalSlicePoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    linkageType: ''
    returnType: void
    signature: 'void initIntervalSlicePoint(SStreamAggSupporter* pAggSup, STimeWindow*
      pTWin, int64_t groupId, SInervalSlicePoint* pPoint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:190,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:188,1
    - Dst: getIntervalSlicePrevStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:196,1
    - Dst: initIntervalSlicePoint
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:197,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 8
    argNames:
    - pAggSup
    - pInterval
    - needPrev
    - pTWin
    - groupId
    - pCurPoint
    - pPrevPoint
    - pWinCode
    argTypes:
    - SStreamAggSupporter*
    - SInterval*
    - bool
    - STimeWindow*
    - int64_t
    - SInervalSlicePoint*
    - SInervalSlicePoint*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 205
    functionName: getIntervalSliceCurStateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getIntervalSlicePrevStateBuf
    - qError
    - tstrerror
    - initIntervalSlicePoint
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getIntervalSliceCurStateBuf(SStreamAggSupporter* pAggSup,
      SInterval* pInterval, bool needPrev, STimeWindow* pTWin, int64_t groupId, SInervalSlicePoint*
      pCurPoint, SInervalSlicePoint* pPrevPoint, int32_t* pWinCode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:317,1
    - Dst: resetIntervalSliceFunctionKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:343,1
    - Dst: setInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:347,1
    - Dst: IS_NORMAL_INTERVAL_OP
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:360,1
    - Dst: addIntervalAggNotifyEvent
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:363,1
    - Dst: transBlockToSliceResultRow
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:379,1
    - Dst: IS_VALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:369,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:408,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:408,1
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:323,1
    - Dst: getIntervalSliceCurStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:321,1
    - Dst: isInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:331,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:341,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:357,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:365,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:393,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:408,1
    - Dst: doStreamSliceInterpolation
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:370,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:310,1
    - Dst: getIntervalSlicePrevStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:326,1
    - Dst: IS_VALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:330,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:332,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:334,1
    - Dst: saveWinResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:345,1
    - Dst: doStreamSliceInterpolation
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:338,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:358,1
    - Dst: resetIntervalSliceFunctionKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:368,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:390,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:391,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:314,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:327,1
    - Dst: doSetElapsedEndKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:346,1
    - Dst: IS_VALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:348,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:349,1
    - Dst: getQualifiedRowNumDesc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:377,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:388,1
    - Dst: setInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:396,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 92
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - pUpdatedMap
    - pDeletedMap
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 411
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 411
    functionName: doStreamIntervalSliceAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isInterpoWindowFinished
    - getIntervalSlicePrevStateBuf
    - setInterpoWindowFinished
    - getNumOfRowsInTimeWindow
    - getActiveTimeWindow
    - GET_TASKID
    - setIntervalSliceOutputBuf
    - getIntervalSliceCurStateBuf
    - BIT_FLAG_TEST_MASK
    - updateTimeWindowInfo
    - IS_VALID_WIN_KEY
    - taosArrayGet
    - releaseOutputBuf
    - qError
    - tSimpleHashPut
    - addIntervalAggNotifyEvent
    - transBlockToSliceResultRow
    - getQualifiedRowNumDesc
    - doSetElapsedEndKey
    - doStreamSliceInterpolation
    - saveWinResult
    - applyAggFunctionOnPartialTuples
    - tstrerror
    - IS_NORMAL_INTERVAL_OP
    - getStartTsKey
    - resetIntervalSliceFunctionKey
    - getNextQualifiedWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamIntervalSliceAggImpl(SOperatorInfo* pOperator,
      SSDataBlock* pBlock, SSHashObj* pUpdatedMap, SSHashObj* pDeletedMap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:159,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:163,1
    - Dst: initIntervalSlicePoint
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:164,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:165,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:168,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:169,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - pAggSup
    - pInterval
    - pCurKey
    - pPrevPoint
    argTypes:
    - SStreamAggSupporter*
    - SInterval*
    - SWinKey*
    - SInervalSlicePoint*
    constantsTouched: []
    func_position:
      end: 177
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 177
    functionName: getIntervalSlicePrevStateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - SET_WIN_KEY_INVALID
    - qError
    - tstrerror
    - taosTimeGetIntervalEnd
    - initIntervalSlicePoint
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getIntervalSlicePrevStateBuf(SStreamAggSupporter* pAggSup,
      SInterval* pInterval, SWinKey* pCurKey, SInervalSlicePoint* pPrevPoint) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:211,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:222,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:217,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:222,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:221,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:223,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:223,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:223,1
    - Dst: fmIsElapsedFunc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:229,1
    - Dst: taosGetLinearInterpolationVal
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:230,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 8
    argNames:
    - pPrevWinVal
    - winKey
    - curTs
    - pDataBlock
    - curRowIndex
    - pSup
    - type
    - pOffsetInfo
    argTypes:
    - SSliceRowData*
    - TSKEY
    - TSKEY
    - SSDataBlock*
    - int32_t
    - SExprSupp*
    - SIntervalSliceType
    - int32_t*
    constantsTouched: []
    func_position:
      end: 241
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 241
    functionName: doStreamSliceInterpolation
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - fmIsIntervalInterpoFunc
    - typeGetTypeModFromColInfo
    - colDataGetData
    - GET_TYPED_DATA
    - taosGetLinearInterpolationVal
    - fmIsElapsedFunc
    - getSliceResultCell
    linkageType: ''
    returnType: void
    signature: 'void doStreamSliceInterpolation(SSliceRowData* pPrevWinVal, TSKEY
      winKey, TSKEY curTs, SSDataBlock* pDataBlock, int32_t curRowIndex, SExprSupp*
      pSup, SIntervalSliceType type, int32_t* pOffsetInfo) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:430,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:420,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:438,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:438,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:444,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:474,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:493,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:496,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:514,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:483,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:497,1
    - Dst: removeDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:503,1
    - Dst: copyUpdateResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:511,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:518,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:526,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:541,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:515,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:536,1
    - Dst: buildIntervalSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:429,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:467,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:468,1
    - Dst: doStreamIntervalSliceAggImpl
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:498,1
    - Dst: copyIntervalDeleteKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:507,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:508,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:512,1
    - Dst: buildIntervalSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:525,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:531,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:541,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:420,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:438,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:499,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:519,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:520,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:531,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:531,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:516,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 98
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 544
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 544
    functionName: doStreamIntervalSliceNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - setInputDataBlock
    - GET_TASKID
    - taosArrayInit
    - printDataBlock
    - taosGetDefaultHashFunction
    - doStreamIntervalSliceAggImpl
    - blockDataEnsureCapacity
    - buildIntervalSliceResult
    - initMultiResInfoFromArrayList
    - qError
    - copyUpdateResult
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - removeDeleteResults
    - getStreamOpName
    - tstrerror
    - copyDataBlock
    - taosTimeGetIntervalEnd
    - setStreamOperatorCompleted
    - qDebug
    - copyIntervalDeleteKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamIntervalSliceNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:665,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:663,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:680,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:684,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:686,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:692,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:696,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:725,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:727,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:760,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:760,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:786,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:802,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:687,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:659,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:676,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:699,1
    - Dst: getDeleteMark
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:718,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:728,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:734,1
    - Dst: initOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:736,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:741,1
    - Dst: setRecalculateOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:765,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:788,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:789,1
    - Dst: destroyStreamIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:800,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:779,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:737,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:662,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:666,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:668,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:669,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:670,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:672,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:673,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:677,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:741,1
    - Dst: getDownstreamRes
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:733,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:709,1
    - Dst: setFillHistoryOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:797,1
    - Dst: initIntervalSliceDownStream
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:783,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:797,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:777,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:682,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:697,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:717,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:724,1
    - Dst: initStreamAggSupporter
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:745,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:746,1
    - Dst: windowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:752,1
    - Dst: initNonBlockAggSupptor
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:753,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:755,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:755,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:774,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:768,1
    - Dst: setSingleOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:769,1
    - Dst: initStreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:757,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:683,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 122
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 806
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 806
    functionName: createStreamIntervalSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - setFillHistoryOperatorFlag
    - initOffsetInfo
    - taosMemoryCalloc
    - getDeleteMark
    - initIntervalSliceDownStream
    - calcIntervalAutoOffset
    - initExprSupp
    - taosArrayGetSize
    - GET_TASKID
    - taosArrayInit
    - initNonBlockAggSupptor
    - nodeType
    - initBasicInfo
    - windowinterpNeeded
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosGetDefaultHashFunction
    - setRecalculateOperatorFlag
    - initResultSizeInfo
    - appendDownstream
    - qError
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - initStreamAggSupporter
    - initStreamBasicInfo
    - createOperatorFpSet
    - getDownstreamRes
    - initExecTimeWindowInfo
    - setSingleOperatorFlag
    - destroyStreamIntervalSliceOperatorInfo
    - setOperatorStreamStateFn
    - tstrerror
    - qDebug
    - createExprInfo
    - blockDataGetRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamIntervalSliceOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initIntervalSliceDownStream
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:559,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:572,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:589,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:589,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 9
    argNames:
    - downstream
    - pAggSup
    - type
    - tsColIndex
    - pTwSup
    - pBasic
    - pInterval
    - hasInterpoFunc
    - recalculateInterval
    argTypes:
    - SOperatorInfo*
    - SStreamAggSupporter*
    - uint16_t
    - int32_t
    - STimeWindowAggSupp*
    - struct SSteamOpBasicInfo*
    - SInterval*
    - bool
    - int64_t
    constantsTouched: []
    func_position:
      end: 592
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 592
    functionName: initIntervalSliceDownStream
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasSrcPrimaryKeyCol
    - initIntervalSliceDownStream
    - qError
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initIntervalSliceDownStream(SOperatorInfo* downstream, SStreamAggSupporter*
      pAggSup, uint16_t type, int32_t tsColIndex, STimeWindowAggSupp* pTwSup, struct
      SSteamOpBasicInfo* pBasic, SInterval* pInterval, bool hasInterpoFunc, int64_t
      recalculateInterval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:610,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:619,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:616,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:620,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:617,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:622,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:623,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - pNbSup
    - pInterval
    - downstream
    argTypes:
    - SNonBlockAggSupporter*
    - SInterval*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 642
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 642
    functionName: initNonBlockAggSupptor
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - tSimpleHashInit
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - ceil
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initNonBlockAggSupptor(SNonBlockAggSupporter* pNbSup, SInterval*
      pInterval, SOperatorInfo* downstream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - numOfCols
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: windowinterpNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - fmIsIntervalInterpoFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool windowinterpNeeded(SqlFunctionCtx* pCtx, int32_t numOfCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:645,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:647,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:649,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pNbSup
    argTypes:
    - SNonBlockAggSupporter*
    constantsTouched: []
    func_position:
      end: 653
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 653
    functionName: destroyNonBlockAggSupptor
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalsliceoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosArrayDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyNonBlockAggSupptor(SNonBlockAggSupporter* pNbSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copyRecDataToBuff
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - pWinKey
    - uid
    - mode
    - pTsDataState
    - pAggSup
    argTypes:
    - SSessionKey*
    - uint64_t
    - EStreamType
    - STableTsDataState*
    - SStreamAggSupporter*
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: saveRecWindowToDisc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - copyRecDataToBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveRecWindowToDisc(SSessionKey* pWinKey, uint64_t uid, EStreamType
      mode, STableTsDataState* pTsDataState, SStreamAggSupporter* pAggSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:447,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:450,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:451,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:448,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:452,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:454,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:455,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:456,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:462,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - ppWinUpdated
    - pUpdated
    - compar
    argTypes:
    - SSHashObj**
    - SArray*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 465
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 465
    functionName: copyNewResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - tSimpleHashClear
    - qError
    - tstrerror
    - tSimpleHashIterate
    - taosArraySort
    - taosArrayPush
    - QUERY_CHECK_NULL
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyNewResult(SSHashObj** ppWinUpdated, SArray* pUpdated,
      __compar_fn_t compar) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - downstream
    - pBasic
    argTypes:
    - SOperatorInfo*
    - struct SSteamOpBasicInfo*
    constantsTouched: []
    func_position:
      end: 947
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 947
    functionName: adjustDownstreamBasicInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - adjustDownstreamBasicInfo
    linkageType: ''
    returnType: void
    signature: 'void adjustDownstreamBasicInfo(SOperatorInfo* downstream, struct SSteamOpBasicInfo*
      pBasic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:134,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:141,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:142,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:136,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:143,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - startIndex
    - pUpdated
    - uid
    - pTsDataState
    - pAggSup
    - pInterval
    argTypes:
    - int32_t
    - SArray*
    - uint64_t
    - STableTsDataState*
    - SStreamAggSupporter*
    - SInterval*
    constantsTouched: []
    func_position:
      end: 152
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 152
    functionName: checkAndSaveWinStateToDisc
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - saveRecWindowToDisc
    - qError
    - tstrerror
    - taosTimeGetIntervalEnd
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAndSaveWinStateToDisc(int32_t startIndex, SArray*
      pUpdated, uint64_t uid, STableTsDataState* pTsDataState, SStreamAggSupporter*
      pAggSup, SInterval* pInterval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:473,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:479,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:474,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:482,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:483,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:484,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:486,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:493,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:493,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - pHashMap
    - pTwSup
    - pInterval
    - pUpdated
    - pTaskInfo
    argTypes:
    - SSHashObj*
    - STimeWindowAggSupp*
    - SInterval*
    - SArray*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 496
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 496
    functionName: closeNonblockIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - taosTimeAdd
    - qTrace
    - qError
    - tstrerror
    - tSimpleHashIterate
    - taosArrayPush
    - QUERY_CHECK_NULL
    - tSimpleHashIterateRemove
    - GET_TASKID
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t closeNonblockIntervalWindow(SSHashObj* pHashMap, STimeWindowAggSupp*
      pTwSup, SInterval* pInterval, SArray* pUpdated, SExecTaskInfo* pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:953,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:960,1
    - Dst: setSemiOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:959,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:954,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:964,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:964,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:964,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 967
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 967
    functionName: createSemiIntervalSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSemiOperatorFlag
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - createStreamIntervalSliceOperatorInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSemiIntervalSliceOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    functionName: releaseFlusedPos
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void releaseFlusedPos(void* pRes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getIntervalSliceCurStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:177,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:189,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:191,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:224,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:233,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:250,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:253,1
    - Dst: setInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:257,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:270,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:167,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:174,1
    - Dst: IS_VALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:187,1
    - Dst: isInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:188,1
    - Dst: setInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:206,1
    - Dst: checkAndSaveWinStateToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:226,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:227,1
    - Dst: resetIntervalSliceFunctionKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:236,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:184,1
    - Dst: resetIntervalSliceFunctionKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:193,1
    - Dst: doStreamSliceInterpolation
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:195,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:200,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:197,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:218,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:225,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:241,1
    - Dst: getQualifiedRowNumDesc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:270,1
    - Dst: IS_VALID_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:237,1
    - Dst: doStreamSliceInterpolation
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:238,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:179,1
    - Dst: getIntervalSlicePrevStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:183,1
    - Dst: doSetElapsedEndKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:194,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:198,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:212,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:234,1
    - Dst: transBlockToSliceResultRow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:247,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:259,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:261,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:270,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 273
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 273
    functionName: doStreamIntervalNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isInterpoWindowFinished
    - getIntervalSlicePrevStateBuf
    - setInterpoWindowFinished
    - isRecalculateOperator
    - getNumOfRowsInTimeWindow
    - saveRecWindowToDisc
    - getActiveTimeWindow
    - taosArrayGetSize
    - GET_TASKID
    - taosTimeAdd
    - setIntervalSliceOutputBuf
    - getIntervalSliceCurStateBuf
    - taosArrayPush
    - updateTimeWindowInfo
    - IS_VALID_WIN_KEY
    - checkAndSaveWinStateToDisc
    - taosArrayGet
    - releaseOutputBuf
    - qError
    - QUERY_CHECK_NULL
    - transBlockToSliceResultRow
    - getQualifiedRowNumDesc
    - doSetElapsedEndKey
    - doStreamSliceInterpolation
    - applyAggFunctionOnPartialTuples
    - tstrerror
    - getStartTsKey
    - resetIntervalSliceFunctionKey
    - getNextQualifiedWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamIntervalNonblockAggImpl(SOperatorInfo* pOperator,
      SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getHistoryRemainResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:312,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:314,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:313,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:315,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:319,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:321,1
    - Dst: doBuildStreamIntervalResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:323,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:328,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 331
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 331
    functionName: buildIntervalHistoryResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doBuildStreamIntervalResult
    - initMultiResInfoFromArrayList
    - qError
    - tstrerror
    - getHistoryRemainResultInfo
    - taosArraySort
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayRemoveDuplicate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildIntervalHistoryResult(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:582,1
    - Dst: IS_INVALID_RANGE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:587,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:593,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:594,1
    - Dst: addDataPullWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:597,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:598,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:605,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:605,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:599,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pTaskInfo
    - pAggSup
    - pTsDataState
    - pNbSup
    argTypes:
    - SExecTaskInfo*
    - SStreamAggSupporter*
    - STableTsDataState*
    - SNonBlockAggSupporter*
    constantsTouched: []
    func_position:
      end: 609
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 609
    functionName: buildRetriveRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - addDataPullWindowInfo
    - qError
    - tstrerror
    - IS_INVALID_RANGE
    - tSimpleHashIterate
    - taosArrayPush
    - QUERY_CHECK_NULL
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildRetriveRequest(SExecTaskInfo* pTaskInfo, SStreamAggSupporter*
      pAggSup, STableTsDataState* pTsDataState, SNonBlockAggSupporter* pNbSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pNbSup
    - isRecOp
    - pNumRes
    - pTsRes
    argTypes:
    - SNonBlockAggSupporter*
    - bool
    - int32_t*
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    functionName: getStateKeepInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void getStateKeepInfo(SNonBlockAggSupporter* pNbSup, bool isRecOp,
      int32_t* pNumRes, TSKEY* pTsRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:284,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:294,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:299,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pAggSup
    - numOfState
    - pUpdated
    - capacity
    argTypes:
    - SStreamAggSupporter*
    - int32_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 302
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 302
    functionName: getHistoryRemainResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHistoryRemainResultInfo(SStreamAggSupporter* pAggSup, int32_t
      numOfState, SArray* pUpdated, int32_t capacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:334,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:341,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:335,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:340,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:339,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:344,1
    - Dst: binarySearchCom
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:346,1
    - Dst: compareWinKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:347,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:349,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pUpdatedWins
    - pDelWins
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: removeDataDeleteResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - compareWinKey
    - binarySearchCom
    - taosArrayRemove
    - taosArraySort
    - taosArrayGetSize
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: void
    signature: 'static void removeDataDeleteResults(SArray* pUpdatedWins, SArray*
      pDelWins) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:631,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:647,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:650,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:644,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:622,1
    - Dst: getChildIndex
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:624,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:646,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:640,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:634,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:638,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:641,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:616,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:633,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:651,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:644,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:649,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:658,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:658,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 3
    argNames:
    - pBlock
    - pPullMap
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - SSHashObj*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 661
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 661
    functionName: processDataPullOver
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - getChildIndex
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayRemove
    - tSimpleHashGet
    - qInfo
    - taosArrayGetSize
    - qError
    - tstrerror
    - qDebug
    - tSimpleHashRemove
    - GET_TASKID
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t processDataPullOver(SSDataBlock* pBlock, SSHashObj* pPullMap,
      SExecTaskInfo* pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamIntervalSliceOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1075,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1076,1
    - Dst: setFinalOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1084,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1089,1
    - Dst: adjustDownstreamBasicInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1085,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1089,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1089,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1092
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1092
    functionName: createFinalIntervalSliceOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - adjustDownstreamBasicInfo
    - createStreamIntervalSliceOperatorInfo
    - setFinalOperatorFlag
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createFinalIntervalSliceOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:81,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:88,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:88,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: streamIntervalNonblockReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - strlen
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamIntervalNonblockReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:358,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:364,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:362,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:360,1
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:371,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:372,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:378,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:379,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:380,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:385,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:385,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 22
    argCount: 4
    argNames:
    - pTaskInfo
    - pInterval
    - pBlock
    - pUpWins
    argTypes:
    - SExecTaskInfo*
    - SInterval*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 388
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 388
    functionName: doTransformRecalculateWindows
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - inCalSlidingWindow
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - getNextTimeWindow
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTransformRecalculateWindows(SExecTaskInfo* pTaskInfo,
      SInterval* pInterval, SSDataBlock* pBlock, SArray* pUpWins) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:521,1
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:524,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:537,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:537,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:508,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:512,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:532,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:537,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:533,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:549,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:554,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:541,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:533,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:510,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:514,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:525,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:539,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:547,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:554,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:554,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 557
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 557
    functionName: doProcessRecalculateReq
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isCloseWindow
    - taosArrayGet
    - inCalSlidingWindow
    - saveRecWindowToDisc
    - isFinalOperator
    - isSingleOperator
    - qError
    - tstrerror
    - getActiveTimeWindow
    - qDebug
    - getNextTimeWindow
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doProcessRecalculateReq(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:711,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:722,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:829,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:843,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:849,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:858,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:685,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:738,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:827,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:772,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:799,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:858,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:799,1
    - Dst: buildIntervalSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:679,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:732,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:744,1
    - Dst: doTransformRecalculateWindows
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:752,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:708,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:722,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:744,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:786,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:810,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:809,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:842,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:858,1
    - Dst: closeNonblockIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:824,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:697,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:754,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:813,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:835,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:841,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:809,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:827,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:776,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:761,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:753,1
    - Dst: buildOtherResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:690,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:697,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:845,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:811,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:744,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:750,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:803,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:795,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:819,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:697,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:706,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:709,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:826,1
    - Dst: removeDataDeleteResults
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:838,1
    - Dst: buildIntervalSliceResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:848,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:672,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:680,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:723,1
    - Dst: doProcessRecalculateReq
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:765,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:787,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:685,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:706,1
    - Dst: buildRetriveRequest
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:710,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:809,1
    - Dst: checkAndSaveWinStateToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:828,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:837,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:751,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:823,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:707,1
    - Dst: saveRecalculateData
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:766,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:799,1
    - Dst: processDataPullOver
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:846,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:776,1
    - Dst: getHistoryRemainResultInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:818,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:696,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:731,1
    - Dst: buildOtherResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:854,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 189
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 862
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 862
    functionName: doStreamIntervalNonblockAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - copyNewResult
    - isRecalculateOperator
    - setInputDataBlock
    - isFinalOperator
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayInit
    - isHistoryOperator
    - printDataBlock
    - doTransformRecalculateWindows
    - setStreamOperatorState
    - taosArraySort
    - checkAndSaveWinStateToDisc
    - doProcessRecalculateReq
    - buildIntervalSliceResult
    - blockDataEnsureCapacity
    - qInfo
    - isSingleOperator
    - initMultiResInfoFromArrayList
    - printSpecDataBlock
    - getHistoryRemainResultInfo
    - QUERY_CHECK_NULL
    - qError
    - isTaskKilled
    - TMAX
    - buildRetriveRequest
    - taosArrayRemoveDuplicate
    - getStreamOpName
    - isSemiOperator
    - buildOtherResult
    - tstrerror
    - closeNonblockIntervalWindow
    - copyDataBlock
    - removeDataDeleteResults
    - qDebug
    - processDataPullOver
    - saveRecalculateData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamIntervalNonblockAggNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:973,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pInfo
    - pWin
    - groupId
    argTypes:
    - SStreamIntervalSliceOperatorInfo*
    - STimeWindow*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 976
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 976
    functionName: isDataDeletedStreamWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - isFinalOperator
    linkageType: ''
    returnType: bool
    signature: 'bool isDataDeletedStreamWindow(SStreamIntervalSliceOperatorInfo* pInfo,
      STimeWindow* pWin, uint64_t groupId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:101,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:102,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:106,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:105,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:113,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:113,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:117,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:117,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 119
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 119
    functionName: streamIntervalNonblockReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - strlen
    - qDebug
    - TMAX
    - GET_TASKID
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void streamIntervalNonblockReloadState(SOperatorInfo* pOperator) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:408,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:408,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:417,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:420,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:436,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:436,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:396,1
    - Dst: buildIntervalHistoryResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:397,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:400,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:398,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:400,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:408,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:426,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:396,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:428,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:417,1
    - Dst: getStateKeepInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:420,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:427,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:417,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:427,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:428,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 439
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 439
    functionName: buildOtherResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStreamOpName
    - isHistoryOperator
    - printDataBlock
    - tSimpleHashGetSize
    - isRecalculateOperator
    - isFinalOperator
    - qInfo
    - isSingleOperator
    - buildIntervalHistoryResult
    - qError
    - tstrerror
    - setStreamOperatorCompleted
    - getStateKeepInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildOtherResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:562,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:565,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:563,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:568,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:569,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:572,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:572,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pPullMap
    - pPullKey
    - numOfChild
    - pTaskInfo
    argTypes:
    - SSHashObj*
    - SPullWindowInfo*
    - int32_t
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 575
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 575
    functionName: addDataPullWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tSimpleHashPut
    - GET_TASKID
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDataPullWindowInfo(SSHashObj* pPullMap, SPullWindowInfo*
      pPullKey, int32_t numOfChild, SExecTaskInfo* pTaskInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getIntervalSliceCurStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:888,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:882,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:923,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:931,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:931,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:885,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:895,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:899,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:902,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:900,1
    - Dst: setInterpoWindowFinished
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:913,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:931,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:878,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:890,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:924,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:926,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:916,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:907,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:925,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 934
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 934
    functionName: doStreamSemiIntervalNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isHistoryOperator
    - taosArrayGet
    - setInterpoWindowFinished
    - tSimpleHashGetSize
    - copyNewResult
    - getNumOfRowsInTimeWindow
    - setIntervalSliceOutputBuf
    - getIntervalSliceCurStateBuf
    - applyAggFunctionOnPartialTuples
    - qError
    - tstrerror
    - getActiveTimeWindow
    - getStartTsKey
    - tSimpleHashPut
    - updateTimeWindowInfo
    - GET_TASKID
    - getNextQualifiedWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamSemiIntervalNonblockAggImpl(SOperatorInfo* pOperator,
      SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1007,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1012,1
    - Dst: getIntervalSliceCurStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1021,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1027,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1034,1
    - Dst: setIntervalSliceOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1038,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1049,1
    - Dst: closeNonblockIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1050,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1052,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1059,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1066,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:997,1
    - Dst: getFinalTimeWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1003,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1011,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1012,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1035,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1040,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1043,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1053,1
    - Dst: checkAndSaveWinStateToDisc
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1060,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1061,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:989,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1002,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1001,1
    - Dst: isHistoryOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1005,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1028,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1013,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1041,1
    - Dst: getNextQualifiedFinalWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1046,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1053,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:999,1
    - Dst: isDataDeletedStreamWindow
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1005,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1009,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1029,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1023,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1039,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1054,1
    - Dst: copyNewResult
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1056,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1059,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1066,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c:1066,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 89
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1069
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1069
    functionName: doStreamFinalntervalNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamintervalnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - copyNewResult
    - tSimpleHashGetSize
    - appendOneRowToSpecialBlockImpl
    - isDataDeletedStreamWindow
    - isRecalculateOperator
    - inSlidingWindow
    - GET_TASKID
    - isHistoryOperator
    - setIntervalSliceOutputBuf
    - tSimpleHashGet
    - getIntervalSliceCurStateBuf
    - taosArrayPush
    - updateTimeWindowInfo
    - checkAndSaveWinStateToDisc
    - taosArrayGet
    - blockDataEnsureCapacity
    - getFinalTimeWindow
    - qError
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - blockDataCleanup
    - applyAggFunctionOnPartialTuples
    - closeNonblockIntervalWindow
    - tstrerror
    - getNextQualifiedFinalWindow
    - getStartTsKey
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamFinalntervalNonblockAggImpl(SOperatorInfo*
      pOperator, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:71,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:75,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:75,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:81,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pCountSup
    argTypes:
    - SCountWindowSupp*
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: getCountWinStateInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: SCountWindowResult*
    signature: 'static SCountWindowResult * getCountWinStateInfo(SCountWindowSupp*
      pCountSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - start
    - blockRows
    - countWinRows
    - pCurrentRows
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: updateCountWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateCountWindowInfo(int32_t start, int32_t blockRows,
      int32_t countWinRows, int32_t* pCurrentRows) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:198,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:203,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:197,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:208,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:211,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:213,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:221,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:217,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:222,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - pExprSup
    - pCountSup
    - pTaskInfo
    - pFilterInfo
    - preStateIndex
    - pBlock
    argTypes:
    - SExprSupp*
    - SCountWindowSupp*
    - SExecTaskInfo*
    - SFilterInfo*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 224
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 224
    functionName: buildCountResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setCountWindowOutputBuff
    - clearWinStateBuff
    - blockDataEnsureCapacity
    - clearResultRowInitFlag
    - doFilter
    - qError
    - tstrerror
    - T_LONG_JMP
    - doUpdateNumOfRows
    - taosArrayGetSize
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: void
    signature: 'static void buildCountResult(SExprSupp* pExprSup, SCountWindowSupp*
      pCountSup, SExecTaskInfo* pTaskInfo, SFilterInfo* pFilterInfo, int32_t preStateIndex,
      SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:57,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:58,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:60,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:62,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:61,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: destroyCountWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - cleanupBasicInfo
    - colDataDestroy
    - cleanupAggSup
    - cleanupExprSupp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyCountWindowOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBuff
    argTypes:
    - SCountWindowResult*
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: clearWinStateBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clearWinStateBuff(SCountWindowResult* pBuff) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getCountWinStateInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:92,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:100,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:95,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:93,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - pExprSup
    - pCountSup
    - pResult
    - ppResBuff
    argTypes:
    - SExprSupp*
    - SCountWindowSupp*
    - SResultRow**
    - SCountWindowResult**
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: setCountWindowOutputBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - getCountWinStateInfo
    - qError
    - setResultRowInitCtx
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setCountWindowOutputBuff(SExprSupp* pExprSup, SCountWindowSupp*
      pCountSup, SResultRow** pResult, SCountWindowResult** ppResBuff) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:119,1
    - Dst: setCountWindowOutputBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:137,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:139,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:178,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:118,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:179,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:151,1
    - Dst: doUpdateNumOfRows
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:166,1
    - Dst: updateCountWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:143,1
    - Dst: copyResultrowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:167,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:150,1
    - Dst: clearWinStateBuff
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:171,1
    - Dst: clearResultRowInitFlag
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:124,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:121,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:124,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:132,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:153,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:183,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 187
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 187
    functionName: doCountWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setCountWindowOutputBuff
    - taosArrayGet
    - updateTimeWindowInfo
    - clearWinStateBuff
    - blockDataEnsureCapacity
    - clearResultRowInitFlag
    - qError
    - tstrerror
    - T_LONG_JMP
    - applyAggFunctionOnPartialTuples
    - QUERY_CHECK_NULL
    - doFilter
    - doUpdateNumOfRows
    - updateCountWindowInfo
    - taosArrayGetSize
    - copyResultrowToDataBlock
    linkageType: ''
    returnType: void
    signature: 'void doCountWindowAggImpl(SOperatorInfo* pOperator, SSDataBlock* pBlock) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:235,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:240,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:252,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:251,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:255,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:259,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:261,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:269,1
    - Dst: doCountWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:290,1
    - Dst: buildCountResult
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:286,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:292,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:290,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 296
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 296
    functionName: countWindowAggregateNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - projectApplyFunctions
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - qError
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    - doCountWindowAggImpl
    - buildCountResult
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t countWindowAggregateNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:330,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:332,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:357,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:336,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:366,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:390,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:305,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:322,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:343,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:340,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:339,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:372,1
    - Dst: destroyCountWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:387,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:300,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:338,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:345,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:370,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:321,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:367,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:369,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/countwindowoperator.c:377,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - downstream
    - physiNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 393
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 393
    functionName: createCountwindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/countwindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayInit_s
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - destroyCountWindowOperatorInfo
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createCountwindowOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      physiNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:642,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:646,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - pOperator
    - pVgCtx
    - downstreamId
    - vgId
    - pTbList
    argTypes:
    - SOperatorInfo*
    - SGcVgroupCtx*
    - int32_t
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 647
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 647
    functionName: initGcVgroupCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosGetPId
    - strlen
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void initGcVgroupCtx(SOperatorInfo* pOperator,
      SGcVgroupCtx* pVgCtx, int32_t downstreamId, int32_t vgId, SArray* pTbList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1097,1
    - Dst: retrieveBlkFromBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1103,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1098,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1108,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1109,1
    - Dst: retrieveBlkFromBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1110,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1114,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1121,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1123,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1128,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 5
    argNames:
    - pOperator
    - sessionId
    - pSession
    - ppRes
    - got
    argTypes:
    - struct SOperatorInfo*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    - bool*
    constantsTouched: []
    func_position:
      end: 1134
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1134
    functionName: getBlkFromSessionCacheImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - retrieveBlkFromBufCache
    - taosArrayGet
    - taosRUnLockLatch
    - taosRLockLatch
    - qDebug
    - atomic_load_8
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBlkFromSessionCacheImpl(struct SOperatorInfo* pOperator,
      int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock** ppRes, bool* got) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSession
    - pGcParam
    - pGroup
    argTypes:
    - SGcSessionCtx*
    - SGcOperatorParam*
    - SGroupCacheData*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1273
    functionName: initGroupCacheSessionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void initGroupCacheSessionCtx(SGcSessionCtx* pSession,
      SGcOperatorParam* pGcParam, SGroupCacheData* pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1371,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1374,1
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1377,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1372,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1381,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1382,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1386,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1392,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1393,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1394,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1397
    functionName: freeRemoveGroupCacheData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayDestroy
    - taosThreadMutexDestroy
    - qTrace
    - taosHashGet
    - removeGroupCacheFile
    - atomic_sub_fetch_32
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'static void freeRemoveGroupCacheData(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:32,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:33,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:36,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pFileInfo
    argTypes:
    - SGroupCacheFileInfo*
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: removeGroupCacheFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosThreadMutexDestroy
    - taosCloseFile
    - qError
    linkageType: ''
    returnType: void
    signature: 'static void removeGroupCacheFile(SGroupCacheFileInfo* pFileInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:652,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:661,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:662,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:656,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:657,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:662,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:664,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:666,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:667,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:673,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:674,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pOperator
    - pHash
    - pNew
    argTypes:
    - SOperatorInfo*
    - SSHashObj*
    - SGcNewGroupInfo*
    constantsTouched: []
    func_position:
      end: 678
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 678
    functionName: addNewGroupToVgHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - initGcVgroupCtx
    - tSimpleHashGet
    - qError
    - taosArrayPush
    - QRY_ERR_RET
    - tSimpleHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNewGroupToVgHash(SOperatorInfo* pOperator, SSHashObj*
      pHash, SGcNewGroupInfo* pNew) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1154,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1170,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1182,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1191,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1148,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1159,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1170,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1168,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1179,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1171,1
    - Dst: getBlkFromSessionCacheImpl
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1186,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1163,1
    - Dst: getCacheBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1176,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1140,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1159,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1181,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - pOperator
    - pCtx
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - SGcDownstreamCtx*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1196
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1196
    functionName: groupCacheSessionWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - getCacheBlkFromDownstreamOperator
    - tsem_init
    - qError
    - tsem_wait
    - tstrerror
    - taosHashRemove
    - taosArrayPush
    - getBlkFromSessionCacheImpl
    - taosHashPut
    - QRY_ERR_JRET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupCacheSessionWait(struct SOperatorInfo* pOperator,
      SGcDownstreamCtx* pCtx, int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1283,1
    - Dst: addNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1285,1
    - Dst: initGroupCacheSessionCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1295,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1302,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1297,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1304,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1305,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1308,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - ppSession
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SGcSessionCtx**
    constantsTouched: []
    func_position:
      end: 1312
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1312
    functionName: initGroupCacheSession
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - qError
    - initGroupCacheSessionCtx
    - QRY_ERR_RET
    - qDebug
    - taosHashPut
    - addNewGroupData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupCacheSession(struct SOperatorInfo* pOperator,
      SOperatorParam* pParam, SGcSessionCtx** ppSession) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1439,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1445,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1450,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1403,1
    - Dst: initGcVgroupCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1423,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1414,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1424,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1427,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1439,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1456,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1455,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1458,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1414,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1418,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1424,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1432,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1443,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1432,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1436,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1450,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1462
    functionName: initGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - snprintf
    - initGcVgroupCtx
    - taosMemoryCalloc
    - taosGetPId
    - tSimpleHashInit
    - strlen
    - QRY_ERR_RET
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupCacheDownstreamCtx(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1254,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1258,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1254,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1259,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SGroupCacheOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1266
    functionName: initGroupCacheBlockCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupCacheBlockCache(SGroupCacheOperatorInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:43,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:45,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:67,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:55,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pCols
    - grpColsMayBeNull
    - pList
    argTypes:
    - SGroupColsInfo*
    - bool
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: initGroupColsInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - LIST_LENGTH
    - FOREACH
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupColsInfo(SGroupColsInfo* pCols, bool grpColsMayBeNull,
      SNodeList* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:179,1
    - Dst: freeGcBlockInList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:184,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:187,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:182,1
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pBlkCache
    argTypes:
    - SGcBlkCacheInfo*
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: destroySGcBlkCacheInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - freeGcBlockInList
    - blockDataDeepCleanup
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroySGcBlkCacheInfo(SGcBlkCacheInfo* pBlkCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:432,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:443,1
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:438,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:442,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:447,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pFileCtx
    - downstreamIdx
    - vgId
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 450
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 450
    functionName: chkRemoveVgroupCurrFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - snprintf
    - qTrace
    - taosHashGet
    - removeGroupCacheFile
    - taosRemoveFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void chkRemoveVgroupCurrFile(SGcFileCacheCtx*
      pFileCtx, int32_t downstreamIdx, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDeepCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:548,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:549,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:553,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SGcDownstreamCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 556
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 556
    functionName: releaseBaseBlockToList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosWUnLockLatch
    - taosWLockLatch
    - blockDataDeepCleanup
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t releaseBaseBlockToList(SGcDownstreamCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: acquireFdFromFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:572,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:581,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:587,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:593,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:577,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:595,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:600,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:605,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 4
    argNames:
    - pGCache
    - pGrp
    - pBasic
    - ppBuf
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGroupCacheData*
    - SGcBlkBufBasic*
    - void**
    constantsTouched: []
    func_position:
      end: 607
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 607
    functionName: readBlockFromDisk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - taosMemoryMalloc
    - releaseFdToFileCtx
    - taosReadFile
    - qTrace
    - qError
    - acquireFdFromFileCtx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readBlockFromDisk(SGroupCacheOperatorInfo* pGCache,
      SGroupCacheData* pGrp, SGcBlkBufBasic* pBasic, void** ppBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1020,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1029,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1021,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1031,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1032,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1032,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1034,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1038,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - pOperator
    - pSession
    argTypes:
    - struct SOperatorInfo*
    - SGcSessionCtx*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1041
    functionName: handleDownstreamFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - handleGroupFetchDone
    - taosArrayGet
    - taosHashClear
    - taosHashIterate
    - tSimpleHashIterate
    - QRY_ERR_RET
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleDownstreamFetchDone(struct SOperatorInfo* pOperator,
      SGcSessionCtx* pSession) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1319,1
    - Dst: initGroupCacheSession
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1321,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1326,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1332,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1330,1
    - Dst: releaseBaseBlockToList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1332,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1335,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1336,1
    - Dst: getBlkFromSessionCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1341,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1346,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1344,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1346,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1351,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1347,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 3
    argNames:
    - pOperator
    - ppRes
    - pParam
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock**
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1355
    functionName: getBlkFromGroupCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - initGroupCacheSession
    - getBlkFromSessionCache
    - taosHashGet
    - taosHashRemove
    - qError
    - tstrerror
    - qDebug
    - QRY_ERR_RET
    - releaseBaseBlockToList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBlkFromGroupCache(struct SOperatorInfo* pOperator,
      SSDataBlock** ppRes, SOperatorParam* pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1472,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1482,1
    - Dst: getBlkFromGroupCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1475,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1478,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pOperator
    - pParam
    - pRes
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1487
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1487
    functionName: groupCacheGetNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - getBlkFromGroupCache
    - taosGetTimestampUs
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupCacheGetNext(struct SOperatorInfo* pOperator,
      SOperatorParam* pParam, SSDataBlock** pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:82,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:86,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:88,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pGrpCacheOperator
    argTypes:
    - SGroupCacheOperatorInfo*
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: logGroupCacheExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - qDebug
    - taosMemoryFree
    - taosMemoryMalloc
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void logGroupCacheExecInfo(SGroupCacheOperatorInfo* pGrpCacheOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logGroupCacheExecInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:193,1
    - Dst: destroySGcBlkCacheInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:199,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:195,1
    - Dst: destroyGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:196,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:202,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 205
    functionName: destroyGroupCacheOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - logGroupCacheExecInfo
    - destroySGcBlkCacheInfo
    - destroyGroupCacheDownstreamCtx
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyGroupCacheOperator(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: chkRemoveVgroupCurrFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:458,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pFileCtx
    - downstreamIdx
    - vgId
    - removeCheck
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: groupCacheSwitchNewFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - chkRemoveVgroupCurrFile
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void groupCacheSwitchNewFile(SGcFileCacheCtx*
      pFileCtx, int32_t downstreamIdx, int32_t vgId, bool removeCheck) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: acquireBaseBlockFromList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:560,1
    - Dst: blockDataFromBuf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:565,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 4
    argNames:
    - pGCache
    - downstreamIdx
    - pBuf
    - ppRes
    argTypes:
    - SGroupCacheOperatorInfo*
    - int32_t
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 566
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 566
    functionName: buildGroupCacheResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - acquireBaseBlockFromList
    - blockDataFromBuf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildGroupCacheResultBlock(SGroupCacheOperatorInfo*
      pGCache, int32_t downstreamIdx, void* pBuf, SSDataBlock** ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:614,1
    - Dst: buildGroupCacheResultBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:627,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:625,1
    - Dst: readBlockFromDisk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:616,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:634,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - pGCache
    - pGrp
    - sessionId
    - pBasic
    - ppRes
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGroupCacheData*
    - int64_t
    - SGcBlkBufBasic*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 637
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 637
    functionName: retrieveBlkFromBufCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - buildGroupCacheResultBlock
    - taosHashAcquire
    - readBlockFromDisk
    - taosHashRelease
    - QRY_ERR_RET
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t retrieveBlkFromBufCache(SGroupCacheOperatorInfo* pGCache,
      SGroupCacheData* pGrp, int64_t sessionId, SGcBlkBufBasic* pBasic, SSDataBlock**
      ppRes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1049,1
    - Dst: getBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1049,1
    - Dst: handleDownstreamFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1052,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1055,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1052,1
    - Dst: handleGroupCacheRetrievedBlk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1055,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1060,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1062,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1063,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1064,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1075,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1072,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1075,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1065,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1070,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1082,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1072,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1081,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 5
    argNames:
    - pOperator
    - pCtx
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - SGcDownstreamCtx*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1087
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1087
    functionName: getCacheBlkFromDownstreamOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - tsem_post
    - taosHashIterate
    - getBlkFromDownstreamOperator
    - qError
    - taosHashRemove
    - tstrerror
    - taosHashGetKey
    - handleGroupCacheRetrievedBlk
    - QRY_ERR_RET
    - taosHashCancelIterate
    - handleDownstreamFetchDone
    - atomic_val_compare_exchange_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCacheBlkFromDownstreamOperator(struct SOperatorInfo*
      pOperator, SGcDownstreamCtx* pCtx, int64_t sessionId, SGcSessionCtx* pSession,
      SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1364
    functionName: initGroupCacheExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initGroupCacheExecInfo(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1495,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1497,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 2
    argNames:
    - pOperator
    - pParam
    argTypes:
    - SOperatorInfo*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1502
    functionName: groupCacheTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosHashRemove
    - qError
    - qTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupCacheTableCacheEnd(SOperatorInfo* pOperator, SOperatorParam*
      pParam) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1507,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1519,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1511,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1527,1
    - Dst: initGroupColsInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1533,1
    - Dst: initGroupCacheBlockCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1539,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1545,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1545,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1550,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1568,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1570,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1580,1
    - Dst: initGroupCacheDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1558,1
    - Dst: initGroupCacheExecInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1563,1
    - Dst: destroyGroupCacheOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1577,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1553,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 5
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SGroupCachePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1583
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1583
    functionName: createGroupCacheOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - qTrace
    - taosMemoryCalloc
    - setOperatorInfo
    - initGroupCacheExecInfo
    - initGroupCacheDownstreamCtx
    - appendDownstream
    - qError
    - taosHashSetFreeFp
    - initGroupCacheBlockCache
    - destroyGroupCacheOperator
    - taosGetDefaultHashFunction
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - taosHashInit
    - initGroupColsInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createGroupCacheOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream, SGroupCachePhysiNode* pPhyciNode, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:868,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:873,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:879,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:868,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - pCtx
    - pGroup
    - downstreamIdx
    - vgId
    - batchFetch
    - needCache
    argTypes:
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - int32_t
    - int32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 882
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 882
    functionName: initNewGroupData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - tSimpleHashGet
    - QRY_ERR_RET
    - taosArrayInit
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t initNewGroupData(SGcDownstreamCtx* pCtx,
      SGroupCacheData* pGroup, int32_t downstreamIdx, int32_t vgId, bool batchFetch,
      bool needCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:937,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:938,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:939,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:942,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:941,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - batchFetch
    - pGroup
    - pNewBlk
    - pIdx
    argTypes:
    - bool
    - SGroupCacheData*
    - SGcBlkBufInfo*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 947
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 947
    functionName: addBlkToGroupCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosWUnLockLatch
    - QRY_ERR_RET
    - qDebug
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addBlkToGroupCache(bool batchFetch, SGroupCacheData*
      pGroup, SGcBlkBufInfo* pNewBlk, int64_t* pIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:208,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:217,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:216,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:211,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:214,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pFileFd
    - filename
    argTypes:
    - SGroupCacheFileFd*
    - char*
    constantsTouched: []
    func_position:
      end: 223
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 223
    functionName: initOpenCacheFile
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - qTrace
    - taosThreadMutexInit
    - qError
    - QRY_ERR_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t initOpenCacheFile(SGroupCacheFileFd* pFileFd,
      char* filename) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pFd
    argTypes:
    - SGroupCacheFileFd*
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: releaseFdToFileCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void releaseFdToFileCtx(SGroupCacheFileFd* pFd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: freeGcBlkBufInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void freeGcBlkBufInfo(void* ptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:686,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:687,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:693,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:696,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:695,1
    - Dst: addNewGroupToVgHash
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:700,1
    - Dst: mergeOperatorParams
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:709,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:716,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:720,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 27
    argCount: 3
    argNames:
    - pOperator
    - downstreamIdx
    - ppParam
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - SOperatorParam**
    constantsTouched: []
    func_position:
      end: 724
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 724
    functionName: appendNewGroupToDownstream
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - qError
    - taosWUnLockLatch
    - QRY_ERR_RET
    - taosArrayGetSize
    - taosWLockLatch
    - mergeOperatorParams
    - addNewGroupToVgHash
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t appendNewGroupToDownstream(struct SOperatorInfo*
      pOperator, int32_t downstreamIdx, SOperatorParam** ppParam) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:228,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:235,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:228,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:232,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:237,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:240,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:241,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:243,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:245,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:246,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:262,1
    - Dst: initOpenCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pFileCtx
    - fileId
    - ppFd
    - pDeleted
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - SGroupCacheFileFd**
    - bool*
    constantsTouched: []
    func_position:
      end: 266
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 266
    functionName: acquireFdFromFileCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - initOpenCacheFile
    - snprintf
    - taosThreadMutexLock
    - taosHashGet
    - qError
    - QRY_ERR_RET
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t acquireFdFromFileCtx(SGcFileCacheCtx* pFileCtx, int32_t
      fileId, SGroupCacheFileFd** ppFd, bool* pDeleted) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:358,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:360,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:304,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:304,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:328,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:336,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:352,1
    - Dst: acquireFdFromFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:314,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:322,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:343,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:345,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:350,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:360,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:368,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:371,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:293,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:298,1
    - Dst: releaseFdToFileCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:320,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:330,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 3
    argNames:
    - pGCache
    - pCtx
    - pHead
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGcDownstreamCtx*
    - SGcBlkBufInfo*
    constantsTouched: []
    func_position:
      end: 374
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 374
    functionName: saveBlocksToDisk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - releaseFdToFileCtx
    - qTrace
    - taosHashAcquire
    - atomic_val_compare_exchange_32
    - taosWriteFile
    - taosHashRemove
    - qError
    - tstrerror
    - acquireFdFromFileCtx
    - taosHashRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveBlocksToDisk(SGroupCacheOperatorInfo* pGCache,
      SGcDownstreamCtx* pCtx, SGcBlkBufInfo* pHead) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:384,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:388,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:391,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:390,1
    - Dst: freeGcBlkBufInfo
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:385,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:396,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:398,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:398,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:408,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:422,1
    - Dst: saveBlocksToDisk
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:425,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 4
    argNames:
    - pGCache
    - pCtx
    - pCache
    - pBufInfo
    argTypes:
    - SGroupCacheOperatorInfo*
    - SGcDownstreamCtx*
    - SGcBlkCacheInfo*
    - SGcBlkBufInfo*
    constantsTouched: []
    func_position:
      end: 429
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 429
    functionName: addBlkToDirtyBufList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - saveBlocksToDisk
    - atomic_val_compare_exchange_32
    - taosHashGet
    - qError
    - taosHashGetSize
    - taosWUnLockLatch
    - QRY_ERR_RET
    - qDebug
    - taosHashPut
    - taosWLockLatch
    - freeGcBlkBufInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addBlkToDirtyBufList(SGroupCacheOperatorInfo* pGCache,
      SGcDownstreamCtx* pCtx, SGcBlkCacheInfo* pCache, SGcBlkBufInfo* pBufInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: appendNewGroupToDownstream
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:733,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:746,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:746,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:751,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:751,1
    - Dst: buildGroupCacheBaseBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:760,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:767,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:762,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - pOperator
    - downstreamIdx
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 771
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 771
    functionName: getBlkFromDownstreamOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - buildGroupCacheBaseBlock
    - appendNewGroupToDownstream
    - blockDataCheck
    - qError
    - tstrerror
    - taosArrayPush
    - qDebug
    - QRY_ERR_RET
    - GET_TASKID
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t getBlkFromDownstreamOperator(struct SOperatorInfo*
      pOperator, int32_t downstreamIdx, SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:97,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: freeSGcSessionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tsem_destroy
    - qError
    linkageType: ''
    returnType: void
    signature: 'static void freeSGcSessionCtx(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFileCtx
    argTypes:
    - SGcFileCacheCtx*
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: freeSGcFileCacheCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void freeSGcFileCacheCtx(SGcFileCacheCtx* pFileCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:125,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: freeGcBlockInList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeGcBlockInList(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeSGcDownstreamCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pGrpCacheOperator
    argTypes:
    - SGroupCacheOperatorInfo*
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: destroyGroupCacheDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeSGcDownstreamCtx
    linkageType: ''
    returnType: void
    signature: 'static void destroyGroupCacheDownstreamCtx(SGroupCacheOperatorInfo*
      pGrpCacheOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:468,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:469,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:474,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:471,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:468,1
    - Dst: blockDataToBuf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:474,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:479,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:482,1
    - Dst: groupCacheSwitchNewFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:487,1
    - Dst: addBlkToDirtyBufList
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 5
    argNames:
    - pOperator
    - pBlock
    - pCtx
    - pGroup
    - pBufInfo
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - SGcBlkBufInfo*
    constantsTouched: []
    func_position:
      end: 493
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 493
    functionName: addBlkToBufCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_64
    - taosMemoryMalloc
    - addBlkToDirtyBufList
    - groupCacheSwitchNewFile
    - qError
    - blockDataToBuf
    - atomic_add_fetch_64
    - QRY_ERR_RET
    - taosArrayGetSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addBlkToBufCache(struct SOperatorInfo* pOperator, SSDataBlock*
      pBlock, SGcDownstreamCtx* pCtx, SGroupCacheData* pGroup, SGcBlkBufInfo* pBufInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:517,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:527,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:522,1
    - Dst: blockDataDeepClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:528,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:524,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ppDst
    - pSrc
    argTypes:
    - SSDataBlock**
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 531
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 531
    functionName: buildGroupCacheBaseBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayDup
    - blockDataDeepClear
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildGroupCacheBaseBlock(SSDataBlock** ppDst, SSDataBlock*
      pSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:778,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:783,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:782,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:780,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:786,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:786,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pWaitQueue
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 790
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 790
    functionName: notifyWaitingSessions
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - qError
    - QRY_ERR_RET
    - tsem_post
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t notifyWaitingSessions(SArray* pWaitQueue) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:807,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:811,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:814,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:807,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:816,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:820,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:820,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:821,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:823,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:824,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:830,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pFileCtx
    - fileId
    - downstreamId
    - vgId
    argTypes:
    - SGcFileCacheCtx*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 833
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 833
    functionName: addFileRefTableNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - snprintf
    - qTrace
    - taosHashGet
    - qError
    - QRY_ERR_RET
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addFileRefTableNum(SGcFileCacheCtx* pFileCtx, int32_t
      fileId, int32_t downstreamId, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: removeGroupCacheFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: freeSGroupCacheFileInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - removeGroupCacheFile
    linkageType: ''
    returnType: void
    signature: 'static void freeSGroupCacheFileInfo(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:118,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: freeSGcVgroupCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - freeSGcFileCacheCtx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeSGcVgroupCtx(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:131,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:133,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:136,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:135,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:132,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:137,1
    - Dst: freeSGcFileCacheCtx
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SGcDownstreamCtx*
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: freeSGcDownstreamCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashCleanup
    - taosArrayDestroyEx
    - freeSGcFileCacheCtx
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void freeSGcDownstreamCtx(SGcDownstreamCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:160,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:163,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:165,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 174
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 174
    functionName: blockDataDeepCleanup
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void blockDataDeepCleanup(SSDataBlock* pDataBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:496,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:498,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:500,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 514
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 514
    functionName: blockDataDeepClear
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: void
    signature: 'void blockDataDeepClear(SSDataBlock* pDataBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:534,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:535,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:539,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:536,1
    - Dst: buildGroupCacheBaseBlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:537,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - ppRes
    argTypes:
    - SGcDownstreamCtx*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: acquireBaseBlockFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - buildGroupCacheBaseBlock
    - taosWUnLockLatch
    - taosArrayPop
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t acquireBaseBlockFromList(SGcDownstreamCtx* pCtx, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:795,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:799,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:797,1
    - Dst: notifyWaitingSessions
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:798,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SGroupCacheData*
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: handleGroupFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - atomic_store_8
    - notifyWaitingSessions
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t handleGroupFetchDone(SGroupCacheData*
      pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:845,1
    - Dst: handleGroupFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:849,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:849,1
    - Dst: groupCacheSwitchNewFile
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:852,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:857,1
    - Dst: addFileRefTableNum
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pCtx
    - pGroup
    - uid
    argTypes:
    - SGcDownstreamCtx*
    - SGroupCacheData*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 864
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 864
    functionName: handleVgroupTableFetchDone
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - handleGroupFetchDone
    - taosArrayGet
    - qTrace
    - groupCacheSwitchNewFile
    - QRY_ERR_RET
    - addFileRefTableNum
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleVgroupTableFetchDone(SGcDownstreamCtx* pCtx,
      SGroupCacheData* pGroup, uint64_t uid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:892,1
    - Dst: initNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:910,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:894,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:906,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:910,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:912,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:919,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:921,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:922,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:923,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:926,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:928,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - pOperator
    - pParam
    - ppGrp
    - vgId
    - uid
    argTypes:
    - struct SOperatorInfo*
    - SOperatorParam*
    - SGroupCacheData**
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 934
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 934
    functionName: addNewGroupData
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - taosHashGet
    - initNewGroupData
    - taosArrayPush
    - taosWUnLockLatch
    - QRY_ERR_RET
    - qDebug
    - taosHashPut
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNewGroupData(struct SOperatorInfo* pOperator, SOperatorParam*
      pParam, SGroupCacheData** ppGrp, int32_t vgId, int64_t uid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:956,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:983,1
    - Dst: addNewGroupData
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:965,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:970,1
    - Dst: handleVgroupTableFetchDone
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:976,1
    - Dst: addBlkToBufCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:986,1
    - Dst: addBlkToGroupCache
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:991,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:996,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1001,1
    - Dst: notifyWaitingSessions
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1001,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - pSession
    - continueFetch
    argTypes:
    - struct SOperatorInfo*
    - SSDataBlock*
    - SGcSessionCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 1011
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 1011
    functionName: handleGroupCacheRetrievedBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - handleVgroupTableFetchDone
    - addBlkToGroupCache
    - addBlkToBufCache
    - taosHashGet
    - qError
    - qDebug
    - QRY_ERR_RET
    - notifyWaitingSessions
    - addNewGroupData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleGroupCacheRetrievedBlk(struct SOperatorInfo*
      pOperator, SSDataBlock* pBlock, SGcSessionCtx* pSession, bool* continueFetch) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getBlkFromSessionCacheImpl
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1207,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1215,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1212,1
    - Dst: getCacheBlkFromDownstreamOperator
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1219,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1213,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1223,1
    - Dst: groupCacheSessionWait
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1228,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1237,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/executor/src/groupcacheoperator.c:1245,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 4
    argNames:
    - pOperator
    - sessionId
    - pSession
    - ppRes
    argTypes:
    - struct SOperatorInfo*
    - int64_t
    - SGcSessionCtx*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1249
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1249
    functionName: getBlkFromSessionCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/groupcacheoperator.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - atomic_load_64
    - getCacheBlkFromDownstreamOperator
    - groupCacheSessionWait
    - taosThreadMutexLock
    - qError
    - getBlkFromSessionCacheImpl
    - atomic_val_compare_exchange_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBlkFromSessionCache(struct SOperatorInfo* pOperator,
      int64_t sessionId, SGcSessionCtx* pSession, SSDataBlock** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:309,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:315,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:312,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:317,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 319
    functionName: destroySortMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroySortMergeOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: destroyNonSortMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyNonSortMergeOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: getColsMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getColsMergeExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: getNonSortMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNonSortMergeExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:87,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:105,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:93,1
    - Dst: tsortSetCompareGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:94,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:113,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:119,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 120
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 120
    functionName: openSortMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - tsortAddSource
    - tsortCreateSortHandle
    - tsortOpen
    - tsortSetFetchRawDataFp
    - tsortSetCompareGroupId
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openSortMergeOperator(SOperatorInfo* pOperator) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:204,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:205,1
    - Dst: tsortGetSortedDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:209,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:214,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:204,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:220,1
    - Dst: doGetSortedBlockData
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:225,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:235,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:238,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:248,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:260,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:266,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:282,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:254,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 60
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 287
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 287
    functionName: doSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - applyLimitOffset
    - blockDataCleanup
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataAssign
    - taosArrayGetSize
    - doGetSortedBlockData
    - qDebug
    - tsortGetSortedDataBlock
    - resetLimitInfoForNextGroup
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSortMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:429,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:438,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:438,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:443,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:444,1
    - Dst: copyColumnsValue
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:449,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:455,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 464
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 464
    functionName: doColsMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - qError
    - T_LONG_JMP
    - setOperatorCompleted
    - qDebug
    - getNextBlockFromDownstream
    - GET_TASKID
    - copyColumnsValue
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doColsMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:489,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:493,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:503,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:503,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:505,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:508,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 510
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 510
    functionName: openMultiwayMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - OPTR_SET_OPENED
    - qError
    - tstrerror
    - taosGetTimestampUs
    - T_LONG_JMP
    - OPTR_IS_OPENED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openMultiwayMergeOperator(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:290,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: getSortMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tsortGetSortExecInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSortMergeExplainExecInfo(SOperatorInfo* pOptr, void** pOptrExplain,
      uint32_t* len) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:133,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:147,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:156,1
    - Dst: tsortGetGroupId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:140,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:158,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:167,1
    - Dst: appendOneRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:179,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 5
    argNames:
    - pInfo
    - pHandle
    - capacity
    - p
    - newgroup
    argTypes:
    - SMultiwayMergeOperatorInfo*
    - SSortHandle*
    - int32_t
    - SSDataBlock*
    - bool*
    constantsTouched: []
    func_position:
      end: 191
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 191
    functionName: doGetSortedBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - appendOneRowToDataBlock
    - tsortNextTuple
    - tsortGetGroupId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetSortedBlockData(SMultiwayMergeOperatorInfo* pInfo,
      SSortHandle* pHandle, int32_t capacity, SSDataBlock* p, bool* newgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: destroyColsMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyColsMergeOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:529,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:525,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:534,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:535,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:537,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:542,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:542,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 547
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 547
    functionName: doMultiwayMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCheck
    - qError
    - setOperatorCompleted
    - tstrerror
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMultiwayMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:551,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:558,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 559
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 559
    functionName: destroyMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyMultiwayMergeOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:70,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:70,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:74,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: sortMergeloadNextDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - blockDataCheck
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sortMergeloadNextDataBlock(void* param, SSDataBlock** ppBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: getMultiwayMergeExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getMultiwayMergeExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:580,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:598,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:599,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:602,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:607,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:629,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:627,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:641,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:646,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:653,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:658,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:606,1
    - Dst: createSortInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:613,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:617,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:638,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:640,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:664,1
    - Dst: destroyMultiwayMergeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:674,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:677,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:610,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:614,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:626,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:631,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:661,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:574,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:579,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:597,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:603,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:608,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:630,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:637,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:642,1
    - Dst: getOperatorResultBlockId
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:648,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 5
    argNames:
    - downStreams
    - numStreams
    - pMergePhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - size_t
    - SMergePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 679
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 679
    functionName: createMultiwayMergeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - destroyOperatorAndDownstreams
    - getOperatorResultBlockId
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - initLimitInfo
    - taosArrayGetSize
    - nodesListGetNode
    - setOperatorInfo
    - createDataBlockFromDescNode
    - createSortInfo
    - TSDB_CHECK_CODE
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - qError
    - createOperatorFpSet
    - extractColMatchInfo
    - getProperSortPageSize
    - destroyMultiwayMergeOperatorInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createMultiwayMergeOperatorInfo(SOperatorInfo** downStreams,
      size_t numStreams, SMergePhysiNode* pMergePhyNode, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: openNonSortMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openNonSortMergeOperator(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: openColsMergeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t openColsMergeOperator(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:346,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:359,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:355,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:357,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:355,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:361,1
    - Dst: NON_SORT_NEXT_SRC
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:363,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:375,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 378
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: doNonSortMerge
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - TSWAP
    - NON_SORT_NEXT_SRC
    - copyDataBlock
    - qDebug
    - getNextBlockFromDownstream
    - GET_TASKID
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doNonSortMerge(SOperatorInfo* pOperator, SSDataBlock** pResBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:396,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:408,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:400,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:401,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:410,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/mergeoperator.c:416,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 4
    argNames:
    - pNodeList
    - targetBlkId
    - pDst
    - pSrc
    argTypes:
    - SNodeList*
    - uint64_t
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 426
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 426
    functionName: copyColumnsValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergeoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosArrayGet
    - colDataSetVal
    - colDataAssign
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyColumnsValue(SNodeList* pNodeList, uint64_t targetBlkId,
      SSDataBlock* pDst, SSDataBlock* pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamEventReleaseState
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:39,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:40,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: streamEventNonblockReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c
    functionUses: []
    functionsReached:
    - qDebug
    - GET_TASKID
    - streamEventReleaseState
    linkageType: ''
    returnType: void
    signature: 'void streamEventNonblockReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:200,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:219,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:151,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:154,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:165,1
    - Dst: setEventOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:183,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:167,1
    - Dst: setEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:196,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:202,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:221,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:226,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:231,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:228,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:147,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:148,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:185,1
    - Dst: filterExecute
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:172,1
    - Dst: isWindowIncomplete
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:197,1
    - Dst: saveRecWindowToDisc
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:207,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:229,1
    - Dst: releaseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:222,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:231,1
    - Dst: filterSetDataFromSlotId
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:162,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:164,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:173,1
    - Dst: updateEventWindowInfo
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:214,1
    - Dst: doOneWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:231,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 234
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 234
    functionName: doStreamEventNonblockAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - saveRecWindowToDisc
    - colDataDestroy
    - filterSetDataFromSlotId
    - saveSessionOutputBuf
    - taosArrayGetSize
    - GET_TASKID
    - isWindowIncomplete
    - doOneWindowAggImpl
    - taosArrayPush
    - filterExecute
    - taosGetDefaultHashFunction
    - taosArrayGet
    - setEventOutputBuf
    - qError
    - releaseOutputBuf
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - updateEventWindowInfo
    - setEventWindowInfo
    - tstrerror
    - reuseOutputBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamEventNonblockAggImpl(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamEventAggOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:247,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:258,1
    - Dst: setSingleOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:248,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pHandle
    - ppOptInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: createEventNonblockOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setSingleOperatorFlag
    - qError
    - tstrerror
    - createStreamEventAggOperatorInfo
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createEventNonblockOperatorInfo(SOperatorInfo* downstream,
      SPhysiNode* pPhyNode, SExecTaskInfo* pTaskInfo, SReadHandle* pHandle, SOperatorInfo**
      ppOptInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:56,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:69,1
    - Dst: compactEventWindow
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:86,1
    - Dst: setEventWindowFlag
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:78,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:92,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:93,1
    - Dst: reuseOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:108,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:55,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:59,1
    - Dst: getSessionWindowInfoByKey
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:71,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:81,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:88,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:87,1
    - Dst: saveSessionOutputBuf
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:80,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:75,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:72,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:107,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:119,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:123,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:123,1
    - Dst: resetWinRange
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:53,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:59,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:64,1
    - Dst: IS_VALID_SESSION_WIN
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:91,1
    - Dst: saveDeleteRes
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:101,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:102,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:103,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:106,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:113,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 125
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 125
    functionName: streamEventNonblockReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getSessionWindowInfoByKey
    - IS_VALID_SESSION_WIN
    - resetWinRange
    - saveDeleteRes
    - qError
    - strlen
    - setEventWindowFlag
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qDebug
    - compactEventWindow
    - taosMemoryFreeClear
    - TMAX
    - saveSessionOutputBuf
    - GET_TASKID
    - reuseOutputBuf
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void streamEventNonblockReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamSessionNonblockAggNextImpl
      Src: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - ppBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: doStreamEventNonblockAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streameventnonblockoperator.c
    functionUses: []
    functionsReached:
    - doStreamSessionNonblockAggNextImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamEventNonblockAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppBlock) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1868,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1869,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1874,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:1887,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:1890,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1891,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1898,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1922,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:1915,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1908,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:1967,1
    - Dst: nodesValueNodeToVariant
      Src: /src/tdengine/source/libs/executor/src/executil.c:1907,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1935,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1977,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1988,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2000,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2013,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:2004,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:1905,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1948,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1881,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1927,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1932,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1929,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1937,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1955,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1956,1
    - Dst: createColumn
      Src: /src/tdengine/source/libs/executor/src/executil.c:1962,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1963,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1976,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1950,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1989,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1999,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1880,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1899,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:1939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1944,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1951,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1968,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:1994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2008,1
    - Dst: createResSchema
      Src: /src/tdengine/source/libs/executor/src/executil.c:1982,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1922,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 130
    argCount: 3
    argNames:
    - pExp
    - pNode
    - slotId
    argTypes:
    - SExprInfo*
    - SNode*
    - int16_t
    constantsTouched: []
    func_position:
      end: 2016
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 2016
    functionName: createExprFromOneNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createColumn
    - memcmp
    - taosMemoryCalloc
    - nodesValueNodeToVariant
    - nodesListGetNode
    - nodesListAppend
    - nodeType
    - tListLen
    - nodesDestroyNode
    - tstrncpy
    - qError
    - QUERY_CHECK_NULL
    - nodesMakeList
    - nodesMakeNode
    - LIST_LENGTH
    - tstrerror
    - strlen
    - createResSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createExprFromOneNode(SExprInfo* pExp, SNode* pNode, int16_t
      slotId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2366,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2374,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2368,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2372,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2392,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2394,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - pCond
    - pTableScanNode
    - readHandle
    argTypes:
    - SQueryTableDataCond*
    - STableScanPhysiNode*
    - SReadHandle*
    constantsTouched: []
    func_position:
      end: 2413
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2413
    functionName: initQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosMemoryMalloc
    - taosMemoryCalloc
    - qError
    - tstrerror
    - taosMemoryFreeClear
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initQueryTableDataCond(SQueryTableDataCond* pCond, const STableScanPhysiNode*
      pTableScanNode, const SReadHandle* readHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pExp
    - pTargetNode
    argTypes:
    - SExprInfo*
    - STargetNode*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2018
    functionDepth: 0
    functionLinenumber: 2018
    functionLinenumberEnd: 2020
    functionName: createExprFromTargetNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - createExprFromOneNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createExprFromTargetNode(SExprInfo* pExp, STargetNode* pTargetNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2421,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2424,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2426,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2423,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2437,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2438,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:2452,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2457,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2457,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2459,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 4
    argNames:
    - pCond
    - pOrgCond
    - readHandle
    - colArray
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    - SReadHandle*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2461
      start: 2415
    functionDepth: 0
    functionLinenumber: 2415
    functionLinenumberEnd: 2461
    functionName: initQueryTableDataCondWithColArray
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - taosMemoryCalloc
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initQueryTableDataCondWithColArray(SQueryTableDataCond* pCond,
      SQueryTableDataCond* pOrgCond, const SReadHandle* readHandle, SArray* colArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2612,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2613,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2612,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pTableList
    - pRes
    argTypes:
    - STableListInfo*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2618
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2618
    functionName: tableListGetSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayGetSize
    - qError
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableListGetSize(const STableListInfo* pTableList, int32_t*
      pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:214,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:217,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: cleanupGroupResInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void cleanupGroupResInfo(SGroupResInfo* pGroupResInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1341,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1345,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1339,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1347,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pUidTagList
    - pUidList
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1352
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1352
    functionName: copyExistedUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyExistedUids(SArray* pUidTagList, const SArray*
      pUidList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: resultrowComparAsc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t resultrowComparAsc(const void* p1, const void* p2) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1380,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:1383,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1396,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1406,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1424,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1444,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1371,1
    - Dst: copyExistedUids
      Src: /src/tdengine/source/libs/executor/src/executil.c:1395,1
    - Dst: optimizeTbnameInCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1409,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:1433,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1469,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1473,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:1475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1450,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1474,1
    - Dst: doSetQualifiedUid
      Src: /src/tdengine/source/libs/executor/src/executil.c:1460,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1374,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1377,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1393,1
    - Dst: checkTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1398,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1402,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/executor/src/executil.c:1405,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1412,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1436,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1442,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1457,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1455,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1469,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1445,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1410,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1455,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1471,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1472,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1441,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:1447,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1463,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 8
    argNames:
    - pListInfo
    - pUidList
    - pTagCond
    - pVnode
    - status
    - pAPI
    - addUid
    - listAdded
    argTypes:
    - STableListInfo*
    - SArray*
    - SNode*
    - void*
    - SIdxFltStatus
    - SStorageAPI*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1480
    functionName: doFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doSetQualifiedUid
    - copyExistedUids
    - optimizeTbnameInCond
    - createTagValBlockForFilter
    - colDataDestroy
    - taosArrayGetSize
    - taosHashInit
    - taosArrayInit
    - taosArrayClear
    - scalarCalculate
    - taosHashCleanup
    - taosArrayDestroy
    - createResultData
    - taosArrayPush
    - taosArrayDestroyEx
    - taosGetDefaultHashFunction
    - checkTagCond
    - taosArrayGet
    - nodesRewriteExprPostOrder
    - qError
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - tstrerror
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFilterByTagCond(STableListInfo* pListInfo, SArray*
      pUidList, SNode* pTagCond, void* pVnode, SIdxFltStatus status, SStorageAPI*
      pAPI, bool addUid, bool* listAdded) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2620
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2620
    functionName: tableListGetSuid
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t tableListGetSuid(const STableListInfo* pTableList) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:2110,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2117,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2116,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2121,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2127,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2134,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2136,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:2142,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2175,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2177,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:2173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2175,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2168,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2152,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2174,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2157,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2180
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2180
    functionName: setSelectValueColumnInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - QUERY_CHECK_CODE
    - fmIsSelectFunc
    - taosArrayGet
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArraySet
    - taosArrayDestroyP
    - strcmp
    - qError
    - tstrerror
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSelectValueColumnInfo(SqlFunctionCtx* pCtx, int32_t
      numOfOutput) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1126,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1154,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1149,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1180,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1129,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1135,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1138,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:1140,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:1152,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1171,1
    - Dst: getTableNameList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1134,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1124,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:1161,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1179,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:1189,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1190,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 76
    argCount: 5
    argNames:
    - pVnode
    - pExistedUidList
    - pTagCond
    - pStoreAPI
    - suid
    argTypes:
    - void*
    - SArray*
    - SNode*
    - SStorageAPI*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1195
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1195
    functionName: optimizeTbnameInCondImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - taosArrayGet
    - taosArrayDestroy
    - getTableNameList
    - taosGetDefaultHashFunction
    - taosHashGet
    - qError
    - tstrerror
    - taosArrayPush
    - taosHashPut
    - taosArrayGetSize
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optimizeTbnameInCondImpl(void* pVnode, SArray* pExistedUidList,
      SNode* pTagCond, SStorageAPI* pStoreAPI, uint64_t suid) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1493,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1503,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1519,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1527,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1520,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1519,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1568,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1492,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1502,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1561,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1579,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1583,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1585,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1566,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1499,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1515,1
    - Dst: doFilterTag
      Src: /src/tdengine/source/libs/executor/src/executil.c:1539,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1549,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1556,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1557,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1562,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1563,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1571,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1571,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1580,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1500,1
    - Dst: genTagFilterDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:1509,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1510,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1513,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1541,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1543,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1543,1
    - Dst: doFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/executil.c:1548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1552,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:1589,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1594,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1596,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 8
    argNames:
    - pVnode
    - pScanNode
    - pTagCond
    - pTagIndexCond
    - pListInfo
    - digest
    - idstr
    - pStorageAPI
    argTypes:
    - void*
    - SScanPhysiNode*
    - SNode*
    - SNode*
    - STableListInfo*
    - uint8_t*
    - char*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1599
    functionName: getTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryMalloc
    - taosArrayGet
    - doFilterByTagCond
    - genTagFilterDigest
    - taosArrayDestroy
    - qTrace
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - qDebug
    - doFilterTag
    - memcpy
    - taosArrayGetSize
    - tListLen
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableList(void* pVnode, SScanPhysiNode* pScanNode, SNode*
      pTagCond, SNode* pTagIndexCond, STableListInfo* pListInfo, uint8_t* digest,
      const char* idstr, SStorageAPI* pStorageAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1841,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1841,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - type
    - bytes
    - slotId
    - scale
    - precision
    - name
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1844
    functionName: createResSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: SResSchema
    signature: 'static SResSchema createResSchema(int32_t type, int32_t bytes, int32_t
      slotId, int32_t scale, int32_t precision, const char* name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pLimit
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: getLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getLimit(const SNode* pLimit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1610,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1615,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1611,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1622,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - suid
    - pVnode
    - node
    - tableList
    - pTaskInfo
    argTypes:
    - int64_t
    - void*
    - void*
    - SArray**
    - void*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1625
    functionName: qGetTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListDestroy
    - tableListCreate
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - getTableList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qGetTableList(int64_t suid, void* pVnode, void* node, SArray**
      tableList, void* pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - blockId
    - slotId
    - colId
    - pType
    - colType
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - SDataType*
    - EColumnType
    constantsTouched: []
    func_position:
      end: 1861
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1861
    functionName: createColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SColumn*
    signature: 'static SColumn * createColumn(int32_t blockId, int32_t slotId, int32_t
      colId, SDataType* pType, EColumnType colType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2306,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2303,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2315,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:2319,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2321,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2329,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - pBlock
    - pColMatchInfo
    - pCols
    - outputEveryColumn
    argTypes:
    - SSDataBlock*
    - SArray*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 2334
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2334
    functionName: relocateColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataAssign
    - qError
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t relocateColumnData(SSDataBlock* pBlock, const SArray* pColMatchInfo,
      SArray* pCols, bool outputEveryColumn) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1073,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1076,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1102,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1087,1
    - Dst: optimizeTbnameInCondImpl
      Src: /src/tdengine/source/libs/executor/src/executil.c:1095,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/libs/executor/src/executil.c:1103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 26
    argCount: 5
    argNames:
    - pVnode
    - suid
    - list
    - cond
    - pAPI
    argTypes:
    - void*
    - int64_t
    - SArray*
    - SNode*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1110
    functionName: optimizeTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - optimizeTbnameInCondImpl
    - taosArraySort
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optimizeTbnameInCond(void* pVnode, int64_t suid, SArray*
      list, SNode* cond, SStorageAPI* pAPI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2096
    functionName: deleteSubsidiareCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void deleteSubsidiareCtx(void* pData) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2191,1
    - Dst: fmIsNotNullOutputFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2210,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2193,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2212,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/executil.c:2219,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2220,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2223,1
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2231,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2253,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2285,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2186,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2228,1
    - Dst: fmGetUdafExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2222,1
    - Dst: setSelectValueColumnInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2277,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2209,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2213,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2256,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2282,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2284,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2287,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2288,1
    - Dst: fmGetFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2254,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:2278,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 105
    argCount: 4
    argNames:
    - pExprInfo
    - numOfOutput
    - rowEntryInfoOffset
    - pStore
    argTypes:
    - SExprInfo*
    - int32_t
    - int32_t**
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 2294
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2294
    functionName: createSqlFunctionCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fmIsIndefiniteRowsFunc
    - taosMemoryFree
    - fmGetFuncExecFuncs
    - fmGetScalarFuncExecFuncs
    - taosMemoryCalloc
    - qError
    - fmGetUdafExecFuncs
    - tstrerror
    - fmIsAggFunc
    - QUERY_CHECK_NULL
    - fmIsWindowPseudoColumnFunc
    - taosStrdup
    - fmIsUserDefinedFunc
    - taosMemoryFreeClear
    - fmIsNotNullOutputFunc
    - setSelectValueColumnInfo
    linkageType: ''
    returnType: SqlFunctionCtx*
    signature: 'SqlFunctionCtx * createSqlFunctionCtx(SExprInfo* pExprInfo, int32_t
      numOfOutput, int32_t** rowEntryInfoOffset, SFunctionStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLimit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2597,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:2597,1
    - Dst: getLimit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2598,1
    - Dst: getOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:2598,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pLimit
    - pSLimit
    - pLimitInfo
    argTypes:
    - SNode*
    - SNode*
    - SLimitInfo*
    constantsTouched: []
    func_position:
      end: 2604
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2604
    functionName: initLimitInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - getLimit
    - getOffset
    linkageType: ''
    returnType: void
    signature: 'void initLimitInfo(const SNode* pLimit, const SNode* pSLimit, SLimitInfo*
      pLimitInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pGroupResInfo
    - pArrayList
    argTypes:
    - SGroupResInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: initMultiResInfoFromArrayList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void initMultiResInfoFromArrayList(SGroupResInfo* pGroupResInfo, SArray*
      pArrayList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:993,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:989,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1013,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1014,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:1022,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1031,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:988,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1000,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1001,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:1008,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1011,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1020,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1021,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1033,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1033,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1005,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1011,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1012,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1015,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/executil.c:1019,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1016,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1027,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:985,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:995,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:999,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1026,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeListNode*
    constantsTouched: []
    func_position:
      end: 1037
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1037
    functionName: getTableNameList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayGet
    - taosArrayDestroy
    - varDataVal
    - strcmp
    - taosArrayGetLast
    - qError
    - tstrerror
    - taosArraySort
    - QUERY_CHECK_NULL
    - taosArrayPush
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray * getTableNameList(const SNodeListNode* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: hasRemainResults
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool hasRemainResults(SGroupResInfo* pGroupResInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1048
    functionName: tableUidCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tableUidCompare(const void* a, const void* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    constantsTouched: []
    func_position:
      end: 2609
      start: 2606
    functionDepth: 0
    functionLinenumber: 2606
    functionLinenumberEnd: 2609
    functionName: resetLimitInfoForNextGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void resetLimitInfoForNextGroup(SLimitInfo* pLimitInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pResultRowInfo
    argTypes:
    - SResultRowInfo*
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: initResultRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initResultRowInfo(SResultRowInfo* pResultRowInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1059
    functionName: filterTableInfoCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t filterTableInfoCompare(const void* a, const void* b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2789,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2791,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2792,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2790,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2795
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2795
    functionName: tableListClear
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosMemoryFree
    - taosHashClear
    linkageType: ''
    returnType: void
    signature: 'void tableListClear(STableListInfo* pTableListInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2959,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/executil.c:2960,1
    - Dst: getTableList
      Src: /src/tdengine/source/libs/executor/src/executil.c:2968,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2963,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2971,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2975,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2977,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2979,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2983,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2994,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/executil.c:2993,1
    - Dst: buildGroupIdMapForAllTables
      Src: /src/tdengine/source/libs/executor/src/executil.c:2987,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 8
    argNames:
    - pScanNode
    - pGroupTags
    - groupSort
    - pHandle
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    argTypes:
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - SReadHandle*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 2997
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2997
    functionName: createScanTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - buildGroupIdMapForAllTables
    - qError
    - tstrerror
    - taosGetTimestampUs
    - taosArrayGetSize
    - qDebug
    - getTableList
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createScanTableListInfo(SScanPhysiNode* pScanNode, SNodeList*
      pGroupTags, bool groupSort, SReadHandle* pHandle, STableListInfo* pTableListInfo,
      SNode* pTagCond, SNode* pTagIndexCond, SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pResultRow
    argTypes:
    - SResultRow*
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: closeResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void closeResultRow(SResultRow* pResultRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1062,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1069
    functionName: checkTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: FilterCondType
    signature: 'static FilterCondType checkTagCond(SNode* cond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2806
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2806
    functionName: orderbyGroupIdComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t orderbyGroupIdComparFn(const void* p1, const void*
      p2) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 2
    argCount: 1
    argNames:
    - opType
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 3051
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3051
    functionName: getStreamOpName
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * getStreamOpName(uint16_t opType) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:103,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:113,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:114,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:120,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:116,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:131,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:135,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:135,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:155,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/libs/executor/src/executil.c:144,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:146,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:149,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - pSup
    - inBuf
    - inBufSize
    - outBuf
    - outBufSize
    argTypes:
    - SExprSupp*
    - char*
    - size_t
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 157
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 157
    functionName: getResultRowFromBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - qTrace
    - qError
    - TAOS_MEMORY_REALLOC
    - memcpy
    - getResultRowSize
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getResultRowFromBuf(SExprSupp* pSup, const char* inBuf, size_t
      inBufSize, char** outBuf, size_t* outBufSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resultrowComparAsc
      Src: /src/tdengine/source/libs/executor/src/executil.c:246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 246
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 246
    functionName: resultrowComparDesc
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - resultrowComparAsc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resultrowComparDesc(const void* p1, const void* p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pGroupResInfo
    argTypes:
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: getNumOfTotalRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNumOfTotalRes(SGroupResInfo* pGroupResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/executil.c:2346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTableScanNode
    argTypes:
    - STableScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 2349
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2349
    functionName: extractIntervalInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - calcIntervalAutoOffset
    linkageType: ''
    returnType: SInterval
    signature: 'SInterval extractIntervalInfo(const STableScanPhysiNode* pTableScanNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pTableList
    - psuid
    - uid
    - type
    argTypes:
    - STableListInfo*
    - uint64_t*
    - uint64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2649
    functionDepth: 0
    functionLinenumber: 2649
    functionLinenumberEnd: 2653
    functionName: tableListGetSourceTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tableListGetSourceTableInfo(const STableListInfo* pTableList,
      uint64_t* psuid, uint64_t* uid, int32_t* type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:252,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:260,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:264,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:255,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:263,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:271,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:272,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:276,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:277,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/executil.c:280,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:297,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/executil.c:281,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:304,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:289,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:304,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:288,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/executor/src/executil.c:297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pGroupResInfo
    - pHashmap
    - order
    argTypes:
    - SGroupResInfo*
    - SSHashObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 307
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 307
    functionName: initGroupedResultInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosSort
    - tSimpleHashGetKey
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayDestroy
    - tSimpleHashGetSize
    - qError
    - tstrerror
    - tSimpleHashIterate
    - QUERY_CHECK_NULL
    - taosArrayPush
    - memcpy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initGroupedResultInfo(SGroupResInfo* pGroupResInfo, SSHashObj*
      pHashmap, int32_t order) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:353,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:345,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:351,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:353,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:354,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:365,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:367,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 374
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 374
    functionName: createSortInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayDestroy
    - qError
    - tstrerror
    - taosArrayPush
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * createSortInfo(SNodeList* pNodeList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pColNode
    argTypes:
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2351
    functionDepth: 0
    functionLinenumber: 2351
    functionLinenumberEnd: 2361
    functionName: extractColumnFromColumnNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SColumn
    signature: 'SColumn extractColumnFromColumnNode(SColumnNode* pColNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2656,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pTableList
    - tableUid
    argTypes:
    - STableListInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2664
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2664
    functionName: tableListGetTableGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosHashGet
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t tableListGetTableGroupId(const STableListInfo* pTableList,
      uint64_t tableUid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - win
    - tsCols
    argTypes:
    - STimeWindow*
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 3093
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3093
    functionName: getStartTsKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY getStartTsKey(STimeWindow* win, const TSKEY* tsCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pWin
    - delta
    argTypes:
    - SColumnInfoData*
    - STimeWindow*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3102
      start: 3095
    functionDepth: 0
    functionLinenumber: 3095
    functionLinenumberEnd: 3102
    functionName: updateTimeWindowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void updateTimeWindowInfo(SColumnInfoData* pColData, STimeWindow*
      pWin, int64_t delta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2464,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SQueryTableDataCond*
    constantsTouched: []
    func_position:
      end: 2466
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2466
    functionName: cleanupQueryTableDataCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void cleanupQueryTableDataCond(SQueryTableDataCond* pCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: getResultRowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t getResultRowSize(SqlFunctionCtx* pCtx, int32_t numOfOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2023,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2024,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2031,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2033,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2031,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2035,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pNodeList
    - numOfExprs
    argTypes:
    - SNodeList*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2022
    functionDepth: 0
    functionLinenumber: 2022
    functionLinenumberEnd: 2041
    functionName: createExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosMemoryCalloc
    - qError
    - tstrerror
    - createExprFromOneNode
    - taosMemoryFreeClear
    - nodesListGetNode
    linkageType: ''
    returnType: SExprInfo*
    signature: 'SExprInfo * createExpr(SNodeList* pNodeList, int32_t* numOfExprs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3066,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3058,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3063,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3065,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pBlock
    - flag
    - taskIdStr
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3069
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3069
    functionName: printDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - dumpBlockData
    - taosMemoryFree
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void printDataBlock(SSDataBlock* pBlock, const char* flag, const char*
      taskIdStr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/executil.c:2044,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2050,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:2047,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2066,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2058,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2068,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2071,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2072,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2073,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2073,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2082,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2081,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2082,1
    - Dst: createExprFromTargetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:2078,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - pNodeList
    - pGroupKeys
    - pExprInfo
    - numOfExprs
    argTypes:
    - SNodeList*
    - SNodeList*
    - SExprInfo**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2089
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2089
    functionName: createExprInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - destroyExprInfo
    - taosMemoryCalloc
    - qError
    - tstrerror
    - createExprFromTargetNode
    - taosMemoryFreeClear
    - QRY_PARAM_CHECK
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createExprInfo(SNodeList* pNodeList, SNodeList* pGroupKeys,
      SExprInfo** pExprInfo, int32_t* numOfExprs) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 1
    argNames:
    - mode
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2503
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2503
    functionName: convertFillType
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertFillType(int32_t mode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3073,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/executil.c:3084,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3087,1
    - Dst: dumpBlockData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3085,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:3076,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:3088,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - pBlock
    - flag
    - opStr
    - taskIdStr
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3091
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3091
    functionName: printSpecDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - dumpBlockData
    - snprintf
    - qDebug
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void printSpecDataBlock(SSDataBlock* pBlock, const char* flag, const
      char* opStr, const char* taskIdStr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 665
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 665
    functionName: releaseColInfoData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - colDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void releaseColInfoData(void* pCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 672
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 672
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void freeItem(void* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getInitialStartTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2551,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/executil.c:2555,1
    - Dst: getFirstQualifiedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2568,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/executil.c:2557,1
    - Dst: doCalculateTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2562,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pBuf
    - pResultRowInfo
    - ts
    - pInterval
    - order
    argTypes:
    - SDiskbasedBuf*
    - SResultRowInfo*
    - int64_t
    - SInterval*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2572
      start: 2547
    functionDepth: 0
    functionLinenumber: 2547
    functionLinenumberEnd: 2572
    functionName: getActiveTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - doCalculateTimeWindow
    - TAOS_SET_OBJ_ALIGNED
    - getResultRowByPos
    - getInitialStartTimeWindow
    - getFirstQualifiedTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: 'STimeWindow getActiveTimeWindow(SDiskbasedBuf* pBuf, SResultRowInfo*
      pResultRowInfo, int64_t ts, SInterval* pInterval, int32_t order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - ts
    - pWindow
    - pInterval
    - order
    argTypes:
    - int64_t
    - STimeWindow*
    - SInterval*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2543
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2543
    functionName: getFirstQualifiedTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - getNextTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: 'STimeWindow getFirstQualifiedTimeWindow(int64_t ts, STimeWindow* pWindow,
      SInterval* pInterval, int32_t order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pLimit
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: getOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getOffset(const SNode* pLimit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1631,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pGroups
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1638
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1638
    functionName: getTableTagsBufLen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: size_t
    signature: 'size_t getTableTagsBufLen(const SNodeList* pGroups) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1651,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1660,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1665,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1673,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1681,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1701,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1706,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1717,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1680,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:1671,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1693,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1705,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1705,1
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:1658,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1669,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1683,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1675,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:1695,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1702,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1704,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/executor/src/executil.c:1697,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1708,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:1715,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 6
    argNames:
    - pVnode
    - uid
    - pGroupNode
    - keyBuf
    - pGroupId
    - pAPI
    argTypes:
    - void*
    - uint64_t
    - SNodeList*
    - char*
    - uint64_t*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1640
    functionDepth: 0
    functionLinenumber: 1640
    functionLinenumberEnd: 1721
    functionName: getGroupIdFromTagsVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - nodeType
    - LIST_LENGTH
    - calcGroupId
    - nodesRewriteExprsPostOrder
    - tTagIsJson
    - nodesDestroyList
    - IS_VAR_DATA_TYPE
    - scalarCalculateConstants
    - qError
    - tstrerror
    - FOREACH
    - memcpy
    - getJsonValueLen
    - nodesCloneList
    - nodesGetValueFromNode
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getGroupIdFromTagsVal(void* pVnode, uint64_t uid, SNodeList*
      pGroupNode, char* keyBuf, uint64_t* pGroupId, SStorageAPI* pAPI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTableList
    - index
    argTypes:
    - STableListInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2628
      start: 2622
    functionDepth: 0
    functionLinenumber: 2622
    functionLinenumberEnd: 2628
    functionName: tableListGetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: STableKeyInfo*
    signature: 'STableKeyInfo * tableListGetInfo(const STableListInfo* pTableList,
      int32_t index) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:587,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:609,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:600,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:589,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:592,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:612,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:622,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:624,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 634
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 634
    functionName: getColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - taosHashGet
    - taosArrayPush
    - qDebug
    - taosHashPut
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes getColumn(SNode** pNode, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    constantsTouched: []
    func_position:
      end: 2590
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2590
    functionName: hasLimitOffsetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasLimitOffsetInfo(SLimitInfo* pLimitInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2507,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2521,1
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:2514,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/executil.c:2510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pInterval
    - ts
    - w
    - ascQuery
    argTypes:
    - SInterval*
    - TSKEY
    - STimeWindow*
    - bool
    constantsTouched: []
    func_position:
      end: 2523
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2523
    functionName: getInitialStartTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - getAlignQueryTimeWindow
    - getNextTimeWindowStart
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'void getInitialStartTimeWindow(SInterval* pInterval, TSKEY ts, STimeWindow*
      w, bool ascQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/executil.c:2528,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    constantsTouched: []
    func_position:
      end: 2531
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2531
    functionName: doCalculateTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosTimeGetIntervalEnd
    - taosTimeTruncate
    linkageType: ''
    returnType: STimeWindow
    signature: 'static STimeWindow doCalculateTimeWindow(int64_t ts, SInterval* pInterval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pLimitInfo
    argTypes:
    - SLimitInfo*
    constantsTouched: []
    func_position:
      end: 2594
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2594
    functionName: hasSlimitOffsetInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasSlimitOffsetInfo(SLimitInfo* pLimitInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:637,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:650,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 657
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 657
    functionName: createResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - releaseColInfoData
    - colInfoDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createResultData(SDataType* pType, int32_t numOfRows,
      SScalarParam* pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2631,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2637,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2639,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pTableList
    - uid
    - startIndex
    argTypes:
    - STableListInfo*
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2647
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2647
    functionName: tableListFind
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayGetSize
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableListFind(const STableListInfo* pTableList, uint64_t uid,
      int32_t startIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2745,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2756,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2765,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2751,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:2756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2744
    functionDepth: 0
    functionLinenumber: 2744
    functionLinenumberEnd: 2767
    functionName: tableListCreate
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tableListDestroy
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: STableListInfo*
    signature: 'STableListInfo * tableListCreate() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2774,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:2775,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:2781,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:2777,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:2778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2782
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2782
    functionName: tableListDestroy
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tableListDestroy(STableListInfo* pTableListInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/executil.c:2575,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2578,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2577,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2576,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pInterval
    - start
    - order
    argTypes:
    - SInterval*
    - TSKEY
    - int32_t
    constantsTouched: []
    func_position:
      end: 2580
      start: 2574
    functionDepth: 0
    functionLinenumber: 2574
    functionLinenumberEnd: 2580
    functionName: getNextTimeWindowStart
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - GET_FORWARD_DIRECTION_FACTOR
    - taosTimeAdd
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY getNextTimeWindowStart(const SInterval* pInterval, TSKEY start,
      int32_t order) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2671,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:2671,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2672,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2676,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:2678,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:2683,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2685,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:2686,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/executil.c:2689,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:2697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2695,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/executor/src/executil.c:2690,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2695,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pTableList
    - uid
    - gid
    argTypes:
    - STableListInfo*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2701
      start: 2667
    functionDepth: 0
    functionLinenumber: 2667
    functionLinenumberEnd: 2701
    functionName: tableListAddTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - qInfo
    - taosArrayGetSize
    - QUERY_CHECK_CONDITION
    - taosArrayPopTailBatch
    - qError
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tstrerror
    - qDebug
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableListAddTableInfo(STableListInfo* pTableList, uint64_t
      uid, uint64_t gid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2740
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2740
    functionName: tableListGetOutputGroups
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableListGetOutputGroups(const STableListInfo* pTableList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/executil.c:2583,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/executil.c:2584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pInterval
    - tw
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2585
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2585
    functionName: getNextTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - getNextTimeWindowStart
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'void getNextTimeWindow(const SInterval* pInterval, STimeWindow* tw,
      int32_t order) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/executil.c:2705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2709,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2721,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2736,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - pTableList
    - ordinalGroupIndex
    - pKeyInfo
    - size
    argTypes:
    - STableListInfo*
    - int32_t
    - STableKeyInfo**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2738
    functionName: tableListGetGroupList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tableListGetSize
    - tableListGetOutputGroups
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableListGetGroupList(const STableListInfo* pTableList, int32_t
      ordinalGroupIndex, STableKeyInfo** pKeyInfo, int32_t* size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTableList
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2742
      start: 2742
    functionDepth: 0
    functionLinenumber: 2742
    functionLinenumberEnd: 2742
    functionName: oneTableForEachGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool oneTableForEachGroup(const STableListInfo* pTableList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:2848,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2850,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:2809,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2832,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2840,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2855,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2812,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2819,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2819,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2825,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2827,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2827,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2854,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2817,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2810,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2834,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:2838,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:2854,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2834,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - pTableListInfo
    argTypes:
    - STableListInfo*
    constantsTouched: []
    func_position:
      end: 2857
      start: 2808
    functionDepth: 0
    functionLinenumber: 2808
    functionLinenumberEnd: 2857
    functionName: sortTableGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryMalloc
    - taosArrayDestroy
    - qError
    - tstrerror
    - taosArraySort
    - taosArrayPush
    - memcpy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortTableGroup(STableListInfo* pTableListInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3111,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3119,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:3115,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3112,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3121,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3122,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3124,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3125,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3125,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3126,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:3128,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 5
    argNames:
    - pSortGroupCols
    - oldkeyBuf
    - oldKeysLen
    - pBlock
    - rowIndex
    argTypes:
    - SArray*
    - char*
    - int32_t
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3135
      start: 3104
    functionDepth: 0
    functionLinenumber: 3104
    functionLinenumberEnd: 3135
    functionName: compKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull
    - memcmp
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - getJsonValueLen
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compKeys(const SArray* pSortGroupCols, const char* oldkeyBuf,
      int32_t oldKeysLen, const SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:3173,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:3174,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3180,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:3175,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pData
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3182
      start: 3171
    functionDepth: 0
    functionLinenumber: 3171
    functionLinenumberEnd: 3182
    functionName: calcGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tMD5Final
    - memcpy
    - tMD5Update
    - tMD5Init
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t calcGroupId(char* pData, int32_t len) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:2872,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:2885,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2888,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2948,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2878,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2880,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2880,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2918,1
    - Dst: sortTableGroup
      Src: /src/tdengine/source/libs/executor/src/executil.c:2934,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/executil.c:2909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2894,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2896,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/executil.c:2863,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:2869,1
    - Dst: getColInfoResultForGroupby
      Src: /src/tdengine/source/libs/executor/src/executil.c:2926,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2931,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:2941,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:2943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:2943,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:2946,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:2872,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:2939,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 92
    argCount: 7
    argNames:
    - pTableListInfo
    - pHandle
    - pScanNode
    - group
    - groupSort
    - digest
    - pAPI
    argTypes:
    - STableListInfo*
    - SReadHandle*
    - SScanPhysiNode*
    - SNodeList*
    - bool
    - uint8_t*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 2954
      start: 2859
    functionDepth: 0
    functionLinenumber: 2859
    functionLinenumberEnd: 2954
    functionName: buildGroupIdMapForAllTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayGet
    - sortTableGroup
    - taosGetDefaultHashFunction
    - taosArrayGetSize
    - qError
    - tstrerror
    - taosArraySort
    - getColInfoResultForGroupby
    - taosHashPut
    - groupbyTbname
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildGroupIdMapForAllTables(STableListInfo* pTableListInfo,
      SReadHandle* pHandle, SScanPhysiNode* pScanNode, SNodeList* group, bool groupSort,
      uint8_t* digest, SStorageAPI* pAPI) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3144,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3156,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:3150,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:3154,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/executor/src/executil.c:3145,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3157,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:3159,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3160,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:3161,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:3163,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - keyBuf
    - pSortGroupCols
    - pBlock
    - rowIndex
    argTypes:
    - char*
    - SArray*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3169
      start: 3137
    functionDepth: 0
    functionLinenumber: 3137
    functionLinenumberEnd: 3169
    functionName: buildKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - memcpy
    - getJsonValueLen
    - varDataCopy
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildKeys(char* keyBuf, const SArray* pSortGroupCols, const
      SSDataBlock* pBlock, int32_t rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:3187,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3191,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/executor/src/executil.c:3189,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3184
    functionDepth: 0
    functionLinenumber: 3184
    functionLinenumberEnd: 3197
    functionName: makeColsNodeArrFromSortKeys
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - FOREACH
    - qError
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNodeList*
    signature: 'SNodeList * makeColsNodeArrFromSortKeys(SNodeList* pSortKeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:3203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:3205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:3214,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:3206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:3214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - keys
    - pLen
    argTypes:
    - SArray*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3217
    functionName: extractKeysLen
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractKeysLen(const SArray* keys, int32_t* pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pRow
    - index
    - offset
    argTypes:
    - SResultRow*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: getResultEntryInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SResultRowEntryInfo*
    signature: 'SResultRowEntryInfo * getResultEntryInfo(const SResultRow* pRow, int32_t
      index, const int32_t* offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:377,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:391,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:393,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:379,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:393,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:394,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:400,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:405,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:407,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:408,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 416
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 416
    functionName: createDataBlockFromDescNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - blockDataAppendColInfo
    - qError
    - tstrerror
    - blockDataDestroy
    - createColumnInfoData
    - createDataBlock
    - nodesListGetNode
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * createDataBlockFromDescNode(SDataBlockDescNode* pNode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:465,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:494,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:504,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:504,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:505,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:516,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:531,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:471,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:525,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:498,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:500,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:529,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/executil.c:524,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:529,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:479,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:499,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:512,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:530,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/executor/src/executil.c:507,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 536
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 536
    functionName: doTranslateTagExpr
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesSetValueNodeValue
    - taosMemoryCalloc
    - nodesDestroyNode
    - varDataVal
    - strlen
    - memcpy
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes doTranslateTagExpr(SNode** pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1728,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1729,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1735,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1738,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1738,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1751,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1753,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1760
    functionName: makeColumnArrayFromList
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayDestroy
    - qError
    - tstrerror
    - taosArrayPush
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * makeColumnArrayFromList(SNodeList* pNodeList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:421,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:424,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:424,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:422,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:431,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:438,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:439,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:444,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:446,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - pDataBlock
    - pMatchInfo
    argTypes:
    - SSDataBlock*
    - SColMatchInfo*
    constantsTouched: []
    func_position:
      end: 459
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 459
    functionName: prepareDataBlockBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareDataBlockBuf(SSDataBlock* pDataBlock, SColMatchInfo*
      pMatchInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:552,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:559,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/executor/src/executil.c:568,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:571,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - info
    - pTagCond
    - metaHandle
    - pQualified
    - pAPI
    argTypes:
    - STableKeyInfo*
    - SNode*
    - void*
    - bool*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 582
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 582
    functionName: isQualifiedTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprPostOrder
    - nodesCloneNode
    - nodesDestroyNode
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t isQualifiedTable(STableKeyInfo* info, SNode* pTagCond, void*
      metaHandle, bool* pQualified, SStorageAPI* pAPI) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1764,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:1770,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1778,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:1779,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1777,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1788,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1789,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:1795,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:1797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1798,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1828,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1810,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1809,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1808,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 5
    argNames:
    - pNodeList
    - pOutputNodeList
    - numOfOutputCols
    - type
    - pMatchInfo
    argTypes:
    - SNodeList*
    - SDataBlockDescNode*
    - int32_t*
    - int32_t
    - SColMatchInfo*
    constantsTouched: []
    func_position:
      end: 1831
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1831
    functionName: extractColMatchInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosArrayGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractColMatchInfo(SNodeList* pNodeList, SDataBlockDescNode*
      pOutputNodeList, int32_t* numOfOutputCols, int32_t type, SColMatchInfo* pMatchInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/executil.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pResultRow
    - entrySize
    argTypes:
    - SResultRow*
    - size_t
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: resetResultRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void resetResultRow(SResultRow* pResultRow, size_t entrySize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:162,1
    - Dst: getResultRowSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:169,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:182,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:184,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:172,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:190,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:196,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:196,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:203,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/executil.c:207,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 5
    argNames:
    - pSup
    - inBuf
    - inBufSize
    - outBuf
    - outBufSize
    argTypes:
    - SExprSupp*
    - char*
    - size_t
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 209
    functionName: putResultRowToBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - qTrace
    - qError
    - memcpy
    - getResultRowSize
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t putResultRowToBuf(SExprSupp* pSup, const char* inBuf, size_t
      inBufSize, char** outBuf, size_t* outBufSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/executor/src/executil.c:681,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:683,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:687,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:683,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:688,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:689,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pTagCond
    - pContext
    argTypes:
    - SNode*
    - T_MD5_CTX*
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: genTagFilterDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tMD5Final
    - qError
    - tstrerror
    - tMD5Update
    - nodesNodeToMsg
    - tMD5Init
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t genTagFilterDigest(const SNode* pTagCond, T_MD5_CTX*
      pContext) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:759,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/executil.c:805,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:892,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:939,1
    - Dst: genTbGroupDigest
      Src: /src/tdengine/source/libs/executor/src/executil.c:770,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:793,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:821,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/executil.c:934,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:733,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:783,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:795,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:796,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:872,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/executil.c:899,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:896,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:916,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/executil.c:754,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:789,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:960,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/executor/src/executil.c:963,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:746,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:891,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:913,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:961,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:814,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:950,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:875,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:867,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:914,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/executil.c:958,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:883,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:949,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/executil.c:765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:792,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:921,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:959,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:739,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:780,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:820,1
    - Dst: createResultData
      Src: /src/tdengine/source/libs/executor/src/executil.c:833,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:922,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:948,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:924,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/executil.c:962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:847,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:861,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:862,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:823,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/executil.c:944,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:848,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/executil.c:853,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/executil.c:903,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/executil.c:753,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:850,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/executor/src/executil.c:905,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:921,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:965,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:945,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/executil.c:739,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:777,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:804,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:883,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/executil.c:931,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/executil.c:849,1
    - Dst: releaseColInfoData
      Src: /src/tdengine/source/libs/executor/src/executil.c:857,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:771,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/executil.c:788,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:782,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:826,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/executil.c:845,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/executil.c:895,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/executil.c:909,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:957,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:917,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:776,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:815,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:817,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:818,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/executil.c:897,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:965,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 187
    argCount: 6
    argNames:
    - pVnode
    - group
    - pTableListInfo
    - digest
    - pAPI
    - initRemainGroups
    argTypes:
    - void*
    - SNodeList*
    - STableListInfo*
    - uint8_t*
    - SStorageAPI*
    - bool
    constantsTouched: []
    func_position:
      end: 968
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 968
    functionName: getColInfoResultForGroupby
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - varDataTLen
    - calcGroupId
    - taosMemoryCalloc
    - createTagValBlockForFilter
    - tTagIsJson
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - genTbGroupDigest
    - taosHashInit
    - taosArrayInit
    - nodeType
    - scalarCalculate
    - taosHashCleanup
    - taosArrayDestroy
    - createResultData
    - colDataAssign
    - taosArrayDestroyP
    - colDataGetData
    - FOREACH
    - taosArrayPush
    - taosArrayDestroyEx
    - memcpy
    - taosGetDefaultHashFunction
    - taosHashPut
    - releaseColInfoData
    - tListLen
    - tTagIsJsonNull
    - taosArrayGet
    - nodesRewriteExprPostOrder
    - qError
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - nodesMakeNode
    - LIST_LENGTH
    - colDataIsNull_s
    - nodesFree
    - tstrerror
    - taosArrayDup
    - qDebug
    - getJsonValueLen
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getColInfoResultForGroupby(void* pVnode, SNodeList* group,
      STableListInfo* pTableListInfo, uint8_t* digest, SStorageAPI* pAPI, bool initRemainGroups) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1223,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/executil.c:1236,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1231,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1264,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1272,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1273,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1258,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1230,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1256,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:1261,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1265,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:1269,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1270,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1276,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1278,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1211,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/executil.c:1214,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1217,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/executil.c:1242,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1262,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:1263,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/executil.c:1289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1290,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1267,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1259,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/executil.c:1202,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1208,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1207,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/executil.c:1210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1239,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:1227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1226,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1245,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/executil.c:1260,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 94
    argCount: 5
    argNames:
    - pColList
    - numOfTables
    - pUidTagList
    - pVnode
    - pStorageAPI
    argTypes:
    - SArray*
    - int32_t
    - SArray*
    - void*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1295
    functionName: createTagValBlockForFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - colDataSetVal
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryMalloc
    - colDataSetNULL
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - blockDataDestroy
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    - createDataBlock
    - blockDataAppendColInfo
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * createTagValBlockForFilter(SArray* pColList, int32_t
      numOfTables, SArray* pUidTagList, void* pVnode, SStorageAPI* pStorageAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: freeEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeEx(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/executor/src/executil.c:700,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/executil.c:704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/executil.c:705,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:704,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/executil.c:701,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/executil.c:706,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:706,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/executil.c:707,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/executor/src/executil.c:710,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/executor/src/executil.c:711,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/executor/src/executil.c:712,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/executil.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:717,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pGroup
    - filterDigest
    - pContext
    argTypes:
    - SNode*
    - uint8_t*
    - T_MD5_CTX*
    constantsTouched: []
    func_position:
      end: 720
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 720
    functionName: genTbGroupDigest
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - tMD5Final
    - taosMemoryRealloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - tMD5Update
    - nodesNodeToMsg
    - memcpy
    - tListLen
    - tMD5Init
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t genTbGroupDigest(const SNode* pGroup, uint8_t* filterDigest,
      T_MD5_CTX* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/executil.c:974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 980
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 980
    functionName: nameComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nameComparFn(const void* p1, const void* p2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/executil.c:1299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/executil.c:1305,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/executil.c:1307,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/executil.c:1302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/executil.c:1307,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/executil.c:1311,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1314,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/executil.c:1320,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 5
    argNames:
    - pListInfo
    - pUidList
    - pUidTagList
    - pResultList
    - addUid
    argTypes:
    - STableListInfo*
    - SArray*
    - SArray*
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 1329
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1329
    functionName: doSetQualifiedUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/executil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetQualifiedUid(STableListInfo* pListInfo, SArray*
      pUidList, const SArray* pUidTagList, bool* pResultList, bool addUid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 82
    functionName: isTaskKilled
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isTaskKilled(void* pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_QUERY_STATUS
      Src: /src/tdengine/source/libs/executor/src/querytask.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pTaskInfo
    - status
    argTypes:
    - SExecTaskInfo*
    - int8_t
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: setTaskStatus
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - CLEAR_QUERY_STATUS
    linkageType: ''
    returnType: void
    signature: 'void setTaskStatus(SExecTaskInfo* pTaskInfo, int8_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:140,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:143,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:142,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 144
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 144
    functionName: cleanupQueriedTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tDeleteSchemaWrapper
    linkageType: ''
    returnType: void
    signature: 'void cleanupQueriedTableScanInfo(void* p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/querytask.c:222,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:225,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/querytask.c:223,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/querytask.c:232,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:237,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:244,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:244,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:249,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/querytask.c:251,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/querytask.c:259,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - pScanNode
    argTypes:
    - SScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 264
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 264
    functionName: extractQueriedColumnSchema
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrncpy
    - tListLen
    - nodesListGetNode
    linkageType: ''
    returnType: SSchemaWrapper*
    signature: 'SSchemaWrapper * extractQueriedColumnSchema(SScanPhysiNode* pScanNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeBlock(void* pParam) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:43,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:52,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/querytask.c:49,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/querytask.c:48,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:53,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:55,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/libs/executor/src/querytask.c:60,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/querytask.c:65,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:67,1
    - Dst: buildTaskId
      Src: /src/tdengine/source/libs/executor/src/querytask.c:71,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/querytask.c:72,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:74,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 6
    argNames:
    - queryId
    - taskId
    - vgId
    - model
    - pAPI
    - pTaskInfo
    argTypes:
    - uint64_t
    - uint64_t
    - int32_t
    - EOPTR_EXEC_MODEL
    - SStorageAPI*
    - SExecTaskInfo**
    constantsTouched: []
    func_position:
      end: 80
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 80
    functionName: doCreateTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - setTaskStatus
    - taosGetTimestampUs
    - buildTaskId
    - taosInitRWLatch
    - doDestroyTask
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCreateTask(uint64_t queryId, uint64_t taskId, int32_t vgId,
      EOPTR_EXEC_MODEL model, SStorageAPI* pAPI, SExecTaskInfo** pTaskInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:118,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:119,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:115,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:103,1
    - Dst: createOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:127,1
    - Dst: doDestroyTask
      Src: /src/tdengine/source/libs/executor/src/querytask.c:131,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 7
    argNames:
    - pPlan
    - pTaskInfo
    - pHandle
    - taskId
    - vgId
    - sql
    - model
    argTypes:
    - SSubplan*
    - SExecTaskInfo**
    - SReadHandle*
    - uint64_t
    - int32_t
    - char*
    - EOPTR_EXEC_MODEL
    constantsTouched: []
    func_position:
      end: 135
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 135
    functionName: createExecTaskInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - doCreateTask
    - nodesDestroyNode
    - createOperator
    - taosStrdup
    - doDestroyTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createExecTaskInfo(SSubplan* pPlan, SExecTaskInfo** pTaskInfo,
      SReadHandle* pHandle, uint64_t taskId, int32_t vgId, char* sql, EOPTR_EXEC_MODEL
      model) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stopTableScanOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pTaskInfo
    - rspCode
    argTypes:
    - SExecTaskInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: setTaskKilled
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - stopTableScanOperator
    linkageType: ''
    returnType: void
    signature: 'void setTaskKilled(SExecTaskInfo* pTaskInfo, int32_t rspCode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:167,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:180,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:202,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:183,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:208,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:159,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/querytask.c:158,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/querytask.c:168,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:196,1
    - Dst: extractQueriedColumnSchema
      Src: /src/tdengine/source/libs/executor/src/querytask.c:206,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:214,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:171,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/querytask.c:212,1
    - Dst: cleanupQueriedTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:189,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - pHandle
    - pScanNode
    - dbName
    - pTaskInfo
    argTypes:
    - SReadHandle*
    - SScanPhysiNode*
    - char*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 219
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 219
    functionName: initQueriedTableSchemaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - qError
    - cleanupQueriedTableScanInfo
    - taosArrayPush
    - taosStrdup
    - tCloneSSchemaWrapper
    - extractQueriedColumnSchema
    - GET_TASKID
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initQueriedTableSchemaInfo(SReadHandle* pHandle, SScanPhysiNode*
      pScanNode, const char* dbName, SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:267,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/querytask.c:269,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/querytask.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pStreamInfo
    argTypes:
    - SStreamTaskInfo*
    constantsTouched: []
    func_position:
      end: 271
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 271
    functionName: cleanupStreamInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDeleteSchemaWrapper
    - tOffsetDestroy
    linkageType: ''
    returnType: void
    signature: 'static void cleanupStreamInfo(SStreamTaskInfo* pStreamInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/querytask.c:279,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:283,1
    - Dst: cleanupStreamInfo
      Src: /src/tdengine/source/libs/executor/src/querytask.c:284,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/querytask.c:280,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/querytask.c:279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/querytask.c:287,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/querytask.c:291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:292,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/querytask.c:294,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:299,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/querytask.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pTaskInfo
    argTypes:
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: doDestroyTask
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - cleanupStreamInfo
    - taosArrayDestroy
    - nodesDestroyNode
    - destroyOperator
    - taosArrayDestroyEx
    - qDebug
    - freeOperatorParam
    - GET_TASKID
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void doDestroyTask(SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:306,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/querytask.c:309,1
    - Dst: tintToHex
      Src: /src/tdengine/source/libs/executor/src/querytask.c:307,1
    - Dst: tintToHex
      Src: /src/tdengine/source/libs/executor/src/querytask.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - taskId
    - queryId
    - dst
    argTypes:
    - uint64_t
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: buildTaskId
    functionSourceFile: /src/tdengine/source/libs/executor/src/querytask.c
    functionUses: []
    functionsReached:
    - memcpy
    - tintToHex
    linkageType: ''
    returnType: void
    signature: 'void buildTaskId(uint64_t taskId, uint64_t queryId, char* dst) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:107,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:118,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:151,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:163,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:166,1
    - Dst: removeRedundantTsCol
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:181,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:185,1
    - Dst: oneTableForEachGroup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:189,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:226,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:200,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:190,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:234,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:122,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:138,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:160,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:161,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:167,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:177,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:180,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:195,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:206,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:249,1
    - Dst: destroyCacheScanOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:253,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:238,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:186,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:193,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:231,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:121,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:154,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:149,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:152,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:151,1
    - Dst: extractCacheScanSlotId
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:176,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:192,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:202,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:217,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:211,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:220,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:249,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:227,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:216,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:100,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:106,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:137,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:148,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:156,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:159,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:174,1
    - Dst: SCAN_ROW_TYPE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:212,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:257,1
    - Dst: setColIdForCacheReadBlock
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:197,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:222,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 144
    argCount: 5
    argNames:
    - pScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SLastRowScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 260
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 260
    functionName: createCacherowsScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - createSqlFunctionCtx
    - taosArrayAddAll
    - taosArrayGetSize
    - taosArrayInit
    - tableListGetInfo
    - createOneDataBlock
    - tableListGetSize
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosArrayPush
    - destroyOperator
    - oneTableForEachGroup
    - setColIdForCacheReadBlock
    - TSDB_CHECK_CODE
    - taosArrayGet
    - removeRedundantTsCol
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - qError
    - destroyCacheScanOperator
    - QUERY_CHECK_NULL
    - tableListGetSuid
    - createOperatorFpSet
    - extractColMatchInfo
    - tstrerror
    - createExprInfo
    - extractCacheScanSlotId
    - SCAN_ROW_TYPE
    - TMIN
    - TARRAY_SIZE
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createCacherowsScanOperator(SLastRowScanPhysiNode* pScanNode,
      SReadHandle* readHandle, STableListInfo* pTableListInfo, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:442,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:445,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:443,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:446,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:447,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:448,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:449,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:450,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:458,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: destroyCacheScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - tableListDestroy
    - taosArrayDestroy
    - blockDataDestroy
    - cleanupExprSupp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyCacheScanOperator(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:66,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:70,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:69,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:67,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:77,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:78,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:80,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:92,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - pBlock
    - pScan
    argTypes:
    - SSDataBlock*
    - SLastRowScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 95
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 95
    functionName: setColIdForCacheReadBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayGet
    - qError
    - tstrerror
    - FOREACH
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setColIdForCacheReadBlock(SSDataBlock* pBlock, SLastRowScanPhysiNode*
      pScan) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:279,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:287,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:320,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:325,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:333,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:347,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:351,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:361,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:433,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:412,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:433,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:435,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:278,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:318,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:328,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:339,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:406,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:410,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:426,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:390,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:291,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:292,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:296,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:319,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:309,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:309,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:324,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:332,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:371,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:376,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:405,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:365,1
    - Dst: tableListGetSuid
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:276,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:323,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:310,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:349,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:372,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:382,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:407,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 126
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 438
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 438
    functionName: doScanCacheNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetTableGroupId
    - colDataSetVal
    - tableListGetOutputGroups
    - taosArrayGetSize
    - taosArrayClear
    - tableListGetSize
    - colDataSetNULL
    - colDataGetData
    - taosArrayGet
    - tableListGetGroupList
    - qError
    - setOperatorCompleted
    - QUERY_CHECK_NULL
    - addTagPseudoColumnData
    - tableListGetSuid
    - isTaskKilled
    - blockDataCleanup
    - colDataIsNull_s
    - T_LONG_JMP
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScanCacheNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:463,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:472,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:465,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:476,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:480,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - pColMatchInfo
    - pTaskInfo
    - pSlotIds
    - pDstSlotIds
    argTypes:
    - SArray*
    - SExecTaskInfo*
    - int32_t**
    - int32_t**
    constantsTouched: []
    func_position:
      end: 505
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 505
    functionName: extractCacheScanSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - taosArrayGetLast
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractCacheScanSlotId(const SArray* pColMatchInfo, SExecTaskInfo*
      pTaskInfo, int32_t** pSlotIds, int32_t** pDstSlotIds) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:514,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:515,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:516,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:519,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:531,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:532,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:534,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:535,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:544,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/cachescanoperator.c:544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - pScanNode
    - pColMatchInfo
    argTypes:
    - SLastRowScanPhysiNode*
    - SColMatchInfo*
    constantsTouched: []
    func_position:
      end: 547
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 547
    functionName: removeRedundantTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/cachescanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t removeRedundantTsCol(SLastRowScanPhysiNode* pScanNode, SColMatchInfo*
      pColMatchInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: sysFilte__Uid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__Uid(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2494
    functionName: doSetQueryFileSetRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetQueryFileSetRow() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3504,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3504,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3516,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3519,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - pHandle
    - uid
    - rowLen
    - idstr
    argTypes:
    - SReadHandle*
    - uint64_t
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 3538
      start: 3497
    functionDepth: 0
    functionLinenumber: 3497
    functionLinenumberEnd: 3538
    functionName: doGetTableRowSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tDecoderClear
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetTableRowSize(SReadHandle* pHandle, uint64_t uid,
      int32_t* rowLen, const char* idstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3265,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3269
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3269
    functionName: sysChkFilter__Uid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__Uid(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: sysFilte__Type
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__Type(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3273,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3277
      start: 3270
    functionDepth: 0
    functionLinenumber: 3270
    functionLinenumberEnd: 3277
    functionName: sysChkFilter__Type
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__Type(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3561,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3587,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3588,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3569,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3571,1
    - Dst: tSerializeBlockDistInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3573,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3570,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3583,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3578,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3598,1
    - Dst: doGetTableRowSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3553,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3554,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3567,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3600,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 3604
      start: 3540
    functionDepth: 0
    functionLinenumber: 3540
    functionLinenumberEnd: 3604
    functionName: doBlockInfoScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - doGetTableRowSize
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - varDataVal
    - qError
    - tstrerror
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - varDataSetLen
    - GET_TASKID
    - colDataSetInt64
    - tSerializeBlockDistInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBlockInfoScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:452,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:456,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:457,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:464,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:457,1
    - Dst: sysTableIsOperatorCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: sysTableIsCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - sysTableIsOperatorCondOnOneTable
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool sysTableIsCondOnOneTable(SNode* pCond, char* condTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1448,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1450,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1456,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1451,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1457,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1458,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1460,1
    - Dst: buildDbTableInfoBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1461,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1462,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1474,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1466,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1473,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1465,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - capacity
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1477
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1477
    functionName: buildSysDbTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getInfosDbMeta
    - relocateColumnData
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - qError
    - blockDataDestroy
    - tstrerror
    - QUERY_CHECK_NULL
    - buildDbTableInfoBlock
    - getPerfDbMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSysDbTableInfo(const SSysTableScanInfo* pInfo, int32_t
      capacity) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2527,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2557,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2531,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2640,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2638,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2657,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2563,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2575,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2659,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2620,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2662,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2507,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2584,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2547,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2608,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2666,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2673,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2510,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2566,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2637,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2530,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2599,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2525,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2581,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2571,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2583,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2607,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2601,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2641,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2619,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2528,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2616,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2673,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2519,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2525,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2558,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2565,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2600,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2618,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2598,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2522,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2580,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2610,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2656,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2564,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2582,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2643,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2573,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2591,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2660,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2609,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2542,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2525,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2674,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2559,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 142
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2680
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2680
    functionName: sysTableBuildUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataSetVal
    - varDataSetLen
    - varDataVal
    - taosArrayGet
    - relocateColumnData
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - doFilter
    - setOperatorCompleted
    - blockDataDestroy
    - qError
    - QUERY_CHECK_NULL
    - blockDataCleanup
    - tNameFromString
    - tstrerror
    - strlen
    - T_LONG_JMP
    - tNameGetDbName
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableBuildUserFileSets(SOperatorInfo* pOperator) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:514,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:538,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:545,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:478,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:533,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:517,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:543,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:531,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:524,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:521,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:527,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:531,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 3
    argNames:
    - pOperator
    - dataBlock
    - dbname
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 548
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 548
    functionName: doOptimizeTableNameFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - sysTableUserColsFillOneTableCols
    - qError
    - STR_TO_VARSTR
    - T_LONG_JMP
    - tstrerror
    - setOperatorCompleted
    - qDebug
    - relocateAndFilterSysTagsScanResult
    - GET_TASKID
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doOptimizeTableNameFilter(SOperatorInfo* pOperator,
      SSDataBlock* dataBlock, char* dbname) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1599,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1648,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1557,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1611,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1620,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1642,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1731,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1602,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1517,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1552,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1575,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1582,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1591,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1663,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1532,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1633,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1640,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1645,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1658,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1720,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1714,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1734,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1502,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1516,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1738,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1490,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1486,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1568,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1607,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1585,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1631,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1665,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1680,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1639,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1719,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1738,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1625,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1641,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1649,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1689,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1563,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1580,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1497,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1508,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1677,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1716,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1730,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1486,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1529,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1549,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1546,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1652,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1662,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1500,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1507,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1526,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1618,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1598,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1604,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1627,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1635,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1721,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1725,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1538,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1567,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1576,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1664,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1670,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1679,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1726,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1708,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1630,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1697,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1703,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1496,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1527,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1624,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1659,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1672,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1678,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1727,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1561,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1570,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1518,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1613,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1592,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1583,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1646,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1509,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1562,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1617,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1626,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1595,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1608,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1616,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1541,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1554,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1711,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 237
    argCount: 10
    argNames:
    - pMetaReaderFn
    - pMetaFn
    - pVnode
    - pMReader
    - uid
    - dbname
    - vgId
    - p
    - rowIndex
    - idStr
    argTypes:
    - SStoreMetaReader*
    - SStoreMeta*
    - void*
    - SMetaReader*
    - int64_t
    - char*
    - int32_t
    - SSDataBlock*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1740
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1740
    functionName: doSetUserTableMetaInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - qError
    - tstrerror
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetUserTableMetaInfo(SStoreMetaReader* pMetaReaderFn,
      SStoreMeta* pMetaFn, void* pVnode, SMetaReader* pMReader, int64_t uid, const
      char* dbname, int32_t vgId, SSDataBlock* p, int32_t rowIndex, const char* idStr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2695,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2705,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2695,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2707,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2708,1
    - Dst: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2713,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2716,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2719,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2719,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2735,1
    - Dst: sysTableBuildUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2728,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2733,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2733,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2722,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2682
    functionDepth: 0
    functionLinenumber: 2682
    functionLinenumberEnd: 2738
    functionName: sysTableScanUserFileSets
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - sysTableBuildUserFileSets
    - sysTableBuildUserTablesByUids
    - taosMemoryMalloc
    - qTrace
    - optSysTabFilte
    - qError
    - tstrerror
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - qDebug
    - GET_TASKID
    - taosArrayInit
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUserFileSets(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: sysFilte__Ttl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__Ttl(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:326,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 12
    argCount: 4
    argNames:
    - func
    - comparType
    - a
    - b
    argTypes:
    - __compar_fn_t
    - int8_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 351
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 351
    functionName: optSysDoCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: int
    signature: 'int optSysDoCompare(__compar_fn_t func, int8_t comparType, void* a,
      void* b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2881,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2886,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2884,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2882,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2887,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2895,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2895,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2899
      start: 2871
    functionDepth: 0
    functionLinenumber: 2871
    functionLinenumberEnd: 2899
    functionName: sysTableScanFillTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNItems
    - doFilter
    - STR_TO_VARSTR
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - T_LONG_JMP
    linkageType: ''
    returnType: void
    signature: 'static void sysTableScanFillTbName(SOperatorInfo* pOperator, const
      SSysTableScanInfo* pInfo, const char* name, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - cond
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3400
      start: 3391
    functionDepth: 0
    functionLinenumber: 3391
    functionLinenumberEnd: 3400
    functionName: optSysSpecialColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optSysSpecialColumn(SNode* cond) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3417,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3409,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3442,1
    - Dst: optSysSpecialColumn
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3446,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3428,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3447,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3453,1
    - Dst: optSysMergeRslt
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3467,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3473,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3404,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3424,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3437,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3459,1
    - Dst: optSysTabFilteImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3405,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3474,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3477,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3487,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3475,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3462,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 70
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3495
      start: 3402
    functionDepth: 0
    functionLinenumber: 3402
    functionLinenumberEnd: 3495
    functionName: optSysTabFilte
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - taosArrayDestroy
    - optSysTabFilteImpl
    - strcmp
    - optSysSpecialColumn
    - optSysMergeRslt
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optSysTabFilte(void* arg, SNode* cond, SArray* result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:296,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: sysFilte__STableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__STableName(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:354,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: optSysFilterFuncImpl__LowerThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__LowerThan(void* a, void* b, int16_t
      dtype) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2929,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2947,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2952,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2984,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2994,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2997,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2987,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2910,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2912,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2911,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2911,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2912,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2919,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2935,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2949,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2954,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2954,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2995,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2985,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2911,1
    - Dst: tSerializeSRetrieveTableReq
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2914,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2915,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2922,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2927,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2929,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2956,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2960,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2974,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2980,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2931,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2960,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2961,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2970,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2982,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2982,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2992,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2992,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2990,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - name
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SSysTableScanInfo*
    - char*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 3004
      start: 2901
    functionDepth: 0
    functionLinenumber: 2901
    functionLinenumberEnd: 3004
    functionName: sysTableScanFromMNode
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - GET_TASKID
    - tNameGetTableName
    - strcasecmp
    - asyncSendMsgToServer
    - extractDataBlockFromFetchRsp
    - tListLen
    - tSerializeSRetrieveTableReq
    - tstrncpy
    - qError
    - taosGetTimestampUs
    - tsem_wait
    - doFilter
    - taosMemoryFreeClear
    - updateLoadRemoteInfo
    - tstrerror
    - T_LONG_JMP
    - qDebug
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanFromMNode(SOperatorInfo* pOperator,
      SSysTableScanInfo* pInfo, const char* name, SExecTaskInfo* pTaskInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3648,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3679,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3678,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3690,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3672,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3687,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3652,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3660,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3667,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3688,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3693,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3707,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3653,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3662,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3666,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3691,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3674,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3695,1
    - Dst: destroyBlockDistScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3703,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 5
    argNames:
    - readHandle
    - pBlockScanNode
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SBlockDistScanPhysiNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 3710
      start: 3645
    functionDepth: 0
    functionLinenumber: 3645
    functionLinenumberEnd: 3710
    functionName: createDataBlockInfoScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - cleanupQueryTableDataCond
    - tableListGetSize
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - setOperatorInfo
    - destroyBlockDistScanOperatorInfo
    - createDataBlockFromDescNode
    - initExprSupp
    - QUERY_CHECK_NULL
    - destroyOperator
    - initTableblockDistQueryCond
    - createExprInfo
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataBlockInfoScanOperator(SReadHandle* readHandle, SBlockDistScanPhysiNode*
      pBlockScanNode, STableListInfo* pTableListInfo, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1750,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1764,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1767,1
    - Dst: doSetUserTableMetaInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1784,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1785,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1788,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1819,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1842,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1779,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1769,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1794,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1804,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1822,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1845,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1830,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1762,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1770,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1777,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1773,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1790,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1793,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1801,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1803,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1825,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1835,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1843,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1761,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1764,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1765,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1767,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1767,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1778,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1800,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1806,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1820,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 82
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1848
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1848
    functionName: sysTableBuildUserTablesByUids
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataSetVal
    - varDataSetLen
    - taosArrayGetSize
    - GET_TASKID
    - doSetUserTableMetaInfo
    - varDataVal
    - taosArrayGet
    - relocateColumnData
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - doFilter
    - setOperatorCompleted
    - blockDataDestroy
    - qError
    - QUERY_CHECK_NULL
    - blockDataCleanup
    - tNameFromString
    - tstrerror
    - strlen
    - T_LONG_JMP
    - tNameGetDbName
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableBuildUserTablesByUids(SOperatorInfo*
      pOperator) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1886,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1885,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1903,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1912,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1987,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1990,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2009,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2050,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1905,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2017,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2031,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2080,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2096,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2111,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2079,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1968,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1964,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1915,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1927,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1936,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1996,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2003,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2043,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1960,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1873,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1918,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1951,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2056,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2066,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2108,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2150,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2038,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1893,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1910,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1935,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1924,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1975,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2021,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2036,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2040,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2046,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1888,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1900,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1952,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1982,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2029,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2037,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2067,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2073,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2126,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2132,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2196,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1861,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2002,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2013,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2025,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2060,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2082,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2091,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1969,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1958,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1891,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1983,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2052,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2075,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2106,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2115,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2134,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2044,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2184,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1882,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1906,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1917,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1973,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1959,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1995,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2113,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1885,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1911,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1950,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1989,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2022,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2065,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2032,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1909,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1988,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1998,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2035,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2057,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2090,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2147,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2173,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1926,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1940,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1981,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2168,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2170,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2061,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2099,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2138,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1888,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1904,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1953,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1977,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1965,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1944,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1916,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2001,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2012,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2124,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2140,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2167,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2191,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1974,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1869,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1925,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1941,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2007,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2045,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2062,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2105,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2125,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2072,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2091,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1984,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1970,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2071,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2114,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2130,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2139,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2051,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2127,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1894,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2030,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2081,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2095,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2068,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 317
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2199
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 2199
    functionName: sysTableBuildUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataSetVal
    - varDataSetLen
    - GET_TASKID
    - colDataSetNULL
    - varDataVal
    - taosArrayGet
    - relocateColumnData
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - qError
    - STR_TO_VARSTR
    - blockDataDestroy
    - doFilter
    - QUERY_CHECK_NULL
    - setOperatorCompleted
    - blockDataCleanup
    - isTsmaResSTb
    - tNameFromString
    - tstrerror
    - strlen
    - T_LONG_JMP
    - tNameGetDbName
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableBuildUserTables(SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3721,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3725,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3726,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3722,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3729,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3731,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3733,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3737,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3738,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3740,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3745,1
    - Dst: tableListAddTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3744,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3750,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3751,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - pOperator
    - id
    - ppTableListInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - STableListInfo**
    constantsTouched: []
    func_position:
      end: 3753
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3753
    functionName: buildTableListInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListDestroy
    - taosArrayGet
    - tableListCreate
    - tableListAddTableInfo
    - taosArrayDestroy
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTableListInfo(SOperatorInfo* pOperator, STableId*
      id, STableListInfo** ppTableListInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:361,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: optSysFilterFuncImpl__LowerEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__LowerEqual(void* a, void* b, int16_t
      dtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:390,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 395
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 395
    functionName: optSysFilterFuncImpl__NoEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__NoEqual(void* a, void* b, int16_t
      dtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:368,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: optSysFilterFuncImpl__GreaterThan
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__GreaterThan(void* a, void* b, int16_t
      dtype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:557,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:558,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:560,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:561,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:563,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:563,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:563,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - dbname
    - pInfo
    - pAPI
    argTypes:
    - char*
    - SSysTableScanInfo*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 570
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 570
    functionName: doExtractDbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - varDataVal
    - tNameFromString
    - qError
    - tstrerror
    - strlen
    - varDataSetLen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doExtractDbName(char* dbname, SSysTableScanInfo* pInfo, SStorageAPI*
      pAPI) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCondition
    - dbName
    argTypes:
    - SNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2797
      start: 2792
    functionDepth: 0
    functionLinenumber: 2792
    functionLinenumberEnd: 2797
    functionName: getDBNameFromCondition
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: 'static void getDBNameFromCondition(SNode* pCondition, const char*
      dbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3608,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3612,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3614
      start: 3606
    functionDepth: 0
    functionLinenumber: 3606
    functionLinenumberEnd: 3614
    functionName: destroyBlockDistScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - tableListDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyBlockDistScanOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:174,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:176,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:182,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:185,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:185,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:185,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:195,1
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: sysFilte__DbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    - func
    - varDataVal
    - tNameFromString
    - qError
    - tstrerror
    - strlen
    - varDataSetLen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__DbName(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:637,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:767,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:693,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:772,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:781,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:763,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:696,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:725,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:593,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:622,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:643,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:691,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:694,1
    - Dst: sysTableUserColsFillOneTableCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:757,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:673,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:636,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:669,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:688,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:589,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:740,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:721,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:617,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:743,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:702,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:651,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:653,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:612,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:639,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:654,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:666,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:734,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:780,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:718,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:596,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:641,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:704,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:776,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:783,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:708,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:705,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:590,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:651,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:698,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:682,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:592,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:656,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:691,1
    - Dst: doOptimizeTableNameFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:600,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:601,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:665,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:699,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:702,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:748,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:717,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:622,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:623,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:617,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:636,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:696,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:758,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:776,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:781,1
    - Dst: doExtractDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:595,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:743,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:647,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 190
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 786
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 786
    functionName: sysTableScanUserCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doExtractDbName
    - sysTableUserColsFillOneTableCols
    - terrstr
    - relocateAndFilterSysTagsScanResult
    - GET_TASKID
    - taosHashInit
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - taosHashGet
    - qError
    - blockDataDestroy
    - STR_TO_VARSTR
    - setOperatorCompleted
    - QUERY_CHECK_NULL
    - blockDataCleanup
    - doOptimizeTableNameFilter
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - tCloneSSchemaWrapper
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUserCols(SOperatorInfo* pOperator) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2814,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2818,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2819,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2820,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2823,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2824,1
    - Dst: sysTableScanUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2830,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2833,1
    - Dst: sysTableScanUserFileSets
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2841,1
    - Dst: sysTableScanFromMNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2843,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2806,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2812,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2825,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2822,1
    - Dst: sysTableScanUserTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2832,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2838,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2866,1
    - Dst: getDBNameFromCondition
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2816,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2807,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2820,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2829,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2824,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2835,1
    - Dst: sysTableScanUserSTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2837,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2840,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2850,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2817,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2831,1
    - Dst: sysTableScanUserCols
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2834,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2836,1
    - Dst: sysTableScanUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2839,1
    - Dst: sysTableScanFillTbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2846,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2865,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2865,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2848,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2869
      start: 2799
    functionDepth: 0
    functionLinenumber: 2799
    functionLinenumberEnd: 2869
    functionName: doSysTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - sysTableScanFromMNode
    - sysTableScanUserTables
    - sysTableScanUserTags
    - sysTableScanUserCols
    - tsnprintf
    - sysTableScanFillTbName
    - tNameGetTableName
    - sysTableScanUserFileSets
    - sysTableIsCondOnOneTable
    - qError
    - setOperatorCompleted
    - isTaskKilled
    - getDBNameFromCondition
    - applyLimitOffset
    - blockDataCleanup
    - sysTableScanUsage
    - strncasecmp
    - sysTableScanUserSTables
    - tstrerror
    - T_LONG_JMP
    - IS_SYS_DBNAME
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSysTableScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3617,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3622,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - uid
    - pCond
    argTypes:
    - uint64_t
    - SQueryTableDataCond*
    constantsTouched: []
    func_position:
      end: 3643
      start: 3616
    functionDepth: 0
    functionLinenumber: 3616
    functionLinenumberEnd: 3643
    functionName: initTableblockDistQueryCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initTableblockDistQueryCond(uint64_t uid, SQueryTableDataCond*
      pCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3213,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3217
    functionName: sysChkFilter__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__VgroupId(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 263
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 263
    functionName: sysFilte__CreateTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__CreateTime(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2745
      start: 2740
    functionDepth: 0
    functionLinenumber: 2740
    functionLinenumberEnd: 2745
    functionName: getSysTableDbNameColId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSysTableDbNameColId(const char* pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 275
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 275
    functionName: sysFilte__Ncolumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__Ncolumn(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2749,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2782,1
    - Dst: getSysTableDbNameColId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2768,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2783,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2783,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2790
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2790
    functionName: getDBNameFromConditionWalker
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - varDataVal
    - tstrncpy
    - getSysTableDbNameColId
    - nodesGetValueFromNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes getDBNameFromConditionWalker(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3221,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3225
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3225
    functionName: sysChkFilter__TableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__TableName(SNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3121,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3123,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3121,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3127,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3128,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3137,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3154,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3142,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3155
    functionName: destroySysScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strncasecmp
    - taosArrayDestroy
    - tNameGetTableName
    - qError
    - tstrerror
    - blockDataDestroy
    - tsem_destroy
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroySysScanOperator(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3380
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3380
    functionName: tableUidCompare
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tableUidCompare(const void* a, const void* b) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3164,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3167,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3169,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3165,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3172,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3174,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3178,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3183
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3183
    functionName: loadSysTableCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - htonl
    - rpcCvtErrCode
    - qError
    - tstrerror
    - tsem_post
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadSysTableCallback(void* param, SDataBuf* pMsg, int32_t
      code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3384,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3385,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3386,1
    - Dst: optSysIntersection
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - mRslt
    - rslt
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3389
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3389
    functionName: optSysMergeRslt
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosArraySort
    - optSysIntersection
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optSysMergeRslt(SArray* mRslt, SArray* rslt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:375,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 380
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 380
    functionName: optSysFilterFuncImpl__GreaterEqual
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__GreaterEqual(void* a, void* b, int16_t
      dtype) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:991,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:995,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1007,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1003,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:999,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1012,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1016,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1016,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1020,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1020,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1038,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1053,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1030,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1045,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1049,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1057,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 39
    argCount: 6
    argNames:
    - str
    - strBuffLen
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int32_t
    - int
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1067
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 1067
    functionName: convertTagDataToStr
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosUcs4ToMbs
    - GET_FLOAT_VAL
    - memcpy
    - GET_DOUBLE_VAL
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertTagDataToStr(char* str, int32_t strBuffLen, int type,
      void* buf, int32_t bufSize, int32_t* len) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1115,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1119,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1121,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1127,1
    - Dst: tTagGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1170,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1180,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1199,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1199,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1207,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1200,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1194,1
    - Dst: convertTagDataToStr
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1211,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1211,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1232,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1103,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1120,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1126,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1132,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1131,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1143,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1155,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1158,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1178,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1202,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1219,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1214,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1220,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1218,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1124,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1133,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1139,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1135,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1160,1
    - Dst: sysTableGetGeomText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1173,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1174,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1217,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1221,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1134,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1140,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1143,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1147,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1151,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1152,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1154,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1159,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1176,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1201,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1224,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1232,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1203,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1205,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1201,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 145
    argCount: 7
    argNames:
    - pInfo
    - smrSuperTable
    - smrChildTable
    - dbname
    - tableName
    - pNumOfRows
    - dataBlock
    argTypes:
    - SSysTableScanInfo*
    - SMetaReader*
    - SMetaReader*
    - char*
    - char*
    - int32_t*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1235
    functionName: sysTableUserTagsFillOneTableTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - tTagGet
    - colDataSetVal
    - taosMemoryCalloc
    - varDataSetLen
    - IS_VAR_DATA_TYPE
    - sysTableGetGeomText
    - tsnprintf
    - taosMemoryMalloc
    - varDataVal
    - memcpy
    - taosAscii2Hex
    - tTagIsJsonNull
    - taosArrayGet
    - parseTagDatatoJson
    - convertTagDataToStr
    - qError
    - STR_TO_VARSTR
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysTableUserTagsFillOneTableTags(const SSysTableScanInfo*
      pInfo, SMetaReader* smrSuperTable, SMetaReader* smrChildTable, const char* dbname,
      const char* tableName, int32_t* pNumOfRows, const SSDataBlock* dataBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3249,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3253
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3253
    functionName: sysChkFilter__Ttl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__Ttl(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:382,1
    - Dst: optSysDoCompare
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:386,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - dtype
    argTypes:
    - void*
    - void*
    - int16_t
    constantsTouched: []
    func_position:
      end: 387
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 387
    functionName: optSysFilterFuncImpl__Equal
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getComparFunc
    - optSysDoCompare
    linkageType: ''
    returnType: int
    signature: 'static int optSysFilterFuncImpl__Equal(void* a, void* b, int16_t dtype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1075,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1080,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1082,1
    - Dst: doAsText
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1081,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1082,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1089,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1093,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - iGeom
    - nGeom
    - output
    - nOutput
    argTypes:
    - char*
    - int32_t
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1095
    functionName: sysTableGetGeomText
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - initCtxAsText
    - getGeosErrMsg
    - qError
    - strlen
    - TAOS_RETURN
    - doAsText
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysTableGetGeomText(char* iGeom, int32_t nGeom, char**
      output, int32_t* nOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1256,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1260,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1262,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1266,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1274,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1283,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1290,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1306,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1312,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1253,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1255,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1279,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1293,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1296,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1301,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1322,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1326,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1259,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1264,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1272,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1271,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1280,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1283,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1287,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1303,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1307,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1320,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1267,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1273,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1275,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1290,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1293,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1297,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1302,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1308,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1336,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1323,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1336,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1324,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1319,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 8
    argNames:
    - pInfo
    - dbname
    - pNumOfRows
    - dataBlock
    - tName
    - schemaRow
    - tableType
    - colRef
    argTypes:
    - SSysTableScanInfo*
    - char*
    - int32_t*
    - SSDataBlock*
    - char*
    - SSchemaWrapper*
    - char*
    - SColRefWrapper*
    constantsTouched: []
    func_position:
      end: 1339
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1339
    functionName: sysTableUserColsFillOneTableCols
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - varDataVal
    - qError
    - STR_TO_VARSTR
    - tstrerror
    - QUERY_CHECK_NULL
    - varDataSetLen
    - strcat
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysTableUserColsFillOneTableCols(const SSysTableScanInfo*
      pInfo, const char* dbname, int32_t* pNumOfRows, const SSDataBlock* dataBlock,
      char* tName, SSchemaWrapper* schemaRow, char* tableType, SColRefWrapper *colRef) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3257,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3260,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3261
      start: 3254
    functionDepth: 0
    functionLinenumber: 3254
    functionLinenumberEnd: 3261
    functionName: sysChkFilter__STableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__STableName(SNode* pNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3865,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3863,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3859,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3871,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3872,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3878,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3879,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3896,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3900,1
    - Dst: vnodeEstimateRawDataSizeImpl
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3888,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 3902
      start: 3845
    functionDepth: 0
    functionLinenumber: 3845
    functionLinenumberEnd: 3902
    functionName: vnodeEstimateRawDataSize
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayDestroy
    - qError
    - tstrerror
    - taosArrayPush
    - vnodeEstimateRawDataSizeImpl
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeEstimateRawDataSize(SOperatorInfo* pOperator,
      SDbSizeStatisInfo* pStaticInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3776,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3784,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3787,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3794,1
    - Dst: doGetTableRowSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3787,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3779,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3766,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3771,1
    - Dst: buildTableListInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3765,1
    - Dst: initTableblockDistQueryCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3777,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3807,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3788,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3817,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3823,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 3
    argNames:
    - pOperator
    - id
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - STableId*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 3825
      start: 3754
    functionDepth: 0
    functionLinenumber: 3754
    functionLinenumberEnd: 3825
    functionName: vnodeEstimateDataSizeByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - cleanupQueryTableDataCond
    - tableListDestroy
    - tableListGetSize
    - doGetTableRowSize
    - buildTableListInfo
    - initTableblockDistQueryCond
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeEstimateDataSizeByUid(SOperatorInfo* pOperator,
      STableId* id, SDbSizeStatisInfo* pStaticInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:815,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:818,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:819,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:821,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:867,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:872,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:891,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:905,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:920,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:930,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:958,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:800,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:803,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:818,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:821,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:827,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:842,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:898,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:898,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:928,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:899,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:882,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:924,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:807,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:804,1
    - Dst: sysTableIsCondOnOneTable
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:825,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:854,1
    - Dst: sysTableUserTagsFillOneTableTags
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:858,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:903,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:924,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:953,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:909,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:941,1
    - Dst: relocateAndFilterSysTagsScanResult
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:937,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:806,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:816,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:835,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:864,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:870,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:954,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:879,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:953,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:946,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 142
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 961
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 961
    functionName: sysTableScanUserTags
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - varDataSetLen
    - relocateAndFilterSysTagsScanResult
    - GET_TASKID
    - varDataVal
    - sysTableUserTagsFillOneTableTags
    - sysTableIsCondOnOneTable
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - qError
    - STR_TO_VARSTR
    - blockDataDestroy
    - setOperatorCompleted
    - QUERY_CHECK_NULL
    - blockDataCleanup
    - tNameFromString
    - tstrerror
    - strlen
    - T_LONG_JMP
    - tNameGetDbName
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUserTags(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:970,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:971,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:974,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:973,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:976,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:980,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:980,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - pInfo
    - numOfRows
    - dataBlock
    - pFilterInfo
    - pTaskInfo
    argTypes:
    - SSysTableScanInfo*
    - int32_t
    - SSDataBlock*
    - SFilterInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 984
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 984
    functionName: relocateAndFilterSysTagsScanResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - relocateColumnData
    - qError
    - doFilter
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: void
    signature: 'void relocateAndFilterSysTagsScanResult(SSysTableScanInfo* pInfo,
      int32_t numOfRows, SSDataBlock* dataBlock, SFilterInfo* pFilterInfo, SExecTaskInfo*
      pTaskInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3835,1
    - Dst: vnodeEstimateDataSizeByUid
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3837,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3836,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 3
    argNames:
    - pOperator
    - pTableList
    - pStaticInfo
    argTypes:
    - SOperatorInfo*
    - SArray*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 3843
      start: 3827
    functionDepth: 0
    functionLinenumber: 3827
    functionLinenumberEnd: 3843
    functionName: vnodeEstimateRawDataSizeImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - vnodeEstimateDataSizeByUid
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeEstimateRawDataSizeImpl(SOperatorInfo* pOperator,
      SArray* pTableList, SDbSizeStatisInfo* pStaticInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - ctype
    - reverse
    - equal
    argTypes:
    - int32_t
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 429
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 429
    functionName: optSysGetFilterFunc
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: __optSysFilter
    signature: '__optSysFilter optSysGetFilterFunc(int32_t ctype, bool* reverse, bool*
      equal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:434,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:439,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:435,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:435,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:440,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:440,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pCond
    - condTable
    argTypes:
    - SNode*
    - char*
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: sysTableIsOperatorCondOnOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesGetNameFromColumnNode
    - varDataVal
    - tstrncpy
    - strcasecmp
    - nodesGetValueFromNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sysTableIsOperatorCondOnOneTable(SNode* pCond, char* condTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - arr
    - s
    - e
    - k
    argTypes:
    - SArray*
    - int
    - int
    - uint64_t
    constantsTouched: []
    func_position:
      end: 3323
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3323
    functionName: optSysBinarySearch
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int optSysBinarySearch(SArray* arr, int s, int
      e, uint64_t k) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1344,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1348,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1364,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1355,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1366,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - tableName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1375
    functionName: buildInfoSchemaTableMetaBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    - blockDataAppendColInfo
    - strcmp
    - qError
    - tstrerror
    - blockDataDestroy
    - createDataBlock
    - createColumnInfoData
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildInfoSchemaTableMetaBlock(char* tableName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeEstimateRawDataSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2216,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2214,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pOperator
    - pStaticsInfo
    argTypes:
    - SOperatorInfo*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 2231
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2231
    functionName: buildVgDiskUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - vnodeEstimateRawDataSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVgDiskUsage(SOperatorInfo* pOperator, SDbSizeStatisInfo*
      pStaticsInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1390,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1398,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1402,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1404,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1406,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1410,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1416,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1430,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1395,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1397,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1405,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1420,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1414,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1429,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1409,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1399,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1403,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1415,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1421,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1425,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:1439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 6
    argNames:
    - sysInfo
    - p
    - pSysDbTableMeta
    - size
    - dbName
    - pRows
    argTypes:
    - bool
    - SSDataBlock*
    - SSysTableMeta*
    - size_t
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1442
    functionName: buildDbTableInfoBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - strcmp
    - qError
    - STR_TO_VARSTR
    - tstrerror
    - QUERY_CHECK_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildDbTableInfoBlock(bool sysInfo, const SSDataBlock* p,
      const SSysTableMeta* pSysDbTableMeta, size_t size, const char* dbName, int64_t*
      pRows) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2249,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2256,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2268,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2274,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2279,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2287,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2308,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2308,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2318,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2329,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2340,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2345,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2375,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2349,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2333,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2275,1
    - Dst: tSerializeBlockDbUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2286,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2289,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2303,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2308,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2317,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2324,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2365,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2350,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2362,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2372,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2341,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2382,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2325,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2263,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2277,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2285,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2302,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2305,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2306,1
    - Dst: buildInfoSchemaTableMetaBlock
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2310,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2330,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2332,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2342,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2344,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2346,1
    - Dst: buildVgDiskUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2262,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2291,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2292,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2288,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2305,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2314,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2316,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2322,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2337,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2348,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2381,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2320,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2368,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2384,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2354,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 141
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2387
    functionName: sysTableBuildVgUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - colDataSetVal
    - varDataSetLen
    - tSerializeBlockDbUsage
    - varDataVal
    - taosArrayGet
    - relocateColumnData
    - blockDataEnsureCapacity
    - buildInfoSchemaTableMetaBlock
    - doFilter
    - setOperatorCompleted
    - blockDataDestroy
    - qError
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - buildVgDiskUsage
    - tNameFromString
    - tstrerror
    - strlen
    - T_LONG_JMP
    - tNameGetDbName
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableBuildVgUsage(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3329,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3336,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3334,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3337,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3333,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3341,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3342,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3343,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3345,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3346,1
    - Dst: optSysBinarySearch
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3347,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3368,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3368,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3349,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3357,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3371
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3371
    functionName: optSysIntersection
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosMemoryCalloc
    - optSysBinarySearch
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optSysIntersection(SArray* in, SArray* out) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:213,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:216,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: sysFilte__VgroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__VgroupId(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: buildSysDbTableInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2402,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2403,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2406,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2405,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2409,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2418,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2420,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2421,1
    - Dst: optSysTabFilte
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2426,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2432,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2445,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2432,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2435,1
    - Dst: sysTableBuildUserTables
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2440,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2445,1
    - Dst: sysTableBuildUserTablesByUids
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2429,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2447,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2450
    functionName: sysTableScanUserTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - sysTableBuildUserTablesByUids
    - taosMemoryMalloc
    - optSysTabFilte
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - buildSysDbTableInfo
    - QUERY_CHECK_NULL
    - qDebug
    - T_LONG_JMP
    - GET_TASKID
    - sysTableBuildUserTables
    - taosArrayInit
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUserTables(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3194
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3194
    functionName: sysChkFilter__Comm
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__Comm(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3230,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3234
      start: 3226
    functionDepth: 0
    functionLinenumber: 3226
    functionLinenumberEnd: 3234
    functionName: sysChkFilter__CreateTime
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__CreateTime(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: optSysCheckOper
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3279,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 3
    argNames:
    - arg
    - cond
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3294
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3294
    functionName: optSysTabFilteImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - strcmp
    - optSysCheckOper
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optSysTabFilteImpl(void* arg, SNode* cond, SArray*
      result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3297,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3304,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pOpear
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3308
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3308
    functionName: optSysCheckOper
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t optSysCheckOper(SNode* pOpear) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optSysGetFilterFunc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - pNode
    - result
    argTypes:
    - void*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: sysFilte__TableName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - optSysGetFilterFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sysFilte__TableName(void* arg, SNode* pNode, SArray* result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysTableBuildVgUsage
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2461,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2465,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2467,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:2465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2470
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2470
    functionName: sysTableScanUsage
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - T_LONG_JMP
    - qError
    - sysTableBuildVgUsage
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUsage(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3204,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3209
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3209
    functionName: sysChkFilter__DBName
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__DBName(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3240,1
    - Dst: sysChkFilter__Comm
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3244
      start: 3236
    functionDepth: 0
    functionLinenumber: 3236
    functionLinenumberEnd: 3244
    functionName: sysChkFilter__Ncolumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - sysChkFilter__Comm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sysChkFilter__Ncolumn(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2484
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2484
    functionName: sysTableScanUserSTables
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * sysTableScanUserSTables(SOperatorInfo* pOperator) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3008,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3026,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3033,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3034,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3054,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3025,1
    - Dst: extractTbnameSlotId
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3028,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3049,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3074,1
    - Dst: destroySysScanOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3084,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3091,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3087,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3087,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3022,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3012,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3037,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3038,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3047,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3059,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3061,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3076,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3077,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3013,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3042,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3056,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3051,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3043,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3045,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3057,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3058,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3062,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3063,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3066,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 83
    argCount: 5
    argNames:
    - readHandle
    - pScanPhyNode
    - pUser
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SSystemTableScanPhysiNode*
    - char*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 3095
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3095
    functionName: createSysTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - tNameAssign
    - initLimitInfo
    - taosArrayGetSize
    - tNameGetTableName
    - setOperatorInfo
    - createDataBlockFromDescNode
    - destroyOperator
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - extractColMatchInfo
    - strncasecmp
    - tsem_init
    - destroySysScanOperator
    - tstrerror
    - taosStrdup
    - extractTbnameSlotId
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSysTableScanOperatorInfo(void* readHandle, SSystemTableScanPhysiNode*
      pScanPhyNode, const char* pUser, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3101,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3106,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/sysscanoperator.c:3103,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pInfo
    - pScanNode
    argTypes:
    - SSysTableScanInfo*
    - SScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3115
    functionName: extractTbnameSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/sysscanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'void extractTbnameSlotId(SSysTableScanInfo* pInfo, const SScanPhysiNode*
      pScanNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1605,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - struct SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1614
    functionName: getTableScannerExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableScannerExecInfo(struct SOperatorInfo* pOptr,
      void** pOptrExplain, uint32_t* len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4564,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4576,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4594,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4568,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4575,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4580,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4549,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4556,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4586,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4589,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4590,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4592,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4587,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4591,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4588,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4560,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4579,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4595
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4595
    functionName: destroyStreamScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tableListDestroy
    - taosMemoryFree
    - taosArrayDestroy
    - destroyExprInfo
    - destroyDiskbasedBuf
    - blockDataDestroy
    - destroyOperator
    - cleanupExprSupp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamScanOperatorInfo(void* param) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5714,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5717,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5734,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5735,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5752,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5772,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 3
    argNames:
    - pOperator
    - pInput
    - pSubTableHasBlock
    argTypes:
    - SOperatorInfo*
    - STmsSubTableInput*
    - bool*
    constantsTouched: []
    func_position:
      end: 5782
      start: 5704
    functionDepth: 0
    functionLinenumber: 5704
    functionLinenumberEnd: 5782
    functionName: fetchNextSubTableBlockFromReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - loadDataBlock
    - tableListGetTableGroupId
    - isTaskKilled
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fetchNextSubTableBlockFromReader(SOperatorInfo* pOperator,
      STmsSubTableInput* pInput, bool* pSubTableHasBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5822,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5831,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5824,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pSubTblsInfo
    argTypes:
    - STmsSubTablesMergeInfo*
    constantsTouched: []
    func_position:
      end: 5832
      start: 5809
    functionDepth: 0
    functionLinenumber: 5809
    functionLinenumberEnd: 5832
    functionName: openSubTablesMergeSort
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tMergeTreeCreate
    - taosArrayGet
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t openSubTablesMergeSort(STmsSubTablesMergeInfo* pSubTblsInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tblCountScanGetInputs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7016,1
    - Dst: tblCountScanGetGroupTagsSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7026,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7018,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7018,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7028,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7028,1
    - Dst: tblCountScanGetCountSlotId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7032,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7034,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7034,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - groupTags
    - tableName
    - scanCols
    - pseudoCols
    - supp
    - taskInfo
    argTypes:
    - SNodeList*
    - SName*
    - SNodeList*
    - SNodeList*
    - STableCountScanSupp*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 7038
      start: 7013
    functionDepth: 0
    functionLinenumber: 7013
    functionLinenumberEnd: 7038
    functionName: getTableCountScanSupp
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tblCountScanGetCountSlotId
    - tblCountScanGetInputs
    - qError
    - tblCountScanGetGroupTagsSlotId
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableCountScanSupp(SNodeList* groupTags, SName* tableName,
      SNodeList* scanCols, SNodeList* pseudoCols, STableCountScanSupp* supp, SExecTaskInfo*
      taskInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1617,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1626,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1618,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1629,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1630,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pBase
    - pAPI
    argTypes:
    - STableScanBase*
    - TsdReader*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1632
    functionName: destroyTableScanBase
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - cleanupQueryTableDataCond
    - tableListDestroy
    - taosArrayDestroy
    - cleanupExprSupp
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyTableScanBase(STableScanBase* pBase, TsdReader*
      pAPI) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4617,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4620,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4643,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4635,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4647,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4651,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4608,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4624,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4627,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4636,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4644,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4630,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4655,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4658,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4661,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4614,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4622,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4641,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4638,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4615,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4654,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4659,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4662
      start: 4597
    functionDepth: 0
    functionLinenumber: 4597
    functionLinenumberEnd: 4662
    functionName: streamScanReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - taosMemoryCalloc
    - tEndEncode
    - qError
    - tstrerror
    - tStartEncode
    - strlen
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void streamScanReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5788,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5790,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5798,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5796,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5790,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    constantsTouched: []
    func_position:
      end: 5807
      start: 5784
    functionDepth: 0
    functionLinenumber: 5784
    functionLinenumberEnd: 5807
    functionName: setGroupStartEndIndex
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tableListGetInfo
    - tableListGetSize
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setGroupStartEndIndex(STableMergeScanInfo* pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setGroupStartEndIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5835,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5837,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5844,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5840,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5837,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5846,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5849,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5850,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5852,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5852,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5868,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5866,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5861,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5869,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    constantsTouched: []
    func_position:
      end: 5877
      start: 5834
    functionDepth: 0
    functionLinenumber: 5834
    functionLinenumberEnd: 5877
    functionName: initSubTablesMergeInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - setGroupStartEndIndex
    - taosArrayGet
    - taosMemoryFree
    - taosMemoryCalloc
    - qError
    - tstrerror
    - createDiskbasedBuf
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initSubTablesMergeInfo(STableMergeScanInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7042,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7057,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7048,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7058,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7047,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7059,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7061,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7062,1
    - Dst: getTableCountScanSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7064,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7067,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7069,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7071,1
    - Dst: destoryTableCountScanOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7078,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7082,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - readHandle
    - pTblCountScanNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableCountScanPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 7086
      start: 7040
    functionDepth: 0
    functionLinenumber: 7040
    functionLinenumberEnd: 7086
    functionName: createTableCountScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - blockDataEnsureCapacity
    - getTableCountScanSupp
    - setOperatorInfo
    - initResultSizeInfo
    - destoryTableCountScanOperator
    - createDataBlockFromDescNode
    - QUERY_CHECK_NULL
    - destroyOperator
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTableCountScanOperatorInfo(SReadHandle* readHandle,
      STableCountScanPhysiNode* pTblCountScanNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:288,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - rows
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: doSetTagColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - addTagPseudoColumnData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetTagColumnData(STableScanBase* pTableScanInfo,
      SSDataBlock* pBlock, SExecTaskInfo* pTaskInfo, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pTableScanInfo
    - pWin
    - ver
    argTypes:
    - STableScanInfo*
    - STimeWindow*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1869
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1869
    functionName: resetTableScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void resetTableScanInfo(STableScanInfo* pTableScanInfo, STimeWindow*
      pWin, int64_t ver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3462,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3466,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3483,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3486,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3464,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3469,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3480,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3485,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3485,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3482,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3487,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3500,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3470,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3476,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3486,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3477,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3488,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3488,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - pDst
    - pSrc
    - pReader
    - pReaderFn
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - STqReader*
    - SStoreTqReader*
    constantsTouched: []
    func_position:
      end: 3503
      start: 3455
    functionDepth: 0
    functionLinenumber: 3455
    functionLinenumberEnd: 3503
    functionName: filterDelBlockByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t filterDelBlockByUid(SSDataBlock* pDst, const SSDataBlock*
      pSrc, STqReader* pReader, SStoreTqReader* pReaderFn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4329,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4328,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4331,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4324,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4333,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4334,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pTableListInfo
    - ppArrayRes
    argTypes:
    - STableListInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 4344
      start: 4320
    functionDepth: 0
    functionLinenumber: 4320
    functionLinenumberEnd: 4344
    functionName: extractTableIdList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - tableListGetSize
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractTableIdList(const STableListInfo* pTableListInfo, SArray**
      ppArrayRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6100,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6106,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6107,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6105,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6104,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableMergeScanInfo*
    constantsTouched: []
    func_position:
      end: 6120
      start: 6097
    functionDepth: 0
    functionLinenumber: 6097
    functionLinenumberEnd: 6120
    functionName: stopSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tMergeTreeDestroy
    - taosMemoryFree
    - taosArrayDestroy
    - destroyDiskbasedBuf
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'static void stopSubTablesTableMergeScan(STableMergeScanInfo* pInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6659,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6665,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6673,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6687,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6698,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6712,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6717,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6655,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6658,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6670,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6671,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6678,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6685,1
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6696,1
    - Dst: startGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6711,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6721,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6721,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6697,1
    - Dst: stopGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6701,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6703,1
    - Dst: getSortedTableMergeScanBlockData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6709,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6723,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6653,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6686,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6708,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6729
      start: 6641
    functionDepth: 0
    functionLinenumber: 6641
    functionLinenumberEnd: 6729
    functionName: doTableMergeScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - stopDurationForGroupTableMergeScan
    - tableListGetSize
    - startGroupTableMergeScan
    - qError
    - setOperatorCompleted
    - taosGetTimestampUs
    - startDurationForGroupTableMergeScan
    - QUERY_CHECK_NULL
    - tstrerror
    - isTaskKilled
    - T_LONG_JMP
    - resetLimitInfoForNextGroup
    - getOneRowResultBlock
    - getSortedTableMergeScanBlockData
    - stopGroupTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTableMergeScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:313,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:308,1
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:307,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:313,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:315,1
    - Dst: blockDataKeepFirstNRows
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:324,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:327,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - pLimitInfo
    - pBlock
    - pTaskInfo
    argTypes:
    - SLimitInfo*
    - SSDataBlock*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: applyLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - qError
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - blockDataKeepFirstNRows
    - blockDataEmpty
    - GET_TASKID
    - blockDataTrimFirstRows
    linkageType: ''
    returnType: bool
    signature: 'bool applyLimitOffset(SLimitInfo* pLimitInfo, SSDataBlock* pBlock,
      SExecTaskInfo* pTaskInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1891,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1890,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1900,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1903,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1905,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1914,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1914,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - pTableScanOp
    - tbUid
    - startTs
    - endTs
    - maxVersion
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - TSKEY
    - TSKEY
    - int64_t
    constantsTouched: []
    func_position:
      end: 1920
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1920
    functionName: readPreVersionData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetTableGroupId
    - qError
    - tstrerror
    - qDebug
    - GET_TASKID
    - doSetTagColumnData
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * readPreVersionData(SOperatorInfo* pTableScanOp, uint64_t
      tbUid, TSKEY startTs, TSKEY endTs, int64_t maxVersion) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4368,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4400,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4391,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4389,1
    - Dst: destroyMetaTableInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4403,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4404,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4417,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4436,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4443,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4467,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4462,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4482,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4459,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4469,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4363,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4381,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4392,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4401,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4416,1
    - Dst: tqOffsetResetToMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4429,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4435,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4375,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4438,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4439,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4445,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4461,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4465,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4466,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4470,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4451,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4379,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4397,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4396,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4405,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4424,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4425,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4454,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4456,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4457,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4452,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4480,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4446,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 113
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 4487
      start: 4346
    functionDepth: 0
    functionLinenumber: 4346
    functionLinenumberEnd: 4487
    functionName: doRawScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tqOffsetResetToMeta
    - tEncoderInit
    - taosMemoryCalloc
    - qStreamPrepareScan
    - taosArrayInit
    - tEncodeMqMetaRsp
    - taosArrayPush
    - tEncodeSize
    - processPrimaryKey
    - qError
    - QUERY_CHECK_NULL
    - isTaskKilled
    - tqOffsetResetToLog
    - taosMemoryFreeClear
    - tEncoderClear
    - tstrerror
    - T_LONG_JMP
    - destroyMetaTableInfo
    - POINTER_SHIFT
    - qDebug
    - tqOffsetResetToData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doRawScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6139,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6152,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6153,1
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6172,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6194,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6166,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6156,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6193,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6205,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6123,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6127,1
    - Dst: startSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6155,1
    - Dst: getSubTablesSortedBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6165,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6195,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6140,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6146,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6184,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6170,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6161,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6182,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6190,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6199,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6211
      start: 6122
    functionDepth: 0
    functionLinenumber: 6122
    functionLinenumberEnd: 6211
    functionName: doTableMergeScanParaSubTablesNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - tableListGetSize
    - stopSubTablesTableMergeScan
    - qError
    - setOperatorCompleted
    - taosGetTimestampUs
    - tstrerror
    - QUERY_CHECK_NULL
    - getSubTablesSortedBlock
    - isTaskKilled
    - T_LONG_JMP
    - resetLimitInfoForNextGroup
    - getOneRowResultBlock
    - QRY_PARAM_CHECK
    - startSubTablesTableMergeScan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTableMergeScanParaSubTablesNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTableMergeScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6735
      start: 6731
    functionDepth: 0
    functionLinenumber: 6731
    functionLinenumberEnd: 6735
    functionName: doTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - doTableMergeScanNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isOverdue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2938,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 7
    argNames:
    - pAPI
    - pUpdateInfo
    - pTwSup
    - tableId
    - ts
    - pPkVal
    - len
    argTypes:
    - SStateStore*
    - SUpdateInfo*
    - STimeWindowAggSupp*
    - uint64_t
    - TSKEY
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2941
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2941
    functionName: checkExpiredData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - isOverdue
    linkageType: ''
    returnType: bool
    signature: 'bool checkExpiredData(SStateStore* pAPI, SUpdateInfo* pUpdateInfo,
      STimeWindowAggSupp* pTwSup, uint64_t tableId, TSKEY ts, void* pPkVal, int32_t
      len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3195,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3211,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3233,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3225,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3241,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3234,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3287,1
    - Dst: doBlockDataWindowFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3295,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3300,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3192,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3196,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3205,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3215,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3216,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3222,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3242,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3262,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3272,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3296,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3310,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3305,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3310,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3230,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3228,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3244,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3254,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3273,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3281,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3283,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3290,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3291,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3299,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3212,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3229,1
    - Dst: addTagPseudoColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3250,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3269,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3270,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3306,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 4
    argNames:
    - pInfo
    - pBlock
    - pTimeWindow
    - filter
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - STimeWindow*
    - bool
    constantsTouched: []
    func_position:
      end: 3313
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3313
    functionName: setBlockIntoRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetTableGroupId
    - blockDataUpdateTsWindow
    - bdGetColumnInfoData
    - taosArrayGetSize
    - GET_TASKID
    - taosArrayInit
    - taosArrayDestroy
    - colDataAssign
    - taosArraySort
    - taosArrayPush
    - taosArrayGet
    - calBlockTbName
    - blockDataEnsureCapacity
    - colDataSetNNULL
    - doFilter
    - qError
    - QUERY_CHECK_NULL
    - addTagPseudoColumnData
    - tstrerror
    - doBlockDataWindowFilter
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setBlockIntoRes(SStreamScanInfo* pInfo, const SSDataBlock*
      pBlock, STimeWindow* pTimeWindow, bool filter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stopDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6573,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6588,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6581,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6587,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6590,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6591
      start: 6568
    functionDepth: 0
    functionLinenumber: 6568
    functionLinenumberEnd: 6591
    functionName: stopGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - stopDurationForGroupTableMergeScan
    - blockDataDestroy
    - qDebug
    - resetLimitInfoForNextGroup
    - GET_TASKID
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void stopGroupTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2947,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2951,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2988,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2977,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3009,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2955,1
    - Dst: isOverdue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2964,1
    - Dst: isCloseWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2971,1
    - Dst: isSignleIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2983,1
    - Dst: isDeletedStreamWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2984,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2995,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2949,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2954,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2976,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3003,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2948,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2970,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2978,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2990,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2992,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 4
    argNames:
    - pInfo
    - invertible
    - pBlock
    - out
    argTypes:
    - SStreamScanInfo*
    - bool
    - SSDataBlock*
    - bool
    constantsTouched: []
    func_position:
      end: 3012
      start: 2943
    functionDepth: 0
    functionLinenumber: 2943
    functionLinenumberEnd: 3012
    functionName: checkUpdateData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayGet
    - hasPrimaryKeyCol
    - appendPkToSpecialBlock
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - colDataGetData
    - colDataGetRowLength
    - qError
    - tstrerror
    - isOverdue
    - getActiveTimeWindow
    - qDebug
    - isDeletedStreamWindow
    - calGroupIdByData
    - isSignleIntervalWindow
    - isCloseWindow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkUpdateData(SStreamScanInfo* pInfo, bool invertible, SSDataBlock*
      pBlock, bool out) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: doBlockDataPrimaryKeyFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3320,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3330,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3325,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3332,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3333,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3333,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3334,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3335,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3336,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3336,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3338,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3345,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3341,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - pBlock
    - hasPrimaryKey
    - offset
    argTypes:
    - SSDataBlock*
    - bool
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 3348
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3348
    functionName: processPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - taosArrayGet
    - taosMemoryMalloc
    - varDataLen
    - colDataGetData
    - varDataVal
    - doBlockDataPrimaryKeyFilter
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - memcpy
    - tqOffsetResetToData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processPrimaryKey(SSDataBlock* pBlock, bool hasPrimaryKey,
      STqOffsetVal* offset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2065,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2084,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 7
    argNames:
    - startTsCol
    - endTsCol
    - gpIdCol
    - pInterval
    - pDataBlockInfo
    - pRowIndex
    - hasGroup
    argTypes:
    - TSKEY*
    - TSKEY*
    - uint64_t*
    - SInterval*
    - SDataBlockInfo*
    - int32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 2093
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2093
    functionName: getSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - getNextTimeWindow
    - getActiveTimeWindow
    linkageType: ''
    returnType: STimeWindow
    signature: 'STimeWindow getSlidingWindow(TSKEY* startTsCol, TSKEY* endTsCol, uint64_t*
      gpIdCol, SInterval* pInterval, SDataBlockInfo* pDataBlockInfo, int32_t* pRowIndex,
      bool hasGroup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5273,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5290,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5304,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5312,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5272,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5302,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5312,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5270,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5275,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5276,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5278,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5279,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5292,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5293,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5300,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5295,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5301,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5296,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5298,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 7
    argNames:
    - pOperator
    - pUidTagInfo
    - pExprInfo
    - pColInfo
    - rowIndex
    - pAPI
    - pVnode
    argTypes:
    - SOperatorInfo*
    - STUidTagInfo*
    - SExprInfo*
    - SColumnInfoData*
    - int
    - SStorageAPI*
    - void*
    constantsTouched: []
    func_position:
      end: 5315
      start: 5262
    functionDepth: 0
    functionLinenumber: 5262
    functionLinenumberEnd: 5315
    functionName: tagScanFillOneCellWithTag
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryMalloc
    - colDataSetNULL
    - colDataSetVal
    - qError
    - STR_TO_VARSTR
    - tstrerror
    - QUERY_CHECK_NULL
    - varDataSetLen
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagScanFillOneCellWithTag(SOperatorInfo* pOperator,
      const STUidTagInfo* pUidTagInfo, SExprInfo* pExprInfo, SColumnInfoData* pColInfo,
      int rowIndex, const SStorageAPI* pAPI, void* pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7382,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7385,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7392,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7385,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7397,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 5
    argNames:
    - pInfo
    - pSupp
    - pRes
    - dbName
    - pAPI
    argTypes:
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 7400
      start: 7376
    functionDepth: 0
    functionLinenumber: 7376
    functionLinenumberEnd: 7400
    functionName: buildVnodeGroupedNtbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - snprintf
    - calcGroupId
    - qError
    - tstrerror
    - strlen
    - fillTableCountScanDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeGroupedNtbTableCount(STableCountScanOperatorInfo*
      pInfo, STableCountScanSupp* pSupp, SSDataBlock* pRes, char* dbName, SStorageAPI*
      pAPI) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2106,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2109,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2119,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2143,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2146,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2162,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2130,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2154,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2178,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2105,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2144,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2155,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2148,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2097,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2151,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2150,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 5
    argNames:
    - pInfo
    - pSDB
    - tsColIndex
    - pRowIndex
    - ppRes
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2181
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2181
    functionName: doRangeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - colDataIsNull
    - createOneDataBlock
    - taosArrayGet
    - doTableScanNext
    - colDataSetVal
    - colDataGetData
    - doFilter
    - blockDataDestroy
    - prepareRangeScan
    - qError
    - tstrerror
    - qDebug
    - calGroupIdByData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doRangeScan(SStreamScanInfo* pInfo, SSDataBlock* pSDB, int32_t
      tsColIndex, int32_t* pRowIndex, SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5324,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5326,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5331,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5332,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5333,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5337,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5339,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5340,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5342,1
    - Dst: tagScanFillOneCellWithTag
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5344,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5343,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5352,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 6
    argNames:
    - pOperator
    - pRes
    - aUidTags
    - aFilterIdxs
    - ignoreFilterIdx
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SArray*
    - SArray*
    - bool
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 5355
      start: 5317
    functionDepth: 0
    functionLinenumber: 5317
    functionLinenumberEnd: 5355
    functionName: tagScanFillResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tagScanFillOneCellWithTag
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagScanFillResultBlock(SOperatorInfo* pOperator, SSDataBlock*
      pRes, SArray* aUidTags, SArray* aFilterIdxs, bool ignoreFilterIdx, SStorageAPI*
      pAPI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7412,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7412,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7408,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7414,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7414,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7417,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7422,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7424,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7423,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7428,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - pInfo
    - pSupp
    - pRes
    - dbName
    - stbUid
    - pAPI
    argTypes:
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    - tb_uid_t
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 7431
      start: 7402
    functionDepth: 0
    functionLinenumber: 7402
    functionLinenumberEnd: 7431
    functionName: buildVnodeGroupedStbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - snprintf
    - calcGroupId
    - varDataVal
    - qError
    - tstrerror
    - strlen
    - fillTableCountScanDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeGroupedStbTableCount(STableCountScanOperatorInfo*
      pInfo, STableCountScanSupp* pSupp, SSDataBlock* pRes, char* dbName, tb_uid_t
      stbUid, SStorageAPI* pAPI) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6601,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6608,1
    - Dst: tsortNextTuple
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6606,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6608,1
    - Dst: tsortAppendTupleToBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6615,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6617,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6618,1
    - Dst: tsortIsClosed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6626,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6632,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6628,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6632,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6631,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - pHandle
    - pResBlock
    - capacity
    - pOperator
    argTypes:
    - SSortHandle*
    - SSDataBlock*
    - int32_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6639
      start: 6595
    functionDepth: 0
    functionLinenumber: 6595
    functionLinenumberEnd: 6639
    functionName: getSortedTableMergeScanBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - applyLimitOffset
    - blockDataCleanup
    - tsortNextTuple
    - tsortAppendTupleToBlock
    - qError
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - tsortIsClosed
    - GET_TASKID
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * getSortedTableMergeScanBlockData(SSortHandle* pHandle,
      SSDataBlock* pResBlock, int32_t capacity, SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:910,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:910,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - groupId
    argTypes:
    - STableScanInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: markGroupProcessed
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qDebug
    - taosHashRemove
    linkageType: ''
    returnType: void
    signature: 'void markGroupProcessed(STableScanInfo* pInfo, uint64_t groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1839
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1839
    functionName: isCountSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountSlidingWindow(SStreamScanInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamDataScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5054,1
    - Dst: createStreamNormalScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5056,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 6
    argNames:
    - pHandle
    - pTableScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 5058
      start: 5050
    functionDepth: 0
    functionLinenumber: 5050
    functionLinenumberEnd: 5058
    functionName: createStreamScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - createStreamDataScanOperatorInfo
    - createStreamNormalScanOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamScanOperatorInfo(SReadHandle* pHandle, STableScanPhysiNode*
      pTableScanNode, SNode* pTagCond, STableListInfo* pTableListInfo, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5168,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5182,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5174,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5170,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5191,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5193,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5197,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5202,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5203,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 5215
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5215
    functionName: tagScanRewriteTagColumn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - nodeType
    - nodesDestroyNode
    - taosHashGet
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - taosHashPut
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes tagScanRewriteTagColumn(SNode** pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dumpQueryTableCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5892,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5898,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5895,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5896,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5899,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5901,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5904,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5905,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5910,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5911,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5918,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5919,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableMergeScanInfo*
    constantsTouched: []
    func_position:
      end: 5935
      start: 5879
    functionDepth: 0
    functionLinenumber: 5879
    functionLinenumberEnd: 5935
    functionName: initSubTableInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - createOneDataBlock
    - fetchNextSubTableBlockFromReader
    - dumpQueryTableCond
    - qError
    - T_LONG_JMP
    - tstrerror
    - isTaskKilled
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initSubTableInputs(SOperatorInfo* pOperator, STableMergeScanInfo*
      pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6221,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6222,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6227,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6231,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6236,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - uid
    - pTableMergeOpInfo
    argTypes:
    - uint64_t
    - void*
    constantsTouched: []
    func_position:
      end: 6240
      start: 6213
    functionDepth: 0
    functionLinenumber: 6213
    functionLinenumberEnd: 6240
    functionName: tableMergeScanDoSkipTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'static void tableMergeScanDoSkipTable(uint64_t uid, void* pTableMergeOpInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:926,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:931,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:927,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:924,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pTaskInfo
    - pBase
    - pBlock
    - tbInfo
    argTypes:
    - SExecTaskInfo*
    - STableScanBase*
    - SSDataBlock*
    - STableKeyInfo*
    constantsTouched: []
    func_position:
      end: 934
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 934
    functionName: getOneRowResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - blockDataEmpty
    - blockDataGetNumOfCols
    - doSetTagColumnData
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * getOneRowResultBlock(SExecTaskInfo* pTaskInfo,
      STableScanBase* pBase, SSDataBlock* pBlock, const STableKeyInfo* tbInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1843
    functionName: isCountWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountWindow(SStreamScanInfo* pInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5068,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5079,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5097,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5098,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5112,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5113,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5117,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5090,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5086,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5070,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5072,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5071,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5079,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5080,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5091,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5094,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5095,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5115,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5077,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5092,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5106,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 69
    argCount: 4
    argNames:
    - pOperator
    - pRes
    - mr
    - pAPI
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - SMetaReader*
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 5131
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5131
    functionName: doTagScanOneTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - taosMemoryFree
    - taosArrayGet
    - colDataSetVal
    - tTagValToData
    - qError
    - tstrerror
    - STR_TO_VARSTR
    - IS_VAR_DATA_TYPE
    - GET_TASKID
    - tTagIsJsonNull
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTagScanOneTable(SOperatorInfo* pOperator, SSDataBlock*
      pRes, SMetaReader* mr, SStorageAPI* pAPI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5221,1
    - Dst: scalarCalculate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5255,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5257,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5257,1
    - Dst: createTagValBlockForFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5224,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5227,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5237,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5250,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5251,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5245,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5230,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5231,1
    - Dst: tagScanCreateResultData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5236,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5240,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5254,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 6
    argNames:
    - aUidTags
    - pTagCond
    - aFilterIdxs
    - pVnode
    - pAPI
    - pInfo
    argTypes:
    - SArray*
    - SNode*
    - SArray*
    - void*
    - SStorageAPI*
    - STagScanInfo*
    constantsTouched: []
    func_position:
      end: 5260
      start: 5217
    functionDepth: 0
    functionLinenumber: 5217
    functionLinenumberEnd: 5260
    functionName: tagScanFilterByTagCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - scalarCalculate
    - taosArrayDestroy
    - createTagValBlockForFilter
    - colDataDestroy
    - tagScanCreateResultData
    - qError
    - blockDataDestroy
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagScanFilterByTagCond(SArray* aUidTags, SNode* pTagCond,
      SArray* aFilterIdxs, void* pVnode, SStorageAPI* pAPI, STagScanInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5945,1
    - Dst: fetchNextSubTableBlockFromReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5956,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5956,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    constantsTouched: []
    func_position:
      end: 5960
      start: 5937
    functionDepth: 0
    functionLinenumber: 5937
    functionLinenumberEnd: 5960
    functionName: adjustSubTableFromMemBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fetchNextSubTableBlockFromReader
    - qError
    - tstrerror
    - T_LONG_JMP
    - tMergeTreeGetChosenIndex
    linkageType: ''
    returnType: void
    signature: 'static void adjustSubTableFromMemBlock(SOperatorInfo* pOperatorInfo,
      STmsSubTablesMergeInfo* pSubTblsInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6254,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6259,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6254,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6260,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6261,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6261,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6269,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6272,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6272,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - pOperator
    - pFinished
    - pSkipped
    argTypes:
    - SOperatorInfo*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 6289
      start: 6242
    functionDepth: 0
    functionLinenumber: 6242
    functionLinenumberEnd: 6289
    functionName: doGetBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - loadDataBlock
    - qInfo
    - qError
    - isTaskKilled
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetBlockForTableMergeScan(SOperatorInfo* pOperator,
      bool* pFinished, bool* pSkipped) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOneRowResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - pOperator
    - tbInfo
    argTypes:
    - SOperatorInfo*
    - STableKeyInfo*
    constantsTouched: []
    func_position:
      end: 943
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 943
    functionName: getBlockForEmptyTable
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - getOneRowResultBlock
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * getBlockForEmptyTable(SOperatorInfo* pOperator,
      const STableKeyInfo* tbInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1830
    functionName: isSignleIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isSignleIntervalWindow(SStreamScanInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1925,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1929,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1928,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1925,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1931,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1933,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1934,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1937,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1941,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pCol
    - rowId
    - pVal
    argTypes:
    - SColumnInfoData*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1922
    functionDepth: 0
    functionLinenumber: 1922
    functionLinenumberEnd: 1946
    functionName: comparePrimaryKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - memcmp
    - varDataLen
    - colDataGetData
    - qError
    - tstrerror
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool comparePrimaryKey(SColumnInfoData* pCol, int32_t rowId, void*
      pVal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2554,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2563,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2559,1
    - Dst: getPreVersionDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2575,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2591,1
    - Dst: getTimeSliceWinRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2603,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2607,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2569,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2590,1
    - Dst: getGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2615,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2618,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2561,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2574,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2575,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2587,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2583,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2596,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2597,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2610,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2613,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2568,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2586,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2617,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2628,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2620,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - mode
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 2631
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2631
    functionName: generateTimeSliceScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - GET_TASKID
    - taosArrayGet
    - hasPrimaryKeyCol
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - colDataGetData
    - qError
    - tstrerror
    - getGroupIdByData
    - getTimeSliceWinRange
    - taosArrayGetSize
    - getPreVersionDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateTimeSliceScanRange(SStreamScanInfo* pInfo,
      SSDataBlock* pSrcBlock, SSDataBlock* pDestBlock, EStreamType mode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2296,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2300,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2304,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2307,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2314,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2322,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2323,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2329,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2336,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2367,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2372,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2363,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2321,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2326,1
    - Dst: getCurSessionWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2343,1
    - Dst: getPreSessionWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2351,1
    - Dst: IS_INVALID_SESSION_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2353,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2364,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2374,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2377,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2384,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2355,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2376,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2298,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2302,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2313,1
    - Dst: getPreVersionDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2314,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2325,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2331,1
    - Dst: IS_INVALID_SESSION_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2344,1
    - Dst: IS_INVALID_SESSION_WIN_KEY
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2350,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2360,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2308,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2330,1
    - Dst: getGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2339,1
    - Dst: getCurSessionWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2349,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2366,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2382,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2373,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2369,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 85
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - mode
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 2387
      start: 2289
    functionDepth: 0
    functionLinenumber: 2289
    functionLinenumberEnd: 2387
    functionName: generateSessionScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasPrimaryKeyCol
    - tSimpleHashCleanup
    - colDataSetVal
    - getGroupIdByData
    - GET_TASKID
    - taosArrayGetSize
    - colDataSetNULL
    - colDataGetData
    - tSimpleHashGet
    - getPreSessionWindow
    - taosGetDefaultHashFunction
    - IS_INVALID_SESSION_WIN_KEY
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - tSimpleHashInit
    - getCurSessionWindow
    - tSimpleHashPut
    - blockDataCleanup
    - tstrerror
    - getPreVersionDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateSessionScanRange(SStreamScanInfo* pInfo, SSDataBlock*
      pSrcBlock, SSDataBlock* pDestBlock, EStreamType mode) '
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3822,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3967,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3964,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4065,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4092,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4097,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4104,1
    - Dst: checkUpdateData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4130,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3987,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3886,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3960,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3975,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4134,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4089,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4289,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3960,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3815,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3954,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4037,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4048,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4075,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4080,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4106,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4166,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4091,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4239,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3941,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3800,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3875,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3881,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3923,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4039,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4137,1
    - Dst: setBlockIntoRes
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4225,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4307,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4231,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3848,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3906,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3963,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4010,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3956,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3998,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4047,1
    - Dst: generateScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4125,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4181,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4250,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3973,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3888,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3930,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3993,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4008,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4047,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4059,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4141,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4161,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4188,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4179,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4290,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3977,1
    - Dst: rebuildDeleteBlockData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3974,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4072,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4137,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4166,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4150,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3996,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3938,1
    - Dst: generateDeleteResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3986,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4014,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3803,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3880,1
    - Dst: getNextTimeWindowStart
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4032,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4045,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4087,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4113,1
    - Dst: generateScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4086,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3831,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3865,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3942,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4099,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4135,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4164,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4269,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4242,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4238,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4307,1
    - Dst: filterDelBlockByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3966,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4009,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3870,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3887,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3921,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3976,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4019,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4047,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4077,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4163,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4301,1
    - Dst: setBlockGroupIdByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3972,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3997,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3808,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3876,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3911,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3924,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3976,1
    - Dst: generateScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4007,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4058,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4205,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4199,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3947,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3946,1
    - Dst: isStreamWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3985,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3953,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3857,1
    - Dst: copyGetResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4036,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4058,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4063,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4073,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4243,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4172,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4246,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3880,1
    - Dst: deletePartName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4044,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4053,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4162,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4226,1
    - Dst: streamScanOperatorSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4295,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3869,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3980,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4018,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4097,1
    - Dst: doRangeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4124,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4190,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4217,1
    - Dst: doCheckUpdate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4237,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4074,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4287,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3996,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3960,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3847,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3887,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3946,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4020,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4080,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4140,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4208,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4193,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4309,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4269,1
    - Dst: hasScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4157,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4011,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3915,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3793,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3856,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3946,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4058,1
    - Dst: doCheckUpdate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4071,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4080,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4111,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4247,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4281,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 445
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 4313
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 4313
    functionName: doStreamScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - copyGetResultBlock
    - hasScanRange
    - blockDataUpdateTsWindow
    - prepareRangeScan
    - doClearBufferedBlocks
    - taosArrayGetSize
    - GET_TASKID
    - doCheckUpdate
    - printDataBlock
    - rebuildDeleteBlockData
    - setStreamOperatorState
    - memcpy
    - doRangeScan
    - taosArrayGet
    - calBlockTbName
    - setBlockGroupIdByUid
    - qInfo
    - qError
    - blockDataDestroy
    - printSpecDataBlock
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - doFilter
    - isTaskKilled
    - setBlockIntoRes
    - TMAX
    - getStreamOpName
    - blockDataCleanup
    - doTableScanNext
    - filterDelBlockByUid
    - deletePartName
    - checkUpdateData
    - tstrerror
    - generateScanRange
    - copyDataBlock
    - generateDeleteResultBlock
    - getNextTimeWindowStart
    - qDebug
    - T_LONG_JMP
    - streamScanOperatorSaveCheckpoint
    - isStreamWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4763,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4766,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4769,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4765,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4773,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4774,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4775,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4780,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4780,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4782,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pMatchInfo
    - idstr
    argTypes:
    - SColMatchInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 4788
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4788
    functionName: createStreamVtableBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataAppendColInfo
    - taosArrayGetSize
    - qError
    - tstrerror
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - createDataBlock
    - createColumnInfoData
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * createStreamVtableBlock(SColMatchInfo *pMatchInfo,
      const char *idstr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2641,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2641,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2643,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2676,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2697,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2700,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2713,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2718,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2648,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2658,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2675,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2661,1
    - Dst: getPreVersionDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2659,1
    - Dst: getSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2693,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2696,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2699,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2710,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2724,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2644,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2645,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2674,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2670,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2678,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2684,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2691,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2709,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2712,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2716,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2715,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2649,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2669,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2677,1
    - Dst: getGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2687,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2690,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2703,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2726,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2726,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 83
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - mode
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 2729
      start: 2633
    functionDepth: 0
    functionLinenumber: 2633
    functionLinenumberEnd: 2729
    functionName: generateIntervalScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasPrimaryKeyCol
    - tSimpleHashCleanup
    - getSlidingWindow
    - colDataSetVal
    - getGroupIdByData
    - GET_TASKID
    - taosArrayGetSize
    - colDataSetNULL
    - colDataGetData
    - tSimpleHashGet
    - taosGetDefaultHashFunction
    - taosArrayGet
    - blockDataEnsureCapacity
    - qError
    - tSimpleHashInit
    - tSimpleHashPut
    - blockDataCleanup
    - tstrerror
    - getPreVersionDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateIntervalScanRange(SStreamScanInfo* pInfo, SSDataBlock*
      pSrcBlock, SSDataBlock* pDestBlock, EStreamType mode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:953,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:962,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:955,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:969,1
    - Dst: processBlockWithProbability
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:981,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:987,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1015,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1015,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1017,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:992,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1004,1
    - Dst: loadDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:991,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1020
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 1020
    functionName: doTableScanImplNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetTableGroupId
    - loadDataBlock
    - processBlockWithProbability
    - qError
    - tstrerror
    - taosGetTimestampUs
    - T_LONG_JMP
    - isTaskKilled
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTableScanImplNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1834
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1834
    functionName: isSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - isIntervalWindow
    linkageType: ''
    returnType: bool
    signature: 'static bool isSlidingWindow(SStreamScanInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1948
    functionName: hasPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasPrimaryKeyCol(SStreamScanInfo* pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2398,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2413,1
    - Dst: getPreVersionDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2415,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2426,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2407,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2425,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2429,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2436,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2437,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2448,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2458,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2467,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2404,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2414,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2422,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2428,1
    - Dst: getGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2445,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2447,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2408,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2427,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2423,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2431,1
    - Dst: getCountWinRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2443,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2452,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2454,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2457,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2467,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 72
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - mode
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 2470
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2470
    functionName: generateCountScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - GET_TASKID
    - taosArrayGet
    - hasPrimaryKeyCol
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - colDataGetData
    - qError
    - tstrerror
    - getGroupIdByData
    - getCountWinRange
    - taosArrayGetSize
    - getPreVersionDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateCountScanRange(SStreamScanInfo* pInfo, SSDataBlock*
      pSrcBlock, SSDataBlock* pDestBlock, EStreamType mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doStreamScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4319
      start: 4315
    functionDepth: 0
    functionLinenumber: 4315
    functionLinenumberEnd: 4319
    functionName: doStreamScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - doStreamScanNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doStreamScan(SOperatorInfo* pOperator) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4830,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4903,1
    - Dst: buildCreateTableBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4927,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4928,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4931,1
    - Dst: extractTableIdList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4939,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4947,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4960,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4962,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4965,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4944,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4974,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4964,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5024,1
    - Dst: destroyStreamScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5039,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5022,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5017,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4816,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4798,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4848,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4856,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4882,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4943,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4959,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5000,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5010,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5013,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4915,1
    - Dst: createStreamVtableBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4911,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4799,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4825,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4829,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4833,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4855,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4876,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4869,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4875,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4834,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5001,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4912,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4946,1
    - Dst: streamScanOperatorDecode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5012,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4973,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5003,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4978,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5004,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5019,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4955,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4982,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4793,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4824,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4826,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4858,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4865,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4893,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4932,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4940,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4980,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4936,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4963,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4956,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4942,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5031,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 200
    argCount: 6
    argNames:
    - pHandle
    - pTableScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 5048
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 5048
    functionName: createStreamNormalScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - hasPrimaryKeyCol
    - taosMemoryCalloc
    - initExprSupp
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tableListDestroy
    - addPrimaryKeyCol
    - taosArrayDestroy
    - extractTableIdList
    - setOperatorInfo
    - createTableScanOperatorInfo
    - createDataBlockFromDescNode
    - taosArrayPush
    - destroyOperator
    - memcpy
    - taosArrayGet
    - blockDataEnsureCapacity
    - tableListGetGroupList
    - createExpr
    - qError
    - filterInitFromNode
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - createStreamVtableBlock
    - destroyStreamScanOperatorInfo
    - createOperatorFpSet
    - extractColMatchInfo
    - SET_WIN_KEY_INVALID
    - streamScanOperatorDecode
    - buildCreateTableBlock
    - setOperatorStreamStateFn
    - strlen
    - createExprFromOneNode
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamNormalScanOperatorInfo(SReadHandle* pHandle,
      STableScanPhysiNode* pTableScanNode, SNode* pTagCond, STableListInfo* pTableListInfo,
      SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRandR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleExecInfo*
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: processBlockWithProbability
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosRandR
    linkageType: ''
    returnType: bool
    signature: 'bool processBlockWithProbability(const SSampleExecInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2919,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2910,1
    - Dst: generateTimeSliceScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2909,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2918,1
    - Dst: generateSessionScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2903,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2904,1
    - Dst: isCountWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2905,1
    - Dst: generateCountScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2906,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2907,1
    - Dst: isTimeSlice
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2908,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2923,1
    - Dst: isIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2899,1
    - Dst: generateIntervalScanRange
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2900,1
    - Dst: isStateWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2901,1
    - Dst: isSessionWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2902,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2913,1
    - Dst: generateDeleteResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2912,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - type
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 2926
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2926
    functionName: generateScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isStateWindow
    - isCountWindow
    - blockDataUpdateTsWindow
    - generateSessionScanRange
    - qError
    - tstrerror
    - isSessionWindow
    - generateDeleteResultBlock
    - isIntervalWindow
    - isTimeSlice
    - generateTimeSliceScanRange
    - generateCountScanRange
    - generateIntervalScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateScanRange(SStreamScanInfo* pInfo, SSDataBlock* pSrcBlock,
      SSDataBlock* pDestBlock, EStreamType type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3673,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3716,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3681,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3687,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3711,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3720,1
    - Dst: decodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3672,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3682,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3696,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3700,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3709,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3703,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3698,1
    - Dst: SET_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3708,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3725,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3724,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 3
    argNames:
    - pBuff
    - len
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 3728
      start: 3663
    functionDepth: 0
    functionLinenumber: 3663
    functionLinenumberEnd: 3728
    functionName: streamScanOperatorDecode
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - taosMemoryFree
    - SET_WIN_KEY_INVALID
    - taosMemoryCalloc
    - tStartDecode
    - tEndDecode
    - qInfo
    - qDebug
    - tDecodeI64
    - encodeSTimeWindowAggSupp
    - tDecodeIsEnd
    - tDecoderClear
    - decodeSTimeWindowAggSupp
    linkageType: ''
    returnType: void
    signature: 'void streamScanOperatorDecode(void* pBuff, int32_t len, SStreamScanInfo*
      pInfo) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6298,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6311,1
    - Dst: doGetBlockForTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6324,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6303,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6304,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6330,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6331,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6339,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6347,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6347,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6368,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6371,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - param
    - ppBlock
    argTypes:
    - void*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6379
      start: 6291
    functionDepth: 0
    functionLinenumber: 6291
    functionLinenumberEnd: 6379
    functionName: getBlockForTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tableListGetTableGroupId
    - createOneDataBlock
    - qError
    - blockDataDestroy
    - taosGetTimestampUs
    - doGetBlockForTableMergeScan
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBlockForTableMergeScan(void* param, SSDataBlock**
      ppBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7304,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7316,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7309,1
    - Dst: buildVnodeGroupedStbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7328,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7298,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7301,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7302,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7307,1
    - Dst: buildVnodeGroupedNtbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7308,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7322,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7295,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7321,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7316,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 6
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - vgId
    - dbName
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 7332
      start: 7286
    functionDepth: 0
    functionLinenumber: 7286
    functionLinenumberEnd: 7332
    functionName: buildVnodeGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - buildVnodeGroupedStbTableCount
    - taosArrayGet
    - calcGroupId
    - qError
    - setOperatorCompleted
    - strlen
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - buildVnodeGroupedNtbTableCount
    - fillTableCountScanDataBlock
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeGroupedTableCount(SOperatorInfo* pOperator,
      STableCountScanOperatorInfo* pInfo, STableCountScanSupp* pSupp, SSDataBlock*
      pRes, int32_t vgId, char* dbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SWITCH_ORDER
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCtx
    - numOfOutput
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: switchCtxOrder
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - SWITCH_ORDER
    linkageType: ''
    returnType: void
    signature: 'static void switchCtxOrder(SqlFunctionCtx* pCtx, int32_t numOfOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2930,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - pBlock
    - pStartTs
    - pEndTs
    - pUid
    - pGp
    - pTbName
    argTypes:
    - SSDataBlock*
    - TSKEY*
    - TSKEY*
    - uint64_t*
    - uint64_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2931
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2931
    functionName: appendDataToSpecialBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - appendOneRowToSpecialBlockImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendDataToSpecialBlock(SSDataBlock* pBlock, TSKEY* pStartTs,
      TSKEY* pEndTs, uint64_t* pUid, uint64_t* pGp, void* pTbName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6384,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6391,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6393,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6392,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6399,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6407,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6411,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6412,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6422,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - colMatchInfo
    - order
    - ppSortArray
    argTypes:
    - SArray*
    - int32_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 6425
      start: 6381
    functionDepth: 0
    functionLinenumber: 6381
    functionLinenumberEnd: 6425
    functionName: generateSortByTsPkInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - getKeyComparFunc
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateSortByTsPkInfo(SArray* colMatchInfo, int32_t order,
      SArray** ppSortArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7341,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7345,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7349,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7351,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7352,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7356,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7369,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7372,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7369,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7363,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - dbName
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 7374
      start: 7334
    functionDepth: 0
    functionLinenumber: 7334
    functionLinenumberEnd: 7374
    functionName: buildVnodeFilteredTbCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - strlen
    - setOperatorCompleted
    - fillTableCountScanDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeFilteredTbCount(SOperatorInfo* pOperator,
      STableCountScanOperatorInfo* pInfo, STableCountScanSupp* pSupp, SSDataBlock*
      pRes, char* dbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7435,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7438,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7439
      start: 7433
    functionDepth: 0
    functionLinenumber: 7433
    functionLinenumberEnd: 7439
    functionName: destoryTableCountScanOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destoryTableCountScanOperator(void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3645,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3651,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3649,1
    - Dst: streamScanOperatorEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3648,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3652,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3653,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3658,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 3660
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3660
    functionName: streamScanOperatorSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - streamScanOperatorEncode
    - saveStreamOperatorStateComplete
    - qError
    - tstrerror
    - strlen
    - needSaveStreamOperatorInfo
    linkageType: ''
    returnType: void
    signature: 'void streamScanOperatorSaveCheckpoint(SStreamScanInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:596,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - STableCachedVal*
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: freeTableCachedValObj
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeTableCachedValObj(STableCachedVal* pVal) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1423,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1429,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1428,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1425,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1433,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1434,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1435,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1436,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1447,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1448,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1460,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1476
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1476
    functionName: groupSeqTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - startNextGroupScan
    - doGroupedTableScan
    - taosRUnLockLatch
    - tableListGetOutputGroups
    - doInitReader
    - setOperatorCompleted
    - taosRLockLatch
    - qError
    - tstrerror
    - GET_TASKID
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupSeqTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pResBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4673,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4679,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4710,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4720,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4737,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4680,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4682,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4696,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4706,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4704,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4718,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4690,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4713,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4722,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4673,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4685,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4691,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4708,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4733,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4734,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4737,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 4739
      start: 4664
    functionDepth: 0
    functionLinenumber: 4664
    functionLinenumberEnd: 4739
    functionName: streamScanReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tDecoderInit
    - taosMemoryFree
    - taosMemoryCalloc
    - tStartDecode
    - taosHashIterate
    - QUERY_CHECK_CONDITION
    - tEndDecode
    - qError
    - tstrerror
    - strlen
    - taosHashGetKey
    - qDebug
    - TMAX
    - taosHashPut
    - GET_TASKID
    - tDecoderClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamScanReloadState(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6506,1
    - Dst: tsortGetSortExecInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6508,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6506,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6517
      start: 6503
    functionDepth: 0
    functionLinenumber: 6503
    functionLinenumberEnd: 6517
    functionName: stopDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tsortDestroySortHandle
    - GET_TASKID
    - tsortGetSortExecInfo
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void stopDurationForGroupTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7093,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7093,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7100,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7111,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7113,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7110,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7098,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7095,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7100,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7102,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7110,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7112,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7107,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7120,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7094,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7098,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7101,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7108,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7123,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7106,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - pSupp
    - dbName
    - stbName
    - count
    - pRes
    argTypes:
    - STableCountScanSupp*
    - char*
    - char*
    - int64_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7132
      start: 7088
    functionDepth: 0
    functionLinenumber: 7088
    functionLinenumberEnd: 7132
    functionName: fillTableCountScanDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - varDataVal
    - QUERY_CHECK_CONDITION
    - tstrncpy
    - qError
    - strlen
    - tstrerror
    - QUERY_CHECK_NULL
    - varDataSetLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fillTableCountScanDataBlock(STableCountScanSupp* pSupp, char*
      dbName, char* stbName, int64_t count, SSDataBlock* pRes) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:639,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:664,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:666,1
    - Dst: createTableCacheVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:675,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:681,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:702,1
    - Dst: setVgIdColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:708,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:709,1
    - Dst: tTagIsJsonNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:726,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:734,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:756,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:735,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:732,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:633,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:666,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:696,1
    - Dst: setTbNameColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:705,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:706,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:734,1
    - Dst: doSetNullValue
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:637,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:654,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:662,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:684,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:685,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:730,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:731,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:732,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:738,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:759,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:728,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:743,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:676,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:697,1
    - Dst: setVgVerColData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:711,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:712,1
    - Dst: tTagValToData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:740,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:767,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:744,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:767,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 135
    argCount: 7
    argNames:
    - pHandle
    - pExpr
    - numOfExpr
    - pBlock
    - rows
    - pTask
    - pCache
    argTypes:
    - SReadHandle*
    - SExprInfo*
    - int32_t
    - SSDataBlock*
    - int32_t
    - SExecTaskInfo*
    - STableMetaCacheInfo*
    constantsTouched: []
    func_position:
      end: 770
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 770
    functionName: addTagPseudoColumnData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosLRUCacheValue
    - taosMemoryFree
    - varDataLen
    - taosLRUCacheLookup
    - tTagValToData
    - taosMemoryCalloc
    - colDataSetVal
    - taosLRUCacheRelease
    - fmIsScanPseudoColumnFunc
    - IS_VAR_DATA_TYPE
    - doSetNullValue
    - qTrace
    - varDataVal
    - memcpy
    - tTagIsJsonNull
    - taosArrayGet
    - setVgVerColData
    - taosLRUCacheInsert
    - qWarn
    - setTbNameColData
    - colDataSetNNULL
    - qError
    - colInfoDataCleanup
    - colDataSetNItems
    - tstrerror
    - setVgIdColData
    - createTableCacheVal
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addTagPseudoColumnData(SReadHandle* pHandle, const SExprInfo*
      pExpr, int32_t numOfExpr, SSDataBlock* pBlock, int32_t rows, SExecTaskInfo*
      pTask, STableMetaCacheInfo* pCache) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1491,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1516,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1545,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1560,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1565,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1574,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1578,1
    - Dst: groupSeqTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1591,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1596,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1493,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1498,1
    - Dst: startNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1524,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1525,1
    - Dst: createTableListInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1513,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1557,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1564,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1564,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1570,1
    - Dst: createVTableScanInfoFromParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1489,1
    - Dst: isDynVtbScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1488,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1485,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1544,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1547,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1572,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1596,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1596,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1484,1
    - Dst: createOneDataBlockWithTwoBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1503,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1504,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1506,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1514,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1555,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1559,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1582,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1583,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1586,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1581,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1602
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1602
    functionName: doTableScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - freeOperatorParam
    - GET_TASKID
    - tableListGetInfo
    - createVTableScanInfoFromParam
    - tableListGetSize
    - qTrace
    - taosRUnLockLatch
    - isDynVtbScan
    - createOneDataBlockWithTwoBlock
    - TSDB_CHECK_CODE
    - qError
    - blockDataDestroy
    - QUERY_CHECK_NULL
    - isTaskKilled
    - groupSeqTableScan
    - startNextGroupScan
    - doGroupedTableScan
    - createTableListInfoFromParam
    - taosRLockLatch
    - tstrerror
    - T_LONG_JMP
    - qDebug
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTableScanNext(SOperatorInfo* pOperator, SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4748,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4753,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4749,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - type
    - bytes
    argTypes:
    - SSDataBlock*
    - uint8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 4756
      start: 4741
    functionDepth: 0
    functionLinenumber: 4741
    functionLinenumberEnd: 4756
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addPrimaryKeyCol(SSDataBlock* pBlock, uint8_t type, int32_t
      bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6526,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6535,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6531,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6530,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6536,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6548,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6550,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6551,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6562,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6558,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6564,1
    - Dst: startDurationForGroupTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6566
      start: 6519
    functionDepth: 0
    functionLinenumber: 6519
    functionLinenumberEnd: 6566
    functionName: startGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetInfo
    - tableListGetSize
    - qError
    - tstrerror
    - startDurationForGroupTableMergeScan
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - qDebug
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'void startGroupTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7139,1
    - Dst: buildSysDbGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7145,1
    - Dst: buildSysDbFilterTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7148,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pOperator
    - pInfo
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    constantsTouched: []
    func_position:
      end: 7151
      start: 7134
    functionDepth: 0
    functionLinenumber: 7134
    functionLinenumberEnd: 7151
    functionName: buildSysDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    - buildSysDbFilterTableCount
    - buildSysDbGroupedTableCount
    - getPerfDbMeta
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * buildSysDbTableCount(SOperatorInfo* pOperator,
      STableCountScanOperatorInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:170,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:175,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:174,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pOperator
    - groupId
    - pPage
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SFilePage**
    constantsTouched: []
    func_position:
      end: 187
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 187
    functionName: getTableGroupOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - getBufPage
    - GET_RES_WINDOW_KEY_LEN
    - tSimpleHashGet
    - SET_RES_WINDOW_KEY
    linkageType: ''
    returnType: SResultRow*
    signature: 'static SResultRow * getTableGroupOutputBuf(SOperatorInfo* pOperator,
      uint64_t groupId, SFilePage** pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: isDynVtbScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isDynVtbScan(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeTableCachedVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 584
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 584
    functionName: freeCachedMetaItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - freeTableCachedVal
    linkageType: ''
    returnType: void
    signature: 'static void freeCachedMetaItem(const void* key, size_t keyLen, void*
      value, void* ud) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1263,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1270,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1289,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1298,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1308,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1324,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1325,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1349,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1311,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1314,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1349,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1316,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1258,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1275,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1296,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1312,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1332,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1333,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1333,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1301,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1330,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1339,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1251,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1276,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1285,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1282,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1277,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1352,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1340,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1257,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1278,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1287,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1297,1
    - Dst: createOneDataBlockWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1313,1
    - Dst: initQueryTableDataCondWithColArray
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1315,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1331,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1337,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1351,1
    - Dst: doInitReader
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1338,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1356
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1356
    functionName: createVTableScanInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosHashClear
    - strstr
    - taosArrayGetSize
    - GET_TASKID
    - taosArrayInit
    - cleanupQueryTableDataCond
    - taosArrayClear
    - taosArrayDestroy
    - taosRUnLockLatch
    - taosArraySort
    - taosArrayPush
    - taosHashPut
    - taosArrayGet
    - qError
    - blockDataDestroy
    - doInitReader
    - QUERY_CHECK_NULL
    - createOneDataBlockWithColArray
    - strcmp
    - initQueryTableDataCondWithColArray
    - taosRLockLatch
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVTableScanInfoFromParam(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2195,1
    - Dst: SET_SESSION_WIN_KEY_INVALID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pAggSup
    - startTs
    - endTs
    - groupId
    - pKey
    argTypes:
    - SStreamAggSupporter*
    - TSKEY
    - TSKEY
    - uint64_t
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2196
    functionName: getPreSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - SET_SESSION_WIN_KEY_INVALID
    linkageType: ''
    returnType: void
    signature: 'static void getPreSessionWindow(SStreamAggSupporter* pAggSup, TSKEY
      startTs, TSKEY endTs, uint64_t groupId, SSessionKey* pKey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2850,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2861,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2863,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2865,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2865,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2820,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2824,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2840,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2841,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2875,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2828,1
    - Dst: getGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2855,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2860,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2855,1
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2853,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2861,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2870,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2821,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2822,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2858,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2859,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2858,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2861,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2865,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2868,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2878
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2878
    functionName: generateDeleteResultBlockImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - hasPrimaryKeyCol
    - readPreVersionData
    - printDataBlock
    - calBlockTbName
    - colDataGetData
    - varDataVal
    - qError
    - tstrerror
    - strlen
    - varDataSetLen
    - appendDataToSpecialBlock
    - getGroupIdByData
    - memcpy
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateDeleteResultBlockImpl(SStreamScanInfo* pInfo,
      SSDataBlock* pSrcBlock, SSDataBlock* pDestBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4506,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4519,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4518,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4511,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4524,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4527,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4536,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 4540
      start: 4500
    functionDepth: 0
    functionLinenumber: 4500
    functionLinenumberEnd: 4540
    functionName: createRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tableListCreate
    - taosMemoryCalloc
    - setOperatorInfo
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createRawScanOperatorInfo(SReadHandle* pHandle, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:371,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:397,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:392,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:425,1
    - Dst: doFilterByBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:427,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:436,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:507,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:496,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:504,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:410,1
    - Dst: overlapWithTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:358,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:371,1
    - Dst: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:389,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:397,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:393,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:392,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:403,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:458,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:513,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:439,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:511,1
    - Dst: doDynamicPruneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:451,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:459,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:378,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:379,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:381,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:403,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:399,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:420,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:430,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:431,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:505,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:507,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:368,1
    - Dst: doLoadBlockSMA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:421,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:430,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:435,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:464,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:464,1
    - Dst: doSetTagColumnData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:485,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:520,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:498,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:410,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:495,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:454,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:448,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 147
    argCount: 4
    argNames:
    - pOperator
    - pTableScanInfo
    - pBlock
    - status
    argTypes:
    - SOperatorInfo*
    - STableScanBase*
    - SSDataBlock*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 523
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 523
    functionName: loadDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - applyLimitOffset
    - doDynamicPruneDataBlock
    - doLoadBlockSMA
    - overlapWithTimeWindow
    - qError
    - taosArrayGetSize
    - tstrerror
    - taosHashGetSize
    - doFilter
    - taosGetTimestampUs
    - qDebug
    - setOperatorCompleted
    - GET_TASKID
    - taosMemoryFreeClear
    - doFilterByBlockSMA
    - doSetTagColumnData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadDataBlock(SOperatorInfo* pOperator, STableScanBase*
      pTableScanInfo, SSDataBlock* pBlock, uint32_t* status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:590,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pBlock
    - pExpr
    - numOfExpr
    argTypes:
    - SSDataBlock*
    - SExprInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: doSetNullValue
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNNULL
    linkageType: ''
    returnType: void
    signature: 'static void doSetNullValue(SSDataBlock* pBlock, const SExprInfo* pExpr,
      int32_t numOfExpr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1369,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1368,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1372,1
    - Dst: tableListGetOutputGroups
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1371,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1374,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1375,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1382,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1387,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1397,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1408,1
    - Dst: doGroupedTableScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1408,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1393,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pOperator
    - pResult
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1412
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1412
    functionName: startNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayClear
    - tableListGetSize
    - doGroupedTableScan
    - taosHashClear
    - tableListGetOutputGroups
    - qError
    - setOperatorCompleted
    - tstrerror
    - initNextGroupScan
    - resetLimitInfoForNextGroup
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t startNextGroupScan(SOperatorInfo* pOperator, SSDataBlock**
      pResult) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2207,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2209,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2213,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2225,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2219,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2202,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2206,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2212,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2218,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2224,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2231,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2205,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2216,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2228,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2230,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2204,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2208,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2210,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2222,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2215,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2227,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 9
    argNames:
    - pBlock
    - pStartTs
    - pEndTs
    - pCalStartTs
    - pCalEndTs
    - pUid
    - pGp
    - pTbName
    - pPkData
    argTypes:
    - SSDataBlock*
    - TSKEY*
    - TSKEY*
    - TSKEY*
    - TSKEY*
    - uint64_t*
    - uint64_t*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2242
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2242
    functionName: appendOneRowToSpecialBlockImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetVal
    - qError
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendOneRowToSpecialBlockImpl(SSDataBlock* pBlock, TSKEY*
      pStartTs, TSKEY* pEndTs, TSKEY* pCalStartTs, TSKEY* pCalEndTs, uint64_t* pUid,
      uint64_t* pGp, void* pTbName, void* pPkData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2881,1
    - Dst: generatePartitionDelResBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2891,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2886,1
    - Dst: generateDeleteResultBlockImpl
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2893,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2894
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2894
    functionName: generateDeleteResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataEnsureCapacity
    - blockDataCleanup
    - generateDeleteResultBlockImpl
    - generatePartitionDelResBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateDeleteResultBlock(SStreamScanInfo* pInfo, SSDataBlock*
      pSrcBlock, SSDataBlock* pDestBlock) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:104,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:106,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:122,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:116,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:131,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:133,1
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:143,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:149,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:152,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - pInterval
    - pBlockInfo
    - order
    - overlap
    argTypes:
    - SInterval*
    - SDataBlockInfo*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 161
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 161
    functionName: overlapWithTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - qError
    - getAlignQueryTimeWindow
    - getNextTimeWindow
    - TMIN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t overlapWithTimeWindow(SInterval* pInterval, SDataBlockInfo*
      pBlockInfo, int32_t order, bool* overlap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: freeTableCachedVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeTableCachedVal(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:848,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:851,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:849,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:854,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:857,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:864,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:872,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:872,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - vgVer
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 875
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 875
    functionName: setVgVerColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fmGetScalarFuncExecFuncs
    - colDataSetVal
    - colDataDestroy
    - colInfoDataEnsureCapacity
    - qError
    - tstrerror
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setVgVerColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId, int64_t vgVer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1206,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1206,1
    - Dst: initNextGroupScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1218,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - pInfo
    - pTaskInfo
    - pAPI
    - pNum
    - pList
    argTypes:
    - STableScanInfo*
    - SExecTaskInfo*
    - SStorageAPI*
    - int32_t*
    - STableKeyInfo**
    constantsTouched: []
    func_position:
      end: 1222
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1222
    functionName: doInitReader
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - GET_TASKID
    - initNextGroupScan
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doInitReader(STableScanInfo* pInfo, SExecTaskInfo*
      pTaskInfo, SStorageAPI* pAPI, int32_t* pNum, STableKeyInfo** pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1951,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1961,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1954,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1954,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1960,1
    - Dst: comparePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1963,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1969,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1972,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - pInfo
    - uid
    - ts
    - maxVersion
    - pVal
    argTypes:
    - SStreamScanInfo*
    - uint64_t
    - TSKEY
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1973
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1973
    functionName: getGroupIdByCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - hasPrimaryKeyCol
    - readPreVersionData
    - comparePrimaryKey
    - qInfo
    - qError
    - tstrerror
    - calGroupIdByData
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getGroupIdByCol(SStreamScanInfo* pInfo, uint64_t uid,
      TSKEY ts, int64_t maxVersion, void* pVal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2481,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2479,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2490,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2497,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2497,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - pAggSup
    - pFillSup
    - pEndKey
    - pScanRange
    - pRes
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - SWinKey*
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 2500
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2500
    functionName: setDelRangeEndKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - setPointBuff
    - HAS_ROW_DATA
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setDelRangeEndKey(SStreamAggSupporter* pAggSup, SStreamFillSupporter*
      pFillSup, SWinKey* pEndKey, STimeWindow* pScanRange, bool* pRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3535,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3540,1
    - Dst: checkUpdateData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3538,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3556,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - pInfo
    - endKey
    - pBlock
    argTypes:
    - SStreamScanInfo*
    - TSKEY
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3559
      start: 3531
    functionDepth: 0
    functionLinenumber: 3531
    functionLinenumberEnd: 3559
    functionName: doCheckUpdate
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - checkUpdateData
    - qError
    - tstrerror
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCheckUpdate(SStreamScanInfo* pInfo, TSKEY endKey, SSDataBlock*
      pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:553,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:557,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:554,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:563,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:558,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:564,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:565,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:572,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:572,1
    - Dst: freeTableCachedVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:573,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pMetaReader
    - ppResVal
    argTypes:
    - SMetaReader*
    - STableCachedVal**
    constantsTouched: []
    func_position:
      end: 576
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 576
    functionName: createTableCacheVal
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosStrdup
    - memcpy
    - freeTableCachedVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableCacheVal(const SMetaReader* pMetaReader,
      STableCachedVal** ppResVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:880,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:896,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:883,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:881,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:886,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:896,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - pKeyInfo
    - size
    argTypes:
    - STableScanInfo*
    - STableKeyInfo**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 899
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 899
    functionName: initNextGroupScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListGetGroupList
    - qError
    - tstrerror
    - TARRAY_ELEM_IDX
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initNextGroupScan(STableScanInfo* pInfo, STableKeyInfo**
      pKeyInfo, int32_t* size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1233
    functionName: compareColIdPair
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int compareColIdPair(const void* elem1, const void* elem2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pInfo
    - uid
    argTypes:
    - SStreamScanInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1978
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: getGroupIdByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tableListGetTableGroupId
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getGroupIdByUid(SStreamScanInfo* pInfo, uint64_t uid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2509,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2512,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2519,1
    - Dst: setPointBuff
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2521,1
    - Dst: HAS_ROW_DATA
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2522,1
    - Dst: setDelRangeEndKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2533,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2534,1
    - Dst: setDelRangeEndKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2536,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2537,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2540,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2545,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 7
    argNames:
    - pAggSup
    - pFillSup
    - pInterval
    - start
    - end
    - groupId
    - pScanRange
    argTypes:
    - SStreamAggSupporter*
    - SStreamFillSupporter*
    - SInterval*
    - TSKEY
    - TSKEY
    - int64_t
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 2548
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2548
    functionName: getTimeSliceWinRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - setPointBuff
    - getActiveTimeWindow
    - HAS_ROW_DATA
    - TMAX
    - setDelRangeEndKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTimeSliceWinRange(SStreamAggSupporter* pAggSup, SStreamFillSupporter*
      pFillSup, SInterval* pInterval, TSKEY start, TSKEY end, int64_t groupId, STimeWindow*
      pScanRange) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3579,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3606,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3590,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3626,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3626,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3571,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3581,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3583,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3588,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3620,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3630,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3633,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3572,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3585,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3603,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3593,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3599,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3609,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3615,1
    - Dst: encodeSTimeWindowAggSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3596,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3604,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3611,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3617,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3629,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3634,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - pInfo
    - pBuff
    - pLen
    argTypes:
    - SStreamScanInfo*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3637
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3637
    functionName: streamScanOperatorEncode
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tEncoderClear
    - tEncoderInit
    - taosMemoryCalloc
    - tEndEncode
    - qError
    - tstrerror
    - tStartEncode
    - encodeSTimeWindowAggSupp
    - qDebug
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamScanOperatorEncode(SStreamScanInfo* pInfo, void** pBuff,
      int32_t* pLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:191,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:199,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:193,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:193,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pTableScanInfo
    - uid
    argTypes:
    - STableScanInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: insertTableToScanIgnoreList
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - qError
    - tstrerror
    - taosHashPut
    - taosArrayGetSize
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t insertTableToScanIgnoreList(STableScanInfo* pTableScanInfo,
      uint64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1802,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1802,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1803,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1805
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1805
    functionName: doClearBufferedBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGetSize
    - qDebug
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void doClearBufferedBlocks(SStreamScanInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    functionName: isStateWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isStateWindow(SStreamScanInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2735,1
    - Dst: clearParTbNameHashPtr
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2743,1
    - Dst: appendCreateTableRow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2746,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2737,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2749,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2752,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pInfo
    - pBlock
    - rowId
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2759
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2759
    functionName: calBlockTbName
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - qTrace
    - qError
    - tstrerror
    - clearParTbNameHashPtr
    - appendCreateTableRow
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calBlockTbName(SStreamScanInfo* pInfo, SSDataBlock* pBlock,
      int32_t rowId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doTagScanFromMetaEntryNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 5528
      start: 5524
    functionDepth: 0
    functionLinenumber: 5524
    functionLinenumberEnd: 5528
    functionName: doTagScanFromMetaEntry
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - doTagScanFromMetaEntryNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doTagScanFromMetaEntry(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6748,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6757,1
    - Dst: tsortDestroySortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6753,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6755,1
    - Dst: cleanupQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6761,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6762,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6764,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6768,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6770,1
    - Dst: stopSubTablesTableMergeScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6772,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6774,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 6775
      start: 6737
    functionDepth: 0
    functionLinenumber: 6737
    functionLinenumberEnd: 6775
    functionName: destroyTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - destroyTableScanBase
    - cleanupQueryTableDataCond
    - taosArrayDestroy
    - stopSubTablesTableMergeScan
    - blockDataDestroy
    - tsortDestroySortHandle
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyTableMergeScanOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableGroupOutputBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:219,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:239,1
    - Dst: getResultEntryInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:229,1
    - Dst: fmFuncDynDataRequired
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:231,1
    - Dst: insertTableToScanIgnoreList
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 3
    argNames:
    - pOperator
    - pBlockInfo
    - status
    argTypes:
    - SOperatorInfo*
    - SDataBlockInfo*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 247
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 247
    functionName: doDynamicPruneDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getTableGroupOutputBuf
    - fmFuncDynDataRequired
    - insertTableToScanIgnoreList
    - getResultEntryInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDynamicPruneDataBlock(SOperatorInfo* pOperator, SDataBlockInfo*
      pBlockInfo, uint32_t* status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1807
    functionDepth: 0
    functionLinenumber: 1807
    functionLinenumberEnd: 1811
    functionName: isSessionWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isSessionWindow(SStreamScanInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1826
    functionName: isIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isIntervalWindow(SStreamScanInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2780,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2780,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2783,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2786,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2796,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2795,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2797,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2764,1
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2778,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2768,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2812,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2797,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2799,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2801,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2806,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2766,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2784,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2792,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2799,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2801,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2804,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 3
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2815
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2815
    functionName: generatePartitionDelResBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - calBlockTbName
    - readPreVersionData
    - blockDataEnsureCapacity
    - varDataVal
    - qError
    - tstrerror
    - strlen
    - memcpy
    - varDataSetLen
    - appendDataToSpecialBlock
    - calGroupIdByData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generatePartitionDelResBlock(SStreamScanInfo* pInfo,
      SSDataBlock* pSrcBlock, SSDataBlock* pDestBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5537,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5536,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5535,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5538,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5540,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5541,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5542,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5547
      start: 5530
    functionDepth: 0
    functionLinenumber: 5530
    functionLinenumberEnd: 5547
    functionName: destroyTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tableListDestroy
    - taosArrayDestroy
    - blockDataDestroy
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyTagScanOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6779,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pOptr
    - pOptrExplain
    - len
    argTypes:
    - SOperatorInfo*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 6795
      start: 6777
    functionDepth: 0
    functionLinenumber: 6777
    functionLinenumberEnd: 6795
    functionName: getTableMergeScanExplainExecInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosMemoryCalloc
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableMergeScanExplainExecInfo(SOperatorInfo* pOptr, void**
      pOptrExplain, uint32_t* len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGroupIdByCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1982,1
    - Dst: getGroupIdByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pInfo
    - uid
    - ts
    - maxVersion
    - pVal
    argTypes:
    - SStreamScanInfo*
    - uint64_t
    - TSKEY
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 1986
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1986
    functionName: getGroupIdByData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - getGroupIdByCol
    - getGroupIdByUid
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getGroupIdByData(SStreamScanInfo* pInfo, uint64_t
      uid, TSKEY ts, int64_t maxVersion, void* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4494,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:4493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4495
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4495
    functionName: destroyRawScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tableListDestroy
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroyRawScanOperatorInfo(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5138
      start: 5133
    functionDepth: 0
    functionLinenumber: 5133
    functionLinenumberEnd: 5138
    functionName: tagScanFreeUidTag
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void tagScanFreeUidTag(void* p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5964,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5976,1
    - Dst: adjustSubTableFromMemBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5974,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5984,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5984,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pOperatorInfo
    - pSubTblsInfo
    argTypes:
    - SOperatorInfo*
    - STmsSubTablesMergeInfo*
    constantsTouched: []
    func_position:
      end: 5985
      start: 5962
    functionDepth: 0
    functionLinenumber: 5962
    functionLinenumberEnd: 5985
    functionName: adjustSubTableForNextRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - adjustSubTableFromMemBlock
    - taosArrayGet
    - qError
    - tstrerror
    - tMergeTreeAdjust
    - tMergeTreeGetChosenIndex
    - tMergeTreeGetAdjustIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustSubTableForNextRow(SOperatorInfo* pOperatorInfo,
      STmsSubTablesMergeInfo* pSubTblsInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6032,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6034,1
    - Dst: appendChosenRowToDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6043,1
    - Dst: adjustSubTableForNextRow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6046,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6044,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6047,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6054,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6058,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6070,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - pOperator
    - pBlock
    - capacity
    - pResBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6074
      start: 6023
    functionDepth: 0
    functionLinenumber: 6023
    functionLinenumberEnd: 6074
    functionName: getSubTablesSortedBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - applyLimitOffset
    - qError
    - tstrerror
    - adjustSubTableForNextRow
    - isTaskKilled
    - appendChosenRowToDataBlock
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSubTablesSortedBlock(SOperatorInfo* pOperator, SSDataBlock*
      pBlock, int32_t capacity, SSDataBlock** pResBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7158,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7161,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7162,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7160,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7163,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7164,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7166,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7171,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7173,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7171,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - pOperator
    - pSupp
    - pRes
    - infodbTableNum
    - perfdbTableNum
    argTypes:
    - SOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7176
      start: 7153
    functionDepth: 0
    functionLinenumber: 7153
    functionLinenumberEnd: 7176
    functionName: buildSysDbFilterTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - strcmp
    - qError
    - tstrerror
    - strlen
    - T_LONG_JMP
    - setOperatorCompleted
    - fillTableCountScanDataBlock
    linkageType: ''
    returnType: void
    signature: 'static void buildSysDbFilterTableCount(SOperatorInfo* pOperator, STableCountScanSupp*
      pSupp, SSDataBlock* pRes, size_t infodbTableNum, size_t perfdbTableNum) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2013,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2006,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2009,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2015,1
    - Dst: setGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2018,1
    - Dst: isSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2019,1
    - Dst: isCountSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2019,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2027,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2032,1
    - Dst: resetTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2049,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2041,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2057,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2045,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2057,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 49
    argCount: 4
    argNames:
    - pInfo
    - pBlock
    - pRowIndex
    - pRes
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 2059
      start: 1988
    functionDepth: 0
    functionLinenumber: 1988
    functionLinenumberEnd: 2059
    functionName: prepareRangeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - isCountSlidingWindow
    - taosArrayGet
    - isSlidingWindow
    - isRecalculateOperator
    - resetTableScanInfo
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - qDebug
    - TMAX
    - TMIN
    - setGroupId
    linkageType: ''
    returnType: void
    signature: 'void prepareRangeScan(SStreamScanInfo* pInfo, SSDataBlock* pBlock,
      int32_t* pRowIndex, bool* pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5141,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pType
    - numOfRows
    - pParam
    argTypes:
    - SDataType*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 5161
      start: 5140
    functionDepth: 0
    functionLinenumber: 5140
    functionLinenumberEnd: 5161
    functionName: tagScanCreateResultData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - colInfoDataEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagScanCreateResultData(SDataType* pType, int32_t numOfRows,
      SScalarParam* pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5993,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5994,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5995,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5997,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5998,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5999,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6003,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6006,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6018,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6008,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6018,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pSubTblsInfo
    - pBlock
    argTypes:
    - STmsSubTablesMergeInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 6021
      start: 5987
    functionDepth: 0
    functionLinenumber: 5987
    functionLinenumberEnd: 6021
    functionName: appendChosenRowToDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - colDataIsNull
    - taosArrayGet
    - colDataSetVal
    - colDataGetData
    - qError
    - tstrerror
    - tMergeTreeGetChosenIndex
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendChosenRowToDataBlock(STmsSubTablesMergeInfo*
      pSubTblsInfo, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initSubTablesMergeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6081,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6085,1
    - Dst: initSubTableInputs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6084,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6082,1
    - Dst: openSubTablesMergeSort
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6087,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6088,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6092,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6092,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6095
      start: 6076
    functionDepth: 0
    functionLinenumber: 6076
    functionLinenumberEnd: 6095
    functionName: startSubTablesTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initSubTablesMergeInfo
    - openSubTablesMergeSort
    - initSubTableInputs
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t startSubTablesTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7187,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7189,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7193,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7187,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7194,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7198,1
    - Dst: calcGroupId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7200,1
    - Dst: fillTableCountScanDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7204,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7213,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7207,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    - infodbTableNum
    - perfdbTableNum
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 7217
      start: 7178
    functionDepth: 0
    functionLinenumber: 7178
    functionLinenumberEnd: 7217
    functionName: buildSysDbGroupedTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - calcGroupId
    - qError
    - setOperatorCompleted
    - strlen
    - tstrerror
    - T_LONG_JMP
    - fillTableCountScanDataBlock
    linkageType: ''
    returnType: void
    signature: 'static void buildSysDbGroupedTableCount(SOperatorInfo* pOperator,
      STableCountScanOperatorInfo* pInfo, STableCountScanSupp* pSupp, SSDataBlock*
      pRes, size_t infodbTableNum, size_t perfdbTableNum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:777,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:786,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:784,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:778,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:787,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:790,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:797,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:799,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:806,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:802,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - name
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 809
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 809
    functionName: setTbNameColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fmGetScalarFuncExecFuncs
    - colDataSetVal
    - colDataDestroy
    - colInfoDataEnsureCapacity
    - qError
    - STR_TO_VARSTR
    - tstrerror
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setTbNameColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId, const char* name) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1052,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1055,1
    - Dst: prepareForDescendingScan
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1066,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1090,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1119,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1114,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1043,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1040,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1084,1
    - Dst: doTableScanImplNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1074,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1069,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1090,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1109,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1124,1
    - Dst: getBlockForEmptyTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1126,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1122,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1029,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1069,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1087,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1115,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1137,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1049,1
    - Dst: doTableScanImplNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1039,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1055,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1059,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1075,1
    - Dst: markGroupProcessed
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1092,1
    - Dst: tableListGetInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1103,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 90
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1142
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1142
    functionName: doGroupedTableScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - markGroupProcessed
    - tableListGetInfo
    - tableListGetSize
    - taosHashClear
    - doTableScanImplNext
    - taosHashIterate
    - setTaskStatus
    - qError
    - getBlockForEmptyTable
    - tstrerror
    - taosHashGetKey
    - qDebug
    - prepareForDescendingScan
    - taosHashCancelIterate
    - GET_TASKID
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGroupedTableScan(SOperatorInfo* pOperator, SSDataBlock**
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1636,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1640,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1638,1
    - Dst: destroyTableScanBase
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1639,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1637,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1641
    functionName: destroyTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - destroyTableScanBase
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyTableScanOperatorInfo(void* param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3129,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3127,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3159,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3160,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3162,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3168,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3170,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 3
    argNames:
    - pBlock
    - pWindow
    - id
    argTypes:
    - SSDataBlock*
    - STimeWindow*
    - char*
    constantsTouched: []
    func_position:
      end: 3173
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3173
    functionName: rebuildDeleteBlockData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - trimDataBlock
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildDeleteBlockData(SSDataBlock* pBlock, STimeWindow* pWindow,
      const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isStateWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3732,1
    - Dst: isCountWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 3733
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3733
    functionName: hasScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - isStateWindow
    - isCountWindow
    linkageType: ''
    returnType: bool
    signature: 'bool hasScanRange(SStreamScanInfo* pInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5439,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5451,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5449,1
    - Dst: tagScanFilterByTagCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5413,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5366,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5378,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5386,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5398,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5420,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5375,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5387,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5403,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5402,1
    - Dst: tagScanFillResultBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5419,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5435,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5441,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5449,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5422,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 5455
      start: 5357
    functionDepth: 0
    functionLinenumber: 5357
    functionLinenumberEnd: 5455
    functionName: doTagScanFromCtbIdxNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayClear
    - tagScanFilterByTagCond
    - taosMemoryMalloc
    - applyLimitOffset
    - qError
    - setOperatorCompleted
    - tstrerror
    - tagScanFillResultBlock
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayClearEx
    - T_LONG_JMP
    - memcpy
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTagScanFromCtbIdxNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - type
    - info
    - param
    argTypes:
    - ETsdReaderNotifyType
    - STsdReaderNotifyInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 6437
      start: 6427
    functionDepth: 0
    functionLinenumber: 6427
    functionLinenumberEnd: 6437
    functionName: tableMergeScanTsdbNotifyCb
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void tableMergeScanTsdbNotifyCb(ETsdReaderNotifyType type, STsdReaderNotifyInfo*
      info, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmGetScalarFuncExecFuncs
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:815,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:816,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:821,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:820,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:818,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:831,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:833,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:839,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:839,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:837,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - pBlock
    - pColInfoData
    - functionId
    - vgId
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 842
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 842
    functionName: setVgIdColData
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - fmGetScalarFuncExecFuncs
    - colDataSetVal
    - colDataDestroy
    - colInfoDataEnsureCapacity
    - qError
    - tstrerror
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setVgIdColData(const SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData, int32_t functionId, int32_t vgId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1150,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1162,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1156,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1157,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1152,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1163,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1177,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1189,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1195,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1181,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1195,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1199
    functionName: createTableListInfoFromParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - taosHashClear
    - qError
    - tstrerror
    - taosArrayPush
    - qDebug
    - taosHashPut
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableListInfoFromParam(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1645,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pBlock
    - dataRequireFlag
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1653
      start: 1643
    functionDepth: 0
    functionLinenumber: 1643
    functionLinenumberEnd: 1653
    functionName: resetClolumnReserve
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void resetClolumnReserve(SSDataBlock* pBlock, int32_t dataRequireFlag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - param1
    - param2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3184
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3184
    functionName: colIdComparFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colIdComparFn(const void* param1, const void* param2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isIntervalWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3736,1
    - Dst: isTimeSlice
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3737,1
    - Dst: isSessionWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3736,1
    - Dst: isCountWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3736,1
    - Dst: isStateWindow
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 3738
      start: 3735
    functionDepth: 0
    functionLinenumber: 3735
    functionLinenumberEnd: 3738
    functionName: isStreamWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - isStateWindow
    - isCountWindow
    - isSessionWindow
    - isIntervalWindow
    - isTimeSlice
    linkageType: ''
    returnType: bool
    signature: 'bool isStreamWindow(SStreamScanInfo* pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5475,1
    - Dst: tableListGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5474,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5478,1
    - Dst: doTagScanOneTable
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5488,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5493,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5496,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5501,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5503,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5517,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5519,1
    - Dst: setTaskStatus
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5508,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5517,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 5522
      start: 5457
    functionDepth: 0
    functionLinenumber: 5457
    functionLinenumberEnd: 5522
    functionName: doTagScanFromMetaEntryNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - applyLimitOffset
    - tableListGetSize
    - setTaskStatus
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    - doTagScanOneTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTagScanFromMetaEntryNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6447,1
    - Dst: tsortCreateSortHandle
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6464,1
    - Dst: tsortSetSingleTableMerge
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6490,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6475,1
    - Dst: tsortAddSource
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6486,1
    - Dst: tsortOpen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6492,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6478,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6493,1
    - Dst: tsortSetSortByRowId
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6463,1
    - Dst: tsortSetMergeLimitReachedFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6468,1
    - Dst: tsortSetFetchRawDataFp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6472,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6481,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6474,1
    - Dst: tsortSetMergeLimit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6498,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6447,1
    - Dst: tsortSetAbortCheckFn
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6487,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 6501
      start: 6439
    functionDepth: 0
    functionLinenumber: 6439
    functionLinenumberEnd: 6501
    functionName: startDurationForGroupTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tsortCreateSortHandle
    - tsortAddSource
    - tsortSetAbortCheckFn
    - tsortSetFetchRawDataFp
    - taosMemoryFree
    - tsortSetSingleTableMerge
    - tsortOpen
    - taosMemoryCalloc
    - tsortSetMergeLimit
    - qError
    - tstrerror
    - tsortSetMergeLimitReachedFp
    - QUERY_CHECK_NULL
    - qDebug
    - tsortSetSortByRowId
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t startDurationForGroupTableMergeScan(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 1847
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1847
    functionName: isTimeSlice
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isTimeSlice(SStreamScanInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5658
      start: 5637
    functionDepth: 0
    functionLinenumber: 5637
    functionLinenumberEnd: 5658
    functionName: subTblRowCompareTsFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subTblRowCompareTsFn(const void* pLeft, const void*
      pRight, void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsortComparBlockCell
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5681,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5685
      start: 5660
    functionDepth: 0
    functionLinenumber: 5660
    functionLinenumberEnd: 5685
    functionName: subTblRowCompareTsPkFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - tsortComparBlockCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subTblRowCompareTsPkFn(const void* pLeft, const void*
      pRight, void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6974,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6979,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6975,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 2
    argNames:
    - pseudoCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    constantsTouched: []
    func_position:
      end: 6989
      start: 6971
    functionDepth: 0
    functionLinenumber: 6971
    functionLinenumberEnd: 6989
    functionName: tblCountScanGetCountSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tblCountScanGetCountSlotId(const SNodeList* pseudoCols, STableCountScanSupp*
      supp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1850,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pInfo
    - pBlock
    - groupColIndex
    - rowIndex
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1857
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1857
    functionName: setGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - colDataIsNull_s
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void setGroupId(SStreamScanInfo* pInfo, SSDataBlock* pBlock,
      int32_t groupColIndex, int32_t rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5690,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5699,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5691,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SQueryTableDataCond*
    - SQueryTableDataCond*
    constantsTouched: []
    func_position:
      end: 5702
      start: 5687
    functionDepth: 0
    functionLinenumber: 5687
    functionLinenumberEnd: 5702
    functionName: dumpQueryTableCond
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dumpQueryTableCond(const SQueryTableDataCond* src, SQueryTableDataCond*
      dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6994,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6999,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7002,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6995,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7007,1
    - Dst: tNameGetDbNameP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7007,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7008,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7008,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - groupTags
    - tableName
    - supp
    argTypes:
    - SNodeList*
    - SName*
    - STableCountScanSupp*
    constantsTouched: []
    func_position:
      end: 7011
      start: 6991
    functionDepth: 0
    functionLinenumber: 6991
    functionLinenumberEnd: 7011
    functionName: tblCountScanGetInputs
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - tNameGetDbNameP
    - tNameGetTableName
    - strcmp
    - tstrncpy
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tblCountScanGetInputs(SNodeList* groupTags, SName* tableName,
      STableCountScanSupp* supp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5557,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5572,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5602,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5591,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5603,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5606,1
    - Dst: destroyTagScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5627,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5569,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5558,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5577,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5599,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5606,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5607,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5617,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5630,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5570,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5576,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5600,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5596,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5573,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5585,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5594,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5595,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5592,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5586,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5609,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:5613,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 7
    argNames:
    - pReadHandle
    - pTagScanNode
    - pTableListInfo
    - pTagCond
    - pTagIndexCond
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STagScanPhysiNode*
    - STableListInfo*
    - SNode*
    - SNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 5633
      start: 5549
    functionDepth: 0
    functionLinenumber: 5549
    functionLinenumberEnd: 5633
    functionName: createTagScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initExprSupp
    - initLimitInfo
    - taosArrayInit
    - taosHashInit
    - setOperatorInfo
    - createDataBlockFromDescNode
    - destroyOperator
    - taosGetDefaultHashFunction
    - blockDataEnsureCapacity
    - nodesRewriteExprPostOrder
    - initResultSizeInfo
    - QUERY_CHECK_NULL
    - createOperatorFpSet
    - extractColMatchInfo
    - destroyTagScanOperatorInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTagScanOperatorInfo(SReadHandle* pReadHandle, STagScanPhysiNode*
      pTagScanNode, STableListInfo* pTableListInfo, SNode* pTagCond, SNode* pTagIndexCond,
      SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6805,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6819,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6826,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6863,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6828,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6850,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6862,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6873,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6880,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6890,1
    - Dst: destroyTableMergeScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6919,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6816,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6818,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6824,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6848,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6833,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6877,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6879,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6885,1
    - Dst: getProperSortPageSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6887,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6899,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6891,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6903,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6814,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6853,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6864,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6865,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6867,1
    - Dst: generateSortByTsPkInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6876,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6914,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6914,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6923,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6800,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6804,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6823,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6851,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6874,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 110
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 6926
      start: 6797
    functionDepth: 0
    functionLinenumber: 6797
    functionLinenumberEnd: 6926
    functionName: createTableMergeScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - initQueryTableDataCond
    - createSqlFunctionCtx
    - initLimitInfo
    - taosArrayGetSize
    - createOneDataBlock
    - taosLRUCacheInit
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosGetTimestampSec
    - destroyOperator
    - prepareDataBlockBuf
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - destroyTableMergeScanOperatorInfo
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - generateSortByTsPkInfo
    - createOperatorFpSet
    - extractColMatchInfo
    - getProperSortPageSize
    - tstrerror
    - createExprInfo
    - blockDataGetRowSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTableMergeScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
      SReadHandle* readHandle, STableListInfo* pTableListInfo, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3019,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3023,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3026,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3028,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3020,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3030,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3038,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3040,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3050,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3051,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3058,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3058,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - pBlock
    - tsIndex
    - pWindow
    - id
    argTypes:
    - SSDataBlock*
    - int32_t
    - STimeWindow*
    - char*
    constantsTouched: []
    func_position:
      end: 3061
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3061
    functionName: doBlockDataWindowFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - trimDataBlock
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataGetData
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doBlockDataWindowFilter(SSDataBlock* pBlock, int32_t tsIndex,
      STimeWindow* pWindow, const char* id) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3357,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3369,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3359,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3397,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3417,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3361,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3370,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3375,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3409,1
    - Dst: setBlockIntoRes
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3419,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3421,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3428,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3441,1
    - Dst: processPrimaryKey
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3374,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3415,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3391,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3434,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3443,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 3447
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3447
    functionName: doQueueScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - doTableScanNext
    - processPrimaryKey
    - qError
    - tstrerror
    - T_LONG_JMP
    - setBlockIntoRes
    - isTaskKilled
    - qDebug
    - tqOffsetResetToLog
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doQueueScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7226,1
    - Dst: buildVnodeDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7238,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7227,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7240,1
    - Dst: buildSysDbTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7234,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7240,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7242,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 7249
      start: 7219
    functionDepth: 0
    functionLinenumber: 7219
    functionLinenumberEnd: 7249
    functionName: doTableCountScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - qError
    - tstrerror
    - T_LONG_JMP
    - buildVnodeDbTableCount
    - buildSysDbTableCount
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTableCountScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3076,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3077,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3086,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3089,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3088,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3092,1
    - Dst: trimDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3103,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3104,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3069,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3070,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3081,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3082,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3089,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3094,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3073,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3094,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3108,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3074,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3078,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3084,1
    - Dst: func
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3091,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3085,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3090,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3087,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3110,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - pBlock
    - offset
    argTypes:
    - SSDataBlock*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 3113
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3113
    functionName: doBlockDataPrimaryKeyFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - getComparFunc
    - VALUE_GET_TRIVIAL_DATUM
    - IS_VAR_DATA_TYPE
    - taosMemoryMalloc
    - colDataGetData
    - varDataVal
    - VALUE_GET_DATUM
    - memcpy
    - trimDataBlock
    - taosArrayGet
    - qError
    - QUERY_CHECK_NULL
    - func
    - QUERY_CHECK_CONDITION
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBlockDataPrimaryKeyFilter(SSDataBlock* pBlock, STqOffsetVal*
      offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doQueueScanNext
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3453
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3453
    functionName: doQueueScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - doQueueScanNext
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doQueueScan(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6952,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6961,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6963,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6953,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:6957,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - scanCols
    - supp
    argTypes:
    - SNodeList*
    - STableCountScanSupp*
    constantsTouched: []
    func_position:
      end: 6969
      start: 6949
    functionDepth: 0
    functionLinenumber: 6949
    functionLinenumberEnd: 6969
    functionName: tblCountScanGetGroupTagsSlotId
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tblCountScanGetGroupTagsSlotId(const SNodeList* scanCols,
      STableCountScanSupp* supp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7266,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7268,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7269,1
    - Dst: buildVnodeGroupedTableCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7272,1
    - Dst: buildVnodeFilteredTbCount
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7274,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:7279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - pOperator
    - pInfo
    - pSupp
    - pRes
    argTypes:
    - SOperatorInfo*
    - STableCountScanOperatorInfo*
    - STableCountScanSupp*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7284
      start: 7251
    functionDepth: 0
    functionLinenumber: 7251
    functionLinenumberEnd: 7284
    functionName: buildVnodeDbTableCount
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tNameFromString
    - qError
    - tstrerror
    - buildVnodeGroupedTableCount
    - buildVnodeFilteredTbCount
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeDbTableCount(SOperatorInfo* pOperator, STableCountScanOperatorInfo*
      pInfo, STableCountScanSupp* pSupp, SSDataBlock* pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3509,1
    - Dst: getGroupIdByUid
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3518,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3511,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3520,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3526,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3526,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 2
    argNames:
    - pInfo
    - pBlock
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3529
      start: 3506
    functionDepth: 0
    functionLinenumber: 3506
    functionLinenumberEnd: 3529
    functionName: setBlockGroupIdByUid
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetVal
    - qError
    - tstrerror
    - getGroupIdByUid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setBlockGroupIdByUid(SStreamScanInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: filterRangeExecute
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - pFilterInfo
    - pColsAgg
    - numOfCols
    - numOfRows
    - keep
    argTypes:
    - SFilterInfo*
    - SColumnDataAgg*
    - int32_t
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: doFilterByBlockSMA
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - filterRangeExecute
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFilterByBlockSMA(SFilterInfo* pFilterInfo, SColumnDataAgg*
      pColsAgg, int32_t numOfCols, int32_t numOfRows, bool* keep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_REVERSE_SCAN_FLAG
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:526,1
    - Dst: switchCtxOrder
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:528,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pTableScanInfo
    - pCtx
    - numOfOutput
    argTypes:
    - STableScanBase*
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 532
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 532
    functionName: prepareForDescendingScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - TSWAP
    - SET_REVERSE_SCAN_FLAG
    - switchCtxOrder
    linkageType: ''
    returnType: void
    signature: 'static void prepareForDescendingScan(STableScanBase* pTableScanInfo,
      SqlFunctionCtx* pCtx, int32_t numOfOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1663,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1679,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1685,1
    - Dst: resetClolumnReserve
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1705,1
    - Dst: extractIntervalInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1695,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1720,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1739,1
    - Dst: destroyTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1756,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1761,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1662,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1675,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1677,1
    - Dst: initQueryTableDataCond
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1678,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1684,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1700,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1704,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1706,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1674,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1709,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1713,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1715,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1728,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1744,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1745,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1658,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1703,1
    - Dst: prepareDataBlockBuf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1708,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1689,1
    - Dst: createSqlFunctionCtx
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1687,1
    - Dst: memset
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1716,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1719,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 5
    argNames:
    - pTableScanNode
    - readHandle
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - STableScanPhysiNode*
    - SReadHandle*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1765
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1765
    functionName: createTableScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - TSWAP
    - taosMemoryCalloc
    - initQueryTableDataCond
    - createSqlFunctionCtx
    - extractIntervalInfo
    - initLimitInfo
    - taosLRUCacheSetStrictCapacity
    - destroyTableScanOperatorInfo
    - taosLRUCacheInit
    - setOperatorInfo
    - createDataBlockFromDescNode
    - taosGetTimestampSec
    - destroyOperator
    - prepareDataBlockBuf
    - memcpy
    - initResultSizeInfo
    - memset
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - resetClolumnReserve
    - createOperatorFpSet
    - extractColMatchInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTableScanOperatorInfo(STableScanPhysiNode* pTableScanNode,
      SReadHandle* readHandle, STableListInfo* pTableListInfo, SExecTaskInfo* pTaskInfo,
      SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2248,1
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2250,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 7
    argNames:
    - pBlock
    - pTsArray
    - pPkCol
    - rowId
    - pUid
    - pGp
    - pTbName
    argTypes:
    - SSDataBlock*
    - TSKEY*
    - SColumnInfoData*
    - int32_t
    - uint64_t*
    - uint64_t*
    - void*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2252
    functionName: appendPkToSpecialBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - appendOneRowToSpecialBlockImpl
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendPkToSpecialBlock(SSDataBlock* pBlock, TSKEY* pTsArray,
      SColumnInfoData* pPkCol, int32_t rowId, uint64_t* pUid, uint64_t* pGp, void*
      pTbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3741,1
    - Dst: appendDataToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - start
    - end
    argTypes:
    - SSDataBlock*
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 3746
      start: 3740
    functionDepth: 0
    functionLinenumber: 3740
    functionLinenumberEnd: 3746
    functionName: copyGetResultBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - blockDataEnsureCapacity
    - appendDataToSpecialBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyGetResultBlock(SSDataBlock* dest, TSKEY start, TSKEY end) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - pTableScanInfo
    - pBlock
    - pTaskInfo
    - pLoad
    argTypes:
    - STableScanBase*
    - SSDataBlock*
    - SExecTaskInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: doLoadBlockSMA
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadBlockSMA(STableScanBase* pTableScanInfo, SSDataBlock*
      pBlock, SExecTaskInfo* pTaskInfo, bool* pLoad) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1768,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1771,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1772,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1781,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1783,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:1794,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - pReadHandle
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1799
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1799
    functionName: createTableSeqScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - setOperatorInfo
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createTableSeqScanOperatorInfo(void* pReadHandle, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2258,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2263,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2263,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2259,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2267,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2270,1
    - Dst: hasPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2272,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2273,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2276,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2277,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2278,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:2284,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - uid
    - startTs
    - endTs
    - version
    - taskIdStr
    - pInfo
    - pBlock
    argTypes:
    - uint64_t
    - TSKEY
    - TSKEY
    - int64_t
    - char*
    - SStreamScanInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2287
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2287
    functionName: getPreVersionDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayGet
    - hasPrimaryKeyCol
    - readPreVersionData
    - printDataBlock
    - blockDataEnsureCapacity
    - appendPkToSpecialBlock
    - qError
    - tstrerror
    - calGroupIdByData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPreVersionDataBlock(uint64_t uid, TSKEY startTs,
      TSKEY endTs, int64_t version, char* taskIdStr, SStreamScanInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3753,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3754,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3766,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3768,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3768,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3769,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3770,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3775,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3783,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3773,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/scanoperator.c:3783,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - pStore
    - pState
    - pBlock
    - deleteNum
    argTypes:
    - SStateStore*
    - SStreamState*
    - SSDataBlock*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3786
      start: 3748
    functionDepth: 0
    functionLinenumber: 3748
    functionLinenumberEnd: 3786
    functionName: deletePartName
    functionSourceFile: /src/tdengine/source/libs/executor/src/scanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - qError
    - tstrerror
    - strlen
    - varDataSetLen
    - qDebug
    - memcpy
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deletePartName(SStateStore* pStore, SStreamState* pState,
      SSDataBlock* pBlock, int32_t *deleteNum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:526,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:531,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:543,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:530,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:536,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:548,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:550,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:553,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 564
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 564
    functionName: mLeftJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJOIN_DS_NEED_INIT
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: bool
    signature: 'static bool mLeftJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:973,1
    - Dst: mOuterJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 974
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 974
    functionName: mFullJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mOuterJoinHashSeqCart
    - mOuterJoinHashFullCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mFullJoinHashCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3484,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3487,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3495,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3488,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3487,1
    - Dst: mWinJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3495,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3497,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3504,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3506,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3507,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3515,1
    - Dst: mWinJoinMoveFillWinCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3515,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3518,1
    - Dst: mWinJoinTrimDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3518,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3520,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3509,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3509,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3534
      start: 3476
    functionDepth: 0
    functionLinenumber: 3476
    functionLinenumberEnd: 3534
    functionName: mWinJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mWinJoinMoveFillWinCache
    - mWinJoinRetrieve
    - MJOIN_PROBE_TB_ROWS_DONE
    - MJOIN_GET_TB_CUR_TS
    - mWinJoinTrimDumpGrpCache
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - mJoinIsDone
    - MJOIN_GET_TB_COL_TS
    - mJoinBuildEqGrp
    - mWinJoinDumpGrpCache
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mWinJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:567,1
    - Dst: mOuterJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: mLeftJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mOuterJoinHashSeqCart
    - mOuterJoinHashFullCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mLeftJoinHashCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:977,1
    - Dst: mOuterJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:977,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 978
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 978
    functionName: mFullJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mOuterJoinMergeSeqCart
    - mOuterJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinMergeCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3545,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3548,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3549
      start: 3536
    functionDepth: 0
    functionLinenumber: 3536
    functionLinenumberEnd: 3549
    functionName: mWinJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinResetGroupTableCtx
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: 'void mWinJoinGroupReset(SMJoinOperatorInfo* pJoin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2546,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2551,1
    - Dst: mAsofForwardSkipEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2546,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2553,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2552,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2563,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2563,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2563,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2571,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - timestamp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2575
      start: 2539
    functionDepth: 0
    functionLinenumber: 2539
    functionLinenumberEnd: 2575
    functionName: mAsofForwardSkipAllEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJOIN_POP_TB_BLK
    - mAsofForwardSkipEqRows
    - MJOIN_RESTORE_TB_BLK
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJ_ERR_RET
    - qDebug
    - MJOIN_BUILD_TB_ROWS_DONE
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardSkipAllEqRows(SMJoinWindowCtx* pCtx, int64_t timestamp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2580,1
    - Dst: mAsofForwardSkipAllEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2580,1
    - Dst: mAsofForwardFillDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2583,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 2584
      start: 2578
    functionDepth: 0
    functionLinenumber: 2578
    functionLinenumberEnd: 2584
    functionName: mAsofForwardUpdateDumpEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJ_ERR_RET
    - mAsofForwardSkipAllEqRows
    - mAsofForwardFillDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardUpdateDumpEqRows(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1548,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1551,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1561,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1554,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1549,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1561,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1568,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1575
    functionName: mSemiJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinMergeGrpCart
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinMergeFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mSemiJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1579,1
    - Dst: mSemiJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1580
    functionName: mSemiJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mSemiJoinHashSeqCart
    - mSemiJoinHashFullCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinHashCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:445,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:453,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:447,1
    - Dst: mOuterJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:453,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:466,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:466,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:467,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:469,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:469,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:476,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:479,1
    - Dst: mJoinGetRowBitmapOffset
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:490,1
    - Dst: mOuterJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:499,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:490,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:499,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:490,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:479,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 516
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 516
    functionName: mOuterJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - taosArrayGet
    - mJoinGetRowBitmapOffset
    - tSimpleHashGet
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mOuterJoinHashGrpCartFilter
    - mJoinCopyKeyColsDataToBuf
    - taosArrayGetSize
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mOuterJoinHashSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1751,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1759,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1760,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1759,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1753,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1762,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1762,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1767,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1770,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1770,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1779,1
    - Dst: mAntiJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1779,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1786
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1786
    functionName: mAntiJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mAntiJoinHashGrpCartFilter
    - mJoinCopyKeyColsDataToBuf
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinHashSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3188,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3209,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3190,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3237,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3207,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3239,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3260,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3262,1
    - Dst: mWinJoinRemoveOverflowGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3270,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3285,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3287,1
    - Dst: mWinJoinRemoveOverflowGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3293,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 4
    argNames:
    - pCtx
    - pCache
    - build
    - winEnd
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    - SMJoinTableCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 3302
      start: 3186
    functionDepth: 0
    functionLinenumber: 3186
    functionLinenumberEnd: 3302
    functionName: mWinJoinTryAddWinEndBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - MJ_ERR_RET
    - mWinJoinRemoveOverflowGrp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinTryAddWinEndBlk(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache, SMJoinTableCtx* build, bool* winEnd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mOuterJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:520,1
    - Dst: mOuterJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: mLeftJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mOuterJoinMergeSeqCart
    - mOuterJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mLeftJoinMergeCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1790
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1790
    functionName: mAntiJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinMergeFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3308,1
    - Dst: mWinJoinTryAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3308,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3319,1
    - Dst: mWinJoinCloneCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3319,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3322,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3322,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3322,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3330,1
    - Dst: mWinJoinTryAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3339
      start: 3304
    functionDepth: 0
    functionLinenumber: 3304
    functionLinenumberEnd: 3339
    functionName: mWinJoinAddWinEndBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinCloneCacheBlk
    - mWinJoinTryAddWinEndBlk
    - MJ_ERR_RET
    - qDebug
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinAddWinEndBlk(SMJoinWindowCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1973,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pCache
    - jLimit
    - newRows
    - evictRows
    argTypes:
    - SMJoinWinCache*
    - int64_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1988
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1988
    functionName: mAsofBackwardCalcRowNum
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardCalcRowNum(SMJoinWinCache* pCache, int64_t jLimit,
      int32_t newRows, int32_t* evictRows) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2281,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2289,1
    - Dst: mAsofBackwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2302,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2320,1
    - Dst: mAsofBackwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2323,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2328,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2329,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2333,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2336,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2344,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2354,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2349,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2278,1
    - Dst: mAsofBackwardHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2281,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2298,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2303,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2316,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2307,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2310,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2320,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2324,1
    - Dst: mAsofBackwardHandleClosedGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2334,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2282,1
    - Dst: mAsofBackwardRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2289,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2291,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2299,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2317,1
    - Dst: mAsofBackwardHandleUnclosedGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2336,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2339,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2344,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2302,1
    - Dst: mAsofBackwardAddEqRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2316,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2323,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2334,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2349,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 79
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2368
    functionName: mAsofBackwardJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mAsofBackwardProcessEqualGrp
    - mAsofBackwardRetrieve
    - mAsofBackwardHandleClosedGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - MJOIN_TB_GRP_ROWS_DONE
    - MJOIN_GET_TB_CUR_TS
    - mAsofBackwardDumpGrpCache
    - PROBE_TS_NMATCH
    - mAsofBackwardHandleUnclosedGrp
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinIsDone
    - mAsofBackwardAddEqRowsToCache
    - MJOIN_GET_TB_COL_TS
    - mAsofBackwardHandleGrpRemains
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mAsofBackwardJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mAsofForwardTrimCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2395,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2438,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2408,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2451,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2399,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2438,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2438,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2421,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2395,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2401,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2403,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2408,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2415,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2416,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2419,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2451,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2457,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2390
    functionDepth: 0
    functionLinenumber: 2390
    functionLinenumberEnd: 2460
    functionName: mAsofForwardChkFillGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mAsofForwardTrimCacheBlk
    - MJOIN_RESTORE_TB_BLK
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJ_ERR_RET
    - qDebug
    - taosArrayPop
    - blockDataMergeNRows
    - taosArrayGetSize
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardChkFillGrpCache(SMJoinWindowCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:30,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:37,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: mJoinGetFinBlkCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t mJoinGetFinBlkCapacity(SMJoinOperatorInfo* pJoin,
      SSortMergeJoinPhysiNode* pJoinNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mAsofBackwardCalcRowNum
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1993,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1995,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1995,1
    - Dst: blockDataMergeNRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - pGrp
    - fromBegin
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinGrpRows*
    - bool
    constantsTouched: []
    func_position:
      end: 2000
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2000
    functionName: mAsofBackwardAddRowsToCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataMergeNRows
    - mAsofBackwardCalcRowNum
    - blockDataTrimFirstRows
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardAddRowsToCache(SMJoinWindowCtx* pCtx, SMJoinGrpRows*
      pGrp, bool fromBegin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2371,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2381,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2377,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2381,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2375,1
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2384,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2388
      start: 2370
    functionDepth: 0
    functionLinenumber: 2370
    functionLinenumberEnd: 2388
    functionName: mAsofForwardTrimCacheBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - blockDataTrimFirstRows
    - MJOIN_SAVE_TB_BLK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardTrimCacheBlk(SMJoinWindowCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2463,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2470,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2468,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2485,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2491
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2491
    functionName: mAsofForwardUpdateBuildGrpEndIdx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - TMIN
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardUpdateBuildGrpEndIdx(SMJoinWindowCtx* pCtx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2719,1
    - Dst: mAsofForwardRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2726,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2728,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2736,1
    - Dst: mAsofForwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2739,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2751,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2747,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2754,1
    - Dst: mAsofForwardHandleProbeGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2765,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2771,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2715,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2740,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2751,1
    - Dst: mAsofForwardProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2754,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2759,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2760,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2766,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2768,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2776,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2726,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2718,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2755,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2765,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2776,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2781,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2718,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2735,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2739,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2744,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2764,1
    - Dst: mAsofForwardSkipBuildGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2768,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2785,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2781,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 72
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2799
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2799
    functionName: mAsofForwardJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - MJOIN_PROBE_TB_ROWS_DONE
    - mAsofForwardSkipBuildGrp
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_TB_GRP_ROWS_DONE
    - PROBE_TS_NMATCH
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - mAsofForwardProcessEqualGrp
    - mJoinNonEqCart
    - mJoinIsDone
    - mAsofForwardRetrieve
    - MJOIN_GET_TB_COL_TS
    - mWinJoinDumpGrpCache
    - mAsofForwardHandleProbeGrp
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mAsofForwardJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2010,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2012,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2021,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2024,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2015,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2039,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2040,1
    - Dst: mAsofBackwardAddRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2040,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2047,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2047,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2047,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - pOperator
    - pCtx
    - pTable
    - timestamp
    argTypes:
    - struct SOperatorInfo*
    - SMJoinWindowCtx*
    - SMJoinTableCtx*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2061
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2061
    functionName: mAsofBackwardAddEqRowsToCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GET_TASKID
    - taosArrayGet
    - colDataGetNumData
    - MJ_ERR_RET
    - qDebug
    - mAsofBackwardAddRowsToCache
    - TMIN
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardAddEqRowsToCache(struct SOperatorInfo* pOperator,
      SMJoinWindowCtx* pCtx, SMJoinTableCtx* pTable, int64_t timestamp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2810,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2813,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2814
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2814
    functionName: mAsofJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinResetGroupTableCtx
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: 'void mAsofJoinGroupReset(SMJoinOperatorInfo* pJoin) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2065,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2086,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2078,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2071,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2078,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2086,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2090,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2090,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2098,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2104,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2117,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2117,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2126,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2126,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2135
    functionName: mAsofBackwardDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - MJ_ERR_RET
    - mJoinNonEqCart
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardDumpGrpCache(SMJoinWindowCtx* pCtx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:142,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:158,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:146,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:146,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:158,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:159,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:161,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:161,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:166,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:169,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:169,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:184,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 198
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 198
    functionName: mOuterJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mOuterJoinHashFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1101,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1102,1
    - Dst: mFullJoinOutputMergeRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pCtx
    - pGrpRows
    - pNMatch
    - grpDone
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    - SMJoinNMatchCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1111
    functionName: mFullJoinOutputMergeGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - MJ_ERR_RET
    - mFullJoinOutputMergeRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinOutputMergeGrpRows(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      pGrpRows, SMJoinNMatchCtx* pNMatch, bool* grpDone) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1619,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1658,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1600,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1603,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1615,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1620,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1642,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1637,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1646,1
    - Dst: mInnerJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1611,1
    - Dst: mSemiJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1603,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1616,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1624,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1630,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1637,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1628,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1624,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1642,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1647,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1604,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1619,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1629,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1638,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1653,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1651,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1675
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1675
    functionName: mSemiJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - mSemiJoinHandleGrpRemains
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - mInnerJoinRetrieve
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinSetDone
    - MJOIN_GET_TB_COL_TS
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mSemiJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2592,1
    - Dst: mAsofForwardUpdateDumpEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2594,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 2595
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2595
    functionName: mAsofForwardProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinBuildEqGrp
    - mAsofForwardUpdateDumpEqRows
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardProcessEqualGrp(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:210,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:211,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:205,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:244,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:253,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:245,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:222,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:224,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:215,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:217,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:245,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:241,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:239,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:246,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:236,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 276
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 276
    functionName: mOuterJoinMergeFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mOuterJoinMergeFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1125,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1127,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1140,1
    - Dst: mFullJoinOutputMergeGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1140,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1142,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1155,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1164,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1167,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1171,1
    - Dst: mFullJoinOutputMergeRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1171,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1173,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1186,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1181,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1201
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1201
    functionName: mFullJoinHandleMergeGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - BLK_IS_FULL
    - taosArrayGet
    - mFullJoinOutputMergeRow
    - mFullJoinOutputMergeGrpRows
    - MJ_ERR_RET
    - taosArrayGetSize
    - MJOIN_SET_ROW_BITMAP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinHandleMergeGrpRemains(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1684
    functionName: mAntiJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mAntiJoinHandleGrpRemains(SMJoinMergeCtx*
      pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2605,1
    - Dst: mAsofForwardFillDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2614,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2615
    functionName: mAsofForwardHandleProbeGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - mAsofForwardFillDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardHandleProbeGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData* pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:281,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:315,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:345,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:324,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:334,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:351,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:286,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:307,1
    - Dst: mJoinFilterAndMarkRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:332,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:296,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:315,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:316,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:334,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:345,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:324,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:351,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:283,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:305,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:314,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:332,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:373,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 381
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 381
    functionName: mOuterJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_REMAIN_ROWS
    - mJoinCopyMergeMidBlk
    - mJoinNonEqGrpCart
    - doFilter
    - MJ_ERR_RET
    - mJoinFilterAndMarkRows
    - taosArrayGetSize
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mOuterJoinMergeSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: mLeftJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mLeftJoinHandleGrpRemains(SMJoinMergeCtx*
      pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2619,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2627,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2626,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2620,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2635,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2636,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2637,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2638,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData**
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2641
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2641
    functionName: mAsofForwardSkipBuildGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJOIN_POP_TB_BLK
    - MJOIN_RESTORE_TB_BLK
    - MJOIN_GET_TB_CUR_TS
    - MJOIN_BUILD_TB_ROWS_DONE
    - PROBE_TS_NREACH
    - MJOIN_GET_TB_COL_TS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardSkipBuildGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData** pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:386,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:401,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:388,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:397,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:397,1
    - Dst: mJoinFilterAndMarkHashRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:401,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:403,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:403,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:413,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:413,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:421,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 2
    argNames:
    - pCtx
    - contLoop
    argTypes:
    - SMJoinMergeCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 439
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 439
    functionName: mOuterJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - mJoinCopyMergeMidBlk
    - taosArrayGet
    - mJoinNonEqGrpCart
    - doFilter
    - MJ_ERR_RET
    - mJoinFilterAndMarkHashRows
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mOuterJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, bool*
      contLoop) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mJoinHandleMidRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:590,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:598,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:634,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:641,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:665,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:666,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:591,1
    - Dst: mLeftJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:598,1
    - Dst: mLeftJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:606,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:614,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:618,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:623,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:630,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:640,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:599,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:615,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:618,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:630,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:633,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:626,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:641,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:657,1
    - Dst: MJOIN_TB_GRP_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:657,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:665,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:587,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:590,1
    - Dst: mJoinIsDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:607,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:619,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:633,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:638,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:639,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:642,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:647,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:648,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 80
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 680
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 680
    functionName: mLeftJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mJoinProcessLowerGrp
    - mLeftJoinHandleGrpRemains
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - MJOIN_TB_GRP_ROWS_DONE
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - PROBE_TS_NREACH
    - mJoinIsDone
    - mJoinNonEqCart
    - MJOIN_GET_TB_COL_TS
    - mJoinHandleMidRemains
    - mLeftJoinRetrieve
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mLeftJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2646,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2650,1
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2652,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2654,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2666,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2667,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2669,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2672,1
    - Dst: MJOIN_POP_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2674,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2686,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2691,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2691,1
    - Dst: MJOIN_RESTORE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2695,1
    - Dst: MJOIN_PUSH_BLK_TO_CACHE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2694,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2688,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 2702
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2702
    functionName: mAsofForwardRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - taosArrayGet
    - MJOIN_POP_TB_BLK
    - blockDataEnsureCapacity
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJOIN_RESTORE_TB_BLK
    - MJOIN_PUSH_BLK_TO_CACHE
    - MJOIN_DS_NEED_INIT
    - MJ_ERR_RET
    - mJoinSetDone
    - MJOIN_SAVE_TB_BLK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAsofForwardRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:691,1
    - Dst: mJoinResetGroupTableCtx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:692,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: mLeftJoinGroupReset
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinResetGroupTableCtx
    linkageType: ''
    returnType: void
    signature: 'void mLeftJoinGroupReset(SMJoinOperatorInfo* pJoin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2139,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2156,1
    - Dst: mAsofBackwardAddEqRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2149,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2149,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2139,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2156,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pCtx
    - pJoin
    - lastBuildGrp
    - skipEqPost
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 2161
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2161
    functionName: mAsofBackwardDumpUpdateEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAsofBackwardAddEqRowsToCache
    - MJ_ERR_RET
    - mAsofBackwardDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardDumpUpdateEqRows(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, bool lastBuildGrp, bool skipEqPost) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2868,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2877,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2874,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2872,1
    - Dst: mWinJoinCloneCacheBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2874,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2882,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2889,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2890,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2892,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2895,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 2909
      start: 2865
    functionDepth: 0
    functionLinenumber: 2865
    functionLinenumberEnd: 2909
    functionName: mWinJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinCloneCacheBlk
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJOIN_DS_NEED_INIT
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mWinJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3107,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3114,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3116,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3109,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3120,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3146,1
    - Dst: mWinJoinAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3162,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3163
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3163
    functionName: mWinJoinMoveDescWinBegin
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinAddWinBeginBlk
    - TSWAP
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - mWinJoinPopFrontGroup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinMoveDescWinBegin(SMJoinWindowCtx* pCtx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:717,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:719,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:722,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:731,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:734,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:748,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:736,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:706,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:705,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:722,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:710,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:712,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:739,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:740,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:741,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:748,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 771
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 771
    functionName: mInnerJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mInnerJoinMergeCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2171,1
    - Dst: mJoinBuildEqGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2171,1
    - Dst: mAsofBackwardDumpUpdateEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2173,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pCtx
    - timestamp
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 2176
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2176
    functionName: mAsofBackwardProcessEqualGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinBuildEqGrp
    - mAsofBackwardDumpUpdateEqRows
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardProcessEqualGrp(SMJoinWindowCtx* pCtx, int64_t
      timestamp, bool lastBuildGrp) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2913,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2976,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2937,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2939,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2915,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2978,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 4
    argNames:
    - pCtx
    - pCache
    - build
    - winEnd
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinWinCache*
    - SMJoinTableCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 3001
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 3001
    functionName: mWinJoinTryAddWinBeginBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinTryAddWinBeginBlk(SMJoinWindowCtx* pCtx, SMJoinWinCache*
      pCache, SMJoinTableCtx* build, bool* winEnd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3172,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3184
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3184
    functionName: mWinJoinRemoveOverflowGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mWinJoinPopFrontGroup
    linkageType: ''
    returnType: void
    signature: 'void mWinJoinRemoveOverflowGrp(SMJoinWindowCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2187,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2188,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2197
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2197
    functionName: mAsofBackwardHandleClosedGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJOIN_GET_TB_CUR_TS
    - mAsofBackwardDumpGrpCache
    - PROBE_TS_NMATCH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardHandleClosedGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData* pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:958,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: mFullJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinNonEqCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mFullJoinHandleGrpRemains(SMJoinMergeCtx*
      pCtx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1012,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1030,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1020,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1029,1
    - Dst: mFullJoinOutputHashGrpRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1029,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1032,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1040,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1045,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1046,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1054,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1057,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1070,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1081,1
    - Dst: mFullJoinOutputHashRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1061,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1072,1
    - Dst: MJOIN_SET_ROW_BITMAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1062,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1061,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1063,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1089
    functionName: mFullJoinHandleHashGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - BLK_IS_FULL
    - mFullJoinOutputHashGrpRows
    - tSimpleHashIterate
    - mFullJoinOutputHashRow
    - MJ_ERR_RET
    - taosArrayGetSize
    - MJOIN_SET_ROW_BITMAP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinHandleHashGrpRemains(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mSemiJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1583,1
    - Dst: mSemiJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1584
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1584
    functionName: mSemiJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mSemiJoinMergeFullCart
    - mSemiJoinMergeSeqCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinMergeCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1689,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1697,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1691,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1697,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1698,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1700,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1700,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1705,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1708,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1708,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1716
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1716
    functionName: mAntiJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinHashFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAsofBackwardDumpUpdateEqRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2224,1
    - Dst: mAsofBackwardDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2224,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2225
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2225
    functionName: mAsofBackwardHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAsofBackwardDumpUpdateEqRows
    - mAsofBackwardDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardHandleGrpRemains(SMJoinWindowCtx* pCtx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ASOF_EQ_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3595,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3597,1
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3597,1
    - Dst: ASOF_LOWER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3596,1
    - Dst: ASOF_GREATER_ROW_INCLUDED
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3596,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3632,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3634,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3637,1
    - Dst: mJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3637,1
    - Dst: mJoinInitWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3641,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3637,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3641,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 3644
      start: 3577
    functionDepth: 0
    functionLinenumber: 3577
    functionLinenumberEnd: 3644
    functionName: mJoinInitWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinGetFinBlkCapacity
    - ASOF_GREATER_ROW_INCLUDED
    - blockDataEnsureCapacity
    - ASOF_EQ_ROW_INCLUDED
    - mJoinInitWindowCache
    - createDataBlockFromDescNode
    - ASOF_LOWER_ROW_INCLUDED
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinInitWindowCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:962,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pOperator
    - pJoin
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: mFullJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinRetrieveBlk
    linkageType: ''
    returnType: bool
    signature: 'static bool mFullJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pCtx
    - pGrpRows
    - idx
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1097
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1097
    functionName: mFullJoinOutputMergeRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinNonEqGrpCart
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mFullJoinOutputMergeRow(SMJoinMergeCtx*
      pCtx, SMJoinGrpRows* pGrpRows, int32_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1588
    functionName: mSemiJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mSemiJoinHandleGrpRemains(SMJoinMergeCtx*
      pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1724,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1729,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1726,1
    - Dst: mJoinFilterAndNoKeepRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1729,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1726,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1737,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1737,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - probeGrp
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    constantsTouched: []
    func_position:
      end: 1745
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1745
    functionName: mAntiJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - blockDataCleanup
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mJoinFilterAndNoKeepRows
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      probeGrp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2207,1
    - Dst: mAsofBackwardAddRowsToCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2220,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2208,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - pCtx
    - pJoin
    - pCol
    - probeTs
    - buildTs
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinOperatorInfo*
    - SColumnInfoData*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 2221
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2221
    functionName: mAsofBackwardHandleUnclosedGrp
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAsofBackwardAddRowsToCache
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofBackwardHandleUnclosedGrp(SMJoinWindowCtx* pCtx, SMJoinOperatorInfo*
      pJoin, SColumnInfoData* pCol, int64_t* probeTs, int64_t* buildTs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2230,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2251,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2240,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2234,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2235,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2253,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2256,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2256,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - pOperator
    - pJoin
    - pCtx
    - newBlock
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 2265
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2265
    functionName: mAsofBackwardRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - blockDataEnsureCapacity
    - mJoinRetrieveBlk
    - MJOIN_DS_NEED_INIT
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAsofBackwardRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx, bool* newBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3648,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3646
    functionDepth: 0
    functionLinenumber: 3646
    functionLinenumberEnd: 3653
    functionName: mJoinDestroyMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'void mJoinDestroyMergeCtx(SMJoinOperatorInfo* pJoin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2819,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2824,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2821,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pGrp
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinGrpRows*
    constantsTouched: []
    func_position:
      end: 2825
      start: 2816
    functionDepth: 0
    functionLinenumber: 2816
    functionLinenumberEnd: 2825
    functionName: mWinJoinPopFrontGroup
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - blockDataCleanup
    - taosArrayPopFrontBatch
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void mWinJoinPopFrontGroup(SMJoinWindowCtx* pCtx,
      SMJoinGrpRows* pGrp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3438,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3442
      start: 3437
    functionDepth: 0
    functionLinenumber: 3437
    functionLinenumberEnd: 3442
    functionName: mWinJoinMoveFillWinCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinMoveFillWinCache(SMJoinWindowCtx* pCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2830,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2835,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2844,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2837,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2846,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2850,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2856,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 2863
      start: 2827
    functionDepth: 0
    functionLinenumber: 2827
    functionLinenumberEnd: 2863
    functionName: mWinJoinCloneCacheBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - blockDataExtractBlock
    - taosArrayGetLast
    - MJ_ERR_RET
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mWinJoinCloneCacheBlk(SMJoinWindowCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3451,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3457,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3456,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3453,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3458,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3474
      start: 3444
    functionDepth: 0
    functionLinenumber: 3444
    functionLinenumberEnd: 3474
    functionName: mWinJoinTrimDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - mWinJoinPopFrontGroup
    - mWinJoinDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinTrimDumpGrpCache(SMJoinWindowCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pInfo
    - blkRows
    argTypes:
    - SMJoinOperatorInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: mJoinBlkReachThreshold
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool mJoinBlkReachThreshold(SMJoinOperatorInfo*
      pInfo, int64_t blkRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mFullJoinHandleHashGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1204,1
    - Dst: mFullJoinHandleMergeGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1205
    functionName: mFullJoinHandleBuildTableRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mFullJoinHandleMergeGrpRemains
    - mFullJoinHandleHashGrpRemains
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinHandleBuildTableRemains(SMJoinMergeCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1369,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1374,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1371,1
    - Dst: mJoinFilterAndKeepSingleRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1374,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1371,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1386,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - probeGrp
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinGrpRows*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1393
    functionName: mSemiJoinHashGrpCartFilter
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - blockDataCleanup
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - mJoinFilterAndKeepSingleRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinHashGrpCartFilter(SMJoinMergeCtx* pCtx, SMJoinGrpRows*
      probeGrp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:61,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:79,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:81,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:83,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:55,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:56,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:73,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:75,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:98,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:102,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:110,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:96,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:61,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:83,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:69,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:93,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:101,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:102,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:103,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:110,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 137
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 137
    functionName: mWinJoinDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - GRP_REMAIN_ROWS
    - taosArrayGet
    - MJ_ERR_RET
    - mJoinNonEqCart
    - taosArrayGetSize
    - TMIN
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinDumpGrpCache(SMJoinWindowCtx* pCtx) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1227,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1235,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1244,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1259,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1271,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1272,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1277,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1281,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1290,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1304,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1311,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1345,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1332,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1216,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1219,1
    - Dst: mFullJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1227,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1244,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1271,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1277,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1299,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1301,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1309,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1312,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1324,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1311,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1298,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1333,1
    - Dst: mJoinHandleMidRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1219,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1228,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1250,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1258,1
    - Dst: mFullJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1242,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1254,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1245,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1263,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1280,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1289,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1299,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1289,1
    - Dst: mFullJoinHandleBuildTableRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1332,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1346,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1220,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1235,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1236,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1255,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1258,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1266,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1280,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1285,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1286,1
    - Dst: FJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1288,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1324,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1345,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1330,1
    - Dst: mJoinProcessGreaterGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1301,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1325,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 129
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1361
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1361
    functionName: mFullJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mFullJoinHandleBuildTableRemains
    - blockDataCleanup
    - mJoinProcessLowerGrp
    - mJoinProcessEqualGrp
    - mJoinProcessGreaterGrp
    - mFullJoinRetrieve
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - FJOIN_PROBE_TB_ROWS_DONE
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - mFullJoinHandleGrpRemains
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinNonEqCart
    - mJoinSetDone
    - MJOIN_GET_TB_COL_TS
    - mJoinHandleMidRemains
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mFullJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1399,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1407,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1406,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1401,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1406,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1411,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1420,1
    - Dst: mSemiJoinHashGrpCartFilter
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1427
    functionName: mSemiJoinHashSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - mSemiJoinHashGrpCartFilter
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinHashSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:777,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:779,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:796,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:784,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:784,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:796,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:797,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:801,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:806,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:806,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 821
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 821
    functionName: mInnerJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mInnerJoinHashCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1806,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1812,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1858,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1848,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1806,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1816,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1820,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1829,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1836,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1858,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1801,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1797,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1795,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1814,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1819,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1820,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1821,1
    - Dst: mJoinFilterAndNoKeepRows
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1836,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1829,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1866
    functionName: mAntiJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_REMAIN_ROWS
    - mJoinNonEqGrpCart
    - MJ_ERR_RET
    - mJoinFilterAndNoKeepRows
    - taosArrayGetSize
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinMergeSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: mInnerJoinHandleGrpRemains
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mInnerJoinHandleGrpRemains(SMJoinMergeCtx*
      pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAntiJoinHashFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1870,1
    - Dst: mAntiJoinHashSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1871
    functionName: mAntiJoinHashCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAntiJoinHashFullCart
    - mAntiJoinHashSeqCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinHashCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3676,1
    - Dst: mJoinGetFinBlkCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3683,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3683,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3678,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3683,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3687,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3689,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3691,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3691,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 2
    argNames:
    - pJoin
    - pJoinNode
    argTypes:
    - SMJoinOperatorInfo*
    - SSortMergeJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 3730
      start: 3656
    functionDepth: 0
    functionLinenumber: 3656
    functionLinenumberEnd: 3730
    functionName: mJoinInitMergeCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - createOneDataBlock
    - mJoinGetFinBlkCapacity
    - blockDataEnsureCapacity
    - createDataBlockFromDescNode
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinInitMergeCtx(SMJoinOperatorInfo* pJoin, SSortMergeJoinPhysiNode*
      pJoinNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:982,1
    - Dst: mJoinNonEqGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:990,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:984,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCtx
    - pGrpRows
    - idx
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinHashGrpRows*
    - int32_t
    constantsTouched: []
    func_position:
      end: 991
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 991
    functionName: mFullJoinOutputHashRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinNonEqGrpCart
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t mFullJoinOutputHashRow(SMJoinMergeCtx*
      pCtx, SMJoinHashGrpRows* pGrpRows, int32_t idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mAntiJoinMergeFullCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1874,1
    - Dst: mAntiJoinMergeSeqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1875
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1875
    functionName: mAntiJoinMergeCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAntiJoinMergeSeqCart
    - mAntiJoinMergeFullCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mAntiJoinMergeCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:994,1
    - Dst: mFullJoinOutputHashRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:996,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:996,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pCtx
    - pGrpRows
    - pNMatch
    - grpDone
    argTypes:
    - SMJoinMergeCtx*
    - SMJoinHashGrpRows*
    - SMJoinNMatchCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 1005
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1005
    functionName: mFullJoinOutputHashGrpRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - BLK_IS_FULL
    - MJ_ERR_RET
    - mFullJoinOutputHashRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mFullJoinOutputHashGrpRows(SMJoinMergeCtx* pCtx, SMJoinHashGrpRows*
      pGrpRows, SMJoinNMatchCtx* pNMatch, bool* grpDone) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1890,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1901,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1905,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1917,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1926,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1910,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1925,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1920,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1927,1
    - Dst: mJoinNonEqCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1952,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1902,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1905,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1917,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1921,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1913,1
    - Dst: mJoinProcessLowerGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1928,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1944,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1886,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1889,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1906,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1929,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1934,1
    - Dst: PROBE_TS_NREACH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1935,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1952,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1953,1
    - Dst: mLeftJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1897,1
    - Dst: mAntiJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1889,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1920,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1928,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 67
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1967
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1967
    functionName: mAntiJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mJoinProcessLowerGrp
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - MJOIN_BUILD_TB_ROWS_DONE
    - PROBE_TS_NREACH
    - mAntiJoinHandleGrpRemains
    - mJoinNonEqCart
    - MJOIN_GET_TB_COL_TS
    - mLeftJoinRetrieve
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mAntiJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:829,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:838,1
    - Dst: mJoinRetrieveBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:834,1
    - Dst: MJOIN_DS_NEED_INIT
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:833,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:843,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:845,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:848,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:850,1
    - Dst: MJOIN_BUILD_BLK_OOR
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:853,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - pOperator
    - pJoin
    - pCtx
    argTypes:
    - SOperatorInfo*
    - SMJoinOperatorInfo*
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 864
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 864
    functionName: mInnerJoinRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - MJOIN_BUILD_BLK_OOR
    - mJoinRetrieveBlk
    - MJOIN_DS_NEED_INIT
    - MJ_ERR_RET
    - mJoinSetDone
    linkageType: ''
    returnType: bool
    signature: 'static bool mInnerJoinRetrieve(SOperatorInfo* pOperator, SMJoinOperatorInfo*
      pJoin, SMJoinMergeCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1433,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1435,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1440,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1440,1
    - Dst: mJoinCopyKeyColsDataToBuf
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1441,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1445,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1453,1
    - Dst: mJoinHashGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1460
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1460
    functionName: mSemiJoinHashFullCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mJoinHashGrpCart
    - BLK_IS_FULL
    - taosArrayGet
    - tSimpleHashGet
    - MJ_ERR_RET
    - mJoinCopyKeyColsDataToBuf
    - GRP_DONE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinHashFullCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MJOIN_SAVE_TB_BLK
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2495,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2499,1
    - Dst: mAsofForwardChkFillGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2496,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2496,1
    - Dst: mAsofForwardUpdateBuildGrpEndIdx
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2499,1
    - Dst: mWinJoinDumpGrpCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - lastBuildGrp
    argTypes:
    - SMJoinWindowCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 2502
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2502
    functionName: mAsofForwardFillDumpGrpCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mAsofForwardUpdateBuildGrpEndIdx
    - mAsofForwardChkFillGrpCache
    - MJ_ERR_RET
    - MJOIN_SAVE_TB_BLK
    - mWinJoinDumpGrpCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardFillDumpGrpCache(SMJoinWindowCtx* pCtx, bool lastBuildGrp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3010,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3011,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3022,1
    - Dst: mWinJoinTryAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3010,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3022,1
    - Dst: MJOIN_TBTYPE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3022,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3030,1
    - Dst: mWinJoinTryAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3030,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3031,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3039
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3039
    functionName: mWinJoinAddWinBeginBlk
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - MJ_ERR_RET
    - qDebug
    - mWinJoinTryAddWinBeginBlk
    - taosArrayGetSize
    - GET_TASKID
    - MJOIN_TBTYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinAddWinBeginBlk(SMJoinWindowCtx* pCtx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3343,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3353,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3348,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3350,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3355,1
    - Dst: mWinJoinAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3389,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3390
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3390
    functionName: mWinJoinMoveAscWinEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinAddWinEndBlk
    - taosArrayGet
    - taosArrayGetLast
    - MJ_ERR_RET
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinMoveAscWinEnd(SMJoinWindowCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3555,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCache
    - pJoin
    - pCtx
    argTypes:
    - SMJoinWinCache*
    - SMJoinOperatorInfo*
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3562
      start: 3551
    functionDepth: 0
    functionLinenumber: 3551
    functionLinenumberEnd: 3562
    functionName: mJoinInitWindowCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mJoinInitWindowCache(SMJoinWinCache* pCache, SMJoinOperatorInfo*
      pJoin, SMJoinWindowCtx* pCtx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mInnerJoinRetrieve
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:887,1
    - Dst: mInnerJoinHandleGrpRemains
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:879,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:892,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:895,1
    - Dst: mJoinSetDone
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:906,1
    - Dst: mJoinProcessEqualGrp
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:913,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:918,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:923,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:934,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:880,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:896,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:905,1
    - Dst: mJoinBlkReachThreshold
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:914,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:904,1
    - Dst: PROBE_TS_NMATCH
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:927,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:876,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:879,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:891,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:895,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:900,1
    - Dst: MJ_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:913,1
    - Dst: MJOIN_BUILD_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:900,1
    - Dst: MJOIN_PROBE_TB_ROWS_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:918,1
    - Dst: MJOIN_GET_TB_COL_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:922,1
    - Dst: MJOIN_GET_TB_CUR_TS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:929,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 53
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - struct SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 951
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 951
    functionName: mInnerJoinDo
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - mJoinProcessEqualGrp
    - MJOIN_PROBE_TB_ROWS_DONE
    - mInnerJoinHandleGrpRemains
    - MJOIN_GET_TB_CUR_TS
    - PROBE_TS_NMATCH
    - MJ_ERR_JRET
    - mJoinBlkReachThreshold
    - mInnerJoinRetrieve
    - MJOIN_BUILD_TB_ROWS_DONE
    - mJoinSetDone
    - MJOIN_GET_TB_COL_TS
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * mInnerJoinDo(struct SOperatorInfo* pOperator) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1466,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1477,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1490,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1491,1
    - Dst: GRP_REMAIN_ROWS
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1492,1
    - Dst: mJoinCopyMergeMidBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1516,1
    - Dst: mJoinMergeGrpCart
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1500,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1507,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1485,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1487,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1491,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1516,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1500,1
    - Dst: GRP_DONE
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1533,1
    - Dst: mJoinFilterAndKeepSingleRow
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1507,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1477,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1468,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1483,1
    - Dst: BLK_IS_FULL
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:1533,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinMergeCtx*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1541
    functionName: mSemiJoinMergeSeqCart
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - BLK_IS_FULL
    - taosArrayGet
    - GRP_REMAIN_ROWS
    - mJoinCopyMergeMidBlk
    - MJ_ERR_RET
    - mJoinFilterAndKeepSingleRow
    - taosArrayGetSize
    - GRP_DONE
    - mJoinMergeGrpCart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mSemiJoinMergeSeqCart(SMJoinMergeCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2505,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2521,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2507,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2510,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:2518,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pCtx
    - pTable
    - timestamp
    - wholeBlk
    argTypes:
    - SMJoinWindowCtx*
    - SMJoinTableCtx*
    - int64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 2537
      start: 2504
    functionDepth: 0
    functionLinenumber: 2504
    functionLinenumberEnd: 2537
    functionName: mAsofForwardSkipEqRows
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - colDataGetNumData
    - taosArrayGet
    - MJ_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mAsofForwardSkipEqRows(SMJoinWindowCtx* pCtx, SMJoinTableCtx*
      pTable, int64_t timestamp, bool* wholeBlk) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3046,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3050,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3055,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3053,1
    - Dst: mWinJoinPopFrontGroup
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3059,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3084,1
    - Dst: mWinJoinAddWinBeginBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3100,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3101
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3101
    functionName: mWinJoinMoveAscWinBegin
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinAddWinBeginBlk
    - TSWAP
    - taosArrayGet
    - MJ_ERR_RET
    - taosArrayGetSize
    - mWinJoinPopFrontGroup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinMoveAscWinBegin(SMJoinWindowCtx* pCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3394,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3404,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3399,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3401,1
    - Dst: MJ_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3406,1
    - Dst: mWinJoinAddWinEndBlk
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3433,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SMJoinWindowCtx*
    constantsTouched: []
    func_position:
      end: 3434
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3434
    functionName: mWinJoinMoveDescWinEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - mWinJoinAddWinEndBlk
    - taosArrayGet
    - taosArrayGetLast
    - MJ_ERR_RET
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mWinJoinMoveDescWinEnd(SMJoinWindowCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mWinJoinResetWindowCache
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3567,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3574,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/mergejoin.c:3571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SMJoinOperatorInfo*
    constantsTouched: []
    func_position:
      end: 3575
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3575
    functionName: mJoinDestroyWindowCtx
    functionSourceFile: /src/tdengine/source/libs/executor/src/mergejoin.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - taosArrayDestroy
    - mWinJoinResetWindowCache
    linkageType: ''
    returnType: void
    signature: 'void mJoinDestroyWindowCtx(SMJoinOperatorInfo* pJoin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:839,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:842,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:841,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pResultRowInfo
    - pInfo
    - pResult
    argTypes:
    - SResultRowInfo*
    - SIntervalAggOperatorInfo*
    - SResultRow*
    constantsTouched: []
    func_position:
      end: 844
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 844
    functionName: doCloseWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - isResultRowInterpolated
    - closeResultRow
    - tdListPopHead
    linkageType: ''
    returnType: void
    signature: 'void doCloseWindow(SResultRowInfo* pResultRowInfo, const SIntervalAggOperatorInfo*
      pInfo, SResultRow* pResult) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:880,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:888,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:883,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:892,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:894,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:896,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - pBlock
    - pInfo
    - pTaskInfo
    argTypes:
    - SSDataBlock*
    - SIntervalAggOperatorInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 902
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 902
    functionName: extractTsCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qWarn
    - blockDataUpdateTsWindow
    - qError
    - T_LONG_JMP
    - tstrerror
    linkageType: ''
    returnType: int64_t*
    signature: 'int64_t * extractTsCol(SSDataBlock* pBlock, const SIntervalAggOperatorInfo*
      pInfo, SExecTaskInfo* pTaskInfo) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:965,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1005,1
    - Dst: compareVal
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1012,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1028,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1021,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1031,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1062,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:988,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:995,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1035,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1042,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1058,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:974,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:993,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:998,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1002,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1003,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1036,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1055,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:962,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:977,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1013,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1011,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1027,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1024,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1010,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1039,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1040,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1052,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SStateWindowOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1064
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 1064
    functionName: doStateWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - taosArrayGet
    - compareVal
    - updateTimeWindowInfo
    - colDataGetData
    - doKeepTuple
    - qError
    - T_LONG_JMP
    - applyAggFunctionOnPartialTuples
    - memcpy
    - varDataCopy
    - IS_VAR_DATA_TYPE
    - setTimeWindowOutputBuf
    - doKeepNewWindowStartInfo
    linkageType: ''
    returnType: void
    signature: 'static void doStateWindowAggImpl(SOperatorInfo* pOperator, SStateWindowOperatorInfo*
      pInfo, SSDataBlock* pBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1138,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1135,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1142,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1143,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1145,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1160,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1162,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1166
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1166
    functionName: doStateWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataEnsureCapacity
    - hasRemainResults
    - doBuildResultDatablock
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStateWindowAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1245,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1255,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1252,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1247,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1253,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1257,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1260,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1263,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1264,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1265,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1267
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1267
    functionName: destroyIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - tdListFree
    - taosArrayDestroy
    - cleanupGroupResInfo
    - destroyBoundedQueue
    - cleanupBasicInfo
    - cleanupAggSup
    - colDataDestroy
    - taosArrayDestroyEx
    - cleanupExprSupp
    - cleanupResultInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyIntervalOperatorInfo(void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1757,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1765,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1758,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1760,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1766,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1768,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1769,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1770
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1770
    functionName: destroySWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - colDataDestroy
    - cleanupAggSup
    - cleanupExprSupp
    - cleanupResultInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroySWindowOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1853,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1854,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1855
    functionName: destroyMAIOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - destroyIntervalOperatorInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyMAIOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pMiaInfo
    - pRes
    argTypes:
    - SMergeAlignedIntervalAggOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1957
    functionName: cleanupAfterGroupResultGen
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void cleanupAfterGroupResultGen(SMergeAlignedIntervalAggOperatorInfo*
      pMiaInfo, SSDataBlock* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListGetTail
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:864,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:856,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:857,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:863,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:869,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:871,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pResultRowInfo
    - pResult
    - groupId
    - pTaskInfo
    argTypes:
    - SResultRowInfo*
    - SResultRow*
    - uint64_t
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 874
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 874
    functionName: addToOpenWindowList
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tdListGetTail
    - qError
    - tstrerror
    - T_LONG_JMP
    - tdListAppend
    linkageType: ''
    returnType: SResultRowPosition
    signature: 'SResultRowPosition addToOpenWindowList(SResultRowInfo* pResultRowInfo,
      const SResultRow* pResult, uint64_t groupId, SExecTaskInfo* pTaskInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:905,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:922,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:918,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:932,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:931,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:936,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:937,1
    - Dst: hashIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:938,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:942,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:951,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:953,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:945,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:951,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 956
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 956
    functionName: doOpenIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - OPTR_SET_OPENED
    - setInputDataBlock
    - qError
    - tstrerror
    - taosGetTimestampUs
    - initGroupedResultInfo
    - T_LONG_JMP
    - OPTR_IS_OPENED
    - hashIntervalAgg
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doOpenIntervalAgg(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1067,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1083,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1089,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1078,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1090,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1092,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1093,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1097,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1100,1
    - Dst: doStateWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1104,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1109,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1115,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1108,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1107,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1117,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1120
    functionName: openStateWindowAggOptr
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - projectApplyFunctions
    - doStateWindowAggImpl
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - qError
    - T_LONG_JMP
    - taosGetTimestampUs
    - initGroupedResultInfo
    - tstrerror
    - OPTR_IS_OPENED
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t openStateWindowAggOptr(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1181,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1184,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1185,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1186,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1188,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1190,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1204,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1206,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1210
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1210
    functionName: doBuildIntervalResultNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasRemainResults
    - doBuildResultDatablock
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildIntervalResultNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1321,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1330,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1328,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1309,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1327,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1306,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1308,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1287,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1298,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1305,1
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1316,1
    - Dst: fmIsIntervalInterpoFunc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1279,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1290,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1286,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1289,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1299,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1320,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1331,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1337,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 4
    argNames:
    - pCtx
    - numOfCols
    - pInfo
    - pRes
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SIntervalAggOperatorInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1341
    functionName: timeWindowinterpNeeded
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - fmIsIntervalInterpoFunc
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t timeWindowinterpNeeded(SqlFunctionCtx* pCtx, int32_t
      numOfCols, SIntervalAggOperatorInfo* pInfo, bool* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1779,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1791,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1792,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1797,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1807,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1801,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1808,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1835,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1774,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1788,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1778,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1824,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1809,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1828,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1838,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1825,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1821,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1839,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1790,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1796,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1799,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1822,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1833,1
    - Dst: destroySWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1845,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1846,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 4
    argNames:
    - downstream
    - pSessionNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SSessionWinodwPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1849
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1849
    functionName: createSessionAggOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - initBasicInfo
    - initExecTimeWindowInfo
    - taosMemoryCalloc
    - setOperatorInfo
    - initResultSizeInfo
    - appendDownstream
    - createDataBlockFromDescNode
    - filterInitFromNode
    - initExprSupp
    - QUERY_CHECK_NULL
    - initResultRowInfo
    - createExprInfo
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - initAggSup
    - destroySWindowOperatorInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSessionAggOperatorInfo(SOperatorInfo* downstream, SSessionWinodwPhysiNode*
      pSessionNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNewResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1858,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pResultRowInfo
    - pSup
    argTypes:
    - SResultRowInfo*
    - SAggSupporter*
    constantsTouched: []
    func_position:
      end: 1864
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1864
    functionName: doSetSingleOutputTupleBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - getNewResultRow
    linkageType: ''
    returnType: SResultRow*
    signature: 'static SResultRow * doSetSingleOutputTupleBuf(SResultRowInfo* pResultRowInfo,
      SAggSupporter* pSup) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1974,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2035,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2029,1
    - Dst: doMergeAlignedIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2032,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2014,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2046,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1988,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1987,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2009,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2015,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2030,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2044,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1989,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1986,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1990,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1993,1
    - Dst: cleanupAfterGroupResultGen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2013,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2034,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 2048
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 2048
    functionName: doMergeAlignedIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - cleanupAfterGroupResultGen
    - finalizeResultRows
    - doMergeAlignedIntervalAggImpl
    - setInputDataBlock
    - doFilter
    - resetResultRow
    - setOperatorCompleted
    - T_LONG_JMP
    - qError
    - tstrerror
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: void
    signature: 'static void doMergeAlignedIntervalAgg(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pRowSup
    - ts
    - groupId
    argTypes:
    - SWindowRowsSup*
    - int64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: doKeepTuple
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void doKeepTuple(SWindowRowsSup* pRowSup, int64_t ts, uint64_t groupId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:309,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:325,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:316,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 6
    argNames:
    - pInfo
    - pos
    - pBlock
    - tsCols
    - win
    - pSup
    argTypes:
    - SIntervalAggOperatorInfo*
    - int32_t
    - SSDataBlock*
    - TSKEY*
    - STimeWindow*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 330
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 330
    functionName: setTimeWindowInterpolationStartTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - setNotInterpoWindowKey
    - taosArrayGet
    - doTimeWindowInterpolation
    linkageType: ''
    returnType: bool
    signature: 'static bool setTimeWindowInterpolationStartTs(SIntervalAggOperatorInfo*
      pInfo, int32_t pos, SSDataBlock* pBlock, const TSKEY* tsCols, STimeWindow* win,
      SExprSupp* pSup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getNextTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:386,1
    - Dst: binarySearchForKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:408,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:426,1
    - Dst: inSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:394,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:425,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:434,1
    - Dst: taosTimeGetIntervalEnd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:435,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 6
    argNames:
    - pInterval
    - pNext
    - pDataBlockInfo
    - primaryKeys
    - prevPosition
    - order
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 444
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 444
    functionName: getNextQualifiedWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - binarySearchForKey
    - inSlidingWindow
    - taosTimeGetIntervalEnd
    - getNextTimeWindow
    - taosTimeTruncate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNextQualifiedWindow(SInterval* pInterval, STimeWindow*
      pNext, SDataBlockInfo* pDataBlockInfo, TSKEY* primaryKeys, int32_t prevPosition,
      int32_t order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pResult
    - type
    argTypes:
    - SResultRow*
    - SResultTsInterpType
    constantsTouched: []
    func_position:
      end: 460
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 460
    functionName: setResultRowInterpo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setResultRowInterpo(SResultRow* pResult, SResultTsInterpType
      type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:685,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:686,1
    - Dst: taosBQMaxSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:691,1
    - Dst: taosBQTop
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:692,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:691,1
    - Dst: tsKeyCompFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:693,1
    - Dst: isCalculatedWin
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:697,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:702,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:703,1
    - Dst: taosBQPush
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:708,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:714,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:716,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:714,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - pOperatorInfo
    - win
    - groupId
    - pTaskInfo
    argTypes:
    - SIntervalAggOperatorInfo*
    - STimeWindow*
    - uint64_t
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 719
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 719
    functionName: filterWindowWithLimit
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - createBoundedQueue
    - taosMemoryFree
    - taosMemoryMalloc
    - tsKeyCompFn
    - isCalculatedWin
    - taosBQMaxSize
    - qError
    - tstrerror
    - T_LONG_JMP
    - QUERY_CHECK_NULL
    - taosBQTop
    - taosBQPush
    - taosBQSize
    linkageType: ''
    returnType: bool
    signature: 'static bool filterWindowWithLimit(SIntervalAggOperatorInfo* pOperatorInfo,
      STimeWindow* win, uint64_t groupId, SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - pRowSup
    - tsList
    - rowIndex
    - groupId
    argTypes:
    - SWindowRowsSup*
    - int64_t*
    - int32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: doKeepNewWindowStartInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void doKeepNewWindowStartInfo(SWindowRowsSup* pRowSup, const int64_t*
      tsList, int32_t rowIndex, uint64_t groupId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_FORWARD_DIRECTION_FACTOR
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:190,1
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:206,1
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 7
    argNames:
    - pDataBlockInfo
    - pPrimaryColumn
    - startPos
    - ekey
    - searchFn
    - item
    - order
    argTypes:
    - SDataBlockInfo*
    - TSKEY*
    - int32_t
    - TSKEY
    - __block_search_fn_t
    - STableQueryInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: getNumOfRowsInTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - getForwardStepsInBlock
    - GET_FORWARD_DIRECTION_FACTOR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNumOfRowsInTimeWindow(SDataBlockInfo* pDataBlockInfo, TSKEY*
      pPrimaryColumn, int32_t startPos, TSKEY ekey, __block_search_fn_t searchFn,
      STableQueryInfo* item, int32_t order) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:344,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:351,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:357,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:357,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 9
    argNames:
    - pInfo
    - pSup
    - endRowIndex
    - nextRowIndex
    - pDataBlock
    - tsCols
    - blockEkey
    - win
    - pRes
    argTypes:
    - SIntervalAggOperatorInfo*
    - SExprSupp*
    - int32_t
    - int32_t
    - SArray*
    - TSKEY*
    - TSKEY
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 366
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 366
    functionName: setTimeWindowInterpolationEndTs
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - setNotInterpoWindowKey
    - doTimeWindowInterpolation
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTimeWindowInterpolationEndTs(SIntervalAggOperatorInfo*
      pInfo, SExprSupp* pSup, int32_t endRowIndex, int32_t nextRowIndex, SArray* pDataBlock,
      const TSKEY* tsCols, TSKEY blockEkey, STimeWindow* win, bool* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pResult
    - type
    argTypes:
    - SResultRow*
    - SResultTsInterpType
    constantsTouched: []
    func_position:
      end: 452
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 452
    functionName: isResultRowInterpolated
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isResultRowInterpolated(SResultRow* pResult, SResultTsInterpType
      type) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:479,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:489,1
    - Dst: setTimeWindowInterpolationStartTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:484,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:486,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:482,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:494,1
    - Dst: setTimeWindowInterpolationEndTs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:512,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:514,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:516,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:519,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:524,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 7
    argNames:
    - pInfo
    - pBlock
    - pResult
    - win
    - startPos
    - forwardRows
    - pSup
    argTypes:
    - SIntervalAggOperatorInfo*
    - SSDataBlock*
    - SResultRow*
    - STimeWindow*
    - int32_t
    - int32_t
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 527
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 527
    functionName: doWindowBorderInterpolation
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setNotInterpoWindowKey
    - taosArrayGet
    - setResultRowInterpo
    - setTimeWindowInterpolationStartTs
    - qError
    - tstrerror
    - isResultRowInterpolated
    - setTimeWindowInterpolationEndTs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doWindowBorderInterpolation(SIntervalAggOperatorInfo*
      pInfo, SSDataBlock* pBlock, SResultRow* pResult, STimeWindow* win, int32_t startPos,
      int32_t forwardRows, SExprSupp* pSup) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:748,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:764,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:784,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:770,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:774,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:801,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:810,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:822,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:763,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:776,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:767,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:792,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:798,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:808,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:817,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:826,1
    - Dst: destroyBoundedQueue
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:742,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:751,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:754,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:781,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:787,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:794,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:805,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:832,1
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:730,1
    - Dst: filterWindowWithLimit
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:749,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:733,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:758,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:780,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:819,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:823,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:828,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - scanFlag
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 835
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 835
    functionName: hashIntervalAgg
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - updateTimeWindowInfo
    - destroyBoundedQueue
    - getNumOfRowsInTimeWindow
    - filterWindowWithLimit
    - doWindowBorderInterpolation
    - doInterpUnclosedTimeWindow
    - saveDataBlockLastRow
    - applyAggFunctionOnPartialTuples
    - extractTsCol
    - T_LONG_JMP
    - getActiveTimeWindow
    - getStartTsKey
    - addToOpenWindowList
    - setTimeWindowOutputBuf
    - doCloseWindow
    - getNextQualifiedWindow
    linkageType: ''
    returnType: bool
    signature: 'static bool hashIntervalAgg(SOperatorInfo* pOperatorInfo, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock, int32_t scanFlag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 5
    argNames:
    - pInterval
    - pWin
    - calStart
    - calEnd
    - blockType
    argTypes:
    - SInterval*
    - STimeWindow*
    - TSKEY
    - TSKEY
    - EStreamType
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: inCalSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool inCalSlidingWindow(SInterval* pInterval, STimeWindow* pWin, TSKEY
      calStart, TSKEY calEnd, EStreamType blockType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:534,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:542,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:538,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:540,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:546,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:547,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:548,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:548,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:550,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - pPrevKeys
    - pBlock
    - pCols
    argTypes:
    - SArray*
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 556
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 556
    functionName: saveDataBlockLastRow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void saveDataBlockLastRow(SArray* pPrevKeys, const SSDataBlock*
      pBlock, SArray* pCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanupBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1217,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1218,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1226,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1225,1
    - Dst: cleanupResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1220,1
    - Dst: cleanupAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1227,1
    - Dst: cleanupGroupResInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1231
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1231
    functionName: destroyStateWindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - cleanupGroupResInfo
    - cleanupBasicInfo
    - colDataDestroy
    - cleanupAggSup
    - cleanupExprSupp
    - cleanupResultInfo
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyStateWindowOperatorInfo(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2061,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2073,1
    - Dst: doMergeAlignedIntervalAgg
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2076,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2083
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2083
    functionName: mergeAlignedIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - doMergeAlignedIntervalAgg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeAlignedIntervalAggNext(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doSetResultOutBufByKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:51,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:56,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:63,1
    - Dst: TAOS_SET_POBJ_ALIGNED
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:61,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:56,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 10
    argNames:
    - pResultRowInfo
    - win
    - masterscan
    - pResult
    - tableGroupId
    - pCtx
    - numOfOutput
    - rowEntryInfoOffset
    - pAggSup
    - pTaskInfo
    argTypes:
    - SResultRowInfo*
    - STimeWindow*
    - bool
    - SResultRow**
    - int64_t
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    - SAggSupporter*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 64
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 64
    functionName: setTimeWindowOutputBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - doSetResultOutBufByKey
    - TAOS_SET_POBJ_ALIGNED
    - qError
    - tstrerror
    - setResultRowInitCtx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTimeWindowOutputBuf(SResultRowInfo* pResultRowInfo,
      STimeWindow* win, bool masterscan, SResultRow** pResult, int64_t tableGroupId,
      SqlFunctionCtx* pCtx, int32_t numOfOutput, int32_t* rowEntryInfoOffset, SAggSupporter*
      pAggSup, SExecTaskInfo* pTaskInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inCalSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pInterval
    - pWin
    - pBlockInfo
    argTypes:
    - SInterval*
    - STimeWindow*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: inSlidingWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - inCalSlidingWindow
    linkageType: ''
    returnType: bool
    signature: 'bool inSlidingWindow(SInterval* pInterval, STimeWindow* pWin, SDataBlockInfo*
      pBlockInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:586,1
    - Dst: getResultRowByPos
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:579,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:593,1
    - Dst: setNotInterpoWindowKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:629,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:609,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:607,1
    - Dst: tdListGetHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:571,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:581,1
    - Dst: setResultRowInterpo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:628,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:612,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:604,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:632,1
    - Dst: closeResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:639,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:640,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:590,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:591,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:595,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:601,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:631,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:615,1
    - Dst: isResultRowInterpolated
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:596,1
    - Dst: doTimeWindowInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:624,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:641,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 62
    argCount: 7
    argNames:
    - pOperatorInfo
    - numOfExprs
    - pResultRowInfo
    - pBlock
    - scanFlag
    - tsCols
    - p
    argTypes:
    - SOperatorInfo*
    - int32_t
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    - int64_t*
    - SResultRowPosition*
    constantsTouched: []
    func_position:
      end: 646
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 646
    functionName: doInterpUnclosedTimeWindow
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - setNotInterpoWindowKey
    - taosMemoryFree
    - taosArrayGet
    - updateTimeWindowInfo
    - setResultRowInterpo
    - closeResultRow
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - getResultRowByPos
    - doTimeWindowInterpolation
    - tdListPopHead
    - setTimeWindowOutputBuf
    - isResultRowInterpolated
    - tdListGetHead
    linkageType: ''
    returnType: void
    signature: 'static void doInterpUnclosedTimeWindow(SOperatorInfo* pOperatorInfo,
      int32_t numOfExprs, SResultRowInfo* pResultRowInfo, SSDataBlock* pBlock, int32_t
      scanFlag, int64_t* tsCols, SResultRowPosition* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1236
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1236
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeItem(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2092,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2111,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2147,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2153,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2160,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2164,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2087,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2091,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2140,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2148,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2150,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2154,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2157,1
    - Dst: destroyMAIOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2170,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2098,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2117,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2133,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2136,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2143,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2142,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2155,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2118,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2134,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2144,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2138,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2163,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - downstream
    - pNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeAlignedIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 2174
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2174
    functionName: createMergeAlignedIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyMAIOperatorInfo
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - calcIntervalAutoOffset
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - tdListNew
    - appendDownstream
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - timeWindowinterpNeeded
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createMergeAlignedIntervalOperatorInfo(SOperatorInfo* downstream,
      SMergeAlignedIntervalPhysiNode* pNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1656,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1693,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1702,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1722,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1707,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1728,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1746,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1661,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1674,1
    - Dst: extractColumnFromColumnNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1683,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1686,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1675,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1660,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1677,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1713,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1716,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1733,1
    - Dst: destroyStateWindowOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1743,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1705,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1703,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1721,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1715,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1714,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1730,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 4
    argNames:
    - downstream
    - pStateNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SStateWinodwPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1749
      start: 1654
    functionDepth: 0
    functionLinenumber: 1654
    functionLinenumberEnd: 1749
    functionName: createStatewindowOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - destroyStateWindowOperatorInfo
    - initAggSup
    - initResultSizeInfo
    - appendDownstream
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - extractColumnFromColumnNode
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStatewindowOperatorInfo(SOperatorInfo* downstream, SStateWinodwPhysiNode*
      pStateNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: searchFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:86,1
    - Dst: searchFn
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - numOfRows
    - searchFn
    - ekey
    - pos
    - order
    - pData
    argTypes:
    - int32_t
    - __block_search_fn_t
    - TSKEY
    - int32_t
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 116
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 116
    functionName: getForwardStepsInBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - searchFn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t getForwardStepsInBlock(int32_t numOfRows, __block_search_fn_t
      searchFn, TSKEY ekey, int32_t pos, int32_t order, int64_t* pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pCtx
    - numOfOutput
    - type
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: setNotInterpoWindowKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setNotInterpoWindowKey(SqlFunctionCtx* pCtx, int32_t numOfOutput,
      int32_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - l
    - r
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: tsKeyCompFn
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tsKeyCompFn(void* l, void* r, void* param) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1476,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1501,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1502,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1479,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1506,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1516,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1519,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1523,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1524,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1527,1
    - Dst: doKeepNewWindowStartInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1532,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1549,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1546,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1542,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1539,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1545,1
    - Dst: doKeepTuple
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1533,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 3
    argNames:
    - pOperator
    - pInfo
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSessionAggOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1551
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1551
    functionName: doSessionWindowAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - updateTimeWindowInfo
    - doKeepTuple
    - applyAggFunctionOnPartialTuples
    - T_LONG_JMP
    - setTimeWindowOutputBuf
    - doKeepNewWindowStartInfo
    linkageType: ''
    returnType: void
    signature: 'static void doSessionWindowAggImpl(SOperatorInfo* pOperator, SSessionAggOperatorInfo*
      pInfo, SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1569,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1603,1
    - Dst: doSessionWindowAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1612,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1625,1
    - Dst: initGroupedResultInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1620,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1627,1
    - Dst: doBuildResultDatablock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1568,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1574,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1570,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1606,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1615,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1621,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1607,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1628,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1647,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1572,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1594,1
    - Dst: projectApplyFunctions
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1602,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1629,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1633,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1645,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1645,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1587,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1609,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1624,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1631,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1651
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1651
    functionName: doSessionWindowAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doSessionWindowAggImpl
    - projectApplyFunctions
    - blockDataEnsureCapacity
    - blockDataUpdateTsWindow
    - setInputDataBlock
    - hasRemainResults
    - doBuildResultDatablock
    - doFilter
    - setOperatorCompleted
    - taosGetTimestampUs
    - initGroupedResultInfo
    - qError
    - tstrerror
    - T_LONG_JMP
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSessionWindowAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doSetSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1869,1
    - Dst: setResultRowInitCtx
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - pResultRowInfo
    - win
    - pResult
    - pExprSup
    - pAggSup
    argTypes:
    - SResultRowInfo*
    - STimeWindow*
    - SResultRow**
    - SExprSupp*
    - SAggSupporter*
    constantsTouched: []
    func_position:
      end: 1878
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1878
    functionName: setSingleOutputTupleBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - setResultRowInitCtx
    - doSetSingleOutputTupleBuf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSingleOutputTupleBuf(SResultRowInfo* pResultRowInfo,
      STimeWindow* win, SResultRow** pResult, SExprSupp* pExprSup, SAggSupporter*
      pAggSup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2195,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2199
    functionName: destroyMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - destroyIntervalOperatorInfo
    - tdListFree
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyMergeIntervalOperatorInfo(void* param) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2260,1
    - Dst: doInterpUnclosedTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2269,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2275,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2279,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2294,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2289,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2297,1
    - Dst: getNextQualifiedWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2303,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2314,1
    - Dst: getNumOfRowsInTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2338,1
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2243,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2246,1
    - Dst: addToOpenWindowList
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2268,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2281,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2331,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2327,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2339,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2328,1
    - Dst: saveDataBlockLastRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2344,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2286,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2291,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2311,1
    - Dst: outputPrevIntervalResult
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2336,1
    - Dst: doCloseWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2333,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2253,1
    - Dst: getActiveTimeWindow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2249,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2256,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2263,1
    - Dst: setTimeWindowOutputBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2272,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2285,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2296,1
    - Dst: doWindowBorderInterpolation
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2322,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2324,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2338,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 5
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - scanFlag
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2346
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2346
    functionName: doMergeIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - updateTimeWindowInfo
    - outputPrevIntervalResult
    - getNumOfRowsInTimeWindow
    - saveDataBlockLastRow
    - doWindowBorderInterpolation
    - doInterpUnclosedTimeWindow
    - applyAggFunctionOnPartialTuples
    - extractTsCol
    - T_LONG_JMP
    - qError
    - getActiveTimeWindow
    - getStartTsKey
    - tstrerror
    - addToOpenWindowList
    - setTimeWindowOutputBuf
    - doCloseWindow
    - getNextQualifiedWindow
    linkageType: ''
    returnType: void
    signature: 'static void doMergeIntervalAggImpl(SOperatorInfo* pOperatorInfo, SResultRowInfo*
      pResultRowInfo, SSDataBlock* pBlock, int32_t scanFlag, SSDataBlock* pResultBlock) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - pValue
    - num
    - key
    - order
    argTypes:
    - char*
    - int
    - TSKEY
    - int
    constantsTouched: []
    func_position:
      end: 185
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 185
    functionName: binarySearchForKey
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t binarySearchForKey(char* pValue, int num, TSKEY key, int order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_RES_WINDOW_KEY
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:657,1
    - Dst: GET_RES_WINDOW_KEY_LEN
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:658,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pInfo
    - win
    - tableGroupId
    argTypes:
    - SIntervalAggOperatorInfo*
    - STimeWindow*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 659
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 659
    functionName: isCalculatedWin
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - GET_RES_WINDOW_KEY_LEN
    - tSimpleHashGet
    - SET_RES_WINDOW_KEY
    linkageType: ''
    returnType: bool
    signature: 'static bool isCalculatedWin(SIntervalAggOperatorInfo* pInfo, const
      STimeWindow* win, uint64_t tableGroupId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extractTsCol
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1890,1
    - Dst: getStartTsKey
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1892,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1897,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1898,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1907,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1909,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1911,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1922,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1923,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1926,1
    - Dst: resetResultRow
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1930,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1934,1
    - Dst: finalizeResultRows
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1929,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1939,1
    - Dst: updateTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1945,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1949,1
    - Dst: applyAggFunctionOnPartialTuples
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1946,1
    - Dst: setSingleOutputTupleBuf
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1937,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - pOperatorInfo
    - pResultRowInfo
    - pBlock
    - pResultBlock
    argTypes:
    - SOperatorInfo*
    - SResultRowInfo*
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1951
      start: 1880
    functionDepth: 0
    functionLinenumber: 1880
    functionLinenumberEnd: 1951
    functionName: doMergeAlignedIntervalAggImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    - finalizeResultRows
    - setSingleOutputTupleBuf
    - applyAggFunctionOnPartialTuples
    - extractTsCol
    - resetResultRow
    - T_LONG_JMP
    - getStartTsKey
    - updateTimeWindowInfo
    linkageType: ''
    returnType: void
    signature: 'static void doMergeAlignedIntervalAggImpl(SOperatorInfo* pOperatorInfo,
      SResultRowInfo* pResultRowInfo, SSDataBlock* pBlock, SSDataBlock* pResultBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2208,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2217,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2210,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2215,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2225,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2226,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 4
    argNames:
    - pOperatorInfo
    - tableGroupId
    - pResultBlock
    - newWin
    argTypes:
    - SOperatorInfo*
    - uint64_t
    - SSDataBlock*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 2231
      start: 2201
    functionDepth: 0
    functionLinenumber: 2201
    functionLinenumberEnd: 2231
    functionName: outputPrevIntervalResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - tdListPopNode
    - tdListInitIter
    - qError
    - tstrerror
    - tdListAppend
    - tdListNext
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t outputPrevIntervalResult(SOperatorInfo* pOperatorInfo,
      uint64_t tableGroupId, SSDataBlock* pResultBlock, STimeWindow* newWin) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2365,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2372,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2364,1
    - Dst: setInputDataBlock
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2394,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2395,1
    - Dst: doMergeIntervalAggImpl
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2397,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2408,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2425,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2425,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2431
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2431
    functionName: doMergeIntervalAggNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - blockDataEnsureCapacity
    - setInputDataBlock
    - tdListInitIter
    - doMergeIntervalAggImpl
    - qError
    - setOperatorCompleted
    - tstrerror
    - T_LONG_JMP
    - tdListNext
    - getNextBlockFromDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doMergeIntervalAggNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2439,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2484,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2500,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2483,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2485,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2516,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2453,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2455,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2469,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2476,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2486,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2492,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2435,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2473,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2489,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2505,1
    - Dst: destroyMergeIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2514,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2474,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2490,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2499,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:2502,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 4
    argNames:
    - downstream
    - pIntervalPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SMergeIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 2519
      start: 2433
    functionDepth: 0
    functionLinenumber: 2433
    functionLinenumberEnd: 2519
    functionName: createMergeIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - calcIntervalAutoOffset
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - destroyMergeIntervalOperatorInfo
    - initResultSizeInfo
    - tdListNew
    - appendDownstream
    - QUERY_CHECK_NULL
    - timeWindowinterpNeeded
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createMergeIntervalOperatorInfo(SOperatorInfo* downstream,
      SMergeIntervalPhysiNode* pIntervalPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo**
      pOptrInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1416,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1446,1
    - Dst: destroyIntervalOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1462,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1345,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1367,1
    - Dst: initAggSup
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1417,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1431,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1357,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1350,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1368,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1373,1
    - Dst: initExecTimeWindowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1430,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1378,1
    - Dst: timeWindowinterpNeeded
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1434,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1452,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1465,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1467,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1449,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1467,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1349,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1358,1
    - Dst: initBasicInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1369,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1387,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1374,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1435,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1437,1
    - Dst: initResultRowInfo
      Src: /src/tdengine/source/libs/executor/src/timewindowoperator.c:1445,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SIntervalPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1469
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1469
    functionName: createIntervalOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/timewindowoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - destroyIntervalOperatorInfo
    - calcIntervalAutoOffset
    - initExprSupp
    - initBasicInfo
    - setOperatorInfo
    - createDataBlockFromDescNode
    - initResultRowInfo
    - initAggSup
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - tdListNew
    - appendDownstream
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - timeWindowinterpNeeded
    - createOperatorFpSet
    - initExecTimeWindowInfo
    - tstrerror
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createIntervalOperatorInfo(SOperatorInfo* downstream, SIntervalPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRecalculateId
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:170,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:174,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:171,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:181,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:185,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pInfo
    - pTaskInfo
    argTypes:
    - SStreamScanInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 188
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 188
    functionName: deleteRecalculateDataSnapshort
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - strlen
    - qDebug
    - getRecalculateId
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t deleteRecalculateDataSnapshort(SStreamScanInfo* pInfo,
      SExecTaskInfo* pTaskInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:229,1
    - Dst: readPreVersionDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:228,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:235,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 4
    argNames:
    - pInfo
    - pSrcBlock
    - pDestBlock
    - pTaskIdStr
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 247
    functionName: readPrevVersionDataByBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - readPreVersionDataBlock
    - blockDataCleanup
    - taosArrayGet
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readPrevVersionDataByBlock(SStreamScanInfo* pInfo,
      SSDataBlock* pSrcBlock, SSDataBlock* pDestBlock, char* pTaskIdStr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:382,1
    - Dst: copyRecDataToBuff
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:390,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:393,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:396,1
    - Dst: copyRecDataToBuff
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:410,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:404,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:403,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:410,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:401,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 9
    argNames:
    - pSrcBlock
    - pTsCol
    - pPkColDataInfo
    - num
    - pParSup
    - pPartScalarSup
    - pStateStore
    - pTsDataState
    - pDestBlock
    argTypes:
    - SSDataBlock*
    - TSKEY*
    - SColumnInfoData*
    - int32_t
    - SPartitionBySupporter*
    - SExprSupp*
    - SStateStore*
    - STableTsDataState*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 413
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 413
    functionName: buildAndSaveRecalculateData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - appendPkToSpecialBlock
    - blockDataEnsureCapacity
    - qError
    - tstrerror
    - calGroupIdByData
    - copyRecDataToBuff
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAndSaveRecalculateData(SSDataBlock* pSrcBlock,
      TSKEY* pTsCol, SColumnInfoData* pPkColDataInfo, int32_t num, SPartitionBySupporter*
      pParSup, SExprSupp* pPartScalarSup, SStateStore* pStateStore, STableTsDataState*
      pTsDataState, SSDataBlock* pDestBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:879,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:878,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:881,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:882,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:885,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:886,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:887,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:888,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:900,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:900,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:894,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:893,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - pInfo
    - pRecRangeMap
    - pSrcRange
    argTypes:
    - SStreamScanInfo*
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 903
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 903
    functionName: generateSessionDataScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - taosArrayClear
    - taosArrayGet
    - taosArrayDestroy
    - tSimpleHashGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateSessionDataScanRange(SStreamScanInfo* pInfo,
      SSHashObj* pRecRangeMap, SArray* pSrcRange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1194,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1200,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1196,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1195,1
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1202,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pRange
    - pRes
    argTypes:
    - SScanRange*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1213
    functionName: buildRecBlockByRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - blockDataEnsureCapacity
    - appendOneRowToSpecialBlockImpl
    - qError
    - tstrerror
    - tSimpleHashIterate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRecBlockByRange(SScanRange* pRange, SSDataBlock*
      pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:194,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:199,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:195,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:197,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:201,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:204,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:207,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:208,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:215,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:211,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:215,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - uid
    - startTs
    - endTs
    - version
    - taskIdStr
    - pInfo
    - pBlock
    argTypes:
    - uint64_t
    - TSKEY
    - TSKEY
    - int64_t
    - char*
    - SStreamScanInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 218
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 218
    functionName: readPreVersionDataBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - hasSrcPrimaryKeyCol
    - readPreVersionData
    - printDataBlock
    - blockDataEnsureCapacity
    - appendPkToSpecialBlock
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - calGroupIdByData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readPreVersionDataBlock(uint64_t uid, TSKEY startTs,
      TSKEY endTs, int64_t version, char* taskIdStr, SStreamScanInfo* pInfo, SSDataBlock*
      pBlock) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:268,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:284,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:283,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:302,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:303,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:319,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:329,1
    - Dst: buildRecalculateDataSnapshort
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:342,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:363,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:363,1
    - Dst: deletePartName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:328,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:321,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:256,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:282,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:284,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:292,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:284,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:296,1
    - Dst: filterDelBlockByUid
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:298,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:299,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:308,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:310,1
    - Dst: deleteRecalculateDataSnapshort
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:351,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:339,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:309,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:318,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:352,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:256,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:260,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:266,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:275,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:296,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:296,1
    - Dst: setBlockGroupIdByUid
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:307,1
    - Dst: rebuildDeleteBlockData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:309,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:315,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:320,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:314,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:257,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:269,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:314,1
    - Dst: readPrevVersionDataByBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:320,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:341,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:348,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:358,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:363,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:365,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:347,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:365,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 370
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 370
    functionName: doStreamBlockScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isRecalculateOperator
    - blockDataUpdateTsWindow
    - doClearBufferedBlocks
    - taosArrayGetSize
    - GET_TASKID
    - createOneDataBlock
    - printDataBlock
    - rebuildDeleteBlockData
    - setStreamOperatorState
    - deleteRecalculateDataSnapshort
    - readPrevVersionDataByBlock
    - taosArrayGet
    - setBlockGroupIdByUid
    - qError
    - blockDataDestroy
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - buildRecalculateDataSnapshort
    - getStreamOpName
    - isSemiOperator
    - filterDelBlockByUid
    - deletePartName
    - tstrerror
    - copyDataBlock
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamBlockScan(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:925,1
    - Dst: streamClientGetResultRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:926,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:927,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:936,1
    - Dst: streamClientGetResultRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:937,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:938,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:920,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:929,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:930,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:940,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:923,1
    - Dst: generateSessionDataScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:928,1
    - Dst: generateSessionDataScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:939,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:946,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:946,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:922,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 2
    argNames:
    - pInfo
    - pTaskIdStr
    argTypes:
    - SStreamScanInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 949
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 949
    functionName: generateSessionScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - generateSessionDataScanRange
    - tSimpleHashGetSize
    - tSimpleHashClear
    - streamClientGetResultRange
    - qError
    - tstrerror
    - qDebug
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateSessionScanRange(SStreamScanInfo* pInfo, char*
      pTaskIdStr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: prepareDataRangeScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1230,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1263,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1263,1
    - Dst: destroyScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1258,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1248,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1226,1
    - Dst: IS_INVALID_RANGE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1227,1
    - Dst: buildRecBlockByRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1234,1
    - Dst: doOneRangeScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1242,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1247,1
    - Dst: IS_INVALID_RANGE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1221,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1231,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1233,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1243,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - pInfo
    - pTaskInfo
    - ppRes
    argTypes:
    - SStreamScanInfo*
    - SExecTaskInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1268
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1268
    functionName: doDataRangeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - calBlockTbName
    - printDataBlock
    - buildRecBlockByRange
    - doOneRangeScan
    - IS_INVALID_RANGE
    - qError
    - tstrerror
    - destroyScanRange
    - GET_TASKID
    - prepareDataRangeScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDataRangeScan(SStreamScanInfo* pInfo, SExecTaskInfo*
      pTaskInfo, SSDataBlock** ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: readPreVersionData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:430,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:437,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:430,1
    - Dst: comparePrimaryKey
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:440,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:446,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 9
    argNames:
    - pBasic
    - pTableScanOp
    - pParSup
    - pPartScalarSup
    - uid
    - ts
    - maxVersion
    - pVal
    - pRes
    argTypes:
    - SSteamOpBasicInfo*
    - SOperatorInfo*
    - SPartitionBySupporter*
    - SExprSupp*
    - uint64_t
    - TSKEY
    - int64_t
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 452
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 452
    functionName: getDataGroupIdByCol
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - hasSrcPrimaryKeyCol
    - readPreVersionData
    - comparePrimaryKey
    - qInfo
    - qError
    - tstrerror
    - calGroupIdByData
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getDataGroupIdByCol(SSteamOpBasicInfo* pBasic, SOperatorInfo*
      pTableScanOp, SPartitionBySupporter* pParSup, SExprSupp* pPartScalarSup, uint64_t
      uid, TSKEY ts, int64_t maxVersion, void* pVal, bool* pRes) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getMaxTsKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:747,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:738,1
    - Dst: buildRecalculateDataSnapshort
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:814,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:817,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:821,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:803,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:779,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:835,1
    - Dst: doStreamBlockScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:783,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:813,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:803,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:686,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:693,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:719,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:719,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:736,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:751,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:799,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:800,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:828,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:802,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:731,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:750,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:755,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:732,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:756,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:761,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:762,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:763,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:775,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:803,1
    - Dst: isSemiOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:811,1
    - Dst: doStreamWALScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:786,1
    - Dst: streamDataScanOperatorSaveCheckpoint
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:808,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:676,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:681,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:702,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:718,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:748,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:755,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:762,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:775,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:791,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:807,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:818,1
    - Dst: deleteRecalculateDataSnapshort
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:820,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:835,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 131
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 840
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 840
    functionName: doStreamDataScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isRecalculateOperator
    - doClearBufferedBlocks
    - taosArrayGetSize
    - GET_TASKID
    - setStreamOperatorState
    - deleteRecalculateDataSnapshort
    - memcpy
    - taosArrayGet
    - calBlockTbName
    - streamDataScanOperatorSaveCheckpoint
    - qInfo
    - doFilter
    - qError
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - buildRecalculateDataSnapshort
    - isTaskKilled
    - getStreamOpName
    - isSemiOperator
    - doTableScanNext
    - doStreamBlockScan
    - doStreamWALScan
    - tstrerror
    - qDebug
    - getMaxTsKeyInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamDataScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:852,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:856,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 858
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 858
    functionName: streamDataScanReloadState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tstrerror
    - qError
    linkageType: ''
    returnType: void
    signature: 'void streamDataScanReloadState(SOperatorInfo* pOperator) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: resetTableScanInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1136,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1149,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1177,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1150,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1160,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1143,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1153,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1155,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1159,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1175,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1161,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1127,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1144,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1163,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1177,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1162,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - pInfo
    - pRange
    argTypes:
    - SStreamScanInfo*
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1180
    functionName: prepareDataRangeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - taosMemoryFree
    - taosArrayDestroy
    - tSimpleHashGetSize
    - taosMemoryCalloc
    - resetTableScanInfo
    - qError
    - tSimpleHashIterate
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - qDebug
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t prepareDataRangeScan(SStreamScanInfo* pInfo, SScanRange*
      pRange) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getRecalculateId
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1278,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1281,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1279,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1281,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1290,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1291,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1292,1
    - Dst: appendOneRowToSpecialBlockImpl
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1326,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1326,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1311,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1330
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1330
    functionName: buildStreamRecalculateBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - blockDataEnsureCapacity
    - appendOneRowToSpecialBlockImpl
    - qError
    - tstrerror
    - qDebug
    - getRecalculateId
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildStreamRecalculateBlock(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - SStreamRecParam*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1519
    functionName: destroyStreamRecalculateParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamRecalculateParam(SStreamRecParam* pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:51,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:53,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:52,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:54,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:59,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:63,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:63,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 5
    argNames:
    - pInfo
    - pBlock
    - pCurTs
    - ppPkVal
    - pWinCode
    argTypes:
    - SStreamScanInfo*
    - SSDataBlock*
    - TSKEY*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: getMaxTsKeyInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasSrcPrimaryKeyCol
    - taosArrayGet
    - colDataGetData
    - colDataGetRowLength
    - qError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMaxTsKeyInfo(SStreamScanInfo* pInfo, SSDataBlock*
      pBlock, TSKEY* pCurTs, void** ppPkVal, int32_t* pWinCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pParSup
    - pPartScalarSup
    - pSrcBlock
    - rowId
    argTypes:
    - SPartitionBySupporter*
    - SExprSupp*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: getCurDataGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - calGroupIdByData
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getCurDataGroupId(SPartitionBySupporter* pParSup,
      SExprSupp* pPartScalarSup, SSDataBlock* pSrcBlock, int32_t rowId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:460,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:463,1
    - Dst: getCurDataGroupId
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:462,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:464,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:468,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:469,1
    - Dst: getDataGroupIdByCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:471,1
    - Dst: appendPkToSpecialBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:474,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:475,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 9
    argNames:
    - pBasic
    - pTableScanOp
    - pParSup
    - pPartScalarSup
    - pSrcBlock
    - pTsCol
    - pPkColDataInfo
    - pDestBlock
    - num
    argTypes:
    - SSteamOpBasicInfo*
    - SOperatorInfo*
    - SPartitionBySupporter*
    - SExprSupp*
    - SSDataBlock*
    - TSKEY*
    - SColumnInfoData*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 485
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 485
    functionName: buildRecalculateData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - hasSrcPrimaryKeyCol
    - appendPkToSpecialBlock
    - blockDataEnsureCapacity
    - colDataGetData
    - qError
    - tstrerror
    - getDataGroupIdByCol
    - getCurDataGroupId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRecalculateData(SSteamOpBasicInfo* pBasic, SOperatorInfo*
      pTableScanOp, SPartitionBySupporter* pParSup, SExprSupp* pPartScalarSup, SSDataBlock*
      pSrcBlock, TSKEY* pTsCol, SColumnInfoData* pPkColDataInfo, SSDataBlock* pDestBlock,
      int32_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: streamDataScanReleaseState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamDataScanReleaseState(SOperatorInfo* pOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDataGroupIdByCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:863,1
    - Dst: tableListGetTableGroupId
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - pInfo
    - uid
    - ts
    - maxVersion
    - pVal
    - pRes
    argTypes:
    - SStreamScanInfo*
    - uint64_t
    - TSKEY
    - int64_t
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 870
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 870
    functionName: getDataGroupId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - getDataGroupIdByCol
    - tableListGetTableGroupId
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t getDataGroupId(SStreamScanInfo* pInfo, uint64_t uid,
      TSKEY ts, int64_t maxVersion, void* pVal, bool* pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1185,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1189
    functionName: destroyScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyScanRange(SScanRange* pRange) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1343,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1358,1
    - Dst: getRecalculateId
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1357,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1343,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1359,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1359,1
    - Dst: generateDataScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1361,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1362,1
    - Dst: doDataRangeScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1366,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1378,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1378,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1367,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1382
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1382
    functionName: doStreamRecalculateDataScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - printDataBlock
    - qInfo
    - getRecalculateId
    - qError
    - tstrerror
    - generateDataScanRange
    - qDebug
    - GET_TASKID
    - doDataRangeScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamRecalculateDataScan(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1539,1
    - Dst: destroyExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1542,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1546,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1552,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1553,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1564,1
    - Dst: destroyStreamRecalculateParam
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1570,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1554,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1528,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1543,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1567,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1547,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1549,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1550,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1551,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1572,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1573
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1573
    functionName: destroyStreamDataScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - destroyExprInfo
    - tSimpleHashCleanup
    - blockDataDestroy
    - destroyOperator
    - cleanupExprSupp
    - destroyStreamRecalculateParam
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamDataScanOperatorInfo(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:139,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:139,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:136,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:145,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:147,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pInfo
    - pTaskInfo
    argTypes:
    - SStreamScanInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 148
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 148
    functionName: buildRecalculateDataSnapshort
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemFreeClear
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void buildRecalculateDataSnapshort(SStreamScanInfo* pInfo, SExecTaskInfo*
      pTaskInfo) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:521,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:521,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:528,1
    - Dst: setBlockIntoRes
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:552,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:568,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:581,1
    - Dst: getForwardStepsInBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:587,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:604,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:650,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:648,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:527,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:532,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:533,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:544,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:557,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:567,1
    - Dst: getMaxTsKeyInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:573,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:650,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:580,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:623,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:611,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:648,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:519,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:544,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:540,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:538,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:548,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:565,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:576,1
    - Dst: hasSrcPrimaryKeyCol
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:589,1
    - Dst: buildRecalculateData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:606,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:622,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:591,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:602,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:530,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:530,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:548,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:563,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:564,1
    - Dst: blockDataTrimFirstRows
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:610,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:612,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:648,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:583,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 140
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 655
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 655
    functionName: doStreamWALScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataUpdateTsWindow
    - doClearBufferedBlocks
    - taosArrayGetSize
    - GET_TASKID
    - blockDataTrimFirstRows
    - buildRecalculateData
    - printDataBlock
    - colDataGetData
    - setStreamOperatorState
    - taosArrayGet
    - qInfo
    - qError
    - doFilter
    - setBlockIntoRes
    - QUERY_CHECK_NULL
    - getStreamOpName
    - blockDataCleanup
    - hasSrcPrimaryKeyCol
    - tstrerror
    - getForwardStepsInBlock
    - qDebug
    - getMaxTsKeyInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamWALScan(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: generateIntervalScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1008,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1027,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1016,1
    - Dst: generateSessionScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1015,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1027,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 15
    argCount: 2
    argNames:
    - pInfo
    - pTaskIdStr
    argTypes:
    - SStreamScanInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1030
    functionName: generateDataScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - generateSessionScanRange
    - generateIntervalScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateDataScanRange(SStreamScanInfo* pInfo, char*
      pTaskIdStr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: doRangeScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1400,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1391,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1406,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1406,1
    - Dst: calBlockTbName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1407,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1434,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1429,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1434,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1411,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1450,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1391,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1408,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1426,1
    - Dst: prepareRangeScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1453,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1466,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1406,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1436,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1445,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1401,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1411,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1412,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1437,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1421,1
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1444,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1446,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1446,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1451,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1470
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1470
    functionName: doStreamRecalculateBlockScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStreamOpName
    - doRangeScan
    - blockDataCleanup
    - taosArrayGet
    - calBlockTbName
    - blockDataUpdateTsWindow
    - taosArrayGetSize
    - qError
    - printSpecDataBlock
    - copyDataBlock
    - QUERY_CHECK_NULL
    - prepareRangeScan
    - qDebug
    - doClearBufferedBlocks
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamRecalculateBlockScan(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:154,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:156,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pStateStore
    - pState
    - pRecId
    argTypes:
    - SStateStore*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: getRecalculateId
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemFreeClear
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getRecalculateId(SStateStore* pStateStore, void* pState,
      int32_t* pRecId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: needSaveStreamOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:661,1
    - Dst: saveStreamOperatorStateComplete
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:663,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SStreamScanInfo*
    constantsTouched: []
    func_position:
      end: 670
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 670
    functionName: streamDataScanOperatorSaveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - needSaveStreamOperatorInfo
    - saveStreamOperatorStateComplete
    - qError
    linkageType: ''
    returnType: void
    signature: 'void streamDataScanOperatorSaveCheckpoint(SStreamScanInfo* pInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1072,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1084,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1099,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1109,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1079,1
    - Dst: calGroupIdByData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1076,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1080,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1081,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1059,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1071,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1074,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1033,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1058,1
    - Dst: doTableScanNext
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1047,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1064,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1064,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1083,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1077,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1085,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1091,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 3
    argNames:
    - pInfo
    - pRange
    - ppRes
    argTypes:
    - SStreamScanInfo*
    - SScanRange*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1112
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1112
    functionName: doOneRangeScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - colDataIsNull
    - createOneDataBlock
    - taosArrayGet
    - doTableScanNext
    - printDataBlock
    - colDataSetVal
    - tSimpleHashGet
    - colDataGetData
    - doFilter
    - blockDataDestroy
    - qError
    - tstrerror
    - qDebug
    - calGroupIdByData
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doOneRangeScan(SStreamScanInfo* pInfo, SScanRange*
      pRange, SSDataBlock** ppRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1476,1
    - Dst: doStreamRecalculateBlockScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1484,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1479,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1485,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1488,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1490,1
    - Dst: doClearBufferedBlocks
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1494,1
    - Dst: isFinalOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1495,1
    - Dst: buildStreamRecalculateBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1496,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1497,1
    - Dst: isSingleOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1498,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1510,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1502,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1500,1
    - Dst: doStreamRecalculateDataScan
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1510,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1514
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1514
    functionName: doStreamRecalculateScanNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFinalOperator
    - taosArrayGetSize
    - isSingleOperator
    - doStreamRecalculateDataScan
    - qError
    - tstrerror
    - buildStreamRecalculateBlock
    - qDebug
    - doStreamRecalculateBlockScan
    - doClearBufferedBlocks
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamRecalculateScanNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1633,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1636,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1634,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1635,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1637,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1640,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1641,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1641,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1642,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1642,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1645,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pTableScanNode
    - pParam
    argTypes:
    - STableScanPhysiNode*
    - SStreamRecParam*
    constantsTouched: []
    func_position:
      end: 1646
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1646
    functionName: initStreamRecalculateParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    - tsnprintf
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'static void initStreamRecalculateParam(STableScanPhysiNode* pTableScanNode,
      SStreamRecParam* pParam) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1799,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1837,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1778,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1702,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1710,1
    - Dst: createExprFromOneNode
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1706,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1788,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1785,1
    - Dst: tableListGetGroupList
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1736,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1782,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1767,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1792,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1871,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1761,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1722,1
    - Dst: buildCreateTableBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1748,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1791,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1786,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1752,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1680,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1703,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1806,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1832,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1815,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1841,1
    - Dst: createExpr
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1715,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1718,1
    - Dst: initStreamRecalculateParam
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1818,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1845,1
    - Dst: setOperatorStreamStateFn
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1851,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1809,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1835,1
    - Dst: groupbyTbname
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1803,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1685,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1759,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1769,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1858,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1658,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1707,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1737,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1744,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1749,1
    - Dst: extractTableIdList
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1758,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1789,1
    - Dst: tableListCreate
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1764,1
    - Dst: setSingleOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1823,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1816,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1688,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1689,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1762,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1783,1
    - Dst: tableListDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1770,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1709,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1727,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1741,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1766,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1679,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1721,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1651,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1716,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1779,1
    - Dst: extractColMatchInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1672,1
    - Dst: createTableScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1726,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1751,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1805,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1814,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1678,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1817,1
    - Dst: destroyStreamDataScanOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1866,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 172
    argCount: 6
    argNames:
    - pHandle
    - pTableScanNode
    - pTagCond
    - pTableListInfo
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SReadHandle*
    - STableScanPhysiNode*
    - SNode*
    - STableListInfo*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1875
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1875
    functionName: createStreamDataScanOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tableListCreate
    - taosMemoryCalloc
    - initExprSupp
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - tableListDestroy
    - taosArrayDestroy
    - initStreamRecalculateParam
    - extractTableIdList
    - setOperatorInfo
    - createTableScanOperatorInfo
    - createDataBlockFromDescNode
    - taosArrayPush
    - destroyOperator
    - memcpy
    - taosGetDefaultHashFunction
    - taosArrayGet
    - destroyStreamDataScanOperatorInfo
    - blockDataEnsureCapacity
    - tableListGetGroupList
    - createExpr
    - filterInitFromNode
    - createSpecialDataBlock
    - QUERY_CHECK_NULL
    - tSimpleHashInit
    - createOperatorFpSet
    - extractColMatchInfo
    - setSingleOperatorFlag
    - buildCreateTableBlock
    - setOperatorStreamStateFn
    - strlen
    - createExprFromOneNode
    - getKeyComparFunc
    - createExprInfo
    - groupbyTbname
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamDataScanOperatorInfo(SReadHandle* pHandle, STableScanPhysiNode*
      pTableScanNode, SNode* pTagCond, STableListInfo* pTableListInfo, SExecTaskInfo*
      pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1583,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1593,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1584,1
    - Dst: doStreamDataScanNext
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1587,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1594,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1598,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1599,1
    - Dst: doStreamDataScanNext
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1603,1
    - Dst: setRecalculateOperatorFlag
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1607,1
    - Dst: doStreamRecalculateScanNext
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1608,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1625,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1625,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:1609,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1629
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1629
    functionName: doStreamScanTest
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - setRecalculateOperatorFlag
    - taosMemoryCalloc
    - doStreamDataScanNext
    - qError
    - blockDataDestroy
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - doStreamRecalculateScanNext
    - createDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamScanTest(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:79,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:80,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:80,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 9
    argNames:
    - calStart
    - calEnd
    - uid
    - version
    - mode
    - pPkColDataInfo
    - rowId
    - pValueBuff
    - buffLen
    argTypes:
    - TSKEY
    - TSKEY
    - uint64_t
    - uint64_t
    - EStreamType
    - SColumnInfoData*
    - int32_t
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: copyRecDataToBuff
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - memcpy
    - colDataGetData
    - colDataGetRowLength
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyRecDataToBuff(TSKEY calStart, TSKEY calEnd, uint64_t uid,
      uint64_t version, EStreamType mode, const SColumnInfoData* pPkColDataInfo, int32_t
      rowId, SRecDataInfo* pValueBuff, int32_t buffLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSlidingWindow
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:958,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:964,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:964,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - pInfo
    - pTaskIdStr
    - pSeKey
    - pRecData
    - len
    argTypes:
    - SStreamScanInfo*
    - char*
    - SSessionKey*
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: generateIntervalDataScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qError
    - getSlidingWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateIntervalDataScanRange(SStreamScanInfo* pInfo,
      char* pTaskIdStr, SSessionKey* pSeKey, SRecDataInfo* pRecData, int32_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:93,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:94,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:99,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:98,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:96,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:100,1
    - Dst: copyRecDataToBuff
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:118,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:122,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:127,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:127,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 4
    argNames:
    - pStateStore
    - pTsDataState
    - pSrcBlock
    - mode
    argTypes:
    - SStateStore*
    - STableTsDataState*
    - SSDataBlock*
    - EStreamType
    constantsTouched: []
    func_position:
      end: 130
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 130
    functionName: saveRecalculateData
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - copyRecDataToBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveRecalculateData(SStateStore* pStateStore, STableTsDataState*
      pTsDataState, SSDataBlock* pSrcBlock, EStreamType mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:987,1
    - Dst: generateIntervalDataScanRange
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:986,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:984,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:988,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:995,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamscanoperator.c:995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pInfo
    - pTaskIdStr
    argTypes:
    - SStreamScanInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 998
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 998
    functionName: generateIntervalScanRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamscanoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - generateIntervalDataScanRange
    - qError
    - tstrerror
    - taosMemFreeClear
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateIntervalScanRange(SStreamScanInfo* pInfo, char*
      pTaskIdStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:88,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:90,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pBlock
    - newRowsNum
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: forecastEnsureBlockCapacity
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - blockDataEnsureCapacity
    - tstrerror
    - qError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t forecastEnsureBlockCapacity(SSDataBlock*
      pBlock, int32_t newRowsNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: forecastCloseBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:376,1
    - Dst: forecastAnalysis
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:382,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:377,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:380,1
    - Dst: forecastEnsureBlockCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:379,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:383,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:385,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:389,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pSupp
    - pResBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: forecastAggregateBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - forecastCloseBuf
    - forecastEnsureBlockCapacity
    - forecastAnalysis
    - taosAnalyBufDestroy
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastAggregateBlocks(SForecastSupp* pSupp, SSDataBlock*
      pResBlock, const char* pId) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:195,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:183,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:184,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:215,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:235,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:240,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:179,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:180,1
    - Dst: taosAnalyBufWriteDataEnd
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:192,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:198,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:207,1
    - Dst: taosAnalyBufWriteOptFloat
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:223,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:235,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:220,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:232,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:211,1
    - Dst: taosAnalyBufWriteColEnd
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:188,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:204,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:226,1
    - Dst: taosAnalyBufWriteOptInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:228,1
    - Dst: taosAnalyBufWriteOptStr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:236,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 2
    argNames:
    - pSupp
    - id
    argTypes:
    - SForecastSupp*
    - char*
    constantsTouched: []
    func_position:
      end: 242
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 242
    functionName: forecastCloseBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - taosAnalyBufWriteColData
    - taosAnalyBufWriteOptStr
    - taosArrayGet
    - taosAnalyBufWriteDataEnd
    - colDataGetData
    - taosAnalyBufWriteOptFloat
    - qError
    - strlen
    - taosAnalyBufWriteOptInt
    - taosAnalyBufWriteColEnd
    - taosArrayGetSize
    - taosAnalyBufClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastCloseBuf(SForecastSupp* pSupp, const char*
      id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pSupp
    - pExprSup
    argTypes:
    - SForecastSupp*
    - SExprSupp*
    constantsTouched: []
    func_position:
      end: 483
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 483
    functionName: forecastParseOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastParseOutput(SForecastSupp* pSupp, SExprSupp*
      pExprSup) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:537,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:549,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:561,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:582,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:534,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:535,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:550,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:562,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:572,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:586,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:588,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:588,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:590,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:535,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:571,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:583,1
    - Dst: validInputParams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:540,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:558,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:569,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:573,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:580,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:563,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - pSupp
    - pFuncs
    - id
    argTypes:
    - SForecastSupp*
    - SNodeList*
    - char*
    constantsTouched: []
    func_position:
      end: 600
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 600
    functionName: forecastParseInput
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - tstrncpy
    - FOREACH
    - taosArrayPush
    - validInputParams
    - tListLen
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastParseInput(SForecastSupp* pSupp, SNodeList*
      pFuncs, const char* id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:614,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:615,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:617,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    constantsTouched: []
    func_position:
      end: 625
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 625
    functionName: filterNotSupportForecast
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosStrcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t filterNotSupportForecast(SForecastSupp* pSupp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:871,1
    - Dst: tsosAnalyBufOpen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:873,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:879,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:887,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:890,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:894,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:908,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:906,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:911,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:900,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:883,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:889,1
    - Dst: taosAnalyBufWriteColBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:924,1
    - Dst: taosAnalyBufWriteDataBegin
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:920,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:876,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:882,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:931,1
    - Dst: taosAnalyBufClose
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:930,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:869,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:893,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:893,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:899,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:891,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:911,1
    - Dst: taosAnalyBufWriteColMeta
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:913,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    constantsTouched: []
    func_position:
      end: 934
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 934
    functionName: forecastCreateBuf
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - taosAnalyBufWriteColBegin
    - snprintf
    - taosAnalyBufWriteColMeta
    - taosArrayGet
    - tsosAnalyBufOpen
    - taosArrayRemove
    - strcmp
    - taosAnalyBufDestroy
    - memcpy
    - taosArrayGetSize
    - taosAnalyBufClose
    - tsnprintf
    - tListLen
    - taosAnalyBufWriteDataBegin
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastCreateBuf(SForecastSupp* pSupp) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:262,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:279,1
    - Dst: tjsonGetObjectValueBigInt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:307,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:301,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:303,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:330,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:332,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:336,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:344,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:346,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:362,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:255,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:277,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:306,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:321,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:335,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:367,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:266,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:264,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:308,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:320,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:338,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:260,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:275,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:282,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:317,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:315,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:290,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:292,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:323,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:358,1
    - Dst: tjsonGetObjectValueDouble
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:350,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 98
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - pId
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 369
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 369
    functionName: forecastAnalysis
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetObjectValueDouble
    - taosArrayGet
    - colDataSetDouble
    - tjsonGetObjectValueBigInt
    - colDataSetFloat
    - taosAnalySendReqRetJson
    - colDataSetInt64
    - qError
    - tjsonDelete
    - tstrerror
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastAnalysis(SForecastSupp* pSupp, SSDataBlock*
      pBlock, const char* pId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:105,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:119,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:143,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:148,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:154,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:104,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:141,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:145,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:155,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:114,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:110,1
    - Dst: MIN
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:122,1
    - Dst: MAX
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:142,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:113,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:127,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:136,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:136,1
    - Dst: taosAnalyBufWriteColData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:159,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:161,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:158,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 55
    argCount: 3
    argNames:
    - pSupp
    - pBlock
    - id
    argTypes:
    - SForecastSupp*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 168
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 168
    functionName: forecastCacheBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - taosAnalyBufWriteColData
    - MIN
    - taosArrayGet
    - MAX
    - colDataGetData
    - qError
    - tstrerror
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastCacheBlock(SForecastSupp* pSupp, SSDataBlock*
      pBlock, const char* id) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:405,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:417,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:403,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:419,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:422,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:424,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:444,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:431,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:408,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:423,1
    - Dst: forecastAggregateBlocks
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:443,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:428,1
    - Dst: forecastCacheBlock
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:430,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:401,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:436,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:442,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:452,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:420,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:448,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:447,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:454,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 459
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 459
    functionName: forecastNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - forecastCacheBlock
    - qError
    - tstrerror
    - taosGetTimestampUs
    - forecastAggregateBlocks
    - T_LONG_JMP
    - qDebug
    - getNextBlockFromDownstream
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:488,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:493,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:498,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:490,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:494,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:499,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:501,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:502,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:505,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:512,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:515,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:516,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:521,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:521,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - pFunc
    - id
    argTypes:
    - SFunctionNode*
    - char*
    constantsTouched: []
    func_position:
      end: 524
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 524
    functionName: validInputParams
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - LIST_LENGTH
    - qError
    - tstrerror
    - TSDB_CHECK_NULL
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validInputParams(SFunctionNode* pFunc, const char*
      id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SForecastSupp*
    constantsTouched: []
    func_position:
      end: 611
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 611
    functionName: initForecastOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initForecastOpt(SForecastSupp* pSupp) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:655,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:702,1
    - Dst: taosStrndupi
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:743,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:848,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:806,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:826,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:641,1
    - Dst: taosAnalysisParseWncheck
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:652,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:692,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:722,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:816,1
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:635,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:718,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:728,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:810,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:830,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:736,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:770,1
    - Dst: taosAnalysisParseTimout
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:651,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:724,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:674,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:655,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:850,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:811,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:831,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:663,1
    - Dst: strsplit
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:774,1
    - Dst: initForecastOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:633,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:642,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:677,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:752,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:734,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:736,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:743,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:674,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:688,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:733,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:795,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:788,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:784,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:682,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:695,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:738,1
    - Dst: taosStr2UInt32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:835,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:770,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:661,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:695,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:705,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:771,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:859,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:734,1
    - Dst: taosStr2Int16
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:800,1
    - Dst: filterNotSupportForecast
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:644,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:646,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:658,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:698,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:705,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:820,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:836,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:647,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:745,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:796,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:765,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:751,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:801,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:667,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:722,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:821,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:753,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:840,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:776,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:815,1
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:825,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:805,1
    - Dst: taosAnalysisParseAlgo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:640,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:692,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:716,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:841,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 173
    argCount: 2
    argNames:
    - pSupp
    - id
    argTypes:
    - SForecastSupp*
    - char*
    constantsTouched: []
    func_position:
      end: 861
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 861
    functionName: forecastParseOpt
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - filterNotSupportForecast
    - taosStrndup
    - taosAnalysisParseWncheck
    - colDataSetVal
    - strstr
    - colInfoDataEnsureCapacity
    - taosStr2Int64
    - taosHashGetValueSize
    - initForecastOpt
    - sscanf
    - taosArrayGetSize
    - taosHashCleanup
    - taosStr2Float
    - taosStr2UInt8
    - taosStr2Double
    - strsplit
    - taosArrayPush
    - taosAnalysisParseTimout
    - memcpy
    - tListLen
    - TSDB_CHECK_CODE
    - taosArrayGet
    - strncpy
    - taosAnalysisParseAlgo
    - strncmp
    - qWarn
    - strdequote
    - taosHashGet
    - qError
    - taosStr2Int32
    - taosStr2Int8
    - taosStr2UInt64
    - taosAnalyGetOpts
    - taosStr2Int16
    - toInteger
    - taosStrndupi
    - taosStr2UInt32
    - taosHashIterate
    - strcmp
    - strlen
    - taosHashGetKey
    - qDebug
    - taosStr2UInt16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forecastParseOpt(SForecastSupp* pSupp, const char*
      id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:943,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:972,1
    - Dst: forecastParseOutput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:978,1
    - Dst: forecastCreateBuf
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:984,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:998,1
    - Dst: destroyForecastInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:966,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:976,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:992,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:997,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1013,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1010,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1001,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:957,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:960,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:969,1
    - Dst: forecastParseOpt
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:981,1
    - Dst: forecastParseInput
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:975,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:989,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:990,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:994,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1000,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1005,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:938,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:942,1
    - Dst: createExprInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:956,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:959,1
    - Dst: initExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:968,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:979,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:973,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:982,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:985,1
    - Dst: initResultSizeInfo
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:987,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1016
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 1016
    functionName: createForecastOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - initExprSupp
    - forecastParseOutput
    - setOperatorInfo
    - forecastParseInput
    - createDataBlockFromDescNode
    - blockDataEnsureCapacity
    - initResultSizeInfo
    - appendDownstream
    - qError
    - filterInitFromNode
    - QUERY_CHECK_NULL
    - forecastCreateBuf
    - createOperatorFpSet
    - tstrerror
    - forecastParseOpt
    - qDebug
    - destroyForecastInfo
    - createExprInfo
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createForecastOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1021,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1024,1
    - Dst: taosAnalyBufDestroy
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1028,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1029,1
    - Dst: cleanupExprSupp
      Src: /src/tdengine/source/libs/executor/src/forecastoperator.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: destroyForecastInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached:
    - cleanupExprSupp
    - taosArrayDestroy
    - blockDataDestroy
    - taosAnalyBufDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyForecastInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 4
    argNames:
    - downstream
    - pPhyNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - SOperatorInfo*
    - SPhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: createForecastOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/forecastoperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createForecastOperatorInfo(SOperatorInfo* downstream, SPhysiNode*
      pPhyNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:874,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:879,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:875,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 880
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 880
    functionName: setAllSourcesCompleted
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - setOperatorCompleted
    - taosArrayGetSize
    - GET_TASKID
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void setAllSourcesCompleted(SOperatorInfo* pOperator) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1027,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1039,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1047,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1049,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1060,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1019,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1041,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1041,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1048,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1073,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1082,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1095,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1010,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1011,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1021,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1021,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1023,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1035,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1058,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1069,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1080,1
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1015,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1029,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1029,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1034,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1031,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1036,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1043,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1093,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1099,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1111
    functionName: seqLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - exchangeWait
    - taosArrayGet
    - doSendFetchDataRequest
    - setAllSourcesCompleted
    - updateLoadRemoteInfo
    - qError
    - tstrerror
    - taosGetTimestampUs
    - T_LONG_JMP
    - taosMemoryFreeClear
    - doExtractResultBlocks
    - isTaskKilled
    - qDebug
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t seqLoadRemoteData(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:885,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:889,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:899,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:890,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pArray
    - pRes
    argTypes:
    - SArray*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 902
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 902
    functionName: getCompletedSources
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getCompletedSources(const SArray* pArray, int32_t* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1116,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1119,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: clearVtbScanDataInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearVtbScanDataInfo(void* pItem) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: setAllSourcesCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:79,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:76,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:94,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:111,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:121,1
    - Dst: doExtractResultBlocks
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:135,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:153,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:73,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:89,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:109,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:112,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:149,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:179,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:163,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:179,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:71,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:86,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:86,1
    - Dst: exchangeWait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:87,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:90,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:95,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:126,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:128,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:130,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:146,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:155,1
    - Dst: updateLoadRemoteInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:141,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:159,1
    - Dst: getCompletedSources
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:173,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:165,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 95
    argCount: 3
    argNames:
    - pOperator
    - pExchangeInfo
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 186
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 186
    functionName: concurrentlyLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - getCompletedSources
    - exchangeWait
    - taosArrayGet
    - doSendFetchDataRequest
    - setAllSourcesCompleted
    - tmemory_barrier
    - updateLoadRemoteInfo
    - T_LONG_JMP
    - doExtractResultBlocks
    - taosMemoryFreeClear
    - QUERY_CHECK_NULL
    - qDebug
    - isTaskKilled
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: void
    signature: 'static void concurrentlyLoadRemoteDataImpl(SOperatorInfo* pOperator,
      SExchangeInfo* pExchangeInfo, SExecTaskInfo* pTaskInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTR_IS_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1248,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1262,1
    - Dst: addDynamicExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1254,1
    - Dst: prepareConcurrentlyLoad
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1255,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1266,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1267,1
    - Dst: OPTR_SET_OPENED
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1270,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1271,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1275,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1280
    functionName: prepareLoadRemoteData
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - addDynamicExchangeSource
    - OPTR_SET_OPENED
    - prepareConcurrentlyLoad
    - qError
    - tstrerror
    - taosGetTimestampUs
    - T_LONG_JMP
    - OPTR_IS_OPENED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareLoadRemoteData(SOperatorInfo* pOperator) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:214,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:223,1
    - Dst: seqLoadRemoteData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:221,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:238,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:198,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:197,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:207,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:211,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:234,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:242,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:244,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:205,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:232,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:237,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:206,1
    - Dst: concurrentlyLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:231,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:231,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 249
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 249
    functionName: doLoadRemoteDataImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayRemove
    - concurrentlyLoadRemoteDataImpl
    - qError
    - tstrerror
    - T_LONG_JMP
    - taosArrayPush
    - qDebug
    - seqLoadRemoteData
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'static SSDataBlock * doLoadRemoteDataImpl(SOperatorInfo* pOperator) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1288,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1310,1
    - Dst: resetLimitInfoForNextGroup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1316,1
    - Dst: applyLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1328,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1296,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1333,1
    - Dst: hasSlimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1341,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 4
    argNames:
    - pOperator
    - pLimitInfo
    - pBlock
    - holdDataInBuf
    argTypes:
    - SOperatorInfo*
    - SLimitInfo*
    - SSDataBlock*
    - bool
    constantsTouched: []
    func_position:
      end: 1346
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1346
    functionName: handleLimitOffset
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - applyLimitOffset
    - blockDataCleanup
    - hasSlimitOffsetInfo
    - setOperatorCompleted
    - resetLimitInfoForNextGroup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t handleLimitOffset(SOperatorInfo* pOperator, SLimitInfo* pLimitInfo,
      SSDataBlock* pBlock, bool holdDataInBuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1361,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1359,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pOperator
    - pExchangeInfo
    argTypes:
    - SOperatorInfo*
    - SExchangeInfo*
    constantsTouched: []
    func_position:
      end: 1374
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1374
    functionName: exchangeWait
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qError
    - tsem_wait
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t exchangeWait(SOperatorInfo* pOperator, SExchangeInfo*
      pExchangeInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:374,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:374,1
    - Dst: initLimitInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:391,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:392,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:395,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:395,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:386,1
    - Dst: initDataSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:401,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:357,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:348,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:377,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:366,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:352,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:359,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:364,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:372,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:386,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - pExNode
    - pInfo
    - id
    argTypes:
    - SExchangePhysiNode*
    - SExchangeInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 402
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 402
    functionName: initExchangeOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - qError
    - tstrerror
    - tSimpleHashInit
    - taosArrayPush
    - initLimitInfo
    - taosAddRef
    - tSimpleHashPut
    - taosArrayReserve
    - taosGetDefaultHashFunction
    - nodesListGetNode
    - taosArrayInit
    - initDataSource
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initExchangeOperator(SExchangePhysiNode* pExNode, SExchangeInfo*
      pInfo, const char* id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:525,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:526,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:578,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:584,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:540,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:553,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:557,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:555,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:569,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:582,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:536,1
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:564,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:560,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:567,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:574,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:576,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:578,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:538,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:540,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:558,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:563,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:556,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 587
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 587
    functionName: loadRemoteDataCallback
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosArrayGet
    - asyncFreeConnById
    - qWarn
    - rpcCvtErrCode
    - tmemory_barrier
    - qError
    - tstrerror
    - taosReleaseRef
    - qDebug
    - tsem_post
    - taosMemoryFreeClear
    - htobe64
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadRemoteDataCallback(void* param, SDataBuf* pMsg, int32_t
      code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:626,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:632,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:630,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:629,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:633,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:635,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:636,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:639,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:641,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:659,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:642,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:657,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:662,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:656,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - pMap
    - tableSeq
    - window
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - SOrgTbInfo*
    - bool
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 667
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 667
    functionName: buildTableScanOperatorParamEx
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayDestroy
    - qError
    - tstrncpy
    - taosArrayDup
    - tstrerror
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildTableScanOperatorParamEx(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, SOrgTbInfo *pMap, bool tableSeq, STimeWindow *window) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - pInfo
    - numOfRows
    - dataLen
    - startTs
    - pOperator
    argTypes:
    - SLoadRemoteDataInfo*
    - int64_t
    - int32_t
    - int64_t
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 805
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 805
    functionName: updateLoadRemoteInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    linkageType: ''
    returnType: void
    signature: 'void updateLoadRemoteInfo(SLoadRemoteDataInfo* pInfo, int64_t numOfRows,
      int32_t dataLen, int64_t startTs, SOperatorInfo* pOperator) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1136,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1141,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1166,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1197,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1138,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1126,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1151,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1153,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1153,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1179,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1181,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1201,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1150,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1167,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1186,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1124,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1139,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1164,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1184,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1200,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1204,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 2
    argNames:
    - pOperator
    - pBasicParam
    argTypes:
    - SOperatorInfo*
    - SExchangeOperatorBasicParam*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1217
    functionName: addSingleExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - tSimpleHashGet
    - tstrncpy
    - qError
    - taosArrayDup
    - tstrerror
    - taosArrayPush
    - taosArrayClearEx
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addSingleExchangeSource(SOperatorInfo* pOperator, SExchangeOperatorBasicParam*
      pBasicParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:441,1
    - Dst: filterInitFromNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:443,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:446,1
    - Dst: destroyOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:462,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:410,1
    - Dst: createDataBlockFromDescNode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:424,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:425,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:429,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:439,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:444,1
    - Dst: initExchangeOperator
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:418,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:418,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:411,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:421,1
    - Dst: qAppendTaskStopInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:433,1
    - Dst: doDestroyExchangeOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:457,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:406,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:419,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:422,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:428,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:430,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:434,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:427,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:453,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - pTransporter
    - pExNode
    - pTaskInfo
    - pOptrInfo
    argTypes:
    - void*
    - SExchangePhysiNode*
    - SExecTaskInfo*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 465
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 465
    functionName: createExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doDestroyExchangeOperatorInfo
    - tsem_init
    - taosMemoryCalloc
    - setOperatorInfo
    - taosArrayGetSize
    - createDataBlockFromDescNode
    - filterInitFromNode
    - qError
    - QUERY_CHECK_NULL
    - tstrerror
    - destroyOperator
    - qAppendTaskStopInfo
    - GET_TASKID
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - initExchangeOperator
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createExchangeOperatorInfo(void* pTransporter, SExchangePhysiNode*
      pExNode, SExecTaskInfo* pTaskInfo, SOperatorInfo** pOptrInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:590,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:595,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:597,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:601,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:603,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ppRes
    - pUidList
    - srcOpType
    - tableSeq
    argTypes:
    - SOperatorParam**
    - SArray*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 619
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 619
    functionName: buildTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDup
    - taosMemoryFreeClear
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildTableScanOperatorParam(SOperatorParam** ppRes, SArray*
      pUidList, int32_t srcOpType, bool tableSeq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:682,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:691,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:713,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:714,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:729,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:735,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:715,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:738,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:743,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:754,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:764,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:771,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:687,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:701,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:719,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:725,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:724,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:746,1
    - Dst: tSerializeSResFetchReq
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:751,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:760,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:772,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:794,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:786,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:794,1
    - Dst: loadRemoteDataCallback
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:700,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:739,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:787,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:672,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:690,1
    - Dst: buildTableScanOperatorParamEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:712,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:747,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:755,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:762,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:768,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:770,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:788,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 3
    argNames:
    - pExchangeInfo
    - pTaskInfo
    - sourceIndex
    argTypes:
    - SExchangeInfo*
    - SExecTaskInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 797
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 797
    functionName: doSendFetchDataRequest
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - freeOperatorParam
    - GET_TASKID
    - taosArrayGetSize
    - taosArrayDestroy
    - buildTableScanOperatorParamEx
    - loadRemoteDataCallback
    - asyncSendMsgToServer
    - taosArrayGet
    - tSerializeSResFetchReq
    - qError
    - taosGetTimestampUs
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - buildTableScanOperatorParam
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSendFetchDataRequest(SExchangeInfo* pExchangeInfo, SExecTaskInfo*
      pTaskInfo, int32_t sourceIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:844,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:857,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:847,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:863,1
    - Dst: htons
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:828,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:820,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:838,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:839,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:845,1
    - Dst: relocateColumnData
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:854,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:848,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:813,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:834,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:840,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:855,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:812,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:829,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:835,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:864,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - pRes
    - pData
    - pColList
    - pNextStart
    argTypes:
    - SSDataBlock*
    - char*
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 867
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 867
    functionName: extractDataBlockFromFetchRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - htonl
    - blockDataAppendColInfo
    - relocateColumnData
    - blockDecode
    - blockDataEnsureCapacity
    - qError
    - blockDataDestroy
    - tstrerror
    - createDataBlock
    - htons
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractDataBlockFromFetchRsp(SSDataBlock* pRes, char* pData,
      SArray* pColList, char** pNextStart) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1227,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1228,1
    - Dst: addSingleExchangeSource
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1235,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1242
    functionName: addDynamicExchangeSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - freeOperatorParam
    - addSingleExchangeSource
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addDynamicExchangeSource(SOperatorInfo* pOperator) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: doLoadRemoteDataImpl
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:266,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:273,1
    - Dst: doFilter
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:272,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:258,1
    - Dst: blockDataGetNumOfRows
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:275,1
    - Dst: hasLimitOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:280,1
    - Dst: handleLimitOffset
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:281,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:286,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:302,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:302,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 308
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 308
    functionName: loadRemoteDataNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doLoadRemoteDataImpl
    - hasLimitOffsetInfo
    - blockDataGetNumOfRows
    - doFilter
    - setOperatorCompleted
    - qError
    - tstrerror
    - T_LONG_JMP
    - handleLimitOffset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadRemoteDataNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:469,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:471,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 473
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 473
    functionName: destroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosRemoveRef
    - qError
    linkageType: ''
    returnType: void
    signature: 'void destroyExchangeOperatorInfo(void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:482,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: freeSourceDataInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void freeSourceDataInfo(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:908,1
    - Dst: doSendFetchDataRequest
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:913,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:920,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:921,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:909,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:921,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:925,1
    - Dst: isTaskKilled
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:926,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:927,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 931
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 931
    functionName: prepareConcurrentlyLoad
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - doSendFetchDataRequest
    - T_LONG_JMP
    - taosGetTimestampUs
    - qDebug
    - isTaskKilled
    - taosArrayGetSize
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareConcurrentlyLoad(SOperatorInfo* pOperator) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:311,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:321,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:331,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:320,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - numOfSources
    - pInfo
    - id
    argTypes:
    - int32_t
    - SExchangeInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 339
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 339
    functionName: initDataSource
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    - strlen
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initDataSource(int32_t numOfSources, SExchangeInfo*
      pInfo, const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 478
    functionName: freeBlock
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeBlock(void* pParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:497,1
    - Dst: asyncFreeConnById
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:498,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:501,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:505,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:507,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:508,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:510,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:511,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:515,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:517,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 520
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 520
    functionName: doDestroyExchangeOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - asyncFreeConnById
    - taosArrayGet
    - taosArrayDestroy
    - tSimpleHashCleanup
    - qError
    - blockDataDestroy
    - tstrerror
    - taosArrayDestroyEx
    - tsem_destroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void doDestroyExchangeOperatorInfo(void* param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:965,1
    - Dst: extractDataBlockFromFetchRsp
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:986,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1000,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:1000,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:966,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:977,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:999,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:982,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:952,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:947,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:968,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:969,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:988,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:946,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:964,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:951,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:992,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:993,1
    - Dst: tsDecompressString
      Src: /src/tdengine/source/libs/executor/src/exchangeoperator.c:981,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 2
    argNames:
    - pExchangeInfo
    - pDataInfo
    argTypes:
    - SExchangeInfo*
    - SSourceDataInfo*
    constantsTouched: []
    func_position:
      end: 1003
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 1003
    functionName: doExtractResultBlocks
    functionSourceFile: /src/tdengine/source/libs/executor/src/exchangeoperator.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - tsDecompressString
    - createOneDataBlock
    - taosMemoryMalloc
    - taosMemoryRealloc
    - QUERY_CHECK_CONDITION
    - qError
    - blockDataDestroy
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayPop
    - taosArrayGetSize
    - taosMemoryFreeClear
    - extractDataBlockFromFetchRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doExtractResultBlocks(SExchangeInfo* pExchangeInfo, SSourceDataInfo*
      pDataInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: destroyOrgTbInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyOrgTbInfo(void *info) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:471,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:475,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:478,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:474,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:481,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:482,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:483,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:486,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:488,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:489,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:490,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:494,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:497,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - ppRes
    - pChild0
    - pChild1
    argTypes:
    - SOperatorParam**
    - SOperatorParam*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 507
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 507
    functionName: buildMergeJoinNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - freeOperatorParam
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildMergeJoinNotifyOperatorParam(SOperatorParam**
      ppRes, SOperatorParam* pChild0, SOperatorParam* pChild1) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:687,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:691,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:689,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:692,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:691,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:694,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:694,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:699,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:703,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:703,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:706,1
    - Dst: notifySeqJoinTableCacheEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:706,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - pOperator
    - pStbJoin
    argTypes:
    - SOperatorInfo*
    - SStbJoinDynCtrlInfo*
    constantsTouched: []
    func_position:
      end: 711
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 711
    functionName: handleSeqJoinCurrRetrieveEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    - qError
    - tstrerror
    - QRY_ERR_RET
    - notifySeqJoinTableCacheEnd
    - tSimpleHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleSeqJoinCurrRetrieveEnd(SOperatorInfo* pOperator,
      SStbJoinDynCtrlInfo* pStbJoin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1019,1
    - Dst: colInfoDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1025,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1029,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1021,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1024,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1035,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pStbJoin
    - pBlock
    argTypes:
    - SStbJoinDynCtrlInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1040
    functionName: seqStableJoinComposeRes
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - colInfoDataEnsureCapacity
    - qError
    - nodesListGetNode
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t seqStableJoinComposeRes(SStbJoinDynCtrlInfo* pStbJoin,
      SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1315,1
    - Dst: buildDbVgInfoMap
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1321,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1315,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1320,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1322,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1323,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1324,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1332,1
    - Dst: freeUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1333,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - pOperator
    - name
    - dbVgInfo
    argTypes:
    - SOperatorInfo*
    - SName*
    - SDBVgInfo**
    constantsTouched: []
    func_position:
      end: 1335
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1335
    functionName: getDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryMalloc
    - taosHashGet
    - QRY_PARAM_CHECK
    - qError
    - strlen
    - tstrerror
    - freeUseDbOutput
    - taosHashPut
    - buildDbVgInfoMap
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDbVgInfo(SOperatorInfo* pOperator, SName *name, SDBVgInfo
      **dbVgInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:96,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: freeUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - freeVgInfo
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: 'void freeUseDbOutput(void* pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:511,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:519,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:513,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:523,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:520,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:527,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 532
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 532
    functionName: buildBatchTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - buildTableScanOperatorParam
    - tSimpleHashGetKey
    - taosArrayDestroy
    - tSimpleHashGetSize
    - qError
    - tSimpleHashIterate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBatchTableScanOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, SSHashObj* pVg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:723,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:727,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:723,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:727,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:725,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 735
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 735
    functionName: seqJoinContinueCurrRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - handleSeqJoinCurrRetrieveEnd
    - QRY_ERR_RET
    - qDebug
    - getNextBlockFromDownstream
    - GET_TASKID
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t seqJoinContinueCurrRetrieve(SOperatorInfo*
      pOperator, SSDataBlock** ppRes) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1047,1
    - Dst: buildStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1058,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1060,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1054,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1065,1
    - Dst: seqJoinContinueCurrRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1065,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1070,1
    - Dst: seqJoinLaunchNewRetrieve
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1070,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1074,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1078,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1078,1
    - Dst: seqStableJoinComposeRes
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1082,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1085
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1085
    functionName: seqStableJoin
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - seqStableJoinComposeRes
    - seqJoinLaunchNewRetrieve
    - buildStbJoinTableList
    - qError
    - setOperatorCompleted
    - taosGetTimestampUs
    - tstrerror
    - T_LONG_JMP
    - QRY_ERR_JRET
    - QRY_PARAM_CHECK
    - seqJoinContinueCurrRetrieve
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t seqStableJoin(SOperatorInfo* pOperator, SSDataBlock** pRes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1358,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1373,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1376,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1399,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1401,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1402,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1405,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1407,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1429,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1468,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1348,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1362,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1380,1
    - Dst: getDbVgInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1388,1
    - Dst: toName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1387,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1390,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1391,1
    - Dst: getVgId
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1398,1
    - Dst: buildVtbScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1420,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1428,1
    - Dst: buildExchangeOperatorParamForVScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1427,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1355,1
    - Dst: colNeedScan
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1383,1
    - Dst: tNameGetFullTableName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1392,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1393,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1395,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1406,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1408,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1414,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1449,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1413,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1429,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1462,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1423,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1366,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1367,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1375,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1400,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1406,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1414,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1421,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1430,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1438,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1466,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1466,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1459,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 109
    argCount: 2
    argNames:
    - pOperator
    - pRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1472
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1472
    functionName: vtbScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - toName
    - taosArrayGetSize
    - tNameGetFullDbName
    - taosArrayInit
    - taosHashInit
    - taosHashCleanup
    - buildExchangeOperatorParamForVScan
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - tNameGetFullTableName
    - taosHashSetFreeFp
    - taosArrayGet
    - taosHashGet
    - tstrncpy
    - setOperatorCompleted
    - taosGetTimestampUs
    - getVgId
    - QUERY_CHECK_NULL
    - buildVtbScanOperatorParam
    - qError
    - colNeedScan
    - getDbVgInfo
    - taosHashIterate
    - tstrerror
    - T_LONG_JMP
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vtbScan(SOperatorInfo* pOperator, SSDataBlock** pRes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:103,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:106,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:113,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:109,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:112,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:116,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:117,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:120,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pVtbScan
    argTypes:
    - SVtbScanDynCtrlInfo*
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: destroyVtbScanDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tFreeSUsedbRsp
    - taosMemoryFreeClear
    - taosHashSetFreeFp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyVtbScanDynCtrlInfo(SVtbScanDynCtrlInfo* pVtbScan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:282,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:304,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:288,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:299,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:305,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pVgId
    - pUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 316
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 316
    functionName: buildExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildExchangeOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, const int32_t* pVgId, int64_t* pUid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildSeqStbJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:630,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:633,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:636,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:636,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:639,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:641,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:641,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:643,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:648,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:648,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:650,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:650,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 652
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 652
    functionName: seqJoinLaunchNewRetrieveImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - blockDataCheck
    - qError
    - T_LONG_JMP
    - tstrerror
    - qDebug
    - GET_TASKID
    - buildSeqStbJoinOperatorParam
    linkageType: ''
    returnType: void
    signature: 'static void seqJoinLaunchNewRetrieveImpl(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:804,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:807,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:806,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SStbJoinTableList*
    constantsTouched: []
    func_position:
      end: 809
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 809
    functionName: freeStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeStbJoinTableList(SStbJoinTableList* pList) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:874,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:870,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:872,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:868,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:876,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:878,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:880,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:890,1
    - Dst: addToJoinVgroupHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:894,1
    - Dst: appendStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:911,1
    - Dst: addToJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:903,1
    - Dst: T_LONG_JMP
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:921,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 2
    argNames:
    - pOperator
    - pBlock
    argTypes:
    - SOperatorInfo*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 923
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 923
    functionName: doBuildStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - appendStbJoinTableList
    - T_LONG_JMP
    - addToJoinTableHash
    - QRY_ERR_JRET
    - addToJoinVgroupHash
    linkageType: ''
    returnType: void
    signature: 'static void doBuildStbJoinTableHash(SOperatorInfo* pOperator, SSDataBlock*
      pBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1476,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1476,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1485,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1480,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1480,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1485,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1489,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1489,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1493,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1493,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pPrev
    - batchFetch
    argTypes:
    - SStbJoinPrevJoinCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 1500
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1500
    functionName: initSeqStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashInit
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initSeqStbJoinTableHash(SStbJoinPrevJoinCtx* pPrev, bool batchFetch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: freeVgTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeVgTableList(void* ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroyStbJoinDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:130,1
    - Dst: destroyVtbScanDynCtrlInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:136,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: destroyDynQueryCtrlOperator
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - destroyVtbScanDynCtrlInfo
    - destroyStbJoinDynCtrlInfo
    - qError
    linkageType: ''
    returnType: void
    signature: 'static void destroyDynQueryCtrlOperator(void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:319,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:325,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:327,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:332,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:332,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:334,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:335,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:338,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:345,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:354,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:346,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:356,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:356,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:354,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pVg
    argTypes:
    - SOperatorParam**
    - int32_t
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 366
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 366
    functionName: buildBatchExchangeOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - taosMemoryFree
    - taosMemoryMalloc
    - tSimpleHashGetSize
    - qTrace
    - taosArrayGetSize
    - tSimpleHashInit
    - tSimpleHashIterate
    - QRY_ERR_RET
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBatchExchangeOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, SSHashObj* pVg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:662,1
    - Dst: optrDefaultNotifyFn
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:673,1
    - Dst: buildMergeJoinNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:668,1
    - Dst: buildGroupCacheNotifyOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pOperator
    - pPost
    - leftTable
    argTypes:
    - SOperatorInfo*
    - SStbJoinPostJoinCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 674
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 674
    functionName: notifySeqJoinTableCacheEnd
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - buildGroupCacheNotifyOperatorParam
    - qDebug
    - optrDefaultNotifyFn
    - buildMergeJoinNotifyOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t notifySeqJoinTableCacheEnd(SOperatorInfo* pOperator,
      SStbJoinPostJoinCtx* pPost, bool leftTable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:813,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:820,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:826,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:817,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:823,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:829,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:832,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:835,1
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:838,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:842,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:843,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:845,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:844,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 6
    argNames:
    - pCtx
    - rows
    - pLeftVg
    - pLeftUid
    - pRightVg
    - pRightUid
    argTypes:
    - SStbJoinPrevJoinCtx*
    - int64_t
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 860
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 860
    functionName: appendStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryMalloc
    - freeStbJoinTableList
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendStbJoinTableList(SStbJoinPrevJoinCtx* pCtx, int64_t
      rows, int32_t* pLeftVg, int64_t* pLeftUid, int32_t* pRightVg, int64_t* pRightUid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:934,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:942,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:935,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:934,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:943,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:945,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:945,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:949,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:950,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:950,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 960
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 960
    functionName: postProcessStbJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetSize
    - tSimpleHashClear
    - qError
    - tstrerror
    - tSimpleHashIterate
    - qDebug
    - tSimpleHashRemove
    linkageType: ''
    returnType: void
    signature: 'static void postProcessStbJoinTableHash(SOperatorInfo* pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1518,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1520,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1521,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1524,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1534,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1520,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1508,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1517,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1532,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1534,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1526,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1534,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1541,1
    - Dst: tsem_init
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1507,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1523,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1526,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1530,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1525,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1529,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - pOperator
    - pInfo
    - pHandle
    - pPhyciNode
    - pTaskInfo
    argTypes:
    - SOperatorInfo*
    - SDynQueryCtrlOperatorInfo*
    - SReadHandle*
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    constantsTouched: []
    func_position:
      end: 1543
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1543
    functionName: initVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - LIST_LENGTH
    - tsem_init
    - taosGetDefaultHashFunction
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosStrdup
    - taosArrayGetSize
    - nodesListGetNode
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initVtbScanInfo(SOperatorInfo* pOperator, SDynQueryCtrlOperatorInfo*
      pInfo, SReadHandle* pHandle, SDynQueryCtrlPhysiNode* pPhyciNode, SExecTaskInfo*
      pTaskInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1548,1
    - Dst: appendDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1568,1
    - Dst: setOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1573,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1554,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1560,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1579,1
    - Dst: initSeqStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1581,1
    - Dst: initVtbScanInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1588,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1589,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1593,1
    - Dst: destroyOperatorAndDownstreams
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1609,1
    - Dst: destroyDynQueryCtrlOperator
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1606,1
    - Dst: createOperatorFpSet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1598,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 6
    argNames:
    - pDownstream
    - numOfDownstream
    - pPhyciNode
    - pTaskInfo
    - pHandle
    - pOptrInfo
    argTypes:
    - SOperatorInfo**
    - int32_t
    - SDynQueryCtrlPhysiNode*
    - SExecTaskInfo*
    - SReadHandle*
    - SOperatorInfo**
    constantsTouched: []
    func_position:
      end: 1612
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1612
    functionName: createDynQueryCtrlOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - initVtbScanInfo
    - destroyOperatorAndDownstreams
    - taosMemoryCalloc
    - setOperatorInfo
    - appendDownstream
    - initSeqStbJoinTableHash
    - qError
    - TAOS_MEMCPY
    - createOperatorFpSet
    - QRY_PARAM_CHECK
    - destroyDynQueryCtrlOperator
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDynQueryCtrlOperatorInfo(SOperatorInfo** pDownstream,
      int32_t numOfDownstream, SDynQueryCtrlPhysiNode* pPhyciNode, SExecTaskInfo*
      pTaskInfo, SReadHandle* pHandle, SOperatorInfo** pOptrInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:43,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pListHead
    argTypes:
    - SStbJoinTableList*
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: destroyStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroyStbJoinTableList(SStbJoinTableList* pListHead) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - uid
    - pPrev
    - pPost
    - rightTable
    - batchFetch
    argTypes:
    - int64_t
    - SStbJoinPrevJoinCtx*
    - SStbJoinPostJoinCtx*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 155
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 155
    functionName: tableNeedCache
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool tableNeedCache(int64_t uid, SStbJoinPrevJoinCtx*
      pPrev, SStbJoinPostJoinCtx* pPost, bool rightTable, bool batchFetch) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:204,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:214,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:207,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:211,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:219,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:221,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:222,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:230,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:233,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 6
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - tbUid
    - needCache
    - pChild
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - int64_t
    - bool
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 250
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 250
    functionName: buildGroupCacheOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayPush
    - atomic_add_fetch_64
    - freeOperatorParam
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildGroupCacheOperatorParam(SOperatorParam** ppRes,
      int32_t downstreamIdx, int32_t vgId, int64_t tbUid, bool needCache, SOperatorParam*
      pChild) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:967,1
    - Dst: doBuildStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:975,1
    - Dst: postProcessStbJoinTableHash
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 981
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 981
    functionName: buildStbJoinTableList
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - getNextBlockFromDownstream
    - postProcessStbJoinTableHash
    - doBuildStbJoinTableHash
    linkageType: ''
    returnType: void
    signature: 'static void buildStbJoinTableList(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1091,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1092,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1097,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1095,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1094,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1098,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1099,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1100,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1110,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1112,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1113,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1116,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pInfo
    - ppRes
    - uid
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SOperatorParam**
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1120
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1120
    functionName: buildVtbScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVtbScanOperatorParam(SDynQueryCtrlOperatorInfo*
      pInfo, SOperatorParam** ppRes, uint64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1162,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1168,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1175,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1176,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1201,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1163,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1186,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1189,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1200,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1166,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1165,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1171,1
    - Dst: asyncSendMsgToServer
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1185,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1188,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1197,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1164,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1167,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1196,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1196,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1192,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1199,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - pOperator
    - pHandle
    - name
    - pTaskInfo
    - output
    argTypes:
    - SOperatorInfo*
    - SReadHandle*
    - SName*
    - SExecTaskInfo*
    - SUseDbOutput*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1203
    functionName: buildDbVgInfoMap
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - tsem_wait
    - qError
    - tstrerror
    - tFreeSUsedbRsp
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - tSerializeSUseDbReq
    - queryBuildUseDbOutput
    - asyncSendMsgToServer
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDbVgInfoMap(SOperatorInfo* pOperator, SReadHandle*
      pHandle, SName* name, SExecTaskInfo* pTaskInfo, SUseDbOutput* output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dynMakeVgArraySortBy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1261,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1267,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1266,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1264,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1262,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1272,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1273,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1275,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1276,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1276,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1282,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1279,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - dbInfo
    - dbFName
    - vgId
    - tbName
    argTypes:
    - SDBVgInfo*
    - char*
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1290
    functionName: getVgId
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - snprintf
    - taosArraySearch
    - qError
    - strlen
    - dynMakeVgArraySortBy
    - taosArrayGetSize
    - taosGetTbHashVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVgId(SDBVgInfo* dbInfo, char* dbFName, int32_t* vgId, char
      *tbName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:54,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:61,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:64,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:65,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:60,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:69,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:72,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:75,1
    - Dst: destroyStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:79,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pStbJoin
    argTypes:
    - SStbJoinDynCtrlInfo*
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: destroyStbJoinDynCtrlInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashSetFreeFp
    - qDebug
    - tSimpleHashCleanup
    - destroyStbJoinTableList
    linkageType: ''
    returnType: void
    signature: 'static void destroyStbJoinDynCtrlInfo(SStbJoinDynCtrlInfo* pStbJoin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tableNeedCache
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:190,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:194,1
    - Dst: tableNeedCache
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:191,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - pStbJoin
    argTypes:
    - SStbJoinDynCtrlInfo*
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: updatePostJoinCurrTableInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tableNeedCache
    - QRY_ERR_RET
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updatePostJoinCurrTableInfo(SStbJoinDynCtrlInfo* pStbJoin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:255,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:261,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - vgId
    - tbUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 278
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: buildGroupCacheNotifyOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildGroupCacheNotifyOperatorParam(SOperatorParam**
      ppRes, int32_t downstreamIdx, int32_t vgId, int64_t tbUid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: freeStbJoinTableList
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:992,1
    - Dst: setOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1007,1
    - Dst: handleSeqJoinCurrRetrieveEnd
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1002,1
    - Dst: seqJoinLaunchNewRetrieveImpl
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:997,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1002,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1010
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1010
    functionName: seqJoinLaunchNewRetrieve
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - freeStbJoinTableList
    - seqJoinLaunchNewRetrieveImpl
    - handleSeqJoinCurrRetrieveEnd
    - setOperatorCompleted
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t seqJoinLaunchNewRetrieve(SOperatorInfo* pOperator,
      SSDataBlock** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcCvtErrCode
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1133,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1138,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1139,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1144,1
    - Dst: tsem_post
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1146,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - param
    - pMsg
    - code
    argTypes:
    - void*
    - SDataBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1153
    functionName: dynProcessUseDbRsp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryMalloc
    - rpcCvtErrCode
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - tsem_post
    - tDeserializeSUseDbRsp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dynProcessUseDbRsp(void* param, SDataBuf* pMsg, int32_t code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1215
    functionName: dynVgInfoComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int dynVgInfoComp(const void* lp, const void* rp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pOperator
    - colId
    argTypes:
    - SOperatorInfo*
    - col_id_t
    constantsTouched: []
    func_position:
      end: 1305
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1305
    functionName: colNeedScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool colNeedScan(SOperatorInfo* pOperator, col_id_t colId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:374,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:378,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:379,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:389,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:375,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:390,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:392,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:393,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:394,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:396,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:397,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:417,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:412,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:408,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:415,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:407,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - ppRes
    - downstreamIdx
    - pMap
    argTypes:
    - SOperatorParam**
    - int32_t
    - SOrgTbInfo*
    constantsTouched: []
    func_position:
      end: 421
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 421
    functionName: buildExchangeOperatorParamForVScan
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayDestroy
    - tstrncpy
    - qError
    - taosArrayDup
    - QUERY_CHECK_NULL
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildExchangeOperatorParamForVScan(SOperatorParam**
      ppRes, int32_t downstreamIdx, SOrgTbInfo* pMap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:536,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:540,1
    - Dst: buildTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:544,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:545,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ppRes
    - downstreamIdx
    - pVgId
    - pUid
    argTypes:
    - SOperatorParam**
    - int32_t
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 551
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 551
    functionName: buildSingleTableScanOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - buildTableScanOperatorParam
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSingleTableScanOperatorParam(SOperatorParam**
      ppRes, int32_t downstreamIdx, int32_t* pVgId, int64_t* pUid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:738,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:748,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:745,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:740,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:744,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:749,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:755,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - pHash
    - pKey
    - keySize
    - pVal
    - valSize
    argTypes:
    - SSHashObj*
    - void*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 760
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 760
    functionName: addToJoinVgroupHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tSimpleHashGet
    - taosArrayPush
    - tSimpleHashPut
    - taosArrayInit
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t addToJoinVgroupHash(SSHashObj* pHash,
      void* pKey, int32_t keySize, void* pVal, int32_t valSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1223,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1231,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1224,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1232,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1229,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1236,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:1239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - dbInfo
    - sort_func
    argTypes:
    - SDBVgInfo*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 1243
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1243
    functionName: dynMakeVgArraySortBy
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - taosArraySort
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dynMakeVgArraySortBy(SDBVgInfo* dbInfo, __compar_fn_t sort_func) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:425,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:439,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:433,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:430,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:437,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:444,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:446,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:452,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:455,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - ppRes
    - initParam
    - ppChild0
    - ppChild1
    argTypes:
    - SOperatorParam**
    - bool
    - SOperatorParam**
    - SOperatorParam**
    constantsTouched: []
    func_position:
      end: 467
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 467
    functionName: buildMergeJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosMemoryMalloc
    - freeOperatorParam
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildMergeJoinOperatorParam(SOperatorParam** ppRes,
      bool initParam, SOperatorParam** ppChild0, SOperatorParam** ppChild1) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:568,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:574,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:574,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:586,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:604,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:565,1
    - Dst: buildBatchTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:572,1
    - Dst: buildBatchExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:572,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:577,1
    - Dst: buildSingleTableScanOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:584,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:610,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:607,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:613,1
    - Dst: updatePostJoinCurrTableInfo
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:568,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:578,1
    - Dst: buildMergeJoinOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:600,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:586,1
    - Dst: freeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:616,1
    - Dst: buildExchangeOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:584,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:596,1
    - Dst: buildGroupCacheOperatorParam
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:592,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 4
    argNames:
    - pInfo
    - pPrev
    - pPost
    - ppParam
    argTypes:
    - SDynQueryCtrlOperatorInfo*
    - SStbJoinPrevJoinCtx*
    - SStbJoinPostJoinCtx*
    - SOperatorParam**
    constantsTouched: []
    func_position:
      end: 622
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 622
    functionName: buildSeqStbJoinOperatorParam
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - updatePostJoinCurrTableInfo
    - buildBatchTableScanOperatorParam
    - buildGroupCacheOperatorParam
    - tSimpleHashCleanup
    - buildExchangeOperatorParam
    - buildSingleTableScanOperatorParam
    - QRY_ERR_RET
    - qDebug
    - buildMergeJoinOperatorParam
    - buildBatchExchangeOperatorParam
    - freeOperatorParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSeqStbJoinOperatorParam(SDynQueryCtrlOperatorInfo*
      pInfo, SStbJoinPrevJoinCtx* pPrev, SStbJoinPostJoinCtx* pPost, SOperatorParam**
      ppParam) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:764,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:767,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:786,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:771,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:788,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:788,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c:789,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - pHash
    - pOnceHash
    - pKey
    - keySize
    argTypes:
    - SSHashObj*
    - SSHashObj*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 797
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 797
    functionName: addToJoinTableHash
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    - qError
    - tstrerror
    - QRY_ERR_RET
    - tSimpleHashPut
    - tSimpleHashRemove
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t addToJoinTableHash(SSHashObj* pHash, SSHashObj*
      pOnceHash, void* pKey, int32_t keySize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1256
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1256
    functionName: dynHashValueComp
    functionSourceFile: /src/tdengine/source/libs/executor/src/dynqueryctrloperator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dynHashValueComp(void const* lp, void const* rp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:155,1
    - Dst: hasRemainResults
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:156,1
    - Dst: getNumOfTotalRes
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:160,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:162,1
    - Dst: getResultInfoFromState
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:169,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:170,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:171,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:172,1
    - Dst: getResultInfoFromResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:173,1
    - Dst: setTimeSliceFillRule
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:190,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:195,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:194,1
    - Dst: doStreamTimeSliceFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:202,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 5
    argNames:
    - pOperator
    - pFillSup
    - pFillInfo
    - pBlock
    - pGroupResInfo
    argTypes:
    - SOperatorInfo*
    - SStreamFillSupporter*
    - SStreamFillInfo*
    - SSDataBlock*
    - SGroupResInfo*
    constantsTouched: []
    func_position:
      end: 204
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 204
    functionName: doBuildNonblockFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - blockDataCleanup
    - taosArrayGet
    - getResultInfoFromResult
    - qTrace
    - isRecalculateOperator
    - setTimeSliceFillRule
    - hasRemainResults
    - getResultInfoFromState
    - getNumOfTotalRes
    - qError
    - taosArrayClearP
    - tstrerror
    - doStreamTimeSliceFillRange
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void doBuildNonblockFillResult(SOperatorInfo* pOperator, SStreamFillSupporter*
      pFillSup, SStreamFillInfo* pFillInfo, SSDataBlock* pBlock, SGroupResInfo* pGroupResInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:67,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:80,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:73,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:91,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:92,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:96,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:104,1
    - Dst: adustEndTsKey
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:109,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:115,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:115,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - pStateStore
    - pState
    - pFillSup
    - pKey
    argTypes:
    - SStateStore*
    - SStreamState*
    - SStreamFillSupporter*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 118
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 118
    functionName: getResultInfoFromState
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - adustPrevTsKey
    - adustEndTsKey
    - qError
    - tstrerror
    - qDebug
    - resetTimeSlicePrevAndNextWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getResultInfoFromState(SStateStore* pStateStore, SStreamState*
      pState, SStreamFillSupporter* pFillSup, SWinKey* pKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:239,1
    - Dst: getResultInfoFromResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:253,1
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:252,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:241,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:265,1
    - Dst: getResultInfoFromResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:267,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:268,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:269,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:270,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:284,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:294,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:276,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:294,1
    - Dst: buildDeleteResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:287,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:285,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:288,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:294,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 297
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 297
    functionName: doDeleteNonblockFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - taosArrayGet
    - getResultInfoFromResult
    - hasNextWindow
    - buildDeleteResult
    - qError
    - tstrerror
    - taosArrayClearP
    - taosMemFreeClear
    - taosArrayPush
    - QUERY_CHECK_NULL
    - resetTimeSlicePrevAndNextWindow
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDeleteNonblockFillResult(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initOffsetInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:324,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:325,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:328,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:329,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:332,1
    - Dst: getSliceResultCell
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:339,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pFillSup
    - pRes
    argTypes:
    - SStreamFillSupporter*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 349
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 349
    functionName: initFillSupRowInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - initOffsetInfo
    - taosMemoryCalloc
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - getSliceResultCell
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initFillSupRowInfo(SStreamFillSupporter* pFillSup, SSDataBlock*
      pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetTimeSlicePrevAndNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:490,1
    - Dst: destroyStreamFillOperatorInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 492
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 492
    functionName: destroyStreamNonblockFillOperatorInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - resetTimeSlicePrevAndNextWindow
    - destroyStreamFillOperatorInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamNonblockFillOperatorInfo(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:46,1
    - Dst: keepBlockRowInStateBuf
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:49,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:50,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:53,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:52,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:58,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:58,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:58,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 1
    argNames:
    - pOperator
    argTypes:
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 61
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 61
    functionName: doStreamNonblockFillImpl
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - keepBlockRowInStateBuf
    - QUERY_CHECK_NULL
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamNonblockFillImpl(SOperatorInfo* pOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doBuildNonblockFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:213,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:215,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:224,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 227
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 227
    functionName: buildNonblockFillResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - getStreamOpName
    - doBuildNonblockFillResult
    - printDataBlock
    - qError
    - tstrerror
    - GET_TASKID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildNonblockFillResult(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamClientGetFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:123,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:126,1
    - Dst: adustPrevTsKey
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:131,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:124,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:127,1
    - Dst: hasNextWindow
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:135,1
    - Dst: adustEndTsKey
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:137,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:145,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - pParam
    - pFillSup
    - pKey
    argTypes:
    - SStreamRecParam*
    - SStreamFillSupporter*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 148
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 148
    functionName: getResultInfoFromResult
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - adustPrevTsKey
    - adustEndTsKey
    - hasNextWindow
    - qError
    - tstrerror
    - streamClientGetFillRange
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getResultInfoFromResult(SStreamRecParam* pParam, SStreamFillSupporter*
      pFillSup, SWinKey* pKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:300,1
    - Dst: setDeleteFillValueInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:311,1
    - Dst: doStreamFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:314,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pFillInfo
    - pFillSup
    - pBlock
    argTypes:
    - SStreamFillInfo*
    - SStreamFillSupporter*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: doFillDeleteRange
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - setDeleteFillValueInfo
    - taosArrayGetSize
    - taosArrayGet
    - doStreamFillRange
    linkageType: ''
    returnType: void
    signature: 'static void doFillDeleteRange(SStreamFillInfo* pFillInfo, SStreamFillSupporter*
      pFillSup, SSDataBlock* pBlock) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:366,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:364,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:369,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:380,1
    - Dst: buildNonblockFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:387,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:411,1
    - Dst: setStreamOperatorState
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:412,1
    - Dst: doDeleteNonblockFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:436,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:452,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:465,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:477,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:369,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:369,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:377,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:388,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:380,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:408,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:408,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:428,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:482,1
    - Dst: buildNonblockFillResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:471,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:468,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:469,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:472,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:396,1
    - Dst: getNextBlockFromDownstream
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:405,1
    - Dst: printSpecDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:411,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:411,1
    - Dst: doApplyStreamScalarCalculation
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:418,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:419,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:429,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:429,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:434,1
    - Dst: getStreamOpName
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:457,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:482,1
    - Dst: removeDuplicateResult
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:460,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:466,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:482,1
    - Dst: resetStreamFillInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:476,1
    - Dst: initMultiResInfoFromArrayList
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:462,1
    - Dst: isRecalculateOperator
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:363,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:365,1
    - Dst: doFillDeleteRange
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:367,1
    - Dst: hasRemainCalc
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:375,1
    - Dst: setStreamOperatorCompleted
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:397,1
    - Dst: doStreamTimeSliceFillRange
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:378,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:408,1
    - Dst: printDataBlock
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:440,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:440,1
    - Dst: GET_TASKID
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:452,1
    - Dst: doStreamNonblockFillImpl
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:456,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 113
    argCount: 2
    argNames:
    - pOperator
    - ppRes
    argTypes:
    - SOperatorInfo*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 486
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 486
    functionName: doStreamNonblockFillNext
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - doFillDeleteRange
    - isRecalculateOperator
    - removeDuplicateResult
    - getNextBlockFromDownstream
    - GET_TASKID
    - doDeleteNonblockFillResult
    - taosArrayInit
    - printDataBlock
    - hasRemainCalc
    - setStreamOperatorState
    - blockDataEnsureCapacity
    - initMultiResInfoFromArrayList
    - qError
    - printSpecDataBlock
    - QUERY_CHECK_NULL
    - doApplyStreamScalarCalculation
    - getStreamOpName
    - blockDataCleanup
    - resetStreamFillInfo
    - doStreamNonblockFillImpl
    - tstrerror
    - doStreamTimeSliceFillRange
    - setStreamOperatorCompleted
    - qDebug
    - buildNonblockFillResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStreamNonblockFillNext(SOperatorInfo* pOperator, SSDataBlock**
      ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:505,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:513,1
    - Dst: qError
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:513,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:506,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pExprSup
    - pColMap
    argTypes:
    - SExprSupp*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 516
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 516
    functionName: doInitStreamColumnMapInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tstrerror
    - qError
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doInitStreamColumnMapInfo(SExprSupp* pExprSup, SSHashObj*
      pColMap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: doInitStreamColumnMapInfo
      Src: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pExprSup
    - pOperator
    argTypes:
    - SExprSupp*
    - SOperatorInfo*
    constantsTouched: []
    func_position:
      end: 527
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 527
    functionName: initStreamFillOperatorColumnMapInfo
    functionSourceFile: /src/tdengine/source/libs/executor/src/streamfillnonblockoperator.c
    functionUses: []
    functionsReached:
    - doInitStreamColumnMapInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initStreamFillOperatorColumnMapInfo(SExprSupp* pExprSup, SOperatorInfo*
      pOperator) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SDispatchMsgInfo*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: clearDispatchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clearDispatchInfo(SDispatchMsgInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:240,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:243,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pReq
    - numOfVgroups
    argTypes:
    - SStreamDispatchReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: destroyDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyP
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroyDispatchMsg(SStreamDispatchReq* pReq, int32_t numOfVgroups) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:269,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:288,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:277,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:273,1
    - Dst: tInitStreamDispatchReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:293,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:295,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:305,1
    - Dst: tInitStreamDispatchReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:310,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:318,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:312,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:323,1
    - Dst: tInitStreamDispatchReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:321,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 2
    argNames:
    - pTask
    - pData
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 330
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 330
    functionName: createDispatchDataReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - destroyDispatchMsg
    - tInitStreamDispatchReq
    - taosArrayGetSize
    - stError
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: SStreamDispatchReq*
    signature: 'static SStreamDispatchReq * createDispatchDataReq(SStreamTask* pTask,
      const SStreamDataBlock* pData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setResendInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:603,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:616,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:610,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:607,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:619,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:625,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:628,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:634,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:637,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 4
    argNames:
    - pTask
    - pEntry
    - now
    - pMsg
    argTypes:
    - SStreamTask*
    - SDispatchEntry*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 642
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 642
    functionName: doSendFailedDispatch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - setResendInfo
    - tstrerror
    - stDebug
    - doSendDispatchMsg
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doSendFailedDispatch(SStreamTask* pTask, SDispatchEntry*
      pEntry, int64_t now, const char* pMsg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:669,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:664,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:668,1
    - Dst: isDispatchRspTimeout
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:679,1
    - Dst: doSendFailedDispatch
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:680,1
    - Dst: doSendFailedDispatch
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:687,1
    - Dst: doSendFailedDispatch
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:694,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:706,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:719,1
    - Dst: setResendInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:709,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:715,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:713,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:712,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:710,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - pTask
    - now
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 721
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 721
    functionName: sendFailedDispatchData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - setResendInfo
    - streamMutexLock
    - tstrerror
    - isDispatchRspTimeout
    - stDebug
    - doSendDispatchMsg
    - taosArrayGetSize
    - doSendFailedDispatch
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendFailedDispatchData(SStreamTask* pTask, int64_t
      now) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:966,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1000,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1016,1
    - Dst: destroyStreamDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1028,1
    - Dst: streamTaskInitTriggerDispatchInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1044,1
    - Dst: streamStartMonitorDispatchData
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1066,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1069,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:985,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1008,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1014,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1007,1
    - Dst: doBuildDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1018,1
    - Dst: sendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1052,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1056,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1057,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1062,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:968,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:966,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:981,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:982,1
    - Dst: streamQueueNextItem
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:997,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:999,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:993,1
    - Dst: streamQueueGetNumOfUnAccessedItems
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1034,1
    - Dst: streamTaskSetCheckpointFailed
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1039,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1055,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1060,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:964,1
    - Dst: streamQueueGetNumOfUnAccessedItems
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:967,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:973,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:975,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:991,1
    - Dst: initDispatchInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1015,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1023,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1035,1
    - Dst: clearBufferedDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1040,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1065,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1072,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1064,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1077
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1077
    functionName: streamDispatchStreamBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - destroyStreamDataBlock
    - streamQueueGetNumOfUnAccessedItems
    - SIZE_IN_MiB
    - stError
    - streamTaskSetCheckpointFailed
    - streamMutexUnlock
    - streamQueueGetNumOfItems
    - doBuildDispatchMsg
    - atomic_val_compare_exchange_8
    - sendDispatchMsg
    - streamTaskShouldStop
    - taosArrayGet
    - atomic_store_8
    - clearBufferedDispatchMsg
    - stDebug
    - taosQueueMemorySize
    - streamQueueNextItem
    - streamStartMonitorDispatchData
    - stFatal
    - tstrerror
    - streamTaskInitTriggerDispatchInfo
    - initDispatchInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDispatchStreamBlock(SStreamTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1186,1
    - Dst: initCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1200,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1185,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1203,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1205,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1208,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1211,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 4
    argNames:
    - pTask
    - pNotRspList
    - checkpointId
    - pReadyList
    argTypes:
    - SStreamTask*
    - SArray*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1216
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1216
    functionName: doSendChkptReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - initCheckpointReadyMsg
    - taosArrayGet
    - tmsgSendReq
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'static void doSendChkptReadyMsg(SStreamTask* pTask, SArray* pNotRspList,
      int64_t checkpointId, SArray* pReadyList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1583,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1588,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1583,1
    - Dst: streamTaskBuildCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1581,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1592,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1594,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1599,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1602,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1609,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1607,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1611,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1615,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - pReq
    - pRpcInfo
    - pTask
    argTypes:
    - SStreamCheckpointSourceReq*
    - SRpcHandleInfo*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1617
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1617
    functionName: streamAddCheckpointSourceRspMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamMutexLock
    - tstrerror
    - taosArrayPush
    - stDebug
    - streamTaskBuildCheckpointSourceRsp
    - taosArrayGetSize
    - stError
    - stWarn
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamAddCheckpointSourceRspMsg(SStreamCheckpointSourceReq*
      pReq, SRpcHandleInfo* pRpcInfo, SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pInfo
    - recvTs
    argTypes:
    - SDispatchMsgInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: updateDispatchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void updateDispatchInfo(SDispatchMsgInfo* pInfo, int64_t recvTs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:249,1
    - Dst: clearDispatchInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:260,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:262,1
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:252,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:252,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 264
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 264
    functionName: clearBufferedDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - clearDispatchInfo
    - taosArrayClear
    - streamMutexLock
    - destroyDispatchMsg
    - streamMutexUnlock
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: void
    signature: 'void clearBufferedDispatchMsg(SStreamTask* pTask) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: createDispatchDataReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:355,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:346,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:371,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:385,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:397,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:450,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:383,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:405,1
    - Dst: streamSearchAndAddBlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:417,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:432,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:448,1
    - Dst: streamMapAndAddBlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:462,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:335,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:365,1
    - Dst: addDispatchEntry
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:376,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:403,1
    - Dst: streamAddBlockIntoDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:395,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:419,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:430,1
    - Dst: addDispatchEntry
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:453,1
    - Dst: destroyDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:464,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:477,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:334,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:338,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:363,1
    - Dst: streamAddBlockIntoDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:369,1
    - Dst: addDispatchEntry
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:408,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:380,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:427,1
    - Dst: streamAddBlockIntoDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:440,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:476,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 114
    argCount: 2
    argNames:
    - pTask
    - pData
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 482
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 482
    functionName: doBuildDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamMapAndAddBlock
    - streamAddBlockIntoDispatchMsg
    - addDispatchEntry
    - createDispatchDataReq
    - stDebug
    - destroyDispatchMsg
    - taosArrayGetSize
    - stError
    - streamSearchAndAddBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildDispatchMsg(SStreamTask* pTask, const SStreamDataBlock*
      pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:645,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:647,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - taskId
    - taskRefId
    - param
    argTypes:
    - int32_t
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: cleanupInMonitor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - stError
    - streamTaskFreeRefId
    linkageType: ''
    returnType: void
    signature: 'static void cleanupInMonitor(int32_t taskId, int64_t taskRefId, void*
      param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:725,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:736,1
    - Dst: cleanupInMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:751,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:758,1
    - Dst: cleanupInMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:774,1
    - Dst: cleanupInMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:760,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:766,1
    - Dst: setNotInDispatchMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:790,1
    - Dst: cleanupInMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:795,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:734,1
    - Dst: setNotInDispatchMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:750,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:780,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:771,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:764,1
    - Dst: cleanupInMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:782,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:789,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:746,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:749,1
    - Dst: sendFailedDispatchData
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:786,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:788,1
    - Dst: streamStartMonitorDispatchData
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:792,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:737,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:748,1
    - Dst: getFailedDispatchInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:778,1
    - Dst: setNotInDispatchMonitor
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:759,1
    - Dst: streamStartMonitorDispatchData
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:781,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 796
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 796
    functionName: doMonitorDispatchData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskShouldStop
    - getFailedDispatchInfo
    - streamMutexLock
    - setNotInDispatchMonitor
    - streamStartMonitorDispatchData
    - streamTaskFreeRefId
    - streamMutexUnlock
    - cleanupInMonitor
    - stDebug
    - stError
    - sendFailedDispatchData
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'static void doMonitorDispatchData(void* param, void* tmrId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1094,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1099,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1108,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1104,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1105,1
    - Dst: tEncodeStreamCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1109,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1110,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1111,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1114,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 6
    argNames:
    - pTask
    - upstreamNodeId
    - upstreamTaskId
    - childId
    - checkpointId
    - pMsg
    argTypes:
    - SStreamTask*
    - int32_t
    - int32_t
    - int32_t
    - int64_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1118
    functionName: initCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tEncodeStreamCheckpointReadyMsg
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCheckpointReadyMsg(SStreamTask* pTask, int32_t upstreamNodeId,
      int32_t upstreamTaskId, int32_t childId, int64_t checkpointId, SRpcMsg* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1235,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1235,1
    - Dst: doTaskChkptStatusCheck
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1228,1
    - Dst: doFindNotConfirmUpstream
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1233,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1239,1
    - Dst: streamClearChkptReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1241,1
    - Dst: doSendChkptReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1243,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - pTask
    - param
    - pNotRspList
    argTypes:
    - SStreamTask*
    - void*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1247
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1247
    functionName: chkptReadyMsgSendHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamClearChkptReadyMsg
    - doTaskChkptStatusCheck
    - doFindNotConfirmUpstream
    - tstrerror
    - doSendChkptReadyMsg
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t chkptReadyMsgSendHelper(SStreamTask* pTask, void* param,
      SArray** pNotRspList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - pReadyInfo
    - upstreamNodeId
    - upstreamTaskId
    - childId
    - pEpset
    - checkpointId
    argTypes:
    - STaskCheckpointReadyInfo*
    - int32_t
    - int32_t
    - int32_t
    - SEpSet*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1627
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1627
    functionName: initCheckpointReadyInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: 'void initCheckpointReadyInfo(STaskCheckpointReadyInfo* pReadyInfo,
      int32_t upstreamNodeId, int32_t upstreamTaskId, int32_t childId, SEpSet* pEpset,
      int64_t checkpointId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1345,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1349,1
    - Dst: initCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1362,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1385,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1401,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1350,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1365,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1367,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1377,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1373,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1356,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1390,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1383,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1348,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1351,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1370,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1397,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1388,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1403
    functionName: streamTaskSendCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - initCheckpointReadyMsg
    - taosArrayGet
    - tmsgSendReq
    - streamTmrStart
    - streamMutexLock
    - streamTaskAllocRefId
    - atomic_val_compare_exchange_8
    - stDebug
    - taosArrayGetSize
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckpointReadyMsg(SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1659,1
    - Dst: doAddChkptReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1672,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1666,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1671,1
    - Dst: initCheckpointReadyInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1664,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pTask
    - upstreamTaskId
    - index
    - checkpointId
    argTypes:
    - SStreamTask*
    - int32_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1675
      start: 1650
    functionDepth: 0
    functionLinenumber: 1650
    functionLinenumberEnd: 1675
    functionName: streamAddCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - doAddChkptReadyMsg
    - streamMutexLock
    - initCheckpointReadyInfo
    - streamTaskGetUpstreamTaskEpInfo
    - stDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamAddCheckpointReadyMsg(SStreamTask* pTask, int32_t upstreamTaskId,
      int32_t index, int64_t checkpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - pMsg
    - msgType
    - pCont
    - contLen
    argTypes:
    - SRpcMsg*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: initRpcMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initRpcMsg(SRpcMsg* pMsg, int32_t msgType, void* pCont, int32_t
      contLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:99,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:101,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:118,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:120,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:139,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:102,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:112,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:107,1
    - Dst: tEncodeStreamRetrieveReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:121,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:133,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:126,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:131,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:125,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:125,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:137,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:135,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - pTask
    - req
    argTypes:
    - SStreamTask*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 145
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 145
    functionName: streamTaskBroadcastRetrieveReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - htonl
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tEncodeStreamRetrieveReq
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - taosArrayGetSize
    - stError
    - rpcMallocCont
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskBroadcastRetrieveReq(SStreamTask* pTask, SStreamRetrieveReq*
      req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:801,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:803,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTask
    - waitDuration
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: streamStartMonitorDispatchData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamTaskAllocRefId
    - streamTmrStart
    linkageType: ''
    returnType: void
    signature: 'void streamStartMonitorDispatchData(SStreamTask* pTask, int64_t waitDuration) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1409,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1413,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1411,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1410,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1414,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1415,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1421,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1427
    functionName: streamTaskSendCheckpointSourceRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - tmsgSendRsp
    - taosArrayGet
    - streamMutexLock
    - stDebug
    - taosArrayGetSize
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckpointSourceRsp(SStreamTask* pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1743,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1759,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1750,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1768,1
    - Dst: isDispatchRspTimeout
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1769,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 7
    argNames:
    - pMsgInfo
    - vgId
    - code
    - now
    - pNotRsp
    - pFailed
    - id
    argTypes:
    - SDispatchMsgInfo*
    - int32_t
    - int32_t
    - int64_t
    - int32_t*
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1778
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1778
    functionName: setDispatchRspInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - isDispatchRspTimeout
    - taosArrayGet
    - stDebug
    linkageType: ''
    returnType: bool
    signature: 'static bool setDispatchRspInfo(SDispatchMsgInfo* pMsgInfo, int32_t
      vgId, int32_t code, int64_t now, int32_t* pNotRsp, int32_t* pFailed, const char*
      id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1953,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1967,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1964,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1966,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1958,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1969,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1970,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1971,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1972,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1973,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pTask
    - pReq
    - status
    - pBuf
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 1976
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1976
    functionName: buildDispatchRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - POINTER_SHIFT
    - rpcMallocCont
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDispatchRsp(const SStreamTask* pTask, const SStreamDispatchReq*
      pReq, int32_t status, void** pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - msgId
    argTypes:
    - SDispatchMsgInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: initDispatchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: 'static void initDispatchInfo(SDispatchMsgInfo* pInfo, int32_t msgId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:150,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:153,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:163,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:156,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:164,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:165,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:166,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:168,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:170,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:173,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:176,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - pTask
    - pBlock
    - req
    argTypes:
    - SStreamTask*
    - SSDataBlock*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 186
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 186
    functionName: buildStreamRetrieveReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - blockEncode
    - blockGetEncodeSize
    - SET_PAYLOAD_LEN
    - taosArrayGetSize
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildStreamRetrieveReq(SStreamTask* pTask, const SSDataBlock*
      pBlock, SStreamRetrieveReq* req) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:810,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:822,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:827,1
    - Dst: streamAddBlockIntoDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:826,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:816,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:832,1
    - Dst: addDispatchEntry
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:834,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 8
    argNames:
    - pTask
    - pReqs
    - pDataBlock
    - vgInfo
    - hashValue
    - now
    - pFound
    - groupId
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - SSDataBlock*
    - SArray*
    - uint32_t
    - int64_t
    - bool*
    - int64_t
    constantsTouched: []
    func_position:
      end: 845
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 845
    functionName: doAddDispatchBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamAddBlockIntoDispatchMsg
    - addDispatchEntry
    - tstrerror
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddDispatchBlock(SStreamTask* pTask, SStreamDispatchReq*
      pReqs, SSDataBlock* pDataBlock, SArray* vgInfo, uint32_t hashValue, int64_t
      now, bool* pFound, int64_t groupId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1455,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1430,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1443,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1444,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1445,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1448,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1473,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1459,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1463,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1451,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1432,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1446,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1475,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1438,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1469,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1453,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1467,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 3
    argNames:
    - pBlock
    - pReq
    - withUid
    argTypes:
    - SSDataBlock*
    - SStreamDispatchReq*
    - bool
    constantsTouched: []
    func_position:
      end: 1481
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1481
    functionName: streamAddBlockIntoDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - blockEncode
    - blockGetEncodeSize
    - taosArrayPush
    - SET_PAYLOAD_LEN
    - memcpy
    - taosArrayGetSize
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamAddBlockIntoDispatchMsg(const SSDataBlock* pBlock, SStreamDispatchReq*
      pReq, bool withUid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pEntry
    - now
    argTypes:
    - SDispatchEntry*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1782
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1782
    functionName: isDispatchRspTimeout
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isDispatchRspTimeout(SDispatchEntry* pEntry, int64_t now) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createStreamBlockFromDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1983,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1994,1
    - Dst: streamTaskInputFail
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1985,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2000
    functionName: streamTaskAppendInputBlocks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamTaskInputFail
    - createStreamBlockFromDispatchMsg
    - streamTaskPutDataIntoInputQ
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamTaskAppendInputBlocks(SStreamTask* pTask, const
      SStreamDispatchReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:72,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:76,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:73,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - pReq
    - pTask
    - vgId
    - numOfBlocks
    - dstTaskId
    - type
    argTypes:
    - SStreamDispatchReq*
    - SStreamTask*
    - int32_t
    - int32_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 81
    functionName: tInitStreamDispatchReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tInitStreamDispatchReq(SStreamDispatchReq* pReq, const
      SStreamTask* pTask, int32_t vgId, int32_t numOfBlocks, int64_t dstTaskId, int32_t
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildStreamRetrieveReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:190,1
    - Dst: streamTaskBroadcastRetrieveReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:195,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pTask
    - pBlock
    argTypes:
    - SStreamTask*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: streamBroadcastToUpTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - buildStreamRetrieveReq
    - streamTaskBroadcastRetrieveReq
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBroadcastToUpTasks(SStreamTask* pTask, const SSDataBlock*
      pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1127,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1140,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1141,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1139,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - pTask
    - param
    - num
    argTypes:
    - SStreamTask*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1146
    functionName: doTaskChkptStatusCheck
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTaskChkptStatusCheck(SStreamTask* pTask, void* param,
      int32_t num) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1786,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1798,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1789,1
    - Dst: isDispatchRspTimeout
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1794,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pMsgInfo
    - now
    argTypes:
    - SDispatchMsgInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1800
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1800
    functionName: getFailedDispatchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamMutexLock
    - isDispatchRspTimeout
    - taosArrayGetSize
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getFailedDispatchInfo(SDispatchMsgInfo* pMsgInfo, int64_t
      now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:84,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:93,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:87,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:85,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pReq
    - pRsp
    argTypes:
    - SStreamRetrieveReq*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: streamTaskSendRetrieveRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - POINTER_SHIFT
    - tmsgSendRsp
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSendRetrieveRsp(SStreamRetrieveReq* pReq, SRpcMsg*
      pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1156,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1168,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1167,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1171,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 6
    argNames:
    - ppNotRspList
    - pList
    - num
    - vgId
    - level
    - id
    argTypes:
    - SArray**
    - SArray*
    - int32_t
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1178
    functionName: doFindNotConfirmUpstream
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayPush
    - stDebug
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFindNotConfirmUpstream(SArray** ppNotRspList, SArray*
      pList, int32_t num, int32_t vgId, int32_t level, const char* id) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1819,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1872,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1907,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1909,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1912,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1932,1
    - Dst: handleDispatchSuccessRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1945,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1942,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1818,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1842,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1852,1
    - Dst: setDispatchRspInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1865,1
    - Dst: setDispatchRspInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1854,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1885,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1890,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1900,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1904,1
    - Dst: streamTaskAddIntoNodeUpdateList
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1921,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1806,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1833,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1857,1
    - Dst: setDispatchRspInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1858,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1856,1
    - Dst: streamTaskSetTriggerDispatchConfirmed
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1888,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1916,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1929,1
    - Dst: clearBufferedDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1939,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1825,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1827,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1832,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1866,1
    - Dst: setDispatchRspInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1878,1
    - Dst: streamTransferStatePrepare
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1935,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 3
    argNames:
    - pTask
    - pRsp
    - code
    argTypes:
    - SStreamTask*
    - SStreamDispatchRsp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1950
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1950
    functionName: streamProcessDispatchRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamTaskSetTriggerDispatchConfirmed
    - streamMutexLock
    - atomic_store_8
    - setDispatchRspInfo
    - stTrace
    - clearBufferedDispatchMsg
    - tstrerror
    - stFatal
    - streamTransferStatePrepare
    - streamTaskAddIntoNodeUpdateList
    - stDebug
    - stError
    - handleDispatchSuccessRsp
    - stWarn
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessDispatchRsp(SStreamTask* pTask, SStreamDispatchRsp*
      pRsp, int32_t code) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2021,1
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2012,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2044,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2071,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2080,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2107,1
    - Dst: streamTaskCloseUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2038,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2040,1
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2054,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2075,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2062,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2104,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2017,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2032,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2042,1
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2053,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2099,1
    - Dst: buildDispatchRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2097,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2099,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2008,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2026,1
    - Dst: streamTaskAppendInputBlocks
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:2069,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 4
    argNames:
    - pTask
    - pReq
    - pRsp
    - msgcb
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - SRpcMsg*
    - SMsgCb*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2108
    functionName: streamProcessDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamTaskAppendInputBlocks
    - tmsgSendRsp
    - streamTaskCloseUpstreamInput
    - streamTrySchedExec
    - tmsgGetQueueSize
    - tstrerror
    - streamTaskGetUpstreamTaskEpInfo
    - stDebug
    - stError
    - buildDispatchRsp
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessDispatchMsg(SStreamTask* pTask, SStreamDispatchReq*
      pReq, SRpcMsg* pRsp, const SMsgCb* msgcb) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:494,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:497,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:500,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:503,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:509,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:515,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:518,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:530,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:533,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:534,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:563,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:542,1
    - Dst: doSendDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:551,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:548,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:536,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 2
    argNames:
    - pTask
    - pDispatchMsg
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    constantsTouched: []
    func_position:
      end: 567
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 567
    functionName: sendDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - doSendDispatchMsg
    - taosArrayGetSize
    - taosArrayGet
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendDispatchMsg(SStreamTask* pTask, SStreamDispatchReq*
      pDispatchMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pEntry
    - now
    argTypes:
    - SDispatchEntry*
    - int64_t
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: setResendInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setResendInfo(SDispatchEntry* pEntry, int64_t now) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:857,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:869,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:869,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:870,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:876,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:891,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:892,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:910,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:923,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:864,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:880,1
    - Dst: buildCtbNameByGroupIdImpl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:888,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:894,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:899,1
    - Dst: doAddDispatchBlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:915,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:916,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:904,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:914,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:859,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:857,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:859,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:868,1
    - Dst: isAutoTableName
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:875,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:878,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:904,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:907,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:907,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:909,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 5
    argNames:
    - pTask
    - pReqs
    - pDataBlock
    - groupId
    - now
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - SSDataBlock*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 929
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 929
    functionName: streamSearchAndAddBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - isAutoTableName
    - streamMutexLock
    - doAddDispatchBlock
    - stError
    - streamMutexUnlock
    - buildCtbNameByGroupIdImpl
    - tSimpleHashGet
    - memcpy
    - taosGetDefaultHashFunction
    - alreadyAddGroupId
    - memset
    - tSimpleHashInit
    - buildCtbNameAddGroupId
    - tSimpleHashPut
    - stDebug
    - taosGetTbHashVal
    - snprintf
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSearchAndAddBlock(SStreamTask* pTask, SStreamDispatchReq*
      pReqs, SSDataBlock* pDataBlock, int64_t groupId, int64_t now) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1278,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1303,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1307,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1314,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1321,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1271,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1292,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1295,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1285,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1296,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1309,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1319,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1326,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1334,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1259,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1262,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1274,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1275,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1277,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1283,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1302,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1300,1
    - Dst: chkptReadyMsgSendHelper
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1308,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1315,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1261,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1294,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1286,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1312,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1322,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1325,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1333,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1335
    functionName: chkptReadyMsgSendMonitorFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - taosAcquireRef
    - streamCleanBeforeQuitTmr
    - taosArrayDestroy
    - streamTmrStart
    - streamMutexLock
    - stTrace
    - streamTaskFreeRefId
    - streamMutexUnlock
    - stDebug
    - taosArrayGetSize
    - streamMetaReleaseTask
    - stError
    - chkptReadyMsgSendHelper
    - streamTaskShouldStop
    linkageType: ''
    returnType: void
    signature: 'static void chkptReadyMsgSendMonitorFn(void* param, void* tmrId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1490,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1495,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1505,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1501,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1502,1
    - Dst: tEncodeStreamDispatchReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1506,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1507,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1510,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1512,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1513,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1515,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1519,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 4
    argNames:
    - pTask
    - pReq
    - vgId
    - pEpSet
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1527
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1527
    functionName: doSendDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeStreamDispatchReq
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - POINTER_SHIFT
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSendDispatchMsg(SStreamTask* pTask, const SStreamDispatchReq*
      pReq, int32_t vgId, SEpSet* pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1694,1
    - Dst: clearBufferedDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1699,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1704,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1696,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1707,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1711,1
    - Dst: streamDispatchStreamBlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pTask
    - downstreamId
    - downstreamNodeId
    argTypes:
    - SStreamTask*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1719
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1719
    functionName: handleDispatchSuccessRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_store_8
    - clearBufferedDispatchMsg
    - stDebug
    - streamDispatchStreamBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleDispatchSuccessRsp(SStreamTask* pTask, int32_t
      downstreamId, int32_t downstreamNodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:570,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pMsgInfo
    argTypes:
    - SDispatchMsgInfo*
    constantsTouched: []
    func_position:
      end: 573
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 573
    functionName: setNotInDispatchMonitor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'static void setNotInDispatchMonitor(SDispatchMsgInfo* pMsgInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:586,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:591,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:595,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pMsgInfo
    - nodeId
    - now
    - lock
    argTypes:
    - SDispatchMsgInfo*
    - int32_t
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: addDispatchEntry
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosArrayPush
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'static void addDispatchEntry(SDispatchMsgInfo* pMsgInfo, int32_t nodeId,
      int64_t now, bool lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:937,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:938,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:939,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:940,1
    - Dst: streamAddBlockIntoDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:942,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:943,1
    - Dst: addDispatchEntry
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:946,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:952,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:952,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - pTask
    - pReqs
    - pDataBlock
    - now
    argTypes:
    - SStreamTask*
    - SStreamDispatchReq*
    - SSDataBlock*
    - int64_t
    constantsTouched: []
    func_position:
      end: 955
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 955
    functionName: streamMapAndAddBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - streamAddBlockIntoDispatchMsg
    - tSimpleHashGet
    - addDispatchEntry
    - tstrerror
    - QUERY_CHECK_NULL
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMapAndAddBlock(SStreamTask* pTask, SStreamDispatchReq*
      pReqs, SSDataBlock* pDataBlock, int64_t now) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1545,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1555,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1558,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1556,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1550,1
    - Dst: tEncodeStreamCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1559,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1560,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1563,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1567,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1568,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - pReq
    - pRpcInfo
    - pMsg
    - setCode
    argTypes:
    - SStreamCheckpointSourceReq*
    - SRpcHandleInfo*
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1573
      start: 1529
    functionDepth: 0
    functionLinenumber: 1529
    functionLinenumberEnd: 1573
    functionName: streamTaskBuildCheckpointSourceRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - TMIN
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - tEncodeStreamCheckpointSourceRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskBuildCheckpointSourceRsp(SStreamCheckpointSourceReq*
      pReq, SRpcHandleInfo* pRpcInfo, SRpcMsg* pMsg, int32_t setCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1632,1
    - Dst: streamTaskGetNumOfUpstream
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1638,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1634,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1641,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1644,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pTask
    - pInfo
    argTypes:
    - SStreamTask*
    - STaskCheckpointReadyInfo*
    constantsTouched: []
    func_position:
      end: 1648
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1648
    functionName: doAddChkptReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - streamTaskGetNumOfUpstream
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddChkptReadyMsg(SStreamTask* pTask, STaskCheckpointReadyInfo*
      pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:208,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:218,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:219,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:222,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:213,1
    - Dst: tEncodeStreamTaskCheckReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:223,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:224,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:225,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:229,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:230,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:231,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pTask
    - pReq
    - nodeId
    - pEpSet
    argTypes:
    - SStreamTask*
    - SStreamTaskCheckReq*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: streamSendCheckMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tEncodeStreamTaskCheckReq
    - POINTER_SHIFT
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSendCheckMsg(SStreamTask* pTask, const SStreamTaskCheckReq*
      pReq, int32_t nodeId, SEpSet* pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1682,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1683,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1685,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamDispatch.c:1689,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pActiveInfo
    argTypes:
    - SActiveCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1690
    functionName: streamClearChkptReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamDispatch.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'void streamClearChkptReadyMsg(SActiveCheckpointInfo* pActiveInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:40,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:42,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: streamMetaRLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosThreadRwlockRdlock
    linkageType: ''
    returnType: void
    signature: 'void streamMetaRLock(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:25,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:27,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: streamMutexUnlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosThreadMutexUnlock
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMutexUnlock(TdThreadMutex* pMutex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockTryRdlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:57,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:60,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:59,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 65
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 65
    functionName: streamMetaTryRlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosThreadRwlockTryRdlock
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaTryRlock(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:77,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: streamMetaWUnLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosThreadRwlockUnlock
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMetaWUnLock(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:18,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:20,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 22
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 22
    functionName: streamMutexLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void streamMutexLock(TdThreadMutex* pMutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:32,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:34,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMutex
    argTypes:
    - TdThreadMutex*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: streamMutexDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamMutexDestroy(TdThreadMutex* pMutex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:48,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:50,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: streamMetaRUnLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosThreadRwlockUnlock
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMetaRUnLock(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:69,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: streamMetaWLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void streamMetaWLock(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:84,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:88,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:86,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:88,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:87,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:90,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:90,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:93,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pMeta
    - code
    - funcName
    - lino
    argTypes:
    - SStreamMeta*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: streamSetFatalError
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_val_compare_exchange_32
    - tstrncpy
    - tstrerror
    - stFatal
    - taosGetSelfPthreadId
    - stInfo
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void streamSetFatalError(SStreamMeta* pMeta, int32_t code, const char*
      funcName, int32_t lino) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/stream/src/streamUtil.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: streamGetFatalError
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamGetFatalError(const SStreamMeta* pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSetReady
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:126,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:134,1
    - Dst: streamTaskSetRangeStreamCalc
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:132,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:128,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:138,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:142,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:147,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:150,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: streamTaskOnNormalTaskReady
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskSetRangeStreamCalc
    - streamTaskGetStatus
    - walReaderGetCurrentVer
    - streamTaskSetReady
    - stDebug
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskOnNormalTaskReady(SStreamTask* pTask) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:205,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:229,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:232,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:252,1
    - Dst: checkFillhistoryTaskStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:258,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:212,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:246,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:246,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:215,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:217,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:222,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:241,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:239,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:262,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:210,1
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:226,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:253,1
    - Dst: launchNotBuiltFillHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:265,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - pTask
    - lock
    argTypes:
    - SStreamTask*
    - bool
    constantsTouched: []
    func_position:
      end: 267
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 267
    functionName: streamLaunchFillHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - checkFillhistoryTaskStatus
    - streamMetaAddFailedTaskSelf
    - streamMetaRLock
    - streamMetaAddTaskLaunchResultNoLock
    - tstrerror
    - streamMetaAcquireTaskUnsafe
    - streamMetaRUnLock
    - streamMetaAddTaskLaunchResult
    - streamMetaReleaseTask
    - stError
    - stDebug
    - launchNotBuiltFillHistoryTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamLaunchFillHistoryTask(SStreamTask* pTask, bool lock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSetReady
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:158,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:169,1
    - Dst: streamTaskStartScanHistory
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:170,1
    - Dst: streamTaskSetRangeStreamCalc
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:164,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 181
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 181
    functionName: streamTaskOnScanHistoryTaskReady
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskSetRangeStreamCalc
    - streamTaskGetStatus
    - streamTaskSetReady
    - streamTaskStartScanHistory
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskOnScanHistoryTaskReady(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qStreamSourceScanParamForHistoryScanStep2
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pTask
    - pVerRange
    - pWindow
    argTypes:
    - SStreamTask*
    - SVersionRange*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: streamSetParamForStreamScannerStep2
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - qStreamSourceScanParamForHistoryScanStep2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSetParamForStreamScannerStep2(SStreamTask* pTask, SVersionRange*
      pVerRange, STimeWindow* pWindow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:47,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:52,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:48,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:57,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:51,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: streamTaskSetReady
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - stDebug
    - taosArrayGetSize
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamTaskSetReady(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:185,1
    - Dst: qSetStreamOperatorOptionForScanHistory
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: streamSetParamForScanHistory
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - qSetStreamOperatorOptionForScanHistory
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSetParamForScanHistory(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: initScanHistoryReq
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:67,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:78,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:75,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pTask
    - igUntreated
    argTypes:
    - SStreamTask*
    - int8_t
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: streamStartScanHistoryAsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - memcpy
    - initScanHistoryReq
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStartScanHistoryAsync(SStreamTask* pTask, int8_t igUntreated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamSetParamForScanHistory
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:659,1
    - Dst: streamStartScanHistoryAsync
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:670,1
    - Dst: streamSetParamForStreamScannerStep1
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 671
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 671
    functionName: doStartScanHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamStartScanHistoryAsync
    - streamSetParamForScanHistory
    - streamSetParamForStreamScannerStep1
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doStartScanHistoryTask(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:92,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:96,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pTask
    - idleDuration
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 99
    functionName: streamExecScanHistoryInFuture
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskAllocRefId
    - streamTmrStart
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamExecScanHistoryInFuture(SStreamTask* pTask, int32_t idleDuration) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:313,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:315,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pTask
    - pInfo
    - now
    argTypes:
    - SStreamTask*
    - SLaunchHTaskInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: notRetryLaunchFillHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - streamMetaAddTaskLaunchResult
    linkageType: ''
    returnType: void
    signature: 'void notRetryLaunchFillHistoryTask(SStreamTask* pTask, SLaunchHTaskInfo*
      pInfo, int64_t now) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:103,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:117,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:107,1
    - Dst: doStartScanHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:113,1
    - Dst: streamSetParamForScanHistory
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:115,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 120
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 120
    functionName: streamTaskStartScanHistory
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - stFatal
    - stDebug
    - streamSetParamForScanHistory
    - doStartScanHistoryTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskStartScanHistory(SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:327,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:333,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:333,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:331,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:335,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:337,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:340,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pTask
    - pInfo
    - now
    argTypes:
    - SStreamTask*
    - SLaunchHTaskInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: doRetryLaunchFillHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - taosMemoryFree
    - streamTmrStart
    - tstrerror
    - streamMetaAddTaskLaunchResult
    - stError
    - stDebug
    - streamTaskShouldStop
    linkageType: ''
    returnType: void
    signature: 'void doRetryLaunchFillHistoryTask(SStreamTask* pTask, SLaunchHTaskInfo*
      pInfo, int64_t now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qStreamSourceScanParamForHistoryScanStep1
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pTask
    - pVerRange
    - pWindow
    argTypes:
    - SStreamTask*
    - SVersionRange*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: streamSetParamForStreamScannerStep1
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - qStreamSourceScanParamForHistoryScanStep1
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSetParamForStreamScannerStep1(SStreamTask* pTask, SVersionRange*
      pVerRange, STimeWindow* pWindow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pTask
    - pReq
    - igUntreated
    argTypes:
    - SStreamTask*
    - SStreamScanHistoryReq*
    - int8_t
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: initScanHistoryReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initScanHistoryReq(SStreamTask* pTask, SStreamScanHistoryReq*
      pReq, int8_t igUntreated) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:352,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:359,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pTask
    - metaRid
    - pInfo
    argTypes:
    - SStreamTask*
    - int64_t
    - SLaunchHTaskInfo*
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: doCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosReleaseRef
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: void
    signature: 'static void doCleanup(SStreamTask* pTask, int64_t metaRid, SLaunchHTaskInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - pMeta
    - pTaskId
    - hStreamId
    - hTaskId
    - pInfo
    argTypes:
    - SStreamMeta*
    - STaskId*
    - int64_t
    - int32_t
    - SLaunchHTaskInfo**
    constantsTouched: []
    func_position:
      end: 476
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 476
    functionName: createHTaskLaunchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createHTaskLaunchInfo(SStreamMeta* pMeta, STaskId* pTaskId,
      int64_t hStreamId, int32_t hTaskId, SLaunchHTaskInfo** pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qStreamInfoResetTimewindowFilter
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 543
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 543
    functionName: streamTaskResetTimewindowFilter
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - qStreamInfoResetTimewindowFilter
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskResetTimewindowFilter(SStreamTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:576,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:581,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:590,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:599,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:578,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:602,1
    - Dst: streamSetParamForStreamScannerStep2
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:609,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 612
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 612
    functionName: streamTaskSetRangeStreamCalc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamSetParamForStreamScannerStep2
    - stError
    - HAS_RELATED_FILLHISTORY_TASK
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSetRangeStreamCalc(SStreamTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:281,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:285,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:290,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:293,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:295,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:298,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:299,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - pHTask
    argTypes:
    - SStreamTask*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: checkFillhistoryTaskStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - stError
    - streamTaskHandleEvent
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void checkFillhistoryTaskStatus(SStreamTask* pTask, SStreamTask* pHTask) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:366,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:384,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:412,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:409,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:399,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:408,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:416,1
    - Dst: doRetryLaunchFillHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:436,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:380,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:398,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:421,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:423,1
    - Dst: streamTaskSetRetryInfoForLaunch
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:430,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:434,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:444,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:454,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:374,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:394,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:400,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:406,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:437,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:443,1
    - Dst: checkFillhistoryTaskStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:449,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:451,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:371,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:373,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:382,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:386,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:388,1
    - Dst: notRetryLaunchFillHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:428,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:458,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 459
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 459
    functionName: tryLaunchHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamMetaAddFailedTaskSelf
    - taosReleaseRef
    - doCleanup
    - stError
    - taosAcquireRef
    - taosGetTimestampMs
    - notRetryLaunchFillHistoryTask
    - streamMetaAcquireTask
    - streamTaskShouldStop
    - doRetryLaunchFillHistoryTask
    - streamTmrStart
    - checkFillhistoryTaskStatus
    - streamTaskSetRetryInfoForLaunch
    - streamMetaWUnLock
    - stDebug
    - streamMetaWLock
    - streamTaskGetStatus
    - tstrerror
    - streamMetaAcquireTaskUnsafe
    - streamMetaAddTaskLaunchResult
    - streamMetaReleaseTask
    linkageType: ''
    returnType: void
    signature: 'void tryLaunchHistoryTask(void* param, void* tmrId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:525,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:525,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:516,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:487,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:492,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:500,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:511,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:514,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:519,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:533,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:521,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:494,1
    - Dst: createHTaskLaunchInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:490,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:496,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:530,1
    - Dst: streamTaskGetTaskId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:489,1
    - Dst: streamTaskInitForLaunchHTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:507,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:532,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - pTask
    - lock
    argTypes:
    - SStreamTask*
    - bool
    constantsTouched: []
    func_position:
      end: 538
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 538
    functionName: launchNotBuiltFillHistoryTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskGetTaskId
    - streamTaskInitForLaunchHTask
    - taosMemoryFree
    - streamTmrStart
    - taosTmrStart
    - stDebug
    - streamMetaAddTaskLaunchResultNoLock
    - tstrerror
    - createHTaskLaunchInfo
    - streamMetaAddTaskLaunchResult
    - stError
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t launchNotBuiltFillHistoryTask(SStreamTask* pTask, bool lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:548,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:557,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - nextProcessVer
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 571
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 571
    functionName: streamHistoryTaskSetVerRangeStep2
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - stError
    - stDebug
    linkageType: ''
    returnType: bool
    signature: 'bool streamHistoryTaskSetVerRangeStep2(SStreamTask* pTask, int64_t
      nextProcessVer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:617,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:628,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:620,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:619,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:626,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:629,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:630,1
    - Dst: streamStartScanHistoryAsync
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:635,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:637,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:640,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:645,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:650,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:643,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamStartHistory.c:651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 652
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 652
    functionName: doExecScanhistoryInFuture
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartHistory.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamStartScanHistoryAsync
    - streamTmrStart
    - streamTaskFreeRefId
    - streamTaskAllocRefId
    - stDebug
    - streamMetaReleaseTask
    - stError
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void doExecScanhistoryInFuture(void* param, void* tmrId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamErrorInjection.c:8,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamErrorInjection.c:12,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamErrorInjection.c:15,1
    - Dst: streamTaskSetFailedCheckpointId
      Src: /src/tdengine/source/libs/stream/src/streamErrorInjection.c:11,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pTask
    - checkpointId
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 16
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 16
    functionName: chkptFailedByRetrieveReqToSource
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamErrorInjection.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamTaskSetFailedCheckpointId
    - taosMsleep
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void chkptFailedByRetrieveReqToSource(SStreamTask* pTask, int64_t
      checkpointId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:21,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:23,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:23,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: streamTimerInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stInfo
    - taosTmrInit
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTimerInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:45,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:53,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:47,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:51,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:47,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:53,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - fp
    - mseconds
    - pParam
    - pHandle
    - pTmrId
    - vgId
    - pMsg
    argTypes:
    - TAOS_TMR_CALLBACK
    - int32_t
    - void*
    - void*
    - tmr_h*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: streamTmrStart
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached:
    - taosTmrReset
    - stTrace
    - tstrerror
    - taosTmrStart
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamTmrStart(TAOS_TMR_CALLBACK fp, int32_t mseconds, void*
      pParam, void* pHandle, tmr_h* pTmrId, int32_t vgId, const char* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:32,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: streamTimerCleanUp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached:
    - stInfo
    - taosTmrCleanUp
    linkageType: ''
    returnType: void
    signature: 'void streamTimerCleanUp() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - tmrId
    argTypes:
    - tmr_h
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: streamTmrStop
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: void
    signature: 'void streamTmrStop(tmr_h tmrId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTmr
    argTypes:
    - tmr_h*
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: streamTimerGetInstance
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTimerGetInstance(tmr_h* pTmr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:71,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamTimer.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - param
    argTypes:
    - SStreamTmrInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 73
    functionName: streamCleanBeforeQuitTmr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTimer.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - streamTaskFreeRefId
    linkageType: ''
    returnType: void
    signature: 'void streamCleanBeforeQuitTmr(SStreamTmrInfo* pInfo, void* param) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:214,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:221,1
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:217,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:226,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:220,1
    - Dst: streamTaskUpdateCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:231,1
    - Dst: processDownstreamReadyRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:237,1
    - Dst: streamTaskStopMonitorCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:238,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:240,1
    - Dst: streamTaskUpdateCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:244,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:265,1
    - Dst: streamTaskAddIntoNodeUpdateList
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:260,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:256,1
    - Dst: streamTaskAddIntoNodeUpdateList
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:254,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:251,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:263,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 2
    argNames:
    - pTask
    - pRsp
    argTypes:
    - SStreamTask*
    - SStreamTaskCheckRsp*
    constantsTouched: []
    func_position:
      end: 271
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 271
    functionName: streamTaskProcessCheckRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskStopMonitorCheckRsp
    - processDownstreamReadyRsp
    - streamTaskUpdateCheckInfo
    - streamMetaAddFailedTaskSelf
    - streamTaskAddIntoNodeUpdateList
    - stDebug
    - streamTaskGetNumOfDownstream
    - stError
    - streamTaskShouldStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskProcessCheckRsp(SStreamTask* pTask, const SStreamTaskCheckRsp*
      pRsp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:362,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:362,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:379,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:386,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:374,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:370,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:384,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:395,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:388,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:388,1
    - Dst: streamTaskOnHandleEventSuccess
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:360,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:368,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:378,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:399,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:399,1
    - Dst: streamLaunchFillHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pTask
    - lock
    argTypes:
    - SStreamTask*
    - bool
    constantsTouched: []
    func_position:
      end: 402
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 402
    functionName: processDownstreamReadyRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamLaunchFillHistoryTask
    - HAS_RELATED_FILLHISTORY_TASK
    - streamMetaAddTaskLaunchResultNoLock
    - streamTaskOnHandleEventSuccess
    - tstrerror
    - streamTaskHandleEvent
    - streamMetaAddTaskLaunchResult
    - streamTaskGetStatusStr
    - stError
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void processDownstreamReadyRsp(SStreamTask* pTask, bool lock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:648,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:664,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:662,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:656,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:670,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:672,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 8
    argNames:
    - pInfo
    - el
    - numOfReady
    - numOfFault
    - numOfNotRsp
    - pTimeoutList
    - pNotReadyList
    - id
    argTypes:
    - STaskCheckInfo*
    - int64_t
    - int32_t*
    - int32_t*
    - int32_t*
    - SArray*
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 677
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 677
    functionName: getCheckRspStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayPush
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'void getCheckRspStatus(STaskCheckInfo* pInfo, int64_t el, int32_t*
      numOfReady, int32_t* numOfFault, int32_t* numOfNotRsp, SArray* pTimeoutList,
      SArray* pNotReadyList, const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - pMsgCb
    - vgId
    - streamId
    - taskId
    argTypes:
    - SMsgCb*
    - int32_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 772
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 772
    functionName: addDownstreamFailedStatusResultAsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTaskSchedTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addDownstreamFailedStatusResultAsync(SMsgCb* pMsgCb, int32_t
      vgId, int64_t streamId, int32_t taskId) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:812,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:814,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:817,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:841,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:845,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:850,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:855,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:856,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:867,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:927,1
    - Dst: addDownstreamFailedStatusResultAsync
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:827,1
    - Dst: streamTaskCompleteCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:840,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:862,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:875,1
    - Dst: streamTaskCompleteCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:883,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:885,1
    - Dst: streamTaskCompleteCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:899,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:904,1
    - Dst: handleNotReadyDownstreamTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:912,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:907,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:790,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:802,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:816,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:818,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:833,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:838,1
    - Dst: streamTaskCompleteCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:822,1
    - Dst: streamTaskCompleteCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:849,1
    - Dst: getCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:859,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:861,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:884,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:921,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:923,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:889,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:894,1
    - Dst: addDownstreamFailedStatusResultAsync
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:902,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:803,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:800,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:821,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:829,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:829,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:847,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:851,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:900,1
    - Dst: handleTimeoutDownstreamTasks
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:916,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:919,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 928
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 928
    functionName: rspMonitorFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - doCleanup
    - streamTmrStart
    - streamMutexLock
    - streamTaskCompleteCheckRsp
    - getCheckRspStatus
    - tstrerror
    - handleNotReadyDownstreamTask
    - streamTaskFreeRefId
    - streamMutexUnlock
    - stDebug
    - taosArrayGetSize
    - addDownstreamFailedStatusResultAsync
    - stError
    - handleTimeoutDownstreamTasks
    - taosArrayInit
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void rspMonitorFn(void* param, void* tmrId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:288,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:287,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:285,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:281,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:292,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:294,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:295,1
    - Dst: tEncodeStreamTaskCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:296,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:297,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:302,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - pMeta
    - vgId
    - pRsp
    - pRpcInfo
    - taskId
    argTypes:
    - SStreamMeta*
    - int32_t
    - SStreamTaskCheckRsp*
    - SRpcHandleInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 304
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 304
    functionName: streamTaskSendCheckRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - tEncodeStreamTaskCheckRsp
    - TMIN
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckRsp(const SStreamMeta* pMeta, int32_t vgId,
      SStreamTaskCheckRsp* pRsp, SRpcHandleInfo* pRpcInfo, int32_t taskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - pReq
    - reqId
    - dstTaskId
    - dstNodeId
    argTypes:
    - SStreamTaskCheckReq*
    - int64_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 683
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 683
    functionName: setCheckDownstreamReqInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setCheckDownstreamReqInfo(SStreamTaskCheckReq* pReq, int64_t
      reqId, int32_t dstTaskId, int32_t dstNodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:775,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:779,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:777,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - pTask
    - pNotReadyList
    - pTimeoutList
    - param
    argTypes:
    - SStreamTask*
    - SArray*
    - SArray*
    - void*
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: doCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTaskFreeRefId
    - streamMetaReleaseTask
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void doCleanup(SStreamTask* pTask, SArray* pNotReadyList, SArray*
      pTimeoutList, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:348,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STaskCheckInfo*
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: streamTaskCleanupCheckInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTmrStop
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamTaskCleanupCheckInfo(STaskCheckInfo* pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:121,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:151,1
    - Dst: processDownstreamReadyRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:164,1
    - Dst: streamTaskStopMonitorCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:163,1
    - Dst: streamTaskStartMonitorCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:96,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:117,1
    - Dst: streamTaskAddReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:127,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:129,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:138,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:126,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:126,1
    - Dst: streamTaskAddReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:149,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:156,1
    - Dst: streamTaskAddReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:101,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:100,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:108,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:132,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:143,1
    - Dst: streamTaskStartMonitorCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:135,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:162,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:168,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:100,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:103,1
    - Dst: streamTaskStartMonitorCheckRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:112,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:116,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:139,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:148,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:148,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 170
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 170
    functionName: streamTaskSendCheckMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTaskStopMonitorCheckRsp
    - taosArrayGet
    - processDownstreamReadyRsp
    - setCheckDownstreamReqInfo
    - streamTaskAddReqInfo
    - tstrerror
    - streamTaskStartMonitorCheckRsp
    - stDebug
    - taosArrayGetSize
    - stError
    - streamSendCheckMsg
    - tGenIdPI64
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSendCheckMsg(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:514,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pInfo
    - id
    argTypes:
    - STaskCheckInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 522
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 522
    functionName: streamTaskStartCheckDownstream
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - stError
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskStartCheckDownstream(STaskCheckInfo* pInfo, const
      char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:187,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:193,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:198,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:199,1
    - Dst: streamTaskCheckStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:196,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:203,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pMeta
    - pReq
    - pRsp
    argTypes:
    - SStreamMeta*
    - SStreamTaskCheckReq*
    - SStreamTaskCheckRsp*
    constantsTouched: []
    func_position:
      end: 211
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 211
    functionName: streamTaskProcessCheckMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamTaskCheckStatus
    - streamMetaAcquireTask
    - stDebug
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamTaskProcessCheckMsg(SStreamMeta* pMeta, SStreamTaskCheckReq*
      pReq, SStreamTaskCheckRsp* pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:526,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:531,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:542,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:530,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:544,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - lock
    - id
    argTypes:
    - STaskCheckInfo*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 550
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 550
    functionName: streamTaskCompleteCheckRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosGetTimestampMs
    - streamMutexLock
    - stDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskCompleteCheckRsp(STaskCheckInfo* pInfo, bool lock,
      const char* id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:310,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:317,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:316,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:315,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:313,1
    - Dst: streamTaskStartCheckDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:321,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:323,1
    - Dst: streamTaskInitTaskCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:327,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:327,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:330,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:332,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: streamTaskStartMonitorCheckRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamTmrStart
    - streamMutexLock
    - streamTaskStartCheckDownstream
    - streamTaskInitTaskCheckInfo
    - streamTaskAllocRefId
    - stDebug
    - streamTaskGetStatusStr
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskStartMonitorCheckRsp(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:464,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pInfo
    - taskId
    - pStatusInfo
    argTypes:
    - STaskCheckInfo*
    - int32_t
    - SDownstreamStatusInfo**
    constantsTouched: []
    func_position:
      end: 473
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 473
    functionName: findCheckRspStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void findCheckRspStatus(STaskCheckInfo* pInfo, int32_t taskId, SDownstreamStatusInfo**
      pStatusInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:555,1
    - Dst: findCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:558,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:561,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:565,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:560,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:570,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - pInfo
    - reqId
    - taskId
    - vgId
    - id
    argTypes:
    - STaskCheckInfo*
    - int64_t
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 571
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 571
    functionName: streamTaskAddReqInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosArrayPush
    - stDebug
    - findCheckRspStatus
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskAddReqInfo(STaskCheckInfo* pInfo, int64_t reqId, int32_t
      taskId, int32_t vgId, const char* id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:689,1
    - Dst: findCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:701,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:694,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:705,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:692,1
    - Dst: doSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:719,1
    - Dst: findCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:725,1
    - Dst: streamTaskAddIntoNodeUpdateList
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:727,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:728,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:735,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:733,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 2
    argNames:
    - pTask
    - pTimeoutList
    argTypes:
    - SStreamTask*
    - SArray*
    constantsTouched: []
    func_position:
      end: 738
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 738
    functionName: handleTimeoutDownstreamTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamTaskAddIntoNodeUpdateList
    - doSendCheckMsg
    - taosArrayGetSize
    - findCheckRspStatus
    - stError
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void handleTimeoutDownstreamTasks(SStreamTask* pTask, SArray* pTimeoutList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:340,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:342,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - id
    argTypes:
    - STaskCheckInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 345
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 345
    functionName: streamTaskStopMonitorCheckRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - stDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskStopMonitorCheckRsp(STaskCheckInfo* pInfo, const char*
      id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:479,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:483,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:486,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:492,1
    - Dst: findCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:480,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:500,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:504,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:505,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 7
    argNames:
    - pInfo
    - taskId
    - status
    - rspTs
    - reqId
    - pNotReady
    - id
    argTypes:
    - STaskCheckInfo*
    - int32_t
    - int32_t
    - int64_t
    - int64_t
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 508
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 508
    functionName: streamTaskUpdateCheckInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - atomic_sub_fetch_32
    - findCheckRspStatus
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskUpdateCheckInfo(STaskCheckInfo* pInfo, int32_t taskId,
      int32_t status, int64_t rspTs, int64_t reqId, int32_t* pNotReady, const char*
      id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:586,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:599,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:593,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:596,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:591,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:602,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:608,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:610,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:613,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:619,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:622,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:640,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:640,1
    - Dst: streamSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:633,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:630,1
    - Dst: setCheckDownstreamReqInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:628,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - pTask
    - p
    argTypes:
    - SStreamTask*
    - SDownstreamStatusInfo*
    constantsTouched: []
    func_position:
      end: 643
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 643
    functionName: doSendCheckMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - setCheckDownstreamReqInfo
    - tstrerror
    - stDebug
    - taosArrayGetSize
    - stError
    - streamSendCheckMsg
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSendCheckMsg(SStreamTask* pTask, SDownstreamStatusInfo*
      p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:748,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:763,1
    - Dst: doSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:758,1
    - Dst: findCheckRspStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:754,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pTask
    - pNotReadyList
    argTypes:
    - SStreamTask*
    - SArray*
    constantsTouched: []
    func_position:
      end: 765
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 765
    functionName: handleNotReadyDownstreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - stDebug
    - doSendCheckMsg
    - taosArrayGetSize
    - findCheckRspStatus
    linkageType: ''
    returnType: void
    signature: 'void handleNotReadyDownstreamTask(SStreamTask* pTask, SArray* pNotReadyList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:409,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:413,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:411,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:430,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:432,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:437,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pTask
    - nodeId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 439
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 439
    functionName: streamTaskAddIntoNodeUpdateList
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamMutexLock
    - tstrerror
    - taosArrayPush
    - stInfo
    - taosArrayGetSize
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskAddIntoNodeUpdateList(SStreamTask* pTask, int32_t
      nodeId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:42,1
    - Dst: streamTaskSetCheckpointFailed
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:66,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:57,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:62,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:50,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - pTask
    - upstreamTaskId
    - vgId
    - stage
    - oldStage
    argTypes:
    - SStreamTask*
    - int32_t
    - int32_t
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 77
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 77
    functionName: streamTaskCheckStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - streamTaskSetCheckpointFailed
    - streamTaskGetUpstreamTaskEpInfo
    - stError
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskCheckStatus(SStreamTask* pTask, int32_t upstreamTaskId,
      int32_t vgId, int64_t stage, int64_t* oldStage) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:442,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckStatus.c:449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pInfo
    - pOutputInfo
    - startTs
    argTypes:
    - STaskCheckInfo*
    - STaskOutputInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 455
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 455
    functionName: streamTaskInitTaskCheckInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckStatus.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void streamTaskInitTaskCheckInfo(STaskCheckInfo* pInfo, STaskOutputInfo*
      pOutputInfo, int64_t startTs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:158,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamState.c:161,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:161,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:166,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:159,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:169,1
    - Dst: streamStateDestroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:173,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamState.c:178,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:178,1
    - Dst: streamTaskSetDb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:182,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamState.c:187,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamState.c:191,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamState.c:188,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamState.c:189,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:197,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - path
    - pTask
    - streamId
    - taskId
    argTypes:
    - char*
    - void*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 200
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 200
    functionName: streamStateOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamTaskSetDb
    - TAOS_UNUSED
    - taosMemoryCalloc
    - qError
    - tstrerror
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - stInfo
    - stDebug
    - streamStateDestroy
    - taosGetDefaultHashFunction
    - tsnprintf
    linkageType: ''
    returnType: SStreamState*
    signature: 'SStreamState * streamStateOpen(const char* path, void* pTask, int64_t
      streamId, int32_t taskId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getSnapshot
      Src: /src/tdengine/source/libs/stream/src/streamState.c:217,1
    - Dst: flushSnapshot
      Src: /src/tdengine/source/libs/stream/src/streamState.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: streamStateCommit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getSnapshot
    - flushSnapshot
    linkageType: ''
    returnType: void
    signature: 'void streamStateCommit(SStreamState* pState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowBuffByPos
      Src: /src/tdengine/source/libs/stream/src/streamState.c:273,1
    - Dst: streamStateReleaseBuf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pState
    - pos
    - pVal
    argTypes:
    - SStreamState*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: streamStateGetByPos
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getRowBuffByPos
    - streamStateReleaseBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetByPos(SStreamState* pState, void* pos, void**
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: streamStateSeekKeyNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateSeekKeyNext_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSeekKeyNext(SStreamState* pState, const
      SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getCountWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - pState
    - pKey
    - winCount
    - ppVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SSessionKey*
    - COUNT_TYPE
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 696
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 696
    functionName: streamStateCountWinAddIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getCountWinResultBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateCountWinAddIfNotExist(SStreamState* pState, SSessionKey*
      pKey, COUNT_TYPE winCount, void** ppVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:467,1
    - Dst: streamStateSessionPut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:471,1
    - Dst: streamStateReleaseBuf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:474,1
    - Dst: getFileStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:472,1
    - Dst: putFreeBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:475,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:476,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:478,1
    - Dst: putSessionWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:482,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:489,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 492
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 492
    functionName: streamStateSessionPut
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - isFlushedState
    - QUERY_CHECK_CODE
    - streamStateReleaseBuf
    - qError
    - tstrerror
    - putSessionWinResultBuff
    - getFileStateRowSize
    - stDebug
    - putFreeBuff
    - streamStateSessionPut_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionPut(SStreamState* pState, const SSessionKey*
      key, void* value, int32_t vLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:730,1
    - Dst: streamFileStateClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:732,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:733,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamState.c:736,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:738,1
    - Dst: clearExpiredState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pState
    - numOfKeep
    - minTs
    argTypes:
    - SStreamState*
    - int32_t
    - TSKEY
    constantsTouched: []
    func_position:
      end: 743
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 743
    functionName: streamStateClearExpiredState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - taosArrayClear
    - clearExpiredState
    - tSimpleHashIterate
    - streamFileStateClear
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamStateClearExpiredState(SStreamState* pState, int32_t numOfKeep,
      TSKEY minTs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyTsDataState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 770
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 770
    functionName: streamStateDestroyTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - destroyTsDataState
    linkageType: ''
    returnType: void
    signature: 'void streamStateDestroyTsDataState(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamState.c:204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamState.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: streamStateDelTaskDb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - taskDbRemoveRef
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateDelTaskDb(SStreamState* pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:226,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:233,1
    - Dst: getFunctionRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:228,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:229,1
    - Dst: streamFileStateGetSelectRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:232,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 240
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 240
    functionName: streamStateFuncPut
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamFileStateGetSelectRowSize
    - getFunctionRowBuff
    - qError
    - tstrerror
    - getRowStateRowSize
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFuncPut(SStreamState* pState, const SWinKey* key,
      const void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: streamStateDel
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - deleteRowBuff
    linkageType: ''
    returnType: void
    signature: 'void streamStateDel(SStreamState* pState, const SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: streamStateFillSeekKeyNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillSeekKeyNext_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillSeekKeyNext(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: allocSessioncWinBuffByNextPosition
      Src: /src/tdengine/source/libs/stream/src/streamState.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pState
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 497
    functionName: streamStateSessionAllocWinBuffByNextPosition
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - allocSessioncWinBuffByNextPosition
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionAllocWinBuffByNextPosition(SStreamState*
      pState, SStreamStateCur* pCur, const SSessionKey* pKey, void** pVal, int32_t*
      pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createCountWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pState
    - pKey
    - winCount
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - COUNT_TYPE
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 701
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 701
    functionName: streamStateCountWinAdd
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - createCountWinResultBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateCountWinAdd(SStreamState* pState, SSessionKey*
      pKey, COUNT_TYPE winCount, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowStatePrevRow
      Src: /src/tdengine/source/libs/stream/src/streamState.c:747,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - pState
    - pKey
    - pResKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 748
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 748
    functionName: streamStateGetPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getRowStatePrevRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetPrev(SStreamState* pState, const SWinKey* pKey,
      SWinKey* pResKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: recoverTsData
      Src: /src/tdengine/source/libs/stream/src/streamState.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 772
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 772
    functionName: streamStateRecoverTsData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - recoverTsData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateRecoverTsData(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNLastSessionStateKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pCur
    - num
    - pRes
    argTypes:
    - SStreamStateCur*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 788
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 788
    functionName: streamStateNLastSessionStateGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getNLastSessionStateKVByCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateNLastSessionStateGetKVByCur(SStreamStateCur* pCur,
      int32_t num, SArray* pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/streamState.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 98
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 98
    functionName: stateKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - winKeyCmprImpl
    linkageType: ''
    returnType: int
    signature: 'int stateKeyCmpr(const void* pKey1, int kLen1, const void* pKey2,
      int kLen2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHashSortNextRow
      Src: /src/tdengine/source/libs/stream/src/streamState.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - pState
    - pKey
    - pResKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: streamStateFillGetNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getHashSortNextRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetNext(SStreamState* pState, const SWinKey*
      pKey, SWinKey* pResKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:313,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamState.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 315
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 315
    functionName: streamStateFillDel
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillDel_rocksdb
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void streamStateFillDel(SStreamState* pState, const SWinKey* key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:366,1
    - Dst: needClearDiskBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:366,1
    - Dst: addArrayBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamState.c:362,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:363,1
    - Dst: recoverHashSortBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:367,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:368,1
    - Dst: addSearchItem
      Src: /src/tdengine/source/libs/stream/src/streamState.c:371,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:372,1
    - Dst: streamStateCreate
      Src: /src/tdengine/source/libs/stream/src/streamState.c:376,1
    - Dst: streamStateGet
      Src: /src/tdengine/source/libs/stream/src/streamState.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:386,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:377,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - pState
    - pKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 389
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 389
    functionName: streamStateAddIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - QUERY_CHECK_CODE
    - recoverHashSortBuff
    - addArrayBuffIfNotExist
    - addSearchItem
    - streamStateCreate
    - streamStateGet
    - qError
    - tstrerror
    - taosArrayGetSize
    - needClearDiskBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateAddIfNotExist(SStreamState* pState, const SWinKey*
      pKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSessionWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:559,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - pState
    - key
    - gap
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SSessionKey*
    - TSKEY
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: streamStateSessionAddIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getSessionWinResultBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionAddIfNotExist(SStreamState* pState, SSessionKey*
      key, TSKEY gap, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStateRecFlag
      Src: /src/tdengine/source/libs/stream/src/streamState.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pKey
    - keyLen
    - pMode
    argTypes:
    - SStreamState*
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: streamStateGetRecFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getStateRecFlag
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetRecFlag(SStreamState* pState, const void* pKey,
      int32_t keyLen, int32_t* pMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskShouldRecalated
      Src: /src/tdengine/source/libs/stream/src/streamState.c:104,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:105,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:110,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:115,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:111,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:118,1
    - Dst: streamStateDestroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:120,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:122,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamState.c:130,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:130,1
    - Dst: streamTaskSetDb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:133,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamState.c:140,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamState.c:141,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamState.c:143,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamState.c:139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:148,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - path
    - pTask
    - streamId
    - taskId
    argTypes:
    - char*
    - void*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 152
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 152
    functionName: streamStateRecalatedOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamTaskShouldRecalated
    - streamTaskSetDb
    - TAOS_UNUSED
    - tsnprintf
    - taosMemoryCalloc
    - qError
    - tstrerror
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - stInfo
    - stDebug
    - streamStateDestroy
    - taosGetDefaultHashFunction
    - stError
    linkageType: ''
    returnType: SStreamState*
    signature: 'SStreamState * streamStateRecalatedOpen(const char* path, void* pTask,
      int64_t streamId, int32_t taskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHashSortPrevRow
      Src: /src/tdengine/source/libs/stream/src/streamState.c:309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - pState
    - pKey
    - pResKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: streamStateFillGetPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getHashSortPrevRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetPrev(SStreamState* pState, const SWinKey*
      pKey, SWinKey* pResKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 317
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 317
    functionName: streamStateClear
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateClear
    linkageType: ''
    returnType: void
    signature: 'void streamStateClear(SStreamState* pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateReleaseBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pState
    - pVal
    - used
    argTypes:
    - SStreamState*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 396
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 396
    functionName: streamStateReleaseBuf
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateReleaseBuff
    linkageType: ''
    returnType: void
    signature: 'void streamStateReleaseBuf(SStreamState* pState, void* pVal, bool
      used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStateWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:564,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 8
    argNames:
    - pState
    - key
    - pKeyData
    - keyDataLen
    - fn
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SSessionKey*
    - char*
    - int32_t
    - state_key_cmpr_fn
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: streamStateStateAddIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getStateWinResultBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateStateAddIfNotExist(SStreamState* pState, SSessionKey*
      key, char* pKeyData, int32_t keyDataLen, state_key_cmpr_fn fn, void** pVal,
      int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:849,1
    - Dst: streamFileStateClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:851,1
    - Dst: clearExpiredSessionState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:854,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/stream/src/streamState.c:850,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pState
    - numOfKeep
    - minTs
    - pFlushGroup
    argTypes:
    - SStreamState*
    - int32_t
    - TSKEY
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 855
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 855
    functionName: streamStateClearExpiredSessionState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - clearExpiredSessionState
    - tSimpleHashSetFreeFp
    - streamFileStateClear
    - getRowStateBuff
    linkageType: ''
    returnType: void
    signature: 'void streamStateClearExpiredSessionState(SStreamState* pState, int32_t
      numOfKeep, TSKEY minTs, SSHashObj* pFlushGroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pWin1
    - pWin2
    argTypes:
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 42
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 42
    functionName: sessionRangeKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int sessionRangeKeyCmpr(const SSessionKey* pWin1, const SSessionKey*
      pWin2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: streamStateFillGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillGetKVByCur_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetKVByCur(SStreamStateCur* pCur, SWinKey*
      pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pWin1
    - pWin2
    argTypes:
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 50
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 50
    functionName: countRangeKeyEqual
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int countRangeKeyEqual(const SSessionKey* pWin1, const SSessionKey*
      pWin2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: streamStateFillGetGroupKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillGetGroupKVByCur_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetGroupKVByCur(SStreamStateCur* pCur, SWinKey*
      pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:292,1
    - Dst: streamStateFillGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: streamStateFillGet
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getRowBuff
    - streamStateFillGet_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGet(SStreamState* pState, const SWinKey* key,
      void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getHashSortRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: streamStateFillAddIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getHashSortRowBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillAddIfNotExist(SStreamState* pState, const SWinKey*
      key, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:245,1
    - Dst: getFunctionRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:248,1
    - Dst: streamFileStateGetSelectRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:251,1
    - Dst: streamStateReleaseBuf
      Src: /src/tdengine/source/libs/stream/src/streamState.c:253,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pState
    - key
    - ppVal
    - pVLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 260
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 260
    functionName: streamStateFuncGet
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamFileStateGetSelectRowSize
    - getFunctionRowBuff
    - streamStateReleaseBuf
    - qError
    - tstrerror
    - getRowStateRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFuncGet(SStreamState* pState, const SWinKey* key,
      void** ppVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateClearBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - pVal
    argTypes:
    - SStreamState*
    - void*
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: streamStateClearBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateClearBuff
    linkageType: ''
    returnType: void
    signature: 'void streamStateClearBuff(SStreamState* pState, void* pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateSeekKeyCurrentNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:520,1
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:522,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: streamStateSessionSeekKeyCurrentNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - sessionWinStateSeekKeyCurrentNext
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyCurrentNext(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: streamStatePut
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePut(SStreamState* pState, const SWinKey* key, const
      void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: streamStateFillGetCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillGetCur_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillGetCur(SStreamState* pState, const
      SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateSeekKeyPrev
      Src: /src/tdengine/source/libs/stream/src/streamState.c:526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 527
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 527
    functionName: streamStateSessionSeekKeyPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateSeekKeyPrev
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur *streamStateSessionSeekKeyPrev(SStreamState *pState,
      const SSessionKey *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasSessionState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pKey
    - gap
    - pIsLast
    argTypes:
    - SStreamState*
    - SSessionKey*
    - TSKEY
    - bool*
    constantsTouched: []
    func_position:
      end: 859
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 859
    functionName: streamStateCheckSessionState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - hasSessionState
    linkageType: ''
    returnType: bool
    signature: 'bool streamStateCheckSessionState(SStreamState* pState, SSessionKey*
      pKey, TSKEY gap, bool* pIsLast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateSeekKeyNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 531
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 531
    functionName: streamStateSessionSeekKeyNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateSeekKeyNext
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyNext(SStreamState* pState,
      const SSessionKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countWinStateSeekKeyPrev
      Src: /src/tdengine/source/libs/stream/src/streamState.c:534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - key
    - count
    argTypes:
    - SStreamState*
    - SSessionKey*
    - COUNT_TYPE
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: streamStateCountSeekKeyPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - countWinStateSeekKeyPrev
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateCountSeekKeyPrev(SStreamState* pState,
      const SSessionKey* key, COUNT_TYPE count) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deleteRowBuffByGroupId
      Src: /src/tdengine/source/libs/stream/src/streamState.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - groupId
    argTypes:
    - SStreamState*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: streamStateDelByGroupId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - deleteRowBuffByGroupId
    linkageType: ''
    returnType: void
    signature: 'void streamStateDelByGroupId(SStreamState* pState, uint64_t groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateGetAndCheckCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    functionName: streamStateGetAndCheckCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateGetAndCheckCur_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGetAndCheckCur(SStreamState* pState,
      SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: streamStateFillSeekKeyPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillSeekKeyPrev_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillSeekKeyPrev(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamState.c:638,1
    - Dst: streamStateDeleteParName_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:642,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/stream/src/streamState.c:644,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/stream/src/streamState.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pState
    - groupId
    argTypes:
    - SStreamState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: streamStateDeleteParName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - qWarn
    - tSimpleHashRemove
    - streamStateDeleteParName_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateDeleteParName(SStreamState* pState, int64_t groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLastStateCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 774
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 774
    functionName: streamStateGetLastStateCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getLastStateCur
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGetLastStateCur(SStreamState* pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamState.c:651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 654
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 654
    functionName: streamStateSetParNameInvalid
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamStateSetParNameInvalid(SStreamState* pState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillPut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: streamStateFillPut
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateFillPut_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillPut(SStreamState* pState, const SWinKey* key,
      const void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:409,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamState.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: streamStateGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateGetKVByCur_rocksdb
    - getStateFileStore
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetKVByCur(SStreamStateCur* pCur, SWinKey* pKey,
      const void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateMoveToNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - pCur
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 432
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 432
    functionName: streamStateCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateMoveToNext
    linkageType: ''
    returnType: void
    signature: 'void streamStateCurNext(SStreamState* pState, SStreamStateCur* pCur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveLastStateCurNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 776
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 776
    functionName: streamStateLastStateCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - moveLastStateCurNext
    linkageType: ''
    returnType: void
    signature: 'void streamStateLastStateCurNext(SStreamStateCur* pCur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamState.c:435,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pState
    - pCur
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 437
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 437
    functionName: streamStateCurPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateCurPrev_rocksdb
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void streamStateCurPrev(SStreamState* pState, SStreamStateCur* pCur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamStateResetCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamState.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: streamStateFreeCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateResetCur
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void streamStateFreeCur(SStreamStateCur* pCur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - SStreamState*
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 682
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 682
    functionName: streamStateCopyBackend
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: void
    signature: 'void streamStateCopyBackend(SStreamState* src, SStreamState* dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveLastStateCurNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 784
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 784
    functionName: streamStateLastSessionStateCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - moveLastStateCurNext
    linkageType: ''
    returnType: void
    signature: 'void streamStateLastSessionStateCurNext(SStreamStateCur* pCur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reloadTsDataState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 790
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 790
    functionName: streamStateReloadTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - reloadTsDataState
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateReloadTsDataState(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 803
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 803
    functionName: streamStateGetNumber
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetNumber(SStreamState* pState) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_destroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:443,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamState.c:447,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:445,1
    - Dst: rocksdb_release_snapshot
      Src: /src/tdengine/source/libs/stream/src/streamState.c:444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 450
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 450
    functionName: streamStateResetCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_destroy
    - rocksdb_release_snapshot
    - memset
    - rocksdb_readoptions_destroy
    linkageType: ''
    returnType: void
    signature: 'void streamStateResetCur(SStreamStateCur* pCur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamState.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 460
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 460
    functionName: streamStateFreeVal
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void streamStateFreeVal(void* val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: createStreamStateCursor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * createStreamStateCursor() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mergeAndSaveScanRange
      Src: /src/tdengine/source/libs/stream/src/streamState.c:794,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 5
    argNames:
    - pTsDataState
    - pWin
    - gpId
    - pRecData
    - len
    argTypes:
    - STableTsDataState*
    - STimeWindow*
    - uint64_t
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 795
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 795
    functionName: streamStateMergeAndSaveScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - mergeAndSaveScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateMergeAndSaveScanRange(STableTsDataState* pTsDataState,
      STimeWindow* pWin, uint64_t gpId, SRecDataInfo* pRecData, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamDefaultDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:806,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - pKey
    - keyLen
    argTypes:
    - SStreamState*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 807
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 807
    functionName: streamStateDeleteInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamDefaultDel_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateDeleteInfo(SStreamState* pState, void* pKey, int32_t
      keyLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamState.c:574,1
    - Dst: streamStatePutParName_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:579,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:575,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamState.c:576,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:577,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:580,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamState.c:584,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pState
    - groupId
    - tbname
    argTypes:
    - SStreamState*
    - int64_t
    - char
    constantsTouched: []
    func_position:
      end: 589
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 589
    functionName: streamStatePutParName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetSize
    - qTrace
    - tSimpleHashGet
    - qError
    - tstrerror
    - tSimpleHashPut
    - streamStatePutParName_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutParName(SStreamState* pState, int64_t groupId,
      const char tbname[TSDB_TABLE_NAME_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateGetKeyByRange
      Src: /src/tdengine/source/libs/stream/src/streamState.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - key
    - curKey
    argTypes:
    - SStreamState*
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    functionName: streamStateSessionGetKeyByRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateGetKeyByRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGetKeyByRange(SStreamState* pState, const
      SSessionKey* key, SSessionKey* curKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doTsDataCommit
      Src: /src/tdengine/source/libs/stream/src/streamState.c:760,1
    - Dst: doRangeDataCommit
      Src: /src/tdengine/source/libs/stream/src/streamState.c:762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 763
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 763
    functionName: streamStateTsDataCommit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - doRangeDataCommit
    - doTsDataCommit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateTsDataCommit(STableTsDataState* pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:826,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:830,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:828,1
    - Dst: streamStateSessionDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:833,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:834,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 837
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 837
    functionName: streamStateSessionDeleteAll
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateSessionGetKVByCur_rocksdb
    - streamStateSessionDel_rocksdb
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - streamStateFreeCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionDeleteAll(SStreamState* pState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateGetKeyByRange
      Src: /src/tdengine/source/libs/stream/src/streamState.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - key
    - curKey
    argTypes:
    - SStreamState*
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: streamStateCountGetKeyByRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateGetKeyByRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateCountGetKeyByRange(SStreamState* pState, const
      SSessionKey* key, SSessionKey* curKey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamState.c:599,1
    - Dst: streamStateGetParName_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:605,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:601,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:606,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamState.c:607,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:608,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:611,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamState.c:616,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:619,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:622,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamState.c:626,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:628,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - pState
    - groupId
    - pVal
    - onlyCache
    - pWinCode
    argTypes:
    - SStreamState*
    - int64_t
    - void**
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 631
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 631
    functionName: streamStateGetParName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateGetParName_rocksdb
    - tSimpleHashGetSize
    - taosMemoryCalloc
    - qTrace
    - tSimpleHashGet
    - qError
    - tstrerror
    - qDebug
    - tSimpleHashPut
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetParName(SStreamState* pState, int64_t groupId,
      void** pVal, bool onlyCache, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initTsDataState
      Src: /src/tdengine/source/libs/stream/src/streamState.c:767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - ppTsDataState
    - pkType
    - pkLen
    - pState
    - pOtherState
    argTypes:
    - STableTsDataState**
    - int8_t
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 768
    functionName: streamStateInitTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - initTsDataState
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateInitTsDataState(STableTsDataState** ppTsDataState,
      int8_t pkType, int32_t pkLen, void* pState, void* pOtherState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setStateRecFlag
      Src: /src/tdengine/source/libs/stream/src/streamState.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pKey
    - keyLen
    - mode
    argTypes:
    - SStreamState*
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 841
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 841
    functionName: streamStateSetRecFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - setStateRecFlag
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSetRecFlag(SStreamState* pState, const void* pKey,
      int32_t keyLen, int32_t mode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateGroupCurNext
      Src: /src/tdengine/source/libs/stream/src/streamState.c:720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 720
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 720
    functionName: streamStateGroupCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateGroupCurNext
    linkageType: ''
    returnType: void
    signature: 'void streamStateGroupCurNext(SStreamStateCur* pCur) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSessionFlushedBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:500,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SSessionKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: streamStateSessionGet
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getSessionFlushedBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGet(SStreamState* pState, SSessionKey* key,
      void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamState.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: streamStateGet
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - addRowBuffIfNotExist
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGet(SStreamState* pState, const SWinKey* key, void**
      pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateAllPrevRow
      Src: /src/tdengine/source/libs/stream/src/streamState.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pKey
    - pResArray
    - maxNum
    argTypes:
    - SStreamState*
    - SWinKey*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 752
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 752
    functionName: streamStateGetAllPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getRowStateAllPrevRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetAllPrev(SStreamState* pState, const SWinKey*
      pKey, SArray* pResArray, int32_t maxNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateGroupGetKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - int64_t*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: streamStateGroupGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateGroupGetKVByCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGroupGetKVByCur(SStreamStateCur* pCur, int64_t*
      pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - pKey
    - hasLimit
    - pIsLast
    argTypes:
    - SStreamState*
    - SWinKey*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: streamStateCheck
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - hasRowBuff
    linkageType: ''
    returnType: bool
    signature: 'bool streamStateCheck(SStreamState* pState, const SWinKey* pKey, bool
      hasLimit, bool* pIsLast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:504,1
    - Dst: deleteRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: streamStateSessionDel
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - deleteRowBuff
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void streamStateSessionDel(SStreamState* pState, const SSessionKey*
      key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAndSetTsData
      Src: /src/tdengine/source/libs/stream/src/streamState.c:756,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 8
    argNames:
    - pState
    - tableUid
    - pCurTs
    - ppCurPkVal
    - lastTs
    - pLastPkVal
    - lastPkLen
    - pWinCode
    argTypes:
    - STableTsDataState*
    - uint64_t
    - TSKEY*
    - void**
    - TSKEY
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 757
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 757
    functionName: streamStateGetAndSetTsData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getAndSetTsData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetAndSetTsData(STableTsDataState* pState, uint64_t
      tableUid, TSKEY* pCurTs, void** ppCurPkVal, TSKEY lastTs, void* pLastPkVal,
      int32_t lastPkLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pState
    - number
    - tsIdex
    argTypes:
    - SStreamState*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: streamStateSetNumber
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamStateSetNumber(SStreamState* pState, int32_t number, int32_t
      tsIdex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamState.c:510,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamState.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pState
    - pVal
    argTypes:
    - SStreamState*
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 512
    functionName: streamStateSessionReset
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getRowStateRowSize
    - memset
    linkageType: ''
    returnType: void
    signature: 'void streamStateSessionReset(SStreamState* pState, void* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNLastStateKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pCur
    - num
    - pRes
    argTypes:
    - SStreamStateCur*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 780
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 780
    functionName: streamStateNLastStateGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getNLastStateKVByCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateNLastStateGetKVByCur(SStreamStateCur* pCur, int32_t
      num, SArray* pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mergeAllScanRange
      Src: /src/tdengine/source/libs/stream/src/streamState.c:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 797
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 797
    functionName: streamStateMergeAllScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - mergeAllScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateMergeAllScanRange(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamState.c:812,1
    - Dst: saveRecInfoToDisk
      Src: /src/tdengine/source/libs/stream/src/streamState.c:816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pTblState
    - pKey
    - pVal
    - vLen
    argTypes:
    - STableTsDataState*
    - SSessionKey*
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 817
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 817
    functionName: streamStateSessionSaveToDisk
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - qDebug
    - saveRecInfoToDisk
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionSaveToDisk(STableTsDataState* pTblState,
      SSessionKey* pKey, SRecDataInfo* pVal, int32_t vLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamStateCreateBatch
      Src: /src/tdengine/source/libs/stream/src/streamState.c:329,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamState.c:334,1
    - Dst: streamStatePutBatch
      Src: /src/tdengine/source/libs/stream/src/streamState.c:330,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:333,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamState.c:338,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamState.c:338,1
    - Dst: streamStateDestroyBatch
      Src: /src/tdengine/source/libs/stream/src/streamState.c:340,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - pState
    - pKey
    - keyLen
    - pVal
    - vLen
    argTypes:
    - SStreamState*
    - void*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: streamStateSaveInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateDestroyBatch
    - streamStatePutBatch
    - qError
    - tstrerror
    - streamStatePutBatch_rocksdb
    - streamStateCreateBatch
    linkageType: ''
    returnType: void
    signature: 'void streamStateSaveInfo(SStreamState* pState, void* pKey, int32_t
      keyLen, void* pVal, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateSeekKeyCurrentPrev
      Src: /src/tdengine/source/libs/stream/src/streamState.c:515,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 516
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 516
    functionName: streamStateSessionSeekKeyCurrentPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateSeekKeyCurrentPrev
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyCurrentPrev(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getLastStateCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 782
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 782
    functionName: streamStateGetLastSessionStateCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getLastStateCur
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGetLastSessionStateCur(SStreamState*
      pState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: popScanRange
      Src: /src/tdengine/source/libs/stream/src/streamState.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTsDataState
    - pRange
    argTypes:
    - STableTsDataState*
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: streamStatePopScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - popScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePopScanRange(STableTsDataState* pTsDataState, SScanRange*
      pRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flushRemainRecInfoToDisk
      Src: /src/tdengine/source/libs/stream/src/streamState.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTblState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 821
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 821
    functionName: streamStateFlushReaminInfoToDisk
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - flushRemainRecInfoToDisk
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFlushReaminInfoToDisk(STableTsDataState* pTblState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateGroupPut
      Src: /src/tdengine/source/libs/stream/src/streamState.c:704,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - groupId
    - value
    - vLen
    argTypes:
    - SStreamState*
    - int64_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 705
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 705
    functionName: streamStateGroupPut
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateGroupPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGroupPut(SStreamState* pState, int64_t groupId,
      void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamDefaultGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - pState
    - pKey
    - keyLen
    - pVal
    - pLen
    argTypes:
    - SStreamState*
    - void*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: streamStateGetInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamDefaultGet_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetInfo(SStreamState* pState, void* pKey, int32_t
      keyLen, void** pVal, int32_t* pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamState.c:350,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: streamStateCreate
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - createRowBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateCreate(SStreamState* pState, const SWinKey* key,
      void** pVal, int32_t* pVLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamState.c:708,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamState.c:712,1
    - Dst: getGroupIdCache
      Src: /src/tdengine/source/libs/stream/src/streamState.c:711,1
    - Dst: streamStateParTagSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 718
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 718
    functionName: streamStateGroupGetCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - getGroupIdCache
    - createStateCursor
    - streamStateParTagSeekKeyNext_rocksdb
    - tSimpleHashIterate
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGroupGetCur(SStreamState* pState) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pWin1
    - pWin2
    argTypes:
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: sessionWinKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int sessionWinKeyCmpr(const SSessionKey* pWin1, const SSessionKey*
      pWin2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateDestroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - remove
    argTypes:
    - SStreamState*
    - bool
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: streamStateClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamStateClose(SStreamState* pState, bool remove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateGetKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamState.c:539,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: streamStateSessionGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamStateSessionGetKVByCur_rocksdb
    - sessionWinStateGetKVByCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGetKVByCur(SStreamStateCur* pCur, SSessionKey*
      pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateDestroy
      Src: /src/tdengine/source/libs/stream/src/streamState.c:657,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:660,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamState.c:658,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pState
    - remove
    argTypes:
    - SStreamState*
    - bool
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: streamStateDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateDestroy
    - taosMemoryFreeClear
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamStateDestroy(SStreamState* pState, bool remove) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamFileStateReloadInfo
      Src: /src/tdengine/source/libs/stream/src/streamState.c:664,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - ts
    argTypes:
    - SStreamState*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 664
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 664
    functionName: streamStateReloadInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - streamFileStateReloadInfo
    linkageType: ''
    returnType: void
    signature: 'void streamStateReloadInfo(SStreamState* pState, TSKEY ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamState.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: stateSessionKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinKeyCmpr
    linkageType: ''
    returnType: int
    signature: 'int stateSessionKeyCmpr(const void* pKey1, int kLen1, const void*
      pKey2, int kLen2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: streamStateBegin
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateBegin(SStreamState* pState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateClear
      Src: /src/tdengine/source/libs/stream/src/streamState.c:545,1
    - Dst: streamStateSessionClear_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamState.c:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: streamStateSessionClear
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamState.c
    functionUses: []
    functionsReached:
    - sessionWinStateClear
    - streamStateSessionClear_rocksdb
    linkageType: ''
    returnType: void
    signature: 'void streamStateSessionClear(SStreamState* pState) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamData.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMerged
    - pSubmit
    argTypes:
    - SStreamMergedSubmit*
    - SStreamDataSubmit*
    constantsTouched: []
    func_position:
      end: 47
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 47
    functionName: streamMergeSubmit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamMergeSubmit(SStreamMergedSubmit* pMerged, SStreamDataSubmit*
      pSubmit) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:56,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/stream/src/streamData.c:66,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:68,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamData.c:73,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamData.c:74,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamData.c:84,1
    - Dst: tsDecompressString
      Src: /src/tdengine/source/libs/stream/src/streamData.c:89,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/stream/src/streamData.c:94,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamData.c:100,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:104,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:105,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:108,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:112,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:107,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:106,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 4
    argNames:
    - pReq
    - blockType
    - srcVg
    - pRes
    argTypes:
    - SStreamDispatchReq*
    - int32_t
    - int32_t
    - SStreamDataBlock**
    constantsTouched: []
    func_position:
      end: 119
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 119
    functionName: createStreamBlockFromDispatchMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - taosFreeQitem
    - taosArrayGetP
    - tsDecompressString
    - taosArrayGet
    - taosMemoryMalloc
    - taosMemoryFree
    - blockDecode
    - memcpy
    - be64toh
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamBlockFromDispatchMsg(const SStreamDispatchReq*
      pReq, int32_t blockType, int32_t srcVg, SStreamDataBlock** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamData.c:153,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: destroyStreamDataBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamDataBlock(SStreamDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pData
    - type
    - pSubmit
    argTypes:
    - SPackedData*
    - int32_t
    - SStreamDataSubmit**
    constantsTouched: []
    func_position:
      end: 210
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 210
    functionName: streamDataSubmitNew
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDataSubmitNew(SPackedData* pData, int32_t type, SStreamDataSubmit**
      pSubmit) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/stream/src/streamData.c:227,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:232,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:235,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:233,1
    - Dst: streamQueueItemIncSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:233,1
    - Dst: streamMergeSubmit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:242,1
    - Dst: streamQueueItemIncSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:243,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:243,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:245,1
    - Dst: streamMergedSubmitNew
      Src: /src/tdengine/source/libs/stream/src/streamData.c:251,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:256,1
    - Dst: streamMergeSubmit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:260,1
    - Dst: streamQueueItemGetTypeStr
      Src: /src/tdengine/source/libs/stream/src/streamData.c:270,1
    - Dst: streamMergeSubmit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:258,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:264,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamData.c:270,1
    - Dst: streamQueueItemIncSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:256,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:263,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 3
    argNames:
    - dst
    - pElem
    - pRes
    argTypes:
    - SStreamQueueItem*
    - SStreamQueueItem*
    - SStreamQueueItem**
    constantsTouched: []
    func_position:
      end: 274
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 274
    functionName: streamQueueMergeQueueItem
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - streamQueueItemGetTypeStr
    - streamQueueItemIncSize
    - taosArrayDestroy
    - taosArrayAddAll
    - streamMergeSubmit
    - stDebug
    - streamMergedSubmitNew
    - streamQueueItemGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueMergeQueueItem(SStreamQueueItem* dst, SStreamQueueItem*
      pElem, SStreamQueueItem** pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamData.c:317,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamData.c:325,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamData.c:325,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/stream/src/streamData.c:320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamData.c:330,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:332,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamData.c:337,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamData.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - pTrigger
    - interval
    - pInterval
    - pLatestWindow
    - id
    argTypes:
    - SStreamTrigger**
    - int32_t
    - SInterval*
    - STimeWindow*
    - char*
    constantsTouched: []
    func_position:
      end: 345
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 345
    functionName: streamCreateForcewindowTrigger
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosGetTimestamp
    - taosMemoryCalloc
    - tstrerror
    - stDebug
    - TMAX
    - stError
    - QRY_PARAM_CHECK
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateForcewindowTrigger(SStreamTrigger** pTrigger,
      int32_t interval, SInterval* pInterval, STimeWindow* pLatestWindow, const char*
      id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:21,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:26,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pSubmit
    argTypes:
    - SStreamMergedSubmit**
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: streamMergedSubmitNew
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosArrayInit
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamMergedSubmitNew(SStreamMergedSubmit** pSubmit) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:123,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/stream/src/streamData.c:125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 5
    argNames:
    - pItem
    - pTask
    - resultSize
    - pRes
    - pBlock
    argTypes:
    - SStreamQueueItem*
    - SStreamTask*
    - int64_t
    - SArray*
    - SStreamDataBlock**
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: createStreamBlockFromResults
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosArrayClearEx
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamBlockFromResults(SStreamQueueItem* pItem, SStreamTask*
      pTask, int64_t resultSize, SArray* pRes, SStreamDataBlock** pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: freeItems
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeItems(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:160,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamData.c:166,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamData.c:162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamData.c:172,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:174,1
    - Dst: blockDecode
      Src: /src/tdengine/source/libs/stream/src/streamData.c:178,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:180,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:185,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:186,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/stream/src/streamData.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pReq
    - pData
    - id
    argTypes:
    - SStreamRetrieveReq*
    - SStreamDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: streamRetrieveReqToData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - blockDecode
    - be64toh
    - taosArrayPush
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamRetrieveReqToData(const SStreamRetrieveReq* pReq, SStreamDataBlock*
      pData, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamData.c:214,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pDataSubmit
    argTypes:
    - SStreamDataSubmit*
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: streamDataSubmitDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void streamDataSubmitDestroy(SStreamDataSubmit* pDataSubmit) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:283,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:284,1
    - Dst: destroyStreamDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamData.c:286,1
    - Dst: streamDataSubmitDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:288,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamData.c:292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamData.c:294,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamData.c:298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:301,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:302,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/stream/src/streamData.c:305,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:306,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamData.c:310,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:311,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 1
    argNames:
    - data
    argTypes:
    - SStreamQueueItem*
    constantsTouched: []
    func_position:
      end: 313
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 313
    functionName: streamFreeQitem
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - destroyStreamDataBlock
    - blockDataDestroy
    - taosArrayDestroyEx
    - taosArrayGetSize
    - streamDataSubmitDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamFreeQitem(SStreamQueueItem* data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamData.c:348,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:359,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamData.c:357,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pTrigger
    - type
    - blockType
    argTypes:
    - SStreamTrigger**
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 366
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 366
    functionName: streamCreateTriggerBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosFreeQitem
    - QRY_PARAM_CHECK
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateTriggerBlock(SStreamTrigger** pTrigger, int32_t
      type, int32_t blockType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:377,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamData.c:394,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamData.c:400,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamData.c:382,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamData.c:406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamData.c:412,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamData.c:413,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - pTask
    - pBlock
    - type
    argTypes:
    - SStreamTask*
    - SStreamDataBlock**
    - int32_t
    constantsTouched: []
    func_position:
      end: 415
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 415
    functionName: streamCreateRecalculateBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamData.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosMemoryFree
    - taosMemoryCalloc
    - taosArrayPush
    - taosArrayInit
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateRecalculateBlock(SStreamTask* pTask, SStreamDataBlock**
      pBlock, int32_t type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamBuildAndSendDropTaskMsg
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:419,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:423,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:433,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:470,1
    - Dst: streamTaskResetTimewindowFilter
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:483,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:410,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:412,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:426,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:429,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:430,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:456,1
    - Dst: streamTaskOpenAllUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:496,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:422,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:466,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:459,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:452,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:471,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:478,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:485,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:436,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:449,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:455,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:454,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:443,1
    - Dst: streamTaskSendCheckpointReq
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:490,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:498,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 500
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 500
    functionName: streamTransferStateDoPrepare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamTaskSendCheckpointReq
    - streamMetaCommit
    - streamTaskOpenAllUpstreamInput
    - streamTaskHandleEvent
    - tstrerror
    - streamMetaAcquireTask
    - streamTaskResetTimewindowFilter
    - streamMetaWUnLock
    - stDebug
    - streamMetaWLock
    - streamBuildAndSendDropTaskMsg
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTransferStateDoPrepare(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1148,1
    - Dst: qStreamOperatorReleaseState
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1157
    functionName: streamTaskReleaseState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - qStreamOperatorReleaseState
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskReleaseState(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskOpenAllUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:503,1
    - Dst: streamTaskSendCheckpointReq
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pTask
    - param
    argTypes:
    - SStreamTask*
    - void*
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: haltCallback
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskSendCheckpointReq
    - streamTaskOpenAllUpstreamInput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t haltCallback(SStreamTask* pTask, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1160,1
    - Dst: qStreamOperatorReloadState
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1169
    functionName: streamTaskReloadState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - qStreamOperatorReloadState
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskReloadState(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1195,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1200,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1199,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1199,1
    - Dst: streamDispatchStreamBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pBlock
    - pTask
    argTypes:
    - SStreamDataBlock*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1204
    functionName: continueDispatchRecalculateStart
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - streamDispatchStreamBlock
    - tstrerror
    - streamFreeQitem
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t continueDispatchRecalculateStart(SStreamDataBlock* pBlock,
      SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:139,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:147,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pTask
    - pNumOfBlocks
    - pRecalculateBlock
    - pRes
    argTypes:
    - SStreamTask*
    - int32_t*
    - SStreamTrigger*
    - SArray*
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: doAppendRecalBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayPush
    - stError
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAppendRecalBlock(SStreamTask* pTask, int32_t* pNumOfBlocks,
      SStreamTrigger* pRecalculateBlock, SArray* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:260,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:264,1
    - Dst: createStreamBlockFromResults
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:262,1
    - Dst: doOutputResultBlockImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:268,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:270,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pTask
    - pRes
    - size
    argTypes:
    - SStreamTask*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 276
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 276
    functionName: handleScanhistoryResultBlocks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - tstrerror
    - doOutputResultBlockImpl
    - taosArrayDestroyEx
    - createStreamBlockFromResults
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t handleScanhistoryResultBlocks(SStreamTask* pTask, SArray*
      pRes, int32_t size) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:549,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:558,1
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:557,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:561,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:552,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:570,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:571,1
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:572,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:578,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:579,1
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:581,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:609,1
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:597,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:603,1
    - Dst: qSetMultiStreamInput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:592,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:605,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:584,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 4
    argNames:
    - pTask
    - pInput
    - pVer
    - id
    argTypes:
    - SStreamTask*
    - void*
    - int64_t*
    - char*
    constantsTouched: []
    func_position:
      end: 614
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 614
    functionName: doSetStreamInputBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - qSetMultiStreamInput
    - stError
    - taosArrayGetSize
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetStreamInputBlock(SStreamTask* pTask, const void*
      pInput, int64_t* pVer, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:673,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:680,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:675,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:676,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - pInfo
    - totalBlocks
    - totalSize
    - blockSize
    - st
    - id
    argTypes:
    - STaskExecStatisInfo*
    - int64_t
    - int64_t
    - int64_t
    - double
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: doRecordThroughput
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - SIZE_IN_MiB
    - taosGetTimestampMs
    - fabs
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'static void doRecordThroughput(STaskExecStatisInfo* pInfo, int64_t
      totalBlocks, int64_t totalSize, int64_t blockSize, double st, const char* id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:735,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:736,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:737,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:740,1
    - Dst: streamTaskBuildCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:741,1
    - Dst: streamTaskSendCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:744,1
    - Dst: streamTaskSendCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:746,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:751,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 758
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 758
    functionName: doHandleChkptBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskSendCheckpointReadyMsg
    - streamTaskGetStatus
    - streamMutexLock
    - tstrerror
    - streamTaskBuildCheckpoint
    - stDebug
    - stError
    - streamTaskSendCheckpointSourceRsp
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doHandleChkptBlock(SStreamTask* pTask) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: qResetTaskCode
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:186,1
    - Dst: assignOneDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:217,1
    - Dst: qResetTaskInfoCode
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:178,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:223,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:226,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:228,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:172,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:183,1
    - Dst: doAppendPullOverBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:193,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:219,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:204,1
    - Dst: streamBroadcastToUpTasks
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:208,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:223,1
    - Dst: doDumpResult
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:236,1
    - Dst: doDumpResult
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:249,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:168,1
    - Dst: qExecTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:176,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:171,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:182,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:195,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:230,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:231,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:251,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 88
    argCount: 4
    argNames:
    - pTask
    - pItem
    - totalSize
    - totalBlocks
    argTypes:
    - SStreamTask*
    - SStreamQueueItem*
    - int64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 255
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 255
    functionName: streamTaskExecImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - doAppendPullOverBlock
    - assignOneDataBlock
    - qExecTask
    - blockDataGetNumOfCols
    - streamBroadcastToUpTasks
    - stFatal
    - tstrerror
    - qResetTaskCode
    - qResetTaskInfoCode
    - taosArrayPush
    - taosArrayDestroyEx
    - SIZE_IN_MiB
    - stDebug
    - doDumpResult
    - stError
    - blockDataGetSize
    - taosArrayInit
    - streamTaskShouldStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem* pItem,
      int64_t* totalSize, int32_t* totalBlocks) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:284,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:298,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:297,1
    - Dst: qExecTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:295,1
    - Dst: qResetTaskCode
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:299,1
    - Dst: qStreamScanhistoryFinished
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:305,1
    - Dst: assignOneDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:310,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:312,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:316,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:327,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:328,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:322,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:326,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:318,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:322,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 4
    argNames:
    - pTask
    - pRes
    - pSize
    - pFinish
    argTypes:
    - SStreamTask*
    - SArray*
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 332
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 332
    functionName: streamScanHistoryDataImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - qStreamScanhistoryFinished
    - assignOneDataBlock
    - qExecTask
    - SIZE_IN_KiB
    - blockDataGetNumOfCols
    - tstrerror
    - qResetTaskCode
    - taosArrayPush
    - stDebug
    - stError
    - blockDataGetSize
    - streamTaskShouldStop
    linkageType: ''
    returnType: void
    signature: 'static void streamScanHistoryDataImpl(SStreamTask* pTask, SArray*
      pRes, int32_t* pSize, bool* pFinish) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:692,1
    - Dst: streamQueueItemGetTypeStr
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:699,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:702,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:699,1
    - Dst: doSetStreamInputBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:700,1
    - Dst: streamTaskExecImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:706,1
    - Dst: doRecordThroughput
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:711,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:715,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:721,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pTask
    - pBlock
    - num
    argTypes:
    - SStreamTask*
    - SStreamQueueItem*
    - int32_t
    constantsTouched: []
    func_position:
      end: 728
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 728
    functionName: doStreamTaskExecImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamQueueItemGetTypeStr
    - doSetStreamInputBlock
    - streamTaskExecImpl
    - stDebug
    - stError
    - doRecordThroughput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamTaskExecImpl(SStreamTask* pTask, SStreamQueueItem*
      pBlock, int32_t num) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetPrevStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:764,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:772,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:772,1
    - Dst: streamTaskReleaseState
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:770,1
    - Dst: streamTaskReloadState
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:776,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:778,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:782,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:783,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:793,1
    - Dst: doStreamTaskExecImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:801,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:803,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:797,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:803,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pTask
    - pCheckpointBlock
    argTypes:
    - SStreamTask*
    - SStreamQueueItem*
    constantsTouched: []
    func_position:
      end: 807
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 807
    functionName: flushStateDataInExecutor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetPrevStatus
    - streamTaskReloadState
    - streamTaskGetStatus
    - doStreamTaskExecImpl
    - tstrerror
    - streamMetaAcquireTask
    - streamTaskReleaseState
    - stDebug
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t flushStateDataInExecutor(SStreamTask* pTask, SStreamQueueItem*
      pCheckpointBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:512,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:527,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:522,1
    - Dst: streamTaskHandleEventAsync
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:525,1
    - Dst: streamTransferStateDoPrepare
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:528,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:529,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:532,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 539
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 539
    functionName: streamTransferStatePrepare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskHandleEventAsync
    - streamTransferStateDoPrepare
    - tstrerror
    - streamMetaAcquireTask
    - stDebug
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTransferStatePrepare(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1037
    functionName: streamTaskIsIdle
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskIsIdle(const SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - code
    - idleTime
    argTypes:
    - EScanHistoryCode
    - int32_t
    constantsTouched: []
    func_position:
      end: 336
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 336
    functionName: buildScanhistoryExecRet
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SScanhistoryDataInfo
    signature: 'static SScanhistoryDataInfo buildScanhistoryExecRet(EScanHistoryCode
      code, int32_t idleTime) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:830,1
    - Dst: streamTaskSetIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:842,1
    - Dst: streamTaskSetIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:848,1
    - Dst: streamTaskGetDataFromInputQ
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:852,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:870,1
    - Dst: streamTaskSetIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:854,1
    - Dst: streamProcessTransstateBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:880,1
    - Dst: doOutputResultBlockImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:900,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:905,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:970,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:989,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:993,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:997,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:977,1
    - Dst: streamStartScanHistoryAsync
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:980,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:821,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:835,1
    - Dst: streamProcessCheckpointTriggerBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:872,1
    - Dst: doHandleChkptBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:885,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:892,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:906,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:939,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:948,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:960,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:967,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:971,1
    - Dst: doStreamTaskExecImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:929,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:932,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1005,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:969,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:829,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:834,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:841,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:847,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:899,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:899,1
    - Dst: streamAlignRecalculateStart
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:916,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:918,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:919,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:923,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1015,1
    - Dst: doStreamTaskExecImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:938,1
    - Dst: streamTaskSetIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1023,1
    - Dst: qStreamScanhistoryFinished
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1013,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:989,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:822,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:829,1
    - Dst: streamTaskSetIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:836,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:874,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:874,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:886,1
    - Dst: doStreamTaskExecImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:933,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:955,1
    - Dst: streamCreateRecalculateBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:983,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:985,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:962,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:985,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:987,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1020,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1022,1
    - Dst: continueDispatchRecalculateStart
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:999,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:991,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:954,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 189
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1029
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 1029
    functionName: doStreamExecTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamProcessCheckpointTriggerBlock
    - streamStartScanHistoryAsync
    - streamTaskPutDataIntoInputQ
    - stTrace
    - streamProcessTransstateBlock
    - streamTrySchedExec
    - streamCreateRecalculateBlock
    - doStreamTaskExecImpl
    - stError
    - taosGetTimestampMs
    - fabs
    - doHandleChkptBlock
    - streamMetaAcquireTask
    - streamAlignRecalculateStart
    - streamTaskShouldStop
    - qStreamScanhistoryFinished
    - taosArrayGet
    - SIZE_IN_KiB
    - doOutputResultBlockImpl
    - stDebug
    - taosMsleep
    - streamQueueIsFull
    - streamTaskGetStatus
    - continueDispatchRecalculateStart
    - tstrerror
    - streamFreeQitem
    - streamTaskSetIdleInfo
    - streamTaskGetDataFromInputQ
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamExecTask(SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1040,1
    - Dst: streamTaskIsSinkTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1048,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - pTask
    - pStatus
    argTypes:
    - SStreamTask*
    - char**
    constantsTouched: []
    func_position:
      end: 1055
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1055
    functionName: streamTaskReadyToRun
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamTaskIsSinkTask
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskReadyToRun(const SStreamTask* pTask, char** pStatus) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1089,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1099,1
    - Dst: doStreamExecTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1096,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1096,1
    - Dst: shouldNotCont
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1101,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1102,1
    - Dst: streamTaskClearSchedIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1103,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1104,1
    - Dst: setLastExecTs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1106,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1109,1
    - Dst: streamTaskResumeInFuture
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1116,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1118,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1108,1
    - Dst: setLastExecTs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1119,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1124,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1106,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1128
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1128
    functionName: streamResumeTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamTaskResumeInFuture
    - setLastExecTs
    - doStreamExecTask
    - streamMutexLock
    - atomic_store_8
    - streamTaskClearSchedIdleInfo
    - tstrerror
    - shouldNotCont
    - stDebug
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamResumeTask(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1172,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1175,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1178,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1179
    functionName: streamAlignTransferState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_32
    - taosArrayGetSize
    - atomic_sub_fetch_32
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamAlignTransferState(SStreamTask* pTask) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: qSetStreamOpOpen
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:349,1
    - Dst: handleScanhistoryResultBlocks
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:387,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:371,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:389,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:389,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:393,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:344,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:398,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:400,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:355,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:357,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:362,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:363,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:367,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:368,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:381,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:345,1
    - Dst: streamTaskShouldPause
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:354,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:361,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:374,1
    - Dst: buildScanhistoryExecRet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:383,1
    - Dst: streamScanHistoryDataImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:374,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:382,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:396,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - pTask
    - st
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 403
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 403
    functionName: streamScanHistoryData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamQueueIsFull
    - taosGetTimestampMs
    - streamScanHistoryDataImpl
    - streamTaskShouldStop
    - stWarn
    - tstrerror
    - taosArrayDestroyEx
    - handleScanhistoryResultBlocks
    - stDebug
    - buildScanhistoryExecRet
    - stError
    - qSetStreamOpOpen
    - streamTaskShouldPause
    - taosArrayInit
    linkageType: ''
    returnType: SScanhistoryDataInfo
    signature: 'SScanhistoryDataInfo streamScanHistoryData(SStreamTask* pTask, int64_t
      st) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1060,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1069,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1066,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1081
    functionName: shouldNotCont
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamQueueGetNumOfItems
    - streamTaskGetStatus
    - taosQueueItemSize
    linkageType: ''
    returnType: bool
    signature: 'static bool shouldNotCont(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSetSchedStatusActive
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1135,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1139,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1140,1
    - Dst: streamResumeTask
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1145
    functionName: streamExecTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamResumeTask
    - streamTaskSetSchedStatusActive
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamExecTask(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1182,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1188,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1185,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:1183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1189
    functionName: streamAlignRecalculateStart
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_32
    - taosArrayGetSize
    - atomic_sub_fetch_32
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamAlignRecalculateStart(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - ts
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 669
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 669
    functionName: setLastExecTs
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setLastExecTs(SStreamTask* pTask, int64_t ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: streamTaskShouldPause
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskShouldPause(const SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:72,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:82,1
    - Dst: createStreamBlockFromResults
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:80,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:74,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:82,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:83,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:87,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:88,1
    - Dst: doOutputResultBlockImpl
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - pTask
    - pItem
    - pRes
    - size
    - totalSize
    - totalBlocks
    argTypes:
    - SStreamTask*
    - SStreamQueueItem*
    - SArray*
    - int32_t
    - int64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: doDumpResult
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - tstrerror
    - SIZE_IN_MiB
    - doOutputResultBlockImpl
    - taosArrayDestroyEx
    - stDebug
    - createStreamBlockFromResults
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doDumpResult(SStreamTask* pTask, SStreamQueueItem*
      pItem, SArray* pRes, int32_t size, int64_t* totalSize, int32_t* totalBlocks) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamAlignTransferState
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:625,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:636,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:628,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:627,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:638,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:644,1
    - Dst: streamDispatchStreamBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:646,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:648,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:648,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:662,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:657,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:658,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:662,1
    - Dst: streamTransferStatePrepare
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:660,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:654,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:663,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - pTask
    - pBlock
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 666
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 666
    functionName: streamProcessTransstateBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - streamAlignTransferState
    - tstrerror
    - stError
    - streamFreeQitem
    - streamTransferStatePrepare
    - streamTaskSetSchedStatusInactive
    - stDebug
    - streamDispatchStreamBlock
    linkageType: ''
    returnType: void
    signature: 'void streamProcessTransstateBlock(SStreamTask* pTask, SStreamDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: streamTaskShouldStop
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskShouldStop(const SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:110,1
    - Dst: assignOneDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:111,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:113,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:106,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:113,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:120,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:123,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:127,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pTask
    - pNumOfBlocks
    - pRetrieveBlock
    - pRes
    argTypes:
    - SStreamTask*
    - int32_t*
    - SStreamDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: doAppendPullOverBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - assignOneDataBlock
    - taosArrayGet
    - tstrerror
    - taosArrayPush
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAppendPullOverBlock(SStreamTask* pTask, int32_t*
      pNumOfBlocks, SStreamDataBlock* pRetrieveBlock, SArray* pRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:52,1
    - Dst: destroyStreamDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:45,1
    - Dst: destroyStreamDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:48,1
    - Dst: streamTaskPutDataIntoOutputQ
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:56,1
    - Dst: destroyStreamDataBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:58,1
    - Dst: streamDispatchStreamBlock
      Src: /src/tdengine/source/libs/stream/src/streamExec.c:64,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pTask
    - pBlock
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: doOutputResultBlockImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamExec.c
    functionUses: []
    functionsReached:
    - stError
    - streamTaskPutDataIntoOutputQ
    - destroyStreamDataBlock
    - streamDispatchStreamBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doOutputResultBlockImpl(SStreamTask* pTask, SStreamDataBlock*
      pBlock) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:39,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:44,1
    - Dst: prepareBeforeStartTasks
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:53,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:59,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:67,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:80,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:95,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:108,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:130,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:153,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:176,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:81,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:90,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:98,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:115,1
    - Dst: streamTaskSendNegotiateChkptIdMsg
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:147,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:160,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:120,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:167,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:175,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:164,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:47,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:51,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:72,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:85,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:70,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:72,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:93,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:109,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:116,1
    - Dst: streamLaunchFillHistoryTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:118,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:120,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:46,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:64,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:69,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:77,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:96,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:131,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:133,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:138,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:142,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:124,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 102
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 178
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 178
    functionName: streamMetaStartAllTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamMetaResetStartInfo
    - streamMetaAddFailedTaskSelf
    - taosArrayGetSize
    - stError
    - streamMetaAcquireTaskNoLock
    - taosGetTimestampMs
    - taosArrayDestroy
    - HAS_RELATED_FILLHISTORY_TASK
    - taosArrayPush
    - streamTaskSendNegotiateChkptIdMsg
    - taosArrayGet
    - streamLaunchFillHistoryTask
    - streamTaskHandleEvent
    - stDebug
    - stInfo
    - prepareBeforeStartTasks
    - streamMetaAddTaskLaunchResultNoLock
    - streamMetaAddFailedTask
    - tstrerror
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaStartAllTasks(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:207,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:208,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:220,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:209,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pStartInfo
    - vgId
    argTypes:
    - STaskStartInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 221
    functionName: streamMetaResetStartInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosHashClear
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamMetaResetStartInfo(STaskStartInfo* pStartInfo, int32_t
      vgId) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:448,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:450,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:453,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:491,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:478,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:486,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:503,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:451,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:463,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:469,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:473,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:497,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:500,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:508,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:515,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:520,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:471,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:487,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:481,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:494,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:511,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:446,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:462,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:521,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - pMeta
    - streamId
    - taskId
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 524
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 524
    functionName: streamMetaStartOneTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamMutexLock
    - streamMetaAddFailedTaskSelf
    - streamTaskHandleEvent
    - streamMetaAddFailedTask
    - streamMetaAcquireTask
    - tstrerror
    - stFatal
    - streamMetaWUnLock
    - streamMetaWLock
    - stInfo
    - streamMetaReleaseTask
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaStartOneTask(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:183,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:187,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:193,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:189,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:189,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:194,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:195,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:196,1
    - Dst: streamMetaResetTaskStatus
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:202,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pMeta
    - pList
    - now
    argTypes:
    - SStreamMeta*
    - SArray**
    - int64_t
    constantsTouched: []
    func_position:
      end: 204
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 204
    functionName: prepareBeforeStartTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosHashClear
    - tstrerror
    - taosArrayDup
    - stError
    - streamMetaResetTaskStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t prepareBeforeStartTasks(SStreamMeta* pMeta, SArray** pList,
      int64_t now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:226,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:234,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:230,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:229,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:231,1
    - Dst: displayStatusInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:240,1
    - Dst: displayStatusInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pMeta
    - numOfTotal
    - taskId
    - ready
    argTypes:
    - SStreamMeta*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: streamMetaLogLaunchTasksInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - displayStatusInfo
    - stDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void streamMetaLogLaunchTasksInfo(SStreamMeta* pMeta, int32_t
      numOfTotal, int32_t taskId, bool ready) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:527,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:534,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:539,1
    - Dst: streamMetaSendMsgBeforeCloseTasks
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:542,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:553,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:568,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:563,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:535,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:548,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:544,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:571,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:569,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:530,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:531,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:550,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:560,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:566,1
    - Dst: streamTaskStop
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:558,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 573
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 573
    functionName: streamMetaStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamMetaSendMsgBeforeCloseTasks
    - taosGetTimestampMs
    - taosArrayGet
    - taosArrayDestroy
    - tstrerror
    - streamMetaWUnLock
    - stDebug
    - streamMetaWLock
    - taosArrayGetSize
    - streamMetaReleaseTask
    - stError
    - streamMetaAcquireTaskNoLock
    - streamTaskStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaStopAllTasks(SStreamMeta* pMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:262,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:290,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:254,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:258,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:302,1
    - Dst: allCheckDownstreamRspPartial
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:295,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:306,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:286,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:289,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:271,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:284,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:252,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:274,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:280,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:285,1
    - Dst: streamMetaLogLaunchTasksInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:301,1
    - Dst: allCheckDownstreamRsp
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 6
    argNames:
    - pMeta
    - streamId
    - taskId
    - startTs
    - endTs
    - ready
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    - int64_t
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 311
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 311
    functionName: streamMetaAddTaskLaunchResultNoLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamMetaGetNumOfTasks
    - streamMetaResetStartInfo
    - taosHashGetSize
    - tstrerror
    - allCheckDownstreamRsp
    - streamMetaAcquireTaskUnsafe
    - allCheckDownstreamRspPartial
    - stDebug
    - streamMetaLogLaunchTasksInfo
    - taosHashPut
    - taosArrayGetSize
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAddTaskLaunchResultNoLock(SStreamMeta* pMeta, int64_t
      streamId, int32_t taskId, int64_t startTs, int64_t endTs, bool ready) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:371,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:376,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:371,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:374,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:378,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:380,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:382,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pMeta
    - pTaskSet
    - succ
    argTypes:
    - SStreamMeta*
    - SHashObj*
    - bool
    constantsTouched: []
    func_position:
      end: 387
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 387
    functionName: displayStatusInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - streamMetaAcquireTaskUnsafe
    - stInfo
    - streamMetaReleaseTask
    linkageType: ''
    returnType: void
    signature: 'void displayStatusInfo(SStreamMeta* pMeta, SHashObj* pTaskSet, bool
      succ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:317,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:318,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 6
    argNames:
    - pMeta
    - streamId
    - taskId
    - startTs
    - endTs
    - ready
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    - int64_t
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 322
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 322
    functionName: streamMetaAddTaskLaunchResult
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamMetaWLock
    - streamMetaWUnLock
    - streamMetaAddTaskLaunchResultNoLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAddTaskLaunchResult(SStreamMeta* pMeta, int64_t
      streamId, int32_t taskId, int64_t startTs, int64_t endTs, bool ready) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:390,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:402,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:397,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:392,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pStartInfo
    argTypes:
    - STaskStartInfo*
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: streamMetaInitStartInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaInitStartInfo(STaskStartInfo* pStartInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:327,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:337,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:335,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pMeta
    - pStartInfo
    - numOfTotal
    argTypes:
    - SStreamMeta*
    - STaskStartInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 344
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 344
    functionName: allCheckDownstreamRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosHashGet
    - stDebug
    linkageType: ''
    returnType: bool
    signature: 'bool allCheckDownstreamRsp(SStreamMeta* pMeta, STaskStartInfo* pStartInfo,
      int32_t numOfTotal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaClearStartInfoPartial
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pStartInfo
    argTypes:
    - STaskStartInfo*
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: streamMetaClearStartInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - streamMetaClearStartInfoPartial
    linkageType: ''
    returnType: void
    signature: 'void streamMetaClearStartInfo(STaskStartInfo* pStartInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:583,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:590,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:587,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pTask
    - ts
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 596
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 596
    functionName: streamTaskCheckIfReqConsenChkptId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - stWarn
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskCheckIfReqConsenChkptId(SStreamTask* pTask, int64_t
      ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:348,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:357,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:353,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pStartInfo
    - num
    - vgId
    argTypes:
    - STaskStartInfo*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: allCheckDownstreamRspPartial
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosHashGet
    - stDebug
    linkageType: ''
    returnType: bool
    signature: 'bool allCheckDownstreamRspPartial(STaskStartInfo* pStartInfo, int32_t
      num, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:425,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:427,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pStartInfo
    argTypes:
    - STaskStartInfo*
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: streamMetaClearStartInfoPartial
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamMetaClearStartInfoPartial(STaskStartInfo* pStartInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pTask
    - transId
    - ts
    argTypes:
    - SStreamTask*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 605
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 605
    functionName: streamTaskSetConsenChkptIdRecv
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - stInfo
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetConsenChkptIdRecv(SStreamTask* pTask, int32_t transId,
      int64_t ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pTask
    - ts
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: streamTaskSetReqConsenChkptId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetReqConsenChkptId(SStreamTask* pTask, int64_t ts) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:621,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:628,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:637,1
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:631,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:634,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:639,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:642,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:647,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:649,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:652,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:659,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:654,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:662,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - pMeta
    - streamId
    - taskId
    - lock
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 668
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 668
    functionName: streamMetaAddFailedTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamMetaRLock
    - HAS_RELATED_FILLHISTORY_TASK
    - streamMetaAddTaskLaunchResultNoLock
    - streamMetaAddTaskLaunchResult
    - streamMetaAcquireTaskUnsafe
    - streamMetaRUnLock
    - stDebug
    - streamMetaReleaseTask
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAddFailedTask(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId, bool lock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:675,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:677,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:682,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:682,1
    - Dst: streamMetaAddTaskLaunchResult
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:690,1
    - Dst: streamMetaAddTaskLaunchResultNoLock
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:692,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:696,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamStartTask.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pTask
    - failedTs
    - lock
    argTypes:
    - SStreamTask*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 699
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 699
    functionName: streamMetaAddFailedTaskSelf
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamStartTask.c
    functionUses: []
    functionsReached:
    - HAS_RELATED_FILLHISTORY_TASK
    - streamMetaAddTaskLaunchResultNoLock
    - tstrerror
    - streamMetaAddTaskLaunchResult
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMetaAddFailedTaskSelf(SStreamTask* pTask, int64_t failedTs,
      bool lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSM
    argTypes:
    - SStreamTaskSM*
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: streamDestroyStateMachine
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamDestroyStateMachine(SStreamTaskSM* pSM) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:497,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:515,1
    - Dst: keepPrevInfo
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:528,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:558,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:563,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:564,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:507,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:508,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:540,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:560,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:512,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:520,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:520,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:521,1
    - Dst: callbackFn
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:546,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:545,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:545,1
    - Dst: doHandleWaitingEvent
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:558,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:512,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:513,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:551,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:531,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:522,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:551,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:554,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:557,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:562,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - pSM
    - event
    - callbackFn
    - param
    argTypes:
    - SStreamTaskSM*
    - EStreamTaskEvent
    - __state_trans_user_fn
    - void*
    constantsTouched: []
    func_position:
      end: 568
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 568
    functionName: streamTaskOnHandleEventSuccess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - callbackFn
    - keepPrevInfo
    - streamMutexLock
    - doHandleWaitingEvent
    - GET_EVT_NAME
    - stDebug
    - taosArrayGetSize
    - stError
    - stWarn
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskOnHandleEventSuccess(SStreamTaskSM* pSM, EStreamTaskEvent
      event, __state_trans_user_fn callbackFn, void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: streamTaskGetPrevStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ETaskStatus
    signature: 'ETaskStatus streamTaskGetPrevStatus(const SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:590,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:597,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:596,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 601
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 601
    functionName: streamTaskResetStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    - taosArrayClear
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskResetStatus(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 6
    argNames:
    - current
    - next
    - event
    - fn
    - succFn
    - pEventInfo
    argTypes:
    - ETaskStatus
    - ETaskStatus
    - EStreamTaskEvent
    - __state_trans_fn
    - __state_trans_succ_fn
    - SFutureHandleEventInfo*
    constantsTouched: []
    func_position:
      end: 637
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 637
    functionName: createStateTransform
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STaskStateTrans
    signature: 'STaskStateTrans createStateTransform(ETaskStatus current, ETaskStatus
      next, EStreamTaskEvent event, __state_trans_fn fn, __state_trans_succ_fn succFn,
      SFutureHandleEventInfo* pEventInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: attachWaitedEvent
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:326,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:336,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:327,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:334,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:335,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:339,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:339,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:342,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:342,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:343,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:345,1
    - Dst: streamTaskOnHandleEventSuccess
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:358,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:353,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:352,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - pSM
    - event
    - pTrans
    argTypes:
    - SStreamTaskSM*
    - EStreamTaskEvent
    - STaskStateTrans*
    constantsTouched: []
    func_position:
      end: 366
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 366
    functionName: doHandleEvent
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - attachWaitedEvent
    - streamMutexLock
    - streamTaskOnHandleEventSuccess
    - GET_EVT_NAME
    - stDebug
    - taosMsleep
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doHandleEvent(SStreamTaskSM* pSM, EStreamTaskEvent
      event, STaskStateTrans* pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: streamTaskGetStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SStreamTaskState
    signature: 'SStreamTaskState streamTaskGetStatus(const SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - status
    argTypes:
    - ETaskStatus
    constantsTouched: []
    func_position:
      end: 585
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 585
    functionName: streamTaskGetStatusStr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - tListLen
    linkageType: ''
    returnType: char*
    signature: 'const char * streamTaskGetStatusStr(ETaskStatus status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:606,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:614,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 617
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 617
    functionName: streamTaskSetStatusReady
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosGetTimestampMs
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetStatusReady(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - UNUSED_PARAM
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 76
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 76
    functionName: dummyFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dummyFn(SStreamTask* UNUSED_PARAM(p)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:248,1
    - Dst: doHandleWaitingEvent
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:262,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:259,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:257,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:260,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:264,1
    - Dst: removeEventInWaitingList
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:267,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:269,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 277
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 277
    functionName: streamTaskRestoreStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - removeEventInWaitingList
    - taosGetTimestampMs
    - streamMutexLock
    - doHandleWaitingEvent
    - tstrerror
    - stDebug
    - taosArrayGetSize
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskRestoreStatus(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:451,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:458,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:455,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:459,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:457,1
    - Dst: streamTaskFindTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:462,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:464,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:464,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:465,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:471,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:472,1
    - Dst: doHandleEventAsync
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:476,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:473,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - pSM
    - event
    - callbackFn
    - param
    argTypes:
    - SStreamTaskSM*
    - EStreamTaskEvent
    - __state_trans_user_fn
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 482
    functionName: streamTaskHandleEventAsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - doHandleEventAsync
    - GET_EVT_NAME
    - stDebug
    - streamTaskFindTransform
    - taosMsleep
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskHandleEventAsync(SStreamTaskSM* pSM, EStreamTaskEvent
      event, __state_trans_user_fn callbackFn, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:79,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:88,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:81,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:82,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:86,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:89,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:92,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pTask
    - pEvtInfo
    argTypes:
    - SStreamTask*
    - SFutureHandleEventInfo*
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: attachWaitedEvent
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - taosArrayPush
    - GET_EVT_NAME
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t attachWaitedEvent(SStreamTask* pTask, SFutureHandleEventInfo*
      pEvtInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initStateTransferTable
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:290,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:287,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:295,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:289,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:297,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:299,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 309
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: streamCreateStateMachine
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - initStateTransferTable
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateStateMachine(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pSM
    argTypes:
    - SStreamTaskSM*
    constantsTouched: []
    func_position:
      end: 489
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 489
    functionName: keepPrevInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void keepPrevInfo(SStreamTaskSM* pSM) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:157,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:170,1
    - Dst: isInvalidStateTransfer
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:159,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - ETaskStatus
    - EStreamTaskEvent
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: streamTaskFindTransform
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - isInvalidStateTransfer
    - GET_EVT_NAME
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: STaskStateTrans*
    signature: 'static STaskStateTrans * streamTaskFindTransform(ETaskStatus state,
      const EStreamTaskEvent event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:683,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:712,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:705,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:717,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:710,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:724,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:736,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:711,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:691,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:724,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:730,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:736,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:716,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:645,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:659,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:675,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:704,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:695,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:716,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:661,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:666,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:676,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:683,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:704,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:649,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:652,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:689,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:694,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:726,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:733,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:649,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:655,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:675,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:694,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:727,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:713,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:656,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:660,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:686,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:706,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:718,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:732,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:707,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:689,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:652,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:660,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:668,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:721,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:726,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:732,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:662,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:677,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:680,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:690,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:696,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:722,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:729,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:656,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:662,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:677,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:706,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:697,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:712,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:718,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:709,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:667,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:672,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:682,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:728,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:734,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:696,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:648,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:667,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:722,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:723,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:728,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:735,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:669,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:674,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:681,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:687,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:708,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:714,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:715,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:669,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:681,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:708,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:691,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:651,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:673,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:688,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:698,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:703,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:725,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:730,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:714,1
    - Dst: CHECK_RET_VAL
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:687,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:698,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:673,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:693,1
    - Dst: createStateTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 139
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 737
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 737
    functionName: doInitStateTransferTable
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - CHECK_RET_VAL
    - taosArrayInit
    - createStateTransform
    linkageType: ''
    returnType: void
    signature: 'void doInitStateTransferTable(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - state
    - event
    argTypes:
    - ETaskStatus
    - EStreamTaskEvent
    constantsTouched: []
    func_position:
      end: 153
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 153
    functionName: isInvalidStateTransfer
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isInvalidStateTransfer(ETaskStatus state, const EStreamTaskEvent
      event) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:99,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:100,1
    - Dst: streamTaskSendCheckMsg
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 105
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 105
    functionName: streamTaskInitStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskSendCheckMsg
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskInitStatus(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:178,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:189,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:182,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:179,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:190,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:193,1
    - Dst: streamTaskFindTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:195,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:198,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:199,1
    - Dst: streamTaskOnHandleEventSuccess
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:203,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:209,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:210,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:208,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pSM
    - pEventName
    - pTask
    argTypes:
    - SStreamTaskSM*
    - char*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 215
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 215
    functionName: doHandleWaitingEvent
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamTaskOnHandleEventSuccess
    - taosArrayPop
    - GET_EVT_NAME
    - streamTaskFindTransform
    - stDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doHandleWaitingEvent(SStreamTaskSM* pSM, const char*
      pEventName, SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: attachWaitedEvent
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:377,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:378,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:382,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:381,1
    - Dst: streamTaskOnHandleEventSuccess
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - pSM
    - event
    - pTrans
    - callbackFn
    - param
    argTypes:
    - SStreamTaskSM*
    - EStreamTaskEvent
    - STaskStateTrans*
    - __state_trans_user_fn
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 396
    functionName: doHandleEventAsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskOnHandleEventSuccess
    - attachWaitedEvent
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doHandleEventAsync(SStreamTaskSM* pSM, EStreamTaskEvent
      event, STaskStateTrans* pTrans, __state_trans_user_fn callbackFn, void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 641
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 641
    functionName: initStateTransferTable
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initStateTransferTable() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:108,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:113,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: streamTaskKeepCurrentVerInWal
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - stError
    - HAS_RELATED_FILLHISTORY_TASK
    - walReaderGetCurrentVer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskKeepCurrentVerInWal(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:220,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:223,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:230,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:229,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:231,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:238,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - event
    argTypes:
    - SStreamTask*
    - EStreamTaskEvent
    constantsTouched: []
    func_position:
      end: 242
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 242
    functionName: removeEventInWaitingList
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayRemove
    - GET_EVT_NAME
    - stDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t removeEventInWaitingList(SStreamTask* pTask, EStreamTaskEvent
      event) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:404,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:412,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:410,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:408,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:411,1
    - Dst: streamTaskFindTransform
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:415,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:417,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:417,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:419,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:426,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:434,1
    - Dst: doHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:437,1
    - Dst: GET_EVT_NAME
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:433,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:432,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTaskSm.c:427,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pSM
    - event
    argTypes:
    - SStreamTaskSM*
    - EStreamTaskEvent
    constantsTouched: []
    func_position:
      end: 443
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 443
    functionName: streamTaskHandleEvent
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTaskSm.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - doHandleEvent
    - GET_EVT_NAME
    - stDebug
    - streamTaskFindTransform
    - taosMsleep
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskHandleEvent(SStreamTaskSM* pSM, EStreamTaskEvent
      event) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pPos
    - num
    argTypes:
    - SRowBuffPos*
    - int64_t
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: intervalCreateStateKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - qError
    linkageType: ''
    returnType: void*
    signature: 'void * intervalCreateStateKey(SRowBuffPos* pPos, int64_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - pFileState
    - ts
    - gap
    argTypes:
    - SStreamFileState*
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1219
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1219
    functionName: isFlushedState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isFlushedState(SStreamFileState* pFileState, TSKEY ts, TSKEY
      gap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2026,1
    - Dst: streamStateSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2027,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2034,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2035,1
    - Dst: streamStateGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2030,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2036,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2038,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2039,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2043,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pFileState
    - pWinStates
    - groupId
    argTypes:
    - SStreamFileState*
    - SArray*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2046
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2046
    functionName: recoverHashSortBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - getStateFileStore
    - qError
    - tstrerror
    - taosArraySort
    - taosArrayPush
    - QUERY_CHECK_NULL
    - streamStateGetGroupKVByCur_rocksdb
    - streamStateSeekKeyPrev_rocksdb
    - streamStateCurPrev_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverHashSortBuff(SStreamFileState* pFileState, SArray*
      pWinStates, uint64_t groupId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:148,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pPos
    - num
    argTypes:
    - SRowBuffPos*
    - int64_t
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: defaultCreateStateKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - qError
    linkageType: ''
    returnType: void*
    signature: 'void * defaultCreateStateKey(SRowBuffPos* pPos, int64_t num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1221
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1221
    functionName: getFlushMark
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TSKEY
    signature: 'TSKEY getFlushMark(SStreamFileState* pFileState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2052,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2059,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2054,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2058,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2053,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2061,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2062,1
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2068,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2069,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2078,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2071,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2078,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - pResArray
    - maxNum
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2081
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2081
    functionName: getRowStateAllPrevRow
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - QUERY_CHECK_CODE
    - getStateFileStore
    - taosArrayGet
    - tSimpleHashGet
    - qError
    - tstrerror
    - winKeyCmprImpl
    - taosArrayPush
    - binarySearch
    - addRowBuffIfNotExist
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRowStateAllPrevRow(SStreamFileState* pFileState, const
      SWinKey* pKey, SArray* pResArray, int32_t maxNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:516,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:520,1
    - Dst: clearFlushedRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:521,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:524,1
    - Dst: flushSnapshot
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:539,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:550,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:544,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:554,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:542,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:513,1
    - Dst: popUsedBuffs
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:525,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:526,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:547,1
    - Dst: putFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:546,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:522,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:528,1
    - Dst: popUsedBuffs
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:529,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:530,1
    - Dst: clearFlushedRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:535,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:536,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 557
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 557
    functionName: flushRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isListEmpty
    - flushSnapshot
    - tdListFreeP
    - tdListNew
    - tdListInitIter
    - qError
    - tstrerror
    - clearFlushedRowBuff
    - tdListNext
    - TMAX
    - putFreeBuff
    - popUsedBuffs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t flushRowBuff(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deleteHashSortRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:800,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:798,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pFileState
    - pKey
    - keyLen
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 802
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 802
    functionName: deleteRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - deleteHashSortRowBuff
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void deleteRowBuff(SStreamFileState* pFileState, const void* pKey,
      int32_t keyLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1202
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1202
    functionName: streamFileStateGetSelectRowSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamFileStateGetSelectRowSize(SStreamFileState* pFileState) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearExpiredRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:561,1
    - Dst: flushRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:564,1
    - Dst: isListEmpty
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 570
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 570
    functionName: clearRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - clearExpiredRowBuff
    - flushRowBuff
    - isListEmpty
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearRowBuff(SStreamFileState* pFileState) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:808,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:812,1
    - Dst: streamStateSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:819,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:813,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:810,1
    - Dst: streamStateGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:821,1
    - Dst: streamStateDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:825,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:826,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pFileState
    - groupId
    argTypes:
    - SStreamFileState*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 828
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 828
    functionName: deleteRowBuffByGroupId
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - streamStateSeekKeyNext_rocksdb
    - qTrace
    - streamStateDel_rocksdb
    - tSimpleHashIterate
    - tSimpleHashIterateRemove
    - streamStateGetGroupKVByCur_rocksdb
    linkageType: ''
    returnType: void
    signature: 'void deleteRowBuffByGroupId(SStreamFileState* pFileState, uint64_t
      groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1205,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pFileState
    - ts
    argTypes:
    - SStreamFileState*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1207
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1207
    functionName: streamFileStateReloadInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateReloadInfo(SStreamFileState* pFileState, TSKEY
      ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: destroyRowBuffPosPtr
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - destroyRowBuffPos
    linkageType: ''
    returnType: void
    signature: 'void destroyRowBuffPosPtr(void* ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: destroyRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyRowBuff(void* ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - keyLen
    - mode
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    functionName: setStateRecFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setStateRecFlag(SStreamFileState* pFileState, const void*
      pKey, int32_t keyLen, int32_t mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: destroyRowBuffAllPosPtr
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - destroyRowBuffPos
    linkageType: ''
    returnType: void
    signature: 'void destroyRowBuffAllPosPtr(void* ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:358,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:360,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:359,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:361,1
    - Dst: sessionWinStateCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:363,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:364,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:365,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:367,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 369
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 369
    functionName: streamFileStateDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tSimpleHashCleanup
    - sessionWinStateCleanup
    - tdListFreeP
    - memset
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateDestroy(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pMode
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2094
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2094
    functionName: getStateRecFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStateRecFlag(SStreamFileState* pFileState, const void*
      pKey, int32_t keyLen, int32_t* pMode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1300,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1320,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1341,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1328,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1341,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1309,1
    - Dst: recoverStateRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1308,1
    - Dst: isDeteled
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1314,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1318,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1327,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1329,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1299,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1314,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1336,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1323,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1344
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1344
    functionName: getRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFlushedState
    - taosMemoryFree
    - tSimpleHashGet
    - qError
    - tstrerror
    - recoverStateRowBuff
    - memcpy
    - qDebug
    - isDeteled
    - tSimpleHashPut
    - TMAX
    - getNewRowPosForWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRowBuff(SStreamFileState* pFileState, void* pKey, int32_t
      keyLen, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFileState
    - pKey
    argTypes:
    - SStreamFileState*
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: intervalFileRemoveFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateDel_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t intervalFileRemoveFn(SStreamFileState* pFileState, const void*
      pKey) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1505,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1524,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1536,1
    - Dst: streamStateGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1548,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1553,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1563,1
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1565,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1523,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1506,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1511,1
    - Dst: needClearDiskBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1510,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1507,1
    - Dst: streamStateSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1512,1
    - Dst: streamStateGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1515,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1520,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1537,1
    - Dst: streamStateSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1545,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1527,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1571,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1571,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1534,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1533,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1550,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1556,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1560,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1557,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1517,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1522,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1540,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 68
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - pResKey
    - ppVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1574
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1574
    functionName: getRowStatePrevRow
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStateFileStore
    - binarySearch
    - streamStateGetGroupKVByCur_rocksdb
    - taosArrayGetSize
    - streamStateSeekKeyPrev_rocksdb
    - tSimpleHashGet
    - winKeyCmprImpl
    - addRowBuffIfNotExist
    - memcpy
    - streamStateFreeCur
    - taosArrayGet
    - qError
    - getRowStateRowSize
    - getNewRowPosForWrite
    - taosMemoryFreeClear
    - needClearDiskBuff
    - getSearchBuff
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRowStatePrevRow(SStreamFileState* pFileState, const SWinKey*
      pKey, SWinKey* pResKey, void** ppVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - data
    - pDataLen
    argTypes:
    - SStreamFileState*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: intervalFileGetFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateGet_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t intervalFileGetFn(SStreamFileState* pFileState, void* pKey,
      void** data, int32_t* pDataLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1351,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1356,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1354,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1355,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1357,1
    - Dst: streamStatePutParTag_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1359,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1360,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - pFileState
    - groupId
    - value
    - vLen
    argTypes:
    - SStreamFileState*
    - int64_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1368
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1368
    functionName: streamFileStateGroupPut
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStatePutParTag_rocksdb
    - tSimpleHashGetSize
    - tSimpleHashGet
    - qError
    - tstrerror
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamFileStateGroupPut(SStreamFileState* pFileState, int64_t
      groupId, void* value, int32_t vLen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:212,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:213,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:215,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:216,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:221,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:245,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:244,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:258,1
    - Dst: recoverSession
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:293,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:297,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:204,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:208,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:211,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:257,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:259,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:263,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:278,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:281,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:282,1
    - Dst: recoverSnapshot
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:291,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:207,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:218,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:232,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:243,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:260,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:264,1
    - Dst: streamDefaultGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:301,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:303,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:313,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:219,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:229,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:240,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:253,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:279,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:284,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:285,1
    - Dst: recoverFillSnapshot
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:295,1
    - Dst: streamFileStateDecode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:304,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:307,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:305,1
    - Dst: streamFileStateDestroy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:312,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 126
    argCount: 11
    argNames:
    - memSize
    - keySize
    - rowSize
    - selectRowSize
    - fp
    - pFile
    - delMark
    - taskId
    - checkpointId
    - type
    - ppFileState
    argTypes:
    - int64_t
    - uint32_t
    - uint32_t
    - uint32_t
    - GetTsFun
    - void*
    - TSKEY
    - char*
    - int64_t
    - int8_t
    - SStreamFileState**
    constantsTouched: []
    func_position:
      end: 316
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 316
    functionName: streamFileStateInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - recoverFillSnapshot
    - taosMemoryCalloc
    - streamFileStateDestroy
    - recoverSession
    - streamFileStateDecode
    - taosGetDefaultHashFunction
    - recoverSnapshot
    - tdListNew
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - TMAX
    - taosMemoryFreeClear
    - streamDefaultGet_rocksdb
    - QUERY_CHECK_CONDITION
    - tstrerror
    - taosStrdup
    - qDebug
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamFileStateInit(int64_t memSize, uint32_t keySize, uint32_t
      rowSize, uint32_t selectRowSize, GetTsFun fp, void* pFile, TSKEY delMark, const
      char* taskId, int64_t checkpointId, int8_t type, SStreamFileState** ppFileState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: getFileStateRowSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getFileStateRowSize(SStreamFileState* pFileState) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: deleteExpiredCheckPoint
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1096,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1110,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1101,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1097,1
    - Dst: streamStateSessionSeekToLast_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1100,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1117,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1118,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1121,1
    - Dst: putSessionWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1123,1
    - Dst: streamStateSessionCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1132,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pFileState
    - ckId
    argTypes:
    - SStreamFileState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1136
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1136
    functionName: recoverSession
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateFreeCur
    - getStateFileStore
    - qTrace
    - streamStateSessionGetKVByCur_rocksdb
    - deleteExpiredCheckPoint
    - qError
    - tstrerror
    - putSessionWinResultBuff
    - streamStateSessionCurPrev_rocksdb
    - createSessionWinBuff
    - TMIN
    - streamStateSessionSeekToLast_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverSession(SStreamFileState* pFileState, int64_t ckId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:320,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:323,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pPos
    argTypes:
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: destroyRowBuffPos
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - printSRowBuffPos
    linkageType: ''
    returnType: void
    signature: 'void destroyRowBuffPos(SRowBuffPos* pPos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:379,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:387,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 390
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 390
    functionName: putFreeBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - tdListAppend
    - printSRowBuffPos
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t putFreeBuff(SStreamFileState* pFileState, SRowBuffPos* pPos) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSeekToLast_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1150,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1151,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1167,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1179,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1172,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1178,1
    - Dst: deleteExpiredCheckPoint
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1146,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1159,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1169,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1182,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1170,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1188,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1162,1
    - Dst: streamStateGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1166,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1185,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1198,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1147,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1166,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1171,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1181,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1186,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1196,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1196,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - pFileState
    - ckId
    argTypes:
    - SStreamFileState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1200
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1200
    functionName: recoverSnapshot
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyRowBuffPos
    - streamStateFreeCur
    - streamStateGetKVByCur_rocksdb
    - getStateFileStore
    - qTrace
    - deleteExpiredCheckPoint
    - tdListPopTail
    - streamStateSeekToLast_rocksdb
    - qError
    - tstrerror
    - taosMemoryFreeClear
    - memcpy
    - qDebug
    - tSimpleHashPut
    - getNewRowPosForWrite
    - TMIN
    - streamStateCurPrev_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverSnapshot(SStreamFileState* pFileState, int64_t ckId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:626,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:632,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 634
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 634
    functionName: getFreeBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - memset
    - tdListPopHead
    linkageType: ''
    returnType: void*
    signature: 'void * getFreeBuff(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:842,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:837,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:836,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:838,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 845
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 845
    functionName: recoverSessionRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - qError
    - tstrerror
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t recoverSessionRowBuff(SStreamFileState* pFileState,
      SRowBuffPos* pPos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: streamFileStateClearBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateClearBuff(SStreamFileState* pFileState, SRowBuffPos*
      pPos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:850,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:856,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:853,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:861,1
    - Dst: clearRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:860,1
    - Dst: getFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:862,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:864,1
    - Dst: recoverSessionRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:868,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:872,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 875
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 875
    functionName: recoverStateRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - recoverSessionRowBuff
    - taosMemoryCalloc
    - QUERY_CHECK_CONDITION
    - qError
    - getFreeBuff
    - tstrerror
    - clearRowBuff
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t recoverStateRowBuff(SStreamFileState* pFileState, SRowBuffPos*
      pPos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1223
    functionName: getRowStateRowSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRowStateRowSize(SStreamFileState* pFileState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFileState
    - pPos
    - used
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    - bool
    constantsTouched: []
    func_position:
      end: 470
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 470
    functionName: streamFileStateReleaseBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateReleaseBuff(SStreamFileState* pFileState, SRowBuffPos*
      pPos, bool used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1212
    functionName: getStateFileStore
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * getStateFileStore(SStreamFileState* pFileState) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:477,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:480,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:487,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:486,1
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:488,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:489,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:492,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:493,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:501,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:505,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:501,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:505,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pFileState
    - pFlushList
    - max
    - used
    argTypes:
    - SStreamFileState*
    - SStreamSnapshot*
    - uint64_t
    - bool
    constantsTouched: []
    func_position:
      end: 508
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 508
    functionName: popUsedBuffs
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tdListPopNode
    - listNEles
    - tdListInitIter
    - qInfo
    - qError
    - tstrerror
    - tdListAppend
    - printSRowBuffPos
    - tdListNext
    - taosMemoryFreeClear
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t popUsedBuffs(SStreamFileState* pFileState, SStreamSnapshot*
      pFlushList, uint64_t max, bool used) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pFileState
    - ts
    argTypes:
    - SStreamFileState*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1217
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1217
    functionName: isDeteled
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isDeteled(SStreamFileState* pFileState, TSKEY ts) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1579,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1584,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1580,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1583,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1590,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1596,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - pFileState
    - pWinStates
    - pKey
    - pIsEnd
    argTypes:
    - SStreamFileState*
    - SArray*
    - SWinKey*
    - bool*
    constantsTouched: []
    func_position:
      end: 1599
      start: 1576
    functionDepth: 0
    functionLinenumber: 1576
    functionLinenumberEnd: 1599
    functionName: addSearchItem
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - isFlushedState
    - taosArrayGet
    - qError
    - tstrerror
    - winKeyCmprImpl
    - QUERY_CHECK_NULL
    - binarySearch
    - taosArrayGetSize
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addSearchItem(SStreamFileState* pFileState, SArray* pWinStates,
      const SWinKey* pKey, bool* pIsEnd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamStateCurNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1373,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1381,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1378,1
    - Dst: streamStateParTagSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1384,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1387
    functionName: streamFileStateGroupCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateCurNext
    - tSimpleHashGetKey
    - tSimpleHashIterate
    - TMAX
    - streamStateParTagSeekKeyNext_rocksdb
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateGroupCurNext(SStreamStateCur* pCur) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:396,1
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:402,1
    - Dst: putFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:403,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:399,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:404,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:409,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:410,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:411,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:417,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pFileState
    - ts
    - all
    argTypes:
    - SStreamFileState*
    - TSKEY
    - bool
    constantsTouched: []
    func_position:
      end: 419
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 419
    functionName: clearExpiredRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyRowBuffPos
    - tdListPopNode
    - tdListInitIter
    - qError
    - tstrerror
    - printSRowBuffPos
    - tdListNext
    - putFreeBuff
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void clearExpiredRowBuff(SStreamFileState* pFileState, TSKEY ts, bool
      all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1209
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1209
    functionName: getRowStateBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * getRowStateBuff(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1392,1
    - Dst: streamStateParTagGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1395,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - int64_t*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1396
    functionName: streamFileStateGroupGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - streamStateParTagGetKVByCur_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamFileStateGroupGetKVByCur(SStreamStateCur* pCur, int64_t*
      pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1605,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1609,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1613,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1610,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1612,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pSearchBuff
    - groupId
    - ppResStates
    argTypes:
    - SSHashObj*
    - uint64_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 1623
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1623
    functionName: addArrayBuffIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addArrayBuffIfNotExist(SSHashObj* pSearchBuff, uint64_t groupId,
      SArray** ppResStates) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:426,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:431,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:436,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:429,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:437,1
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:439,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:440,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:443,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:452,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:456,1
    - Dst: listNEles
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:452,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:456,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 4
    argNames:
    - pFileState
    - pFlushList
    - max
    - all
    argTypes:
    - SStreamFileState*
    - SStreamSnapshot*
    - uint64_t
    - bool
    constantsTouched: []
    func_position:
      end: 459
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 459
    functionName: clearFlushedRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFlushedState
    - tdListPopNode
    - listNEles
    - tdListInitIter
    - qError
    - tstrerror
    - tdListAppend
    - qDebug
    - printSRowBuffPos
    - tdListNext
    - taosMemoryFreeClear
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearFlushedRowBuff(SStreamFileState* pFileState, SStreamSnapshot*
      pFlushList, uint64_t max, bool all) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1210
    functionName: getSearchBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * getSearchBuff(SStreamFileState* pFileState) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:577,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:585,1
    - Dst: putFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:589,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:584,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:580,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:590,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:591,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:598,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pFileState
    - max
    argTypes:
    - SStreamFileState*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 601
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 601
    functionName: clearFlushedRowBuffByFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - destroyRowBuffPos
    - tdListPopNode
    - tdListInitIter
    - qError
    - tstrerror
    - tdListNext
    - putFreeBuff
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearFlushedRowBuffByFlag(SStreamFileState* pFileState, uint64_t
      max) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1927,1
    - Dst: moveLastStateCurNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1931,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1934,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1937,1
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1941,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1942,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1945,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1949,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1950,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1955,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1955,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - pCur
    - num
    - pRes
    argTypes:
    - SStreamStateCur*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1958
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1958
    functionName: getNLastStateKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - qError
    - tstrerror
    - taosArrayPush
    - QUERY_CHECK_NULL
    - addRowBuffIfNotExist
    - TMAX
    - moveLastStateCurNext
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNLastStateKVByCur(SStreamStateCur* pCur, int32_t num, SArray*
      pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clearExpiredRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:608,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:614,1
    - Dst: clearFlushedRowBuffByFlag
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:618,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:612,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 621
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 621
    functionName: clearRowBuffNonFlush
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - TMAX
    - clearFlushedRowBuffByFlag
    - clearExpiredRowBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearRowBuffNonFlush(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1965,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1966,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1967,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1970,1
    - Dst: recoverTsData
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1969,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1974,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1976,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1977,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1978,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1980,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1986,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1985,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1989
      start: 1960
    functionDepth: 0
    functionLinenumber: 1960
    functionLinenumberEnd: 1989
    functionName: reloadTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - recoverTsData
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - tSimpleHashCleanup
    - qError
    - tstrerror
    - tSimpleHashInit
    - tSimpleHashIterate
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reloadTsDataState(STableTsDataState* pTsDataState) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2108,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2139,1
    - Dst: flushSnapshot
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2148,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2102,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2114,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2121,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2141,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2150,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2113,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2119,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2122,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2132,1
    - Dst: clearRowBuffNonFlush
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2149,1
    - Dst: tdListFreeP
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2151,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2112,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2106,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2111,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2127,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2130,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2131,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2144,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2156,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 4
    argNames:
    - pFileState
    - numOfKeep
    - minTs
    - pFlushGroup
    argTypes:
    - SStreamFileState*
    - int32_t
    - TSKEY
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 2158
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2158
    functionName: clearExpiredSessionState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - QUERY_CHECK_CODE
    - tSimpleHashGetSize
    - tdListFreeP
    - tSimpleHashIterate
    - tdListAppend
    - binarySearch
    - qTrace
    - taosArrayRemoveBatch
    - tSimpleHashGet
    - isFlushedState
    - tSimpleHashGetKey
    - flushSnapshot
    - tdListNew
    - clearRowBuffNonFlush
    - qError
    - tSimpleHashPut
    - TMAX
    - tSimpleHashRemove
    - tstrerror
    - qDebug
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: 'void clearExpiredSessionState(SStreamFileState* pFileState, int32_t
      numOfKeep, TSKEY minTs, SSHashObj* pFlushGroup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: needClearDiskBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1468,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1477,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1452,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1464,1
    - Dst: recoverHashSortBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1469,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1478,1
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1451,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1455,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1468,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1472,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1473,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1494,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1456,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1461,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1489,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1483,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1484,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1474,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1497
    functionName: getStateSearchRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getSearchBuff
    - isFlushedState
    - recoverHashSortBuff
    - taosArrayGet
    - taosArrayRemoveBatch
    - tSimpleHashGet
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - winKeyCmprImpl
    - binarySearch
    - addRowBuffIfNotExist
    - tSimpleHashPut
    - taosArrayGetSize
    - taosArrayInsert
    - needClearDiskBuff
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStateSearchRowBuff(SStreamFileState* pFileState, const
      SWinKey* pKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_TSDATA_FLAG
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1626,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1631,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1633,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - ts
    - pVal
    - len
    - pBuff
    - buffLen
    argTypes:
    - TSKEY
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1634
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1634
    functionName: setValueBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - SET_TSDATA_FLAG
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void setValueBuff(TSKEY ts, char* pVal, int32_t len, char*
      pBuff, int32_t buffLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:718,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:732,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:719,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:729,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:735,1
    - Dst: isDeteled
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:739,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:739,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:745,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:750,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:743,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:760,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:751,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:747,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:760,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 763
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 763
    functionName: addRowBuffIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFlushedState
    - taosMemoryFree
    - tSimpleHashGet
    - qError
    - tstrerror
    - memcpy
    - qDebug
    - isDeteled
    - tSimpleHashPut
    - TMAX
    - getNewRowPosForWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addRowBuffIfNotExist(SStreamFileState* pFileState, void* pKey,
      int32_t keyLen, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1789,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1790,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1794,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1793,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1792,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1797,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1798,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1801,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1806,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1807,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1812,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1820,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1823,1
    - Dst: streamStateCreateBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1819,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1811,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1829,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1818,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 5
    argNames:
    - ppTsDataState
    - pkType
    - pkLen
    - pState
    - pOtherState
    argTypes:
    - STableTsDataState**
    - int8_t
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1832
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1832
    functionName: initTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateGetCfIdx
    - taosMemoryCalloc
    - qError
    - tstrerror
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - getKeyComparFunc
    - streamStateCreateBatch
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTsDataState(STableTsDataState** ppTsDataState, int8_t
      pkType, int32_t pkLen, void* pState, void* pOtherState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1845,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1850,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1847,1
    - Dst: destroyScanRange
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1848,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1851,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1852,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1853,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1854,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1857,1
    - Dst: streamStateDestroyBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1858,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1862,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1863
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1863
    functionName: destroyTsDataState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateClearBatch
    - streamStateDestroyBatch
    - taosArrayGet
    - taosArrayDestroy
    - tSimpleHashCleanup
    - destroyScanRange
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyTsDataState(STableTsDataState* pTsDataState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1899,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1907,1
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1903,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pFileState
    - fn
    argTypes:
    - SStreamFileState*
    - getStateBuffFn
    constantsTouched: []
    func_position:
      end: 1909
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1909
    functionName: getLastStateCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - fn
    - createStateCursor
    - tSimpleHashIterate
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * getLastStateCur(SStreamFileState* pFileState, getStateBuffFn
      fn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamStatePutBatchOptimize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1996,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2003,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2000,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2002,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1998,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2004,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2005,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2010,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2010,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - pTsDataState
    - pKey
    - pVal
    - vLen
    argTypes:
    - STableTsDataState*
    - SSessionKey*
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2013
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2013
    functionName: saveRecInfoToDisk
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateClearBatch
    - streamStateGetBatchSize
    - streamStatePutBatchOptimize
    - memset
    - qError
    - tstrerror
    - streamStatePutBatch_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveRecInfoToDisk(STableTsDataState* pTsDataState, SSessionKey*
      pKey, SRecDataInfo* pVal, int32_t vLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:769,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:777,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:771,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:774,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:779,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:780,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:789,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:789,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pVal
    - pVLen
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 792
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 792
    functionName: createRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - memcpy
    - tSimpleHashPut
    - TMAX
    - getNewRowPosForWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createRowBuff(SStreamFileState* pFileState, void* pKey, int32_t
      keyLen, void** pVal, int32_t* pVLen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1642,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1650,1
    - Dst: setValueBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1652,1
    - Dst: setValueBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1647,1
    - Dst: setValueBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1657,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1658,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1661,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1663,1
    - Dst: streamStateGetParTag_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1681,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1681,1
    - Dst: streamStatePutParTag_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1674,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1670,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 8
    argNames:
    - pTsDataState
    - tableUid
    - pCurTs
    - ppCurPkVal
    - lastTs
    - pLastPkVal
    - lastPkLen
    - pWinCode
    argTypes:
    - STableTsDataState*
    - uint64_t
    - TSKEY*
    - void**
    - TSKEY
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1684
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1684
    functionName: getAndSetTsData
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStatePutParTag_rocksdb
    - tSimpleHashGetSize
    - tSimpleHashGet
    - streamStateGetParTag_rocksdb
    - qError
    - tstrerror
    - POINTER_SHIFT
    - setValueBuff
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getAndSetTsData(STableTsDataState* pTsDataState, uint64_t
      tableUid, TSKEY* pCurTs, void** ppCurPkVal, TSKEY lastTs, void* pLastPkVal,
      int32_t lastPkLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1837,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1841
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1841
    functionName: destroyScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyScanRange(SScanRange* pRange) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1868,1
    - Dst: streamStateParTagGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1874,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1880,1
    - Dst: streamStateParTagSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1879,1
    - Dst: UNSET_TSDATA_FLAG
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1883,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1885,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1886,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1887,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1891,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1896
    functionName: recoverTsData
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateFreeCur
    - taosMemoryFree
    - createStateCursor
    - streamStateCurNext_rocksdb
    - qError
    - tstrerror
    - UNSET_TSDATA_FLAG
    - streamStateParTagGetKVByCur_rocksdb
    - tSimpleHashPut
    - streamStateParTagSeekKeyNext_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverTsData(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1912,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCur
    - fn
    argTypes:
    - SStreamStateCur*
    - getStateBuffFn
    constantsTouched: []
    func_position:
      end: 1914
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1914
    functionName: moveLastStateCurNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - fn
    - tSimpleHashIterate
    linkageType: ''
    returnType: void
    signature: 'void moveLastStateCurNext(SStreamStateCur* pCur, getStateBuffFn fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2016,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:2017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2019
    functionName: flushRemainRecInfoToDisk
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateClearBatch
    - streamStatePutBatch_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t flushRemainRecInfoToDisk(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBuff
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: stateHashBuffClearFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    linkageType: ''
    returnType: void
    signature: 'void stateHashBuffClearFn(void* pBuff) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:102,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pBuff
    - pKey
    - keyLen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: stateHashBuffRemoveFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashRemove
    - tSimpleHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateHashBuffRemoveFn(void* pBuff, const void* pKey, size_t
      keyLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:464,1
    - Dst: clearExpiredRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 466
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 466
    functionName: streamFileStateClear
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashClear
    - clearExpiredRowBuff
    linkageType: ''
    returnType: void
    signature: 'void streamFileStateClear(SStreamFileState* pFileState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1042,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1042,1
    - Dst: streamDefaultDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1043,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pFileState
    - checkpointId
    argTypes:
    - SStreamFileState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    functionName: forceRemoveCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tsnprintf
    - streamDefaultDel_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t forceRemoveCheckpoint(SStreamFileState* pFileState, int64_t
      checkpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pVal
    - pVLen
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1228
    functionName: getFunctionRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getFunctionRowBuff(SStreamFileState* pFileState, void* pKey,
      int32_t keyLen, void** pVal, int32_t* pVLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:112,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:116,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:115,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: stateHashBuffRemoveByPosFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashRemove
    - tSimpleHashGet
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void stateHashBuffRemoveByPosFn(SStreamFileState* pFileState, SRowBuffPos*
      pPos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBuff
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 123
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 123
    functionName: stateHashBuffCleanupFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void stateHashBuffCleanupFn(void* pBuff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: needClearDiskBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool needClearDiskBuff(SStreamFileState* pFileState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1053,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1053,1
    - Dst: streamDefaultGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1054,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1058,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1060,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1061,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1067,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1067,1
    - Dst: streamDefaultGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1068,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1072,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1077,1
    - Dst: forceRemoveCheckpoint
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1074,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1081,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pFileState
    - mark
    argTypes:
    - SStreamFileState*
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1086
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1086
    functionName: deleteExpiredCheckPoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - qTrace
    - streamDefaultGet_rocksdb
    - taosStr2Int64
    - strlen
    - forceRemoveCheckpoint
    - memcpy
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteExpiredCheckPoint(SStreamFileState* pFileState, TSKEY
      mark) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1261,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1266,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1273,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1278,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1289,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1238,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1256,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1257,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1258,1
    - Dst: tdListPopTail
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1259,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1270,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1267,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1269,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1289,1
    - Dst: deleteExpiredCheckPoint
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1237,1
    - Dst: streamStateFillSeekToLast_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1274,1
    - Dst: destroyRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1280,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1283,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1245,1
    - Dst: streamStateFillGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1255,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1260,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1277,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - pFileState
    - ckId
    argTypes:
    - SStreamFileState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1292
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1292
    functionName: recoverFillSnapshot
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFlushedState
    - destroyRowBuffPos
    - streamStateFreeCur
    - streamStateFillGetKVByCur_rocksdb
    - deleteExpiredCheckPoint
    - tdListPopTail
    - streamStateFillSeekToLast_rocksdb
    - qError
    - tstrerror
    - taosMemoryFreeClear
    - memcpy
    - qDebug
    - tSimpleHashPut
    - getNewRowPosForWrite
    - TMIN
    - streamStateCurPrev_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverFillSnapshot(SStreamFileState* pFileState, int64_t
      ckId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:85,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pWin1
    - pDatas
    - pos
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: fillStateKeyCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - winKeyCmprImpl
    - taosArrayGet
    linkageType: ''
    returnType: int
    signature: 'int fillStateKeyCompare(const void* pWin1, const void* pDatas, int
      pos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pKey1
    - pDatas
    - pos
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: fillTSKeyCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int
    signature: 'int fillTSKeyCompare(const void* pKey1, const void* pDatas, int pos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1703,1
    - Dst: UNSET_TSDATA_FLAG
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1710,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1729,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1696,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1702,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1715,1
    - Dst: HAS_TSDATA_FLAG
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1708,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1719,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1709,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1727,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1727,1
    - Dst: streamStateDestroyBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1730,1
    - Dst: streamStateCreateBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1692,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1697,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1701,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1704,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1705,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1721,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1713,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1714,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1722,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1693,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1694,1
    - Dst: streamStatePutBatchOptimize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1686
    functionDepth: 0
    functionLinenumber: 1686
    functionLinenumberEnd: 1732
    functionName: doTsDataCommit
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateDestroyBatch
    - taosMemoryFree
    - taosMemoryCalloc
    - streamStateGetBatchSize
    - tSimpleHashIterate
    - streamStatePutBatch_rocksdb
    - UNSET_TSDATA_FLAG
    - streamStateGetCfIdx
    - streamStateClearBatch
    - tSimpleHashGetKey
    - streamStatePutBatchOptimize
    - memset
    - qError
    - QUERY_CHECK_NULL
    - HAS_TSDATA_FLAG
    - tstrerror
    - qDebug
    - streamStateCreateBatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTsDataCommit(STableTsDataState* pTsDataState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSessionDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFileState
    - pKey
    argTypes:
    - SStreamFileState*
    - void*
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: sessionFileRemoveFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateSessionDel_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sessionFileRemoveFn(SStreamFileState* pFileState, const void*
      pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:165,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pPos
    - num
    argTypes:
    - SRowBuffPos*
    - int64_t
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: sessionCreateStateKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - qError
    linkageType: ''
    returnType: void*
    signature: 'void * sessionCreateStateKey(SRowBuffPos* pPos, int64_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:180,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:182,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pKey
    - pVal
    - pLen
    argTypes:
    - TSKEY*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 188
    functionName: streamFileStateEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - taosEncodeFixedI64
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamFileStateEncode(TSKEY* pKey, void** pVal, int32_t*
      pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSessionGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - data
    - pDataLen
    argTypes:
    - SStreamFileState*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: sessionFileGetFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateSessionGet_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sessionFileGetFn(SStreamFileState* pFileState, void* pKey,
      void** data, int32_t* pDataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pKey
    - pBuff
    - len
    argTypes:
    - TSKEY*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 176
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 176
    functionName: streamFileStateDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void
    signature: 'static void streamFileStateDecode(TSKEY* pKey, void* pBuff, int32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - buf
    - info
    - line
    argTypes:
    - SRowBuffPos*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: printSRowBuffPos
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void printSRowBuffPos(SRowBuffPos* buf, const char* info, int32_t
      line) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1740,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1746,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1749,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1750,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1761,1
    - Dst: streamStatePutBatchOptimize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1766,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1779,1
    - Dst: streamStateCreateBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1739,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1760,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1741,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1744,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1748,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1754,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1771,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1747,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1753,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1773,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1774,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1756,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1768,1
    - Dst: streamStateDestroyBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1781,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1783
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1783
    functionName: doRangeDataCommit
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - streamStateClearBatch
    - QUERY_CHECK_CODE
    - streamStateGetCfIdx
    - tSimpleHashGetKey
    - taosArrayGet
    - streamStateDestroyBatch
    - tSimpleHashGetSize
    - taosMemoryCalloc
    - streamStateGetBatchSize
    - streamStatePutBatchOptimize
    - qError
    - tstrerror
    - tSimpleHashIterate
    - streamStatePutBatch_rocksdb
    - QUERY_CHECK_NULL
    - streamStateCreateBatch
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doRangeDataCommit(STableTsDataState* pTsDataState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: recoverSessionRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:882,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:883,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:900,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:890,1
    - Dst: recoverStateRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:900,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pFileState
    - pPos
    - pVal
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    - void**
    constantsTouched: []
    func_position:
      end: 903
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 903
    functionName: getRowBuffByPos
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - recoverSessionRowBuff
    - qError
    - tstrerror
    - recoverStateRowBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getRowBuffByPos(SStreamFileState* pFileState, SRowBuffPos*
      pPos, void** pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearExpiredRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 948
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 948
    functionName: getSnapshot
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - clearExpiredRowBuff
    linkageType: ''
    returnType: SStreamSnapshot*
    signature: 'SStreamSnapshot * getSnapshot(SStreamFileState* pFileState) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1400
    functionName: getGroupIdCache
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSHashObj*
    signature: 'SSHashObj * getGroupIdCache(SStreamFileState* pFileState) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:911,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:921,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:922,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:917,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:915,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:924,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:928,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:929,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:930,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - hasLimit
    - pIsLast
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 940
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 940
    functionName: hasRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - taosArrayGet
    - tSimpleHashGet
    - taosArrayGetLast
    - winKeyCmprImpl
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool hasRowBuff(SStreamFileState* pFileState, const SWinKey* pKey,
      bool hasLimit, bool* pIsLast) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:962,1
    - Dst: streamStateCreateBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:968,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:983,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:990,1
    - Dst: streamStateGetBatchSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1001,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1003,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1004,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1013,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1021,1
    - Dst: streamStatePutBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1024,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:959,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:956,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:984,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1014,1
    - Dst: streamFileStateEncode
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1020,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1023,1
    - Dst: streamStatePutBatch_rocksdb
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1028,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1034,1
    - Dst: streamStateDestroyBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1037,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1036,1
    - Dst: streamStatePutBatchOptimize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:992,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:997,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:999,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1009,1
    - Dst: tdListInitIter
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:954,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:965,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:971,1
    - Dst: tdListNext
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:974,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:980,1
    - Dst: streamStateClearBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:985,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:982,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:994,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:995,1
    - Dst: clearSearchBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1011,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1026,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 3
    argNames:
    - pFileState
    - pSnapshot
    - flushState
    argTypes:
    - SStreamFileState*
    - SStreamSnapshot*
    - bool
    constantsTouched: []
    func_position:
      end: 1038
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 1038
    functionName: flushSnapshot
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateDestroyBatch
    - taosMemoryFree
    - taosMemoryCalloc
    - streamStateGetBatchSize
    - streamStatePutBatch_rocksdb
    - streamFileStateEncode
    - taosGetTimestampMs
    - streamStateGetCfIdx
    - tdListInitIter
    - tdListNext
    - streamStateClearBatch
    - streamStatePutBatch
    - streamStatePutBatchOptimize
    - memset
    - qError
    - QUERY_CHECK_NULL
    - TMAX
    - taosMemoryFreeClear
    - clearSearchBuff
    - tstrerror
    - qDebug
    - streamStateCreateBatch
    linkageType: ''
    returnType: void
    signature: 'void flushSnapshot(SStreamFileState* pFileState, SStreamSnapshot*
      pSnapshot, bool flushState) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1413,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1414,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1430,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1434,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1408,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1441,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1437,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1441,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1410,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1416,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1423,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1431,1
    - Dst: clearRowBuffNonFlush
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1436,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1415,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1421,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:1427,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - pFileState
    - numOfKeep
    - minTs
    argTypes:
    - SStreamFileState*
    - int32_t
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1443
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1443
    functionName: clearExpiredState
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - isFlushedState
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - taosArrayGet
    - qTrace
    - tSimpleHashGetSize
    - taosArrayRemoveBatch
    - clearRowBuffNonFlush
    - qError
    - tstrerror
    - tSimpleHashIterate
    - binarySearch
    - qDebug
    - TMAX
    - tSimpleHashRemove
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: 'void clearExpiredState(SStreamFileState* pFileState, int32_t numOfKeep,
      TSKEY minTs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:645,1
    - Dst: getFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:657,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:648,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:654,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:651,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:664,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:665,1
    - Dst: clearRowBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:671,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:672,1
    - Dst: getFreeBuff
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:674,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:677,1
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:684,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:679,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:681,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:684,1
    - Dst: printSRowBuffPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:675,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 689
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 689
    functionName: getNewRowPos
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - QUERY_CHECK_CONDITION
    - qError
    - getFreeBuff
    - tstrerror
    - QUERY_CHECK_NULL
    - tdListAppend
    - printSRowBuffPos
    - clearRowBuff
    linkageType: ''
    returnType: SRowBuffPos*
    signature: 'SRowBuffPos * getNewRowPos(SStreamFileState* pFileState) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getNewRowPos
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:694,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:708,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/tstreamFileState.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 711
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 711
    functionName: getNewRowPosForWrite
    functionSourceFile: /src/tdengine/source/libs/stream/src/tstreamFileState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getNewRowPos
    - tstrerror
    - qError
    linkageType: ''
    returnType: SRowBuffPos*
    signature: 'SRowBuffPos * getNewRowPosForWrite(SStreamFileState* pFileState) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:30,1
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:34,1
    - Dst: streamStateFillSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:31,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:38,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:39,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:40,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:42,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:43,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:47,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:47,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pFileState
    - pWinStates
    - groupId
    argTypes:
    - SStreamFileState*
    - SArray*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 50
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 50
    functionName: recoverSearchBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - getStateFileStore
    - qError
    - tstrerror
    - taosArraySort
    - taosArrayPush
    - streamStateFillGetGroupKVByCur_rocksdb
    - QUERY_CHECK_NULL
    - streamStateFillSeekKeyPrev_rocksdb
    - streamStateCurPrev_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recoverSearchBuff(SStreamFileState* pFileState, SArray* pWinStates,
      uint64_t groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:83,1
    - Dst: streamStateFillGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - data
    - pDataLen
    argTypes:
    - SStreamFileState*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: hashSortFileGetFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - getStateFileStore
    - streamStateFillGet_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hashSortFileGetFn(SStreamFileState* pFileState, void* pKey,
      void** data, int32_t* pDataLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:93,1
    - Dst: getFlushMark
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:97,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:102,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:100,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:104,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:106,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:108,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: clearSearchBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - tSimpleHashGetKey
    - getFlushMark
    - taosArrayRemoveBatch
    - tSimpleHashIterate
    - binarySearch
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'void clearSearchBuff(SStreamFileState* pFileState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:129,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:123,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:126,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:128,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:135,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 6
    argNames:
    - pFileState
    - pCur
    - pResKey
    - ppPos
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SStreamStateCur*
    - SWinKey*
    - SRowBuffPos**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 138
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 138
    functionName: getStateFromRocksdbByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - memcpy
    - streamStateFillGetGroupKVByCur_rocksdb
    - getRowStateRowSize
    - getNewRowPosForWrite
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStateFromRocksdbByCur(SStreamFileState* pFileState, SStreamStateCur*
      pCur, SWinKey* pResKey, SRowBuffPos** ppPos, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:147,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:148,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:157,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:171,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:179,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:170,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:146,1
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:155,1
    - Dst: streamStateFillSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:152,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:160,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:162,1
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:182,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:184,1
    - Dst: streamStateFillSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:173,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:167,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:188,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:192,1
    - Dst: getHashSortRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:205,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:163,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:166,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:199,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:209,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 67
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - pResKey
    - ppVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 212
    functionName: getHashSortNextRow
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - QUERY_CHECK_CODE
    - streamStateFreeCur
    - getStateFileStore
    - taosArrayGet
    - getHashSortRowBuff
    - tSimpleHashGet
    - qError
    - tstrerror
    - memcpy
    - streamStateFillGetGroupKVByCur_rocksdb
    - getRowStateRowSize
    - streamStateFillSeekKeyNext_rocksdb
    - binarySearch
    - getNewRowPosForWrite
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHashSortNextRow(SStreamFileState* pFileState, const SWinKey*
      pKey, SWinKey* pResKey, void** ppVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:88,1
    - Dst: streamStateFillDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFileState
    - pKey
    argTypes:
    - SStreamFileState*
    - void*
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: hashSortFileRemoveFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - streamStateFillDel_rocksdb
    - getStateFileStore
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hashSortFileRemoveFn(SStreamFileState* pFileState, const void*
      pKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addRowBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:57,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:61,1
    - Dst: addArrayBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:62,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:63,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:58,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:66,1
    - Dst: needClearDiskBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:66,1
    - Dst: recoverSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:67,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:68,1
    - Dst: addSearchItem
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:72,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:73,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:77,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 80
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 80
    functionName: getHashSortRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getSearchBuff
    - addArrayBuffIfNotExist
    - addSearchItem
    - qError
    - tstrerror
    - recoverSearchBuff
    - addRowBuffIfNotExist
    - taosArrayGetSize
    - needClearDiskBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHashSortRowBuff(SStreamFileState* pFileState, const SWinKey*
      pKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:220,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:227,1
    - Dst: streamStateFillSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:243,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:251,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:236,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:253,1
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:246,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:258,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:269,1
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:219,1
    - Dst: addArrayBuffIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:223,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:224,1
    - Dst: recoverSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:228,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:229,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:232,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:233,1
    - Dst: needClearDiskBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:254,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:248,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:235,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:255,1
    - Dst: getHashSortRowBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:263,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - pResKey
    - ppVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SWinKey*
    - SWinKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 272
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 272
    functionName: getHashSortPrevRow
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStateFileStore
    - addArrayBuffIfNotExist
    - binarySearch
    - taosArrayGetSize
    - winKeyCmprImpl
    - getHashSortRowBuff
    - memcpy
    - streamStateFreeCur
    - taosArrayGet
    - qError
    - getRowStateRowSize
    - getNewRowPosForWrite
    - taosMemoryFreeClear
    - needClearDiskBuff
    - getSearchBuff
    - tstrerror
    - recoverSearchBuff
    - streamStateFillGetGroupKVByCur_rocksdb
    - qDebug
    - streamStateFillSeekKeyPrev_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHashSortPrevRow(SStreamFileState* pFileState, const SWinKey*
      pKey, SWinKey* pResKey, void** ppVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getSearchBuff
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:275,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:276,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:281,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:284,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:288,1
    - Dst: winKeyCmprImpl
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:289,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamSliceState.c:290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 2
    argNames:
    - pFileState
    - pKey
    argTypes:
    - SStreamFileState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: deleteHashSortRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSliceState.c
    functionUses: []
    functionsReached:
    - getSearchBuff
    - isFlushedState
    - taosArrayGet
    - taosArrayRemove
    - tSimpleHashGet
    - winKeyCmprImpl
    - binarySearch
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void deleteHashSortRowBuff(SStreamFileState* pFileState, const SWinKey*
      pKey) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:322,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:321,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:339,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:339,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:357,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:366,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:366,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:381,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:316,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:331,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:331,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:340,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:347,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:348,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:348,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:358,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:365,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:365,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:323,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:339,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:332,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:349,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:356,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:356,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:367,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:373,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:366,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:313,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:324,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:331,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:331,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:347,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:366,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 1
    argNames:
    - pSnapFile
    argTypes:
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 382
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 382
    functionName: snapFileReadMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - strncmp
    - taosReadDir
    - taosCloseDir
    - tstrerror
    - strlen
    - taosArrayPush
    - taosOpenDir
    - taosStrdup
    - stError
    - taosGetDirEntryName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapFileReadMeta(SBackendSnapFile2* pSnapFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamSnapHandleDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:552,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SStreamSnapReader*
    constantsTouched: []
    func_position:
      end: 555
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 555
    functionName: streamSnapReaderClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamSnapHandleDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapReaderClose(SStreamSnapReader* pReader) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:738,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:742,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:755,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:731,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:742,1
    - Dst: streamOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:774,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:768,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:753,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:749,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:796,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:742,1
    - Dst: taosPWriteFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:743,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:776,1
    - Dst: taosPWriteFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:783,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:785,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:785,1
    - Dst: streamOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:734,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:736,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:773,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:777,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:778,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:789,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 4
    argNames:
    - pWriter
    - pData
    - nData
    - pSnapFile
    argTypes:
    - SStreamSnapWriter*
    - uint8_t*
    - uint32_t
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 798
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 798
    functionName: streamSnapWriteImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - strcmp
    - taosPWriteFile
    - tstrerror
    - strlen
    - taosArrayPush
    - streamOpenFile
    - taosStrdup
    - stInfo
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapWriteImpl(SStreamSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData, SBackendSnapFile2* pSnapFile) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:387,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:389,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:401,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:394,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:406,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:407,1
    - Dst: snapFileReadMeta
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:415,1
    - Dst: snapFileGenMeta
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:418,1
    - Dst: snapFileDebugInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:426,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 3
    argNames:
    - metaPath
    - pSnap
    - pSnapFile
    argTypes:
    - char*
    - SStreamTaskSnap*
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 428
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 428
    functionName: streamBackendSnapInitFile
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - snprintf
    - snapFileGenMeta
    - taosMemoryFree
    - taosMemoryCalloc
    - snapFileReadMeta
    - strlen
    - taosIsDir
    - snapFileDebugInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBackendSnapInitFile(char* metaPath, SStreamTaskSnap*
      pSnap, SBackendSnapFile2* pSnapFile) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:591,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:596,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:598,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:628,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:638,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:653,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:666,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:666,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:563,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:608,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:609,1
    - Dst: taosPReadFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:604,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:585,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:576,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:587,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:613,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:606,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:630,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:636,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:644,1
    - Dst: streamOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:586,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:593,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:650,1
    - Dst: streamOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:651,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:656,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:666,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 101
    argCount: 3
    argNames:
    - pReader
    - ppData
    - size
    argTypes:
    - SStreamSnapReader*
    - uint8_t**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 674
    functionName: streamSnapRead
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosCloseFile
    - taosMemoryCalloc
    - tstrerror
    - taosPReadFile
    - strlen
    - streamOpenFile
    - stDebug
    - memcpy
    - taosArrayGetSize
    - TMIN
    - stError
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapRead(SStreamSnapReader* pReader, uint8_t** ppData,
      int64_t* size) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:812,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:810,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:822,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:827,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:819,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:847,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:829,1
    - Dst: streamSnapWriteImpl
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:860,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:854,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:807,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:810,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:813,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:815,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:828,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:838,1
    - Dst: streamSnapWrite
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:872,1
    - Dst: snapInfoEqual
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:862,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:866,1
    - Dst: streamSnapWriteImpl
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:863,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:831,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SStreamSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 875
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 875
    functionName: streamSnapWrite
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - taosMemoryCalloc
    - taosMulMkDir
    - snapInfoEqual
    - streamSnapWrite
    - strlen
    - taosArrayPush
    - streamSnapWriteImpl
    - taosStrdup
    - taosIsDir
    - stInfo
    - stError
    - tListLen
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapWrite(SStreamSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:123,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:127,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:131,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:133,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:125,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - path
    - name
    - sz
    argTypes:
    - char*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 141
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 141
    functionName: streamGetFileSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosStatFile
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamGetFileSize(char* path, char* name, int64_t* sz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskDbBuildSnap
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - path
    - pSnap
    argTypes:
    - void*
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: streamCreateTaskDbSnapInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taskDbBuildSnap
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateTaskDbSnapInfo(void* arg, char* path, SArray*
      pSnap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:435,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:436,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:438,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:441,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:448,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:452,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:455,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:442,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:453,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pSnap
    argTypes:
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 457
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 457
    functionName: snapFileDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - taosCloseFile
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'void snapFileDestroy(SBackendSnapFile2* pSnap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:513,1
    - Dst: snapFileDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:515,1
    - Dst: snapFileDebugInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:514,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:517,1
    - Dst: streamDestroyTaskDbSnapInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:522,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:524,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:526,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - SStreamSnapHandle*
    constantsTouched: []
    func_position:
      end: 530
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 530
    functionName: streamSnapHandleDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - snapFileDestroy
    - streamDestroyTaskDbSnapInfo
    - snapFileDebugInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void streamSnapHandleDestroy(SStreamSnapHandle* handle) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:679,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:687,1
    - Dst: streamSnapWriterClose
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:696,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:689,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:694,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:698,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:706,1
    - Dst: streamSnapWriterClose
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:707,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - pMeta
    - sver
    - ever
    - path
    - ppWriter
    argTypes:
    - void*
    - int64_t
    - int64_t
    - char*
    - SStreamSnapWriter**
    constantsTouched: []
    func_position:
      end: 718
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 718
    functionName: streamSnapWriterOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - streamSnapWriterClose
    - taosArrayPush
    - taosStrdup
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapWriterOpen(void* pMeta, int64_t sver, int64_t ever,
      char* path, SStreamSnapWriter** ppWriter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskDbDestroySnap
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - snap
    argTypes:
    - void*
    - SArray*
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: streamDestroyTaskDbSnapInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taskDbDestroySnap
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDestroyTaskDbSnapInfo(void* arg, SArray* snap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:146,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:147,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - path
    - name
    - opt
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: streamOpenFile
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - tListLen
    linkageType: ''
    returnType: TdFilePtr
    signature: 'TdFilePtr streamOpenFile(char* path, char* name, int32_t opt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:463,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:470,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:470,1
    - Dst: streamCreateTaskDbSnapInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:468,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:474,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:480,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:481,1
    - Dst: streamBackendSnapInitFile
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:484,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:489,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:505,1
    - Dst: streamSnapHandleDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 3
    argNames:
    - pHandle
    - path
    - pMeta
    argTypes:
    - SStreamSnapHandle*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 508
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 508
    functionName: streamSnapHandleInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - streamCreateTaskDbSnapInfo
    - taosArrayGet
    - streamBackendSnapInitFile
    - taosArrayDestroy
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    - stError
    - streamSnapHandleDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapHandleInit(SStreamSnapHandle* pHandle, char* path,
      void* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:534,1
    - Dst: streamSnapHandleInit
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 5
    argNames:
    - pMeta
    - sver
    - chkpId
    - path
    - ppReader
    argTypes:
    - void*
    - int64_t
    - int64_t
    - char*
    - SStreamSnapReader**
    constantsTouched: []
    func_position:
      end: 548
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 548
    functionName: streamSnapReaderOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - streamSnapHandleInit
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapReaderOpen(void* pMeta, int64_t sver, int64_t chkpId,
      char* path, SStreamSnapReader** ppReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SStreamTaskSnap*
    - SStreamTaskSnap*
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: snapInfoEqual
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapInfoEqual(SStreamTaskSnap* a, SStreamTaskSnap* b) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:158,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:174,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:160,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:170,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:180,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:184,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:190,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:194,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:200,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:203,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:223,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:202,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:201,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:220,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:207,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:202,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 1
    argNames:
    - pSnapFile
    argTypes:
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 225
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 225
    functionName: snapFileDebugInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - strlen
    - stInfo
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'void snapFileDebugInfo(SBackendSnapFile2* pSnapFile) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:235,1
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:249,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:241,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:254,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:237,1
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:262,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:267,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:273,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:274,1
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:277,1
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:291,1
    - Dst: streamGetFileSize
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:302,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:282,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:292,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 1
    argNames:
    - pSnapFile
    argTypes:
    - SBackendSnapFile2*
    constantsTouched: []
    func_position:
      end: 309
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 309
    functionName: snapFileGenMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - streamGetFileSize
    - taosArrayPush
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapFileGenMeta(SBackendSnapFile2* pSnapFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamSnapHandleDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:879,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSnapshot.c:880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pWriter
    - rollback
    argTypes:
    - SStreamSnapWriter*
    - int8_t
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: streamSnapWriterClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamSnapHandleDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSnapWriterClose(SStreamSnapWriter* pWriter, int8_t rollback) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:230,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:233,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:246,1
    - Dst: streamQueueClose
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:261,1
    - Dst: streamQueueClose
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:266,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:275,1
    - Dst: clearBufferedDispatchMsg
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:287,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:293,1
    - Dst: streamClearChkptReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:284,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:315,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:239,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:251,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:291,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:280,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:296,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:299,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:312,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:345,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:325,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:310,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:236,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:292,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:294,1
    - Dst: streamTaskCleanupCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:302,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:306,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:311,1
    - Dst: streamTaskDestroyUpstreamInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:321,1
    - Dst: streamTaskDestroyActiveChkptInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:335,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:340,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:338,1
    - Dst: streamDestroyStateMachine
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:318,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:323,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:339,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:346,1
    - Dst: streamFreeTaskState
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:303,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 85
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 347
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 347
    functionName: tFreeStreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamTmrStop
    - tSimpleHashCleanup
    - streamMutexLock
    - walCloseReader
    - streamFreeTaskState
    - streamMutexUnlock
    - taosArrayDestroy
    - taosArrayDestroyP
    - streamTaskDestroyUpstreamInfo
    - streamTaskDestroyActiveChkptInfo
    - tDeleteSchemaWrapper
    - streamMutexDestroy
    - clearBufferedDispatchMsg
    - stDebug
    - taosMemoryFreeClear
    - streamClearChkptReadyMsg
    - streamTaskGetStatus
    - streamTaskCleanupCheckInfo
    - streamQueueClose
    - qDestroyTask
    - streamDestroyStateMachine
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamTask(void* pParam) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:486,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:495,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:529,1
    - Dst: taosThreadMutexAttrDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:534,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:555,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:557,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:563,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:561,1
    - Dst: createStreamTaskIdStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:473,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:475,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:506,1
    - Dst: taosThreadMutexAttrInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:517,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:525,1
    - Dst: streamTaskInitTokenBucket
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:550,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:567,1
    - Dst: streamTaskCreateActiveChkptInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:573,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:499,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:504,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:510,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:512,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:512,1
    - Dst: setInitialVersionInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:500,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:575,1
    - Dst: streamTaskSetBackendPath
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:575,1
    - Dst: streamQueueOpen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:483,1
    - Dst: streamQueueOpen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:484,1
    - Dst: streamCreateStateMachine
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:492,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:519,1
    - Dst: taosThreadMutexAttrSetType
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:523,1
    - Dst: streamTaskOpenAllUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:539,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:542,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:544,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:544,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 90
    argCount: 4
    argNames:
    - pTask
    - pMeta
    - pMsgCb
    - ver
    argTypes:
    - SStreamTask*
    - SStreamMeta*
    - SMsgCb*
    - int64_t
    constantsTouched: []
    func_position:
      end: 581
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 581
    functionName: streamTaskInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskOpenAllUpstreamInput
    - taosThreadMutexAttrInit
    - taosThreadMutexInit
    - taosMemoryCalloc
    - streamCreateStateMachine
    - taosThreadMutexAttrSetType
    - streamTaskCreateActiveChkptInfo
    - tstrerror
    - taosThreadMutexAttrDestroy
    - setInitialVersionInfo
    - createStreamTaskIdStr
    - streamTaskInitTokenBucket
    - streamQueueOpen
    - streamTaskSetBackendPath
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskInit(SStreamTask* pTask, SStreamMeta* pMeta, SMsgCb*
      pMsgCb, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: streamTaskGetNumOfUpstream
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskGetNumOfUpstream(const SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTask
    - pDownstreamTask
    argTypes:
    - SStreamTask*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: streamTaskSetFixedDownstreamInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetFixedDownstreamInfo(SStreamTask* pTask, const SStreamTask*
      pDownstreamTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:621,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:621,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:623,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:627,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:623,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:629,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:631,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:636,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:636,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:638,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:638,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:643,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pTask
    - nodeId
    - pEpSet
    - pUpdated
    argTypes:
    - SStreamTask*
    - int32_t
    - SEpSet*
    - bool*
    constantsTouched: []
    func_position:
      end: 655
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 655
    functionName: streamTaskUpdateUpstreamInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - epsetAssign
    - tstrerror
    - isEpsetEqual
    - epsetToStr
    - taosArrayGetSize
    - stError
    - tListLen
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskUpdateUpstreamInfo(SStreamTask* pTask, int32_t nodeId,
      const SEpSet* pEpSet, bool* pUpdated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:931,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:933,1
    - Dst: CLEAR_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:937,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:940,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:936,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:941,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:942,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:946,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:947,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pTask
    - resetRelHalt
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 953
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 953
    functionName: streamTaskClearHTaskAttr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamMutexLock
    - CLEAR_RELATED_FILLHISTORY_TASK
    - streamMetaSaveTaskInMeta
    - streamMetaAcquireTaskUnsafe
    - stDebug
    - streamTaskGetStatusStr
    - streamMetaReleaseTask
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskClearHTaskAttr(SStreamTask* pTask, int32_t resetRelHalt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:993,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1001,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:995,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:995,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:999,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1002,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1007,1
    - Dst: tEncodeStreamTaskChkptReport
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1008,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1009,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1010,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1018,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1011,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1020,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1014,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1011,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pTask
    - pCheckpointInfo
    - dropRelHTask
    argTypes:
    - SStreamTask*
    - SCheckpointInfo*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1021
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1021
    functionName: streamSendChkptReportMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tstrerror
    - tEncodeSize
    - tEncodeStreamTaskChkptReport
    - stDebug
    - rpcFreeCont
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamSendChkptReportMsg(SStreamTask* pTask, SCheckpointInfo*
      pCheckpointInfo, int8_t dropRelHTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1450,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1454,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1459,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1461,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1462,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1467,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1464,1
    - Dst: tDecodeSSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1459,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1460,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1468,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1472,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1474,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1475,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1476,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1451,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1468,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1474,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1454,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1455,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1471,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1486,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 2
    argNames:
    - pDecoder
    - info
    argTypes:
    - SDecoder*
    - SNotifyInfo*
    constantsTouched: []
    func_position:
      end: 1489
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1489
    functionName: tDecodeStreamNotifyInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryFree
    - taosStrndup
    - taosMemoryCalloc
    - tDecodeSSchemaWrapper
    - TAOS_CHECK_EXIT
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - stError
    - tDecodeCStr
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeStreamNotifyInfo(SDecoder* pDecoder, SNotifyInfo*
      info) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:350,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:356,1
    - Dst: streamStateClose
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:353,1
    - Dst: taskDbSetClearFileFlag
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:355,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:352,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:361,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:365,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:372,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:378,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:382,1
    - Dst: taskDbSetClearFileFlag
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:381,1
    - Dst: streamStateClose
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:379,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pTask
    - remove
    argTypes:
    - SStreamTask*
    - int8_t
    constantsTouched: []
    func_position:
      end: 400
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 400
    functionName: streamFreeTaskState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamStateClose
    - taskDbSetClearFileFlag
    - taosRemoveDir
    - taskDbRemoveRef
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamFreeTaskState(SStreamTask* pTask, int8_t remove) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:595,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 600
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 600
    functionName: streamTaskGetNumOfDownstream
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskGetNumOfDownstream(const SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:605,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:614,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pTask
    - pUpstreamTask
    argTypes:
    - SStreamTask*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 616
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 616
    functionName: streamTaskSetUpstreamInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - createStreamTaskEpInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSetUpstreamInfo(SStreamTask* pTask, const SStreamTask*
      pUpstreamTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pUpstreamInfo
    argTypes:
    - SUpstreamInfo*
    constantsTouched: []
    func_position:
      end: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    functionName: streamTaskDestroyUpstreamInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void streamTaskDestroyUpstreamInfo(SUpstreamInfo* pUpstreamInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:677,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:689,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:677,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:696,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:707,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:711,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:725,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:703,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:725,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:732,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:743,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:690,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:720,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:731,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:735,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:754,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:754,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:756,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:756,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:761,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:679,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:701,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:701,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:703,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:727,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:727,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:708,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:742,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:749,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:760,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:764,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 4
    argNames:
    - pTask
    - nodeId
    - pEpSet
    - pUpdated
    argTypes:
    - SStreamTask*
    - int32_t
    - SEpSet*
    - bool*
    constantsTouched: []
    func_position:
      end: 773
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 773
    functionName: streamTaskUpdateDownstreamInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - taosArrayGet
    - tstrerror
    - isEpsetEqual
    - epsetToStr
    - taosArrayGetSize
    - stError
    - tListLen
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskUpdateDownstreamInfo(SStreamTask* pTask, int32_t
      nodeId, const SEpSet* pEpSet, bool* pUpdated) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:956,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:969,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:969,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:967,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pMsgCb
    - vgId
    - pTaskId
    - resetRelHalt
    argTypes:
    - SMsgCb*
    - int32_t
    - SStreamTaskId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 975
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 975
    functionName: streamBuildAndSendDropTaskMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - tstrerror
    - stDebug
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBuildAndSendDropTaskMsg(SMsgCb* pMsgCb, int32_t vgId,
      SStreamTaskId* pTaskId, int64_t resetRelHalt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1026
    functionName: streamTaskGetTaskId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STaskId
    signature: 'STaskId streamTaskGetTaskId(const SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1365,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SActiveCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 1367
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1367
    functionName: streamTaskClearActiveInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'void streamTaskClearActiveInfo(SActiveCheckpointInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1335,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1339,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1337,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1344,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1350,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SActiveCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1355
    functionName: streamTaskDestroyActiveChkptInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTmrStop
    - taosMemoryFree
    - streamMutexDestroy
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamTaskDestroyActiveChkptInfo(SActiveCheckpointInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1496,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1499,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1496,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1500,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1500,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1505,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1505,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pEncoder
    - pVTables
    argTypes:
    - SEncoder*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1508
    functionName: tEncodeVTablesInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tstrerror
    - tEncodeI64
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeVTablesInfo(SEncoder* pEncoder, SArray* pVTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1592,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1582,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1588,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1587,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1593,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1594,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1594,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1601,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1601,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - ppTaskInfos
    argTypes:
    - SDecoder*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1604
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1604
    functionName: tDeserializeDispatcherTaskInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeDispatcherTaskInfo(SDecoder* pDecoder, SArray**
      ppTaskInfos) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:178,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:182,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:183,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:184,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:179,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:185,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:186,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:187,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:189,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:190,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:192,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:195,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:193,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:197,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:200,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:194,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:198,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pChkpInfo
    argTypes:
    - SDecoder*
    - SCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 202
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 202
    functionName: tDecodeStreamTaskChkInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeI16
    - tDecodeSEpSet
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskChkInfo(SDecoder* pDecoder, SCheckpointInfo*
      pChkpInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:407,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:431,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pTask
    - ver
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 436
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 436
    functionName: setInitialVersionInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - HAS_RELATED_FILLHISTORY_TASK
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'static void setInitialVersionInfo(SStreamTask* pTask, int64_t ver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:777,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:782,1
    - Dst: qKillTask
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:787,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:782,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:780,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:789,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:789,1
    - Dst: streamTaskIsIdle
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:793,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:794,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:796,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:799,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:800,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 802
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 802
    functionName: streamTaskStop
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskHandleEvent
    - tstrerror
    - qKillTask
    - stDebug
    - taosMsleep
    - streamTaskIsIdle
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskStop(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:836,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:838,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 843
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 843
    functionName: streamTaskResetUpstreamStageInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskResetUpstreamStageInfo(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1030,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SHistoryTaskInfo*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: streamTaskInitForLaunchHTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void streamTaskInitForLaunchHTask(SHistoryTaskInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetTaskId
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1075,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1080,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1076,1
    - Dst: streamQueueGetItemSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1080,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1090,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1091,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1092,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1093,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1099
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1099
    functionName: streamTaskGetStatusEntry
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamTaskGetTaskId
    - SIZE_IN_KiB
    - SIZE_IN_MiB
    - streamQueueGetItemSize
    linkageType: ''
    returnType: STaskStatusEntry
    signature: 'STaskStatusEntry streamTaskGetStatusEntry(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskHandleEventAsync
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1119,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: streamTaskPause
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskHandleEventAsync
    - stError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void streamTaskPause(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1152,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1152,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1156,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1158,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1163,1
    - Dst: tEncodeStreamTaskCheckpointReq
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1164,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1165,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1166,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1167,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1167,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1174,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1175,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1178
    functionName: streamTaskSendCheckpointReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tEncodeStreamTaskCheckpointReq
    - tstrerror
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckpointReq(SStreamTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:206,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:207,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:216,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:213,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pDecoder
    - pTaskId
    argTypes:
    - SDecoder*
    - STaskId*
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: tDecodeStreamTaskId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskId(SDecoder* pDecoder, STaskId* pTaskId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:451,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:462,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:451,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:456,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:457,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:464,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 470
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 470
    functionName: streamTaskSetBackendPath
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - strlen
    - stDebug
    - stError
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSetBackendPath(SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:807,1
    - Dst: doUpdateTaskEpset
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:822,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:812,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:817,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:810,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:824,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:824,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pTask
    - pNodeList
    argTypes:
    - SStreamTask*
    - SArray*
    constantsTouched: []
    func_position:
      end: 829
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 829
    functionName: streamTaskUpdateEpsetInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - doUpdateTaskEpset
    - tstrerror
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskUpdateEpsetInfo(SStreamTask* pTask, SArray* pNodeList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:846,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:857,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 858
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 858
    functionName: streamTaskOpenAllUpstreamInput
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskOpenAllUpstreamInput(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SHistoryTaskInfo*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1038
    functionName: streamTaskSetRetryInfoForLaunch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - ceil
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetRetryInfoForLaunch(SHistoryTaskInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1105,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1114,1
    - Dst: qKillTask
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1111,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - param
    argTypes:
    - SStreamTask*
    - void*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1116
    functionName: taskPauseCallback
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - stInfo
    - qKillTask
    - atomic_add_fetch_32
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taskPauseCallback(SStreamTask* pTask, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1126,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1133,1
    - Dst: streamTaskRestoreStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1129,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1131,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1132,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: streamTaskResume
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - atomic_sub_fetch_32
    - stInfo
    - streamTaskRestoreStatus
    linkageType: ''
    returnType: void
    signature: 'void streamTaskResume(SStreamTask* pTask) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1206,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1219,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1207,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - pTask
    - taskId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1231
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1231
    functionName: streamTaskGetDownstreamEpInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: SEpSet*
    signature: 'SEpSet * streamTaskGetDownstreamEpInfo(SStreamTask* pTask, int32_t
      taskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1140
    functionName: streamTaskIsSinkTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskIsSinkTask(const SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1286
    functionName: streamTaskSetRemoveBackendFiles
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetRemoveBackendFiles(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaRefMgtRemove
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pRefId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1416
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1416
    functionName: streamTaskFreeRefId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - metaRefMgtRemove
    linkageType: ''
    returnType: void
    signature: 'void streamTaskFreeRefId(int64_t* pRefId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void freeItem(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 106
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 106
    functionName: createStreamTaskEpInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SStreamUpstreamEpInfo*
    signature: 'static SStreamUpstreamEpInfo * createStreamTaskEpInfo(const SStreamTask*
      pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:862,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:867,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:869,1
    - Dst: streamTaskGetNumOfUpstream
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pTask
    - taskId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 872
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 872
    functionName: streamTaskCloseUpstreamInput
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetUpstreamTaskEpInfo
    - streamTaskGetNumOfUpstream
    - stError
    - atomic_add_fetch_32
    linkageType: ''
    returnType: void
    signature: 'void streamTaskCloseUpstreamInput(SStreamTask* pTask, int32_t taskId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:903,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: streamTaskSetSchedStatusActive
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t streamTaskSetSchedStatusActive(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskEnqueueRetrieve
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1279,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamTask*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1284
    functionName: streamProcessRetrieveReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskEnqueueRetrieve
    - streamTrySchedExec
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessRetrieveReq(SStreamTask* pTask, SStreamRetrieveReq*
      pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1610,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1610,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1616,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1615,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1621,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1622,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1629,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1629,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1623,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pDecoder
    - ppVtables
    argTypes:
    - SDecoder*
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 1632
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1632
    functionName: tDeserializeDispatcherVtableMap
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - TAOS_CHECK_EXIT
    - tstrerror
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeDispatcherVtableMap(SDecoder* pDecoder, SSHashObj**
      ppVtables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pTask
    - pTransId
    - pCheckpointId
    argTypes:
    - SStreamTask*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1296
    functionName: streamTaskGetActiveCheckpointInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskGetActiveCheckpointInfo(const SStreamTask* pTask, int32_t*
      pTransId, int64_t* pCheckpointId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: freeUpstreamItem
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeUpstreamItem(void* p) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:113,1
    - Dst: tGenIdPI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:116,1
    - Dst: streamCreateStateMachine
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:131,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:115,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:133,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:138,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:138,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:139,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:140,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:156,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:146,1
    - Dst: addToTaskset
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:165,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:163,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:144,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:159,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 11
    argNames:
    - streamId
    - taskLevel
    - pEpset
    - type
    - trigger
    - triggerParam
    - pTaskList
    - hasFillhistory
    - subtableWithoutMd5
    - hasAggTasks
    - p
    argTypes:
    - int64_t
    - int8_t
    - SEpSet*
    - EStreamTaskType
    - int32_t
    - int64_t
    - SArray*
    - bool
    - int8_t
    - int8_t
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 169
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 169
    functionName: tNewStreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - snprintf
    - taosMemoryCalloc
    - streamCreateStateMachine
    - addToTaskset
    - tGenIdPI32
    - tstrerror
    - taosStrdup
    - taosMemoryFreeClear
    - stError
    - tListLen
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNewStreamTask(int64_t streamId, int8_t taskLevel, SEpSet*
      pEpset, EStreamTaskType type, int32_t trigger, int64_t triggerParam, SArray*
      pTaskList, bool hasFillhistory, int8_t subtableWithoutMd5, int8_t hasAggTasks,
      SStreamTask** p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:876,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:880,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pTask
    - taskId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 883
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 883
    functionName: streamTaskOpenUpstreamInput
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamTaskGetUpstreamTaskEpInfo
    - atomic_sub_fetch_32
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskOpenUpstreamInput(SStreamTask* pTask, int32_t taskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:914,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 920
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 920
    functionName: streamTaskSetSchedStatusInactive
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t streamTaskSetSchedStatusInactive(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1515,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1523,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1517,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1515,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1518,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1524,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1524,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1526,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1532,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1532,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pTables
    argTypes:
    - SDecoder*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1535
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1535
    functionName: tDecodeVTablesInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - tDecodeI64
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeVTablesInfo(SDecoder* pDecoder, SArray** pTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1422,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1436,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1429,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1434,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1435,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1426,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1423,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1431,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1436,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1426,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1431,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1435,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pEncoder
    - info
    argTypes:
    - SEncoder*
    - SNotifyInfo*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1444
    functionName: tEncodeStreamNotifyInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeStreamNotifyInfo(SEncoder* pEncoder, const SNotifyInfo*
      info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:32,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pArray
    - pTask
    argTypes:
    - SArray*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: addToTaskset
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addToTaskset(SArray* pArray, SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 887
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 887
    functionName: streamTaskIsAllUpstreamClosed
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskIsAllUpstreamClosed(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pEntry
    - pTask
    argTypes:
    - STaskStatusEntry*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1046
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1046
    functionName: streamTaskStatusInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskStatusInit(STaskStatusEntry* pEntry, const SStreamTask*
      pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1183,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1185,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pTask
    - taskId
    - pEpInfo
    argTypes:
    - SStreamTask*
    - int32_t
    - SStreamUpstreamEpInfo**
    constantsTouched: []
    func_position:
      end: 1197
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1197
    functionName: streamTaskGetUpstreamTaskEpInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamTaskGetUpstreamTaskEpInfo(SStreamTask* pTask, int32_t taskId,
      SStreamUpstreamEpInfo** pEpInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1235,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1235,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1240,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - streamId
    - taskId
    - pId
    argTypes:
    - int64_t
    - int32_t
    - char**
    constantsTouched: []
    func_position:
      end: 1247
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1247
    functionName: createStreamTaskIdStr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosStrdup
    - snprintf
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamTaskIdStr(int64_t streamId, int32_t taskId, const
      char** pId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pTask
    - transId
    - checkpointId
    argTypes:
    - SStreamTask*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1308
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1308
    functionName: streamTaskSetFailedChkptInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetFailedChkptInfo(SStreamTask* pTask, int32_t transId,
      int64_t checkpointId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1392
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1392
    functionName: streamTaskGetExecType
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * streamTaskGetExecType(int32_t type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:43,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:44,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:46,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:44,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:46,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:53,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:53,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:55,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:55,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:59,1
    - Dst: streamTaskUpdateUpstreamInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:71,1
    - Dst: streamTaskUpdateUpstreamInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:74,1
    - Dst: streamTaskUpdateDownstreamInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:69,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:62,1
    - Dst: streamTaskUpdateDownstreamInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:72,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 4
    argNames:
    - pTask
    - nodeId
    - pEpSet
    - pUpdated
    argTypes:
    - SStreamTask*
    - int32_t
    - SEpSet*
    - bool*
    constantsTouched: []
    func_position:
      end: 78
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 78
    functionName: doUpdateTaskEpset
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - streamTaskUpdateUpstreamInfo
    - streamTaskUpdateDownstreamInfo
    - tstrerror
    - isEpsetEqual
    - epsetToStr
    - stError
    - tListLen
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doUpdateTaskEpset(SStreamTask* pTask, int32_t nodeId,
      SEpSet* pEpSet, bool* pUpdated) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:892,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 900
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 900
    functionName: streamTaskSetSchedStatusWait
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskSetSchedStatusWait(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STaskStatusEntry*
    - STaskStatusEntry*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1068
    functionName: streamTaskStatusCopy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskStatusCopy(STaskStatusEntry* pDst, const STaskStatusEntry*
      pSrc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1253,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1255,1
    - Dst: streamRetrieveReqToData
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1262,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1264,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1264,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1265,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1269,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamTask*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1276
    functionName: streamTaskEnqueueRetrieve
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - streamTaskPutDataIntoInputQ
    - streamRetrieveReqToData
    - tstrerror
    - stError
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamTaskEnqueueRetrieve(SStreamTask* pTask, SStreamRetrieveReq*
      pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1311,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1323,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1316,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1321,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SActiveCheckpointInfo**
    constantsTouched: []
    func_position:
      end: 1327
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1327
    functionName: streamTaskCreateActiveChkptInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskCreateActiveChkptInfo(SActiveCheckpointInfo** pRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1395,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1400,1
    - Dst: metaRefMgtAdd
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1398,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1401,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pTask
    - pRefId
    argTypes:
    - SStreamTask*
    - int64_t**
    constantsTouched: []
    func_position:
      end: 1408
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1408
    functionName: streamTaskAllocRefId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - metaRefMgtAdd
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskAllocRefId(SStreamTask* pTask, int64_t** pRefId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - activeCheckpointId
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1301
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1301
    functionName: streamTaskSetActiveCheckpointInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSetActiveCheckpointInfo(SStreamTask* pTask, int64_t
      activeCheckpointId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1669,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1702,1
    - Dst: tEncodeStreamNotifyInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1694,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1638,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1644,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1656,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1669,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1670,1
    - Dst: tEncodeStreamEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1690,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1668,1
    - Dst: tSerializeDispatcherVtableMap
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1700,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1703,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1704,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1657,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1675,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1651,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1641,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1645,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1696,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1686,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1667,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1661,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1647,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1700,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1665,1
    - Dst: tSerializeSUseDbRspImp
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1643,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1648,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1685,1
    - Dst: tSerializeDispatcherTaskInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1704,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1650,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1685,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1697,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1659,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1657,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1651,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1639,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1645,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1659,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1652,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1703,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1640,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1642,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1665,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1653,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1670,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1667,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1648,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1643,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1692,1
    - Dst: tEncodeVTablesInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 116
    argCount: 2
    argNames:
    - pEncoder
    - pTask
    argTypes:
    - SEncoder*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1715
    functionName: tEncodeStreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - tEncodeSEpSet
    - tSerializeDispatcherTaskInfo
    - tEncodeI16
    - tStartEncode
    - taosArrayGetSize
    - tSerializeDispatcherVtableMap
    - tEncodeStreamNotifyInfo
    - tEncodeU64
    - tEndEncode
    - tEncodeCStr
    - tSerializeSUseDbRspImp
    - tEncodeVTablesInfo
    - TAOS_CHECK_EXIT
    - tEncodeCStrWithLen
    - tEncodeI64
    - tEncodeStreamEpInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTask(SEncoder* pEncoder, const SStreamTask* pTask) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1722,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1729,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1731,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1730,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1732,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1735,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1733,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1736,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1738,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1761,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1781,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1816,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1819,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1740,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1741,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1786,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1730,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1732,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1733,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1786,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1755,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1775,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1741,1
    - Dst: tDecodeVTablesInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1761,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1799,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1757,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1772,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1801,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1743,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1797,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1748,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1804,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1805,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1807,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1815,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1756,1
    - Dst: tDeserializeSUseDbRspImp
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1801,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1752,1
    - Dst: tDeserializeDispatcherTaskInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1804,1
    - Dst: tDeserializeDispatcherVtableMap
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1805,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1807,1
    - Dst: tDecodeStreamNotifyInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1795,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1723,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1739,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1758,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1767,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1747,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1738,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1802,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1722,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1758,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1764,1
    - Dst: tDecodeSSchemaWrapper
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1791,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1763,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1755,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1797,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1781,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1736,1
    - Dst: tDecodeStreamEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1771,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 143
    argCount: 2
    argNames:
    - pDecoder
    - pTask
    argTypes:
    - SDecoder*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1823
    functionName: tDecodeStreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - taosMemoryCalloc
    - tDecodeStreamNotifyInfo
    - tDecodeStreamEpInfo
    - taosArrayInit
    - tDecodeCStrTo
    - tDecodeSEpSet
    - tDecodeSSchemaWrapper
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDeserializeSUseDbRspImp
    - tDecodeI8
    - tDeserializeDispatcherTaskInfo
    - taosMemoryFreeClear
    - tDecodeVTablesInfo
    - tDecodeI16
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDeserializeDispatcherVtableMap
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTask(SDecoder* pDecoder, SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1559,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1560,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1562,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1566,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1567,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1567,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1573,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pEncoder
    - pVtables
    argTypes:
    - SEncoder*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1576
    functionName: tSerializeDispatcherVtableMap
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - tEncodeI32
    - tSimpleHashGetSize
    - TAOS_CHECK_EXIT
    - tstrerror
    - tSimpleHashIterate
    - tEncodeI64
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeDispatcherVtableMap(SEncoder* pEncoder, const SSHashObj*
      pVtables) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1543,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1544,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1545,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1546,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1551,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamTask.c:1551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pEncoder
    - pTaskInfos
    argTypes:
    - SEncoder*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1554
    functionName: tSerializeDispatcherTaskInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamTask.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeSEpSet
    - TAOS_CHECK_EXIT
    - tstrerror
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeDispatcherTaskInfo(SEncoder* pEncoder, const SArray*
      pTaskInfos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2194
      start: 2191
    functionDepth: 0
    functionLinenumber: 2191
    functionLinenumberEnd: 2194
    functionName: compareSessionKeyName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * compareSessionKeyName(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_compactionfilter_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2289,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - void*
    - rocksdb_compactionfiltercontext_t*
    constantsTouched: []
    func_position:
      end: 2291
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2291
    functionName: compactFilteFactoryCreateFilterFill
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_compactionfilter_create
    linkageType: ''
    returnType: rocksdb_compactionfilter_t*
    signature: 'rocksdb_compactionfilter_t * compactFilteFactoryCreateFilterFill(void*
      arg, rocksdb_compactionfiltercontext_t* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2519,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2521,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2521,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pTaskDb
    - chkpId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2522
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2522
    functionName: taskDbUpdateChkpId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - TAOS_UNUSED
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void taskDbUpdateChkpId(void* pTaskDb, int64_t chkpId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3043,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3045,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3046
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3046
    functionName: streamStateDestroyCompar
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - rocksdb_comparator_destroy
    linkageType: ''
    returnType: void
    signature: 'void streamStateDestroyCompar(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3574,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3573,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - STupleKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3577
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3577
    functionName: streamStateFuncPut_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFuncPut_rocksdb(SStreamState* pState, const STupleKey*
      key, const void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_writebatch_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4544
    functionDepth: 0
    functionLinenumber: 4544
    functionLinenumberEnd: 4547
    functionName: streamStateCreateBatch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_writebatch_create
    linkageType: ''
    returnType: void*
    signature: 'void * streamStateCreateBatch() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hashTableToDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4830,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4831,1
    - Dst: hashTableToDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4833,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4834,1
    - Dst: strArrayDebugInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4836,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4837,1
    - Dst: strArrayDebugInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4839,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - SDbChkp*
    constantsTouched: []
    func_position:
      end: 4846
      start: 4826
    functionDepth: 0
    functionLinenumber: 4826
    functionLinenumberEnd: 4846
    functionName: dbChkpDebugInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - stTrace
    - hashTableToDebug
    - strArrayDebugInfo
    linkageType: ''
    returnType: void
    signature: 'void dbChkpDebugInfo(SDbChkp* pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5340,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5340,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5345,1
    - Dst: dbChkpCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5343,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5345,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5349,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - bm
    - task
    - path
    argTypes:
    - SBkdMgt*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5355
      start: 5336
    functionDepth: 0
    functionLinenumber: 5336
    functionLinenumberEnd: 5355
    functionName: bkdMgtAddChkp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - dbChkpCreate
    - taosThreadRwlockUnlock
    - taosHashGet
    - strlen
    - taosHashPut
    - stError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bkdMgtAddChkp(SBkdMgt* bm, char* task, char* path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2198
      start: 2195
    functionDepth: 0
    functionLinenumber: 2195
    functionLinenumberEnd: 2198
    functionName: compareFuncKeyName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * compareFuncKeyName(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_compactionfilter_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - void*
    - rocksdb_compactionfiltercontext_t*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2292
    functionDepth: 0
    functionLinenumber: 2292
    functionLinenumberEnd: 2297
    functionName: compactFilteFactoryCreateFilterFunc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_compactionfilter_create
    linkageType: ''
    returnType: rocksdb_compactionfilter_t*
    signature: 'rocksdb_compactionfilter_t * compactFilteFactoryCreateFilterFunc(void*
      arg, rocksdb_compactionfiltercontext_t* ctx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2535,1
    - Dst: taskDbInitChkpOpt
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2540,1
    - Dst: rocksdb_list_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2543,1
    - Dst: rocksdb_close
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2588,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2534,1
    - Dst: taskDbInitOpt
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2541,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2549,1
    - Dst: rocksdb_list_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2564,1
    - Dst: rocksdb_open
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2547,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2589,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2532,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2538,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2545,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2566,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2558,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2585,1
    - Dst: taskDbDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2587,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2531,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2537,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2577,1
    - Dst: taskDbOpenCfs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2572,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2581,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 3
    argNames:
    - key
    - statePath
    - dbPath
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2591
    functionName: taskDbOpenImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taskDbInitOpt
    - taskDbDestroy
    - TSDB_CHECK_CODE
    - taskDbInitChkpOpt
    - taosMemoryFree
    - rocksdb_open
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tstrerror
    - TSDB_CHECK_NULL
    - rocksdb_close
    - rocksdb_list_column_families_destroy
    - taosStrdup
    - taskDbOpenCfs
    - stDebug
    - rocksdb_list_column_families
    - stInfo
    - stError
    linkageType: ''
    returnType: STaskDbWrapper*
    signature: 'STaskDbWrapper * taskDbOpenImpl(const char* key, char* statePath,
      char* dbPath) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3050,1
    - Dst: rocksdb_create_column_family
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3071,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3052,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3052,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3066,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3074,1
    - Dst: rocksdb_column_family_handle_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3076,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3078,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3082,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 2
    argNames:
    - pState
    - funcName
    argTypes:
    - SStreamState*
    - char*
    constantsTouched: []
    func_position:
      end: 3086
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3086
    functionName: streamStateGetCfIdx
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_column_family_handle_destroy
    - taosMemoryFree
    - strncmp
    - streamMutexLock
    - strlen
    - rocksdb_create_column_family
    - stDebug
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int
    signature: 'int streamStateGetCfIdx(SStreamState* pState, const char* funcName) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4850,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4861,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4863,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4866,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4868,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4878,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4900,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4908,1
    - Dst: isBkdDataMeta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4925,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4927,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4953,1
    - Dst: dbChkpDebugInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4966,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4936,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4970,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4935,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4952,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4908,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4970,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4958,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4858,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4886,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4885,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4907,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4907,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4914,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4916,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4921,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4929,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4936,1
    - Dst: compareHashTable
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4948,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4942,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4951,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4934,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4850,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4855,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4868,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4872,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4878,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4874,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4886,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4887,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4887,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4888,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4924,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4958,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4940,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4873,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4876,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4884,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4890,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4898,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4898,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4899,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4907,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4914,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4916,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4933,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4929,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 137
    argCount: 3
    argNames:
    - p
    - chkpId
    - list
    argTypes:
    - SDbChkp*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 4973
      start: 4847
    functionDepth: 0
    functionLinenumber: 4847
    functionLinenumberEnd: 4973
    functionName: dbChkpGetDelta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosHashClear
    - taosMemoryCalloc
    - isBkdDataMeta
    - compareHashTable
    - taosOpenDir
    - taosArrayGetSize
    - taosThreadRwlockWrlock
    - taosCloseDir
    - taosArrayPush
    - taosHashPut
    - taosGetDirEntryName
    - strncmp
    - memset
    - tstrncpy
    - taosArrayClearP
    - taosMemoryFreeClear
    - dbChkpDebugInfo
    - snprintf
    - taosThreadRwlockUnlock
    - taosHashIterate
    - strcmp
    - taosReadDir
    - strlen
    - taosHashGetKey
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dbChkpGetDelta(SDbChkp* p, int64_t chkpId, SArray* list) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4979,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4995,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4987,1
    - Dst: dbChkpDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4990,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4996,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5003,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5003,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5009,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5009,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5015,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5021,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5028,1
    - Dst: dbChkpGetDelta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5031,1
    - Dst: dbChkpDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5038,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5028,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 3
    argNames:
    - path
    - initChkpId
    - ppChkp
    argTypes:
    - char*
    - int64_t
    - SDbChkp**
    constantsTouched: []
    func_position:
      end: 5040
      start: 4977
    functionDepth: 0
    functionLinenumber: 4977
    functionLinenumberEnd: 5040
    functionName: dbChkpCreate
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - dbChkpDestroy
    - TAOS_UNUSED
    - taosMemoryCalloc
    - dbChkpGetDelta
    - strlen
    - taosThreadRwlockInit
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dbChkpCreate(char* path, int64_t initChkpId, SDbChkp** ppChkp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3524,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3541,1
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3543,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3531,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3535,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3545,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3545,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3548,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3549,1
    - Dst: stateKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3549,1
    - Dst: stateKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3551,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3558
      start: 3523
    functionDepth: 0
    functionLinenumber: 3523
    functionLinenumberEnd: 3558
    functionName: streamStateGetCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - streamStateFreeCur
    - TAOS_UNUSED
    - stateKeyDecode
    - createStreamStateCursor
    - stateKeyCmpr
    - streamStateIterCreate
    - iterValueIsStale
    - rocksdb_iter_seek
    - stateKeyEncode
    - rocksdb_iter_valid
    - stDebug
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGetCur_rocksdb(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:436,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pPath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: createDirIfNotExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMulMkDir
    - taosIsDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDirIfNotExist(const char* pPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1027,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1029,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1031,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1034,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1037,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - arg
    - checkpoint
    argTypes:
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1042
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1042
    functionName: getLatestCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayGetLast
    - taosArrayPush
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getLatestCheckpoint(void* arg, int64_t* checkpoint) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1109,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1115,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1124,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1127,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1161,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1163,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1170,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1177,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1178,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1112,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1137,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1141,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1132,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1143,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1158,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1160,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1109,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1111,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1125,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1142,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1154,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1168,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1178,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1121,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1147,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1149,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1158,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1165,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1169,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 4
    argNames:
    - arg
    - chkpId
    - path
    - pDroppedList
    argTypes:
    - void*
    - int64_t
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1180
    functionName: chkpMayDelObsolete
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - TAOS_UNUSED
    - taosArrayGet
    - taosArrayDestroy
    - taosThreadRwlockUnlock
    - taosArrayPush
    - stInfo
    - taosIsDir
    - taosRemoveDir
    - taosArrayGetSize
    - taosArrayInit
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpMayDelObsolete(void* arg, int64_t chkpId, char* path,
      SArray* pDroppedList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 1488
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1488
    functionName: taskAcquireDb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void * taskAcquireDb(int64_t refId) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: streamStateValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2107,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2127,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2113,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2120,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2112,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2128,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2130,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2140,1
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2146,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2170,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2162,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2177,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2178,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 74
    argCount: 4
    argNames:
    - value
    - vlen
    - ttl
    - dest
    argTypes:
    - void*
    - int32_t
    - int64_t*
    - char**
    constantsTouched: []
    func_position:
      end: 2180
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2180
    functionName: valueDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateValueIsStale
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - taosGetTimestampMs
    - taosMemoryFree
    - taosMemoryCalloc
    - taosDecodeBinary
    - taosDecodeFixedI32
    - LZ4_decompress_safe
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t valueDecode(void* value, int32_t vlen, int64_t* ttl, char**
      dest) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3582,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3584,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3598,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - STupleKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3600
      start: 3578
    functionDepth: 0
    functionLinenumber: 3578
    functionLinenumberEnd: 3600
    functionName: streamStateFuncGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFuncGet_rocksdb(SStreamState* pState, const STupleKey*
      key, void** pVal, int32_t* pVLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3612,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3627,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3626,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3631
      start: 3608
    functionDepth: 0
    functionLinenumber: 3608
    functionLinenumberEnd: 3631
    functionName: streamStateSessionPut_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    - stTrace
    - stError
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionPut_rocksdb(SStreamState* pState, const
      SSessionKey* key, const void* value, int32_t vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - groupId
    - tbname
    argTypes:
    - SStreamState*
    - int64_t
    - char
    constantsTouched: []
    func_position:
      end: 4417
      start: 4413
    functionDepth: 0
    functionLinenumber: 4413
    functionLinenumberEnd: 4417
    functionName: streamStatePutParName_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutParName_rocksdb(SStreamState* pState, int64_t
      groupId, const char tbname[TSDB_TABLE_NAME_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2185
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2185
    functionName: compareDefaultName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * compareDefaultName(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:445,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:451,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:446,1
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:450,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:447,1
    - Dst: streamTaskDownloadCheckpointData
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:453,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:455,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:459,1
    - Dst: backendCopyFiles
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - key
    - checkpointPath
    - checkpointId
    - defaultPath
    argTypes:
    - char*
    - char*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: rebuildFromRemoteChkp_rsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - backendCopyFiles
    - cleanDir
    - streamTaskDownloadCheckpointData
    - taosIsDir
    - stDebug
    - taosRemoveDir
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildFromRemoteChkp_rsync(const char* key, char* checkpointPath,
      int64_t checkpointId, char* defaultPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1188
    functionName: chkpIdComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int chkpIdComp(const void* a, const void* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1491,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 1492
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1492
    functionName: taskReleaseDb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void taskReleaseDb(int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - STupleKey*
    constantsTouched: []
    func_position:
      end: 3605
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3605
    functionName: streamStateFuncDel_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFuncDel_rocksdb(SStreamState* pState, const STupleKey*
      key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3633,1
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3635,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3653,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3654,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3656
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3656
    functionName: streamStateSessionGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - taosMemoryFree
    - streamStateSessionGetKVByCur_rocksdb
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGet_rocksdb(SStreamState* pState, SSessionKey*
      key, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pState
    - groupId
    - pVal
    argTypes:
    - SStreamState*
    - int64_t
    - void**
    constantsTouched: []
    func_position:
      end: 4423
      start: 4418
    functionDepth: 0
    functionLinenumber: 4418
    functionLinenumberEnd: 4423
    functionName: streamStateGetParName_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetParName_rocksdb(SStreamState* pState, int64_t
      groupId, void** pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - x
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4664
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4664
    functionName: nextPow2
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t nextPow2(uint32_t x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remoteChkp_readMetaData
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:466,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:472,1
    - Dst: remoteChkp_validAndCvtMeta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:476,1
    - Dst: chkpAddExtraInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:483,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - chkpPath
    - chkpId
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 484
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 484
    functionName: rebuildDataFromS3
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - remoteChkp_validAndCvtMeta
    - taosMemoryFree
    - remoteChkp_readMetaData
    - chkpAddExtraInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildDataFromS3(char* chkpPath, int64_t chkpId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamGetCheckpointBackupType
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:549,1
    - Dst: rebuildFromRemoteChkp_rsync
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:553,1
    - Dst: rebuildFromRemoteChkp_s3
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:551,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - key
    - checkpointPath
    - checkpointId
    - defaultPath
    argTypes:
    - char*
    - char*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: rebuildFromRemoteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rebuildFromRemoteChkp_s3
    - stError
    - streamGetCheckpointBackupType
    - rebuildFromRemoteChkp_rsync
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildFromRemoteCheckpoint(const char* key, char* checkpointPath,
      int64_t checkpointId, char* defaultPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1989,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1990,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1995,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1994,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1994,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 2001
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 2001
    functionName: parKeyDBComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - TAOS_UNUSED
    - memset
    linkageType: ''
    returnType: int
    signature: 'int parKeyDBComp(void* state, const char* aBuf, size_t aLen, const
      char* bBuf, size_t bLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2218
    functionName: compactFilteFactoryNameSess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteFactoryNameSess(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 9
    argNames:
    - arg
    - level
    - key
    - klen
    - val
    - vlen
    - newval
    - newvlen
    - value_changed
    argTypes:
    - void*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2266
    functionName: compactFilteFunc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char compactFilteFunc(void* arg, int level, const char* key,
      size_t klen, const char* val, size_t vlen, char** newval, size_t* newvlen, unsigned
      char* value_changed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_compactionfilter_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - void*
    - rocksdb_compactionfiltercontext_t*
    constantsTouched: []
    func_position:
      end: 2279
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2279
    functionName: compactFilteFactoryCreateFilterSess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_compactionfilter_create
    linkageType: ''
    returnType: rocksdb_compactionfilter_t*
    signature: 'rocksdb_compactionfilter_t * compactFilteFactoryCreateFilterSess(void*
      arg, rocksdb_compactionfiltercontext_t* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2351,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2351,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2352
    functionName: taskDbRemoveRef
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void taskDbRemoveRef(void* pTaskDb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2442,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2446,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2442,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2444,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2443,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2447,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pTaskDb
    - chkp
    argTypes:
    - STaskDbWrapper*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2448
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2448
    functionName: taskDbRefChkp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosThreadRwlockUnlock
    - taosArraySort
    - taosArrayPush
    - stError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void taskDbRefChkp(STaskDbWrapper* pTaskDb, int64_t chkp) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskDownloadCheckpointData
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:488,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:502,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:493,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:500,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:506,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:506,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:507,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:508,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:515,1
    - Dst: backendCopyFiles
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:527,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:540,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:517,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:541,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:536,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:536,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:544,1
    - Dst: rebuildDataFromS3
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:522,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 4
    argNames:
    - key
    - chkpPath
    - chkpId
    - defaultPath
    argTypes:
    - char*
    - char*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 546
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 546
    functionName: rebuildFromRemoteChkp_s3
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - TAOS_UNUSED
    - rebuildDataFromS3
    - taosMemoryCalloc
    - taosRenameFile
    - strlen
    - streamTaskDownloadCheckpointData
    - taosIsDir
    - taosRemoveDir
    - backendCopyFiles
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildFromRemoteChkp_s3(const char* key, char* chkpPath,
      int64_t chkpId, char* defaultPath) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:563,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - src
    - dst
    - type
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 570
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 570
    functionName: copyFiles_create
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - SET_ERRNO
    - taosCopyFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyFiles_create(char* src, char* dst, int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 2006
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2006
    functionName: parKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int
    signature: 'int parKeyEncode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2222
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2222
    functionName: compactFilteFactoryNameState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteFactoryNameState(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_compactionfilter_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - void*
    - rocksdb_compactionfiltercontext_t*
    constantsTouched: []
    func_position:
      end: 2273
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2273
    functionName: compactFilteFactoryCreateFilter
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_compactionfilter_create
    linkageType: ''
    returnType: rocksdb_compactionfilter_t*
    signature: 'rocksdb_compactionfilter_t * compactFilteFactoryCreateFilter(void*
      arg, rocksdb_compactionfiltercontext_t* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_compactionfilter_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2283,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ctx
    argTypes:
    - void*
    - rocksdb_compactionfiltercontext_t*
    constantsTouched: []
    func_position:
      end: 2285
      start: 2280
    functionDepth: 0
    functionLinenumber: 2280
    functionLinenumberEnd: 2285
    functionName: compactFilteFactoryCreateFilterState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_compactionfilter_create
    linkageType: ''
    returnType: rocksdb_compactionfilter_t*
    signature: 'rocksdb_compactionfilter_t * compactFilteFactoryCreateFilterState(void*
      arg, rocksdb_compactionfiltercontext_t* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2361
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2361
    functionName: taskDbSetClearFileFlag
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    linkageType: ''
    returnType: void
    signature: 'void taskDbSetClearFileFlag(void* pTaskDb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2451,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2452,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2454,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2456,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2460,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pTaskDb
    - chkp
    argTypes:
    - STaskDbWrapper*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2461
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2461
    functionName: taskDbUnRefChkp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - TAOS_UNUSED
    - taosArrayRemove
    - taosThreadRwlockUnlock
    - taosArrayGetSize
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void taskDbUnRefChkp(STaskDbWrapper* pTaskDb, int64_t chkp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2826,1
    - Dst: rocksdb_iter_seek_to_first
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2830,1
    - Dst: rocksdb_writebatch_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2828,1
    - Dst: rocksdb_create_iterator_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2829,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2831,1
    - Dst: rocksdb_writebatch_count
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2832,1
    - Dst: rocksdb_write
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2833,1
    - Dst: rocksdb_writebatch_clear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2838,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2842,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2843,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2846,1
    - Dst: rocksdb_write
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2850,1
    - Dst: rocksdb_writebatch_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2858,1
    - Dst: rocksdb_iter_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2859,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2860,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2861,1
    - Dst: rocksdb_writebatch_put_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2845,1
    - Dst: rocksdb_writebatch_count
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2849,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 3
    argNames:
    - pSrc
    - pDst
    - i
    argTypes:
    - RocksdbCfInst*
    - STaskDbWrapper*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2864
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2864
    functionName: copyDataAt
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_seek_to_first
    - rocksdb_write
    - rocksdb_iter_key
    - taosMemoryFree
    - rocksdb_iter_valid
    - rocksdb_writebatch_count
    - rocksdb_writebatch_put_cf
    - rocksdb_readoptions_destroy
    - rocksdb_iter_value
    - rocksdb_writebatch_clear
    - rocksdb_iter_next
    - rocksdb_writebatch_destroy
    - rocksdb_iter_destroy
    - rocksdb_writebatch_create
    - rocksdb_readoptions_create
    - rocksdb_create_iterator_cf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyDataAt(RocksdbCfInst* pSrc, STaskDbWrapper* pDst, int8_t
      i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_writebatch_count
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4551
      start: 4548
    functionDepth: 0
    functionLinenumber: 4548
    functionLinenumberEnd: 4551
    functionName: streamStateGetBatchSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_writebatch_count
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetBatchSize(void* pBatch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1431,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1434,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1435,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1441,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1436,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1441,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1443,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1444,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1447,1
    - Dst: taskDbUnRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1449,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1451,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - arg
    - pSnapInfo
    argTypes:
    - void*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1453
    functionName: taskDbDestroySnap
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - streamMutexLock
    - taosHashGet
    - memset
    - strlen
    - taskDbUnRefChkp
    - taosArrayGetSize
    - stWarn
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbDestroySnap(void* arg, SArray* pSnapInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1872,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1874,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1873,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1877
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1877
    functionName: stateSessionKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int stateSessionKeyDecode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2232
    functionName: destroyCompactFilte
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void destroyCompactFilte(void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taskDbOpen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2874,1
    - Dst: taskDbDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2889,1
    - Dst: copyDataAt
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2884,1
    - Dst: taskDbOpenCfByKey
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2881,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 3
    argNames:
    - path
    - key
    - pCfInst
    argTypes:
    - char*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 2892
      start: 2866
    functionDepth: 0
    functionLinenumber: 2866
    functionLinenumberEnd: 2892
    functionName: streamStateCvtDataFormat
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - copyDataAt
    - taskDbOpen
    - taskDbOpenCfByKey
    - taskDbDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateCvtDataFormat(char* path, char* key, void* pCfInst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3278,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3292,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3285,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3293,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3285,1
    - Dst: rocksdb_delete_range_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3297,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3301,1
    - Dst: stateKeyToString
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3301,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3302,1
    - Dst: stateKeyToString
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3302,1
    - Dst: rocksdb_compact_range_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3307,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3305,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 3312
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3312
    functionName: streamStateClear_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - rocksdb_compact_range_cf
    - rocksdb_delete_range_cf
    - atomic_add_fetch_64
    - stateKeyToString
    - stDebug
    - stateKeyEncode
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateClear_rocksdb(SStreamState* pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4243,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4251,1
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4245,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4253,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4255,1
    - Dst: streamStateSessionPut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4255,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4257,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4260,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4262,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 4265
      start: 4242
    functionDepth: 0
    functionLinenumber: 4242
    functionLinenumberEnd: 4265
    functionName: streamStateSessionClear_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - TAOS_UNUSED
    - streamStateSessionGetKVByCur_rocksdb
    - streamStateCurNext_rocksdb
    - memset
    - stDebug
    - taosMemoryFreeClear
    - streamStateSessionPut_rocksdb
    linkageType: ''
    returnType: void
    signature: 'void streamStateSessionClear_rocksdb(SStreamState* pState) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4756,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4762,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4766,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4769,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4760,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4771,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4775,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4776,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4777,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4778,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4782,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4786,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4781,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4781,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - pTbl
    - buf
    argTypes:
    - SHashObj*
    - char**
    constantsTouched: []
    func_position:
      end: 4793
      start: 4755
    functionDepth: 0
    functionLinenumber: 4755
    functionLinenumberEnd: 4793
    functionName: hashTableToDebug
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosStrndup
    - taosMemoryFree
    - taosMemoryCalloc
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - strlen
    - taosHashGetKey
    - stError
    linkageType: ''
    returnType: void
    signature: 'void hashTableToDebug(SHashObj* pTbl, char** buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1881,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1883,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1882,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1886
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1886
    functionName: stateSessionKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int stateSessionKeyToString(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 9
    argNames:
    - arg
    - level
    - key
    - klen
    - val
    - vlen
    - newval
    - newvlen
    - value_changed
    argTypes:
    - void*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2236
    functionName: compactFilte
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateValueIsStale
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char compactFilte(void* arg, int level, const char* key,
      size_t klen, const char* val, size_t vlen, char** newval, size_t* newvlen, unsigned
      char* value_changed) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2901,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2912,1
    - Dst: rocksdb_block_based_options_set_block_cache
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2914,1
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2931,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2970,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2979,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2987,1
    - Dst: rocksdb_options_create_copy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3036,1
    - Dst: rocksdb_block_based_options_set_block_cache
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3009,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2997,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2904,1
    - Dst: rocksdb_options_create_copy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2910,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2932,1
    - Dst: rocksdb_open_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2936,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2942,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2955,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2970,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2977,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2983,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2991,1
    - Dst: streamBackendAddCompare
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3029,1
    - Dst: rocksdb_block_based_options_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3008,1
    - Dst: rocksdb_options_set_block_based_table_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3034,1
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3020,1
    - Dst: rocksdb_writeoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2982,1
    - Dst: rocksdb_block_based_options_set_partition_filters
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3010,1
    - Dst: rocksdb_block_based_options_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2913,1
    - Dst: rocksdb_block_based_options_set_filter_policy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2918,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2923,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2943,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2948,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2965,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2967,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2974,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2977,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2980,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3001,1
    - Dst: rocksdb_block_based_options_set_filter_policy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3013,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3035,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3021,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2903,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2902,1
    - Dst: rocksdb_block_based_options_set_partition_filters
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2915,1
    - Dst: rocksdb_filterpolicy_create_bloom
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2917,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2925,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2940,1
    - Dst: rocksdb_options_set_block_based_table_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2944,1
    - Dst: rocksdb_column_family_handle_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2952,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2981,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2984,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2991,1
    - Dst: rocksdb_filterpolicy_create_bloom
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3012,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3030,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3033,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2991,1
    - Dst: rocksdb_writeoptions_disable_WAL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2990,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 124
    argCount: 4
    argNames:
    - backend
    - name
    - cfs
    - nCf
    argTypes:
    - void*
    - char*
    - char**
    - int32_t
    constantsTouched: []
    func_position:
      end: 3038
      start: 2893
    functionDepth: 0
    functionLinenumber: 2893
    functionLinenumberEnd: 3038
    functionName: streamStateOpenBackendCf
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_block_based_options_set_filter_policy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - rocksdb_filterpolicy_create_bloom
    - rocksdb_options_destroy
    - rocksdb_options_set_comparator
    - sscanf
    - stError
    - rocksdb_writeoptions_create
    - rocksdb_column_family_handle_destroy
    - streamStateGetCfIdx
    - rocksdb_options_create_copy
    - taosHashPut
    - memcpy
    - rocksdb_writeoptions_disable_WAL
    - taosHashGet
    - rocksdb_comparator_create
    - streamBackendAddCompare
    - rocksdb_open_column_families
    - stDebug
    - rocksdb_options_set_block_based_table_factory
    - snprintf
    - rocksdb_block_based_options_create
    - rocksdb_block_based_options_set_block_cache
    - taosHashIterate
    - tstrerror
    - strlen
    - rocksdb_block_based_options_set_partition_filters
    - rocksdb_readoptions_create
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateOpenBackendCf(void* backend, char* name, char**
      cfs, int32_t nCf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3314,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 3317
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3317
    functionName: streamStateCurNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_valid
    - rocksdb_iter_next
    linkageType: ''
    returnType: void
    signature: 'void streamStateCurNext_rocksdb(SStreamStateCur* pCur) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4268,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4275,1
    - Dst: streamStateSessionSeekKeyCurrentPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4274,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4286,1
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4282,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4289,1
    - Dst: streamStateSessionSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4290,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4292,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4293,1
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4300,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4309,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4307,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 7
    argNames:
    - pState
    - key
    - pKeyData
    - keyDataLen
    - fn
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - char*
    - int32_t
    - state_key_cmpr_fn
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4311
      start: 4266
    functionDepth: 0
    functionLinenumber: 4266
    functionLinenumberEnd: 4311
    functionName: streamStateStateAddIfNotExist_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateSessionSeekKeyCurrentPrev_rocksdb
    - streamStateSessionSeekKeyNext_rocksdb
    - streamStateSessionGetKVByCur_rocksdb
    - streamStateCurNext_rocksdb
    - stDebug
    - fn
    - taosMemoryFreeClear
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateStateAddIfNotExist_rocksdb(SStreamState* pState,
      SSessionKey* key, char* pKeyData, int32_t keyDataLen, state_key_cmpr_fn fn,
      void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3963
      start: 3958
    functionDepth: 0
    functionLinenumber: 3958
    functionLinenumberEnd: 3963
    functionName: streamStateFillPut_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillPut_rocksdb(SStreamState* pState, const SWinKey*
      key, const void* value, int32_t vLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4319,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pState
    - groupId
    - tag
    - tagLen
    argTypes:
    - SStreamState*
    - int64_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4329
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4329
    functionName: streamStatePutParTag_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutParTag_rocksdb(SStreamState* pState, int64_t
      groupId, const void* tag, int32_t tagLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4474,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4477,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4477,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4488,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4491,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4464,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4466,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4480,1
    - Dst: rocksdb_iter_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4492,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4457,1
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4462,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4462,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4468,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4477,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4479,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4477,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4463,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4470,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4479,1
    - Dst: rocksdb_release_snapshot
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4490,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - pState
    - start
    - end
    - result
    argTypes:
    - SStreamState*
    - void*
    - void*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4494
      start: 4447
    functionDepth: 0
    functionLinenumber: 4447
    functionLinenumberEnd: 4494
    functionName: streamDefaultIterGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - valueDecode
    - strncmp
    - strcmp
    - strlen
    - rocksdb_release_snapshot
    - taosArrayPush
    - streamStateIterCreate
    - rocksdb_iter_value
    - rocksdb_iter_next
    - rocksdb_iter_seek
    - sscanf
    - rocksdb_readoptions_destroy
    - rocksdb_iter_destroy
    - rocksdb_iter_valid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDefaultIterGet_rocksdb(SStreamState* pState, const void*
      start, const void* end, SArray* result) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4129,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4147,1
    - Dst: streamStateCurPrev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4176,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4160,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4169,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4177,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4134,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4153,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4170,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4178,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4172,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4180,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4185,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4139,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4146,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4148,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4155,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4157,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4168,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4163,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4161,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - pState
    - key
    - curKey
    argTypes:
    - SStreamState*
    - SSessionKey*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 4187
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4187
    functionName: streamStateSessionGetKeyByRange_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - streamStateSessionGetKVByCur_rocksdb
    - stateSessionKeyDecode
    - streamStateCurNext_rocksdb
    - stateSessionKeyCmpr
    - createStreamStateCursor
    - streamStateIterCreate
    - streamStateCurPrev
    - stDebug
    - sessionRangeKeyCmpr
    - streamStateIterSeekAndValid
    - stateSessionKeyEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGetKeyByRange_rocksdb(SStreamState* pState,
      const SSessionKey* key, SSessionKey* curKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4795,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4809,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4810,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4802,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4804,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4811,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4814,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4814,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4815,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pArr
    - buf
    argTypes:
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 4825
      start: 4794
    functionDepth: 0
    functionLinenumber: 4794
    functionLinenumberEnd: 4825
    functionName: strArrayDebugInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - strlen
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: void
    signature: 'void strArrayDebugInfo(SArray* pArr, char** buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backendFileCopyFilesImpl
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 666
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 666
    functionName: backendCopyFiles
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - backendFileCopyFilesImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t backendCopyFiles(const char* src, const char* dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2202
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2202
    functionName: compareParKeyName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * compareParKeyName(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3706,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 3711
      start: 3705
    functionDepth: 0
    functionLinenumber: 3705
    functionLinenumberEnd: 3711
    functionName: streamStateSessionCurPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_prev
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionCurPrev_rocksdb(SStreamStateCur* pCur) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4372,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4377,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4382,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4377,1
    - Dst: parKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4383,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4386,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4387,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - pCur
    - pGroupId
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - int64_t*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4395
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4395
    functionName: streamStateParTagGetKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - valueDecode
    - rocksdb_iter_value
    - iterValueIsStale
    - stDebug
    - parKeyDecode
    - rocksdb_iter_valid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateParTagGetKVByCur_rocksdb(SStreamStateCur* pCur,
      int64_t* pGroupId, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4440
      start: 4436
    functionDepth: 0
    functionLinenumber: 4436
    functionLinenumberEnd: 4440
    functionName: streamDefaultGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDefaultGet_rocksdb(SStreamState* pState, const void*
      key, void** pVal, int32_t* pVLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:671,1
    - Dst: isValidCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:673,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:674,1
    - Dst: backendCopyFiles
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:676,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:673,1
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:678,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:680,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:680,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:683,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:688,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - pTaskIdStr
    - checkpointPath
    - checkpointId
    - defaultPath
    - processVer
    argTypes:
    - char*
    - char*
    - int64_t
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 692
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 692
    functionName: rebuildFromLocalCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - cleanDir
    - tstrerror
    - taosIsDir
    - stDebug
    - backendCopyFiles
    - stInfo
    - stError
    - isValidCheckpoint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rebuildFromLocalCheckpoint(const char* pTaskIdStr,
      const char* checkpointPath, int64_t checkpointId, const char* defaultPath, int64_t*
      processVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2206
    functionName: comparePartagKeyName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * comparePartagKeyName(void* arg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3741,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3741,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3753,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3752,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3755,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3761,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3714,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3760,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3727,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3736,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3730,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3738,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3741,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3752,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3750,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3744,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3720,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3737,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3743,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3756,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3762,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3766
      start: 3713
    functionDepth: 0
    functionLinenumber: 3713
    functionLinenumberEnd: 3766
    functionName: streamStateSessionSeekKeyCurrentPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - rocksdb_iter_prev
    - TAOS_UNUSED
    - rocksdb_iter_valid
    - stateSessionKeyDecode
    - stateSessionKeyCmpr
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - streamStateIterSeekAndValid
    - stateSessionKeyEncode
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyCurrentPrev_rocksdb(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4401,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4407,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pState
    - groupId
    - tagVal
    - tagLen
    argTypes:
    - SStreamState*
    - int64_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4410
      start: 4397
    functionDepth: 0
    functionLinenumber: 4397
    functionLinenumberEnd: 4410
    functionName: streamStateGetParTag_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetParTag_rocksdb(SStreamState* pState, int64_t
      groupId, void** tagVal, int32_t* tagLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - void*
    constantsTouched: []
    func_position:
      end: 4445
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4445
    functionName: streamDefaultDel_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDefaultDel_rocksdb(SStreamState* pState, const void*
      key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3968,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3970
      start: 3965
    functionDepth: 0
    functionLinenumber: 3965
    functionLinenumberEnd: 3970
    functionName: streamStateFillGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGet_rocksdb(SStreamState* pState, const SWinKey*
      key, void** pVal, int32_t* pVLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4342,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4344,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4352,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4346,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4356,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4356,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4357,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4360,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4363,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4364,1
    - Dst: parKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4364,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4367,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pState
    - groupId
    - pCur
    argTypes:
    - SStreamState*
    - int64_t
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4369
    functionName: streamStateParTagSeekKeyNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - streamStateGetCfIdx
    - TAOS_UNUSED
    - parKeyDecode
    - streamStateIterCreate
    - iterValueIsStale
    - rocksdb_iter_next
    - streamStateIterSeekAndValid
    - stError
    - rocksdb_iter_valid
    linkageType: ''
    returnType: void
    signature: 'void streamStateParTagSeekKeyNext_rocksdb(SStreamState* pState, const
      int64_t groupId, SStreamStateCur* pCur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:188,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:190,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - cfName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 196
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 196
    functionName: getCfIdx
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getCfIdx(const char* cfName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:275,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:285,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:283,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:278,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:289,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:296,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:301,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:310,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:323,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:322,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - path
    - pMeta
    argTypes:
    - char*
    - SSChkpMetaOnS3**
    constantsTouched: []
    func_position:
      end: 325
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 325
    functionName: remoteChkp_readMetaData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - taosMemoryFree
    - taosCloseFile
    - taosReadFile
    - taosMemoryCalloc
    - strlen
    - sscanf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t remoteChkp_readMetaData(char* path, SSChkpMetaOnS3** pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1736,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1747
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1747
    functionName: defaultKeyComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'int defaultKeyComp(void* state, const char* aBuf, size_t aLen, const
      char* bBuf, size_t bLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1943,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1952,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1950,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1949,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1944,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1953,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1955,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1956,1
    - Dst: STupleKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1959
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1959
    functionName: tupleKeyDBComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedU64
    - memset
    - taosDecodeFixedI32
    - STupleKeyCmpr
    linkageType: ''
    returnType: int
    signature: 'int tupleKeyDBComp(void* state, const char* aBuf, size_t aLen, const
      char* bBuf, size_t bLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2023,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2024,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2025,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 2027
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2027
    functionName: valueToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t valueToString(void* k, char* buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3437,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3447,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3453,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3454,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3452,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3458,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3458,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3459,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3462,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3465,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3466,1
    - Dst: stateKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3466,1
    - Dst: stateKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3467,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3470,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3473,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3475
      start: 3436
    functionDepth: 0
    functionLinenumber: 3436
    functionLinenumberEnd: 3475
    functionName: streamStateSeekKeyNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - TAOS_UNUSED
    - stateKeyEncode
    - stateKeyDecode
    - createStreamStateCursor
    - stateKeyCmpr
    - streamStateIterCreate
    - iterValueIsStale
    - rocksdb_iter_next
    - streamStateIterSeekAndValid
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSeekKeyNext_rocksdb(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3975
      start: 3971
    functionDepth: 0
    functionLinenumber: 3971
    functionLinenumberEnd: 3975
    functionName: streamStateFillDel_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillDel_rocksdb(SStreamState* pState, const SWinKey*
      key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4021,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4025,1
    - Dst: winKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4026,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4026,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4021,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4028,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4029,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4037
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4037
    functionName: streamStateFillGetKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - valueDecode
    - TAOS_UNUSED
    - winKeyDecode
    - rocksdb_iter_value
    - iterValueIsStale
    - rocksdb_iter_valid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetKVByCur_rocksdb(SStreamStateCur* pCur, SWinKey*
      pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:331,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:333,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:346,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:332,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:351,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:357,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:362,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:368,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:373,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:374,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:380,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 3
    argNames:
    - path
    - pMeta
    - chkpId
    argTypes:
    - char*
    - SSChkpMetaOnS3*
    - int64_t
    constantsTouched: []
    func_position:
      end: 383
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 383
    functionName: remoteChkp_validAndCvtMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosStatFile
    - taosMemoryFree
    - taosMemoryCalloc
    - memset
    - taosRenameFile
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t remoteChkp_validAndCvtMeta(char* path, SSChkpMetaOnS3* pMeta,
      int64_t chkpId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: isValidCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isValidCheckpoint(const char* dir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1750,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1751,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - v
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1752
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1752
    functionName: streamStateValueIsStale
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosGetTimestampMs
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int streamStateValueIsStale(char* v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1964,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1965,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1968
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1968
    functionName: tupleKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int tupleKeyEncode(void* k, char* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3481,1
    - Dst: stateKeyToString
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3488,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3488,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3489,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3492,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3503,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3507,1
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3508,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3509,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3510,1
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3519,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3510,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3515,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3511,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 3521
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3521
    functionName: streamStateSeekToLast_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - TAOS_UNUSED
    - rocksdb_iter_prev
    - STREAM_STATE_DEL_ROCKSDB
    - STREAM_STATE_PUT_ROCKSDB
    - createStreamStateCursor
    - streamStateIterCreate
    - stateKeyToString
    - stDebug
    - iterValueIsStale
    - stateKeyEncode
    - rocksdb_iter_seek
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSeekToLast_rocksdb(SStreamState* pState) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3978,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3994,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3979,1
    - Dst: winKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3993,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3988,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3995,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3998,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3999,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4003,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4006,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4007,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4013,1
    - Dst: winKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4008,1
    - Dst: winKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4007,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 4015
      start: 3977
    functionDepth: 0
    functionLinenumber: 3977
    functionLinenumberEnd: 4015
    functionName: streamStateFillGetCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - winKeyCmpr
    - TAOS_UNUSED
    - winKeyDecode
    - createStreamStateCursor
    - winKeyEncode
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - streamStateIterSeekAndValid
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillGetCur_rocksdb(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4040,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4051,1
    - Dst: winKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4056,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4057,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4045,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4058,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4062,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4062,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4063,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4066,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4069,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4070,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4077,1
    - Dst: winKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4070,1
    - Dst: winKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4071,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4074,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 4079
      start: 4039
    functionDepth: 0
    functionLinenumber: 4039
    functionLinenumberEnd: 4079
    functionName: streamStateFillSeekKeyNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - winKeyCmpr
    - TAOS_UNUSED
    - winKeyDecode
    - createStreamStateCursor
    - winKeyEncode
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - rocksdb_iter_next
    - streamStateIterSeekAndValid
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillSeekKeyNext_rocksdb(SStreamState*
      pState, const SWinKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5359,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5361,1
    - Dst: dbChkpDumpTo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5362,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5361,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - bm
    - taskId
    - dname
    argTypes:
    - SBkdMgt*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5366
      start: 5357
    functionDepth: 0
    functionLinenumber: 5357
    functionLinenumberEnd: 5366
    functionName: bkdMgtDumpTo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - taosHashGet
    - dbChkpDumpTo
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bkdMgtDumpTo(SBkdMgt* bm, char* taskId, char* dname) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nextPow2
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:829,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:830,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:834,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:842,1
    - Dst: rocksdb_env_set_high_priority_background_threads
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:851,1
    - Dst: rocksdb_options_set_create_if_missing
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:857,1
    - Dst: rocksdb_options_set_db_write_buffer_size
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:863,1
    - Dst: rocksdb_options_set_atomic_flush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:865,1
    - Dst: rocksdb_compactionfilterfactory_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:870,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:899,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:881,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:913,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:900,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:911,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:825,1
    - Dst: rocksdb_create_default_env
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:847,1
    - Dst: rocksdb_cache_create_lru
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:853,1
    - Dst: rocksdb_env_set_low_priority_background_threads
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:850,1
    - Dst: rocksdb_options_set_info_log_level
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:862,1
    - Dst: rocksdb_list_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:874,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:876,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:880,1
    - Dst: streamStateOpenBackendCf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:888,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:890,1
    - Dst: rocksdb_cache_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:907,1
    - Dst: rebuildDirFromCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:824,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:827,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:837,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:840,1
    - Dst: rocksdb_options_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:855,1
    - Dst: rocksdb_options_set_max_total_wal_size
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:859,1
    - Dst: rocksdb_options_set_max_write_buffer_number
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:861,1
    - Dst: rocksdb_open
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:877,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:879,1
    - Dst: rocksdb_list_column_families_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:896,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:914,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:915,1
    - Dst: rocksdb_options_set_compaction_filter_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:872,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:831,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:833,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:836,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:839,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:842,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:843,1
    - Dst: rocksdb_options_set_env
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:856,1
    - Dst: rocksdb_options_set_create_missing_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:858,1
    - Dst: rocksdb_options_set_recycle_log_file_num
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:860,1
    - Dst: rocksdb_options_set_write_buffer_size
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:864,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:906,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:909,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:912,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:910,1
    - Dst: rocksdb_env_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:908,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 88
    argCount: 4
    argNames:
    - streamPath
    - chkpId
    - vgId
    - pBackend
    argTypes:
    - char*
    - int64_t
    - int32_t
    - SBackendWrapper**
    constantsTouched: []
    func_position:
      end: 917
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 917
    functionName: streamBackendInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - rocksdb_compactionfilterfactory_create
    - rocksdb_env_destroy
    - rocksdb_options_create
    - TSDB_CHECK_NULL
    - rocksdb_options_destroy
    - rocksdb_list_column_families_destroy
    - rocksdb_options_set_max_total_wal_size
    - stError
    - taosHashInit
    - taosHashCleanup
    - rocksdb_create_default_env
    - rocksdb_env_set_low_priority_background_threads
    - rocksdb_options_set_db_write_buffer_size
    - rocksdb_options_set_create_if_missing
    - rocksdb_list_column_families
    - taosGetDefaultHashFunction
    - rocksdb_options_set_recycle_log_file_num
    - rocksdb_env_set_high_priority_background_threads
    - rocksdb_cache_destroy
    - TSDB_CHECK_CODE
    - rocksdb_options_set_max_write_buffer_number
    - streamStateOpenBackendCf
    - rocksdb_options_set_env
    - rocksdb_open
    - streamMutexDestroy
    - tdListNew
    - rocksdb_options_set_info_log_level
    - rocksdb_options_set_create_missing_column_families
    - rebuildDirFromCheckpoint
    - stDebug
    - rocksdb_options_set_write_buffer_size
    - taosMemoryFreeClear
    - tdListFree
    - rocksdb_options_set_compaction_filter_factory
    - nextPow2
    - taosThreadMutexInit
    - rocksdb_options_set_atomic_flush
    - tstrerror
    - rocksdb_cache_create_lru
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBackendInit(const char* streamPath, int64_t chkpId,
      int32_t vgId, SBackendWrapper** pBackend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1838,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1847,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1839,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1844,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1845,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1848,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1850,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1851,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1853,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1854,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1856,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1857
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1857
    functionName: stateSessionKeyDBComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedU64
    - stateSessionKeyCmpr
    - memset
    linkageType: ''
    returnType: int
    signature: 'int stateSessionKeyDBComp(void* state, const char* aBuf, size_t aLen,
      const char* bBuf, size_t bLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4562,1
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4564,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4566,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4562,1
    - Dst: rocksdb_writebatch_put_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4578,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4582,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 7
    argNames:
    - pState
    - cfKeyName
    - pBatch
    - key
    - val
    - vlen
    - ttl
    argTypes:
    - SStreamState*
    - char*
    - rocksdb_writebatch_t*
    - void*
    - void*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 4586
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4586
    functionName: streamStatePutBatch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateGetCfIdx
    - taosMemoryFree
    - TAOS_UNUSED
    - stTrace
    - atomic_add_fetch_64
    - stError
    - rocksdb_writebatch_put_cf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutBatch(SStreamState* pState, const char* cfKeyName,
      rocksdb_writebatch_t* pBatch, void* key, void* val, int32_t vlen, int64_t ttl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:922,1
    - Dst: rocksdb_close
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:932,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:926,1
    - Dst: destroyRocksdbCfInst
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:925,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:929,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:936,1
    - Dst: rocksdb_env_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:937,1
    - Dst: rocksdb_cache_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:938,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:940,1
    - Dst: streamStateDestroyCompar
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:942,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:944,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:952,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:947,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:948,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:950,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:943,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 953
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 953
    functionName: streamBackendCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_cache_destroy
    - tdListFree
    - taosMemoryFree
    - taosHashIterate
    - rocksdb_env_destroy
    - streamStateDestroyCompar
    - streamMutexDestroy
    - rocksdb_options_destroy
    - rocksdb_close
    - destroyRocksdbCfInst
    - tdListPopHead
    - stDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamBackendCleanup(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1861,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1863,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1862,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1866
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1866
    functionName: stateSessionKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int stateSessionKeyEncode(void* k, char* buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4192,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4201,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4207,1
    - Dst: streamStateSessionSeekKeyCurrentPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4206,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4210,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4211,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4212,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4215,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4216,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4219,1
    - Dst: streamStateSessionSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4221,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4237,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4227,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4224,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4239,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4234,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4220,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - pState
    - key
    - gap
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - TSKEY
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4241
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4241
    functionName: streamStateSessionAddIfNotExist_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - taosMemoryFree
    - taosMemoryMalloc
    - streamStateSessionSeekKeyCurrentPrev_rocksdb
    - streamStateSessionSeekKeyNext_rocksdb
    - streamStateSessionGetKVByCur_rocksdb
    - streamStateCurNext_rocksdb
    - memset
    - memcpy
    - stDebug
    - sessionRangeKeyCmpr
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionAddIfNotExist_rocksdb(SStreamState* pState,
      SSessionKey* key, TSKEY gap, void** pVal, int32_t* pVLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4608,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4618,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4618,1
    - Dst: rocksdb_writebatch_put_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4628,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4633,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4634,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 8
    argNames:
    - pState
    - cfIdx
    - pBatch
    - key
    - val
    - vlen
    - ttl
    - tmpBuf
    argTypes:
    - SStreamState*
    - int32_t
    - rocksdb_writebatch_t*
    - void*
    - void*
    - int32_t
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 4637
      start: 4588
    functionDepth: 0
    functionLinenumber: 4588
    functionLinenumberEnd: 4637
    functionName: streamStatePutBatchOptimize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - stTrace
    - atomic_add_fetch_64
    - rocksdb_writebatch_put_cf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutBatchOptimize(SStreamState* pState, int32_t
      cfIdx, rocksdb_writebatch_t* pBatch, void* key, void* val, int32_t vlen, int64_t
      ttl, void* tmpBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1052,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1059,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1061,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1064,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1078,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1055,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1058,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1066,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1088,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1074,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1062,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1082,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1085,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1087,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1075,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1091,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1054,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1070,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1090,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1092,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1095,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - arg
    - path
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1097
    functionName: delObsoleteCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - sprintf
    - taosArrayPush
    - taosWUnLockLatch
    - taosIsDir
    - taosRemoveDir
    - taosArrayGetSize
    - taosWLockLatch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t delObsoleteCheckpoint(void* arg, const char* path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:224,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:219,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:233,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:237,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:241,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:243,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:248,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:226,1
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:238,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:247,1
    - Dst: backendCopyFiles
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:239,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:217,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:232,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:241,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:209,1
    - Dst: isValidCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:237,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:249,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 3
    argNames:
    - path
    - chkpId
    - dst
    argTypes:
    - char*
    - int64_t
    - char**
    constantsTouched: []
    func_position:
      end: 260
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 260
    functionName: rebuildDirFromCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMkDir
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - cleanDir
    - tstrerror
    - strlen
    - taosIsDir
    - backendCopyFiles
    - stInfo
    - stError
    - isValidCheckpoint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rebuildDirFromCheckpoint(const char* path, int64_t chkpId,
      char** dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_checkpoint_object_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1278,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1281,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1280,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1287,1
    - Dst: rocksdb_checkpoint_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1285,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1288,1
    - Dst: rocksdb_checkpoint_object_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - db
    - path
    argTypes:
    - rocksdb_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1296
    functionName: chkpDoDbCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_checkpoint_object_destroy
    - taosMemoryFreeClear
    - stError
    - rocksdb_checkpoint_object_create
    - rocksdb_checkpoint_create
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpDoDbCheckpoint(rocksdb_t* db, char* path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1895,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1902,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1901,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1904,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1896,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1905,1
    - Dst: winKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1907,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1908
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1908
    functionName: winKeyDBComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - winKeyCmpr
    - taosDecodeFixedU64
    - memset
    linkageType: ''
    returnType: int
    signature: 'int winKeyDBComp(void* state, const char* aBuf, size_t aLen, const
      char* bBuf, size_t bLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1923,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1925,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1927
      start: 1919
    functionDepth: 0
    functionLinenumber: 1919
    functionLinenumberEnd: 1927
    functionName: winKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - taosDecodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int winKeyDecode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2011,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 2013
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2013
    functionName: parKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: int
    signature: 'int parKeyDecode(void* k, char* buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_flushoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1302,1
    - Dst: rocksdb_flushoptions_set_wait
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1307,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1312,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1311,1
    - Dst: rocksdb_flush_cfs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1309,1
    - Dst: rocksdb_flushoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1315,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - db
    - cf
    - nCf
    argTypes:
    - rocksdb_t*
    - rocksdb_column_family_handle_t**
    - int32_t
    constantsTouched: []
    func_position:
      end: 1317
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1317
    functionName: chkpPreFlushDb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - rocksdb_flushoptions_set_wait
    - rocksdb_flushoptions_create
    - rocksdb_flush_cfs
    - rocksdb_flushoptions_destroy
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpPreFlushDb(rocksdb_t* db, rocksdb_column_family_handle_t**
      cf, int32_t nCf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1913,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1914,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1915,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1917
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1917
    functionName: winKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int winKeyEncode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1932,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1935
    functionName: winKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int winKeyToString(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 2019
      start: 2014
    functionDepth: 0
    functionLinenumber: 2014
    functionLinenumberEnd: 2019
    functionName: parKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int parKeyToString(void* k, char* buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4533,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4536,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - iter
    - len
    argTypes:
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4541
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4541
    functionName: streamDefaultIterVal_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - valueDecode
    - taosMemoryFree
    - rocksdb_iter_value
    linkageType: ''
    returnType: char*
    signature: 'char * streamDefaultIterVal_rocksdb(void* iter, int32_t* len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4710,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4717,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4715,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4713,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4721
      start: 4708
    functionDepth: 0
    functionLinenumber: 4708
    functionLinenumberEnd: 4721
    functionName: isBkdDataMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t isBkdDataMeta(char* name, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5370,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5389,1
    - Dst: stateKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5388,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5382,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5376,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5390,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5393,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5393,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5394,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5397,1
    - Dst: winKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5401,1
    - Dst: winKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5402,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5400,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5409,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5405,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5401,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 5411
      start: 5369
    functionDepth: 0
    functionLinenumber: 5369
    functionLinenumberEnd: 5411
    functionName: streamStateSeekKeyPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - winKeyCmpr
    - rocksdb_iter_prev
    - TAOS_UNUSED
    - stateKeyEncode
    - winKeyDecode
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - streamStateIterSeekAndValid
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSeekKeyPrev_rocksdb(SStreamState* pState,
      const SWinKey* key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3768,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3787,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3774,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3779,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3785,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3788,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3791,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3792,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3796,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3798,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3799,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3798,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3803,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3801,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3802,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3807
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3807
    functionName: streamStateSessionSeekKeyCurrentNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - TAOS_UNUSED
    - rocksdb_iter_valid
    - stateSessionKeyDecode
    - stateSessionKeyCmpr
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - rocksdb_iter_next
    - streamStateIterSeekAndValid
    - stateSessionKeyEncode
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyCurrentNext_rocksdb(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:707,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:716,1
    - Dst: createDirIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:722,1
    - Dst: createDirIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:746,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:740,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:736,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:787,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:703,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:709,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:724,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:748,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:767,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:752,1
    - Dst: rebuildFromLocalCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:761,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:768,1
    - Dst: rebuildFromRemoteCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:763,1
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:785,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:708,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:710,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:728,1
    - Dst: createDirIfNotExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:788,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 92
    argCount: 6
    argNames:
    - path
    - key
    - chkptId
    - dbPrefixPath
    - dbPath
    - processVer
    argTypes:
    - char*
    - char*
    - int64_t
    - char**
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 790
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 790
    functionName: restoreCheckpointData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - rebuildFromLocalCheckpoint
    - taosMemoryCalloc
    - cleanDir
    - tstrerror
    - strlen
    - stError
    - rebuildFromRemoteCheckpoint
    - stDebug
    - stInfo
    - createDirIfNotExist
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t restoreCheckpointData(const char* path, const char* key, int64_t
      chkptId, char** dbPrefixPath, char** dbPath, int64_t* processVer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2210
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2210
    functionName: destroyCompactFilteFactory
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void destroyCompactFilteFactory(void* arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_GET_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3249
    functionDepth: 0
    functionLinenumber: 3249
    functionLinenumberEnd: 3270
    functionName: streamStateGet_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - STREAM_STATE_GET_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGet_rocksdb(SStreamState* pState, const SWinKey*
      key, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3663
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3663
    functionName: streamStateSessionDel_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionDel_rocksdb(SStreamState* pState, const
      SSessionKey* key) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4081,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4092,1
    - Dst: winKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4097,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4086,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4098,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4099,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4102,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4102,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4103,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4106,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4109,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4110,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4118,1
    - Dst: winKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4111,1
    - Dst: winKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4110,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4114,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 4120
      start: 4080
    functionDepth: 0
    functionLinenumber: 4080
    functionLinenumberEnd: 4120
    functionName: streamStateFillSeekKeyPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - winKeyCmpr
    - rocksdb_iter_prev
    - TAOS_UNUSED
    - winKeyDecode
    - createStreamStateCursor
    - winKeyEncode
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - streamStateIterSeekAndValid
    - rocksdb_iter_valid
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillSeekKeyPrev_rocksdb(SStreamState*
      pState, const SWinKey* key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4497,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 4508
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4508
    functionName: streamDefaultIterCreate_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - createStreamStateCursor
    - streamStateIterCreate
    linkageType: ''
    returnType: void*
    signature: 'void * streamDefaultIterCreate_rocksdb(SStreamState* pState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:793,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:806,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:811,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:801,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - path
    - chkpId
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 813
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 813
    functionName: streamBackendDataIsExist
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - taosDirExist
    linkageType: ''
    returnType: bool
    signature: 'bool streamBackendDataIsExist(const char* path, int64_t chkpId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2214
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2214
    functionName: compactFilteFactoryName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteFactoryName(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3276
    functionName: streamStateDel_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateDel_rocksdb(SStreamState* pState, const SWinKey*
      key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3666,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3685,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3673,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3682,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3689,1
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3690,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3691,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3692,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3692,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3693,1
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3701,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3697,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3696,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pState
    - groupId
    argTypes:
    - SStreamState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3703
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3703
    functionName: streamStateSessionSeekToLast_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_prev
    - rocksdb_iter_valid
    - STREAM_STATE_DEL_ROCKSDB
    - STREAM_STATE_PUT_ROCKSDB
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - rocksdb_iter_seek
    - stateSessionKeyEncode
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekToLast_rocksdb(SStreamState*
      pState, int64_t groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pState
    argTypes:
    - SStreamState*
    constantsTouched: []
    func_position:
      end: 4125
      start: 4122
    functionDepth: 0
    functionLinenumber: 4122
    functionLinenumberEnd: 4125
    functionName: streamStateFillSeekToLast_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFillSeekKeyPrev_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateFillSeekToLast_rocksdb(SStreamState*
      pState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4514,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4515
      start: 4509
    functionDepth: 0
    functionLinenumber: 4509
    functionLinenumberEnd: 4515
    functionName: streamDefaultIterValid_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_valid
    - iterValueIsStale
    linkageType: ''
    returnType: bool
    signature: 'bool streamDefaultIterValid_rocksdb(void* iter) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:960,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:962,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:958,1
    - Dst: rocksdb_drop_column_family
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:971,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:973,1
    - Dst: rocksdb_flushoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:978,1
    - Dst: rocksdb_flush_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:982,1
    - Dst: rocksdb_flushoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:988,1
    - Dst: rocksdb_column_family_handle_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:993,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:996,1
    - Dst: streamBackendDelCompare
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1004,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:985,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:999,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1011,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1012,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1015,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1019,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:958,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:962,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:984,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1013,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1013,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:974,1
    - Dst: rocksdb_flushoptions_set_wait
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:979,1
    - Dst: rocksdb_writeoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1006,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1020,1
    - Dst: rocksdb_block_based_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1000,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1009,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1022
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 1022
    functionName: streamBackendHandleCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_flush_cf
    - TAOS_UNUSED
    - taosMemoryFree
    - rocksdb_flushoptions_create
    - rocksdb_drop_column_family
    - rocksdb_readoptions_destroy
    - rocksdb_options_destroy
    - rocksdb_writeoptions_destroy
    - stError
    - rocksdb_flushoptions_destroy
    - taosThreadRwlockWrlock
    - rocksdb_column_family_handle_destroy
    - rocksdb_block_based_options_destroy
    - rocksdb_flushoptions_set_wait
    - stDebug
    - taosMemoryFreeClear
    - taosThreadRwlockUnlock
    - streamBackendDelCompare
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: 'void streamBackendHandleCleanup(void* arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1595,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1595,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1601,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1601,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1607,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1566,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1588,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1599,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1607,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1588,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1563,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1574,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1571,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1578,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1581,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1581,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1585,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1608,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - pChkpIdDir
    - chkpId
    - processId
    argTypes:
    - char*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1610
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1610
    functionName: chkpAddExtraInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - TAOS_UNUSED
    - taosCloseFile
    - taosMemoryFree
    - taosMemoryCalloc
    - taosWriteFile
    - tstrerror
    - strlen
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpAddExtraInfo(char* pChkpIdDir, int64_t chkpId, int64_t
      processId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1812,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1815,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1814,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1813,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1817
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1817
    functionName: stateKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - taosDecodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int stateKeyDecode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2189
      start: 2186
    functionDepth: 0
    functionLinenumber: 2186
    functionLinenumberEnd: 2189
    functionName: compareStateName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: char*
    signature: 'const char * compareStateName(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2239
    functionName: compactFilteNameState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteNameState(void* arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4689,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4696,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4690,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4701,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4672,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4684,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4702,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4685,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4670,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4683,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4685,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4687,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4697,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4675,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4673,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4677,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4678,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4688,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4703,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 4705
      start: 4667
    functionDepth: 0
    functionLinenumber: 4667
    functionLinenumberEnd: 4705
    functionName: copyFiles
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sprintf
    - taosMemoryCalloc
    - strcmp
    - taosReadDir
    - taosDirEntryIsDir
    - memset
    - strlen
    - taosCloseDir
    - taosOpenDir
    - taosCopyFile
    - taosMemoryFreeClear
    - taosGetDirEntryName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyFiles(const char* src, const char* dst) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1614,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1620,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1632,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1638,1
    - Dst: chkpPreFlushDb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1639,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1642,1
    - Dst: chkpDoDbCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1646,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1650,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1666,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1656,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1673,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1681,1
    - Dst: chkpGetAllDbCfHandle2
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1631,1
    - Dst: chkpPreBuildDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1625,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1647,1
    - Dst: chkpAddExtraInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1655,1
    - Dst: chkpMayDelObsolete
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1661,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1666,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1651,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1674,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1677,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1680,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1634,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1678,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1680,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 4
    argNames:
    - arg
    - chkpId
    - processedVer
    - pList
    argTypes:
    - void*
    - int64_t
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1612
    functionDepth: 0
    functionLinenumber: 1612
    functionLinenumberEnd: 1683
    functionName: taskDbDoCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_load_64
    - taosMemoryFree
    - chkpMayDelObsolete
    - TAOS_UNUSED
    - taosRemoveDir
    - chkpPreFlushDb
    - chkpPreBuildDir
    - chkpAddExtraInfo
    - atomic_store_64
    - taosReleaseRef
    - chkpDoDbCheckpoint
    - taosDirExist
    - stDebug
    - chkpGetAllDbCfHandle2
    - stError
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbDoCheckpoint(void* arg, int64_t chkpId, int64_t processedVer,
      SArray *pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1822,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1823,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1819
    functionDepth: 0
    functionLinenumber: 1819
    functionLinenumberEnd: 1826
    functionName: stateKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateKeyToString(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2190
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2190
    functionName: compareWinKeyName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compareWinKeyName(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2240
    functionName: compactFilteNameFill
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteNameFill(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1764,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1767
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1767
    functionName: defaultKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int defaultKeyDecode(void* k, char* buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5269,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5277,1
    - Dst: dbChkpDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5272,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5277,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5274,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5278,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - bm
    argTypes:
    - SBkdMgt*
    constantsTouched: []
    func_position:
      end: 5282
      start: 5267
    functionDepth: 0
    functionLinenumber: 5267
    functionLinenumberEnd: 5282
    functionName: bkdMgtDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - dbChkpDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosHashIterate
    - taosThreadRwlockDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void bkdMgtDestroy(SBkdMgt* bm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1755,1
    - Dst: streamStateValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1756,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - rocksdb_iterator_t*
    constantsTouched: []
    func_position:
      end: 1757
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1757
    functionName: iterValueIsStale
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateValueIsStale
    - rocksdb_iter_value
    linkageType: ''
    returnType: int
    signature: 'int iterValueIsStale(rocksdb_iterator_t* iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2226
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2226
    functionName: compactFilteFactoryNameFill
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteFactoryNameFill(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2241
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2241
    functionName: compactFilteNameFunc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteNameFunc(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 9
    argNames:
    - arg
    - level
    - key
    - klen
    - val
    - vlen
    - newval
    - newvlen
    - value_changed
    argTypes:
    - void*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2253
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2253
    functionName: compactFilteState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char compactFilteState(void* arg, int level, const char*
      key, size_t klen, const char* val, size_t vlen, char** newval, size_t* newvlen,
      unsigned char* value_changed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskDbDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2712
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2712
    functionName: taskDbDestroy2
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taskDbDestroy
    linkageType: ''
    returnType: void
    signature: 'void taskDbDestroy2(void* pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3356,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3361,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3365,1
    - Dst: streamStateGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3367
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3367
    functionName: streamStateAddIfNotExist_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateGet_rocksdb
    - taosMemoryMalloc
    - memset
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateAddIfNotExist_rocksdb(SStreamState* pState, const
      SWinKey* key, void** pVal, int32_t* pVLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3854,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3864,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3872,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3859,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3871,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3873,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3876,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3876,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3876,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3877,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3883,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3886,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3889,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3878,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3885,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3885,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3890,1
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3888,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3894
      start: 3853
    functionDepth: 0
    functionLinenumber: 3853
    functionLinenumberEnd: 3894
    functionName: streamStateSessionSeekKeyPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - rocksdb_iter_prev
    - TAOS_UNUSED
    - rocksdb_iter_valid
    - stateSessionKeyDecode
    - stateSessionKeyCmpr
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - streamStateIterSeekAndValid
    - stateSessionKeyEncode
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyPrev_rocksdb(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4523
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4523
    functionName: streamDefaultIterNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_next
    linkageType: ''
    returnType: void
    signature: 'void streamDefaultIterNext_rocksdb(void* iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1759,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1762
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1762
    functionName: defaultKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int defaultKeyEncode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2230
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2230
    functionName: compactFilteFactoryNameFunc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteFactoryNameFunc(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 9
    argNames:
    - arg
    - level
    - key
    - klen
    - val
    - vlen
    - newval
    - newvlen
    - value_changed
    argTypes:
    - void*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2247
    functionName: compactFilteSess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char compactFilteSess(void* arg, int level, const char* key,
      size_t klen, const char* val, size_t vlen, char** newval, size_t* newvlen, unsigned
      char* value_changed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 1
    argCount: 9
    argNames:
    - arg
    - level
    - key
    - klen
    - val
    - vlen
    - newval
    - newvlen
    - value_changed
    argTypes:
    - void*
    - int
    - char*
    - size_t
    - char*
    - size_t
    - char**
    - size_t*
    - unsigned char*
    constantsTouched: []
    func_position:
      end: 2259
      start: 2255
    functionDepth: 0
    functionLinenumber: 2255
    functionLinenumberEnd: 2259
    functionName: compactFilteFill
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char compactFilteFill(void* arg, int level, const char* key,
      size_t klen, const char* val, size_t vlen, char** newval, size_t* newvlen, unsigned
      char* value_changed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2719,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2728,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2726,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2724,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2728,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2735,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2736,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2736,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2744,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2747,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pDb
    - chkpId
    - path
    argTypes:
    - STaskDbWrapper*
    - int64_t
    - char**
    constantsTouched: []
    func_position:
      end: 2749
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2749
    functionName: taskDbGenChkpUploadData__rsync
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_UNUSED
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - taosReleaseRef
    - taosIsDir
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbGenChkpUploadData__rsync(STaskDbWrapper* pDb, int64_t
      chkpId, char** path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 3372
      start: 3368
    functionDepth: 0
    functionLinenumber: 3368
    functionLinenumberEnd: 3372
    functionName: streamStateCurPrev_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_prev
    linkageType: ''
    returnType: void
    signature: 'void streamStateCurPrev_rocksdb(SStreamStateCur* pCur) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3904,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3908,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3904,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3907,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3908,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3914,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3916,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3918,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3923,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3947,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3953,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3941,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 50
    argCount: 5
    argNames:
    - pState
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3956
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3956
    functionName: streamStateSessionGetKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - valueDecode
    - taosMemoryFree
    - TAOS_UNUSED
    - qTrace
    - stateSessionKeyDecode
    - rocksdb_iter_value
    - iterValueIsStale
    - rocksdb_iter_valid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSessionGetKVByCur_rocksdb(SStreamState* pState,
      SStreamStateCur* pCur, SSessionKey* pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4526,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - iter
    - len
    argTypes:
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4527
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4527
    functionName: streamDefaultIterKey_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    linkageType: ''
    returnType: char*
    signature: 'char * streamDefaultIterKey_rocksdb(void* iter, int32_t* len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - k
    - ts
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2036
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2036
    functionName: valueIsStale
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t valueIsStale(void* k, int64_t ts) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5285,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5290,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5286,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5293,1
    - Dst: dbChkpDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5308,1
    - Dst: dbChkpGetDelta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5325,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5286,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5297,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5313,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5309,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5313,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5315,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5322,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5331,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5285,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5293,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5299,1
    - Dst: dbChkpCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5306,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5291,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5300,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5309,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5315,1
    - Dst: dbChkpDumpTo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5321,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5322,1
    - Dst: dbChkpDumpTo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5327,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5331,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 5
    argNames:
    - bm
    - taskId
    - chkpId
    - list
    - dname
    argTypes:
    - SBkdMgt*
    - char*
    - int64_t
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 5333
      start: 5283
    functionDepth: 0
    functionLinenumber: 5283
    functionLinenumberEnd: 5333
    functionName: bkdMgtGetDelta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - dbChkpDestroy
    - snprintf
    - TAOS_UNUSED
    - taosMemoryFree
    - taosMemoryCalloc
    - dbChkpCreate
    - taosThreadRwlockUnlock
    - dbChkpGetDelta
    - taosHashGet
    - dbChkpDumpTo
    - strlen
    - taosHashPut
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bkdMgtGetDelta(SBkdMgt* bm, char* taskId, int64_t chkpId,
      SArray* list, char* dname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLinkFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:573,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - src
    - dst
    - type
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 574
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 574
    functionName: copyFiles_hardlink
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosLinkFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyFiles_hardlink(char* src, char* dst, int8_t type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2303,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2307,1
    - Dst: getCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2313,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2321,1
    - Dst: rocksdb_open_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2322,1
    - Dst: getCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2327,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2336,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 4
    argNames:
    - pTask
    - path
    - pCfNames
    - nCf
    argTypes:
    - STaskDbWrapper*
    - char*
    - char**
    - int32_t
    constantsTouched: []
    func_position:
      end: 2338
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2338
    functionName: taskDbOpenCfs
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - rocksdb_open_column_families
    - getCfIdx
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbOpenCfs(STaskDbWrapper* pTask, char* path, char** pCfNames,
      int32_t nCf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2754,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2757,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2768,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2764,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2762,1
    - Dst: cleanDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2769,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2773,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2774,1
    - Dst: bkdMgtGetDelta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2778,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 6
    argNames:
    - pDb
    - bkdChkpMgt
    - chkpId
    - path
    - list
    - idStr
    argTypes:
    - STaskDbWrapper*
    - void*
    - int64_t
    - char**
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 2782
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2782
    functionName: taskDbGenChkpUploadData__s3
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - bkdMgtGetDelta
    - cleanDir
    - strlen
    - taosDirExist
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbGenChkpUploadData__s3(STaskDbWrapper* pDb, void* bkdChkpMgt,
      int64_t chkpId, char** path, SArray* list, const char* idStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3088,1
    - Dst: rocksdb_iter_seek_for_prev
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3090,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3089,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3091,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - iter
    - buf
    - len
    argTypes:
    - rocksdb_iterator_t*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 3096
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3096
    functionName: streamStateIterSeekAndValid
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_seek_for_prev
    - rocksdb_iter_valid
    - rocksdb_iter_seek
    linkageType: ''
    returnType: bool
    signature: 'bool streamStateIterSeekAndValid(rocksdb_iterator_t* iter, char* buf,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5045,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5050,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5048,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5049,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5046,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5052,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5053,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5055,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5056,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pChkp
    argTypes:
    - SDbChkp*
    constantsTouched: []
    func_position:
      end: 5058
      start: 5042
    functionDepth: 0
    functionLinenumber: 5042
    functionLinenumberEnd: 5058
    functionName: dbChkpDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void dbChkpDestroy(SDbChkp* pChkp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:581,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:598,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:608,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:606,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:607,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:624,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:628,1
    - Dst: copyFiles_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:632,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:643,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:643,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:651,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:578,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:586,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:592,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:608,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:604,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:612,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:631,1
    - Dst: copyFiles_hardlink
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:640,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:655,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:661,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:656,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:589,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:590,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:618,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:624,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:628,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:634,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:656,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:660,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:646,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:662,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:584,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:593,1
    - Dst: copyFiles_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:625,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:631,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:631,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:635,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:642,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:650,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:654,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 664
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 664
    functionName: backendFileCopyFilesImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - taosOpenDir
    - copyFiles_create
    - stError
    - taosCloseDir
    - taosGetDirEntryName
    - copyFiles_hardlink
    - strncmp
    - memset
    - stDebug
    - TMAX
    - taosMemoryFreeClear
    - snprintf
    - strcmp
    - taosReadDir
    - tstrerror
    - strlen
    - SET_ERRNO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t backendFileCopyFilesImpl(const char* src, const char* dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2343
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2343
    functionName: taskDbAddRef
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void * taskDbAddRef(void* pTaskDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taskDbRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2790,1
    - Dst: taskDbGenChkpUploadData__s3
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2794,1
    - Dst: taskDbUnRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2796,1
    - Dst: taskDbGenChkpUploadData__rsync
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 7
    argNames:
    - arg
    - mgt
    - chkpId
    - type
    - path
    - list
    - idStr
    argTypes:
    - void*
    - void*
    - int64_t
    - int8_t
    - char**
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 2798
      start: 2784
    functionDepth: 0
    functionLinenumber: 2784
    functionLinenumberEnd: 2798
    functionName: taskDbGenChkpUploadData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taskDbUnRefChkp
    - taskDbRefChkp
    - taskDbGenChkpUploadData__rsync
    - taskDbGenChkpUploadData__s3
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbGenChkpUploadData(void* arg, void* mgt, int64_t chkpId,
      int8_t type, char** path, SArray* list, const char* idStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamStateGetCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3099,1
    - Dst: rocksdb_readoptions_set_snapshot
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3109,1
    - Dst: rocksdb_readoptions_set_fill_cache
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3110,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3101,1
    - Dst: rocksdb_create_snapshot
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3108,1
    - Dst: rocksdb_create_iterator_cf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - pState
    - cfKeyName
    - snapshot
    - readOpt
    argTypes:
    - SStreamState*
    - char*
    - rocksdb_snapshot_t**
    - rocksdb_readoptions_t**
    constantsTouched: []
    func_position:
      end: 3114
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3114
    functionName: streamStateIterCreate
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateGetCfIdx
    - rocksdb_readoptions_set_fill_cache
    - rocksdb_readoptions_set_snapshot
    - rocksdb_create_snapshot
    - rocksdb_readoptions_create
    - rocksdb_create_iterator_cf
    linkageType: ''
    returnType: rocksdb_iterator_t*
    signature: 'rocksdb_iterator_t * streamStateIterCreate(SStreamState* pState, const
      char* cfKeyName, rocksdb_snapshot_t** snapshot, rocksdb_readoptions_t** readOpt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_seek
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4518,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - iter
    - key
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 4519
      start: 4516
    functionDepth: 0
    functionLinenumber: 4516
    functionLinenumberEnd: 4519
    functionName: streamDefaultIterSeek_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - strlen
    - rocksdb_iter_seek
    linkageType: ''
    returnType: void
    signature: 'void streamDefaultIterSeek_rocksdb(void* iter, const char* key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamStateGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5420,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5426,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - pState
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 5431
      start: 5413
    functionDepth: 0
    functionLinenumber: 5413
    functionLinenumberEnd: 5431
    functionName: streamStateGetGroupKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamStateGetKVByCur_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetGroupKVByCur_rocksdb(SStreamState* pState, SStreamStateCur*
      pCur, SWinKey* pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3236,1
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3242,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - pState
    - key
    - value
    - vLen
    argTypes:
    - SStreamState*
    - SWinKey*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3248
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3248
    functionName: streamStatePut_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    - stTrace
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePut_rocksdb(SStreamState* pState, const SWinKey*
      key, const void* value, int32_t vLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remoteChkp_readMetaData
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:389,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:398,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:400,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:407,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:410,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - path
    - toDel
    argTypes:
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 418
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 418
    functionName: remoteChkpGetDelFile
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - snprintf
    - remoteChkp_readMetaData
    - taosMemoryCalloc
    - strlen
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t remoteChkpGetDelFile(char* path, SArray* toDel) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1206,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1198,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1202,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1212,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1232,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1231,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1237,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1193,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1213,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1213,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1236,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1222,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1213,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1219,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1229,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1232,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1203,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1208,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1215,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - pBackend
    argTypes:
    - STaskDbWrapper*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1239
    functionName: taskDbLoadChkpInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosMemoryFree
    - TAOS_UNUSED
    - taosMemoryCalloc
    - strcmp
    - taosReadDir
    - taosDirEntryIsDir
    - taosCloseDir
    - taosArraySort
    - taosArrayPush
    - taosOpenDir
    - taosIsDir
    - sscanf
    - taosGetDirEntryName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbLoadChkpInfo(STaskDbWrapper* pBackend) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1321,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1325,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1324,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1337,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1331,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1343,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1346,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1350,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1359,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1360,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1352,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - path
    - chkpId
    - chkpDir
    - chkpIdDir
    argTypes:
    - char*
    - int64_t
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 1362
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1362
    functionName: chkpPreBuildDir
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - taosMulModeMkDir
    - tstrerror
    - strlen
    - taosIsDir
    - taosRemoveDir
    - stInfo
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpPreBuildDir(char* path, int64_t chkpId, char** chkpDir,
      char** chkpIdDir) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - arg
    - chkpId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1463
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1463
    functionName: streamBackendAddInUseChkp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBackendAddInUseChkp(void* arg, int64_t chkpId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1498
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1498
    functionName: taskGetDBRef
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taskGetDBRef(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taskDbDoCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - chkpId
    - processVer
    - pList
    argTypes:
    - void*
    - int64_t
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1687
    functionName: streamBackendDoCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taskDbDoCheckpoint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBackendDoCheckpoint(void* arg, int64_t chkpId, int64_t
      processVer, SArray* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1700,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1705,1
    - Dst: tdListPopNode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1701,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1702,1
    - Dst: streamStateDestroyCompar
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1704,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - backend
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1707
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1707
    functionName: streamBackendDelCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tdListPopNode
    - streamMutexLock
    - streamStateDestroyCompar
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamBackendDelCompare(void* backend, void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2041
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2041
    functionName: destroyCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'void destroyCompare(void* arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:422,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:426,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:427,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:428,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:429,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pPath
    - id
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 433
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 433
    functionName: cleanDir
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - stInfo
    - taosIsDir
    - taosRemoveDir
    - taosMkDir
    - stError
    linkageType: ''
    returnType: void
    signature: 'void cleanDir(const char* pPath, const char* id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1242,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1254,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1258,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1252,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1246,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1260,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1263,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1266,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1271,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - pBackend
    - ppHandle
    argTypes:
    - STaskDbWrapper*
    - rocksdb_column_family_handle_t***
    constantsTouched: []
    func_position:
      end: 1273
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1273
    functionName: chkpGetAllDbCfHandle2
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGetP
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpGetAllDbCfHandle2(STaskDbWrapper* pBackend, rocksdb_column_family_handle_t***
      ppHandle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taskDbRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1383,1
    - Dst: taskDbAddRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1375,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1385,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1387,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1393,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1404,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1419,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1408,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1369,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1370,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1412,1
    - Dst: taskDbUnRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1413,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1397,1
    - Dst: taskDbRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1414,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1420,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1378,1
    - Dst: taskDbDoCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1392,1
    - Dst: taskDbUnRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1407,1
    - Dst: taskDbUnRefChkp
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1396,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1422,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - arg
    - pSnap
    argTypes:
    - void*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1424
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1424
    functionName: taskDbBuildSnap
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taskDbRefChkp
    - taskDbUnRefChkp
    - taosArrayDestroy
    - streamMutexLock
    - taosHashIterate
    - taskDbDoCheckpoint
    - tstrerror
    - taosArrayPush
    - taosStrdup
    - taskDbAddRef
    - taskDbRemoveRef
    - stError
    - taosArrayInit
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbBuildSnap(void* arg, SArray* pSnap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - arg
    - chkpId
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1477
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1477
    functionName: streamBackendDelInUseChkp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamBackendDelInUseChkp(void* arg, int64_t chkpId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1529,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1551,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1544,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1546,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1552,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1540,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1546,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1540,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1538,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1507,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1518,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1515,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1522,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1525,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1552,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - pChkpIdDir
    - chkpId
    - processId
    argTypes:
    - char*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1554
    functionName: chkpLoadExtraInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - taosMemoryFree
    - TAOS_UNUSED
    - taosReadFile
    - taosCloseFile
    - taosMemoryCalloc
    - tstrerror
    - strlen
    - sscanf
    - stError
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkpLoadExtraInfo(char* pChkpIdDir, int64_t* chkpId, int64_t*
      processId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1692,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1694,1
    - Dst: tdListAdd
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - backend
    - arg
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1696
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1696
    functionName: streamBackendAddCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    - tdListAdd
    linkageType: ''
    returnType: SListNode*
    signature: 'SListNode * streamBackendAddCompare(void* backend, void* arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_column_family_handle_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1712,1
    - Dst: rocksdb_block_based_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1720,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1719,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1714,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1723,1
    - Dst: rocksdb_writeoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1725,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - inst
    argTypes:
    - RocksdbCfInst*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1729
    functionName: destroyRocksdbCfInst
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_column_family_handle_destroy
    - rocksdb_block_based_options_destroy
    - taosMemoryFree
    - rocksdb_writeoptions_destroy
    - rocksdb_readoptions_destroy
    - rocksdb_options_destroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyRocksdbCfInst(RocksdbCfInst* inst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1770,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1771
    functionName: defaultKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int defaultKeyToString(void* k, char* buf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2049,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2070,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2064,1
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2054,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2071,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2072,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2073,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2075,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2080,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2081,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2082,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2083,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2085,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2089,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2092,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 4
    argNames:
    - value
    - vlen
    - ttl
    - dest
    argTypes:
    - void*
    - int32_t
    - int64_t
    - char**
    constantsTouched: []
    func_position:
      end: 2094
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2094
    functionName: valueEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - LZ4_compress_default
    - taosMemoryCalloc
    - taosEncodeBinary
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t valueEncode(void* value, int32_t vlen, int64_t ttl, char**
      dest) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3810,1
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3816,1
    - Dst: streamStateIterSeekAndValid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3829,1
    - Dst: stateSessionKeyEncode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3828,1
    - Dst: streamStateIterCreate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3821,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3830,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3833,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3833,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3833,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3834,1
    - Dst: rocksdb_iter_next
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3845,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3847,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3842,1
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3846,1
    - Dst: stateSessionKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3843,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3840,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3835,1
    - Dst: stateSessionKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3842,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 3851
      start: 3809
    functionDepth: 0
    functionLinenumber: 3809
    functionLinenumberEnd: 3851
    functionName: streamStateSessionSeekKeyNext_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - rocksdb_iter_key
    - TAOS_UNUSED
    - rocksdb_iter_valid
    - stateSessionKeyDecode
    - stateSessionKeyCmpr
    - createStreamStateCursor
    - streamStateIterCreate
    - iterValueIsStale
    - stDebug
    - rocksdb_iter_next
    - streamStateIterSeekAndValid
    - stateSessionKeyEncode
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateSessionSeekKeyNext_rocksdb(SStreamState*
      pState, const SSessionKey* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2464,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2465,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2466,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - STaskDbWrapper*
    constantsTouched: []
    func_position:
      end: 2467
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2467
    functionName: taskDbDestroyChkpOpt
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockDestroy
    - TAOS_UNUSED
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void taskDbDestroyChkpOpt(STaskDbWrapper* pTaskDb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: restoreCheckpointData
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2597,1
    - Dst: chkpLoadExtraInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2606,1
    - Dst: taskDbOpenImpl
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2603,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2599,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2610,1
    - Dst: taskDbDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2619,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 5
    argNames:
    - path
    - key
    - chkptId
    - processVer
    - ppTaskDb
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t*
    - STaskDbWrapper**
    constantsTouched: []
    func_position:
      end: 2622
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2622
    functionName: taskDbOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - chkpLoadExtraInfo
    - taskDbOpenImpl
    - tstrerror
    - restoreCheckpointData
    - taskDbDestroy
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbOpen(const char* path, const char* key, int64_t chkptId,
      int64_t* processVer, STaskDbWrapper** ppTaskDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3320,1
    - Dst: streamStateGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3328,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3332,1
    - Dst: streamStateSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3327,1
    - Dst: streamStatePut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3322,1
    - Dst: streamStateDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3334
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3334
    functionName: streamStateGetFirst_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateGetKVByCur_rocksdb
    - streamStateSeekKeyNext_rocksdb
    - streamStateDel_rocksdb
    - stDebug
    - streamStatePut_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetFirst_rocksdb(SStreamState* pState, SWinKey*
      key) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2483,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2487,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2510,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2510,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2503,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2471,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2480,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2475,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2512,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2501,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2486,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2513,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2477,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2488,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2491,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2502,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2498,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - path
    - key
    - dbFullPath
    - stateFullPath
    argTypes:
    - char*
    - char*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 2515
      start: 2469
    functionDepth: 0
    functionLinenumber: 2469
    functionLinenumberEnd: 2515
    functionName: taskDbBuildFullPath
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - taosMulMkDir
    - tstrerror
    - strlen
    - taosDirExist
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbBuildFullPath(char* path, char* key, char** dbFullPath,
      char** stateFullPath) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_flushoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2638,1
    - Dst: rocksdb_flush_cfs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2653,1
    - Dst: rocksdb_flushoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2657,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2691,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2704,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2708,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2635,1
    - Dst: streamMetaRemoveDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2631,1
    - Dst: rocksdb_writeoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2676,1
    - Dst: rocksdb_env_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2677,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2674,1
    - Dst: rocksdb_cache_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2678,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2675,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2680,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2686,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2695,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2630,1
    - Dst: rocksdb_close
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2670,1
    - Dst: rocksdb_column_family_handle_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2664,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2687,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2700,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2701,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2705,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2633,1
    - Dst: rocksdb_flushoptions_set_wait
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2639,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2642,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2652,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2656,1
    - Dst: rocksdb_block_based_options_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2692,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2693,1
    - Dst: taskDbDestroyChkpOpt
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2696,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2707,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 2
    argNames:
    - pDb
    - flush
    argTypes:
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 2710
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2710
    functionName: taskDbDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - rocksdb_flushoptions_create
    - taosMemoryCalloc
    - rocksdb_env_destroy
    - rocksdb_readoptions_destroy
    - rocksdb_close
    - rocksdb_options_destroy
    - taskDbDestroyChkpOpt
    - taosRemoveDir
    - rocksdb_writeoptions_destroy
    - rocksdb_flushoptions_destroy
    - stError
    - streamMetaRemoveDB
    - taosGetTimestampMs
    - rocksdb_column_family_handle_destroy
    - rocksdb_block_based_options_destroy
    - tListLen
    - rocksdb_cache_destroy
    - rocksdb_flushoptions_set_wait
    - streamMutexDestroy
    - rocksdb_flush_cfs
    - stDebug
    - stInfo
    - taosMemoryFreeClear
    - rocksdb_comparator_destroy
    linkageType: ''
    returnType: void
    signature: 'void taskDbDestroy(void* pDb, bool flush) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3343,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3349,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3354
      start: 3336
    functionDepth: 0
    functionLinenumber: 3336
    functionLinenumberEnd: 3354
    functionName: streamStateFillGetGroupKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamStateFillGetKVByCur_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateFillGetGroupKVByCur_rocksdb(SStreamStateCur* pCur,
      SWinKey* pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4725,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4730,1
    - Dst: isBkdDataMeta
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4728,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4727,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4728,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4735,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4736,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4740,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - p1
    - p2
    - diff
    argTypes:
    - SHashObj*
    - SHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4743
      start: 4722
    functionDepth: 0
    functionLinenumber: 4722
    functionLinenumberEnd: 4743
    functionName: compareHashTableImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - isBkdDataMeta
    - taosHashIterate
    - taosHashGet
    - tstrncpy
    - taosHashGetKey
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareHashTableImpl(SHashObj* p1, SHashObj* p2, SArray* diff) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getCfIdx
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2803,1
    - Dst: rocksdb_create_column_family
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2810,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2813,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2812,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pDb
    - key
    argTypes:
    - STaskDbWrapper*
    - char*
    constantsTouched: []
    func_position:
      end: 2820
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2820
    functionName: taskDbOpenCfByKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - getCfIdx
    - rocksdb_create_column_family
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taskDbOpenCfByKey(STaskDbWrapper* pDb, const char* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1973,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1975,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1977
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1977
    functionName: tupleKeyDecode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - taosDecodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int tupleKeyDecode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_DEL_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pState
    - groupId
    argTypes:
    - SStreamState*
    - int64_t
    constantsTouched: []
    func_position:
      end: 4429
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4429
    functionName: streamStateDeleteParName_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_DEL_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateDeleteParName_rocksdb(SStreamState* pState, int64_t
      groupId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_writebatch_clear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4553
      start: 4553
    functionDepth: 0
    functionLinenumber: 4553
    functionLinenumberEnd: 4553
    functionName: streamStateClearBatch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_writebatch_clear
    linkageType: ''
    returnType: void
    signature: 'void streamStateClearBatch(void* pBatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1981,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1982,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1985
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1985
    functionName: tupleKeyToString
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: int
    signature: 'int tupleKeyToString(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_STATE_PUT_ROCKSDB
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pState
    - key
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4435
      start: 4431
    functionDepth: 0
    functionLinenumber: 4431
    functionLinenumberEnd: 4435
    functionName: streamDefaultPut_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - STREAM_STATE_PUT_ROCKSDB
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamDefaultPut_rocksdb(SStreamState* pState, const void*
      key, void* pVal, int32_t pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_writebatch_destroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4554,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBatch
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4554
      start: 4554
    functionDepth: 0
    functionLinenumber: 4554
    functionLinenumberEnd: 4554
    functionName: streamStateDestroyBatch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_writebatch_destroy
    linkageType: ''
    returnType: void
    signature: 'void streamStateDestroyBatch(void* pBatch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4644,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4644,1
    - Dst: rocksdb_write
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4645,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4648,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4647,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pState
    - pBatch
    argTypes:
    - SStreamState*
    - void*
    constantsTouched: []
    func_position:
      end: 4654
      start: 4638
    functionDepth: 0
    functionLinenumber: 4638
    functionLinenumberEnd: 4654
    functionName: streamStatePutBatch_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_write
    - taosMemoryFree
    - TAOS_UNUSED
    - atomic_add_fetch_64
    - stDebug
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStatePutBatch_rocksdb(SStreamState* pState, void* pBatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareHashTableImpl
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4747,1
    - Dst: compareHashTableImpl
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:4749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - p1
    - p2
    - add
    - del
    argTypes:
    - SHashObj*
    - SHashObj*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 4753
      start: 4744
    functionDepth: 0
    functionLinenumber: 4744
    functionLinenumberEnd: 4753
    functionName: compareHashTable
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - compareHashTableImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareHashTable(SHashObj* p1, SHashObj* p2, SArray* add,
      SArray* del) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1781,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1782,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1787,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1788,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1790,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1791,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1793,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1793,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1794,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1794,1
    - Dst: stateKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - state
    - aBuf
    - aLen
    - bBuf
    - bLen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1797
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1797
    functionName: stateKeyDBComp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedU64
    - TAOS_UNUSED
    - memset
    - stateKeyCmpr
    linkageType: ''
    returnType: int
    signature: 'int stateKeyDBComp(void* state, const char* aBuf, size_t aLen, const
      char* bBuf, size_t bLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2237
      start: 2237
    functionDepth: 0
    functionLinenumber: 2237
    functionLinenumberEnd: 2237
    functionName: compactFilteName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteName(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_options_set_db_write_buffer_size
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2375,1
    - Dst: rocksdb_writeoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2390,1
    - Dst: rocksdb_block_based_options_set_block_cache
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2406,1
    - Dst: rocksdb_block_based_options_set_filter_policy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2410,1
    - Dst: rocksdb_block_based_options_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2405,1
    - Dst: rocksdb_options_set_compaction_filter_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2384,1
    - Dst: rocksdb_cache_create_lru
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2366,1
    - Dst: rocksdb_options_set_env
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2368,1
    - Dst: rocksdb_options_set_create_if_missing
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2369,1
    - Dst: rocksdb_options_set_max_write_buffer_number
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2373,1
    - Dst: rocksdb_options_set_info_log_level
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2374,1
    - Dst: rocksdb_options_set_write_buffer_size
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2376,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2385,1
    - Dst: rocksdb_writeoptions_disable_WAL
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2387,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2392,1
    - Dst: rocksdb_compactionfilterfactory_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2382,1
    - Dst: rocksdb_create_default_env
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2364,1
    - Dst: rocksdb_options_set_create_missing_column_families
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2370,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2391,1
    - Dst: rocksdb_options_set_atomic_flush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2377,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2393,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2395,1
    - Dst: rocksdb_block_based_options_set_partition_filters
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2407,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2418,1
    - Dst: rocksdb_options_set_compaction_filter_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2422,1
    - Dst: rocksdb_filterpolicy_create_bloom
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2409,1
    - Dst: rocksdb_options_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2367,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2396,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2397,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2398,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2399,1
    - Dst: rocksdb_options_create_copy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2404,1
    - Dst: rocksdb_options_set_block_based_table_factory
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2412,1
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2417,1
    - Dst: rocksdb_compactionfilterfactory_create
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2421,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - STaskDbWrapper*
    constantsTouched: []
    func_position:
      end: 2429
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2429
    functionName: taskDbInitOpt
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_block_based_options_set_filter_policy
    - rocksdb_compactionfilterfactory_create
    - taosMemoryCalloc
    - rocksdb_options_create
    - rocksdb_filterpolicy_create_bloom
    - rocksdb_options_set_comparator
    - stError
    - rocksdb_writeoptions_create
    - rocksdb_options_create_copy
    - rocksdb_create_default_env
    - rocksdb_options_set_db_write_buffer_size
    - rocksdb_options_set_create_if_missing
    - rocksdb_writeoptions_disable_WAL
    - rocksdb_options_set_max_write_buffer_number
    - rocksdb_options_set_env
    - rocksdb_options_set_info_log_level
    - rocksdb_options_set_create_missing_column_families
    - rocksdb_comparator_create
    - taosMemoryFreeClear
    - rocksdb_options_set_write_buffer_size
    - rocksdb_options_set_block_based_table_factory
    - rocksdb_options_set_compaction_filter_factory
    - rocksdb_block_based_options_create
    - rocksdb_block_based_options_set_block_cache
    - rocksdb_options_set_atomic_flush
    - rocksdb_cache_create_lru
    - rocksdb_block_based_options_set_partition_filters
    - rocksdb_readoptions_create
    linkageType: ''
    returnType: void
    signature: 'void taskDbInitOpt(STaskDbWrapper* pTaskDb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_iter_valid
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3379,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3382,1
    - Dst: iterValueIsStale
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3379,1
    - Dst: rocksdb_iter_key
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3381,1
    - Dst: stateKeyDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3382,1
    - Dst: rocksdb_iter_value
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3389,1
    - Dst: valueDecode
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3405,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3416,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 5
    argNames:
    - pState
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SStreamStateCur*
    - SWinKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3425
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3425
    functionName: streamStateGetKVByCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - rocksdb_iter_key
    - valueDecode
    - taosMemoryFree
    - TAOS_UNUSED
    - stateKeyDecode
    - rocksdb_iter_value
    - iterValueIsStale
    - stInfo
    - rocksdb_iter_valid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateGetKVByCur_rocksdb(SStreamState* pState, SStreamStateCur*
      pCur, SWinKey* pKey, const void** pVal, int32_t* pVLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - SDbChkp*
    constantsTouched: []
    func_position:
      end: 5063
      start: 5060
    functionDepth: 0
    functionLinenumber: 5060
    functionLinenumberEnd: 5063
    functionName: dbChkpInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dbChkpInit(SDbChkp* p) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5069,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5113,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5111,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5129,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5143,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5150,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5153,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5159,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5166,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5167,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5181,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5216,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5219,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5199,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5084,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5105,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5130,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5130,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5135,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5136,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5151,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5167,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5172,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5227,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5216,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5189,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5189,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5207,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5217,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5069,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5073,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5098,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5105,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5122,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5128,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5142,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5165,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5175,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5187,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5223,1
    - Dst: taosArrayClearP
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5226,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5202,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5211,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5232,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5193,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5220,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5091,1
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5097,1
    - Dst: chkpLoadExtraInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5103,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5112,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5192,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5212,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5202,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5223,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5232,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5231,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5212,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 163
    argCount: 3
    argNames:
    - p
    - dname
    - list
    argTypes:
    - SDbChkp*
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 5234
      start: 5065
    functionDepth: 0
    functionLinenumber: 5065
    functionLinenumberEnd: 5234
    functionName: dbChkpDumpTo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - taosDirExist
    - taosCopyFile
    - taosArrayGetSize
    - tsnprintf
    - stError
    - taosOpenFile
    - taosArrayPush
    - chkpLoadExtraInfo
    - taosCloseFile
    - memset
    - taosArrayClearP
    - snprintf
    - taosThreadRwlockRdlock
    - taosWriteFile
    - taosThreadRwlockUnlock
    - tstrerror
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dbChkpDumpTo(SDbChkp* p, char* dname, SArray* list) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1802,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1805,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1803,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:1804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - k
    - buf
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1807
    functionName: stateKeyEncode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    - taosEncodeFixedU64
    linkageType: ''
    returnType: int
    signature: 'int stateKeyEncode(void* k, char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2238
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2238
    functionName: compactFilteNameSess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * compactFilteNameSess(void* arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2433,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2434,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2438,1
    - Dst: taskDbLoadChkpInfo
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2434,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2436,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:2438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pTaskDb
    argTypes:
    - STaskDbWrapper*
    constantsTouched: []
    func_position:
      end: 2439
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2439
    functionName: taskDbInitChkpOpt
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockInit
    - taskDbLoadChkpInfo
    - TAOS_UNUSED
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void taskDbInitChkpOpt(STaskDbWrapper* pTaskDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamStateFillGetCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3427,1
    - Dst: streamStateFillGetGroupKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3429,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:3431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pState
    - key
    argTypes:
    - SStreamState*
    - SWinKey*
    constantsTouched: []
    func_position:
      end: 3434
      start: 3426
    functionDepth: 0
    functionLinenumber: 3426
    functionLinenumberEnd: 3434
    functionName: streamStateGetAndCheckCur_rocksdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateFillGetGroupKVByCur_rocksdb
    - streamStateFillGetCur_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * streamStateGetAndCheckCur_rocksdb(SStreamState*
      pState, SWinKey* key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5238,1
    - Dst: bkdMgtDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5246,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5250,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5243,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5243,1
    - Dst: bkdMgtDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5253,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5257,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5258,1
    - Dst: bkdMgtDestroy
      Src: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c:5259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - path
    - mgt
    argTypes:
    - char*
    - SBkdMgt**
    constantsTouched: []
    func_position:
      end: 5265
      start: 5236
    functionDepth: 0
    functionLinenumber: 5236
    functionLinenumberEnd: 5265
    functionName: bkdMgtCreate
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamBackendRocksdb.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - bkdMgtDestroy
    - taosStrdup
    - taosThreadRwlockInit
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bkdMgtCreate(char* path, SBkdMgt** mgt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: qGetStreamIntervalExecInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:40,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:42,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:42,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:47,1
    - Dst: qGetStreamIntervalExecInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:57,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:59,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:59,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:67,1
    - Dst: getAlignQueryTimeWindow
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:68,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:75,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:85,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:100,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:104,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:89,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:102,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 108
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 108
    functionName: streamSetupScheduleTrigger
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTmrStart
    - convertTimePrecision
    - qGetStreamIntervalExecInfo
    - tstrerror
    - streamTaskAllocRefId
    - stDebug
    - getAlignQueryTimeWindow
    - stInfo
    - stError
    - taosGetTimestamp
    linkageType: ''
    returnType: void
    signature: 'void streamSetupScheduleTrigger(SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 200
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 200
    functionName: streamTaskClearSchedIdleInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskClearSchedIdleInfo(SStreamTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSetSchedStatusWait
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:117,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:124,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:129,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:123,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:131,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:132,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:136,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - chkptQueue
    argTypes:
    - SStreamTask*
    - bool
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: streamTrySchedExec
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskSchedTask
    - stTrace
    - streamTaskSetSchedStatusInactive
    - streamTaskSetSchedStatusWait
    - stInfo
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTrySchedExec(SStreamTask* pTask, bool chkptQueue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:205,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:212,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 215
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 215
    functionName: streamTaskResumeInFuture
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskAllocRefId
    - streamTmrStart
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskResumeInFuture(SStreamTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamCreateForcewindowTrigger
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:270,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:275,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:274,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:273,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:282,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:289,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:295,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:301,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:309,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:311,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:304,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - pTask
    - pNextTrigger
    argTypes:
    - SStreamTask*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 318
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 318
    functionName: doCreateForceWindowTrigger
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamQueueIsFull
    - streamTaskPutDataIntoInputQ
    - streamCreateForcewindowTrigger
    - convertTimePrecision
    - tstrerror
    - stFatal
    - stDebug
    - stError
    - taosGetTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreateForceWindowTrigger(SStreamTask* pTask, int32_t*
      pNextTrigger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pTask
    - idleTime
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: streamTaskSetIdleInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetIdleInfo(SStreamTask* pTask, int32_t idleTime) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:153,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:165,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:171,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:172,1
    - Dst: streamTaskGetExecType
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:179,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:172,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:188,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:194,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:151,1
    - Dst: streamTaskGetExecType
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:181,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:181,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:175,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:188,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:157,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:160,1
    - Dst: tEncodeStreamTaskRunReq
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:169,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:186,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:168,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:170,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 6
    argNames:
    - pMsgCb
    - vgId
    - streamId
    - taskId
    - execType
    - chkptExec
    argTypes:
    - SMsgCb*
    - int32_t
    - int64_t
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 198
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 198
    functionName: streamTaskSchedTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskGetExecType
    - tEncoderClear
    - tEncoderInit
    - tmsgPutToQueue
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - stError
    - rpcMallocCont
    - tEncodeStreamTaskRunReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSchedTask(SMsgCb* pMsgCb, int32_t vgId, int64_t
      streamId, int32_t taskId, int32_t execType, bool chkptExec) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamCreateRecalculateBlock
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:323,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:325,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:329,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:331,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 337
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: streamCreateAddRecalculateEndBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskPutDataIntoInputQ
    - tstrerror
    - streamCreateRecalculateBlock
    - stDebug
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamCreateAddRecalculateEndBlock(SStreamTask* pTask) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:350,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:368,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:374,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:395,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:376,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:389,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:383,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:420,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:423,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:427,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:459,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:466,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:348,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:366,1
    - Dst: streamTaskShouldPause
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:381,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:375,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:393,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:407,1
    - Dst: streamCreateRecalculateBlock
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:412,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:431,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:450,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:371,1
    - Dst: doCreateForceWindowTrigger
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:398,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:415,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:416,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:421,1
    - Dst: streamCreateTriggerBlock
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:441,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:457,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:464,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:363,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:351,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:355,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:369,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:414,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:424,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:443,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:448,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:452,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:443,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:452,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 107
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 467
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 467
    functionName: streamTaskSchedHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskPutDataIntoInputQ
    - stTrace
    - streamTrySchedExec
    - streamCreateRecalculateBlock
    - stError
    - taosAcquireRef
    - streamCreateTriggerBlock
    - atomic_load_8
    - streamTaskShouldPause
    - streamTaskShouldStop
    - doCreateForceWindowTrigger
    - streamTmrStart
    - atomic_store_8
    - convertTimePrecision
    - stDebug
    - streamTaskGetStatus
    - tstrerror
    - streamTaskFreeRefId
    - streamMetaAcquireTaskUnsafe
    - streamMetaReleaseTask
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSchedHelper(void* param, void* tmrId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:221,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:229,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:224,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:223,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:232,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:233,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:235,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:236,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:237,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:245,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:251,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:258,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:244,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:257,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:248,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:245,1
    - Dst: streamTaskClearSchedIdleInfo
      Src: /src/tdengine/source/libs/stream/src/streamSched.c:254,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 259
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 259
    functionName: streamTaskResumeHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSched.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamTaskSchedTask
    - TAOS_UNUSED
    - streamTaskClearSchedIdleInfo
    - tstrerror
    - streamTaskFreeRefId
    - streamTaskSetSchedStatusInactive
    - stDebug
    - stInfo
    - streamMetaReleaseTask
    - stError
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void streamTaskResumeHelper(void* param, void* tmrId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:86,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pTask
    - pEntry
    argTypes:
    - SStreamTask*
    - STaskStatusEntry*
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: setProcessProgress
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - walReaderGetCurrentVer
    - walReaderValidVersionRange
    linkageType: ''
    returnType: void
    signature: 'static void setProcessProgress(SStreamTask* pTask, STaskStatusEntry*
      pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:43,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:45,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pTaskEpset
    argTypes:
    - SStreamHbMsg*
    - SDownstreamTaskEpset*
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: existInHbMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool existInHbMsg(SStreamHbMsg* pMsg, SDownstreamTaskEpset*
      pTaskEpset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:130,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:142,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:146,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:132,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pMeta
    - pEpSet
    argTypes:
    - SStreamMeta*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: streamTaskGetMndEpset
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - streamMetaGetNumOfTasks
    - taosArrayGet
    - streamMetaAcquireTaskUnsafe
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamTaskGetMndEpset(SStreamMeta* pMeta, SEpSet* pEpSet) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:194,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:201,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:220,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:250,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:265,1
    - Dst: streamTaskGetStatusEntry
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:249,1
    - Dst: setProcessProgress
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:282,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:300,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:315,1
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:319,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:308,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:295,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:218,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:223,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:280,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:309,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:312,1
    - Dst: streamTaskGetMndEpset
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:204,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:206,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:224,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:235,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:255,1
    - Dst: streamTaskClearCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:269,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:270,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:274,1
    - Dst: streamTaskCheckIfReqConsenChkptId
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:275,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:287,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:291,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:211,1
    - Dst: doSendHbMsgInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:212,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:242,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:268,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:248,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:231,1
    - Dst: addUpdateNodeIntoHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:283,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:318,1
    - Dst: doSendHbMsgInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:316,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 324
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 324
    functionName: streamMetaSendHbHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - setProcessProgress
    - SIZE_IN_MiB
    - taosArrayGetSize
    - stError
    - addUpdateNodeIntoHbMsg
    - taosArrayInit
    - streamMutexUnlock
    - tCleanupStreamHbMsg
    - taosGetTimestampMs
    - streamTaskGetMndEpset
    - epsetAssign
    - taosArrayPush
    - streamTaskGetStatusEntry
    - taosArrayGet
    - streamTaskCheckIfReqConsenChkptId
    - stDebug
    - stInfo
    - doSendHbMsgInfo
    - streamMetaGetNumOfTasks
    - streamMetaAcquireTaskUnsafe
    - streamTaskClearCheckInfo
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaSendHbHelper(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:414,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pRid
    - pRes
    argTypes:
    - int64_t*
    - SMetaHbInfo**
    constantsTouched: []
    func_position:
      end: 427
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 427
    functionName: createMetaHbInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - streamTmrStart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createMetaHbInfo(int64_t* pRid, SMetaHbInfo** pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:445,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 448
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 448
    functionName: streamMetaWaitForHbTmrQuit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - taosMsleep
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamMetaWaitForHbTmrQuit(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMetaHbInfo*
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: waitForEnoughDuration
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool waitForEnoughDuration(SMetaHbInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:100,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:102,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:108,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:106,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:108,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:113,1
    - Dst: tEncodeStreamHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:114,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:115,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:116,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:120,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:125,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:117,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:122,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:117,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pMsg
    - pMeta
    - pEpset
    argTypes:
    - SStreamHbMsg*
    - SStreamMeta*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 127
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 127
    functionName: doSendHbMsgInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tstrerror
    - tEncodeSize
    - stDebug
    - rpcFreeCont
    - stError
    - rpcMallocCont
    - tEncodeStreamHbMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSendHbMsgInfo(SStreamHbMsg* pMsg, SStreamMeta* pMeta,
      SEpSet* pEpset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:55,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:63,1
    - Dst: existInHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:61,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:59,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:57,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:65,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:68,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:69,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:73,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:74,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pTask
    - pMsg
    argTypes:
    - SStreamTask*
    - SStreamHbMsg*
    constantsTouched: []
    func_position:
      end: 75
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 75
    functionName: addUpdateNodeIntoHbMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - streamMutexLock
    - existInHbMsg
    - taosArrayPush
    - stDebug
    - taosArrayGetSize
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'static void addUpdateNodeIntoHbMsg(SStreamTask* pTask, SStreamHbMsg*
      pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:165,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:158,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:164,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:171,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:171,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:173,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:177,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:183,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:184,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:177,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:179,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:179,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:187,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pMeta
    - pEpSet
    argTypes:
    - SStreamMeta*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 188
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 188
    functionName: streamTaskUpdateMndEpset
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - epsetAssign
    - streamMetaGetNumOfTasks
    - taosArrayGet
    - tstrerror
    - streamMetaAcquireTaskUnsafe
    - epsetToStr
    - stInfo
    - streamMetaReleaseTask
    - stError
    - tListLen
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'static void streamTaskUpdateMndEpset(SStreamMeta* pMeta, SEpSet* pEpSet) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:332,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:346,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:334,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:356,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:391,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:378,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:406,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:348,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:358,1
    - Dst: streamMetaSendHbHelper
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:390,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:344,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:387,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:371,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:360,1
    - Dst: waitForEnoughDuration
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:365,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:366,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:369,1
    - Dst: streamMetaTryRlock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:385,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:397,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:400,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:400,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:403,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 410
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 410
    functionName: streamMetaHbToMnode
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamMetaTryRlock
    - streamTmrStart
    - waitForEnoughDuration
    - tstrerror
    - taosReleaseRef
    - streamMetaRUnLock
    - streamMetaSendHbHelper
    - stInfo
    - taosMsleep
    - stError
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void streamMetaHbToMnode(void* param, void* tmrId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:431,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:438,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMetaHbInfo*
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: destroyMetaHbInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - streamTmrStop
    - taosMemoryFree
    - tCleanupStreamHbMsg
    linkageType: ''
    returnType: void
    signature: 'void destroyMetaHbInfo(SMetaHbInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pInfo
    - pStartTs
    - pSendCount
    argTypes:
    - SMetaHbInfo*
    - int64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 460
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 460
    functionName: streamMetaGetHbSendInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamMetaGetHbSendInfo(SMetaHbInfo* pInfo, int64_t* pStartTs,
      int32_t* pSendCount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:467,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:473,1
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:472,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:468,1
    - Dst: streamTaskGetMndEpset
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:478,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:479,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:481,1
    - Dst: streamTaskUpdateMndEpset
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:482,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:485,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamHb.c:488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pMeta
    - pRsp
    argTypes:
    - SStreamMeta*
    - SMStreamHbRspMsg*
    constantsTouched: []
    func_position:
      end: 490
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 490
    functionName: streamProcessHeartbeatRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamHb.c
    functionUses: []
    functionsReached:
    - streamTaskGetMndEpset
    - streamMetaWUnLock
    - stDebug
    - streamMetaWLock
    - stInfo
    - isEpsetEqual
    - tCleanupStreamHbMsg
    - stWarn
    - streamTaskUpdateMndEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessHeartbeatRsp(SStreamMeta* pMeta, SMStreamHbRspMsg*
      pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: createStateCursor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - createStreamStateCursor
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * createStateCursor(SStreamFileState* pFileState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:613,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:613,1
    - Dst: sessionStateKeyCompare
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:615,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:614,1
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:617,1
    - Dst: transformCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pFileState
    - groupId
    - pWinStates
    - ppCur
    argTypes:
    - SStreamFileState*
    - uint64_t
    - SArray*
    - SStreamStateCur**
    constantsTouched: []
    func_position:
      end: 624
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 624
    functionName: checkAndTransformCursor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - getStateFileStore
    - createStateCursor
    - streamStateSessionGetKVByCur_rocksdb
    - transformCursor
    - taosArrayGetSize
    - sessionStateKeyCompare
    linkageType: ''
    returnType: void
    signature: 'static void checkAndTransformCursor(SStreamFileState* pFileState,
      const uint64_t groupId, SArray* pWinStates, SStreamStateCur** ppCur) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - pKey
    - data
    - index
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 1181
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1181
    functionName: compareRangeKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int
    signature: 'static int compareRangeKey(const void* pKey, const void* data, int
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:25,1
    - Dst: sessionWinKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:27,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pWin1
    - pDatas
    - pos
    argTypes:
    - void*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: sessionStateKeyCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - sessionWinKeyCmpr
    linkageType: ''
    returnType: int
    signature: 'int sessionStateKeyCompare(const void* pWin1, const void* pDatas,
      int pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:94,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:100,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:101,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:97,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:110,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 4
    argNames:
    - pFileState
    - pWinInfos
    - pKey
    - ppPos
    argTypes:
    - SStreamFileState*
    - SArray*
    - SSessionKey*
    - SRowBuffPos**
    constantsTouched: []
    func_position:
      end: 113
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 113
    functionName: addNewSessionWindow
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - memcpy
    - taosArrayPush
    - getNewRowPosForWrite
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNewSessionWindow(SStreamFileState* pFileState, SArray*
      pWinInfos, const SSessionKey* pKey, SRowBuffPos** ppPos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: seekKeyCurrentPrev_buff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:629,1
    - Dst: sessionWinStateMoveToNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:632,1
    - Dst: sessionStateRangeKeyCompare
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:631,1
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:638,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:637,1
    - Dst: checkAndTransformCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pFileState
    - pWinKey
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 641
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 641
    functionName: sessionWinStateSeekKeyCurrentNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - getStateFileStore
    - seekKeyCurrentPrev_buff
    - sessionWinStateMoveToNext
    - sessionStateRangeKeyCompare
    - checkAndTransformCursor
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * sessionWinStateSeekKeyCurrentNext(SStreamFileState*
      pFileState, const SSessionKey* pWinKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pRange1
    - pRange2
    argTypes:
    - SScanRange*
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1191
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1191
    functionName: scanRangeKeyCmpr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanRangeKeyCmpr(const SScanRange* pRange1, const SScanRange*
      pRange2) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:729,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:730,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:741,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:737,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:748,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:748,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:749,1
    - Dst: sessionStateRangeKeyCompare
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:750,1
    - Dst: transformCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:751,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:752,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:762,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:763,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:769,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:766,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:763,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:772,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:759,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 52
    argCount: 4
    argNames:
    - pCur
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamStateCur*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 775
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 775
    functionName: sessionWinStateGetKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - getStateFileStore
    - getRowStateBuff
    - streamStateSessionGetKVByCur_rocksdb
    - transformCursor
    - tSimpleHashGet
    - qError
    - tstrerror
    - sessionStateRangeKeyCompare
    - memcpy
    - getNewRowPosForWrite
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sessionWinStateGetKVByCur(SStreamStateCur* pCur, SSessionKey*
      pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1306,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1312,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1308,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1309,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1310,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pDest
    - pSource
    argTypes:
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1319
    functionName: mergeSimpleHashMap
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tSimpleHashGetKey
    - tSimpleHashCleanup
    - qError
    - tstrerror
    - tSimpleHashIterate
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeSimpleHashMap(SSHashObj* pDest, SSHashObj* pSource) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1384,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1385,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1386,1
    - Dst: streamStateSessionSeekToLast_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1391,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1395,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1399,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1404,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1406,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1409,1
    - Dst: putRangeIdInfo
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1411,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1414,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1420,1
    - Dst: streamStateSessionDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1413,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1412,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1420,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pTsDataState
    - pRange
    argTypes:
    - STableTsDataState*
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1423
    functionName: popScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateFreeCur
    - taosArrayGet
    - streamStateSessionGetKVByCur_rocksdb
    - taosArrayRemove
    - taosGetDefaultHashFunction
    - qError
    - tstrerror
    - tSimpleHashInit
    - putRangeIdInfo
    - qDebug
    - streamStateSessionDel_rocksdb
    - taosArrayGetSize
    - streamStateSessionSeekToLast_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t popScanRange(STableTsDataState* pTsDataState, SScanRange*
      pRange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:778,1
    - Dst: streamStateCurNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: sessionWinStateMoveToNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateCurNext_rocksdb
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void sessionWinStateMoveToNext(SStreamStateCur* pCur) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1332,1
    - Dst: streamStateSessionDel_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1366,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1367,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1326,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1335,1
    - Dst: mergeSimpleHashMap
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1336,1
    - Dst: mergeSimpleHashMap
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1338,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1372,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1340,1
    - Dst: streamStateSessionSeekToLast_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1347,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1330,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1334,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1337,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1339,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1363,1
    - Dst: mergeScanRange
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1362,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1331,1
    - Dst: scanRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1333,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1352,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - pTsDataState
    argTypes:
    - STableTsDataState*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1377
    functionName: mergeAllScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - streamStateFreeCur
    - scanRangeKeyCmpr
    - taosArrayGet
    - streamStateSessionGetKVByCur_rocksdb
    - mergeScanRange
    - taosArrayRemove
    - mergeSimpleHashMap
    - qError
    - tstrerror
    - TMAX
    - streamStateSessionDel_rocksdb
    - taosArrayGetSize
    - TMIN
    - streamStateSessionSeekToLast_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeAllScanRange(STableTsDataState* pTsDataState) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1432,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1440,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1437,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1441,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1447,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1448,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1453,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - pCur
    - num
    - pRes
    argTypes:
    - SStreamStateCur*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1456
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1456
    functionName: getNLastSessionStateKVByCur
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - qError
    - tstrerror
    - QUERY_CHECK_NULL
    - taosArrayPush
    - TMAX
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNLastSessionStateKVByCur(SStreamStateCur* pCur, int32_t
      num, SArray* pRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1465,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1470,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1460,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1466,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1471,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1479,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1480,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1481,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - gap
    - pIsLast
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - TSKEY
    - bool*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1458
    functionDepth: 0
    functionLinenumber: 1458
    functionLinenumberEnd: 1488
    functionName: hasSessionState
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - getRowStateBuff
    - tSimpleHashGet
    - binarySearch
    - inSessionWindow
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool hasSessionState(SStreamFileState* pFileState, SSessionKey* pKey,
      TSKEY gap, bool* pIsLast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:31,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:33,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pWin1
    - pDatas
    - pos
    argTypes:
    - SSessionKey*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: sessionStateRangeKeyCompare
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - sessionRangeKeyCmpr
    linkageType: ''
    returnType: int
    signature: 'int sessionStateRangeKeyCompare(const SSessionKey* pWin1, const void*
      pDatas, int pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:119,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:125,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:122,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:126,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:129,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - pFileState
    - pWinInfos
    - pKey
    - index
    - ppPos
    argTypes:
    - SStreamFileState*
    - SArray*
    - SSessionKey*
    - int32_t
    - SRowBuffPos**
    constantsTouched: []
    func_position:
      end: 139
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 139
    functionName: insertNewSessionWindow
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - qError
    - tstrerror
    - memcpy
    - getNewRowPosForWrite
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t insertNewSessionWindow(SStreamFileState* pFileState,
      SArray* pWinInfos, const SSessionKey* pKey, int32_t index, SRowBuffPos** ppPos) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:428,1
    - Dst: insertNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:454,1
    - Dst: getSessionWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:465,1
    - Dst: sessionWinKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:461,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:460,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:431,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:434,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:449,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:450,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:474,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:477,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:485,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:425,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:435,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:446,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:466,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:467,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:424,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:440,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:441,1
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:471,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 5
    argNames:
    - pFileState
    - pCur
    - pWinKey
    - ppVal
    - pVLen
    argTypes:
    - SStreamFileState*
    - SStreamStateCur*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 488
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 488
    functionName: allocSessioncWinBuffByNextPosition
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - getRowStateBuff
    - addNewSessionWindow
    - insertNewSessionWindow
    - getSessionWinResultBuff
    - sessionWinKeyCmpr
    - tSimpleHashGet
    - QUERY_CHECK_CONDITION
    - qError
    - tstrerror
    - memcpy
    - tSimpleHashPut
    - getNewRowPosForWrite
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t allocSessioncWinBuffByNextPosition(SStreamFileState* pFileState,
      SStreamStateCur* pCur, const SSessionKey* pWinKey, void** ppVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 509
    functionName: freeArrayPtr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeArrayPtr(void* ptr) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:522,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:523,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:531,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:529,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:538,1
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:546,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 4
    argNames:
    - pFileState
    - pWinKey
    - pWins
    - pIndex
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - SArray**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 557
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 557
    functionName: seekKeyCurrentPrev_buff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - createStateCursor
    - getRowStateBuff
    - tSimpleHashGet
    - binarySearch
    - taosArrayGetSize
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'static SStreamStateCur * seekKeyCurrentPrev_buff(SStreamFileState*
      pFileState, const SSessionKey* pWinKey, SArray** pWins, int32_t* pIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: seekKeyCurrentPrev_buff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:578,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:591,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:587,1
    - Dst: sessionWinStateMoveToPrev
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:584,1
    - Dst: sessionStateRangeKeyCompare
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:580,1
    - Dst: streamStateSessionSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:592,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pFileState
    - pWinKey
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 599
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 599
    functionName: sessionWinStateSeekKeyPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - streamStateSessionSeekKeyPrev_rocksdb
    - getStateFileStore
    - seekKeyCurrentPrev_buff
    - sessionWinStateMoveToPrev
    - sessionStateRangeKeyCompare
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * sessionWinStateSeekKeyPrev(SStreamFileState *pFileState,
      const SSessionKey *pWinKey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1218,1
    - Dst: mergeRangeKey
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1223,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1219,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1221,1
    - Dst: scanRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1222,1
    - Dst: putRangeIdInfo
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1224,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1225,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1231,1
    - Dst: scanRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1232,1
    - Dst: mergeRangeKey
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1233,1
    - Dst: putRangeIdInfo
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1234,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1244,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1247,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1247,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1235,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 7
    argNames:
    - pRangeArray
    - pRangeKey
    - gpId
    - uId
    - pIndex
    - pRes
    - idStr
    argTypes:
    - SArray*
    - SScanRange*
    - uint64_t
    - uint64_t
    - int32_t*
    - bool*
    - char*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1250
    functionName: mergeScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - scanRangeKeyCmpr
    - taosArrayGet
    - mergeRangeKey
    - qError
    - tstrerror
    - putRangeIdInfo
    - binarySearch
    - qDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeScanRange(SArray* pRangeArray, SScanRange* pRangeKey,
      uint64_t gpId, uint64_t uId, int32_t* pIndex, bool* pRes, char* idStr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:44,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:51,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:45,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:53,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:46,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - keyList
    - num
    - key
    - cmpFn
    argTypes:
    - void*
    - int
    - void*
    - __session_compare_fn_t
    constantsTouched: []
    func_position:
      end: 61
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 61
    functionName: binarySearch
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - cmpFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t binarySearch(void* keyList, int num, const void* key, __session_compare_fn_t
      cmpFn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:144,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:153,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:147,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:156,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:150,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:160,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:167,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - pFileState
    - pKey
    - p
    - pVLen
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 173
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 173
    functionName: createSessionWinBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - qError
    - memset
    - tstrerror
    - memcpy
    - getRowStateRowSize
    - getNewRowPosForWrite
    linkageType: ''
    returnType: SRowBuffPos*
    signature: 'SRowBuffPos * createSessionWinBuff(SStreamFileState* pFileState, SSessionKey*
      pKey, void* p, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:491,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:498,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:496,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:495,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:500,1
    - Dst: memset
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pFileState
    argTypes:
    - SStreamFileState*
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: sessionWinStateClear
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - getRowStateBuff
    - memset
    - tSimpleHashIterate
    - getRowStateRowSize
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void sessionWinStateClear(SStreamFileState* pFileState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:515,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pBuff
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 517
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 517
    functionName: sessionWinStateCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - tSimpleHashSetFreeFp
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void sessionWinStateCleanup(void* pBuff) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: seekKeyCurrentPrev_buff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:560,1
    - Dst: streamStateSessionSeekKeyCurrentPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:566,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pFileState
    - pWinKey
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 573
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 573
    functionName: sessionWinStateSeekKeyCurrentPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - getStateFileStore
    - seekKeyCurrentPrev_buff
    - streamStateSessionSeekKeyCurrentPrev_rocksdb
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * sessionWinStateSeekKeyCurrentPrev(SStreamFileState*
      pFileState, const SSessionKey* pWinKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamStateResetCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pFileState
    - pCur
    argTypes:
    - SStreamFileState*
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 608
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 608
    functionName: transformCursor
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateResetCur
    linkageType: ''
    returnType: void
    signature: 'static void transformCursor(SStreamFileState* pFileState, SStreamStateCur*
      pCur) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mergeScanRange
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1262,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1279,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1290,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1292,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1288,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1263,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1277,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1281,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1286,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1287,1
    - Dst: streamStateSessionPut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1275,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1268,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1278,1
    - Dst: streamStateSessionPut_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1280,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1296,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1283,1
    - Dst: streamStateSessionGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1273,1
    - Dst: putRangeIdInfo
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1289,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 5
    argNames:
    - pTsDataState
    - pWin
    - gpId
    - pRecData
    - recLen
    argTypes:
    - STableTsDataState*
    - STimeWindow*
    - uint64_t
    - SRecDataInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1299
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1299
    functionName: mergeAndSaveScanRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - mergeScanRange
    - taosMemoryRealloc
    - taosGetDefaultHashFunction
    - qError
    - tstrerror
    - tSimpleHashInit
    - taosMemFreeClear
    - QUERY_CHECK_NULL
    - putRangeIdInfo
    - streamStateSessionGet_rocksdb
    - memcpy
    - taosArrayGetSize
    - taosArrayInsert
    - streamStateSessionPut_rocksdb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeAndSaveScanRange(STableTsDataState* pTsDataState, STimeWindow*
      pWin, uint64_t gpId, SRecDataInfo* pRecData, int32_t recLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1197,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1200,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1203,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1199,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pRangeKey
    - gpId
    - uId
    argTypes:
    - SScanRange*
    - uint64_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1206
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1206
    functionName: putRangeIdInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tstrerror
    - qError
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putRangeIdInfo(SScanRange* pRangeKey, uint64_t gpId,
      uint64_t uId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:65,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - data
    - index
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: getSessionWindowEndkey
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getSessionWindowEndkey(void* data, int32_t index) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:200,1
    - Dst: streamStateSessionAddIfNotExist_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:202,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:213,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:238,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:250,1
    - Dst: streamStateSessionAddIfNotExist_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:253,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:265,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:272,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:285,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:180,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:207,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:211,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:239,1
    - Dst: isDeteled
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:250,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:254,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:255,1
    - Dst: insertNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:278,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:191,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:189,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:182,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:215,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:222,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:227,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:239,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:279,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:186,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:192,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:198,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:203,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:204,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:226,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:252,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:258,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:262,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:271,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - gap
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - TSKEY
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 288
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 288
    functionName: getSessionWinResultBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosMemoryFree
    - getStateFileStore
    - binarySearch
    - createSessionWinBuff
    - taosArrayGetSize
    - inSessionWindow
    - taosArrayInit
    - getRowStateBuff
    - insertNewSessionWindow
    - tSimpleHashGet
    - streamStateSessionAddIfNotExist_rocksdb
    - isFlushedState
    - addNewSessionWindow
    - qError
    - isDeteled
    - tSimpleHashPut
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSessionWinResultBuff(SStreamFileState* pFileState, SSessionKey*
      pKey, TSKEY gap, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:300,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:303,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:307,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:310,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:313,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:314,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:317,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:319,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:322,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:328,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:333,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:336,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:346,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:339,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:330,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 349
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 349
    functionName: putSessionWinResultBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getRowStateBuff
    - tSimpleHashGet
    - qError
    - tstrerror
    - taosArrayPush
    - binarySearch
    - tSimpleHashPut
    - taosArrayGetSize
    - taosArrayInsert
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t putSessionWinResultBuff(SStreamFileState* pFileState, SRowBuffPos*
      pPos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:382,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:387,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:389,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:391,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:392,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 3
    argNames:
    - pBuff
    - key
    - keyLen
    argTypes:
    - void*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 398
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 398
    functionName: deleteSessionWinStateBuffFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayRemove
    - tSimpleHashGet
    - binarySearch
    - inSessionWindow
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteSessionWinStateBuffFn(void* pBuff, const void* key,
      size_t keyLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: seekKeyCurrentPrev_buff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:646,1
    - Dst: streamStateSessionSeekKeyNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:653,1
    - Dst: sessionWinStateMoveToNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:648,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:652,1
    - Dst: checkAndTransformCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pFileState
    - pWinKey
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    constantsTouched: []
    func_position:
      end: 656
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 656
    functionName: sessionWinStateSeekKeyNext
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - getStateFileStore
    - seekKeyCurrentPrev_buff
    - streamStateSessionSeekKeyNext_rocksdb
    - sessionWinStateMoveToNext
    - checkAndTransformCursor
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * sessionWinStateSeekKeyNext(SStreamFileState* pFileState,
      const SSessionKey* pWinKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:787,1
    - Dst: streamStateCurPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pCur
    argTypes:
    - SStreamStateCur*
    constantsTouched: []
    func_position:
      end: 793
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 793
    functionName: sessionWinStateMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateCurPrev_rocksdb
    - qTrace
    linkageType: ''
    returnType: void
    signature: 'void sessionWinStateMoveToPrev(SStreamStateCur* pCur) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:849,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:856,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:862,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:867,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:871,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:875,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:868,1
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:908,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:936,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:942,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:955,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:949,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:845,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:864,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:880,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:881,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:892,1
    - Dst: fn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:894,1
    - Dst: isDeteled
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:919,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:928,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:932,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:842,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:905,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:907,1
    - Dst: streamStateStateAddIfNotExist_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:923,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:943,1
    - Dst: insertNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:948,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:855,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:852,1
    - Dst: streamStateStateAddIfNotExist_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:866,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:878,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:894,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:907,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:921,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:924,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:925,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:955,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 114
    argCount: 8
    argNames:
    - pFileState
    - key
    - pKeyData
    - keyDataLen
    - fn
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - char*
    - int32_t
    - state_key_cmpr_fn
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 958
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 958
    functionName: getStateWinResultBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosMemoryFree
    - getStateFileStore
    - binarySearch
    - fn
    - createSessionWinBuff
    - taosArrayGetSize
    - inSessionWindow
    - taosArrayInit
    - getRowStateBuff
    - insertNewSessionWindow
    - tSimpleHashGet
    - isFlushedState
    - addNewSessionWindow
    - qError
    - isDeteled
    - tSimpleHashPut
    - streamStateStateAddIfNotExist_rocksdb
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStateWinResultBuff(SStreamFileState* pFileState, SSessionKey*
      key, char* pKeyData, int32_t keyDataLen, state_key_cmpr_fn fn, void** pVal,
      int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1004,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1026,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1008,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1014,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1041,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1046,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1069,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1096,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1032,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1025,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1033,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1081,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1102,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1086,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:995,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:992,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:985,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1007,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1017,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1013,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1059,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1062,1
    - Dst: getCountWinStateFromDisc
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1063,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1065,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1095,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:983,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:989,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:996,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1002,1
    - Dst: getCountWinStateFromDisc
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1006,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1029,1
    - Dst: inSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1048,1
    - Dst: isDeteled
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1059,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1072,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1076,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 115
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - winCount
    - pVal
    - pVLen
    - pWinCount
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - COUNT_TYPE
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1105
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1105
    functionName: getCountWinResultBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - taosMemoryFree
    - getStateFileStore
    - binarySearch
    - createSessionWinBuff
    - inSessionWindow
    - taosArrayGetSize
    - taosArrayInit
    - getRowStateBuff
    - tSimpleHashGet
    - getCountWinStateFromDisc
    - isFlushedState
    - addNewSessionWindow
    - qError
    - isDeteled
    - tSimpleHashPut
    - tstrerror
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getCountWinResultBuff(SStreamFileState* pFileState, SSessionKey*
      pKey, COUNT_TYPE winCount, void** pVal, int32_t* pVLen, int32_t* pWinCount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pKey
    - ts
    - gap
    argTypes:
    - SSessionKey*
    - TSKEY
    - int64_t
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: inSessionWindow
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool inSessionWindow(SSessionKey* pKey, TSKEY ts, int64_t gap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getSessionWinResultBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 6
    argNames:
    - pFileState
    - pKey
    - keyLen
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - void*
    - int32_t
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 295
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 295
    functionName: getSessionRowBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - getSessionWinResultBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSessionRowBuff(SStreamFileState* pFileState, void* pKey,
      int32_t keyLen, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getNewRowPosForWrite
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:355,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:363,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:367,1
    - Dst: streamStateSessionGet_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:363,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:358,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:368,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:369,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:374,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - pVal
    - pVLen
    - pWinCode
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - void**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 377
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 377
    functionName: getSessionFlushedBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - getStateFileStore
    - qError
    - tstrerror
    - memcpy
    - streamStateSessionGet_rocksdb
    - getNewRowPosForWrite
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSessionFlushedBuff(SStreamFileState* pFileState, SSessionKey*
      pKey, void** pVal, int32_t* pVLen, int32_t* pWinCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:401,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:403,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:408,1
    - Dst: binarySearch
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:410,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:412,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:414,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - pFileState
    - pPos
    argTypes:
    - SStreamFileState*
    - SRowBuffPos*
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: deleteSessionWinStateBuffByPosFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - getRowStateBuff
    - taosArrayRemove
    - tSimpleHashGet
    - binarySearch
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void deleteSessionWinStateBuffByPosFn(SStreamFileState* pFileState,
      SRowBuffPos* pPos) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:666,1
    - Dst: getRowStateRowSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:697,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:712,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:676,1
    - Dst: streamStateSessionSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:685,1
    - Dst: sessionRangeKeyCmpr
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:699,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:693,1
    - Dst: streamStateCurPrev
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:703,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:705,1
    - Dst: streamStateCurPrev
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:713,1
    - Dst: sessionStateRangeKeyCompare
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:668,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:684,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:691,1
    - Dst: streamStateCurNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:715,1
    - Dst: seekKeyCurrentPrev_buff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:661,1
    - Dst: createStateCursor
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:677,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:691,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:698,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:711,1
    - Dst: streamStateCurNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:707,1
    - Dst: streamStateCurNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:700,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 3
    argNames:
    - pFileState
    - pWinKey
    - count
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - COUNT_TYPE
    constantsTouched: []
    func_position:
      end: 721
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 721
    functionName: countWinStateSeekKeyPrev
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - streamStateSessionSeekKeyPrev_rocksdb
    - streamStateFreeCur
    - streamStateCurNext
    - createStateCursor
    - seekKeyCurrentPrev_buff
    - getStateFileStore
    - streamStateSessionGetKVByCur_rocksdb
    - sessionStateRangeKeyCompare
    - getRowStateRowSize
    - streamStateCurPrev
    - sessionRangeKeyCmpr
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: SStreamStateCur*
    signature: 'SStreamStateCur * countWinStateSeekKeyPrev(SStreamFileState* pFileState,
      const SSessionKey* pWinKey, COUNT_TYPE count) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sessionWinStateSeekKeyCurrentPrev
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:797,1
    - Dst: sessionWinStateGetKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:799,1
    - Dst: sessionWinStateSeekKeyNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:803,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:802,1
    - Dst: sessionWinStateGetKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:804,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:813,1
    - Dst: sessionWinStateMoveToNext
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:821,1
    - Dst: sessionWinStateGetKVByCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:822,1
    - Dst: cmpFn
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:823,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:830,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - pFileState
    - key
    - curKey
    - cmpFn
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - SSessionKey*
    - range_cmpr_fn
    constantsTouched: []
    func_position:
      end: 832
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 832
    functionName: sessionWinStateGetKeyByRange
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateFreeCur
    - sessionWinStateSeekKeyNext
    - sessionWinStateSeekKeyCurrentPrev
    - sessionWinStateMoveToNext
    - cmpFn
    - sessionWinStateGetKVByCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sessionWinStateGetKeyByRange(SStreamFileState* pFileState,
      const SSessionKey* key, SSessionKey* curKey, range_cmpr_fn cmpFn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamStateSessionSeekKeyCurrentNext_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:961,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:962,1
    - Dst: streamStateSessionSeekKeyPrev_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:967,1
    - Dst: streamStateSessionGetKVByCur_rocksdb
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:970,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:963,1
    - Dst: streamStateFreeCur
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pState
    - pKey
    - pVal
    - pVLen
    argTypes:
    - SStreamState*
    - SSessionKey*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 973
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 973
    functionName: getCountWinStateFromDisc
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - streamStateSessionGetKVByCur_rocksdb
    - streamStateSessionSeekKeyPrev_rocksdb
    - streamStateSessionSeekKeyCurrentNext_rocksdb
    - streamStateFreeCur
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getCountWinStateFromDisc(SStreamState* pState, SSessionKey*
      pKey, void** pVal, int32_t* pVLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1115,1
    - Dst: getStateFileStore
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1129,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1143,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1145,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1119,1
    - Dst: getCountWinStateFromDisc
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1150,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1151,1
    - Dst: qError
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1160,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1120,1
    - Dst: isFlushedState
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1133,1
    - Dst: createSessionWinBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1140,1
    - Dst: getRowStateBuff
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1113,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1127,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1137,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1138,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1149,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1155,1
    - Dst: addNewSessionWindow
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1154,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 5
    argNames:
    - pFileState
    - pKey
    - winCount
    - pVal
    - pVLen
    argTypes:
    - SStreamFileState*
    - SSessionKey*
    - COUNT_TYPE
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1163
    functionName: createCountWinResultBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - isFlushedState
    - taosMemoryFree
    - getStateFileStore
    - getRowStateBuff
    - addNewSessionWindow
    - tSimpleHashGet
    - qError
    - tstrerror
    - getCountWinStateFromDisc
    - qDebug
    - tSimpleHashPut
    - createSessionWinBuff
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createCountWinResultBuff(SStreamFileState* pFileState, SSessionKey*
      pKey, COUNT_TYPE winCount, void** pVal, int32_t* pVLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1209,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1212,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1211,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamSessionState.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pRangeDest
    - pRangeSrc
    argTypes:
    - SScanRange*
    - SScanRange*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1213
    functionName: mergeRangeKey
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamSessionState.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'void mergeRangeKey(SScanRange* pRangeDest, SScanRange* pRangeSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:72,1
    - Dst: metaRefMgtCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:77,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:75,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:74,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:73,1
    - Dst: streamTimerCleanUp
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: streamMetaCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosCloseRef
    - metaRefMgtCleanup
    - streamTimerCleanUp
    linkageType: ''
    returnType: void
    signature: 'void streamMetaCleanup() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:82,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:88,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 96
    functionName: metaRefMgtInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaRefMgtInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaCheckBackendCompatible
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:268,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:275,1
    - Dst: streamMetaCvtDbFormat
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:273,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 284
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 284
    functionName: streamMetaMayCvtDbFormat
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaCheckBackendCompatible
    - stInfo
    - streamMetaCvtDbFormat
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaMayCvtDbFormat(SStreamMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamBackendInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:541,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:550,1
    - Dst: streamBackendInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:545,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:551,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:544,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:552,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:556,1
    - Dst: streamBackendLoadCheckpointInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:557,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 558
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 558
    functionName: streamMetaInitBackend
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamBackendInit
    - streamBackendLoadCheckpointInfo
    - streamMetaWUnLock
    - taosAddRef
    - streamMetaWLock
    - stInfo
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: 'void streamMetaInitBackend(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1023,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1038,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pMeta
    - streamId
    - taskId
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1041
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1041
    functionName: streamMetaStopOneTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaWLock
    - streamMetaWUnLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaStopOneTask(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1497,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1509,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1506,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1502,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1499,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1514
    functionName: streamMetaAllTasksReady
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - streamMetaReleaseTask
    - taosArrayGet
    - streamMetaAcquireTaskUnsafe
    linkageType: ''
    returnType: bool
    signature: 'bool streamMetaAllTasksReady(const SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: streamTaskShouldRecalated
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t streamTaskShouldRecalated(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1044,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1045,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1050,1
    - Dst: streamSetFatalError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1052
    functionName: streamMetaBegin
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaWLock
    - tdbBegin
    - streamSetFatalError
    - streamMetaWUnLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaBegin(SStreamMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1517,1
    - Dst: streamTaskResetStatus
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1530,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1519,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1525,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1536
    functionName: streamMetaResetTaskStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamMetaAcquireTaskUnsafe
    - stDebug
    - streamTaskResetStatus
    - taosArrayGetSize
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaResetTaskStatus(SStreamMeta* pMeta) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1196,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1202,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1204,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1213,1
    - Dst: streamTaskGetTaskId
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1234,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1236,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1243,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1247,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1261,1
    - Dst: streamTaskShouldPause
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1306,1
    - Dst: streamMetaRemoveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1307,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1185,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1195,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1193,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1195,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1224,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1230,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1257,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1277,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1321,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1314,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1309,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1298,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1321,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1282,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1309,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1297,1
    - Dst: dropHistoryTaskIfNoStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1302,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1187,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1220,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1223,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1252,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1256,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1256,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1263,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1274,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1280,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1287,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1319,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1289,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1276,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1203,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1208,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1216,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1216,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1222,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1237,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1239,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1242,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1279,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1304,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1305,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1315,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1267,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1268,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 117
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1323
    functionName: streamMetaLoadAllTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - taosMemoryCalloc
    - streamMetaRemoveTaskInMeta
    - taosArrayPop
    - atomic_add_fetch_32
    - dropHistoryTaskIfNoStreamTask
    - taosArrayGetSize
    - stError
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayPush
    - taosAddRef
    - taosHashPut
    - streamTaskShouldPause
    - taosArrayGet
    - taosHashGet
    - stDebug
    - tdbTbcOpen
    - stInfo
    - taosRemoveRef
    - tDecoderInit
    - streamTaskGetTaskId
    - streamMetaCommit
    - tdbTbcNext
    - tdbFree
    - tstrerror
    - tDecodeStreamTask
    - tFreeStreamTask
    - stFatal
    - tdbTbcClose
    - tDecoderClear
    linkageType: ''
    returnType: void
    signature: 'void streamMetaLoadAllTasks(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:99,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:103,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:106,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: metaRefMgtCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMutexDestroy
    - taosMemoryFree
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void metaRefMgtCleanup() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:65,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:67,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: streamMetaInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosThreadOnce
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMetaInit() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:568,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:606,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:604,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:597,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:602,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:608,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:607,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:616,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:563,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:575,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:576,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:582,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:601,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:595,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:614,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:615,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:566,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:580,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:585,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:587,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:592,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:591,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:617,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 622
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 622
    functionName: streamMetaClear
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosGetTimestampMs
    - streamTmrStop
    - taosHashClear
    - taosHashIterate
    - taosReleaseRef
    - stDebug
    - stError
    - taosRemoveRef
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void streamMetaClear(SStreamMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:651,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:652,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:653,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:654,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:656,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:657,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:658,1
    - Dst: destroyMetaHbInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:666,1
    - Dst: streamMetaClearStartInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:664,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:661,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:669,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:675,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:681,1
    - Dst: streamMetaClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:647,1
    - Dst: streamMetaUpdateInfoCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:663,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:644,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:648,1
    - Dst: bkdMgtDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:672,1
    - Dst: streamMutexDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:670,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:677,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:677,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:680,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 682
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 682
    functionName: streamMetaCloseImpl
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - streamMetaClearStartInfo
    - streamMetaClear
    - bkdMgtDestroy
    - streamMutexDestroy
    - streamMetaUpdateInfoCleanup
    - tdbAbort
    - stError
    - tdbTbClose
    - tstrerror
    - streamMetaWUnLock
    - stDebug
    - streamMetaWLock
    - destroyMetaHbInfo
    - taosThreadRwlockDestroy
    - tdbClose
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamMetaCloseImpl(void* arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:740,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:739,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pMeta
    - pTaskId
    argTypes:
    - SStreamMeta*
    - STaskId*
    constantsTouched: []
    func_position:
      end: 746
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 746
    functionName: streamMetaRemoveTaskInMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbTbDelete
    - stError
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaRemoveTaskInMeta(SStreamMeta* pMeta, STaskId* pTaskId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWaitForHbTmrQuit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1336,1
    - Dst: streamMetaSendMsgBeforeCloseTasks
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1344,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1371,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1381,1
    - Dst: streamMetaGetHbSendInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1348,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1353,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1374,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1338,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1350,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1364,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1377,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1331,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1339,1
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1341,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1361,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1365,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1373,1
    - Dst: streamTaskStop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1361,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1382
    functionName: streamMetaNotifyClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaSendMsgBeforeCloseTasks
    - taosGetTimestampMs
    - taosArrayGet
    - taosArrayDestroy
    - streamTmrStop
    - streamMetaRLock
    - streamMetaGetHbSendInfo
    - taosArrayGetSize
    - tstrerror
    - streamMetaRUnLock
    - stDebug
    - streamMetaWaitForHbTmrQuit
    - stInfo
    - streamMetaReleaseTask
    - stError
    - streamMetaAcquireTaskNoLock
    - taosRemoveRef
    - streamTaskStop
    linkageType: ''
    returnType: void
    signature: 'void streamMetaNotifyClose(SStreamMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:629,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:630,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:632,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: streamMetaClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tstrerror
    - stError
    - taosRemoveRef
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamMetaClose(SStreamMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1385,1
    - Dst: streamMetaHbToMnode
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1397,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1387,1
    - Dst: metaRefMgtAdd
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1398
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1398
    functionName: streamMetaStartHb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - stFatal
    - metaRefMgtAdd
    - taosMemoryMalloc
    - streamMetaHbToMnode
    linkageType: ''
    returnType: void
    signature: 'void streamMetaStartHb(SStreamMeta* pMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1573,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1577,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1585,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1590,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1583,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1599,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1603,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1607,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1614,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1618,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - transId
    - pUpdateTaskList
    argTypes:
    - SStreamMeta*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1622
    functionName: streamMetaInitUpdateTaskList
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - stError
    - stInfo
    - taosHashClear
    linkageType: ''
    returnType: bool
    signature: 'bool streamMetaInitUpdateTaskList(SStreamMeta* pMeta, int32_t transId,
      SArray* pUpdateTaskList) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:300,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:313,1
    - Dst: taskDbOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:321,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:345,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:333,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:351,1
    - Dst: taskDbAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:298,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:296,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:296,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:314,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:329,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:359,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:361,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:364,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:326,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:366,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:294,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:301,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:330,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:357,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:327,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:357,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 58
    argCount: 4
    argNames:
    - pMeta
    - pTask
    - key
    - recalated
    argTypes:
    - SStreamMeta*
    - SStreamTask*
    - char*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 369
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 369
    functionName: streamTaskSetDb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosHashGet
    - taosHashPut
    - strlen
    - taskDbOpen
    - taosAddRef
    - stDebug
    - taskDbAddRef
    - stInfo
    - taosMsleep
    - stError
    - stWarn
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSetDb(SStreamMeta* pMeta, SStreamTask* pTask, const
      char* key, uint8_t recalated) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:869,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:884,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:870,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:878,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:876,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:886,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:888,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - pMeta
    - pId
    - pTask
    argTypes:
    - SStreamMeta*
    - STaskId*
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 897
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 897
    functionName: streamMetaAcquireTaskUnsafe
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - stTrace
    - taosHashGet
    - stFatal
    - taosReleaseRef
    - stDebug
    - stError
    - QRY_PARAM_CHECK
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAcquireTaskUnsafe(SStreamMeta* pMeta, STaskId* pId,
      SStreamTask** pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:913,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:914,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pTask
    argTypes:
    - SStreamMeta*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 918
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 918
    functionName: streamMetaReleaseTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosReleaseRef
    - stTrace
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamMetaReleaseTask(SStreamMeta* UNUSED_PARAM(pMeta), SStreamTask*
      pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSendCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:943,1
    - Dst: qKillTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:949,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:942,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:951,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pTask
    - param
    argTypes:
    - SStreamTask*
    - void*
    constantsTouched: []
    func_position:
      end: 955
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 955
    functionName: streamTaskSendTransSuccessMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tstrerror
    - qKillTask
    - stError
    - streamTaskSendCheckpointSourceRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamTaskSendTransSuccessMsg(SStreamTask* pTask, void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1055,1
    - Dst: streamSetFatalError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1057,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1058,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1062,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1058,1
    - Dst: streamSetFatalError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1064,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1065,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1070,1
    - Dst: streamSetFatalError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1073,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1074,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1076,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1080
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1080
    functionName: streamMetaCommit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamSetFatalError
    - tdbCommit
    - tdbPostCommit
    - stFatal
    - tstrerror
    - stDebug
    - tdbBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaCommit(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1545,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1547,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1550,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - pMeta
    - pTask
    - transId
    - startTs
    argTypes:
    - SStreamMeta*
    - SStreamTask*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1553
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1553
    functionName: streamMetaAddIntoUpdateTaskList
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - stError
    - stDebug
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: 'void streamMetaAddIntoUpdateTaskList(SStreamMeta* pMeta, SStreamTask*
      pTask, int32_t transId, int64_t startTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:375,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:381,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:378,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:376,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - key
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 382
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 382
    functionName: streamMetaRemoveDB
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosHashRemove
    - strlen
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamMetaRemoveDB(void* arg, char* key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:900,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:902,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 4
    argNames:
    - pMeta
    - streamId
    - taskId
    - pTask
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 904
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 904
    functionName: streamMetaAcquireTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaRUnLock
    - streamMetaRLock
    - streamMetaAcquireTaskNoLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAcquireTask(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId, SStreamTask** pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:923,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:932,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:925,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pTaskList
    - num
    - id
    argTypes:
    - SArray*
    - int32_t
    - SStreamTaskId*
    constantsTouched: []
    func_position:
      end: 934
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 934
    functionName: doRemoveIdFromList
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - stError
    - taosArrayRemove
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void doRemoveIdFromList(SArray* pTaskList, int32_t num, SStreamTaskId*
      id) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskShouldPause
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:966,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:998,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:991,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:985,1
    - Dst: streamTmrStop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:999,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1009,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1011,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:988,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:994,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1006,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:967,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:974,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:974,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:992,1
    - Dst: doRemoveIdFromList
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:985,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:963,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:968,1
    - Dst: streamTaskHandleEventAsync
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:972,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:977,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:981,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:984,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:988,1
    - Dst: streamMetaRemoveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:986,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1004,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - pMeta
    - streamId
    - taskId
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1015
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1015
    functionName: streamMetaUnregisterTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamTaskHandleEventAsync
    - streamTmrStop
    - streamMetaReleaseTask
    - streamMetaRemoveTaskInMeta
    - taosHashRemove
    - tstrerror
    - taosArrayGetSize
    - taosHashGetSize
    - atomic_sub_fetch_32
    - streamMetaAcquireTaskUnsafe
    - taosRemoveRef
    - stDebug
    - stInfo
    - doRemoveIdFromList
    - stError
    - streamTaskShouldPause
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaUnregisterTask(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1087,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1101,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1088,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1100,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1098,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1105,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1110,1
    - Dst: tDecodeStreamTaskChkInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1111,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1112,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1115,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1125,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1122,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1123,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1120,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1127
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1127
    functionName: streamMetaGetLatestCheckpointId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tDecoderInit
    - tdbTbcNext
    - tDecodeStreamTaskChkInfo
    - stDebug
    - tdbFree
    - tdbTbcOpen
    - TMAX
    - tdbTbcClose
    - stError
    - tDecoderClear
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t streamMetaGetLatestCheckpointId(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1557,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1564,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1566,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1569
    functionName: streamMetaClearSetUpdateTaskListComplete
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - stInfo
    - taosHashClear
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void streamMetaClearSetUpdateTaskListComplete(SStreamMeta* pMeta) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:408,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:412,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:431,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:425,1
    - Dst: taosThreadRwlockAttrDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:441,1
    - Dst: streamMetaBegin
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:444,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:445,1
    - Dst: streamMetaUpdateInfoInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:453,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:457,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:461,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:487,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:519,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:525,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:406,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:416,1
    - Dst: pthread_rwlockattr_setkind_np
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:434,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:435,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:439,1
    - Dst: taosThreadRwlockAttrInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:430,1
    - Dst: streamMetaInitStartInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:456,1
    - Dst: bkdMgtCreate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:486,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:498,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:505,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:526,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:534,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:534,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:477,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:528,1
    - Dst: bkdMgtDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:529,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:512,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:513,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:511,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:493,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:413,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:414,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:420,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:438,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:449,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:450,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:451,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:490,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:501,1
    - Dst: createMetaHbInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:503,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:532,1
    - Dst: metaRefMgtAdd
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:500,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:496,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:489,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:402,1
    - Dst: streamMetaOpenTdb
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:419,1
    - Dst: streamMetaMayCvtDbFormat
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:424,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:423,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:442,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:454,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:460,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:477,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:478,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:495,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:527,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:484,1
    - Dst: tdbClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:522,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:531,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 110
    argCount: 8
    argNames:
    - path
    - ahandle
    - buildTaskFn
    - expandTaskFn
    - vgId
    - stage
    - fn
    - p
    argTypes:
    - char*
    - void*
    - FTaskBuild
    - FTaskExpand
    - int32_t
    - int64_t
    - startComplete_fn_t
    - SStreamMeta**
    constantsTouched: []
    func_position:
      end: 536
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 536
    functionName: streamMetaOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - createMetaHbInfo
    - stError
    - taosHashInit
    - taosArrayInit
    - taosHashCleanup
    - tdbClose
    - taosMemoryMalloc
    - streamMetaMayCvtDbFormat
    - taosArrayDestroy
    - tdbTbClose
    - taosAddRef
    - memcpy
    - taosGetDefaultHashFunction
    - TSDB_CHECK_CODE
    - taosThreadRwlockAttrDestroy
    - metaRefMgtAdd
    - bkdMgtDestroy
    - streamMetaBegin
    - streamMetaOpenTdb
    - taosThreadRwlockInit
    - taosThreadRwlockAttrInit
    - stInfo
    - taosMemoryFreeClear
    - bkdMgtCreate
    - snprintf
    - pthread_rwlockattr_setkind_np
    - taosThreadMutexInit
    - streamMetaInitStartInfo
    - tstrerror
    - strlen
    - QRY_PARAM_CHECK
    - streamMetaUpdateInfoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaOpen(const char* path, void* ahandle, FTaskBuild
      buildTaskFn, FTaskExpand expandTaskFn, int32_t vgId, int64_t stage, startComplete_fn_t
      fn, SStreamMeta** p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:690,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:707,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:695,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:706,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:705,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:710,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:710,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:716,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:719,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:720,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:723,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:725,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:728,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:731,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pMeta
    - pTask
    argTypes:
    - SStreamMeta*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 733
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 733
    functionName: streamMetaSaveTaskInMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - taosMemoryCalloc
    - tEncodeStreamTask
    - tstrerror
    - tdbTbUpsert
    - tEncodeSize
    - stDebug
    - stError
    - taosRemoveRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaSaveTaskInMeta(SStreamMeta* pMeta, SStreamTask*
      pTask) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:759,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:764,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:788,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:790,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:803,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:758,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:768,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:771,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:783,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:779,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:794,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:800,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:805,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:812,1
    - Dst: streamTaskGetTaskId
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:754,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:755,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:770,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:792,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:799,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:801,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:775,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:781,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:789,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:776,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:778,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 4
    argNames:
    - pMeta
    - ver
    - pTask
    - pAdded
    argTypes:
    - SStreamMeta*
    - int64_t
    - SStreamTask*
    - bool*
    constantsTouched: []
    func_position:
      end: 817
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 817
    functionName: streamMetaRegisterTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamTaskGetTaskId
    - streamMetaCommit
    - taosHashGet
    - streamMetaSaveTaskInMeta
    - taosHashRemove
    - tFreeStreamTask
    - taosArrayPush
    - taosAddRef
    - stDebug
    - taosArrayPop
    - taosHashPut
    - atomic_add_fetch_32
    - stError
    - taosRemoveRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaRegisterTask(SStreamMeta* pMeta, int64_t ver, SStreamTask*
      pTask, bool* pAdded) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:45,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:47,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:46,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:49,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:50,1
    - Dst: metaRefMgtInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:52,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:54,1
    - Dst: streamTimerInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:58,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 62
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 62
    functionName: streamMetaEnvInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamTimerInit
    - taosOpenRef
    - stError
    - metaRefMgtInit
    linkageType: ''
    returnType: void
    signature: 'static void streamMetaEnvInit() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:114,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:120,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:118,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:121,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:127,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - vgId
    - rid
    argTypes:
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: metaRefMgtAdd
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosHashGet
    - tstrerror
    - stFatal
    - taosHashPut
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaRefMgtAdd(int64_t vgId, int64_t* rid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:143,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:148,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:149,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:144,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: streamMetaOpenTdb
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tdbOpen
    - stError
    - tdbTbOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaOpenTdb(SStreamMeta* pMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:179,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:186,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:187,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:185,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:191,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:198,1
    - Dst: tDecodeStreamTaskChkInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:199,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:200,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:210,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:215,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:214,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 218
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 218
    functionName: streamMetaCheckBackendCompatible
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tDecoderInit
    - tdbTbcNext
    - tDecodeStreamTaskChkInfo
    - tdbFree
    - tstrerror
    - tdbTbcOpen
    - tdbTbcClose
    - stError
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaCheckBackendCompatible(SStreamMeta* pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:385,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STaskUpdateInfo*
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: streamMetaUpdateInfoInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaUpdateInfoInit(STaskUpdateInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:820,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:823,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 827
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 827
    functionName: streamMetaGetNumOfTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - stError
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaGetNumOfTasks(SStreamMeta* pMeta) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1131,1
    - Dst: streamTaskGetTaskId
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1141,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1132,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1137,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1139,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1142,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1145,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1146,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1148,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1150,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1153,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1156,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1162,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1155,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1161,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - pMeta
    - pRecycleList
    argTypes:
    - SStreamMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1166
    functionName: dropHistoryTaskIfNoStreamTask
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamTaskGetTaskId
    - taosArrayGet
    - taosArrayRemove
    - taosHashGet
    - taosHashRemove
    - taosReleaseRef
    - taosArrayPush
    - stInfo
    - taosArrayGetSize
    - stError
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'static void dropHistoryTaskIfNoStreamTask(SStreamMeta* pMeta, SArray*
      pRecycleList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1401,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1406,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1418,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1414,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1404,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1421,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1423,1
    - Dst: streamMetaAcquireTaskNoLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1426,1
    - Dst: streamTaskSetCheckpointFailed
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1431,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1432,1
    - Dst: streamMetaSendHbHelper
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1435,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pMeta
    - pList
    argTypes:
    - SStreamMeta*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1438
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1438
    functionName: streamMetaSendMsgBeforeCloseTasks
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDup
    - streamMetaAcquireTaskNoLock
    - stDebug
    - streamMetaSendHbHelper
    - taosArrayGetSize
    - streamMetaReleaseTask
    - stError
    - QRY_PARAM_CHECK
    - streamTaskSetCheckpointFailed
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaSendMsgBeforeCloseTasks(SStreamMeta* pMeta, SArray**
      pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:135,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:139,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pRefId
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: metaRefMgtRemove
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosMemoryFree
    - streamMutexUnlock
    - taosHashRemove
    linkageType: ''
    returnType: void
    signature: 'void metaRefMgtRemove(int64_t* pRefId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaGetLatestCheckpointId
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:223,1
    - Dst: streamBackendDataIsExist
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:226,1
    - Dst: streamBackendInit
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:232,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:237,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:239,1
    - Dst: streamStateCvtDataFormat
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:240,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:242,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:246,1
    - Dst: streamBackendCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:250,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:253,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:254,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:257,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:260,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:258,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 265
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 265
    functionName: streamMetaCvtDbFormat
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamMetaGetLatestCheckpointId
    - snprintf
    - streamBackendInit
    - taosMemoryFree
    - streamBackendDataIsExist
    - taosMemoryCalloc
    - taosHashIterate
    - streamBackendCleanup
    - tstrerror
    - strlen
    - taosHashGetKey
    - taosRemoveDir
    - streamStateCvtDataFormat
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaCvtDbFormat(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STaskUpdateInfo*
    constantsTouched: []
    func_position:
      end: 398
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 398
    functionName: streamMetaUpdateInfoCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void streamMetaUpdateInfoCleanup(STaskUpdateInfo* pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:830,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:844,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:832,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:837,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:839,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:846,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:848,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:854,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:855,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:856,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:863,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:858,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pMeta
    - streamId
    - taskId
    - pTask
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 866
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 866
    functionName: streamMetaAcquireTaskNoLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - streamTaskShouldStop
    - stTrace
    - taosHashGet
    - stFatal
    - taosReleaseRef
    - stDebug
    - stError
    - QRY_PARAM_CHECK
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamMetaAcquireTaskNoLock(SStreamMeta* pMeta, int64_t streamId,
      int32_t taskId, SStreamTask** pTask) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1441,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1457,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1461,1
    - Dst: streamTaskAddIntoNodeUpdateList
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1464,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1465,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1470,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1477,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1481,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1485,1
    - Dst: streamMetaStartHb
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1489,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamMeta.c:1491,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - pMeta
    - term
    - isLeader
    argTypes:
    - SStreamMeta*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 1494
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1494
    functionName: streamMetaUpdateStageRole
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamMeta.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamMetaResetStartInfo
    - streamMetaWUnLock
    - streamMetaAcquireTaskUnsafe
    - stInfo
    - streamTaskAddIntoNodeUpdateList
    - streamMetaWLock
    - streamMetaStartHb
    - taosArrayGetSize
    - streamMetaReleaseTask
    linkageType: ''
    returnType: void
    signature: 'void streamMetaUpdateStageRole(SStreamMeta* pMeta, int64_t term, bool
      isLeader) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:447,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:463,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:474,1
    - Dst: tScalableBfEncode
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:481,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:497,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:501,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:506,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:512,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:517,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:531,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:458,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:469,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:480,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:499,1
    - Dst: tScalableBfEncode
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:504,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:510,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:518,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:525,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:529,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:534,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:538,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:456,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:462,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:471,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:489,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:477,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:493,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:509,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:516,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:545,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:536,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:545,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:523,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:449,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:455,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:465,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:483,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:475,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:487,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:491,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:495,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:522,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:540,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 108
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SUpdateInfo*
    constantsTouched: []
    func_position:
      end: 548
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 548
    functionName: updateInfoSerialize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - tEncodeBinary
    - taosArrayGet
    - tEncodeI32
    - tEncodeI8
    - tEncodeU64
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - uError
    - taosHashGetKey
    - uDebug
    - tScalableBfEncode
    - tEncodeI64
    - taosHashGetValueSize
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateInfoSerialize(SEncoder* pEncoder, const SUpdateInfo*
      pInfo) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:567,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:577,1
    - Dst: tScalableBfDecode
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:583,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:589,1
    - Dst: tScalableBfDecode
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:598,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:613,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:617,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:624,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:625,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:566,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:570,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:574,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:578,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:579,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:596,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:607,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:612,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:622,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:595,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:593,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:584,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:605,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:614,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:621,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:627,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:628,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:632,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:640,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:553,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:556,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:561,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:562,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:594,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:586,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:606,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:615,1
    - Dst: QUERY_CHECK_CONDITION
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:617,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:619,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 2
    argNames:
    - pDeCoder
    - pInfo
    argTypes:
    - SDecoder*
    - SUpdateInfo*
    constantsTouched: []
    func_position:
      end: 643
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 643
    functionName: updateInfoDeserialize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - QUERY_CHECK_CODE
    - tDecodeU64
    - taosMemoryCalloc
    - uError
    - taosArrayInit
    - taosHashInit
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - taosHashPut
    - taosGetDefaultHashFunction
    - tScalableBfDecode
    - QUERY_CHECK_NULL
    - tDecodeBinary
    - QUERY_CHECK_CONDITION
    - taosHashGetSize
    - tstrerror
    - getKeyComparFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateInfoDeserialize(SDecoder* pDeCoder, SUpdateInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:102,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:104,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:107,1
    - Dst: tScalableBfDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pInfo
    - count
    argTypes:
    - SUpdateInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: windowSBfDelete
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tScalableBfDestroy
    - taosArrayRemove
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: 'void windowSBfDelete(SUpdateInfo* pInfo, uint64_t count) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: adjustExpEntries
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:427,1
    - Dst: tScalableBfInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:428,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SUpdateInfo*
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: updateInfoAddCloseWindowSBF
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tScalableBfInit
    - adjustExpEntries
    - uError
    linkageType: ''
    returnType: void
    signature: 'void updateInfoAddCloseWindowSBF(SUpdateInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:115,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - interval
    - precision
    argTypes:
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: adjustInterval
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - convertTimePrecision
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t adjustInterval(int64_t interval, int32_t precision) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tScalableBfDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SUpdateInfo*
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: updateInfoDestoryColseWinSBF
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - tScalableBfDestroy
    linkageType: ''
    returnType: void
    signature: 'void updateInfoDestoryColseWinSBF(SUpdateInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:52,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - ts
    - tbUid
    - pVal
    - len
    - buff
    argTypes:
    - TSKEY
    - int64_t
    - void*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: getKeyBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getKeyBuff(TSKEY ts, int64_t tbUid, void* pVal, int32_t len,
      char* buff) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: adjustExpEntries
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:76,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:80,1
    - Dst: tScalableBfInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:78,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:79,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:83,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:89,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pInfo
    - count
    argTypes:
    - SUpdateInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: windowSBfAdd
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tScalableBfInit
    - adjustExpEntries
    - tstrerror
    - uError
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t windowSBfAdd(SUpdateInfo* pInfo, uint64_t count) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: windowSBfAdd
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:173,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:194,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:206,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:180,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:215,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:171,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:174,1
    - Dst: adjustWatermark
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:159,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:153,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:176,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:188,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:195,1
    - Dst: updateInfoDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:185,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:208,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:224,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:150,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:167,1
    - Dst: adjustInterval
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:158,1
    - Dst: updateInfoDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:169,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:203,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:198,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:211,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 83
    argCount: 7
    argNames:
    - interval
    - precision
    - watermark
    - igUp
    - pkType
    - pkLen
    - ppInfo
    argTypes:
    - int64_t
    - int32_t
    - int64_t
    - bool
    - int8_t
    - int32_t
    - SUpdateInfo**
    constantsTouched: []
    func_position:
      end: 227
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 227
    functionName: updateInfoInit
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - windowSBfAdd
    - taosMemoryCalloc
    - tstrerror
    - adjustInterval
    - taosArrayPush
    - uError
    - getKeyComparFunc
    - updateInfoDestroy
    - taosGetDefaultHashFunction
    - adjustWatermark
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateInfoInit(int64_t interval, int32_t precision, int64_t
      watermark, bool igUp, int8_t pkType, int32_t pkLen, SUpdateInfo** ppInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:270,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - tbUid
    argTypes:
    - SUpdateInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: updateInfoIsTableInserted
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - taosHashGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool updateInfoIsTableInserted(SUpdateInfo* pInfo, int64_t tbUid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - ts
    - pVal
    - len
    - buff
    argTypes:
    - TSKEY
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: getValueBuff
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getValueBuff(TSKEY ts, char* pVal, int32_t len, char*
      buff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tScalableBfDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: clearItemHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - tScalableBfDestroy
    linkageType: ''
    returnType: void
    signature: 'static void clearItemHelper(void* p) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: windowSBfDelete
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:242,1
    - Dst: windowSBfAdd
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:243,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:244,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:248,1
    - Dst: adjustExpEntries
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:250,1
    - Dst: tScalableBfInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:251,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:252,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:254,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:264,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:264,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - pInfo
    - ts
    - ppSBf
    argTypes:
    - SUpdateInfo*
    - TSKEY
    - SScalableBf**
    constantsTouched: []
    func_position:
      end: 267
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 267
    functionName: getSBf
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGetP
    - windowSBfAdd
    - windowSBfDelete
    - tScalableBfInit
    - adjustExpEntries
    - tstrerror
    - uError
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSBf(SUpdateInfo* pInfo, TSKEY ts, SScalableBf**
      ppSBf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:290,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:293,1
    - Dst: getSBf
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:306,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:302,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:301,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:307,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:311,1
    - Dst: colDataGetRowLength
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:312,1
    - Dst: getKeyBuff
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:314,1
    - Dst: tScalableBfPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:317,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:331,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:325,1
    - Dst: getValueBuff
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:323,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:324,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:331,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:321,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - pInfo
    - pBlock
    - primaryTsCol
    - primaryKeyCol
    - pMaxResTs
    argTypes:
    - SUpdateInfo*
    - SSDataBlock*
    - int32_t
    - int32_t
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 334
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 334
    functionName: updateInfoFillBlockData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - tScalableBfPut
    - colDataGetData
    - colDataGetRowLength
    - taosHashGet
    - tstrerror
    - uError
    - getKeyBuff
    - taosHashPut
    - getSBf
    - getValueBuff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateInfoFillBlockData(SUpdateInfo* pInfo, SSDataBlock* pBlock,
      int32_t primaryTsCol, int32_t primaryKeyCol, TSKEY* pMaxResTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:648,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:654,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:655,1
    - Dst: getValueBuff
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:653,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - pInfo
    - tableId
    - ts
    - pPkVal
    - len
    argTypes:
    - SUpdateInfo*
    - uint64_t
    - TSKEY
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 664
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 664
    functionName: isIncrementalTimeStamp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosHashGet
    - tstrerror
    - uError
    - taosHashPut
    - getValueBuff
    linkageType: ''
    returnType: bool
    signature: 'bool isIncrementalTimeStamp(SUpdateInfo* pInfo, uint64_t tableId,
      TSKEY ts, void* pPkVal, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:37,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pTs1
    - pTs2
    - pPkVal
    - cmpPkFn
    argTypes:
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: compareKeyTs
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - compareInt64Val
    linkageType: ''
    returnType: int
    signature: 'int compareKeyTs(void* pTs1, void* pTs2, void* pPkVal, __compar_fn_t
      cmpPkFn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - adjInterval
    - originInt
    - watermark
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: adjustWatermark
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - TMAX
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t adjustWatermark(int64_t adjInterval, int64_t originInt,
      int64_t watermark) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getKeyBuff
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:342,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:350,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:345,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:343,1
    - Dst: tScalableBfPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:349,1
    - Dst: getSBf
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:361,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:362,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:364,1
    - Dst: getValueBuff
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:367,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:368,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:369,1
    - Dst: tScalableBfPut
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:380,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:397,1
    - Dst: uError
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:397,1
    - Dst: tScalableBfPutNoCheck
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:373,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:385,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 5
    argNames:
    - pInfo
    - tableId
    - ts
    - pPkVal
    - len
    argTypes:
    - SUpdateInfo*
    - uint64_t
    - TSKEY
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 401
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 401
    functionName: updateInfoIsUpdated
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tScalableBfPut
    - taosArrayGet
    - taosArraySet
    - taosHashGet
    - taosHashGetSize
    - tstrerror
    - uError
    - tScalableBfPutNoCheck
    - getKeyBuff
    - taosHashPut
    - getSBf
    - getValueBuff
    linkageType: ''
    returnType: bool
    signature: 'bool updateInfoIsUpdated(SUpdateInfo* pInfo, uint64_t tableId, TSKEY
      ts, void* pPkVal, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - entries
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: adjustExpEntries
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t adjustExpEntries(int64_t entries) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:41,1
    - Dst: cmpPkFn
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pValue1
    - pTs
    - pPkVal
    - cmpPkFn
    argTypes:
    - void*
    - void*
    - void*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: compareKeyTsAndPk
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - compareInt64Val
    - cmpPkFn
    linkageType: ''
    returnType: int
    signature: 'int compareKeyTsAndPk(void* pValue1, void* pTs, void* pPkVal, __compar_fn_t
      cmpPkFn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: updateInfoInit
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - pInterval
    - watermark
    - igUp
    - pkType
    - pkLen
    - ppInfo
    argTypes:
    - SInterval*
    - int64_t
    - bool
    - int8_t
    - int32_t
    - SUpdateInfo**
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: updateInfoInitP
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - updateInfoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateInfoInitP(SInterval* pInterval, int64_t watermark, bool
      igUp, int8_t pkType, int32_t pkLen, SUpdateInfo** ppInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:407,1
    - Dst: tScalableBfDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:412,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:409,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:411,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:415,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:416,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:417,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:418,1
    - Dst: updateInfoDestoryColseWinSBF
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:419,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamUpdate.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SUpdateInfo*
    constantsTouched: []
    func_position:
      end: 421
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 421
    functionName: updateInfoDestroy
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamUpdate.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - taosArrayDestroy
    - tScalableBfDestroy
    - updateInfoDestoryColseWinSBF
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void updateInfoDestroy(SUpdateInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:118,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:146,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:133,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:140,1
    - Dst: taosReadQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:131,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:147,1
    - Dst: taosReadAllQitems
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:150,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:151,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:152,1
    - Dst: streamQueueCurItem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - pQueue
    - pItem
    - status
    - id
    argTypes:
    - SStreamQueue*
    - SStreamQueueItem**
    - ETaskStatus
    - char*
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: streamQueueNextItemInSourceQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_exchange_8
    - streamQueueCurItem
    - TAOS_UNUSED
    - taosReadQitem
    - taosReadAllQitems
    - stDebug
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: 'void streamQueueNextItemInSourceQ(SStreamQueue* pQueue, SStreamQueueItem**
      pItem, ETaskStatus status, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:186,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:191,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: streamQueueIsFull
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - SIZE_IN_MiB
    - streamQueueGetNumOfItems
    - taosQueueMemorySize
    linkageType: ''
    returnType: bool
    signature: 'bool streamQueueIsFull(const SStreamQueue* pQueue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:202,1
    - Dst: taosQallUnAccessedItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: streamQueueGetNumOfUnAccessedItems
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosQallUnAccessedItemSize
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueGetNumOfUnAccessedItems(const SStreamQueue* pQueue) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 237
    functionName: streamQueueItemGetTypeStr
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * streamQueueItemGetTypeStr(int32_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:548,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:565,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:557,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pBucket
    - id
    argTypes:
    - STokenBucket*
    - char*
    constantsTouched: []
    func_position:
      end: 574
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 574
    functionName: fillTokenBucket
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - stTrace
    - taosGetTimestampMs
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'static void fillTokenBucket(STokenBucket* pBucket, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:159,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:166,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:160,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: streamQueueProcessSuccess
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - atomic_store_8
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamQueueProcessSuccess(SStreamQueue* queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:195,1
    - Dst: taosQallItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: streamQueueGetNumOfItems
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosQallItemSize
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueGetNumOfItems(const SStreamQueue* pQueue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:209,1
    - Dst: taosQallUnAccessedMemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: streamQueueGetItemSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosQueueMemorySize
    - taosQallUnAccessedMemSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueGetItemSize(const SStreamQueue* pQueue) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskExtractAvailableToken
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:250,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:258,1
    - Dst: streamQueueNextItem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:266,1
    - Dst: streamQueueItemGetTypeStr
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:287,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:321,1
    - Dst: streamQueueMergeQueueItem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:318,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:299,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:290,1
    - Dst: streamQueueGetSourceChkptFailed
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:307,1
    - Dst: streamTaskPutbackToken
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:293,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:251,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:272,1
    - Dst: streamTaskConsumeQuota
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:274,1
    - Dst: streamTaskPutbackToken
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:277,1
    - Dst: streamTaskConsumeQuota
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:302,1
    - Dst: streamQueueProcessSuccess
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:338,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:256,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:300,1
    - Dst: streamQueueProcessFail
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:309,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:341,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:325,1
    - Dst: streamQueueItemGetSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:343,1
    - Dst: streamQueueNextItemInSourceQ
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:264,1
    - Dst: streamTaskConsumeQuota
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:327,1
    - Dst: streamQueueProcessFail
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:330,1
    - Dst: streamTaskConsumeQuota
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:345,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:322,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 96
    argCount: 4
    argNames:
    - pTask
    - pInput
    - numOfBlocks
    - blockSize
    argTypes:
    - SStreamTask*
    - SStreamQueueItem**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 352
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 352
    functionName: streamTaskGetDataFromInputQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - streamQueueProcessFail
    - streamTaskGetStatus
    - streamQueueItemGetTypeStr
    - streamTaskExtractAvailableToken
    - streamQueueNextItemInSourceQ
    - streamTaskPutbackToken
    - streamTaskConsumeQuota
    - tstrerror
    - streamQueueMergeQueueItem
    - streamQueueProcessSuccess
    - stDebug
    - streamQueueGetSourceChkptFailed
    - stError
    - streamQueueNextItem
    - streamQueueItemGetSize
    linkageType: ''
    returnType: EExtractDataCode
    signature: 'EExtractDataCode streamTaskGetDataFromInputQ(SStreamTask* pTask, SStreamQueueItem**
      pInput, int32_t* numOfBlocks, int32_t* blockSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fillTokenBucket
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pBucket
    - id
    argTypes:
    - STokenBucket*
    - char*
    constantsTouched: []
    func_position:
      end: 589
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: streamTaskExtractAvailableToken
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - fillTokenBucket
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskExtractAvailableToken(STokenBucket* pBucket, const
      char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 598
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 598
    functionName: streamTaskInputFail
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    linkageType: ''
    returnType: void
    signature: 'void streamTaskInputFail(SStreamTask* pTask) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: streamDataSubmitDestroy
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:367,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:389,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:395,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:401,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:409,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:417,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:423,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:435,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:446,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:358,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:363,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:374,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:380,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:387,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:397,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:383,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:411,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:424,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:429,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:436,1
    - Dst: stTrace
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:364,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:362,1
    - Dst: streamDataSubmitDestroy
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:376,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:384,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:391,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:401,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:402,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:414,1
    - Dst: streamQueueItemGetTypeStr
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:415,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:423,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:444,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:363,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:380,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:386,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:387,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:411,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:412,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:419,1
    - Dst: streamQueueItemGetTypeStr
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:425,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:431,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:438,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:435,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 2
    argNames:
    - pTask
    - pItem
    argTypes:
    - SStreamTask*
    - SStreamQueueItem*
    constantsTouched: []
    func_position:
      end: 451
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 451
    functionName: streamTaskPutDataIntoInputQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - streamQueueIsFull
    - streamQueueItemGetTypeStr
    - taosWriteQitem
    - taosQueueItemSize
    - streamQueueGetNumOfItems
    - stTrace
    - SIZE_IN_MiB
    - stError
    - streamFreeQitem
    - atomic_val_compare_exchange_8
    - stDebug
    - taosQueueMemorySize
    - streamDataSubmitDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskPutDataIntoInputQ(SStreamTask* pTask, SStreamQueueItem*
      pItem) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:458,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:481,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:487,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:475,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:463,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:488,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:497,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:498,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 500
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 500
    functionName: streamTaskPutTranstateIntoInputQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosMemoryFree
    - streamTaskPutDataIntoInputQ
    - taosMemoryCalloc
    - taosArrayPush
    - taosArrayInit
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskPutTranstateIntoInputQ(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:170,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:171,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:171,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - queue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: streamQueueProcessFail
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - atomic_store_8
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamQueueProcessFail(SStreamQueue* queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - SStreamQueueItem*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: streamQueueItemGetSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueItemGetSize(const SStreamQueueItem* pItem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:505,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:510,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:508,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:507,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:508,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:511,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:513,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:514,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pTask
    - pBlock
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 524
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 524
    functionName: streamTaskPutDataIntoOutputQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - streamQueueIsFull
    - taosQueueMemorySize
    - taosWriteQitem
    - streamQueueGetNumOfItems
    - SIZE_IN_MiB
    - tstrerror
    - stDebug
    - stError
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskPutDataIntoOutputQ(SStreamTask* pTask, SStreamDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:178,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:179,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:179,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 183
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 183
    functionName: streamQueueGetSourceChkptFailed
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - atomic_store_8
    - stError
    linkageType: ''
    returnType: void
    signature: 'void streamQueueGetSourceChkptFailed(SStreamQueue* pQueue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pItem
    - size
    argTypes:
    - SStreamQueueItem*
    - int32_t
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 220
    functionName: streamQueueItemIncSize
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void streamQueueItemIncSize(const SStreamQueueItem* pItem, int32_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:529,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:543,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:541,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - pBucket
    - numCap
    - numRate
    - quotaRate
    - id
    argTypes:
    - STokenBucket*
    - int32_t
    - int32_t
    - float
    - char*
    constantsTouched: []
    func_position:
      end: 545
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 545
    functionName: streamTaskInitTokenBucket
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - stError
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskInitTokenBucket(STokenBucket* pBucket, int32_t numCap,
      int32_t numRate, float quotaRate, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamQueueNextItemInSourceQ
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:39,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:43,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - SStreamQueue*
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: streamQueueCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - streamFreeQitem
    - streamQueueNextItemInSourceQ
    linkageType: ''
    returnType: void
    signature: 'static void streamQueueCleanup(SStreamQueue* pQueue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:83,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:84,1
    - Dst: streamQueueCleanup
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:85,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:88,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:87,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pQueue
    - taskId
    argTypes:
    - SStreamQueue*
    - int32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: streamQueueClose
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosCloseQueue
    - streamQueueCleanup
    - taosMemoryFree
    - taosQueueItemSize
    - taosFreeQall
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamQueueClose(SStreamQueue* pQueue, int32_t taskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pBucket
    - bytes
    argTypes:
    - STokenBucket*
    - int32_t
    constantsTouched: []
    func_position:
      end: 596
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 596
    functionName: streamTaskConsumeQuota
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - SIZE_IN_MiB
    linkageType: ''
    returnType: void
    signature: 'void streamTaskConsumeQuota(STokenBucket* pBucket, int32_t bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:99,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:109,1
    - Dst: streamQueueCurItem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:102,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:105,1
    - Dst: taosReadAllQitems
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:108,1
    - Dst: streamQueueCurItem
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pQueue
    - pItem
    argTypes:
    - SStreamQueue*
    - SStreamQueueItem**
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: streamQueueNextItem
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - atomic_exchange_8
    - taosGetQitem
    - taosReadAllQitems
    - streamQueueCurItem
    linkageType: ''
    returnType: void
    signature: 'void streamQueueNextItem(SStreamQueue* pQueue, SStreamQueueItem**
      pItem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:54,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:63,1
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:62,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:60,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:59,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:65,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:66,1
    - Dst: taosSetQueueCapacity
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:70,1
    - Dst: taosSetQueueMemoryCapacity
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:71,1
    - Dst: streamQueueClose
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:77,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cap
    - pQ
    argTypes:
    - int64_t
    - SStreamQueue**
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: streamQueueOpen
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - taosSetQueueCapacity
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - taosAllocateQall
    - taosSetQueueMemoryCapacity
    - tstrerror
    - taosOpenQueue
    - streamQueueClose
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamQueueOpen(int64_t cap, SStreamQueue** pQ) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/stream/src/streamQueue.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pBucket
    argTypes:
    - STokenBucket*
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: streamTaskPutbackToken
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamQueue.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'void streamTaskPutbackToken(STokenBucket* pBucket) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:454,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:468,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:469,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:456,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:478,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:480,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:480,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:485,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 9
    argNames:
    - pInfo
    - numOfDownstream
    - downstreamNodeId
    - streamId
    - downstreamTaskId
    - id
    - pNotReady
    - pTransId
    - alreadyRecv
    argTypes:
    - SActiveCheckpointInfo*
    - int32_t
    - int32_t
    - int64_t
    - int32_t
    - char*
    - int32_t*
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 488
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 488
    functionName: processCheckpointReadyHelp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - tstrerror
    - taosArrayPush
    - stDebug
    - taosArrayGetSize
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processCheckpointReadyHelp(SActiveCheckpointInfo* pInfo,
      int32_t numOfDownstream, int32_t downstreamNodeId, int64_t streamId, int32_t
      downstreamTaskId, const char* id, int32_t* pNotReady, int32_t* pTransId, bool*
      alreadyRecv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:823,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:828,1
    - Dst: streamTaskSetFailedCheckpointId
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:826,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: streamTaskSetCheckpointFailed
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamTaskGetStatus
    - streamTaskSetFailedCheckpointId
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetCheckpointFailed(SStreamTask* pTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1359,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1368,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1362,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1370,1
    - Dst: isAlreadySendTriggerNoLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1369,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pTask
    - downstreamNodeId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1373
      start: 1358
    functionDepth: 0
    functionLinenumber: 1358
    functionLinenumberEnd: 1373
    functionName: streamTaskAlreadySendTrigger
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamMutexLock
    - isAlreadySendTriggerNoLock
    - streamMutexUnlock
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskAlreadySendTrigger(SStreamTask* pTask, int32_t downstreamNodeId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1459,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1467,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1464,1
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1461,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1466,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1474,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1480,1
    - Dst: streamTaskGetNumOfConfirmed
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1487,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1488,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1491,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1494,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - pTask
    - vgId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1498
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1498
    functionName: streamTaskSetTriggerDispatchConfirmed
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamMutexLock
    - streamTaskGetNumOfConfirmed
    - stError
    - stDebug
    - taosArrayGetSize
    - streamMutexUnlock
    - stWarn
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetTriggerDispatchConfirmed(SStreamTask* pTask, int32_t
      vgId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:833,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:835,1
    - Dst: downloadCheckpointDataByName
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:846,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:842,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:849,1
    - Dst: remoteChkpGetDelFile
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:853,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:855,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:856,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - id
    - path
    - list
    argTypes:
    - char*
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 859
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 859
    functionName: getCheckpointDataMeta
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - strlen
    - downloadCheckpointDataByName
    - stError
    - remoteChkpGetDelFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCheckpointDataMeta(const char* id, const char* path,
      SArray* list) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1376,1
    - Dst: streamTaskGetNumOfUpstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1381,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pTask
    - pRecved
    - pTotal
    argTypes:
    - SStreamTask*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1383
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1383
    functionName: streamTaskGetTriggerRecvStatus
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - streamTaskGetNumOfUpstream
    linkageType: ''
    returnType: void
    signature: 'void streamTaskGetTriggerRecvStatus(SStreamTask* pTask, int32_t* pRecved,
      int32_t* pTotal) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1508,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1515,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1514,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1516,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1516,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1516,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1519,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1520,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1526,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1534,1
    - Dst: tcsPutObjectFromFile2
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1540,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1548,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1544,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1542,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1542,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 2
    argNames:
    - id
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1554
    functionName: uploadCheckpointToS3
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcmp
    - taosReadDir
    - taosDirEntryIsDir
    - tstrerror
    - strlen
    - taosCloseDir
    - taosOpenDir
    - stDebug
    - tcsPutObjectFromFile2
    - stError
    - taosGetDirEntryName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uploadCheckpointToS3(const char* id, const char* path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1705,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1706,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1710,1
    - Dst: streamTaskSendCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1708,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1713
    functionName: streamTaskSendCheckpointsourceRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamTaskGetStatus
    - streamTaskSendCheckpointSourceRsp
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckpointsourceRsp(SStreamTask* pTask) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:332,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:343,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:353,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:382,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:360,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:400,1
    - Dst: chkptFailedByRetrieveReqToSource
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:405,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:410,1
    - Dst: continueDispatchCheckpointTriggerBlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:411,1
    - Dst: appendCheckpointIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:414,1
    - Dst: streamTaskBuildCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:432,1
    - Dst: continueDispatchCheckpointTriggerBlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:324,1
    - Dst: doCheckBeforeHandleChkptTrigger
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:333,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:348,1
    - Dst: flushStateDataInExecutor
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:398,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:434,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:415,1
    - Dst: flushStateDataInExecutor
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:435,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:334,1
    - Dst: streamTaskOpenUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:337,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:372,1
    - Dst: streamTaskAllocRefId
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:375,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:377,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:387,1
    - Dst: streamAddCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:420,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:424,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:430,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:339,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:357,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:370,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:359,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:431,1
    - Dst: streamTaskGetNumOfUpstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:428,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 93
    argCount: 2
    argNames:
    - pTask
    - pBlock
    argTypes:
    - SStreamTask*
    - SStreamDataBlock*
    constantsTouched: []
    func_position:
      end: 447
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 447
    functionName: streamProcessCheckpointTriggerBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - flushStateDataInExecutor
    - streamMutexLock
    - stError
    - streamMutexUnlock
    - taosGetTimestampMs
    - continueDispatchCheckpointTriggerBlock
    - doCheckBeforeHandleChkptTrigger
    - streamTaskOpenUpstreamInput
    - atomic_val_compare_exchange_8
    - taosArrayGet
    - streamAddCheckpointReadyMsg
    - streamTmrStart
    - streamTaskHandleEvent
    - streamTaskAllocRefId
    - streamTaskGetNumOfUpstream
    - stDebug
    - appendCheckpointIntoInputQ
    - taosMsleep
    - chkptFailedByRetrieveReqToSource
    - streamTaskGetStatus
    - tstrerror
    - streamFreeQitem
    - streamTaskBuildCheckpoint
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessCheckpointTriggerBlock(SStreamTask* pTask, SStreamDataBlock*
      pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1610,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1615,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1610,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1611,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1610,1
    - Dst: downloadCheckpointByNameS3
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1618,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - id
    - fname
    - dstName
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1622
    functionName: downloadCheckpointDataByName
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - downloadCheckpointByNameS3
    - strlen
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t downloadCheckpointDataByName(const char* id, const char* fname,
      const char* dstName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:132,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:136,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:131,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:137,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:138,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:141,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:145,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:147,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:150,1
    - Dst: appendCheckpointIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pTask
    - pRsp
    argTypes:
    - SStreamTask*
    - SCheckpointTriggerRsp*
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: streamTaskProcessCheckpointTriggerRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamMutexLock
    - tstrerror
    - stDebug
    - appendCheckpointIntoInputQ
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskProcessCheckpointTriggerRsp(SStreamTask* pTask,
      SCheckpointTriggerRsp* pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskOpenAllUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:584,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:591,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:586,1
    - Dst: streamClearChkptReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:589,1
    - Dst: streamTaskClearActiveInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:587,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pTask
    - clearChkpReadyMsg
    argTypes:
    - SStreamTask*
    - bool
    constantsTouched: []
    func_position:
      end: 595
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 595
    functionName: streamTaskClearCheckInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamClearChkptReadyMsg
    - streamTaskClearActiveInfo
    - streamTaskOpenAllUpstreamInput
    - streamMutexLock
    - stDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void streamTaskClearCheckInfo(SStreamTask* pTask, bool clearChkpReadyMsg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taskDbGenChkpUploadData
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:876,1
    - Dst: streamTaskUploadCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:889,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:900,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:911,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:915,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:919,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:867,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:872,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:871,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:878,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:878,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:883,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:884,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:891,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:903,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:914,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:869,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:894,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:906,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:898,1
    - Dst: taosGetDirSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:918,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:923,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:924,1
    - Dst: getCheckpointDataMeta
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:882,1
    - Dst: deleteCheckpointRemoteBackup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:904,1
    - Dst: SIZE_IN_KiB
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:921,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 61
    argCount: 5
    argNames:
    - pTask
    - checkpointId
    - dbRefId
    - type
    - chkptDir
    argTypes:
    - SStreamTask*
    - int64_t
    - int64_t
    - ECHECKPOINT_BACKUP_TYPE
    - char**
    constantsTouched: []
    func_position:
      end: 928
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 928
    functionName: uploadCheckpointData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosGetTimestampMs
    - deleteCheckpointRemoteBackup
    - taskDbGenChkpUploadData
    - taosArrayDestroyP
    - SIZE_IN_KiB
    - streamTaskUploadCheckpoint
    - tstrerror
    - getCheckpointDataMeta
    - stDebug
    - taosGetDirSize
    - taosArrayGetSize
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uploadCheckpointData(SStreamTask* pTask, int64_t checkpointId,
      int64_t dbRefId, ECHECKPOINT_BACKUP_TYPE type, char** chkptDir) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1094,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1096,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1096,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1101,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1105,1
    - Dst: streamTaskOpenUpstreamInput
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1117,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1118,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1120,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1121,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 3
    argNames:
    - pTask
    - pList
    - ppNotSendList
    argTypes:
    - SStreamTask*
    - SArray*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1129
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1129
    functionName: doFindNotSendUpstream
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosArrayDestroy
    - streamTaskOpenUpstreamInput
    - tstrerror
    - taosArrayPush
    - stDebug
    - taosArrayGetSize
    - stError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFindNotSendUpstream(SStreamTask* pTask, SArray* pList,
      SArray** ppNotSendList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pTask
    - pList
    argTypes:
    - SStreamTask*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1163
    functionName: doCleanup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamMetaReleaseTask
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void doCleanup(SStreamTask* pTask, SArray* pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1656,1
    - Dst: tcsDeleteObjects
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - id
    - name
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1667
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1667
    functionName: deleteCheckpointRemoteBackup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - tcsDeleteObjects
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteCheckpointRemoteBackup(const char* id, const char* name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:33,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:47,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:42,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:59,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:61,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:62,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:66,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:69,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:70,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:76,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 6
    argNames:
    - pTask
    - checkpointType
    - checkpointId
    - transId
    - srcTaskId
    - pRes
    argTypes:
    - SStreamTask*
    - int32_t
    - int64_t
    - int32_t
    - int32_t
    - SStreamDataBlock**
    constantsTouched: []
    func_position:
      end: 78
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 78
    functionName: createChkptTriggerBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayPush
    - stDebug
    - taosArrayInit
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createChkptTriggerBlock(SStreamTask* pTask, int32_t checkpointType,
      int64_t checkpointId, int32_t transId, int32_t srcTaskId, SStreamDataBlock**
      pRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:180,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:188,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:182,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:182,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:192,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:193,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:195,1
    - Dst: tEncodeCheckpointTriggerRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:196,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:197,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:198,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:199,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:199,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 5
    argNames:
    - pTask
    - dstTaskId
    - downstreamNodeId
    - pRpcInfo
    - code
    argTypes:
    - SStreamTask*
    - int32_t
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 208
    functionName: streamTaskSendCheckpointTriggerMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - tEncodeCheckpointTriggerRsp
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendCheckpointTriggerMsg(SStreamTask* pTask, int32_t
      dstTaskId, int32_t downstreamNodeId, SRpcHandleInfo* pRpcInfo, int32_t code) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streamGetCheckpointBackupType
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:932,1
    - Dst: taskAcquireDb
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:944,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:935,1
    - Dst: taskGetDBRef
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:943,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:946,1
    - Dst: uploadCheckpointData
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:951,1
    - Dst: taskGetDBRef
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:951,1
    - Dst: taskReleaseDb
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:952,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:955,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:956,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:967,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:959,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:966,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:973,1
    - Dst: deleteRemoteCheckpointBackup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:968,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:965,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - pTask
    - checkpointId
    - pList
    argTypes:
    - SStreamTask*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 975
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 975
    functionName: streamTaskRemoteBackupCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taskGetDBRef
    - taskAcquireDb
    - streamGetCheckpointBackupType
    - taosArrayGetSize
    - strlen
    - deleteRemoteCheckpointBackup
    - stDebug
    - taosRemoveDir
    - taskReleaseDb
    - uploadCheckpointData
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskRemoteBackupCheckpoint(SStreamTask* pTask, int64_t
      checkpointId, SArray* pList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doChkptStatusCheck
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1138,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1146,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1145,1
    - Dst: doFindNotSendUpstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1143,1
    - Dst: doSendRetrieveTriggerMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1151,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1153,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1153,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - pTask
    - param
    - ppNotSendList
    argTypes:
    - SStreamTask*
    - void*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1158
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1158
    functionName: chkptTriggerRecvMonitorHelper
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamCleanBeforeQuitTmr
    - tstrerror
    - doChkptStatusCheck
    - stDebug
    - doSendRetrieveTriggerMsg
    - stError
    - doFindNotSendUpstream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t chkptTriggerRecvMonitorHelper(SStreamTask* pTask, void* param,
      SArray** ppNotSendList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1172,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1187,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1195,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1201,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1203,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1210,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1222,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1234,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1188,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1196,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1216,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1227,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1235,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1238,1
    - Dst: streamTaskFreeRefId
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1175,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1193,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1194,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1212,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1211,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1208,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1218,1
    - Dst: chkptTriggerRecvMonitorHelper
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1223,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1239,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1170,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1186,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1174,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1215,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1224,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1232,1
    - Dst: doCleanup
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1242,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1243
    functionName: checkpointTriggerMonitorFn
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamCleanBeforeQuitTmr
    - streamTaskShouldStop
    - streamTmrStart
    - streamMutexLock
    - chkptTriggerRecvMonitorHelper
    - streamTaskFreeRefId
    - streamMutexUnlock
    - doCleanup
    - taosArrayGetSize
    - stError
    - stDebug
    - taosAcquireRef
    linkageType: ''
    returnType: void
    signature: 'void checkpointTriggerMonitorFn(void* param, void* tmrId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1670,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1671,1
    - Dst: streamTaskSetReqConsenChkptId
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1672,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1672,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1673,1
    - Dst: qKillTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1680,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1682,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1686,1
    - Dst: streamFreeTaskState
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1697
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1697
    functionName: streamTaskSendNegotiateChkptIdMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - streamMutexLock
    - streamTaskSetReqConsenChkptId
    - tstrerror
    - qKillTask
    - qDestroyTask
    - stError
    - streamFreeTaskState
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSendNegotiateChkptIdMsg(SStreamTask* pTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createChkptTriggerBlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:85,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:94,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - pTask
    - checkpointType
    - checkpointId
    - transId
    - srcTaskId
    argTypes:
    - SStreamTask*
    - int32_t
    - int64_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 95
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 95
    functionName: appendCheckpointIntoInputQ
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamTaskPutDataIntoInputQ
    - createChkptTriggerBlock
    - streamTrySchedExec
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendCheckpointIntoInputQ(SStreamTask* pTask, int32_t checkpointType,
      int64_t checkpointId, int32_t transId, int32_t srcTaskId) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: doUpdateCheckpointInfoCheck
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:706,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:739,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:744,1
    - Dst: streamMetaUnregisterTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:756,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:774,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:776,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:705,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:713,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:722,1
    - Dst: streamTaskClearCheckInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:726,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:740,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:758,1
    - Dst: streamFreeTaskState
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:780,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:799,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:709,1
    - Dst: CLEAR_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:732,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:749,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:757,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:748,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:764,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:769,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:793,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:794,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:730,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:734,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:740,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:745,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:766,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:785,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:791,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 3
    argNames:
    - pTask
    - restored
    - pReq
    argTypes:
    - SStreamTask*
    - bool
    - SVUpdateCheckpointInfoReq*
    constantsTouched: []
    func_position:
      end: 801
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 801
    functionName: streamTaskUpdateTaskCheckpointInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - stError
    - streamFreeTaskState
    - streamMutexUnlock
    - streamMetaSaveTaskInMeta
    - streamTaskHandleEvent
    - streamMetaUnregisterTask
    - stDebug
    - stInfo
    - streamTaskGetStatus
    - streamMetaGetNumOfTasks
    - streamMetaCommit
    - CLEAR_RELATED_FILLHISTORY_TASK
    - tstrerror
    - streamTaskGetStatusStr
    - streamTaskClearCheckInfo
    - streamMetaAcquireTaskUnsafe
    - qDestroyTask
    - streamMetaReleaseTask
    - doUpdateCheckpointInfoCheck
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskUpdateTaskCheckpointInfo(SStreamTask* pTask, bool
      restored, SVUpdateCheckpointInfoReq* pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:986,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:986,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:992,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1041,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:990,1
    - Dst: streamTaskGetPrevStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:991,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:996,1
    - Dst: streamBackendDoCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:999,1
    - Dst: streamSendChkptReportMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1037,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1046,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1054,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1050,1
    - Dst: streamTaskSendCheckpointSourceRsp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1012,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1020,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1027,1
    - Dst: streamTaskSendCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1014,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1027,1
    - Dst: streamTaskSetFailedCheckpointId
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1042,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1043,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:983,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1001,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1001,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1004,1
    - Dst: streamTaskRemoteBackupCheckpoint
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1025,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1005,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1030,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1030,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1045,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1049,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 1056
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 1056
    functionName: streamTaskBuildCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamTaskSendCheckpointReadyMsg
    - taosGetTimestampMs
    - taosArrayDestroy
    - streamMutexLock
    - streamTaskSetFailedCheckpointId
    - streamTaskHandleEvent
    - tstrerror
    - stError
    - streamBackendDoCheckpoint
    - streamSendChkptReportMsg
    - stInfo
    - stDebug
    - streamTaskRemoteBackupCheckpoint
    - streamTaskGetPrevStatus
    - streamTaskSendCheckpointSourceRsp
    - taosArrayInit
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskBuildCheckpoint(SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1558,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1560,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1565,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1567,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1558,1
    - Dst: tcsGetObjectToFile
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1570,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1572,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1573,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - id
    - fname
    - dstName
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1577
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1577
    functionName: downloadCheckpointByNameS3
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - tcsGetObjectToFile
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t downloadCheckpointByNameS3(const char* id, const char* fname,
      const char* dstName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1625,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1625,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1630,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1626,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1625,1
    - Dst: downloadByRsync
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1631,1
    - Dst: tcsGetObjectsByPrefix
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1633,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - id
    - path
    - checkpointId
    argTypes:
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1637
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1637
    functionName: streamTaskDownloadCheckpointData
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - strlen
    - tcsGetObjectsByPrefix
    - stError
    - downloadByRsync
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskDownloadCheckpointData(const char* id, char* path,
      int64_t checkpointId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:104,1
    - Dst: appendCheckpointIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:117,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:112,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pTask
    - pReq
    argTypes:
    - SStreamTask*
    - SStreamCheckpointSourceReq*
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: streamProcessCheckpointSourceReq
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - appendCheckpointIntoInputQ
    - stError
    - streamTaskHandleEvent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessCheckpointSourceReq(SStreamTask* pTask, SStreamCheckpointSourceReq*
      pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:807,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:812,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:814,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pTask
    - failedId
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 820
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 820
    functionName: streamTaskSetFailedCheckpointId
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - stWarn
    - stDebug
    linkageType: ''
    returnType: void
    signature: 'void streamTaskSetFailedCheckpointId(SStreamTask* pTask, int64_t failedId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1066,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1067,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1073,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1072,1
    - Dst: streamCleanBeforeQuitTmr
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1081,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1082,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pTask
    - param
    argTypes:
    - SStreamTask*
    - void*
    constantsTouched: []
    func_position:
      end: 1088
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1088
    functionName: doChkptStatusCheck
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamCleanBeforeQuitTmr
    - stWarn
    - stDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doChkptStatusCheck(SStreamTask* pTask, void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1640,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1645,1
    - Dst: deleteRsync
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1646,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1641,1
    - Dst: tcsDeleteObjectsByPrefix
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1648,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTaskId
    - checkpointId
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1651
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1651
    functionName: deleteRemoteCheckpointBackup
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - strlen
    - tcsDeleteObjectsByPrefix
    - deleteRsync
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteRemoteCheckpointBackup(const char* pTaskId, int64_t
      checkpointId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:611,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:631,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:621,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:632,1
    - Dst: streamMetaUnregisterTask
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:629,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:637,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:647,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:650,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:657,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:662,1
    - Dst: stFatal
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:679,1
    - Dst: stInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:687,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 4
    argNames:
    - pTask
    - restored
    - pReq
    - pContinue
    argTypes:
    - SStreamTask*
    - bool
    - SVUpdateCheckpointInfoReq*
    - bool*
    constantsTouched: []
    func_position:
      end: 695
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 695
    functionName: doUpdateCheckpointInfoCheck
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamMetaCommit
    - streamMetaGetNumOfTasks
    - stFatal
    - streamMetaUnregisterTask
    - stDebug
    - stInfo
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doUpdateCheckpointInfoCheck(SStreamTask* pTask, bool
      restored, SVUpdateCheckpointInfoReq* pReq, bool* pContinue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:223,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:223,1
    - Dst: streamDispatchStreamBlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:221,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:219,1
    - Dst: streamFreeQitem
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - pTask
    argTypes:
    - SStreamDataBlock*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: continueDispatchCheckpointTriggerBlock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - tstrerror
    - stError
    - streamFreeQitem
    - streamDispatchStreamBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t continueDispatchCheckpointTriggerBlock(SStreamDataBlock* pBlock,
      SStreamTask* pTask) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:499,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:508,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:514,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:520,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:506,1
    - Dst: processCheckpointReadyHelp
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:521,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:523,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:526,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:530,1
    - Dst: appendCheckpointIntoInputQ
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:531,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - pTask
    - checkpointId
    - downstreamNodeId
    - downstreamTaskId
    argTypes:
    - SStreamTask*
    - int64_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 536
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 536
    functionName: streamProcessCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamMutexLock
    - streamMutexUnlock
    - processCheckpointReadyHelp
    - stDebug
    - appendCheckpointIntoInputQ
    - stError
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamProcessCheckpointReadyMsg(SStreamTask* pTask, int64_t
      checkpointId, int32_t downstreamNodeId, int32_t downstreamTaskId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1254,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1280,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1282,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1298,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1262,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1285,1
    - Dst: tEncodeRetrieveChkptTriggerReq
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1295,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1298,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1297,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1301,1
    - Dst: initRpcMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1303,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1305,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1307,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1249,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1258,1
    - Dst: streamTaskGetNumOfUpstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1250,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1282,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1291,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1294,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1296,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1292,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - pTask
    - pNotSendList
    argTypes:
    - SStreamTask*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1316
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1316
    functionName: doSendRetrieveTriggerMsg
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosArrayGet
    - tEncoderInit
    - initRpcMsg
    - tmsgSendReq
    - tstrerror
    - rpcFreeCont
    - streamTaskGetNumOfUpstream
    - POINTER_SHIFT
    - tEncodeSize
    - stDebug
    - tEncodeRetrieveChkptTriggerReq
    - taosArrayGetSize
    - stError
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSendRetrieveTriggerMsg(SStreamTask* pTask, SArray* pNotSendList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1389,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1407,1
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1406,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1401,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1413,1
    - Dst: streamTaskGetNumOfDownstream
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1421,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1427,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1436,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - pTask
    - sendingChkptId
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1439
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1439
    functionName: streamTaskInitTriggerDispatchInfo
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamMutexLock
    - taosArrayPush
    - streamMutexUnlock
    - streamTaskGetNumOfDownstream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskInitTriggerDispatchInfo(SStreamTask* pTask, int64_t
      sendingChkptId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1587
    functionName: streamGetCheckpointBackupType
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: ECHECKPOINT_BACKUP_TYPE
    signature: 'ECHECKPOINT_BACKUP_TYPE streamGetCheckpointBackupType() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1591,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1591,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1591,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1592,1
    - Dst: uploadByRsync
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1597,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1599,1
    - Dst: uploadCheckpointToS3
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1602,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - id
    - path
    - checkpointId
    argTypes:
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1606
      start: 1589
    functionDepth: 0
    functionLinenumber: 1589
    functionLinenumberEnd: 1606
    functionName: streamTaskUploadCheckpoint
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - uploadByRsync
    - strlen
    - uploadCheckpointToS3
    - stError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskUploadCheckpoint(const char* id, const char* path,
      int64_t checkpointId) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:239,1
    - Dst: initCheckpointReadyMsg
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:261,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:263,1
    - Dst: streamTaskGetUpstreamTaskEpInfo
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:256,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:246,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:265,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:270,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:278,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:280,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:296,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:302,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:295,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - pTask
    - checkpointId
    - pBlock
    - transId
    argTypes:
    - SStreamTask*
    - int64_t
    - SStreamDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 313
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 313
    functionName: doCheckBeforeHandleChkptTrigger
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - initCheckpointReadyMsg
    - streamTaskGetStatus
    - taosArrayGet
    - tmsgSendReq
    - tstrerror
    - streamTaskGetUpstreamTaskEpInfo
    - stDebug
    - taosArrayGetSize
    - stError
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCheckBeforeHandleChkptTrigger(SStreamTask* pTask, int64_t
      checkpointId, SStreamDataBlock* pBlock, int32_t transId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:544,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:545,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:547,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:543,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:554,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:561,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:563,1
    - Dst: stDebug
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:573,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:576,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - pTask
    - upstreamTaskId
    - checkpointId
    argTypes:
    - SStreamTask*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 578
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 578
    functionName: streamTaskProcessCheckpointReadyRsp
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - streamMutexLock
    - stDebug
    - taosArrayGetSize
    - stError
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskProcessCheckpointReadyRsp(SStreamTask* pTask, int32_t
      upstreamTaskId, int64_t checkpointId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1319,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1330,1
    - Dst: stError
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1332,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1322,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1343,1
    - Dst: stWarn
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pTask
    - downstreamNodeId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1356
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1356
    functionName: isAlreadySendTriggerNoLock
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - streamTaskGetStatus
    - taosArrayGet
    - taosArrayGetSize
    - stError
    - stWarn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isAlreadySendTriggerNoLock(SStreamTask* pTask, int32_t
      downstreamNodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1443,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/stream/src/streamCheckpoint.c:1444,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SActiveCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1441
    functionDepth: 0
    functionLinenumber: 1441
    functionLinenumberEnd: 1454
    functionName: streamTaskGetNumOfConfirmed
    functionSourceFile: /src/tdengine/source/libs/stream/src/streamCheckpoint.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskGetNumOfConfirmed(SActiveCheckpointInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PlannerTestBase
      Src: /src/tdengine/source/libs/planner/test/planTestUtil.h:29,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 41
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 41
    functionName: PlannerTestBase
    functionSourceFile: /src/tdengine/source/libs/planner/test/planTestUtil.h
    functionUses: []
    functionsReached:
    - PlannerTestBase
    linkageType: ''
    returnType: class
    signature: 'class PlannerTestBase : public testing::Test '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: getUsageErrFormat
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char * getUsageErrFormat(int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pSort
    - requirement
    argTypes:
    - SSortLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: adjustSortDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustSortDataRequirement(SSortLogicNode* pSort, EDataOrderLevel
      requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pIndef
    - requirement
    argTypes:
    - SIndefRowsFuncLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: adjustIndefRowsDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustIndefRowsDataRequirement(SIndefRowsFuncLogicNode*
      pIndef, EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pForecast
    - requirement
    argTypes:
    - SForecastFuncLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 347
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: adjustForecastDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustForecastDataRequirement(SForecastFuncLogicNode*
      pForecast, EDataOrderLevel requirement) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:630,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:614,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 4
    argNames:
    - pParent
    - pChild
    - cloneWhat
    - pCloned
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - uint8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 633
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 633
    functionName: cloneLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cloneLimit(SLogicNode* pParent, SLogicNode* pChild, uint8_t
      cloneWhat, bool* pCloned) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 649
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 649
    functionName: keysHasCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'bool keysHasCol(SNodeList* pKeys) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:57,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:73,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:64,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:78,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:60,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:79,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:82,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:84,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:85,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:90,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 30
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 98
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 98
    functionName: doCreateColumn
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodeType
    - tstrncpy
    - nodesCloneNode
    - nodesListStrictAppend
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doCreateColumn(SNode* pNode, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:44,1
    - Dst: getUsageErrFormat
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:45,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:45,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - len
    - errCode
    - '...'
    argTypes:
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: generateUsageErrMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - va_end
    - getUsageErrFormat
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateUsageErrMsg(char* pBuf, int32_t len, int32_t errCode,
      ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:311,1
    - Dst: dataOrderStr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pPart
    - requirement
    argTypes:
    - SPartitionLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: adjustPartitionDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - dataOrderStr
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustPartitionDataRequirement(SPartitionLogicNode*
      pPart, EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInterp
    - requirement
    argTypes:
    - SInterpFuncLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 338
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 338
    functionName: adjustInterpDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustInterpDataRequirement(SInterpFuncLogicNode* pInterp,
      EDataOrderLevel requirement) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:351,1
    - Dst: adjustProjectDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:362,1
    - Dst: adjustAggDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:359,1
    - Dst: adjustJoinDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:356,1
    - Dst: adjustScanDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:353,1
    - Dst: adjustWindowDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:369,1
    - Dst: adjustFillDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:372,1
    - Dst: adjustSortDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:375,1
    - Dst: adjustPartitionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:378,1
    - Dst: adjustIndefRowsDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:381,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:395,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:394,1
    - Dst: adjustForecastDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:387,1
    - Dst: adjustInterpDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:384,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - requirement
    argTypes:
    - SLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 402
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 402
    functionName: adjustLogicNodeDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - adjustInterpDataRequirement
    - adjustForecastDataRequirement
    - adjustFillDataRequirement
    - adjustLogicNodeDataRequirement
    - adjustScanDataRequirement
    - adjustProjectDataRequirement
    - adjustJoinDataRequirement
    - adjustPartitionDataRequirement
    - FOREACH
    - adjustWindowDataRequirement
    - adjustIndefRowsDataRequirement
    - adjustSortDataRequirement
    - adjustAggDataRequirement
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t adjustLogicNodeDataRequirement(SLogicNode* pNode, EDataOrderLevel
      requirement) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 643
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 643
    functionName: partTagsOptHasColImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes partTagsOptHasColImpl(SNode* pNode, void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:653,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:659,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:656,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:657,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:655,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:661,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:667,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:672,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:673,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:674,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - pGroupCol
    argTypes:
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 683
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 683
    functionName: createGroupKeyAggFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - fmGetFuncInfo
    - taosHashBinary
    - nodesMakeNode
    linkageType: ''
    returnType: SFunctionNode*
    signature: 'SFunctionNode * createGroupKeyAggFunc(SColumnNode* pGroupCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pTargets
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 770
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 770
    functionName: rewriteTargetsWithResId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'void rewriteTargetsWithResId(SNodeList* pTargets) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pScan
    - requirement
    argTypes:
    - SScanLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: adjustScanDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustScanDataRequirement(SScanLogicNode* pScan, EDataOrderLevel
      requirement) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:202,1
    - Dst: dataOrderStr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pAgg
    - requirement
    argTypes:
    - SAggLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: adjustAggDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - dataOrderStr
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustAggDataRequirement(SAggLogicNode* pAgg, EDataOrderLevel
      requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: adjustIntervalDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustIntervalDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: adjustCountDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustCountDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: adjustIntervalDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:279,1
    - Dst: adjustCountDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:287,1
    - Dst: adjustSessionDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:281,1
    - Dst: adjustEventDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:285,1
    - Dst: adjustStateDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:283,1
    - Dst: adjustAnomalyDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 294
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 294
    functionName: adjustWindowDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - adjustEventDataRequirement
    - adjustAnomalyDataRequirement
    - adjustStateDataRequirement
    - adjustCountDataRequirement
    - adjustSessionDataRequirement
    - adjustIntervalDataRequirement
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustWindowDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:405,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:408,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:407,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: stbNotSystemScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - stbNotSystemScan
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbNotSystemScan(SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:432,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 439
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 439
    functionName: stbGetPartKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * stbGetPartKeys(SLogicNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:457,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:462,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:459,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:461,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:458,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 467
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 467
    functionName: stbHasPartTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbHasPartTag(SNodeList* pPartKeys) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pJoin
    - requirement
    argTypes:
    - SJoinLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: adjustJoinDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustJoinDataRequirement(SJoinLogicNode* pJoin, EDataOrderLevel
      requirement) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pProject
    - requirement
    argTypes:
    - SProjectLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: adjustProjectDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustProjectDataRequirement(SProjectLogicNode* pProject,
      EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 238
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 238
    functionName: adjustSessionDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustSessionDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: adjustAnomalyDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustAnomalyDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pFill
    - requirement
    argTypes:
    - SFillLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: adjustFillDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustFillDataRequirement(SFillLogicNode* pFill, EDataOrderLevel
      requirement) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:419,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:423,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:420,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: keysHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool keysHasTbname(SNodeList* pKeys) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:442,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:449,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:447,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:446,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:447,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:449,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:449,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: isPartTableAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - stbNotSystemScan
    - keysHasTbname
    - stbGetPartKeys
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool isPartTableAgg(SAggLogicNode* pAgg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 484
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 484
    functionName: getBatchScanOptionFromHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getBatchScanOptionFromHint(SNodeList* pList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:550,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:553,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:559,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:553,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:559,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:566,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:567,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:574,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - ppRes
    argTypes:
    - SNode*
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 579
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 579
    functionName: collectTableAliasFromNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    - collectTableAliasFromNodes
    - tSimpleHashInit
    - strlen
    - FOREACH
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t collectTableAliasFromNodes(SNode* pNode, SSHashObj** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:149,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:150,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pSubplan
    - pOld
    - pNew
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: replaceLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    - REPLACE_NODE
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t replaceLogicNode(SLogicSubplan* pSubplan, SLogicNode* pOld,
      SLogicNode* pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:582,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:587,1
    - Dst: stbNotSystemScan
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:587,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:586,1
    - Dst: stbHasPartTag
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:589,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:589,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: isPartTagAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - stbNotSystemScan
    - stbHasPartTag
    - stbGetPartKeys
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool isPartTagAgg(SAggLogicNode* pAgg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pCurr
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 169
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 169
    functionName: getLogicNodeRootNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SLogicNode*
    signature: 'SLogicNode * getLogicNodeRootNode(SLogicNode* pCurr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:593,1
    - Dst: stbGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:593,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:593,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - SWindowLogicNode*
    constantsTouched: []
    func_position:
      end: 594
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 594
    functionName: isPartTableWinodw
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - stbGetPartKeys
    - nodesListGetNode
    - keysHasTbname
    linkageType: ''
    returnType: bool
    signature: 'bool isPartTableWinodw(SWindowLogicNode* pWindow) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:103,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:109,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pExprs
    - pList
    argTypes:
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: createColumnByRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createColumnByRewriteExprs(SNodeList* pExprs, SNodeList**
      pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: adjustStateDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustStateDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 496
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 496
    functionName: getSortForGroupOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getSortForGroupOptHint(SNodeList* pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 520
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 520
    functionName: getParaTablesSortOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getParaTablesSortOptHint(SNodeList* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:687,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:690,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 693
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 693
    functionName: getTimeRangeFromNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - filterGetTimeRange
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTimeRangeFromNode(SNode** pPrimaryKeyCond, STimeWindow*
      pTimeRange, bool* pIsStrict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: tagScanNodeListHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'static bool tagScanNodeListHasTbname(SNodeList* pCols) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tagScanNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:727,1
    - Dst: tagScanNodeHasTbname
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:746,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:752,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:738,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:753,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:754,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 756
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 756
    functionName: tagScanSetExecutionMode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - tagScanNodeListHasTbname
    - nodesDestroyNode
    - filterPartitionCond
    - nodesCloneNode
    - tagScanNodeHasTbname
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tagScanSetExecutionMode(SScanLogicNode* pScan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:123,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:131,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pExpr
    - pList
    argTypes:
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 138
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 138
    functionName: createColumnByRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createColumnByRewriteExpr(SNode* pExpr, SNodeList** pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pWindow
    - requirement
    argTypes:
    - SWindowLogicNode*
    - EDataOrderLevel
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: adjustEventDataRequirement
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustEventDataRequirement(SWindowLogicNode* pWindow,
      EDataOrderLevel requirement) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:501,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pList
    - hint
    argTypes:
    - SNodeList*
    - EHintOption
    constantsTouched: []
    func_position:
      end: 508
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 508
    functionName: getOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getOptHint(SNodeList* pList, EHintOption hint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 532
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 532
    functionName: getSmallDataTsSortOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getSmallDataTsSortOptHint(SNodeList* pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:537,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: getHashJoinOptHint
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool getHashJoinOptHint(SNodeList* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:697,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:698,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: tagScanNodeHasTbnameFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes tagScanNodeHasTbnameFunc(SNode* pNode, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 715
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 715
    functionName: tagScanNodeHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'static bool tagScanNodeHasTbname(SNode* pKeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planUtil.c:761,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCol
    - pExpr
    argTypes:
    - SColumnNode*
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 762
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 762
    functionName: isColRefExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planUtil.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool isColRefExpr(const SColumnNode* pCol, const SExprNode* pExpr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pNode
    - dataBlockId
    - slotId
    - pOutput
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: createTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTarget(SNode* pNode, int16_t dataBlockId, int16_t
      slotId, SNode** pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:226,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:238,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:233,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:238,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:236,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:240,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:242,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:243,1
    - Dst: putSlotToHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:247,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:244,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 5
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    - pHash
    - pProjIdxDescHash
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    - SHashObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 257
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 257
    functionName: buildDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - taosMemoryFree
    - getSlotKey
    - putSlotToHash
    - strlen
    - FOREACH
    - nodesMakeList
    - nodesListStrictAppend
    - createSlotDesc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc, SHashObj* pHash, SHashObj* pProjIdxDescHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: addDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - char*
    - SNodeList*
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: addDataBlockSlotsForProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDataBlockSlotsForProject(SPhysiPlanContext* pCxt,
      const char* pStmtName, SNodeList* pList, SDataBlockDescNode* pDataBlockDesc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pPhysiNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SPhysiNode*
    constantsTouched: []
    func_position:
      end: 640
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 640
    functionName: setConditionsSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - setNodeSlotId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setConditionsSlotId(SPhysiPlanContext* pCxt, const
      SLogicNode* pLogicNode, SPhysiNode* pPhysiNode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:690,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:701,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:692,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:697,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:705,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:714,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:717,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:724,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:731,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pScanPhysiNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SScanPhysiNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 735
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 735
    functionName: createScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - createScanCols
    - nodesDestroyNode
    - nodesCloneNode
    - setConditionsSlotId
    - nodesCloneList
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createScanPhysiNodeFinalize(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SScanPhysiNode* pScanPhysiNode,
      SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1806,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1810,1
    - Dst: createVirtualScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1806,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1807,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1807,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1810,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1811,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1811,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1814,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1814,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1826,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - pChild
    - pScanLogicNode
    - pScanPhysiNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SVirtualScanLogicNode*
    - SVirtualScanPhysiNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1828
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1828
    functionName: createVirtualTableScanPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - nodesDestroyNode
    - createVirtualScanCols
    - setConditionsSlotId
    - nodesCloneList
    - memcpy
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualTableScanPhysiNodeFinalize(SPhysiPlanContext*
      pCxt, SNodeList* pChild, SVirtualScanLogicNode* pScanLogicNode, SVirtualScanPhysiNode*
      pScanPhysiNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamScanPhysiNodeByExchange
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2478,1
    - Dst: doCreateExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2480,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2482
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2482
    functionName: createExchangePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createStreamScanPhysiNodeByExchange
    - doCreateExchangePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createExchangePhysiNode(SPhysiPlanContext* pCxt, SExchangeLogicNode*
      pExchangeLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:171,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:174,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:180,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:188,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 5
    argNames:
    - dataBlockId
    - slotId
    - pName
    - len
    - pHash
    argTypes:
    - int16_t
    - int16_t
    - char*
    - int32_t
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 189
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 189
    functionName: putSlotToHashImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosArrayPush
    - taosHashGet
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putSlotToHashImpl(int16_t dataBlockId, int16_t slotId,
      const char* pName, int32_t len, SHashObj* pHash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:261,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:269,1
    - Dst: buildDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:271,1
    - Dst: createDataBlockDescHash
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:269,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode**
    constantsTouched: []
    func_position:
      end: 281
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 281
    functionName: createDataBlockDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyNode
    - buildDataBlockSlots
    - createDataBlockDescHash
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataBlockDesc(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode** pDataBlockDesc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:355,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:357,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:362,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNode**
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 364
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 364
    functionName: addDataBlockSlot
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesClearList
    - addDataBlockSlots
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDataBlockSlot(SPhysiPlanContext* pCxt, SNode** pNode,
      SDataBlockDescNode* pDataBlockDesc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addDataBlockSlotsImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: pushdownDataBlockSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlotsImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushdownDataBlockSlots(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: colIdCompare
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t colIdCompare(const void* pLeft, const void* pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - vg
    - pNodeAddr
    argTypes:
    - SVgroupInfo*
    - SQueryNodeAddr*
    constantsTouched: []
    func_position:
      end: 740
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 740
    functionName: vgroupInfoToNodeAddr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void vgroupInfoToNodeAddr(const SVgroupInfo* vg, SQueryNodeAddr*
      pNodeAddr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1834,1
    - Dst: createVirtualTableScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1845,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1845,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1844,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1840,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1846,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pChildren
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SNodeList*
    - SVirtualScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1848
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1848
    functionName: createVirtualTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createVirtualTableScanPhysiNodeFinalize
    - makePhysiNode
    - PLAN_ERR_RET
    - setMultiBlockSlotId
    - vgroupInfoToNodeAddr
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualTableScanPhysiNode(SPhysiPlanContext*
      pCxt, SSubplan* pSubplan, SNodeList* pChildren, SVirtualScanLogicNode* pScanLogicNode,
      SPhysiNode** pPhyNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2496,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2511,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2509,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2505,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2503,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2517,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2523,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2526,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2530,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2532,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2540,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2537,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2541,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindow
    - pWindowLogicNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowPhysiNode*
    - SWindowLogicNode*
    constantsTouched: []
    func_position:
      end: 2544
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2544
    functionName: createWindowPhysiNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - addDataBlockSlots
    - nodesDestroyList
    - nodesListAppendList
    - setNodeSlotId
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowPhysiNodeFinalize(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowPhysiNode* pWindow, SWindowLogicNode* pWindowLogicNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2872,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2887,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2879,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2882,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2885,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2892,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2896,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2898,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2905,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2906,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2925,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2929,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2919,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2928,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - type
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - ENodeType
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2932
      start: 2869
    functionDepth: 0
    functionLinenumber: 2869
    functionLinenumberEnd: 2932
    functionName: createPartitionPhysiNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - FOREACH
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPartitionPhysiNodeImpl(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SPartitionLogicNode* pPartLogicNode, ENodeType type, SPhysiNode**
      pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createStreamPartitionPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2957,1
    - Dst: createPartitionPhysiNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2960
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2960
    functionName: createPartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createStreamPartitionPhysiNode
    - createPartitionPhysiNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPartitionPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SPartitionLogicNode* pPartLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:77,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:71,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:85,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:89,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:99,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:94,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:103,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:134,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:81,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:67,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:86,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:100,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:90,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:103,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:121,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:129,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:62,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:87,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:90,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:101,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:107,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:109,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:88,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:102,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:98,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:112,1
    - Dst: getSlotKeyHelper
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:116,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:119,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 103
    argCount: 5
    argNames:
    - pNode
    - pStmtName
    - ppKey
    - pLen
    - extraBufLen
    argTypes:
    - SNode*
    - char*
    - char**
    - int32_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 137
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 137
    functionName: getSlotKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosMemoryCalloc
    - getSlotKeyHelper
    - TAOS_STRNCAT
    - strlen
    - taosHashBinary
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSlotKey(SNode* pNode, const char* pStmtName, char**
      ppKey, int32_t* pLen, uint16_t extraBufLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1224,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - pJoin
    - ppTarget
    - primExpr
    - blkId
    argTypes:
    - SSortMergeJoinPhysiNode*
    - SColumnNode**
    - STargetNode*
    - int16_t
    constantsTouched: []
    func_position:
      end: 1235
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1235
    functionName: appendPrimColToJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendPrimColToJoinTargets(SSortMergeJoinPhysiNode*
      pJoin, SColumnNode** ppTarget, STargetNode* primExpr, int16_t blkId) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1384,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1398,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1390,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1395,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1392,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1402,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1404,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1407,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1410,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1413,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1421,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1421,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1423
    functionName: extractHashJoinOpCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractHashJoinOpCols(int16_t lBlkId, int16_t rBlkId,
      SNode* pEq, SHashJoinPhysiNode* pJoin) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1581,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1600,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1621,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1635,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1643,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1615,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1655,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1659,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1667,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1574,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1597,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1589,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1602,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1621,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1627,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1613,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1671,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1601,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1602,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1648,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1671,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1577,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1609,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1646,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1647,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1648,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1661,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1667,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 4
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - pJoin
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1676
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1676
    functionName: setHashJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesCloneNode
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setHashJoinPrimColEqCond(SNode* pEqCond, int16_t leftBlkId,
      int16_t rightBlkId, SHashJoinPhysiNode* pJoin) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2053,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2067,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2059,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2068,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2065,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2068,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2070,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2075,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2080,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2081,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2082,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pList
    - pPrecalcExprs
    - pRewrittenList
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2085
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2085
    functionName: rewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodeType
    - LIST_LENGTH
    - nodesRewriteExprs
    - FOREACH
    - nodesMakeList
    - nodesCloneNode
    - NODES_DESTORY_LIST
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewritePrecalcExprs(SPhysiPlanContext* pCxt, SNodeList*
      pList, SNodeList** pPrecalcExprs, SNodeList** pRewrittenList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3042,1
    - Dst: createExchangePhysiNodeByMerge
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3067,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3067,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3063,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3063,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3072,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3072,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3076,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3076,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3078,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3081,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3081,1
    - Dst: setMultiBlockSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3080,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3078,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3080,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3087,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pMergeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SMergeLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 3089
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3089
    functionName: createMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - setMultiBlockSlotId
    - setListSlotId
    - PLAN_ERR_JRET
    - createExchangePhysiNodeByMerge
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMergePhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SMergeLogicNode* pMergeLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:142,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:147,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - pCxt
    - pName
    - pNode
    - slotId
    - output
    - reserve
    argTypes:
    - SPhysiPlanContext*
    - char*
    - SNode*
    - int16_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: createSlotDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createSlotDesc(SPhysiPlanContext* pCxt, const char*
      pName, const SNode* pNode, int16_t slotId, bool output, bool reserve) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1240,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1263,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1267,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1270,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1277,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1283,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1301,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1303,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1293,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1364,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1374,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1250,1
    - Dst: getJoinDataBlockDescNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1259,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1274,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1321,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1349,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1368,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1359,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1253,1
    - Dst: setMergeJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1286,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1375,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1295,1
    - Dst: removePrimColFromJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1309,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1313,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1290,1
    - Dst: appendPrimColToJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1318,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1325,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1330,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1340,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1376,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 158
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1380
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1380
    functionName: createMergeJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - addDataBlockSlots
    - setColEqList
    - removePrimColFromJoinTargets
    - makePhysiNode
    - nodesDestroyNode
    - appendPrimColToJoinTargets
    - getJoinDataBlockDescNode
    - setMergeJoinPrimColEqCond
    - nodesCloneNode
    - setNodeSlotId
    - setListSlotId
    - mergeJoinConds
    - setConditionsSlotId
    - addDataBlockSlot
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMergeJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SJoinLogicNode* pJoinLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1431,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1432,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1436,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1433,1
    - Dst: extractHashJoinOpCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1437,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1443,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - lBlkId
    - rBlkId
    - pEq
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1448
    functionName: extractHashJoinOnCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - extractHashJoinOpCols
    - nodeType
    - FOREACH
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractHashJoinOnCols(int16_t lBlkId, int16_t rBlkId,
      SNode* pEq, SHashJoinPhysiNode* pJoin) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1699,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1701,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1710,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1716,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1749,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1745,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1727,1
    - Dst: createHashJoinColList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1752,1
    - Dst: sortHashJoinTargets
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1756,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1686,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1759,1
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1681,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1687,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1723,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1734,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1737,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1693,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1695,1
    - Dst: setHashJoinPrimColEqCond
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1713,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1742,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1731,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1719,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1765,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1769
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1769
    functionName: createHashJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - sortHashJoinTargets
    - makePhysiNode
    - nodesDestroyNode
    - setHashJoinPrimColEqCond
    - nodesCloneNode
    - setNodeSlotId
    - setListSlotId
    - mergeJoinConds
    - setConditionsSlotId
    - createHashJoinColList
    - addDataBlockSlot
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createHashJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SJoinLogicNode* pJoinLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2094,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2103,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2097,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2102,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2100,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pPrecalcExprs
    - pRewritten
    argTypes:
    - SPhysiPlanContext*
    - SNode*
    - SNodeList**
    - SNode**
    constantsTouched: []
    func_position:
      end: 2105
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2105
    functionName: rewritePrecalcExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesClearList
    - rewritePrecalcExprs
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewritePrecalcExpr(SPhysiPlanContext* pCxt, SNode*
      pNode, SNodeList** pPrecalcExprs, SNode** pRewritten) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3093,1
    - Dst: createProjectPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3101,1
    - Dst: createScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3095,1
    - Dst: createJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3097,1
    - Dst: createAggPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3099,1
    - Dst: createExchangePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3103,1
    - Dst: createWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3105,1
    - Dst: createSortPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3107,1
    - Dst: createPartitionPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3109,1
    - Dst: createFillPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3111,1
    - Dst: createForecastFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3117,1
    - Dst: createMergePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3119,1
    - Dst: createIndefRowsFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3113,1
    - Dst: createInterpFuncPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3115,1
    - Dst: createDynQueryCtrlPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3123,1
    - Dst: createVirtualTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3125,1
    - Dst: createGroupCachePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3121,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pLogicNode
    - pSubplan
    - pChildren
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SSubplan*
    - SNodeList*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 3131
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3131
    functionName: doCreatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createSortPhysiNode
    - createPartitionPhysiNode
    - createGroupCachePhysiNode
    - createAggPhysiNode
    - createExchangePhysiNode
    - createScanPhysiNode
    - createVirtualTableScanPhysiNode
    - createWindowPhysiNode
    - createForecastFuncPhysiNode
    - createIndefRowsFuncPhysiNode
    - createDynQueryCtrlPhysiNode
    - createProjectPhysiNode
    - createInterpFuncPhysiNode
    - createJoinPhysiNode
    - createMergePhysiNode
    - createFillPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreatePhysiNode(SPhysiPlanContext* pCxt, SLogicNode*
      pLogicNode, SSubplan* pSubplan, SNodeList* pChildren, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:779,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:788,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 789
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 789
    functionName: createTagScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - makePhysiNode
    - vgroupInfoToNodeAddr
    - createScanPhysiNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTagScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:935,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:946,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:947,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:948,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:945,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:949,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:951,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:957,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:962,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:965,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 966
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 966
    functionName: createSystemTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - strcmp
    - vgroupInfoToNodeAddr
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSystemTableScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1998,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2005,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2003,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    constantsTouched: []
    func_position:
      end: 2015
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 2015
    functionName: rewriteValueToOperator
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteValueToOperator(SRewritePrecalcExprsCxt* pCxt,
      SNode** pNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2185,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2205,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2203,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2193,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2200,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2210,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2212,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2217,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2223,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2226,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2227,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SIndefRowsFuncLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2230
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2230
    functionName: createIndefRowsFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIndefRowsFuncPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SIndefRowsFuncLogicNode* pFuncLogicNode, SPhysiNode**
      pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3270,1
    - Dst: createQueryInserter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3272,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 3276
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3276
    functionName: buildInsertSelectSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createPhysiNode
    - nodesListGetNode
    - createQueryInserter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertSelectSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:794,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:801,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:799,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:807,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:805,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:815,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:818,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:820,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:820,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:827,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:833,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:837,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:834,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:836,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:836,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 847
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 847
    functionName: createLastRowScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - createScanPhysiNodeFinalize
    - strncmp
    - makePhysiNode
    - taosArrayInsert
    - nodesDestroyNode
    - strlen
    - FOREACH
    - nodesCloneList
    - vgroupInfoToNodeAddr
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createLastRowScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:970,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 971
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 971
    functionName: createStreamScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createTableScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2019,1
    - Dst: rewriteValueToOperator
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2024,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2028,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2036,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2033,1
    - Dst: collectAndRewrite
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2037,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 2044
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2044
    functionName: doRewritePrecalcExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - rewriteValueToOperator
    - collectAndRewrite
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doRewritePrecalcExprs(SNode** pNode, void* pContext) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2234,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2245,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2248,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2250,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2243,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2255,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2257,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2270,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2274,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2278,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2291,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2288,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2292,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SInterpFuncLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2295
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2295
    functionName: createInterpFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - nodesCloneNode
    - setNodeSlotId
    - setListSlotId
    - setConditionsSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createInterpFuncPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SInterpFuncLogicNode* pFuncLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertValuesSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3280,1
    - Dst: buildInsertSelectSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 3283
      start: 3278
    functionDepth: 0
    functionLinenumber: 3278
    functionLinenumberEnd: 3283
    functionName: buildInsertSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - buildInsertSelectSubplan
    - buildInsertValuesSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:395,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:396,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:401,1
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:402,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:399,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:403,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pName
    - pHash
    argTypes:
    - char*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: dumpSlots
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - planDebug
    - taosHashGetKey
    - taosHashIterate
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'static void dumpSlots(const char* pName, SHashObj* pHash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3380,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3385,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - ppQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryPlan**
    constantsTouched: []
    func_position:
      end: 3393
      start: 3378
    functionDepth: 0
    functionLinenumber: 3378
    functionLinenumberEnd: 3393
    functionName: makeQueryPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeQueryPhysiPlan(SPhysiPlanContext* pCxt, SQueryPlan**
      ppQueryPlan) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3421,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3436,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3434,1
    - Dst: pushSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3424,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3429,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3442,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3443,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pParent
    - pQueryPlan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 3451
      start: 3418
    functionDepth: 0
    functionLinenumber: 3418
    functionLinenumberEnd: 3451
    functionName: buildPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createPhysiSubplan
    - nodesDestroyNode
    - FOREACH
    - buildPhysiPlan
    - pushSubplan
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildPhysiPlan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan* pParent, SQueryPlan* pQueryPlan) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:408,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:412,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:408,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:418,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:418,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:419,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:419,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:421,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:427,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:443,1
    - Dst: dumpSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:435,1
    - Dst: dumpSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:436,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:438,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:442,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:429,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:434,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 447
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 447
    functionName: doSetSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - taosMemoryFree
    - taosArrayGet
    - getSlotKey
    - strcmp
    - taosHashGet
    - strlen
    - dumpSlots
    - planError
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doSetSlotId(SNode* pNode, void* pContext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3397,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3407,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3403,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3410,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3399,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3415,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pSubplans
    argTypes:
    - SPhysiPlanContext*
    - SNode*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3416
      start: 3395
    functionDepth: 0
    functionLinenumber: 3395
    functionLinenumberEnd: 3416
    functionName: pushSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - LIST_LENGTH
    - nodesMakeList
    - nodesListStrictAppend
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushSubplan(SPhysiPlanContext* pCxt, SNode* pSubplan,
      int32_t level, SNodeList* pSubplans) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makeQueryPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3455,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3471,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3461,1
    - Dst: buildPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3462,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pLogicPlan
    - pPhysiPlan
    argTypes:
    - SPhysiPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    constantsTouched: []
    func_position:
      end: 3475
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3475
    functionName: doCreatePhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - makeQueryPhysiPlan
    - FOREACH
    - buildPhysiPlan
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreatePhysiPlan(SPhysiPlanContext* pCxt, SQueryLogicPlan*
      pLogicPlan, SQueryPlan** pPhysiPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3519,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3524,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3520,1
    - Dst: doCreatePhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3529,1
    - Dst: setExplainInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3531,1
    - Dst: setExecNodeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3532,1
    - Dst: destoryPhysiPlanContext
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pLogicPlan
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryLogicPlan*
    - SQueryPlan**
    - SArray*
    constantsTouched: []
    func_position:
      end: 3537
      start: 3515
    functionDepth: 0
    functionLinenumber: 3515
    functionLinenumberEnd: 3537
    functionName: createPhysiPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - setExplainInfo
    - doCreatePhysiPlan
    - destoryPhysiPlanContext
    - setExecNodeList
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createPhysiPlan(SPlanContext* pCxt, SQueryLogicPlan* pLogicPlan,
      SQueryPlan** pPlan, SArray* pExecNodeList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createMergeJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1775,1
    - Dst: createHashJoinPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1777,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pJoinLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SJoinLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1784
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1784
    functionName: createJoinPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createMergeJoinPhysiNode
    - createHashJoinPhysiNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createJoinPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SJoinLogicNode* pJoinLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 2
    argCount: 1
    argNames:
    - windowAlgo
    argTypes:
    - EWindowAlgorithm
    constantsTouched: []
    func_position:
      end: 2584
      start: 2546
    functionDepth: 0
    functionLinenumber: 2546
    functionLinenumberEnd: 2584
    functionName: getIntervalOperatorType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENodeType
    signature: 'static ENodeType getIntervalOperatorType(EWindowAlgorithm windowAlgo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2613,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2621,1
    - Dst: getIntervalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2614,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2629
      start: 2611
    functionDepth: 0
    functionLinenumber: 2611
    functionLinenumberEnd: 2629
    functionName: createSessionWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - getIntervalOperatorType
    - makePhysiNode
    - nodesDestroyNode
    - createWindowPhysiNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSessionWindowPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2696,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2703,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2702,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2705,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2709,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2715,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2719
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2719
    functionName: createEventWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    - setNodeSlotId
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createEventWindowPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1792,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SVirtualScanPhysiNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1797
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1797
    functionName: createVirtualScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - sortScanCols
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualScanCols(SPhysiPlanContext* pCxt, SVirtualScanPhysiNode*
      pScanPhysiNode, SNodeList* pScanCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2588,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2605,1
    - Dst: getIntervalOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2589,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2601,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2609
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2609
    functionName: createIntervalPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - getIntervalOperatorType
    - makePhysiNode
    - nodesDestroyNode
    - createWindowPhysiNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIntervalPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2641,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2654,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2651,1
    - Dst: rewritePrecalcExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2649,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2656,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2661,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2676,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2679,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2680,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2683
      start: 2631
    functionDepth: 0
    functionLinenumber: 2631
    functionLinenumberEnd: 2683
    functionName: createStateWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createWindowPhysiNodeFinalize
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - nodesDestroyList
    - setNodeSlotId
    - setListSlotId
    - nodesListGetNode
    - rewritePrecalcExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStateWindowPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2732,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2744,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2740,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2748
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2748
    functionName: createCountWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createWindowPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createCountWindowPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: createTableMergeScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createTableScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableMergeScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1912,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1916,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1916,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1926,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1926,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1928
    functionName: updateDynQueryCtrlVtbScanInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tstrerror
    - nodesCloneList
    - vgroupInfoToNodeAddr
    - PLAN_ERR_JRET
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateDynQueryCtrlVtbScanInfo(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SDynQueryCtrlLogicNode* pLogicNode, SDynQueryCtrlPhysiNode*
      pDynCtrl, SSubplan* pSubPlan) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: createTagScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:983,1
    - Dst: createLastRowScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:989,1
    - Dst: createTableCountScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:987,1
    - Dst: createSimpleScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:985,1
    - Dst: createTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:991,1
    - Dst: createSystemTableScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:993,1
    - Dst: createStreamScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:995,1
    - Dst: createTableMergeScanPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:997,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1002
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1002
    functionName: createScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createSimpleScanPhysiNode
    - createTableScanPhysiNode
    - createLastRowScanPhysiNode
    - createTableMergeScanPhysiNode
    - createStreamScanPhysiNode
    - createSystemTableScanPhysiNode
    - createTagScanPhysiNode
    - createTableCountScanPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1936,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1941,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1937,1
    - Dst: updateDynQueryCtrlStbJoinInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1941,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1944,1
    - Dst: updateDynQueryCtrlVtbScanInfo
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1944,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1947,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1955,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SPhysiNode**
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 1957
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1957
    functionName: createDynQueryCtrlPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - makePhysiNode
    - tstrerror
    - QUERY_CHECK_NULL
    - updateDynQueryCtrlVtbScanInfo
    - updateDynQueryCtrlStbJoinInfo
    - PLAN_ERR_JRET
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDynQueryCtrlPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SDynQueryCtrlLogicNode* pLogicNode, SPhysiNode** pPhyNode,
      SSubplan* pSubPlan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createPartitionPhysiNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2937,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2944,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2949,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2941,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pPartLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SPartitionLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2952
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2952
    functionName: createStreamPartitionPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createPartitionPhysiNodeImpl
    - nodesDestroyNode
    - setNodeSlotId
    - setListSlotId
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamPartitionPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SPartitionLogicNode* pPartLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:532,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:536,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:545,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:536,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:546,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:551,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pChild
    - pNode
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 553
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 553
    functionName: setVtableNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodesDestroyNode
    - nodesCloneNode
    - PLAN_RET
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setVtableNodeSlotId(SPhysiPlanContext* pCxt, SNodeList*
      pChild, SNode* pNode, SNode** pOutput) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - scanType
    argTypes:
    - EScanType
    constantsTouched: []
    func_position:
      end: 760
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 760
    functionName: getScanOperatorType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ENodeType
    signature: 'static ENodeType getScanOperatorType(EScanType scanType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:851,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:866,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:858,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:860,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 869
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 869
    functionName: createTableCountScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    - nodesCloneList
    - vgroupInfoToNodeAddr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableCountScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1085,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1102,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1106,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1115,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1164,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1170,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1175,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1199,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1078,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1106,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1112,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1117,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1131,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1137,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1152,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1174,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1175,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1181,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1195,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1094,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1116,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1125,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1143,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1137,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1117,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1129,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1183,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1187,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1195,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1081,1
    - Dst: getAsofJoinReverseOp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1148,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1160,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1164,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1173,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1199,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1189,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 110
    argCount: 6
    argNames:
    - pEqCond
    - subType
    - leftBlkId
    - rightBlkId
    - pJoin
    - pJoinLogicNode
    argTypes:
    - SNode*
    - int32_t
    - int16_t
    - int16_t
    - SSortMergeJoinPhysiNode*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1204
    functionName: setMergeJoinPrimColEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - getAsofJoinReverseOp
    - nodesCloneNode
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setMergeJoinPrimColEqCond(SNode* pEqCond, int32_t subType,
      int16_t leftBlkId, int16_t rightBlkId, SSortMergeJoinPhysiNode* pJoin, SJoinLogicNode*
      pJoinLogicNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2752,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2763,1
    - Dst: rewritePrecalcExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2761,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2766,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2768,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2773,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2779,1
    - Dst: createWindowPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2782,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2788,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2791,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2792,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2795
      start: 2750
    functionDepth: 0
    functionLinenumber: 2750
    functionLinenumberEnd: 2795
    functionName: createAnomalyWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createWindowPhysiNodeFinalize
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - setNodeSlotId
    - setListSlotId
    - nodesListGetNode
    - rewritePrecalcExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAnomalyWindowPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 3501
      start: 3492
    functionDepth: 0
    functionLinenumber: 3492
    functionLinenumberEnd: 3501
    functionName: setExplainInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: 'static void setExplainInfo(SPlanContext* pCxt, SQueryPlan* pPlan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:562,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:571,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:572,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:570,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:569,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:573,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:575,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int16_t
    - int16_t
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 580
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 580
    functionName: setListSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodesWalkExprs
    - nodesDestroyList
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setListSlotId(SPhysiPlanContext* pCxt, int16_t leftDataBlockId,
      int16_t rightDataBlockId, const SNodeList* pList, SNodeList** pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:765,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:773,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:765,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:771,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 774
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 774
    functionName: createSimpleScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - getScanOperatorType
    - makePhysiNode
    - vgroupInfoToNodeAddr
    - createScanPhysiNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSimpleScanPhysiNode(SPhysiPlanContext* pCxt,
      SSubplan* pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:873,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:886,1
    - Dst: getScanOperatorType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:874,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:883,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:879,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:889,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:891,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:915,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:919,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:923,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:927,1
    - Dst: createScanPhysiNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:921,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:918,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:916,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pScanLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SSubplan*
    - SScanLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 931
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 931
    functionName: createTableScanPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - getScanOperatorType
    - createScanPhysiNodeFinalize
    - makePhysiNode
    - nodesDestroyNode
    - tstrncpy
    - setNodeSlotId
    - setListSlotId
    - nodesCloneList
    - memcpy
    - vgroupInfoToNodeAddr
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableScanPhysiNode(SPhysiPlanContext* pCxt, SSubplan*
      pSubplan, SScanLogicNode* pScanLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1209,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1211,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1211,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1212,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pTargets
    - pPrimExpr
    - ppRemoved
    argTypes:
    - SNodeList*
    - SValueNode*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 1219
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1219
    functionName: removePrimColFromJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - FOREACH
    - nodesCloneNode
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t removePrimColFromJoinTargets(SNodeList* pTargets, SValueNode*
      pPrimExpr, SColumnNode** ppRemoved) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: createIntervalPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2801,1
    - Dst: createEventWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2807,1
    - Dst: createSessionWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2803,1
    - Dst: createCountWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2809,1
    - Dst: createStateWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2805,1
    - Dst: createAnomalyWindowPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2811,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pWindowLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SWindowLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2816
      start: 2797
    functionDepth: 0
    functionLinenumber: 2797
    functionLinenumberEnd: 2816
    functionName: createWindowPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createStateWindowPhysiNode
    - createCountWindowPhysiNode
    - createAnomalyWindowPhysiNode
    - createEventWindowPhysiNode
    - createIntervalPhysiNode
    - createSessionWindowPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SWindowLogicNode* pWindowLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pExecNodeList
    argTypes:
    - SPhysiPlanContext*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3513
      start: 3503
    functionDepth: 0
    functionLinenumber: 3503
    functionLinenumberEnd: 3513
    functionName: setExecNodeList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setExecNodeList(SPhysiPlanContext* pCxt, SArray* pExecNodeList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:478,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:465,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:465,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:474,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:484,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:485,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:489,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:493,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:450,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:450,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:466,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:470,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:470,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:476,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:477,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:458,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:468,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:469,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:494,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 498
    functionName: doSetMultiTableSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - taosMemoryFree
    - taosArrayGet
    - getSlotKey
    - sprintf
    - strcmp
    - taosHashGet
    - strlen
    - taosArrayGetSize
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doSetMultiTableSlotId(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1853,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1862,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SGroupCacheLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 1873
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1873
    functionName: createGroupCachePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - makePhysiNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createGroupCachePhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SGroupCacheLogicNode* pLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:507,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:517,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:514,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:516,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:515,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - leftDataBlockId
    - rightDataBlockId
    - pNode
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - int16_t
    - int16_t
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 526
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 526
    functionName: setNodeSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodesDestroyNode
    - nodesCloneNode
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setNodeSlotId(SPhysiPlanContext* pCxt, int16_t leftDataBlockId,
      int16_t rightDataBlockId, SNode* pNode, SNode** pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1877,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1885,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1880,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1882,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1889,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1894,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1900,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1901,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pLogicNode
    - pDynCtrl
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDynQueryCtrlLogicNode*
    - SDynQueryCtrlPhysiNode*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1904
    functionName: updateDynQueryCtrlStbJoinInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - FOREACH
    - setListSlotId
    - memcpy
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateDynQueryCtrlStbJoinInfo(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SDynQueryCtrlLogicNode* pLogicNode, SDynQueryCtrlPhysiNode*
      pDynCtrl) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2964,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2981,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2976,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2975,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2978,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2984,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2986,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2987,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2989,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2994,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3011,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3005,1
    - Dst: addDataBlockSlot
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2997,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3001,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFillNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SFillLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 3015
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 3015
    functionName: createFillPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - setNodeSlotId
    - nodesCloneNode
    - setListSlotId
    - setConditionsSlotId
    - addDataBlockSlot
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createFillPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SFillLogicNode* pFillNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3019,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3034,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3035,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3030,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pMerge
    - idx
    argTypes:
    - SMergePhysiNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3036
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3036
    functionName: createExchangePhysiNodeByMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - FOREACH
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createExchangePhysiNodeByMerge(SMergePhysiNode* pMerge,
      int32_t idx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3136,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3144,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3142,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3146,1
    - Dst: doCreatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3154,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3158,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3161,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3163,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3166,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pLogicNode
    - pSubplan
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - SSubplan*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 3170
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3170
    functionName: createPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyList
    - FOREACH
    - nodesMakeList
    - nodesListStrictAppend
    - doCreatePhysiNode
    - createPhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPhysiNode(SPhysiPlanContext* pCxt, SLogicNode*
      pLogicNode, SSubplan* pSubplan, SPhysiNode** pPhyNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3479,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3484,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3481,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3485
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3485
    functionName: destoryLocationHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destoryLocationHash(void* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1968,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1977,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1973,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1979,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1972,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1985,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1989,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1991,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SRewritePrecalcExprsCxt*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1994
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1994
    functionName: collectAndRewrite
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - snprintf
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectAndRewrite(SRewritePrecalcExprsCxt* pCxt, SNode**
      pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pBlocks
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVgDataBlocks*
    - SDataSinkNode**
    constantsTouched: []
    func_position:
      end: 3186
      start: 3172
    functionDepth: 0
    functionLinenumber: 3172
    functionLinenumberEnd: 3186
    functionName: createDataInserter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataInserter(SPhysiPlanContext* pCxt, SVgDataBlocks*
      pBlocks, SDataSinkNode** pSink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3488,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SPhysiPlanContext*
    constantsTouched: []
    func_position:
      end: 3490
      start: 3487
    functionDepth: 0
    functionLinenumber: 3487
    functionLinenumberEnd: 3490
    functionName: destoryPhysiPlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'static void destoryPhysiPlanContext(SPhysiPlanContext* pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:284,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pSlotIdsInfo
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: getUnsetSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int16_t
    signature: 'static int16_t getUnsetSlotId(const SArray* pSlotIdsInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2356,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pProject
    argTypes:
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 2370
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2370
    functionName: projectCouldMergeUnsortDataBlock
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool projectCouldMergeUnsortDataBlock(SProjectLogicNode* pProject) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2108,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2110,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - res
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2116
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2116
    functionName: hasCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsCountLikeFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes hasCountLikeFunc(SNode* pNode, void* res) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2820,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2833,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2838,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2836,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2829,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2843,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2847,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2849,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2854,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2860,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2864,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2863,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pSortLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SSortLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2867
      start: 2818
    functionDepth: 0
    functionLinenumber: 2818
    functionLinenumberEnd: 2867
    functionName: createSortPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSortPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SSortLogicNode* pSortLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3190,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3196,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pRoot
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SPhysiNode*
    - SDataSinkNode**
    constantsTouched: []
    func_position:
      end: 3204
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3204
    functionName: createDataDispatcher
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataDispatcher(SPhysiPlanContext* pCxt, const
      SPhysiNode* pRoot, SDataSinkNode** pSink) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:42,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:48,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:50,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:47,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:49,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:50,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:52,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 8
    argNames:
    - pNode
    - pPreName
    - name
    - ppKey
    - callocLen
    - pLen
    - extraBufLen
    - slotKeyType
    argTypes:
    - SNode*
    - char*
    - char*
    - char**
    - int32_t
    - int32_t*
    - uint16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: getSlotKeyHelper
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - TAOS_STRNCAT
    - taosHashBinary
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSlotKeyHelper(SNode* pNode, const char* pPreName,
      const char* name, char** ppKey, int32_t callocLen, int32_t* pLen, uint16_t extraBufLen,
      int8_t slotKeyType) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:302,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:306,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:303,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:305,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:309,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:311,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:313,1
    - Dst: createSlotDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:314,1
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:316,1
    - Dst: getUnsetSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:325,1
    - Dst: createTarget
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:332,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:329,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 6
    argNames:
    - pCxt
    - pList
    - pDataBlockDesc
    - pStmtName
    - output
    - reserve
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SDataBlockDescNode*
    - char*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 343
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 343
    functionName: addDataBlockSlotsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - taosMemoryFree
    - putSlotToHashImpl
    - getUnsetSlotId
    - getSlotKey
    - createTarget
    - taosHashGet
    - FOREACH
    - nodesListStrictAppend
    - createSlotDesc
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDataBlockSlotsImpl(SPhysiPlanContext* pCxt, SNodeList*
      pList, SDataBlockDescNode* pDataBlockDesc, const char* pStmtName, bool output,
      bool reserve) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2121,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2139,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2137,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2141,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2143,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2146,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2148,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2153,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2155,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2160,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2173,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2176,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2162,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2167,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2177,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2178,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 5
    argNames:
    - pCxt
    - pChildren
    - pAggLogicNode
    - pPhyNode
    - pSubPlan
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SAggLogicNode*
    - SPhysiNode**
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 2181
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2181
    functionName: createAggPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAggPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SAggLogicNode* pAggLogicNode, SPhysiNode** pPhyNode, SSubplan* pSubPlan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2375,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2386,1
    - Dst: projectCanMergeDataBlock
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2380,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2385,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2388,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2388,1
    - Dst: addDataBlockSlotsForProject
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2392,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pProjectLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SProjectLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2406
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2406
    functionName: createProjectPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - makePhysiNode
    - nodesDestroyNode
    - addDataBlockSlotsForProject
    - setConditionsSlotId
    - setListSlotId
    - nodesCloneList
    - nodesListGetNode
    - projectCanMergeDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createProjectPhysiNode(SPhysiPlanContext* pCxt, SNodeList*
      pChildren, SProjectLogicNode* pProjectLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3208,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3221,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - ppSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    constantsTouched: []
    func_position:
      end: 3225
      start: 3206
    functionDepth: 0
    functionLinenumber: 3206
    functionLinenumberEnd: 3225
    functionName: makeSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeSubplan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan** ppSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putSlotToHashImpl
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - pName
    - len
    - dataBlockId
    - slotId
    - pNode
    - pHash
    argTypes:
    - char*
    - int32_t
    - int16_t
    - int16_t
    - SNode*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 194
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 194
    functionName: putSlotToHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - putSlotToHashImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putSlotToHash(const char* pName, int32_t len, int16_t
      dataBlockId, int16_t slotId, SNode* pNode, SHashObj* pHash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3336,1
    - Dst: buildDeleteSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 3346
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3346
    functionName: buildVnodeModifySubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - buildInsertSubplan
    - buildDeleteSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVnodeModifySubplan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan* pSubplan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:198,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:204,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:202,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:198,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:202,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:207,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:208,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:209,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:212,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:213,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:214,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - pCxt
    - capacity
    - dataBlockId
    - pDescHash
    - ppProjIdxDescHash
    argTypes:
    - SPhysiPlanContext*
    - int32_t
    - int16_t
    - SHashObj**
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 221
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 221
    functionName: createDataBlockDescHash
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosArrayInsert
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataBlockDescHash(SPhysiPlanContext* pCxt, int32_t
      capacity, int16_t dataBlockId, SHashObj** pDescHash, SHashObj** ppProjIdxDescHash) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeSubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3350,1
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3363,1
    - Dst: buildVnodeModifySubplan
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3356,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3372,1
    - Dst: createDataDispatcher
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pPhysiSubplan
    argTypes:
    - SPhysiPlanContext*
    - SLogicSubplan*
    - SSubplan**
    constantsTouched: []
    func_position:
      end: 3376
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3376
    functionName: createPhysiSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createDataDispatcher
    - nodesDestroyNode
    - makeSubplan
    - createPhysiNode
    - buildVnodeModifySubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPhysiSubplan(SPhysiPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSubplan** pPhysiSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:586,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:600,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:590,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:590,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:601,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - pCxt
    - pChild
    - isVtb
    - pList
    - pOutput
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - bool
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 608
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 608
    functionName: setMultiBlockSlotId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodesDestroyList
    - PLAN_RET
    - nodesCloneList
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setMultiBlockSlotId(SPhysiPlanContext* pCxt, SNodeList*
      pChild, bool isVtb, const SNodeList* pList, SNodeList** pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:649,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:649,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:656,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:663,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:657,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:666,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:669,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:669,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:669,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 673
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 673
    functionName: sortScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - LIST_LENGTH
    - taosArrayDestroy
    - taosArraySort
    - FOREACH
    - taosArrayPush
    - REPLACE_NODE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortScanCols(SNodeList* pScanCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2411,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2428
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2428
    functionName: doCreateExchangePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - makePhysiNode
    - nodesDestroyNode
    - setConditionsSlotId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreateExchangePhysiNode(SPhysiPlanContext* pCxt,
      SExchangeLogicNode* pExchangeLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createDataInserter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 3232
      start: 3227
    functionDepth: 0
    functionLinenumber: 3227
    functionLinenumberEnd: 3232
    functionName: buildInsertValuesSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createDataInserter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertValuesSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2433,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2441,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2448,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2451,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2444,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2454,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2459,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2460,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2461,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2462,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2463,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2469,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pExchangeLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SExchangeLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2473
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2473
    functionName: createStreamScanPhysiNodeByExchange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - tstrncpy
    - setConditionsSlotId
    - sortScanCols
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamScanPhysiNodeByExchange(SPhysiPlanContext*
      pCxt, SExchangeLogicNode* pExchangeLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:612,1
    - Dst: createDataBlockDesc
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:624,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:626,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:618,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - type
    argTypes:
    - SPhysiPlanContext*
    - SLogicNode*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 632
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 632
    functionName: makePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - nodesMakeNode
    - createDataBlockDesc
    linkageType: ''
    returnType: SPhysiNode*
    signature: 'static SPhysiNode * makePhysiNode(SPhysiPlanContext* pCxt, SLogicNode*
      pLogicNode, ENodeType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:681,1
    - Dst: sortScanCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pScanPhysiNode
    - pScanCols
    argTypes:
    - SPhysiPlanContext*
    - SScanPhysiNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 686
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 686
    functionName: createScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - sortScanCols
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createScanCols(SPhysiPlanContext* pCxt, SScanPhysiNode*
      pScanPhysiNode, SNodeList* pScanCols) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3237,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3252,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3246,1
    - Dst: vgroupInfoToNodeAddr
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3250,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3245,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3256,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3262,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pSubplan
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    - SDataSinkNode**
    constantsTouched: []
    func_position:
      end: 3266
      start: 3234
    functionDepth: 0
    functionLinenumber: 3234
    functionLinenumberEnd: 3266
    functionName: createQueryInserter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - setListSlotId
    - vgroupInfoToNodeAddr
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createQueryInserter(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan, SDataSinkNode** pSink) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1006,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1010,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1008,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1008,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1009,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1012,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1013,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1013,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pChildren
    - idx
    - ppDesc
    argTypes:
    - SNodeList*
    - int32_t
    - SDataBlockDescNode**
    constantsTouched: []
    func_position:
      end: 1018
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1018
    functionName: getJoinDataBlockDescNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getJoinDataBlockDescNode(SNodeList* pChildren, int32_t
      idx, SDataBlockDescNode** ppDesc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1454,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1464,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1459,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1466,1
    - Dst: extractHashJoinOnCols
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1469,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1472,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - lBlkId
    - rBlkId
    - pEq1
    - pEq2
    - pEq3
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SNode*
    - SNode*
    - SNode*
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1477
    functionName: createHashJoinColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeList
    - extractHashJoinOnCols
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createHashJoinColList(int16_t lBlkId, int16_t rBlkId,
      SNode* pEq1, SNode* pEq2, SNode* pEq3, SHashJoinPhysiNode* pJoin) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2300,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2312,1
    - Dst: rewritePrecalcExprs
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2307,1
    - Dst: pushdownDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2314,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2309,1
    - Dst: setListSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2319,1
    - Dst: addDataBlockSlots
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2321,1
    - Dst: setConditionsSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2332,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2335,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2336,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pChildren
    - pFuncLogicNode
    - pPhyNode
    argTypes:
    - SPhysiPlanContext*
    - SNodeList*
    - SForecastFuncLogicNode*
    - SPhysiNode**
    constantsTouched: []
    func_position:
      end: 2339
      start: 2297
    functionDepth: 0
    functionLinenumber: 2297
    functionLinenumberEnd: 2339
    functionName: createForecastFuncPhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - addDataBlockSlots
    - makePhysiNode
    - nodesDestroyNode
    - pushdownDataBlockSlots
    - nodesDestroyList
    - setConditionsSlotId
    - setListSlotId
    - rewritePrecalcExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createForecastFuncPhysiNode(SPhysiPlanContext* pCxt,
      SNodeList* pChildren, SForecastFuncLogicNode* pFuncLogicNode, SPhysiNode** pPhyNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3288,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3296,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3295,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3299,1
    - Dst: setNodeSlotId
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3305,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pModify
    - pRoot
    - pSink
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SPhysiNode*
    - SDataSinkNode**
    constantsTouched: []
    func_position:
      end: 3319
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3319
    functionName: createDataDeleter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - setNodeSlotId
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDataDeleter(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, const SPhysiNode* pRoot, SDataSinkNode** pSink) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1023,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1027,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1032,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1029,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1034,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1037,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1043,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1045,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1048,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1050,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1053,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1057,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1068,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1068,1
    - Dst: setColEqList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1062,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1061,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 5
    argNames:
    - pEqCond
    - leftBlkId
    - rightBlkId
    - ppLeft
    - ppRight
    argTypes:
    - SNode*
    - int16_t
    - int16_t
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1073
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1073
    functionName: setColEqList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - setColEqList
    - FOREACH
    - nodesCloneNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setColEqList(SNode* pEqCond, int16_t leftBlkId, int16_t
      rightBlkId, SNodeList** ppLeft, SNodeList** ppRight) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1481,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1481,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1511,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1513,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1558,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1493,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1504,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1507,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1515,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1521,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1534,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1542,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1553,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1566,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1489,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1495,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1517,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1528,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1486,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1497,1
    - Dst: getSlotKey
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1532,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1536,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1538,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:1549,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 74
    argCount: 3
    argNames:
    - lBlkId
    - rBlkId
    - pJoin
    argTypes:
    - int16_t
    - int16_t
    - SHashJoinPhysiNode*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1569
    functionName: sortHashJoinTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - getSlotKey
    - tSimpleHashGetSize
    - tSimpleHashCleanup
    - nodesClearList
    - tSimpleHashGet
    - tSimpleHashInit
    - tSimpleHashIterate
    - nodesMakeList
    - FOREACH
    - nodesListStrictAppend
    - tSimpleHashPut
    - tSimpleHashRemove
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortHashJoinTargets(int16_t lBlkId, int16_t rBlkId,
      SHashJoinPhysiNode* pJoin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2348,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:2351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pProject
    argTypes:
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2353
    functionName: projectCanMergeDataBlock
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool projectCanMergeDataBlock(SProjectLogicNode* pProject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createPhysiNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3323,1
    - Dst: createDataDeleter
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3325,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planPhysiCreater.c:3323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pModify
    - pSubplan
    argTypes:
    - SPhysiPlanContext*
    - SVnodeModifyLogicNode*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 3329
      start: 3321
    functionDepth: 0
    functionLinenumber: 3321
    functionLinenumberEnd: 3329
    functionName: buildDeleteSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planPhysiCreater.c
    functionUses: []
    functionsReached:
    - createPhysiNode
    - createDataDeleter
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDeleteSubplan(SPhysiPlanContext* pCxt, SVnodeModifyLogicNode*
      pModify, SSubplan* pSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:450,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:455,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - scanOrder
    - pScan
    argTypes:
    - EScanOrder
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 464
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 464
    functionName: scanPathOptSetScanOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optSetParentOrder
    linkageType: ''
    returnType: void
    signature: 'static void scanPathOptSetScanOrder(EScanOrder scanOrder, SScanLogicNode*
      pScan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:567,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:567,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:570,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:571,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:576,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pCondCol
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 581
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 581
    functionName: pdcColBelongThisTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcColBelongThisTable(SNode* pCondCol, SNodeList* pTableCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pAgg
    - pCond
    argTypes:
    - SAggLogicNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1979
    functionName: partitionAggCondHasAggFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionAggCondHasAggFunc(SAggLogicNode* pAgg, SNode*
      pCond) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3100,1
    - Dst: smaIndexOptFindWStartFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3125,1
    - Dst: smaIndexOptFindSmaFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3101,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3106,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3110,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3129,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3134,1
    - Dst: smaIndexOptCreateSmaCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3136,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3138,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3143,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3150,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3144,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3141,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 4
    argNames:
    - pFuncs
    - tableId
    - pSmaFuncs
    - pOutput
    argTypes:
    - SNodeList*
    - uint64_t
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 3154
      start: 3092
    functionDepth: 0
    functionLinenumber: 3092
    functionLinenumberEnd: 3154
    functionName: smaIndexOptCreateSmaCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - smaIndexOptFindWStartFunc
    - nodesListPushFront
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - smaIndexOptCreateSmaCol
    - nodesDestroyList
    - qError
    - tstrerror
    - rewriteExprAliasName
    - FOREACH
    - smaIndexOptFindSmaFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptCreateSmaCols(SNodeList* pFuncs, uint64_t
      tableId, SNodeList* pSmaFuncs, SNodeList** pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3634,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3647,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3644,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3641,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3638,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pChild
    - pNewChildTargets
    argTypes:
    - SLogicNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3651
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3651
    functionName: eliminateProjOptCanChildConditionUseChildTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool eliminateProjOptCanChildConditionUseChildTargets(SLogicNode*
      pChild, SNodeList* pNewChildTargets) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lastRowScanOptGetColAndSetDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4505,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4506
      start: 4504
    functionDepth: 0
    functionLinenumber: 4504
    functionLinenumberEnd: 4506
    functionName: lastRowScanOptGetLastCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - lastRowScanOptGetColAndSetDataType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes lastRowScanOptGetLastCols(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5261,1
    - Dst: mergeProjectsOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5267
      start: 5260
    functionDepth: 0
    functionLinenumber: 5260
    functionLinenumberEnd: 5267
    functionName: mergeProjectsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - mergeProjectsOptimizeImpl
    - optFindPossibleNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeProjectsOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5752,1
    - Dst: tbCntScanOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5756,1
    - Dst: tbCntScanOptRewriteAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5761
      start: 5750
    functionDepth: 0
    functionLinenumber: 5750
    functionLinenumberEnd: 5761
    functionName: tableCountScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptRewriteAgg
    - tbCntScanOptRewriteScan
    - optFindEligibleNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tableCountScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:469,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:472,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 476
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 476
    functionName: scanPathOptSetGroupOrderScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - isPartTableAgg
    - isPartTagAgg
    linkageType: ''
    returnType: void
    signature: 'static void scanPathOptSetGroupOrderScan(SScanLogicNode* pScan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:584,1
    - Dst: pdcColBelongThisTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:588,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pTableCols
    argTypes:
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 589
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 589
    functionName: pdcJoinColInTableColList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pdcColBelongThisTable
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcJoinColInTableColList(SNode* pNode, SNodeList* pTableCols) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1988,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1995,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1994,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1990,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1997,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2007,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2010,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2017,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2018,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2019,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2022,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2020,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 3
    argNames:
    - pAgg
    - ppAggFuncCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 2025
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2025
    functionName: partitionAggCondConj
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMergeConds
    - nodesDestroyNode
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - partitionAggCondHasAggFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionAggCondConj(SAggLogicNode* pAgg, SNode** ppAggFuncCond,
      SNode** ppGroupKeyCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptEqualInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3158,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3166,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3162,1
    - Dst: smaIndexOptCreateSmaCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - tz
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList**
    - void*
    constantsTouched: []
    func_position:
      end: 3168
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3168
    functionName: smaIndexOptCouldApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - smaIndexOptEqualInterval
    - nodesDestroyList
    - nodesStringToList
    - smaIndexOptCreateSmaCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptCouldApplyIndex(SScanLogicNode* pScan, STableIndexInfo*
      pIndex, SNodeList** pCols, void* tz) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3660,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3664,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3670,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 3673
      start: 3653
    functionDepth: 0
    functionLinenumber: 3653
    functionLinenumberEnd: 3673
    functionName: alignProjectionWithTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListErase
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void alignProjectionWithTarget(SLogicNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lastRowScanOptGetColAndSetDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4510
      start: 4508
    functionDepth: 0
    functionLinenumber: 4508
    functionLinenumberEnd: 4510
    functionName: lastRowScanOptSetColDataType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - lastRowScanOptGetColAndSetDataType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes lastRowScanOptSetColDataType(SNode* pNode, void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5270,1
    - Dst: planOptNodeListHasTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5287,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5281,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5286,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5280,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5292,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5294,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5295,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5301
      start: 5269
    functionDepth: 0
    functionLinenumber: 5269
    functionLinenumberEnd: 5301
    functionName: tagScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - keysHasCol
    - FOREACH
    - planOptNodeListHasTbname
    linkageType: ''
    returnType: bool
    signature: 'static bool tagScanOptShouldBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5765,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5773,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5769,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5775,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 17
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 5790
      start: 5763
    functionDepth: 0
    functionLinenumber: 5763
    functionLinenumberEnd: 5790
    functionName: sortNonPriKeySatisfied
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - sortPriKeyOptIsPriKeyOrderBy
    linkageType: ''
    returnType: SSortLogicNode*
    signature: 'static SSortLogicNode * sortNonPriKeySatisfied(SLogicNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7016,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7018,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7017,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    constantsTouched: []
    func_position:
      end: 7019
      start: 7015
    functionDepth: 0
    functionLinenumber: 7015
    functionLinenumberEnd: 7019
    functionName: clearTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void clearTSMAOptCtx(STSMAOptCtx* pTsmaOptCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7341,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7342,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7343,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTsma
    - pTagCol
    argTypes:
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 7353
      start: 7336
    functionDepth: 0
    functionLinenumber: 7336
    functionLinenumberEnd: 7353
    functionName: tsmaOptRewriteTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - strcmp
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteTag(const STSMAOptCtx* pTsmaOptCtx, const
      STSMAOptUsefulTsma* pTsma, SColumnNode* pTagCol) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5305,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5324,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5312,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5319,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5314,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5330,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5332,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5333,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5335,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5337,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5346,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5354
      start: 5303
    functionDepth: 0
    functionLinenumber: 5303
    functionLinenumberEnd: 5354
    functionName: tagScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - optFindPossibleNode
    - ERASE_NODE
    - nodesDestroyList
    - strcmp
    - nodesMakeList
    - FOREACH
    - nodesCloneNode
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7442,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 5
    argNames:
    - pNode
    - pCtx
    - pTsma
    - rewriteTbName
    - rewriteTag
    argTypes:
    - SNode**
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 7445
      start: 7437
    functionDepth: 0
    functionLinenumber: 7437
    functionLinenumberEnd: 7445
    functionName: tsmaOptRewriteNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteNode(SNode** pNode, STSMAOptCtx* pCtx,
      const STSMAOptUsefulTsma* pTsma, bool rewriteTbName, bool rewriteTag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptMatch
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:480,1
    - Dst: scanPathOptGetDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:492,1
    - Dst: scanPathOptSetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:484,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:486,1
    - Dst: scanPathOptSetScanWin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:482,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:498,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:501,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 503
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: scanPathOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - scanPathOptMatch
    - scanPathOptSetScanOrder
    - OPTIMIZE_FLAG_SET_MASK
    - scanPathOptSetScanWin
    - scanPathOptGetDataRequired
    - scanPathOptSetGroupOrderScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:528,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pTagCond
    argTypes:
    - SNode**
    constantsTouched: []
    func_position:
      end: 530
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 530
    functionName: pushDownCondOptRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushDownCondOptRebuildTbanme(SNode** pTagCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:959,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:973,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:974,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:961,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 977
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 977
    functionName: pdcJoinSplitPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - pdcJoinIsPrimEqualCond
    - pdcJoinSplitPrimInLogicCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitPrimEqCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6693,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6703,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6694,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6706,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 6718
      start: 6687
    functionDepth: 0
    functionLinenumber: 6687
    functionLinenumberEnd: 6718
    functionName: grpJoinOptPartByTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - nodesListMakeStrictAppendList
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t grpJoinOptPartByTags(SLogicNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:510,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:516,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pScan
    - pPrimaryKeyCond
    - pOtherCond
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 524
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 524
    functionName: pushDownCondOptCalcTimeRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMergeNode
    - filterGetTimeRange
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushDownCondOptCalcTimeRange(SOptimizeContext* pCxt,
      SScanLogicNode* pScan, SNode** pPrimaryKeyCond, SNode** pOtherCond) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:534,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:541,1
    - Dst: pushDownCondOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:544,1
    - Dst: pushDownCondOptCalcTimeRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:547,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:554,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:557,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:558,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pScan
    argTypes:
    - SOptimizeContext*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 562
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 562
    functionName: pdcDealScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pushDownCondOptCalcTimeRange
    - filterPartitionCond
    - nodesDestroyNode
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - pushDownCondOptRebuildTbanme
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcDealScan(SOptimizeContext* pCxt, SScanLogicNode*
      pScan) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:991,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1025,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1022,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1044,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:987,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1034,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1037,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1042,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1053,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1058,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:982,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:986,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1000,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1001,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1029,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1012,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1048,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1061,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:990,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1000,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1001,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1008,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1026,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1032,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1039,1
    - Dst: pdcJoinColInTableColList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1045,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1051,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1056,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 99
    argCount: 4
    argNames:
    - pJoin
    - pCond
    - allTags
    - pRes
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 1068
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1068
    functionName: pdcJoinIsEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - IS_ASOF_JOIN
    - pdcJoinColInTableColList
    - nodesCloneNode
    - IS_WINDOW_JOIN
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinIsEqualOnCond(SJoinLogicNode* pJoin, SNode*
      pCond, bool* allTags, bool* pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5184,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5195,1
    - Dst: isColRefExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5189,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5191,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5188,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5197,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 5204
      start: 5181
    functionDepth: 0
    functionLinenumber: 5181
    functionLinenumberEnd: 5204
    functionName: mergeProjectionsExpr2
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - isColRefExpr
    - nodesDestroyNode
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes mergeProjectionsExpr2(SNode** pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: grpJoinOptPartByTags
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6723,1
    - Dst: grpJoinOptInsertPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6724,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6730
      start: 6720
    functionDepth: 0
    functionLinenumber: 6720
    functionLinenumberEnd: 6730
    functionName: grpJoinOptRewriteGroupJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - grpJoinOptPartByTags
    - grpJoinOptInsertPartitionNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t grpJoinOptRewriteGroupJoin(SOptimizeContext* pCxt,
      SLogicNode* pNode, SLogicSubplan* pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7024,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7032,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7028,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - tsmaInterval
    - unit
    - pTsmaOptCtx
    argTypes:
    - int64_t
    - int8_t
    - STSMAOptCtx*
    constantsTouched: []
    func_position:
      end: 7035
      start: 7021
    functionDepth: 0
    functionLinenumber: 7021
    functionLinenumberEnd: 7035
    functionName: tsmaOptCheckValidInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - checkRecursiveTsmaInterval
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaOptCheckValidInterval(int64_t tsmaInterval, int8_t
      unit, const STSMAOptCtx* pTsmaOptCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:593,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:601,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:601,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pCondCol
    - pTables
    argTypes:
    - SNode*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 605
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 605
    functionName: pdcJoinColInTableList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - strlen
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcJoinColInTableList(SNode* pCondCol, SSHashObj* pTables) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1188,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1198,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1189,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1194,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1196,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1199,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1202,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1204,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1212
    functionName: pdcJoinCollectCondCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    - taosHashGet
    - nodesCloneNode
    - nodesListStrictAppend
    - taosHashPut
    - tsnprintf
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes pdcJoinCollectCondCol(SNode* pNode, void* pContext) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1364,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1374,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1380,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1377,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1371,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1384,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1387,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1388,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1395,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1397,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1406,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1409
    functionName: pdcJoinAddFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - FOREACH
    - nodesMakeList
    - nodesCloneNode
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinAddFilterColsToTarget(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3734,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3742,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3740,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3735,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3738,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3744,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pSetOp
    argTypes:
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 3750
      start: 3730
    functionDepth: 0
    functionLinenumber: 3730
    functionLinenumberEnd: 3750
    functionName: eliminateProjOptPushTargetsToSetOpChildren
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - eliminateProjOptPushTargetsToSetOpChildren
    - nodesDestroyList
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - FOREACH
    - alignProjectionWithTarget
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateProjOptPushTargetsToSetOpChildren(SProjectLogicNode*
      pSetOp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4310
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4310
    functionName: lastRowScanOptLastParaIsTagImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes lastRowScanOptLastParaIsTagImpl(SNode* pNode, void*
      pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4362,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4363,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4362,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4363,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - pFunc
    - pScan
    argTypes:
    - SFunctionNode*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 4369
      start: 4355
    functionDepth: 0
    functionLinenumber: 4355
    functionLinenumberEnd: 4369
    functionName: isNeedSplitCacheLastFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isNeedSplitCacheLastFunc(SFunctionNode* pFunc, SScanLogicNode*
      pScan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5512,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5513,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5518,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5514,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pGroupKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 5524
      start: 5506
    functionDepth: 0
    functionLinenumber: 5506
    functionLinenumberEnd: 5524
    functionName: tbCntScanOptIsEligibleGroupKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleGroupKeys(SNodeList* pGroupKeys) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:609,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:614,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 620
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 620
    functionName: pdcJoinIsCrossTableCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes pdcJoinIsCrossTableCond(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1219,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1227,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1224,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1225,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1219,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pJoin
    - pTables
    - pCondCols
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1232
    functionName: pdcJoinCollectColsFromParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinCollectColsFromParent(SJoinLogicNode* pJoin,
      SSHashObj* pTables, SNodeList* pCondCols) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1416,1
    - Dst: scalarConvertOpValueNodeTs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1430,1
    - Dst: pdcJoinSplitPrimInLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1433,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1419,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1434,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - ppCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1438
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1438
    functionName: pdcJoinSplitConstPrimEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinSplitPrimInLogicCond
    - nodesDestroyNode
    - pdcJoinIsPrimEqualCond
    - scalarConvertOpValueNodeTs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitConstPrimEqCond(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin, SNode** ppCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3616,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3620,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3629
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3629
    functionName: eliminateProjOptCanUseNewChildTargetsImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes eliminateProjOptCanUseNewChildTargetsImpl(SNode* pNode,
      void* pContext) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3754,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3758,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3778,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3822,1
    - Dst: alignProjectionWithTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3827,1
    - Dst: eliminateProjOptFindProjPrefixWithOrderCheck
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3769,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3764,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3777,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3804,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3823,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3824,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3776,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3780,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3803,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3812,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3799,1
    - Dst: eliminateProjOptCanChildConditionUseChildTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3797,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3813,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3793,1
    - Dst: eliminateProjPushdownProjIdx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3815,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3819,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3758,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3782,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3814,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3811,1
    - Dst: eliminateProjOptPushTargetsToSetOpChildren
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3831,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 76
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pProjectNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 3836
      start: 3752
    functionDepth: 0
    functionLinenumber: 3752
    functionLinenumberEnd: 3836
    functionName: eliminateProjOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesWalkExprs
    - eliminateProjOptFindProjPrefixWithOrderCheck
    - eliminateProjOptCanChildConditionUseChildTargets
    - OPTIMIZE_FLAG_SET_MASK
    - nodesListGetNode
    - nodeType
    - nodesListMakeStrictAppend
    - FOREACH
    - NODES_CLEAR_LIST
    - alignProjectionWithTarget
    - nodesWalkExpr
    - nodesDestroyNode
    - nodesDestroyList
    - eliminateProjPushdownProjIdx
    - replaceLogicNode
    - LIST_LENGTH
    - eliminateProjOptPushTargetsToSetOpChildren
    - strcmp
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateProjOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SProjectLogicNode* pProjectNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 4316
      start: 4312
    functionDepth: 0
    functionLinenumber: 4312
    functionLinenumberEnd: 4316
    functionName: lastRowScanOptLastParaIsTag
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'static bool lastRowScanOptLastParaIsTag(SNode* pExpr) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4376,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4392,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4382,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4378,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4380,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4392,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4396,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4404,1
    - Dst: lastRowScanOptCheckColNum
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4417,1
    - Dst: lastRowScanOptLastParaIsTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4419,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4419,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 64
    argCount: 3
    argNames:
    - pNode
    - cacheLastModel
    - hasOtherFunc
    argTypes:
    - SLogicNode*
    - int8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 4435
      start: 4371
    functionDepth: 0
    functionLinenumber: 4371
    functionLinenumberEnd: 4435
    functionName: lastRowScanOptCheckFuncList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - lastRowScanOptCheckColNum
    - FOREACH
    - lastRowScanOptLastParaIsTag
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool lastRowScanOptCheckFuncList(SLogicNode* pNode, int8_t
      cacheLastModel, bool* hasOtherFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5527,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5531,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5532,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5531,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 5533
      start: 5526
    functionDepth: 0
    functionLinenumber: 5526
    functionLinenumberEnd: 5533
    functionName: tbCntScanOptNotNullableExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptNotNullableExpr(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - lastColNum
    - lastColId
    - selectNonPKColNum
    - selectNonPKColId
    argTypes:
    - int32_t
    - col_id_t
    - int32_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 4353
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4353
    functionName: lastRowScanOptCheckColNum
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool lastRowScanOptCheckColNum(int32_t lastColNum, col_id_t
      lastColId, int32_t selectNonPKColNum, col_id_t selectNonPKColId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7109,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7111,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - STableTSMAInfo*
    constantsTouched: []
    func_position:
      end: 7115
      start: 7106
    functionDepth: 0
    functionLinenumber: 7106
    functionLinenumberEnd: 7115
    functionName: tsmaOptCheckTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaOptCheckTags(STSMAOptCtx* pCtx, const STableTSMAInfo*
      pTsma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6167,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6171,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6174,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - funcName
    - pScan
    argTypes:
    - char*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 6177
      start: 6165
    functionDepth: 0
    functionLinenumber: 6165
    functionLinenumberEnd: 6177
    functionName: stbJoinOptAddFuncToScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - createColumnByRewriteExpr
    - snprintf
    - nodesListStrictAppend
    - createFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stbJoinOptAddFuncToScanNode(char* funcName, SScanLogicNode*
      pScan) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2213,1
    - Dst: pdcDealScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2215,1
    - Dst: pdcDealProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2224,1
    - Dst: pdcDealJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2218,1
    - Dst: pdcDealAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2221,1
    - Dst: pdcTrivialPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2228,1
    - Dst: pdcDealVirtualTable
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2231,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2238,1
    - Dst: pdcOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2239,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2246
    functionName: pdcOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcDealScan
    - pdcOptimizeImpl
    - pdcDealAgg
    - pdcTrivialPushDown
    - pdcDealVirtualTable
    - FOREACH
    - pdcDealJoin
    - pdcDealProject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcOptimizeImpl(SOptimizeContext* pCxt, SLogicNode*
      pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:158,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:163,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pNode
    - func
    - pCtx
    argTypes:
    - SLogicNode*
    - FMayBeOptimized
    - void*
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 169
    functionName: optFindPossibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - FOREACH
    - func
    linkageType: ''
    returnType: SLogicNode*
    signature: 'static SLogicNode * optFindPossibleNode(SLogicNode* pNode, FMayBeOptimized
      func, void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:420,1
    - Dst: scanPathOptPromoteDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:421,1
    - Dst: fmFuncDataRequired
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: scanPathOptGetDataRequired
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - fmFuncDataRequired
    - FOREACH
    - scanPathOptPromoteDataRequired
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptGetDataRequired(SNodeList* pFuncs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2921,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2929,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2939,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2934,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2939,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2940,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2944,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2948,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2949,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2961,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2962,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2956,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2963,1
    - Dst: joinCondMergeScanRange
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2968,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2951,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2950,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2960,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2973
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2973
    functionName: joinCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - joinCondGetScanNode
    - nodesClearList
    - FOREACH
    - joinCondGetAllScanNodes
    - nodesListGetNode
    - joinCondMergeScanRange
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t joinCondOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3200,1
    - Dst: smaIndexOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 3205
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3205
    functionName: smaIndexOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - smaIndexOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: partTagsIsScanPseudoColsInConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3436,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3442,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3441,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3443,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3444,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3450,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 3454
      start: 3431
    functionDepth: 0
    functionLinenumber: 3431
    functionLinenumberEnd: 3454
    functionName: partTagsOptRemovePseudoCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - partTagsIsScanPseudoColsInConds
    - nodesDestroyList
    - strcmp
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partTagsOptRemovePseudoCols(SScanLogicNode* pScan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3856,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3862,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pSortKey
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3869
      start: 3854
    functionDepth: 0
    functionLinenumber: 3854
    functionLinenumberEnd: 3869
    functionName: rewriteTailOptCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptCreateOrderByExpr(SNode* pSortKey, SNode**
      ppNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4033,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4037,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4034,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4037,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4033,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4037,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4041
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4041
    functionName: eliminateSetOpMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: 'static bool eliminateSetOpMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdcOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2250
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2250
    functionName: pdcOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pdcOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:172,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:177,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pNode
    - func
    - pInfo
    argTypes:
    - SLogicNode*
    - FShouldBeOptimized
    - void*
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: optFindEligibleNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - func
    - optFindEligibleNode
    linkageType: ''
    returnType: bool
    signature: 'static bool optFindEligibleNode(SLogicNode* pNode, FShouldBeOptimized
      func, void* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:428,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:429,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:432,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: scanPathOptSetScanWin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: 'static void scanPathOptSetScanWin(SScanLogicNode* pScan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3215
    functionName: partTagsOptHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes partTagsOptHasTbname(SNode* pNode, void* pContext) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3464,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3492,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3498,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3491,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3457,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3463,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3467,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3468,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3470,1
    - Dst: scanPathOptSetGroupOrderScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3475,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3511,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3487,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3513,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3466,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3465,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3480,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3503,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3481,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3488,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3501,1
    - Dst: partTagsOptRemovePseudoCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3517,1
    - Dst: partTagsOptRebuildTbanme
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3520,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 3525
      start: 3456
    functionDepth: 0
    functionLinenumber: 3456
    functionLinenumberEnd: 3525
    functionName: partTagsOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - nodeType
    - TSWAP
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    - adjustLogicNodeDataRequirement
    - partTagsOptRemovePseudoCols
    - nodesDestroyNode
    - partTagsOptRebuildTbanme
    - nodesEqualNode
    - NODES_CLEAR_LIST
    - replaceLogicNode
    - FOREACH
    - nodesCloneNode
    - NODES_DESTORY_LIST
    - partTagsRewriteGroupTagsToFuncs
    - nodesListGetNode
    - scanPathOptSetGroupOrderScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partTagsOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3873,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3881,1
    - Dst: nodesMakeValueNodeFromInt64
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pLimit
    - pOffset
    - pOutput
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3887
      start: 3871
    functionDepth: 0
    functionLinenumber: 3871
    functionLinenumberEnd: 3887
    functionName: rewriteTailOptCreateLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - nodesMakeValueNodeFromInt64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptCreateLimit(SNode* pLimit, SNode* pOffset,
      SNode** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4046,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4053,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4049,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4050,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSetOpNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 4060
      start: 4043
    functionDepth: 0
    functionLinenumber: 4043
    functionLinenumberEnd: 4060
    functionName: eliminateSetOpOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - FOREACH
    - INSERT_LIST
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateSetOpOptimizeImpl(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan, SLogicNode* pSetOpNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5357,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5364
      start: 5356
    functionDepth: 0
    functionLinenumber: 5356
    functionLinenumberEnd: 5364
    functionName: pushDownLimitOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool pushDownLimitOptShouldBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5612,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5615,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5619,1
    - Dst: tbCntScanOptIsEligibleOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5620,1
    - Dst: tbCntScanOptIsEligibleLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pConditions
    argTypes:
    - STbCntScanOptInfo*
    - SNode*
    constantsTouched: []
    func_position:
      end: 5624
      start: 5608
    functionDepth: 0
    functionLinenumber: 5608
    functionLinenumberEnd: 5624
    functionName: tbCntScanOptIsEligibleConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptIsEligibleOpCond
    - nodeType
    - LIST_LENGTH
    - tbCntScanOptIsEligibleLogicCond
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleConds(STbCntScanOptInfo* pInfo,
      SNode* pConditions) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5865,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5872,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5880,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5878,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5867,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5886,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5898,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5902,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5903,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5907
      start: 5860
    functionDepth: 0
    functionLinenumber: 5860
    functionLinenumberEnd: 5907
    functionName: hashJoinOptSplitPrimFromLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - nodesMergeConds
    - WHERE_EACH
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCloneNode
    - filterClassifyCondition
    - filterIsMultiTableColsCond
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hashJoinOptSplitPrimFromLogicCond(SNode** pCondition,
      SNode** pPrimaryKeyCond) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7125,1
    - Dst: tsmaOptCheckValidInterval
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7129,1
    - Dst: tsmaOptCheckValidFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7145,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7134,1
    - Dst: tsmaOptCheckTags
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7149,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7155,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7160,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    constantsTouched: []
    func_position:
      end: 7162
      start: 7117
    functionDepth: 0
    functionLinenumber: 7117
    functionLinenumberEnd: 7162
    functionName: tsmaOptFilterTsmas
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - taosArrayDestroy
    - tsmaOptCheckTags
    - taosArrayPush
    - tsmaOptCheckValidInterval
    - tsmaOptCheckValidFuncs
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptFilterTsmas(STSMAOptCtx* pTsmaOptCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5602,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pCond
    argTypes:
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 5606
      start: 5599
    functionDepth: 0
    functionLinenumber: 5599
    functionLinenumberEnd: 5606
    functionName: tbCntScanOptIsEligibleOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptGetColValFromCond
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleOpCond(SOperatorNode* pCond) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:798,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:798,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:802,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:798,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:805,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:814,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:819,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:820,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:830,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 4
    argNames:
    - pNode
    - pTables
    - constAsPrim
    - constPrimGot
    argTypes:
    - SNode*
    - SSHashObj*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 831
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 831
    functionName: pdcJoinIsPrim
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    - nodesListGetCell
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcJoinIsPrim(SNode* pNode, SSHashObj* pTables, bool constAsPrim,
      bool* constPrimGot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2983,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2984,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2995
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2995
    functionName: smaIndexOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool smaIndexOptMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3038,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3048,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3047,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 4
    argNames:
    - pScan
    - pWindow
    - pIndex
    - tz
    argTypes:
    - SScanLogicNode*
    - SWindowLogicNode*
    - STableIndexInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 3051
      start: 3032
    functionDepth: 0
    functionLinenumber: 3032
    functionLinenumberEnd: 3051
    functionName: smaIndexOptEqualInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - IS_TSWINDOW_SPECIFIED
    - taosTimeTruncate
    linkageType: ''
    returnType: bool
    signature: 'static bool smaIndexOptEqualInterval(SScanLogicNode* pScan, SWindowLogicNode*
      pWindow, STableIndexInfo* pIndex, void* tz) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 3
    argNames:
    - cacheLastMode
    - hasLastRow
    - hasLast
    argTypes:
    - int8_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 4332
      start: 4318
    functionDepth: 0
    functionLinenumber: 4318
    functionLinenumberEnd: 4332
    functionName: hasSuitableCache
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasSuitableCache(int8_t cacheLastMode, bool hasLastRow,
      bool hasLast) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7807,1
    - Dst: eliminateVirtualScanOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 7813
      start: 7806
    functionDepth: 0
    functionLinenumber: 7806
    functionLinenumberEnd: 7813
    functionName: eliminateVirtualScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - eliminateVirtualScanOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateVirtualScanOptimize(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7816,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7817,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7816,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7817,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7822,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7822,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7826,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7828,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7839,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7841,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7841,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7846,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 36
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7852
      start: 7815
    functionDepth: 0
    functionLinenumber: 7815
    functionLinenumberEnd: 7852
    functionName: pdaMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - fmIsSelectFunc
    - FOREACH
    - fmIsGroupKeyFunc
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool pdaMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7949,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7950
      start: 7944
    functionDepth: 0
    functionLinenumber: 7944
    functionLinenumberEnd: 7950
    functionName: destroyAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'static void destroyAggLogicNode(void* data) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:834,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:851,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:851,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:855,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:855,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:857,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:862,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:863,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:864,1
    - Dst: pdcJoinIsPrim
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:865,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:875,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:867,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:876,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - constAsPrim
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 879
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 879
    functionName: pdcJoinIsPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - tSimpleHashCleanup
    - collectTableAliasFromNodes
    - nodesListGetNode
    - pdcJoinIsPrim
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcJoinIsPrimEqualCond(SJoinLogicNode* pJoin, SNode* pCond,
      bool constAsPrim) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1963,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1966,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1973
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1973
    functionName: partAggCondHasAggFuncImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes partAggCondHasAggFuncImpl(SNode* pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3016,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3021,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3014,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3019,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3026,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pScan
    - pIndex
    - pCols
    - pOutput
    argTypes:
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 3030
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3030
    functionName: smaIndexOptCreateSmaScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - nodesDestroyNode
    - nodesCloneList
    - memcpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptCreateSmaScan(SScanLogicNode* pScan, STableIndexInfo*
      pIndex, SNodeList* pCols, SLogicNode** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3055,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3063,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pFunc
    - tableId
    - colId
    - ppNode
    argTypes:
    - SNode*
    - uint64_t
    - int32_t
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 3068
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3068
    functionName: smaIndexOptCreateSmaCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptCreateSmaCol(SNode* pFunc, uint64_t tableId,
      int32_t colId, SColumnNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3681,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3687
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3687
    functionName: eliminateProjOptRewriteScanTableAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes eliminateProjOptRewriteScanTableAlias(SNode* pNode,
      void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4482,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4493,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4485,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4489,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4492,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4494,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pNode
    - pContext
    - setType
    argTypes:
    - SNode*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 4502
      start: 4481
    functionDepth: 0
    functionLinenumber: 4481
    functionLinenumberEnd: 4502
    functionName: lastRowScanOptGetColAndSetDataType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - getLastCacheDataType
    - nodesEqualNode
    - FOREACH
    - nodesListMakeAppend
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes lastRowScanOptGetColAndSetDataType(SNode* pNode, void*
      pContext, bool setType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7857,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7868,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7860,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7861,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7867,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7869,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7870,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7870,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7875,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7882,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - pCol
    - pVScan
    - ppNode
    argTypes:
    - SColumnNode*
    - SVirtualScanLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 7885
      start: 7854
    functionDepth: 0
    functionLinenumber: 7854
    functionLinenumberEnd: 7885
    functionName: findDepTableScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - FOREACH
    - nodesCloneNode
    - PLAN_RET
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findDepTableScanNode(SColumnNode* pCol, SVirtualScanLogicNode
      *pVScan, SNode **ppNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5164,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5164,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5167,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5168,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5174
      start: 5163
    functionDepth: 0
    functionLinenumber: 5163
    functionLinenumberEnd: 5174
    functionName: mergeProjectsMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool mergeProjectsMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6892,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6904,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6923,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6921,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6923,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6924,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6929,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6932,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6935,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6936,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 43
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6946
      start: 6891
    functionDepth: 0
    functionLinenumber: 6891
    functionLinenumberEnd: 6946
    functionName: tsmaOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    - fmIsTSMASupportedFunc
    - FOREACH
    - fmIsGroupKeyFunc
    - getLogicNodeRootNode
    - getOptHint
    - planError
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaOptMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7785,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7786,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7790,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7793,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7788,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7796,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pVirtualScanNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 7803
      start: 7780
    functionDepth: 0
    functionLinenumber: 7780
    functionLinenumberEnd: 7803
    functionName: eliminateVirtualScanOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - nodesEqualNode
    - FOREACH
    - OPTIMIZE_FLAG_CLEAR_MASK
    - INSERT_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateVirtualScanOptimizeImpl(SOptimizeContext*
      pCxt, SLogicSubplan* pLogicSubplan, SLogicNode* pVirtualScanNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: typeCheckFn
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:305,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:307,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:308,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pFunc
    - (*typeCheckFn)
    argTypes:
    - SFunctionNode*
    - bool
    constantsTouched: []
    func_position:
      end: 313
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 313
    functionName: scanPathOptIsSpecifiedFuncType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - typeCheckFn
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool scanPathOptIsSpecifiedFuncType(const SFunctionNode* pFunc,
      bool (*typeCheckFn)(int32_t)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2640,1
    - Dst: sortPrimaryKeyOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2644,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2645
      start: 2639
    functionDepth: 0
    functionLinenumber: 2639
    functionLinenumberEnd: 2645
    functionName: sortPrimaryKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - sortPrimaryKeyOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPrimaryKeyOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: isNeedSplitCacheLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5067,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5069,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5071,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5090,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5050,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5121,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5107,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5063,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5055,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5095,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5101,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5133,1
    - Dst: splitCacheLastFuncOptModifyAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5142,1
    - Dst: splitCacheLastFuncOptCreateMergeLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5145,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5148,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5155,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5076,1
    - Dst: splitCacheLastFuncOptCreateAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5140,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5111,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5105,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5109,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5134,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5128,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5151,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5152,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5160
      start: 5048
    functionDepth: 0
    functionLinenumber: 5048
    functionLinenumberEnd: 5160
    functionName: splitCacheLastFuncOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - ERASE_NODE
    - nodesListMakeStrictAppend
    - WHERE_EACH
    - nodesDestroyNode
    - nodesDestroyList
    - strcmp
    - splitCacheLastFuncOptCreateAggLogicNode
    - splitCacheLastFuncOptCreateMergeLogicNode
    - planError
    - nodesCloneNode
    - FOREACH
    - replaceLogicNode
    - splitCacheLastFuncOptModifyAggLogicNode
    - nodesListGetNode
    - isNeedSplitCacheLastFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splitCacheLastFuncOptimize(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5558,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5563,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5560,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5565,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - pOper
    - pCol
    - pVal
    argTypes:
    - SOperatorNode*
    - SColumnNode**
    - SValueNode**
    constantsTouched: []
    func_position:
      end: 5570
      start: 5551
    functionDepth: 0
    functionLinenumber: 5551
    functionLinenumberEnd: 5570
    functionName: tbCntScanOptGetColValFromCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptGetColValFromCond(SOperatorNode* pOper, SColumnNode**
      pCol, SValueNode** pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6347,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6373,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6362,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6364,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6355,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pJoin
    - ppList
    - srcScan
    argTypes:
    - SLogicNode*
    - SNodeList**
    - bool*
    constantsTouched: []
    func_position:
      end: 6386
      start: 6345
    functionDepth: 0
    functionLinenumber: 6345
    functionLinenumberEnd: 6386
    functionName: stbJoinOptCreateTableScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - strcmp
    - nodesDestroyNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateTableScanNodes(SLogicNode* pJoin, SNodeList**
      ppList, bool* srcScan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 7013
      start: 7010
    functionDepth: 0
    functionLinenumber: 7010
    functionLinenumberEnd: 7013
    functionName: tsmaOptFreeUsefulTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tsmaOptFreeUsefulTsma(void* p) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetAllFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:316,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:326,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:324,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:328,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:321,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:330,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:332,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:334,1
    - Dst: scanPathOptIsSpecifiedFuncType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:336,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:343,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:349,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:350,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:344,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 3
    argNames:
    - pScan
    - pSdrFuncs
    - pDsoFuncs
    argTypes:
    - SScanLogicNode*
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: scanPathOptGetRelatedFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - scanPathOptGetAllFuncs
    - scanPathOptIsSpecifiedFuncType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptGetRelatedFuncs(SScanLogicNode* pScan, SNodeList**
      pSdrFuncs, SNodeList** pDsoFuncs) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2671,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2677,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2691,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2710,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2715,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2743,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2757,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2698,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2699,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2648,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2649,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2698,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2699,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2705,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2719,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2726,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2711,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2735,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2747,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2749,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2713,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2733,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2713,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2741,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2755,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2762,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 117
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 2774
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2774
    functionName: sortForJoinOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tSimpleHashCleanup
    - nodesListMakeStrictAppend
    - collectTableAliasFromNodes
    - nodesDestroyNode
    - tSimpleHashGet
    - strlen
    - nodesCloneNode
    - nodesCloneList
    - nodesMakeNode
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortForJoinOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SJoinLogicNode* pJoin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5582,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5586,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5588,1
    - Dst: tbCntScanOptGetColValFromCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5583,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5583,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5589,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5591,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - pInfo
    - pCond
    argTypes:
    - STbCntScanOptInfo*
    - SLogicConditionNode*
    constantsTouched: []
    func_position:
      end: 5597
      start: 5572
    functionDepth: 0
    functionLinenumber: 5572
    functionLinenumberEnd: 5597
    functionName: tbCntScanOptIsEligibleLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tbCntScanOptGetColValFromCond
    - strcmp
    - tstrncpy
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleLogicCond(STbCntScanOptInfo* pInfo,
      SLogicConditionNode* pCond) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6391,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6404,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6402,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6399,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6406,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6408,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6412,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6414,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6415,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6417,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6438,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6426,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - pRoot
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 6442
      start: 6388
    functionDepth: 0
    functionLinenumber: 6388
    functionLinenumberEnd: 6442
    functionName: stbJoinOptCreateGroupCacheNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - createColumnByRewriteExpr
    - getBatchScanOptionFromHint
    - nodesListStrictAppendList
    - nodesDestroyNode
    - nodesMakeList
    - FOREACH
    - nodesCloneList
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateGroupCacheNode(SLogicNode* pRoot, SNodeList*
      pChildren, SLogicNode** ppLogic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:393,1
    - Dst: scanPathOptSetOsdInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pLogicNode
    - pInfo
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SOsdInfo*
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: scanPathOptMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - scanPathOptSetOsdInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptMatch(SOptimizeContext* pCxt, SLogicNode*
      pLogicNode, SOsdInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2077,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pGroupKeyCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2075
    functionDepth: 0
    functionLinenumber: 2075
    functionLinenumberEnd: 2079
    functionName: rewriteAggGroupKeyCondForPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteAggGroupKeyCondForPushDown(SOptimizeContext*
      pCxt, SAggLogicNode* pAgg, SNode* pGroupKeyCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3301,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3303,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pAlias
    - pTableAlias
    - pColName
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3305
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3305
    functionName: partTagsSetAlias
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosHashBinary
    - tsnprintf
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void partTagsSetAlias(char* pAlias, const char* pTableAlias,
      const char* pColName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3890,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3895,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3893,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pIndef
    argTypes:
    - SIndefRowsFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3889
    functionDepth: 0
    functionLinenumber: 3889
    functionLinenumberEnd: 3896
    functionName: rewriteTailOptNeedGroupSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool rewriteTailOptNeedGroupSort(SIndefRowsFuncLogicNode* pIndef) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3942,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3946,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3949
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3949
    functionName: rewriteTailOptCreateProjectExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesListGetNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptCreateProjectExpr(SFunctionNode* pFunc,
      SNode** ppNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4571,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4584,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4586,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4579,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4590,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4592,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4596,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pScan
    - pColNode
    - funcType
    argTypes:
    - SScanLogicNode*
    - SColumnNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4598
      start: 4570
    functionDepth: 0
    functionLinenumber: 4570
    functionLinenumberEnd: 4598
    functionName: lastRowScanBuildFuncTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t lastRowScanBuildFuncTypes(SScanLogicNode* pScan, SColumnNode*
      pColNode, int32_t funcType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4837,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4843,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4838,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4837,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4838,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4844,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4849,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4858
      start: 4836
    functionDepth: 0
    functionLinenumber: 4836
    functionLinenumberEnd: 4858
    functionName: splitCacheLastFuncOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - lastRowScanOptCheckFuncList
    - lastRowScanOptCheckLastCache
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool splitCacheLastFuncOptMayBeOptimized(SLogicNode* pNode,
      void* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6129,1
    - Dst: hashJoinOptRewriteJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6138
      start: 6127
    functionDepth: 0
    functionLinenumber: 6127
    functionLinenumberEnd: 6138
    functionName: hashJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - hashJoinOptRewriteJoin
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hashJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - EFuncDataRequired
    - EFuncDataRequired
    constantsTouched: []
    func_position:
      end: 412
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 412
    functionName: scanPathOptPromoteDataRequired
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'static EFuncDataRequired scanPathOptPromoteDataRequired(EFuncDataRequired
      l, EFuncDataRequired r) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2083,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2087,1
    - Dst: partitionAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2093,1
    - Dst: pushCondToAggCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2095,1
    - Dst: rewriteAggGroupKeyCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2098,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2101,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2102,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2108,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2109,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pAgg
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 2112
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2112
    functionName: pdcDealAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - pushCondToAggCond
    - partitionAggCond
    - nodesDestroyNode
    - rewriteAggGroupKeyCondForPushDown
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - pdcPushDownCondToChild
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcDealAgg(SOptimizeContext* pCxt, SAggLogicNode* pAgg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3900,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3912,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3906,1
    - Dst: rewriteTailOptNeedGroupSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3905,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3907,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3920,1
    - Dst: rewriteTailOptCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3923,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3923,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3925,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3928,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3934,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 3938
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 3938
    functionName: rewriteTailOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - rewriteTailOptNeedGroupSort
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    - rewriteTailOptCreateOrderByExpr
    - nodesDestroyNode
    - optResetParent
    - FOREACH
    - nodesCloneList
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptCreateSort(SIndefRowsFuncLogicNode* pIndef,
      SLogicNode** pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3953,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3963,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3967,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3958,1
    - Dst: rewriteTailOptCreateProjectExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3965,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3978,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3979,1
    - Dst: rewriteTailOptCreateLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3981,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3981,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3982,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3988,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 3991
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 3991
    functionName: rewriteTailOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - LIST_LENGTH
    - rewriteTailOptCreateProjectExpr
    - nodesListMakeStrictAppend
    - rewriteTailOptCreateLimit
    - nodesDestroyNode
    - FOREACH
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptCreateProject(SIndefRowsFuncLogicNode*
      pIndef, SLogicNode** pOutput) '
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4601,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4611,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4625,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4626,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4629,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4631,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4657,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4676,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4681,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4717,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4752,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4788,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4808,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4796,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4799,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4777,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4816,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4814,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4761,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4741,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4757,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4807,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4626,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4659,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4654,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4650,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4668,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4691,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4697,1
    - Dst: lastRowScanBuildFuncTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4713,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4721,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4723,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4752,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4796,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4801,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4818,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4708,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4803,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4636,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4634,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4663,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4667,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4689,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4695,1
    - Dst: lastRowScanBuildFuncTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4701,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4719,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4735,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4739,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4736,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4806,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4832,1
    - Dst: lastRowScanOptSetLastTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4785,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4786,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4625,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4614,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4648,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4643,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4673,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4675,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4684,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4706,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4710,1
    - Dst: lastRowScanBuildFuncTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4726,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4751,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4790,1
    - Dst: lastRowScanOptSetLastTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4793,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4820,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4824,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4826,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4756,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4789,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4776,1
    - Dst: lastRowScanOptRemoveUslessTargets
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4794,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4814,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 231
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 4834
      start: 4600
    functionDepth: 0
    functionLinenumber: 4600
    functionLinenumberEnd: 4834
    functionName: lastRowScanOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodesEqualNode
    - tsnprintf
    - nodesListGetNode
    - nodesListGetCell
    - taosArrayInit
    - nodeType
    - nodesListAppend
    - taosArrayDestroy
    - nodesListMakeStrictAppend
    - nodesClearList
    - lastRowScanOptSetLastTargets
    - FOREACH
    - fmGetFuncInfo
    - nodesWalkExpr
    - optFindPossibleNode
    - nodeListNodeEqual
    - taosArrayGet
    - strncmp
    - lastRowScanOptRemoveUslessTargets
    - nodesDestroyNode
    - tstrncpy
    - nodesListStrictAppend
    - nodesListMakeAppend
    - nodesListErase
    - snprintf
    - LIST_LENGTH
    - lastRowScanBuildFuncTypes
    - nodesCloneNode
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t lastRowScanOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4865,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4949,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4955,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4959,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4960,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4903,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4905,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4909,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4913,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4919,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4921,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4944,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4965,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4967,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4970,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4890,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4866,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4892,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4897,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4925,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4927,1
    - Dst: nodesFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4935,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4947,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4962,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4863,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4873,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4916,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4910,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4914,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4930,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4932,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4937,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 101
    argCount: 4
    argNames:
    - pNewAgg
    - pAgg
    - pFunc
    - pTargets
    argTypes:
    - SAggLogicNode**
    - SAggLogicNode*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4976
      start: 4860
    functionDepth: 0
    functionLinenumber: 4860
    functionLinenumberEnd: 4976
    functionName: splitCacheLastFuncOptCreateAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - nodesDestroyList
    - nodesFree
    - nodesCollectColumnsFromNode
    - FOREACH
    - nodesCloneNode
    - nodesCloneList
    - OPTIMIZE_FLAG_CLEAR_MASK
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splitCacheLastFuncOptCreateAggLogicNode(SAggLogicNode**
      pNewAgg, SAggLogicNode* pAgg, SNodeList* pFunc, SNodeList* pTargets) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6141,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6156,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6158,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6157,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6142,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6158,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6163
      start: 6140
    functionDepth: 0
    functionLinenumber: 6140
    functionLinenumberEnd: 6163
    functionName: stbJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6184,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6195,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6192,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6185,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6190,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6201,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6204,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6206,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6207,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6213,1
    - Dst: stbJoinOptAddFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6223,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6231,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6227,1
    - Dst: stbJoinOptAddFuncToScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6220,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - pJoin
    - pNode
    argTypes:
    - SLogicNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 6235
      start: 6179
    functionDepth: 0
    functionLinenumber: 6179
    functionLinenumberEnd: 6235
    functionName: stbJoinOptRewriteToTagScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - taosStrcasecmp
    - tagScanSetExecutionMode
    - WHERE_EACH
    - stbJoinOptAddFuncToScanNode
    - nodesDestroyList
    - nodesCollectColumnsFromNode
    - nodesMakeList
    - NODES_DESTORY_NODE
    - FOREACH
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stbJoinOptRewriteToTagScan(SLogicNode* pJoin, SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPartKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3292
    functionDepth: 0
    functionLinenumber: 3292
    functionLinenumberEnd: 3296
    functionName: partTagsOptRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partTagsOptRebuildTbanme(SNodeList* pPartKeys) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6481,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6493,1
    - Dst: stbJoinOptRemoveTagEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6489,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6493,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6490,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6494,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6498,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pOrig
    - pChild
    - ppLogic
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 6504
      start: 6478
    functionDepth: 0
    functionLinenumber: 6478
    functionLinenumberEnd: 6504
    functionName: stbJoinOptCreateMergeJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - nodesDestroyNode
    - stbJoinOptRemoveTagEqCond
    - FOREACH
    - NODES_DESTORY_NODE
    - nodesCloneNode
    - nodesListStrictAppend
    - OPTIMIZE_FLAG_SET_MASK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateMergeJoinNode(SLogicNode* pOrig, SLogicNode*
      pChild, SLogicNode** ppLogic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6982,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7002,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6983,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7003,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScan
    - tz
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7008
      start: 6974
    functionDepth: 0
    functionLinenumber: 6974
    functionLinenumberEnd: 7008
    functionName: fillTSMAOptCtx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - nodeType
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillTSMAOptCtx(STSMAOptCtx* pTsmaOptCtx, SScanLogicNode*
      pScan, void* tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7451,1
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7453,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7455,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 5
    argNames:
    - pNodes
    - pCtx
    - pTsma
    - rewriteTbName
    - rewriteTag
    argTypes:
    - SNodeList*
    - STSMAOptCtx*
    - STSMAOptUsefulTsma*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 7458
      start: 7447
    functionDepth: 0
    functionLinenumber: 7447
    functionLinenumberEnd: 7458
    functionName: tsmaOptRewriteNodeList
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - REPLACE_NODE
    - tsmaOptRewriteNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteNodeList(SNodeList* pNodes, STSMAOptCtx*
      pCtx, const STSMAOptUsefulTsma* pTsma, bool rewriteTbName, bool rewriteTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7890,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7891,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7891,1
    - Dst: fmIsLastFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7892,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7890,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7893,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7894,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7895,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pAgg
    - pFunc
    argTypes:
    - SAggLogicNode*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 7904
      start: 7887
    functionDepth: 0
    functionLinenumber: 7887
    functionLinenumberEnd: 7904
    functionName: mergeAggFuncToAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - fmIsTimelineFunc
    - fmIsKeepOrderFunc
    - nodesDestroyNode
    - nodesCloneNode
    - fmIsLastRowFunc
    - PLAN_ERR_JRET
    - fmIsLastFunc
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeAggFuncToAggNode(SAggLogicNode* pAgg, SFunctionNode*
      pFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasSuitableCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4440,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - pAgg
    - pScan
    argTypes:
    - SAggLogicNode*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 4446
      start: 4437
    functionDepth: 0
    functionLinenumber: 4437
    functionLinenumberEnd: 4446
    functionName: lastRowScanOptCheckLastCache
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - hasSuitableCache
    - IS_TSWINDOW_SPECIFIED
    linkageType: ''
    returnType: bool
    signature: 'static bool lastRowScanOptCheckLastCache(SAggLogicNode* pAgg, SScanLogicNode*
      pScan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7973,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7987,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8003,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7992,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8012,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8017,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8026,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8027,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8033,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7979,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8008,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8000,1
    - Dst: OPTIMIZE_FLAG_CLEAR_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8014,1
    - Dst: rebuildPlanForPdaOptimize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7987,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8018,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8020,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7976,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7980,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8017,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8024,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8028,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8034,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8035,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7964,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7969,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7971,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7992,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8000,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8018,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8019,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8020,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 8037
      start: 7961
    functionDepth: 0
    functionLinenumber: 7961
    functionLinenumberEnd: 8037
    functionName: pdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    - taosHashCleanup
    - taosHashInit
    - nodeType
    - nodesListMakeStrictAppend
    - rebuildPlanForPdaOptimize
    - FOREACH
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - optFindPossibleNode
    - nodesDestroyNode
    - replaceLogicNode
    - OPTIMIZE_FLAG_CLEAR_MASK
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesListMakeAppend
    - LIST_LENGTH
    - taosHashIterate
    - taosHashGetSize
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdaOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1134,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1136,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1132,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1080,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1093,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1091,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1119,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1135,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1086,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1116,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1122,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1131,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1138,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1084,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1097,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1099,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1113,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1137,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1133,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1142
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1142
    functionName: pdcJoinPartLogicEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesMergeConds
    - nodesDestroyNode
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - pdcJoinIsEqualOnCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinPartLogicEqualOnCond(SJoinLogicNode* pJoin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1553,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1555,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1557,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1575
    functionName: pdcCheckTableCondType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinColInTableList
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes pdcCheckTableCondType(SNode* pNode, void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2574,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2576,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2590,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2577,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2580,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2593,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2596,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2598,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2600,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2602,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2603,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    - pSequencingNodes
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2572
    functionDepth: 0
    functionLinenumber: 2572
    functionLinenumberEnd: 2607
    functionName: sortPriKeyOptApply
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - optSetParentOrder
    - nodesDestroyNode
    - sortPriKeyOptGetPriKeyOrder
    - FOREACH
    - replaceLogicNode
    - NODES_CLEAR_LIST
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPriKeyOptApply(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SSortLogicNode* pSort, SNodeList* pSequencingNodes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2813,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2821,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2821,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2826
      start: 2812
    functionDepth: 0
    functionLinenumber: 2812
    functionLinenumberEnd: 2826
    functionName: joinCondGetScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - joinCondGetScanNode
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: SScanLogicNode*
    signature: 'static SScanLogicNode * joinCondGetScanNode(SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaIndexOptCreateSmaScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3173,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3175,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3178,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pLogicSubplan
    - pScan
    - pIndex
    - pSmaCols
    argTypes:
    - SLogicSubplan*
    - SScanLogicNode*
    - STableIndexInfo*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3181
      start: 3170
    functionDepth: 0
    functionLinenumber: 3170
    functionLinenumberEnd: 3181
    functionName: smaIndexOptApplyIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - replaceLogicNode
    - smaIndexOptCreateSmaScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptApplyIndex(SLogicSubplan* pLogicSubplan,
      SScanLogicNode* pScan, STableIndexInfo* pIndex, SNodeList* pSmaCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 4983
      start: 4978
    functionDepth: 0
    functionLinenumber: 4978
    functionLinenumberEnd: 4983
    functionName: splitCacheLastFuncOptModifyAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splitCacheLastFuncOptModifyAggLogicNode(SAggLogicNode*
      pAgg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sortNonPriKeySatisfied
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5793,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5798
      start: 5792
    functionDepth: 0
    functionLinenumber: 5792
    functionLinenumberEnd: 5798
    functionName: sortNonPriKeyShouldOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - sortNonPriKeySatisfied
    linkageType: ''
    returnType: bool
    signature: 'static bool sortNonPriKeyShouldOptimize(SLogicNode* pNode, void* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6608,1
    - Dst: stbJoinOptRewriteStableJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6614
      start: 6607
    functionDepth: 0
    functionLinenumber: 6607
    functionLinenumberEnd: 6614
    functionName: stableJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - stbJoinOptRewriteStableJoin
    - optFindPossibleNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stableJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1153,1
    - Dst: pdcJoinPartLogicEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1155,1
    - Dst: pdcJoinIsEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1160,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1184
      start: 1144
    functionDepth: 0
    functionLinenumber: 1144
    functionLinenumberEnd: 1184
    functionName: pdcJoinPartEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinPartLogicEqualOnCond
    - pdcJoinIsEqualOnCond
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinPartEqualOnCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1616
    functionName: pdcJoinGetOpTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinGetOpTableCondTypes(SNode* pCond, SSHashObj*
      pLeftTables, SSHashObj* pRightTables, bool* tableCondTypes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetSequencingNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2612,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2617,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2619,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2621,1
    - Dst: sortPriKeyOptApply
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2615,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2623,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2624,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2629,1
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2629,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2635,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSort
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SSortLogicNode*
    constantsTouched: []
    func_position:
      end: 2637
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2637
    functionName: sortPrimaryKeyOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - sortPriKeyOptGetSequencingNodes
    - optSetParentOrder
    - nodesDestroyNode
    - nodesClearList
    - sortPriKeyOptGetPriKeyOrder
    - NODES_CLEAR_LIST
    - replaceLogicNode
    - nodesListGetNode
    - sortPriKeyOptApply
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPrimaryKeyOptimizeImpl(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan, SSortLogicNode* pSort) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2829,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2837,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2837,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2831,1
    - Dst: joinCondGetAllScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2839,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pList
    argTypes:
    - SLogicNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2846
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2846
    functionName: joinCondGetAllScanNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - joinCondGetAllScanNodes
    - nodeType
    - nodesListGetNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t joinCondGetAllScanNodes(SLogicNode* pNode, SNodeList**
      pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3187,1
    - Dst: smaIndexOptCouldApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3189,1
    - Dst: smaIndexOptApplyIndex
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3191,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pScan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3197
    functionName: smaIndexOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - smaIndexOptApplyIndex
    - smaIndexOptCouldApplyIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SScanLogicNode* pScan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4988,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5006,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4998,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5004,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5007,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5015,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - pNew
    - pAgg1
    - pAgg2
    argTypes:
    - SMergeLogicNode**
    - SAggLogicNode*
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 5015
      start: 4985
    functionDepth: 0
    functionLinenumber: 4985
    functionLinenumberEnd: 5015
    functionName: splitCacheLastFuncOptCreateMergeLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - FOREACH
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splitCacheLastFuncOptCreateMergeLogicNode(SMergeLogicNode**
      pNew, SAggLogicNode* pAgg1, SAggLogicNode* pAgg2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5802,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5815,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5809,1
    - Dst: optFindEligibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5807,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5813,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5817,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5820,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5822
      start: 5800
    functionDepth: 0
    functionLinenumber: 5800
    functionLinenumberEnd: 5822
    functionName: sortNonPriKeyOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optSetParentOrder
    - nodesClearList
    - optFindEligibleNode
    - FOREACH
    - nodesMakeList
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortNonPriKeyOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6631
      start: 6616
    functionDepth: 0
    functionLinenumber: 6616
    functionLinenumberEnd: 6631
    functionName: grpJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool grpJoinOptShouldBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7470,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7474,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7485,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7490,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7495,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7520,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7515,1
    - Dst: tsmaOptCreateTsmaScanCols
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7482,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7486,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7488,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7498,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7527,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7479,1
    - Dst: tsmaOptRewriteNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7501,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7512,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7531,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7535,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7509,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7510,1
    - Dst: tsmaOptRewriteNodeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7504,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7513,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pNewScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    constantsTouched: []
    func_position:
      end: 7540
      start: 7460
    functionDepth: 0
    functionLinenumber: 7460
    functionLinenumberEnd: 7540
    functionName: tsmaOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodesRewriteExpr
    - nodesListMakeStrictAppend
    - tsmaOptRewriteNode
    - taosMemoryCalloc
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - FOREACH
    - nodesCloneNode
    - tsmaOptCreateTsmaScanCols
    - memcpy
    - taosArrayGetSize
    - taosMemoryFreeClear
    - REPLACE_NODE
    - tsmaOptRewriteNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteScan(STSMAOptCtx* pTsmaOptCtx, SScanLogicNode*
      pNewScan, const STSMAOptUsefulTsma* pTsma) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6636,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6648,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6656,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6659,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6665,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - pParent
    - pChild
    - leftChild
    - pNew
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 6668
      start: 6633
    functionDepth: 0
    functionLinenumber: 6633
    functionLinenumberEnd: 6668
    functionName: grpJoinOptCreatePartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t grpJoinOptCreatePartitionNode(SLogicNode* pParent,
      SLogicNode* pChild, bool leftChild, SLogicNode** pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7916,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7920,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7925,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7926,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7933,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7934,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7929,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7927,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7929,1
    - Dst: mergeAggFuncToAggNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7926,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7939,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7918,1
    - Dst: findDepTableScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7916,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7925,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7919,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7922,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7922,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7933,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7927,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7929,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pCol
    - pAggFunc
    - pVScan
    - pAggNodeMap
    argTypes:
    - SColumnNode*
    - SFunctionNode*
    - SVirtualScanLogicNode*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 7942
      start: 7906
    functionDepth: 0
    functionLinenumber: 7906
    functionLinenumberEnd: 7942
    functionName: rebuildPlanForPdaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - mergeAggFuncToAggNode
    - TAOS_STRNCAT
    - findDepTableScanNode
    - nodesDestroyNode
    - taosHashGet
    - strlen
    - taosHashPut
    - PLAN_ERR_JRET
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rebuildPlanForPdaOptimize(SColumnNode* pCol, SFunctionNode*
      pAggFunc, SVirtualScanLogicNode* pVScan, SHashObj* pAggNodeMap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:272,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:273,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:279,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:275,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:283,1
    - Dst: scanPathOptHaveNormalCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 287
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 287
    functionName: scanPathOptShouldGetFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - scanPathOptHaveNormalCol
    linkageType: ''
    returnType: bool
    signature: 'static bool scanPathOptShouldGetFuncs(SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2029,1
    - Dst: partitionAggCondHasAggFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2033,1
    - Dst: partitionAggCondConj
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2031,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pAgg
    - ppAggFunCond
    - ppGroupKeyCond
    argTypes:
    - SAggLogicNode*
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 2040
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2040
    functionName: partitionAggCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - partitionAggCondConj
    - partitionAggCondHasAggFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionAggCond(SAggLogicNode* pAgg, SNode** ppAggFunCond,
      SNode** ppGroupKeyCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3529,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3533,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3533,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3529,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3531,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3535,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3539,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3539,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3545,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pProjectNode
    - pRet
    argTypes:
    - SProjectLogicNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 3548
      start: 3527
    functionDepth: 0
    functionLinenumber: 3527
    functionLinenumberEnd: 3548
    functionName: eliminateProjOptCheckProjColumnNames
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - strlen
    - FOREACH
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateProjOptCheckProjColumnNames(SProjectLogicNode*
      pProjectNode, bool* pRet) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4131,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4136,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4145,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4147,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4137,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4149,1
    - Dst: rewriteUniqueOptCreateGroupingSet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4151,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4153,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4158,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4160,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4164,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4166,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4175,1
    - Dst: rewriteUniqueOptCreateFirstFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4183,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4192,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4185,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4178,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 67
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 4195
      start: 4129
    functionDepth: 0
    functionLinenumber: 4129
    functionLinenumberEnd: 4195
    functionName: rewriteUniqueOptCreateAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - rewriteUniqueOptCreateGroupingSet
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - optResetParent
    - FOREACH
    - rewriteUniqueOptCreateFirstFunc
    - nodesCloneNode
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptCreateAgg(SIndefRowsFuncLogicNode*
      pIndef, SLogicNode** pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5910,1
    - Dst: filterClassifyCondition
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5928,1
    - Dst: hashJoinOptSplitPrimFromLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5912,1
    - Dst: filterIsMultiTableColsCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5920,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pCondition
    - pPrimaryKeyCond
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5935
      start: 5909
    functionDepth: 0
    functionLinenumber: 5909
    functionLinenumberEnd: 5935
    functionName: hashJoinOptSplitPrimCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - hashJoinOptSplitPrimFromLogicCond
    - filterClassifyCondition
    - filterIsMultiTableColsCond
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hashJoinOptSplitPrimCond(SNode** pCondition, SNode** pPrimaryKeyCond) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6753,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6757,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6759,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6763,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6766,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6771,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6778,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6784,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6787,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6791,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6806,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6796,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 2
    argNames:
    - pPartition
    - ppSort
    argTypes:
    - SPartitionLogicNode*
    - SSortLogicNode**
    constantsTouched: []
    func_position:
      end: 6812
      start: 6749
    functionDepth: 0
    functionLinenumber: 6749
    functionLinenumberEnd: 6812
    functionName: partColOptCreateSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - FOREACH
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partColOptCreateSort(SPartitionLogicNode* pPartition,
      SSortLogicNode** ppSort) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7544,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7548,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7551,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7552,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7553,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7556,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - precision
    - pWStartOut
    argTypes:
    - int8_t
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 7563
      start: 7542
    functionDepth: 0
    functionLinenumber: 7542
    functionLinenumberEnd: 7563
    functionName: tsmaOptCreateWStart
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - nodesDestroyNode
    - tstrncpy
    - fmGetFuncInfo
    - taosHashBinary
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptCreateWStart(int8_t precision, SFunctionNode**
      pWStartOut) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptShouldGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:290,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: scanPathOptGetAllFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - scanPathOptShouldGetFuncs
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * scanPathOptGetAllFuncs(SLogicNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pAgg
    - pAggFuncCond
    argTypes:
    - SOptimizeContext*
    - SAggLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 2044
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2044
    functionName: pushCondToAggCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushCondToAggCond(SOptimizeContext* pCxt, SAggLogicNode*
      pAgg, SNode** pAggFuncCond) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3554,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3565,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3570,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3576,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3553,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3564,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3576,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3574,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3575,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3597,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3553,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3554,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3564,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3565,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3566,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3593,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3555,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3559,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3570,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3591,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3574,1
    - Dst: eliminateProjOptCheckProjColumnNames
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3603,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 70
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3608
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3608
    functionName: eliminateProjOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - strcmp
    - OPTIMIZE_FLAG_TEST_MASK
    - FOREACH
    - eliminateProjOptCheckProjColumnNames
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool eliminateProjOptMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4199,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4208,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4208,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4207,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4206,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4210,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4213,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pFunc
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 4218
      start: 4197
    functionDepth: 0
    functionLinenumber: 4197
    functionLinenumberEnd: 4218
    functionName: rewriteUniqueOptCreateProjectCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tstrncpy
    - nodesCloneNode
    - PLAN_ERR_RET
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptCreateProjectCol(SFunctionNode* pFunc,
      SNode** ppNode) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5967,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6015,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6049,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6051,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6052,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6060,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6081,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6063,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5951,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5982,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5990,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6057,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6064,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6074,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6075,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6122,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5978,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5981,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5999,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6004,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6011,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6028,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6034,1
    - Dst: mergeJoinConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6037,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6019,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6041,1
    - Dst: hashJoinOptSplitPrimCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5968,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5993,1
    - Dst: getTimeRangeFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6010,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6000,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6040,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6071,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 134
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6125
      start: 5937
    functionDepth: 0
    functionLinenumber: 5937
    functionLinenumberEnd: 6125
    functionName: hashJoinOptRewriteJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWINDOW_IS_EQUAL
    - nodesDestroyNode
    - getTimeRangeFromNode
    - hashJoinOptSplitPrimCond
    - TAOS_SET_OBJ_ALIGNED
    - FOREACH
    - OPTIMIZE_FLAG_SET_MASK
    - mergeJoinConds
    - TMAX
    - pdcJoinSplitCond
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t hashJoinOptRewriteJoin(SOptimizeContext* pCxt, SLogicNode*
      pNode, SLogicSubplan* pLogicSubplan) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6818,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6843,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6874,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6880,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6882,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6839,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6849,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6859,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6867,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6847,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6875,1
    - Dst: partColOptCreateSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6825,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6820,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6844,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6853,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6857,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6830,1
    - Dst: getSortForGroupOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6822,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6831,1
    - Dst: optResetParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6832,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6834,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6836,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6864,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6874,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6889
      start: 6814
    functionDepth: 0
    functionLinenumber: 6814
    functionLinenumberEnd: 6889
    functionName: partitionColsOpt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - partColOptCreateSort
    - TSWAP
    - nodeType
    - nodesDestroyNode
    - optResetParent
    - FOREACH
    - replaceLogicNode
    - nodesMakeList
    - nodesCloneNode
    - nodesListStrictAppend
    - getLogicNodeRootNode
    - NODES_CLEAR_LIST
    - getOptHint
    - nodesListGetNode
    - nodesMakeNode
    - getSortForGroupOptHint
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionColsOpt(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7201,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7204,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7203,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7202,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 6
    argNames:
    - pUsefulTsmas
    - startIdx
    - startAlignInterval
    - endAlignInterval
    - precision
    - tz
    argTypes:
    - SArray*
    - int32_t
    - int64_t
    - int64_t
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 7209
      start: 7196
    functionDepth: 0
    functionLinenumber: 7196
    functionLinenumberEnd: 7209
    functionName: tsmaOptFindUsefulTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosTimeTruncate
    - tsmaOptInitIntervalFromTsma
    linkageType: ''
    returnType: STSMAOptUsefulTsma*
    signature: 'static const STSMAOptUsefulTsma * tsmaOptFindUsefulTsma(const SArray*
      pUsefulTsmas, int32_t startIdx, int64_t startAlignInterval, int64_t endAlignInterval,
      int8_t precision, void* tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2149,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pProject
    - ppProjectCond
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 2153
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2153
    functionName: rewriteProjectCondForPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteProjectCondForPushDown(SOptimizeContext* pCxt,
      SProjectLogicNode* pProject, SNode** ppProjectCond) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetPriKeyOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2507,1
    - Dst: sortPriKeyOptHasUnsupportedPkFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2508,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2518,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2529,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2525,1
    - Dst: sortPriKeyOptHandleJoinSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2533,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2541,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2552,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2557,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2557,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 6
    argNames:
    - pNode
    - groupSort
    - pSort
    - pNotOptimize
    - pSequencingNodes
    - keepSort
    argTypes:
    - SLogicNode*
    - bool
    - SSortLogicNode*
    - bool*
    - SNodeList**
    - bool*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2559
    functionName: sortPriKeyOptGetSequencingNodesImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - sortPriKeyOptGetSequencingNodesImpl
    - sortPriKeyOptHasUnsupportedPkFunc
    - sortPriKeyOptGetPriKeyOrder
    - sortPriKeyOptHandleJoinSort
    - NODES_CLEAR_LIST
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sortPriKeyOptGetSequencingNodesImpl(SLogicNode* pNode, bool
      groupSort, SSortLogicNode* pSort, bool* pNotOptimize, SNodeList** pSequencingNodes,
      bool* keepSort) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2777,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2787,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2786,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2801
      start: 2776
    functionDepth: 0
    functionLinenumber: 2776
    functionLinenumberEnd: 2801
    functionName: sortForJoinOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sortForJoinOptMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4077,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4085,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4088,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 4093
      start: 4075
    functionDepth: 0
    functionLinenumber: 4075
    functionLinenumberEnd: 4093
    functionName: rewriteUniqueOptCreateGroupingSet
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptCreateGroupingSet(SNode* pExpr, SNode**
      ppNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6510,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6526,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6517,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6521,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6516,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6531,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6536,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6536,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6539,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6539,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6545,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6549,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6555,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6542,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6551,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6542,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6565,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - pRoot
    - pPrev
    - pPost
    - srcScan
    - ppDynNode
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - SLogicNode*
    - bool*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 6570
      start: 6506
    functionDepth: 0
    functionLinenumber: 6506
    functionLinenumberEnd: 6570
    functionName: stbJoinOptCreateDynQueryCtrlNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - getBatchScanOptionFromHint
    - nodesDestroyNode
    - nodesMakeList
    - nodesListStrictAppend
    - nodesCloneList
    - memcpy
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateDynQueryCtrlNode(SLogicNode* pRoot,
      SLogicNode* pPrev, SLogicNode* pPost, bool* srcScan, SLogicNode** ppDynNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2157,1
    - Dst: rewriteProjectCondForPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2175,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2168,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2177,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2161,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2181,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pProject
    argTypes:
    - SOptimizeContext*
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 2187
      start: 2155
    functionDepth: 0
    functionLinenumber: 2155
    functionLinenumberEnd: 2187
    functionName: pdcDealProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - rewriteProjectCondForPushDown
    - LIST_LENGTH
    - nodesDestroyNode
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - pdcPushDownCondToChild
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcDealProject(SOptimizeContext* pCxt, SProjectLogicNode*
      pProject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2564,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2564,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2567,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - pSort
    - groupSort
    - pSequencingNodes
    - keepSort
    argTypes:
    - SSortLogicNode*
    - bool
    - SNodeList**
    - bool*
    constantsTouched: []
    func_position:
      end: 2570
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2570
    functionName: sortPriKeyOptGetSequencingNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - sortPriKeyOptGetSequencingNodesImpl
    - NODES_CLEAR_LIST
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPriKeyOptGetSequencingNodes(SSortLogicNode* pSort,
      bool groupSort, SNodeList** pSequencingNodes, bool* keepSort) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2805,1
    - Dst: sortForJoinOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2809,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2810
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2810
    functionName: sortForJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - sortForJoinOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortForJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4097,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4102,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4108,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4110,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4113,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4115,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pSelectValue
    - pCol
    - ppNode
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 4127
      start: 4095
    functionDepth: 0
    functionLinenumber: 4095
    functionLinenumberEnd: 4127
    functionName: rewriteUniqueOptCreateFirstFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - fmGetFuncInfo
    - taosHashBinary
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptCreateFirstFunc(SFunctionNode* pSelectValue,
      SNode* pCol, SNode** ppNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbJoinOptCreateTagScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6581,1
    - Dst: stbJoinOptCreateTableScanNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6586,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6589,1
    - Dst: stbJoinOptCreateTagHashJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6583,1
    - Dst: stbJoinOptCreateGroupCacheNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6589,1
    - Dst: stbJoinOptCreateMergeJoinNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6592,1
    - Dst: stbJoinOptCreateDynQueryCtrlNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6595,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6595,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6598,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6601,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6605
      start: 6572
    functionDepth: 0
    functionLinenumber: 6572
    functionLinenumberEnd: 6605
    functionName: stbJoinOptRewriteStableJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - stbJoinOptCreateGroupCacheNode
    - stbJoinOptCreateDynQueryCtrlNode
    - stbJoinOptCreateTableScanNodes
    - nodesDestroyNode
    - stbJoinOptCreateMergeJoinNode
    - replaceLogicNode
    - getLogicNodeRootNode
    - stbJoinOptCreateTagHashJoinNode
    - stbJoinOptCreateTagScanNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptRewriteStableJoin(SOptimizeContext* pCxt,
      SLogicNode* pJoin, SLogicSubplan* pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5721,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5720,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5724,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5722,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5729,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pCntFunc
    - pParam
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 5732
      start: 5714
    functionDepth: 0
    functionLinenumber: 5714
    functionLinenumberEnd: 5732
    functionName: tbCntScanOptCreateSumFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - createColumnByRewriteExpr
    - nodesDestroyNode
    - tstrncpy
    - fmGetFuncInfo
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tbCntScanOptCreateSumFunc(SFunctionNode* pCntFunc,
      SNode* pParam, SNode** pOutput) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7578,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7597,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7589,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7587,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7592,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7600,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7603,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7610,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7612,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7614,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7618,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7616,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7622,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7633,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7637,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7629,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7634,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7627,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 55
    argCount: 4
    argNames:
    - pTsmaOptCtx
    - pParent
    - pScan
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SLogicNode*
    - SScanLogicNode*
    - STSMAOptUsefulTsma*
    constantsTouched: []
    func_position:
      end: 7641
      start: 7565
    functionDepth: 0
    functionLinenumber: 7565
    functionLinenumberEnd: 7641
    functionName: tsmaOptRewriteParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListErase
    - fmIsPseudoColumnFunc
    - nodesRewriteExpr
    - nodesListPushFront
    - fmGetDistMethod
    - nodesDestroyNode
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - fmIsGroupKeyFunc
    - createColumnByRewriteExprs
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteParent(STSMAOptCtx* pTsmaOptCtx, SLogicNode*
      pParent, SScanLogicNode* pScan, const STSMAOptUsefulTsma* pTsma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6445,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6446,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6449,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6445,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6452,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6453,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6454,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6456,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6460,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6461,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6467,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6473,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 6476
      start: 6444
    functionDepth: 0
    functionLinenumber: 6444
    functionLinenumberEnd: 6476
    functionName: stbJoinOptRemoveTagEqCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - ERASE_NODE
    - nodesEqualNode
    - NODES_DESTORY_NODE
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void stbJoinOptRemoveTagEqCond(SJoinLogicNode* pJoin) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7650,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7654,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7656,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7655,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7661,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7667,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7669,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7677,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7685,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7687,1
    - Dst: tsmaOptRewriteParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7692,1
    - Dst: tsmaOptRewriteScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7694,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 1
    argNames:
    - pTsmaOptCtx
    argTypes:
    - STSMAOptCtx*
    constantsTouched: []
    func_position:
      end: 7701
      start: 7643
    functionDepth: 0
    functionLinenumber: 7643
    functionLinenumberEnd: 7701
    functionName: tsmaOptGeneratePlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - tsmaOptRewriteParent
    - tstrncpy
    - nodesCloneNode
    - tsmaOptRewriteScan
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptGeneratePlan(STSMAOptCtx* pTsmaOptCtx) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7221,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7235,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7237,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7231,1
    - Dst: tsmaOptInitIntervalFromTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7227,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7238,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7245,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7247,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7248,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7256,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7258,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7270,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7260,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7289,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7264,1
    - Dst: tsmaOptFindUsefulTsma
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7276,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pScanRange
    - tz
    argTypes:
    - STSMAOptCtx*
    - STimeWindow*
    - void*
    constantsTouched: []
    func_position:
      end: 7292
      start: 7211
    functionDepth: 0
    functionLinenumber: 7211
    functionLinenumberEnd: 7292
    functionName: tsmaOptSplitWindows
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tsmaOptFindUsefulTsma
    - taosArrayGet
    - taosTimeAdd
    - taosArrayPush
    - TMIN
    - taosTimeTruncate
    - tsmaOptInitIntervalFromTsma
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptSplitWindows(STSMAOptCtx* pTsmaOptCtx, const
      STimeWindow* pScanRange, void* tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2327,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2330,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2331,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pSortKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2332
    functionName: sortPriKeyOptIsPriKeyOrderBy
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - isPrimaryKeyImpl
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sortPriKeyOptIsPriKeyOrderBy(SNodeList* pSortKeys) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2253,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2268,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2263,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2282,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2284,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2287,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2289,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2290,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2298,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2302,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2293,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2299,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2309
    functionName: eliminateNotNullCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsIgnoreNullFunc
    - fmIsMultiResFunc
    - nodesEqualNode
    - FOREACH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool eliminateNotNullCondMayBeOptimized(SLogicNode* pNode,
      void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3073,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pQueryFunc
    - pSmaFuncs
    argTypes:
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3080
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3080
    functionName: smaIndexOptFindSmaFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexOptFindSmaFunc(SNode* pQueryFunc, SNodeList*
      pSmaFuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 3264
      start: 3258
    functionDepth: 0
    functionLinenumber: 3258
    functionLinenumberEnd: 3264
    functionName: partTagsGetPartKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * partTagsGetPartKeys(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3276,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3277,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3282
      start: 3274
    functionDepth: 0
    functionLinenumber: 3274
    functionLinenumberEnd: 3282
    functionName: partTagsOptAreSupportedFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - fmIsSelectFunc
    - FOREACH
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsOptAreSupportedFuncs(SNodeList* pFuncs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3352,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3357,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3353,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pExpr
    - pTargets
    argTypes:
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3362
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3362
    functionName: partTagsNeedOutput
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - strcmp
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsNeedOutput(SNode* pExpr, SNodeList* pTargets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3691,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3693,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pParentProjects
    - pChildTargets
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3701
      start: 3689
    functionDepth: 0
    functionLinenumber: 3689
    functionLinenumberEnd: 3701
    functionName: eliminateProjPushdownProjIdx
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void eliminateProjPushdownProjIdx(SNodeList* pParentProjects,
      SNodeList* pChildTargets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4063,1
    - Dst: eliminateSetOpOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 4069
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4069
    functionName: eliminateSetOpOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - eliminateSetOpOptimizeImpl
    - optFindPossibleNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateSetOpOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2335,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2340,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2339,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2343,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2344,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2351,1
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2352,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2358
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2358
    functionName: sortPriKeyOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - optFindPossibleNode
    - sortPriKeyOptIsPriKeyOrderBy
    - FOREACH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sortPriKeyOptMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2312,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2317,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2324
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2324
    functionName: eliminateNotNullCondOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - nodesDestroyNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateNotNullCondOptimize(SOptimizeContext* pCxt,
      SLogicSubplan* pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3084,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3085,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pSmaFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3090
      start: 3082
    functionDepth: 0
    functionLinenumber: 3082
    functionLinenumberEnd: 3090
    functionName: smaIndexOptFindWStartFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * smaIndexOptFindWStartFunc(SNodeList* pSmaFuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 3272
      start: 3266
    functionDepth: 0
    functionLinenumber: 3266
    functionLinenumberEnd: 3272
    functionName: partTagsGetFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * partTagsGetFuncs(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: partTagsIsOptimizableNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3285,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3289,1
    - Dst: partTagsOptAreSupportedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3289,1
    - Dst: partTagsGetFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3289,1
    - Dst: partTagsGetPartKeys
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3290
      start: 3284
    functionDepth: 0
    functionLinenumber: 3284
    functionLinenumberEnd: 3290
    functionName: partTagsOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - partTagsGetFuncs
    - keysHasCol
    - partTagsOptAreSupportedFuncs
    - partTagsIsOptimizableNode
    - partTagsGetPartKeys
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsOptMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: partTagsHasIndefRowsSelectFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3365,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3375,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3377,1
    - Dst: partTagsNeedOutput
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3370,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3369,1
    - Dst: partTagsCreateWrapperFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3380,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pGroupTags
    - start
    - pAgg
    argTypes:
    - SNodeList*
    - int32_t
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 3390
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3390
    functionName: partTagsRewriteGroupTagsToFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - partTagsNeedOutput
    - partTagsHasIndefRowsSelectFunc
    - FOREACH
    - nodesListStrictAppend
    - partTagsCreateWrapperFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partTagsRewriteGroupTagsToFuncs(SNodeList* pGroupTags,
      int32_t start, SAggLogicNode* pAgg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3708,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3718,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3716,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3721,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3710,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 4
    argNames:
    - pProj
    - pChild
    - pNewChildTargets
    - orderMatch
    argTypes:
    - SProjectLogicNode*
    - SProjectLogicNode*
    - SNodeList**
    - bool*
    constantsTouched: []
    func_position:
      end: 3728
      start: 3703
    functionDepth: 0
    functionLinenumber: 3703
    functionLinenumberEnd: 3728
    functionName: eliminateProjOptFindProjPrefixWithOrderCheck
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - strcmp
    - nodesCloneNode
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateProjOptFindProjPrefixWithOrderCheck(SProjectLogicNode*
      pProj, SProjectLogicNode* pChild, SNodeList** pNewChildTargets, bool* orderMatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4073
      start: 4071
    functionDepth: 0
    functionLinenumber: 4071
    functionLinenumberEnd: 4073
    functionName: rewriteUniqueOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool rewriteUniqueOptMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4449,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4455,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4450,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4449,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4450,1
    - Dst: lastRowScanOptCheckLastCache
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4456,1
    - Dst: lastRowScanOptCheckFuncList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4461,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4470
      start: 4448
    functionDepth: 0
    functionLinenumber: 4448
    functionLinenumberEnd: 4470
    functionName: lastRowScanOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - lastRowScanOptCheckFuncList
    - lastRowScanOptCheckLastCache
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool lastRowScanOptMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7042,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7045,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7045,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7043,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7046,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7055,1
    - Dst: fmIsMyStateFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7058,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7067,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 4
    argNames:
    - pTsmaFuncs
    - pQueryFuncs
    - pTsmaScanCols
    - pIsValid
    argTypes:
    - SArray*
    - SNodeList*
    - SArray*
    - bool*
    constantsTouched: []
    func_position:
      end: 7078
      start: 7037
    functionDepth: 0
    functionLinenumber: 7037
    functionLinenumberEnd: 7078
    functionName: tsmaOptCheckValidFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - nodeType
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - fmIsMyStateFunc
    - FOREACH
    - taosArrayPush
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptCheckValidFuncs(const SArray* pTsmaFuncs, const
      SNodeList* pQueryFuncs, SArray* pTsmaScanCols, bool* pIsValid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:212,1
    - Dst: projectCouldMergeUnsortDataBlock
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:233,1
    - Dst: optSetParentOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:243,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 3
    argNames:
    - pNode
    - order
    - pNodeForcePropagate
    argTypes:
    - SLogicNode*
    - EOrder
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 244
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 244
    functionName: optSetParentOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - optSetParentOrder
    - projectCouldMergeUnsortDataBlock
    linkageType: ''
    returnType: void
    signature: 'static void optSetParentOrder(SLogicNode* pNode, EOrder order, SLogicNode*
      pNodeForcePropagate) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1235,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1252,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1248,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1248,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1242,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1252,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1254,1
    - Dst: pdcJoinCollectColsFromParent
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1260,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1264,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1270,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1283,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1291,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1284,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1273,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1302,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1280,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1276,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1293,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1305
    functionName: pdcJoinAddParentOnColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tSimpleHashCleanup
    - collectTableAliasFromNodes
    - nodesDestroyList
    - nodesEqualNode
    - pdcJoinCollectColsFromParent
    - nodesMakeList
    - FOREACH
    - nodesCloneNode
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinAddParentOnColsToTarget(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 4
    argNames:
    - pJoin
    - pSort
    - pNotOptimize
    - keepSort
    argTypes:
    - SJoinLogicNode*
    - SSortLogicNode*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 2425
      start: 2360
    functionDepth: 0
    functionLinenumber: 2360
    functionLinenumberEnd: 2425
    functionName: sortPriKeyOptHandleLeftRightJoinSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPriKeyOptHandleLeftRightJoinSort(SJoinLogicNode*
      pJoin, SSortLogicNode* pSort, bool* pNotOptimize, bool* keepSort) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3841,1
    - Dst: eliminateProjOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 3848
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3848
    functionName: eliminateProjOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - eliminateProjOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateProjOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5482,1
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5490,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5488,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 5498
      start: 5481
    functionDepth: 0
    functionLinenumber: 5481
    functionLinenumberEnd: 5498
    functionName: pushDownLimitOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pushDownLimitHow
    - optFindPossibleNode
    - nodesDestroyNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushDownLimitOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5627,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5628,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5629,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5630,1
    - Dst: tbCntScanOptIsEligibleConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    constantsTouched: []
    func_position:
      end: 5637
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5637
    functionName: tbCntScanOptIsEligibleScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptIsEligibleConds
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleScan(STbCntScanOptInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5652,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5660,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5657,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5658,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5656,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    constantsTouched: []
    func_position:
      end: 5665
      start: 5650
    functionDepth: 0
    functionLinenumber: 5650
    functionLinenumberEnd: 5665
    functionName: tbCntScanOptCreateTableCountFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - fmGetFuncInfo
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tbCntScanOptCreateTableCountFunc(SNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6733,1
    - Dst: grpJoinOptRewriteGroupJoin
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 6739
      start: 6732
    functionDepth: 0
    functionLinenumber: 6732
    functionLinenumberEnd: 6739
    functionName: groupJoinOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - grpJoinOptRewriteGroupJoin
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t groupJoinOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2122,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2125,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2127,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2124,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2128,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2130,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 2
    argNames:
    - ppNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2143
    functionName: rewriteProjectCondForPushDownImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - strcmp
    - nodesEqualNode
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteProjectCondForPushDownImpl(SNode** ppNode,
      void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 253
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 253
    functionName: scanPathOptHaveNormalColImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes scanPathOptHaveNormalColImpl(SNode* pNode, void* pContext) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1314,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1320,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1326,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1317,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1323,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1330,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1333,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1334,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1341,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1343,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1355
    functionName: pdcJoinAddPreFilterColsToTarget
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - nodesEqualNode
    - nodesCollectColumnsFromNode
    - FOREACH
    - nodesMakeList
    - nodesCloneNode
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinAddPreFilterColsToTarget(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2054,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2061,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2058,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2059,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2065,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 2073
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2073
    functionName: rewriteAggGroupKeyCondForPushDownImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - strcmp
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteAggGroupKeyCondForPushDownImpl(SNode** pNode,
      void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sortPriKeyOptHandleLeftRightJoinSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2435,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2448,1
    - Dst: sortPriKeyOptGetSequencingNodesImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2451,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2448,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2451,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 6
    argNames:
    - pNode
    - groupSort
    - pSort
    - pNotOptimize
    - pSequencingNodes
    - keepSort
    argTypes:
    - SLogicNode*
    - bool
    - SSortLogicNode*
    - bool*
    - SNodeList**
    - bool*
    constantsTouched: []
    func_position:
      end: 2456
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2456
    functionName: sortPriKeyOptHandleJoinSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - sortPriKeyOptHandleLeftRightJoinSort
    - sortPriKeyOptGetSequencingNodesImpl
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortPriKeyOptHandleJoinSort(SLogicNode* pNode, bool
      groupSort, SSortLogicNode* pSort, bool* pNotOptimize, SNodeList** pSequencingNodes,
      bool* keepSort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3852
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3852
    functionName: rewriteTailOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool rewriteTailOptMayBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5640,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5641,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5640,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5646,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5641,1
    - Dst: tbCntScanOptIsEligibleAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5647,1
    - Dst: tbCntScanOptIsEligibleScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pInfo
    argTypes:
    - SLogicNode*
    - STbCntScanOptInfo*
    constantsTouched: []
    func_position:
      end: 5648
      start: 5639
    functionDepth: 0
    functionLinenumber: 5639
    functionLinenumberEnd: 5648
    functionName: tbCntScanOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptIsEligibleAgg
    - nodeType
    - LIST_LENGTH
    - tbCntScanOptIsEligibleScan
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptShouldBeOptimized(SLogicNode* pNode, STbCntScanOptInfo*
      pInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5669,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5671,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5673,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5672,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5670,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5674,1
    - Dst: tbCntScanOptCreateTableCountFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5676,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5678,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5681,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5681,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5685,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5686,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5688,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5701,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5694,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5690,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5703,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5696,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STbCntScanOptInfo*
    constantsTouched: []
    func_position:
      end: 5712
      start: 5667
    functionDepth: 0
    functionLinenumber: 5667
    functionLinenumberEnd: 5712
    functionName: tbCntScanOptRewriteScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - createColumnByRewriteExpr
    - nodesListMakeStrictAppend
    - tbCntScanOptCreateTableCountFunc
    - tstrncpy
    - NODES_DESTORY_NODE
    - FOREACH
    - nodesCloneNode
    - NODES_DESTORY_LIST
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tbCntScanOptRewriteScan(STbCntScanOptInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6742,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6744,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6747
      start: 6741
    functionDepth: 0
    functionLinenumber: 6741
    functionLinenumberEnd: 6747
    functionName: partColOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - keysHasCol
    linkageType: ''
    returnType: bool
    signature: 'static bool partColOptShouldBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pInterval
    - pTsma
    - precision
    - tz
    argTypes:
    - SInterval*
    - STableTSMAInfo*
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 7194
      start: 7185
    functionDepth: 0
    functionLinenumber: 7185
    functionLinenumberEnd: 7194
    functionName: tsmaOptInitIntervalFromTsma
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tsmaOptInitIntervalFromTsma(SInterval* pInterval, const
      STableTSMAInfo* pTsma, int8_t precision, void* tz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - STSMAOptCtx*
    constantsTouched: []
    func_position:
      end: 7712
      start: 7703
    functionDepth: 0
    functionLinenumber: 7703
    functionLinenumberEnd: 7712
    functionName: tsmaOptIsUsingTsmas
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaOptIsUsingTsmas(STSMAOptCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: optResetParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void optResetParent(SLogicNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprsPostOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: scanPathOptHaveNormalCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExprsPostOrder
    linkageType: ''
    returnType: bool
    signature: 'static bool scanPathOptHaveNormalCol(SNodeList* pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetAllFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:359,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - pScan
    - pScanOrder
    argTypes:
    - SScanLogicNode*
    - EScanOrder*
    constantsTouched: []
    func_position:
      end: 382
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 382
    functionName: scanPathOptGetScanOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - scanPathOptGetAllFuncs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptGetScanOrder(SScanLogicNode* pScan, EScanOrder*
      pScanOrder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1623,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1624,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1627,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1636
    functionName: pdcJoinGetLogicTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinGetOpTableCondTypes
    - FOREACH
    - pdcJoinGetLogicTableCondTypes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinGetLogicTableCondTypes(SNode* pCond, SSHashObj*
      pLeftTables, SSHashObj* pRightTables, bool* tableCondTypes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pKeys
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3221
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3221
    functionName: planOptNodeListHasTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'static bool planOptNodeListHasTbname(SNodeList* pKeys) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3310,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3316,1
    - Dst: partTagsSetAlias
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3320,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3315,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3322,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3324,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3326,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3329,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 3
    argNames:
    - pFuncName
    - pNode
    - ppNode
    argTypes:
    - char*
    - SNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 3338
      start: 3307
    functionDepth: 0
    functionLinenumber: 3307
    functionLinenumberEnd: 3338
    functionName: partTagsCreateWrapperFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - partTagsSetAlias
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - fmGetFuncInfo
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partTagsCreateWrapperFunc(const char* pFuncName, SNode*
      pNode, SFunctionNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4285,1
    - Dst: rewriteUniqueOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 4292
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4292
    functionName: rewriteUniqueOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - rewriteUniqueOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pParent
    - pChild
    argTypes:
    - SLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 5369
      start: 5366
    functionDepth: 0
    functionLinenumber: 5366
    functionLinenumberEnd: 5369
    functionName: swapLimit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swapLimit(SLogicNode* pParent, SLogicNode* pChild) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:190,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:197,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: optRebuildTbanme
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes optRebuildTbanme(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:262,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:265,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: scanPathOptMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - OPTIMIZE_FLAG_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool scanPathOptMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanPathOptGetRelatedFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:385,1
    - Dst: scanPathOptGetScanOrder
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SOsdInfo*
    constantsTouched: []
    func_position:
      end: 390
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 390
    functionName: scanPathOptSetOsdInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - scanPathOptGetScanOrder
    - scanPathOptGetRelatedFuncs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanPathOptSetOsdInfo(SOsdInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1640,1
    - Dst: pdcJoinGetOpTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1643,1
    - Dst: pdcJoinGetLogicTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1641,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pCond
    - pLeftTables
    - pRightTables
    - tableCondTypes
    argTypes:
    - SNode*
    - SSHashObj*
    - SSHashObj*
    - bool*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1645
    functionName: pdcGetTableCondTypes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinGetOpTableCondTypes
    - pdcJoinGetLogicTableCondTypes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcGetTableCondTypes(SNode* pCond, SSHashObj* pLeftTables,
      SSHashObj* pRightTables, bool* tableCondTypes) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3224,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3225,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3228,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3226,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3225,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3231,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3242,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 3256
      start: 3223
    functionDepth: 0
    functionLinenumber: 3223
    functionLinenumberEnd: 3256
    functionName: partTagsIsOptimizableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsIsOptimizableNode(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3342,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3343,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3348
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3348
    functionName: partTagsHasIndefRowsSelectFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsHasIndefRowsSelectFunc(SNodeList* pFuncs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5735,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5740,1
    - Dst: tbCntScanOptCreateSumFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5737,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5737,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5738,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5741,1
    - Dst: partTagsRewriteGroupTagsToFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5744,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5746,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 5748
      start: 5734
    functionDepth: 0
    functionLinenumber: 5734
    functionLinenumberEnd: 5748
    functionName: tbCntScanOptRewriteAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptCreateSumFunc
    - nodesListMakeStrictAppend
    - NODES_DESTORY_LIST
    - partTagsRewriteGroupTagsToFuncs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tbCntScanOptRewriteAgg(SAggLogicNode* pAgg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6675,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6680,1
    - Dst: grpJoinOptCreatePartitionNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pJoin
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 6685
      start: 6670
    functionDepth: 0
    functionLinenumber: 6670
    functionLinenumberEnd: 6685
    functionName: grpJoinOptInsertPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - grpJoinOptCreatePartitionNode
    - FOREACH
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t grpJoinOptInsertPartitionNode(SLogicNode* pJoin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5826,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5851,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5858
      start: 5824
    functionDepth: 0
    functionLinenumber: 5824
    functionLinenumberEnd: 5858
    functionName: hashJoinOptShouldBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - adjustLogicNodeDataRequirement
    linkageType: ''
    returnType: bool
    signature: 'static bool hashJoinOptShouldBeOptimized(SLogicNode* pNode, void*
      pCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:750,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:756,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:750,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:754,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:754,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:760,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:762,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:763,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    constantsTouched: []
    func_position:
      end: 778
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 778
    functionName: pdcJoinSplitOpCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pdcJoinGetCondAction
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitOpCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond, SNode** pRightChildCond, bool whereCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:790,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pCond
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: pdcJoinPushDownOnCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinPushDownOnCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin, SNode** pCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2191,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2197,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2195,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pLogicNode
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2201
      start: 2189
    functionDepth: 0
    functionLinenumber: 2189
    functionLinenumberEnd: 2201
    functionName: pdcTrivialPushDown
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - OPTIMIZE_FLAG_TEST_MASK
    - pdcPushDownCondToChild
    - OPTIMIZE_FLAG_SET_MASK
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcTrivialPushDown(SOptimizeContext* pCxt, SLogicNode*
      pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSort
    argTypes:
    - SSortLogicNode*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2460
    functionName: sortPriKeyOptGetPriKeyOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: EOrder
    signature: 'static EOrder sortPriKeyOptGetPriKeyOrder(SSortLogicNode* pSort) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3394,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3397,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3396,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3396,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3402
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3402
    functionName: partTagsCollectColsNodes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - strlen
    - taosHashGet
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes partTagsCollectColsNodes(SNode* pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4222,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4227,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4237,1
    - Dst: rewriteUniqueOptCreateProjectCol
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4235,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4233,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pIndef
    - pOutput
    argTypes:
    - SIndefRowsFuncLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 4250
      start: 4220
    functionDepth: 0
    functionLinenumber: 4220
    functionLinenumberEnd: 4250
    functionName: rewriteUniqueOptCreateProject
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - FOREACH
    - nodesMakeNode
    - rewriteUniqueOptCreateProjectCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptCreateProject(SIndefRowsFuncLogicNode*
      pIndef, SLogicNode** pOutput) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7717,1
    - Dst: getLogicNodeRootNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7720,1
    - Dst: getOptHint
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7721,1
    - Dst: fillTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7723,1
    - Dst: tsmaOptFilterTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7726,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7730,1
    - Dst: tsmaOptSplitWindows
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7732,1
    - Dst: tsmaOptIsUsingTsmas
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7733,1
    - Dst: tsmaOptGeneratePlan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7735,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7742,1
    - Dst: clearTSMAOptCtx
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7750,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 7752
      start: 7714
    functionDepth: 0
    functionLinenumber: 7714
    functionLinenumberEnd: 7752
    functionName: tsmaOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - clearTSMAOptCtx
    - optFindPossibleNode
    - fillTSMAOptCtx
    - taosArraySort
    - tsmaOptIsUsingTsmas
    - tsmaOptFilterTsmas
    - tsmaOptSplitWindows
    - getLogicNodeRootNode
    - getOptHint
    - tsmaOptGeneratePlan
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7368,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7366,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7369,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7378,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7379,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7386,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7387,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7392,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7403,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7404,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 3
    argNames:
    - pTsmaOptCtx
    - pTbNameNode
    - pTsma
    argTypes:
    - STSMAOptCtx*
    - SNode**
    - STSMAOptUsefulTsma*
    constantsTouched: []
    func_position:
      end: 7408
      start: 7355
    functionDepth: 0
    functionLinenumber: 7355
    functionLinenumberEnd: 7408
    functionName: tsmaOptRewriteTbname
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - nodesListMakeStrictAppend
    - taosMemoryCalloc
    - nodesDestroyNode
    - tstrncpy
    - fmGetFuncId
    - nodesListStrictAppend
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaOptRewriteTbname(const STSMAOptCtx* pTsmaOptCtx,
      SNode** pTbNameNode, const STSMAOptUsefulTsma* pTsma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:782,1
    - Dst: pdcJoinSplitLogicCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:783,1
    - Dst: pdcJoinSplitOpCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 7
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: pdcJoinSplitCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - pdcJoinSplitLogicCond
    - pdcJoinSplitOpCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitCond(SJoinLogicNode* pJoin, SNode** pSrcCond,
      SNode** pOnCond, SNode** pLeftChildCond, SNode** pRightChildCond, bool whereCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pCond
    argTypes:
    - SOptimizeContext*
    - SLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 795
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 795
    functionName: pdcPushDownCondToChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcPushDownCondToChild(SOptimizeContext* pCxt, SLogicNode*
      pChild, SNode** pCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2205,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2205,1
    - Dst: pdcTrivialPushDown
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pVScan
    argTypes:
    - SOptimizeContext*
    - SVirtualScanLogicNode*
    constantsTouched: []
    func_position:
      end: 2209
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2209
    functionName: pdcDealVirtualTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pdcTrivialPushDown
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcDealVirtualTable(SOptimizeContext* pCxt, SVirtualScanLogicNode*
      pVScan) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2492,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2491,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - pLogicNode
    - sortOrder
    argTypes:
    - SLogicNode*
    - EOrder
    constantsTouched: []
    func_position:
      end: 2503
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2503
    functionName: sortPriKeyOptHasUnsupportedPkFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool sortPriKeyOptHasUnsupportedPkFunc(SLogicNode* pLogicNode,
      EOrder sortOrder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3408,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3413,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3415,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3408,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3420,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3421,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3421,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3422,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 3429
      start: 3405
    functionDepth: 0
    functionLinenumber: 3405
    functionLinenumberEnd: 3429
    functionName: partTagsIsScanPseudoColsInConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - taosHashGet
    - strlen
    - FOREACH
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: bool
    signature: 'static bool partTagsIsScanPseudoColsInConds(SScanLogicNode* pScan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rewriteUniqueOptCreateAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4256,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4261,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4266,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4269,1
    - Dst: rewriteUniqueOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4258,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4274,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4276,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 4281
      start: 4252
    functionDepth: 0
    functionLinenumber: 4252
    functionLinenumberEnd: 4281
    functionName: rewriteUniqueOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - rewriteUniqueOptCreateAgg
    - adjustLogicNodeDataRequirement
    - rewriteUniqueOptCreateProject
    - nodesDestroyNode
    - replaceLogicNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUniqueOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SIndefRowsFuncLogicNode* pIndef) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7092,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7093,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7104
      start: 7085
    functionDepth: 0
    functionLinenumber: 7085
    functionLinenumberEnd: 7104
    functionName: tsmaOptTagCheck
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayGet
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes tsmaOptTagCheck(SNode* pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7759,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7769,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7778
      start: 7754
    functionDepth: 0
    functionLinenumber: 7754
    functionLinenumberEnd: 7778
    functionName: eliminateVirtualScanMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool eliminateVirtualScanMayBeOptimized(SLogicNode* pNode,
      void* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8094,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 8114
      start: 8091
    functionDepth: 0
    functionLinenumber: 8091
    functionLinenumberEnd: 8114
    functionName: applyOptimizeRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - dumpLogicSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t applyOptimizeRule(SPlanContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: applyOptimizeRule
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 8121
      start: 8116
    functionDepth: 0
    functionLinenumber: 8116
    functionLinenumberEnd: 8121
    functionName: optimizeLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - applyOptimizeRule
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t optimizeLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7304,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7306,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7306,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7309,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7311,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7319,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7321,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7328,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 3
    argNames:
    - pTsma
    - pAggFuncs
    - ppList
    argTypes:
    - STSMAOptUsefulTsma*
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 7334
      start: 7294
    functionDepth: 0
    functionLinenumber: 7294
    functionLinenumberEnd: 7334
    functionName: tsmaOptCreateTsmaScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - fmIsPseudoColumnFunc
    - taosArrayGet
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - tstrncpy
    - FOREACH
    - fmIsGroupKeyFunc
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsmaOptCreateTsmaScanCols(const STSMAOptUsefulTsma* pTsma,
      const SNodeList* pAggFuncs, SNodeList** ppList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:628,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 22
    argCount: 5
    argNames:
    - pJoin
    - pLeftTbls
    - pRightTbls
    - pNode
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SSHashObj*
    - SSHashObj*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 653
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 653
    functionName: pdcJoinGetCondAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: ECondAction
    signature: 'static ECondAction pdcJoinGetCondAction(SJoinLogicNode* pJoin, SSHashObj*
      pLeftTbls, SSHashObj* pRightTbls, SNode* pNode, bool whereCond) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:882,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:892,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:900,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:893,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pJoin
    - pCond
    - errCond
    argTypes:
    - SJoinLogicNode*
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 902
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 902
    functionName: pdcJoinHasPrimEqualCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - pdcJoinHasPrimEqualCond
    - pdcJoinIsPrimEqualCond
    linkageType: ''
    returnType: bool
    signature: 'static bool pdcJoinHasPrimEqualCond(SJoinLogicNode* pJoin, SNode*
      pCond, bool* errCond) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1502,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1484,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1466,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1497,1
    - Dst: pdcJoinSplitConstPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1491,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1506,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1444,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1453,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1463,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1473,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1477,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1507,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1444,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1449,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1452,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1459,1
    - Dst: pdcJoinHasPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1468,1
    - Dst: IS_INNER_NONE_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1489,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1477,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1501,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 67
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1511
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1511
    functionName: pdcJoinCheckAllCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - IS_INNER_NONE_JOIN
    - nodesDestroyNode
    - IS_ASOF_JOIN
    - pdcJoinHasPrimEqualCond
    - pdcJoinSplitConstPrimEqCond
    - generateUsageErrMsg
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinCheckAllCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rewriteTailOptCreateSort
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3997,1
    - Dst: rewriteTailOptCreateProject
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:3999,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4007,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4010,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4002,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4012,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pIndef
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SIndefRowsFuncLogicNode*
    constantsTouched: []
    func_position:
      end: 4017
      start: 3993
    functionDepth: 0
    functionLinenumber: 3993
    functionLinenumberEnd: 4017
    functionName: rewriteTailOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - rewriteTailOptCreateProject
    - rewriteTailOptCreateSort
    - replaceLogicNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SIndefRowsFuncLogicNode* pIndef) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5537,1
    - Dst: tbCntScanOptNotNullableExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5540,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5538,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5544,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pAggFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 5545
      start: 5535
    functionDepth: 0
    functionLinenumber: 5535
    functionLinenumberEnd: 5545
    functionName: tbCntScanOptIsEligibleAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FOREACH
    - tbCntScanOptNotNullableExpr
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleAggFuncs(SNodeList* pAggFuncs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6239,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6246,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6255,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6267,1
    - Dst: stbJoinOptRewriteToTagScan
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6247,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - pJoin
    - ppList
    argTypes:
    - SLogicNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 6271
      start: 6237
    functionDepth: 0
    functionLinenumber: 6237
    functionLinenumberEnd: 6271
    functionName: stbJoinOptCreateTagScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - stbJoinOptRewriteToTagScan
    - nodesDestroyList
    - strcmp
    - FOREACH
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateTagScanNode(SLogicNode* pJoin, SNodeList**
      ppList) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:668,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:697,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:704,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:695,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:718,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:735,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:737,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:672,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:693,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:715,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:734,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:736,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:740,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:668,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:683,1
    - Dst: pdcJoinGetCondAction
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:684,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:686,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:691,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:712,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:739,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:672,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:674,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:721,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:705,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:730,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:733,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:738,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 76
    argCount: 6
    argNames:
    - pJoin
    - pSrcCond
    - pOnCond
    - pLeftChildCond
    - pRightChildCond
    - whereCond
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - SNode**
    - bool
    constantsTouched: []
    func_position:
      end: 744
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 744
    functionName: pdcJoinSplitLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    - nodesMergeConds
    - pdcJoinGetCondAction
    - collectTableAliasFromNodes
    - nodesDestroyNode
    - nodesDestroyList
    - FOREACH
    - nodesCloneNode
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitLogicCond(SJoinLogicNode* pJoin, SNode**
      pSrcCond, SNode** pOnCond, SNode** pLeftChildCond, SNode** pRightChildCond,
      bool whereCond) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:910,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:918,1
    - Dst: pdcJoinIsPrimEqualCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:912,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:916,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:913,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:920,1
    - Dst: nodesMergeConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:940,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:942,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:947,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:946,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 5
    argNames:
    - pJoin
    - ppInput
    - ppPrimEqCond
    - ppOnCond
    - constAsPrim
    argTypes:
    - SJoinLogicNode*
    - SNode**
    - SNode**
    - SNode**
    - bool
    constantsTouched: []
    func_position:
      end: 952
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 952
    functionName: pdcJoinSplitPrimInLogicCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - nodesMergeConds
    - WHERE_EACH
    - nodesDestroyNode
    - nodesDestroyList
    - pdcJoinIsPrimEqualCond
    - planError
    - nodesCloneNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinSplitPrimInLogicCond(SJoinLogicNode* pJoin,
      SNode** ppInput, SNode** ppPrimEqCond, SNode** ppOnCond, bool constAsPrim) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1522,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1524,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1520,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1528,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1531,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1535,1
    - Dst: generateUsageErrMsg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1538,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1549
    functionName: pdcJoinHandleGrpJoinCond
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesDestroyNode
    - generateUsageErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcJoinHandleGrpJoinCond(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: optFindPossibleNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4021,1
    - Dst: rewriteTailOptimizeImpl
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4027,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 4028
      start: 4019
    functionDepth: 0
    functionLinenumber: 4019
    functionLinenumberEnd: 4028
    functionName: rewriteTailOptimize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - optFindPossibleNode
    - rewriteTailOptimizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTailOptimize(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tbCntScanOptIsEligibleGroupKeys
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5548,1
    - Dst: tbCntScanOptIsEligibleAggFuncs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pAgg
    argTypes:
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 5549
      start: 5547
    functionDepth: 0
    functionLinenumber: 5547
    functionLinenumberEnd: 5549
    functionName: tbCntScanOptIsEligibleAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - tbCntScanOptIsEligibleGroupKeys
    - tbCntScanOptIsEligibleAggFuncs
    linkageType: ''
    returnType: bool
    signature: 'static bool tbCntScanOptIsEligibleAgg(SAggLogicNode* pAgg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6276,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6290,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6292,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6295,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6297,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6304,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6307,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6308,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6310,1
    - Dst: nodesCollectColumnsFromNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6323,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6326,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6337,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6327,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6333,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:6339,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 56
    argCount: 3
    argNames:
    - pOrig
    - pChildren
    - ppLogic
    argTypes:
    - SLogicNode*
    - SNodeList*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 6343
      start: 6273
    functionDepth: 0
    functionLinenumber: 6273
    functionLinenumberEnd: 6343
    functionName: stbJoinOptCreateTagHashJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - createColumnByRewriteExpr
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumnsFromNode
    - FOREACH
    - nodesCloneNode
    - OPTIMIZE_FLAG_SET_MASK
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbJoinOptCreateTagHashJoinNode(SLogicNode* pOrig,
      SNodeList* pChildren, SLogicNode** ppLogic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8079,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8086,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8082,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:8084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 8089
      start: 8073
    functionDepth: 0
    functionLinenumber: 8073
    functionLinenumberEnd: 8089
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - nodesNodeToString
    - qDebugL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpLogicSubplan(const char* pRuleName, SLogicSubplan*
      pSubplan) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1654,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1659,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1661,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1659,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1654,1
    - Dst: pdcGetTableCondTypes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1666,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1667,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1668,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1702
    functionName: pdcRewriteTypeBasedOnConds
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    - nodesListGetNode
    - pdcGetTableCondTypes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcRewriteTypeBasedOnConds(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1780,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1784,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1780,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1786,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1784,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1793,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1808,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1827,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1828,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1860
    functionName: pdcRewriteTypeBasedOnJoinRes
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesWalkExprs
    - tSimpleHashCleanup
    - collectTableAliasFromNodes
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcRewriteTypeBasedOnJoinRes(SOptimizeContext* pCxt,
      SJoinLogicNode* pJoin) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2865,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2871,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2871,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2879,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2878,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2883,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2872,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2882,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2849,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2857,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2850,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2889,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2897,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2901,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2862,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2865,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2872,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2903,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2861,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2866,1
    - Dst: joinCondGetScanNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2888,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2873,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2892,1
    - Dst: IS_TSWINDOW_SPECIFIED
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2896,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:2903,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 83
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SLogicNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2909
      start: 2848
    functionDepth: 0
    functionLinenumber: 2848
    functionLinenumberEnd: 2909
    functionName: joinCondMayBeOptimized
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_TSWINDOW_SPECIFIED
    - OPTIMIZE_FLAG_TEST_MASK
    - OPTIMIZE_FLAG_SET_MASK
    - joinCondGetScanNode
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool joinCondMayBeOptimized(SLogicNode* pNode, void* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4515,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4525,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4519,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4518,1
    - Dst: getLastCacheDataType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4520,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4530,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 5
    argNames:
    - pTargets
    - pLastCols
    - pLastRowCols
    - erase
    - pkBytes
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 4535
      start: 4512
    functionDepth: 0
    functionLinenumber: 4512
    functionLinenumberEnd: 4535
    functionName: lastRowScanOptSetLastTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeListNodeEqual
    - getLastCacheDataType
    - ERASE_NODE
    - WHERE_EACH
    - nodesEqualNode
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void lastRowScanOptSetLastTargets(SNodeList* pTargets, SNodeList*
      pLastCols, SNodeList* pLastRowCols, bool erase, int32_t pkBytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5209,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5211,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5214,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5215,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5212,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5217,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5221,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5223,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 5232
      start: 5206
    functionDepth: 0
    functionLinenumber: 5206
    functionLinenumberEnd: 5232
    functionName: mergeProjectionsExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - nodesDestroyNode
    - strcmp
    - nodesEqualNode
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes mergeProjectionsExpr(SNode** pNode, void* pContext) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pushDownLimitHow
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5395,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5443,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5431,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5454,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5379,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5390,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5404,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5405,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5441,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5418,1
    - Dst: isPartTagAgg
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5405,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5408,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5416,1
    - Dst: swapLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5445,1
    - Dst: cloneLimit
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5420,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5375,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5394,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5416,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5417,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5429,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 5462
      start: 5372
    functionDepth: 0
    functionLinenumber: 5372
    functionLinenumberEnd: 5462
    functionName: pushDownLimitTo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - swapLimit
    - isPartTableAgg
    - FOREACH
    - pushDownLimitHow
    - cloneLimit
    - nodesListGetNode
    - isPartTagAgg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushDownLimitTo(SLogicNode* pNodeWithLimit, SLogicNode*
      pNodeLimitPushTo, bool* pPushed) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1706,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1727,1
    - Dst: fmIsIgnoreNullFunc
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1744,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1708,1
    - Dst: pdcJoinColInTableList
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1710,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 46
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1770
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1770
    functionName: pdcCheckTableResType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodeType
    - pdcJoinColInTableList
    - fmIsIgnoreNullFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes pdcCheckTableResType(SNode* pNode, void* pContext) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pdcJoinPushDownOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1882,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1885,1
    - Dst: pdcRewriteTypeBasedOnConds
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1893,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1912,1
    - Dst: pdcJoinSplitPrimEqCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1921,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1915,1
    - Dst: pdcJoinAddFilterColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1941,1
    - Dst: OPTIMIZE_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1945,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1948,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1885,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1889,1
    - Dst: pdcRewriteTypeBasedOnJoinRes
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1898,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1912,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1915,1
    - Dst: pdcJoinAddParentOnColsToTarget
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1933,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1950,1
    - Dst: OPTIMIZE_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1864,1
    - Dst: pdcJoinCheckAllCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1876,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1880,1
    - Dst: pdcPushDownCondToChild
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1889,1
    - Dst: pdcJoinHandleGrpJoinCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1929,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1949,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1919,1
    - Dst: pdcJoinPartEqualOnCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1925,1
    - Dst: pdcJoinSplitCond
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:1910,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 110
    argCount: 2
    argNames:
    - pCxt
    - pJoin
    argTypes:
    - SOptimizeContext*
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1954
    functionName: pdcDealJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pdcRewriteTypeBasedOnJoinRes
    - pdcJoinAddFilterColsToTarget
    - pdcJoinAddParentOnColsToTarget
    - nodesDestroyNode
    - pdcJoinHandleGrpJoinCond
    - pdcRewriteTypeBasedOnConds
    - pdcJoinPushDownOnCond
    - OPTIMIZE_FLAG_TEST_MASK
    - pdcJoinCheckAllCond
    - pdcJoinSplitPrimEqCond
    - pdcJoinPartEqualOnCond
    - pdcPushDownCondToChild
    - OPTIMIZE_FLAG_SET_MASK
    - IS_WINDOW_JOIN
    - pdcJoinSplitCond
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pdcDealJoin(SOptimizeContext* pCxt, SJoinLogicNode*
      pJoin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STimeWindow*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 2918
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2918
    functionName: joinCondMergeScanRange
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void joinCondMergeScanRange(STimeWindow* pDst, STimeWindow*
      pSrc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4540,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4544,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4551,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4543,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4550,1
    - Dst: nodeListNodeEqual
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4558,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:4563,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - pTargets
    - pList1
    - pList2
    - pList3
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4568
      start: 4537
    functionDepth: 0
    functionLinenumber: 4537
    functionLinenumberEnd: 4568
    functionName: lastRowScanOptRemoveUslessTargets
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeListNodeEqual
    - ERASE_NODE
    - WHERE_EACH
    - nodesEqualNode
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void lastRowScanOptRemoveUslessTargets(SNodeList* pTargets,
      SNodeList* pList1, SNodeList* pList2, SNodeList* pList3) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5235,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5244,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5245,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5246,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5240,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5248,1
    - Dst: NODES_CLEAR_LIST
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pSelfNode
    argTypes:
    - SOptimizeContext*
    - SLogicSubplan*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 5258
      start: 5234
    functionDepth: 0
    functionLinenumber: 5234
    functionLinenumberEnd: 5258
    functionName: mergeProjectsOptimizeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyNode
    - nodesRewriteExprs
    - NODES_CLEAR_LIST
    - replaceLogicNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeProjectsOptimizeImpl(SOptimizeContext* pCxt, SLogicSubplan*
      pLogicSubplan, SLogicNode* pSelfNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5465,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5472,1
    - Dst: pushDownLimitTo
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5468,1
    - Dst: sortPriKeyOptIsPriKeyOrderBy
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:5471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 3
    argNames:
    - pNodeWithLimit
    - pNodeLimitPushTo
    - pPushed
    argTypes:
    - SLogicNode*
    - SLogicNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 5479
      start: 5464
    functionDepth: 0
    functionLinenumber: 5464
    functionLinenumberEnd: 5479
    functionName: pushDownLimitHow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - pushDownLimitTo
    - nodeType
    - sortPriKeyOptIsPriKeyOrderBy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushDownLimitHow(SLogicNode* pNodeWithLimit, SLogicNode*
      pNodeLimitPushTo, bool* pPushed) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 7183
      start: 7164
    functionDepth: 0
    functionLinenumber: 7164
    functionLinenumberEnd: 7183
    functionName: tsmaInfoCompWithIntervalDesc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaInfoCompWithIntervalDesc(const void* pLeft, const
      void* pRight) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7426,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7425,1
    - Dst: tsmaOptRewriteTag
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7423,1
    - Dst: tsmaOptRewriteTbname
      Src: /src/tdengine/source/libs/planner/src/planOptimizer.c:7427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 2
    argNames:
    - ppNode
    - ctx
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 7435
      start: 7418
    functionDepth: 0
    functionLinenumber: 7418
    functionLinenumberEnd: 7435
    functionName: tsmaOptNodeRewriter
    functionSourceFile: /src/tdengine/source/libs/planner/src/planOptimizer.c
    functionUses: []
    functionsReached:
    - nodeType
    - tsmaOptRewriteTag
    - tsmaOptRewriteTbname
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes tsmaOptNodeRewriter(SNode** ppNode, void* ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:24,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:33,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:30,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pSrc
    - level
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: singleCloneSubLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: SLogicSubplan*
    signature: 'static SLogicSubplan * singleCloneSubLogicPlan(SScaleOutContext* pCxt,
      SLogicSubplan* pSrc, int32_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSetScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pVgroup
    argTypes:
    - SLogicNode*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: setScanVgroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - doSetScanVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setScanVgroup(SLogicNode* pNode, const SVgroupInfo*
      pVgroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:101,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:105,1
    - Dst: scaleOutByVgroups
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:103,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: scaleOutForMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodeType
    - singleCloneSubLogicPlan
    - nodesListStrictAppend
    - scaleOutByVgroups
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForMerge(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scaleOutForInsertValues
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:130,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:132,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: scaleOutForInsert
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - scaleOutForInsertValues
    - scaleOutForMerge
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForInsert(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scaleOutByVgroups
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:145,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: scaleOutForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - scaleOutByVgroups
    - scaleOutForMerge
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForScan(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:171,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:174,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:181,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:183,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:172,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:184,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:186,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 193
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 193
    functionName: pushHierarchicalPlanForCompute
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - FOREACH
    - FORBOTH
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushHierarchicalPlanForCompute(SNodeList* pParentsGroup,
      SNodeList* pCurrentGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:204,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:212,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:206,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:208,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:211,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 223
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 223
    functionName: pushHierarchicalPlanForNormal
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - LIST_LENGTH
    - FOREACH
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushHierarchicalPlanForNormal(SNodeList* pParentsGroup,
      SNodeList* pCurrentGroup) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:234,1
    - Dst: scaleOutForModify
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:247,1
    - Dst: scaleOutForMerge
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:241,1
    - Dst: scaleOutForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:250,1
    - Dst: scaleOutForScan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:244,1
    - Dst: pushHierarchicalPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:257,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:262,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:263,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:271,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:273,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pParentsGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 277
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 277
    functionName: doScaleOut
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - nodesClearList
    - scaleOutForMerge
    - doScaleOut
    - pushHierarchicalPlan
    - nodesMakeList
    - scaleOutForCompute
    - FOREACH
    - scaleOutForModify
    - scaleOutForScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScaleOut(SScaleOutContext* pCxt, SLogicSubplan* pSubplan,
      int32_t level, SNodeList* pParentsGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:85,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:91,1
    - Dst: setScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: scaleOutByVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - singleCloneSubLogicPlan
    - nodesListStrictAppend
    - setScanVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutByVgroups(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:46,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:48,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:58,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:52,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:55,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:62,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:68,1
    - Dst: doSetScanVgroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:69,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pNode
    - pVgroup
    - pFound
    argTypes:
    - SLogicNode*
    - SVgroupInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: doSetScanVgroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosMemoryCalloc
    - doSetScanVgroup
    - FOREACH
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetScanVgroup(SLogicNode* pNode, const SVgroupInfo*
      pVgroup, bool* pFound) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:112,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:120,1
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:115,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:119,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: scaleOutForInsertValues
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - singleCloneSubLogicPlan
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForInsertValues(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scaleOutByVgroups
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:138,1
    - Dst: scaleOutForInsert
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 141
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 141
    functionName: scaleOutForModify
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - scaleOutByVgroups
    - scaleOutForInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForModify(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: singleCloneSubLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:154,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:158,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - level
    - pGroup
    argTypes:
    - SScaleOutContext*
    - SLogicSubplan*
    - int32_t
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: scaleOutForCompute
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - singleCloneSubLogicPlan
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scaleOutForCompute(SScaleOutContext* pCxt, SLogicSubplan*
      pSubplan, int32_t level, SNodeList* pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:196,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: isComputeGroup
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isComputeGroup(SNodeList* pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isComputeGroup
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:226,1
    - Dst: pushHierarchicalPlanForNormal
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:229,1
    - Dst: pushHierarchicalPlanForCompute
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pParentsGroup
    - pCurrentGroup
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 230
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 230
    functionName: pushHierarchicalPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - isComputeGroup
    - pushHierarchicalPlanForCompute
    - pushHierarchicalPlanForNormal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushHierarchicalPlan(SNodeList* pParentsGroup, SNodeList*
      pCurrentGroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:281,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:287,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 294
    functionName: makeQueryLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: SQueryLogicPlan*
    signature: 'static SQueryLogicPlan * makeQueryLogicPlan() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeQueryLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:297,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:307,1
    - Dst: doScaleOut
      Src: /src/tdengine/source/libs/planner/src/planScaleOut.c:303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pLogicSubplan
    - pLogicPlan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    - SQueryLogicPlan**
    constantsTouched: []
    func_position:
      end: 311
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 311
    functionName: scaleOutLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planScaleOut.c
    functionUses: []
    functionsReached:
    - makeQueryLogicPlan
    - nodesDestroyNode
    - doScaleOut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scaleOutLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan,
      SQueryLogicPlan** pLogicPlan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:61,1
    - Dst: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:65,1
    - Dst: dumpLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:69,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:68,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pLogicSubplan
    - level
    argTypes:
    - SLogicSubplan*
    - int32_t
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: dumpLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - dumpLogicPlan
    - FOREACH
    - printPlanNode
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dumpLogicPlan(SLogicSubplan* pLogicSubplan, int32_t level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planner.c:37,1
    - Dst: planDebugL
      Src: /src/tdengine/source/libs/planner/src/planner.c:39,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planner.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: dumpQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - planDebugL
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpQueryPlan(SQueryPlan* pPlan) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:111,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:115,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:124,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:117,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:120,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:126,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:131,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planner.c:133,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:140,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:141,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 3
    argNames:
    - pNode
    - groupId
    - pSource
    argTypes:
    - SPhysiNode*
    - int32_t
    - SDownstreamSourceNode*
    constantsTouched: []
    func_position:
      end: 147
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 147
    functionName: setSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    - FOREACH
    - nodesCloneNode
    - setSubplanExecutionNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSubplanExecutionNode(SPhysiNode* pNode, int32_t
      groupId, SDownstreamSourceNode* pSource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:155,1
    - Dst: setSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - subplan
    - groupId
    - pSource
    argTypes:
    - SSubplan*
    - int32_t
    - SDownstreamSourceNode*
    constantsTouched: []
    func_position:
      end: 157
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 157
    functionName: qSetSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - planDebug
    - setSubplanExecutionNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetSubplanExecutionNode(SSubplan* subplan, int32_t groupId,
      SDownstreamSourceNode* pSource) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: planDebug
      Src: /src/tdengine/source/libs/planner/src/planner.c:175,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: qClearSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - planDebug
    - clearSubplanExecutionNode
    linkageType: ''
    returnType: void
    signature: 'void qClearSubplanExecutionNode(SSubplan* pSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pStr
    - pSubplan
    argTypes:
    - char*
    - SSubplan**
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: qStringToSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesStringToNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStringToSubplan(const char* pStr, SSubplan** pSubplan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesMsgToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pStr
    - len
    - pSubplan
    argTypes:
    - char*
    - int32_t
    - SSubplan**
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: qMsgToSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesMsgToNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qMsgToSubplan(const char* pStr, int32_t len, SSubplan** pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planner.c:23,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planner.c:26,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:25,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: debugPrintNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - nodesNodeToString
    - printf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t debugPrintNode(SNode* pNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:78,1
    - Dst: splitLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:86,1
    - Dst: createLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:80,1
    - Dst: optimizeLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:83,1
    - Dst: scaleOutLogicPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:89,1
    - Dst: createPhysiPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:93,1
    - Dst: validateQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:96,1
    - Dst: dumpQueryPlan
      Src: /src/tdengine/source/libs/planner/src/planner.c:99,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/planner/src/planner.c:101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:103,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:104,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - pPlan
    - pExecNodeList
    argTypes:
    - SPlanContext*
    - SQueryPlan**
    - SArray*
    constantsTouched: []
    func_position:
      end: 107
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 107
    functionName: qCreateQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - validateQueryPlan
    - nodesReleaseAllocator
    - dumpQueryPlan
    - createPhysiPlan
    - optimizeLogicPlan
    - nodesDestroyNode
    - createLogicPlan
    - scaleOutLogicPlan
    - nodesAcquireAllocator
    - splitLogicPlan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCreateQueryPlan(SPlanContext* pCxt, SQueryPlan** pPlan, SArray*
      pExecNodeList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeName
      Src: /src/tdengine/source/libs/planner/src/planner.c:47,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:51,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:53,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:47,1
    - Dst: printf
      Src: /src/tdengine/source/libs/planner/src/planner.c:49,1
    - Dst: printPlanNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - level
    argTypes:
    - SLogicNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 57
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 57
    functionName: printPlanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodeType
    - printPlanNode
    - nodesNodeName
    - printf
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void printPlanNode(SLogicNode *pNode, int32_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPostPlan
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: qContinuePlanPostQuery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qContinuePlanPostQuery(void* pPostPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:160,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planner.c:165,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planner.c:163,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:162,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:167,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planner.c:167,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planner.c:171,1
    - Dst: clearSubplanExecutionNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: clearSubplanExecutionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - FOREACH
    - NODES_DESTORY_LIST
    - clearSubplanExecutionNode
    linkageType: ''
    returnType: void
    signature: 'static void clearSubplanExecutionNode(SPhysiNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planner.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: qSubPlanToString
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesNodeToString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSubPlanToString(const SSubplan* pSubplan, char** pStr, int32_t*
      pLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToMsg
      Src: /src/tdengine/source/libs/planner/src/planner.c:204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pSubplan
    - pStr
    - pLen
    argTypes:
    - SSubplan*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: qSubPlanToMsg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesNodeToMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSubPlanToMsg(const SSubplan* pSubplan, char** pStr, int32_t*
      pLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: qStringToQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesStringToNode
    linkageType: ''
    returnType: SQueryPlan*
    signature: 'SQueryPlan * qStringToQueryPlan(const char* pStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planner.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: qDestroyQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planner.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'void qDestroyQueryPlan(SQueryPlan* pPlan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:151,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 165
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 165
    functionName: doNameExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - rewriteExprAliasName
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doNameExpr(SNode* pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:184,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:189,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:192,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:187,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pExprs
    - pOutputs
    - pRewriteExpr
    argTypes:
    - SNodeList*
    - bool*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 199
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 199
    functionName: cloneRewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesCloneNode
    - nodesListMakeStrictAppend
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cloneRewriteExprs(SNodeList* pExprs, bool* pOutputs,
      SNodeList** pRewriteExpr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:222,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNode**
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: rewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteExpr(SNodeList* pExprs, SNode** pTarget) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:988,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:988,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1009,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1012,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1017,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1020,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1029,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1034,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1035,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1036,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:990,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1021,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1045,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1046,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1047,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:988,1
    - Dst: addVtbPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:990,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:992,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1009,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1029,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1020,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1012,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1034,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1035,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1045,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1002,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1021,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1033,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1049
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1049
    functionName: createVirtualSuperTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - addVtbPrimaryTsCol
    - TSWAP
    - nodesListMakeStrictAppend
    - scanAddCol
    - nodesDestroyNode
    - nodesDestroyList
    - createScanLogicNode
    - tstrncpy
    - tstrerror
    - FOREACH
    - nodesListStrictAppend
    - nodesCloneList
    - PLAN_ERR_JRET
    - createColumnByRewriteExprs
    - nodesMakeNode
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualSuperTableLogicNode(SLogicPlanContext*
      pCxt, SSelectStmt* pSelect, SVirtualTableNode* pVirtualTable, SVirtualScanLogicNode*
      pVtableScan, SLogicNode** pLogicNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1231,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1237,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1245
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1245
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createGroupingSetNode(SNode* pExpr, SNode** ppNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1605,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1619,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1613,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1611,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1617,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1624,1
    - Dst: rewriteExprForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1631,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1633,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1635,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pState
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SStateWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1639
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1639
    functionName: createWindowLogicNodeByState
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - rewriteExprForSelect
    - nodesDestroyNode
    - getRequireDataOrder
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeByState(SLogicPlanContext* pCxt,
      SStateWindowNode* pState, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1993,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2010,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2004,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2009,1
    - Dst: collectFillExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2014,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2016,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2019,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2021,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2022,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2025,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2050,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2044,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2036,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2034,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2040,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2039,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2054
      start: 1992
    functionDepth: 0
    functionLinenumber: 1992
    functionLinenumberEnd: 2054
    functionName: createFillLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - createColumnByRewriteExpr
    - collectFillExprs
    - nodesDestroyNode
    - getRequireDataOrder
    - rewriteExprsForSelect
    - nodesCloneNode
    - getGroupAction
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createFillLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2423,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2407,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2416,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2413,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2427
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2427
    functionName: createSetOpProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - nodesCloneList
    - createColumnByProjections
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOpProjectLogicNode(SLogicPlanContext* pCxt,
      SSetOperator* pSetOperator, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:168,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:172,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:175,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pExpr
    - pSelect
    - clause
    argTypes:
    - SNode*
    - SSelectStmt*
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 178
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 178
    functionName: rewriteExprForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodesRewriteSelectStmt
    - nodesClearList
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteExprForSelect(SNode* pExpr, SSelectStmt* pSelect,
      ESqlClause clause) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:203,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:208,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:208,1
    - Dst: cloneRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:215,1
    - Dst: nodesRewriteSelectStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pExprs
    - pSelect
    - clause
    - pRewriteExprs
    argTypes:
    - SNodeList*
    - SSelectStmt*
    - ESqlClause
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 219
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: rewriteExprsForSelect
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesWalkExprs
    - taosMemoryFree
    - taosMemoryCalloc
    - cloneRewriteExprs
    - nodesRewriteSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteExprsForSelect(SNodeList* pExprs, SSelectStmt*
      pSelect, ESqlClause clause, SNodeList** pRewriteExprs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:229,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pExprs
    - pTarget
    argTypes:
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: rewriteExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteExprs(SNodeList* pExprs, SNodeList* pTarget) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1060,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1069,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1093,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1101,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1076,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1060,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1062,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1060,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1086,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1103,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1104,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1108,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1109,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1112,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1073,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1115,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1116,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1117,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1065,1
    - Dst: eliminateDupScanCols
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1065,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1067,1
    - Dst: findSchemaIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1070,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1076,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1091,1
    - Dst: addSubScanNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1093,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1103,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1104,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1108,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1109,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pVtableScan
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1119
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1119
    functionName: createVirtualNormalChildTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - PLAN_ERR_JRET
    - taosHashClear
    - findColRefIndex
    - addSubScanNode
    - taosHashIterate
    - tstrerror
    - FOREACH
    - nodesListStrictAppend
    - eliminateDupScanCols
    - planError
    - findSchemaIndex
    - taosGetDefaultHashFunction
    - createColumnByRewriteExprs
    - taosHashSetFreeFp
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualNormalChildTableLogicNode(SLogicPlanContext*
      pCxt, SSelectStmt* pSelect, SVirtualTableNode* pVirtualTable, SVirtualScanLogicNode*
      pVtableScan, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1250
    functionName: getDistinctGroupAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EGroupAction
    signature: 'static EGroupAction getDistinctGroupAction(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1644,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1664,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1669,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1662,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1671,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1675,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1677,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pSession
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSessionWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1682
      start: 1641
    functionDepth: 0
    functionLinenumber: 1641
    functionLinenumberEnd: 1682
    functionName: createWindowLogicNodeBySession
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - getRequireDataOrder
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeBySession(SLogicPlanContext* pCxt,
      SSessionWindowNode* pSession, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2057,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2058,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pOrderByList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2062
    functionName: isPrimaryKeySort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isPrimaryKeyImpl
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isPrimaryKeySort(SNodeList* pOrderByList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2431,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2441,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2450,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2437,1
    - Dst: rewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2445,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2456,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2460
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2460
    functionName: createSetOpAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - rewriteExprs
    - nodesDestroyNode
    - nodesCloneList
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOpAggLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: hasPkInTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasPkInTable(const STableMeta* pTableMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1887,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1904,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1898,1
    - Dst: nodeAlreadyContained
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1905,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1893,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1906,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 1914
      start: 1884
    functionDepth: 0
    functionLinenumber: 1884
    functionLinenumberEnd: 1914
    functionName: needFillValueImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodeAlreadyContained
    - nodesListMakeStrictAppend
    - taosHashPut
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes needFillValueImpl(SNode* pNode, void* pContext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2748,1
    - Dst: createSelectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2750,1
    - Dst: createVnodeModifLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2752,1
    - Dst: createSetOperatorLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2756,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2754,1
    - Dst: createDeleteLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2758,1
    - Dst: createInsertLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2760,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2765
      start: 2747
    functionDepth: 0
    functionLinenumber: 2747
    functionLinenumberEnd: 2765
    functionName: createQueryLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createSelectLogicNode
    - createInsertLogicNode
    - createDeleteLogicNode
    - createSetOperatorLogicNode
    - createQueryLogicNode
    - createVnodeModifLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createQueryLogicNode(SLogicPlanContext* pCxt, SNode*
      pStmt, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:308,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:318,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:320,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 324
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 324
    functionName: createFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - hasPkInTable
    - tstrncpy
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createFirstCol(SRealTableNode* pTable, const SSchema*
      pSchema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pNode
    - pCtx
    argTypes:
    - SNode*
    - SWalkFillSubExprCtx*
    constantsTouched: []
    func_position:
      end: 1916
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1916
    functionName: needFillValue
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: void
    signature: 'static void needFillValue(SNode* pNode, SWalkFillSubExprCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2770,1
    - Dst: doSetLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2770,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pNode
    - pParent
    argTypes:
    - SLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2771
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2771
    functionName: doSetLogicNodeParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - doSetLogicNodeParent
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void doSetLogicNodeParent(SLogicNode* pNode, SLogicNode* pParent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:626,1
    - Dst: collectTableAliasFromNodes
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:630,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:632,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:630,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:626,1
    - Dst: nodesCollectColumnsExt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:635,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pSelect
    - pJoin
    - pCols
    argTypes:
    - SSelectStmt*
    - SJoinLogicNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 641
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 641
    functionName: collectJoinResColumns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectColumnsExt
    - collectTableAliasFromNodes
    - tSimpleHashCleanup
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t collectJoinResColumns(SSelectStmt* pSelect, SJoinLogicNode*
      pJoin, SNodeList** pCols) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: needFillValue
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1922,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1929,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1931,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1934,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pCollectFillCtx
    argTypes:
    - SNode*
    - SCollectFillExprsCtx*
    constantsTouched: []
    func_position:
      end: 1938
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1938
    functionName: collectFillExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodeType
    - nodesCloneNode
    - needFillValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectFillExpr(SNode* pNode, SCollectFillExprsCtx*
      pCollectFillCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2148,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2163,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2153,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2162,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2154,1
    - Dst: createColumnByProjections
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2166,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2172,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2176
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2176
    functionName: createProjectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneList
    - createColumnByProjections
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createProjectLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2184,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2198,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2196,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2193,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2202,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2207,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2212,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2215,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2216,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2226,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2231,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2237,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2243,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 75
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2247
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2247
    functionName: createPartitionLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - rewriteTargetsWithResId
    - keysHasCol
    - nodesCollectFuncs
    - nodesDestroyNode
    - nodesCollectColumns
    - nodesCloneNode
    - nodesCloneList
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPartitionLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:647,1
    - Dst: getHashJoinOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:659,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:672,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:695,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:701,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:709,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:720,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:739,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:775,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:693,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:710,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:726,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:718,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:732,1
    - Dst: collectJoinResColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:755,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:759,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:667,1
    - Dst: getBatchScanOptionFromHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:660,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:682,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:727,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:712,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:730,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:745,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:757,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:763,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:669,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:675,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:684,1
    - Dst: nodesListStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:730,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:741,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:767,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 144
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pJoinTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SJoinTableNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 779
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 779
    functionName: createJoinLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - getHashJoinOptHint
    - getBatchScanOptionFromHint
    - doCreateLogicNodeByTable
    - rewriteTargetsWithResId
    - nodesListStrictAppendList
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesMakeList
    - nodesCloneNode
    - nodesListStrictAppend
    - collectJoinResColumns
    - nodesCloneList
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createJoinLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SJoinTableNode* pJoinTable, SLogicNode** pLogicNode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1948,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1984,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1985,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1945,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1954,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1963,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1966,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1968,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1971,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1978,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1986,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1988,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1945,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1958,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1973,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1980,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1979,1
    - Dst: collectFillExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1949,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1957,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 4
    argNames:
    - pSelect
    - pFillExprs
    - pNotFillExprs
    - pPossibleFillNullCols
    argTypes:
    - SSelectStmt*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1990
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1990
    functionName: collectFillExprs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesListMakeStrictAppend
    - taosHashIterate
    - nodesDestroyList
    - collectFillExpr
    - FOREACH
    - nodesCloneNode
    - taosHashCancelIterate
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectFillExprs(SSelectStmt* pSelect, SNodeList**
      pFillExprs, SNodeList** pNotFillExprs, SNodeList** pPossibleFillNullCols) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1334,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1346,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1339,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1352,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1345,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1357,1
    - Dst: nodesListDeduplicate
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1361,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1364,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1371,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1376,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1381,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1400,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1394,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1393,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1391,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1388,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1404
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1404
    functionName: createAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyNode
    - nodesDestroyList
    - isWindowJoinStmt
    - keysHasTbname
    - getRequireDataOrder
    - rewriteExprsForSelect
    - nodesCloneNode
    - nodesListDeduplicate
    - nodesCloneList
    - getGroupAction
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAggLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 927
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 927
    functionName: destroyScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'static void destroyScanLogicNode(void* data) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2596,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2608,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2602,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2610,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2604,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2615,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2617,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2621,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2624,1
    - Dst: rewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2637,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2631,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2641
      start: 2594
    functionDepth: 0
    functionLinenumber: 2594
    functionLinenumberEnd: 2641
    functionName: createDeleteAggLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - rewriteExpr
    - nodesCloneNode
    - nodesListStrictAppend
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDeleteAggLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pColRef
    - pVirtualTable
    - colId
    argTypes:
    - SColRef*
    - SVirtualTableNode*
    - col_id_t
    constantsTouched: []
    func_position:
      end: 936
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 936
    functionName: findColRefIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findColRefIndex(SColRef* pColRef, SVirtualTableNode*
      pVirtualTable, col_id_t colId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1413,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1422,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1421,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1428,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1426,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1439,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1443
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1443
    functionName: createIndefRowsFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyNode
    - getRequireDataOrder
    - rewriteExprsForSelect
    - getGroupAction
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIndefRowsFuncLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2646,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2662,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2657,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2660,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2656,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2665,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2667,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2670,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2672,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2678
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2678
    functionName: createVnodeModifLogicNodeByDelete
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - tstrncpy
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVnodeModifLogicNodeByDelete(SLogicPlanContext*
      pCxt, SDeleteStmt* pDelete, SLogicNode** pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:880,1
    - Dst: findRefColId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:877,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:882,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:886,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:900,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:902,1
    - Dst: findRefTableNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:876,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:884,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:884,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:887,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:889,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:889,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:893,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:888,1
    - Dst: scanAddCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:894,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:881,1
    - Dst: createRefScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:886,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:876,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:877,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:887,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:888,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:889,1
    - Dst: checkColRefType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:893,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:894,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:897,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - colRefIndex
    - schemaIndex
    - refTablesMap
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - int32_t
    - int32_t
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 905
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 905
    functionName: addSubScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - taosHashGet
    - findRefColId
    - createRefScanLogicNode
    - strlen
    - findRefTableNode
    - checkColRefType
    - taosHashPut
    - PLAN_ERR_JRET
    - strcat
    - scanAddCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSubScanNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SVirtualTableNode* pVirtualTable, int32_t colRefIndex, int32_t schemaIndex,
      SHashObj *refTablesMap) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1131,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1133,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1136,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1142,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1146,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1139,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1153,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1162,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1129,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1133,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1163,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1136,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1142,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1151,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1139,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1127,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1129,1
    - Dst: makeVirtualScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1131,1
    - Dst: createVirtualSuperTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1146,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1151,1
    - Dst: createVirtualNormalChildTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1153,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pVirtualTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SVirtualTableNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1165
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1165
    functionName: createVirtualTableLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyNode
    - nodesCollectColumns
    - tstrerror
    - createVirtualSuperTableLogicNode
    - makeVirtualScanLogicNode
    - nodesMakeList
    - rewriteExprsForSelect
    - planError
    - PLAN_ERR_JRET
    - nodesMakeNode
    - createVirtualNormalChildTableLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVirtualTableLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SVirtualTableNode* pVirtualTable, SLogicNode** pLogicNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1838,1
    - Dst: createWindowLogicNodeBySession
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1842,1
    - Dst: createWindowLogicNodeByEvent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1846,1
    - Dst: createWindowLogicNodeByInterval
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1844,1
    - Dst: createWindowLogicNodeByState
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1840,1
    - Dst: createWindowLogicNodeByCount
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1848,1
    - Dst: createWindowLogicNodeByAnomaly
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1850,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1856
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1856
    functionName: createWindowLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createWindowLogicNodeBySession
    - createWindowLogicNodeByCount
    - createWindowLogicNodeByInterval
    - createWindowLogicNodeByAnomaly
    - createWindowLogicNodeByState
    - createWindowLogicNodeByEvent
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:910,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:917,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pVirtualTable
    - pScan
    argTypes:
    - SLogicPlanContext*
    - SVirtualTableNode*
    - SVirtualScanLogicNode*
    constantsTouched: []
    func_position:
      end: 919
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 919
    functionName: makeVirtualScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeVirtualScanLogicNode(SLogicPlanContext* pCxt, SVirtualTableNode*
      pVirtualTable, SVirtualScanLogicNode* pScan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1170,1
    - Dst: createJoinLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1176,1
    - Dst: createScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1172,1
    - Dst: createSubqueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1174,1
    - Dst: createVirtualTableLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1178,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1185
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1185
    functionName: doCreateLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createSubqueryLogicNode
    - createScanLogicNode
    - tstrerror
    - createVirtualTableLogicNode
    - createJoinLogicNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCreateLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SNode* pTable, SLogicNode** pLogicNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2255,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2267,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2274,1
    - Dst: createGroupingSetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2269,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2271,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2284,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2295,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2299
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2299
    functionName: createDistinctLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createGroupingSetNode
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - nodesDestroyList
    - rewriteExprsForSelect
    - FOREACH
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDistinctLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1536,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1542,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1548,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1541,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1546,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1553,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1559,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1563
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1563
    functionName: createForecastFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyNode
    - getRequireDataOrder
    - rewriteExprsForSelect
    - getGroupAction
    - createColumnByRewriteExprs
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createForecastFuncLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: createLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2308,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2316,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2319,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2310,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2313,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2322,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2325,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2328,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2331,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2334,1
    - Dst: createSelectRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2337,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2343,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2347
      start: 2306
    functionDepth: 0
    functionLinenumber: 2306
    functionLinenumberEnd: 2347
    functionName: createSelectFromLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createLogicNodeByTable
    - createSelectRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectFromLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1578,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1584,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1580,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1596,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1588,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pWindow
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SWindowLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1600
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1600
    functionName: createWindowLogicNodeFinalize
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyNode
    - rewriteExprsForSelect
    - nodesCloneNode
    - createColumnByRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeFinalize(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SWindowLogicNode* pWindow, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createProjectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2304
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2304
    functionName: createSelectWithoutFromLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createProjectLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectWithoutFromLogicNode(SLogicPlanContext*
      pCxt, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectWithoutFromLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2352,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2358,1
    - Dst: createSelectFromLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2354,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2361
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2361
    functionName: createSelectLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createSelectFromLogicNode
    - TSWAP
    - createSelectWithoutFromLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2790,1
    - Dst: setLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2800,1
    - Dst: adjustLogicNodeDataRequirement
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2802,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2798,1
    - Dst: setLogicSubplanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2801,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan**
    constantsTouched: []
    func_position:
      end: 2812
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 2812
    functionName: createLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - setLogicNodeParent
    - adjustLogicNodeDataRequirement
    - nodesDestroyNode
    - setLogicSubplanType
    - createQueryLogicNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createLogicPlan(SPlanContext* pCxt, SLogicSubplan** pLogicSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:237,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pOldRoot
    - pNewRoot
    argTypes:
    - SLogicPlanContext*
    - SLogicNode**
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: pushLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushLogicNode(SLogicPlanContext* pCxt, SLogicNode**
      pOldRoot, SLogicNode* pNewRoot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:391,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:399,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: addPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - createFirstCol
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addPrimaryKeyCol(SRealTableNode* pTable, SNodeList**
      pCols) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - sqlType
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 2539
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2539
    functionName: getMsgType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMsgType(ENodeType sqlType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:255,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:262,1
    - Dst: pushLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - precision
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - void*
    - uint8_t
    - FCreateLogicNode
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 265
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 265
    functionName: createRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - pushLogicNode
    - nodesDestroyNode
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRootLogicNode(SLogicPlanContext* pCxt, void*
      pStmt, uint8_t precision, FCreateLogicNode func, SLogicNode** pRoot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addSystableFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:406,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:410,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:409,1
    - Dst: addPrimaryTsCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:408,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    functionName: addDefaultScanCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - addPrimaryTsCol
    - addPrimaryKeyCol
    - addSystableFirstCol
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDefaultScanCol(SRealTableNode* pTable, SNodeList**
      pCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2543,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2548,1
    - Dst: getMsgType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SVnodeModifyOpStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2552
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2552
    functionName: createVnodeModifLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesMakeNode
    - getMsgType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVnodeModifLogicNode(SLogicPlanContext* pCxt,
      SVnodeModifyOpStmt* pStmt, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:418,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:425,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:426,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:423,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:424,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:427,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:433,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - hasRepeatScanFuncs
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SRealTableNode*
    - bool
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 446
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 446
    functionName: makeScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - TAOS_SET_OBJ_ALIGNED
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeScanLogicNode(SLogicPlanContext* pCxt, SRealTableNode*
      pRealTable, bool hasRepeatScanFuncs, SLogicNode** pLogicNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: createSetOpProjectLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2467,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2486,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2482,1
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2479,1
    - Dst: createSetOpAggLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2470,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2489,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2496,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2500
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2500
    functionName: createSetOpLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - createSetOpProjectLogicNode
    - createSetOpAggLogicNode
    - nodesDestroyNode
    - createQueryLogicNode
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOpLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - scanType
    argTypes:
    - EScanType
    constantsTouched: []
    func_position:
      end: 448
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 448
    functionName: needScanDefaultCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool needScanDefaultCol(EScanType scanType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSetOpLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2505,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2513,1
    - Dst: createSetOpRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2507,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2517
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2517
    functionName: createSetOperatorLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createSetOpRootLogicNode
    - createSetOpLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOperatorLogicNode(SLogicPlanContext* pCxt,
      SSetOperator* pSetOperator, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSetLogicNodeParent
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2773,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2773
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2773
    functionName: setLogicNodeParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - doSetLogicNodeParent
    linkageType: ''
    returnType: void
    signature: 'static void setLogicNodeParent(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - hasScan
    - pSubplan
    argTypes:
    - bool
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2784
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2784
    functionName: setLogicSubplanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: 'static void setLogicSubplanType(bool hasScan, SLogicSubplan* pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:601,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:611,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 617
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 617
    functionName: createRefScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - getScanType
    - makeScanLogicNode
    - addDefaultScanCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRefScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SRealTableNode* pRealTable, SLogicNode** pLogicNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1687,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1708,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1714,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1712,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1716,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1718,1
    - Dst: keysHasTbname
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1721,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1724,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - pCxt
    - pInterval
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SIntervalWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1725
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1725
    functionName: createWindowLogicNodeByInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - keysHasTbname
    - getRequireDataOrder
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeByInterval(SLogicPlanContext*
      pCxt, SIntervalWindowNode* pInterval, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - STempTableNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 622
    functionName: createSubqueryLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createQueryLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSubqueryLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, STempTableNode* pTable, SLogicNode** pLogicNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1744,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1738,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1736,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1742,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1747,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1749,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1754,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1758,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1764,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - pCxt
    - pEvent
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SEventWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1765
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1765
    functionName: createWindowLogicNodeByEvent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - getRequireDataOrder
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeByEvent(SLogicPlanContext* pCxt,
      SEventWindowNode* pEvent, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1770,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1784,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1786,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1776,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1778,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1789,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pCount
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SCountWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1790
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1790
    functionName: createWindowLogicNodeByCount
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - getRequireDataOrder
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeByCount(SLogicPlanContext* pCxt,
      SCountWindowNode* pCount, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1795,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1801,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1803,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1808,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1810,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1814,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1819,1
    - Dst: rewriteExprForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1824,1
    - Dst: createWindowLogicNodeFinalize
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1826,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1828,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pAnomaly
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SAnomalyWindowNode*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1832
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1832
    functionName: createWindowLogicNodeByAnomaly
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - rewriteExprForSelect
    - nodesDestroyNode
    - getRequireDataOrder
    - tstrncpy
    - nodesCloneNode
    - getGroupAction
    - nodesMakeNode
    - createWindowLogicNodeFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createWindowLogicNodeByAnomaly(SLogicPlanContext* pCxt,
      SAnomalyWindowNode* pAnomaly, SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1876,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - pNode
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1882
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1882
    functionName: nodeAlreadyContained
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: bool
    signature: 'static bool nodeAlreadyContained(SNodeList* pList, SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1446,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1447,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1446,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1448
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1448
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - fmIsInterpFunc
    - fmisSelectGroupConstValueFunc
    - fmIsGroupKeyFunc
    - fmIsInterpPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isInterpFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:328,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:343,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:338,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pTable
    - pSchema
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: createVtbFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createVtbFirstCol(SVirtualTableNode* pTable, const
      SSchema* pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:367,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:375,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:375,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: addPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - createFirstCol
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addPrimaryTsCol(SRealTableNode* pTable, SNodeList**
      pCols) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:462,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:465,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:474,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:487,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:477,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 3
    argNames:
    - pSelect
    - pScan
    - pRealTable
    argTypes:
    - SSelectStmt*
    - SScanLogicNode*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 489
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 489
    functionName: updateScanNoPseudoRefAfterGrp
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCollectFuncs
    - nodesDestroyList
    - nodesCollectColumns
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateScanNoPseudoRefAfterGrp(SSelectStmt* pSelect,
      SScanLogicNode* pScan, SRealTableNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - needTimeline
    - pSelect
    argTypes:
    - bool
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1266
    functionName: getRequireDataOrder
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EDataOrderLevel
    signature: 'static EDataOrderLevel getRequireDataOrder(bool needTimeline, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2723,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2721,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2719,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2729
      start: 2704
    functionDepth: 0
    functionLinenumber: 2704
    functionLinenumberEnd: 2729
    functionName: createVnodeModifLogicNodeByInsert
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - snprintf
    - nodesDestroyNode
    - nodesCloneList
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVnodeModifLogicNodeByInsert(SLogicPlanContext*
      pCxt, SInsertStmt* pInsert, SLogicNode** pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:351,1
    - Dst: createVtbFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:359,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:359,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SVirtualTableNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 362
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 362
    functionName: addVtbPrimaryTsCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - createVtbFirstCol
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addVtbPrimaryTsCol(SVirtualTableNode* pTable, SNodeList**
      pCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:381,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:384,1
    - Dst: createFirstCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pTable
    - pCols
    argTypes:
    - SRealTableNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: addSystableFirstCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - createFirstCol
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSystableFirstCol(SRealTableNode* pTable, SNodeList**
      pCols) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: updateScanNoPseudoRefAfterGrp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:523,1
    - Dst: needScanDefaultCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:548,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:562,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:557,1
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:494,1
    - Dst: getScanType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:527,1
    - Dst: tagScanSetExecutionMode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:569,1
    - Dst: getParaTablesSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:587,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:518,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:532,1
    - Dst: addDefaultScanCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:549,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:577,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:513,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:508,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:553,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:565,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:591,1
    - Dst: keysHasCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:575,1
    - Dst: getSmallDataTsSortOptHint
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:588,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pRealTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SRealTableNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 596
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 596
    functionName: createScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - addDefaultScanCol
    - keysHasCol
    - tagScanSetExecutionMode
    - getSmallDataTsSortOptHint
    - updateScanNoPseudoRefAfterGrp
    - nodesCollectFuncs
    - nodesDestroyNode
    - nodesCollectColumns
    - needScanDefaultCol
    - rewriteExprsForSelect
    - makeScanLogicNode
    - nodesCloneNode
    - nodesCloneList
    - getParaTablesSortOptHint
    - createColumnByRewriteExprs
    - getScanType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createScanLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SRealTableNode* pRealTable, SLogicNode** pLogicNode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1272,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1287,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1299,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1292,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1301,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1303,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1304,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1316,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1322,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1320,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1314,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1309,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - pSelect
    - pList
    argTypes:
    - SSelectStmt*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1326
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1326
    functionName: addWinJoinPrimKeyToAggFuncs
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - IS_IDX_ON
    - nodesDestroyList
    - tstrncpy
    - createGroupKeyAggFunc
    - nodesMakeList
    - nodesListStrictAppend
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWinJoinPrimKeyToAggFuncs(SSelectStmt* pSelect, SNodeList**
      pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pOption
    argTypes:
    - SLogicPlanContext*
    - SStreamNodeOption*
    constantsTouched: []
    func_position:
      end: 1457
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1457
    functionName: initStreamOption
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initStreamOption(SLogicPlanContext* pCxt, SStreamNodeOption*
      pOption) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createQueryLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2733,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2741,1
    - Dst: creatInsertRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2735,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pInsert
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2745
      start: 2731
    functionDepth: 0
    functionLinenumber: 2731
    functionLinenumberEnd: 2745
    functionName: createInsertLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - creatInsertRootLogicNode
    - createQueryLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createInsertLogicNode(SLogicPlanContext* pCxt, SInsertStmt*
      pInsert, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1191,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1192,1
    - Dst: doCreateLogicNodeByTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1191,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1193,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1195,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1198,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1198,1
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1207,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pTable
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1210
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1210
    functionName: createLogicNodeByTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - doCreateLogicNodeByTable
    - nodesDestroyNode
    - tstrerror
    - nodesCloneNode
    - PLAN_ERR_JRET
    - nodesListGetNode
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createLogicNodeByTable(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SNode* pTable, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pDelete
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - FCreateDeleteLogicNode
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2557
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2557
    functionName: createDeleteRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDeleteRootLogicNode(SLogicPlanContext* pCxt,
      SDeleteStmt* pDelete, FCreateDeleteLogicNode func, SLogicNode** pRoot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1214,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1221,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pStmtName
    - pExpr
    argTypes:
    - char*
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1225
    functionName: createColumnByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: SColumnNode*
    signature: 'static SColumnNode * createColumnByExpr(const char* pStmtName, SExprNode*
      pExpr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: makeScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2561,1
    - Dst: addPrimaryKeyCol
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2573,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2572,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2577,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2568,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2582,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2588,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2592
      start: 2559
    functionDepth: 0
    functionLinenumber: 2559
    functionLinenumberEnd: 2592
    functionName: createDeleteScanLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - addPrimaryKeyCol
    - nodesDestroyNode
    - nodesCloneNode
    - makeScanLogicNode
    - nodesCloneList
    - createColumnByRewriteExprs
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDeleteScanLogicNode(SLogicPlanContext* pCxt,
      SDeleteStmt* pDelete, SLogicNode** pLogicNode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:52,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:54,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:55,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - pFunc
    - pCol
    - isPartitionBy
    argTypes:
    - SFunctionNode*
    - SColumnNode*
    - bool
    constantsTouched: []
    func_position:
      end: 84
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 84
    functionName: setColumnInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: 'static void setColumnInfo(SFunctionNode* pFunc, SColumnNode* pCol,
      bool isPartitionBy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - FCreateSelectLogicNode
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: createSelectRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectRootLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, FCreateSelectLogicNode func, SLogicNode** pRoot) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:809,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:814,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:830,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:833,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:822,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:821,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:807,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:811,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:834,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:831,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:850,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:832,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:853,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:807,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:810,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:812,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:815,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:816,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:850,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 5
    argNames:
    - pLogicNode
    - colRef
    - pVirtualTableNode
    - pSchema
    - colId
    argTypes:
    - SLogicNode*
    - SColRef*
    - STableNode*
    - SSchema*
    - col_id_t
    constantsTouched: []
    func_position:
      end: 855
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 855
    functionName: scanAddCol
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - strncmp
    - nodesDestroyNode
    - tstrncpy
    - FOREACH
    - PLAN_ERR_JRET
    - nodesMakeNode
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t scanAddCol(SLogicNode* pLogicNode, SColRef* colRef,
      STableNode* pVirtualTableNode, const SSchema* pSchema, col_id_t colId) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:88,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:97,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:94,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:95,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:93,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:112,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:113,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:114,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:116,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:118,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:124,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:125,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:129,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:132,1
    - Dst: setColumnInfo
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:130,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 148
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 148
    functionName: doRewriteExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesEqualNode
    - tstrncpy
    - FOREACH
    - setColumnInfo
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doRewriteExpr(SNode** pNode, void* pContext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:286,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:286,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pScanPseudoCols
    - pScanCols
    - tableType
    - tagScan
    argTypes:
    - SLogicPlanContext*
    - SNodeList*
    - SNodeList*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 300
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 300
    functionName: getScanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: EScanType
    signature: 'static EScanType getScanType(SLogicPlanContext* pCxt, SNodeList* pScanPseudoCols,
      SNodeList* pScanCols, int8_t tableType, bool tagScan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - vtbSchema
    - refSchema
    argTypes:
    - SSchema*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 865
    functionName: checkColRefType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkColRefType(const SSchema* vtbSchema, const SSchema*
      refSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:783,1
    - Dst: PLAN_RET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:786,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:786,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:785,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:784,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - refTableList
    - dbName
    - tableName
    - pRefTable
    argTypes:
    - SNodeList*
    - char*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 790
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 790
    functionName: findRefTableNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - FOREACH
    - strcasecmp
    - PLAN_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findRefTableNode(SNodeList *refTableList, const char
      *dbName, const char *tableName, SNode **pRefTable) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1465,1
    - Dst: rewriteExprsForSelect
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1477,1
    - Dst: nodesCollectFuncs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1475,1
    - Dst: getRequireDataOrder
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1471,1
    - Dst: getGroupAction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1470,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1485,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1487,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1499,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1509,1
    - Dst: initStreamOption
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1519,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1523
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1523
    functionName: createInterpFuncLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesCollectFuncs
    - nodesDestroyNode
    - getRequireDataOrder
    - rewriteExprsForSelect
    - nodesCloneNode
    - getGroupAction
    - createColumnByRewriteExprs
    - nodesMakeNode
    - initStreamOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createInterpFuncLogicNode(SLogicPlanContext* pCxt,
      SSelectStmt* pSelect, SLogicNode** pLogicNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pSetOperator
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - FCreateSetOpLogicNode
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2366
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2366
    functionName: createSetOpRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOpRootLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, FCreateSetOpLogicNode func, SLogicNode** pRoot) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:795,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pRefTable
    - colName
    - colId
    argTypes:
    - SNode*
    - char*
    - col_id_t*
    constantsTouched: []
    func_position:
      end: 801
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 801
    functionName: findRefColId
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findRefColId(SNode *pRefTable, const char *colName,
      col_id_t *colId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1526,1
    - Dst: fmisSelectGroupConstValueFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1527,1
    - Dst: fmIsForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1526,1
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1526,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1528
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1528
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - fmIsForecastFunc
    - fmisSelectGroupConstValueFunc
    - fmIsForecastPseudoColumnFunc
    - fmIsGroupKeyFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isForecastFunc(int32_t funcId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2374,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2379,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2386,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2392,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOperator
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSetOperator*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2396
      start: 2368
    functionDepth: 0
    functionLinenumber: 2368
    functionLinenumberEnd: 2396
    functionName: createSetOpSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - nodesMakeNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSetOpSortLogicNode(SLogicPlanContext* pCxt, SSetOperator*
      pSetOperator, SLogicNode** pLogicNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2070,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2081,1
    - Dst: rewriteTargetsWithResId
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2083,1
    - Dst: isPrimaryKeySort
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2078,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2087,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2087,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2089,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2095,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2098,1
    - Dst: isPrimaryKeySort
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2099,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2103,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2117,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2121
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2121
    functionName: createSortLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - rewriteTargetsWithResId
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - strcmp
    - nodesCollectColumns
    - FOREACH
    - nodesCloneNode
    - isPrimaryKeySort
    - nodesCloneList
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSortLogicNode(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect, SLogicNode** pLogicNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSchema
    - numOfColumns
    - colId
    argTypes:
    - SSchema*
    - int32_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 945
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 945
    functionName: findSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findSchemaIndex(const SSchema* pSchema, int32_t numOfColumns,
      col_id_t colId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1253,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:1254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 1255
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1255
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinStmt(SSelectStmt* pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createDeleteScanLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2682,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2693,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2684,1
    - Dst: createDeleteRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2687,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pDelete
    - pLogicNode
    argTypes:
    - SLogicPlanContext*
    - SDeleteStmt*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2697
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2697
    functionName: createDeleteLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createDeleteScanLogicNode
    - createDeleteRootLogicNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDeleteLogicNode(SLogicPlanContext* pCxt, SDeleteStmt*
      pDelete, SLogicNode** pLogicNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2126,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2135,1
    - Dst: createColumnByExpr
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2134,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2133,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pStmtName
    - pExprs
    - pCols
    argTypes:
    - SLogicPlanContext*
    - char*
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 2144
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2144
    functionName: createColumnByProjections
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - createColumnByExpr
    - FOREACH
    - nodesMakeList
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnByProjections(SLogicPlanContext* pCxt,
      const char* pStmtName, SNodeList* pExprs, SNodeList** pCols) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:950,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:950,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:955,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:950,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:961,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:962,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:963,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:964,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:965,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:966,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:969,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:969,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:969,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:967,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:974,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:966,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - pScanCols
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 976
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 976
    functionName: eliminateDupScanCols
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - ERASE_NODE
    - PLAN_ERR_JRET
    - taosHashGet
    - strlen
    - FOREACH
    - taosHashPut
    - taosGetDefaultHashFunction
    - strcat
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t eliminateDupScanCols(SNodeList* pScanCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SLogicPlanContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1261
    functionName: getGroupAction
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EGroupAction
    signature: 'static EGroupAction getGroupAction(SLogicPlanContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createRootLogicNode
      Src: /src/tdengine/source/libs/planner/src/planLogicCreater.c:2701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pInsert
    - func
    - pRoot
    argTypes:
    - SLogicPlanContext*
    - SInsertStmt*
    - FCreateInsertLogicNode
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 2702
      start: 2699
    functionDepth: 0
    functionLinenumber: 2699
    functionLinenumberEnd: 2702
    functionName: creatInsertRootLogicNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planLogicCreater.c
    functionUses: []
    functionsReached:
    - createRootLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t creatInsertRootLogicNode(SLogicPlanContext* pCxt, SInsertStmt*
      pInsert, FCreateInsertLogicNode func, SLogicNode** pRoot) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplNeedSeqRecvData
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1008
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1008
    functionName: stbSplNeedSeqRecvData
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplNeedSeqRecvData
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplNeedSeqRecvData(SLogicNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplGetSplitNodeForScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1485,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1494,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1488,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1495,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1500
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1500
    functionName: stbSplSplitScanNodeWithPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - stbSplGetSplitNodeForScan
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitScanNodeWithPartTags(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2274,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2272,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pRuleName
    - pSubplan
    argTypes:
    - char*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2277
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2277
    functionName: dumpLogicSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - nodesNodeToString
    - qDebugL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dumpLogicSubplan(const char* pRuleName, SLogicSubplan*
      pSubplan) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1012,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1022,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1016,1
    - Dst: stbSplNeedSeqRecvData
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1025,1
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1020,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1026,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1027,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1032
    functionName: stbSplSplitWindowForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - SPLIT_FLAG_SET_MASK
    - nodeType
    - splCreateExchangeNode
    - nodesListMakeStrictAppend
    - replaceLogicNode
    - stbSplNeedSeqRecvData
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitWindowForPartTable(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1505,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1517,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1525,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1516,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1531
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1531
    functionName: stbSplFindPrimaryKeyFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListStrictAppend
    - FOREACH
    - nodesCloneNode
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplFindPrimaryKeyFromScan(SScanLogicNode* pScan,
      SNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2163,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2164,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2165,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SQnodeSplitInfo*
    constantsTouched: []
    func_position:
      end: 2172
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2172
    functionName: qndSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool qndSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SQnodeSplitInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2283,1
    - Dst: dumpLogicSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2297,1
    - Dst: qnodeSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2305
      start: 2279
    functionDepth: 0
    functionLinenumber: 2279
    functionLinenumberEnd: 2305
    functionName: applySplitRule
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - dumpLogicSubplan
    - qnodeSplit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t applySplitRule(SPlanContext* pCxt, SLogicSubplan* pSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:296,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:301,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:296,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:303,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:303,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - streamQuery
    - pNode
    argTypes:
    - bool
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 316
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 316
    functionName: stbSplNeedSplitWindow
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplHasGatherExecFunc
    - stbSplHasMultiTbScan
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplNeedSplitWindow(bool streamQuery, SLogicNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:504,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:518,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:521,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:516,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:513,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:524,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:526,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:526,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - pMergeWindow
    - pPartWindow
    argTypes:
    - SWindowLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 537
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 537
    functionName: stbSplCreatePartWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplRewriteFuns
    - splSetParent
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCloneNode
    - stbSplAppendWStart
    - createColumnByRewriteExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreatePartWindowNode(SWindowLogicNode* pMergeWindow,
      SLogicNode** pPartWindow) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1447,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1453,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - pSplitNode
    argTypes:
    - SStableSplitInfo*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1466
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1466
    functionName: stbSplGetSplitNodeForScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplGetSplitNodeForScan(SStableSplitInfo* pInfo,
      SLogicNode** pSplitNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1681,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1691,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1684,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1686,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pPart
    - pMergeKeys
    argTypes:
    - SLogicNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1696
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1696
    functionName: stbSplCreateMergeKeysForPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplFindPrimaryKeyFromScan
    - stbSplCreateMergeKeysByPrimaryKey
    - nodesCloneNode
    - nodesListStrictAppend
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeKeysForPartitionNode(SLogicNode* pPart,
      SNodeList** pMergeKeys) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1854,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1862,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1864,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1868,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1870,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1873,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1879,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1884,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1885,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1886,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1891,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1887,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - startGroupId
    - pSubplan
    - pProject
    argTypes:
    - SSplitContext*
    - int32_t
    - SLogicSubplan*
    - SProjectLogicNode*
    constantsTouched: []
    func_position:
      end: 1893
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1893
    functionName: unAllSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - nodesEqualNode
    - FOREACH
    - nodesCloneNode
    - nodesCloneList
    - nodesMakeNode
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unAllSplCreateExchangeNode(SSplitContext* pCxt, int32_t
      startGroupId, SLogicSubplan* pSubplan, SProjectLogicNode* pProject) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1939,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1939,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionDistinctSplitInfo*
    constantsTouched: []
    func_position:
      end: 1946
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1946
    functionName: unDistSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: 'static bool unDistSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SUnionDistinctSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mergeAggColsNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2132,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SMergeAggColsSplitInfo*
    constantsTouched: []
    func_position:
      end: 2139
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2139
    functionName: mergeAggColsFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - mergeAggColsNeedSplit
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool mergeAggColsFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SMergeAggColsSplitInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplGetSplitNodeForScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1470,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1476,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1472,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1475,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1477,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1481
    functionName: stbSplSplitScanNodeWithoutPartTags
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splSetSubplanType
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - stbSplGetSplitNodeForScan
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitScanNodeWithoutPartTags(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:323,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:324,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:324,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - streamQuery
    - pJoin
    argTypes:
    - bool
    - SJoinLogicNode*
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: stbSplNeedSplitJoin
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplNeedSplitJoin(bool streamQuery, SJoinLogicNode*
      pJoin) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:550,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:558,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:556,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:573,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:568,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:580,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:587,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:589,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:589,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:601,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:604,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:596,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:609,1
    - Dst: stbSplAppendWStart
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:593,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:600,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:601,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:610,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 3
    argNames:
    - pMergeWindow
    - pPartWindow
    - pMidWindow
    argTypes:
    - SWindowLogicNode*
    - SLogicNode**
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 614
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 614
    functionName: stbSplCreatePartMidWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplRewriteFuns
    - splSetParent
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCloneNode
    - stbSplAppendWStart
    - createColumnByRewriteExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreatePartMidWindowNode(SWindowLogicNode* pMergeWindow,
      SLogicNode** pPartWindow, SLogicNode** pMidWindow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeKeysForPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1702,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1705,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1708,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1714
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1714
    functionName: stbSplSplitPartitionNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    - stbSplCreateMergeKeysForPartitionNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitPartitionNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1897,1
    - Dst: unAllSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1904,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1902,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1908
    functionName: unionAllSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - unionSplitSubplan
    - splMatch
    - unAllSplCreateExchangeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unionAllSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1950,1
    - Dst: unDistSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1957,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1955,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 1961
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1961
    functionName: unionDistinctSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - unionSplitSubplan
    - unDistSplCreateExchangeNode
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unionDistinctSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2048,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2049,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2048,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStreamVTableSplitInfo*
    constantsTouched: []
    func_position:
      end: 2054
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2054
    functionName: streamVTableFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool streamVTableFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SStreamVTableSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2144,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2148,1
    - Dst: PLAN_ERR_RET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2149,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2149,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2148,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2154
    functionName: mergeAggColsSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - splMatch
    - PLAN_ERR_RET
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeAggColsSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:332,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:337,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:336,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:340,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:335,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:342,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 343
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 343
    functionName: stbSplIsTableCountQuery
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplIsTableCountQuery(SLogicNode* pNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:350,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:352,1
    - Dst: stbSplIsMultiTbScanChild
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:356,1
    - Dst: stbSplHasGatherExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:358,1
    - Dst: stbSplNeedSplitJoin
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:354,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:359,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:360,1
    - Dst: stbSplIsTableCountQuery
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:360,1
    - Dst: stbSplNeedSplitWindow
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:362,1
    - Dst: stbSplHasMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:364,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pNode
    argTypes:
    - SFindSplitNodeCtx*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 369
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 369
    functionName: stbSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - isPartTableAgg
    - stbSplNeedSplitJoin
    - stbSplIsTableCountQuery
    - stbSplIsMultiTbScanChild
    - stbSplNeedSplitWindow
    - stbSplHasGatherExecFunc
    - stbSplIsMultiTbScan
    - stbSplHasMultiTbScan
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplNeedSplit(SFindSplitNodeCtx* pCtx, SLogicNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:169,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:180,1
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:181,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pLogicNode
    - groupId
    argTypes:
    - SLogicNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 187
    functionName: splIsChildSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splIsChildSubplan
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool splIsChildSubplan(SLogicNode* pLogicNode, int32_t groupId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:668,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:688,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:682,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:673,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:686,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:693,1
    - Dst: stbSplRewriteFromMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:702,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:706,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:712,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 7
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - pMergeKeys
    - pPartChild
    - groupSort
    - needSort
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SNodeList*
    - SLogicNode*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 715
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 715
    functionName: stbSplCreateMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - stbSplRewriteFromMergeNode
    - nodesCloneNode
    - replaceLogicNode
    - nodesCloneList
    - stbSplGetNumOfVgroups
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pSplitNode, SNodeList* pMergeKeys, SLogicNode* pPartChild,
      bool groupSort, bool needSort) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitCountForStream
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:961,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: stbSplSplitCount
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitCountForStream
    - stbSplSplitSessionOrStateForBatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitCount(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:191,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:196,1
    - Dst: splIsChildSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:192,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:195,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pParent
    - pChildren
    argTypes:
    - SLogicSubplan*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 205
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 205
    functionName: splMountSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - splIsChildSubplan
    - WHERE_EACH
    - REPLACE_NODE
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splMountSubplan(SLogicSubplan* pParent, SNodeList*
      pChildren) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:719,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:722,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pParent
    - pPartChild
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 725
    functionName: stbSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateExchangeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateExchangeNode(SSplitContext* pCxt, SLogicNode*
      pParent, SLogicNode* pPartChild) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: stbSplSplitAnomalyForStream
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAnomalyForStream(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1918,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1926,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1928,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1934,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - startGroupId
    - pSubplan
    - pAgg
    argTypes:
    - SSplitContext*
    - int32_t
    - SLogicSubplan*
    - SAggLogicNode*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1935
    functionName: unDistSplCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unDistSplCreateExchangeNode(SSplitContext* pCxt, int32_t
      startGroupId, SLogicSubplan* pSubplan, SAggLogicNode* pAgg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pSubplan
    argTypes:
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: splSetSubplanType
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splHasScan
    linkageType: ''
    returnType: void
    signature: 'static void splSetSubplanType(SLogicSubplan* pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1290,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1296,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1295,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1297,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1298,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1303,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pExpr
    - ppNode
    argTypes:
    - SExprNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1307
      start: 1288
    functionDepth: 0
    functionLinenumber: 1288
    functionLinenumberEnd: 1307
    functionName: stbSplCreateColumnNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateColumnNode(SExprNode* pExpr, SNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:103,1
    - Dst: splSetSubplanType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - ppSubplan
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SLogicSubplan**
    constantsTouched: []
    func_position:
      end: 114
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 114
    functionName: splCreateSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - splSetSubplanType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splCreateSubplan(SSplitContext* pCxt, SLogicNode* pNode,
      SLogicSubplan** ppSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1311,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1316,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1318,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pSortKey
    - pCol
    - ppNode
    argTypes:
    - SOrderByExprNode*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1325
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1325
    functionName: stbSplCreateOrderByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateOrderByExpr(SOrderByExprNode* pSortKey,
      SNode* pCol, SNode** ppNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:750,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:758,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:755,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:761,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:766,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:773,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:774,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:780,1
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:781,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:787,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:788,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:783,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 791
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 791
    functionName: stbSplSplitIntervalForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyNode
    - nodesDestroyList
    - stbSplCreateMergeKeysByPrimaryKey
    - stbSplCreatePartWindowNode
    - FOREACH
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    - splSetSubplanVgroups
    - nodesListMakeStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitIntervalForBatch(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitEventForStream
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:949,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 953
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 953
    functionName: stbSplSplitEvent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitSessionOrStateForBatch
    - stbSplSplitEventForStream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitEvent(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isPartTableWinodw
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1035,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1036,1
    - Dst: stbSplSplitWindowForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1037,1
    - Dst: stbSplSplitWindowForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1039,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1041
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1041
    functionName: stbSplSplitWindowNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitWindowForPartTable
    - isPartTableWinodw
    - stbSplSplitWindowForCrossTable
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitWindowNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitIntervalForStreamMultiAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:840,1
    - Dst: stbSplSplitIntervalForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 844
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 844
    functionName: stbSplSplitInterval
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitIntervalForStreamMultiAgg
    - stbSplSplitIntervalForBatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitInterval(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1789,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1794,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1792,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1794,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 1799
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1799
    functionName: singleTableJoinSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateScanSubplan
    - splMatch
    - splCreateExchangeNodeForSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t singleTableJoinSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2082,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2083,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2083,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2082,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SVirtualTableSplitInfo*
    constantsTouched: []
    func_position:
      end: 2089
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2089
    functionName: virtualTableFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool virtualTableFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SVirtualTableSplitInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:848,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:863,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:865,1
    - Dst: stbSplAppendWEnd
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:861,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:865,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:868,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:871,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:872,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 877
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 877
    functionName: stbSplSplitSessionForStream
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - stbSplAppendWEnd
    - stbSplCreatePartWindowNode
    - nodesCloneNode
    - stbSplCreateExchangeNode
    - splCreateScanSubplan
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitSessionForStream(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: stbSplSplitCountForStream
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitCountForStream(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1056,1
    - Dst: stbSplRewriteFuns
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1077,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1065,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1075,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1069,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1080,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1087,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 2
    argNames:
    - pMergeAgg
    - pOutput
    argTypes:
    - SAggLogicNode*
    - SLogicNode**
    constantsTouched: []
    func_position:
      end: 1091
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1091
    functionName: stbSplCreatePartAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splSetParent
    - nodesDestroyList
    - nodesDestroyNode
    - nodesCloneNode
    - stbSplRewriteFuns
    - createColumnByRewriteExprs
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreatePartAggNode(SAggLogicNode* pMergeAgg, SLogicNode**
      pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1808,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1816,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1815,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1812,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1810,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1826,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1828,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1831,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pUnionSubplan
    - pSplitNode
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1834
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1834
    functionName: unionSplitSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateSubplan
    - nodesListMakeStrictAppend
    - nodesDestroyList
    - NODES_DESTORY_LIST
    - FOREACH
    - splMountSubplan
    - REPLACE_NODE
    - nodesListMakeStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unionSplitSubplan(SSplitContext* pCxt, SLogicSubplan*
      pUnionSubplan, SLogicNode* pSplitNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2094,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2101,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2099,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2100,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2100,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2103,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2110
      start: 2091
    functionDepth: 0
    functionLinenumber: 2091
    functionLinenumberEnd: 2110
    functionName: virtualTableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - splMatch
    - FOREACH
    - splCreateScanSubplan
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t virtualTableSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2119,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2123,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2121,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2123,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2119,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2127
    functionName: mergeAggColsNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool mergeAggColsNeedSplit(SLogicNode* pNode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1722,1
    - Dst: stbSplSplitPartitionNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1735,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1727,1
    - Dst: stbSplSplitJoinNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1732,1
    - Dst: stbSplSplitScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1729,1
    - Dst: stbSplSplitAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1738,1
    - Dst: stbSplSplitWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1741,1
    - Dst: stbSplSplitSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1744,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 1755
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1755
    functionName: stableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - splMatch
    - stbSplSplitScanNode
    - stbSplSplitWindowNode
    - stbSplSplitJoinNode
    - stbSplSplitAggNode
    - stbSplSplitPartitionNode
    - stbSplSplitSortNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stableSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1331,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1337,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1336,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1338,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1337,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1340,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1342,1
    - Dst: stbSplCreateColumnNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1352,1
    - Dst: stbSplCreateOrderByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1355,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1357,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1361,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1363,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1373,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 49
    argCount: 3
    argNames:
    - pSortKeys
    - pTargets
    - pOutput
    argTypes:
    - SNodeList*
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1376
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1376
    functionName: stbSplCreateMergeKeys
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - stbSplCreateOrderByExpr
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - nodesDestroyList
    - strcmp
    - stbSplCreateColumnNode
    - nodesEqualNode
    - FOREACH
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeKeys(SNodeList* pSortKeys, SNodeList*
      pTargets, SNodeList** pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1764,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1773,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1772,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1773,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1774
    functionName: sigTbJoinSplNeedSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sigTbJoinSplNeedSplit(SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:209,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:214,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - func
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - FSplFindSplitNode
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: splMatchByNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - FOREACH
    - func
    - splMatchByNode
    linkageType: ''
    returnType: bool
    signature: 'static bool splMatchByNode(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      SLogicNode* pNode, FSplFindSplitNode func, void* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitStateForStream
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:937,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 941
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 941
    functionName: stbSplSplitState
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitSessionOrStateForBatch
    - stbSplSplitStateForStream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitState(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1983,1
    - Dst: unionSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 1994
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 1994
    functionName: smaIndexSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - unionSplitSubplan
    - splMatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaIndexSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SPLIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:222,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:228,1
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:229,1
    - Dst: splMatchByNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - flag
    - func
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - int32_t
    - FSplFindSplitNode
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 234
    functionName: splMatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splMatch
    - SPLIT_FLAG_TEST_MASK
    - FOREACH
    - splMatchByNode
    linkageType: ''
    returnType: bool
    signature: 'static bool splMatch(SSplitContext* pCxt, SLogicSubplan* pSubplan,
      int32_t flag, FSplFindSplitNode func, void* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: stbSplSplitEventForStream
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitEventForStream(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1387,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1392,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1395,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1403,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - pSort
    - pOutputPartSort
    - pOutputMergeKeys
    argTypes:
    - SSortLogicNode*
    - SLogicNode**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1407
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1407
    functionName: stbSplCreatePartSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplCreateMergeKeys
    - splSetParent
    - nodesDestroyList
    - nodesDestroyNode
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreatePartSortNode(SSortLogicNode* pSort, SLogicNode**
      pOutputPartSort, SNodeList** pOutputMergeKeys) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigTbJoinSplNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1778,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1780,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSigTbJoinSplitInfo*
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    functionName: sigTbJoinSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - sigTbJoinSplNeedSplit
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool sigTbJoinSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SSigTbJoinSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: needSplitSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2329,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2330,1
    - Dst: applySplitRule
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pLogicSubplan
    argTypes:
    - SPlanContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2334
      start: 2328
    functionDepth: 0
    functionLinenumber: 2328
    functionLinenumberEnd: 2334
    functionName: splitLogicPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - applySplitRule
    - setVgroupsInfo
    - needSplitSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t splitLogicPlan(SPlanContext* pCxt, SLogicSubplan* pLogicSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:248,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:249,1
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: stbSplHasGatherExecFunc
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - FOREACH
    - fmIsWindowPseudoColumnFunc
    - fmIsDistExecFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplHasGatherExecFunc(const SNodeList* pFuncs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1649,1
    - Dst: stbSplSplitJoinNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1657,1
    - Dst: stbSplSplitMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1654,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1650,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pJoin
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SJoinLogicNode*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1666
    functionName: stbSplSplitJoinNodeImpl
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - stbSplSplitMergeScanNode
    - stbSplSplitJoinNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitJoinNodeImpl(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SJoinLogicNode* pJoin, SStableSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2212,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2213,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SDynVirtualScanSplitInfo*
    constantsTouched: []
    func_position:
      end: 2220
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2220
    functionName: dynVirtualScanFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool dynVirtualScanFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SDynVirtualScanSplitInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - streamQuery
    - pScan
    argTypes:
    - bool
    - SScanLogicNode*
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: stbSplIsMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplIsMultiTbScan(bool streamQuery, SScanLogicNode*
      pScan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitJoinNodeImpl
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1678
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1678
    functionName: stbSplSplitJoinNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitJoinNodeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitJoinNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1843,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SUnionAllSplitInfo*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1849
    functionName: unAllSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    linkageType: ''
    returnType: bool
    signature: 'static bool unAllSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SUnionAllSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2225,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2231,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2231,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2232,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2232,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2234,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2235,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2235,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2236,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2242
      start: 2222
    functionDepth: 0
    functionLinenumber: 2222
    functionLinenumberEnd: 2242
    functionName: dynVirtualScanSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateSubplan
    - splCreateExchangeNodeForSubplan
    - nodesListMakeStrictAppend
    - splMatch
    - splMountSubplan
    - PLAN_ERR_JRET
    - splSetSubplanVgroups
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dynVirtualScanSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1251,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1257,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1265,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1260,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1255,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1276
    functionName: stbSplSplitAggNodeForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplCreatePartAggNode
    - stbSplAggNodeCreateMerge
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - stbSplCreateExchangeNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAggNodeForCrossTable(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2003,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2003,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2005,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SInsertSelectSplitInfo*
    constantsTouched: []
    func_position:
      end: 2010
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2010
    functionName: insSelSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool insSelSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SInsertSelectSplitInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:51,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:53,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:55,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:52,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:56,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:58,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:59,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:59,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pSubplan
    - pNode
    argTypes:
    - SLogicSubplan*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: splSetSubplanVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - TSWAP
    - splSetSubplanVgroups
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: 'static void splSetSubplanVgroups(SLogicSubplan* pSubplan, SLogicNode*
      pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1279,1
    - Dst: isPartTableAgg
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1282,1
    - Dst: stbSplSplitAggNodeForCrossTableMulSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1280,1
    - Dst: stbSplSplitAggNodeForCrossTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1285,1
    - Dst: stbSplSplitAggNodeForPartTable
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1286
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1286
    functionName: stbSplSplitAggNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitAggNodeForPartTable
    - LIST_LENGTH
    - stbSplSplitAggNodeForCrossTable
    - isPartTableAgg
    - stbSplSplitAggNodeForCrossTableMulSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAggNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2014,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2020,1
    - Dst: splMountSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2028,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2025,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2022,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2031,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2035
      start: 2012
    functionDepth: 0
    functionLinenumber: 2012
    functionLinenumberEnd: 2035
    functionName: insertSelectSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - SPLIT_FLAG_SET_MASK
    - splCreateSubplan
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - splMatch
    - splMountSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t insertSelectSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitSessionForStream
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:925,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 929
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 929
    functionName: stbSplSplitSession
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitSessionOrStateForBatch
    - stbSplSplitSessionForStream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitSession(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1194,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1201,1
    - Dst: stbSplAggNodeCreateMerge
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1198,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1204,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1204,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1206,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1210,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1217,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1218,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1224,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1227,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1230,1
    - Dst: stbSplCreatePartAggNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1225,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1231,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1234
    functionName: stbSplSplitAggNodeForCrossTableMulSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplCreatePartAggNode
    - stbSplAggNodeCreateMerge
    - LIST_LENGTH
    - nodesDestroyNode
    - FOREACH
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    - splSetSubplanVgroups
    - nodesListGetNode
    - nodesListMakeStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAggNodeForCrossTableMulSubplan(SSplitContext*
      pCxt, SStableSplitInfo* pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:118,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:130,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:135,1
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:128,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pChild
    - pOutput
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - SExchangeLogicNode**
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: splCreateExchangeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splCreateExchangeNode(SSplitContext* pCxt, SLogicNode*
      pChild, SExchangeLogicNode** pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:617,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:621,1
    - Dst: stbSplGetNumOfVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:621,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: stbSplGetNumOfVgroups
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplGetNumOfVgroups
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplGetNumOfVgroups(SLogicNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2059,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2063,1
    - Dst: PLAN_ERR_JRET
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2065,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2064,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2063,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2073
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2073
    functionName: streamVTableSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - splMatch
    - splCreateScanSubplan
    - PLAN_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamVTableSplit(SSplitContext* pCxt, SLogicSubplan*
      pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2308,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2311,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2317,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2309,1
    - Dst: setVgroupsInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pSubplan
    argTypes:
    - SLogicNode*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2318
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2318
    functionName: setVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - setVgroupsInfo
    - FOREACH
    - TSWAP
    linkageType: ''
    returnType: void
    signature: 'static void setVgroupsInfo(SLogicNode* pNode, SLogicSubplan* pSubplan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: splCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:155,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:163,1
    - Dst: replaceLogicNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:158,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pSplitNode
    - subplanType
    - seqScan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - ESubplanType
    - bool
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: splCreateExchangeNodeForSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - splCreateExchangeNode
    - replaceLogicNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t splCreateExchangeNodeForSubplan(SSplitContext* pCxt,
      SLogicSubplan* pSubplan, SLogicNode* pSplitNode, ESubplanType subplanType, bool
      seqScan) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:632,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:648,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:644,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 2
    argNames:
    - pMerge
    - pNode
    argTypes:
    - SMergeLogicNode*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 663
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 663
    functionName: stbSplRewriteFromMergeNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplRewriteFromMergeNode(SMergeLogicNode* pMerge,
      SLogicNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 933
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 933
    functionName: stbSplSplitStateForStream
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitStateForStream(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2321,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pLogicSubplan
    argTypes:
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2326
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2326
    functionName: needSplitSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool needSplitSubplan(SLogicSubplan* pLogicSubplan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1537,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1557,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1548,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1549,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1555,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pScan
    - ppNode
    argTypes:
    - SScanLogicNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1563
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1563
    functionName: stbSplFindPkFromScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListStrictAppend
    - FOREACH
    - nodesCloneNode
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplFindPkFromScan(SScanLogicNode* pScan, SNode**
      ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitAnomalyForStream
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:973,1
    - Dst: stbSplSplitSessionOrStateForBatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 977
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 977
    functionName: stbSplSplitAnomaly
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitSessionOrStateForBatch
    - stbSplSplitAnomalyForStream
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAnomaly(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitInterval
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:982,1
    - Dst: stbSplSplitState
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:986,1
    - Dst: stbSplSplitCount
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:990,1
    - Dst: stbSplSplitSession
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:984,1
    - Dst: stbSplSplitEvent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:988,1
    - Dst: stbSplSplitAnomaly
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:992,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 997
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 997
    functionName: stbSplSplitWindowForCrossTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitCount
    - stbSplSplitSession
    - stbSplSplitInterval
    - stbSplSplitEvent
    - stbSplSplitState
    - stbSplSplitAnomaly
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitWindowForCrossTable(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1572,1
    - Dst: stbSplFindPrimaryKeyFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1582,1
    - Dst: stbSplFindPkFromScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1588,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1584,1
    - Dst: splSetParent
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1579,1
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1591,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1599,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1600,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - pScan
    - pOutputMergeScan
    - pOutputMergeKeys
    argTypes:
    - SScanLogicNode*
    - SLogicNode**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1604
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1604
    functionName: stbSplCreateMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splSetParent
    - stbSplFindPrimaryKeyFromScan
    - stbSplCreateMergeKeysByPrimaryKey
    - nodesDestroyNode
    - stbSplCreateMergeKeysByExpr
    - nodesDestroyList
    - nodesCloneNode
    - stbSplFindPkFromScan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeScanNode(SScanLogicNode* pScan, SLogicNode**
      pOutputMergeScan, SNodeList** pOutputMergeKeys) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:430,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:446,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:447,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:439,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:443,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:448,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:451,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - pFuncs
    - pIndex
    - precision
    argTypes:
    - SNodeList*
    - int32_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 457
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 457
    functionName: stbSplAppendWStart
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - tstrncpy
    - FOREACH
    - nodesListStrictAppend
    - fmGetFuncInfo
    - taosHashBinary
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplAppendWStart(SNodeList* pFuncs, int32_t* pIndex,
      uint8_t precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1410,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1416,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1417,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1420
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1420
    functionName: stbSplSetScanPartSort
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSetScanPartSort
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: 'static void stbSplSetScanPartSort(SLogicNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:462,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:475,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:479,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:478,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:471,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:480,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:482,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:484,1
    - Dst: createColumnByRewriteExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:488,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:488,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pWin
    - pIndex
    argTypes:
    - SWindowLogicNode*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 491
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 491
    functionName: stbSplAppendWEnd
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - createColumnByRewriteExpr
    - tsnprintf
    - tstrncpy
    - FOREACH
    - nodesListStrictAppend
    - fmGetFuncInfo
    - taosHashBinary
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplAppendWEnd(SWindowLogicNode* pWin, int32_t* pIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartSortNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1426,1
    - Dst: stbSplSetScanPartSort
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1431,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1436,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1428,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1442
    functionName: stbSplSplitSortNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplSetScanPartSort
    - nodesDestroyNode
    - stbSplCreateMergeNode
    - splCreateScanSubplan
    - stbSplCreatePartSortNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitSortNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1970,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1971,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1971,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1970,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SSmaIndexSplitInfo*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1979
    functionName: smaIdxSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool smaIdxSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SSmaIndexSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stbSplNeedSplit
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:374,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pSubplan
    - pNode
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SLogicNode*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: stbSplFindSplitNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplNeedSplit
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplFindSplitNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SLogicNode* pNode, SStableSplitInfo* pInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1132,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1165,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1179,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1183,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1118,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1126,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1119,1
    - Dst: createGroupKeyAggFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1134,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1139,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1141,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1166,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1174,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1183,1
    - Dst: createColumnByRewriteExprs
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1147,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1150,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1162,1
    - Dst: memset
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1167,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1158,1
    - Dst: stbSplCreateMergeKeys
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1127,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1160,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1161,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1155,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1173,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 3
    argNames:
    - pCtx
    - pInfo
    - pChildAgg
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 1187
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1187
    functionName: stbSplAggNodeCreateMerge
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    - stbSplCreateMergeKeys
    - nodesDestroyNode
    - nodesDestroyList
    - strcmp
    - nodesEqualNode
    - createGroupKeyAggFunc
    - tstrncpy
    - memset
    - FOREACH
    - nodesListAppendList
    - stbSplCreateMergeNode
    - createColumnByRewriteExprs
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplAggNodeCreateMerge(SSplitContext* pCtx, SStableSplitInfo*
      pInfo, SLogicNode* pChildAgg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1610,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1626,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1628,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1620,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 5
    argNames:
    - pCxt
    - pSubplan
    - pScan
    - groupSort
    - pInfo
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    - SScanLogicNode*
    - bool
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1632
    functionName: stbSplSplitMergeScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplCreateMergeScanNode
    - nodesDestroyNode
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitMergeScanNode(SSplitContext* pCxt, SLogicSubplan*
      pSubplan, SScanLogicNode* pScan, bool groupSort, SStableSplitInfo* pInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:384,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:396,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:393,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:390,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:391,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:398,1
    - Dst: fmGetDistMethod
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:402,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:405,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:409,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:411,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:415,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:419,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 4
    argNames:
    - pFuncs
    - pPartialFuncs
    - pMidFuncs
    - pMergeFuncs
    argTypes:
    - SNodeList*
    - SNodeList**
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 425
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 425
    functionName: stbSplRewriteFuns
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - fmGetDistMethod
    - nodesDestroyNode
    - FOREACH
    - nodesCloneNode
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplRewriteFuns(const SNodeList* pFuncs, SNodeList**
      pPartialFuncs, SNodeList** pMidFuncs, SNodeList** pMergeFuncs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stbSplSplitMergeScanNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1638,1
    - Dst: stbSplSplitScanNodeWithPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1641,1
    - Dst: stbSplSplitScanNodeWithoutPartTags
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1644
    functionName: stbSplSplitScanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplSplitMergeScanNode
    - stbSplSplitScanNodeWithPartTags
    - stbSplSplitScanNodeWithoutPartTags
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitScanNode(SSplitContext* pCxt, SStableSplitInfo*
      pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1094,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1097,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:1096,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    functionName: stbSplSplitAggNodeForPartTable
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateScanSubplan
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitAggNodeForPartTable(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:66,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:73,1
    - Dst: splSetSubplanVgroups
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:76,1
    - Dst: SPLIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - flag
    argTypes:
    - SSplitContext*
    - SLogicNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: splCreateScanSubplan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splSetSubplanVgroups
    - nodeType
    - nodesMakeNode
    - SPLIT_FLAG_SET_MASK
    linkageType: ''
    returnType: SLogicSubplan*
    signature: 'static SLogicSubplan * splCreateScanSubplan(SSplitContext* pCxt, SLogicNode*
      pNode, int32_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: splSetParent
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void splSetParent(SLogicNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreatePartMidWindowNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:803,1
    - Dst: splCreateSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:821,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:825,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:815,1
    - Dst: stbSplCreateExchangeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:813,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:826,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:829,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 836
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 836
    functionName: stbSplSplitIntervalForStreamMultiAgg
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - splCreateSubplan
    - nodesListMakeStrictAppend
    - stbSplCreatePartMidWindowNode
    - stbSplCreateExchangeNode
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitIntervalForStreamMultiAgg(SSplitContext*
      pCxt, SStableSplitInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:880,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:889,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:888,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 892
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 892
    functionName: stbSplSetTableMergeScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    - stbSplSetTableMergeScan
    linkageType: ''
    returnType: void
    signature: 'static void stbSplSetTableMergeScan(SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:82,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:88,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:87,1
    - Dst: splHasScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: splHasScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - splHasScan
    linkageType: ''
    returnType: bool
    signature: 'static bool splHasScan(SLogicNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:896,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:907,1
    - Dst: stbSplCreateMergeKeysByPrimaryKey
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:899,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:908,1
    - Dst: stbSplCreateMergeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:903,1
    - Dst: stbSplSetTableMergeScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:912,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - SSplitContext*
    - SStableSplitInfo*
    constantsTouched: []
    func_position:
      end: 921
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 921
    functionName: stbSplSplitSessionOrStateForBatch
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - stbSplSetTableMergeScan
    - nodesDestroyList
    - stbSplCreateMergeKeysByPrimaryKey
    - splCreateScanSubplan
    - stbSplCreateMergeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplSplitSessionOrStateForBatch(SSplitContext* pCxt,
      SStableSplitInfo* pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:262,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:270,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:265,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:266,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:272,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:272,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:276,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:277,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - streamQuery
    - pNode
    argTypes:
    - bool
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 283
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 283
    functionName: stbSplHasMultiTbScan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - stbSplIsMultiTbScan
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplHasMultiTbScan(bool streamQuery, SLogicNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:729,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:741,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:736,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pExpr
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 742
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 742
    functionName: stbSplCreateMergeKeysByExpr
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeKeysByExpr(SNode* pExpr, EOrder order,
      SNodeList** pMergeKeys) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: splMatch
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2180,1
    - Dst: splCreateExchangeNodeForSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2184,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2190,1
    - Dst: splCreateScanSubplan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2186,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:2194,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pSubplan
    argTypes:
    - SSplitContext*
    - SLogicSubplan*
    constantsTouched: []
    func_position:
      end: 2203
      start: 2174
    functionDepth: 0
    functionLinenumber: 2174
    functionLinenumberEnd: 2203
    functionName: qnodeSplit
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesListMakeStrictAppend
    - splCreateExchangeNodeForSubplan
    - splMatch
    - splCreateScanSubplan
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qnodeSplit(SSplitContext* pCxt, SLogicSubplan* pSubplan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:286,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:289,1
    - Dst: stbSplIsMultiTbScan
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:290,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - streamQuery
    - pNode
    argTypes:
    - bool
    - SLogicNode*
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 291
    functionName: stbSplIsMultiTbScanChild
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - stbSplIsMultiTbScan
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool stbSplIsMultiTbScanChild(bool streamQuery, SLogicNode*
      pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stbSplCreateMergeKeysByExpr
      Src: /src/tdengine/source/libs/planner/src/planSpliter.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pPrimaryKey
    - order
    - pMergeKeys
    argTypes:
    - SNode*
    - EOrder
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 746
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 746
    functionName: stbSplCreateMergeKeysByPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/planner/src/planSpliter.c
    functionUses: []
    functionsReached:
    - stbSplCreateMergeKeysByExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stbSplCreateMergeKeysByPrimaryKey(SNode* pPrimaryKey,
      EOrder order, SNodeList** pMergeKeys) '
  - BBCount: 59
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:67,1
    - Dst: validateMergePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:83,1
    - Dst: validateQueryPlanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:129,1
    - Dst: validateSubplanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:127,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SValidatePlanContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 135
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 135
    functionName: doValidatePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached:
    - validateMergePhysiNode
    - nodeType
    - validateQueryPlanNode
    - validateSubplanNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doValidatePhysiNode(SValidatePlanContext* pCxt, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doValidatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pSubPlan
    argTypes:
    - SValidatePlanContext*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: validateSubplanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached:
    - doValidatePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validateSubplanNode(SValidatePlanContext* pCxt, SSubplan*
      pSubPlan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planError
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:31,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pMerge
    argTypes:
    - SValidatePlanContext*
    - SMergePhysiNode*
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: validateMergePhysiNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached:
    - planError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validateMergePhysiNode(SValidatePlanContext* pCxt, SMergePhysiNode*
      pMerge) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SValidatePlanContext*
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: destoryValidatePlanContext
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void destoryValidatePlanContext(SValidatePlanContext* pCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:48,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:49,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:56,1
    - Dst: doValidatePhysiNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:57,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SValidatePlanContext*
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 64
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 64
    functionName: validateQueryPlanNode
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - doValidatePhysiNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validateQueryPlanNode(SValidatePlanContext* pCxt, SQueryPlan*
      pPlan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: validateQueryPlanNode
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:148,1
    - Dst: destoryValidatePlanContext
      Src: /src/tdengine/source/libs/planner/src/planValidator.c:150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pPlan
    argTypes:
    - SPlanContext*
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: validateQueryPlan
    functionSourceFile: /src/tdengine/source/libs/planner/src/planValidator.c
    functionUses: []
    functionsReached:
    - destoryValidatePlanContext
    - validateQueryPlanNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validateQueryPlan(SPlanContext* pCxt, SQueryPlan* pPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:330,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:329,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:324,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:323,1
    - Dst: tSerializeSTableCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:332,1
    - Dst: tSerializeSTableCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 344
    functionName: queryBuildGetTbCfgMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSTableCfgReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetTbCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:585,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:591,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:587,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:586,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:593,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:605,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:607,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SVCTableMeta**
    constantsTouched: []
    func_position:
      end: 612
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 612
    functionName: queryCreateVCTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qError
    - qDebug
    - memcpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryCreateVCTableMetaFromMsg(STableMetaRsp *msg, SVCTableMeta
      **pMeta) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:693,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:698,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:699,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:697,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:694,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:701,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:703,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:723,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:724,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:726,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:731,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:751,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:753,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:733,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 762
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 762
    functionName: queryCreateTableMetaExFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryCalloc
    - qError
    - tstrncpy
    - strlen
    - qDebug
    - TAOS_MEMCPY
    - memcpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryCreateTableMetaExFromMsg(STableMetaRsp *msg, bool isStb,
      STableMeta **pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1006,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1011,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1020,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1016,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1022,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1023,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1024,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1027
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1027
    functionName: queryProcessRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tDeserializeSRetrieveFuncRsp
    - qError
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessRetrieveFuncRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1166,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1168,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1170,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1172,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1175,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1177,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1179,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1181,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1174,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1183,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1195,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1199,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1186,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1203,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1190,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1164,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1196,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1200,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1187,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1204,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1193,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1191,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1165,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1167,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1169,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1171,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1173,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1176,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1180,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1182,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1178,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1185,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1197,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1201,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1188,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1192,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1194,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1198,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1202,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1205
    functionName: initQueryModuleMsgHandle
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - TMSG_INDEX
    linkageType: ''
    returnType: void
    signature: 'void initQueryModuleMsgHandle() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:347,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:352,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:349,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:348,1
    - Dst: tSerializeSViewMetaReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:354,1
    - Dst: tSerializeSViewMetaReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 366
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 366
    functionName: queryBuildGetViewMetaMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSViewMetaReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetViewMetaMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:615,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:619,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:620,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:616,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:622,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:624,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:654,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:655,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:657,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:662,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:664,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:681,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 80
    argCount: 3
    argNames:
    - msg
    - isStb
    - pMeta
    argTypes:
    - STableMetaRsp*
    - bool
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 690
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 690
    functionName: queryCreateTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryCalloc
    - qError
    - qDebug
    - memcpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryCreateTableMetaFromMsg(STableMetaRsp *msg, bool isStb,
      STableMeta **pMeta) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:805,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:816,1
    - Dst: queryCreateTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:820,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:825,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:769,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:785,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:798,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:825,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:810,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:828,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:774,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:795,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:807,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:818,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:784,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:779,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:791,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:797,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:809,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:819,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:812,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 830
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 830
    functionName: queryProcessTableMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - SET_META_TYPE_BOTH_TABLE
    - queryCreateVCTableMetaFromMsg
    - SET_META_TYPE_BOTH_VTABLE
    - qError
    - tstrncpy
    - SET_META_TYPE_TABLE
    - tstrerror
    - IS_SYS_DBNAME
    - queryConvertTableMetaMsg
    - tDeserializeSTableMetaRsp
    - queryCreateTableMetaFromMsg
    - tFreeSTableMetaRsp
    - tIsValidSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessTableMetaRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1031,1
    - Dst: tDeserializeSGetUserAuthRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1035,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1036,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1041
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1041
    functionName: queryProcessGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSGetUserAuthRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetUserAuthRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:75,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:76,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:77,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:86,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:88,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:90,1
    - Dst: tSerializeSTableInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:95,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 102
    functionName: queryBuildTableMetaReqMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSTableInfoReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildTableMetaReqMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:458,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:460,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:459,1
    - Dst: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:465,1
    - Dst: tSerializeSVStbRefDbsReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: queryBuildVStbRefDBsMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeSVStbRefDbsReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildVStbRefDBsMsg(void* input, char** msg, int32_t msgSize,
      int32_t *msgLen, void*(*mallcFp)(int64_t)) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:529,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:531,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:543,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:548,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:536,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:553,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:558,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:563,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - pMetaMsg
    argTypes:
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 568
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 568
    functionName: queryConvertTableMetaMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - qError
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryConvertTableMetaMsg(STableMetaRsp *pMetaMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1082,1
    - Dst: tDeserializeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1090,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1091,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1086,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1092,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1093,1
    - Dst: qDebugL
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1097,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1102
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1102
    functionName: queryProcessGetViewMetaRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tFreeSViewMetaRsp
    - qError
    - qDebugL
    - tDeserializeSViewMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetViewMetaRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1120,1
    - Dst: tDeserializeSStreamProgressRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1124,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1129
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1129
    functionName: queryProcessStreamProgressRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSStreamProgressRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessStreamProgressRsp(void* output, char* msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1149,1
    - Dst: tDeserializeSVStbRefDbsRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1154,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1156,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1161
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1161
    functionName: queryProcessVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSVStbRefDbsRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessVStbRefDbsRsp(void* output, char* msg, int32_t
      msgSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:31,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:47,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:32,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:33,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:36,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:55,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:55,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:61,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:63,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pOut
    - usedbRsp
    argTypes:
    - SUseDbOutput*
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 71
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 71
    functionName: queryBuildUseDbOutput
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryCalloc
    - taosHashPut
    - qDebug
    - memcpy
    - taosGetDefaultHashFunction
    - taosHashInit
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildUseDbOutput(SUseDbOutput *pOut, SUseDbRsp *usedbRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:105,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:118,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:107,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:111,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:106,1
    - Dst: tSerializeSUseDbReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:123,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 130
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 130
    functionName: queryBuildUseDbMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSUseDbReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildUseDbMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:487,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:503,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:498,1
    - Dst: tDeserializeSUseDbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:491,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:492,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:505,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:506,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:508,1
    - Dst: queryBuildUseDbOutput
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:512,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:518,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:521,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:521,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:519,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:524,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 526
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 526
    functionName: queryProcessUseDBRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - qTrace
    - terrstr
    - qError
    - tFreeSUsedbRsp
    - queryBuildUseDbOutput
    - tDeserializeSUseDbRsp
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessUseDBRsp(void *output, char *msg, int32_t msgSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:571,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:572,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - pMeta
    argTypes:
    - STableMetaRsp*
    - SCTableMeta*
    constantsTouched: []
    func_position:
      end: 582
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 582
    functionName: queryCreateCTableMetaFromMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - qDebug
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryCreateCTableMetaFromMsg(STableMetaRsp *msg, SCTableMeta
      *pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1106,1
    - Dst: tDeserializeTableTSMAInfoRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1110,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1116
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1116
    functionName: queryProcessGetTbTSMARsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeTableTSMAInfoRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetTbTSMARsp(void* output, char* msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1133,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1140,1
    - Dst: tDeserializeSVSubTablesRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1145
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1145
    functionName: queryProcessVSubTablesRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSVSubTablesRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessVSubTablesRsp(void* output, char* msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:218,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:219,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:220,1
    - Dst: tSerializeSUserIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:223,1
    - Dst: tSerializeSUserIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: queryBuildGetIndexMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSUserIndexReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetIndexMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:278,1
    - Dst: tSerializeSGetUserAuthReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:285,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:283,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:280,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:279,1
    - Dst: tSerializeSGetUserAuthReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: queryBuildGetUserAuthMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSGetUserAuthReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetUserAuthMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:370,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:377,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:371,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:375,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:372,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:382,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 388
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 388
    functionName: queryBuildGetTableTSMAMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeTableTSMAInfoReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetTableTSMAMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:415,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:417,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:416,1
    - Dst: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:419,1
    - Dst: tSerializeStreamProgressReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: queryBuildGetStreamProgressMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeStreamProgressReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetStreamProgressMsg(void* input, char** msg, int32_t
      msgSize, int32_t *msgLen, void*(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:926,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:932,1
    - Dst: tDeserializeSDnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 940
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 940
    functionName: queryProcessDnodeListRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSDnodeListRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessDnodeListRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:970,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:975,1
    - Dst: tDeserializeSDbCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:974,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:979,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 982
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 982
    functionName: queryProcessGetDbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - memcpy
    - tDeserializeSDbCfgRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetDbCfgRsp(void *output, char *msg, int32_t msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1045,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1051,1
    - Dst: tDeserializeSTableIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1056
    functionName: queryProcessGetTbIndexRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSTableIndexRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetTbIndexRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:241,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:248,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:242,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:248,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:252,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:253,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:257,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:260,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:263,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:269,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:265,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 275
    functionName: queryBuildRetrieveFuncMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - strlen
    - taosArrayPush
    - tSerializeSRetrieveFuncReq
    - taosArrayInit
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildRetrieveFuncMsg(void *input, char **msg, int32_t
      msgSize, int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:300,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:302,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:301,1
    - Dst: tSerializeSTableIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:307,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:305,1
    - Dst: tSerializeSTableIndexReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: queryBuildGetTbIndexMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSTableIndexReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetTbIndexMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:392,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:400,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:394,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:393,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:398,1
    - Dst: tSerializeTableTSMAInfoReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 412
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 412
    functionName: queryBuildGetTSMAMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeTableTSMAInfoReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetTSMAMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:435,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:437,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:436,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:442,1
    - Dst: tSerializeSVSubTablesReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:447,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: queryBuildVSubTablesMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeSVSubTablesReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildVSubTablesMsg(void* input, char** msg, int32_t msgSize,
      int32_t *msgLen, void*(*mallcFp)(int64_t)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:947,1
    - Dst: tDeserializeSServerVerRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:952,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:958,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:953,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 964
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 964
    functionName: queryProcessGetSerVerRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - taosStrdup
    - tDeserializeSServerVerRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetSerVerRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:988,1
    - Dst: tDeserializeSUserIndexRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:992,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:993,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:997,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1000
    functionName: queryProcessGetIndexRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - memcpy
    - tDeserializeSUserIndexRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetIndexRsp(void *output, char *msg, int32_t msgSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1060,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1069,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1064,1
    - Dst: tDeserializeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1068,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1070,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:1071,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1078
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1078
    functionName: queryProcessGetTbCfgRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSTableCfgRsp
    - taosMemoryFree
    - taosMemoryCalloc
    - qError
    - tFreeSTableCfgRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessGetTbCfgRsp(void *output, char *msg, int32_t msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:133,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:134,1
    - Dst: tSerializeSQnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:139,1
    - Dst: tSerializeSQnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 152
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 152
    functionName: queryBuildQnodeListMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeSQnodeListReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildQnodeListMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:176,1
    - Dst: tSerializeSServerVerReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:186,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:177,1
    - Dst: tSerializeSServerVerReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 193
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 193
    functionName: queryBuildGetSerVerMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeSServerVerReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetSerVerMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:837,1
    - Dst: queryConvertTableMetaMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:847,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:852,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:866,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:877,1
    - Dst: queryCreateVCTableMetaFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:880,1
    - Dst: SET_META_TYPE_BOTH_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:863,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:873,1
    - Dst: SET_META_TYPE_TABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:887,1
    - Dst: tIsValidSchema
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:853,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:859,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:865,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:888,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:878,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:894,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:897,1
    - Dst: tDeserializeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:842,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:889,1
    - Dst: queryCreateTableMetaExFromMsg
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:885,1
    - Dst: SET_META_TYPE_BOTH_VTABLE
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:894,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 899
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 899
    functionName: queryProcessTableNameRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - SET_META_TYPE_BOTH_TABLE
    - queryCreateVCTableMetaFromMsg
    - queryCreateTableMetaExFromMsg
    - SET_META_TYPE_BOTH_VTABLE
    - qError
    - tstrncpy
    - SET_META_TYPE_TABLE
    - tstrerror
    - IS_SYS_DBNAME
    - queryConvertTableMetaMsg
    - tDeserializeSTableMetaRsp
    - tFreeSTableMetaRsp
    - tIsValidSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t queryProcessTableNameRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:155,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:156,1
    - Dst: tSerializeSDnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:161,1
    - Dst: tSerializeSDnodeListReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: queryBuildDnodeListMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tSerializeSDnodeListReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildDnodeListMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:196,1
    - Dst: tSerializeSDbCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:203,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:201,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:197,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:198,1
    - Dst: tSerializeSDbCfgReq
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:208,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - input
    - msg
    - msgSize
    - msgLen
    - (*mallcFp)
    argTypes:
    - void*
    - char**
    - int32_t
    - int32_t*
    - void*
    constantsTouched: []
    func_position:
      end: 215
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 215
    functionName: queryBuildGetDBCfgMsg
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tSerializeSDbCfgReq
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryBuildGetDBCfgMsg(void *input, char **msg, int32_t msgSize,
      int32_t *msgLen, void *(*mallcFp)(int64_t)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:906,1
    - Dst: tDeserializeSQnodeListRsp
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:912,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/querymsg.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - output
    - msg
    - msgSize
    argTypes:
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 919
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 919
    functionName: queryProcessQnodeListRsp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/querymsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSQnodeListRsp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t queryProcessQnodeListRsp(void *output, char *msg, int32_t
      msgSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execFn
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:145,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pInfo
    - pSchedMsg
    argTypes:
    - SQueueInfo*
    - SSchedMsg*
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: processTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - execFn
    linkageType: ''
    returnType: void
    signature: 'static void processTaskQueue(SQueueInfo *pInfo, SSchedMsg *pSchedMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: taosAsyncWait
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAsyncWait() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:206,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bindFn
    - bindParam
    argTypes:
    - __async_exec_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: taosStmt2AsyncBind
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosStmt2AsyncBind(__async_exec_fn_t bindFn, void* bindParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - ahandle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: destroyAhandle
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - destroySendMsgInfo
    linkageType: ''
    returnType: void
    signature: 'void destroyAhandle(void *ahandle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:644,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:658,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:654,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:650,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:658,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:658,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:661,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:666,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:669,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:671,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:673,1
    - Dst: freeVgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:674,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:672,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:678,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SDBVgInfo*
    - SDBVgInfo**
    constantsTouched: []
    func_position:
      end: 683
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 683
    functionName: cloneDbVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosHashIterate
    - taosHashGetSize
    - taosHashPut
    - qError
    - taosHashGetKey
    - taosHashCancelIterate
    - memcpy
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    - freeVgInfo
    - taosHashInit
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cloneDbVgInfo(SDBVgInfo* pSrc, SDBVgInfo** pDst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:222,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:224,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:225,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pMsgBody
    argTypes:
    - SMsgSendInfo*
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: destroySendMsgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void destroySendMsgInfo(SMsgSendInfo* pMsgBody) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:241,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:247,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:248,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:247,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:245,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:252,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:262,1
    - Dst: rpcSendRequestWithCtx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:264,1
    - Dst: destroySendMsgInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:266,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 6
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    - persistHandle
    - rpcCtx
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    - bool
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 269
    functionName: asyncSendMsgToServerExt
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - TRACE_SET_ROOTID
    - destroySendMsgInfo
    - qError
    - rpcSendRequestWithCtx
    - memcpy
    - rpcMallocCont
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asyncSendMsgToServerExt(void* pTransporter, SEpSet* epSet,
      int64_t* pTransporterId, SMsgSendInfo* pInfo, bool persistHandle, void* rpcCtx) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:686,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:707,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:714,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:699,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:692,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:720,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:725,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:727,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:733,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:735,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:743,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:742,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SVCreateTbReq*
    - SVCreateTbReq**
    constantsTouched: []
    func_position:
      end: 746
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 746
    functionName: cloneSVreateTbReq
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayDup
    - taosStrdup
    - tdDestroySVCreateTbReq
    - memcpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cloneSVreateTbReq(SVCreateTbReq* pSrc, SVCreateTbReq** pDst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VALIDNUMOFCOLS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:111,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:112,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:123,1
    - Dst: VALIDNUMOFTAGS
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:116,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:117,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:127,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:128,1
    - Dst: doValidateSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:132,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pSchema
    - numOfCols
    - numOfTags
    argTypes:
    - struct SSchema*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 138
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 138
    functionName: tIsValidSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - doValidateSchema
    - VALIDNUMOFTAGS
    - VALIDNUMOFCOLS
    - qError
    linkageType: ''
    returnType: bool
    signature: 'bool tIsValidSchema(struct SSchema* pSchema, int32_t numOfCols, int32_t
      numOfTags) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: jobTaskStatusStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * jobTaskStatusStr(int32_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: tGetTbnameColumnSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSchema*
    signature: 'const SSchema * tGetTbnameColumnSchema() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: cleanupTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - tQueryAutoQWorkerCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cleanupTaskQueue() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: taosAsyncRecover
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAsyncRecover() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: asyncSendMsgToServerExt
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pTransporter
    - epSet
    - pTransporterId
    - pInfo
    argTypes:
    - void*
    - SEpSet*
    - int64_t*
    - SMsgSendInfo*
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: asyncSendMsgToServer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - asyncSendMsgToServerExt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asyncSendMsgToServer(void* pTransporter, SEpSet* epSet, int64_t*
      pTransporterId, SMsgSendInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:317,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 319
    functionName: freeSTableMetaRspPointer
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - tFreeSTableMetaRsp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void freeSTableMetaRspPointer(void *p) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:372,1
    - Dst: taosAscii2Hex
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:399,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:406,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:417,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:448,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:355,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:368,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:376,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:403,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:436,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:389,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:444,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:364,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:360,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:385,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:385,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:440,1
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:354,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:381,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:428,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 68
    argCount: 6
    argNames:
    - str
    - capacity
    - type
    - buf
    - bufSize
    - len
    argTypes:
    - char*
    - int64_t
    - int
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 459
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 459
    functionName: dataConverToStr
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsnprintf
    - taosUcs4ToMbs
    - GET_FLOAT_VAL
    - memcpy
    - GET_DOUBLE_VAL
    - taosAscii2Hex
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dataConverToStr(char* str, int64_t capacity, int type, void*
      buf, int32_t bufSize, int32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:569,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:570,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - colRef
    - colId
    - refColName
    - refTableName
    - refDbName
    argTypes:
    - SColRef*
    - col_id_t
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 573
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 573
    functionName: setColRef
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setColRef(SColRef* colRef, col_id_t colId, char* refColName,
      char* refTableName, char* refDbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:750,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:752,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: freeDbCfgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void freeDbCfgInfo(SDbCfgInfo* pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: getAsofJoinReverseOp
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getAsofJoinReverseOp(EOperatorType op) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isValidDataType
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:68,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:86,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:81,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:76,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:69,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:91,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:98,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:99,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - pSchema
    - numOfCols
    - maxLen
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 108
    functionName: doValidateSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - strncmp
    - isValidDataType
    - qError
    linkageType: ''
    returnType: bool
    signature: 'static bool doValidateSchema(SSchema* pSchema, int32_t numOfCols,
      int32_t maxLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:178,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - execFn
    - execParam
    - code
    argTypes:
    - __async_exec_fn_t
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: taosAsyncExec
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAsyncExec(__async_exec_fn_t execFn, void* execParam, int32_t*
      code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:275,1
    - Dst: rpcFreeConnById
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pTransporter
    - pid
    argTypes:
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 277
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 277
    functionName: asyncFreeConnById
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - rpcFreeConnById
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t asyncFreeConnById(void* pTransporter, int64_t pid) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:328,1
    - Dst: tDestroySSubmitRsp2
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:339,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:335,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:334,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:340,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:345,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:349,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 1
    argNames:
    - pRes
    argTypes:
    - SExecResult*
    constantsTouched: []
    func_position:
      end: 351
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 351
    functionName: destroyQueryExecRes
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tDestroySSubmitRsp2
    - qError
    - taosArrayDestroyEx
    - tFreeSTableMetaRsp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void destroyQueryExecRes(SExecResult* pRes) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:473,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:515,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:528,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:514,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:483,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:502,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:533,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:488,1
    - Dst: cJSON_CreateNull
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:492,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:537,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:546,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:556,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:560,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:478,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:469,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:496,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:506,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:520,1
    - Dst: cJSON_CreateBool
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:542,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:508,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:553,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:555,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:558,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 87
    argCount: 3
    argNames:
    - p
    - jsonStr
    - charsetCxt
    argTypes:
    - void*
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 564
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 564
    functionName: parseTagDatatoJson
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - cJSON_CreateBool
    - taosMemoryFree
    - taosArrayGet
    - tTagToValArray
    - cJSON_Delete
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - taosArrayDestroy
    - cJSON_CreateNull
    - cJSON_CreateObject
    - qError
    - tstrncpy
    - cJSON_CreateString
    - taosStrdup
    - cJSON_CreateNumber
    - cJSON_PrintUnformatted
    - taosArrayGetSize
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: void
    signature: 'void parseTagDatatoJson(void* p, char** jsonStr, void *charsetCxt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_PARAM_CHECK
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:576,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:595,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:585,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:592,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:598,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:602,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:603,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:605,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:609,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:611,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - STableMeta*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 617
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 617
    functionName: cloneTableMeta
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryMalloc
    - qError
    - memcpy
    - QUERY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cloneTableMeta(STableMeta* pSrc, STableMeta** pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 757
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 757
    functionName: getTaskPoolWorkerCb
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void * getTaskPoolWorkerCb() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:150,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:157,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:163,1
    - Dst: tQueryAutoQWorkerInit
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:155,1
    - Dst: tQueryAutoQWorkerAllocQueue
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:161,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: initTaskQueue
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - qInfo
    - qError
    - memset
    - tQueryAutoQWorkerInit
    - tQueryAutoQWorkerAllocQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTaskQueue() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:623,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pMeta
    - pName
    - pType
    argTypes:
    - STableMeta*
    - char*
    - ETableColumnType*
    constantsTouched: []
    func_position:
      end: 630
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 630
    functionName: getColumnTypeFromMeta
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void getColumnTypeFromMeta(STableMeta* pMeta, char* pName, ETableColumnType*
      pType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:637,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:638,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgInfo
    argTypes:
    - SDBVgInfo*
    constantsTouched: []
    func_position:
      end: 641
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 641
    functionName: freeVgInfo
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void freeVgInfo(SDBVgInfo* vgInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:311,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qcom/src/queryUtil.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - type
    - bytes
    - colId
    - name
    argTypes:
    - int8_t
    - int32_t
    - col_id_t
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: createSchema
    functionSourceFile: /src/tdengine/source/libs/qcom/src/queryUtil.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: SSchema
    signature: 'SSchema createSchema(int8_t type, int32_t bytes, col_id_t colId, const
      char* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - u8*
    - int*
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: tdbGetVarInt
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int tdbGetVarInt(const u8 *p, int *v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - ptr
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 39
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 39
    functionName: tdbDefaultFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: []
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: 'static inline void tdbDefaultFree(void *arg, void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: tdbDefaultMalloc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: []
    functionsReached:
    - tdbOsMalloc
    linkageType: ''
    returnType: void*
    signature: 'static inline void *tdbDefaultMalloc(void *arg, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - u8*
    - int
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: tdbPutVarInt
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int tdbPutVarInt(u8 *p, int v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:79,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 79
    functionName: tdbCstringHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbUtil.h
    functionUses: []
    functionsReached:
    - strlen
    - MurmurHash3_32
    linkageType: ''
    returnType: u32
    signature: 'static inline u32 tdbCstringHash(const char *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tdbRefPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: []
    functionsReached:
    - atomic_add_fetch_32
    linkageType: ''
    returnType: i32
    signature: 'static inline i32 tdbRefPage(SPage *pPage) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:351,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: tdbPageGetCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: []
    functionsReached:
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: SCell*
    signature: 'static inline SCell *tdbPageGetCell(SPage *pPage, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: tdbUnrefPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: i32
    signature: 'static inline i32 tdbUnrefPage(SPage *pPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbSpinlockTrylock
      Src: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pLock
    argTypes:
    - tdb_spinlock_t*
    constantsTouched: []
    func_position:
      end: 319
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 319
    functionName: tdbTryLockPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/inc/tdbInt.h
    functionUses: []
    functionsReached:
    - tdbSpinlockTrylock
    linkageType: ''
    returnType: int
    signature: 'static inline int tdbTryLockPage(tdb_spinlock_t *pLock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDevInoFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:40,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:50,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - fileid
    - unique
    argTypes:
    - tdb_fd_t
    - uint8_t*
    - bool
    constantsTouched: []
    func_position:
      end: 54
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: tdbGnrtFileID
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: []
    functionsReached:
    - taosDevInoFile
    - taosRand
    - memset
    linkageType: ''
    returnType: int
    signature: 'int tdbGnrtFileID(tdb_fd_t fd, uint8_t *fileid, bool unique) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:20,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 29
    functionName: tdbRealloc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: []
    functionsReached:
    - tdbOsRealloc
    linkageType: ''
    returnType: void*
    signature: 'void *tdbRealloc(void *ptr, size_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:60,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - szPage
    - size
    argTypes:
    - tdb_fd_t
    - int
    - SPgno*
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: tdbGetFileSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: []
    functionsReached:
    - tdbOsFileSize
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int
    signature: 'int tdbGetFileSize(tdb_fd_t fd, int szPage, SPgno *size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:33,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: tdbFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: 'void tdbFree(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:70,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:72,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - ppDir
    argTypes:
    - TdDirPtr*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: tdbCloseDir
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbError
    - taosCloseDir
    linkageType: ''
    returnType: void
    signature: 'void tdbCloseDir(TdDirPtr *ppDir) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:21,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 6
    argNames:
    - pTxn
    - txnid
    - (*xMalloc)
    - (*xFree)
    - xArg
    - flags
    argTypes:
    - TXN*
    - int64_t
    - void*
    - void
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 31
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 31
    functionName: tdbTxnOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: int
    signature: 'int tdbTxnOpen(TXN *pTxn, int64_t txnid, void *(*xMalloc)(void *,
      size_t), void (*xFree)(void *, void *), void *xArg, int flags) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hashset_destroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:36,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:41,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:47,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pTxn
    argTypes:
    - TXN*
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: tdbTxnCloseImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTxn.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbError
    - hashset_destroy
    - tdbOsClose
    linkageType: ''
    returnType: void
    signature: 'void tdbTxnCloseImpl(TXN *pTxn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    constantsTouched: []
    func_position:
      end: 78
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 78
    functionName: hashset_add_member
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hashset_add_member(hashset_t set, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: hashset_remove
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hashset_remove(hashset_t set, void *item) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:766,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:773,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:779,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:771,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:769,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:781,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - pPager
    - pgno
    - ppPage
    - pTxn
    argTypes:
    - SPager*
    - SPgno
    - SPage**
    - TXN*
    constantsTouched: []
    func_position:
      end: 789
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 789
    functionName: tdbPagerFetchFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbPCacheFetch
    - memcpy
    - tdbPagerInitPage
    - tdbPagerFlushPage
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerFetchFreePage(SPager *pPager, SPgno pgno, SPage **ppPage,
      TXN *pTxn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbPopFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:813,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:815,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - pPager
    - pPgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    constantsTouched: []
    func_position:
      end: 819
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 819
    functionName: tdbPagerRemoveFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbTbPopFreePage
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerRemoveFreePage(SPager *pPager, SPgno *pPgno, TXN
      *pTxn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:974,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:978,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:980,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:976,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:978,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:983,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:985,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:985,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    constantsTouched: []
    func_position:
      end: 991
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 991
    functionName: tdbPagerWritePageToJournal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbError
    - TDB_PAGE_PGNO
    - strerror
    - tdbOsWrite
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerWritePageToJournal(SPager *pPager, SPage *pPage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1019,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1021,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1026,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1025,1
    - Dst: tdbOsPWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1023,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1026,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1028,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1034
    functionName: tdbPagerPWritePageToDB
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbOsPWrite
    - tdbError
    - TDB_PAGE_PGNO
    - strerror
    - tdbFreeEncryptBuf
    - tdbEncryptPage
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerPWritePageToDB(SPager *pPager, SPage *pPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:81,1
    - Dst: hashset_add_member
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:97,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:90,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 103
    functionName: hashset_add
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbOsCalloc
    - hashset_add_member
    linkageType: ''
    returnType: int
    signature: 'static int hashset_add(hashset_t set, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - set
    - item
    argTypes:
    - hashset_t
    - void*
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: hashset_contains
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int hashset_contains(hashset_t set, void *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:794,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:794,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:797,1
    - Dst: tdbTbPushFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:795,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    constantsTouched: []
    func_position:
      end: 803
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 803
    functionName: tdbPagerInsertFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbTrace
    - TDB_PAGE_PGNO
    - tdbTbPushFreePage
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerInsertFreePage(SPager *pPager, SPage *pPage, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerRemoveFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    constantsTouched: []
    func_position:
      end: 824
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 824
    functionName: tdbPagerAllocFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbPagerRemoveFreePage
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerAllocFreePage(SPager *pPager, SPgno *ppgno, TXN
      *pTxn) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1048,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1056,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1070,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1082,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1084,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1095,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1105,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1106,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1107,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1113,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1114,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1041,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1053,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1061,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1073,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1077,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1083,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1088,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1095,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1099,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1102,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1115,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1052,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1078,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1085,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1093,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1111,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1114,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1118,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1120,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1108,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1119,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1052,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1046,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1051,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1067,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1075,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1069,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1083,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1097,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1098,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1106,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1119,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 2
    argNames:
    - pPager
    - jFileName
    argTypes:
    - SPager*
    - char*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1124
    functionName: tdbPagerRestore
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsClose
    - TAOS_SYSTEM_ERROR
    - tdbOsRemove
    - tdbOsFree
    - tdbOsLSeek
    - tdbOsOpen
    - tdbError
    - strerror
    - tdbOsRead
    - tdbTrace
    - tdbGetFileSize
    - tdbFreeEncryptBuf
    - tdbOsFSync
    - tdbOsWrite
    - tdbOsCalloc
    - tdbEncryptPage
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerRestore(SPager *pPager, const char *jFileName) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:883,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:885,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:915,1
    - Dst: tmemory_barrier
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:942,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:961,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:878,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:890,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:933,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:953,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:956,1
    - Dst: TDB_TRY_LOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:867,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:876,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:886,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:887,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:869,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:870,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:871,1
    - Dst: tdbOsPRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:882,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:935,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:936,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:913,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:911,1
    - Dst: TDB_UNLOCK_PAGE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:946,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:947,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 74
    argCount: 5
    argNames:
    - pPager
    - pPage
    - (*initPage)
    - arg
    - loadPage
    argTypes:
    - SPager*
    - SPage*
    - int
    - void*
    - u8
    constantsTouched: []
    func_position:
      end: 967
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 967
    functionName: tdbPagerInitPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsPRead
    - TAOS_SYSTEM_ERROR
    - TDB_TRY_LOCK_PAGE
    - tmemory_barrier
    - TDB_PAGE_INITIALIZED
    - tstrncpy
    - tdbError
    - TDB_PAGE_PGNO
    - tdbTrace
    - CBC_Decrypt
    - TDB_UNLOCK_PAGE
    - memcpy
    - sched_yield
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerInitPage(SPager *pPager, SPage *pPage, int (*initPage)(SPage
      *, void *, int), void *arg, u8 loadPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:32,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:42,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 52
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 52
    functionName: hashset_create
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbOsCalloc
    linkageType: ''
    returnType: hashset_t
    signature: 'static hashset_t hashset_create(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:215,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:215,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: tdbPagerClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbOsClose
    - tdbWarn
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: 'void tdbPagerClose(SPager *pPager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:367,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:371,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:371,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:370,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:372,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:375,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:376,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:376,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:377,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    constantsTouched: []
    func_position:
      end: 385
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 385
    functionName: tdbPagerPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsClose
    - TAOS_SYSTEM_ERROR
    - tdbOsRemove
    - tdbError
    - strerror
    - tsnprintf
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerPostCommit(SPager *pPager, TXN *pTxn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:446,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:463,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:461,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:465,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - pPager
    - pPageData
    - pageSize
    - function
    - offset
    argTypes:
    - SPager*
    - char*
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 474
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 474
    functionName: tdbEncryptPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - CBC_Encrypt
    - memcpy
    - taosMemoryMalloc
    - tstrncpy
    linkageType: ''
    returnType: char*
    signature: 'static char *tdbEncryptPage(SPager *pPager, char *pPageData, int32_t
      pageSize, const char *function, int64_t offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pPager
    - pPage
    - pTxn
    argTypes:
    - SPager*
    - SPage*
    - TXN*
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: tdbPagerReturnPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbPCacheRelease
    linkageType: ''
    returnType: void
    signature: 'void tdbPagerReturnPage(SPager *pPager, SPage *pPage, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:56,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - set
    argTypes:
    - hashset_t
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: hashset_destroy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: 'void hashset_destroy(hashset_t set) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:229,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:230,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:230,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:235,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:235,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:236,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:239,1
    - Dst: hashset_contains
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:241,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:241,1
    - Dst: tdbPagerWritePageToJournal
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:242,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:244,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:249,1
    - Dst: hashset_add
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:249,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - pPager
    - pPage
    argTypes:
    - SPager*
    - SPage*
    constantsTouched: []
    func_position:
      end: 254
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 254
    functionName: tdbPagerWrite
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbRefPage
    - hashset_contains
    - tRBTreePut
    - tstrerror
    - tdbError
    - tdbTrace
    - TDB_PAGE_PGNO
    - hashset_add
    - tdbPagerWritePageToJournal
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerWrite(SPager *pPager, SPage *pPage) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:393,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:396,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:400,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:395,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:395,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:402,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:406,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:410,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:412,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:412,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:417,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:422,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:423,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:429,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    constantsTouched: []
    func_position:
      end: 433
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 433
    functionName: tdbPagerPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tRBTreeIterNext
    - tdbPCacheRelease
    - tdbOsFSync
    - tdbError
    - TDB_PAGE_PGNO
    - strerror
    - tstrerror
    - tdbTrace
    - tRBTreeDrop
    - tdbPagerPWritePageToDB
    - tRBTreeIterCreate
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerPrepareAsyncCommit(SPager *pPager, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pPager
    - buf
    argTypes:
    - SPager*
    - char*
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: tdbFreeEncryptBuf
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tdbFreeEncryptBuf(SPager *pPager, char *buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1181,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1188,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1183,1
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1187,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1183,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1188,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1190,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1192,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1193,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1195,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1195,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1199,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1199,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1205,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1197,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1200,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1208
    functionName: tdbPagerRollback
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbGetDirEntryName
    - TAOS_SYSTEM_ERROR
    - strncmp
    - tdbDirEntryBaseName
    - tdbError
    - strlen
    - strerror
    - taosOpenDir
    - tdbCloseDir
    - memcpy
    - tdbReadDir
    - tdbOsRemove
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerRollback(SPager *pPager) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:327,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:345,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:348,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:343,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:311,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:317,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:325,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:359,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:310,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:338,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:348,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:332,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:345,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:358,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:308,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:315,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:310,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:327,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:337,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:350,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:353,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:354,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:357,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:358,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    constantsTouched: []
    func_position:
      end: 363
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 363
    functionName: tdbPagerCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tRBTreeIterNext
    - tdbPCacheRelease
    - tdbOsFSync
    - tdbError
    - tstrerror
    - strerror
    - tRBTreeDrop
    - TDB_PAGE_PGNO
    - tdbTrace
    - tdbPagerPWritePageToDB
    - tRBTreeIterCreate
    - tRBTreeCreate
    - hashset_remove
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerCommit(SPager *pPager, TXN *pTxn) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:508,1
    - Dst: tdbPCacheInvalidatePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:530,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:535,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:540,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:552,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:556,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:563,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:564,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:575,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:577,1
    - Dst: tdbPCacheMarkFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:583,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:601,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:588,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:581,1
    - Dst: tdbOsRemove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:599,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:496,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:501,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:507,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:516,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:522,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:524,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:539,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:541,1
    - Dst: tdbOsWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:550,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:562,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:592,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:563,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:565,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:573,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:597,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:587,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:592,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:495,1
    - Dst: tdbOsLSeek
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:506,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:507,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:525,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:528,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:540,1
    - Dst: tdbEncryptPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:545,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:554,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:555,1
    - Dst: tdbFreeEncryptBuf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:559,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:584,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:593,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:600,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:582,1
    - Dst: tdbOsFSync
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:493,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:495,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:511,1
    - Dst: tdbOsRead
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:532,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:534,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:542,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:552,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:568,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:571,1
    - Dst: hashset_remove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:582,1
    - Dst: tdbOsClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:591,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:600,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 109
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    constantsTouched: []
    func_position:
      end: 607
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 607
    functionName: tdbPagerAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbOsFSync
    - tdbOsLSeek
    - tdbOsRead
    - tdbTrace
    - hashset_remove
    - tdbEncryptPage
    - tsnprintf
    - tdbPCacheRelease
    - tdbPCacheInvalidatePage
    - tdbOsFree
    - tdbError
    - TDB_PAGE_PGNO
    - strerror
    - tRBTreeIterCreate
    - tRBTreeCreate
    - tdbOsWrite
    - tdbOsCalloc
    - tdbOsRemove
    - tdbOsClose
    - tRBTreeDrop
    - tdbFreeEncryptBuf
    - tdbGetFileSize
    - tRBTreeIterNext
    - tdbPCacheMarkFree
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerAbort(SPager *pPager, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pPager
    - ppgno
    argTypes:
    - SPager*
    - SPgno*
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: tdbPagerAllocNewPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerAllocNewPage(SPager *pPager, SPgno *ppgno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1130
    functionName: txnIdCompareDesc
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t txnIdCompareDesc(const void *pLeft, const void *pRight) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:616,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:627,1
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:620,1
    - Dst: tdbPagerPWritePageToDB
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:631,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:618,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:633,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:633,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:637,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:642,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:642,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:643,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:649,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - pPager
    - pTxn
    - flushed
    argTypes:
    - SPager*
    - TXN*
    - bool*
    constantsTouched: []
    func_position:
      end: 672
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 672
    functionName: tdbPagerFlushPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tRBTreeIterNext
    - tdbPCacheRelease
    - tstrerror
    - tdbError
    - TDB_PAGE_PGNO
    - tdbTrace
    - tRBTreeDrop
    - tdbPagerPWritePageToDB
    - tRBTreeIterCreate
    - tdbGetPageRef
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerFlushPage(SPager *pPager, TXN *pTxn, bool *flushed) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerAllocPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:691,1
    - Dst: tdbPCacheFetch
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:706,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:704,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:693,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:699,1
    - Dst: tdbPagerFlushPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:708,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:710,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:715,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:717,1
    - Dst: tdbPagerInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:718,1
    - Dst: TDB_PAGE_INITIALIZED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:728,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:729,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:720,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:733,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 6
    argNames:
    - pPager
    - ppgno
    - ppPage
    - (*initPage)
    - arg
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - SPage**
    - int
    - void*
    - TXN*
    constantsTouched: []
    func_position:
      end: 740
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 740
    functionName: tdbPagerFetchPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_INITIALIZED
    - tdbError
    - tdbTrace
    - tdbPagerAllocPage
    - tdbPCacheFetch
    - memcpy
    - tdbPagerInitPage
    - tdbPagerFlushPage
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerFetchPage(SPager *pPager, SPgno *ppgno, SPage **ppPage,
      int (*initPage)(SPage *, void *, int), void *arg, TXN *pTxn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerAllocFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:838,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:852,1
    - Dst: tdbPagerAllocNewPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:846,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pPager
    - ppgno
    - pTxn
    argTypes:
    - SPager*
    - SPgno*
    - TXN*
    constantsTouched: []
    func_position:
      end: 856
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 856
    functionName: tdbPagerAllocPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbPagerAllocNewPage
    - tdbPagerAllocFreePage
    linkageType: ''
    returnType: int
    signature: 'static int tdbPagerAllocPage(SPager *pPager, SPgno *ppgno, TXN *pTxn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbReadDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1146,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1150,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1151,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1168,1
    - Dst: tdbDirEntryBaseName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1158,1
    - Dst: tdbPagerRestore
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1164,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1161,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1160,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1156,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1167,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1168,1
    - Dst: tdbCloseDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1174,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1135,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1141,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1137,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1137,1
    - Dst: tdbGetDirEntryName
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1147,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1148,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1166,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1163,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:1173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - pPager
    argTypes:
    - SPager*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1177
    functionName: tdbPagerRestoreJournals
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - taosOpenDir
    - sscanf
    - tsnprintf
    - taosArrayInit
    - taosArrayDestroy
    - tdbDirEntryBaseName
    - tdbError
    - taosArraySort
    - strerror
    - taosArrayPush
    - memcpy
    - tdbGetDirEntryName
    - taosArrayGet
    - strncmp
    - tdbReadDir
    - tstrerror
    - strlen
    - tdbCloseDir
    - TARRAY_SIZE
    - tdbPagerRestore
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerRestoreJournals(SPager *pPager) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:264,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:266,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:267,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:267,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:265,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:268,1
    - Dst: hashset_create
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:271,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pPager
    - pTxn
    argTypes:
    - SPager*
    - TXN*
    constantsTouched: []
    func_position:
      end: 285
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 285
    functionName: tdbPagerBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - hashset_create
    - tdbError
    - tdbOsOpen
    - strerror
    - tdbDebug
    - tsnprintf
    - TDB_FD_INVALID
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerBegin(SPager *pPager, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pPage
    - arg
    - init
    argTypes:
    - SPage*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 751
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 751
    functionName: initFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int initFreePage(SPage *pPage, void *arg, int init) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:142,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:143,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 152
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 152
    functionName: pageCmpFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t pageCmpFn(const SRBTreeNode *lhs, const
      SRBTreeNode *rhs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:163,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:176,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:167,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:181,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:182,1
    - Dst: tdbOsOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:187,1
    - Dst: TDB_FD_INVALID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:188,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:190,1
    - Dst: tdbGnrtFileID
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:193,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:195,1
    - Dst: tdbPCacheGetPageSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:199,1
    - Dst: tdbGetFileSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:201,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:205,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPager.c:204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - pCache
    - fileName
    - ppPager
    argTypes:
    - SPCache*
    - char*
    - SPager**
    constantsTouched: []
    func_position:
      end: 209
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 209
    functionName: tdbPagerOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPager.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tdbGnrtFileID
    - strlen
    - tdbOsOpen
    - tdbTrace
    - tdbPCacheGetPageSize
    - tdbGetFileSize
    - memcpy
    - tRBTreeCreate
    - tdbOsCalloc
    - TDB_FD_INVALID
    linkageType: ''
    returnType: int
    signature: 'int tdbPagerOpen(SPCache *pCache, const char *fileName, SPager **ppPager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pPgid
    argTypes:
    - SPgid*
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: tdbPCachePageHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t tdbPCachePageHash(const SPgid *pPgid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:487,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:494,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 495
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 495
    functionName: tdbPCacheAddPageToHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbTrace
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheAddPageToHash(SPCache *pCache, SPage *pPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheInitLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:503,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:509,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 546
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 546
    functionName: tdbPCacheOpenImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPageCreate
    - tdbPCacheInitLock
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: 'static int tdbPCacheOpenImpl(SPCache *pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:47,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: tdbPCacheInitLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbMutexInit
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheInitLock(SPCache *pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:59,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: tdbPCacheLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbMutexLock
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheLock(SPCache *pCache) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:124,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:170,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:132,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:160,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:130,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    constantsTouched: []
    func_position:
      end: 180
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 180
    functionName: tdbPCacheAlterImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbPageCreate
    - tdbPageDestroy
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: 'static int tdbPCacheAlterImpl(SPCache *pCache, int32_t nPage) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:304,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:316,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:322,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:314,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:321,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:346,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:347,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:353,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:355,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:378,1
    - Dst: tdbPageInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:394,1
    - Dst: tdbPCacheAddPageToHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:405,1
    - Dst: sched_yield
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:383,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:400,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:404,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:391,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 5
    argNames:
    - pCache
    - pPgid
    - pTxn
    - force
    - loaded
    argTypes:
    - SPCache*
    - SPgid*
    - TXN*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 411
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 411
    functionName: tdbPCacheFetchImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPCacheAddPageToHash
    - memcmp
    - tdbPCachePageHash
    - tdbError
    - tdbPCachePinPage
    - memcpy
    - tdbPageInit
    - tdbPCacheRemovePageFromHash
    - tdbPageCreate
    - sched_yield
    - TDB_TXN_IS_WRITE
    linkageType: ''
    returnType: SPage*
    signature: 'static SPage *tdbPCacheFetchImpl(SPCache *pCache, const SPgid *pPgid,
      TXN *pTxn, bool force, bool* loaded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:65,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: tdbPCacheUnlock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbMutexUnlock
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheUnlock(SPCache *pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbMutexDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:53,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: tdbPCacheDestroyLock
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheDestroyLock(SPCache *pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:184,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:186,1
    - Dst: tdbPCacheAlterImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - nPage
    argTypes:
    - SPCache*
    - int32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: tdbPCacheAlter
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPCacheAlterImpl
    - tdbPCacheUnlock
    - tdbPCacheLock
    linkageType: ''
    returnType: int
    signature: 'int tdbPCacheAlter(SPCache *pCache, int32_t nPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:415,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:427,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:427,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 429
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 429
    functionName: tdbPCachePinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbTrace
    - tdbGetPageRef
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCachePinPage(SPCache *pCache, SPage *pPage) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbGetPageRef
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:432,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:434,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:446,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:442,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:438,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:450,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:451,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:461,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:461,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:463,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:463,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:466,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 468
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 468
    functionName: tdbPCacheUnpinPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbTrace
    - TDB_PAGE_PGNO
    - tdbPageDestroy
    - tdbPCacheRemovePageFromHash
    - tdbGetPageRef
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheUnpinPage(SPCache *pCache, SPage *pPage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:471,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:483,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: tdbPCacheRemovePageFromHash
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbTrace
    - tdbPCachePageHash
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheRemovePageFromHash(SPCache *pCache, SPage *pPage) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:77,1
    - Dst: tdbPCacheOpenImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:89,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:84,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:79,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:86,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:90,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:94,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:94,1
    - Dst: tdbPCacheClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pageSize
    - cacheSize
    - ppCache
    argTypes:
    - int
    - int
    - SPCache**
    constantsTouched: []
    func_position:
      end: 101
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 101
    functionName: tdbPCacheOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tdbPCacheOpenImpl
    - tdbPCacheClose
    - tstrerror
    - tdbError
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: 'int tdbPCacheOpen(int pageSize, int cacheSize, SPCache **ppCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:194,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:201,1
    - Dst: tdbPCacheFetchImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:196,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:204,1
    - Dst: tdbRefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:198,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:204,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:206,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - pCache
    - pPgid
    - pTxn
    - force
    - loaded
    argTypes:
    - SPCache*
    - SPgid*
    - TXN*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 210
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 210
    functionName: tdbPCacheFetch
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbRefPage
    - tdbPCacheUnlock
    - tdbPCacheLock
    - tdbPCacheFetchImpl
    - tdbTrace
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: SPage*
    signature: 'SPage *tdbPCacheFetch(SPCache *pCache, const SPgid *pPgid, TXN *pTxn,
      bool force, bool* loaded) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:225,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:225,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:227,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:227,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:229,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:230,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: tdbPCacheFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPCacheRemovePageFromHash
    - tdbPageDestroy
    - tdbTrace
    - TDB_PAGE_PGNO
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheFreePage(SPCache *pCache, SPage *pPage) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:265,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:271,1
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:269,1
    - Dst: tdbUnrefPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:270,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:271,1
    - Dst: tdbPCacheUnpinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:279,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:281,1
    - Dst: TDB_TXN_IS_WRITE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:284,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:286,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:289,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:293,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pCache
    - pPage
    - pTxn
    argTypes:
    - SPCache*
    - SPage*
    - TXN*
    constantsTouched: []
    func_position:
      end: 294
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 294
    functionName: tdbPCacheRelease
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPCacheUnpinPage
    - tdbPCacheUnlock
    - tdbPCacheLock
    - tdbPCacheFreePage
    - tdbError
    - tdbTrace
    - TDB_PAGE_PGNO
    - tdbPageDestroy
    - tdbUnrefPage
    - tdbPCacheRemovePageFromHash
    - TDB_TXN_IS_WRITE
    linkageType: ''
    returnType: void
    signature: 'void tdbPCacheRelease(SPCache *pCache, SPage *pPage, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheCloseImpl
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:105,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:107,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: tdbPCacheClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbPCacheCloseImpl
    linkageType: ''
    returnType: void
    signature: 'void tdbPCacheClose(SPCache *pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:213,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:214,1
    - Dst: tdbPCacheUnlock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCache
    - pPage
    argTypes:
    - SPCache*
    - SPage*
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: tdbPCacheMarkFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbPCacheRemovePageFromHash
    - tdbPCacheUnlock
    - tdbPCacheLock
    linkageType: ''
    returnType: void
    signature: 'void tdbPCacheMarkFree(SPCache *pCache, SPage *pPage) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:239,1
    - Dst: tdbPCachePinPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:251,1
    - Dst: tdbPCachePageHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:242,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:244,1
    - Dst: tdbPCacheRemovePageFromHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:254,1
    - Dst: tdbPCacheFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pCache
    - pPager
    - pgno
    argTypes:
    - SPCache*
    - SPager*
    - SPgno
    constantsTouched: []
    func_position:
      end: 259
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 259
    functionName: tdbPCacheInvalidatePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - memcmp
    - tdbPCachePageHash
    - tdbPCacheFreePage
    - tdbPCachePinPage
    - tdbPCacheRemovePageFromHash
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tdbPCacheInvalidatePage(SPCache *pCache, SPager *pPager, SPgno
      pgno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tdbPCacheGetPageSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tdbPCacheGetPageSize(SPCache *pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:552,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:564,1
    - Dst: tdbPCacheDestroyLock
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:565,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c:559,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SPCache*
    constantsTouched: []
    func_position:
      end: 566
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 566
    functionName: tdbPCacheCloseImpl
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPCache.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbPageDestroy
    - tdbPCacheDestroyLock
    linkageType: ''
    returnType: void
    signature: 'static void tdbPCacheCloseImpl(SPCache *pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPCacheAlter
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pDb
    - pages
    argTypes:
    - TDB*
    - int
    constantsTouched: []
    func_position:
      end: 125
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 125
    functionName: tdbAlter
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbPCacheAlter
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbAlter(TDB *pDb, int pages) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:169,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    constantsTouched: []
    func_position:
      end: 176
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 176
    functionName: tdbCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbPagerCommit
    - tdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbCommit(TDB *pDb, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerPrepareAsyncCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:201,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:203,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    constantsTouched: []
    func_position:
      end: 210
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: tdbPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbError
    - tdbPagerPrepareAsyncCommit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbPrepareAsyncCommit(TDB *pDb, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:233,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:236,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:238,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pDb
    - fname
    argTypes:
    - TDB*
    - char*
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: tdbEnvGetPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbTrace
    - tdbCstringHash
    - strcmp
    linkageType: ''
    returnType: SPager*
    signature: 'SPager *tdbEnvGetPager(TDB *pDb, const char *fname) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:28,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:40,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:45,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:31,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:29,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:47,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:47,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:48,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:54,1
    - Dst: tdbPCacheOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:57,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:70,1
    - Dst: tdbTbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:93,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:68,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:77,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:64,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:82,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 7
    argNames:
    - dbname
    - szPage
    - pages
    - ppDb
    - rollback
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - char*
    - int32_t
    - int32_t
    - TDB**
    - int8_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 101
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 101
    functionName: tdbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbOsMalloc
    - tdbTbOpen
    - taosMulModeMkDir
    - tstrncpy
    - memset
    - strlen
    - memcpy
    - tdbPCacheOpen
    - tdbTbBtreeToStack
    - tdbOsCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbOpen(const char *dbname, int32_t szPage, int32_t pages,
      TDB **ppDb, int8_t rollback, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:136,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:150,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:141,1
    - Dst: tdbPagerBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:148,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:150,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:152,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 6
    argNames:
    - pDb
    - ppTxn
    - (*xMalloc)
    - (*xFree)
    - xArg
    - flags
    argTypes:
    - TDB*
    - TXN**
    - void*
    - void
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: tdbBegin
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbTxnOpen
    - tdbOsFree
    - tdbError
    - tdbPagerBegin
    - tstrerror
    - tdbOsCalloc
    - tdbTxnClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbBegin(TDB *pDb, TXN **ppTxn, void *(*xMalloc)(void *, size_t),
      void (*xFree)(void *, void *), void *xArg, int flags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:108,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:118,1
    - Dst: tdbPCacheClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:117,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:109,1
    - Dst: tdbPagerClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:114,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:119,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - TDB*
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: tdbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbTbClose
    - tdbPagerClose
    - tdbPCacheClose
    linkageType: ''
    returnType: void
    signature: 'void tdbClose(TDB *pDb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:183,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:185,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    constantsTouched: []
    func_position:
      end: 194
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 194
    functionName: tdbPostCommit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbError
    - tdbPagerPostCommit
    - tdbTxnClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbPostCommit(TDB *pDb, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:217,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:219,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pDb
    - pTxn
    argTypes:
    - TDB*
    - TXN*
    constantsTouched: []
    func_position:
      end: 227
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 227
    functionName: tdbAbort
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tdbError
    - tdbPagerAbort
    - tdbTxnClose
    linkageType: ''
    returnType: void
    signature: 'void tdbAbort(TDB *pDb, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:256,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:262,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    constantsTouched: []
    func_position:
      end: 266
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 266
    functionName: tdbEnvAddPager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbTrace
    - tdbCstringHash
    linkageType: ''
    returnType: void
    signature: 'void tdbEnvAddPager(TDB *pDb, SPager *pPager) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:276,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:287,1
    - Dst: tdbCstringHash
      Src: /src/tdengine/source/libs/tdb/src/db/tdbDb.c:282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pDb
    - pPager
    argTypes:
    - TDB*
    - SPager*
    constantsTouched: []
    func_position:
      end: 299
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 299
    functionName: tdbEnvRemovePager
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbDb.c
    functionUses: []
    functionsReached:
    - tdbError
    - tdbCstringHash
    linkageType: ''
    returnType: void
    signature: 'void tdbEnvRemovePager(TDB *pDb, SPager *pPager) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 592
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 592
    functionName: getPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int getPageCellNum(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 612
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 612
    functionName: getPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int getPageCellFree(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 661
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 661
    functionName: setPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageFreeCellInfo(SCell *pCell, int szCell, int
      nxOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getLPageCellNum
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:721,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:723,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 728
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 728
    functionName: getLPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    - getLPageCellNum
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: 'static inline int getLPageCellOffset(SPage *pPage, int idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: setLPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageCellOffset(SPage *pPage, int idx, int offset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 609
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 609
    functionName: setPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageCellBody(SPage *pPage, int cellBody) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getPageCellNum
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:633,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: getPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - getPageCellNum
    - tdbError
    linkageType: ''
    returnType: int
    signature: 'static inline int getPageCellOffset(SPage *pPage, int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:625,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: setPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageNFree(SPage *pPage, int nFree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 696
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 696
    functionName: getLPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: 'static inline int getLPageCellNum(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 708
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 708
    functionName: getLPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: 'static inline int getLPageCellFree(SPage *pPage) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: tCellIdxCmprFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tCellIdxCmprFn(const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 699
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 699
    functionName: setLPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageCellNum(SPage *pPage, int cellNum) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:710,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: setLPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageCellFree(SPage *pPage, int cellFree) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:533,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:542,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:536,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:534,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:544,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:548,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:557,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:558,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:562,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:563,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:564,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 573
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 573
    functionName: tdbPageDefragment
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - taosSort
    - TDB_PAGE_NFREE
    - tdbOsMalloc
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_NCELLS
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - tdbOsFree
    - tdbError
    - memmove
    - TDB_PAGE_CELL_OFFSET_AT
    linkageType: ''
    returnType: int
    signature: 'static int tdbPageDefragment(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 622
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 622
    functionName: getPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int getPageNFree(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 655
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 655
    functionName: getPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void getPageFreeCellInfo(SCell *pCell, int *szCell,
      int *nxOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: getPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static inline int getPageCellBody(SPage *pPage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:615,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pPage
    - cellFree
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 619
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 619
    functionName: setPageCellFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageCellFree(SPage *pPage, int cellFree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pPage
    - idx
    - offset
    argTypes:
    - SPage*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 648
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 648
    functionName: setPageCellOffset
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageCellOffset(SPage *pPage, int idx, int offset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:702,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 702
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 702
    functionName: getLPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: 'static inline int getLPageCellBody(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPage
    argTypes:
    - SPage*
    constantsTouched: []
    func_position:
      end: 714
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 714
    functionName: getLPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: int
    signature: 'static inline int getLPageNFree(SPage *pPage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - cellBody
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 705
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 705
    functionName: setLPageCellBody
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageCellBody(SPage *pPage, int cellBody) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pPage
    - nFree
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 717
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 717
    functionName: setLPageNFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageNFree(SPage *pPage, int nFree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pPage
    - cellNum
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 599
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 599
    functionName: setPageCellNum
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'static inline void setPageCellNum(SPage *pPage, int cellNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:135,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:137,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:141,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:142,1
    - Dst: tdbPageZero
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:138,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:142,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:143,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:149,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:152,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:153,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - pPage
    - szAmHdr
    - (*xCellSize)
    argTypes:
    - SPage*
    - u8
    - int
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: tdbPageInit
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NFREE
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_HDR_SIZE
    - TDB_PAGE_CCELLS
    - TDB_PAGE_NCELLS
    - tdbPageZero
    - tdbTrace
    - tdbError
    linkageType: ''
    returnType: void
    signature: 'void tdbPageInit(SPage *pPage, u8 szAmHdr, int (*xCellSize)(const
      SPage *, SCell *, int *)) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:87,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:100,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:101,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:95,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:90,1
    - Dst: TDB_DESTROY_PAGE_LOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:104,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:105,1
    - Dst: xFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - pPage
    - (*xFree)
    - arg
    argTypes:
    - SPage*
    - void
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 112
    functionName: tdbPageDestroy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - xFree
    - tdbOsFree
    - tdbError
    - tdbTrace
    - TDB_DESTROY_PAGE_LOCK
    linkageType: ''
    returnType: void
    signature: 'void tdbPageDestroy(SPage *pPage, void (*xFree)(void *arg, void *ptr),
      void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:238,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:241,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 6
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 242
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 242
    functionName: tdbPageUpdateCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbPageInsertCell
    - tdbPageDropCell
    linkageType: ''
    returnType: int
    signature: 'int tdbPageUpdateCell(SPage *pPage, int idx, SCell *pCell, int szCell,
      TXN *pTxn, SBTree *pBt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:311,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:316,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:318,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:315,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:319,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:319,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:326,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:327,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:335,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:337,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:340,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pFromPage
    - pToPage
    - deepCopyOvfl
    argTypes:
    - SPage*
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 349
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 349
    functionName: tdbPageCopy
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NFREE
    - tdbOsMalloc
    - TDB_PAGE_CCELLS
    - tdbError
    - tdbTrace
    - TDB_PAGE_NFREE_SET
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbPageCopy(SPage *pFromPage, SPage *pToPage, int deepCopyOvfl) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:389,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:431,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:445,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:447,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:450,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:451,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:455,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:375,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:379,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:382,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:378,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:420,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:402,1
    - Dst: tdbPageDefragment
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:445,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:451,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:383,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:383,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:397,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:425,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:454,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:455,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:471,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:471,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:377,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:392,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:399,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:462,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:466,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:470,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    argCount: 3
    argNames:
    - pPage
    - szCell
    - ppCell
    argTypes:
    - SPage*
    - int
    - SCell**
    constantsTouched: []
    func_position:
      end: 474
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 474
    functionName: tdbPageAllocate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NFREE
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_CCELLS_SET
    - tdbPageDefragment
    - TDB_PAGE_FREE_CELL_SIZE
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CCELLS
    - tdbError
    - TAOS_CHECK_RETURN
    - TDB_PAGE_NFREE_SET
    - TDB_PAGE_FCELL
    linkageType: ''
    returnType: int
    signature: 'static int tdbPageAllocate(SPage *pPage, int szCell, SCell **ppCell) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:737,1
    - Dst: TDB_GET_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int*
    - int*
    constantsTouched: []
    func_position:
      end: 739
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 739
    functionName: getLPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_GET_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void getLPageFreeCellInfo(SCell *pCell, int *szCell,
      int *nxOffset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:46,1
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:63,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:51,1
    - Dst: TDB_IS_PGSIZE_VLD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:50,1
    - Dst: xMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:58,1
    - Dst: TDB_INIT_PAGE_LOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:66,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:68,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:80,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 4
    argNames:
    - pageSize
    - ppPage
    - (*xMalloc)
    - arg
    argTypes:
    - int
    - SPage**
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 82
    functionName: tdbPageCreate
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_IS_PGSIZE_VLD
    - memset
    - tdbError
    - xMalloc
    - tdbTrace
    - TDB_INIT_PAGE_LOCK
    linkageType: ''
    returnType: int
    signature: 'int tdbPageCreate(int pageSize, SPage **ppPage, void *(*xMalloc)(void
      *, size_t), void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:167,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:169,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:168,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:195,1
    - Dst: tdbPageAllocate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:208,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:218,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:219,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:217,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:198,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:223,1
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:174,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:173,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:184,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:200,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:221,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:210,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:193,1
    - Dst: TDB_PAGE_CELL_OFFSET_AT_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:220,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:214,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:224,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 5
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    - asOvfl
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    - u8
    constantsTouched: []
    func_position:
      end: 235
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 235
    functionName: tdbPageInsertCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NFREE
    - tdbOsMalloc
    - TDB_PAGE_OFFSET_SIZE
    - tdbPageAllocate
    - TDB_PAGE_NCELLS_SET
    - TDB_PAGE_NCELLS
    - tdbError
    - tdbTrace
    - TDB_PAGE_CELL_OFFSET_AT_SET
    - TDB_PAGE_MAX_FREE_BLOCK
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int tdbPageInsertCell(SPage *pPage, int idx, SCell *pCell, int szCell,
      u8 asOvfl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:115,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:120,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:117,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:118,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:119,1
    - Dst: TDB_PAGE_MAX_FREE_BLOCK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:120,1
    - Dst: TDB_PAGE_HDR_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:121,1
    - Dst: TDB_PAGE_CCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:123,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - pPage
    - szAmHdr
    - (*xCellSize)
    argTypes:
    - SPage*
    - u8
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 132
    functionName: tdbPageZero
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NCELLS_SET
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_HDR_SIZE
    - TDB_PAGE_FCELL_SET
    - TDB_PAGE_CCELLS
    - tdbError
    - tdbTrace
    - TDB_PAGE_MAX_FREE_BLOCK
    - TDB_PAGE_NFREE_SET
    linkageType: ''
    returnType: void
    signature: 'void tdbPageZero(SPage *pPage, u8 szAmHdr, int (*xCellSize)(const
      SPage *, SCell *, int *)) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_NCELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:252,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:278,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:263,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:255,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:264,1
    - Dst: tdbFreeOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:284,1
    - Dst: tdbPageFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:287,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:289,1
    - Dst: TDB_PAGE_NCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:292,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:296,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 4
    argNames:
    - pPage
    - idx
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - int
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 302
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 302
    functionName: tdbPageDropCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - tdbPageFree
    - tdbFreeOvflPage
    - TDB_PAGE_NCELLS_SET
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_NCELLS
    - tdbError
    - tdbTrace
    - tdbOsFree
    linkageType: ''
    returnType: int
    signature: 'int tdbPageDropCell(SPage *pPage, int idx, TXN *pTxn, SBTree *pBt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pageSize
    - amHdrSize
    argTypes:
    - int
    - int
    constantsTouched: []
    func_position:
      end: 364
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 364
    functionName: tdbPageCapacity
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tdbPageCapacity(int pageSize, int amHdrSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:483,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:490,1
    - Dst: TDB_PAGE_CELL_AT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:491,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:491,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:487,1
    - Dst: TDB_PAGE_NFREE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:495,1
    - Dst: TDB_PAGE_CCELLS_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:499,1
    - Dst: TDB_PAGE_FREE_CELL_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:500,1
    - Dst: TDB_PAGE_FCELL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:501,1
    - Dst: TDB_PAGE_FCELL_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:503,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:505,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:509,1
    - Dst: TDB_PAGE_NFREE_SET
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:515,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:510,1
    - Dst: memmove
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:511,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:514,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:513,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 4
    argNames:
    - pPage
    - idx
    - pCell
    - szCell
    argTypes:
    - SPage*
    - int
    - SCell*
    - int
    constantsTouched: []
    func_position:
      end: 517
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 517
    functionName: tdbPageFree
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PAGE_NFREE
    - TDB_PAGE_OFFSET_SIZE
    - TDB_PAGE_CCELLS_SET
    - TDB_PAGE_CELL_AT
    - TDB_PAGE_FREE_CELL_SIZE
    - TDB_PAGE_FCELL_SET
    - tdbError
    - memmove
    - TDB_PAGE_FCELL
    - TDB_PAGE_NFREE_SET
    linkageType: ''
    returnType: int
    signature: 'static int tdbPageFree(SPage *pPage, int idx, SCell *pCell, int szCell) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:743,1
    - Dst: TDB_PUT_U24
      Src: /src/tdengine/source/libs/tdb/src/db/tdbPage.c:744,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pCell
    - szCell
    - nxOffset
    argTypes:
    - SCell*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 745
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 745
    functionName: setLPageFreeCellInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbPage.c
    functionUses: []
    functionsReached:
    - TDB_PUT_U24
    linkageType: ''
    returnType: void
    signature: 'static inline void setLPageFreeCellInfo(SCell *pCell, int szCell,
      int nxOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: tdbTbBtreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeToStack
    linkageType: ''
    returnType: int
    signature: 'int tdbTbBtreeToStack(TTB *pTb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:263,1
    - Dst: func
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:286,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:280,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:268,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:270,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:289,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:290,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:291,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 3
    argNames:
    - pTb
    - data
    - (*func)
    argTypes:
    - TTB*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: tdbTbTraversal
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - func
    - tdbTbcNext
    - tdbFree
    - tdbTbcOpen
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdbTbTraversal(TTB *pTb, void *data, int32_t (*func)(const
      void *pKey, int keyLen, const void *pVal, int valLen, void *data)) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToFirst
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 298
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 298
    functionName: tdbTbcMoveToFirst
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveToFirst
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcMoveToFirst(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 302
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 302
    functionName: tdbTbcMoveToNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveToNext
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcMoveToNext(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - pkLen
    - ppVal
    - pvLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: tdbTbcGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcGet
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcGet(TBC *pTbc, const void **ppKey, int *pkLen, const void
      **ppVal, int *pvLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 6
    argNames:
    - pTbc
    - pKey
    - nKey
    - pData
    - nData
    - insert
    argTypes:
    - TBC*
    - void*
    - int
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: tdbTbcUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcUpsert
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcUpsert(TBC *pTbc, const void *pKey, int nKey, const void
      *pData, int nData, int insert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePushFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pPage
    - pTxn
    argTypes:
    - TTB*
    - SPage*
    - TXN*
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: tdbTbPushFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreePushFreePage
    linkageType: ''
    returnType: int
    signature: 'int tdbTbPushFreePage(TTB *pTb, SPage* pPage, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pTbc
    - pKey
    - kLen
    - c
    argTypes:
    - TBC*
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 296
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 296
    functionName: tdbTbcMoveTo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveTo
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcMoveTo(TBC *pTbc, const void *pKey, int kLen, int *c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToLast
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: tdbTbcMoveToLast
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveToLast
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcMoveToLast(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveToPrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: tdbTbcMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveToPrev
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcMoveToPrev(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 310
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 310
    functionName: tdbTbcDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcDelete
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcDelete(TBC *pTbc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:326,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: tdbTbcClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbBtcClose
    linkageType: ''
    returnType: void
    signature: 'void tdbTbcClose(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcIsValid
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTbc
    argTypes:
    - TBC*
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: tdbTbcIsValid
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtcIsValid
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcIsValid(TBC *pTbc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pTb
    - pKey
    - kLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 212
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 212
    functionName: tdbTbDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeDelete
    linkageType: ''
    returnType: int
    signature: 'int tdbTbDelete(TTB *pTb, const void *pKey, int kLen, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:215,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:215,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - pTb
    - pKey
    - kLen
    - pVal
    - vLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: tdbTbUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbTbInsert
    - tdbTbDelete
    - TAOS_UNUSED
    linkageType: ''
    returnType: int
    signature: 'int tdbTbUpsert(TTB *pTb, const void *pKey, int kLen, const void *pVal,
      int vLen, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:154,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:157,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:159,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:156,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:161,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:166,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - tbname
    - pEnv
    argTypes:
    - char*
    - TDB*
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: tdbTbExist
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcmp
    - strlen
    - taosCheckExistFile
    - tdbTbGet
    - tdbEnvGetPager
    linkageType: ''
    returnType: bool
    signature: 'bool tdbTbExist(const char *tbname, TDB *pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePopFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pTb
    - pgno
    - pTxn
    argTypes:
    - TTB*
    - SPgno*
    - TXN*
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: tdbTbPopFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreePopFreePage
    linkageType: ''
    returnType: int
    signature: 'int tdbTbPopFreePage(TTB *pTb, SPgno* pgno, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:313,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: tdbTbcNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeNext
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcNext(TBC *pTbc, void **ppKey, int *kLen, void **ppVal, int
      *vLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: tdbTbDrop
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tdbTbDrop(TTB *pTb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:246,1
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pTb
    - ppTbc
    - pTxn
    argTypes:
    - TTB*
    - TBC**
    - TXN*
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: tdbTbcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbOsMalloc
    - taosMemoryFree
    - tdbBtcOpen
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcOpen(TTB *pTb, TBC **ppTbc, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:317,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 5
    argNames:
    - pTbc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TBC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: tdbTbcPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreePrev
    linkageType: ''
    returnType: int
    signature: 'int tdbTbcPrev(TBC *pTbc, void **ppKey, int *kLen, void **ppVal, int
      *vLen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:50,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:52,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:66,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:96,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:55,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:67,1
    - Dst: tdbBtreeOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:129,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:41,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:53,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:59,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:59,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:71,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:75,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:95,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:98,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:93,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:124,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:131,1
    - Dst: tdbPagerOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:73,1
    - Dst: tdbPagerRestoreJournals
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:122,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:102,1
    - Dst: tdbEnvAddPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:79,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 7
    argNames:
    - tbname
    - keyLen
    - valLen
    - keyCmprFn
    - pEnv
    - ppTb
    - rollback
    argTypes:
    - char*
    - int
    - int
    - tdb_cmpr_fn_t
    - TDB*
    - TTB**
    - int8_t
    constantsTouched: []
    func_position:
      end: 137
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 137
    functionName: tdbTbOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbPagerRestoreJournals
    - snprintf
    - tdbFree
    - strcmp
    - tdbBtreeOpen
    - tdbOsFree
    - strlen
    - tdbTbGet
    - tdbPagerOpen
    - tdbEnvAddPager
    - tdbEnvGetPager
    - tdbOsCalloc
    linkageType: ''
    returnType: int
    signature: 'int tdbTbOpen(const char *tbname, int keyLen, int valLen, tdb_cmpr_fn_t
      keyCmprFn, TDB *pEnv, TTB **ppTb, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:187,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:192,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:189,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:192,1
    - Dst: tdbEnvGetPager
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:190,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:194,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:199,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - tbname
    - pEnv
    - pTxn
    argTypes:
    - char*
    - TDB*
    - TXN*
    constantsTouched: []
    func_position:
      end: 206
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 206
    functionName: tdbTbDropByName
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcmp
    - strlen
    - tdbEnvGetPager
    - tdbTbDelete
    - taosRemoveFile
    linkageType: ''
    returnType: int
    signature: 'int tdbTbDropByName(const char *tbname, TDB *pEnv, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pTb
    - pKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - TTB*
    - void*
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: tdbTbGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeGet
    linkageType: ''
    returnType: int
    signature: 'int tdbTbGet(TTB *pTb, const void *pKey, int kLen, void **ppVal, int
      *vLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:141,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pTb
    argTypes:
    - TTB*
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: tdbTbClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeClose
    - tdbOsFree
    linkageType: ''
    returnType: void
    signature: 'void tdbTbClose(TTB *pTb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreeInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 6
    argNames:
    - pTb
    - pKey
    - keyLen
    - pVal
    - valLen
    - pTxn
    argTypes:
    - TTB*
    - void*
    - int
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: tdbTbInsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreeInsert
    linkageType: ''
    returnType: int
    signature: 'int tdbTbInsert(TTB *pTb, const void *pKey, int keyLen, const void
      *pVal, int valLen, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbTable.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 7
    argNames:
    - pTb
    - pKey
    - kLen
    - ppKey
    - pkLen
    - ppVal
    - vLen
    argTypes:
    - TTB*
    - void*
    - int
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: tdbTbPGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbTable.c
    functionUses: []
    functionsReached:
    - tdbBtreePGet
    linkageType: ''
    returnType: int
    signature: 'int tdbTbPGet(TTB *pTb, const void *pKey, int kLen, void **ppKey,
      int *pkLen, void **ppVal, int *vLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:233,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:244,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:242,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:239,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:235,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:245,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:250,1
    - Dst: tdbBtcDelete
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:255,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:257,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:261,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pBt
    - pKey
    - kLen
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 263
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 263
    functionName: tdbBtreeDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcOpen
    - tdbBtcDelete
    - tdbError
    - tdbTrace
    - tdbBtcMoveTo
    - tdbBtcClose
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeDelete(SBTree *pBt, const void *pKey, int kLen, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtreePGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pBt
    - pKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTree*
    - void*
    - int
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: tdbBtreeGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtreePGet
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeGet(SBTree *pBt, const void *pKey, int kLen, void **ppVal,
      int *vLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_FLAG_ADD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1343,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pPgno
    - ppOfp
    - pTxn
    - pBt
    argTypes:
    - SPgno*
    - SPage**
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1350
    functionName: tdbLoadOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerFetchPage
    - TDB_FLAG_ADD
    linkageType: ''
    returnType: int
    signature: 'static int tdbLoadOvflPage(SPgno *pPgno, SPage **ppOfp, TXN *pTxn,
      SBTree *pBt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2278,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2286,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2299,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2279,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2297,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2304,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2305,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2308,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2315,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2317,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2319,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2327
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2327
    functionName: tdbBtcMoveToNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveUpward
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcMoveToNext(SBTC *pBtc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2381,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2391,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2385,1
    - Dst: TDB_BTREE_PAGE_IS_OVFL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2390,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2386,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2395,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2396,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2403,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2413,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2416,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2421
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2421
    functionName: tdbBtcMoveDownward
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_BTREE_PAGE_IS_OVFL
    - tdbPageGetCell
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtcMoveDownward(SBTC *pBtc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2809,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2820,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2816,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2829,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2830,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2833,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2834,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2836,1
    - Dst: tdbTxnClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2840,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2844
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2844
    functionName: tdbBtcClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_CELLDECODER_FREE_VAL
    - tdbPagerReturnPage
    - tdbFree
    - tdbError
    - TDB_CELLDECODER_FREE_KEY
    - tdbDebug
    - tdbTxnClose
    linkageType: ''
    returnType: void
    signature: 'void tdbBtcClose(SBTC *pBtc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:332,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:330,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:335,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:344,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:345,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:347,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:353,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:348,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:373,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:383,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:326,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:340,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:377,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:356,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:355,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:376,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:381,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:388,1
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:324,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:334,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:367,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:368,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:361,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:365,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:380,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:386,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 7
    argNames:
    - pBt
    - pKey
    - kLen
    - ppKey
    - pkLen
    - ppVal
    - vLen
    argTypes:
    - SBTree*
    - void*
    - int
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 391
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 391
    functionName: tdbBtreePGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtcOpen
    - tdbFree
    - tdbError
    - tdbTrace
    - memcpy
    - tdbBtcMoveTo
    - tdbPageGetCell
    - tdbBtreeDecodeCell
    - TDB_CELLDECODER_FREE_KEY
    - tdbBtcClose
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreePGet(SBTree *pBt, const void *pKey, int kLen, void **ppKey,
      int *pkLen, void **ppVal, int *vLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:482,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:489,1
    - Dst: btreeToStack
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:487,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:496,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pBt
    argTypes:
    - SBTree*
    constantsTouched: []
    func_position:
      end: 497
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 497
    functionName: tdbBtreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - btreeToStack
    - tdbPostCommit
    - tdbAbort
    - tdbBegin
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeToStack(SBTree *pBt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1359,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1372,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1364,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1376,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1374,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1376,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1380,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1381,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - pgno
    - nSize
    - pTxn
    - pBt
    argTypes:
    - SPgno
    - int
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1387
    functionName: tdbFreeOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerReturnPage
    - terrstr
    - tdbPagerInsertFreePage
    - tdbLoadOvflPage
    - tdbPagerWrite
    - tdbError
    - tdbPageGetCell
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int tdbFreeOvflPage(SPgno pgno, int nSize, TXN *pTxn, SBTree *pBt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2345,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2360,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2347,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2358,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2362,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2365,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2366,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2373
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2373
    functionName: tdbBtcMoveToPrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveUpward
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcMoveToPrev(SBTC *pBtc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2433
      start: 2423
    functionDepth: 0
    functionLinenumber: 2423
    functionLinenumberEnd: 2433
    functionName: tdbBtcMoveUpward
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerReturnPage
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtcMoveUpward(SBTC *pBtc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2852
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2852
    functionName: tdbBtcIsValid
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcIsValid(SBTC *pBtc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TDB_FLAG_ADD
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1322,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1331,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1323,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1331,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pPgno
    - ppOfp
    - pTxn
    - pBt
    argTypes:
    - SPgno*
    - SPage**
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1336
    functionName: tdbFetchOvflPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - terrstr
    - tdbPagerFetchPage
    - tdbPagerWrite
    - tdbError
    - TDB_FLAG_ADD
    linkageType: ''
    returnType: int
    signature: 'static int tdbFetchOvflPage(SPgno *pPgno, SPage **ppOfp, TXN *pTxn,
      SBTree *pBt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:271,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:273,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:279,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:278,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:276,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:280,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:282,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:286,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:287,1
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:299,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:301,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:306,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 6
    argNames:
    - pBt
    - pKey
    - nKey
    - pData
    - nData
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 308
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 308
    functionName: tdbBtreeUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcOpen
    - tdbFree
    - tdbError
    - tdbTrace
    - tdbBtcMoveTo
    - TDB_CELLDECODER_FREE_KEY
    - tdbBtcClose
    - tdbBtcUpsert
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeUpsert(SBTree *pBt, const void *pKey, int nKey, const
      void *pData, int nData, TXN *pTxn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:700,1
    - Dst: TDB_FLAG_REMOVE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:705,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:701,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:716,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:707,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:718,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:718,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:723,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:731,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - pBt
    - pRoot
    - ppChild
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - SPage**
    - TXN*
    constantsTouched: []
    func_position:
      end: 741
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 741
    functionName: tdbBtreeBalanceDeeper
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPageCopy
    - TDB_FLAG_REMOVE
    - terrstr
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPagerWrite
    - tdbError
    - TDB_BTREE_PAGE_GET_FLAGS
    - tdbBtreeInitPage
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeBalanceDeeper(SBTree *pBt, SPage *pRoot, SPage
      **ppChild, TXN *pTxn) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1399,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1401,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1440,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1443,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1448,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1480,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1454,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1474,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1458,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1500,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1537,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1548,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1418,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1426,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1424,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1492,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1498,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1535,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1549,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1439,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1491,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1485,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1501,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1506,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1508,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1538,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1545,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1546,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1560,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1434,1
    - Dst: tdbFetchOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1489,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1509,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1551,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1563,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 164
    argCount: 10
    argNames:
    - pPage
    - pCell
    - nHeader
    - pKey
    - kLen
    - pVal
    - vLen
    - szPayload
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - int
    - void*
    - int
    - void*
    - int
    - int*
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1567
    functionName: tdbBtreeEncodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPCacheRelease
    - tdbFetchOvflPage
    - tdbFree
    - tdbPageInsertCell
    - memcpy
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeEncodePayload(SPage *pPage, SCell *pCell, int nHeader,
      const void *pKey, int kLen, const void *pVal, int vLen, int *szPayload, TXN
      *pTxn, SBTree *pBt) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1990,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1997,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1993,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2003,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1998,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2007,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2008,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2017,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2025,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2039,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2048,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2050,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2046,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2058
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 2058
    functionName: tdbBtcMoveToFirst
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveUpward
    - TDB_BTREE_PAGE_IS_ROOT
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcMoveToFirst(SBTC *pBtc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:97,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:111,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:123,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:131,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:141,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:144,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:149,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:151,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:154,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:159,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:122,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:129,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:143,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:160,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:75,1
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:101,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:81,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:113,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:120,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:127,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:141,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:135,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:129,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:130,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 8
    argNames:
    - keyLen
    - valLen
    - pPager
    - tbname
    - pgno
    - kcmpr
    - pEnv
    - ppBt
    argTypes:
    - int
    - int
    - SPager*
    - char*
    - SPgno
    - tdb_cmpr_fn_t
    - TDB*
    - SBTree**
    constantsTouched: []
    func_position:
      end: 174
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 174
    functionName: tdbBtreeOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - tdbPCacheRelease
    - terrstr
    - tdbPagerFetchPage
    - strcmp
    - tdbPostCommit
    - tdbOsFree
    - tdbError
    - tdbAbort
    - tdbPagerWrite
    - tdbTbInsert
    - strlen
    - tdbBegin
    - tdbOsCalloc
    - tdbPageCapacity
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeOpen(int keyLen, int valLen, SPager *pPager, char const
      *tbname, SPgno pgno, tdb_cmpr_fn_t kcmpr, TDB *pEnv, SBTree **ppBt) '
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:761,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:803,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:846,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:862,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1107,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1044,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1117,1
    - Dst: tdbPageCreate
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1034,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:812,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1079,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1041,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:959,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1153,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1190,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1199,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:940,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1067,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1150,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1163,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1251,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1014,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1006,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1098,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1112,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1108,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:861,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:864,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:880,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1191,1
    - Dst: tdbPageDestroy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1206,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:825,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:874,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1056,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1089,1
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:997,1
    - Dst: tdbPageCopy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1217,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:882,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:840,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1105,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1195,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1210,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1213,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1116,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:797,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:817,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:861,1
    - Dst: TDB_BYTES_CELL_TAKEN
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:912,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:951,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1091,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1130,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1183,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:822,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1036,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:911,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1054,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1179,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1237,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1008,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:794,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:803,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:815,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:836,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1065,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1211,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:981,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1014,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:801,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:851,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1172,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1210,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1248,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1222,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1066,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1039,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1119,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1161,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1226,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:809,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:854,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:884,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1012,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1128,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:790,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:833,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:874,1
    - Dst: TDB_PAGE_USABLE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:914,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1113,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1151,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1077,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1046,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:785,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:814,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:855,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:872,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:910,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:942,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1093,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1197,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:829,1
    - Dst: tdbBtreeCellSize
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:960,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1104,1
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1032,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1188,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1196,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1234,1
    - Dst: tdbPagerInsertFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1243,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 431
    argCount: 4
    argNames:
    - pBt
    - pParent
    - idx
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 1255
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 1255
    functionName: tdbBtreeBalanceNonRoot
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - terrstr
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_CELLDECODER_FREE_KEY
    - TDB_PAGE_TOTAL_CELLS
    - tdbPageCopy
    - TDB_BTREE_PAGE_IS_ROOT
    - tdbOsFree
    - tdbError
    - TDB_PAGE_PGNO
    - tdbPageInsertCell
    - memcpy
    - tdbBtreeEncodeCell
    - tdbBtreeDecodeCell
    - tdbRealloc
    - tdbBtreeInitPage
    - tdbPagerReturnPage
    - TDB_BYTES_CELL_TAKEN
    - tdbPageDropCell
    - tdbPagerInsertFreePage
    - tdbPageGetCell
    - tdbOsMalloc
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtreeCellSize
    - tdbFree
    - tdbPagerWrite
    - tdbPageDestroy
    - tdbPageCreate
    - TDB_BTREE_PAGE_GET_FLAGS
    - TDB_PAGE_USABLE_SIZE
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeBalanceNonRoot(SBTree *pBt, SPage *pParent, int
      idx, TXN *pTxn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1588,1
    - Dst: tdbBtreeEncodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1618,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1604,1
    - Dst: tdbPutVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1609,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1594,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1621,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 52
    argCount: 9
    argNames:
    - pPage
    - pKey
    - kLen
    - pVal
    - vLen
    - pCell
    - szCell
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - void*
    - int
    - void*
    - int
    - SCell*
    - int*
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1627
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1627
    functionName: tdbBtreeEncodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - tdbPutVarInt
    - tdbBtreeEncodePayload
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeEncodeCell(SPage *pPage, const void *pKey, int
      kLen, const void *pVal, int vLen, SCell *pCell, int *szCell, TXN *pTxn, SBTree
      *pBt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2079,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2086,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2114,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2131,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2138,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2122,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2082,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2075,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2137,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2072,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2095,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2103,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2107,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2133,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2115,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2117,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2085,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2102,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2129,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2146
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2146
    functionName: tdbBtcMoveToLast
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveUpward
    - tdbPagerFetchPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcMoveToLast(SBTC *pBtc) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1711,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1735,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1788,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1811,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1679,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1688,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1696,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1728,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1713,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1767,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1783,1
    - Dst: TDB_CELLDECODER_SET_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1808,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1814,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1681,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1640,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1683,1
    - Dst: tdbLoadOvflPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1692,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1733,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1724,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1751,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1774,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1816,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1639,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1675,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1708,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1739,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1718,1
    - Dst: TDB_CELLDECODER_SET_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1722,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1763,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1769,1
    - Dst: tdbPCacheRelease
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1776,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1804,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 186
    argCount: 6
    argNames:
    - pPage
    - pCell
    - nHeader
    - pDecoder
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - int
    - SCellDecoder*
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1629
    functionDepth: 0
    functionLinenumber: 1629
    functionLinenumberEnd: 1823
    functionName: tdbBtreeDecodePayload
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPCacheRelease
    - tdbLoadOvflPage
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - tdbRealloc
    - tdbTrace
    - TDB_CELLDECODER_SET_FREE_KEY
    - tdbPageGetCell
    - memcpy
    - TDB_CELLDECODER_SET_FREE_VAL
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeDecodePayload(SPage *pPage, const SCell *pCell,
      int nHeader, SCellDecoder *pDecoder, TXN *pTxn, SBTree *pBt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1895,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1912,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1909,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1902,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 3
    argNames:
    - pPage
    - pCell
    - pFullSize
    argTypes:
    - SPage*
    - SCell*
    - int*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1891
    functionDepth: 0
    functionLinenumber: 1891
    functionLinenumberEnd: 1943
    functionName: tdbBtreeCellSize
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - TDB_PAGE_PGNO
    - tdbGetVarInt
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeCellSize(const SPage *pPage, SCell *pCell, int
      *pFullSize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1831,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1835,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1834,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1836,1
    - Dst: TDB_CELLDECODER_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1839,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1840,1
    - Dst: TDB_CELLDECODER_CLZ_FREE_KEY
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1841,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1853,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1863,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1870,1
    - Dst: tdbBtreeDecodePayload
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1879,1
    - Dst: tdbGetVarInt
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1873,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 5
    argNames:
    - pPage
    - pCell
    - pDecoder
    - pTxn
    - pBt
    argTypes:
    - SPage*
    - SCell*
    - SCellDecoder*
    - TXN*
    - SBTree*
    constantsTouched: []
    func_position:
      end: 1885
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1885
    functionName: tdbBtreeDecodeCell
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtreeDecodePayload
    - tdbGetVarInt
    - tdbFree
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_CELLDECODER_CLZ_FREE_KEY
    - tdbError
    - TDB_CELLDECODER_FREE_KEY
    - TDB_CELLDECODER_CLZ_FREE_VAL
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeDecodeCell(SPage *pPage, const SCell *pCell, SCellDecoder
      *pDecoder, TXN *pTxn, SBTree *pBt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2873,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2875,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2876,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2883,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pPage
    - idx
    argTypes:
    - SPage*
    - int
    constantsTouched: []
    func_position:
      end: 2885
      start: 2868
    functionDepth: 0
    functionLinenumber: 2868
    functionLinenumberEnd: 2885
    functionName: tdbBtPageInfo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_PAGE_PGNO
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: void
    signature: 'void tdbBtPageInfo(SPage *pPage, int idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:178,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pBt
    argTypes:
    - SBTree*
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: tdbBtreeClose
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbFree
    linkageType: ''
    returnType: void
    signature: 'void tdbBtreeClose(SBTree *pBt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:411,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:414,1
    - Dst: tdbWarn
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:427,1
    - Dst: tdbBtreeInitPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:428,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:444,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:446,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:399,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:426,1
    - Dst: tdbInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:439,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:438,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:436,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:449,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:453,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:455,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:455,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:456,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:467,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:413,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:436,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:437,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:448,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:457,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:464,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:468,1
    - Dst: TDB_BTREE_PAGE_IS_STACK
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:406,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:407,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:413,1
    - Dst: TDB_BTREE_PAGE_SET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:429,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:430,1
    - Dst: tdbInfo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:469,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - pBt
    - pTxn
    argTypes:
    - SBTree*
    - TXN*
    constantsTouched: []
    func_position:
      end: 472
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 472
    functionName: btreeToStack
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbInfo
    - tdbPagerReturnPage
    - TDB_PAGE_OFFSET_SIZE
    - terrstr
    - TDB_BTREE_PAGE_SET_FLAGS
    - tdbPagerFetchPage
    - tdbWarn
    - TDB_BTREE_PAGE_IS_STACK
    - tdbPagerWrite
    - tdbError
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageGetCell
    - TDB_PAGE_FREE_SIZE
    - tdbBtreeInitPage
    linkageType: ''
    returnType: int
    signature: 'static int btreeToStack(SBTree* pBt, TXN* pTxn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:502,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:510,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:532,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:543,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:504,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:510,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:511,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:515,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:526,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:541,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:525,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:508,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:521,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:522,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:541,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:545,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:546,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:521,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:534,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:535,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:523,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:545,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - pBt
    - pPage
    - pTxn
    argTypes:
    - SBTree*
    - SPage*
    - TXN*
    constantsTouched: []
    func_position:
      end: 554
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 554
    functionName: tdbBtreePushFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerReturnPage
    - TDB_PAGE_OFFSET_SIZE
    - terrstr
    - tdbPageDropCell
    - tdbPagerFetchPage
    - tdbError
    - tdbPagerWrite
    - TDB_PAGE_PGNO
    - tdbPageInsertCell
    - tdbPageGetCell
    - TDB_PAGE_FREE_SIZE
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreePushFreePage(SBTree *pBt, SPage *pPage, TXN* pTxn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - pKey1
    - keyLen1
    - pKey2
    - keyLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 635
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 635
    functionName: tdbDefaultKeyCmprFn
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: 'static int tdbDefaultKeyCmprFn(const void *pKey1, int keyLen1, const
      void *pKey2, int keyLen2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1271,1
    - Dst: TDB_BTREE_PAGE_IS_ROOT
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1272,1
    - Dst: TDB_PAGE_USABLE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1277,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1273,1
    - Dst: tdbBtreeBalanceDeeper
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1286,1
    - Dst: tdbBtreeBalanceNonRoot
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1300,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1313
    functionName: tdbBtreeBalance
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtreeBalanceDeeper
    - tdbPagerReturnPage
    - tdbBtreeBalanceNonRoot
    - TDB_BTREE_PAGE_IS_ROOT
    - TDB_BTREE_PAGE_IS_LEAF
    - TDB_PAGE_FREE_SIZE
    - TDB_PAGE_USABLE_SIZE
    linkageType: ''
    returnType: int
    signature: 'static int tdbBtreeBalance(SBTC *pBtc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2159,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2174,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2163,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2161,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2167,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2178,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2183,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2184,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2185,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2186,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2195,1
    - Dst: tdbBtcMoveToNext
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2201,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2196,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2203,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2197,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2148
    functionDepth: 0
    functionLinenumber: 2148
    functionLinenumberEnd: 2208
    functionName: tdbBtreeNext
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_CELLDECODER_FREE_VAL
    - tdbBtcMoveToNext
    - tdbFree
    - tdbError
    - tdbTrace
    - memcpy
    - tdbPageGetCell
    - tdbBtreeDecodeCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeNext(SBTC *pBtc, void **ppKey, int *kLen, void **ppVal,
      int *vLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2438,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2443,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2442,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2445,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2460
    functionName: tdbBtcGet
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtreeDecodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbError
    - tdbPageGetCell
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcGet(SBTC *pBtc, const void **ppKey, int *kLen, const void
      **ppVal, int *vLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2580,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2594,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2601,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2586,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2592,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2603,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2608,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2610,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2610,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2617,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2628,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2637,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2624,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2621,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2639,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2631,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 6
    argNames:
    - pBtc
    - pKey
    - kLen
    - pData
    - nData
    - insert
    argTypes:
    - SBTC*
    - void*
    - int
    - void*
    - int
    - int
    constantsTouched: []
    func_position:
      end: 2645
      start: 2577
    functionDepth: 0
    functionLinenumber: 2577
    functionLinenumberEnd: 2645
    functionName: tdbBtcUpsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - terrstr
    - tdbBtreeBalance
    - tdbError
    - tdbPagerWrite
    - tdbPageInsertCell
    - tdbBtreeEncodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbPageUpdateCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcUpsert(SBTC *pBtc, const void *pKey, int kLen, const void
      *pData, int nData, int insert) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdbBtcOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:188,1
    - Dst: tdbBtcMoveTo
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:197,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:194,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:199,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:190,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:200,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:211,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:212,1
    - Dst: tdbBtcUpsert
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:217,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:219,1
    - Dst: tdbBtcClose
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:224,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:220,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 6
    argNames:
    - pBt
    - pKey
    - kLen
    - pVal
    - vLen
    - pTxn
    argTypes:
    - SBTree*
    - void*
    - int
    - void*
    - int
    - TXN*
    constantsTouched: []
    func_position:
      end: 226
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 226
    functionName: tdbBtreeInsert
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcOpen
    - tdbError
    - tdbTrace
    - tdbBtcMoveTo
    - tdbBtcClose
    - tdbBtcUpsert
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeInsert(SBTree *pBt, const void *pKey, int kLen, const
      void *pVal, int vLen, TXN *pTxn) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:562,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:572,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:566,1
    - Dst: TDB_PAGE_OFFSET_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:585,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:589,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:594,1
    - Dst: tdbPageInsertCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:607,1
    - Dst: TDB_PAGE_FREE_SIZE
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:585,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:568,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:574,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:579,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:600,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:601,1
    - Dst: tdbPagerFetchFreePage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:587,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:615,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:560,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:574,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:575,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:598,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:590,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:609,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:610,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - pBt
    - pgno
    - pTxn
    argTypes:
    - SBTree*
    - SPgno*
    - TXN*
    constantsTouched: []
    func_position:
      end: 617
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 617
    functionName: tdbBtreePopFreePage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbPagerFetchFreePage
    - tdbPagerReturnPage
    - TDB_PAGE_OFFSET_SIZE
    - terrstr
    - tdbPageDropCell
    - tdbPagerFetchPage
    - tdbError
    - tdbPagerWrite
    - tdbPageInsertCell
    - tdbPageGetCell
    - TDB_PAGE_FREE_SIZE
    - TDB_PAGE_TOTAL_CELLS
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreePopFreePage(SBTree *pBt, SPgno *pgno, TXN* pTxn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_BTREE_PAGE_GET_FLAGS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:646,1
    - Dst: tdbPageZero
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:655,1
    - Dst: TDB_BTREE_PAGE_IS_OVFL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:673,1
    - Dst: tdbPageInit
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:649,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:647,1
    - Dst: tdbPageCapacity
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - pPage
    - arg
    - init
    argTypes:
    - SPage*
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 686
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 686
    functionName: tdbBtreeInitPage
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbPageZero
    - TDB_BTREE_PAGE_IS_OVFL
    - tdbPageInit
    - TDB_BTREE_PAGE_GET_FLAGS
    - tdbPageCapacity
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreeInitPage(SPage *pPage, void *arg, int init) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2221,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2236,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2225,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2223,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2229,1
    - Dst: tdbRealloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2240,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2242,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2246,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2247,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2248,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2266,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2249,1
    - Dst: tdbFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2260,1
    - Dst: tdbBtcMoveToPrev
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2264,1
    - Dst: TDB_CELLDECODER_FREE_VAL
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2258,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2259,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 5
    argNames:
    - pBtc
    - ppKey
    - kLen
    - ppVal
    - vLen
    argTypes:
    - SBTC*
    - void**
    - int*
    - void**
    - int*
    constantsTouched: []
    func_position:
      end: 2271
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2271
    functionName: tdbBtreePrev
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveToPrev
    - TDB_CELLDECODER_FREE_VAL
    - tdbFree
    - tdbError
    - tdbTrace
    - memcpy
    - tdbPageGetCell
    - tdbBtreeDecodeCell
    - tdbRealloc
    linkageType: ''
    returnType: int
    signature: 'int tdbBtreePrev(SBTC *pBtc, void **ppKey, int *kLen, void **ppVal,
      int *vLen) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2464,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2481,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2483,1
    - Dst: tdbPagerWrite
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2510,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2518,1
    - Dst: tdbPageUpdateCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2526,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2512,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2529,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2532,1
    - Dst: tdbDebug
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2535,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2545,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2568,1
    - Dst: tdbPageDropCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2487,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2489,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2507,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2523,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2538,1
    - Dst: tdbBtreeBalance
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2566,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2560,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2503,1
    - Dst: tdbOsMalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2517,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2528,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2547,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2483,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2476,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2496,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2498,1
    - Dst: tdbBtreeEncodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2521,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2512,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2554,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2559,1
    - Dst: TDB_PAGE_PGNO
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2536,1
    - Dst: tdbPagerReturnPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2540,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 1
    argNames:
    - pBtc
    argTypes:
    - SBTC*
    constantsTouched: []
    func_position:
      end: 2575
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2575
    functionName: tdbBtcDelete
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbOsMalloc
    - tdbPagerReturnPage
    - terrstr
    - tdbPageDropCell
    - tdbBtcGet
    - tdbBtreeBalance
    - tdbOsFree
    - tdbError
    - tdbPagerWrite
    - TDB_PAGE_PGNO
    - tdbBtreeEncodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbPageUpdateCell
    - tdbDebug
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcDelete(SBTC *pBtc) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2664,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2688,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2768,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2770,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2763,1
    - Dst: tdbPagerFetchPage
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2660,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2685,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2687,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2695,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2729,1
    - Dst: tdbBtreeDecodeCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2703,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2718,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2724,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2737,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2657,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2674,1
    - Dst: TDB_BTREE_PAGE_IS_LEAF
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2787,1
    - Dst: tdbBtcMoveDownward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2794,1
    - Dst: tdbTrace
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2801,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2749,1
    - Dst: TDB_PAGE_TOTAL_CELLS
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2671,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2694,1
    - Dst: tdbPageGetCell
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2702,1
    - Dst: tdbBtcMoveUpward
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2712,1
    - Dst: tdbBtcGet
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2735,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2751,1
    - Dst: tdbError
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:2795,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 4
    argNames:
    - pBtc
    - pKey
    - kLen
    - pCRst
    argTypes:
    - SBTC*
    - void*
    - int
    - int*
    constantsTouched: []
    func_position:
      end: 2804
      start: 2647
    functionDepth: 0
    functionLinenumber: 2647
    functionLinenumberEnd: 2804
    functionName: tdbBtcMoveTo
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbBtcMoveUpward
    - tdbPagerFetchPage
    - tdbBtcGet
    - TDB_BTREE_PAGE_IS_LEAF
    - tdbError
    - tdbTrace
    - tdbPageGetCell
    - tdbBtreeDecodeCell
    - TDB_PAGE_TOTAL_CELLS
    - tdbBtcMoveDownward
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcMoveTo(SBTC *pBtc, const void *pKey, int kLen, int *pCRst) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1952,1
    - Dst: tdbTxnOpen
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1961,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1963,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c:1955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pBtc
    - pBt
    - pTxn
    argTypes:
    - SBTC*
    - SBTree*
    - TXN*
    constantsTouched: []
    func_position:
      end: 1976
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1976
    functionName: tdbBtcOpen
    functionSourceFile: /src/tdengine/source/libs/tdb/src/db/tdbBtree.c
    functionUses: []
    functionsReached:
    - tdbOsFree
    - tdbOsCalloc
    - tdbTxnOpen
    - memset
    linkageType: ''
    returnType: int
    signature: 'int tdbBtcOpen(SBTC *pBtc, SBTree *pBt, TXN *pTxn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - body
    - len
    argTypes:
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: walCalcBodyCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosCalcChecksum
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t walCalcBodyCksum(const void* body, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pVer
    argTypes:
    - SWalVer*
    constantsTouched: []
    func_position:
      end: 162
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 162
    functionName: walResetVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static inline void walResetVer(SWalVer* pVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: walGetVerIdxOffset
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - walGetCurFileFirstVer
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetVerIdxOffset(SWal* pWal, int64_t ver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:82,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: walGetLastFileSize
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetLastFileSize(SWal* pWal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:94,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: walGetLastFileFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetLastFileFirstVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: walCurFileClosed
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'static inline bool walCurFileClosed(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:125,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pWal
    - fileFirstVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: walBuildLogName
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static inline void walBuildLogName(SWal* pWal, int64_t fileFirstVer,
      char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:141,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pHead
    - body
    - bodyLen
    argTypes:
    - SWalCkHead*
    - void*
    - int64_t
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: walValidCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - walValidBodyCksum
    - walValidHeadCksum
    linkageType: ''
    returnType: int
    signature: 'static inline int walValidCksum(SWalCkHead* pHead, void* body, int64_t
      bodyLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:88,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: walGetLastFileCachedSize
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGetLast
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetLastFileCachedSize(SWal* pWal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: walGetCurFileFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetCurFileFirstVer(SWal* pWal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: walGetCurFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: SWalFileInfo*
    signature: 'static inline SWalFileInfo * walGetCurFileInfo(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:129,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pWal
    - fileFirstVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: walBuildIdxName
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - sprintf
    linkageType: ''
    returnType: void
    signature: 'static inline void walBuildIdxName(SWal* pWal, int64_t fileFirstVer,
      char* buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: walCalcHeadCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosCalcChecksum
    linkageType: ''
    returnType: uint32_t
    signature: 'static inline uint32_t walCalcHeadCksum(SWalCkHead* pHead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:70,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pIdxEntry
    argTypes:
    - void*
    - SWalIdxEntry*
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: tDeserializeWalIdxEntry
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void*
    signature: 'static inline void * tDeserializeWalIdxEntry(void* buf, SWalIdxEntry*
      pIdxEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: walGetCurFileLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetCurFileLastVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: walValidHeadCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosCheckChecksum
    linkageType: ''
    returnType: int
    signature: 'static inline int walValidHeadCksum(SWalCkHead* pHead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:64,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pIdxEntry
    argTypes:
    - void**
    - SWalIdxEntry*
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: tSerializeWalIdxEntry
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int
    signature: 'static inline int tSerializeWalIdxEntry(void** buf, SWalIdxEntry*
      pIdxEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: compareWalFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - compareInt64Val
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t compareWalFileInfo(const void* pLeft, const
      void* pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: walGetCurFileOffset
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t walGetCurFileOffset(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckChecksum
      Src: /src/tdengine/source/libs/wal/inc/walInt.h:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pHead
    argTypes:
    - SWalCkHead*
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: walValidBodyCksum
    functionSourceFile: /src/tdengine/source/libs/wal/inc/walInt.h
    functionUses: []
    functionsReached:
    - taosCheckChecksum
    linkageType: ''
    returnType: int
    signature: 'static inline int walValidBodyCksum(SWalCkHead* pHead) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:124,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:125,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:126,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:126,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pWalReader
    - pOffset
    argTypes:
    - SWalReader*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: walReaderVerifyOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - TAOS_UNUSED
    - walGetFirstVer
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'void walReaderVerifyOffset(SWalReader *pWalReader, STqOffsetVal *pOffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:141,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:144,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:149,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:146,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:143,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:151,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:152,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:154,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:156,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:160,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:162,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:164,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - pReader
    - fileFirstVer
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 168
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 168
    functionName: walReadSeekFilePos
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - taosReadFile
    - wError
    - terrstr
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walReadSeekFilePos(SWalReader *pReader, int64_t fileFirstVer,
      int64_t ver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:21,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/wal/src/walRead.c:43,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/wal/src/walRead.c:28,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:45,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pWal
    - cond
    - id
    argTypes:
    - SWal*
    - SWalFilterCond*
    - int64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 61
    functionName: walOpenReader
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tGenIdPI64
    linkageType: ''
    returnType: SWalReader*
    signature: 'SWalReader *walOpenReader(SWal *pWal, SWalFilterCond *cond, int64_t
      id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: walReaderGetSkipToVersion
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walReaderGetSkipToVersion(SWalReader *pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:309,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:305,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: walSkipFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - ENCRYPTED_LEN
    - taosLSeekFile
    - TAOS_RETURN
    - wDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walSkipFetchBody(SWalReader *pRead) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/wal/src/walRead.c:385,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:419,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:417,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:444,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:446,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:456,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:476,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:477,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:486,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:507,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:491,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:470,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:513,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:380,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:386,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:403,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:403,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:421,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:432,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:437,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:438,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:462,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:498,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:509,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:500,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:393,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:397,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:413,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:419,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:429,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:448,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:464,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:488,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:486,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:493,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:515,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:493,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:479,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:504,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:495,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:513,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:390,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:396,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:401,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:406,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:437,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:442,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:460,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:462,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:478,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:478,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:483,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:507,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 116
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 516
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 516
    functionName: walReadVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - walValidBodyCksum
    - taosThreadMutexLock
    - TAOS_UNUSED
    - wDebug
    - taosReadFile
    - wError
    - walIsEmpty
    - walReaderSeekVer
    - terrstr
    - walReadSeekVerImpl
    - ENCRYPTED_LEN
    - taosMemoryRealloc
    - decryptBody
    - tstrerror
    - TAOS_RETURN
    - walValidHeadCksum
    - walCalcBodyCksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walReadVer(SWalReader *pReader, int64_t ver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:66,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:67,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:67,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:66,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walRead.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: walCloseReader
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - TAOS_UNUSED
    - taosCloseFile
    linkageType: ''
    returnType: void
    signature: 'void walCloseReader(SWalReader *pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:116,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:118,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pReader
    - sver
    - ever
    argTypes:
    - SWalReader*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: walReaderValidVersionRange
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - walGetLastVer
    - walGetFirstVer
    - walGetCommittedVer
    linkageType: ''
    returnType: void
    signature: 'void walReaderValidVersionRange(SWalReader *pReader, int64_t *sver,
      int64_t *ever) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:324,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:337,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:346,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:333,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:339,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRead.c:349,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:350,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:352,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:355,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:367,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:371,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:362,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:368,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:365,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:376,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:365,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - pRead
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 377
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 377
    functionName: walFetchBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - walValidBodyCksum
    - taosReadFile
    - wDebug
    - ENCRYPTED_LEN
    - wError
    - taosMemoryRealloc
    - decryptBody
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walFetchBody(SWalReader *pRead) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:521,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/libs/wal/src/walRead.c:534,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:532,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walRead.c:522,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:524,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walRead.c:538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRead.c:540,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - cfg
    - pHead
    - plainBodyLen
    - func
    argTypes:
    - SWalCfg*
    - SWalCkHead*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 544
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 544
    functionName: decryptBody
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - ENCRYPTED_LEN
    - tstrncpy
    - TAOS_RETURN
    - CBC_Decrypt
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t decryptBody(SWalCfg *cfg, SWalCkHead *pHead, int32_t plainBodyLen,
      const char *func) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:547,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:551,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:552,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:551,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:548,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:552,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:555,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 556
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 556
    functionName: walReadReset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosCloseFile
    - TAOS_UNUSED
    - wError
    linkageType: ''
    returnType: void
    signature: 'void walReadReset(SWalReader *pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:74,1
    - Dst: walGetAppliedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:76,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:78,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:82,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:75,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:86,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/libs/wal/src/walRead.c:86,1
    - Dst: IS_META_MSG
      Src: /src/tdengine/source/libs/wal/src/walRead.c:90,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:91,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:91,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:93,1
    - Dst: walSkipFetchBody
      Src: /src/tdengine/source/libs/wal/src/walRead.c:95,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:93,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:95,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: walNextValidMsg
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - IS_META_MSG
    - wDebug
    - walGetCommittedVer
    - TAOS_CHECK_RETURN
    - walGetLastVer
    - TAOS_RETURN
    - walFetchHead
    - walSkipFetchBody
    - walFetchBody
    - walGetAppliedVer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walNextValidMsg(SWalReader *pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:232,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:244,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:234,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:241,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walRead.c:238,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:244,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 247
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 247
    functionName: walReaderSeekVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - walReadSeekVerImpl
    - wDebug
    - wInfo
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walReaderSeekVer(SWalReader *pReader, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 104
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 104
    functionName: walReaderGetCurrentVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walReaderGetCurrentVer(const SWalReader *pReader) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:256,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:260,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:270,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:266,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:260,1
    - Dst: walReadSeekVerImpl
      Src: /src/tdengine/source/libs/wal/src/walRead.c:270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:276,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:278,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walRead.c:283,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:286,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pRead
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 293
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 293
    functionName: walFetchHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - walReadSeekVerImpl
    - taosReadFile
    - wError
    - walReaderSeekVer
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - walValidHeadCksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walFetchHead(SWalReader *pRead, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walRead.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SWalReader*
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: walReaderGetValidFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walReaderGetValidFirstVer(const SWalReader *pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:173,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:173,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:174,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:176,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:174,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:177,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:179,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:180,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walRead.c:185,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:189,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:186,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walRead.c:188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pReader
    - fileFirstVer
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: walReadChangeFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TAOS_UNUSED
    - taosCloseFile
    - wError
    - terrstr
    - walBuildIdxName
    - TAOS_RETURN
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walReadChangeFile(SWalReader *pReader, int64_t fileFirstVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/wal/src/walRead.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 106
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 106
    functionName: walReaderSetSkipToVersion
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - atomic_store_64
    linkageType: ''
    returnType: void
    signature: 'void walReaderSetSkipToVersion(SWalReader *pReader, int64_t ver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:205,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walRead.c:206,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRead.c:208,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:205,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:209,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:210,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/libs/wal/src/walRead.c:213,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRead.c:214,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRead.c:214,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:226,1
    - Dst: walReadChangeFile
      Src: /src/tdengine/source/libs/wal/src/walRead.c:217,1
    - Dst: walReadSeekFilePos
      Src: /src/tdengine/source/libs/wal/src/walRead.c:221,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:221,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRead.c:222,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walRead.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pReader
    - ver
    argTypes:
    - SWalReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: walReadSeekVerImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRead.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - TAOS_UNUSED
    - wDebug
    - wError
    - taosArraySearch
    - taosThreadRwlockUnlock
    - TAOS_CHECK_RETURN
    - walReadChangeFile
    - TAOS_RETURN
    - TAOS_MEMCPY
    - walReadSeekFilePos
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walReadSeekVerImpl(SWalReader *pReader, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: walGetSeq
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walGetSeq() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:71,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:77,1
    - Dst: walStopThread
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:76,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:79,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 81
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 81
    functionName: walCleanUp
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - taosCloseRef
    - wInfo
    - atomic_val_compare_exchange_8
    - walStopThread
    linkageType: ''
    returnType: void
    signature: 'void walCleanUp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockAttrInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:85,1
    - Dst: taosThreadRwlockAttrDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:88,1
    - Dst: taosThreadRwlockAttrSetKindNP
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:86,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: walInitLock
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockInit
    - taosThreadRwlockAttrInit
    - taosThreadRwlockAttrDestroy
    - taosThreadRwlockAttrSetKindNP
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walInitLock(SWal *pWal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:41,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:50,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:50,1
    - Dst: walCreateThread
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:48,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:46,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:51,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:53,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:56,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:57,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - stopDnode
    argTypes:
    - stopDnodeFn
    constantsTouched: []
    func_position:
      end: 66
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 66
    functionName: walInit
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - wWarn
    - wError
    - atomic_store_8
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - walCreateThread
    - taosOpenRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walInit(stopDnodeFn stopDnode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:204,1
    - Dst: walCheckAndRepairMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:207,1
    - Dst: walCheckAndRepairIdx
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:230,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:241,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:244,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:244,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:245,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:209,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:243,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:135,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:140,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:168,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:179,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:179,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:166,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:187,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:187,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:236,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:242,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:146,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:159,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:160,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:185,1
    - Dst: walLoadMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:202,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:215,1
    - Dst: walInitWriteFileForSkip
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:219,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:133,1
    - Dst: walInitLock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:141,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:161,1
    - Dst: walResetVer
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:173,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:197,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:222,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:230,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 2
    argNames:
    - path
    - pCfg
    argTypes:
    - char*
    - SWalCfg*
    constantsTouched: []
    func_position:
      end: 248
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 248
    functionName: walOpen
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - walInitWriteFileForSkip
    - taosHashInit
    - taosArrayInit
    - taosHashCleanup
    - taosArrayDestroy
    - wDebug
    - wError
    - walInitLock
    - walResetVer
    - strerror
    - taosAddRef
    - memcpy
    - taosGetDefaultHashFunction
    - wWarn
    - walLoadMeta
    - tstrncpy
    - memset
    - walCheckAndRepairIdx
    - taosMkDir
    - taosMemoryFreeClear
    - walCheckAndRepairMeta
    - tstrerror
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: SWal*
    signature: 'SWal *walOpen(const char *path, SWalCfg *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:288,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:289,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:288,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:290,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:290,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 293
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 293
    functionName: walPersist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - walSaveMeta
    - taosThreadRwlockUnlock
    - TAOS_RETURN
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walPersist(SWal *pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:335,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - wal
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: walFreeObj
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosThreadRwlockDestroy
    - wDebug
    linkageType: ''
    returnType: void
    signature: 'static void walFreeObj(void *wal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:354,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:355,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:356,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: walUpdateSeq
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - wError
    - strerror
    - taosMsleep
    - atomic_add_fetch_32
    linkageType: ''
    returnType: void
    signature: 'static void walUpdateSeq() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:98,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:99,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:101,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:105,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:101,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:106,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:108,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:116,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:117,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:118,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:125,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:126,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 129
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 129
    functionName: walInitWriteFileForSkip
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - walBuildIdxName
    - wError
    - memset
    - tstrerror
    - taosArrayPush
    - TAOS_RETURN
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walInitWriteFileForSkip(SWal *pWal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:251,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:261,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:258,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:255,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:267,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:268,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:269,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:282,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pWal
    - pCfg
    argTypes:
    - SWal*
    - SWalCfg*
    constantsTouched: []
    func_position:
      end: 283
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 283
    functionName: walAlter
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - wDebug
    - wError
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - taosRemoveDir
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walAlter(SWal *pWal, SWalCfg *pCfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:297,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:296,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:300,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:323,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:314,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:298,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:324,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:316,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:321,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:328,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:296,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:300,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:306,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:311,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:329,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:302,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:304,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 331
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 331
    functionName: walClose
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - taosCloseFile
    - taosArrayDestroy
    - wError
    - walSaveMeta
    - taosThreadRwlockUnlock
    - taosHashIterate
    - wInfo
    - tstrerror
    - taosHashCleanup
    - taosRemoveDir
    - taosMkDir
    - taosRemoveRef
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void walClose(SWal *pWal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 351
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 351
    functionName: walNeedFsync
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    linkageType: ''
    returnType: bool
    signature: 'static bool walNeedFsync(SWal *pWal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:361,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:364,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:365,1
    - Dst: walNeedFsync
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:363,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:366,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:368,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:368,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:369,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 374
    functionName: walFsyncAll
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - atomic_load_32
    - taosIterateRef
    - wError
    - walGetLastFileFirstVer
    - wTrace
    - strerror
    - walNeedFsync
    linkageType: ''
    returnType: void
    signature: 'static void walFsyncAll() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:390,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:391,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:396,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:393,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:395,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:396,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:398,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:398,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:401,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:402,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:404,1
    - Dst: taosGetPthreadId
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:402,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 405
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 405
    functionName: walCreateThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosGetPthreadId
    - TAOS_SYSTEM_ERROR
    - wDebug
    - wError
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrSetStackSize
    - strerror
    - TAOS_RETURN
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walCreateThread() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:408,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:410,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:412,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:411,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: walStopThread
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - wDebug
    - atomic_store_8
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'static void walStopThread() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:377,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:382,1
    - Dst: walUpdateSeq
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:379,1
    - Dst: walFsyncAll
      Src: /src/tdengine/source/libs/wal/src/walMgmt.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: walThreadFunc
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMgmt.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - walUpdateSeq
    - walFsyncAll
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *walThreadFunc(void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/wal/src/walRef.c:22,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/wal/src/walRef.c:28,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRef.c:31,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/wal/src/walRef.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 40
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 40
    functionName: walOpenRef
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosHashPut
    - taosMemoryFree
    - tGenIdPI64
    linkageType: ''
    returnType: SWalRef*
    signature: 'SWalRef *walOpenRef(SWal *pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:71,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:71,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:76,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:75,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pWal
    - pRef
    argTypes:
    - SWal*
    - SWalRef*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: walRefLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - TAOS_UNUSED
    - wDebug
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'void walRefLastVer(SWal *pWal, SWalRef *pRef) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/wal/src/walRef.c:43,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walRef.c:49,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:51,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/wal/src/walRef.c:54,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walRef.c:56,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walRef.c:56,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pWal
    - refId
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: walCloseRef
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - wDebug
    - wError
    - taosHashGet
    - taosHashRemove
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void walCloseRef(SWal *pWal, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:62,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:66,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walRef.c:66,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walRef.c:62,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walRef.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pWal
    - pRef
    argTypes:
    - SWal*
    - SWalRef*
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: walRefFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walRef.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - TAOS_UNUSED
    - wDebug
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'void walRefFirstVer(SWal *pWal, SWalRef *pRef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: walGetSnapshotVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t FORCE_INLINE walGetSnapshotVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 28
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 28
    functionName: walIsEmpty
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool FORCE_INLINE walIsEmpty(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:23,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:23,1
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: walLogExist
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - walIsEmpty
    - walGetLastVer
    - walGetFirstVer
    linkageType: ''
    returnType: bool
    signature: 'bool FORCE_INLINE walLogExist(SWal* pWal, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: walGetFirstVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t FORCE_INLINE walGetFirstVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: walGetLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t FORCE_INLINE walGetLastVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:399,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - vgId
    - fileSet
    - str
    argTypes:
    - int32_t
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: printFileSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - wTrace
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void printFileSet(int32_t vgId, SArray* fileSet, const char*
      str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:721,1
    - Dst: walCheckAndRepairIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:725,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:727,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:729,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:727,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 734
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 734
    functionName: walCheckAndRepairIdx
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - walCheckAndRepairIdxFile
    - wError
    - terrstr
    - TAOS_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walCheckAndRepairIdx(SWal* pWal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - regex_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: walRegfree
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - regfree
    linkageType: ''
    returnType: void
    signature: 'void walRegfree(regex_t* ptr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:737,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:740,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:749,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:741,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:747,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:758,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:762,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:763,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 764
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 764
    functionName: walRollFileInfo
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayGetLast
    - taosGetTimestampSec
    - TAOS_RETURN
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walRollFileInfo(SWal* pWal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1107,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1109,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1115,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1115,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1118
    functionName: walRemoveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - wError
    - walFindCurMetaVer
    - tstrerror
    - TAOS_RETURN
    - taosRemoveFile
    - walBuildMetaName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walRemoveMeta(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 36
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 36
    functionName: walGetCommittedVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t FORCE_INLINE walGetCommittedVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pWal
    - metaVer
    - buf
    argTypes:
    - SWal*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: walBuildMetaName
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int walBuildMetaName(SWal* pWal, int64_t metaVer,
      char* buf) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:56,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:61,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:62,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:106,1
    - Dst: tmemmem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:122,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:135,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:161,1
    - Dst: decryptBody
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:177,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:181,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:220,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:215,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:59,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:82,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:96,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:101,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:99,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:106,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:108,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:157,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:163,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:169,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:192,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:210,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:234,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:219,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:53,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:59,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:101,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:105,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:102,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:95,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:137,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:150,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:164,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:168,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:228,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:230,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:170,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:50,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:65,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:74,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:90,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:89,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:158,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:214,1
    - Dst: walValidBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:179,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:218,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:231,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:177,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:228,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 176
    argCount: 3
    argNames:
    - pWal
    - fileIdx
    - lastVer
    argTypes:
    - SWal*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 235
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 235
    functionName: walScanLogGetLastVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosMemoryFree
    - TAOS_UNUSED
    - ENCRYPTED_LEN
    - taosMemoryRealloc
    - taosFtruncateFile
    - TSDB_CHECK_NULL
    - walValidHeadCksum
    - taosArrayGetSize
    - taosOpenFile
    - walValidBodyCksum
    - taosReadFile
    - wError
    - decryptBody
    - strerror
    - walBuildLogName
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - wWarn
    - taosArrayGet
    - taosCloseFile
    - TMAX
    - tmemmem
    - taosStatFile
    - tstrerror
    - TAOS_RETURN
    - taosGetInt64Aligned
    - TMIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t walScanLogGetLastVer(SWal* pWal, int32_t fileIdx,
      int64_t* lastVer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:333,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:339,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:354,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:356,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 358
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 358
    functionName: walLogEntriesComplete
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - wError
    - taosArrayGetSize
    - TAOS_RETURN
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walLogEntriesComplete(const SWal* pWal) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:568,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:565,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:575,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:587,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:596,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:608,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:647,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:667,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:668,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:670,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:672,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:664,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:679,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:641,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:563,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:584,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:593,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:607,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:608,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:611,1
    - Dst: walReadLogHead
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:622,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:623,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:624,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:639,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:666,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:671,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:671,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:647,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:648,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:569,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:569,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:589,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:589,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:602,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:639,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:660,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:678,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:678,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:689,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:677,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:646,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:693,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:695,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:561,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:571,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:590,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:595,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:595,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:601,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:602,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:604,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:638,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:689,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 125
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    constantsTouched: []
    func_position:
      end: 696
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 696
    functionName: walCheckAndRepairIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - TAOS_SYSTEM_ERROR
    - ENCRYPTED_LEN
    - terrstr
    - taosFtruncateFile
    - walReadLogHead
    - taosArrayGetSize
    - taosOpenFile
    - taosReadFile
    - wError
    - strerror
    - walBuildLogName
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - wWarn
    - taosArrayGet
    - taosCloseFile
    - walBuildIdxName
    - memset
    - taosStatFile
    - taosWriteFile
    - wInfo
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walCheckAndRepairIdxFile(SWal* pWal, int32_t fileIdx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:904,1
    - Dst: regerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:904,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:920,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:924,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:925,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:902,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:921,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:928,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:930,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:935,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:905,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:931,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:931,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:922,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:909,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:911,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:911,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:912,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:921,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - pWal
    - pMetaVer
    argTypes:
    - SWal*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 938
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 938
    functionName: walFindCurMetaVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - regcomp
    - wDebug
    - wError
    - taosReadDir
    - regfree
    - tstrerror
    - regexec
    - taosCloseDir
    - regerror
    - taosOpenDir
    - taosDirEntryBaseName
    - sscanf
    - tListLen
    - taosGetDirEntryName
    linkageType: ''
    returnType: int
    signature: 'static int walFindCurMetaVer(SWal* pWal, int64_t* pMetaVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: walGetAppliedVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t FORCE_INLINE walGetAppliedVer(SWal* pWal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - buf
    argTypes:
    - SWal*
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: walBuildTmpMetaName
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int walBuildTmpMetaName(SWal* pWal, char* buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:238,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:244,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:246,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:259,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:262,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:264,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - metaLogList
    - actualLogList
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 269
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 269
    functionName: walRebuildFileInfoSet
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGet
    - taosArrayPush
    - TAOS_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walRebuildFileInfoSet(SArray* metaLogList, SArray*
      actualLogList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:372,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:372,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:369,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:366,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:374,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:377,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:379,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:380,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:382,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:389,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:389,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:392,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - pWal
    - fileIdx
    argTypes:
    - SWal*
    - int32_t
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: walTrimIdxFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosStatFile
    - taosArrayGet
    - taosCloseFile
    - walBuildIdxName
    - wError
    - TAOS_CHECK_EXIT
    - wInfo
    - taosFtruncateFile
    - tstrerror
    - TSDB_CHECK_NULL
    - TAOS_RETURN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walTrimIdxFile(SWal* pWal, int32_t fileIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:701,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:704,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:706,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:702,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:713,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 717
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 717
    functionName: walGetVerRetention
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosArrayGet
    - wError
    - taosThreadRwlockUnlock
    - taosArrayGetSize
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walGetVerRetention(SWal* pWal, int64_t bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:941,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 944
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 944
    functionName: walUpdateSyncedOffset
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - walGetCurFileInfo
    linkageType: ''
    returnType: void
    signature: 'static void walUpdateSyncedOffset(SWal* pWal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:273,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:289,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:284,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:279,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 300
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 300
    functionName: walAlignVersions
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - wWarn
    - wInfo
    linkageType: ''
    returnType: void
    signature: 'static void walAlignVersions(SWal* pWal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:428,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:439,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:450,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:444,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:478,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:480,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:481,1
    - Dst: walTrimIdxFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:489,1
    - Dst: walScanLogGetLastVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:492,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:516,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:523,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:541,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:528,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:428,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:433,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:435,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:440,1
    - Dst: sscanf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:445,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:456,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:457,1
    - Dst: walRebuildFileInfoSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:464,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:467,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:470,1
    - Dst: walAlignVersions
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:518,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:521,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:541,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:533,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:424,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:430,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:453,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:441,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:454,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:466,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:481,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:495,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:495,1
    - Dst: walRepairLogFileTs
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:521,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:528,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:538,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:524,1
    - Dst: walLogEntriesComplete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:531,1
    - Dst: regcomp
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:430,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:440,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:452,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:464,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:496,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:510,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:515,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:525,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:542,1
    - Dst: walRegfree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:543,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 98
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 546
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 546
    functionName: walCheckAndRepairMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - walLogEntriesComplete
    - terrstr
    - walRepairLogFileTs
    - walTrimIdxFile
    - walRebuildFileInfoSet
    - TSDB_CHECK_NULL
    - taosOpenDir
    - sscanf
    - taosArrayGetSize
    - taosArrayInit
    - regcomp
    - taosArrayDestroy
    - wError
    - taosArrayGetLast
    - walAlignVersions
    - taosCloseDir
    - TAOS_CHECK_RETURN
    - taosArraySort
    - taosArrayPush
    - taosGetDirEntryName
    - walBuildLogName
    - printFileSet
    - taosArrayGet
    - memset
    - regexec
    - taosStatFile
    - TAOS_CHECK_EXIT_SET_CODE
    - walSaveMeta
    - TAOS_CHECK_EXIT
    - walRegfree
    - taosReadDir
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - walScanLogGetLastVer
    - taosDirEntryBaseName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walCheckAndRepairMeta(SWal* pWal) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:771,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:769,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:781,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:786,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:787,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:789,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:794,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:801,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:775,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:788,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:791,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:800,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:800,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:804,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:811,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:813,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:814,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:816,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:768,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:770,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:778,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:793,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:796,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:790,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:827,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:784,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:792,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:805,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:809,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:810,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:812,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:815,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:817,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:820,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:821,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:825,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:818,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 66
    argCount: 2
    argNames:
    - pWal
    - serialized
    argTypes:
    - SWal*
    - char**
    constantsTouched: []
    func_position:
      end: 829
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 829
    functionName: walMetaSerialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - snprintf
    - cJSON_Delete
    - cJSON_CreateObject
    - wInfo
    - cJSON_AddStringToObject
    - cJSON_AddItemToArray
    - TAOS_RETURN
    - cJSON_CreateArray
    - taosArrayGetSize
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walMetaSerialize(SWal* pWal, char** serialized) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:957,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:963,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:963,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:964,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:978,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:978,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:993,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:994,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:997,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:998,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1033,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1012,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:962,1
    - Dst: walUpdateSyncedOffset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:968,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:964,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:980,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:983,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:984,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:985,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:986,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:986,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:991,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:994,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:999,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1019,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1007,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1025,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:958,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:958,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:959,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:973,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:976,1
    - Dst: walMetaSerialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:983,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:988,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:992,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:992,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:998,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:999,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1005,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1001,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1012,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1029,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1021,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1034,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:955,1
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:955,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:959,1
    - Dst: walBuildTmpMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:971,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:973,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:987,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1011,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1017,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1019,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1023,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1023,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1010,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 100
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 1036
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 1036
    functionName: walSaveMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - walMetaSerialize
    - walFindCurMetaVer
    - walUpdateSyncedOffset
    - walBuildMetaName
    - taosOpenFile
    - wError
    - TAOS_CHECK_RETURN
    - strerror
    - walBuildTmpMetaName
    - TAOS_CHECK_GOTO
    - taosCloseFile
    - taosRenameFile
    - taosWriteFile
    - wInfo
    - tstrerror
    - strlen
    - TAOS_RETURN
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walSaveMeta(SWal* pWal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:303,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:318,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:309,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:317,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:318,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:329,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pWal
    - updateMeta
    argTypes:
    - SWal*
    - bool*
    constantsTouched: []
    func_position:
      end: 330
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 330
    functionName: walRepairLogFileTs
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosStatFile
    - taosArrayGet
    - wError
    - strerror
    - TAOS_RETURN
    - taosArrayGetSize
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walRepairLogFileTs(SWal* pWal, bool* updateMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:549,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:551,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pLogFile
    - offset
    - pCkHead
    argTypes:
    - TdFilePtr
    - int64_t
    - SWalCkHead*
    constantsTouched: []
    func_position:
      end: 556
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 556
    functionName: walReadLogHead
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - walValidHeadCksum
    - taosReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walReadLogHead(TdFilePtr pLogFile, int64_t offset,
      SWalCkHead* pCkHead) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:838,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:844,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:851,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:866,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:868,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:874,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:880,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:881,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:877,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:840,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:843,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:852,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:846,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:849,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:869,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:871,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:877,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:882,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:892,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:841,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:856,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:847,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:868,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:872,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:874,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:878,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:880,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:888,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:834,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:840,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:836,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:843,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:846,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:855,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:849,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:861,1
    - Dst: atoll
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:871,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:875,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 81
    argCount: 2
    argNames:
    - pWal
    - bytes
    argTypes:
    - SWal*
    - char*
    constantsTouched: []
    func_position:
      end: 894
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 894
    functionName: walMetaDeserialize
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - cJSON_Parse
    - cJSON_Delete
    - atoll
    - cJSON_GetArraySize
    - cJSON_GetStringValue
    - taosArrayPush
    - cJSON_GetArrayItem
    - cJSON_GetObjectItem
    - taosArrayEnsureCap
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walMetaDeserialize(SWal* pWal, const char* bytes) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: walFindCurMetaVer
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1047,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1070,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1064,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1072,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1084,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1056,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1058,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1076,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1074,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1095,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1100,1
    - Dst: walBuildMetaName
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1050,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1052,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1066,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1073,1
    - Dst: walMetaDeserialize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1090,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1047,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1056,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1060,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1060,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1069,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1088,1
    - Dst: printFileSet
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1091,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walMeta.c:1099,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 1101
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1101
    functionName: walLoadMeta
    functionSourceFile: /src/tdengine/source/libs/wal/src/walMeta.c
    functionUses: []
    functionsReached:
    - walMetaDeserialize
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - walFindCurMetaVer
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - walBuildMetaName
    - taosOpenFile
    - taosMemoryMalloc
    - wDebug
    - taosReadFile
    - wError
    - strerror
    - printFileSet
    - taosCloseFile
    - memset
    - taosStatFile
    - TAOS_CHECK_EXIT
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walLoadMeta(SWal* pWal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:27,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:36,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:38,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:42,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:48,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:62,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:64,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:70,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:83,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:31,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:25,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:43,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:53,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:55,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:59,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:85,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:35,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:36,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:42,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:50,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:57,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:60,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:61,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:61,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:62,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:76,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:83,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:25,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:46,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:53,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:52,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:43,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:52,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:51,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:66,1
    - Dst: walRemoveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:70,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 86
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 86
    functionName: walRestoreFromSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TAOS_UNUSED
    - taosCloseFile
    - taosArrayGet
    - wError
    - terrstr
    - walBuildIdxName
    - taosThreadRwlockUnlock
    - taosHashIterate
    - wInfo
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - walRemoveMeta
    - taosHashCancelIterate
    - taosArrayGetSize
    - taosRemoveFile
    - walBuildLogName
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walRestoreFromSnapshot(SWal *pWal, int64_t ver) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:180,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:184,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:192,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:192,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:194,1
    - Dst: walGetVerIdxOffset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:195,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:209,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:210,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:234,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:246,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:248,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:170,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:158,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:181,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:185,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:208,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:208,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:213,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:240,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:250,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:252,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:249,1
    - Dst: TAOS_CHECK_EXIT_SET_CODE
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:172,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:175,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:177,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:187,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:186,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:187,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:196,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:203,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:211,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:221,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:248,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:157,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:157,1
    - Dst: walChangeWrite
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:172,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:179,1
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:182,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:182,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:193,1
    - Dst: walValidHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:226,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:242,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:246,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:250,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:242,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:249,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 102
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 253
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 253
    functionName: walRollback
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - terrstr
    - walGetLastFileFirstVer
    - taosFtruncateFile
    - TSDB_CHECK_NULL
    - walValidHeadCksum
    - taosArrayPop
    - taosArrayGetSize
    - taosThreadRwlockWrlock
    - taosOpenFile
    - wDebug
    - taosReadFile
    - wError
    - taosArrayGetLast
    - walBuildLogName
    - taosLSeekFile
    - wWarn
    - taosCloseFile
    - walBuildIdxName
    - walGetCurFileFirstVer
    - TAOS_CHECK_EXIT_SET_CODE
    - walSaveMeta
    - walGetVerIdxOffset
    - TAOS_CHECK_EXIT
    - taosThreadRwlockUnlock
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - walChangeWrite
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walRollback(SWal *pWal, int64_t ver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:94,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:95,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: walCommit
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walCommit(SWal *pWal, int64_t ver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:314,1
    - Dst: walGetSeq
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:320,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:315,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:322,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:322,1
    - Dst: walGetLastFileSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:324,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:324,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:328,1
    - Dst: walGetLastFileCachedSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:328,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:331,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: walCheckAndRoll
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - walGetLastFileCachedSize
    - walSaveMeta
    - walGetLastFileSize
    - walRollImpl
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - walGetSeq
    - taosArrayGetSize
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t walCheckAndRoll(SWal *pWal) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:371,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:379,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:445,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:454,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:462,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:465,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:466,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:476,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:485,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:374,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:383,1
    - Dst: wInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:399,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:400,1
    - Dst: taosArrayPopFrontBatch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:440,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:435,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:434,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:450,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:457,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:469,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:368,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:371,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:384,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:414,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:466,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:470,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:471,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:471,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:479,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:391,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:395,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:411,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:464,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:485,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 111
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 489
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 489
    functionName: walEndSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosArrayGetSize
    - taosThreadRwlockWrlock
    - taosArrayClear
    - wDebug
    - wError
    - taosGetTimestampSec
    - taosArrayPush
    - strerror
    - walBuildLogName
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - walBuildIdxName
    - taosArrayPopFrontBatch
    - TMAX
    - taosArraySearch
    - walSaveMeta
    - taosThreadRwlockUnlock
    - taosHashIterate
    - wInfo
    - tstrerror
    - TAOS_RETURN
    - TMIN
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walEndSnapshot(SWal *pWal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:502,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:510,1
    - Dst: wGTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:505,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:510,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:508,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:511,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:512,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:516,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:519,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:521,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:524,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pWal
    - ver
    - offset
    - trace
    argTypes:
    - SWal*
    - int64_t
    - int64_t
    - STraceId*
    constantsTouched: []
    func_position:
      end: 525
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 525
    functionName: walWriteIndex
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - wGTrace
    - taosLSeekFile
    - exit
    - wGError
    - walGetCurFileInfo
    - wGFatal
    - taosWriteFile
    - tstrerror
    - strerror
    - TAOS_RETURN
    - walStopDnode
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walWriteIndex(SWal *pWal, int64_t ver, int64_t offset,
      const STraceId *trace) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:659,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:671,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:666,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:667,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:669,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:672,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:674,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:675,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:680,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:689,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:684,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:681,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:687,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:683,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 690
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 690
    functionName: walInitWriteFile
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TAOS_UNUSED
    - taosCloseFile
    - walBuildIdxName
    - wError
    - terrstr
    - taosArrayGetLast
    - walRollFileInfo
    - TAOS_RETURN
    - taosArrayGetSize
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t walInitWriteFile(SWal *pWal) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:107,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:116,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:128,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:110,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:130,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:133,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:134,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:140,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:141,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:143,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 154
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 154
    functionName: walChangeWrite
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - taosArrayGet
    - taosCloseFile
    - TAOS_UNUSED
    - walBuildIdxName
    - walBuildLogName
    - taosArraySearchIdx
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t walChangeWrite(SWal *pWal, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pWal
    - ver
    argTypes:
    - SWal*
    - int64_t
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: walApplyVer
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void walApplyVer(SWal *pWal, int64_t ver) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:259,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:262,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:267,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:275,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:286,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:292,1
    - Dst: walGetSeq
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:301,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:263,1
    - Dst: walBuildLogName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:289,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:303,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:265,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:272,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:277,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:290,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:294,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:291,1
    - Dst: walRollFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:294,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:273,1
    - Dst: walBuildIdxName
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:285,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:299,1
    - Dst: walSaveMeta
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:303,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:307,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 311
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 311
    functionName: walRollImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - taosCloseFile
    - wDebug
    - walBuildIdxName
    - walSaveMeta
    - wError
    - tstrerror
    - walRollFileInfo
    - TSDB_CHECK_NULL
    - TAOS_RETURN
    - walGetSeq
    - taosArrayGetSize
    - walBuildLogName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walRollImpl(SWal *pWal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:339,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:346,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:346,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:343,1
    - Dst: wDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:350,1
    - Dst: walGetLastFileSize
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:354,1
    - Dst: walRollImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:354,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:358,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:360,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pWal
    - ver
    - logRetention
    argTypes:
    - SWal*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 362
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 362
    functionName: walBeginSnapshot
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - wDebug
    - wError
    - taosThreadRwlockUnlock
    - walGetLastFileSize
    - walRollImpl
    - tstrerror
    - TAOS_RETURN
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walBeginSnapshot(SWal *pWal, int64_t ver, int64_t logRetention) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wWarn
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:493,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pWal
    argTypes:
    - SWal*
    constantsTouched: []
    func_position:
      end: 496
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 496
    functionName: walStopDnode
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - wWarn
    linkageType: ''
    returnType: void
    signature: 'static void walStopDnode(SWal *pWal) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: walGetCurFileInfo
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:533,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:549,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:553,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:569,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:556,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:573,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:575,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:606,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:616,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:633,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:638,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:649,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:617,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:610,1
    - Dst: walGetCurFileOffset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:532,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:538,1
    - Dst: walCalcBodyCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:544,1
    - Dst: walCalcHeadCksum
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:543,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:546,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:570,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:577,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:578,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:590,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:592,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:600,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:637,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:652,1
    - Dst: walWriteIndex
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:549,1
    - Dst: walStopDnode
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:557,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:555,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:556,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:582,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:607,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:640,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:647,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:648,1
    - Dst: exit
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:641,1
    - Dst: wGFatal
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:646,1
    - Dst: wGDebug
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:545,1
    - Dst: memset
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:572,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:558,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:567,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:578,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:580,1
    - Dst: wGError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:602,1
    - Dst: walGetLastFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:603,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:612,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:645,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:633,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 105
    argCount: 7
    argNames:
    - pWal
    - index
    - msgType
    - syncMeta
    - body
    - bodyLen
    - trace
    argTypes:
    - SWal*
    - int64_t
    - tmsg_t
    - SWalSyncInfo
    - void*
    - int32_t
    - STraceId*
    constantsTouched: []
    func_position:
      end: 653
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 653
    functionName: walWriteImpl
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - CBC_Encrypt
    - exit
    - walGetCurFileInfo
    - ENCRYPTED_LEN
    - terrstr
    - walGetLastFileFirstVer
    - taosFtruncateFile
    - TSDB_CHECK_NULL
    - wGDebug
    - taosMemoryMalloc
    - wGFatal
    - strerror
    - walWriteIndex
    - memcpy
    - TMSG_INFO
    - TAOS_CHECK_GOTO
    - memset
    - tstrncpy
    - taosGetTimestampUs
    - walStopDnode
    - taosMemoryFreeClear
    - walCalcBodyCksum
    - taosMsleep
    - wGError
    - taosWriteFile
    - walCalcHeadCksum
    - walGetCurFileOffset
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t walWriteImpl(SWal *pWal, int64_t index,
      tmsg_t msgType, SWalSyncInfo syncMeta, const void *body, int32_t bodyLen, const
      STraceId *trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:696,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:702,1
    - Dst: walCheckAndRoll
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:702,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:696,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:699,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:705,1
    - Dst: walInitWriteFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:705,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:708,1
    - Dst: walWriteImpl
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:708,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:712,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:712,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:715,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 7
    argNames:
    - pWal
    - index
    - msgType
    - syncMeta
    - body
    - bodyLen
    - trace
    argTypes:
    - SWal*
    - int64_t
    - tmsg_t
    - SWalSyncInfo
    - void*
    - int32_t
    - STraceId*
    constantsTouched: []
    func_position:
      end: 717
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 717
    functionName: walAppendLog
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - walCheckAndRoll
    - TAOS_UNUSED
    - wError
    - walWriteImpl
    - taosThreadRwlockUnlock
    - tstrerror
    - walInitWriteFile
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walAppendLog(SWal *pWal, int64_t index, tmsg_t msgType, SWalSyncInfo
      syncMeta, const void *body, int32_t bodyLen, const STraceId *trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:726,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:729,1
    - Dst: wTrace
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:728,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:726,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:728,1
    - Dst: wError
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:730,1
    - Dst: walGetCurFileFirstVer
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:730,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:731,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:735,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/libs/wal/src/walWrite.c:735,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pWal
    - forceFsync
    argTypes:
    - SWal*
    - bool
    constantsTouched: []
    func_position:
      end: 738
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 738
    functionName: walFsync
    functionSourceFile: /src/tdengine/source/libs/wal/src/walWrite.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - TAOS_UNUSED
    - wError
    - taosThreadRwlockUnlock
    - wTrace
    - strerror
    - walGetCurFileFirstVer
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t walFsync(SWal *pWal, bool forceFsync) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:312,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:304,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:303,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/command/src/explain.c:307,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:314,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - ctx
    - tbuf
    - len
    - level
    argTypes:
    - SExplainCtx*
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 319
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 319
    functionName: qExplainResAppendRow
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - qError
    - taosArrayPush
    - QRY_ERR_RET
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainResAppendRow(SExplainCtx *ctx, char *tbuf,
      int32_t len, int32_t level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1971,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1973,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1974,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1980,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1980,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:1982,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:1982,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1986,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pCtx
    - groupId
    - level
    - singleChannel
    argTypes:
    - void*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1989
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1989
    functionName: qExplainAppendGroupResRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainGenerateResNode
    - QRY_RET
    - qExplainResNodeToRows
    - taosHashGet
    - qError
    - QRY_ERR_RET
    - qExplainFreeResNode
    - QRY_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainAppendGroupResRows(void *pCtx, int32_t groupId,
      int32_t level, bool singleChannel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2155,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2155,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2156,1
    - Dst: qExplainAppendPlanRows
      Src: /src/tdengine/source/libs/command/src/explain.c:2156,1
    - Dst: qExplainGetRspFromCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 2160
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2160
    functionName: qExplainGenerateRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainGetRspFromCtx
    - qExplainAppendGroupResRows
    - QRY_ERR_RET
    - qExplainAppendPlanRows
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainGenerateRsp(SExplainCtx *pCtx, SRetrieveTableRsp
      **pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2232,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2233,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2236,1
    - Dst: qExplainPrepareCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2232,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2233,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDag
    - pRsp
    argTypes:
    - SQueryPlan*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 2238
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2238
    functionName: qExecStaticExplain
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainPrepareCtx
    - qExplainFreeCtx
    - QRY_RET
    - QRY_ERR_RET
    - qExplainGenerateRsp
    - QRY_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecStaticExplain(SQueryPlan *pDag, SRetrieveTableRsp **pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pIntNode
    argTypes:
    - SIntervalPhysiNode*
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: qExplainGetIntervalPrecision
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t qExplainGetIntervalPrecision(SIntervalPhysiNode *pIntNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2022,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:2020,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/explain.c:2012,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/explain.c:2029,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2029,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:2042,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1995,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2005,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2023,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2031,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/explain.c:2039,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1997,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:2005,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2011,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2008,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/explain.c:2027,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2032,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2045,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1998,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/explain.c:2001,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2002,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/explain.c:2004,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/explain.c:2006,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2017,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2035,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/explain.c:2036,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 2
    argNames:
    - ctx
    - pRsp
    argTypes:
    - void*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 2046
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2046
    functionName: qExplainGetRspFromCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - htonl
    - QRY_RET
    - blockDataAppendColInfo
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataSetVal
    - taosMemoryCalloc
    - blockEncode
    - htobe64
    - blockGetEncodeSize
    - taosArrayGetSize
    - qError
    - blockDataDestroy
    - QRY_ERR_RET
    - SET_PAYLOAD_LEN
    - createDataBlock
    - QRY_ERR_JRET
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainGetRspFromCtx(void *ctx, SRetrieveTableRsp
      **pRsp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2169,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2186,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2194,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2203,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2197,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2210,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2211,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2171,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2187,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:2200,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2206,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2187,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2210,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2213,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2223,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2176,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2172,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2178,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2180,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2213,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2222,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/explain.c:2190,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2208,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - pCtx
    - pRspMsg
    - groupId
    - pRsp
    argTypes:
    - SExplainCtx*
    - SExplainRsp*
    - int32_t
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 2225
      start: 2162
    functionDepth: 0
    functionLinenumber: 2162
    functionLinenumberEnd: 2225
    functionName: qExplainUpdateExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosWTryLockLatch
    - TAOS_CHECK_ERRNO
    - taosHashGet
    - qError
    - tFreeSExplainRsp
    - taosHashGetSize
    - taosArrayPush
    - taosWUnLockLatch
    - QRY_ERR_RET
    - atomic_add_fetch_32
    - qExplainGenerateRsp
    - atomic_load_8
    - taosArrayGetSize
    - taosWLockLatch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExplainUpdateExecInfo(SExplainCtx *pCtx, SExplainRsp *pRspMsg,
      int32_t groupId, SRetrieveTableRsp **pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2242,1
    - Dst: qExplainPrepareCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2242,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/command/src/explain.c:2245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pDag
    - pCtx
    - startTs
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    - int64_t
    constantsTouched: []
    func_position:
      end: 2248
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2248
    functionName: qExecExplainBegin
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - qExplainPrepareCtx
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecExplainBegin(SQueryPlan *pDag, SExplainCtx **pCtx, int64_t
      startTs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 1
    argNames:
    - opType
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: qExplainGetAsofOpStr
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * qExplainGetAsofOpStr(int32_t opType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:122,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:125,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:130,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:128,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:124,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:131,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:134,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:136,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:137,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:153,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:157,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/command/src/explain.c:154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:155,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - pCtx
    - groupHash
    - verbose
    - ratio
    - mode
    argTypes:
    - SExplainCtx**
    - SHashObj*
    - bool
    - double
    - EExplainMode
    constantsTouched: []
    func_position:
      end: 158
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 158
    functionName: qExplainInitCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayDestroy
    - QRY_RET
    - taosMemoryCalloc
    - qError
    - QRY_ERR_JRET
    - taosArrayInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainInitCtx(SExplainCtx **pCtx, SHashObj *groupHash,
      bool verbose, double ratio, EExplainMode mode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/explain.c:183,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:185,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:201,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:197,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:195,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:206,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/explain.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pNode
    - pExecInfo
    - group
    argTypes:
    - SPhysiNode*
    - SArray**
    - SExplainGroup*
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: qExplainGenerateResNodeExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayGet
    - taosArrayInit
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainGenerateResNodeExecInfo(SPhysiNode *pNode,
      SArray **pExecInfo, SExplainGroup *group) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:330,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:331,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/command/src/explain.c:332,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/explain.c:332,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 30
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - STableScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 347
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 347
    functionName: qExplainGetScanMode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - strcmp
    - nodesListGetNode
    linkageType: ''
    returnType: char*
    signature: 'static char * qExplainGetScanMode(STableScanPhysiNode* pScan) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2063,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/command/src/explain.c:2067,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/command/src/explain.c:2067,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2083,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2086,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:2092,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2091,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2110,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/command/src/explain.c:2117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2056,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2069,1
    - Dst: qExplainInitCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2074,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2104,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2111,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2128,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2057,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2070,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2079,1
    - Dst: qExplainFreeCtx
      Src: /src/tdengine/source/libs/command/src/explain.c:2126,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2062,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:2060,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2073,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:2077,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:2085,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:2080,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/command/src/explain.c:2102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - pDag
    - pCtx
    argTypes:
    - SQueryPlan*
    - SExplainCtx**
    constantsTouched: []
    func_position:
      end: 2129
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2129
    functionName: qExplainPrepareCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - QRY_RET
    - qExplainFreeCtx
    - qExplainInitCtx
    - taosHashGet
    - qError
    - taosHashPut
    - QRY_ERR_RET
    - qDebug
    - nodesListGetNode
    - taosGetDefaultHashFunction
    - QRY_ERR_JRET
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainPrepareCtx(SQueryPlan *pDag, SExplainCtx **pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - target
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: qExplainGetTimerangeTargetStr
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * qExplainGetTimerangeTargetStr(int32_t target) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/command/src/explain.c:165,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:168,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:174,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:175,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:167,1
    - Dst: qExplainGenerateResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:175,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/command/src/explain.c:176,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pNode
    - group
    - pChildren
    argTypes:
    - SPhysiNode*
    - SExplainGroup*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 180
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 180
    functionName: qExplainGenerateResChildren
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainGenerateResNode
    - nodesListAppend
    - qError
    - FOREACH
    - nodesMakeList
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainGenerateResChildren(SPhysiNode *pNode, SExplainGroup
      *group, SNodeList **pChildren) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:222,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:228,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/explain.c:226,1
    - Dst: qExplainGenerateResNodeExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:236,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:236,1
    - Dst: QRY_ERR_JRET
      Src: /src/tdengine/source/libs/command/src/explain.c:239,1
    - Dst: qExplainGenerateResChildren
      Src: /src/tdengine/source/libs/command/src/explain.c:239,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:247,1
    - Dst: QRY_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pNode
    - group
    - pResNode
    argTypes:
    - SPhysiNode*
    - SExplainGroup*
    - SExplainResNode**
    constantsTouched: []
    func_position:
      end: 250
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 250
    functionName: qExplainGenerateResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - QRY_RET
    - taosMemoryCalloc
    - qExplainGenerateResNodeExecInfo
    - qError
    - qExplainGenerateResChildren
    - qExplainFreeResNode
    - QRY_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainGenerateResNode(SPhysiNode *pNode, SExplainGroup
      *group, SExplainResNode **pResNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - pScan
    argTypes:
    - STableScanPhysiNode*
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: qExplainGetScanDataLoad
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char * qExplainGetScanDataLoad(STableScanPhysiNode* pScan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2139,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2141,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2141,1
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2143,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2140,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2144,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2145,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2145,1
    - Dst: EXPLAIN_SUM_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:2147,1
    - Dst: EXPLAIN_SUM_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:2148,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:2149,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    constantsTouched: []
    func_position:
      end: 2152
      start: 2131
    functionDepth: 0
    functionLinenumber: 2131
    functionLinenumberEnd: 2152
    functionName: qExplainAppendPlanRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainResAppendRow
    - EXPLAIN_SUM_ROW_NEW
    - QRY_ERR_RET
    - EXPLAIN_SUM_ROW_END
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainAppendPlanRows(SExplainCtx *pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/command/src/explain.c:2253,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/command/src/explain.c:2255,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:2257,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/command/src/explain.c:2257,1
    - Dst: taosWTryLockLatch
      Src: /src/tdengine/source/libs/command/src/explain.c:2258,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:2259,1
    - Dst: qExplainGenerateRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:2259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pRsp
    argTypes:
    - SExplainCtx*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 2265
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2265
    functionName: qExecExplainEnd
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosWTryLockLatch
    - atomic_store_8
    - atomic_load_32
    - taosHashGetSize
    - taosGetTimestampUs
    - QRY_ERR_RET
    - qExplainGenerateRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecExplainEnd(SExplainCtx *pCtx, SRetrieveTableRsp **pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:77,1
    - Dst: qExplainFreeResNode
      Src: /src/tdengine/source/libs/command/src/explain.c:80,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/command/src/explain.c:81,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:80,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - resNode
    argTypes:
    - SExplainResNode*
    constantsTouched: []
    func_position:
      end: 84
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 84
    functionName: qExplainFreeResNode
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - nodesClearList
    - FOREACH
    - qExplainFreeResNode
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void qExplainFreeResNode(SExplainResNode *resNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EDynQueryType
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: qExplainGetDynQryCtrlType
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *qExplainGetDynQryCtrlType(EDynQueryType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:91,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:98,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:102,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:94,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:93,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:104,1
    - Dst: tFreeSExplainRsp
      Src: /src/tdengine/source/libs/command/src/explain.c:105,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:107,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/command/src/explain.c:110,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/command/src/explain.c:114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:117,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/explain.c:115,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/command/src/explain.c:116,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SExplainCtx*
    constantsTouched: []
    func_position:
      end: 118
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 118
    functionName: qExplainFreeCtx
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - taosHashIterate
    - tFreeSExplainRsp
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void qExplainFreeCtx(SExplainCtx *pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:254,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:270,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pExecInfo
    - tbuf
    - len
    argTypes:
    - SArray*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 275
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 275
    functionName: qExplainBufAppendExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - EXPLAIN_ROW_APPEND
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainBufAppendExecInfo(SArray *pExecInfo, char *tbuf,
      int32_t *len) '
  - BBCount: 172
    BranchProfiles: []
    Callsites:
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:417,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:496,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:497,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:530,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:789,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:913,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1019,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1165,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1216,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1227,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1561,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1934,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1510,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1099,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1375,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1773,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1389,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1645,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1598,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1714,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:435,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:444,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:570,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:597,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:610,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:686,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:656,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:994,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1000,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1039,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1764,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1892,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1486,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:540,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:576,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:615,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:660,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:797,1
    - Dst: qExplainGetAsofOpStr
      Src: /src/tdengine/source/libs/command/src/explain.c:714,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:772,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:943,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1014,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1021,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1571,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1610,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:942,1
    - Dst: EXPLAIN_MERGE_MODE_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1334,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:621,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:689,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:787,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:983,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1059,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1500,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1515,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1580,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1641,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1548,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1203,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1404,1
    - Dst: nodesGetFillModeString
      Src: /src/tdengine/source/libs/command/src/explain.c:1666,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1861,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1521,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1631,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1462,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:541,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:648,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:902,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:979,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1034,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1135,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1013,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1142,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1149,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1224,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1699,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1786,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1296,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1682,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1376,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1456,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1647,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:668,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:778,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:809,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:841,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1049,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1059,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1201,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1257,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1307,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1391,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1442,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1733,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1107,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1767,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:440,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:446,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:609,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1220,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1244,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1321,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1133,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1329,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1351,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1497,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1895,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1894,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1707,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1336,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1400,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:649,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:675,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:899,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1047,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1092,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1113,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1132,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1144,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1175,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1331,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1477,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1820,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1180,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1543,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1100,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1503,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:642,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:379,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:414,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:909,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:996,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1003,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1157,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1214,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1286,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1468,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1552,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1062,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1681,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1282,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1453,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1539,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:587,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:654,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:691,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:773,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:437,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:462,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:448,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:503,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:561,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:568,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1358,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1483,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1516,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1712,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1596,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1760,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1730,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1506,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1761,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1891,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1777,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:730,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:752,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:432,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:395,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:442,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:551,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:573,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:616,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:658,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:715,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1445,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1613,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1688,1
    - Dst: qExplainGetDynQryCtrlType
      Src: /src/tdengine/source/libs/command/src/explain.c:1875,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1935,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1891,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1936,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1742,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1645,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1556,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1895,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:436,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:693,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:639,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:777,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:816,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:984,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1000,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1058,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1096,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1198,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1798,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1035,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1213,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1555,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1592,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1445,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1575,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1435,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1755,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1886,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1337,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1548,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1785,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:547,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:940,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1011,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1055,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1135,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1223,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1247,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1248,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1259,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1326,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:991,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1606,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1704,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1728,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1790,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1920,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1763,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1138,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1893,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1740,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:713,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:476,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:655,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:660,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:839,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1045,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1168,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1403,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1365,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1425,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1471,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1860,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1878,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1715,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1599,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1003,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1106,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1426,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1546,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1648,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1816,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:399,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:407,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:527,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:936,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:949,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1121,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1156,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1208,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1218,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1224,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1875,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:999,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1861,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1088,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1881,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1745,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:779,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:543,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:578,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:905,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:938,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1146,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1299,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1330,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1358,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1414,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1930,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1706,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:916,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1139,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1369,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1383,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:396,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:769,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:536,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:621,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:698,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:780,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:800,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:960,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1025,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1054,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1755,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:988,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1590,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1752,1
    - Dst: nodesGetStrValueFromNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1693,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1635,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1535,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1882,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:594,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:390,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:789,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:659,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:952,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1205,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1239,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1253,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1281,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1326,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1368,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1856,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:923,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1867,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1800,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:649,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:454,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:638,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:697,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:665,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:705,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:746,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:763,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:804,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:821,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1126,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1332,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1395,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1739,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1310,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1853,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1890,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1903,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1778,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:431,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:565,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:714,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:859,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:860,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:951,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:990,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1026,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1126,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1200,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1910,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1712,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1905,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1708,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1226,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1859,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:1695,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1281,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1538,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1924,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1578,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:437,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:638,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:869,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:875,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1020,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1032,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1105,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1197,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1210,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1266,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1087,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1179,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1371,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:451,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:635,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:707,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1104,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1163,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1219,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1269,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1327,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1334,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1377,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1910,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1022,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1543,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1928,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1912,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1235,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:695,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:386,1
    - Dst: qExplainGetScanMode
      Src: /src/tdengine/source/libs/command/src/explain.c:492,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:625,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:641,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:984,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1010,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1022,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1178,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1184,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1294,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1411,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1441,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1634,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1685,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1186,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1703,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:812,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:391,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:402,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:416,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:493,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1150,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1194,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1215,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1245,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1468,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1227,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1421,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1485,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1618,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1743,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1876,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1252,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1427,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1591,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1587,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1849,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1825,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1816,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1547,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1607,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:619,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:533,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:556,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:606,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:625,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:840,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:865,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1184,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1292,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1304,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1500,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1246,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1308,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1711,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1844,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1388,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1239,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1303,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1455,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1775,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1846,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:786,1
    - Dst: qExplainGetScanDataLoad
      Src: /src/tdengine/source/libs/command/src/explain.c:494,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:760,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:608,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:628,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:726,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:866,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:874,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:958,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:996,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1414,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1464,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1304,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1765,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1931,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1595,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1545,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1615,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1504,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1632,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1753,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1117,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:509,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:560,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:703,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:424,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1146,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1174,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1202,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1236,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1265,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1349,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1483,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1722,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1679,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1737,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1278,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:738,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:427,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:489,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:617,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:826,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1062,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1094,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1124,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1183,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1187,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1261,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1904,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1251,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1311,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1848,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1746,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1302,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1678,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1386,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1842,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1442,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:709,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:600,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:643,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:486,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:567,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:586,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:652,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:824,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1017,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1023,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1114,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1278,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1433,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1640,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1770,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1900,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1586,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1311,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1509,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:763,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:781,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:711,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:757,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:427,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:479,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:454,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:573,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:722,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:934,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1318,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1382,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1467,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1725,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1114,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1824,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1371,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1756,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1887,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1180,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1211,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1619,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1758,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1937,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:704,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:683,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:603,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:624,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:645,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:613,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:448,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:382,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:397,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:495,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1850,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1884,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1906,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1519,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1854,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1596,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:785,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:686,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:483,1
    - Dst: qExplainBufAppendVerboseExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:451,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:597,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:647,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:848,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:871,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:878,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:890,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1396,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1493,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1715,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1077,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1412,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1478,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1674,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1801,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1858,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1762,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1299,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:378,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:445,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:453,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:492,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:708,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:528,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:673,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:577,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:904,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:905,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1288,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1906,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1082,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1759,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1625,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1566,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1819,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1621,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1528,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:381,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:488,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:762,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:669,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:751,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:727,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:825,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:939,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1099,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1438,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1929,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1031,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1084,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1931,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1538,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1248,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:460,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:391,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:425,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:912,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1037,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1073,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1415,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1671,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1731,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1793,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1839,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1913,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1569,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1878,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1926,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1074,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:405,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:563,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:665,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:672,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:676,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:746,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:815,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:870,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:877,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:935,1
    - Dst: nodesGetFillModeString
      Src: /src/tdengine/source/libs/command/src/explain.c:1138,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1740,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1766,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1430,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1356,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1836,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:402,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:460,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:788,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1301,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1560,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1732,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1888,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1923,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1658,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1808,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1040,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1498,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:693,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:472,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:482,1
    - Dst: qExplainBufAppendVerboseExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:405,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:463,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:820,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:833,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:914,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:920,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:942,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1085,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1520,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1774,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1662,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1846,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1864,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:712,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:734,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:753,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:554,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:595,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:684,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:889,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1083,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1125,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1142,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1308,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1455,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1622,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1295,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1423,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1694,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:971,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1262,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:485,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:620,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:657,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:736,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1046,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1256,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1319,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1328,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1370,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1390,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1473,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1065,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1269,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1599,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1663,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1544,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1725,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:922,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1536,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1792,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1726,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1524,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:696,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:738,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:539,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:827,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:936,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1020,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1029,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1086,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1095,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1187,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1333,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1479,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1778,1
    - Dst: qExplainGetTimerangeTargetStr
      Src: /src/tdengine/source/libs/command/src/explain.c:1823,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1835,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1909,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1154,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1495,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1913,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1525,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1514,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1767,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:773,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:701,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:408,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:556,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:858,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:864,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:938,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:950,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1091,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1097,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1153,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1364,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1424,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1458,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1482,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1624,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1579,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1814,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1841,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1902,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1083,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1293,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:808,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:459,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:478,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:501,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:822,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:910,1
    - Dst: qExplainAppendGroupResRows
      Src: /src/tdengine/source/libs/command/src/explain.c:928,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:970,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1010,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1016,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1357,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1620,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1737,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1833,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1743,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1612,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1850,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1321,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:973,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1939,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:663,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:721,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:743,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:381,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:494,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:579,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:960,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1024,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1585,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1623,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1823,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1051,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1615,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1845,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1927,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1110,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1677,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1379,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:610,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:742,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:394,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:400,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:478,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:491,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:572,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:829,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:836,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:871,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1255,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:965,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1736,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1466,1
    - Dst: INVERAL_TIME_FROM_PRECISION_TO_UNIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1633,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:875,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:743,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:709,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:447,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:851,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:867,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1018,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1037,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1093,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1330,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1363,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1708,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1746,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1155,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1626,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1820,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1771,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:1344,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1401,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1700,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1055,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1259,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:628,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:729,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:811,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:832,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:897,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:911,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:919,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1041,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1061,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1080,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1521,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:537,1
    - Dst: qExplainGetIntervalPrecision
      Src: /src/tdengine/source/libs/command/src/explain.c:1627,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1806,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1258,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1641,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1772,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1658,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1786,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:653,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:813,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:434,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:389,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:398,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:497,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:833,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:855,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:863,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:920,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1700,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1832,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1212,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1002,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1262,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1573,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1438,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1865,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1729,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:413,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:443,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:428,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:676,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:564,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:646,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:706,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:828,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:835,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:915,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1143,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1921,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1667,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1266,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1332,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1670,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1284,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1580,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1606,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:992,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:566,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:584,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1036,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1066,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1151,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1205,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1220,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1507,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1508,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1733,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:878,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1723,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1472,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1776,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1556,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:414,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:534,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:607,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1040,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/explain.c:1170,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1277,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1287,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1298,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1337,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1835,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1879,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1387,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/command/src/explain.c:711,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:417,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:644,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:868,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:937,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1204,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1216,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1367,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:1390,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1474,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:899,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1291,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1417,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1939,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1782,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1609,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1644,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1671,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:598,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:614,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:687,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:841,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:850,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:896,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:982,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1033,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1079,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1085,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/explain.c:1554,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1268,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1396,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1855,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1868,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1675,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:690,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:803,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:812,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/command/src/explain.c:887,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:956,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:964,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1152,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1160,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1195,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1322,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1527,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1690,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:995,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1840,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1666,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1584,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:562,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:601,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:664,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:745,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:669,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:854,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:977,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1030,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1073,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1118,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1240,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1353,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1418,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1809,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1901,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1013,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1067,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1475,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1197,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1528,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1938,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:550,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:604,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:753,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:759,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:857,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1076,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1209,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1254,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1297,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1434,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1626,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1377,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1857,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1899,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1589,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1648,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1288,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1420,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1614,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1098,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1561,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1517,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1843,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1401,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1120,1
    - Dst: EXPLAIN_ORDER_STRING
      Src: /src/tdengine/source/libs/command/src/explain.c:645,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:702,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:371,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:568,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:579,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:587,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1108,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1118,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1279,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1374,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1588,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1140,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1944,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1497,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1669,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1427,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/command/src/explain.c:1637,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:731,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:385,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:583,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:847,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:908,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:928,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1048,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1076,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1121,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1141,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1437,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1461,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1923,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1889,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1592,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1865,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/command/src/explain.c:959,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:796,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:770,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:814,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:463,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:490,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:531,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:618,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:806,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:968,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1038,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1486,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1885,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1936,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1781,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1501,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1347,1
    - Dst: nodesGetNameFromColumnNode
      Src: /src/tdengine/source/libs/command/src/explain.c:1388,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1518,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1342,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1404,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:662,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:799,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:388,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:401,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:584,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:636,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:819,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1136,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1157,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1465,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1564,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1459,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1682,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1026,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:692,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:441,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:553,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:816,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:900,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:948,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:952,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:993,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1067,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1381,1
    - Dst: EXPLAIN_ROW_APPEND_LIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1476,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:947,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1335,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1510,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1513,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1680,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1656,1
    - Dst: EXPLAIN_ROW_APPEND_SLIMIT
      Src: /src/tdengine/source/libs/command/src/explain.c:1436,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:750,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:694,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:735,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:799,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:627,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:829,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:836,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:916,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:923,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:965,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1444,1
    - Dst: EXPLAIN_ROW_END
      Src: /src/tdengine/source/libs/command/src/explain.c:1145,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1838,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1868,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1525,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1175,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1237,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1655,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:1479,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:1609,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1676,1
    - Dst: nodesNodeToSQL
      Src: /src/tdengine/source/libs/command/src/explain.c:1782,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1431,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1898,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:767,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:667,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:673,1
    - Dst: qExplainResAppendRow
      Src: /src/tdengine/source/libs/command/src/explain.c:408,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:543,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:823,1
    - Dst: qExplainBufAppendExecInfo
      Src: /src/tdengine/source/libs/command/src/explain.c:850,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:860,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:903,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:947,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:1345,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1762,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1883,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:751,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:698,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:975,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:989,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1081,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1088,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1366,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1392,1
    - Dst: nodesGetOutputNumFromSlotList
      Src: /src/tdengine/source/libs/command/src/explain.c:1432,1
    - Dst: EXPLAIN_ROW_NEW
      Src: /src/tdengine/source/libs/command/src/explain.c:1452,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1659,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:1243,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1825,1
    CyclomaticComplexity: 248
    EdgeCount: 248
    ICount: 1632
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1949
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 1949
    functionName: qExplainResNodeToRowsImpl
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainResAppendRow
    - taosMemoryFree
    - EXPLAIN_ROW_APPEND_LIMIT
    - qExplainGetAsofOpStr
    - EXPLAIN_ROW_END
    - taosArrayGetSize
    - nodesListGetNode
    - nodesGetFillModeString
    - nodesNodeToSQL
    - qExplainGetScanMode
    - EXPLAIN_MERGE_MODE_STRING
    - FOREACH
    - QRY_ERR_RET
    - EXPLAIN_ORDER_STRING
    - INVERAL_TIME_FROM_PRECISION_TO_UNIT
    - EXPLAIN_ROW_APPEND_SLIMIT
    - nodesGetOutputNumFromSlotList
    - qExplainAppendGroupResRows
    - taosArrayGet
    - nodesGetNameFromColumnNode
    - taosHashGet
    - qExplainGetIntervalPrecision
    - qError
    - EXPLAIN_ROW_APPEND
    - IS_ASOF_JOIN
    - qExplainGetScanDataLoad
    - IS_WINDOW_JOIN
    - getPrecisionUnit
    - EXPLAIN_ROW_NEW
    - LIST_LENGTH
    - nodesGetStrValueFromNode
    - qExplainBufAppendVerboseExecInfo
    - qExplainBufAppendExecInfo
    - qExplainGetDynQryCtrlType
    - qExplainGetTimerangeTargetStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainResNodeToRowsImpl(SExplainResNode *pResNode,
      SExplainCtx *ctx, int32_t level) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/explain.c:280,1
    - Dst: EXPLAIN_ROW_APPEND
      Src: /src/tdengine/source/libs/command/src/explain.c:291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/explain.c:284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pExecInfo
    - tbuf
    - len
    argTypes:
    - SArray*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 297
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 297
    functionName: qExplainBufAppendVerboseExecInfo
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - EXPLAIN_ROW_APPEND
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainBufAppendVerboseExecInfo(SArray *pExecInfo,
      char *tbuf, int32_t *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/explain.c:1953,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1958,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1954,1
    - Dst: qExplainResNodeToRowsImpl
      Src: /src/tdengine/source/libs/command/src/explain.c:1958,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/explain.c:1961,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/explain.c:1961,1
    - Dst: qExplainResNodeToRows
      Src: /src/tdengine/source/libs/command/src/explain.c:1961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pResNode
    - ctx
    - level
    argTypes:
    - SExplainResNode*
    - SExplainCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1964
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1964
    functionName: qExplainResNodeToRows
    functionSourceFile: /src/tdengine/source/libs/command/src/explain.c
    functionUses: []
    functionsReached:
    - qExplainResNodeToRowsImpl
    - qExplainResNodeToRows
    - qError
    - FOREACH
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qExplainResNodeToRows(SExplainResNode *pResNode, SExplainCtx
      *ctx, int32_t level) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/libs/command/src/command.c:42,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/command/src/command.c:54,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:44,1
    - Dst: blockEncode
      Src: /src/tdengine/source/libs/command/src/command.c:59,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:61,1
    - Dst: SET_PAYLOAD_LEN
      Src: /src/tdengine/source/libs/command/src/command.c:65,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:69,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/command/src/command.c:70,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pBlock
    - numOfCols
    - pRsp
    argTypes:
    - SSDataBlock*
    - int32_t
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 73
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 73
    functionName: buildRetrieveTableRsp
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - blockEncode
    - blockGetEncodeSize
    - SET_PAYLOAD_LEN
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRetrieveTableRsp(SSDataBlock* pBlock, int32_t
      numOfCols, SRetrieveTableRsp** pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: catalogClearCache
      Src: /src/tdengine/source/libs/command/src/command.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 313
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 313
    functionName: execResetQueryCache
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - catalogClearCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execResetQueryCache() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:432,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:435,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - buffer
    - bufSize
    - timeInMinutes
    argTypes:
    - char*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 440
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 440
    functionName: formatDurationOrKeep
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t formatDurationOrKeep(char* buffer, int64_t bufSize, int32_t
      timeInMinutes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1215,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1222,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/command/src/command.c:1220,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1220,1
    - Dst: buildSelectResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pSelect
    - pRsp
    argTypes:
    - SSelectStmt*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 1224
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1224
    functionName: execSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - buildRetrieveTableRsp
    - LIST_LENGTH
    - blockDataDestroy
    - createSelectResultDataBlock
    - buildSelectResultDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execSelectWithoutFrom(SSelectStmt* pSelect, SRetrieveTableRsp**
      pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 1
    argNames:
    - pSchema
    argTypes:
    - SSchema*
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: getSchemaBytes
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSchemaBytes(const SSchema* pSchema) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:451,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:487,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:491,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:491,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/command/src/command.c:495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:522,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:524,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:443,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:448,1
    - Dst: buildRetension
      Src: /src/tdengine/source/libs/command/src/command.c:471,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:472,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:490,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:492,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:496,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:517,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:446,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:489,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:493,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:500,1
    - Dst: cacheModelStr
      Src: /src/tdengine/source/libs/command/src/command.c:508,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:443,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:471,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:493,1
    - Dst: UNUSED
      Src: /src/tdengine/source/libs/command/src/command.c:492,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/libs/command/src/command.c:488,1
    - Dst: encryptAlgorithmStr
      Src: /src/tdengine/source/libs/command/src/command.c:512,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:526,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - pBlock
    - dbName
    - dbFName
    - pCfg
    argTypes:
    - SSDataBlock*
    - char*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 529
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 529
    functionName: setCreateDBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - buildRetension
    - taosMemoryFree
    - taosArrayGet
    - varDataLen
    - blockDataEnsureCapacity
    - UNUSED
    - formatDurationOrKeep
    - cacheModelStr
    - STR_TO_VARSTR
    - strlen
    - IS_SYS_DBNAME
    - QRY_ERR_RET
    - COL_DATA_SET_VAL_AND_CHECK
    - tsnprintf
    - encryptAlgorithmStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setCreateDBResultIntoDataBlock(SSDataBlock* pBlock,
      char* dbName, char* dbFName, SDbCfgInfo* pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateViewResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1228,1
    - Dst: setCreateViewResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1230,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1233,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1235,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateViewStmt*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 1237
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1237
    functionName: execShowCreateView
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - setCreateViewResultIntoDataBlock
    - buildRetrieveTableRsp
    - buildCreateViewResultDataBlock
    - blockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowCreateView(SShowCreateViewStmt* pStmt, SRetrieveTableRsp**
      pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:569,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:578,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:577,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:580,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:572,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:581,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 590
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 590
    functionName: buildCreateViewResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - blockDataDestroy
    - createDataBlock
    - QRY_PARAM_CHECK
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateViewResultDataBlock(SSDataBlock** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:650,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:653,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:652,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:653,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:651,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:654,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:655,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:655,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:660,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 664
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 664
    functionName: appendColRefFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - expandIdentifier
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void appendColRefFields(char* buf, int32_t* len, STableCfg*
      pCfg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:777,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:794,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:801,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:805,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:809,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:842,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:848,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:813,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:804,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:818,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:835,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:785,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/libs/command/src/command.c:825,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:791,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:782,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:799,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:837,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:832,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:853,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 149
    argCount: 4
    argNames:
    - buf
    - len
    - pDbCfg
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - SDbCfgInfo*
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 856
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 856
    functionName: appendTableOptions
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - IS_BSMA_ON
    - taosArrayGetSize
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void appendTableOptions(char* buf, int32_t* len, SDbCfgInfo*
      pDbCfg, STableCfg* pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateTbResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:986,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:988,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:991,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:993,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    constantsTouched: []
    func_position:
      end: 995
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 995
    functionName: execShowCreateVTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - buildCreateTbResultDataBlock
    - buildRetrieveTableRsp
    - setCreateTBResultIntoDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowCreateVTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1013,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1025,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1025,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1045,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1017,1
    - Dst: ctgdHandleDbgCommand
      Src: /src/tdengine/source/libs/command/src/command.c:1030,1
    - Dst: taosMemoryDbgInit
      Src: /src/tdengine/source/libs/command/src/command.c:1032,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1038,1
    - Dst: taosMemoryDbgInitRestore
      Src: /src/tdengine/source/libs/command/src/command.c:1040,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/libs/command/src/command.c:1011,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1023,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1031,1
    - Dst: schedulerEnableReSchedule
      Src: /src/tdengine/source/libs/command/src/command.c:1028,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1034,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1029,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/command/src/command.c:1042,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1010,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/command/src/command.c:1015,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/libs/command/src/command.c:1012,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1017,1
    - Dst: schedulerUpdatePolicy
      Src: /src/tdengine/source/libs/command/src/command.c:1020,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/command/src/command.c:1021,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1034,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:1042,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - cmd
    - value
    - processed
    argTypes:
    - char*
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 1059
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1059
    functionName: execAlterCmd
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - ctgdHandleDbgCommand
    - schedulerEnableReSchedule
    - qInfo
    - qError
    - taosStr2int32
    - cfgDumpCfg
    - tstrerror
    - strcasecmp
    - schedulerUpdatePolicy
    - taosResetLog
    - taosMemoryDbgInitRestore
    - taosMemoryDbgInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execAlterCmd(char* cmd, char* value, bool* processed) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:1088,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1105,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/command/src/command.c:1095,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1117,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1123,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/command/src/command.c:1129,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:1138,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1141
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1141
    functionName: buildLocalVariablesResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildLocalVariablesResultDataBlock(SSDataBlock** pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:605,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:600,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:617,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:622,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:623,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:618,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:619,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:626,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:626,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:633,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:609,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:614,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:615,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:628,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:628,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:632,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:636,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:599,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:610,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:613,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:617,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/libs/command/src/command.c:619,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:616,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:627,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:603,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:607,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:615,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:624,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:637,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 640
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 640
    functionName: appendColumnFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - columnEncodeStr
    - hasRefCol
    - snprintf
    - decimalFromTypeMod
    - COMPRESS_L2_TYPE_U32
    - COMPRESS_L2_TYPE_LEVEL_U32
    - columnLevelStr
    - strlen
    - IS_DECIMAL_TYPE
    - COMPRESS_L1_TYPE_U32
    - columnCompressStr
    - expandIdentifier
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void appendColumnFields(char* buf, int32_t* len, STableCfg*
      pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:671,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:674,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:674,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:674,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:677,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:681,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: appendTagFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - strlen
    - expandIdentifier
    - snprintf
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void appendTagFields(char* buf, int32_t* len, STableCfg* pCfg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:870,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:872,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:878,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:881,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:879,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:896,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:908,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:909,1
    - Dst: appendColRefFields
      Src: /src/tdengine/source/libs/command/src/command.c:916,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:920,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:912,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:925,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:918,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:866,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:861,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:867,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:888,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:889,1
    - Dst: appendTagFields
      Src: /src/tdengine/source/libs/command/src/command.c:883,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:893,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:898,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:899,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:903,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:930,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:917,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:928,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:923,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:867,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:880,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:890,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:891,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:914,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:915,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:919,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:922,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:931,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:934,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:861,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:864,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:869,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:885,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:886,1
    - Dst: appendTagNameFields
      Src: /src/tdengine/source/libs/command/src/command.c:892,1
    - Dst: appendTagValues
      Src: /src/tdengine/source/libs/command/src/command.c:895,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:901,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:902,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:905,1
    - Dst: appendTableOptions
      Src: /src/tdengine/source/libs/command/src/command.c:906,1
    - Dst: appendColumnFields
      Src: /src/tdengine/source/libs/command/src/command.c:910,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 134
    argCount: 5
    argNames:
    - pBlock
    - pDbCfg
    - tbName
    - pCfg
    - charsetCxt
    argTypes:
    - SSDataBlock*
    - SDbCfgInfo*
    - char*
    - STableCfg*
    - void*
    constantsTouched: []
    func_position:
      end: 937
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 937
    functionName: setCreateTBResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - appendColumnFields
    - appendTagFields
    - snprintf
    - taosArrayGet
    - taosMemoryMalloc
    - appendColRefFields
    - varDataLen
    - blockDataEnsureCapacity
    - colDataSetVal
    - appendTableOptions
    - appendTagNameFields
    - TAOS_CHECK_ERRNO
    - taosMemoryFree
    - STR_TO_VARSTR
    - QRY_ERR_RET
    - expandIdentifier
    - appendTagValues
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setCreateTBResultIntoDataBlock(SSDataBlock* pBlock,
      SDbCfgInfo* pDbCfg, char* tbName, STableCfg* pCfg, void* charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: execShowCreateTable
      Src: /src/tdengine/source/libs/command/src/command.c:1004,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    constantsTouched: []
    func_position:
      end: 1005
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1005
    functionName: execShowCreateSTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - execShowCreateTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowCreateSTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: execAlterCmd
      Src: /src/tdengine/source/libs/command/src/command.c:1064,1
    - Dst: cfgCheckRangeForDynUpdate
      Src: /src/tdengine/source/libs/command/src/command.c:1072,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/libs/command/src/command.c:1080,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/libs/command/src/command.c:1076,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/command/src/command.c:1080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SAlterLocalStmt*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1085
    functionName: execAlterLocal
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - taosCfgDynamicOptions
    - cfgSetItem
    - execAlterCmd
    - TAOS_CHECK_RETURN
    - cfgCheckRangeForDynUpdate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execAlterLocal(SAlterLocalStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildLocalVariablesResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1146,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:1156,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:1158,1
    - Dst: dumpConfToDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowStmt*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: execShowLocalVariables
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - buildRetrieveTableRsp
    - buildLocalVariablesResultDataBlock
    - dumpConfToDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowLocalVariables(SShowStmt* pStmt, SRetrieveTableRsp**
      pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 111
    functionName: expandIdentifier
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * expandIdentifier(const char* name, char* output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateDBResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:533,1
    - Dst: setCreateDBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:535,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:538,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pStmt
    - pRsp
    argTypes:
    - SShowCreateDatabaseStmt*
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 542
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 542
    functionName: execShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - buildCreateDBResultDataBlock
    - setCreateDBResultIntoDataBlock
    - buildRetrieveTableRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowCreateDatabase(SShowCreateDatabaseStmt* pStmt,
      SRetrieveTableRsp** pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:1163,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1184,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:1184,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:1166,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/command.c:1172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pProjects
    - pOutput
    argTypes:
    - SNodeList*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1189
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1189
    functionName: createSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - FOREACH
    - QRY_ERR_RET
    - createDataBlock
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectResultDataBlock(SNodeList* pProjects, SSDataBlock**
      pOutput) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:146,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:138,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:117,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:129,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:133,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:149,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:141,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:114,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:125,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:123,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:130,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:134,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:150,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:142,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:122,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:126,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:145,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:155,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 158
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 158
    functionName: buildDescResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - blockDataDestroy
    - createDataBlock
    - QRY_PARAM_CHECK
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDescResultDataBlock(SSDataBlock** pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:316,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:324,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:327,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:325,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:319,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:328,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 337
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 337
    functionName: buildCreateDBResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - blockDataDestroy
    - createDataBlock
    - QRY_PARAM_CHECK
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateDBResultDataBlock(SSDataBlock** pOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:545,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:548,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:556,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:554,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/command/src/command.c:553,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/command/src/command.c:557,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:563,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 566
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 566
    functionName: buildCreateTbResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - blockDataDestroy
    - createDataBlock
    - QRY_PARAM_CHECK
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTbResultDataBlock(SSDataBlock** pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1192,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/command/src/command.c:1196,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:1192,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1197,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1201,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1201,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1201,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:1203,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:1203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:1203,1
    - Dst: nodesGetValueFromNode
      Src: /src/tdengine/source/libs/command/src/command.c:1204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pProjects
    - pBlock
    argTypes:
    - SNodeList*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1211
    functionName: buildSelectResultDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataSetVal
    - FOREACH
    - QRY_ERR_RET
    - nodesGetValueFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSelectResultDataBlock(SNodeList* pProjects, SSDataBlock*
      pBlock) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/command/src/command.c:1241,1
    - Dst: execResetQueryCache
      Src: /src/tdengine/source/libs/command/src/command.c:1245,1
    - Dst: execShowCreateDatabase
      Src: /src/tdengine/source/libs/command/src/command.c:1247,1
    - Dst: execDescribe
      Src: /src/tdengine/source/libs/command/src/command.c:1243,1
    - Dst: execShowCreateTable
      Src: /src/tdengine/source/libs/command/src/command.c:1249,1
    - Dst: execShowCreateVTable
      Src: /src/tdengine/source/libs/command/src/command.c:1251,1
    - Dst: execShowCreateSTable
      Src: /src/tdengine/source/libs/command/src/command.c:1253,1
    - Dst: execShowCreateView
      Src: /src/tdengine/source/libs/command/src/command.c:1255,1
    - Dst: execAlterLocal
      Src: /src/tdengine/source/libs/command/src/command.c:1257,1
    - Dst: execShowLocalVariables
      Src: /src/tdengine/source/libs/command/src/command.c:1259,1
    - Dst: execSelectWithoutFrom
      Src: /src/tdengine/source/libs/command/src/command.c:1261,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 13
    argCount: 6
    argNames:
    - pConnId
    - sysInfoUser
    - pStmt
    - pRsp
    - biMode
    - charsetCxt
    argTypes:
    - int64_t*
    - bool
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1266
    functionName: qExecCommand
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - nodeType
    - execShowCreateTable
    - execAlterLocal
    - execDescribe
    - execShowCreateSTable
    - execResetQueryCache
    - execShowCreateVTable
    - execSelectWithoutFrom
    - execShowLocalVariables
    - execShowCreateDatabase
    - execShowCreateView
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExecCommand(int64_t* pConnId, bool sysInfoUser, SNode* pStmt,
      SRetrieveTableRsp** pRsp, int8_t biMode, void* charsetCxt) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:204,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:198,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:201,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:189,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:208,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:210,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:215,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:223,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:229,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/libs/command/src/command.c:232,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:246,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:228,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:251,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:255,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:247,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:272,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:270,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:163,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:182,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:212,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:225,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/libs/command/src/command.c:228,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:230,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:232,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:239,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:248,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/libs/command/src/command.c:230,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:242,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:253,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:268,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:257,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:183,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:184,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/command/src/command.c:195,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/command/src/command.c:203,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:218,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:226,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:230,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/libs/command/src/command.c:232,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:233,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:235,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:250,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:267,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:269,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:274,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:237,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:258,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:238,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:231,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:220,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/libs/command/src/command.c:228,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:171,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:167,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:185,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:188,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:201,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:199,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:206,1
    - Dst: getSchemaBytes
      Src: /src/tdengine/source/libs/command/src/command.c:211,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:240,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/command/src/command.c:249,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/libs/command/src/command.c:273,1
    - Dst: COL_DATA_SET_VAL_AND_CHECK
      Src: /src/tdengine/source/libs/command/src/command.c:236,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:278,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 122
    argCount: 5
    argNames:
    - sysInfoUser
    - pBlock
    - numOfRows
    - pMeta
    - biMode
    argTypes:
    - bool
    - SSDataBlock*
    - int32_t
    - STableMeta*
    - int8_t
    constantsTouched: []
    func_position:
      end: 282
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 282
    functionName: setDescResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - COMPRESS_L2_TYPE_LEVEL_U32
    - IS_DECIMAL_TYPE
    - varDataSetLen
    - strcat
    - getSchemaBytes
    - columnLevelStr
    - QRY_ERR_RET
    - COMPRESS_L2_TYPE_U32
    - taosArrayGet
    - decimalFromTypeMod
    - blockDataEnsureCapacity
    - qError
    - STR_TO_VARSTR
    - columnCompressStr
    - withExtSchema
    - columnEncodeStr
    - snprintf
    - invisibleColumn
    - COMPRESS_L1_TYPE_U32
    - COL_DATA_SET_VAL_AND_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setDescResultIntoDataBlock(bool sysInfoUser, SSDataBlock*
      pBlock, int32_t numOfRows, STableMeta* pMeta, int8_t biMode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - unit
    - val
    argTypes:
    - int8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 362
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 362
    functionName: getValOfDiffPrecision
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getValOfDiffPrecision(int8_t unit, int64_t val) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - cacheModel
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 411
    functionName: cacheModelStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * cacheModelStr(int8_t cacheModel) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:690,1
    - Dst: expandIdentifier
      Src: /src/tdengine/source/libs/command/src/command.c:691,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - len
    - pCfg
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 693
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 693
    functionName: appendTagNameFields
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - expandIdentifier
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void appendTagNameFields(char* buf, int32_t* len, STableCfg*
      pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/command/src/command.c:947,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:958,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/command/src/command.c:964,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:963,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:944,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:965,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:961,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:961,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/command/src/command.c:946,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/command/src/command.c:948,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:950,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:963,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:966,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:946,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/command/src/command.c:941,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/command/src/command.c:947,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/command/src/command.c:947,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:948,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/command/src/command.c:951,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - pBlock
    - pStmt
    argTypes:
    - SSDataBlock*
    - SShowCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 969
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 969
    functionName: setCreateViewResultIntoDataBlock
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - taosMemoryMalloc
    - taosMemoryFree
    - varDataLen
    - blockDataEnsureCapacity
    - colDataSetVal
    - varDataVal
    - qError
    - strlen
    - varDataSetLen
    - QRY_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setCreateViewResultIntoDataBlock(SSDataBlock* pBlock,
      SShowCreateViewStmt* pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/command/src/command.c:289,1
    - Dst: buildDescResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:292,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/command/src/command.c:298,1
    - Dst: setDescResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:294,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:299,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/command/src/command.c:300,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:301,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:303,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:306,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - sysInfoUser
    - pStmt
    - pRsp
    - biMode
    argTypes:
    - bool
    - SNode*
    - SRetrieveTableRsp**
    - int8_t
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: execDescribe
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - buildRetrieveTableRsp
    - buildDescResultDataBlock
    - setDescResultIntoDataBlock
    - blockDataDestroy
    - TABLE_TOTAL_COL_NUM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execDescribe(bool sysInfoUser, SNode* pStmt, SRetrieveTableRsp**
      pRsp, int8_t biMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:365,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:381,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/libs/command/src/command.c:380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/command/src/command.c:372,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/command/src/command.c:379,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:383,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:385,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pRetension
    - ppRetentions
    argTypes:
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 395
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 395
    functionName: buildRetension
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - getValOfDiffPrecision
    - taosMemoryCalloc
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRetension(SArray* pRetension, char** ppRetentions) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - encryptAlgorithm
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 423
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 423
    functionName: encryptAlgorithmStr
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * encryptAlgorithmStr(int8_t encryptAlgorithm) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/command/src/command.c:714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/command/src/command.c:736,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:747,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/command/src/command.c:751,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:740,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:755,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:701,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/libs/command/src/command.c:705,1
    - Dst: QRY_ERR_RET
      Src: /src/tdengine/source/libs/command/src/command.c:719,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:731,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:753,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:767,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:726,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:738,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:749,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/libs/command/src/command.c:757,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:712,1
    - Dst: qError
      Src: /src/tdengine/source/libs/command/src/command.c:709,1
    - Dst: parseTagDatatoJson
      Src: /src/tdengine/source/libs/command/src/command.c:707,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/libs/command/src/command.c:719,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/command/src/command.c:720,1
    - Dst: dataConverToStr
      Src: /src/tdengine/source/libs/command/src/command.c:752,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/command/src/command.c:762,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 4
    argNames:
    - buf
    - len
    - pCfg
    - charsetCxt
    argTypes:
    - char*
    - int32_t*
    - STableCfg*
    - void*
    constantsTouched: []
    func_position:
      end: 770
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 770
    functionName: appendTagValues
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - tTagToValArray
    - taosArrayDestroy
    - parseTagDatatoJson
    - tTagIsJson
    - TAOS_CHECK_ERRNO
    - qError
    - QRY_ERR_RET
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - tsnprintf
    - dataConverToStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendTagValues(char* buf, int32_t* len, STableCfg*
      pCfg, void* charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateTbResultDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:973,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/command/src/command.c:980,1
    - Dst: setCreateTBResultIntoDataBlock
      Src: /src/tdengine/source/libs/command/src/command.c:975,1
    - Dst: buildRetrieveTableRsp
      Src: /src/tdengine/source/libs/command/src/command.c:978,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pStmt
    - pRsp
    - charsetCxt
    argTypes:
    - SShowCreateTableStmt*
    - SRetrieveTableRsp**
    - void*
    constantsTouched: []
    func_position:
      end: 982
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 982
    functionName: execShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/command/src/command.c
    functionUses: []
    functionsReached:
    - blockDataDestroy
    - buildCreateTbResultDataBlock
    - buildRetrieveTableRsp
    - setCreateTBResultIntoDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execShowCreateTable(SShowCreateTableStmt* pStmt, SRetrieveTableRsp**
      pRsp, void* charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ParserTestBase
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:36,1
    - Dst: checkDdl_
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:57,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:54,1
    - Dst: void
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:62,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:55,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 63
    functionName: ParserTest
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: []
    functionsReached:
    - ParserTestBase
    - checkDdl_
    - ASSERT_NE
    - void
    linkageType: ''
    returnType: namespace
    signature: 'namespace ParserTest '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ParserTestBase
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 47
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 47
    functionName: ParserTestBase
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: []
    functionsReached:
    - ParserTestBase
    linkageType: ''
    returnType: class
    signature: 'class ParserTestBase : public testing::Test '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: ParserTestBase
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class ParserDdlTest : public ParserTestBase '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:54,1
    - Dst: checkDdl_
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:57,1
    - Dst: ASSERT_NE
      Src: /src/tdengine/source/libs/parser/test/parTestUtil.h:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pQuery
    - stage
    argTypes:
    - SQuery*
    - ParserStage
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: checkDdl
    functionSourceFile: /src/tdengine/source/libs/parser/test/parTestUtil.h
    functionUses: []
    functionsReached:
    - checkDdl_
    - ASSERT_NE
    linkageType: ''
    returnType: virtual
    signature: 'virtual void checkDdl(const SQuery* pQuery, ParserStage stage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addTag
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:28,1
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:30,1
    - Dst: addTag
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:30,1
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:32,1
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:28,1
    - Dst: addColumn
      Src: /src/tdengine/source/libs/parser/test/mockCatalogService.h:33,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 40
    functionName: ITableBuilder
    functionSourceFile: /src/tdengine/source/libs/parser/test/mockCatalogService.h
    functionUses: []
    functionsReached:
    - addTag
    - addColumn
    linkageType: ''
    returnType: class
    signature: 'class ITableBuilder '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:100,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:104,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:108,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:108,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:110,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:129,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:145,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:149,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:152,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:165,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:165,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/inc/parToken.h:167,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 93
    argCount: 1
    argNames:
    - pToken
    argTypes:
    - SToken*
    constantsTouched: []
    func_position:
      end: 183
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 183
    functionName: tGetNumericStringType
    functionSourceFile: /src/tdengine/source/libs/parser/inc/parToken.h
    functionUses: []
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tGetNumericStringType(const SToken *pToken) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Init
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1792,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1794,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1793,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1796,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pExprStr
    - len
    - pAlias
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1800
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1800
    functionName: biMakeAliasNameInMD5
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - tMD5Final
    - tMD5Update
    - tListLen
    - tMD5Init
    linkageType: ''
    returnType: void
    signature: 'static void biMakeAliasNameInMD5(char* pExprStr, int32_t len, char*
      pAlias) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7117,1
    - Dst: translatePartitionByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7127,1
    - Dst: getTableTypeFromTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7121,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7122,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7124,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7130,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7133,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7136
      start: 7111
    functionDepth: 0
    functionLinenumber: 7111
    functionLinenumberEnd: 7136
    functionName: translatePartitionBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - translateExprList
    - translateClausePosition
    - translatePartitionByList
    - translateExpr
    - getTableTypeFromTableNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translatePartitionBy(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8019,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8028,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8062,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8074,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8024,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8031,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8059,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8014,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8025,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8033,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8039,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8071,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8043,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8077,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8026,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8026,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8047,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8054,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8069,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8067,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 58
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 8084
      start: 8012
    functionDepth: 0
    functionLinenumber: 8012
    functionLinenumberEnd: 8084
    functionName: rewriteSingleColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isStarColumn
    - nodesRewriteExpr
    - nodesListMakeStrictAppend
    - isColsFuncByName
    - nodesIsExprNode
    - nodesDestroyNode
    - getSelectFuncIndex
    - tstrncpy
    - nodesMakeList
    - nodesCloneNode
    - parserError
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteSingleColsFunc(SNode** pNode, void* pContext) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8115,1
    - Dst: checkMultColsFuncParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8108,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8107,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8162,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8167,1
    - Dst: isStarColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8169,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8171,1
    - Dst: getSelectFuncIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8155,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8182,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8203,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8125,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8130,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8132,1
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8141,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8145,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8152,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8175,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8179,1
    - Dst: FOREACH_FOR_REWRITE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8106,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8159,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8149,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8177,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8192,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8204,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8197,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8150,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8186,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 84
    argCount: 4
    argNames:
    - pCxt
    - clause
    - nodeList
    - selectFuncList
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 8207
      start: 8102
    functionDepth: 0
    functionLinenumber: 8102
    functionLinenumberEnd: 8207
    functionName: rewriteColsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isStarColumn
    - FOREACH_FOR_REWRITE
    - nodesRewriteExpr
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - nodesDestroyList
    - nodesIsExprNode
    - getSelectFuncIndex
    - checkMultColsFuncParam
    - nodesMakeList
    - FOREACH
    - nodesCloneNode
    - isMultiColsFuncNode
    - parserError
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteColsFunction(STranslateContext* pCxt, ESqlClause
      clause, SNodeList** nodeList, SNodeList** selectFuncList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11083,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11085,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11091,1
    - Dst: getDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11089,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11083,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUseDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 11094
      start: 11080
    functionDepth: 0
    functionLinenumber: 11080
    functionLinenumberEnd: 11094
    functionName: translateUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tNameExtractFullName
    - strlen
    - getDBVgVersion
    - tNameSetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateUseDatabase(STranslateContext* pCxt, SUseDatabaseStmt*
      pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15042,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15047,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15049,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15043,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15055,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15064,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15069,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15071,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - pProjections
    - numOfCols
    - pSchema
    - ppExtSchemas
    argTypes:
    - SNodeList*
    - int32_t*
    - SSchema**
    - SExtSchema**
    constantsTouched: []
    func_position:
      end: 15077
      start: 15041
    functionDepth: 0
    functionLinenumber: 15041
    functionLinenumberEnd: 15077
    functionName: extractQueryResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - calcTypeMod
    - taosMemoryCalloc
    - tstrncpy
    - FOREACH
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractQueryResultSchema(const SNodeList* pProjections,
      int32_t* numOfCols, SSchema** pSchema, SExtSchema** ppExtSchemas) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1821,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1823,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1834,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1867,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1807,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1827,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1852,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1842,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1809,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1836,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1811,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1815,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1829,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1863,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1854,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1858,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1856,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1845,1
    - Dst: biMakeAliasNameInMD5
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1858,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 3
    argNames:
    - funcName
    - tableAlias
    - pOutNode
    argTypes:
    - char*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1869
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1869
    functionName: biMakeTbnameProjectAstNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - tstrdup
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - strlen
    - biMakeAliasNameInMD5
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t biMakeTbnameProjectAstNode(char* funcName, char* tableAlias,
      SNode** pOutNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isMultiColsFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8089,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8094,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8090,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - selectFuncList
    argTypes:
    - STranslateContext*
    - SNode**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 8100
      start: 8086
    functionDepth: 0
    functionLinenumber: 8086
    functionLinenumberEnd: 8100
    functionName: rewriteHavingColsNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    - parserWarn
    - isMultiColsFuncNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteHavingColsNode(STranslateContext* pCxt, SNode**
      pNode, SNodeList** selectFuncList) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: setJoinTimeLineResMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8218,1
    - Dst: translateHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8230,1
    - Dst: translateSelectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8236,1
    - Dst: appendTsForImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8269,1
    - Dst: checkAggColCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8249,1
    - Dst: replaceTbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8281,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8290,1
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8212,1
    - Dst: translateGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8227,1
    - Dst: biRewriteSelectStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8233,1
    - Dst: checkWindowGrpFuncCoexist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8257,1
    - Dst: translateForecast
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8266,1
    - Dst: checkIsEmptyResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8245,1
    - Dst: setTableCacheLastMode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8278,1
    - Dst: translateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8224,1
    - Dst: translateWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8215,1
    - Dst: translateOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8242,1
    - Dst: translateInterp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8263,1
    - Dst: resetSelectFuncNumWithoutDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8248,1
    - Dst: replaceOrderByAliasForSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8275,1
    - Dst: removeConstantValueFromList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8285,1
    - Dst: translatePartitionBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8221,1
    - Dst: checkHavingGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8239,1
    - Dst: checkLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8260,1
    - Dst: appendPkParamForPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8272,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 104
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 8294
      start: 8209
    functionDepth: 0
    functionLinenumber: 8209
    functionLinenumberEnd: 8294
    functionName: translateSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateOrderBy
    - translateGroupBy
    - translateHaving
    - translateSelectList
    - replaceTbName
    - checkWindowGrpFuncCoexist
    - translateForecast
    - appendPkParamForPkFunc
    - removeConstantValueFromList
    - setJoinTimeLineResMode
    - checkAggColCoexist
    - translateFrom
    - translateWindow
    - translateWhere
    - translateInterp
    - biRewriteSelectStar
    - replaceOrderByAliasForSelect
    - checkHavingGroupBy
    - checkLimit
    - checkIsEmptyResult
    - resetSelectFuncNumWithoutDup
    - setTableCacheLastMode
    - translatePartitionBy
    - appendTsForImplicitTsFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSelectFrom(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11099,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11102,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11111,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11114,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11114,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11121,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11125,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11127,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateUserStmt*
    constantsTouched: []
    func_position:
      end: 11130
      start: 11096
    functionDepth: 0
    functionLinenumber: 11096
    functionLinenumberEnd: 11130
    functionName: translateCreateUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - taosMemoryMalloc
    - tFreeSCreateUserReq
    - tstrncpy
    - taosEncryptPass_c
    - strlen
    - checkRangeOption
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateUser(STranslateContext* pCxt, SCreateUserStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 15079
      start: 15079
    functionDepth: 0
    functionLinenumber: 15079
    functionLinenumberEnd: 15079
    functionName: extractResultTsPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t extractResultTsPrecision(const SSelectStmt* pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12620
      start: 12618
    functionDepth: 0
    functionLinenumber: 12618
    functionLinenumberEnd: 12620
    functionName: isEventWindowQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isEventWindowQuery(SSelectStmt* pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:413,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 415
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 415
    functionName: isWindowJoinStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinStmt(SSelectStmt* pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isBlockTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1203,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1210,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1206,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1214
    functionName: isBlockTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMatch
    - nodeType
    - isBlockTimeLineQuery
    linkageType: ''
    returnType: bool
    signature: 'static bool isBlockTimeLineAlignedQuery(SNode* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4122,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4125,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4125,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 4134
      start: 4119
    functionDepth: 0
    functionLinenumber: 4119
    functionLinenumberEnd: 4134
    functionName: doCheckGetAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isScanPseudoColumnFunc
    - nodeType
    - isVectorFunc
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doCheckGetAggColCoexist(SNode** pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14166,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14170,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14175,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14179,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14180,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14181,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14182,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRevokeStmt*
    constantsTouched: []
    func_position:
      end: 14185
      start: 14156
    functionDepth: 0
    functionLinenumber: 14156
    functionLinenumberEnd: 14185
    functionName: translateRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSAlterUserReq
    - taosMemoryFree
    - getTargetMeta
    - snprintf
    - buildCmdMsg
    - toName
    - tstrncpy
    - tstrerror
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRevoke(STranslateContext* pCxt, SRevokeStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18737,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18742,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pSubquery
    - ppResTempTable
    argTypes:
    - SSelectStmt*
    - SNode**
    constantsTouched: []
    func_position:
      end: 18747
      start: 18735
    functionDepth: 0
    functionLinenumber: 18735
    functionLinenumberEnd: 18747
    functionName: createParTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosRandStr
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParTempTableNode(SSelectStmt* pSubquery, SNode**
      ppResTempTable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1224,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1232,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1237,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1226,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1235,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 3
    argNames:
    - pOrderList
    - nodesNum
    - ppOut
    argTypes:
    - SNodeList*
    - int32_t
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1245
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1245
    functionName: buildPartitionListFromOrderList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - isPrimaryKeyImpl
    - nodesCloneNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildPartitionListFromOrderList(SNodeList* pOrderList, int32_t
      nodesNum, SNodeList** ppOut) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4141
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4141
    functionName: checkIsEmptyResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkIsEmptyResult(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14189,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupStmt*
    constantsTouched: []
    func_position:
      end: 14192
      start: 14187
    functionDepth: 0
    functionLinenumber: 14187
    functionLinenumberEnd: 14192
    functionName: translateBalanceVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSBalanceVgroupReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateBalanceVgroup(STranslateContext* pCxt, SBalanceVgroupStmt*
      pStmt) '
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18768,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18786,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18840,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18843,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18972,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18967,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19092,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19094,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18794,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18903,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18900,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18880,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19027,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19050,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19061,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18934,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18787,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18791,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19056,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19058,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19072,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19082,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19084,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18974,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18996,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18872,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18804,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18831,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18986,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19005,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19017,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19038,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19104,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18813,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19096,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19115,1
    - Dst: createParCaseWhenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19122,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18850,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19152,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19134,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19018,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18793,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18892,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19049,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19060,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19068,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19074,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19086,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19113,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19124,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19132,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18878,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18966,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18921,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18976,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18771,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18881,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18964,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19029,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19102,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19161,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19039,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18774,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19024,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19026,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19125,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19035,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18789,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18802,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18822,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18829,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18863,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18870,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18988,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19007,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19095,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19037,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18940,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19002,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19004,1
    - Dst: createParWhenThenNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18811,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18814,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18842,1
    - Dst: createIsOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18993,1
    - Dst: createSimpleSelectStmtFromProjList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18919,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18995,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19016,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18770,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18772,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18785,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18902,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19059,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19073,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19085,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19150,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19153,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19144,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18795,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18890,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18893,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18983,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18985,1
    - Dst: nodesMakeValueNodeFromInt32
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19014,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19028,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19135,1
    - Dst: createParTempTableNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19141,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18909,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18942,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18761,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18776,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18932,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19048,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19116,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18987,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18911,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18997,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18775,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18792,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18777,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18955,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18939,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18957,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19006,1
    - Dst: createParFunctionNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18861,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18754,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18769,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18790,1
    - Dst: createParListNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18852,1
    - Dst: createParOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19046,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19069,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19075,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19097,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19159,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19143,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 292
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 19164
      start: 18749
    functionDepth: 0
    functionLinenumber: 18749
    functionLinenumberEnd: 19164
    functionName: rewriteShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createLogicCondNode
    - createParCaseWhenNode
    - snprintf
    - createSimpleSelectStmtFromProjList
    - nodesDestroyNode
    - createParListNode
    - nodesDestroyList
    - createParTempTableNode
    - nodesMakeNode
    - createIsOperatorNode
    - nodesMakeValueNodeFromInt32
    - createParWhenThenNode
    - nodesListStrictAppend
    - createParOperatorNode
    - createOperatorNode
    - createParFunctionNode
    - nodesMakeValueNodeFromString
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowAliveStmt(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 2425
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2425
    functionName: dataTypeComp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataTypeComp(const SDataType* l, const SDataType* r) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6111,1
    - Dst: rewriteProjectAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6117
      start: 6108
    functionDepth: 0
    functionLinenumber: 6108
    functionLinenumberEnd: 6117
    functionName: translateProjectionList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - rewriteProjectAlias
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateProjectionList(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7723,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7730,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7728,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7732,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPk
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 7736
      start: 7721
    functionDepth: 0
    functionLinenumber: 7721
    functionLinenumberEnd: 7736
    functionName: createPkColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - findAndSetColumn
    - generateSyntaxErrMsg
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPkColByTable(STranslateContext* pCxt, SRealTableNode*
      pTable, SNode** pPk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    constantsTouched: []
    func_position:
      end: 10101
      start: 10099
    functionDepth: 0
    functionLinenumber: 10099
    functionLinenumberEnd: 10101
    functionName: checkVTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkTableSchemaImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkVTableSchema(STranslateContext* pCxt, SCreateVTableStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SExplainStmt*
    constantsTouched: []
    func_position:
      end: 11935
      start: 11930
    functionDepth: 0
    functionLinenumber: 11930
    functionLinenumberEnd: 11935
    functionName: translateExplain
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateExplain(STranslateContext* pCxt, SExplainStmt*
      pStmt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13685,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13681,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13679,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13684,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13686,1
    - Dst: buildCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13689,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13692,1
    - Dst: translateStreamOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13699,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13712,1
    - Dst: columnDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13716,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13722,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13732,1
    - Dst: buildStreamNotifyOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13727,1
    - Dst: tagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13713,1
    - Dst: modifyVtableSrcNumBasedOnQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13730,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 69
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13736
      start: 13674
    functionDepth: 0
    functionLinenumber: 13674
    functionLinenumberEnd: 13736
    functionName: buildCreateStreamReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - LIST_LENGTH
    - tagDefNodeToField
    - tNameExtractFullName
    - buildStreamNotifyOptions
    - convertTimePrecision
    - tstrncpy
    - strlen
    - buildCreateStreamQuery
    - columnDefNodeToField
    - taosStrdup
    - translateStreamOptions
    - tNameSetDbName
    - tNameGetFullDbName
    - modifyVtableSrcNumBasedOnQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateStreamReq(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15837
      start: 15835
    functionDepth: 0
    functionLinenumber: 15835
    functionLinenumberEnd: 15837
    functionName: rewriteShowVtables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowVtables(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkShowTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15876,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15881
      start: 15875
    functionDepth: 0
    functionLinenumber: 15875
    functionLinenumberEnd: 15881
    functionName: rewriteShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteShow
    - checkShowTags
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowTags(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2428,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2433,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2429,1
    - Dst: scalarGetOperatorResultType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2437,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2432,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pOp
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 2444
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2444
    functionName: translateOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - scalarGetOperatorResultType
    - isMultiResFunc
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateOperator(STranslateContext* pCxt, SOperatorNode*
      pOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7744
      start: 7738
    functionDepth: 0
    functionLinenumber: 7738
    functionLinenumberEnd: 7744
    functionName: hasPkColImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes hasPkColImpl(SNode* pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10105,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10108,1
    - Dst: checkTableRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 6
    argNames:
    - pCxt
    - pName
    - minVal
    - maxVal
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - SValueNode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 10119
      start: 10103
    functionDepth: 0
    functionLinenumber: 10103
    functionLinenumberEnd: 10119
    functionName: getTableDelayOrWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateValue
    - generateSyntaxErrMsgExt
    - checkTableRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableDelayOrWatermarkOption(STranslateContext* pCxt,
      const char* pName, int64_t minVal, int64_t maxVal, SValueNode* pVal, int64_t*
      pMaxDelay) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: refreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11938,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11945,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11951,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11943,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11955,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11965,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11966,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11969,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDescribeStmt*
    constantsTouched: []
    func_position:
      end: 11975
      start: 11937
    functionDepth: 0
    functionLinenumber: 11937
    functionLinenumberEnd: 11975
    functionName: translateDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - refreshGetTableMeta
    - toName
    - collectUseTable
    - getViewMetaFromMetaCache
    - parserDebug
    - buildTableMetaFromViewMeta
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDescribe(STranslateContext* pCxt, SDescribeStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13741,1
    - Dst: buildCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13743,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13753,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13747,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13749,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13754,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13755,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13760,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 13762
      start: 13738
    functionDepth: 0
    functionLinenumber: 13738
    functionLinenumberEnd: 13762
    functionName: translateCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - buildCmdMsg
    - taosMemoryMalloc
    - buildCreateStreamReq
    - memset
    - checkCreateStream
    - memcpy
    - tFreeSCMCreateStreamReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateStream(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 15843
      start: 15839
    functionDepth: 0
    functionLinenumber: 15839
    functionLinenumberEnd: 15843
    functionName: checkShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkShowVgroups(STranslateContext* pCxt, SShowStmt*
      pShow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15885,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 15892
      start: 15883
    functionDepth: 0
    functionLinenumber: 15883
    functionLinenumberEnd: 15892
    functionName: createTagsFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTagsFunction(SFunctionNode** ppNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2555,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2557,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2562,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2560,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2558,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2563,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2564,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2568
    functionName: rewriteCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeAppend
    - findTable
    - NODES_DESTORY_LIST
    - nodesMakeNode
    - nodesListGetNode
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCountNotNullValue(STranslateContext* pCxt, SFunctionNode*
      pCount) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:966,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:973,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:979,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:973,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 984
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 984
    functionName: resetHighLevelTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - taosArrayPopTailBatch
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetHighLevelTranslateNamespace(STranslateContext*
      pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2546,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2549,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2551
    functionName: isCountNotNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountNotNullValue(SFunctionNode* pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3714,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3722,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3720,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3723,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3721,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3726,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3730
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3730
    functionName: rewriteExprToGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmGetFuncInfo
    - nodesListMakeAppend
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteExprToGroupKeyFunc(STranslateContext* pCxt,
      SNode** pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9121,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - ppDbCfg
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo**
    constantsTouched: []
    func_position:
      end: 9125
      start: 9117
    functionDepth: 0
    functionLinenumber: 9117
    functionLinenumberEnd: 9125
    functionName: translateGetDbCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - getDBCfg
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t translateGetDbCfg(STranslateContext* pCxt,
      const char* pDbName, SDbCfgInfo** ppDbCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12111,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillQueryStmt*
    constantsTouched: []
    func_position:
      end: 12113
      start: 12109
    functionDepth: 0
    functionLinenumber: 12109
    functionLinenumberEnd: 12113
    functionName: translateKillQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateKillQuery(STranslateContext* pCxt, SKillQueryStmt*
      pStmt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18040,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18047,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18043,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18048,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18045,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18050,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18053,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18054,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18055,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18056,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18066,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18070,1
    - Dst: findColRefIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18064,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18060,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18077
      start: 18037
    functionDepth: 0
    functionLinenumber: 18037
    functionLinenumberEnd: 18077
    functionName: buildUpdateColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getColSchema
    - findColRefIndex
    - taosStrdup
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, const STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:988,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:990,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:990,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:994,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:992,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 999
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 999
    functionName: resetTranslateNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetTranslateNamespace(STranslateContext* pCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3734,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3740,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3741,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3739,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3742,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3745,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3749
      start: 3732
    functionDepth: 0
    functionLinenumber: 3732
    functionLinenumberEnd: 3749
    functionName: rewriteExprToSelectTagFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmGetFuncInfo
    - nodesListMakeAppend
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteExprToSelectTagFunc(STranslateContext* pCxt,
      SNode** pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3811,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 3822
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3822
    functionName: checkColContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes checkColContains(SNode* pNode, void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9134,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9148,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9139,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9143,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9134,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9153,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 9158
      start: 9127
    functionDepth: 0
    functionLinenumber: 9127
    functionLinenumberEnd: 9158
    functionName: checkOptionsDependency
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateGetDbCfg
    - TAOS_CHECK_RETURN
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkOptionsDependency(STranslateContext* pCxt, const
      char* pDbName, SDatabaseOptions* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    constantsTouched: []
    func_position:
      end: 12119
      start: 12115
    functionDepth: 0
    functionLinenumber: 12115
    functionLinenumberEnd: 12119
    functionName: translateKillTransaction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateKillTransaction(STranslateContext* pCxt, SKillStmt*
      pStmt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18082,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18086,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18088,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18089,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18085,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18095,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18096,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18103,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18109
      start: 18079
    functionDepth: 0
    functionLinenumber: 18079
    functionLinenumberEnd: 18109
    functionName: buildRenameColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getColSchema
    - toName
    - taosStrdup
    - getTableTsmasFromCache
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRenameColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4555
    functionDepth: 0
    functionLinenumber: 4555
    functionLinenumberEnd: 4557
    functionName: calcJoinTablePrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - calcPrecision
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t calcJoinTablePrecision(SJoinTableNode* pJoinTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13891,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13893,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13895,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SResetStreamStmt*
    constantsTouched: []
    func_position:
      end: 13896
      start: 13888
    functionDepth: 0
    functionLinenumber: 13888
    functionLinenumberEnd: 13896
    functionName: translateResetStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateResetStream(STranslateContext* pCxt, SResetStreamStmt*
      pStmt) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15277,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15280,1
    - Dst: extractExplainResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15282,1
    - Dst: extractQueryResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15280,1
    - Dst: extractDescribeResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15285,1
    - Dst: extractShowCreateDatabaseResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15288,1
    - Dst: extractShowCreateTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15291,1
    - Dst: extractShowCreateVTableResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15293,1
    - Dst: extractShowCreateViewResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15295,1
    - Dst: extractShowVariablesResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15298,1
    - Dst: extractCompactDbResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15301,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 16
    argCount: 4
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    - ppExtSchemas
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    - SExtSchema**
    constantsTouched: []
    func_position:
      end: 15307
      start: 15272
    functionDepth: 0
    functionLinenumber: 15272
    functionLinenumberEnd: 15307
    functionName: extractResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - extractShowCreateTableResultSchema
    - getProjectList
    - extractShowVariablesResultSchema
    - extractShowCreateVTableResultSchema
    - extractShowCreateViewResultSchema
    - extractCompactDbResultSchema
    - extractShowCreateDatabaseResultSchema
    - extractExplainResultSchema
    - extractDescribeResultSchema
    - extractQueryResultSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractResultSchema(const SNode* pRoot, int32_t* numOfCols,
      SSchema** pSchema, SExtSchema** ppExtSchemas) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17029,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17037,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17050,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17045,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17044,1
    - Dst: constructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17053,1
    - Dst: buildTagIndexForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17056,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17068,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17068,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17069,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17070,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - pCreateStmt
    - pModifyStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableFromFileClause*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 17072
      start: 17020
    functionDepth: 0
    functionLinenumber: 17020
    functionLinenumberEnd: 17072
    functionName: prepareReadCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TAOS_UNUSED
    - taosCloseFile
    - buildTagIndexForBindTags
    - taosMemoryCalloc
    - tstrncpy
    - destructParseFileContext
    - taosMemoryFreeClear
    - constructParseFileContext
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t prepareReadCsvFile(STranslateContext* pCxt, SCreateSubTableFromFileClause*
      pCreateStmt, SVnodeModifyOpStmt* pModifyStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18681,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pWhen
    - pThen
    - ppResWhenThen
    argTypes:
    - SNode*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 18688
      start: 18679
    functionDepth: 0
    functionLinenumber: 18679
    functionLinenumberEnd: 18688
    functionName: createParWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParWhenThenNode(SNode* pWhen, SNode* pThen, SNode**
      ppResWhenThen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 4561
      start: 4559
    functionDepth: 0
    functionLinenumber: 4559
    functionLinenumberEnd: 4561
    functionName: joinTableIsSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool joinTableIsSingleTable(SJoinTableNode* pJoinTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13899,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13899,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 13914
      start: 13898
    functionDepth: 0
    functionLinenumber: 13898
    functionLinenumberEnd: 13914
    functionName: validateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validateCreateView(STranslateContext* pCxt, SCreateViewStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15311,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15315,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    constantsTouched: []
    func_position:
      end: 15318
      start: 15309
    functionDepth: 0
    functionLinenumber: 15309
    functionLinenumberEnd: 15318
    functionName: createStarCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStarCol(SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17075,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17076,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pParFileCxt
    argTypes:
    - SParseFileContext*
    constantsTouched: []
    func_position:
      end: 17077
      start: 17074
    functionDepth: 0
    functionLinenumber: 17074
    functionLinenumberEnd: 17077
    functionName: resetParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: 'static void resetParseFileContext(SParseFileContext* pParFileCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18693,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18702,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18703,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 5
    argNames:
    - pCase
    - pWhenThenList
    - pElse
    - pAias
    - ppResCaseWhen
    argTypes:
    - SNode*
    - SNodeList*
    - SNode*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 18707
      start: 18690
    functionDepth: 0
    functionLinenumber: 18690
    functionLinenumberEnd: 18707
    functionName: createParCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParCaseWhenNode(SNode* pCase, SNodeList* pWhenThenList,
      SNode* pElse, const char* pAias, SNode** ppResCaseWhen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6272,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6276,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6275,1
    - Dst: filterGetTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pPrimaryKeyCond
    - pTimeRange
    - pIsStrict
    argTypes:
    - SNode**
    - STimeWindow*
    - bool*
    constantsTouched: []
    func_position:
      end: 6282
      start: 6270
    functionDepth: 0
    functionLinenumber: 6270
    functionLinenumberEnd: 6282
    functionName: getTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - TAOS_SET_OBJ_ALIGNED
    - filterGetTimeRange
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTimeRange(SNode** pPrimaryKeyCond, STimeWindow*
      pTimeRange, bool* pIsStrict) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6638,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6640,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6639,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6646,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6648,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6649,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6652
      start: 6637
    functionDepth: 0
    functionLinenumber: 6637
    functionLinenumberEnd: 6652
    functionName: translateSessionWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - isPrimaryKeyImpl
    - isGlobalTimeLineQuery
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSessionWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7198,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7209,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7200,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7208,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7206,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7210,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7218,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7218,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7222,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7223,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7228,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7227,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 40
    argCount: 5
    argNames:
    - pCxt
    - pOperator
    - ppTableAlias
    - ppTbNames
    - pRet
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - char**
    - SArray**
    - bool*
    constantsTouched: []
    func_position:
      end: 7235
      start: 7195
    functionDepth: 0
    functionLinenumber: 7195
    functionLinenumberEnd: 7235
    functionName: isOperatorTbnameInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosArrayDestroy
    - FOREACH
    - taosArrayPush
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isOperatorTbnameInCond(STranslateContext* pCxt, SOperatorNode*
      pOperator, char** ppTableAlias, SArray** ppTbNames, bool* pRet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10122,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 10124
      start: 10121
    functionDepth: 0
    functionLinenumber: 10121
    functionLinenumberEnd: 10124
    functionName: getTableMaxDelayOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableMaxDelayOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12625,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12631
      start: 12623
    functionDepth: 0
    functionLinenumber: 12623
    functionLinenumberEnd: 12631
    functionName: hasJsonTypeProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool hasJsonTypeProjection(SSelectStmt* pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 12649
      start: 12645
    functionDepth: 0
    functionLinenumber: 12645
    functionLinenumberEnd: 12649
    functionName: subtableExprHasColumnOrPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t subtableExprHasColumnOrPseudoColumn(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15083,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15091
      start: 15081
    functionDepth: 0
    functionLinenumber: 15081
    functionLinenumberEnd: 15091
    functionName: extractExplainResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractExplainResultSchema(int32_t* numOfCols, SSchema**
      pSchema) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16155,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16166,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16182,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16190,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16157,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16175,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16192,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16198,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16150,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16163,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16166,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16169,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16176,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16176,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16182,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16193,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16180,1
    - Dst: getNormalColSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16171,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16173,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16191,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16199,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 7
    argNames:
    - pStmt
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateVSubTableStmt*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    constantsTouched: []
    func_position:
      end: 16201
      start: 16142
    functionDepth: 0
    functionLinenumber: 16142
    functionLinenumberEnd: 16201
    functionName: buildVirtualSubTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - setColRef
    - taosArrayDestroy
    - strcpy
    - PAR_ERR_JRET
    - PAR_ERR_RET
    - taosArrayDup
    - tInitDefaultSColRefWrapperByCols
    - FOREACH
    - taosStrdup
    - taosArrayPush
    - tdDestroySVCreateTbReq
    - getNormalColSchemaIndex
    - getTableColumnSchema
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVirtualSubTableBatchReq(const SCreateVSubTableStmt*
      pStmt, STableMeta* pStbMeta, SArray* tagName, uint8_t tagNum, const STag* pTag,
      const SVgroupInfo* pVgroupInfo, SVgroupCreateTableBatch* pBatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1109,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1110
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1110
    functionName: isImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsImplicitTsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isImplicitTsFunc(const SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6286,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6304,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6297,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6302,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6291,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6308,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - pTimeRange
    argTypes:
    - STranslateContext*
    - SNode*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 6310
      start: 6284
    functionDepth: 0
    functionLinenumber: 6284
    functionLinenumberEnd: 6310
    functionName: getQueryTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - filterPartitionCond
    - nodesDestroyNode
    - getTimeRange
    - TAOS_SET_OBJ_ALIGNED
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getQueryTimeRange(STranslateContext* pCxt, SNode* pWhere,
      STimeWindow* pTimeRange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6655,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6660,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6656,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6657,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6661
      start: 6654
    functionDepth: 0
    functionLinenumber: 6654
    functionLinenumberEnd: 6661
    functionName: translateEventWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - checkTrueForLimit
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateEventWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10133,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10139,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10143,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10138,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10143,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10144,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10145,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 10149
      start: 10126
    functionDepth: 0
    functionLinenumber: 10126
    functionLinenumberEnd: 10149
    functionName: checkTableMaxDelayOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableMaxDelayOption
    - generateSyntaxErrMsgExt
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableMaxDelayOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable, SDbCfgInfo* pDbCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12634,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12638,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12638,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 12643
      start: 12633
    functionDepth: 0
    functionLinenumber: 12633
    functionLinenumberEnd: 12643
    functionName: hasColumnOrPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes hasColumnOrPseudoColumn(SNode* pNode, void* pContext) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12663,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12662,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12667,1
    - Dst: crossTableWithUdaf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12669,1
    - Dst: subtableExprHasColumnOrPseudoColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12677,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12697,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12713,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12770,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12790,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12796,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12745,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12800,1
    - Dst: crossTableWithoutAggOper
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12668,1
    - Dst: hasJsonTypeProjection
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12669,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12683,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12676,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12733,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12759,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12769,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12789,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12810,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12812,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12826,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12830,1
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12668,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12673,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12698,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12678,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12712,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12751,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12752,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12763,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12782,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12783,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12828,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12808,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12655,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12657,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12670,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12690,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12691,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12703,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12708,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12721,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12730,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12740,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12810,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12828,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12819,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 187
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12837
      start: 12651
    functionDepth: 0
    functionLinenumber: 12651
    functionLinenumberEnd: 12837
    functionName: checkStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - crossTableWithoutAggOper
    - nodeType
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - translateValue
    - parseNatualDuration
    - strlen
    - hasTbnameFunction
    - hasJsonTypeProjection
    - crossTableWithUdaf
    - isTimeLineQuery
    - subtableExprHasColumnOrPseudoColumn
    - nodesListGetNode
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkStreamQuery(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15096,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15098,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15111,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15115,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15104,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15119,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15123,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15126,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15133,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15141,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15137,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - pMeta
    - numOfCols
    - pSchema
    argTypes:
    - STableMeta*
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15146
      start: 15093
    functionDepth: 0
    functionLinenumber: 15093
    functionLinenumberEnd: 15146
    functionName: extractDescribeResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractDescribeResultSchema(STableMeta* pMeta, int32_t*
      numOfCols, SSchema** pSchema) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16219,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16227,1
    - Dst: tInitDefaultSColCmprWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16235,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16251,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16248,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16268,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16216,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16209,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16225,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16240,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16257,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16255,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16259,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16275,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16223,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16237,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16249,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16243,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16263,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16269,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16271,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16274,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16207,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16214,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16246,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16247,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    constantsTouched: []
    func_position:
      end: 16280
      start: 16203
    functionDepth: 0
    functionLinenumber: 16203
    functionLinenumberEnd: 16280
    functionName: buildNormalTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - columnEncodeVal
    - calcTypeMod
    - toSchema
    - taosMemoryCalloc
    - columnLevelVal
    - tstrncpy
    - strlen
    - IS_DECIMAL_TYPE
    - FOREACH
    - taosArrayPush
    - taosStrdup
    - setColCompressByOption
    - tdDestroySVCreateTbReq
    - columnCompressVal
    - tInitDefaultSColCmprWrapperByCols
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildNormalTableBatchReq(const SCreateTableStmt* pStmt,
      const SVgroupInfo* pVgroupInfo, SVgroupCreateTableBatch* pBatch) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7153,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7160,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7158,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7155,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7169,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7170,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7171,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7172,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7184,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7185,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 5
    argNames:
    - pCxt
    - pOperator
    - ppTableAlias
    - ppTabNames
    - pRet
    argTypes:
    - STranslateContext*
    - SOperatorNode*
    - char**
    - SArray**
    - bool*
    constantsTouched: []
    func_position:
      end: 7192
      start: 7144
    functionDepth: 0
    functionLinenumber: 7144
    functionLinenumberEnd: 7192
    functionName: isOperatorEqTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - taosArrayDestroy
    - taosArrayPush
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isOperatorEqTbnameCond(STranslateContext* pCxt, SOperatorNode*
      pOperator, char** ppTableAlias, SArray** ppTabNames, bool* pRet) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2788,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2796,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2791,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2792,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2803,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2804,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2804,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2811,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2815,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 2819
      start: 2786
    functionDepth: 0
    functionLinenumber: 2786
    functionLinenumberEnd: 2819
    functionName: translateForecastPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - isSelectStmt
    - FOREACH
    - fmIsForecastPseudoColumnFunc
    - strcasecmp
    - replacePsedudoColumnFuncWithColumn
    - translateColumn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForecastPseudoColumnFunc(STranslateContext*
      pCxt, SNode** ppNode, bool* pRewriteToColumn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3367
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3367
    functionName: rewriteQstartFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteQstartFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8952,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8954,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8959,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8964
      start: 8950
    functionDepth: 0
    functionLinenumber: 8950
    functionLinenumberEnd: 8964
    functionName: checkDbPrecisionOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbPrecisionOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 11629
      start: 11615
    functionDepth: 0
    functionLinenumber: 11615
    functionLinenumberEnd: 11629
    functionName: getCreateComponentNodeMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: 'static int16_t getCreateComponentNodeMsgType(ENodeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    constantsTouched: []
    func_position:
      end: 12101
      start: 12097
    functionDepth: 0
    functionLinenumber: 12097
    functionLinenumberEnd: 12101
    functionName: translateKillConnection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateKillConnection(STranslateContext* pCxt, SKillStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17365,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17372,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17374,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17373,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17368,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17376,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17377,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17378,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17380,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17384,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17396,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17393,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17386,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17392,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupDropTableBatch*
    - SArray*
    constantsTouched: []
    func_position:
      end: 17400
      start: 17360
    functionDepth: 0
    functionLinenumber: 17360
    functionLinenumberEnd: 17400
    functionName: serializeVgroupDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryCalloc
    - POINTER_SHIFT
    - taosArrayPush
    - tEncodeSize
    - tEncodeSVDropTbBatchReq
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t serializeVgroupDropTableBatch(SVgroupDropTableBatch*
      pTbBatch, SArray* pBufArray) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2822,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2831,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2826,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2825,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2832,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2833,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2836,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2839,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2841,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2846
      start: 2821
    functionDepth: 0
    functionLinenumber: 2821
    functionLinenumberEnd: 2846
    functionName: translateTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - isSelectStmt
    - isGlobalTimeLineQuery
    - isTimeLineAlignedQuery
    - fmIsTimelineFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTimelineFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3371
      start: 3369
    functionDepth: 0
    functionLinenumber: 3369
    functionLinenumberEnd: 3371
    functionName: rewriteQendFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteQendFunc(STranslateContext* pCxt, SNode** pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8968,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8973,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8970,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8978
      start: 8966
    functionDepth: 0
    functionLinenumber: 8966
    functionLinenumberEnd: 8978
    functionName: checkDbStrictOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbStrictOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11633,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11633,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11635,1
    - Dst: getCreateComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateComponentNodeStmt*
    constantsTouched: []
    func_position:
      end: 11637
      start: 11631
    functionDepth: 0
    functionLinenumber: 11631
    functionLinenumberEnd: 11637
    functionName: translateCreateComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - getCreateComponentNodeMsgType
    - buildCmdMsg
    - tFreeSMCreateQnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateComponentNode(STranslateContext* pCxt,
      SCreateComponentNodeStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SKillStmt*
    constantsTouched: []
    func_position:
      end: 12107
      start: 12103
    functionDepth: 0
    functionLinenumber: 12103
    functionLinenumberEnd: 12107
    functionName: translateKillCompact
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateKillCompact(STranslateContext* pCxt, SKillStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2603
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2603
    functionName: hasInvalidFuncNesting
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'static bool hasInvalidFuncNesting(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SMCreateFullTextReq*
    constantsTouched: []
    func_position:
      end: 11520
      start: 11517
    functionDepth: 0
    functionLinenumber: 11517
    functionLinenumberEnd: 11520
    functionName: buildCreateFullTextReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateFullTextReq(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, SMCreateFullTextReq* pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12495,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12499,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12500,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12502,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12507,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12514,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 12519
      start: 12494
    functionDepth: 0
    functionLinenumber: 12494
    functionLinenumberEnd: 12519
    functionName: rewriteSubtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - strcmp
    - FOREACH
    - nodesCloneNode
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteSubtable(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14357,1
    - Dst: compareTsmaFuncWithFuncAndColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14359,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 14369
      start: 14353
    functionDepth: 0
    functionLinenumber: 14353
    functionLinenumberEnd: 14369
    functionName: deduplicateTsmaFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - compareTsmaFuncWithFuncAndColId
    - FOREACH
    - ERASE_NODE
    linkageType: ''
    returnType: void
    signature: 'static void deduplicateTsmaFuncs(SNodeList* pFuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15846,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15848,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15851
      start: 15845
    functionDepth: 0
    functionLinenumber: 15845
    functionLinenumberEnd: 15851
    functionName: rewriteShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteShow
    - checkShowVgroups
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowVgroups(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18646,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18649,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18659
      start: 18643
    functionDepth: 0
    functionLinenumber: 18643
    functionLinenumberEnd: 18659
    functionName: rewriteShowCompactDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createOperatorNode
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowCompactDetailsStmt(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2608,1
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2609,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2610,1
    - Dst: getUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2615
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2615
    functionName: getFuncInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - getUdfInfo
    - getPrecisionFromCurrStmt
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getFuncInfo(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11524,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11529,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11528,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11525,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11527,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11532,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11533,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11533,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11536,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11539,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11542,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11544,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SCreateTagIndexReq*
    constantsTouched: []
    func_position:
      end: 11549
      start: 11522
    functionDepth: 0
    functionLinenumber: 11522
    functionLinenumberEnd: 11549
    functionName: buildCreateTagIndexReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - tNameExtractFullName
    - toName
    - memset
    - strlen
    - FOREACH
    - memcpy
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTagIndexReq(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, SCreateTagIndexReq* pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12528,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSelect
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12537
      start: 12521
    functionDepth: 0
    functionLinenumber: 12521
    functionLinenumberEnd: 12537
    functionName: addSubtableNameToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSubtableNameToCreateStreamQuery(STranslateContext*
      pCxt, SCreateStreamStmt* pStmt, SSelectStmt* pSelect) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14375,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14385,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14381,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14378,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14384,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14386,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14391,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14393,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14394,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14401,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14415,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14406,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14414,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14403,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14413,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 42
    argCount: 4
    argNames:
    - pStmt
    - pReq
    - pTbname
    - pSubTable
    argTypes:
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 14418
      start: 14371
    functionDepth: 0
    functionLinenumber: 14371
    functionLinenumberEnd: 14418
    functionName: buildTSMAAstStreamSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - nodesDestroyNode
    - strlen
    - nodesCloneNode
    - nodesListStrictAppend
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTSMAAstStreamSubTable(SCreateTSMAStmt* pStmt,
      SMCreateSmaReq* pReq, const SNode* pTbname, SNode** pSubTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15222,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15229,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15233,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15241,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15237,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15248
      start: 15220
    functionDepth: 0
    functionLinenumber: 15220
    functionLinenumberEnd: 15248
    functionName: extractShowVariablesResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strcpy
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractShowVariablesResultSchema(int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15857,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15859,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15861,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15865,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15861,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15871,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pShow
    argTypes:
    - STranslateContext*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 15873
      start: 15853
    functionDepth: 0
    functionLinenumber: 15853
    functionLinenumberEnd: 15873
    functionName: checkShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTargetMeta
    - toName
    - tstrerror
    - taosMemoryFreeClear
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkShowTags(STranslateContext* pCxt, const SShowStmt*
      pShow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18664,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18667,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18677
      start: 18661
    functionDepth: 0
    functionLinenumber: 18661
    functionLinenumberEnd: 18677
    functionName: rewriteShowTransactionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createOperatorNode
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowTransactionDetailsStmt(STranslateContext*
      pCxt, SQuery* pQuery) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13308,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13317,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13323,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13325,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13339,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13343,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13357,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13364,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13366,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13390,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13408,1
    - Dst: parserInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13313,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13319,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13337,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13350,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13352,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13370,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13403,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13405,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13414,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13440,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13314,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13314,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13330,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13356,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13332,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13359,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13384,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13396,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13410,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13426,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13438,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13428,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13420,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13398,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13315,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13315,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13345,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13371,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13373,1
    - Dst: createSimpleSelectStmtFromProjList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13377,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13379,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13435,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13444,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 100
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pkColName
    - pQuery
    argTypes:
    - char*
    - char*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 13445
      start: 13306
    functionDepth: 0
    functionLinenumber: 13306
    functionLinenumberEnd: 13445
    functionName: createLastTsSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - snprintf
    - createFunction
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - nodesMakeList
    - nodesListStrictAppend
    - nodesCloneNode
    - createSimpleSelectStmtFromProjList
    - nodesMakeNode
    - tListLen
    - parserInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createLastTsSelectStmt(char* pDb, const char* pTable,
      const char* pkColName, SNode** pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:495,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:499,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 500
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 500
    functionName: collectUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectUseTable(const SName* pName, SHashObj* pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2469,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2473,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2473,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2472,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2474
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2474
    functionName: isCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - strcmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountStar(SFunctionNode* pFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4566,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4569,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4568,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4567,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4570,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - pRealTable
    argTypes:
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4574
      start: 4563
    functionDepth: 0
    functionLinenumber: 4563
    functionLinenumberEnd: 4574
    functionName: isSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isSingleTable(SRealTableNode* pRealTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15322,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pProjCol
    - ppNode
    argTypes:
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 15329
      start: 15320
    functionDepth: 0
    functionLinenumber: 15320
    functionLinenumberEnd: 15329
    functionName: createProjectCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createProjectCol(const char* pProjCol, SNode** ppNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16491,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16510,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16534,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16548,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16528,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16514,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16515,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16546,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16547,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16549,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16489,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16490,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16490,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16508,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16532,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16543,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16552,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16492,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16495,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16495,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16520,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 63
    argCount: 6
    argNames:
    - pCxt
    - pSpecificTags
    - pValsOfTags
    - pSuperTableMeta
    - ppTag
    - tagName
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - STableMeta*
    - STag**
    - SArray*
    constantsTouched: []
    func_position:
      end: 16554
      start: 16487
    functionDepth: 0
    functionLinenumber: 16487
    functionLinenumberEnd: 16554
    functionName: buildKVRowForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - taosArrayDestroy
    - getTagSchema
    - parseTagValue
    - buildSyntaxErrMsg
    - NEXT_TOKEN_WITH_PREV
    - tTagNew
    - taosMemoryFreeClear
    - getNumOfTags
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - FORBOTH
    - checkAndTrimValue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildKVRowForBindTags(STranslateContext* pCxt, SNodeList*
      pSpecificTags, SNodeList* pValsOfTags, STableMeta* pSuperTableMeta, STag** ppTag,
      SArray* tagName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1074,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1075
      start: 1073
    functionDepth: 0
    functionLinenumber: 1073
    functionLinenumberEnd: 1075
    functionName: isWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowPseudoColumnFunc(const SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2479,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2490,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2489,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2486,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2493
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2493
    functionName: rewriteCountStarAsCount1
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesListErase
    - nodesSetValueNodeValue
    - nodesMakeNode
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCountStarAsCount1(STranslateContext* pCxt, SFunctionNode*
      pCount) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4580,1
    - Dst: getTableIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4582,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4585
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4585
    functionName: setTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - nodeType
    - getTableIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableIndex(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: createStarCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15336,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15349,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15342,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15338,1
    - Dst: createProjectCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15347,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15352,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15354,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - ncols
    - pCols
    - pResList
    argTypes:
    - int32_t
    - char*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 15360
      start: 15331
    functionDepth: 0
    functionLinenumber: 15331
    functionLinenumberEnd: 15360
    functionName: createProjectCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createStarCol
    - createProjectCol
    - nodesDestroyList
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createProjectCols(int32_t ncols, const char* const
      pCols[], SNodeList** pResList) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16572,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16582,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16595,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16589,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16611,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16558,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16558,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16576,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16578,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16612,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16609,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16610,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16562,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16562,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16580,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16593,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16606,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16615,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16559,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 5
    argNames:
    - pCxt
    - pValsOfTags
    - pSuperTableMeta
    - ppTag
    - tagName
    argTypes:
    - STranslateContext*
    - SNodeList*
    - STableMeta*
    - STag**
    - SArray*
    constantsTouched: []
    func_position:
      end: 16617
      start: 16556
    functionDepth: 0
    functionLinenumber: 16556
    functionLinenumberEnd: 16617
    functionName: buildKVRowForAllTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getTableTagSchema
    - NEXT_VALID_TOKEN
    - taosArrayDestroy
    - parseTagValue
    - NEXT_TOKEN_WITH_PREV
    - IS_VAR_DATA_TYPE
    - tTagNew
    - TARRAY_SIZE
    - taosMemoryFreeClear
    - getNumOfTags
    - FOREACH
    - TARRAY_GET_ELEM
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildKVRowForAllTags(STranslateContext* pCxt, SNodeList*
      pValsOfTags, STableMeta* pSuperTableMeta, STag** ppTag, SArray* tagName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15252,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15259,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15263,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15270
      start: 15250
    functionDepth: 0
    functionLinenumber: 15250
    functionLinenumberEnd: 15270
    functionName: extractCompactDbResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractCompactDbResultSchema(int32_t* numOfCols, SSchema**
      pSchema) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7672,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7674,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7695,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7675,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7697,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7699,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7700,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7704,1
    - Dst: tranCreatePrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7705,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7706,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7709,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7714
      start: 7670
    functionDepth: 0
    functionLinenumber: 7670
    functionLinenumberEnd: 7714
    functionName: appendTsForImplicitTsFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - nodesWalkExprs
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - isSelectStmt
    - nodesListMakeStrictAppend
    - tSimpleHashIterate
    - isImplicitTsFunc
    - generateSyntaxErrMsg
    - tranCreatePrimaryKeyCol
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes appendTsForImplicitTsFuncImpl(SNode* pNode, void*
      pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13821,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13832,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13832,1
    - Dst: buildIntervalForCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13823,1
    - Dst: createStreamReqVersionInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13827,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13837,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13840,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13842,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13845,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13847,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13849,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13850,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 13853
      start: 13815
    functionDepth: 0
    functionLinenumber: 13815
    functionLinenumberEnd: 13853
    functionName: translatePostCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - initTranslateContext
    - buildCmdMsg
    - taosTimeAdd
    - createStreamReqVersionInfo
    - setQuery
    - destroyTranslateContext
    - buildIntervalForCreateStream
    - setRefreshMeta
    - qInfo
    - taosMemoryFreeClear
    - taosTimeTruncate
    - tFreeSCMCreateStreamReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t translatePostCreateStream(SParseContext* pParseCxt, SQuery*
      pQuery, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15186,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15197,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15200
      start: 15184
    functionDepth: 0
    functionLinenumber: 15184
    functionLinenumberEnd: 15200
    functionName: extractShowCreateVTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractShowCreateVTableResultSchema(int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17265,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17271,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17277,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17272,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17270,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17279,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17284,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pVgroupHashmap
    - pVgInfo
    - pReq
    argTypes:
    - SHashObj*
    - SVgroupInfo*
    - SVDropTbReq*
    constantsTouched: []
    func_position:
      end: 17289
      start: 17264
    functionDepth: 0
    functionLinenumber: 17264
    functionLinenumberEnd: 17289
    functionName: addDropTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashGet
    - taosArrayPush
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addDropTbReqIntoVgroup(SHashObj* pVgroupHashmap, SVgroupInfo*
      pVgInfo, SVDropTbReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7719
      start: 7716
    functionDepth: 0
    functionLinenumber: 7716
    functionLinenumberEnd: 7719
    functionName: appendTsForImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendTsForImplicitTsFunc(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13858,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13860,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13858,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13862,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropStreamStmt*
    constantsTouched: []
    func_position:
      end: 13865
      start: 13855
    functionDepth: 0
    functionLinenumber: 13855
    functionLinenumberEnd: 13865
    functionName: translateDropStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeMDropStreamReq
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropStream(STranslateContext* pCxt, SDropStreamStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15204,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15211,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15218
      start: 15202
    functionDepth: 0
    functionLinenumber: 15202
    functionLinenumberEnd: 15218
    functionName: extractShowCreateViewResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractShowCreateViewResultSchema(int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17294,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17315,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17317,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17296,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17311,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - pCxt
    - pClause
    - name
    - tableType
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SDropTableClause*
    - SName*
    - int8_t*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 17323
      start: 17291
    functionDepth: 0
    functionLinenumber: 17291
    functionLinenumberEnd: 17323
    functionName: buildDropTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTargetMeta
    - collectUseTable
    - taosMemoryFreeClear
    - addDropTbReqIntoVgroup
    - isVirtualTable
    - getTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDropTableVgroupHashmap(STranslateContext* pCxt,
      SDropTableClause* pClause, const SName* name, int8_t* tableType, SHashObj* pVgroupHashmap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 10154
      start: 10151
    functionDepth: 0
    functionLinenumber: 10151
    functionLinenumberEnd: 10154
    functionName: getTableWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableWatermarkOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLineFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16894,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16903,1
    - Dst: fillVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16909,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16918,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16906,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16919,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16923,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16927,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16936,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 5
    argNames:
    - pMsgBuf
    - pParseCxt
    - pParFileCxt
    - fp
    - maxLineCount
    argTypes:
    - SMsgBuf*
    - SParseContext*
    - SParseFileContext*
    - TdFilePtr
    - int32_t
    constantsTouched: []
    func_position:
      end: 16938
      start: 16887
    functionDepth: 0
    functionLinenumber: 16887
    functionLinenumberEnd: 16938
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strtolower
    - fillVgroupInfo
    - taosArrayPush
    - taosArrayClearEx
    - taosMemoryFreeClear
    - taosGetLineFile
    - parseOneStbRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseCsvFile(SMsgBuf* pMsgBuf, SParseContext* pParseCxt,
      SParseFileContext* pParFileCxt, TdFilePtr fp, int32_t maxLineCount) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18166,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18174,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18174,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18169,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18171,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18177,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18178,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18179,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18180,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18187
      start: 18163
    functionDepth: 0
    functionLinenumber: 18163
    functionLinenumberEnd: 18187
    functionName: buildAlterTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getColSchema
    - PAR_ERR_JRET
    - taosStrdup
    - checkColRef
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int
    signature: 'static int buildAlterTableColumnRef(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18342,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18345,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18354,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18349,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18350,1
    - Dst: buildAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18358,1
    - Dst: buildModifyVnodeArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18362,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18365,1
    - Dst: destoryAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18367,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pQuery
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18369
      start: 18335
    functionDepth: 0
    functionLinenumber: 18335
    functionLinenumberEnd: 18369
    functionName: rewriteAlterTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - buildAlterTbReq
    - rewriteToVnodeModifyOpStmt
    - destoryAlterTbReq
    - buildModifyVnodeArray
    - generateSyntaxErrMsg
    - getNormalColSchema
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteAlterTableImpl(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SQuery* pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10163,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10173,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10168,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10173,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10169,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10174,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10175,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 10179
      start: 10156
    functionDepth: 0
    functionLinenumber: 10156
    functionLinenumberEnd: 10179
    functionName: checkTableWatermarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableWatermarkOption
    - generateSyntaxErrMsgExt
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableWatermarkOption(STranslateContext* pCxt,
      STableOptions* pOptions, bool createStable, SDbCfgInfo* pDbCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16947,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16949,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16948,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16951,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16950,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16952,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ppParFileCxt
    argTypes:
    - SParseFileContext**
    constantsTouched: []
    func_position:
      end: 16957
      start: 16940
    functionDepth: 0
    functionLinenumber: 16940
    functionLinenumberEnd: 16957
    functionName: destructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destructParseFileContext(SParseFileContext** ppParFileCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18192,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18202,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18197,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18199,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18208
      start: 18189
    functionDepth: 0
    functionLinenumber: 18189
    functionLinenumberEnd: 18208
    functionName: buildRemoveTableColumnRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    - taosStrdup
    - getColSchema
    linkageType: ''
    returnType: int
    signature: 'static int buildRemoveTableColumnRef(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18375,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18381,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18385,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18385,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18376,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18386,1
    - Dst: rewriteAlterTableImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18386,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18389,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18391
      start: 18371
    functionDepth: 0
    functionLinenumber: 18371
    functionLinenumberEnd: 18391
    functionName: rewriteAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - rewriteAlterTableImpl
    - PAR_ERR_JRET
    - IS_SYS_DBNAME
    - generateSyntaxErrMsg
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteAlterTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6862,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6870,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6873,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 6879
      start: 6860
    functionDepth: 0
    functionLinenumber: 6860
    functionLinenumberEnd: 6879
    functionName: createDefaultEveryNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDefaultEveryNode(STranslateContext* pCxt, SNode**
      pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4466,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4469,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4475,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4489,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4499,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4465,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4468,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4486,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4484,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4484,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4488,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4496,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4498,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4499,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4507,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4468,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4468,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4476,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4485,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4481,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4486,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4487,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4503,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4506,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4479,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4485,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4480,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4486,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4485,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4487,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4488,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4505,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRefScanTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4509
      start: 4456
    functionDepth: 0
    functionLinenumber: 4456
    functionLinenumberEnd: 4509
    functionName: setVSuperTableRefScanVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tSimpleHashCleanup
    - taosArrayAddAll
    - taosArrayGetSize
    - tNameSetDbName
    - getDBVgInfoImpl
    - taosArrayInit
    - taosArrayDestroy
    - tSimpleHashGet
    - PAR_ERR_JRET
    - taosArrayDestroyEx
    - taosGetDefaultHashFunction
    - taosArrayGet
    - toVgroupsInfo
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - taosMemoryFreeClear
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setVSuperTableRefScanVgroupList(STranslateContext*
      pCxt, SName* pName, SRealTableNode* pRefScanTable) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5306,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5313,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5321,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5322,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5314,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5325,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5325,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5334,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5339,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5340,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5343,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 1
    argNames:
    - pJoinTable
    argTypes:
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 5351
      start: 5301
    functionDepth: 0
    functionLinenumber: 5301
    functionLinenumberEnd: 5351
    functionName: joinNonPrimColCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: 'static bool joinNonPrimColCondContains(SJoinTableNode* pJoinTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: afterHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool afterHaving(ESqlClause clause) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTsmaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:941,1
    - Dst: catalogGetTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:937,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:940,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTsma
    argTypes:
    - STranslateContext*
    - SName*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 943
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 943
    functionName: getTsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - getTsmaFromCache
    - catalogGetTsma
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTsma(STranslateContext* pCxt, const SName* pName,
      STableTSMAInfo** pTsma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsSystemInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3400,1
    - Dst: translateNormalFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3406,1
    - Dst: rewriteSystemInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3401,1
    - Dst: rewriteClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3404,1
    - Dst: fmIsClientPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3403,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 3407
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3407
    functionName: translateFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateNormalFunction
    - fmIsClientPseudoColumnFunc
    - rewriteClientPseudoColumnFunc
    - fmIsSystemInfoFunc
    - rewriteSystemInfoFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateFunctionImpl(STranslateContext* pCxt, SFunctionNode**
      pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3677,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 3684
      start: 3676
    functionDepth: 0
    functionLinenumber: 3676
    functionLinenumberEnd: 3684
    functionName: getGroupByErrorCode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - isDistinctOrderBy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getGroupByErrorCode(STranslateContext* pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pSql
    - pLen
    argTypes:
    - STranslateContext*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 11336
      start: 11329
    functionDepth: 0
    functionLinenumber: 11329
    functionLinenumberEnd: 11336
    functionName: getSmaIndexSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSmaIndexSql(STranslateContext* pCxt, char** pSql,
      int32_t* pLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6882,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 6891
      start: 6881
    functionDepth: 0
    functionLinenumber: 6881
    functionLinenumberEnd: 6891
    functionName: checkEvery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkEvery(STranslateContext* pCxt, SValueNode* pInterval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5355,1
    - Dst: innerJoinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5380,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5366,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5366,1
    - Dst: joinNonPrimColCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5367,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 5388
      start: 5353
    functionDepth: 0
    functionLinenumber: 5353
    functionLinenumberEnd: 5388
    functionName: setJoinTimeLineResMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_ASOF_JOIN
    - innerJoinTagEqCondContains
    - IS_WINDOW_JOIN
    - joinNonPrimColCondContains
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setJoinTimeLineResMode(STranslateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 425
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 425
    functionName: beforeWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool beforeWindow(ESqlClause clause) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:950,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:955,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:956,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:955,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:956,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:957,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pParseCxt
    - pMetaCache
    - pCxt
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 962
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 962
    functionName: initTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initTranslateContext(SParseContext* pParseCxt, SParseMetaCache*
      pMetaCache, STranslateContext* pCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getProjectListFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1759,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1765,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1763,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1767,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1770,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1779,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1784,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1788
    functionName: translateColumnUseAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - strcmp
    - nodesEqualNode
    - FOREACH
    - nodesCloneNode
    - getProjectListFromCurrStmt
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateColumnUseAlias(STranslateContext* pCxt, SColumnNode**
      pCol, bool* pFound) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3411,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3412,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3416,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3413,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3418,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3419,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3425,1
    - Dst: isMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3426,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3432,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3435,1
    - Dst: translateFunctionImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3444,1
    - Dst: isInvalidColsBindFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3439,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 3447
      start: 3409
    functionDepth: 0
    functionLinenumber: 3409
    functionLinenumberEnd: 3447
    functionName: translateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - isMultiResFunc
    - FOREACH
    - getFuncInfo
    - NODES_DESTORY_LIST
    - translateFunctionImpl
    - isInvalidColsBindFunction
    - nodesListGetNode
    - fmIsVectorFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateFunction(STranslateContext* pCxt, SFunctionNode**
      pFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3688,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3694,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3693,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3699,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3701,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3710
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3710
    functionName: rewriteColToSelectValFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - getFuncInfo
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteColToSelectValFunc(STranslateContext* pCxt,
      SNode** pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4512,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4517,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4518
      start: 4511
    functionDepth: 0
    functionLinenumber: 4511
    functionLinenumberEnd: 4518
    functionName: setNormalTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - getTableHashVgroupImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setNormalTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11342,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11348,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11346,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11344,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pInfo
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SSampleAstInfo*
    constantsTouched: []
    func_position:
      end: 11351
      start: 11338
    functionDepth: 0
    functionLinenumber: 11338
    functionLinenumberEnd: 11351
    functionName: buildSampleAstInfoByIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSampleAstInfoByIndex(STranslateContext* pCxt,
      SCreateIndexStmt* pStmt, SSampleAstInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateSmaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11450,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11456,1
    - Dst: buildCreateSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11454,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11451,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 11458
      start: 11449
    functionDepth: 0
    functionLinenumber: 11449
    functionLinenumberEnd: 11458
    functionName: translateCreateSmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TSWAP
    - buildCreateSmaReq
    - checkCreateSmaIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateSmaIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3461,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3468,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3467,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3465,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3471,1
    - Dst: nodesClearList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3474,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - dt
    - pCast
    argTypes:
    - STranslateContext*
    - SNode*
    - SDataType
    - SNode**
    constantsTouched: []
    func_position:
      end: 3481
      start: 3459
    functionDepth: 0
    functionLinenumber: 3459
    functionLinenumberEnd: 3481
    functionName: createCastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesClearList
    - tstrncpy
    - getFuncInfo
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createCastFunc(STranslateContext* pCxt, SNode* pExpr,
      SDataType dt, SNode** pCast) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4332
      start: 4332
    functionDepth: 0
    functionLinenumber: 4332
    functionLinenumberEnd: 4332
    functionName: sysTableFromDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool sysTableFromDnode(const char* pTable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11772,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11774,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11775,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11778,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11777,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11784,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11788,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11789,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11790,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11791,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11793,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - ppProjection
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - STableMeta*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 11800
      start: 11769
    functionDepth: 0
    functionLinenumber: 11769
    functionLinenumberEnd: 11800
    functionName: checkCollectTopicTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - nodesWalkExprPostOrder
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - addTagList
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCollectTopicTags(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, STableMeta* pMeta, SNodeList** ppProjection) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12541,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12544,1
    - Dst: createNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12547
      start: 12539
    functionDepth: 0
    functionLinenumber: 12539
    functionLinenumberEnd: 12547
    functionName: addNullTagsForCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListMakeStrictAppend
    - createNullValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNullTagsForCreateTable(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12559,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12568,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12561,1
    - Dst: setColumnDefNodePrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12564,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12566,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - ppCols
    - pProject
    - flags
    argTypes:
    - SNodeList**
    - SNode*
    - int8_t
    constantsTouched: []
    func_position:
      end: 12571
      start: 12556
    functionDepth: 0
    functionLinenumber: 12556
    functionLinenumberEnd: 12571
    functionName: addColDefNodeByProj
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - setColumnDefNodePrimaryKey
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addColDefNodeByProj(SNodeList** ppCols, const SNode*
      pProject, int8_t flags) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12973,1
    - Dst: addProjToProjColPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12979,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13016,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13002,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13036,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13042,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13035,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12963,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12959,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12963,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13006,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13018,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13015,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13007,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13020,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13021,1
    - Dst: addColDefNodeByProj
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13023,1
    - Dst: getNormalColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12974,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12993,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13014,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12995,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12993,1
    - Dst: setFillNullCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13030,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13034,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13040,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12959,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12960,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12976,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13041,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13029,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 6
    argNames:
    - pCxt
    - ppCols
    - pMeta
    - pProjections
    - pReq
    - needQueryRes
    argTypes:
    - STranslateContext*
    - SNodeList**
    - STableMeta*
    - SNodeList**
    - SCMCreateStreamReq*
    - bool
    constantsTouched: []
    func_position:
      end: 13046
      start: 12957
    functionDepth: 0
    functionLinenumber: 12957
    functionLinenumberEnd: 13046
    functionName: adjustOrderOfProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - taosArrayInit
    - nodeType
    - addColDefNodeByProj
    - taosArrayDestroy
    - taosArraySort
    - taosArrayDestroyEx
    - hasPkInTable
    - taosArrayGet
    - nodesDestroyList
    - nodesMakeList
    - nodesListStrictAppend
    - setFillNullCols
    - LIST_LENGTH
    - addProjToProjColPos
    - strcmp
    - getNormalColSchema
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustOrderOfProjections(STranslateContext* pCxt, SNodeList**
      ppCols, const STableMeta* pMeta, SNodeList** pProjections, SCMCreateStreamReq*
      pReq, bool needQueryRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13557,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13565,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13559,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13567,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13560,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13580,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pCxt
    - pNotifyOptions
    - pReq
    argTypes:
    - STranslateContext*
    - SStreamNotifyOptions*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13585
      start: 13548
    functionDepth: 0
    functionLinenumber: 13548
    functionLinenumberEnd: 13585
    functionName: buildStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosStrndup
    - taosArrayDestroyP
    - FOREACH
    - taosArrayPush
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildStreamNotifyOptions(STranslateContext* pCxt, SStreamNotifyOptions*
      pNotifyOptions, SCMCreateStreamReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14311,1
    - Dst: getViewMetaFromMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 14314
      start: 14306
    functionDepth: 0
    functionLinenumber: 14306
    functionLinenumberEnd: 14314
    functionName: translateShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getViewMetaFromMetaCache
    - toName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateShowCreateView(STranslateContext* pCxt, SShowCreateViewStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pWhenThen
    argTypes:
    - STranslateContext*
    - SWhenThenNode*
    constantsTouched: []
    func_position:
      end: 3486
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3486
    functionName: translateWhenThen
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateWhenThen(STranslateContext* pCxt, SWhenThenNode*
      pWhenThen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4337,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4341,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4340,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4357,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4347,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4359,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4363,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - pTargetName
    - pName
    - pVgroupList
    argTypes:
    - STranslateContext*
    - SName*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 4373
      start: 4334
    functionDepth: 0
    functionLinenumber: 4334
    functionLinenumberEnd: 4373
    functionName: getVnodeSysTableVgroupListImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    - taosArrayPush
    - getTableHashVgroupImpl
    - getDBVgInfoImpl
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getVnodeSysTableVgroupListImpl(STranslateContext* pCxt,
      SName* pTargetName, SName* pName, SArray** pVgroupList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11810,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11811,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11813,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11818,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11817,1
    - Dst: checkCollectTopicTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11823,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11825,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11827,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11828,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11829,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11836,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11845,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11830,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11844,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11840,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ppSelect
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SNode**
    constantsTouched: []
    func_position:
      end: 11847
      start: 11802
    functionDepth: 0
    functionLinenumber: 11802
    functionLinenumberEnd: 11847
    functionName: buildQueryForTableTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSelectStmtImpl
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - getTargetMeta
    - toName
    - nodesDestroyNode
    - nodesDestroyList
    - translateQuery
    - tstrncpy
    - checkCollectTopicTags
    - nodesCloneNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildQueryForTableTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, SNode** ppSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addNullTagsForCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12551,1
    - Dst: addNullTagsForExistTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pMeta
    - pStmt
    argTypes:
    - STranslateContext*
    - STableMeta*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12554
      start: 12549
    functionDepth: 0
    functionLinenumber: 12549
    functionLinenumberEnd: 12554
    functionName: addNullTagsToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addNullTagsForExistTable
    - addNullTagsForCreateTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNullTagsToCreateStreamQuery(STranslateContext* pCxt,
      STableMeta* pMeta, SCreateStreamStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12580,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12582,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12581,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12584,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12581,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12592,1
    - Dst: addColDefNodeByProj
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12593,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12599
      start: 12573
    functionDepth: 0
    functionLinenumber: 12573
    functionLinenumberEnd: 12599
    functionName: addColsToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - addColDefNodeByProj
    - FOREACH
    - generateSyntaxErrMsg
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addColsToCreateStreamQuery(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: needAddWend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13051,1
    - Dst: adjustDataTypeOfProjections
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13053,1
    - Dst: adjustOrderOfProjections
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - STableMeta*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13056
      start: 13048
    functionDepth: 0
    functionLinenumber: 13048
    functionLinenumberEnd: 13056
    functionName: adjustProjectionsForExistTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - needAddWend
    - adjustDataTypeOfProjections
    - adjustOrderOfProjections
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustProjectionsForExistTable(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt, const STableMeta* pMeta, SCMCreateStreamReq* pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13592,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13596,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13592,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13593,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13601,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13603,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13610,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13612,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pSelect
    - ppRes
    argTypes:
    - SSelectStmt*
    - SArray**
    constantsTouched: []
    func_position:
      end: 13617
      start: 13587
    functionDepth: 0
    functionLinenumber: 13587
    functionLinenumberEnd: 13617
    functionName: buildQueryTableColIdList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - nodesDestroyList
    - nodesCollectColumns
    - PAR_ERR_RET
    - FOREACH
    - taosArrayPush
    - parserError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildQueryTableColIdList(SSelectStmt *pSelect, SArray**
      ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14320,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - name
    - ppCol
    argTypes:
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 14325
      start: 14316
    functionDepth: 0
    functionLinenumber: 14316
    functionLinenumberEnd: 14325
    functionName: createColumnNodeWithName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnNodeWithName(const char* name, SNode**
      ppCol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14796,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14804,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14803,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14797,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14800,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTSMAStmt*
    constantsTouched: []
    func_position:
      end: 14809
      start: 14791
    functionDepth: 0
    functionLinenumber: 14791
    functionLinenumberEnd: 14809
    functionName: translateDropTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - getTsma
    - tNameExtractFullName
    - toName
    - collectUseTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropTSMA(STranslateContext* pCxt, SDropTSMAStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShowDBUsage
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16068,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16073,1
    - Dst: createDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16072,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16070,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16077,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16083,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 16087
      start: 16066
    functionDepth: 0
    functionLinenumber: 16066
    functionLinenumberEnd: 16087
    functionName: rewriteShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createDBUsageFunc
    - createSelectStmtForShowDBUsage
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - createShowCondition
    - NODES_DESTORY_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowDBUsage(STranslateContext* pCtx, SQuery*
      pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3000,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3001,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3001,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3004
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3004
    functionName: getMultiResFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isStarParam
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMultiResFuncNum(SNodeList* pParameterList) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 2
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 5907
      start: 5878
    functionDepth: 0
    functionLinenumber: 5878
    functionLinenumberEnd: 5907
    functionName: getPositionValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getPositionValue(const SValueNode* pVal) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8370,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8389,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8408,1
    - Dst: createSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8409,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8395,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8371,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8371,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8405,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8401,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8410,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8411,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8418,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8369,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8372,1
    - Dst: dataTypeComp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8382,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8385,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8399,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8378,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8391,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8402,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 8423
      start: 8368
    functionDepth: 0
    functionLinenumber: 8368
    functionLinenumberEnd: 8423
    functionName: translateSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getProjectList
    - createCastFunc
    - snprintf
    - createSetOperProject
    - nodesListMakeStrictAppend
    - REPLACE_LIST2_NODE
    - REPLACE_LIST1_NODE
    - isPrimaryKeyImpl
    - dataTypeComp
    - pushdownCastForUnion
    - generateSyntaxErrMsg
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSetOperProject(STranslateContext* pCxt, SSetOperator*
      pSetOperator) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addNullTagsToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12606,1
    - Dst: addTagsToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12608,1
    - Dst: addSubtableNameToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12611,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pMeta
    - pStmt
    argTypes:
    - STranslateContext*
    - STableMeta*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12615
      start: 12601
    functionDepth: 0
    functionLinenumber: 12601
    functionLinenumberEnd: 12615
    functionName: addSubtableInfoToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addTagsToCreateStreamQuery
    - addSubtableNameToCreateStreamQuery
    - addNullTagsToCreateStreamQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSubtableInfoToCreateStreamQuery(STranslateContext*
      pCxt, STableMeta* pMeta, SCreateStreamStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsCumulativeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3007,1
    - Dst: fmIsLastRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3013,1
    - Dst: getMultiResFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3014,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3013,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3010,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pFunc
    - currSelectFuncNum
    argTypes:
    - SFunctionNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3016
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3016
    functionName: calcSelectFuncNum
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsCumulativeFunc
    - fmIsMultiResFunc
    - getMultiResFuncNum
    - fmIsLastRowFunc
    - fmIsSelectColsFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcSelectFuncNum(SFunctionNode* pFunc, int32_t currSelectFuncNum) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5913,1
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5917,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5932,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5929,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5926,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5935,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5936,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 4
    argNames:
    - pCxt
    - pProjectionList
    - pClauseList
    - pOther
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - bool*
    constantsTouched: []
    func_position:
      end: 5946
      start: 5909
    functionDepth: 0
    functionLinenumber: 5909
    functionLinenumberEnd: 5946
    functionName: translateClausePosition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - getPositionValue
    - WHERE_EACH
    - getGroupByNode
    - translateValue
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateClausePosition(STranslateContext* pCxt, SNodeList*
      pProjectionList, SNodeList* pClauseList, bool* pOther) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8426,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8426,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pSetOperator
    argTypes:
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 8427
      start: 8425
    functionDepth: 0
    functionLinenumber: 8425
    functionLinenumberEnd: 8427
    functionName: calcSetOperatorPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getStmtPrecision
    - calcPrecision
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t calcSetOperatorPrecision(SSetOperator* pSetOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16797,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16801,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16802,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pParseCxt
    - pName
    - pVgInfo
    argTypes:
    - SParseContext*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 16806
      start: 16790
    functionDepth: 0
    functionLinenumber: 16790
    functionLinenumberEnd: 16806
    functionName: fillVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - tstrerror
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillVgroupInfo(SParseContext* pParseCxt, const SName*
      pName, SVgroupInfo* pVgInfo) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5516,1
    - Dst: isSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5567,1
    - Dst: translateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5552,1
    - Dst: setTableIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5559,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5594,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5601,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5604,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5615,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5636,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5644,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5641,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5507,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5522,1
    - Dst: translateAudit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5529,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5552,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5555,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5590,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5612,1
    - Dst: checkJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5618,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5514,1
    - Dst: setTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5532,1
    - Dst: setTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5562,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5555,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5575,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5581,1
    - Dst: translateSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5588,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5594,1
    - Dst: stmtIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5603,1
    - Dst: translateJoinTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5610,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5631,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5639,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5519,1
    - Dst: translateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5527,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5538,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5572,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5591,1
    - Dst: getStmtPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5602,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5622,1
    - Dst: mergeInnerJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5625,1
    - Dst: joinTableIsSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5635,1
    - Dst: validateJoinConds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5647,1
    - Dst: calcJoinTablePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5634,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5640,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 171
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - inJoin
    argTypes:
    - STranslateContext*
    - SNode**
    - bool
    constantsTouched: []
    func_position:
      end: 5656
      start: 5501
    functionDepth: 0
    functionLinenumber: 5501
    functionLinenumberEnd: 5656
    functionName: translateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - translateJoinTable
    - setTableIndex
    - calcJoinTablePrecision
    - generateSyntaxErrMsg
    - translateAudit
    - nodeType
    - checkJoinTable
    - splitJoinColPrimaryCond
    - collectUseTable
    - validateJoinConds
    - stmtIsSingleTable
    - getTargetMeta
    - isSingleTable
    - isSelectStmt
    - nodesDestroyNode
    - translateView
    - joinTableIsSingleTable
    - PAR_ERR_RET
    - PAR_RET
    - translateExpr
    - getJoinContais
    - setTableTsmas
    - mergeInnerJoinConds
    - translateTable
    - isDeleteStmt
    - translateVirtualTable
    - tstrerror
    - translateSubquery
    - addNamespace
    - getStmtPrecision
    - setTableVgroupList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t translateTable(STranslateContext* pCxt, SNode** pTable, bool
      inJoin) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10740,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10781,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10782,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10791,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10797,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10805,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10807,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10806,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10809,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10815,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10739,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10767,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10827,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10831,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10833,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10835,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10773,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10796,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10792,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10783,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10810,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10811,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10829,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10843,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10844,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10851,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10751,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10763,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10769,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10804,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10809,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10821,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10823,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10836,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10837,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10835,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10825,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 91
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pAlterReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 10853
      start: 10737
    functionDepth: 0
    functionLinenumber: 10737
    functionLinenumberEnd: 10853
    functionName: buildAlterSuperTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - taosArrayGetSize
    - taosArrayInit
    - calcTypeMod
    - taosArrayDestroy
    - checkColumnLevel
    - checkColumnCompressOrSetDefault
    - taosArrayPush
    - checkColumnEncodeOrSetDefault
    - columnLevelVal
    - tstrncpy
    - checkColumnCompress
    - columnCompressVal
    - calcTypeBytes
    - columnEncodeVal
    - tNameExtractFullName
    - checkColumnEncode
    - strlen
    - taosStrdup
    - setColCompressByOption
    - checkColumnLevelOrSetDefault
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAlterSuperTableReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SMAlterStbReq* pAlterReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5659,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5661,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5664,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5666,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5667,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - igTags
    - pCols
    argTypes:
    - STranslateContext*
    - bool
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5673
      start: 5658
    functionDepth: 0
    functionLinenumber: 5658
    functionLinenumberEnd: 5673
    functionName: createAllColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - createColumnsByTable
    - nodesMakeList
    - taosArrayGetSize
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createAllColumns(STranslateContext* pCxt, bool igTags,
      SNodeList** pCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10856,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10859,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10856,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 10864
      start: 10855
    functionDepth: 0
    functionLinenumber: 10855
    functionLinenumberEnd: 10864
    functionName: getColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getNumOfTags
    - getNumOfColumns
    - strcmp
    linkageType: ''
    returnType: SSchema*
    signature: 'static const SSchema * getColSchema(const STableMeta* pTableMeta,
      const char* pColName) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16810,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16812,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16813,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16811,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16819,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16823,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16827,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16833,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16835,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16839,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16844,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16861,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16846,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16851,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 4
    argNames:
    - pMsgBuf
    - pParFileCxt
    - tz
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SParseFileContext*
    - timezone_t
    - void*
    constantsTouched: []
    func_position:
      end: 16866
      start: 16808
    functionDepth: 0
    functionLinenumber: 16808
    functionLinenumberEnd: 16866
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableTagSchema
    - taosArrayGet
    - tStrGetToken
    - tTagNew
    - parseTbnameToken
    - getNumOfTags
    - buildInvalidOperationMsg
    - getTableInfo
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - parseTagValue
    - checkAndTrimValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseOneStbRow(SMsgBuf* pMsgBuf, SParseFileContext*
      pParFileCxt, timezone_t tz, void *charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableDelayOrWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pVal
    - pMaxDelay
    argTypes:
    - STranslateContext*
    - SValueNode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 10184
      start: 10181
    functionDepth: 0
    functionLinenumber: 10181
    functionLinenumberEnd: 10184
    functionName: getTableDeleteMarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableDelayOrWatermarkOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableDeleteMarkOption(STranslateContext* pCxt, SValueNode*
      pVal, int64_t* pMaxDelay) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 11855
      start: 11849
    functionDepth: 0
    functionLinenumber: 11849
    functionLinenumberEnd: 11855
    functionName: isVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isVirtualTable(int8_t tableType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14054,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropFunctionStmt*
    constantsTouched: []
    func_position:
      end: 14057
      start: 14052
    functionDepth: 0
    functionLinenumber: 14052
    functionLinenumberEnd: 14057
    functionName: translateDropFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropFunction(STranslateContext* pCxt, SDropFunctionStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16343,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16349,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pQuery
    - pBufArray
    argTypes:
    - SQuery*
    - SArray*
    constantsTouched: []
    func_position:
      end: 16352
      start: 16341
    functionDepth: 0
    functionLinenumber: 16341
    functionLinenumberEnd: 16352
    functionName: rewriteToVnodeModifyOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rewriteToVnodeModifyOpStmt(SQuery* pQuery, SArray* pBufArray) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10193,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10199,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10198,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10203,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10203,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10204,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10206,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10206,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 10210
      start: 10186
    functionDepth: 0
    functionLinenumber: 10186
    functionLinenumberEnd: 10210
    functionName: checkTableDeleteMarkOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableDeleteMarkOption
    - generateSyntaxErrMsgExt
    - nodesListGetNode
    - LIST_LENGTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableDeleteMarkOption(STranslateContext* pCxt,
      STableOptions* pOptions, bool createStable, SDbCfgInfo* pDbCfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildQueryForTableTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11863,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11874,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11867,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11864,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    constantsTouched: []
    func_position:
      end: 11875
      start: 11857
    functionDepth: 0
    functionLinenumber: 11857
    functionLinenumberEnd: 11875
    functionName: checkCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsg
    - buildQueryForTableTopic
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14061,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14066,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14067,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14065,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pStmt
    - pTable
    argTypes:
    - SGrantStmt*
    - SRealTableNode**
    constantsTouched: []
    func_position:
      end: 14070
      start: 14059
    functionDepth: 0
    functionLinenumber: 14059
    functionLinenumberEnd: 14070
    functionName: createRealTableForGrantTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRealTableForGrantTable(SGrantStmt* pStmt, SRealTableNode**
      pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16355,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16357,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16361,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16358,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16359,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 16362
      start: 16354
    functionDepth: 0
    functionLinenumber: 16354
    functionLinenumberEnd: 16362
    functionName: destroyCreateTbReqArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyCreateTbReqArray(SArray* pArray) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3875,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3903,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3902,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 25
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3914
      start: 3874
    functionDepth: 0
    functionLinenumber: 3874
    functionLinenumberEnd: 3914
    functionName: isWindowJoinSubTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosStrcasecmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinSubTbname(SSelectStmt* pSelect, SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4060,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4064,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4063,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4060,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4063,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 4067
      start: 4059
    functionDepth: 0
    functionLinenumber: 4059
    functionLinenumberEnd: 4067
    functionName: rewriteColsToSelectValFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isIndefiniteRowsFunc
    - rewriteColToSelectValFunc
    - isScanPseudoColumnFunc
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteColsToSelectValFuncImpl(SNode** pNode, void*
      pContext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4191,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4211,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4205,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4199,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4201,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4212,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4212,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4213,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4213,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4222,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4226
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4226
    functionName: checkWinJoinAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isWindowJoinGroupCol
    - isWindowJoinProbeTableCol
    - isWindowJoinSubTbname
    - isWindowJoinStmt
    - nodesRewriteExprs
    - FOREACH
    - rewriteColsToSelectValFunc
    - generateSyntaxErrMsg
    - isWindowJoinSubTbTag
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkWinJoinAggColCoexist(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7946,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - FuncNodeList
    - pSelectFunc
    argTypes:
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 7953
      start: 7943
    functionDepth: 0
    functionLinenumber: 7943
    functionLinenumberEnd: 7953
    functionName: getSelectFuncIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - nodesEqualNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSelectFuncIndex(SNodeList* FuncNodeList, SNode*
      pSelectFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11719,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11725,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - ppList
    - pNode
    argTypes:
    - SNodeList**
    - SNode*
    constantsTouched: []
    func_position:
      end: 11730
      start: 11716
    functionDepth: 0
    functionLinenumber: 11716
    functionLinenumberEnd: 11730
    functionName: addTagList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addTagList(SNodeList** ppList, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15982,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15988,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 15991
      start: 15980
    functionDepth: 0
    functionLinenumber: 15980
    functionLinenumberEnd: 15991
    functionName: createBlockDistInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createBlockDistInfoFunc(SFunctionNode** ppNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18006,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18012,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18014,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18009,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18010,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18016,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18019,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18026
      start: 18003
    functionDepth: 0
    functionLinenumber: 18003
    functionLinenumberEnd: 18026
    functionName: buildDropColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    - getNumOfColumns
    - taosStrdup
    - getColSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDropColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, const STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3918
      start: 3916
    functionDepth: 0
    functionLinenumber: 3916
    functionLinenumberEnd: 3918
    functionName: isTbnameFuction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isTbnameFuction(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4070,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4075
      start: 4069
    functionDepth: 0
    functionLinenumber: 4069
    functionLinenumberEnd: 4075
    functionName: rewriteColsToSelectValFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteColsToSelectValFunc(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4230,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4231,1
    - Dst: checkExprForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4247
      start: 4228
    functionDepth: 0
    functionLinenumber: 4228
    functionLinenumberEnd: 4247
    functionName: checkHavingGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getGroupByList
    - isWindowJoinStmt
    - checkExprForGroupBy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkHavingGroupBy(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7956,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 7964
      start: 7955
    functionDepth: 0
    functionLinenumber: 7955
    functionLinenumberEnd: 7964
    functionName: checkHasColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isColsFuncByName
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes checkHasColsFunc(SNode** pNode, void* pContext) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11734,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11744,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11742,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11746,1
    - Dst: getColumnTypeFromMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11736,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11753,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11755,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11757,1
    - Dst: addTagList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11759,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11760,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 11767
      start: 11732
    functionDepth: 0
    functionLinenumber: 11732
    functionLinenumberEnd: 11767
    functionName: checkColumnTagsInCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesCloneNode
    - strcasecmp
    - addTagList
    - getColumnTypeFromMeta
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes checkColumnTagsInCond(SNode* pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15995,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16000,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16001,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16005,1
    - Dst: createBlockDistInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16003,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 16013
      start: 15993
    functionDepth: 0
    functionLinenumber: 15993
    functionLinenumberEnd: 16013
    functionName: createBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - tstrncpy
    - createBlockDistInfoFunc
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createBlockDistFunc(SFunctionNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pColRef
    - pTableMeta
    - colId
    argTypes:
    - SColRef*
    - STableMeta*
    - col_id_t
    constantsTouched: []
    func_position:
      end: 18035
      start: 18028
    functionDepth: 0
    functionLinenumber: 18028
    functionLinenumberEnd: 18035
    functionName: findColRefIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findColRefIndex(SColRef* pColRef, const STableMeta*
      pTableMeta, col_id_t colId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4148,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4152,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4157,1
    - Dst: nodesCollectSelectFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4150,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4156,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4159,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4161
      start: 4143
    functionDepth: 0
    functionLinenumber: 4143
    functionLinenumberEnd: 4161
    functionName: resetSelectFuncNumWithoutDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - calcSelectFuncNum
    - nodesDestroyList
    - nodesCollectSelectFuncs
    - FOREACH
    - nodesMakeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetSelectFuncNumWithoutDup(SSelectStmt* pSelect) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5395,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5402,1
    - Dst: nodesListMakeStrictAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5399,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5397,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5406,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5415,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5423,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5430,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 50
    argCount: 2
    argNames:
    - ppDst
    - ppSrc
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5444
      start: 5390
    functionDepth: 0
    functionLinenumber: 5390
    functionLinenumberEnd: 5444
    functionName: mergeInnerJoinConds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppendList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeInnerJoinConds(SNode** ppDst, SNode** ppSrc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6013,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6014,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6020,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6018,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6014,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6022,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6024,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6026,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - dt
    - pValues
    - index
    argTypes:
    - STranslateContext*
    - SDataType
    - SNodeList*
    - int32_t
    constantsTouched: []
    func_position:
      end: 6029
      start: 6012
    functionDepth: 0
    functionLinenumber: 6012
    functionLinenumberEnd: 6029
    functionName: convertFillValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createCastFunc
    - generateSyntaxErrMsgExt
    - scalarCalculateConstants
    - dataTypeEqual
    - nodesListGetCell
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertFillValue(STranslateContext* pCxt, SDataType
      dt, SNodeList* pValues, int32_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6194
      start: 6185
    functionDepth: 0
    functionLinenumber: 6185
    functionLinenumberEnd: 6194
    functionName: translatePartitionByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translatePartitionByList(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: resetHighLevelTranslateNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8490,1
    - Dst: getBothJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8496,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8493,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8488,1
    - Dst: calcSetOperatorPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8499,1
    - Dst: translateSetOperProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8500,1
    - Dst: translateSetOperOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8503,1
    - Dst: checkSetOperLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 8509
      start: 8483
    functionDepth: 0
    functionLinenumber: 8483
    functionLinenumberEnd: 8509
    functionName: translateSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkSetOperLimit
    - translateSetOperOrderBy
    - translateSetOperProject
    - translateQuery
    - resetHighLevelTranslateNamespace
    - calcSetOperatorPrecision
    - getBothJoinContais
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSetOperator(STranslateContext* pCxt, SSetOperator*
      pSetOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8540,1
    - Dst: partitionDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 8545
      start: 8538
    functionDepth: 0
    functionLinenumber: 8538
    functionLinenumberEnd: 8545
    functionName: translateDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExpr
    - partitionDeleteWhere
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDeleteWhere(STranslateContext* pCxt, SDeleteStmt*
      pDelete) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9165,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9176,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9179,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9171,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9179,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9182,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9183,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9189,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9189,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9193,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 9197
      start: 9160
    functionDepth: 0
    functionLinenumber: 9160
    functionLinenumberEnd: 9197
    functionName: checkDbCompactIntervalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateGetDbCfg
    - generateSyntaxErrMsgExt
    - checkDbRangeOption
    - translateValue
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbCompactIntervalOption(STranslateContext* pCxt,
      const char* pDbName, SDatabaseOptions* pOptions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translateCreateFullTextIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11598,1
    - Dst: translateCreateSmaIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11602,1
    - Dst: translateCreateNormalIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11600,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 11603
      start: 11596
    functionDepth: 0
    functionLinenumber: 11596
    functionLinenumberEnd: 11603
    functionName: translateCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateCreateSmaIndex
    - translateCreateNormalIndex
    - translateCreateFullTextIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4164,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4179,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4173,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4182,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4175,1
    - Dst: rewriteColsToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4185,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4188
      start: 4163
    functionDepth: 0
    functionLinenumber: 4163
    functionLinenumberEnd: 4188
    functionName: checkAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    - rewriteColsToSelectValFunc
    - isWindowJoinStmt
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAggColCoexist(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5452,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5470,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5459,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5458,1
    - Dst: nodesContainsColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5458,1
    - Dst: splitJoinColPrimaryCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5471,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5477,1
    - Dst: nodesMergeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5478,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5489,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 34
    argCount: 2
    argNames:
    - ppSrc
    - ppDst
    argTypes:
    - SNode**
    - SNode**
    constantsTouched: []
    func_position:
      end: 5499
      start: 5446
    functionDepth: 0
    functionLinenumber: 5446
    functionLinenumberEnd: 5499
    functionName: splitJoinColPrimaryCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - ERASE_NODE
    - WHERE_EACH
    - splitJoinColPrimaryCond
    - nodesContainsColumn
    - nodesDestroyNode
    - nodesMergeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t splitJoinColPrimaryCond(SNode** ppSrc, SNode** ppDst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6036,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6039,1
    - Dst: needFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6038,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6037,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6040,1
    - Dst: convertFillValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6042,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6050,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6051,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pProjectionList
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 6054
      start: 6031
    functionDepth: 0
    functionLinenumber: 6031
    functionLinenumberEnd: 6054
    functionName: doCheckFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - needFill
    - convertFillValue
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCheckFillValues(STranslateContext* pCxt, SFillNode*
      pFill, SNodeList* pProjectionList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6198,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6200,1
    - Dst: translateStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6203,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6209,1
    - Dst: translateProjectionList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6206,1
    - Dst: translateFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6222
      start: 6196
    functionDepth: 0
    functionLinenumber: 6196
    functionLinenumberEnd: 6222
    functionName: translateSelectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateProjectionList
    - checkExprListForGroupBy
    - translateExprList
    - translateFillValues
    - prepareColumnExpansion
    - translateStar
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSelectList(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8513,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8527,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8520,1
    - Dst: filterPartitionCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8518,1
    - Dst: getTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8525,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8530,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8534,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 8536
      start: 8511
    functionDepth: 0
    functionLinenumber: 8511
    functionLinenumberEnd: 8536
    functionName: partitionDeleteWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - filterPartitionCond
    - nodesDestroyNode
    - getTimeRange
    - TAOS_SET_OBJ_ALIGNED
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t partitionDeleteWhere(STranslateContext* pCxt, SDeleteStmt*
      pDelete) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8549,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8561,1
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8554,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8550,1
    - Dst: translateDeleteWhere
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8557,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8564,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8567,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - STranslateContext*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 8570
      start: 8547
    functionDepth: 0
    functionLinenumber: 8547
    functionLinenumberEnd: 8570
    functionName: translateDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - translateFrom
    - translateExpr
    - IS_SYS_DBNAME
    - translateDeleteWhere
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDelete(STranslateContext* pCxt, SDeleteStmt*
      pDelete) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9204,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9205,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9209,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9210,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9211,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9214,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9217,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9219,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9226,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9228,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9252,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9262,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9257,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9252,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9243,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9235,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9236,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 9268
      start: 9199
    functionDepth: 0
    functionLinenumber: 9199
    functionLinenumberEnd: 9268
    functionName: checkDbCompactTimeRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateGetDbCfg
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - translateValue
    - TAOS_CHECK_RETURN
    - IS_DURATION_VAL
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbCompactTimeRangeOption(STranslateContext* pCxt,
      const char* pDbName, SDatabaseOptions* pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11608,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11609,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropIndexStmt*
    constantsTouched: []
    func_position:
      end: 11613
      start: 11605
    functionDepth: 0
    functionLinenumber: 11605
    functionLinenumberEnd: 11613
    functionName: translateDropIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - buildCmdMsg
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropIndex(STranslateContext* pCxt, SDropIndexStmt*
      pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13450,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13460,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13461,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13461,1
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13458,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13462,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13465,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13466,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13467,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13468,1
    - Dst: setColumnDefNodePrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13475,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13479,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13472,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13484
      start: 13447
    functionDepth: 0
    functionLinenumber: 13447
    functionLinenumberEnd: 13484
    functionName: checkAndAdjStreamDestTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - setColumnDefNodePrimaryKey
    - strcmp
    - checkTableSchemaImpl
    - generateSyntaxErrMsg
    - nodesListGetNode
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAndAdjStreamDestTableSchema(STranslateContext*
      pCxt, SCreateStreamStmt* pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18592,1
    - Dst: serializeFlushVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18600,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18594,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pVgs
    - pOutput
    argTypes:
    - SArray*
    - SArray**
    constantsTouched: []
    func_position:
      end: 18609
      start: 18591
    functionDepth: 0
    functionLinenumber: 18591
    functionLinenumberEnd: 18609
    functionName: serializeFlushDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayGetSize
    - serializeFlushVgroup
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t serializeFlushDb(SArray* pVgs, SArray** pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6992,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6997,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7002,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7006,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6994,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7011
      start: 6988
    functionDepth: 0
    functionLinenumber: 6988
    functionLinenumberEnd: 7011
    functionName: translateInterpAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - translateExpr
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterpAround(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3752,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3770,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3771,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 15
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3776
      start: 3751
    functionDepth: 0
    functionLinenumber: 3751
    functionLinenumberEnd: 3776
    functionName: isWindowJoinProbeTablePrimCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinProbeTablePrimCol(SSelectStmt* pSelect, SNode*
      pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4853,1
    - Dst: getJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4861
      start: 4849
    functionDepth: 0
    functionLinenumber: 4849
    functionLinenumberEnd: 4861
    functionName: getBothJoinContais
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getJoinContais
    linkageType: ''
    returnType: bool
    signature: 'static bool getBothJoinContais(SNode* pLeft, SNode* pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 8325
      start: 8322
    functionDepth: 0
    functionLinenumber: 8322
    functionLinenumberEnd: 8325
    functionName: isUionOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isUionOperator(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10503,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10512,1
    - Dst: createRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10518,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10520,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10509,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10523,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10525,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pStmt
    - ppList
    argTypes:
    - SCreateTableStmt*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 10534
      start: 10501
    functionDepth: 0
    functionLinenumber: 10501
    functionLinenumberEnd: 10534
    functionName: createRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createRollupFunc
    - nodesDestroyList
    - FOREACH
    - nodesMakeList
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRollupFuncs(SCreateTableStmt* pStmt, SNodeList**
      ppList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12019,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12026,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12021,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12033,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12026,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12035,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12040,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12042,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12047,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12052,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12059,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12061,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - pCxt
    - vgroupList
    - ppVgroups
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SArray**
    constantsTouched: []
    func_position:
      end: 12065
      start: 12016
    functionDepth: 0
    functionLinenumber: 12016
    functionLinenumberEnd: 12065
    functionName: translateVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - LIST_LENGTH
    - taosArrayDestroy
    - taosHashGet
    - translateValue
    - FOREACH
    - taosArrayPush
    - taosHashCleanup
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateVgroupList(STranslateContext* pCxt, SNodeList*
      vgroupList, SArray** ppVgroups) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17634,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17642,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17645,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17643,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17648,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17651,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17653,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17655,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17656
      start: 17624
    functionDepth: 0
    functionLinenumber: 17624
    functionLinenumberEnd: 17656
    functionName: rewriteDropSuperTablewithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteDropTableWithMetaCache
    - generateSyntaxErrMsgExt
    - isdigit
    - toName
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - getTargetName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropSuperTablewithOpt(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7016,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7025,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7027,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7028,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7019,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7036,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7041,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7045,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7048,1
    - Dst: translateInterpAround
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7054,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7057,1
    - Dst: translateInterpEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7060,1
    - Dst: checkInterpForStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7066,1
    - Dst: translateInterpFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7063,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7069
      start: 7013
    functionDepth: 0
    functionLinenumber: 7013
    functionLinenumberEnd: 7069
    functionName: translateInterp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - checkInterpForStream
    - translateInterpEvery
    - translateExpr
    - translateInterpAround
    - translateInterpFill
    - IS_WINDOW_JOIN
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterp(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3779,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3798,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3797,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3803
      start: 3778
    functionDepth: 0
    functionLinenumber: 3778
    functionLinenumberEnd: 3803
    functionName: isWindowJoinProbeTableCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinProbeTableCol(SSelectStmt* pSelect, SNode*
      pNode) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4869,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4868,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4865,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4877,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4935,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4942,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4944,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4868,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4884,1
    - Dst: addPrimJoinEqCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4919,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4910,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4945,1
    - Dst: getBothJoinContais
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4864,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4870,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4888,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4899,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4933,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4890,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4907,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4925,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4902,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4936,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4869,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4928,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4934,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4935,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4943,1
    - Dst: IS_ASOF_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4944,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 89
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 4953
      start: 4863
    functionDepth: 0
    functionLinenumber: 4863
    functionLinenumberEnd: 4953
    functionName: checkJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - addPrimJoinEqCond
    - IS_ASOF_JOIN
    - isGlobalTimeLineQuery
    - IS_WINDOW_JOIN
    - generateSyntaxErrMsg
    - getBothJoinContais
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkJoinTable(STranslateContext* pCxt, SJoinTableNode*
      pJoinTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isUionOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8329,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8333,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8332,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8333,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8331,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8334,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8340,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8346,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8350,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8351,1
    - Dst: REPLACE_LIST1_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8359,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8355,1
    - Dst: pushdownCastForUnion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8360,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pExpr
    - pos
    argTypes:
    - STranslateContext*
    - SNode*
    - SExprNode*
    - int
    constantsTouched: []
    func_position:
      end: 8366
      start: 8327
    functionDepth: 0
    functionLinenumber: 8327
    functionLinenumberEnd: 8366
    functionName: pushdownCastForUnion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getProjectList
    - createCastFunc
    - isUionOperator
    - REPLACE_LIST2_NODE
    - REPLACE_LIST1_NODE
    - pushdownCastForUnion
    - generateSyntaxErrMsg
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushdownCastForUnion(STranslateContext* pCxt, SNode*
      pNode, SExprNode* pExpr, int pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10537,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10543,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10545,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10538,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10537,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10549,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10550,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10554,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pStmt
    - precision
    - ppTbMeta
    argTypes:
    - SCreateTableStmt*
    - int8_t
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 10561
      start: 10536
    functionDepth: 0
    functionLinenumber: 10536
    functionLinenumberEnd: 10561
    functionName: createRollupTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - LIST_LENGTH
    - FOREACH
    - toSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRollupTableMeta(SCreateTableStmt* pStmt, int8_t
      precision, STableMeta** ppTbMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12074,1
    - Dst: translateVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12086,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12077,1
    - Dst: translateCompactRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12082,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12075,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12090,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactVgroupsStmt*
    constantsTouched: []
    func_position:
      end: 12095
      start: 12067
    functionDepth: 0
    functionLinenumber: 12067
    functionLinenumberEnd: 12095
    functionName: translateCompactVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeSCompactDbReq
    - translateCompactRange
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    - translateVgroupList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCompactVgroups(STranslateContext* pCxt, SCompactVgroupsStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17660,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17664,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17665,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17661,1
    - Dst: rewriteDropSuperTablewithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17666
      start: 17658
    functionDepth: 0
    functionLinenumber: 17658
    functionLinenumberEnd: 17666
    functionName: rewriteDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - rewriteDropSuperTablewithOpt
    - TAOS_CHECK_RETURN
    - IS_SYS_DBNAME
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropSuperTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7789,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7793,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7793,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7790,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7792,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7794,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7794,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7803,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7810,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7819,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7821,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7813,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7818,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7827,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7815,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7821,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 7834
      start: 7785
    functionDepth: 0
    functionLinenumber: 7785
    functionLinenumberEnd: 7834
    functionName: replaceOrderByAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - getPositionValue
    - nodesDestroyNode
    - strcmp
    - nodesEqualNode
    - translateValue
    - FOREACH
    - nodesCloneNode
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes replaceOrderByAliasImpl(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8590,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8598,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8602,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pOrderByList
    argTypes:
    - STranslateContext*
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 8603
      start: 8587
    functionDepth: 0
    functionLinenumber: 8587
    functionLinenumberEnd: 8603
    functionName: addOrderByPrimaryKeyToQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addOrderByPrimaryKeyToQueryImpl(STranslateContext*
      pCxt, SNode* pPrimaryKeyExpr, SNodeList** pOrderByList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8919,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8928,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8921,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8925,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8923,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8933
      start: 8917
    functionDepth: 0
    functionLinenumber: 8917
    functionLinenumberEnd: 8933
    functionName: checkDbCacheModelOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbCacheModelOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11311,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11314,1
    - Dst: tFreeSMCfgClusterReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterClusterStmt*
    constantsTouched: []
    func_position:
      end: 11317
      start: 11309
    functionDepth: 0
    functionLinenumber: 11309
    functionLinenumberEnd: 11317
    functionName: translateAlterCluster
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSMCfgClusterReq
    - buildCmdMsg
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterCluster(STranslateContext* pCxt, SAlterClusterStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14289,1
    - Dst: getTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14297,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14296,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 14300
      start: 14288
    functionDepth: 0
    functionLinenumber: 14288
    functionLinenumberEnd: 14300
    functionName: translateShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - toName
    - getTableCfg
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateShowCreateTable(STranslateContext* pCxt, SShowCreateTableStmt*
      pStmt) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18212,1
    - Dst: buildUpdateMultiTagValReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18225,1
    - Dst: buildUpdateTagValReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18227,1
    - Dst: buildAddColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18231,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18223,1
    - Dst: buildDropColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18233,1
    - Dst: buildUpdateColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18235,1
    - Dst: buildUpdateOptionsReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18237,1
    - Dst: buildRenameColReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18239,1
    - Dst: buildAlterTableColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18241,1
    - Dst: buildRemoveTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18245,1
    - Dst: buildAlterTableColumnRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18243,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 18
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18251
      start: 18210
    functionDepth: 0
    functionLinenumber: 18210
    functionLinenumberEnd: 18251
    functionName: buildAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildUpdateTagValReq
    - buildUpdateMultiTagValReq
    - buildAlterTableColumnRef
    - buildAlterTableColumnCompress
    - buildAddColReq
    - buildDropColReq
    - taosStrdup
    - buildUpdateColReq
    - buildRemoveTableColumnRef
    - buildRenameColReq
    - generateSyntaxErrMsg
    - buildUpdateOptionsReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAlterTbReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7843,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 5
    argNames:
    - pCxt
    - pProjectionList
    - pOrderByList
    - checkExists
    - nameMatch
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 7849
      start: 7836
    functionDepth: 0
    functionLinenumber: 7836
    functionLinenumberEnd: 7849
    functionName: replaceOrderByAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replaceOrderByAlias(STranslateContext* pCxt, SNodeList*
      pProjectionList, SNodeList* pOrderByList, bool checkExists, bool nameMatch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8610,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8613,1
    - Dst: addOrderByPrimaryKeyToQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pPrimaryKeyExpr
    - pStmt
    argTypes:
    - STranslateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 8614
      start: 8605
    functionDepth: 0
    functionLinenumber: 8605
    functionLinenumberEnd: 8614
    functionName: addOrderByPrimaryKeyToQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - addOrderByPrimaryKeyToQueryImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addOrderByPrimaryKeyToQuery(STranslateContext* pCxt,
      SNode* pPrimaryKeyExpr, SNode* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8937,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8942,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8948
      start: 8935
    functionDepth: 0
    functionLinenumber: 8935
    functionLinenumberEnd: 8948
    functionName: checkDbEncryptAlgorithmOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbEncryptAlgorithmOption(STranslateContext* pCxt,
      SDatabaseOptions* pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pVgId
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 11327
      start: 11319
    functionDepth: 0
    functionLinenumber: 11319
    functionLinenumberEnd: 11327
    functionName: getSmaIndexDstVgId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSmaIndexDstVgId(STranslateContext* pCxt, const char*
      pDbName, const char* pTableName, int32_t* pVgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 14304
      start: 14302
    functionDepth: 0
    functionLinenumber: 14302
    functionLinenumberEnd: 14304
    functionName: translateShowCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateShowCreateTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateShowCreateVTable(STranslateContext* pCxt,
      SShowCreateTableStmt* pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18256,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18267,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18259,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18268,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18263,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18269,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18271,1
    - Dst: tEncodeSVAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18272,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18273,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18276,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18280,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18287,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray*
    constantsTouched: []
    func_position:
      end: 18293
      start: 18253
    functionDepth: 0
    functionLinenumber: 18253
    functionLinenumberEnd: 18293
    functionName: serializeAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - tEncoderInit
    - tEncoderClear
    - taosMemoryCalloc
    - tEncodeSVAlterTbReq
    - POINTER_SHIFT
    - taosArrayPush
    - tEncodeSize
    - getTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t serializeAlterTbReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq, SArray* pArray) '
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: rewriteShowTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19211,1
    - Dst: rewriteShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19223,1
    - Dst: rewriteDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19249,1
    - Dst: rewriteCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19230,1
    - Dst: rewriteCreateVirtualSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19237,1
    - Dst: rewriteFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19261,1
    - Dst: rewriteShowCompactDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19267,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19168,1
    - Dst: rewriteShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19202,1
    - Dst: rewriteShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19214,1
    - Dst: rewriteCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19240,1
    - Dst: rewriteDropVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19252,1
    - Dst: rewriteShowTransactionDetailsStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19270,1
    - Dst: rewriteShowAliveStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19274,1
    - Dst: rewriteShowVtables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19205,1
    - Dst: rewriteShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19217,1
    - Dst: rewriteCreateTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19243,1
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19255,1
    - Dst: rewriteShowDBUsage
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19208,1
    - Dst: rewriteShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19220,1
    - Dst: rewriteShowTableDist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19226,1
    - Dst: rewriteCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19234,1
    - Dst: rewriteDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19246,1
    - Dst: rewriteAlterVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19258,1
    - Dst: rewriteShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19264,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 53
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 19280
      start: 19166
    functionDepth: 0
    functionLinenumber: 19166
    functionLinenumberEnd: 19280
    functionName: rewriteQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteShowTags
    - rewriteDropSuperTable
    - rewriteShowVtables
    - rewriteCreateVirtualSubTable
    - rewriteCreateMultiTable
    - rewriteAlterVirtualTable
    - nodeType
    - rewriteShowVgroups
    - rewriteCreateVirtualTable
    - rewriteShowCompacts
    - rewriteShowCompactDetailsStmt
    - rewriteShowDnodeVariables
    - rewriteFlushDatabase
    - rewriteShowVnodes
    - rewriteDropVirtualTable
    - rewriteDropTable
    - rewriteShow
    - rewriteShowDBUsage
    - rewriteShowTableDist
    - rewriteCreateTable
    - rewriteShowAliveStmt
    - rewriteCreateTableFromFile
    - rewriteAlterTable
    - rewriteShowTransactionDetailsStmt
    - rewriteShowStableTags
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteQuery(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6795,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6800,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6799,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6802,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6798,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6804,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6806,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6808,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6812,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6813,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6820,1
    - Dst: checkWindowsConditonValid
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6832,1
    - Dst: translateSpecificWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6829,1
    - Dst: isTimeLineAlignedQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6816,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6818,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6827,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6822,1
    - Dst: isBlockTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6814,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6835
      start: 6789
    functionDepth: 0
    functionLinenumber: 6789
    functionLinenumberEnd: 6835
    functionName: translateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - translateExpr
    - isBlockTimeLineQuery
    - isGlobalTimeLineQuery
    - translateSpecificWindow
    - isTimeLineAlignedQuery
    - checkWindowsConditonValid
    - generateSyntaxErrMsg
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2873,1
    - Dst: hasFillClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2876,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2880
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2880
    functionName: translateForbidFillFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsForbidFillFunc
    - generateSyntaxErrMsg
    - hasFillClause
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForbidFillFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14265,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14270,1
    - Dst: tFreeSShowVariablesReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14271,1
    - Dst: taosStrdupi
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14267,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 14273
      start: 14261
    functionDepth: 0
    functionLinenumber: 14261
    functionLinenumberEnd: 14273
    functionName: translateShowVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - taosStrdupi
    - buildCmdMsg
    - tFreeSShowVariablesReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateShowVariables(STranslateContext* pCxt, SShowStmt*
      pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15597,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15600,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15603,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15606,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15608,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15609,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15610,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15612,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15615,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15616,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15617,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 15620
      start: 15591
    functionDepth: 0
    functionLinenumber: 15591
    functionLinenumberEnd: 15620
    functionName: addShowUserDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createLogicCondNode
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowUserDatabasesCond(SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidStreamFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2883,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2890
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2890
    functionName: translateForbidStreamFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsForbidStreamFunc
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForbidStreamFunc(STranslateContext* pCxt,
      SFunctionNode* pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6839,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6847,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6853,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6849,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 6858
      start: 6837
    functionDepth: 0
    functionLinenumber: 6837
    functionLinenumberEnd: 6858
    functionName: createDefaultFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDefaultFillNode(STranslateContext* pCxt, SNode**
      pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14276,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14284,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14282,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14283,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SShowCreateDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 14286
      start: 14275
    functionDepth: 0
    functionLinenumber: 14275
    functionLinenumberEnd: 14286
    functionName: translateShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateShowCreateDatabase(STranslateContext* pCxt,
      SShowCreateDatabaseStmt* pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15628,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15630,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15638,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15636,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15633,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15639,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15641,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15644,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15647,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15648,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15649,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 15652
      start: 15622
    functionDepth: 0
    functionLinenumber: 15622
    functionLinenumberEnd: 15652
    functionName: addShowSystemDatabasesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createLogicCondNode
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowSystemDatabasesCond(SSelectStmt* pSelect) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2520,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2522,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2523,1
    - Dst: getJoinProbeTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2526,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2532,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2533,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2534,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2535,1
    - Dst: rewriteCountStarAsCount1
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2538,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2543
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2543
    functionName: rewriteCountStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - getJoinProbeTable
    - rewriteCountStarAsCount1
    - findTable
    - setVtbColumnInfoBySchema
    - taosArrayGetSize
    - nodesListGetNode
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCountStar(STranslateContext* pCxt, SFunctionNode*
      pCount) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6369,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 4
    argNames:
    - val
    - fromPrecision
    - unit
    - pMonth
    argTypes:
    - int64_t
    - int32_t
    - char
    - double*
    constantsTouched: []
    func_position:
      end: 6395
      start: 6367
    functionDepth: 0
    functionLinenumber: 6367
    functionLinenumberEnd: 6395
    functionName: getMonthsFromTimeVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - convertTimeFromPrecisionToUnit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMonthsFromTimeVal(int64_t val, int32_t fromPrecision,
      char unit, double* pMonth) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7280,1
    - Dst: isTableExistInTableTbnames
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7287,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7281,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7289,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7284,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7294,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 7301
      start: 7277
    functionDepth: 0
    functionLinenumber: 7277
    functionLinenumberEnd: 7301
    functionName: findEqualCondTbnameInLogicCondAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayDestroy
    - isTableExistInTableTbnames
    - FOREACH
    - taosArrayPush
    - findEqCondTbNameInOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findEqualCondTbnameInLogicCondAnd(STranslateContext*
      pCxt, SNode* pWhere, SArray* aTableTbnames) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9944,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9956,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9957,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9948,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9954,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9958,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9961,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9964,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9965,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9966,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9987,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9981,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9975,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9968,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9980,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9972,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9967,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 3
    argNames:
    - pCxt
    - pHash
    - pTags
    argTypes:
    - STranslateContext*
    - SHashObj*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 9991
      start: 9943
    functionDepth: 0
    functionLinenumber: 9943
    functionLinenumberEnd: 9991
    functionName: checkTableTagsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - taosHashGet
    - strlen
    - IS_DECIMAL_TYPE
    - FOREACH
    - taosHashPut
    - generateSyntaxErrMsg
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableTagsSchema(STranslateContext* pCxt, SHashObj*
      pHash, SNodeList* pTags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12443,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12446,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12447,1
    - Dst: getTagNameForCreateStreamTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12447,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12449,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12451,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12459,1
    - Dst: getTagNameForCreateStreamTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12459,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSelect
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12463
      start: 12437
    functionDepth: 0
    functionLinenumber: 12437
    functionLinenumberEnd: 12463
    functionName: addTagsToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - strcmp
    - getTagNameForCreateStreamTag
    - FOREACH
    - nodesCloneNode
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addTagsToCreateStreamQuery(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt, SSelectStmt* pSelect) '
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: translateDelete
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14821,1
    - Dst: translateCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14827,1
    - Dst: translateAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14833,1
    - Dst: translateS3MigrateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14839,1
    - Dst: translateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14848,1
    - Dst: translateCreateSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14842,1
    - Dst: translateCreateStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14942,1
    - Dst: translateResumeStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14951,1
    - Dst: translateCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14924,1
    - Dst: translateGrant
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14963,1
    - Dst: translateDropStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14945,1
    - Dst: translateRevoke
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14966,1
    - Dst: translateKillTransaction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14939,1
    - Dst: translateDropFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14960,1
    - Dst: translateCompactDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14921,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14813,1
    - Dst: translateSelect
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14815,1
    - Dst: translateAlterSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14852,1
    - Dst: translateUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14864,1
    - Dst: translateAlterUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14858,1
    - Dst: translateAlterDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14873,1
    - Dst: translateDropAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14879,1
    - Dst: translateCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14885,1
    - Dst: translateDropComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14900,1
    - Dst: translateCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14903,1
    - Dst: translateExplain
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14915,1
    - Dst: translateKillCompact
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14933,1
    - Dst: translateShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15001,1
    - Dst: translateKillQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14936,1
    - Dst: translateDropCGroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14909,1
    - Dst: translateShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14995,1
    - Dst: translateCreateTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15016,1
    - Dst: translateRedistributeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14982,1
    - Dst: translateKillConnection
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14930,1
    - Dst: translateSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14818,1
    - Dst: translateInsert
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14824,1
    - Dst: translateDropDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14830,1
    - Dst: translateTrimDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14836,1
    - Dst: translateDropTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14845,1
    - Dst: translateCreateComponentNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14894,1
    - Dst: translateBalanceVgroupLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14976,1
    - Dst: translateMergeVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14979,1
    - Dst: translateSplitVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14985,1
    - Dst: translateShowVariables
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14988,1
    - Dst: translateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15010,1
    - Dst: translateDropView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15013,1
    - Dst: translateCreateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14957,1
    - Dst: translateShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14991,1
    - Dst: translateRestoreDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15007,1
    - Dst: translateShowCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14998,1
    - Dst: translateDropUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14861,1
    - Dst: translateCreateUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14855,1
    - Dst: translateCreateDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14867,1
    - Dst: translateDropDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14870,1
    - Dst: translateCreateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14876,1
    - Dst: translateUpdateAnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14882,1
    - Dst: translateDropIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14888,1
    - Dst: translateDropTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14906,1
    - Dst: translateAlterLocal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14912,1
    - Dst: translateDescribe
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14918,1
    - Dst: translateResetStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14954,1
    - Dst: translateAssignLeader
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14972,1
    - Dst: translateAlterCluster
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14927,1
    - Dst: translateDropTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15021,1
    - Dst: translatePauseStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14948,1
    - Dst: translateBalanceVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14969,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 133
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 15027
      start: 14811
    functionDepth: 0
    functionLinenumber: 14811
    functionLinenumberEnd: 15027
    functionName: translateQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateAlterSuperTable
    - translateKillQuery
    - translateRedistributeVgroup
    - translateDropAnode
    - translateCreateFunction
    - translateDropTopic
    - translateDelete
    - translateDescribe
    - translateDropFunction
    - translateCreateTSMA
    - nodeType
    - translateTrimDatabase
    - translateKillCompact
    - translateShowVariables
    - translateShowCreateDatabase
    - translateShowCreateTable
    - translateDropDatabase
    - translateDropIndex
    - translateAlterLocal
    - translateRevoke
    - translateShowCreateView
    - translateCompactDb
    - translateS3MigrateDatabase
    - translateExplain
    - translateBalanceVgroupLeader
    - translateCreateDnode
    - translateAlterDatabase
    - translatePauseStream
    - translateRestoreDnode
    - translateCreateDatabase
    - translateCompactVgroups
    - translateResumeStream
    - translateGrant
    - translateDropTSMA
    - translateShowCreateVTable
    - translateBalanceVgroup
    - translateAlterCluster
    - translateUpdateAnode
    - translateSelect
    - translateUseDatabase
    - translateCreateUser
    - translateCreateStream
    - translateCreateSuperTable
    - translateDropDnode
    - translateDropCGroup
    - translateCreateAnode
    - translateCreateComponentNode
    - translateDropComponentNode
    - translateKillTransaction
    - translateCreateTopic
    - translateAssignLeader
    - translateMergeVgroup
    - translateSplitVgroup
    - translateDropView
    - translateAlterUser
    - translateDropTable
    - translateCreateIndex
    - translateKillConnection
    - translateAlterDnode
    - translateResetStream
    - translateDropStream
    - translateInsert
    - translateSetOperator
    - translateDropUser
    - translateCreateView
    - translateDropSuperTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateQuery(STranslateContext* pCxt, SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 6409
      start: 6397
    functionDepth: 0
    functionLinenumber: 6397
    functionLinenumberEnd: 6409
    functionName: getPrecisionStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * getPrecisionStr(uint8_t precision) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7306,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7320,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - aTableTbnames
    - pInfo
    argTypes:
    - SArray*
    - SEqCondTbNameTableInfo*
    constantsTouched: []
    func_position:
      end: 7325
      start: 7303
    functionDepth: 0
    functionLinenumber: 7303
    functionLinenumberEnd: 7325
    functionName: unionEqualCondTbnamesOfSameTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayAddAll
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t unionEqualCondTbnamesOfSameTable(SArray* aTableTbnames,
      SEqCondTbNameTableInfo* pInfo) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10018,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9995,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9999,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9997,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10014,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10032,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10039,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10050,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10042,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10060,1
    - Dst: aggrRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10012,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10011,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10041,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10036,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10055,1
    - Dst: checkDecimalDataType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10056,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10023,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10029,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10040,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10034,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10043,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10035,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10063,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10072,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 117
    argCount: 5
    argNames:
    - pCxt
    - pHash
    - ntags
    - pCols
    - pRollupFuncs
    argTypes:
    - STranslateContext*
    - SHashObj*
    - int32_t
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 10076
      start: 9993
    functionDepth: 0
    functionLinenumber: 9993
    functionLinenumberEnd: 10076
    functionName: checkTableColsSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - taosHashGet
    - strlen
    - IS_DECIMAL_TYPE
    - FOREACH
    - aggrRollupFunc
    - taosHashPut
    - generateSyntaxErrMsg
    - checkDecimalDataType
    - nodesListGetNode
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableColsSchema(STranslateContext* pCxt, SHashObj*
      pHash, int32_t ntags, SNodeList* pCols, SNodeList* pRollupFuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10302,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10307,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10306,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10308,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    constantsTouched: []
    func_position:
      end: 10312
      start: 10300
    functionDepth: 0
    functionLinenumber: 10300
    functionLinenumberEnd: 10312
    functionName: buildTableForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTableForSampleAst(SSampleAstInfo* pInfo, SNode**
      pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SNode**
    constantsTouched: []
    func_position:
      end: 12476
      start: 12465
    functionDepth: 0
    functionLinenumber: 12465
    functionLinenumberEnd: 12476
    functionName: createNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createNullValue(SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 15039
      start: 15029
    functionDepth: 0
    functionLinenumber: 15029
    functionLinenumberEnd: 15039
    functionName: translateSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSubquery(STranslateContext* pCxt, SNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2496,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2500,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2495
    functionDepth: 0
    functionLinenumber: 2495
    functionLinenumberEnd: 2516
    functionName: getJoinProbeTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: STableNode*
    signature: 'STableNode * getJoinProbeTable(STranslateContext* pCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15896,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15902,1
    - Dst: createTagsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15906,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15900,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15909,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pProjections
    - pTags
    argTypes:
    - SNodeList**
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 15912
      start: 15894
    functionDepth: 0
    functionLinenumber: 15894
    functionLinenumberEnd: 15912
    functionName: createShowTableTagsProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesListMakeStrictAppend
    - createTbnameFunction
    - nodesListStrictAppend
    - createTagsFunction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createShowTableTagsProjections(SNodeList** pProjections,
      SNodeList** pTags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:791,1
    - Dst: getDbVgVersionFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:801,1
    - Dst: catalogGetDBVgVersion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:796,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:800,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 6
    argNames:
    - pCxt
    - pDbFName
    - pVersion
    - pDbId
    - pTableNum
    - pStateTs
    argTypes:
    - STranslateContext*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 804
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 804
    functionName: getDBVgVersion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - catalogGetDBVgVersion
    - collectUseDatabaseImpl
    - tstrerror
    - parserError
    - getDbVgVersionFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDBVgVersion(STranslateContext* pCxt, const char*
      pDbFName, int32_t* pVersion, int64_t* pDbId, int32_t* pTableNum, int64_t* pStateTs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7387,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7400,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7397,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7396,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - pCxt
    - aTbnames
    - dbName
    - numOfVgroups
    - vgsInfo
    argTypes:
    - STranslateContext*
    - SArray*
    - char*
    - int32_t
    - SVgroupsInfo*
    constantsTouched: []
    func_position:
      end: 7419
      start: 7384
    functionDepth: 0
    functionLinenumber: 7384
    functionLinenumberEnd: 7419
    functionName: findVgroupsFromEqualTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - catalogGetCachedTableHashVgroup
    - taosArrayGetSize
    - toName
    linkageType: ''
    returnType: void
    signature: 'static void findVgroupsFromEqualTbname(STranslateContext* pCxt, SArray*
      aTbnames, const char* dbName, int32_t numOfVgroups, SVgroupsInfo* vgsInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9272,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9282,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9276,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 9284
      start: 9270
    functionDepth: 0
    functionLinenumber: 9270
    functionLinenumberEnd: 9284
    functionName: checkDbCompactTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateValue
    - generateSyntaxErrMsgExt
    - checkDbRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbCompactTimeOffsetOption(STranslateContext* pCxt,
      SDatabaseOptions* pOptions) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:807,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:813,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:817,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:813,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:816,1
    - Dst: getDbCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:820,1
    - Dst: catalogGetDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:827,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:831,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:831,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 835
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 835
    functionName: getDBCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getDbCfgFromCache
    - catalogGetDBCfg
    - collectUseDatabaseImpl
    - tstrerror
    - strlen
    - IS_SYS_DBNAME
    - parserError
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDBCfg(STranslateContext* pCxt, const char* pDbName,
      SDbCfgInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7425,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7429,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7437,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7426,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7429,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7445,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7447,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7448,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7450,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7451,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7460,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7472,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7454,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - pCxt
    - pInfo
    argTypes:
    - STranslateContext*
    - SEqCondTbNameTableInfo*
    constantsTouched: []
    func_position:
      end: 7474
      start: 7421
    functionDepth: 0
    functionLinenumber: 7421
    functionLinenumberEnd: 7474
    functionName: replaceToChildTableQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - catalogGetCachedTableMeta
    - snprintf
    - taosMemoryFree
    - toName
    - taosCreateMD5Hash
    - tstrncpy
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tsnprintf
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replaceToChildTableQuery(STranslateContext* pCxt, SEqCondTbNameTableInfo*
      pInfo) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9297,1
    - Dst: checkDbPrecisionOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9318,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9327,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9334,1
    - Dst: checkDbEnumOption3
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9344,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9351,1
    - Dst: checkDbRetentionsOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9355,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9361,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9365,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9373,1
    - Dst: checkDbDaysOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9304,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9310,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9314,1
    - Dst: checkOptionsDependency
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9393,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9400,1
    - Dst: checkDbCompactTimeRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9406,1
    - Dst: checkDbTbPrefixSuffixOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9387,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9288,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9301,1
    - Dst: checkDbEncryptAlgorithmOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9293,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9348,1
    - Dst: checkDbKeepTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9324,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9330,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9338,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9358,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9369,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9376,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9379,1
    - Dst: checkDbCacheModelOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9290,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9307,1
    - Dst: checkDbStrictOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9341,1
    - Dst: checkDbKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9321,1
    - Dst: checkDbS3KeepLocalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9390,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9396,1
    - Dst: checkDbCompactIntervalOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9403,1
    - Dst: checkDbEnumOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9383,1
    - Dst: checkDbCompactTimeOffsetOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9409,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 146
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - STranslateContext*
    - char*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 9412
      start: 9286
    functionDepth: 0
    functionLinenumber: 9286
    functionLinenumberEnd: 9412
    functionName: checkDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkDbCompactIntervalOption
    - checkDbDaysOption
    - checkOptionsDependency
    - checkDbEnumOption3
    - checkDbEnumOption
    - checkDbCompactTimeOffsetOption
    - checkDbStrictOption
    - checkDbKeepTimeOffsetOption
    - checkDbCacheModelOption
    - checkDbRangeOption
    - checkDbTbPrefixSuffixOptions
    - checkDbKeepOption
    - checkDbCompactTimeRangeOption
    - checkDbS3KeepLocalOption
    - checkDbPrecisionOption
    - checkDbEncryptAlgorithmOption
    - checkDbRetentionsOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDatabaseOptions(STranslateContext* pCxt, const
      char* pDbName, SDatabaseOptions* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:483,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:484,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pFullDbName
    - pDbs
    argTypes:
    - char*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: collectUseDatabaseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - strlen
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectUseDatabaseImpl(const char* pFullDbName, SHashObj*
      pDbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - v1
    - v2
    argTypes:
    - STranslateContext*
    - char*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 8986
      start: 8980
    functionDepth: 0
    functionLinenumber: 8980
    functionLinenumberEnd: 8986
    functionName: checkDbEnumOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbEnumOption(STranslateContext* pCxt, const char*
      pName, int32_t val, int32_t v1, int32_t v2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9667,1
    - Dst: translateGetDbCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9672,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9672,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9674,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9668,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9682,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9684,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9689,1
    - Dst: buildAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9700,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9703,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9704,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9706
      start: 9666
    functionDepth: 0
    functionLinenumber: 9666
    functionLinenumberEnd: 9706
    functionName: translateAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateGetDbCfg
    - buildAlterDbReq
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tFreeSAlterDbReq
    - TAOS_CHECK_RETURN
    - IS_SYS_DBNAME
    - checkDatabaseOptions
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterDatabase(STranslateContext* pCxt, SAlterDatabaseStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11980,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11989,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11984,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - pCxt
    - dbName
    - pStart
    - pEnd
    - timeRange
    argTypes:
    - STranslateContext*
    - char*
    - SNode*
    - SNode*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 11996
      start: 11977
    functionDepth: 0
    functionLinenumber: 11977
    functionLinenumberEnd: 11996
    functionName: translateCompactRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - doTranslateValue
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCompactRange(STranslateContext* pCxt, const
      char* dbName, SNode* pStart, SNode* pEnd, STimeWindow* timeRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:489,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - collectUseDatabaseImpl
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectUseDatabase(const SName* pName, SHashObj* pDbs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - pCxt
    - pName
    - val
    - v1
    - v2
    - v3
    argTypes:
    - STranslateContext*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 8995
      start: 8988
    functionDepth: 0
    functionLinenumber: 8988
    functionLinenumberEnd: 8995
    functionName: checkDbEnumOption3
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbEnumOption3(STranslateContext* pCxt, const char*
      pName, int32_t val, int32_t v1, int32_t v2, int32_t v3) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9711,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9713,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9711,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9714,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - STrimDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9715
      start: 9708
    functionDepth: 0
    functionLinenumber: 9708
    functionLinenumberEnd: 9715
    functionName: translateTrimDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTrimDatabase(STranslateContext* pCxt, STrimDatabaseStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12004,1
    - Dst: translateCompactRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12008,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12007,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12004,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12010,1
    - Dst: tFreeSCompactDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCompactDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 12014
      start: 11998
    functionDepth: 0
    functionLinenumber: 11998
    functionLinenumberEnd: 12014
    functionName: translateCompactDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeSCompactDbReq
    - translateCompactRange
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCompactDb(STranslateContext* pCxt, SCompactDatabaseStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1104,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1105
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1105
    functionName: isTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsTimelineFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isTimelineFunc(const SNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1413,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1419,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1423,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1424,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1426,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1431,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1433,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1436,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - pTable
    - pExpr
    - pColRef
    - joinSrc
    argTypes:
    - STempTableNode*
    - SExprNode*
    - SColumnNode**
    - bool
    constantsTouched: []
    func_position:
      end: 1441
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1441
    functionName: setColumnInfoByExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isPrimaryKeyImpl
    - tstrncpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setColumnInfoByExpr(STempTableNode* pTable, SExprNode*
      pExpr, SColumnNode** pColRef, bool joinSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1632,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1643,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1633,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1641,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1650
    functionName: findAndSetVirtualTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isInternalPrimaryKey
    - setColumnPrimTs
    - setVtbColumnInfoBySchema
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findAndSetVirtualTableColumn(STranslateContext* pCxt,
      SColumnNode** pColRef, STableNode* pTable, bool* pFound) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4314,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4321,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pDnodes
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    constantsTouched: []
    func_position:
      end: 4324
      start: 4313
    functionDepth: 0
    functionLinenumber: 4313
    functionLinenumberEnd: 4324
    functionName: dnodeToVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dnodeToVgroupsInfo(SArray* pDnodes, SVgroupsInfo**
      pVgsInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6579,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6584,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6580,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6579,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 6588
      start: 6577
    functionDepth: 0
    functionLinenumber: 6577
    functionLinenumberEnd: 6588
    functionName: checkStateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkStateExpr(STranslateContext* pCxt, SNode* pNode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10213,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10214,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10218,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10219,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10225,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10227,1
    - Dst: checkTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10232,1
    - Dst: checkTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10235,1
    - Dst: checkTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10238,1
    - Dst: checkTableRollupOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10241,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10250,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10257,1
    - Dst: checkTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10247,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10263,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10253,1
    - Dst: checkTableSmaOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - createStable
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 10266
      start: 10212
    functionDepth: 0
    functionLinenumber: 10212
    functionLinenumberEnd: 10266
    functionName: checkCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - checkTableSmaOption
    - strchr
    - checkTableKeepOption
    - checkTableMaxDelayOption
    - checkTableSchema
    - IS_SYS_DBNAME
    - checkColumnOptions
    - checkTableRollupOption
    - biCheckCreateTableTbnameCol
    - checkTableDeleteMarkOption
    - checkTableWatermarkOption
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateTable(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, bool createStable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 14336
      start: 14327
    functionDepth: 0
    functionLinenumber: 14327
    functionLinenumberEnd: 14336
    functionName: compareTsmaColWithColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t compareTsmaColWithColId(SNode* pNode1, SNode* pNode2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4327,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4327,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4329,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4328,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4330
      start: 4326
    functionDepth: 0
    functionLinenumber: 4326
    functionLinenumberEnd: 4330
    functionName: sysTableFromVnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool sysTableFromVnode(const char* pTable) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1450,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1473,1
    - Dst: IS_SEMI_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1467,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1468,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1451,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1474,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pTable
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - STableNode*
    constantsTouched: []
    func_position:
      end: 1482
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1482
    functionName: setColumnPrimTs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_SEMI_JOIN
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'static void setColumnPrimTs(STranslateContext* pCxt, SColumnNode*
      pCol, const STableNode* pTable) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1659,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1663,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1663,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1660,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1678,1
    - Dst: findAndSetRealTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1680,1
    - Dst: findAndSetTempTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1683,1
    - Dst: findAndSetVirtualTableColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1686,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 31
    argCount: 5
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    - keepOriginTable
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 1694
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1694
    functionName: findAndSetColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isInternalPrimaryKey
    - nodeType
    - findAndSetTempTableColumn
    - findAndSetRealTableColumn
    - findAndSetVirtualTableColumn
    - IS_WINDOW_JOIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findAndSetColumn(STranslateContext* pCxt, SColumnNode**
      pColRef, STableNode* pTable, bool* pFound, bool keepOriginTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6595,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6599,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6596,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6598,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6603
      start: 6590
    functionDepth: 0
    functionLinenumber: 6590
    functionLinenumberEnd: 6603
    functionName: checkStateWindowForStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - hasTbnameFunction
    - generateSyntaxErrMsgExt
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkStateWindowForStream(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10276,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10281,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pCol
    - colId
    - pSchema
    argTypes:
    - SColumnDefNode*
    - col_id_t
    - SSchema*
    constantsTouched: []
    func_position:
      end: 10284
      start: 10268
    functionDepth: 0
    functionLinenumber: 10268
    functionLinenumberEnd: 10284
    functionName: toSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - tstrncpy
    - calcTypeBytes
    linkageType: ''
    returnType: void
    signature: 'static void toSchema(const SColumnDefNode* pCol, col_id_t colId, SSchema*
      pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compareTsmaColWithColId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 2
    argNames:
    - pNode1
    - pNode2
    argTypes:
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 14350
      start: 14338
    functionDepth: 0
    functionLinenumber: 14338
    functionLinenumberEnd: 14350
    functionName: compareTsmaFuncWithFuncAndColId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - compareTsmaColWithColId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t compareTsmaFuncWithFuncAndColId(SNode* pNode1, SNode*
      pNode2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 12427
      start: 12422
    functionDepth: 0
    functionLinenumber: 12422
    functionLinenumberEnd: 12427
    functionName: getTagNameForCreateStreamTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: char*
    signature: 'static const char * getTagNameForCreateStreamTag(SNode* pTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1113,1
    - Dst: fmIsPrimaryKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1114
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1114
    functionName: isPkFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsPrimaryKeyFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isPkFunc(const SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2131,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2134,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2132,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2135,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2137,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2143
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2143
    functionName: parseBoolFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - taosStr2Double
    - taosStr2Int64
    - strcasecmp
    - IS_FLOAT_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseBoolFromValueNode(STranslateContext* pCxt, SValueNode*
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7776
      start: 7773
    functionDepth: 0
    functionLinenumber: 7773
    functionLinenumberEnd: 7776
    functionName: appendPkParamForPkFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t appendPkParamForPkFunc(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10633,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10636,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10633,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10638,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pFuncs
    - pArray
    argTypes:
    - SNodeList*
    - SArray**
    constantsTouched: []
    func_position:
      end: 10644
      start: 10629
    functionDepth: 0
    functionLinenumber: 10629
    functionLinenumberEnd: 10644
    functionName: buildRollupFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayDestroy
    - FOREACH
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRollupFuncs(SNodeList* pFuncs, SArray** pArray) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17672,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17677,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17674,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17679,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17682,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17684,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17693,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17695,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17697,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17719,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17736,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17737,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17711,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17709,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17717,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - colName
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - char*
    - SMultiTagUpateVal*
    constantsTouched: []
    func_position:
      end: 17740
      start: 17668
    functionDepth: 0
    functionLinenumber: 17668
    functionLinenumberEnd: 17740
    functionName: buildUpdateTagValReqImpl2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - generateSyntaxErrMsgExt
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - taosArrayDestroy
    - getTagSchema
    - parseTagValue
    - taosMemoryFree
    - NEXT_TOKEN_WITH_PREV
    - taosStrdup
    - IS_VAR_DATA_TYPE
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateTagValReqImpl2(STranslateContext* pCxt,
      SAlterTableStmt* pStmt, STableMeta* pTableMeta, char* colName, SMultiTagUpateVal*
      pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18616,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18624,1
    - Dst: serializeFlushDb
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18618,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18621,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18626,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18628
      start: 18611
    functionDepth: 0
    functionLinenumber: 18611
    functionLinenumberEnd: 18628
    functionName: rewriteFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getDBVgInfo
    - serializeFlushDb
    - rewriteToVnodeModifyOpStmt
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteFlushDatabase(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1117,1
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1118
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1118
    functionName: isScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsScanPseudoColumnFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isScanPseudoColumnFunc(const SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2146,1
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2149,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2148,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2155
    functionName: translateDurationValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - parseNatualDuration
    - generateDealNodeErrMsg
    - getPrecisionUnit
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateDurationValue(STranslateContext* pCxt, SValueNode*
      pVal) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: columnDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10662,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10665,1
    - Dst: tagDefNodeToField
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10663,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10668,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10666,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10672,1
    - Dst: buildRollupFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10676,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10679,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10680,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10681,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10683,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10685,1
    - Dst: buildRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 10694
      start: 10646
    functionDepth: 0
    functionLinenumber: 10646
    functionLinenumberEnd: 10694
    functionName: buildCreateStbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tagDefNodeToField
    - LIST_LENGTH
    - tNameExtractFullName
    - buildRollupAst
    - toName
    - collectUseTable
    - columnDefNodeToField
    - strlen
    - taosStrdup
    - taosArrayGetSize
    - buildRollupFuncs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateStbReq(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, SMCreateStbReq* pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16103,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16104,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16106,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16108,1
    - Dst: tInitDefaultSColRefWrapperByCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16113,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16115,1
    - Dst: toSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16118,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16120,1
    - Dst: setColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16131,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16130,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16137,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16138,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16132,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16129,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 3
    argNames:
    - pStmt
    - pVgroupInfo
    - pBatch
    argTypes:
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SVgroupCreateTableBatch*
    constantsTouched: []
    func_position:
      end: 16140
      start: 16095
    functionDepth: 0
    functionLinenumber: 16095
    functionLinenumberEnd: 16140
    functionName: buildVirtualTableBatchReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - setColRef
    - taosArrayDestroy
    - toSchema
    - taosMemoryCalloc
    - strcpy
    - PAR_ERR_JRET
    - tInitDefaultSColRefWrapperByCols
    - FOREACH
    - taosArrayPush
    - taosStrdup
    - tdDestroySVCreateTbReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVirtualTableBatchReq(const SCreateVTableStmt*
      pStmt, const SVgroupInfo* pVgroupInfo, SVgroupCreateTableBatch* pBatch) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17745,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17750,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17765,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17754,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17767,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17769,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17774,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17781,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17783,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17793,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17796,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 65
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - colName
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - char*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 17810
      start: 17741
    functionDepth: 0
    functionLinenumber: 17741
    functionLinenumberEnd: 17810
    functionName: buildUpdateTagValReqImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - getTagSchema
    - parseTagValue
    - NEXT_TOKEN_WITH_PREV
    - taosStrdup
    - IS_VAR_DATA_TYPE
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateTagValReqImpl(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, char* colName, SVAlterTbReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18633,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18641
      start: 18630
    functionDepth: 0
    functionLinenumber: 18630
    functionLinenumberEnd: 18641
    functionName: rewriteShowCompacts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowCompacts(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18568,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18576,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18578,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18574,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18573,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18584,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pVg
    - pBufArray
    argTypes:
    - SVgroupInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 18589
      start: 18566
    functionDepth: 0
    functionLinenumber: 18566
    functionLinenumberEnd: 18589
    functionName: serializeFlushVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t serializeFlushVgroup(SVgroupInfo* pVg, SArray* pBufArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getDnodeListFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:895,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:904,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:904,1
    - Dst: catalogGetDnodeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pDnodes
    argTypes:
    - STranslateContext*
    - SArray**
    constantsTouched: []
    func_position:
      end: 907
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 907
    functionName: getDnodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - catalogGetDnodeList
    - getDnodeListFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDnodeList(STranslateContext* pCxt, SArray** pDnodes) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14076,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14089,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14086,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14087,1
    - Dst: createRealTableForGrantTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14083,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14095,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14096,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14102,1
    - Dst: addNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14109,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14112,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14117,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14115,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    - SAlterUserReq*
    constantsTouched: []
    func_position:
      end: 14119
      start: 14072
    functionDepth: 0
    functionLinenumber: 14072
    functionLinenumberEnd: 14119
    functionName: translateGrantTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - getTargetMeta
    - toName
    - nodesDestroyNode
    - nodesNodeToString
    - translateExpr
    - addNamespace
    - createRealTableForGrantTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGrantTagCond(STranslateContext* pCxt, SGrantStmt*
      pStmt, SAlterUserReq* pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16287,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16301,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16296,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16302,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16300,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16304,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16305,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16306,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16308,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16312,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16314,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16321,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16320,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16323,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - pTbBatch
    - pBufArray
    argTypes:
    - SVgroupCreateTableBatch*
    - SArray*
    constantsTouched: []
    func_position:
      end: 16328
      start: 16282
    functionDepth: 0
    functionLinenumber: 16282
    functionLinenumberEnd: 16328
    functionName: serializeVgroupCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tEncodeSVCreateTbBatchReq
    - taosMemoryCalloc
    - POINTER_SHIFT
    - taosArrayPush
    - tEncodeSize
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t serializeVgroupCreateTableBatch(SVgroupCreateTableBatch*
      pTbBatch, SArray* pBufArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pTags
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 12435
      start: 12429
    functionDepth: 0
    functionLinenumber: 12429
    functionLinenumberEnd: 12435
    functionName: isTagDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isTagDef(SNodeList* pTags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:913,1
    - Dst: catalogGetTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:919,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:923,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - ppTsmas
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 925
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 925
    functionName: getTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - catalogGetTableTsmas
    - getTableTsmasFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableTsmas(STranslateContext* pCxt, const SName*
      pName, SArray** ppTsmas) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14130,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14134,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14139,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14134,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14143,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14144,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14145,1
    - Dst: translateGrantTagCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14147,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14150,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SGrantStmt*
    constantsTouched: []
    func_position:
      end: 14154
      start: 14121
    functionDepth: 0
    functionLinenumber: 14121
    functionLinenumberEnd: 14154
    functionName: translateGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSAlterUserReq
    - taosMemoryFree
    - getTargetMeta
    - snprintf
    - buildCmdMsg
    - toName
    - tstrncpy
    - tstrerror
    - translateGrantTagCond
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGrant(STranslateContext* pCxt, SGrantStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16332,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 16339
      start: 16330
    functionDepth: 0
    functionLinenumber: 16330
    functionLinenumberEnd: 16339
    functionName: destroyCreateTbReqBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    - tdDestroySVCreateTbReq
    linkageType: ''
    returnType: void
    signature: 'static void destroyCreateTbReqBatch(void* data) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16646,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16650,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16662,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16655,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16661,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16666,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16670,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16672,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16678,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16682,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16690,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16686,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16689,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 16692
      start: 16645
    functionDepth: 0
    functionLinenumber: 16645
    functionLinenumberEnd: 16692
    functionName: rewriteCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - toName
    - buildKVRowForBindTags
    - collectUseTable
    - addCreateTbReqIntoVgroup
    - taosMemoryFreeClear
    - generateSyntaxErrMsg
    - buildKVRowForAllTags
    - getTableHashVgroup
    - checkCreateSubTable
    - taosArrayInit
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateSubTable(STranslateContext* pCxt, SCreateSubTableClause*
      pStmt, SHashObj* pVgroupHashmap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6749,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6754,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6755,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6761
      start: 6746
    functionDepth: 0
    functionLinenumber: 6746
    functionLinenumberEnd: 6761
    functionName: collectWindowsPseudocolumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListStrictAppend
    - nodesCloneNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectWindowsPseudocolumns(SNode* pNode, void* pContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13059,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pMeta
    - pTags
    argTypes:
    - STableMeta*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 13060
      start: 13058
    functionDepth: 0
    functionLinenumber: 13058
    functionLinenumberEnd: 13060
    functionName: isGroupIdTagStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableTagSchema
    linkageType: ''
    returnType: bool
    signature: 'static bool isGroupIdTagStream(const STableMeta* pMeta, SNodeList*
      pTags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6765,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6779,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6769,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6774,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6785,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 6787
      start: 6763
    functionDepth: 0
    functionLinenumber: 6763
    functionLinenumberEnd: 6787
    functionName: checkWindowsConditonValid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    - nodesMakeList
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkWindowsConditonValid(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isGroupIdTagStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13064,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13066,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13065,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13066,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13070,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13070,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13071,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13074,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13077,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13080,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13086,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - pCxt
    - pMeta
    - pTags
    - pReq
    argTypes:
    - STranslateContext*
    - STableMeta*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13091
      start: 13062
    functionDepth: 0
    functionLinenumber: 13062
    functionLinenumberEnd: 13091
    functionName: adjustDataTypeOfTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getTableTagSchema
    - generateSyntaxErrMsgExt
    - createCastFunc
    - isGroupIdTagStream
    - tstrncpy
    - getNumOfTags
    - FOREACH
    - dataTypeEqual
    - tListLen
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustDataTypeOfTags(STranslateContext* pCxt, const
      STableMeta* pMeta, SNodeList* pTags, SCMCreateStreamReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 12902
      start: 12897
    functionDepth: 0
    functionLinenumber: 12897
    functionLinenumberEnd: 12902
    functionName: projColPosCompar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t projColPosCompar(const void* l, const void* r) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16699,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16713,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16716,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16732,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16735,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16753,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16765,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16701,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16724,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16728,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16734,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16729,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16758,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16709,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16734,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16769,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16698,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16701,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16716,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16717,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16742,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16741,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16734,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16746,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 4
    argNames:
    - pMsgBuf
    - pStmt
    - pSuperTableMeta
    - aTagIndexs
    argTypes:
    - SMsgBuf*
    - SCreateSubTableFromFileClause*
    - STableMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 16771
      start: 16694
    functionDepth: 0
    functionLinenumber: 16694
    functionLinenumberEnd: 16771
    functionName: buildTagIndexForBindTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - getTableTagSchema
    - strcmp
    - taosHashGet
    - strlen
    - FOREACH
    - getNumOfTags
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - generateSyntaxErrMsg
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTagIndexForBindTags(SMsgBuf* pMsgBuf, SCreateSubTableFromFileClause*
      pStmt, STableMeta* pSuperTableMeta, SArray* aTagIndexs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1078,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1079
    functionName: isInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsInterpFunc
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isInterpFunc(const SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4526,1
    - Dst: setSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4530,1
    - Dst: setNormalTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4533,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4534
      start: 4520
    functionDepth: 0
    functionLinenumber: 4520
    functionLinenumberEnd: 4534
    functionName: setTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - setSysTableVgroupList
    - setSuperTableVgroupList
    - setNormalTableVgroupList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5681,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5699,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5709,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5712,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5706,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5702,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5684,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5704,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5685,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5698,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5711,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5677,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5683,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5692,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5695,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5701,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5714,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5710,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5703,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 3
    argNames:
    - pSrcFunc
    - pExpr
    - ppNodeOut
    argTypes:
    - SFunctionNode*
    - SExprNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 5718
      start: 5675
    functionDepth: 0
    functionLinenumber: 5675
    functionLinenumberEnd: 5718
    functionName: createMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - tsnprintf
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeList
    - nodesCloneNode
    - nodesListStrictAppend
    - taosHashBinary
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMultiResFunc(SFunctionNode* pSrcFunc, SExprNode*
      pExpr, SNode** ppNodeOut) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10724,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10728,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTableStmt*
    constantsTouched: []
    func_position:
      end: 10729
      start: 10723
    functionDepth: 0
    functionLinenumber: 10723
    functionLinenumberEnd: 10729
    functionName: translateDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - nodesListGetNode
    - doTranslateDropSuperTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropTable(STranslateContext* pCxt, SDropTableStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17162,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17159,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17154,1
    - Dst: rewriteCreateSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17164,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17166,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17172,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17173,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17178,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17179
      start: 17151
    functionDepth: 0
    functionLinenumber: 17151
    functionLinenumberEnd: 17179
    functionName: rewriteCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteCreateSubTable
    - serializeVgroupsCreateTableBatch
    - rewriteToVnodeModifyOpStmt
    - FOREACH
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateMultiTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6444,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6498,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6500,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6481,1
    - Dst: convertVarDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6486,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6476,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6494,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6504,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6449,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6446,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6455,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6456,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6464,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6466,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6495,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6517,1
    - Dst: getPrecisionMultiple
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6448,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6472,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6468,1
    - Dst: getMonthsFromTimeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6508,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6513,1
    - Dst: getPrecisionStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6447,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6461,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 84
    argCount: 2
    argNames:
    - pCxt
    - pInterval
    argTypes:
    - STranslateContext*
    - SIntervalWindowNode*
    constantsTouched: []
    func_position:
      end: 6522
      start: 6440
    functionDepth: 0
    functionLinenumber: 6440
    functionLinenumberEnd: 6522
    functionName: checkIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getPrecisionStr
    - convertTimePrecision
    - getPrecisionMultiple
    - IS_CALENDAR_TIME_DURATION
    - parserError
    - convertVarDuration
    - generateSyntaxErrMsg
    - getPrecisionUnit
    - getMonthsFromTimeVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkIntervalWindow(STranslateContext* pCxt, SIntervalWindowNode*
      pInterval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1082,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1083
    functionName: isInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsInterpPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isInterpPseudoColumnFunc(const SNode* pNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4086,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4089,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4095,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4096,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4099,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4100,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4101,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4105,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4106,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4109,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4110,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4112,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4113,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4112,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4113,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 42
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 4117
      start: 4084
    functionDepth: 0
    functionLinenumber: 4084
    functionLinenumberEnd: 4117
    functionName: doCheckAggColCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isVectorFunc
    - fromSingleTable
    - nodesIsExprNode
    - isColsFunctionResult
    - isRelatedToOtherExpr
    - nodesEqualNode
    - isScanPseudoColumnFunc
    - FOREACH
    - rewriteExprToSelectTagFunc
    - hasTbnameFunction
    - rewriteExprToGroupKeyFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doCheckAggColCoexist(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4537,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 4543
      start: 4536
    functionDepth: 0
    functionLinenumber: 4536
    functionLinenumberEnd: 4543
    functionName: getStmtPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t getStmtPrecision(SNode* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5722,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5726,1
    - Dst: createColumnsByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5730,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pCol
    - igTags
    - pOutput
    argTypes:
    - STranslateContext*
    - SColumnNode*
    - bool
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5733
      start: 5720
    functionDepth: 0
    functionLinenumber: 5720
    functionLinenumberEnd: 5733
    functionName: createTableAllCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createColumnsByTable
    - nodesMakeList
    - generateSyntaxErrMsg
    - findTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableAllCols(STranslateContext* pCxt, SColumnNode*
      pCol, bool igTags, SNodeList** pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10733,1
    - Dst: doTranslateDropSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropSuperTableStmt*
    constantsTouched: []
    func_position:
      end: 10735
      start: 10731
    functionDepth: 0
    functionLinenumber: 10731
    functionLinenumberEnd: 10735
    functionName: translateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - doTranslateDropSuperTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropSuperTable(STranslateContext* pCxt, SDropSuperTableStmt*
      pStmt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14513,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14520,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14519,1
    - Dst: createColumnBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14517,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14522,1
    - Dst: fmIsImplicitTsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14524,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14524,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14525,1
    - Dst: fmCreateStateMergeFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14531,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14534,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14563,1
    - Dst: nodesSortList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14567,1
    - Dst: deduplicateTsmaFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14568,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14557,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14537,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14536,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14544,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14555,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - columnNum
    - pCols
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - int32_t
    - SSchema*
    constantsTouched: []
    func_position:
      end: 14571
      start: 14505
    functionDepth: 0
    functionLinenumber: 14505
    functionLinenumberEnd: 14571
    functionName: rewriteTSMAFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListPushFront
    - nodesListErase
    - snprintf
    - LIST_LENGTH
    - nodeType
    - deduplicateTsmaFuncs
    - fmIsImplicitTsFunc
    - fmCreateStateMergeFuncs
    - strcmp
    - fmIsTSMASupportedFunc
    - nodesSortList
    - FOREACH
    - createColumnBySchema
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTSMAFuncs(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, int32_t columnNum, const SSchema* pCols) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17183,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17194,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17190,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17190,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17187,1
    - Dst: prepareReadCsvFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17198,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17200,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17204,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17206,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17211,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17215,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17217,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17222,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17212,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17226
      start: 17181
    functionDepth: 0
    functionLinenumber: 17181
    functionLinenumberEnd: 17226
    functionName: rewriteCreateTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosHashClear
    - prepareReadCsvFile
    - nodesDestroyNode
    - createSubTableFromFile
    - serializeVgroupsCreateTableBatch
    - taosHashCleanup
    - parserError
    - taosGetDefaultHashFunction
    - nodesMakeNode
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateTableFromFile(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDateTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2849,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2861
      start: 2848
    functionDepth: 0
    functionLinenumber: 2848
    functionLinenumberEnd: 2861
    functionName: translateDateTimeFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - fmIsDateTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDateTimeFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4437,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4441,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4443
      start: 4435
    functionDepth: 0
    functionLinenumber: 4435
    functionLinenumberEnd: 4443
    functionName: setSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toVgroupsInfo
    - taosArrayDestroy
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSuperTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1158,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1167
    functionName: isBlockTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isBlockTimeLineQuery(SNode* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1697,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1705,1
    - Dst: belongTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1702,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1701,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1698,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1712,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1716,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 1719
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1719
    functionName: translateColumnWithPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - belongTable
    - taosArrayGetSize
    - findAndSetColumn
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateColumnWithPrefix(STranslateContext* pCxt,
      SColumnNode** pCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3376,1
    - Dst: rewriteQueryTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3379
      start: 3373
    functionDepth: 0
    functionLinenumber: 3373
    functionLinenumberEnd: 3379
    functionName: rewriteQdurationFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteQueryTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteQdurationFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7641,1
    - Dst: createPrimaryKeyColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - tableAlias
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 7646
      start: 7639
    functionDepth: 0
    functionLinenumber: 7639
    functionLinenumberEnd: 7646
    functionName: tranCreatePrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createPrimaryKeyColByTable
    - findTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tranCreatePrimaryKeyCol(STranslateContext* pCxt, const
      char* tableAlias, SNode** pPrimaryKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9719,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9726,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9724,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 9730
      start: 9717
    functionDepth: 0
    functionLinenumber: 9717
    functionLinenumberEnd: 9730
    functionName: checkColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkColumnCompressOrSetDefault
    - FOREACH
    - checkColumnLevelOrSetDefault
    - checkColumnEncodeOrSetDefault
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkColumnOptions(SNodeList* pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17893,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17893,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17897,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17897,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17902,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17905,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17907,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17907,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17911,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17912,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17920,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17912,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17916,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - pCxt
    - pRefDbName
    - pRefTableName
    - pRefColName
    - type
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - char*
    - SDataType
    constantsTouched: []
    func_position:
      end: 17922
      start: 17889
    functionDepth: 0
    functionLinenumber: 17889
    functionLinenumberEnd: 17922
    functionName: checkColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getColSchema
    - getNumOfColumns
    - PAR_ERR_JRET
    - taosMemoryFreeClear
    - generateSyntaxErrMsg
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkColRef(STranslateContext* pCxt, char* pRefDbName,
      char* pRefTableName, char* pRefColName, SDataType type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3382,1
    - Dst: rewriteQendFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3390,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3384,1
    - Dst: rewriteQstartFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3388,1
    - Dst: rewriteQdurationFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3392,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3397
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3397
    functionName: rewriteClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - rewriteQendFunc
    - rewriteQstartFunc
    - rewriteQdurationFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteClientPseudoColumnFunc(STranslateContext* pCxt,
      SNode** pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4447,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4452,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4450,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVirtualTable
    argTypes:
    - STranslateContext*
    - SName*
    - SVirtualTableNode*
    constantsTouched: []
    func_position:
      end: 4454
      start: 4445
    functionDepth: 0
    functionLinenumber: 4445
    functionLinenumberEnd: 4454
    functionName: setVSuperTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toVgroupsInfo
    - taosMemoryFreeClear
    - taosArrayDestroy
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setVSuperTableVgroupList(STranslateContext* pCxt, SName*
      pName, SVirtualTableNode* pVirtualTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1170,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1179
    functionName: isTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isTimeLineQuery(SNode* pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1722,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1729,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1723,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1727,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1725,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1735,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1745,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1746,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1748,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1750,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 1754
      start: 1721
    functionDepth: 0
    functionLinenumber: 1721
    functionLinenumberEnd: 1754
    functionName: translateColumnWithoutPrefix
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - isInternalPrimaryKey
    - isSelectStmt
    - taosArrayGetSize
    - findAndSetColumn
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateColumnWithoutPrefix(STranslateContext* pCxt,
      SColumnNode** pCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2864,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 2870
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2870
    functionName: hasFillClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool hasFillClause(SNode* pCurrStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7649,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7662,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7655,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7662,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7668
      start: 7648
    functionDepth: 0
    functionLinenumber: 7648
    functionLinenumberEnd: 7668
    functionName: collectTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - tSimpleHashInit
    - strlen
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectTableAlias(SNode* pNode, void* pContext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9738,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9755,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9742,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9760,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9747,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - createStable
    - daysToKeep2
    argTypes:
    - STranslateContext*
    - STableOptions*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 9765
      start: 9732
    functionDepth: 0
    functionLinenumber: 9732
    functionLinenumberEnd: 9765
    functionName: checkTableKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateValue
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableKeepOption(STranslateContext* pCxt, STableOptions*
      pOptions, bool createStable, int32_t daysToKeep2) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17936,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17943,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17948,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17951,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17957,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17996,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17932,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17942,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17961,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17967,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17963,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17969,1
    - Dst: checkColumnEncodeOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17983,1
    - Dst: checkColumnCompressOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17984,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17989,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17990,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17944,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17975,1
    - Dst: checkColumnLevelOrSetDefault
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17986,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17988,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17988,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17995,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17928,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17931,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17937,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17941,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17961,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17952,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17966,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17968,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17970,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17981,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 95
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18001
      start: 17924
    functionDepth: 0
    functionLinenumber: 17924
    functionLinenumberEnd: 18001
    functionName: buildAddColReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - columnEncodeVal
    - getColSchema
    - columnLevelVal
    - checkColumnCompressOrSetDefault
    - PAR_ERR_RET
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    - taosStrdup
    - checkColumnEncodeOrSetDefault
    - checkColRef
    - setColCompressByOption
    - columnCompressVal
    - generateSyntaxErrMsg
    - checkColumnLevelOrSetDefault
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAddColReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19434,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19448,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19439,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19446,1
    - Dst: rewriteQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19436,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 19452
      start: 19431
    functionDepth: 0
    functionLinenumber: 19431
    functionLinenumberEnd: 19452
    functionName: translate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - initTranslateContext
    - setQuery
    - destroyTranslateContext
    - setRefreshMeta
    - translateQuery
    - rewriteQuery
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t translate(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: translateAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3275,1
    - Dst: translateForbidStreamFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3297,1
    - Dst: translateMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3309,1
    - Dst: translateDateTimeFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3335,1
    - Dst: translateScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3278,1
    - Dst: translateMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3306,1
    - Dst: translateTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3332,1
    - Dst: translateInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3316,1
    - Dst: translateInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3312,1
    - Dst: translateWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3291,1
    - Dst: translateForbidFillFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3287,1
    - Dst: translateRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3303,1
    - Dst: translateDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3342,1
    - Dst: translateIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3284,1
    - Dst: translateForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3300,1
    - Dst: translateForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3326,1
    - Dst: translateBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3338,1
    - Dst: translateForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3322,1
    - Dst: setFuncClassification
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3345,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3348
      start: 3273
    functionDepth: 0
    functionLinenumber: 3273
    functionLinenumberEnd: 3348
    functionName: translateNormalFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateInterpFunc
    - translateScanPseudoColumnFunc
    - translateBlockDistFunc
    - translateMultiRowsFunc
    - translateForecastPseudoColumnFunc
    - translateMultiResFunc
    - translateForbidStreamFunc
    - translateInterpPseudoColumnFunc
    - setFuncClassification
    - translateRepeatScanFunc
    - translateAggFunc
    - translateForbidSysTableFunc
    - translateForecastFunc
    - translateForbidFillFunc
    - translateDBUsageFunc
    - translateTimelineFunc
    - translateIndefiniteRowsFunc
    - translateWindowPseudoColumnFunc
    - translateDateTimeFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateNormalFunction(STranslateContext* pCxt, SNode**
      ppNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7597,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7600,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7612,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7603,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7606,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7616,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 45
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7620
      start: 7593
    functionDepth: 0
    functionLinenumber: 7593
    functionLinenumberEnd: 7620
    functionName: checkLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExpr
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkLimit(STranslateContext* pCxt, SSelectStmt* pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildCreateFullTextReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11553,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11555,1
    - Dst: tFreeSMCreateFullTextReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 11559
      start: 11551
    functionDepth: 0
    functionLinenumber: 11551
    functionLinenumberEnd: 11559
    functionName: translateCreateFullTextIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - buildCreateFullTextReq
    - tFreeSMCreateFullTextReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateFullTextIndex(STranslateContext* pCxt,
      SCreateIndexStmt* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3352,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3360,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3359,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3361,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3355,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - val
    - pNode
    argTypes:
    - STranslateContext*
    - int64_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 3363
      start: 3350
    functionDepth: 0
    functionLinenumber: 3350
    functionLinenumberEnd: 3363
    functionName: rewriteQueryTimeFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - rewriteFuncToValue
    - snprintf
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteQueryTimeFunc(STranslateContext* pCxt, int64_t
      val, SNode** pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7624,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7629,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7633,1
    - Dst: findAndSetColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pPrimaryKey
    argTypes:
    - STranslateContext*
    - STableNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 7637
      start: 7622
    functionDepth: 0
    functionLinenumber: 7622
    functionLinenumberEnd: 7637
    functionName: createPrimaryKeyColByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - findAndSetColumn
    - generateSyntaxErrMsg
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPrimaryKeyColByTable(STranslateContext* pCxt,
      STableNode* pTable, SNode** pPrimaryKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11565,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11572,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11573,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11566,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11574,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11578,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11581,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11582,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11589,1
    - Dst: buildCreateTagIndexReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11587,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 11594
      start: 11561
    functionDepth: 0
    functionLinenumber: 11561
    functionLinenumberEnd: 11594
    functionName: translateCreateNormalIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCreateTagIndexReq
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - getTargetMeta
    - LIST_LENGTH
    - getTagSchema
    - buildCmdMsg
    - toName
    - FOREACH
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateNormalIndex(STranslateContext* pCxt,
      SCreateIndexStmt* pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14752,1
    - Dst: buildIntervalForCreateTSMA
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14754,1
    - Dst: createStreamReqVersionInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14758,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14763,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14763,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14768,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14772,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14777,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14778,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14781,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14786,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14783,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 14789
      start: 14746
    functionDepth: 0
    functionLinenumber: 14746
    functionLinenumberEnd: 14789
    functionName: translatePostCreateTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - initTranslateContext
    - buildCmdMsg
    - taosTimeAdd
    - createStreamReqVersionInfo
    - setQuery
    - tFreeSMCreateSmaReq
    - toName
    - destroyTranslateContext
    - setRefreshMeta
    - collectUseTable
    - buildIntervalForCreateTSMA
    - taosMemoryFreeClear
    - taosTimeTruncate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t translatePostCreateTSMA(SParseContext* pParseCxt, SQuery*
      pQuery, SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6931,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6940
      start: 6927
    functionDepth: 0
    functionLinenumber: 6927
    functionLinenumberEnd: 6940
    functionName: checkInterpForStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkInterpForStream(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 6423
      start: 6411
    functionDepth: 0
    functionLinenumber: 6411
    functionLinenumberEnd: 6423
    functionName: getPrecisionMultiple
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getPrecisionMultiple(uint8_t precision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7748,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 7750
      start: 7746
    functionDepth: 0
    functionLinenumber: 7746
    functionLinenumberEnd: 7750
    functionName: hasPkCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExprPostOrder
    linkageType: ''
    returnType: bool
    signature: 'static bool hasPkCol(SNode* pNode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12863,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12874,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12869,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12841,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12841,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12849,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12861,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12872,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12845,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12846,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12852,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12852,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12854,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12882,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12842,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12859,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12879,1
    - Dst: setColumnDefNodePrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12877,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12865,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 6
    argNames:
    - pCxt
    - pMeta
    - pProjections
    - ppCols
    - pReq
    - needQueryRes
    argTypes:
    - STranslateContext*
    - STableMeta*
    - SNodeList*
    - SNodeList**
    - SCMCreateStreamReq*
    - bool
    constantsTouched: []
    func_position:
      end: 12889
      start: 12839
    functionDepth: 0
    functionLinenumber: 12839
    functionLinenumberEnd: 12889
    functionName: adjustDataTypeOfProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - extractTypeFromTypeMod
    - createCastFunc
    - setColumnDefNodePrimaryKey
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - getNumOfColumns
    - strcmp
    - tstrncpy
    - IS_DECIMAL_TYPE
    - FOREACH
    - dataTypeEqual
    - getTableColumnSchema
    - nodesMakeNode
    - getTableColumnExtSchema
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustDataTypeOfProjections(STranslateContext* pCxt,
      const STableMeta* pMeta, SNodeList* pProjections, SNodeList** ppCols, SCMCreateStreamReq*
      pReq, bool needQueryRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13625,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13623,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13628,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13629,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13629,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13629,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13634,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pTb
    - pColIdList
    - pTbHash
    argTypes:
    - SVCTableRefCols*
    - SArray*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 13637
      start: 13619
    functionDepth: 0
    functionLinenumber: 13619
    functionLinenumberEnd: 13637
    functionName: modifyVtableSrcNumBasedOnCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - tSimpleHashGetSize
    - tSimpleHashClear
    - PAR_ERR_RET
    - strlen
    - tSimpleHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t modifyVtableSrcNumBasedOnCols(SVCTableRefCols* pTb,
      SArray* pColIdList, SSHashObj* pTbHash) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13924,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13933,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13925,1
    - Dst: validateCreateView
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13927,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13939,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13940,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13941,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13943,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13945,1
    - Dst: tFreeSCMCreateViewReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13954,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 13956
      start: 13916
    functionDepth: 0
    functionLinenumber: 13916
    functionLinenumberEnd: 13956
    functionName: translateCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - tFreeSCMCreateViewReq
    - snprintf
    - tstrdup
    - validateCreateView
    - buildCmdMsg
    - toName
    - tstrncpy
    - collectUseTable
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateView(STranslateContext* pCxt, SCreateViewStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SMergeVgroupStmt*
    constantsTouched: []
    func_position:
      end: 14214
      start: 14211
    functionDepth: 0
    functionLinenumber: 14211
    functionLinenumberEnd: 14214
    functionName: translateMergeVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateMergeVgroup(STranslateContext* pCxt, SMergeVgroupStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15474,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15480,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15482,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15487,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - opType
    - pColName
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 15491
      start: 15472
    functionDepth: 0
    functionLinenumber: 15472
    functionLinenumberEnd: 15491
    functionName: createIsOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIsOperatorNode(EOperatorType opType, const char*
      pColName, SNode** pOp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pOffset
    - precision
    argTypes:
    - SValueNode*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 6436
      start: 6425
    functionDepth: 0
    functionLinenumber: 6425
    functionLinenumberEnd: 6436
    functionName: convertVarDuration
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void convertVarDuration(SValueNode* pOffset, uint8_t precision) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultFillNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6946,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6952,1
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6955,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6949,1
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6958,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6960,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6967,1
    - Dst: doCheckFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6970,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6974,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6978,1
    - Dst: checkFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6981,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6986
      start: 6942
    functionDepth: 0
    functionLinenumber: 6942
    functionLinenumberEnd: 6986
    functionName: translateInterpFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createDefaultFillNode
    - generateSyntaxErrMsgExt
    - getQueryTimeRange
    - nodesWalkExprs
    - doCheckFillValues
    - translateExpr
    - checkFillValues
    - generateSyntaxErrMsg
    - checkFill
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterpFill(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7755,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7756,1
    - Dst: createPkColByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7760,1
    - Dst: isPkFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7756,1
    - Dst: hasPkCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7756,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7762,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 7771
      start: 7752
    functionDepth: 0
    functionLinenumber: 7752
    functionLinenumberEnd: 7771
    functionName: appendPkForPkFuncImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListMakeStrictAppend
    - createPkColByTable
    - findTable
    - hasPkCol
    - isPkFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes appendPkForPkFuncImpl(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13645,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13649,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13648,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13647,1
    - Dst: buildQueryTableColIdList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13647,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13649,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13652,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13653,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13658,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13659,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13662,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13669,1
    - Dst: modifyVtableSrcNumBasedOnCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13662,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13668,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13661,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pVSubTables
    - pStmt
    argTypes:
    - SArray*
    - SNode*
    constantsTouched: []
    func_position:
      end: 13672
      start: 13639
    functionDepth: 0
    functionLinenumber: 13639
    functionLinenumberEnd: 13672
    functionName: modifyVtableSrcNumBasedOnQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - buildQueryTableColIdList
    - taosArrayGet
    - taosArrayDestroy
    - tSimpleHashCleanup
    - PAR_ERR_JRET
    - taosArrayGetSize
    - tSimpleHashInit
    - modifyVtableSrcNumBasedOnCols
    - parserError
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t modifyVtableSrcNumBasedOnQuery(SArray* pVSubTables,
      SNode* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13965,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13969,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13968,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13967,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13965,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13975,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13976,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropViewStmt*
    constantsTouched: []
    func_position:
      end: 13984
      start: 13958
    functionDepth: 0
    functionLinenumber: 13958
    functionLinenumberEnd: 13984
    functionName: translateDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - buildCmdMsg
    - toName
    - tstrncpy
    - collectUseTable
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropView(STranslateContext* pCxt, SDropViewStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14217,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14223,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14230,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14225,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14219,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14230,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14234,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14234,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14237,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14237,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    constantsTouched: []
    func_position:
      end: 14241
      start: 14216
    functionDepth: 0
    functionLinenumber: 14216
    functionLinenumberEnd: 14241
    functionName: checkDnodeIds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - LIST_LENGTH
    - translateValue
    - FOREACH
    - generateSyntaxErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDnodeIds(STranslateContext* pCxt, SRedistributeVgroupStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 15507
      start: 15493
    functionDepth: 0
    functionLinenumber: 15493
    functionLinenumberEnd: 15507
    functionName: getTbNameColName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char * getTbNameColName(ENodeType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15965,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15974,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15978
      start: 15962
    functionDepth: 0
    functionLinenumber: 15962
    functionLinenumberEnd: 15978
    functionName: rewriteShowVnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createOperatorNode
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowVnodes(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16482,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16477,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16479,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - dt
    - pCast
    argTypes:
    - STranslateContext*
    - SNode*
    - SDataType
    - SNode**
    constantsTouched: []
    func_position:
      end: 16485
      start: 16471
    functionDepth: 0
    functionLinenumber: 16471
    functionLinenumberEnd: 16485
    functionName: createCastFuncForTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExpr
    - nodesDestroyNode
    - nodesCloneNode
    - createCastFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createCastFuncForTag(STranslateContext* pCxt, SNode*
      pNode, SDataType dt, SNode** pCast) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17403,1
    - Dst: serializeVgroupDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17416,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17411,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17418,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17403,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17419,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 17426
      start: 17402
    functionDepth: 0
    functionLinenumber: 17402
    functionLinenumberEnd: 17426
    functionName: serializeVgroupsDropTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosHashCancelIterate
    - serializeVgroupDropTableBatch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t serializeVgroupsDropTableBatch(SHashObj* pVgroupHashmap, SArray**
      pOut) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1069,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1070
    functionName: isSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsSelectFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isSelectFunc(const SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2383,1
    - Dst: translateValueImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2377
    functionDepth: 0
    functionLinenumber: 2377
    functionLinenumberEnd: 2385
    functionName: translateValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateValueImpl
    - calcTypeBytes
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateValue(STranslateContext* pCxt, SValueNode*
      pVal) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4592,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4603,1
    - Dst: getTableTsmas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4593,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4607,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4598,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4608,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4611,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4612,1
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4614,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4617,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4623,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4662,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4644,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4648,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4655,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4630,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4657,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4670
      start: 4587
    functionDepth: 0
    functionLinenumber: 4587
    functionLinenumberEnd: 4670
    functionName: setTableTsmas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - taosMemoryFree
    - isSelectStmt
    - taosMemoryCalloc
    - toName
    - taosArrayDestroyP
    - getTableTsmas
    - taosCreateMD5Hash
    - tstrncpy
    - collectUseTable
    - taosArrayPush
    - catalogGetTableMeta
    - catalogGetCachedTableHashVgroup
    - tsnprintf
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableTsmas(STranslateContext* pCxt, SName* pName,
      SRealTableNode* pRealTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10375,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10385,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10381,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10380,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10379,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10390,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10392,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10396,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pInfo
    - pOutput
    argTypes:
    - SSampleAstInfo*
    - SNode**
    constantsTouched: []
    func_position:
      end: 10399
      start: 10373
    functionDepth: 0
    functionLinenumber: 10373
    functionLinenumberEnd: 10399
    functionName: buildIntervalForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesDestroyNode
    - tstrncpy
    - parserError
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildIntervalForSampleAst(SSampleAstInfo* pInfo, SNode**
      pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11665,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 11668
      start: 11663
    functionDepth: 0
    functionLinenumber: 11663
    functionLinenumberEnd: 11668
    functionName: checkTopicQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTopicQuery(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13766,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13770,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pStmt
    - pInterval
    argTypes:
    - SCreateStreamStmt*
    - SInterval*
    constantsTouched: []
    func_position:
      end: 13786
      start: 13764
    functionDepth: 0
    functionLinenumber: 13764
    functionLinenumberEnd: 13786
    functionName: buildIntervalForCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildIntervalForCreateStream(SCreateStreamStmt* pStmt,
      SInterval* pInterval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2389
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2389
    functionName: doTranslateValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTranslateValue(STranslateContext* pCxt, SValueNode*
      pVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4673,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4685
      start: 4672
    functionDepth: 0
    functionLinenumber: 4672
    functionLinenumberEnd: 4685
    functionName: setTableCacheLastMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableCacheLastMode(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10404,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10408,1
    - Dst: buildProjectsForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10412,1
    - Dst: buildTableForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10410,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10415,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10416,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10417,1
    - Dst: buildIntervalForSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10418,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10422,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10425,1
    - Dst: nodesListToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10428,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10430,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 7
    argNames:
    - pCxt
    - pInfo
    - pAst
    - pLen
    - pExpr
    - pExprLen
    - pProjectionTotalLen
    argTypes:
    - STranslateContext*
    - SSampleAstInfo*
    - char**
    - int32_t*
    - char**
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 10432
      start: 10401
    functionDepth: 0
    functionLinenumber: 10401
    functionLinenumberEnd: 10432
    functionName: buildSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - snprintf
    - nodesDestroyNode
    - nodesNodeToString
    - buildProjectsForSampleAst
    - translateQuery
    - buildTableForSampleAst
    - buildIntervalForSampleAst
    - nodesMakeNode
    - nodesListToString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSampleAst(STranslateContext* pCxt, SSampleAstInfo*
      pInfo, char** pAst, int32_t* pLen, char** pExpr, int32_t* pExprLen, int32_t*
      pProjectionTotalLen) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11671,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11687,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11685,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11675,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11684,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11689,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11694,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11694,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11695,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11699,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11703,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11709,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11701,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11699,1
    - Dst: checkTopicQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11706,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    - SCMCreateTopicReq*
    constantsTouched: []
    func_position:
      end: 11714
      start: 11670
    functionDepth: 0
    functionLinenumber: 11670
    functionLinenumberEnd: 11714
    functionName: buildCreateTopicReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - tNameExtractFullName
    - toName
    - nodesNodeToString
    - translateQuery
    - checkTopicQuery
    - strlen
    - taosStrdup
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTopicReq(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt, SCMCreateTopicReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 7900
      start: 7895
    functionDepth: 0
    functionLinenumber: 7895
    functionLinenumberEnd: 7900
    functionName: isColsFuncByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isColsFuncByName(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - minVal
    - maxVal
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 8796
      start: 8793
    functionDepth: 0
    functionLinenumber: 8793
    functionLinenumberEnd: 8796
    functionName: checkDbRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbRangeOption(STranslateContext* pCxt, const char*
      pName, int64_t val, int64_t minVal, int64_t maxVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9823,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9832,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9831,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9823,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9826,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9837,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9841,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9845,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9846,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 9852
      start: 9822
    functionDepth: 0
    functionLinenumber: 9822
    functionLinenumberEnd: 9852
    functionName: tagDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosArrayDestroy
    - tstrncpy
    - IS_DECIMAL_TYPE
    - FOREACH
    - taosArrayPush
    - taosArrayInit
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tagDefNodeToField(SNodeList* pList, SArray** pArray,
      bool calBytes, bool virtualTable) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12138,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12147,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12139,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12148,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12150,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12161,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12169,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12178,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12182,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12166,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12173,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12170,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12187
      start: 12133
    functionDepth: 0
    functionLinenumber: 12133
    functionLinenumberEnd: 12187
    functionName: checkCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - getTargetMeta
    - toName
    - tstrerror
    - isVirtualTable
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateStream(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13988,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14009,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14005,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14003,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13998,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14011,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14012,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14013,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14016,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - pName
    - len
    - buf
    argTypes:
    - char*
    - int32_t*
    - char**
    constantsTouched: []
    func_position:
      end: 14017
      start: 13986
    functionDepth: 0
    functionLinenumber: 13986
    functionLinenumberEnd: 14017
    functionName: readFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosStatFile
    - taosCloseFile
    - taosReadFile
    - taosMemoryCalloc
    - tstrerror
    - parserError
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t readFromFile(char* pName, int32_t* len, char** buf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7903,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 7912
      start: 7902
    functionDepth: 0
    functionLinenumber: 7902
    functionLinenumberEnd: 7912
    functionName: isMultiColsFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isColsFuncByName
    linkageType: ''
    returnType: bool
    signature: 'static bool isMultiColsFuncNode(SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pName
    - val
    - minVal
    - maxVal
    argTypes:
    - STranslateContext*
    - char*
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 8801
      start: 8798
    functionDepth: 0
    functionLinenumber: 8798
    functionLinenumberEnd: 8801
    functionName: checkTableRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableRangeOption(STranslateContext* pCxt, const
      char* pName, int64_t val, int64_t minVal, int64_t maxVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9856,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pCols
    - pCol
    argTypes:
    - SNodeList*
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 9862
      start: 9854
    functionDepth: 0
    functionLinenumber: 9854
    functionLinenumberEnd: 9862
    functionName: findColDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - strcmp
    linkageType: ''
    returnType: SColumnDefNode*
    signature: 'static SColumnDefNode * findColDef(SNodeList* pCols, const SColumnNode*
      pCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12191,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pStmt
    - acctId
    - pDbFName
    argTypes:
    - SNode*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 12193
      start: 12189
    functionDepth: 0
    functionLinenumber: 12189
    functionLinenumberEnd: 12193
    functionName: getSourceDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tNameGetFullDbName
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void getSourceDatabase(SNode* pStmt, int32_t acctId, char*
      pDbFName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11431,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11433,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11440,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11443,1
    - Dst: doTranslateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 11447
      start: 11429
    functionDepth: 0
    functionLinenumber: 11429
    functionLinenumberEnd: 11447
    functionName: checkCreateSmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - doTranslateValue
    - generateSyntaxErrMsgExt
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateSmaIndex(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsBuiltinFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14020,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14035,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14027,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14021,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14031,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14041,1
    - Dst: readFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14044,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14046,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14048,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateFunctionStmt*
    constantsTouched: []
    func_position:
      end: 14050
      start: 14019
    functionDepth: 0
    functionLinenumber: 14019
    functionLinenumberEnd: 14050
    functionName: translateCreateFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - readFromFile
    - fmIsBuiltinFunc
    - tstrncpy
    - generateSyntaxErrMsg
    - tFreeSCreateFuncReq
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateFunction(STranslateContext* pCxt, SCreateFunctionStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 2022
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2022
    functionName: clauseSupportAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool clauseSupportAlias(ESqlClause clause) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2722,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2725,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2737,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2726,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2730,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2738,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2738,1
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2745,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2749,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 2753
      start: 2720
    functionDepth: 0
    functionLinenumber: 2720
    functionLinenumberEnd: 2753
    functionName: translateInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - isSelectStmt
    - fmIsInterpPseudoColumnFunc
    - FOREACH
    - strcasecmp
    - replacePsedudoColumnFuncWithColumn
    - translateColumn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterpPseudoColumnFunc(STranslateContext*
      pCxt, SNode** ppNode, bool* pRewriteToColumn) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3562,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3586,1
    - Dst: selectCommonType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3578,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3566,1
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3564,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3602,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3604,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3606,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3615,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3617,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 2
    argNames:
    - pCxt
    - pCaseWhen
    argTypes:
    - STranslateContext*
    - SCaseWhenNode*
    constantsTouched: []
    func_position:
      end: 3625
      start: 3559
    functionDepth: 0
    functionLinenumber: 3559
    functionLinenumberEnd: 3625
    functionName: translateCaseWhen
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteIsTrue
    - createCastFunc
    - selectCommonType
    - isCondition
    - FOREACH
    - dataTypeEqual
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateCaseWhen(STranslateContext* pCxt, SCaseWhenNode*
      pCaseWhen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15365,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15369,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15372,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15374,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15377,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15378,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15386
      start: 15362
    functionDepth: 0
    functionLinenumber: 15362
    functionLinenumberEnd: 15386
    functionName: createSimpleSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSimpleSelectStmtImpl(const char* pDb, const char*
      pTable, SNodeList* pProjectionList, SSelectStmt** pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowTableDistributedStmt*
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15412
      start: 15410
    functionDepth: 0
    functionLinenumber: 15410
    functionLinenumberEnd: 15412
    functionName: createSelectStmtForShowTableDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtFromCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectStmtForShowTableDist(SShowTableDistributedStmt*
      pStmt, SSelectStmt** pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2027,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2034,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2037,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2046,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2043,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2049,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - translateAsAlias
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 2054
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2054
    functionName: translateColumnInGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateFunction
    - translateColumnUseAlias
    - translateColumnWithPrefix
    - translateColumnWithoutPrefix
    - biRewriteToTbnameFunc
    - strcmp
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateColumnInGroupByClause(STranslateContext*
      pCxt, SColumnNode** pCol, bool* translateAsAlias) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2756,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2760,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2759,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2766,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2770,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2771,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2777,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2780,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2781,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2784
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2784
    functionName: translateForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - fmGetFuncReturnRows
    - isSelectStmt
    - hasInvalidFuncNesting
    - fmIsForecastFunc
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForecastFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3629,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3631,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3633,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3637,1
    - Dst: translateOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3635,1
    - Dst: translateLogicCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3639,1
    - Dst: translateExprSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3641,1
    - Dst: translateWhenThen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3643,1
    - Dst: translateCaseWhen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3645,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 3650
      start: 3627
    functionDepth: 0
    functionLinenumber: 3627
    functionLinenumberEnd: 3650
    functionName: doTranslateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - translateFunction
    - translateOperator
    - translateExprSubquery
    - translateWhenThen
    - translateCaseWhen
    - translateValue
    - translateColumn
    - translateLogicCond
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doTranslateExpr(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5852,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5858,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5857,1
    - Dst: createMultiResFuncsFromStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - (pNode)
    argTypes:
    - isMultiResFunc
    constantsTouched: []
    func_position:
      end: 5861
      start: 5849
    functionDepth: 0
    functionLinenumber: 5849
    functionLinenumberEnd: 5861
    functionName: if
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - INSERT_LIST
    - ERASE_NODE
    - createTags
    - createMultiResFuncsFromStar
    linkageType: ''
    returnType: else
    signature: 'else if (isMultiResFunc(pNode)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createProjectCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15392,1
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 5
    argNames:
    - pDb
    - pTable
    - numOfProjs
    - pProjCol
    - pStmt
    argTypes:
    - char*
    - char*
    - int32_t
    - char*
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15397
      start: 15388
    functionDepth: 0
    functionLinenumber: 15388
    functionLinenumberEnd: 15397
    functionName: createSimpleSelectStmtFromCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtImpl
    - createProjectCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSimpleSelectStmtFromCols(const char* pDb, const
      char* pTable, int32_t numOfProjs, const char* const pProjCol[], SSelectStmt**
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15414,1
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pStmt
    - pOutput
    argTypes:
    - SShowStmt*
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15418
      start: 15413
    functionDepth: 0
    functionLinenumber: 15413
    functionLinenumberEnd: 15418
    functionName: createSelectStmtForShowDBUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtFromCols
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectStmtForShowDBUsage(SShowStmt* pStmt, SSelectStmt**
      pOutput) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6130,1
    - Dst: getPositionValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6138,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6141,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6132,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6139,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6141,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6146,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6155,1
    - Dst: translateColumnInGroupByClause
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6157,1
    - Dst: doTranslateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6172,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6162,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 6173
      start: 6124
    functionDepth: 0
    functionLinenumber: 6124
    functionLinenumberEnd: 6173
    functionName: translateGroupPartitionByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - getPositionValue
    - doTranslateExpr
    - nodesDestroyNode
    - translateValue
    - translateExpr
    - nodesCloneNode
    - translateColumnInGroupByClause
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateGroupPartitionByImpl(SNode** pNode, void*
      pContext) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: translateStreamTargetTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13489,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13494,1
    - Dst: addColsToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13497,1
    - Dst: addSubtableInfoToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13491,1
    - Dst: addTsKeyToCreateStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13500,1
    - Dst: checkStreamQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13503,1
    - Dst: adjustProjectionsForExistTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13506,1
    - Dst: adjustTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13509,1
    - Dst: checkAndAdjStreamDestTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13512,1
    - Dst: getSourceDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13515,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13516,1
    - Dst: createLastTsSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13531,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13533
      start: 13486
    functionDepth: 0
    functionLinenumber: 13486
    functionLinenumberEnd: 13533
    functionName: buildCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - adjustTags
    - taosMemoryFree
    - addColsToCreateStreamQuery
    - translateStreamTargetTable
    - nodesNodeToString
    - addTsKeyToCreateStreamQuery
    - translateQuery
    - checkStreamQuery
    - adjustProjectionsForExistTable
    - addSubtableInfoToCreateStreamQuery
    - getSourceDatabase
    - checkAndAdjStreamDestTableSchema
    - createLastTsSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateStreamQuery(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6183
      start: 6175
    functionDepth: 0
    functionLinenumber: 6175
    functionLinenumberEnd: 6183
    functionName: translateGroupByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGroupByList(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13538,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13541,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13539,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13540,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 13546
      start: 13535
    functionDepth: 0
    functionLinenumber: 13535
    functionLinenumberEnd: 13546
    functionName: translateStreamOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateStreamOptions(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3141,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3149,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3142,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3151,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3154
      start: 3139
    functionDepth: 0
    functionLinenumber: 3139
    functionLinenumberEnd: 3154
    functionName: rewriteUserFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    - taosGetFqdn
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteUserFunc(STranslateContext* pCxt, SNode** pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3655
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3655
    functionName: translateExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateExpr(STranslateContext* pCxt, SNode** pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_AUDIT_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5217,1
    - Dst: IS_AUDIT_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5221,1
    - Dst: IS_AUDIT_CTB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5221,1
    - Dst: IS_AUDIT_STB_NAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5217,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pName
    argTypes:
    - STranslateContext*
    - SRealTableNode*
    - SName*
    constantsTouched: []
    func_position:
      end: 5226
      start: 5215
    functionDepth: 0
    functionLinenumber: 5215
    functionLinenumberEnd: 5226
    functionName: translateAudit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_AUDIT_DBNAME
    - IS_AUDIT_CTB_NAME
    - IS_AUDIT_STB_NAME
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAudit(STranslateContext* pCxt, SRealTableNode*
      pRealTable, SName* pName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8435,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8455,1
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8446,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8450,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8449,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8456,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pSetOperator
    argTypes:
    - STranslateContext*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 8467
      start: 8429
    functionDepth: 0
    functionLinenumber: 8429
    functionLinenumberEnd: 8467
    functionName: translateSetOperOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateClausePosition
    - replaceOrderByAlias
    - isPrimaryKeyImpl
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSetOperOrderBy(STranslateContext* pCxt, SSetOperator*
      pSetOperator) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12198,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12198,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12205,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12207,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12199,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pUserAliasSet
    - aliasName
    - len
    - defaultName
    argTypes:
    - SHashObj*
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 12209
      start: 12195
    functionDepth: 0
    functionLinenumber: 12195
    functionLinenumberEnd: 12209
    functionName: getStreamQueryFirstProjectAliasName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosRandStr
    - strlen
    - snprintf
    - taosHashGet
    linkageType: ''
    returnType: void
    signature: 'static void getStreamQueryFirstProjectAliasName(SHashObj* pUserAliasSet,
      char* aliasName, int32_t len, char* defaultName[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14715,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14722,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14726,1
    - Dst: buildCreateTSMAReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14719,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14728,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    constantsTouched: []
    func_position:
      end: 14732
      start: 14709
    functionDepth: 0
    functionLinenumber: 14709
    functionLinenumberEnd: 14732
    functionName: translateCreateTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - buildCmdMsg
    - taosMemoryCalloc
    - collectUseTable
    - buildCreateTSMAReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateTSMA(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rewriteDatabaseFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3159,1
    - Dst: rewriteServerStatusFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3165,1
    - Dst: rewriteUserFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3168,1
    - Dst: rewriteServerVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3163,1
    - Dst: rewriteClentVersionFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3173
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3173
    functionName: rewriteSystemInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteServerStatusFunc
    - rewriteUserFunc
    - rewriteClentVersionFunc
    - rewriteServerVersionFunc
    - rewriteDatabaseFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteSystemInfoFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprsPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - STranslateContext*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3660
      start: 3657
    functionDepth: 0
    functionLinenumber: 3657
    functionLinenumberEnd: 3660
    functionName: translateExprList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExprsPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateExprList(STranslateContext* pCxt, SNodeList*
      pList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5229,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5254,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5234,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5253,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5255,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5256,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5260
      start: 5228
    functionDepth: 0
    functionLinenumber: 5228
    functionLinenumberEnd: 5260
    functionName: isJoinTagEqualOnCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isJoinTagEqualOnCond(SNode* pCond, char* leftTableAlias,
      char* rightTableAlias) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7921,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7929,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7932,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7933,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7924,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7934,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7936,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 7941
      start: 7919
    functionDepth: 0
    functionLinenumber: 7919
    functionLinenumberEnd: 7941
    functionName: pushDownBindSelectFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesIsExprNode
    - strlen
    - tsnprintf
    - MurmurHash3_64
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes pushDownBindSelectFunc(SNode** pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8472,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8475,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8478,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pLimit
    argTypes:
    - STranslateContext*
    - SLimitNode*
    constantsTouched: []
    func_position:
      end: 8481
      start: 8469
    functionDepth: 0
    functionLinenumber: 8469
    functionLinenumberEnd: 8481
    functionName: checkSetOperLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExpr
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkSetOperLimit(STranslateContext* pCxt, SLimitNode*
      pLimit) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - isPk
    argTypes:
    - SColumnDefNode*
    - bool
    constantsTouched: []
    func_position:
      end: 12220
      start: 12211
    functionDepth: 0
    functionLinenumber: 12211
    functionLinenumberEnd: 12220
    functionName: setColumnDefNodePrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setColumnDefNodePrimaryKey(SColumnDefNode* pNode, bool
      isPk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pStmt
    - pInterval
    - timezone
    argTypes:
    - SCreateTSMAStmt*
    - SInterval*
    - void*
    constantsTouched: []
    func_position:
      end: 14744
      start: 14734
    functionDepth: 0
    functionLinenumber: 14734
    functionLinenumberEnd: 14744
    functionName: buildIntervalForCreateTSMA
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildIntervalForCreateTSMA(SCreateTSMAStmt* pStmt,
      SInterval* pInterval, void* timezone) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15939,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15939,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15948,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15941,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15944,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15956,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15960
      start: 15934
    functionDepth: 0
    functionLinenumber: 15934
    functionLinenumberEnd: 15960
    functionName: rewriteShowDnodeVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - createLogicCondNode
    - nodesDestroyNode
    - createOperatorNode
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowDnodeVariables(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getDnodeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4417,1
    - Dst: dnodeToVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4419,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4421,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4423
      start: 4415
    functionDepth: 0
    functionLinenumber: 4415
    functionLinenumberEnd: 4423
    functionName: setDnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getDnodeList
    - dnodeToVgroupsInfo
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setDnodeSysTableVgroupList(STranslateContext* pCxt,
      SName* pName, SRealTableNode* pRealTable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isOperatorEqTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7242,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7260,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7254,1
    - Dst: isOperatorTbnameInCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7244,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7252,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 4
    argNames:
    - pCxt
    - pWhere
    - pInfo
    - pRet
    argTypes:
    - STranslateContext*
    - SNode*
    - SEqCondTbNameTableInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 7265
      start: 7237
    functionDepth: 0
    functionLinenumber: 7237
    functionLinenumberEnd: 7265
    functionName: findEqCondTbNameInOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosArrayDestroy
    - findTable
    - isOperatorTbnameInCond
    - isOperatorEqTbnameCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findEqCondTbNameInOperatorNode(STranslateContext* pCxt,
      SNode* pWhere, SEqCondTbNameTableInfo* pInfo, bool* pRet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildSampleAstInfoByTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10597,1
    - Dst: clearSampleAstInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10601,1
    - Dst: buildSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10599,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pRetension
    - precision
    - pAst
    - pLen
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SRetention*
    - int8_t
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 10603
      start: 10594
    functionDepth: 0
    functionLinenumber: 10594
    functionLinenumberEnd: 10603
    functionName: getRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildSampleAstInfoByTable
    - clearSampleAstInfo
    - buildSampleAst
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getRollupAst(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, SRetention* pRetension, int8_t precision, char** pAst, int32_t* pLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12479,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12484,1
    - Dst: createNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pMeta
    - pSelect
    argTypes:
    - STranslateContext*
    - STableMeta*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12487
      start: 12478
    functionDepth: 0
    functionLinenumber: 12478
    functionLinenumberEnd: 12487
    functionName: addNullTagsForExistTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createNullValue
    - getNumOfTags
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNullTagsForExistTable(STranslateContext* pCxt, STableMeta*
      pMeta, SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sysTableFromVnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4426,1
    - Dst: setDnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4429,1
    - Dst: sysTableFromDnode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4428,1
    - Dst: setVnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4433
      start: 4425
    functionDepth: 0
    functionLinenumber: 4425
    functionLinenumberEnd: 4433
    functionName: setSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - setDnodeSysTableVgroupList
    - sysTableFromDnode
    - sysTableFromVnode
    - setVnodeSysTableVgroupList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSysTableVgroupList(STranslateContext* pCxt, SName*
      pName, SRealTableNode* pRealTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - aTableTbNames
    - pTable
    argTypes:
    - SArray*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 7275
      start: 7267
    functionDepth: 0
    functionLinenumber: 7267
    functionLinenumberEnd: 7275
    functionName: isTableExistInTableTbnames
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool isTableExistInTableTbnames(SArray* aTableTbNames, SRealTableNode*
      pTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10607,1
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10615,1
    - Dst: getRollupAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10613,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10608,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10620,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 10627
      start: 10605
    functionDepth: 0
    functionLinenumber: 10605
    functionLinenumberEnd: 10627
    functionName: buildRollupAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - initTranslateContext
    - getRollupAst
    - taosArrayGet
    - destroyTranslateContext
    - taosArrayGetSize
    - getDBCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRollupAst(STranslateContext* pCxt, SCreateTableStmt*
      pStmt, SMCreateStbReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7887
      start: 7882
    functionDepth: 0
    functionLinenumber: 7882
    functionLinenumberEnd: 7887
    functionName: translateSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExprList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSelectWithoutFrom(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12267,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12271,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12274,1
    - Dst: getStreamQueryFirstProjectAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12273,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12272,1
    - Dst: pFn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12276,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12281,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12283,1
    - Dst: setColumnDefNodePrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12286,1
    - Dst: pFn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12288,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12292,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 8
    argNames:
    - pCxt
    - pSelect
    - pUserAliasSet
    - pCols
    - pReq
    - pFunName
    - pFn
    - defaultNameList
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SHashObj*
    - SNodeList*
    - SCMCreateStreamReq*
    - char
    - insertFn
    - char*
    constantsTouched: []
    func_position:
      end: 12295
      start: 12263
    functionDepth: 0
    functionLinenumber: 12263
    functionLinenumberEnd: 12295
    functionName: addFunctionToCreateStreamQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - setColumnDefNodePrimaryKey
    - pFn
    - getStreamQueryFirstProjectAliasName
    - nodesDestroyNode
    - tstrncpy
    - getFuncInfo
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addFunctionToCreateStreamQueryImpl(STranslateContext*
      pCxt, SSelectStmt* pSelect, SHashObj* pUserAliasSet, SNodeList* pCols, SCMCreateStreamReq*
      pReq, char pFunName[], insertFn pFn, char* defaultNameList[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12299,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12303,1
    - Dst: addFunctionToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12309,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12302,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12311,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12312,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pUserAliasSet
    - pCols
    - pReq
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SHashObj*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12315
      start: 12297
    functionDepth: 0
    functionLinenumber: 12297
    functionLinenumberEnd: 12315
    functionName: addWstartTsToCreateStreamQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - tstrncpy
    - addFunctionToCreateStreamQueryImpl
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWstartTsToCreateStreamQueryImpl(STranslateContext*
      pCxt, SSelectStmt* pSelect, SHashObj* pUserAliasSet, SNodeList* pCols, SCMCreateStreamReq*
      pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16877,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 16880
      start: 16875
    functionDepth: 0
    functionLinenumber: 16875
    functionLinenumberEnd: 16880
    functionName: clearTagValArrayFp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void clearTagValArrayFp(void* data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getViewMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:512,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:522,1
    - Dst: catalogGetViewMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:523,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 526
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 526
    functionName: getViewMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - getViewMetaFromCache
    - catalogGetViewMeta
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getViewMetaImpl(SParseContext* pParCxt, SParseMetaCache*
      pMetaCache, const SName* pName, STableMeta** pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    functionName: afterGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool afterGroupBy(ESqlClause clause) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:724,1
    - Dst: collectUseDatabaseImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:725,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:738,1
    - Dst: catalogGetDBVgList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:734,1
    - Dst: getDbVgInfoFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:728,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: getDBVgInfoImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - catalogGetDBVgList
    - collectUseDatabaseImpl
    - parserError
    - tstrerror
    - getDbVgInfoFromCache
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDBVgInfoImpl(STranslateContext* pCxt, const SName*
      pName, SArray** pVgInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5863,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5865,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - (pNode)
    argTypes:
    - nodesIsTableStar
    constantsTouched: []
    func_position:
      end: 5869
      start: 5861
    functionDepth: 0
    functionLinenumber: 5861
    functionLinenumberEnd: 5869
    functionName: if
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - INSERT_LIST
    - createTableAllCols
    linkageType: ''
    returnType: else
    signature: 'else if (nodesIsTableStar(pNode)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pStmt
    - pInterval
    - timezone
    argTypes:
    - SCreateIndexStmt*
    - SInterval*
    - void*
    constantsTouched: []
    func_position:
      end: 11475
      start: 11460
    functionDepth: 0
    functionLinenumber: 11460
    functionLinenumberEnd: 11475
    functionName: createIntervalFromCreateSmaIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createIntervalFromCreateSmaIndexStmt(SCreateIndexStmt* pStmt,
      SInterval* pInterval, void* timezone) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14427,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14436,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14428,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14433,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14435,1
    - Dst: createColumnNodeWithName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14445,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14449,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14452,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14453,1
    - Dst: createColumnNodeWithName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14462,1
    - Dst: buildTSMAAstStreamSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14465,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14471,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14474,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14475,1
    - Dst: clearSampleAstInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14490,1
    - Dst: buildSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14485,1
    - Dst: fmCreateStateFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14481,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 76
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pReq
    - tbName
    - numOfTags
    - pTags
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - char*
    - int32_t
    - SSchema*
    constantsTouched: []
    func_position:
      end: 14492
      start: 14420
    functionDepth: 0
    functionLinenumber: 14420
    functionLinenumberEnd: 14492
    functionName: buildTSMAAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createColumnNodeWithName
    - nodesListAppend
    - snprintf
    - nodesListMakeStrictAppend
    - clearSampleAstInfo
    - buildSampleAst
    - createTbnameFunction
    - buildTSMAAstStreamSubTable
    - fmCreateStateFuncs
    - nodesCloneNode
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTSMAAst(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq, const char* tbName, int32_t numOfTags, const SSchema*
      pTags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15150,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15161,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15164
      start: 15148
    functionDepth: 0
    functionLinenumber: 15148
    functionLinenumberEnd: 15164
    functionName: extractShowCreateDatabaseResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractShowCreateDatabaseResultSchema(int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15512,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15525,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15522,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15517,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - pCond1
    - pCond2
    - pCond
    - logicCondType
    argTypes:
    - SNode**
    - SNode**
    - SNode**
    - ELogicConditionType
    constantsTouched: []
    func_position:
      end: 15535
      start: 15509
    functionDepth: 0
    functionLinenumber: 15509
    functionLinenumberEnd: 15535
    functionName: createLogicCondNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createLogicCondNode(SNode** pCond1, SNode** pCond2,
      SNode** pCond, ELogicConditionType logicCondType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18413,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18414,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18417,1
    - Dst: buildVirtualSubTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18413,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18414,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 7
    argNames:
    - pStmt
    - pInfo
    - pBufArray
    - pStbMeta
    - tagName
    - tagNum
    - pTag
    argTypes:
    - SCreateVSubTableStmt*
    - SVgroupInfo*
    - SArray*
    - STableMeta*
    - SArray*
    - uint8_t
    - STag*
    constantsTouched: []
    func_position:
      end: 18419
      start: 18408
    functionDepth: 0
    functionLinenumber: 18408
    functionLinenumberEnd: 18419
    functionName: buildCreateVSubTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - serializeVgroupCreateTableBatch
    - destroyCreateTbReqBatch
    - PAR_ERR_JRET
    - buildVirtualSubTableBatchReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateVSubTableDataBlock(const SCreateVSubTableStmt*
      pStmt, const SVgroupInfo* pInfo, SArray* pBufArray, STableMeta* pStbMeta, SArray*
      tagName, uint8_t tagNum, const STag* pTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - clause
    argTypes:
    - ESqlClause
    constantsTouched: []
    func_position:
      end: 421
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 421
    functionName: beforeHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool beforeHaving(ESqlClause clause) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:746,1
    - Dst: getDBVgInfoImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:750,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:746,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pVgInfo
    argTypes:
    - STranslateContext*
    - char*
    - SArray**
    constantsTouched: []
    func_position:
      end: 751
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 751
    functionName: getDBVgInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    - getDBVgInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDBVgInfo(STranslateContext* pCxt, const char* pDbName,
      SArray** pVgInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: initTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11483,1
    - Dst: createIntervalFromCreateSmaIndexStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11485,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11490,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11491,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11493,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11495,1
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11500,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11504,1
    - Dst: setQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11507,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11509,1
    - Dst: destroyTranslateContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11511,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11512,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11513,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 11515
      start: 11477
    functionDepth: 0
    functionLinenumber: 11477
    functionLinenumberEnd: 11515
    functionName: translatePostCreateSmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createIntervalFromCreateSmaIndexStmt
    - initTranslateContext
    - taosGetTimestampMs
    - buildCmdMsg
    - taosArrayGet
    - setQuery
    - tFreeSMCreateSmaReq
    - destroyTranslateContext
    - colDataGetData
    - setRefreshMeta
    - taosMemoryFreeClear
    - taosTimeTruncate
    - taosGetTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t translatePostCreateSmaIndex(SParseContext* pParseCxt, SQuery*
      pQuery, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14495,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pSchema
    - ppCol
    argTypes:
    - SSchema*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 14503
      start: 14494
    functionDepth: 0
    functionLinenumber: 14494
    functionLinenumberEnd: 14503
    functionName: createColumnBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnBySchema(const SSchema* pSchema, SColumnNode**
      ppCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15168,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15179,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - numOfCols
    - pSchema
    argTypes:
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 15182
      start: 15166
    functionDepth: 0
    functionLinenumber: 15166
    functionLinenumberEnd: 15182
    functionName: extractShowCreateTableResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractShowCreateTableResultSchema(int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15545,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15562,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15570,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15550,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15557,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15575,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15584,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15585,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 2
    argNames:
    - pSelect
    - pCond
    argTypes:
    - SSelectStmt*
    - SNode**
    constantsTouched: []
    func_position:
      end: 15589
      start: 15537
    functionDepth: 0
    functionLinenumber: 15537
    functionLinenumberEnd: 15589
    functionName: insertCondIntoSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyList
    - nodesListAppendList
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t insertCondIntoSelectStmt(SSelectStmt* pSelect, SNode**
      pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18422,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18433,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18423,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18428,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18427,1
    - Dst: checkVTableSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18433,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18435,1
    - Dst: checkColumnOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18435,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18438,1
    - Dst: biCheckCreateTableTbnameCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVTableStmt*
    constantsTouched: []
    func_position:
      end: 18442
      start: 18421
    functionDepth: 0
    functionLinenumber: 18421
    functionLinenumberEnd: 18442
    functionName: checkCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strchr
    - checkVTableSchema
    - PAR_ERR_RET
    - IS_SYS_DBNAME
    - biCheckCreateTableTbnameCol
    - checkColumnOptions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateVirtualTable(STranslateContext* pCxt, SCreateVTableStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 16885
      start: 16882
    functionDepth: 0
    functionLinenumber: 16882
    functionLinenumberEnd: 16885
    functionName: clearCreateTbArrayFp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void clearCreateTbArrayFp(void* data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1033,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1040
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1040
    functionName: getProjectListFromCurrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - isSetOperator
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * getProjectListFromCurrStmt(SNode* pCurrStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1140,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCol
    - pTable
    argTypes:
    - SColumnNode*
    - STableNode*
    constantsTouched: []
    func_position:
      end: 1146
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: belongTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool belongTable(const SColumnNode* pCol, const STableNode*
      pTable) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1561,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1563,1
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1574,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1573,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1566,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1577,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1578,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1585,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1585,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1586,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1586,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1587,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1587,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1555
    functionDepth: 0
    functionLinenumber: 1555
    functionLinenumberEnd: 1595
    functionName: findAndSetRealTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isInternalPrimaryKey
    - invisibleColumn
    - strncmp
    - strcmp
    - strlen
    - generateSyntaxErrMsg
    - setColumnPrimTs
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findAndSetRealTableColumn(STranslateContext* pCxt,
      SColumnNode** pColRef, STableNode* pTable, bool* pFound) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7855,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7857,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7856,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7857,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7856,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7862,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7872
      start: 7851
    functionDepth: 0
    functionLinenumber: 7851
    functionLinenumberEnd: 7872
    functionName: resetResultTimeline
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isPrimaryKeyImpl
    - nodesListGetNode
    linkageType: ''
    returnType: void
    signature: 'static void resetResultTimeline(SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10698,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10705,1
    - Dst: buildCreateStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10700,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10703,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 10707
      start: 10696
    functionDepth: 0
    functionLinenumber: 10696
    functionLinenumberEnd: 10707
    functionName: translateCreateSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - checkCreateTable
    - buildCreateStbReq
    - tFreeSMCreateStbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateSuperTable(STranslateContext* pCxt,
      SCreateTableStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: adjustDataTypeOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13196,1
    - Dst: adjustOrderOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - STableMeta*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13199
      start: 13189
    functionDepth: 0
    functionLinenumber: 13189
    functionLinenumberEnd: 13199
    functionName: adjustTagsForExistTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - adjustOrderOfTags
    - adjustDataTypeOfTags
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustTagsForExistTable(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, const STableMeta* pMeta, SCMCreateStreamReq* pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16417,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16421,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16427,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16420,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16429,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16435,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16440,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16444,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16446,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16449,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16453,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16459,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16465,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16450,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16455,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 12
    argNames:
    - pVgroupHashmap
    - dbName
    - suid
    - sTableName
    - tableName
    - tagName
    - tagNum
    - pTag
    - ttl
    - comment
    - ignoreExists
    - pVgInfo
    argTypes:
    - SHashObj*
    - char*
    - uint64_t
    - char*
    - char*
    - SArray*
    - uint8_t
    - STag*
    - int32_t
    - char*
    - bool
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 16469
      start: 16411
    functionDepth: 0
    functionLinenumber: 16411
    functionLinenumberEnd: 16469
    functionName: addCreateTbReqIntoVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashGet
    - tstrncpy
    - strlen
    - taosArrayDup
    - taosArrayPush
    - taosStrdup
    - tdDestroySVCreateTbReq
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addCreateTbReqIntoVgroup(SHashObj* pVgroupHashmap,
      const char* dbName, uint64_t suid, const char* sTableName, const char* tableName,
      SArray* tagName, uint8_t tagNum, const STag* pTag, int32_t ttl, const char*
      comment, bool ignoreExists, SVgroupInfo* pVgInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1043,1
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1050,1
    - Dst: isDeleteStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1052,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1046,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1049,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1055,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pCurrStmt
    - defaultVal
    argTypes:
    - SNode*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1057
      start: 1042
    functionDepth: 0
    functionLinenumber: 1042
    functionLinenumberEnd: 1057
    functionName: getPrecisionFromCurrStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - isSetOperator
    - isSelectStmt
    - isDeleteStmt
    - getPrecisionFromCurrStmt
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t getPrecisionFromCurrStmt(SNode* pCurrStmt, uint8_t
      defaultVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1149,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1155
    functionName: getProjectList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * getProjectList(const SNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1601,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1606,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1612,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1604,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1608,1
    - Dst: isInternalPrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1612,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1619,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pColRef
    - pTable
    - pFound
    argTypes:
    - STranslateContext*
    - SColumnNode**
    - STableNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1625
    functionName: findAndSetTempTableColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isInternalPrimaryKey
    - getProjectList
    - strcmp
    - isPrimaryKeyImpl
    - FOREACH
    - setColumnInfoByExpr
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findAndSetTempTableColumn(STranslateContext* pCxt,
      SColumnNode** pColRef, STableNode* pTable, bool* pFound) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1933,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1932,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1947,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1961,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1955,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1944,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1958,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1928,1
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1930,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1931,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1935,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1940,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1951,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1967,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1936,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1954,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1950,1
    - Dst: biRewriteSelectFuncParamStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1962,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1939,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1943,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1957,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1970
    functionName: biRewriteSelectStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - nodesListInsertListAfterPos
    - nodesIsTableStar
    - WHERE_EACH
    - nodesIsStar
    - nodesDestroyList
    - findTable
    - nodesMakeList
    - nodesListStrictAppend
    - taosArrayGetSize
    - biMakeTbnameProjectAstNode
    - biRewriteSelectFuncParamStar
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t biRewriteSelectStar(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: replaceOrderByAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7875,1
    - Dst: resetResultTimeline
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7880
      start: 7874
    functionDepth: 0
    functionLinenumber: 7874
    functionLinenumberEnd: 7880
    functionName: replaceOrderByAliasForSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - replaceOrderByAlias
    - resetResultTimeline
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replaceOrderByAliasForSelect(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10710,1
    - Dst: tFreeSMDropStbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10718,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10716,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pTableName
    - ignoreNotExists
    argTypes:
    - STranslateContext*
    - SName*
    - bool
    constantsTouched: []
    func_position:
      end: 10721
      start: 10709
    functionDepth: 0
    functionLinenumber: 10709
    functionLinenumberEnd: 10721
    functionName: doTranslateDropSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSMDropStbReq
    - buildCmdMsg
    - tNameExtractFullName
    - collectUseTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTranslateDropSuperTable(STranslateContext* pCxt,
      const SName* pTableName, bool ignoreNotExists) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13209,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13211,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13219,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13215,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13214,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13224
      start: 13201
    functionDepth: 0
    functionLinenumber: 13201
    functionLinenumberEnd: 13224
    functionName: adjustTagsForCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createCastFunc
    - REPLACE_LIST2_NODE
    - dataTypeEqual
    - FORBOTH
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustTagsForCreateTable(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1874,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1883,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1892,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1878,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1884,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1885,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1888,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1907,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1918,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1879,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1882,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1887,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1891,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1895,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1903,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1910,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1878,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1908,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1896,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1902,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1899,1
    - Dst: nodesListInsertListAfterPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1911,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 69
    argCount: 4
    argNames:
    - pCxt
    - pSelect
    - pNode
    - pSelectListCell
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNode*
    - SListCell*
    constantsTouched: []
    func_position:
      end: 1920
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1920
    functionName: biRewriteSelectFuncParamStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodeType
    - LIST_LENGTH
    - nodesListInsertListAfterPos
    - nodesIsTableStar
    - nodesIsStar
    - nodesDestroyList
    - findTable
    - FOREACH
    - nodesMakeList
    - strcasecmp
    - nodesListStrictAppend
    - taosArrayGetSize
    - biMakeTbnameProjectAstNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t biRewriteSelectFuncParamStar(STranslateContext* pCxt,
      SSelectStmt* pSelect, SNode* pNode, SListCell* pSelectListCell) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 11653
      start: 11639
    functionDepth: 0
    functionLinenumber: 11639
    functionLinenumberEnd: 11653
    functionName: getDropComponentNodeMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int16_t
    signature: 'static int16_t getDropComponentNodeMsgType(ENodeType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3922,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pPartitionByList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3928
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3928
    functionName: hasTbnameFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - isTbnameFuction
    linkageType: ''
    returnType: bool
    signature: 'static bool hasTbnameFunction(SNodeList* pPartitionByList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5263,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5269,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5270,1
    - Dst: isJoinTagEqualOnCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5279,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5278,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pCond
    - leftTableAlias
    - rightTableAlias
    argTypes:
    - SNode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 5283
      start: 5262
    functionDepth: 0
    functionLinenumber: 5262
    functionLinenumberEnd: 5283
    functionName: joinTagEqCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - isJoinTagEqualOnCond
    linkageType: ''
    returnType: bool
    signature: 'static bool joinTagEqCondContains(SNode* pCond, char* leftTableAlias,
      char* rightTableAlias) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10472,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pDef
    - ppCol
    argTypes:
    - SColumnDefNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 10479
      start: 10470
    functionDepth: 0
    functionLinenumber: 10470
    functionLinenumberEnd: 10479
    functionName: createColumnFromDef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnFromDef(SColumnDefNode* pDef, SNode** ppCol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12376
      start: 12367
    functionDepth: 0
    functionLinenumber: 12367
    functionLinenumberEnd: 12376
    functionName: needAddWend
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool needAddWend(SCreateStreamStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13096,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13101,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13100,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13101,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13100,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13102,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13106,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13106,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pSchema
    - pTagExprs
    - pReq
    argTypes:
    - STranslateContext*
    - SSchema*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13109
      start: 13093
    functionDepth: 0
    functionLinenumber: 13093
    functionLinenumberEnd: 13109
    functionName: addGroupIdTagForExistDestTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - getFuncInfo
    - nodesListStrictAppend
    - nodesMakeNode
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addGroupIdTagForExistDestTable(STranslateContext* pCxt,
      const SSchema* pSchema, SNodeList* pTagExprs, SCMCreateStreamReq* pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - table
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3939
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 3939
    functionName: fromSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool fromSingleTable(SNode* table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: joinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5292,1
    - Dst: joinTagEqCondContains
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pJoinTable
    - pWhere
    argTypes:
    - SJoinTableNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 5299
      start: 5285
    functionDepth: 0
    functionLinenumber: 5285
    functionLinenumberEnd: 5299
    functionName: innerJoinTagEqCondContains
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - joinTagEqCondContains
    linkageType: ''
    returnType: bool
    signature: 'static bool innerJoinTagEqCondContains(SJoinTableNode* pJoinTable,
      SNode* pWhere) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10483,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10494,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10490,1
    - Dst: createColumnFromDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pSrcFunc
    - pColDef
    - ppRollupFunc
    argTypes:
    - SNode*
    - SColumnDefNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 10499
      start: 10481
    functionDepth: 0
    functionLinenumber: 10481
    functionLinenumberEnd: 10499
    functionName: createRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createColumnFromDef
    - nodesDestroyNode
    - nodesCloneNode
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createRollupFunc(SNode* pSrcFunc, SColumnDefNode* pColDef,
      SNode** ppRollupFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12387
      start: 12378
    functionDepth: 0
    functionLinenumber: 12378
    functionLinenumberEnd: 12387
    functionName: needAddGroupId
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool needAddGroupId(SCreateStreamStmt* pStmt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13114,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13146,1
    - Dst: addGroupIdTagForExistDestTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13161,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13179,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13183,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13126,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13142,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13144,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13145,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13154,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13178,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13114,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13115,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13129,1
    - Dst: createNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13168,1
    - Dst: needAddGroupId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13173,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13118,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13118,1
    - Dst: getTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13127,1
    - Dst: addProjToProjColPos
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13132,1
    - Dst: needAddGroupId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13159,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13151,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13147,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13169,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13182,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - pTagExprs
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - STableMeta*
    - SNodeList**
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13187
      start: 13111
    functionDepth: 0
    functionLinenumber: 13111
    functionLinenumberEnd: 13187
    functionName: adjustOrderOfTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - addGroupIdTagForExistDestTable
    - getNumOfTags
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - taosArrayInit
    - taosArrayDestroy
    - needAddGroupId
    - taosArraySort
    - taosArrayDestroyEx
    - taosArrayGet
    - nodesDestroyList
    - nodesMakeList
    - nodesListStrictAppend
    - LIST_LENGTH
    - getTableTagSchema
    - getTagSchema
    - addProjToProjColPos
    - createNullValue
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustOrderOfTags(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, const STableMeta* pMeta, SNodeList** pTagExprs, SCMCreateStreamReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableNameFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:533,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:539,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 542
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 542
    functionName: getTargetNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parserError
    - getTableNameFromCache
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetNameImpl(SParseContext* pParCxt, SParseMetaCache*
      pMetaCache, const SName* pName, char* pTbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11907,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11907,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11909,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11912,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropCGroupStmt*
    constantsTouched: []
    func_position:
      end: 11915
      start: 11902
    functionDepth: 0
    functionLinenumber: 11902
    functionLinenumberEnd: 11915
    functionName: translateDropCGroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tstrncpy
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropCGroup(STranslateContext* pCxt, SDropCGroupStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14196,1
    - Dst: tFreeSAssignLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAssignLeaderStmt*
    constantsTouched: []
    func_position:
      end: 14199
      start: 14194
    functionDepth: 0
    functionLinenumber: 14194
    functionLinenumberEnd: 14199
    functionName: translateAssignLeader
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSAssignLeaderReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAssignLeader(STranslateContext* pCxt, SAssignLeaderStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17817,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17818,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17822,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 17823
      start: 17811
    functionDepth: 0
    functionLinenumber: 17811
    functionLinenumberEnd: 17823
    functionName: buildUpdateTagValReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - buildUpdateTagValReqImpl
    - getTableTsmasFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateTagValReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:546,1
    - Dst: getTargetNameImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:551,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:548,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:555,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pTbName
    argTypes:
    - STranslateContext*
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 558
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 558
    functionName: getTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - parserError
    - getTargetNameImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetName(STranslateContext* pCxt, const SName*
      pName, char* pTbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11922,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterLocalStmt*
    constantsTouched: []
    func_position:
      end: 11928
      start: 11917
    functionDepth: 0
    functionLinenumber: 11917
    functionLinenumberEnd: 11928
    functionName: translateAlterLocal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strchr
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterLocal(STranslateContext* pCxt, SAlterLocalStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14204,1
    - Dst: tFreeSBalanceVgroupLeaderReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14207,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SBalanceVgroupLeaderStmt*
    constantsTouched: []
    func_position:
      end: 14209
      start: 14201
    functionDepth: 0
    functionLinenumber: 14201
    functionLinenumberEnd: 14209
    functionName: translateBalanceVgroupLeader
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSBalanceVgroupLeaderReq
    - buildCmdMsg
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateBalanceVgroupLeader(STranslateContext* pCxt,
      SBalanceVgroupLeaderStmt* pStmt) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17862,1
    - Dst: buildUpdateTagValReqImpl2
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17875,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17885,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17869,1
    - Dst: tfreeMultiTagUpateVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17879,1
    - Dst: buildUpdateTagValReqImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17847,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17840,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17854,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17856,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17866,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17880,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17833,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17834,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17849,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17854,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17866,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17868,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17876,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17873,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17878,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 17887
      start: 17825
    functionDepth: 0
    functionLinenumber: 17825
    functionLinenumberEnd: 17887
    functionName: buildUpdateMultiTagValReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tfreeMultiTagUpateVal
    - buildUpdateTagValReqImpl2
    - toName
    - buildUpdateTagValReqImpl
    - taosHashGet
    - strlen
    - FOREACH
    - taosArrayPush
    - taosHashCleanup
    - getTableTsmasFromCache
    - taosHashPut
    - taosGetDefaultHashFunction
    - generateSyntaxErrMsg
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateMultiTagValReq(STranslateContext* pCxt,
      SAlterTableStmt* pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buildSampleAstInfoByIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11356,1
    - Dst: clearSampleAstInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11360,1
    - Dst: buildSampleAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 6
    argNames:
    - pCxt
    - pStmt
    - pAst
    - pLen
    - pExpr
    - pExprLen
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - char**
    - int32_t*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 11362
      start: 11353
    functionDepth: 0
    functionLinenumber: 11353
    functionLinenumberEnd: 11362
    functionName: getSmaIndexAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - clearSampleAstInfo
    - buildSampleAstInfoByIndex
    - buildSampleAst
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getSmaIndexAst(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, char** pAst, int32_t* pLen, char** pExpr, int32_t* pExprLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2580,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2583,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2582,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2586,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2589,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2591,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2592,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2593,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pCount
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2597
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2597
    functionName: rewriteCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListMakeAppend
    - findTable
    - NODES_DESTORY_LIST
    - nodesMakeNode
    - nodesListGetNode
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCountTbname(STranslateContext* pCxt, SFunctionNode*
      pCount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7580,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7583,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7581,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7580,1
    - Dst: getQueryTimeRange
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7581,1
    - Dst: setTableVgroupsFromEqualTbnameCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7583,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7586
      start: 7577
    functionDepth: 0
    functionLinenumber: 7577
    functionLinenumberEnd: 7586
    functionName: translateWhere
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - PAR_ERR_RET
    - translateExpr
    - getQueryTimeRange
    - setTableVgroupsFromEqualTbnameCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateWhere(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteAlterTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18395
      start: 18393
    functionDepth: 0
    functionLinenumber: 18393
    functionLinenumberEnd: 18395
    functionName: rewriteAlterVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteAlterTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteAlterVirtualTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4688,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4700,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4701,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4704,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4694,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4710,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4713,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4717,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4717,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4718,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4720,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4719,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 4729
      start: 4687
    functionDepth: 0
    functionLinenumber: 4687
    functionLinenumberEnd: 4729
    functionName: doTranslateTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosMemoryCalloc
    - nodesDestroyNode
    - varDataVal
    - tstrncpy
    - strlen
    - varDataSetLen
    - taosStrdup
    - nodesMakeNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doTranslateTbName(SNode** pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doCheckFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6060,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pFill
    - pProjectionList
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 6062
      start: 6056
    functionDepth: 0
    functionLinenumber: 6056
    functionLinenumberEnd: 6062
    functionName: checkFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - doCheckFillValues
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkFillValues(STranslateContext* pCxt, SFillNode*
      pFill, SNodeList* pProjectionList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1182,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1189
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1189
    functionName: isGlobalTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isGlobalTimeLineQuery(SNode* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1329,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1332,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTable
    - pExpr
    argTypes:
    - STempTableNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1333
    functionName: isPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isTimeLineQuery
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: 'static bool isPrimaryKey(STempTableNode* pTable, SNode* pExpr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2571,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2574,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2576
    functionName: isCountTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountTbname(SFunctionNode* pFunc) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7483,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7505,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7510,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7525,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7526,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7535,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7536,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7552,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7487,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7494,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7509,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7521,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7520,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7515,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7543,1
    - Dst: replaceToChildTableQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7556,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7496,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7514,1
    - Dst: findVgroupsFromEqualTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7533,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7485,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7489,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7499,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7529,1
    - Dst: taosCreateMD5Hash
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7526,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - aTables
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SArray*
    constantsTouched: []
    func_position:
      end: 7560
      start: 7476
    functionDepth: 0
    functionLinenumber: 7476
    functionLinenumberEnd: 7560
    functionName: setEqualTbnameTableVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - replaceToChildTableQuery
    - taosMemoryFree
    - taosMemoryMalloc
    - taosArrayGet
    - findVgroupsFromEqualTbname
    - snprintf
    - taosMemoryCalloc
    - taosArrayDestroyP
    - taosCreateMD5Hash
    - strlen
    - taosArrayPush
    - parserDebug
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setEqualTbnameTableVgroups(STranslateContext* pCxt,
      SSelectStmt* pSelect, SArray* aTables) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9907,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9920,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9919,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9923,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9915,1
    - Dst: validRollupFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9924,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9925,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pFuncs
    - createStable
    - pDbCfg
    argTypes:
    - STranslateContext*
    - SNodeList*
    - bool
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 9929
      start: 9903
    functionDepth: 0
    functionLinenumber: 9903
    functionLinenumberEnd: 9929
    functionName: checkTableRollupOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - nodesListGetNode
    - LIST_LENGTH
    - validRollupFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableRollupOption(STranslateContext* pCxt, SNodeList*
      pFuncs, bool createStable, SDbCfgInfo* pDbCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11186,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11188,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropUserStmt*
    constantsTouched: []
    func_position:
      end: 11191
      start: 11184
    functionDepth: 0
    functionLinenumber: 11184
    functionLinenumberEnd: 11191
    functionName: translateDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSDropUserReq
    - buildCmdMsg
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropUser(STranslateContext* pCxt, SDropUserStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4732,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4749
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4749
    functionName: replaceTbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replaceTbName(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1192,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1199
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1199
    functionName: isCurGlobalTimeLineQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isCurGlobalTimeLineQuery(SNode* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1338,1
    - Dst: uDebug
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1343
    functionName: hasPkInTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - uDebug
    linkageType: ''
    returnType: bool
    signature: 'static bool hasPkInTable(const STableMeta* pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6065,1
    - Dst: checkFillValues
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6070
      start: 6064
    functionDepth: 0
    functionLinenumber: 6064
    functionLinenumberEnd: 6070
    functionName: translateFillValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - checkFillValues
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateFillValues(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7564,1
    - Dst: findEqualCondTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7565,1
    - Dst: setEqualTbnameTableVgroups
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7569,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7570,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7571,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7575
      start: 7562
    functionDepth: 0
    functionLinenumber: 7562
    functionLinenumberEnd: 7575
    functionName: setTableVgroupsFromEqualTbnameCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - findEqualCondTbname
    - taosArrayGet
    - setEqualTbnameTableVgroups
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableVgroupsFromEqualTbnameCond(STranslateContext*
      pCxt, SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9932,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pDataType
    argTypes:
    - STranslateContext*
    - SDataType
    constantsTouched: []
    func_position:
      end: 9941
      start: 9931
    functionDepth: 0
    functionLinenumber: 9931
    functionLinenumberEnd: 9941
    functionName: checkDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDecimalDataType(STranslateContext* pCxt, SDataType
      pDataType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11195,1
    - Dst: tFreeSMCreateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11208,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11200,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11205,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateAnodeStmt*
    constantsTouched: []
    func_position:
      end: 11210
      start: 11193
    functionDepth: 0
    functionLinenumber: 11193
    functionLinenumberEnd: 11210
    functionName: translateCreateAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - taosMemoryCalloc
    - tstrncpy
    - tFreeSMCreateAnodeReq
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateAnode(STranslateContext* pCxt, SCreateAnodeStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11225,1
    - Dst: tFreeSMUpdateAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SUpdateAnodeStmt*
    constantsTouched: []
    func_position:
      end: 11228
      start: 11221
    functionDepth: 0
    functionLinenumber: 11221
    functionLinenumberEnd: 11228
    functionName: translateUpdateAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeSMUpdateAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateUpdateAnode(STranslateContext* pCxt, SUpdateAnodeStmt*
      pStmt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11366,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11367,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11369,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11371,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11370,1
    - Dst: getTableMaxDelayOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11387,1
    - Dst: getTableWatermarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11393,1
    - Dst: getTableDeleteMarkOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11400,1
    - Dst: getSmaIndexDstVgId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11408,1
    - Dst: getSmaIndexSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11411,1
    - Dst: getSmaIndexAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11414,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11423,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11418,1
    - Dst: createLastTsSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11421,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateIndexStmt*
    - SMCreateSmaReq*
    constantsTouched: []
    func_position:
      end: 11427
      start: 11364
    functionDepth: 0
    functionLinenumber: 11364
    functionLinenumberEnd: 11427
    functionName: buildCreateSmaReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableMaxDelayOption
    - tNameExtractFullName
    - getSmaIndexSql
    - getSmaIndexDstVgId
    - toName
    - getTableDeleteMarkOption
    - getTableWatermarkOption
    - memset
    - getSmaIndexAst
    - createLastTsSelectStmt
    - taosMemoryFreeClear
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateSmaReq(STranslateContext* pCxt, SCreateIndexStmt*
      pStmt, SMCreateSmaReq* pReq) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14578,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14579,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14581,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14603,1
    - Dst: getTsma
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14650,1
    - Dst: checkRecursiveTsmaInterval
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14626,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14655,1
    - Dst: getSmaIndexSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14683,1
    - Dst: buildTSMAAst
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14695,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14583,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14587,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14645,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14635,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14704,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14593,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14604,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14604,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14643,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14623,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14641,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14654,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14662,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14682,1
    - Dst: rewriteTSMAFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14687,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14582,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14639,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14652,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14653,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14666,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14690,1
    - Dst: createLastTsSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14701,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - useTbName
    argTypes:
    - STranslateContext*
    - SCreateTSMAStmt*
    - SMCreateSmaReq*
    - SName*
    constantsTouched: []
    func_position:
      end: 14707
      start: 14573
    functionDepth: 0
    functionLinenumber: 14573
    functionLinenumberEnd: 14707
    functionName: buildCreateTSMAReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getSmaIndexSql
    - toName
    - getTsma
    - nodesListMakeStrictAppend
    - rewriteTSMAFuncs
    - FOREACH
    - memcpy
    - getDBCfg
    - getTableMeta
    - createLastTsSelectStmt
    - convertTimePrecision
    - TSDB_TICK_PER_SECOND
    - nodesDestroyNode
    - memset
    - fmIsTSMASupportedFunc
    - translateValue
    - buildTSMAAst
    - taosMemoryFreeClear
    - LIST_LENGTH
    - tNameExtractFullName
    - nodesStringToNode
    - IS_CALENDAR_TIME_DURATION
    - checkRecursiveTsmaInterval
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTSMAReq(STranslateContext* pCxt, SCreateTSMAStmt*
      pStmt, SMCreateSmaReq* pReq, SName* useTbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 3667
      start: 3662
    functionDepth: 0
    functionLinenumber: 3662
    functionLinenumberEnd: 3667
    functionName: getGroupByList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isDistinctOrderBy
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * getGroupByList(STranslateContext* pCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fillCmdSql
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9579,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9593,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9587,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9591,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9581,1
    - Dst: func
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9596,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - msgType
    - func
    - pReq
    argTypes:
    - STranslateContext*
    - int16_t
    - FSerializeFunc
    - void*
    constantsTouched: []
    func_position:
      end: 9600
      start: 9577
    functionDepth: 0
    functionLinenumber: 9577
    functionLinenumberEnd: 9600
    functionName: buildCmdMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fillCmdSql
    - taosMemoryFreeClear
    - taosMemoryMalloc
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCmdMsg(STranslateContext* pCxt, int16_t msgType,
      FSerializeFunc func, void* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18400,1
    - Dst: buildVirtualTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18400,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18401,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18404,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - SCreateVTableStmt*
    - SVgroupInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 18406
      start: 18397
    functionDepth: 0
    functionLinenumber: 18397
    functionLinenumberEnd: 18406
    functionName: buildCreateVTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - serializeVgroupCreateTableBatch
    - buildVirtualTableBatchReq
    - destroyCreateTbReqBatch
    - PAR_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateVTableDataBlock(const SCreateVTableStmt*
      pStmt, const SVgroupInfo* pInfo, SArray* pBufArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3670,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3674
      start: 3669
    functionDepth: 0
    functionLinenumber: 3669
    functionLinenumberEnd: 3674
    functionName: getGroupByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * getGroupByNode(SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9604,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9611,1
    - Dst: buildCreateDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9606,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9613
      start: 9602
    functionDepth: 0
    functionLinenumber: 9602
    functionLinenumberEnd: 9613
    functionName: translateCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkCreateDatabase
    - tFreeSCreateDbReq
    - buildCmdMsg
    - buildCreateDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateDatabase(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateSubquery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3451
      start: 3449
    functionDepth: 0
    functionLinenumber: 3449
    functionLinenumberEnd: 3451
    functionName: translateExprSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateSubquery
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateExprSubquery(STranslateContext* pCxt, SNode*
      pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6611,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6614,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6613,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 6617
      start: 6605
    functionDepth: 0
    functionLinenumber: 6605
    functionLinenumberEnd: 6617
    functionName: checkTrueForLimit
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTrueForLimit(STranslateContext *pCxt, SNode *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1121,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1122
    functionName: isIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isIndefiniteRowsFunc(const SNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getPrecisionFromCurrStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2347,1
    - Dst: IS_TIME_OFFSET_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2352,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2350,1
    - Dst: translateDurationValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2351,1
    - Dst: translateTimeOffsetValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2353,1
    - Dst: translateNormalValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    constantsTouched: []
    func_position:
      end: 2365
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2365
    functionName: translateValueImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_TIME_OFFSET_VAL
    - translateDurationValue
    - translateNormalValue
    - getPrecisionFromCurrStmt
    - IS_DURATION_VAL
    - translateTimeOffsetValue
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateValueImpl(STranslateContext* pCxt, SValueNode*
      pVal, SDataType targetDt, bool strict) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7331,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7351,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7333,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7336,1
    - Dst: unionEqualCondTbnamesOfSameTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7342,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7353,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7356,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 7359
      start: 7327
    functionDepth: 0
    functionLinenumber: 7327
    functionLinenumberEnd: 7359
    functionName: findEqualCondTbnameInLogicCondOr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - nodeType
    - taosArrayGet
    - unionEqualCondTbnamesOfSameTable
    - taosArrayDestroy
    - FOREACH
    - findEqCondTbNameInOperatorNode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findEqualCondTbnameInLogicCondOr(STranslateContext*
      pCxt, SNode* pWhere, SArray* aTableTbnames) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateInsertTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8670,1
    - Dst: translateInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8675,1
    - Dst: translateInsertProject
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8678,1
    - Dst: translateInsertCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 8681
      start: 8668
    functionDepth: 0
    functionLinenumber: 8668
    functionLinenumberEnd: 8681
    functionName: translateInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateInsertProject
    - translateInsertQuery
    - translateInsertTable
    - translateInsertCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInsert(STranslateContext* pCxt, SInsertStmt*
      pInsert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9770,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9770,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9773,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SS3MigrateDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9774
      start: 9767
    functionDepth: 0
    functionLinenumber: 9767
    functionLinenumberEnd: 9774
    functionName: translateS3MigrateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateS3MigrateDatabase(STranslateContext* pCxt,
      SS3MigrateDatabaseStmt* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16620,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16621,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16624,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16628,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateSubTableClause*
    constantsTouched: []
    func_position:
      end: 16632
      start: 16619
    functionDepth: 0
    functionLinenumber: 16619
    functionLinenumberEnd: 16632
    functionName: checkCreateSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strchr
    - generateSyntaxErrMsgExt
    - generateSyntaxErrMsg
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateSubTable(STranslateContext* pCxt, SCreateSubTableClause*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pCond
    argTypes:
    - STranslateContext*
    - SLogicConditionNode*
    constantsTouched: []
    func_position:
      end: 3457
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3457
    functionName: translateLogicCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateLogicCond(STranslateContext* pCxt, SLogicConditionNode*
      pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6620,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6621,1
    - Dst: checkStateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6627,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6622,1
    - Dst: checkStateWindowForStream
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6629,1
    - Dst: checkTrueForLimit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6632,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6635
      start: 6619
    functionDepth: 0
    functionLinenumber: 6619
    functionLinenumberEnd: 6635
    functionName: translateStateWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - checkStateExpr
    - checkStateWindowForStream
    - checkTrueForLimit
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateStateWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1125,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1126
    functionName: isVectorFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsVectorFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isVectorFunc(const SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - dt
    argTypes:
    - SDataType
    constantsTouched: []
    func_position:
      end: 2375
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2375
    functionName: calcTypeBytes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcTypeBytes(SDataType dt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7364,1
    - Dst: findEqCondTbNameInOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7367,1
    - Dst: findEqualCondTbnameInLogicCondAnd
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7376,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7370,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7374,1
    - Dst: findEqualCondTbnameInLogicCondOr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pWhere
    - aTableTbnames
    argTypes:
    - STranslateContext*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 7382
      start: 7361
    functionDepth: 0
    functionLinenumber: 7361
    functionLinenumberEnd: 7382
    functionName: findEqualCondTbname
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - findEqualCondTbnameInLogicCondAnd
    - findEqualCondTbnameInLogicCondOr
    - taosArrayPush
    - findEqCondTbNameInOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findEqualCondTbname(STranslateContext* pCxt, SNode*
      pWhere, SArray* aTableTbnames) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 8695
      start: 8683
    functionDepth: 0
    functionLinenumber: 8683
    functionLinenumberEnd: 8695
    functionName: getUnitPerMinute
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getUnitPerMinute(uint8_t precision) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9777,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9788,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9784,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9782,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9777,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9790,1
    - Dst: calcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9794,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9795,1
    - Dst: setColEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9797,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9797,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9798,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9799,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9810,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9816,1
    - Dst: setColLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9799,1
    - Dst: setColCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9798,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 4
    argNames:
    - pList
    - pArray
    - calBytes
    - virtualTable
    argTypes:
    - SNodeList*
    - SArray**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 9820
      start: 9776
    functionDepth: 0
    functionLinenumber: 9776
    functionLinenumberEnd: 9820
    functionName: columnDefNodeToField
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - columnEncodeVal
    - calcTypeMod
    - taosArrayDestroy
    - columnLevelVal
    - setColCompress
    - tstrncpy
    - setColEncode
    - IS_DECIMAL_TYPE
    - setColLevel
    - FOREACH
    - taosArrayPush
    - columnCompressVal
    - taosArrayInit
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t columnDefNodeToField(SNodeList* pList, SArray** pArray,
      bool calBytes, bool virtualTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16635,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16638,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16636,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16639,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateVSubTableStmt*
    constantsTouched: []
    func_position:
      end: 16643
      start: 16634
    functionDepth: 0
    functionLinenumber: 16634
    functionLinenumberEnd: 16643
    functionName: checkCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strchr
    - generateSyntaxErrMsgExt
    - generateSyntaxErrMsg
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateVSubTable(STranslateContext* pCxt, SCreateVSubTableStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createMultiResFuncsParas
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5794,1
    - Dst: createMultiResFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5796,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pSrcFunc
    - pOutput
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5801
      start: 5792
    functionDepth: 0
    functionLinenumber: 5792
    functionLinenumberEnd: 5801
    functionName: createMultiResFuncsFromStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createMultiResFuncsParas
    - createMultiResFuncs
    - nodesDestroyList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMultiResFuncsFromStar(STranslateContext* pCxt,
      SFunctionNode* pSrcFunc, SNodeList** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6075,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6078,1
    - Dst: rewriteExprAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 6083
      start: 6072
    functionDepth: 0
    functionLinenumber: 6072
    functionLinenumberEnd: 6083
    functionName: rewriteProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteExprAliasName
    - FOREACH
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteProjectAlias(SNodeList* pProjectionList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:676,1
    - Dst: getTableCfgFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:682,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:678,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:692,1
    - Dst: catalogRefreshGetTableCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:688,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:693,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pCfg
    argTypes:
    - STranslateContext*
    - SName*
    - STableCfg**
    constantsTouched: []
    func_position:
      end: 696
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 696
    functionName: getTableCfg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - catalogRefreshGetTableCfg
    - getTableCfgFromCache
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableCfg(STranslateContext* pCxt, const SName* pName,
      STableCfg** pCfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:755,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:757,1
    - Dst: getDbTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:762,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:771,1
    - Dst: getTableVgroupFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:764,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:775,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:776,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pInfo
    argTypes:
    - STranslateContext*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 779
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 779
    functionName: getTableHashVgroupImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableVgroupFromCache
    - collectUseTable
    - tstrerror
    - getDbTableVgroupFromCache
    - collectUseDatabase
    - catalogGetTableHashVgroup
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableHashVgroupImpl(STranslateContext* pCxt, const
      SName* pName, SVgroupInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1086,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1087
    functionName: isForecastFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsForecastFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isForecastFunc(const SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3096,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3102,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3104
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3104
    functionName: rewriteDatabaseFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDatabaseFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9033,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9053,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9059,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9034,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9056,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9067,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9003,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9033,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9047,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9039,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9002,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9010,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9012,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9073,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9016,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9017,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9025,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9030,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9031,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9045,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9041,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9079,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 3
    argNames:
    - pCxt
    - pRetentions
    - precision
    argTypes:
    - STranslateContext*
    - SNodeList*
    - int8_t
    constantsTouched: []
    func_position:
      end: 9089
      start: 8997
    functionDepth: 0
    functionLinenumber: 8997
    functionLinenumberEnd: 9089
    functionName: checkDbRetentionsOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - translateValue
    - strlen
    - FOREACH
    - getUnitPerMinute
    - IS_DURATION_VAL
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbRetentionsOption(STranslateContext* pCxt, SNodeList*
      pRetentions, int8_t precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 12398
      start: 12389
    functionDepth: 0
    functionLinenumber: 12389
    functionLinenumberEnd: 12398
    functionName: needAddIsFilled
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool needAddIsFilled(SCreateStreamStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:702,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:715,1
    - Dst: getTableMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:716,1
    - Dst: catalogRefreshGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 719
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 719
    functionName: refreshGetTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableMetaFromCache
    - catalogRefreshGetTableMeta
    - toName
    - tstrerror
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t refreshGetTableMeta(STranslateContext* pCxt, const
      char* pDbName, const char* pTableName, STableMeta** pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:784,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:785,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pInfo
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 786
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: getTableHashVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableHashVgroupImpl
    - toName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableHashVgroup(STranslateContext* pCxt, const char*
      pDbName, const char* pTableName, SVgroupInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1090,1
    - Dst: fmIsForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1091
    functionName: isForecastPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsForecastPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isForecastPseudoColumnFunc(const SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3112,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3111,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3114
      start: 3106
    functionDepth: 0
    functionLinenumber: 3106
    functionLinenumberEnd: 3114
    functionName: rewriteClentVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteClentVersionFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5804,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5819,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5812,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5816,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5805,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5821,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5823,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5824,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5825,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5830
      start: 5803
    functionDepth: 0
    functionLinenumber: 5803
    functionLinenumberEnd: 5830
    functionName: createTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - getTableTagSchema
    - nodesListMakeStrictAppend
    - NODES_DESTORY_LIST
    - generateSyntaxErrMsg
    - nodesMakeNode
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTags(STranslateContext* pCxt, SNodeList** pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6086,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6093,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6087,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6091,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6086,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6093,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6094,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6095,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6097,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6097,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6103,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pCxt
    - pProjectionList
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 6106
      start: 6085
    functionDepth: 0
    functionLinenumber: 6085
    functionLinenumberEnd: 6106
    functionName: checkProjectAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosHashGet
    - strlen
    - FOREACH
    - taosHashPut
    - taosGetDefaultHashFunction
    - generateSyntaxErrMsg
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkProjectAlias(STranslateContext* pCxt, SNodeList*
      pProjectionList, SHashObj** pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9093,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9110,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9099,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - tbPrefix
    - tbSuffix
    argTypes:
    - STranslateContext*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 9115
      start: 9091
    functionDepth: 0
    functionLinenumber: 9091
    functionLinenumberEnd: 9115
    functionName: checkDbTbPrefixSuffixOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbTbPrefixSuffixOptions(STranslateContext* pCxt,
      int32_t tbPrefix, int32_t tbSuffix) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkProjectAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12404,1
    - Dst: addWendTsToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12412,1
    - Dst: needAddWend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12411,1
    - Dst: addWstartTsToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12406,1
    - Dst: addIrowTsToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12409,1
    - Dst: needAddIsFilled
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12414,1
    - Dst: addIsFilledToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12415,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12418,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pCols
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12420
      start: 12400
    functionDepth: 0
    functionLinenumber: 12400
    functionLinenumberEnd: 12420
    functionName: addTsKeyToCreateStreamQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addWstartTsToCreateStreamQueryImpl
    - checkProjectAlias
    - needAddWend
    - addWendTsToCreateStreamQueryImpl
    - addIsFilledToCreateStreamQueryImpl
    - addIrowTsToCreateStreamQueryImpl
    - needAddIsFilled
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addTsKeyToCreateStreamQuery(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt, SNodeList* pCols, SCMCreateStreamReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 12904
      start: 12904
    functionDepth: 0
    functionLinenumber: 12904
    functionLinenumberEnd: 12904
    functionName: projColPosDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'static void projColPosDelete(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1003,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1005,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1011,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1005,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1007,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1012,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1015,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1016,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 1018
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1018
    functionName: destroyTranslateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayDestroy
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyTranslateContext(STranslateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 4048
      start: 4045
    functionDepth: 0
    functionLinenumber: 4045
    functionLinenumberEnd: 4048
    functionName: checkExprForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkExprForGroupBy(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17436,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17442,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17449,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17443,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17448,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17451,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17451,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17454,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17457,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17460
      start: 17428
    functionDepth: 0
    functionLinenumber: 17428
    functionLinenumberEnd: 17460
    functionName: rewriteDropTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteDropTableWithMetaCache
    - generateSyntaxErrMsgExt
    - isdigit
    - toName
    - tstrncpy
    - tstrerror
    - FOREACH
    - TAOS_RETURN
    - getTargetName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropTableWithOpt(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1022
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    functionName: isSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isSelectStmt(SNode* pCurrStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4051,1
    - Dst: nodesRewriteExprs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4055,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4052,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pList
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4057
      start: 4050
    functionDepth: 0
    functionLinenumber: 4050
    functionLinenumberEnd: 4057
    functionName: checkExprListForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getGroupByList
    - isWindowJoinStmt
    - nodesRewriteExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkExprListForGroupBy(STranslateContext* pCxt, SSelectStmt*
      pSelect, SNodeList* pList) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17479,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17484,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17494,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17501,1
    - Dst: buildDropTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17489,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17523,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17535,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17542,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17557,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17468,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17470,1
    - Dst: getTableTsmasFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17499,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17509,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17527,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17536,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17546,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17477,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17471,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17485,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17495,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17514,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17496,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17552,1
    - Dst: rewriteDropTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17477,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17479,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17488,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17491,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17515,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17523,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17544,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17551,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17558
      start: 17462
    functionDepth: 0
    functionLinenumber: 17462
    functionLinenumberEnd: 17558
    functionName: rewriteDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - toName
    - generateSyntaxErrMsg
    - taosArrayInit
    - taosHashCleanup
    - taosHashInit
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - FOREACH
    - taosArrayPush
    - taosGetDefaultHashFunction
    - rewriteDropTableWithOpt
    - taosHashSetFreeFp
    - buildCmdMsg
    - getTableTsmasFromCache
    - buildDropTableVgroupHashmap
    - LIST_LENGTH
    - taosHashIterate
    - rewriteToVnodeModifyOpStmt
    - taosHashGetSize
    - serializeVgroupsDropTableBatch
    - IS_SYS_DBNAME
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropTable(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3942,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3942,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3948,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3944,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3943,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 21
    argCount: 3
    argNames:
    - pSelect
    - pFunc1
    - pFunc2
    argTypes:
    - SSelectStmt*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3960
      start: 3941
    functionDepth: 0
    functionLinenumber: 3941
    functionLinenumberEnd: 3960
    functionName: IsEqualTbNameFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isTbnameFuction
    - strcmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool IsEqualTbNameFuncNode(SSelectStmt* pSelect, SNode* pFunc1,
      SNode* pFunc2) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3973,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3975,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3978,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3981,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3985,1
    - Dst: isTbnameFuction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3981,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3996,1
    - Dst: IsEqualTbNameFuncNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4000,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4007,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4019,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4039,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4026,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4034,1
    - Dst: isWindowJoinGroupCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4028,1
    - Dst: isWindowJoinProbeTableCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4028,1
    - Dst: isAliasColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3965,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3983,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3991,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3998,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4005,1
    - Dst: isScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4011,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4021,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4026,1
    - Dst: isWindowJoinSubTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4029,1
    - Dst: isWindowJoinSubTbTag
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4029,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4030,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4033,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4040,1
    - Dst: fromSingleTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3971,1
    - Dst: getGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3973,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3992,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3979,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3993,1
    - Dst: rewriteExprToGroupKeyFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4001,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4014,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4022,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4022,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4020,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3965,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3968,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3968,1
    - Dst: getGroupByNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3974,1
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3990,1
    - Dst: rewriteExprToSelectTagFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3986,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4004,1
    - Dst: isDistinctOrderBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4013,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4015,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4015,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4034,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4027,1
    - Dst: getGroupByErrorCode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4040,1
    - Dst: isVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4039,1
    - Dst: rewriteColToSelectValFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4037,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 118
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 4043
      start: 3962
    functionDepth: 0
    functionLinenumber: 3962
    functionLinenumberEnd: 4043
    functionName: doCheckExprForGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isWindowJoinGroupCol
    - isTbnameFuction
    - getGroupByNode
    - nodesEqualNode
    - isScanPseudoColumnFunc
    - hasTbnameFunction
    - nodeType
    - isWindowJoinProbeTableCol
    - isWindowJoinSubTbname
    - isVectorFunc
    - isDistinctOrderBy
    - FOREACH
    - rewriteExprToSelectTagFunc
    - generateDealNodeErrMsg
    - isRelatedToOtherExpr
    - isWindowJoinStmt
    - isAliasColumn
    - getGroupByList
    - rewriteColToSelectValFunc
    - isWindowJoinSubTbTag
    - rewriteExprToGroupKeyFunc
    - fromSingleTable
    - nodesIsExprNode
    - IsEqualTbNameFuncNode
    - getGroupByErrorCode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doCheckExprForGroupBy(SNode** pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16047,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16053,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16057,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16052,1
    - Dst: createBlockDBUsageInfoFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16055,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16060,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 16065
      start: 16045
    functionDepth: 0
    functionLinenumber: 16045
    functionLinenumberEnd: 16065
    functionName: createDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - strcpy
    - nodesDestroyNode
    - createBlockDBUsageInfoFunc
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDBUsageFunc(SFunctionNode** ppNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8734,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8736,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8772,1
    - Dst: buildCreateDbRetentions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8780,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 8781
      start: 8732
    functionDepth: 0
    functionLinenumber: 8732
    functionLinenumberEnd: 8781
    functionName: buildCreateDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCreateDbRetentions
    - tstrncpy
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt, SCreateDbReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10565,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10571,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10569,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ppFunc
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 10574
      start: 10563
    functionDepth: 0
    functionLinenumber: 10563
    functionLinenumberEnd: 10574
    functionName: createTbnameFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTbnameFunction(SFunctionNode** ppFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15688,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15692,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15688,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15690,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15690,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15695,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 15698
      start: 15684
    functionDepth: 0
    functionLinenumber: 15684
    functionLinenumberEnd: 15698
    functionName: addShowVirtualNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - PAR_ERR_JRET
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowVirtualNormalTablesCond(SSelectStmt* pSelect,
      bool equal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18297,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18306,1
    - Dst: serializeAlterTbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pArray
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    - SArray**
    constantsTouched: []
    func_position:
      end: 18310
      start: 18295
    functionDepth: 0
    functionLinenumber: 18295
    functionLinenumberEnd: 18310
    functionName: buildModifyVnodeArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - serializeAlterTbReq
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildModifyVnodeArray(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq, SArray** pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8786,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - pCxt
    - code
    - pName
    - val
    - minVal
    - maxVal
    - skipUndef
    argTypes:
    - STranslateContext*
    - int32_t
    - char*
    - int64_t
    - int64_t
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 8791
      start: 8783
    functionDepth: 0
    functionLinenumber: 8783
    functionLinenumberEnd: 8791
    functionName: checkRangeOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkRangeOption(STranslateContext* pCxt, int32_t code,
      const char* pName, int64_t val, int64_t minVal, int64_t maxVal, bool skipUndef) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createRollupFuncs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10580,1
    - Dst: createRollupTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10586,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10591,1
    - Dst: makeIntervalVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10583,1
    - Dst: createTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - pRetension
    - precision
    - pInfo
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    - SRetention*
    - int8_t
    - SSampleAstInfo*
    constantsTouched: []
    func_position:
      end: 10592
      start: 10576
    functionDepth: 0
    functionLinenumber: 10576
    functionLinenumberEnd: 10592
    functionName: buildSampleAstInfoByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - createRollupTableMeta
    - createTbnameFunction
    - createRollupFuncs
    - makeIntervalVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSampleAstInfoByTable(STranslateContext* pCxt,
      SCreateTableStmt* pStmt, SRetention* pRetension, int8_t precision, SSampleAstInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15704,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15708,1
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15704,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15706,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15706,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15711,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 15714
      start: 15700
    functionDepth: 0
    functionLinenumber: 15700
    functionLinenumberEnd: 15714
    functionName: addShowVirtualChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - PAR_ERR_JRET
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowVirtualChildTablesCond(SSelectStmt* pSelect,
      bool equal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18313,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18317,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18314,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18318,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18320,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18321,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18322,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18323,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18328,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18331,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18324,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18333
      start: 18312
    functionDepth: 0
    functionLinenumber: 18312
    functionLinenumberEnd: 18333
    functionName: destoryAlterTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - tTagFree
    - taosArrayDestroyEx
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destoryAlterTbReq(SVAlterTbReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3117,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3124
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3124
    functionName: rewriteServerVersionFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteServerVersionFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5834,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5841,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5838,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5836,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5845,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5846,1
    - Dst: createTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5852,1
    - Dst: createMultiResFuncsFromStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5854,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5857,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5858,1
    - Dst: INSERT_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5865,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5863,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5866,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 5874
      start: 5832
    functionDepth: 0
    functionLinenumber: 5832
    functionLinenumberEnd: 5874
    functionName: translateStar
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - ERASE_NODE
    - createAllColumns
    - WHERE_EACH
    - nodesIsStar
    - createTableAllCols
    - FOREACH
    - createTags
    - createMultiResFuncsFromStar
    - INSERT_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateStar(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5953,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5955,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5962,1
    - Dst: rewriteColsFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5959,1
    - Dst: rewriteHavingColsNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5957,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5964,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5965,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - clause
    - pSelect
    argTypes:
    - STranslateContext*
    - ESqlClause
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 5971
      start: 5951
    functionDepth: 0
    functionLinenumber: 5951
    functionLinenumberEnd: 5971
    functionName: prepareColumnExpansion
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - translateExprList
    - rewriteHavingColsNode
    - rewriteColsFunction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t prepareColumnExpansion(STranslateContext* pCxt, ESqlClause
      clause, SSelectStmt* pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6553,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6554,1
    - Dst: calcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6559,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - pInterval
    argTypes:
    - SIntervalWindowNode*
    constantsTouched: []
    func_position:
      end: 6561
      start: 6524
    functionDepth: 0
    functionLinenumber: 6524
    functionLinenumberEnd: 6561
    functionName: tryCalcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_CALENDAR_TIME_DURATION
    - calcIntervalAutoOffset
    linkageType: ''
    returnType: void
    signature: 'void tryCalcIntervalAutoOffset(SIntervalWindowNode *pInterval) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6666,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6684,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6676,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6681,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6671,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6685,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6690
      start: 6663
    functionDepth: 0
    functionLinenumber: 6663
    functionLinenumberEnd: 6690
    functionName: translateCountWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCountWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7967,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7969,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 7974
      start: 7966
    functionDepth: 0
    functionLinenumber: 7966
    functionLinenumberEnd: 7974
    functionName: isStarColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isStarColumn(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8574,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 8577
      start: 8572
    functionDepth: 0
    functionLinenumber: 8572
    functionLinenumberEnd: 8577
    functionName: translateInsertCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateExprList
    - createAllColumns
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInsertCols(STranslateContext* pCxt, SInsertStmt*
      pInsert) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17232,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17241,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17254,1
    - Dst: createSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17236,1
    - Dst: serializeVgroupsCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17240,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 17256
      start: 17228
    functionDepth: 0
    functionLinenumber: 17228
    functionLinenumberEnd: 17256
    functionName: continueCreateTbFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosHashClear
    - createSubTableFromFile
    - taosMemoryFreeClear
    - serializeVgroupsCreateTableBatch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t continueCreateTbFromFile(SParseContext* pParseCxt, SQuery**
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3135,1
    - Dst: rewriteFuncToValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3137
      start: 3126
    functionDepth: 0
    functionLinenumber: 3126
    functionLinenumberEnd: 3137
    functionName: rewriteServerStatusFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteFuncToValue
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteServerStatusFunc(STranslateContext* pCxt, SNode**
      pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5975,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5982,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5979,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5981,1
    - Dst: translateExprList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5989,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 5995
      start: 5973
    functionDepth: 0
    functionLinenumber: 5973
    functionLinenumberEnd: 5995
    functionName: translateOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - checkExprListForGroupBy
    - translateExprList
    - translateClausePosition
    - NODES_DESTORY_LIST
    - prepareColumnExpansion
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOrderBy(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tryCalcIntervalAutoOffset
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6568,1
    - Dst: translateFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6572,1
    - Dst: checkIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6575
      start: 6563
    functionDepth: 0
    functionLinenumber: 6563
    functionLinenumberEnd: 6575
    functionName: translateIntervalWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateFill
    - checkIntervalWindow
    - tryCalcIntervalAutoOffset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateIntervalWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6694,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6695,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6700,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - STranslateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 6705
      start: 6692
    functionDepth: 0
    functionLinenumber: 6692
    functionLinenumberEnd: 6705
    functionName: checkAnomalyExpr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_MATHABLE_TYPE
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAnomalyExpr(STranslateContext* pCxt, SNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7982,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7995,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7984,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7993,1
    - Dst: isColsFuncByName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7984,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8002,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - pParameterList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 8010
      start: 7976
    functionDepth: 0
    functionLinenumber: 7976
    functionLinenumberEnd: 8010
    functionName: checkMultColsFuncParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - nodesRewriteExpr
    - isColsFuncByName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkMultColsFuncParam(SNodeList* pParameterList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetTranslateNamespace
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8580,1
    - Dst: translateQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 8585
      start: 8579
    functionDepth: 0
    functionLinenumber: 8579
    functionLinenumberEnd: 8585
    functionName: translateInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - resetTranslateNamespace
    - translateQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInsertQuery(STranslateContext* pCxt, SInsertStmt*
      pInsert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1094,1
    - Dst: isRelatedToOtherExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1095
    functionName: isColsFunctionResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesIsExprNode
    - isRelatedToOtherExpr
    linkageType: ''
    returnType: bool
    signature: 'static bool isColsFunctionResult(const SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2979,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 2979
      start: 2979
    functionDepth: 0
    functionLinenumber: 2979
    functionLinenumberEnd: 2979
    functionName: isStarParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesIsTableStar
    - nodesIsStar
    linkageType: ''
    returnType: bool
    signature: 'static bool isStarParam(SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7074,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7080,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7082,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7083,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 7089
      start: 7071
    functionDepth: 0
    functionLinenumber: 7071
    functionLinenumberEnd: 7089
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_WINDOW_JOIN
    - nodeType
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForecast(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8840,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8842,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8851,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8848,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8846,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8853,1
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8856,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8861,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8861,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8866,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8866,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8871,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8881,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8888,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8871,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8893
      start: 8835
    functionDepth: 0
    functionLinenumber: 8835
    functionLinenumberEnd: 8893
    functionName: checkDbKeepOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - translateValue
    - FOREACH
    - IS_DURATION_VAL
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbKeepOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10080,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10080,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10081,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10080,1
    - Dst: checkTableTagsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10086,1
    - Dst: checkTableColsSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10088,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10088,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10091,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pTags
    - pCols
    - pRollupFuncs
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 10093
      start: 10078
    functionDepth: 0
    functionLinenumber: 10078
    functionLinenumberEnd: 10093
    functionName: checkTableSchemaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - checkTableColsSchema
    - checkTableTagsSchema
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableSchemaImpl(STranslateContext* pCxt, SNodeList*
      pTags, SNodeList* pCols, SNodeList* pRollupFuncs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10338,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10344,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10343,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 10345
      start: 10336
    functionDepth: 0
    functionLinenumber: 10336
    functionLinenumberEnd: 10345
    functionName: addWdurationToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWdurationToSampleProjects(SNodeList* pProjectionList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11879,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11886,1
    - Dst: buildCreateTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11881,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11884,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTopicStmt*
    constantsTouched: []
    func_position:
      end: 11888
      start: 11877
    functionDepth: 0
    functionLinenumber: 11877
    functionLinenumberEnd: 11888
    functionName: translateCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCreateTopicReq
    - buildCmdMsg
    - checkCreateTopic
    - tFreeSCMCreateTopicReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateTopic(STranslateContext* pCxt, SCreateTopicStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1098,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1098,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1100
    functionName: isInvalidColsBindFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsMultiRowsFunc
    - fmIsSelectFunc
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isInvalidColsBindFunction(const SFunctionNode* pFunc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2982,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2986,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2988,1
    - Dst: isStarParam
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2987,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2992,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2993,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2993,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2997
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2997
    functionName: translateMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - LIST_LENGTH
    - fmIsMultiResFunc
    - tstrncpy
    - isStarParam
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateMultiResFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7093,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7096,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7094,1
    - Dst: fmIsConstantResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7095,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7095,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7097,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 7109
      start: 7091
    functionDepth: 0
    functionLinenumber: 7091
    functionLinenumberEnd: 7109
    functionName: removeConstantValueFromList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - ERASE_NODE
    - WHERE_EACH
    - fmIsConstantResFunc
    - nodesDestroyList
    - fmIsScalarFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t removeConstantValueFromList(SNodeList** pList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8897,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8901,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8905,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8915
      start: 8895
    functionDepth: 0
    functionLinenumber: 8895
    functionLinenumberEnd: 8915
    functionName: checkDbKeepTimeOffsetOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateValue
    - generateSyntaxErrMsgExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbKeepTimeOffsetOption(STranslateContext* pCxt,
      SDatabaseOptions* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkTableSchemaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 10097
      start: 10095
    functionDepth: 0
    functionLinenumber: 10095
    functionLinenumberEnd: 10097
    functionName: checkTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkTableSchemaImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableSchema(STranslateContext* pCxt, SCreateTableStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: addWstartToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10351,1
    - Dst: addWendToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10353,1
    - Dst: addWdurationToSampleProjects
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10355,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10362,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10363,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10368,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 3
    argNames:
    - pInfo
    - pList
    - pProjectionTotalLen
    argTypes:
    - SSampleAstInfo*
    - SNodeList**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 10371
      start: 10347
    functionDepth: 0
    functionLinenumber: 10347
    functionLinenumberEnd: 10371
    functionName: buildProjectsForSampleAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addWstartToSampleProjects
    - snprintf
    - nodesDestroyList
    - addWdurationToSampleProjects
    - FOREACH
    - addWendToSampleProjects
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildProjectsForSampleAst(SSampleAstInfo* pInfo, SNodeList**
      pList, int32_t* pProjectionTotalLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11893,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11898,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropTopicStmt*
    constantsTouched: []
    func_position:
      end: 11900
      start: 11890
    functionDepth: 0
    functionLinenumber: 11890
    functionLinenumberEnd: 11900
    functionName: translateDropTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSMDropTopicReq
    - buildCmdMsg
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropTopic(STranslateContext* pCxt, SDropTopicStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15720,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15722,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15722,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15724,1
    - Dst: nodesMakeValueNodeFromBool
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15720,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15724,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 15730
      start: 15716
    functionDepth: 0
    functionLinenumber: 15716
    functionLinenumberEnd: 15730
    functionName: addShowVirtualSuperTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - PAR_ERR_JRET
    - createOperatorNode
    - nodesMakeValueNodeFromBool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowVirtualSuperTablesCond(SSelectStmt* pSelect,
      bool equal) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19303,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19309,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19303,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19307,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19310,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19339,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19329,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19318,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19319,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19335,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19345,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19313,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19319,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19335,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19325,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19326,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19302,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19341,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19323,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19342,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 19350
      start: 19300
    functionDepth: 0
    functionLinenumber: 19300
    functionLinenumberEnd: 19350
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setRefreshMeta(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3177,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3183,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3185,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3186,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3188,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3189,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3190,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3191,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3199,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3201,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3200,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - pCxt
    - ppNode
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3207
      start: 3175
    functionDepth: 0
    functionLinenumber: 3175
    functionLinenumberEnd: 3207
    functionName: replacePsedudoColumnFuncWithColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - nodesDestroyNode
    - tstrncpy
    - nodesMakeNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replacePsedudoColumnFuncWithColumn(STranslateContext*
      pCxt, SNode** ppNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3224,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3228,1
    - Dst: beforeWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3230,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3231,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3227,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3236,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 3239
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3239
    functionName: translateWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - rewriteToColumnAndRetranslate
    - isSelectStmt
    - fmIsWindowPseudoColumnFunc
    - beforeWindow
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateWindowPseudoColumnFunc(STranslateContext*
      pCxt, SNode** ppNode, bool* pRewriteToColumn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4250,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 4258
      start: 4249
    functionDepth: 0
    functionLinenumber: 4249
    functionLinenumberEnd: 4258
    functionName: searchAggFuncNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes searchAggFuncNode(SNode* pNode, void* pContext) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9450,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9459,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9476,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9501,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9484,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9528,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9545,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9554,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9454,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9446,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9472,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9497,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9515,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9523,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9541,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9549,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9468,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9493,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9519,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9510,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9537,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9563,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9442,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9464,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9480,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9506,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9488,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9532,1
    - Dst: FILL_CMD_SQL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9559,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 61
    argCount: 3
    argNames:
    - pCxt
    - msgType
    - pReq
    argTypes:
    - STranslateContext*
    - int16_t
    - void*
    constantsTouched: []
    func_position:
      end: 9573
      start: 9436
    functionDepth: 0
    functionLinenumber: 9436
    functionLinenumberEnd: 9573
    functionName: fillCmdSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FILL_CMD_SQL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillCmdSql(STranslateContext* pCxt, int16_t msgType,
      void* pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12224,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12234,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12230,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12226,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12226,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12234,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12235,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12235,1
    - Dst: getStreamQueryFirstProjectAliasName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12237,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12238,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12240,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12255,1
    - Dst: setColumnDefNodePrimaryKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12253,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12250,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12243,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12248,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12256,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pUserAliasSet
    - pCols
    - pReq
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SHashObj*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12260
      start: 12222
    functionDepth: 0
    functionLinenumber: 12222
    functionLinenumberEnd: 12260
    functionName: addIrowTsToCreateStreamQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListPushFront
    - setColumnDefNodePrimaryKey
    - getStreamQueryFirstProjectAliasName
    - nodesDestroyNode
    - strcmp
    - tstrncpy
    - getFuncInfo
    - nodesMakeNode
    - tListLen
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addIrowTsToCreateStreamQueryImpl(STranslateContext*
      pCxt, SSelectStmt* pSelect, SHashObj* pUserAliasSet, SNodeList* pCols, SCMCreateStreamReq*
      pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13870,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13872,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13874,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13870,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SPauseStreamStmt*
    constantsTouched: []
    func_position:
      end: 13875
      start: 13867
    functionDepth: 0
    functionLinenumber: 13867
    functionLinenumberEnd: 13875
    functionName: translatePauseStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translatePauseStream(STranslateContext* pCxt, SPauseStreamStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15426,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15434,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15439,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15437,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15432,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15442,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - opType
    - pColName
    - pRight
    - pOp
    argTypes:
    - EOperatorType
    - char*
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 15446
      start: 15420
    functionDepth: 0
    functionLinenumber: 15420
    functionLinenumberEnd: 15446
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - nodesDestroyNode
    - nodesMakeNode
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createOperatorNode(EOperatorType opType, const char*
      pColName, const SNode* pRight, SNode** pOp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18121,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18133
      start: 18111
    functionDepth: 0
    functionLinenumber: 18111
    functionLinenumberEnd: 18133
    functionName: buildUpdateOptionsReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUpdateOptionsReq(STranslateContext* pCxt, SAlterTableStmt*
      pStmt, SVAlterTbReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: replacePsedudoColumnFuncWithColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3210,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3216,1
    - Dst: translateColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3214,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - errCode
    argTypes:
    - STranslateContext*
    - SNode**
    - int32_t
    constantsTouched: []
    func_position:
      end: 3220
      start: 3209
    functionDepth: 0
    functionLinenumber: 3209
    functionLinenumberEnd: 3220
    functionName: rewriteToColumnAndRetranslate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - replacePsedudoColumnFuncWithColumn
    - generateSyntaxErrMsg
    - translateColumn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteToColumnAndRetranslate(STranslateContext* pCxt,
      SNode** ppNode, int32_t errCode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsScanPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3243,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3250,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3253,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3251,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3246,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3254,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3256,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3259,1
    - Dst: findTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3261,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3265,1
    - Dst: rewriteToColumnAndRetranslate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3267,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRewriteToColumn
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 3271
      start: 3241
    functionDepth: 0
    functionLinenumber: 3241
    functionLinenumberEnd: 3271
    functionName: translateScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - rewriteToColumnAndRetranslate
    - isSelectStmt
    - findTable
    - fmIsScanPseudoColumnFunc
    - generateSyntaxErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateScanPseudoColumnFunc(STranslateContext* pCxt,
      SNode** ppNode, bool* pRewriteToColumn) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3529,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3541,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3540,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3540,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3535,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3541,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3543,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3543,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3544,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3544,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3551,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3551,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3545,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 2
    argNames:
    - commonType
    - newType
    argTypes:
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 3557
      start: 3510
    functionDepth: 0
    functionLinenumber: 3510
    functionLinenumberEnd: 3557
    functionName: selectCommonType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TMAX
    - IS_DECIMAL_TYPE
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t selectCommonType(SDataType* commonType, const SDataType*
      newType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4262,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4264,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4266,1
    - Dst: checkExprListForGroupBy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 4282
      start: 4260
    functionDepth: 0
    functionLinenumber: 4260
    functionLinenumberEnd: 4282
    functionName: checkWindowGrpFuncCoexist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    - isWindowJoinStmt
    - checkExprListForGroupBy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkWindowGrpFuncCoexist(STranslateContext* pCxt,
      SSelectStmt* pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13880,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13880,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13885,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SResumeStreamStmt*
    constantsTouched: []
    func_position:
      end: 13886
      start: 13877
    functionDepth: 0
    functionLinenumber: 13877
    functionLinenumberEnd: 13886
    functionName: translateResumeStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - buildCmdMsg
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateResumeStream(STranslateContext* pCxt, SResumeStreamStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15451,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15462,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15457,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15455,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15465,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - opType
    - pLeftCol
    - pRightCol
    - ppResOp
    argTypes:
    - EOperatorType
    - char*
    - char*
    - SNode**
    constantsTouched: []
    func_position:
      end: 15470
      start: 15448
    functionDepth: 0
    functionLinenumber: 15448
    functionLinenumberEnd: 15470
    functionName: createParOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParOperatorNode(EOperatorType opType, const char*
      pLeftCol, const char* pRightCol, SNode** ppResOp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18140,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18148,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18143,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18154,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18145,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18155,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18156,1
    - Dst: setColCompressByOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18157,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18157,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18158,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18159,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 18161
      start: 18135
    functionDepth: 0
    functionLinenumber: 18135
    functionLinenumberEnd: 18161
    functionName: buildAlterTableColumnCompress
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - columnEncodeVal
    - checkColumnEncode
    - getColSchema
    - checkColumnLevel
    - columnLevelVal
    - checkColumnCompress
    - taosStrdup
    - setColCompressByOption
    - columnCompressVal
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int
    signature: 'static int buildAlterTableColumnCompress(STranslateContext* pCxt,
      SAlterTableStmt* pStmt, STableMeta* pTableMeta, SVAlterTbReq* pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15738,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15748,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15750,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15752,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15764,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15770,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15772,1
    - Dst: addShowUserDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15738,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15748,1
    - Dst: addShowChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15750,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15759,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15753,1
    - Dst: addShowVirtualNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15752,1
    - Dst: addShowVirtualSuperTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15772,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15740,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15753,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15763,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15759,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15761,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15770,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15774,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15779,1
    - Dst: addShowSystemDatabasesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15740,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15742,1
    - Dst: addShowVirtualChildTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15761,1
    - Dst: addShowNormalTablesCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15763,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15764,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 15783
      start: 15733
    functionDepth: 0
    functionLinenumber: 15733
    functionLinenumberEnd: 15783
    functionName: addShowKindCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addShowVirtualChildTablesCond
    - addShowUserDatabasesCond
    - addShowVirtualNormalTablesCond
    - PAR_ERR_RET
    - PAR_RET
    - addShowVirtualSuperTablesCond
    - addShowChildTablesCond
    - addShowNormalTablesCond
    - addShowSystemDatabasesCond
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowKindCond(const SShowStmt* pShow, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5998,1
    - Dst: isInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5998,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6004
      start: 5997
    functionDepth: 0
    functionLinenumber: 5997
    functionLinenumberEnd: 6004
    functionName: needFillImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isInterpFunc
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes needFillImpl(SNode* pNode, void* pContext) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: needAddGroupId
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13229,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13235,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13244,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13235,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13240,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13244,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13245,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13245,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13246,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13251,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13255,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13255,1
    - Dst: addColDefNodeByProj
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13254,1
    - Dst: isTagDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13253,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13259
      start: 13226
    functionDepth: 0
    functionLinenumber: 13226
    functionLinenumberEnd: 13259
    functionName: addGroupIdTagForCreateDestTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addColDefNodeByProj
    - needAddGroupId
    - tstrncpy
    - getFuncInfo
    - nodesListStrictAppend
    - isTagDef
    - nodesMakeNode
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addGroupIdTagForCreateDestTable(STranslateContext*
      pCxt, SCreateStreamStmt* pStmt, SCMCreateStreamReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 6010
      start: 6006
    functionDepth: 0
    functionLinenumber: 6006
    functionLinenumberEnd: 6010
    functionName: needFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'static bool needFill(SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: addGroupIdTagForCreateDestTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13264,1
    - Dst: adjustTagsForExistTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13270,1
    - Dst: adjustTagsForCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pMeta
    - pReq
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - STableMeta*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 13271
      start: 13261
    functionDepth: 0
    functionLinenumber: 13261
    functionLinenumberEnd: 13271
    functionName: adjustTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addGroupIdTagForCreateDestTable
    - adjustTagsForExistTable
    - adjustTagsForCreateTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustTags(STranslateContext* pCxt, SCreateStreamStmt*
      pStmt, const STableMeta* pMeta, SCMCreateStreamReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: isAliasColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isAliasColumn(const SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3825,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3835
      start: 3824
    functionDepth: 0
    functionLinenumber: 3824
    functionLinenumberEnd: 3835
    functionName: isWindowJoinGroupCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinGroupCol(SSelectStmt* pSelect, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4285,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4286,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pVgs
    - pVgsInfo
    argTypes:
    - SArray*
    - SVgroupsInfo**
    constantsTouched: []
    func_position:
      end: 4296
      start: 4284
    functionDepth: 0
    functionLinenumber: 4284
    functionLinenumberEnd: 4296
    functionName: toVgroupsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t toVgroupsInfo(SArray* pVgs, SVgroupsInfo** pVgsInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 4551
      start: 4545
    functionDepth: 0
    functionLinenumber: 4545
    functionLinenumberEnd: 4551
    functionName: stmtIsSingleTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool stmtIsSingleTable(SNode* pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4757,1
    - Dst: IS_WINDOW_JOIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4765,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4784,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4776,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4774,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4785,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4786,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4791,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4793,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4801,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4802,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4803,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 5
    argNames:
    - pCond
    - leftTable
    - rightTable
    - joinType
    - subType
    argTypes:
    - SNode**
    - SRealTableNode*
    - SRealTableNode*
    - EJoinType
    - EJoinSubType
    constantsTouched: []
    func_position:
      end: 4808
      start: 4751
    functionDepth: 0
    functionLinenumber: 4751
    functionLinenumberEnd: 4808
    functionName: addPrimJoinEqCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_WINDOW_JOIN
    - nodesDestroyNode
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addPrimJoinEqCond(SNode** pCond, SRealTableNode* leftTable,
      SRealTableNode* rightTable, EJoinType joinType, EJoinSubType subType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: translateSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8302,1
    - Dst: translateSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 8306
      start: 8296
    functionDepth: 0
    functionLinenumber: 8296
    functionLinenumberEnd: 8306
    functionName: translateSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateSelectWithoutFrom
    - translateSelectFrom
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSelect(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8698,1
    - Dst: getUnitPerMinute
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8699,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 8702
      start: 8697
    functionDepth: 0
    functionLinenumber: 8697
    functionLinenumberEnd: 8702
    functionName: getBigintFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getUnitPerMinute
    - IS_DURATION_VAL
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getBigintFromValueNode(SValueNode* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11232,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11235,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDnodeStmt*
    constantsTouched: []
    func_position:
      end: 11238
      start: 11230
    functionDepth: 0
    functionLinenumber: 11230
    functionLinenumberEnd: 11238
    functionName: translateCreateDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeSCreateDnodeReq
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCreateDnode(STranslateContext* pCxt, SCreateDnodeStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1064,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: isAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsAggFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isAggFunc(const SNode* pNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3838,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3863,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 19
    argCount: 2
    argNames:
    - pSelect
    - pNode
    argTypes:
    - SSelectStmt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3872
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3872
    functionName: isWindowJoinSubTbTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isWindowJoinSubTbTag(SSelectStmt* pSelect, SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4300,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4306,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pEpSet
    - pVgroupList
    argTypes:
    - SEpSet*
    - SArray**
    constantsTouched: []
    func_position:
      end: 4311
      start: 4298
    functionDepth: 0
    functionLinenumber: 4298
    functionLinenumberEnd: 4311
    functionName: addMnodeToVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addMnodeToVgroupList(const SEpSet* pEpSet, SArray**
      pVgroupList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 4553
      start: 4553
    functionDepth: 0
    functionLinenumber: 4553
    functionLinenumberEnd: 4553
    functionName: calcPrecision
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t calcPrecision(uint8_t lp, uint8_t rp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4811,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4817,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4833,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4814,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4821,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 18
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 4847
      start: 4810
    functionDepth: 0
    functionLinenumber: 4810
    functionLinenumberEnd: 4847
    functionName: getJoinContais
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool getJoinContais(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8310,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8315,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8317,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8318,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8316,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pTableAlias
    - pNode
    argTypes:
    - char*
    - SNode*
    constantsTouched: []
    func_position:
      end: 8320
      start: 8308
    functionDepth: 0
    functionLinenumber: 8308
    functionLinenumberEnd: 8320
    functionName: createSetOperProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createSetOperProject(const char* pTableAlias, SNode*
      pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8707,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8717,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8715,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8716,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8707,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8720,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8726,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pRetentions
    - pReq
    argTypes:
    - SNodeList*
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 8730
      start: 8704
    functionDepth: 0
    functionLinenumber: 8704
    functionLinenumberEnd: 8730
    functionName: buildCreateDbRetentions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FOREACH
    - taosArrayPush
    - taosArrayGetSize
    - nodesListGetNode
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateDbRetentions(const SNodeList* pRetentions,
      SCreateDbReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11243,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11248,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDnodeStmt*
    constantsTouched: []
    func_position:
      end: 11251
      start: 11240
    functionDepth: 0
    functionLinenumber: 11240
    functionLinenumberEnd: 11251
    functionName: translateDropDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    - tFreeSDropDnodeReq
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropDnode(STranslateContext* pCxt, SDropDnodeStmt*
      pStmt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 19298
      start: 19282
    functionDepth: 0
    functionLinenumber: 19282
    functionLinenumberEnd: 19298
    functionName: toMsgType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t toMsgType(ENodeType type) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19353,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19398,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19406,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19415,1
    - Dst: toMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19376,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19416,1
    - Dst: extractResultSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19417,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19421,1
    - Dst: extractResultTsPrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:19423,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 48
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 19429
      start: 19352
    functionDepth: 0
    functionLinenumber: 19352
    functionLinenumberEnd: 19429
    functionName: setQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - extractResultTsPrecision
    - toMsgType
    - extractResultSchema
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setQuery(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6708,1
    - Dst: isGlobalTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6709,1
    - Dst: checkAnomalyExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6715,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6710,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6717,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6724
      start: 6707
    functionDepth: 0
    functionLinenumber: 6707
    functionLinenumberEnd: 6724
    functionName: translateAnomalyWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - taosAnalyGetOptStr
    - checkAnomalyExpr
    - isGlobalTimeLineQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAnomalyWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10316,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10321,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10320,1
    - Dst: nodesListPushFront
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 10323
      start: 10314
    functionDepth: 0
    functionLinenumber: 10314
    functionLinenumberEnd: 10323
    functionName: addWstartToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListPushFront
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWstartToSampleProjects(SNodeList* pProjectionList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15658,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15664,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15662,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15665,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15660,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 15667
      start: 15654
    functionDepth: 0
    functionLinenumber: 15654
    functionLinenumberEnd: 15667
    functionName: addShowNormalTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowNormalTablesCond(SSelectStmt* pSelect, bool
      equal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6727,1
    - Dst: translateStateWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6729,1
    - Dst: translateEventWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6735,1
    - Dst: translateSessionWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6731,1
    - Dst: translateIntervalWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6733,1
    - Dst: translateCountWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6737,1
    - Dst: translateAnomalyWindow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6744
      start: 6726
    functionDepth: 0
    functionLinenumber: 6726
    functionLinenumberEnd: 6744
    functionName: translateSpecificWindow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - translateEventWindow
    - translateStateWindow
    - translateCountWindow
    - translateAnomalyWindow
    - translateSessionWindow
    - translateIntervalWindow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSpecificWindow(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10327,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10333,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10332,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pProjectionList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 10334
      start: 10325
    functionDepth: 0
    functionLinenumber: 10325
    functionLinenumberEnd: 10334
    functionName: addWendToSampleProjects
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWendToSampleProjects(SNodeList* pProjectionList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeValueNodeFromString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15673,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15680,1
    - Dst: insertCondIntoSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15679,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15677,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pSelect
    - equal
    argTypes:
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 15682
      start: 15669
    functionDepth: 0
    functionLinenumber: 15669
    functionLinenumberEnd: 15682
    functionName: addShowChildTablesCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - insertCondIntoSelectStmt
    - nodesDestroyNode
    - createOperatorNode
    - nodesMakeValueNodeFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addShowChildTablesCond(SSelectStmt* pSelect, bool equal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pTags
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 13279
      start: 13273
    functionDepth: 0
    functionLinenumber: 13273
    functionLinenumberEnd: 13279
    functionName: isTagBound
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isTagBound(SNodeList* pTags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2447,1
    - Dst: isIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2447,1
    - Dst: isWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2447,1
    - Dst: isInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2448,1
    - Dst: isForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2448,1
    - Dst: isColsFunctionResult
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2448,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2446
    functionDepth: 0
    functionLinenumber: 2446
    functionLinenumberEnd: 2453
    functionName: haveVectorFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isForecastPseudoColumnFunc
    - isIndefiniteRowsFunc
    - isColsFunctionResult
    - isWindowPseudoColumnFunc
    - isInterpPseudoColumnFunc
    - isAggFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes haveVectorFunction(SNode* pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createDefaultEveryNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6897,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6903,1
    - Dst: checkEvery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6900,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6908,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pEvery
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 6913
      start: 6893
    functionDepth: 0
    functionLinenumber: 6893
    functionLinenumberEnd: 6913
    functionName: translateInterpEvery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createDefaultEveryNode
    - translateExpr
    - generateSyntaxErrMsgExt
    - checkEvery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterpEvery(STranslateContext* pCxt, SNode**
      pEvery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2675,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2683,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2681,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2678,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2687
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2687
    functionName: translateMultiRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsMultiRowsFunc
    - hasInvalidFuncNesting
    - generateSyntaxErrMsg
    - isSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateMultiRowsFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getUdfInfoFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:842,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:861,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:860,1
    - Dst: catalogGetUdfInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:849,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:857,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 864
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 864
    functionName: getUdfInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - catalogGetUdfInfo
    - tFreeSFuncInfo
    - tstrerror
    - getUdfInfoFromCache
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getUdfInfo(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: invisibleColumn
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1495,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1515,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1519,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1538,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1544,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1487,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1509,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1540,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1523,1
    - Dst: setColumnInfoByExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1524,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1500,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1502,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1511,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1533,1
    - Dst: setVtbColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1542,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1543,1
    - Dst: setColumnInfoBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1506,1
    - Dst: setColumnPrimTs
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1508,1
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1513,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1517,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1521,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1523,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - igTags
    - pList
    - skipProjRef
    argTypes:
    - STranslateContext*
    - STableNode*
    - bool
    - SNodeList*
    - bool
    constantsTouched: []
    func_position:
      end: 1548
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1548
    functionName: createColumnsByTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - getProjectList
    - nodesListGetCell
    - invisibleColumn
    - FOREACH
    - nodesListStrictAppend
    - setVtbColumnInfoBySchema
    - setColumnInfoByExpr
    - generateSyntaxErrMsg
    - nodesMakeNode
    - setColumnPrimTs
    - setColumnInfoBySchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnsByTable(STranslateContext* pCxt, const
      STableNode* pTable, bool igTags, SNodeList* pList, bool skipProjRef) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11259,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11260,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11268,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11267,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11267,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11270,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11271,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11275,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11277,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterDnodeStmt*
    constantsTouched: []
    func_position:
      end: 11282
      start: 11256
    functionDepth: 0
    functionLinenumber: 11256
    functionLinenumberEnd: 11282
    functionName: translateAlterDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tstrncpy
    - strlen
    - taosStrncasecmp
    - tFreeSMCfgDnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterDnode(STranslateContext* pCxt, SAlterDnodeStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12326,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12327,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12327,1
    - Dst: addFunctionToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12328,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12337,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pUserAliasSet
    - pCols
    - pReq
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SHashObj*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12340
      start: 12317
    functionDepth: 0
    functionLinenumber: 12317
    functionLinenumberEnd: 12340
    functionName: addWendTsToCreateStreamQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - tstrncpy
    - FOREACH
    - addFunctionToCreateStreamQueryImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addWendTsToCreateStreamQueryImpl(STranslateContext*
      pCxt, SSelectStmt* pSelect, SHashObj* pUserAliasSet, SNodeList* pCols, SCMCreateStreamReq*
      pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12908,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12914,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12917,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12922,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12916,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12925,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pSchema
    - pProj
    - pProjColPos
    argTypes:
    - STranslateContext*
    - SSchema*
    - SNode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 12928
      start: 12906
    functionDepth: 0
    functionLinenumber: 12906
    functionLinenumberEnd: 12928
    functionName: addProjToProjColPos
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createCastFunc
    - nodesDestroyNode
    - tstrncpy
    - dataTypeEqual
    - nodesCloneNode
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addProjToProjColPos(STranslateContext* pCxt, const
      SSchema* pSchema, SNode* pProj, SArray* pProjColPos) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6917,1
    - Dst: fmIsRowTsOriginFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6919,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - ctx
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 6925
      start: 6915
    functionDepth: 0
    functionLinenumber: 6915
    functionLinenumberEnd: 6925
    functionName: hasRowTsOriginFuncWalkNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsRowTsOriginFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes hasRowTsOriginFuncWalkNode(SNode* pNode, void* ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2456,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2460,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2465,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2459,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2457,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pOutput
    argTypes:
    - STranslateContext*
    - char*
    - STableNode**
    constantsTouched: []
    func_position:
      end: 2466
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2466
    functionName: findTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t findTable(STranslateContext* pCxt, const char* pTableAlias,
      STableNode** pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2690,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2704,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2694,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2693,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2700,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2705,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2711,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2714,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2715,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2689
    functionDepth: 0
    functionLinenumber: 2689
    functionLinenumberEnd: 2718
    functionName: translateInterpFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - fmGetFuncReturnRows
    - fmIsInterpFunc
    - isSelectStmt
    - hasInvalidFuncNesting
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterpFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:868,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:885,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:870,1
    - Dst: getTableIndexFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:874,1
    - Dst: catalogGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:881,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:886,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pIndexes
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 889
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 889
    functionName: getTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableIndexFromCache
    - catalogGetTableIndex
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableIndex(STranslateContext* pCxt, const SName*
      pName, SArray** pIndexes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1552,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1552,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCol
    argTypes:
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 1553
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1553
    functionName: isInternalPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isInternalPrimaryKey(const SColumnNode* pCol) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11287,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11304,1
    - Dst: tFreeSRestoreDnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11305,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRestoreComponentNodeStmt*
    constantsTouched: []
    func_position:
      end: 11307
      start: 11284
    functionDepth: 0
    functionLinenumber: 11284
    functionLinenumberEnd: 11307
    functionName: translateRestoreDnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - buildCmdMsg
    - tFreeSRestoreDnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRestoreDnode(STranslateContext* pCxt, SRestoreComponentNodeStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12351,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12353,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12352,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12352,1
    - Dst: addFunctionToCreateStreamQueryImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12359,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12362,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - pSelect
    - pUserAliasSet
    - pCols
    - pReq
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SHashObj*
    - SNodeList*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12365
      start: 12342
    functionDepth: 0
    functionLinenumber: 12342
    functionLinenumberEnd: 12365
    functionName: addIsFilledToCreateStreamQueryImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - tstrncpy
    - FOREACH
    - addFunctionToCreateStreamQueryImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addIsFilledToCreateStreamQueryImpl(STranslateContext*
      pCxt, SSelectStmt* pSelect, SHashObj* pUserAliasSet, SNodeList* pCols, SCMCreateStreamReq*
      pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12931,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12932,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12942,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12949,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - pProjColPos
    - pMeta
    - pReq
    argTypes:
    - SArray*
    - STableMeta*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 12955
      start: 12930
    functionDepth: 0
    functionLinenumber: 12930
    functionLinenumberEnd: 12955
    functionName: setFillNullCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayPush
    - getTableColumnSchema
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setFillNullCols(SArray* pProjColPos, const STableMeta*
      pMeta, SCMCreateStreamReq* pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15917,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15926,1
    - Dst: createShowTableTagsProjections
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15920,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15929,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15932
      start: 15914
    functionDepth: 0
    functionLinenumber: 15914
    functionLinenumberEnd: 15932
    functionName: rewriteShowStableTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtFromCols
    - nodesDestroyNode
    - createShowTableTagsProjections
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowStableTags(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13283,1
    - Dst: isTagDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13292,1
    - Dst: isTagBound
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13285,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13286,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13293,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13297,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pReq
    - pMeta
    argTypes:
    - STranslateContext*
    - SCreateStreamStmt*
    - SCMCreateStreamReq*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 13304
      start: 13281
    functionDepth: 0
    functionLinenumber: 13281
    functionLinenumberEnd: 13304
    functionName: translateStreamTargetTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - isTagBound
    - isTagDef
    - generateSyntaxErrMsg
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateStreamTargetTable(STranslateContext* pCxt,
      SCreateStreamStmt* pStmt, SCMCreateStreamReq* pReq, STableMeta** pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1026
    functionName: isDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isDeleteStmt(SNode* pCurrStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10435,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10438,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10439,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSampleAstInfo*
    constantsTouched: []
    func_position:
      end: 10441
      start: 10434
    functionDepth: 0
    functionLinenumber: 10434
    functionLinenumberEnd: 10441
    functionName: clearSampleAstInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesDestroyList
    linkageType: ''
    returnType: void
    signature: 'static void clearSampleAstInfo(SSampleAstInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkDnodeIds
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14245,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14252,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SRedistributeVgroupStmt*
    constantsTouched: []
    func_position:
      end: 14254
      start: 14243
    functionDepth: 0
    functionLinenumber: 14243
    functionLinenumberEnd: 14254
    functionName: translateRedistributeVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkDnodeIds
    - buildCmdMsg
    - tFreeSRedistributeVgroupReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRedistributeVgroup(STranslateContext* pCxt,
      SRedistributeVgroupStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18453,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18472,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18479,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18483,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18460,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18457,1
    - Dst: checkCreateVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18453,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18462,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18467,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18469,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18470,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18480,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18482,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18455,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18472,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18474,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18467,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18470,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18479,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18480,1
    - Dst: buildCreateVTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18482,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18483,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18487,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18489
      start: 18444
    functionDepth: 0
    functionLinenumber: 18444
    functionLinenumberEnd: 18489
    functionName: rewriteCreateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkCreateVirtualTable
    - toName
    - buildCreateVTableDataBlock
    - PAR_ERR_JRET
    - collectUseTable
    - rewriteToVnodeModifyOpStmt
    - IS_DECIMAL_TYPE
    - destroyCreateTbReqArray
    - FOREACH
    - checkColRef
    - getTableHashVgroupImpl
    - generateSyntaxErrMsg
    - taosArrayInit
    - calcTypeBytes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateVirtualTable(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCurrStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1030
    functionName: isSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isSetOperator(SNode* pCurrStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10445,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10450,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10452,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10457,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10456,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10459,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - pRetension
    - precision
    - ppNode
    argTypes:
    - SRetention*
    - int8_t
    - SNode**
    constantsTouched: []
    func_position:
      end: 10468
      start: 10443
    functionDepth: 0
    functionLinenumber: 10443
    functionLinenumberEnd: 10468
    functionName: makeIntervalVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosStrndup
    - convertTimeFromPrecisionToUnit
    - nodesDestroyNode
    - nodesMakeNode
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t makeIntervalVal(SRetention* pRetension, int8_t precision,
      SNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:14258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SSplitVgroupStmt*
    constantsTouched: []
    func_position:
      end: 14259
      start: 14256
    functionDepth: 0
    functionLinenumber: 14256
    functionLinenumberEnd: 14259
    functionName: translateSplitVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSplitVgroup(STranslateContext* pCxt, SSplitVgroupStmt*
      pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18504,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18521,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18528,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18544,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18545,1
    - Dst: buildCreateVSubTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18553,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18557,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18510,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18513,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18516,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18535,1
    - Dst: buildKVRowForBindTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18548,1
    - Dst: buildKVRowForAllTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18553,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18554,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18561,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18502,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18507,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18526,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18528,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18545,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18553,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18554,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18560,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18562,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18505,1
    - Dst: checkCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18502,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18510,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18519,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18523,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18533,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18544,1
    - Dst: checkColRef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18535,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18548,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18550,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18556,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 18564
      start: 18491
    functionDepth: 0
    functionLinenumber: 18491
    functionLinenumberEnd: 18564
    functionName: rewriteCreateVirtualSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkCreateVSubTable
    - buildKVRowForAllTags
    - taosArrayDestroy
    - getColSchema
    - buildCreateVSubTableDataBlock
    - toName
    - buildKVRowForBindTags
    - rewriteToVnodeModifyOpStmt
    - PAR_ERR_JRET
    - collectUseTable
    - destroyCreateTbReqArray
    - FOREACH
    - checkColRef
    - getTableHashVgroupImpl
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateVirtualSubTable(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2395,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2405,1
    - Dst: fmIsMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2395,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2402,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2406,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 2407
      start: 2391
    functionDepth: 0
    functionLinenumber: 2391
    functionLinenumberEnd: 2407
    functionName: isMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - fmIsMultiResFunc
    - strcmp
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isMultiResFunc(SNode* pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5740,1
    - Dst: createAllColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5742,1
    - Dst: nodesIsTableStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5743,1
    - Dst: createTableAllCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5744,1
    - Dst: nodesIsStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5741,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5747,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5749,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSrcParas
    - pOutput
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5763
      start: 5735
    functionDepth: 0
    functionLinenumber: 5735
    functionLinenumberEnd: 5763
    functionName: createMultiResFuncsParas
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - createAllColumns
    - nodesIsTableStar
    - nodesIsStar
    - nodesDestroyList
    - createTableAllCols
    - FOREACH
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMultiResFuncsParas(STranslateContext* pCxt, SNodeList*
      pSrcParas, SNodeList** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10867,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10868,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10871,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 10876
      start: 10866
    functionDepth: 0
    functionLinenumber: 10866
    functionLinenumberEnd: 10876
    functionName: getNormalColSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableColumnSchema
    - getNumOfColumns
    - strcmp
    linkageType: ''
    returnType: SSchema*
    signature: 'static const SSchema * getNormalColSchema(const STableMeta* pTableMeta,
      const char* pColName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShowTableDist
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16017,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16027,1
    - Dst: createBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16021,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16019,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 16031
      start: 16015
    functionDepth: 0
    functionLinenumber: 16015
    functionLinenumberEnd: 16031
    functionName: rewriteShowTableDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - createSelectStmtForShowTableDist
    - NODES_DESTORY_LIST
    - createBlockDistFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShowTableDist(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16366,1
    - Dst: buildNormalTableBatchReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16372,1
    - Dst: destroyCreateTbReqBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16377,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16379,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 4
    argNames:
    - acctId
    - pStmt
    - pInfo
    - pBufArray
    argTypes:
    - int32_t
    - SCreateTableStmt*
    - SVgroupInfo*
    - SArray**
    constantsTouched: []
    func_position:
      end: 16382
      start: 16364
    functionDepth: 0
    functionLinenumber: 16364
    functionLinenumberEnd: 16382
    functionName: buildCreateTableDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - destroyCreateTbReqArray
    - serializeVgroupCreateTableBatch
    - destroyCreateTbReqBatch
    - buildNormalTableBatchReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTableDataBlock(int32_t acctId, const SCreateTableStmt*
      pStmt, const SVgroupInfo* pInfo, SArray** pBufArray) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16963,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16981,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16970,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16973,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16989,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16997,1
    - Dst: destructParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17009,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 4
    argNames:
    - pStmt
    - pSuperTableMeta
    - acctId
    - ppParFileCxt
    argTypes:
    - SCreateSubTableFromFileClause*
    - STableMeta*
    - int32_t
    - SParseFileContext**
    constantsTouched: []
    func_position:
      end: 17012
      start: 16959
    functionDepth: 0
    functionLinenumber: 16959
    functionLinenumberEnd: 17012
    functionName: constructParseFileContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - destructParseFileContext
    - taosArrayInit
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t constructParseFileContext(SCreateSubTableFromFileClause*
      pStmt, STableMeta* pSuperTableMeta, int32_t acctId, SParseFileContext** ppParFileCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: parseCsvFile
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17093,1
    - Dst: resetParseFileContext
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17115,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17091,1
    - Dst: addCreateTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17100,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - pMsgBuf
    - pParseCxt
    - pModifyStmt
    argTypes:
    - SMsgBuf*
    - SParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 17118
      start: 17079
    functionDepth: 0
    functionLinenumber: 17079
    functionLinenumberEnd: 17118
    functionName: createSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - addCreateTbReqIntoVgroup
    - taosArrayGetSize
    - parseCsvFile
    - resetParseFileContext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSubTableFromFile(SMsgBuf* pMsgBuf, SParseContext*
      pParseCxt, SVnodeModifyOpStmt* pModifyStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - l
    - r
    argTypes:
    - SDataType*
    - SDataType*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2409
    functionDepth: 0
    functionLinenumber: 2409
    functionLinenumberEnd: 2411
    functionName: dataTypeEqual
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool dataTypeEqual(const SDataType* l, const SDataType* r) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5767,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5773,1
    - Dst: createMultiResFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5775,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5786,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5777,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - pSrcFunc
    - pExprs
    - pOutput
    argTypes:
    - SFunctionNode*
    - SNodeList*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 5790
      start: 5765
    functionDepth: 0
    functionLinenumber: 5765
    functionLinenumberEnd: 5790
    functionName: createMultiResFuncs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createMultiResFunc
    - nodesDestroyList
    - FOREACH
    - nodesMakeList
    - nodesListStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMultiResFuncs(SFunctionNode* pSrcFunc, SNodeList*
      pExprs, SNodeList** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10879,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10883,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10880,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pTableMeta
    - pColName
    argTypes:
    - STableMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 10888
      start: 10878
    functionDepth: 0
    functionLinenumber: 10878
    functionLinenumberEnd: 10888
    functionName: getNormalColSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTableColumnSchema
    - getNumOfColumns
    - strcmp
    linkageType: ''
    returnType: col_id_t
    signature: 'static const col_id_t getNormalColSchemaIndex(const STableMeta* pTableMeta,
      const char* pColName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16035,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16040,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16041,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 16044
      start: 16033
    functionDepth: 0
    functionLinenumber: 16033
    functionLinenumberEnd: 16044
    functionName: createBlockDBUsageInfoFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createBlockDBUsageInfoFunc(SFunctionNode** ppNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11216,1
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropAnodeStmt*
    constantsTouched: []
    func_position:
      end: 11219
      start: 11212
    functionDepth: 0
    functionLinenumber: 11212
    functionLinenumberEnd: 11219
    functionName: translateDropAnode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSMDropAnodeReq
    - buildCmdMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropAnode(STranslateContext* pCxt, SDropAnodeStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkCreateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16387,1
    - Dst: getTableHashVgroupImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16392,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16390,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16395,1
    - Dst: buildCreateTableDataBlock
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16399,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16402,1
    - Dst: destroyCreateTbReqArray
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:16404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 16409
      start: 16384
    functionDepth: 0
    functionLinenumber: 16384
    functionLinenumberEnd: 16409
    functionName: rewriteCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildCreateTableDataBlock
    - toName
    - rewriteToVnodeModifyOpStmt
    - collectUseTable
    - destroyCreateTbReqArray
    - checkCreateTable
    - getTableHashVgroupImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCreateTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17121,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17136,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17121,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17129,1
    - Dst: serializeVgroupCreateTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17136,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17137,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pVgroupHashmap
    - pOut
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 17149
      start: 17120
    functionDepth: 0
    functionLinenumber: 17120
    functionLinenumberEnd: 17149
    functionName: serializeVgroupsCreateTableBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - serializeVgroupCreateTableBatch
    - taosHashCancelIterate
    - parserError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t serializeVgroupsCreateTableBatch(SHashObj* pVgroupHashmap,
      SArray** pOut) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9415,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9419,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9420,1
    - Dst: checkDatabaseOptions
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9423,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9424
      start: 9414
    functionDepth: 0
    functionLinenumber: 9414
    functionLinenumberEnd: 9424
    functionName: checkCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strchr
    - generateSyntaxErrMsgExt
    - IS_SYS_DBNAME
    - checkDatabaseOptions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkCreateDatabase(STranslateContext* pCxt, SCreateDatabaseStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4376,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4385,1
    - Dst: getVnodeSysTableTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4381,1
    - Dst: getVnodeSysTableVgroupListImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pVgs
    - pHasUserDbCond
    argTypes:
    - STranslateContext*
    - SName*
    - SArray**
    - bool*
    constantsTouched: []
    func_position:
      end: 4387
      start: 4375
    functionDepth: 0
    functionLinenumber: 4375
    functionLinenumberEnd: 4387
    functionName: getVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - getVnodeSysTableVgroupListImpl
    - getVnodeSysTableTargetName
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getVnodeSysTableVgroupList(STranslateContext* pCxt,
      SName* pName, SArray** pVgs, bool* pHasUserDbCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:428,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:434,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:432,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:433,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pTables
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: hasSameTableAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool hasSameTableAlias(SArray* pTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8805,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8816,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8810,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8814,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8817
      start: 8803
    functionDepth: 0
    functionLinenumber: 8803
    functionLinenumberEnd: 8817
    functionName: checkDbS3KeepLocalOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateValue
    - generateSyntaxErrMsgExt
    - checkDbRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbS3KeepLocalOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9616,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9617,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9622,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9624,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9622,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9627,1
    - Dst: tFreeSDropDbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9628,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 9630
      start: 9615
    functionDepth: 0
    functionLinenumber: 9615
    functionLinenumberEnd: 9630
    functionName: translateDropDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - buildCmdMsg
    - tFreeSDropDbReq
    - strlen
    - IS_SYS_DBNAME
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropDatabase(STranslateContext* pCxt, SDropDatabaseStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9872,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9868,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9867,1
    - Dst: findColDef
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 9877
      start: 9864
    functionDepth: 0
    functionLinenumber: 9864
    functionLinenumberEnd: 9877
    functionName: checkTableSmaOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - FOREACH
    - generateSyntaxErrMsg
    - findColDef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableSmaOption(STranslateContext* pCxt, SCreateTableStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11136,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11142,1
    - Dst: checkRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterUserStmt*
    constantsTouched: []
    func_position:
      end: 11146
      start: 11132
    functionDepth: 0
    functionLinenumber: 11132
    functionLinenumberEnd: 11146
    functionName: checkAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAlterUser(STranslateContext* pCxt, SAlterUserStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17564,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17575,1
    - Dst: getTargetName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17582,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17581,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17574,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17584,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17589,1
    - Dst: rewriteDropTableWithMetaCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17590
      start: 17560
    functionDepth: 0
    functionLinenumber: 17560
    functionLinenumberEnd: 17590
    functionName: rewriteDropVirtualTableWithOpt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteDropTableWithMetaCache
    - generateSyntaxErrMsgExt
    - isdigit
    - toName
    - tstrncpy
    - tstrerror
    - PAR_RET
    - TAOS_RETURN
    - getTargetName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropVirtualTableWithOpt(STranslateContext* pCxt,
      SQuery* pQuery) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:443,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:449,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:446,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:450,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:445,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:455,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:460,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:461,1
    - Dst: hasSameTableAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:464,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:465,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:470,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:466,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:472,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 479
    functionName: addNamespace
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - generateSyntaxErrMsgExt
    - taosArrayDestroy
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    - hasSameTableAlias
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNamespace(STranslateContext* pCxt, void* pTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getVnodeSysTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4392,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4395,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4394,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4395,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4400,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4401,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4402,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4403,1
    - Dst: addMnodeToVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4404,1
    - Dst: toVgroupsInfo
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4408,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4410,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pName
    - pRealTable
    argTypes:
    - STranslateContext*
    - SName*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 4413
      start: 4389
    functionDepth: 0
    functionLinenumber: 4389
    functionLinenumberEnd: 4413
    functionName: setVnodeSysTableVgroupList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - addMnodeToVgroupList
    - taosArrayDestroy
    - isSelectStmt
    - strcmp
    - toVgroupsInfo
    - taosArrayGetSize
    - getVnodeSysTableVgroupList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setVnodeSysTableVgroupList(STranslateContext* pCxt,
      SName* pName, SRealTableNode* pRealTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8821,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8826,1
    - Dst: getBigintFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8830,1
    - Dst: checkDbRangeOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8832,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - STranslateContext*
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 8833
      start: 8819
    functionDepth: 0
    functionLinenumber: 8819
    functionLinenumberEnd: 8833
    functionName: checkDbDaysOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getBigintFromValueNode
    - translateValue
    - generateSyntaxErrMsgExt
    - checkDbRangeOption
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkDbDaysOption(STranslateContext* pCxt, SDatabaseOptions*
      pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9635,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9635,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9637,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pReq
    argTypes:
    - STranslateContext*
    - SAlterDatabaseStmt*
    - SAlterDbReq*
    constantsTouched: []
    func_position:
      end: 9664
      start: 9632
    functionDepth: 0
    functionLinenumber: 9632
    functionLinenumberEnd: 9664
    functionName: buildAlterDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strlen
    - tNameSetDbName
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAlterDbReq(STranslateContext* pCxt, SAlterDatabaseStmt*
      pStmt, SAlterDbReq* pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkAlterUser
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11151,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11161,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11154,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11163,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11168,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11173,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11177,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11179,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterUserStmt*
    constantsTouched: []
    func_position:
      end: 11182
      start: 11148
    functionDepth: 0
    functionLinenumber: 11148
    functionLinenumberEnd: 11182
    functionName: translateAlterUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - tFreeSAlterUserReq
    - snprintf
    - taosMemoryMalloc
    - checkAlterUser
    - buildCmdMsg
    - tstrncpy
    - taosEncryptPass_c
    - strlen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterUser(STranslateContext* pCxt, SAlterUserStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17601,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17603,1
    - Dst: rewriteDropVirtualTableWithOpt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17601,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17603,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17608,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17610,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17611,1
    - Dst: buildDropVirtualTableVgroupHashmap
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17611,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17612,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17613,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17616,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17620,1
    - Dst: serializeVgroupsDropTableBatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17616,1
    - Dst: rewriteToVnodeModifyOpStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17617,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17617,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 17622
      start: 17592
    functionDepth: 0
    functionLinenumber: 17592
    functionLinenumberEnd: 17622
    functionName: rewriteDropVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildDropVirtualTableVgroupHashmap
    - toName
    - rewriteToVnodeModifyOpStmt
    - PAR_ERR_JRET
    - taosHashGetSize
    - serializeVgroupsDropTableBatch
    - rewriteDropVirtualTableWithOpt
    - taosHashCleanup
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropVirtualTable(STranslateContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1129,1
    - Dst: fmIsSelectColsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1129,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1130
    functionName: isColsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsSelectColsFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isColsFunc(const SNode* pNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3032,1
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3059,1
    - Dst: fmIsForecastPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3055,1
    - Dst: calcSelectFuncNum
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3041,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3028,1
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3024,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3038,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3059,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3030,1
    - Dst: fmIsInterpPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3052,1
    - Dst: fmIsTimelineFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3058,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3042,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3020,1
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3022,1
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3026,1
    - Dst: fmIsInterpFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3029,1
    - Dst: fmIsForecastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3031,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3034,1
    - Dst: fmIsSelectFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3039,1
    - Dst: fmIsKeepOrderFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3061,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 3064
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3064
    functionName: setFuncClassification
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsRepeatScanFunc
    - fmIsSelectFunc
    - fmIsKeepOrderFunc
    - fmGetFuncReturnRows
    - fmIsInterpFunc
    - calcSelectFuncNum
    - fmIsInterpPseudoColumnFunc
    - fmIsAggFunc
    - fmIsProcessByRowFunc
    - fmIsForecastPseudoColumnFunc
    - fmIsMultiRowsFunc
    - fmIsForecastFunc
    - fmIsUserDefinedFunc
    - fmIsIndefiniteRowsFunc
    - fmIsTimelineFunc
    - fmIsVectorFunc
    linkageType: ''
    returnType: void
    signature: 'static void setFuncClassification(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4965,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4971,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4985,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4990,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4983,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4993,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:4996,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5001,1
    - Dst: buildInvalidOperationMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5006,1
    - Dst: getFullJoinTypeString
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5007,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5010,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5015,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 74
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 5023
      start: 4955
    functionDepth: 0
    functionLinenumber: 4955
    functionLinenumberEnd: 5023
    functionName: translateJoinTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - buildInvalidOperationMsgExt
    - translateExpr
    - buildInvalidOperationMsg
    - generateSyntaxErrMsg
    - getFullJoinTypeString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateJoinTable(STranslateContext* pCxt, SJoinTableNode*
      pJoinTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10891,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10892,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pTableMeta
    - pTagName
    argTypes:
    - STableMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 10900
      start: 10890
    functionDepth: 0
    functionLinenumber: 10890
    functionLinenumberEnd: 10900
    functionName: getTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getNumOfTags
    - strcmp
    - getTableTagSchema
    linkageType: ''
    returnType: SSchema*
    signature: 'static SSchema * getTagSchema(const STableMeta* pTableMeta, const
      char* pTagName) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11007,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11014,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11018,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11023,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11008,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11028,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11033,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11037,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11041,1
    - Dst: getDBCfg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11045,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11055,1
    - Dst: checkAlterSuperTableBySchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11058,1
    - Dst: checkTableKeepOption
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11061,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11063,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11049,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 11065
      start: 11006
    functionDepth: 0
    functionLinenumber: 11006
    functionLinenumberEnd: 11065
    functionName: checkAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - taosMemoryFree
    - checkAlterSuperTableBySchema
    - checkTableKeepOption
    - IS_SYS_DBNAME
    - generateSyntaxErrMsg
    - getDBCfg
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAlterSuperTable(STranslateContext* pCxt, SAlterTableStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15788,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15791,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15790,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15790,1
    - Dst: getTbNameColName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15790,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15792,1
    - Dst: createLogicCondNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15797,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15799,1
    - Dst: addShowKindCond
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15806,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15812,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pShow
    - pSelect
    argTypes:
    - SShowStmt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 15816
      start: 15785
    functionDepth: 0
    functionLinenumber: 15785
    functionLinenumberEnd: 15816
    functionName: createShowCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTbNameColName
    - nodeType
    - createLogicCondNode
    - nodesDestroyNode
    - tstrncpy
    - addShowKindCond
    - createOperatorNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createShowCondition(const SShowStmt* pShow, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    functionName: isDistinctOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    linkageType: ''
    returnType: bool
    signature: 'static bool isDistinctOrderBy(STranslateContext* pCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3068,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3079,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3072,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3080,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3073,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3084,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3085,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3088,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pLiteral
    - pNode
    argTypes:
    - STranslateContext*
    - char**
    - SNode**
    constantsTouched: []
    func_position:
      end: 3091
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3091
    functionName: rewriteFuncToValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    - translateValue
    - strlen
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteFuncToValue(STranslateContext* pCxt, char**
      pLiteral, SNode** pNode) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5026,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5042,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5039,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5039,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5040,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5042,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5043,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5047,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5053,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5059,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5062,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5063,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5071,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5075,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5074,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 72
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 5091
      start: 5025
    functionDepth: 0
    functionLinenumber: 5025
    functionLinenumberEnd: 5091
    functionName: joinCondsValidater
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes joinCondsValidater(SNode* pNode, void* pContext) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10904,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10924,1
    - Dst: getColSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10927,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10946,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10954,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10945,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10964,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10979,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10985,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10999,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10908,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10947,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10951,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10958,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10963,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10967,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10981,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10984,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10991,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10995,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10909,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10905,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10929,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10936,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10953,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10978,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10994,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11000,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10912,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10940,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10952,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10957,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10968,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10975,1
    - Dst: calcTypeBytes
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:10980,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 141
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableMeta
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 11004
      start: 10902
    functionDepth: 0
    functionLinenumber: 10902
    functionLinenumberEnd: 11004
    functionName: checkAlterSuperTableBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - getTableTagSchema
    - getColSchema
    - calcTypeBytes
    - IS_DECIMAL_TYPE
    - getNumOfTags
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - hasPkInTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAlterSuperTableBySchema(STranslateContext* pCxt,
      SAlterTableStmt* pStmt, const STableMeta* pTableMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: checkAlterSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11069,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11076,1
    - Dst: buildAlterSuperTableReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11071,1
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 11078
      start: 11067
    functionDepth: 0
    functionLinenumber: 11067
    functionLinenumberEnd: 11078
    functionName: translateAlterSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkAlterSuperTable
    - buildAlterSuperTableReq
    - buildCmdMsg
    - tFreeSMAltertbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAlterSuperTable(STranslateContext* pCxt, SAlterTableStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createSelectStmtForShow
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15827,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15820,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15830,1
    - Dst: createShowCondition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15822,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - STranslateContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 15833
      start: 15818
    functionDepth: 0
    functionLinenumber: 15818
    functionLinenumberEnd: 15833
    functionName: rewriteShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - createShowCondition
    - createSelectStmtForShow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteShow(STranslateContext* pCxt, SQuery* pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsBlockDistFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2939,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2952,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2943,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2942,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2957
      start: 2938
    functionDepth: 0
    functionLinenumber: 2938
    functionLinenumberEnd: 2957
    functionName: translateBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - nodeType
    - generateSyntaxErrMsgExt
    - fmIsBlockDistFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateBlockDistFunc(STranslateContext* pCtx, SFunctionNode*
      pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5138,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5147,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5148,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5153,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5157,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5157,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5171,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5136,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5151,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5155,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5156,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5152,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5170,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5135,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5150,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5163,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5166,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5139,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5138,1
    - Dst: strcat
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5149,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5151,1
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5154,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5156,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5157,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    - pRTNode
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 5173
      start: 5127
    functionDepth: 0
    functionLinenumber: 5127
    functionLinenumberEnd: 5173
    functionName: translateVirtualNormalChildTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - TSWAP
    - translateTable
    - nodesDestroyNode
    - taosHashGet
    - PAR_ERR_JRET
    - tstrncpy
    - qError
    - strlen
    - tstrerror
    - QUERY_CHECK_NULL
    - taosHashCleanup
    - taosHashPut
    - taosGetDefaultHashFunction
    - strcat
    - nodesMakeNode
    - taosHashInit
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateVirtualNormalChildTable(STranslateContext*
      pCxt, SNode** pTable, SName* pName, SVirtualTableNode* pVTable, SRealTableNode*
      pRTNode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6315,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6322,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6325,1
    - Dst: int64SafeSub
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6336,1
    - Dst: TSWINDOW_IS_EQUAL
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6321,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6338,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6340,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6351,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - pCxt
    - pFill
    - pInterval
    - isInterpFill
    - precision
    argTypes:
    - STranslateContext*
    - SFillNode*
    - SValueNode*
    - bool
    - uint8_t
    constantsTouched: []
    func_position:
      end: 6356
      start: 6312
    functionDepth: 0
    functionLinenumber: 6312
    functionLinenumberEnd: 6356
    functionName: checkFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - TSWINDOW_IS_EQUAL
    - convertTimePrecision
    - int64SafeSub
    - IS_CALENDAR_TIME_DURATION
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkFill(STranslateContext* pCxt, SFillNode* pFill,
      SValueNode* pInterval, bool isInterpFill, uint8_t precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsForbidSysTableFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2893,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2899,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2901,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2904
    functionName: translateForbidSysTableFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsg
    - fmIsForbidSysTableFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForbidSysTableFunc(STranslateContext* pCxt,
      SFunctionNode* pFunc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:572,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:584,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:596,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:608,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:602,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:580,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:587,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:590,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:591,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:614,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:601,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:564,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:578,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:610,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:615,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:565,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:572,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:593,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:614,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:605,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - STranslateContext*
    constantsTouched: []
    func_position:
      end: 620
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 620
    functionName: rewriteDropTableWithMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - tNameExtractFullName
    - toName
    - strstr
    - taosHashIterate
    - taosHashGetSize
    - tstrncpy
    - strlen
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteDropTableWithMetaCache(STranslateContext* pCxt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isTimeLineQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1250,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1263,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1254,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1265,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1257,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1266,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1277,1
    - Dst: buildPartitionListFromOrderList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1281,1
    - Dst: nodesListMatch
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1283,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1284,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 43
    argCount: 2
    argNames:
    - pStmt
    - pRes
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1296
    functionName: isTimeLineAlignedQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - buildPartitionListFromOrderList
    - nodeType
    - nodesDestroyList
    - isTimeLineQuery
    - nodesListMatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isTimeLineAlignedQuery(SNode* pStmt, bool* pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseNatualDuration
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2158,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2158,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2164
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2164
    functionName: translateTimeOffsetValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - parseNatualDuration
    - strlen
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateTimeOffsetValue(STranslateContext* pCxt,
      SValueNode* pVal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2618,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2625,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2624,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2622,1
    - Dst: beforeHaving
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2621,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2628,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2630,1
    - Dst: isCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2633,1
    - Dst: rewriteCountStar
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2634,1
    - Dst: isCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2636,1
    - Dst: rewriteCountNotNullValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2637,1
    - Dst: isCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2639,1
    - Dst: rewriteCountTbname
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2640,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2617
    functionDepth: 0
    functionLinenumber: 2617
    functionLinenumberEnd: 2643
    functionName: translateAggFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - rewriteCountStar
    - rewriteCountTbname
    - isSelectStmt
    - fmIsAggFunc
    - beforeHaving
    - isCountNotNullValue
    - isCountTbname
    - hasInvalidFuncNesting
    - generateSyntaxErrMsg
    - rewriteCountNotNullValue
    - isCountStar
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAggFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDBUsageFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2959,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2962,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2963,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2977
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2977
    functionName: translateDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fmIsDBUsageFunc
    - generateSyntaxErrMsgExt
    - isSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDBUsageFunc(STranslateContext* pCtx, SFunctionNode*
      pFunc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5182,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5182,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5183,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5184,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5185,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5192,1
    - Dst: translateVirtualSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5192,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5197,1
    - Dst: translateVirtualSuperTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5197,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5199,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5209,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5209,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5211,1
    - Dst: translateVirtualNormalChildTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5199,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5210,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pName
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    constantsTouched: []
    func_position:
      end: 5213
      start: 5175
    functionDepth: 0
    functionLinenumber: 5175
    functionLinenumberEnd: 5213
    functionName: translateVirtualTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - translateVirtualNormalChildTable
    - PAR_ERR_JRET
    - tstrncpy
    - qError
    - PAR_ERR_RET
    - translateVirtualSuperTable
    - tstrerror
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateVirtualTable(STranslateContext* pCxt, SNode**
      pTable, SName* pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkFill
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - pInterval
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    - SIntervalWindowNode*
    constantsTouched: []
    func_position:
      end: 6365
      start: 6358
    functionDepth: 0
    functionLinenumber: 6358
    functionLinenumberEnd: 6365
    functionName: translateFill
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - checkFill
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateFill(STranslateContext* pCxt, SSelectStmt*
      pSelect, SIntervalWindowNode* pInterval) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:627,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:646,1
    - Dst: getViewMetaFromCache
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:631,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:647,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 5
    argNames:
    - pParCxt
    - pMetaCache
    - pName
    - pMeta
    - couldBeView
    argTypes:
    - SParseContext*
    - SParseMetaCache*
    - SName*
    - STableMeta**
    - bool
    constantsTouched: []
    func_position:
      end: 650
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 650
    functionName: getTargetMetaImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getViewMetaFromCache
    - getTableMetaFromCache
    - tstrerror
    - catalogGetTableMeta
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTargetMetaImpl(SParseContext* pParCxt, SParseMetaCache*
      pMetaCache, const SName* pName, STableMeta** pMeta, bool couldBeView) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1299,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1306,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1301,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1312,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1306,1
    - Dst: isPrimaryKeyImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1317,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1320,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 46
    argCount: 1
    argNames:
    - pExpr
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1326
    functionName: isPrimaryKeyImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    - isPrimaryKeyImpl
    linkageType: ''
    returnType: bool
    signature: 'bool isPrimaryKeyImpl(SNode* pExpr) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2194,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2200,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2216,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2232,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2240,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2248,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2279,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2286,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2287,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2293,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2266,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2314,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2320,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2258,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2278,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2316,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2171,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2176,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2184,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2192,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2193,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2208,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2210,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2216,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2224,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2232,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2269,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2287,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2288,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2300,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2322,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2324,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2283,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2298,1
    - Dst: parseBoolFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2170,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2176,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2178,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2184,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2186,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2202,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2208,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2218,1
    - Dst: toUInteger
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2224,1
    - Dst: IS_VALID_FLOAT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2241,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2263,1
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2264,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2293,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2302,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2295,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2303,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2303,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2250,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2329,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2177,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2185,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2200,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2226,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2234,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2242,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2250,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2251,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2281,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2284,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2320,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2320,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2308,1
    - Dst: parseTimeFromValueNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2307,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2297,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 194
    argCount: 4
    argNames:
    - pCxt
    - pVal
    - targetDt
    - strict
    argTypes:
    - STranslateContext*
    - SValueNode*
    - SDataType
    - bool
    constantsTouched: []
    func_position:
      end: 2334
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2334
    functionName: translateNormalValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - IS_VALID_TINYINT
    - varDataSetLen
    - parseTimeFromValueNode
    - IS_VAR_DATA_TYPE
    - isinf
    - taosStr2Double
    - taosHex2Ascii
    - varDataVal
    - isHex
    - IS_VALID_INT
    - isValidateHex
    - memcpy
    - generateDealNodeErrMsg
    - strncpy
    - toUInteger
    - toInteger
    - IS_VALID_FLOAT
    - parseBoolFromValueNode
    - strlen
    - isnan
    - taosMbsToUcs4
    - IS_VALID_SMALLINT
    - TMIN
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateNormalValue(STranslateContext* pCxt, SValueNode*
      pVal, SDataType targetDt, bool strict) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2646,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2654,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2650,1
    - Dst: fmGetFuncReturnRows
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2657,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2649,1
    - Dst: fmIsProcessByRowFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2658,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2659,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2662,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2665,1
    - Dst: hasInvalidFuncNesting
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2668,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2669,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2672
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2672
    functionName: translateIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - fmGetFuncReturnRows
    - isSelectStmt
    - fmIsProcessByRowFunc
    - generateSyntaxErrMsg
    - hasInvalidFuncNesting
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateIndefiniteRowsFunc(STranslateContext* pCxt,
      SFunctionNode* pFunc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fmIsRepeatScanFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2907,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2911,1
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2910,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2917,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2920,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2924,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2929,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2930,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2931,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - STranslateContext*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 2936
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2936
    functionName: translateRepeatScanFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - isSelectStmt
    - fmIsRepeatScanFunc
    - generateSyntaxErrMsgExt
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRepeatScanFunc(STranslateContext* pCxt, SFunctionNode*
      pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:7590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 7591
      start: 7588
    functionDepth: 0
    functionLinenumber: 7588
    functionLinenumberEnd: 7591
    functionName: translateFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateFrom(STranslateContext* pCxt, SNode** pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildCmdMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11657,1
    - Dst: getDropComponentNodeMsgType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11657,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11659,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:11657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - STranslateContext*
    - SDropComponentNodeStmt*
    constantsTouched: []
    func_position:
      end: 11661
      start: 11655
    functionDepth: 0
    functionLinenumber: 11655
    functionLinenumberEnd: 11661
    functionName: translateDropComponentNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - buildCmdMsg
    - tFreeSDDropQnodeReq
    - getDropComponentNodeMsgType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDropComponentNode(STranslateContext* pCxt,
      SDropComponentNodeStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1347,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1349,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1350,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1348,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1352,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1355,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1373,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1374,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - pTable
    - pColSchema
    - tagFlag
    - pCol
    argTypes:
    - SVirtualTableNode*
    - SSchema*
    - int32_t
    - SColumnNode*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1378
    functionName: setVtbColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcpy
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void setVtbColumnInfoBySchema(const SVirtualTableNode* pTable,
      const SSchema* pColSchema, int32_t tagFlag, SColumnNode* pCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pJoinTable
    argTypes:
    - STranslateContext*
    - SJoinTableNode*
    constantsTouched: []
    func_position:
      end: 5102
      start: 5093
    functionDepth: 0
    functionLinenumber: 5093
    functionLinenumberEnd: 5102
    functionName: validateJoinConds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validateJoinConds(STranslateContext* pCxt, SJoinTableNode*
      pJoinTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getProjectList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8617,1
    - Dst: FORBOTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8627,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8618,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8619,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8618,1
    - Dst: dataTypeEqual
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8630,1
    - Dst: createCastFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8632,1
    - Dst: REPLACE_LIST2_NODE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8636,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8639,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8648,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8653,1
    - Dst: addOrderByPrimaryKeyToQuery
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8656,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - STranslateContext*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 8657
      start: 8616
    functionDepth: 0
    functionLinenumber: 8616
    functionLinenumberEnd: 8657
    functionName: translateInsertProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getProjectList
    - generateSyntaxErrMsgExt
    - createCastFunc
    - snprintf
    - addOrderByPrimaryKeyToQuery
    - REPLACE_LIST2_NODE
    - dataTypeEqual
    - FORBOTH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInsertProject(STranslateContext* pCxt, SInsertStmt*
      pInsert) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9890
      start: 9881
    functionDepth: 0
    functionLinenumber: 9881
    functionLinenumberEnd: 9890
    functionName: validRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool validRollupFunc(const char* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12126
      start: 12121
    functionDepth: 0
    functionLinenumber: 12121
    functionLinenumberEnd: 12126
    functionName: crossTableWithoutAggOper
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - hasTbnameFunction
    linkageType: ''
    returnType: bool
    signature: 'static bool crossTableWithoutAggOper(SSelectStmt* pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17328,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17337,1
    - Dst: isVirtualTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17339,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17335,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17330,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17340,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17344,1
    - Dst: getTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17344,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17348,1
    - Dst: addDropTbReqIntoVgroup
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17348,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17351,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - name
    - tableType
    - pVgroupHashmap
    argTypes:
    - STranslateContext*
    - SDropVirtualTableStmt*
    - SName*
    - int8_t*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 17353
      start: 17325
    functionDepth: 0
    functionLinenumber: 17325
    functionLinenumberEnd: 17353
    functionName: buildDropVirtualTableVgroupHashmap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTargetMeta
    - PAR_ERR_JRET
    - collectUseTable
    - PAR_RET
    - taosMemoryFreeClear
    - addDropTbReqIntoVgroup
    - isVirtualTable
    - getTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDropVirtualTableVgroupHashmap(STranslateContext*
      pCxt, SDropVirtualTableStmt* pStmt, const SName* name, int8_t* tableType, SHashObj*
      pVgroupHashmap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18712,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18717,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18718,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - pFunName
    - pAias
    - pParameterList
    - ppResFunc
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SNode**
    constantsTouched: []
    func_position:
      end: 18722
      start: 18709
    functionDepth: 0
    functionLinenumber: 18709
    functionLinenumberEnd: 18722
    functionName: createParFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParFunctionNode(const char* pFunName, const char*
      pAias, SNodeList* pParameterList, SNode** ppResFunc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1382,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1387,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1383,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1385,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1384,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1390,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1396,1
    - Dst: hasPkInTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1402,1
    - Dst: fillTypeFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1406,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - pTable
    - pColSchema
    - tagFlag
    - pCol
    - pExtSchema
    argTypes:
    - SRealTableNode*
    - SSchema*
    - int32_t
    - SColumnNode*
    - SSchemaExt*
    constantsTouched: []
    func_position:
      end: 1407
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1407
    functionName: setColumnInfoBySchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - fillTypeFromTypeMod
    - IS_IDX_ON
    - hasPkInTable
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void setColumnInfoBySchema(const SRealTableNode* pTable, const
      SSchema* pColSchema, int32_t tagFlag, SColumnNode* pCol, const SSchemaExt* pExtSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5111,1
    - Dst: setVSuperTableVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5115,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5114,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5115,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5114,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5116,1
    - Dst: setVSuperTableRefScanVgroupList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5116,1
    - Dst: PAR_ERR_JRET
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5117,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5117,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:5122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pTable
    - pName
    - pVTable
    - pRTNode
    argTypes:
    - STranslateContext*
    - SNode**
    - SName*
    - SVirtualTableNode*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5104
    functionDepth: 0
    functionLinenumber: 5104
    functionLinenumberEnd: 5125
    functionName: translateVirtualSuperTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTargetMeta
    - setVSuperTableRefScanVgroupList
    - PAR_ERR_JRET
    - qError
    - tstrerror
    - setVSuperTableVgroupList
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateVirtualSuperTable(STranslateContext* pCxt,
      SNode** pTable, SName* pName, SVirtualTableNode* pVTable, SRealTableNode* pRTNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translateFrom
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8660,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:8663,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - STranslateContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 8666
      start: 8659
    functionDepth: 0
    functionLinenumber: 8659
    functionLinenumberEnd: 8666
    functionName: translateInsertTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateFrom
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInsertTable(STranslateContext* pCxt, SNode**
      pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:9896,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 9901
      start: 9892
    functionDepth: 0
    functionLinenumber: 9892
    functionLinenumberEnd: 9901
    functionName: aggrRollupFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool aggrRollupFunc(const char* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasTbnameFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:12130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pSelect
    argTypes:
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 12131
      start: 12128
    functionDepth: 0
    functionLinenumber: 12128
    functionLinenumberEnd: 12131
    functionName: crossTableWithUdaf
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - hasTbnameFunction
    linkageType: ''
    returnType: bool
    signature: 'static bool crossTableWithUdaf(SSelectStmt* pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:17357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 17358
      start: 17355
    functionDepth: 0
    functionLinenumber: 17355
    functionLinenumberEnd: 17358
    functionName: destroyDropTbReqBatch
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyDropTbReqBatch(void* data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18726,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18730,1
    - Dst: CHECK_RES_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:18730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pItem
    - ppResList
    argTypes:
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 18733
      start: 18724
    functionDepth: 0
    functionLinenumber: 18724
    functionLinenumberEnd: 18733
    functionName: createParListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesMakeList
    - CHECK_RES_OUT_OF_MEM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createParListNode(SNode* pItem, SNodeList** ppResList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:654,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:659,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:662,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:656,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pName
    - pMeta
    - couldBeView
    argTypes:
    - STranslateContext*
    - SName*
    - STableMeta**
    - bool
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: getTargetMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - getTargetMetaImpl
    - collectUseTable
    - tstrerror
    - collectUseDatabase
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetMeta(STranslateContext* pCxt, const SName*
      pName, STableMeta** pMeta, bool couldBeView) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1974,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1981,1
    - Dst: biMakeTbnameProjectAstNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1977,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1982,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1975,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1984,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - ppNode
    - pRet
    argTypes:
    - STranslateContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 1992
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1992
    functionName: biRewriteToTbnameFunc
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - tstrncpy
    - strcasecmp
    - biMakeTbnameProjectAstNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t biRewriteToTbnameFunc(STranslateContext* pCxt, SNode** ppNode,
      bool* pRet) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2058,1
    - Dst: translateFunction
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2073,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2059,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2063,1
    - Dst: biRewriteToTbnameFunc
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2070,1
    - Dst: translateColumnWithPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2079,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2083,1
    - Dst: isSetOperator
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2086,1
    - Dst: generateDealNodeErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2087,1
    - Dst: translateColumnWithoutPrefix
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2089,1
    - Dst: clauseSupportAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2092,1
    - Dst: translateColumnUseAlias
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2094,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 49
    argCount: 2
    argNames:
    - pCxt
    - pCol
    argTypes:
    - STranslateContext*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 2098
      start: 2056
    functionDepth: 0
    functionLinenumber: 2056
    functionLinenumberEnd: 2098
    functionName: translateColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - translateFunction
    - translateColumnUseAlias
    - isSetOperator
    - translateColumnWithPrefix
    - clauseSupportAlias
    - isSelectStmt
    - biRewriteToTbnameFunc
    - strcmp
    - translateColumnWithoutPrefix
    - generateDealNodeErrMsg
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes translateColumn(STranslateContext* pCxt, SColumnNode**
      pCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3489,1
    - Dst: nodesIsComparisonOp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3490,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3493
      start: 3488
    functionDepth: 0
    functionLinenumber: 3488
    functionLinenumberEnd: 3493
    functionName: isCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesIsComparisonOp
    linkageType: ''
    returnType: bool
    signature: 'static bool isCondition(const SNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6227,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6240,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6228,1
    - Dst: prepareColumnExpansion
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6232,1
    - Dst: isWindowJoinStmt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6237,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6242,1
    - Dst: translateExpr
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6246,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6247
      start: 6224
    functionDepth: 0
    functionLinenumber: 6224
    functionLinenumberEnd: 6247
    functionName: translateHaving
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - isWindowJoinStmt
    - translateExpr
    - prepareColumnExpansion
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateHaving(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 4
    argNames:
    - pDb
    - pTable
    - pProjectionList
    - pStmt
    argTypes:
    - char*
    - char*
    - SNodeList*
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15402
      start: 15399
    functionDepth: 0
    functionLinenumber: 15399
    functionLinenumberEnd: 15402
    functionName: createSimpleSelectStmtFromProjList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSimpleSelectStmtFromProjList(const char* pDb,
      const char* pTable, SNodeList* pProjectionList, SSelectStmt** pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:670,1
    - Dst: getTargetMeta
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pMeta
    argTypes:
    - STranslateContext*
    - char*
    - char*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 672
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 672
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - toName
    - getTargetMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableMeta(STranslateContext* pCxt, const char* pDbName,
      const char* pTableName, STableMeta** pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1997,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2008,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2000,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:1999,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2010,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2011,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pTags
    - pCols
    argTypes:
    - STranslateContext*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2018
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2018
    functionName: biCheckCreateTableTbnameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - FOREACH
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t biCheckCreateTableTbnameCol(STranslateContext* pCxt, SNodeList*
      pTags, SNodeList* pCols) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2101,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2106,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2117,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2108,1
    - Dst: translateValue
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2102,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2118,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:2123,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pCxt
    - pVal
    argTypes:
    - STranslateContext*
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 2128
      start: 2100
    functionDepth: 0
    functionLinenumber: 2100
    functionLinenumberEnd: 2128
    functionName: parseTimeFromValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_NUMERIC_TYPE
    - taosParseTime
    - taosStr2Int64
    - translateValue
    - IS_FLOAT_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTimeFromValueNode(STranslateContext* pCxt, SValueNode*
      pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:3497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pIsTrue
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 3507
      start: 3495
    functionDepth: 0
    functionLinenumber: 3495
    functionLinenumberEnd: 3507
    functionName: rewriteIsTrue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteIsTrue(SNode* pSrc, SNode** pIsTrue) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6254,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6260,1
    - Dst: NODES_DESTORY_LIST
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6261,1
    - Dst: translateClausePosition
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6258,1
    - Dst: translateGroupByList
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:6265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - STranslateContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 6268
      start: 6249
    functionDepth: 0
    functionLinenumber: 6249
    functionLinenumberEnd: 6268
    functionName: translateGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - translateClausePosition
    - NODES_DESTORY_LIST
    - translateGroupByList
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGroupBy(STranslateContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: createSimpleSelectStmtFromCols
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:15406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - showType
    - pStmt
    argTypes:
    - ENodeType
    - SSelectStmt**
    constantsTouched: []
    func_position:
      end: 15408
      start: 15404
    functionDepth: 0
    functionLinenumber: 15404
    functionLinenumberEnd: 15408
    functionName: createSelectStmtForShow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - createSimpleSelectStmtFromCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSelectStmtForShow(ENodeType showType, SSelectStmt**
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13790,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13801,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13797,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13802,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13803,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parTranslater.c:13809,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - pBlock
    - pArray
    - lastTs
    - pInterval
    argTypes:
    - SSDataBlock*
    - SArray**
    - int64_t*
    - SInterval*
    constantsTouched: []
    func_position:
      end: 13813
      start: 13789
    functionDepth: 0
    functionLinenumber: 13789
    functionLinenumberEnd: 13813
    functionName: createStreamReqVersionInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTranslater.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - colDataGetData
    - taosArrayPush
    - taosArrayInit
    - taosGetTimestamp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createStreamReqVersionInfo(SSDataBlock* pBlock, SArray**
      pArray, int64_t* lastTs, SInterval* pInterval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:923,1
    - Dst: reserveTableCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:927,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:925,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:930,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:924,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 937
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 937
    functionName: collectMetaKeyFromShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableCfgInCache
    - tstrncpy
    - reserveDbCfgInCache
    - reserveUserAuthInCache
    - catalogRemoveTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCreateTable(SCollectMetaKeyCxt*
      pCxt, SShowCreateTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 999
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 999
    functionName: collectMetaKeyFromCompactDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCompactDatabase(SCollectMetaKeyCxt*
      pCxt, SCompactDatabaseStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:941,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:945,1
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:947,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:944,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:942,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:951,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 955
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 955
    functionName: collectMetaKeyFromShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - catalogRemoveViewMeta
    - reserveViewUserAuthInCache
    - reserveTableMetaInCache
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCreateView(SCollectMetaKeyCxt*
      pCxt, SShowCreateViewStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1002,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCompactVgroupsStmt*
    constantsTouched: []
    func_position:
      end: 1003
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1003
    functionName: collectMetaKeyFromCompactVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCompactVgroups(SCollectMetaKeyCxt*
      pCxt, SCompactVgroupsStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 832
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 832
    functionName: collectMetaKeyFromShowConsumers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowConsumers(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: collectMetaKeyFromShowConnections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowConnections(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 708
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 708
    functionName: collectMetaKeyFromShowArbGroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowArbGroups(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1099,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowAliveStmt*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1106
    functionName: collectMetaKeyFromShowAlive
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowAlive(SCollectMetaKeyCxt* pCxt,
      SShowAliveStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 716
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 716
    functionName: collectMetaKeyFromShowCluster
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCluster(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromShowLicence
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1205,1
    - Dst: collectMetaKeyFromShowCompacts
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1227,1
    - Dst: collectMetaKeyFromCreateViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1263,1
    - Dst: collectMetaKeyFromInsert
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1257,1
    - Dst: collectMetaKeyFromDropTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1130,1
    - Dst: collectMetaKeyFromCompactDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1152,1
    - Dst: collectMetaKeyFromShowAnodesFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1174,1
    - Dst: collectMetaKeyFromShowTransactions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1251,1
    - Dst: collectMetaKeyFromShowVnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1221,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1110,1
    - Dst: collectMetaKeyFromShowStableTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1199,1
    - Dst: collectMetaKeyFromShowDnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1162,1
    - Dst: collectMetaKeyFromShowQnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1168,1
    - Dst: collectMetaKeyFromShowFunctions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1184,1
    - Dst: collectMetaKeyFromShowStreams
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1190,1
    - Dst: collectMetaKeyFromCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1124,1
    - Dst: collectMetaKeyFromCreateTopic
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1146,1
    - Dst: collectMetaKeyFromShowAlive
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1275,1
    - Dst: collectMetaKeyFromShowTables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1193,1
    - Dst: collectMetaKeyFromShowTopics
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1209,1
    - Dst: collectMetaKeyFromShowQueries
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1215,1
    - Dst: collectMetaKeyFromShowSubscriptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1261,1
    - Dst: collectMetaKeyFromShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1245,1
    - Dst: collectMetaKeyFromShowTransactionDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1231,1
    - Dst: collectMetaKeyFromShowClusterMachines
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1237,1
    - Dst: collectMetaKeyFromCreateTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1267,1
    - Dst: collectMetaKeyFromShowArbGroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1178,1
    - Dst: collectMetaKeyFromFlushDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1118,1
    - Dst: collectMetaKeyFromDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1134,1
    - Dst: collectMetaKeyFromAlterVtable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1140,1
    - Dst: collectMetaKeyFromCreateStream
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1156,1
    - Dst: collectMetaKeyFromShowViews
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1225,1
    - Dst: collectMetaKeyFromSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1112,1
    - Dst: collectMetaKeyFromShowUsersFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1203,1
    - Dst: collectMetaKeyFromDelete
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1255,1
    - Dst: collectMetaKeyFromShowAnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1172,1
    - Dst: collectMetaKeyFromCreateSubTableFromFile
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1128,1
    - Dst: collectMetaKeyFromDescribe
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1150,1
    - Dst: collectMetaKeyFromShowTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1197,1
    - Dst: collectMetaKeyFromShowDnodeVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1219,1
    - Dst: collectMetaKeyFromShowApps
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1249,1
    - Dst: collectMetaKeyFromShowGrantsLogs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1235,1
    - Dst: collectMetaKeyFromShowCreateDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1241,1
    - Dst: collectMetaKeyFromCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1122,1
    - Dst: collectMetaKeyFromAlterStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1138,1
    - Dst: collectMetaKeyFromCreateIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1144,1
    - Dst: collectMetaKeyFromRevoke
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1160,1
    - Dst: collectMetaKeyFromShowModules
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1166,1
    - Dst: collectMetaKeyFromShowDatabases
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1182,1
    - Dst: collectMetaKeyFromShowStables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1188,1
    - Dst: collectMetaKeyFromShowConnections
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1213,1
    - Dst: collectMetaKeyFromShowVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1207,1
    - Dst: collectMetaKeyFromShowBlockDist
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1259,1
    - Dst: collectMetaKeyFromDropViewStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1265,1
    - Dst: collectMetaKeyFromShowCompactDetails
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1229,1
    - Dst: collectMetaKeyFromShowBnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1176,1
    - Dst: collectMetaKeyFromAlterDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1116,1
    - Dst: collectMetaKeyFromDropStable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1132,1
    - Dst: collectMetaKeyFromCompactVgroups
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1154,1
    - Dst: collectMetaKeyFromShowUsers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1201,1
    - Dst: collectMetaKeyFromShowUserPrivileges
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1223,1
    - Dst: collectMetaKeyFromShowUsage
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1253,1
    - Dst: collectMetaKeyFromCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1126,1
    - Dst: collectMetaKeyFromExplain
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1148,1
    - Dst: collectMetaKeyFromShowIndexes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1186,1
    - Dst: collectMetaKeyFromShowSnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1170,1
    - Dst: collectMetaKeyFromShowGrantsFull
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1233,1
    - Dst: collectMetaKeyFromShowEncryptions
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1239,1
    - Dst: collectMetaKeyFromShowFilesets
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1195,1
    - Dst: collectMetaKeyFromShowConsumers
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1211,1
    - Dst: collectMetaKeyFromShowCreateView
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1247,1
    - Dst: collectMetaKeyFromShowVariables
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1217,1
    - Dst: collectMetaKeyFromDropTSMAStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1269,1
    - Dst: collectMetaKeyFromShowTSMASStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1272,1
    - Dst: collectMetaKeyFromShowCluster
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1180,1
    - Dst: collectMetaKeyFromGrant
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1158,1
    - Dst: collectMetaKeyFromShowMnodes
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1164,1
    - Dst: collectMetaKeyFromSelect
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1114,1
    - Dst: collectMetaKeyFromCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1120,1
    - Dst: collectMetaKeyFromAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1136,1
    - Dst: collectMetaKeyFromUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1142,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 84
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1280
    functionName: collectMetaKeyFromQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromShowAnodesFull
    - collectMetaKeyFromShowUserPrivileges
    - collectMetaKeyFromExplain
    - collectMetaKeyFromDescribe
    - collectMetaKeyFromShowArbGroups
    - collectMetaKeyFromShowCompacts
    - collectMetaKeyFromShowTopics
    - collectMetaKeyFromShowBnodes
    - collectMetaKeyFromShowCreateView
    - collectMetaKeyFromShowConnections
    - collectMetaKeyFromShowViews
    - collectMetaKeyFromShowGrantsLogs
    - collectMetaKeyFromCompactDatabase
    - collectMetaKeyFromShowIndexes
    - collectMetaKeyFromShowBlockDist
    - collectMetaKeyFromCreateVTable
    - collectMetaKeyFromShowTransactions
    - collectMetaKeyFromGrant
    - collectMetaKeyFromCreateStream
    - collectMetaKeyFromDropStable
    - collectMetaKeyFromShowUsage
    - collectMetaKeyFromShowAlive
    - collectMetaKeyFromCreateIndex
    - collectMetaKeyFromShowSnodes
    - collectMetaKeyFromCreateSubTableFromFile
    - collectMetaKeyFromShowTags
    - collectMetaKeyFromRevoke
    - collectMetaKeyFromShowSubscriptions
    - collectMetaKeyFromCreateTopic
    - collectMetaKeyFromShowFilesets
    - collectMetaKeyFromShowQueries
    - collectMetaKeyFromShowCreateTable
    - collectMetaKeyFromShowCluster
    - collectMetaKeyFromShowMnodes
    - collectMetaKeyFromShowAnodes
    - collectMetaKeyFromShowUsers
    - collectMetaKeyFromCompactVgroups
    - collectMetaKeyFromShowTransactionDetails
    - collectMetaKeyFromShowFunctions
    - collectMetaKeyFromSetOperator
    - collectMetaKeyFromShowApps
    - collectMetaKeyFromShowVariables
    - collectMetaKeyFromShowStables
    - collectMetaKeyFromShowTables
    - collectMetaKeyFromDropTable
    - collectMetaKeyFromShowQnodes
    - collectMetaKeyFromDelete
    - collectMetaKeyFromShowStreams
    - collectMetaKeyFromShowCreateDatabase
    - collectMetaKeyFromShowDatabases
    - collectMetaKeyFromUseDatabase
    - collectMetaKeyFromFlushDatabase
    - collectMetaKeyFromShowLicence
    - collectMetaKeyFromShowClusterMachines
    - collectMetaKeyFromCreateTSMAStmt
    - collectMetaKeyFromAlterDatabase
    - collectMetaKeyFromCreateViewStmt
    - collectMetaKeyFromAlterTable
    - collectMetaKeyFromShowCompactDetails
    - collectMetaKeyFromSelect
    - collectMetaKeyFromCreateMultiTable
    - collectMetaKeyFromDropVtable
    - collectMetaKeyFromShowEncryptions
    - collectMetaKeyFromShowConsumers
    - nodeType
    - collectMetaKeyFromCreateTable
    - collectMetaKeyFromDropViewStmt
    - collectMetaKeyFromShowDnodes
    - collectMetaKeyFromShowGrantsFull
    - collectMetaKeyFromDropTSMAStmt
    - collectMetaKeyFromShowModules
    - collectMetaKeyFromShowVgroups
    - collectMetaKeyFromInsert
    - collectMetaKeyFromShowVnodes
    - collectMetaKeyFromCreateVSubTable
    - collectMetaKeyFromShowStableTags
    - collectMetaKeyFromShowUsersFull
    - collectMetaKeyFromShowDnodeVariables
    - collectMetaKeyFromAlterStable
    - collectMetaKeyFromShowTSMASStmt
    - collectMetaKeyFromAlterVtable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromQuery(SCollectMetaKeyCxt* pCxt, SNode*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1080,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1087,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1083,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1091
    functionName: collectMetaKeyFromShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowUsage(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:125,1
    - Dst: reserveUdfInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pFunc
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 137
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 137
    functionName: collectMetaKeyFromFunction
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - fmGetFuncType
    - reserveUdfInCache
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectMetaKeyFromFunction(SCollectMetaKeyFromExprCxt*
      pCxt, SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1094,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1096
    functionName: collectMetaKeyFromShowTSMASStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTSMASStmt(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:140,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: needGetTableIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool needGetTableIndex(SNode* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getVnodeSysTableTargetName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:160,1
    - Dst: collectMetaKeyFromInsTagsImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCollectMetaKeyCxt*
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: collectMetaKeyFromInsTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - getVnodeSysTableTargetName
    - collectMetaKeyFromInsTagsImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromInsTags(SCollectMetaKeyCxt* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgVersionInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SUseDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: collectMetaKeyFromUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgVersionInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromUseDatabase(SCollectMetaKeyCxt* pCxt,
      SUseDatabaseStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: collectMetaKeyFromShowCompacts
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCompacts(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:152,1
    - Dst: reserveTableVgroupInCacheExt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SCollectMetaKeyCxt*
    - SName*
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: collectMetaKeyFromInsTagsImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableVgroupInCacheExt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromInsTagsImpl(SCollectMetaKeyCxt* pCxt,
      SName* pName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:169,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:171,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:174,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:179,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:184,1
    - Dst: needGetTableIndex
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:186,1
    - Dst: reserveTableIndexInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:187,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:189,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:190,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:193,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:194,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:195,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:200,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:194,1
    - Dst: reserveTableTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:201,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:196,1
    - Dst: collectMetaKeyFromInsTags
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:197,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:193,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 4
    argNames:
    - pCxt
    - pDb
    - pTable
    - authType
    argTypes:
    - SCollectMetaKeyCxt*
    - char*
    - char*
    - AUTH_TYPE
    constantsTouched: []
    func_position:
      end: 204
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 204
    functionName: collectMetaKeyFromRealTableImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodeType
    - reserveTableIndexInCache
    - collectMetaKeyFromInsTags
    - reserveTableTSMAInfoInCache
    - reserveDnodeRequiredInCache
    - strcmp
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - needGetTableIndex
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromRealTableImpl(SCollectMetaKeyCxt*
      pCxt, const char* pDb, const char* pTable, AUTH_TYPE authType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:575,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:577,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:580,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateIndexStmt*
    constantsTouched: []
    func_position:
      end: 587
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 587
    functionName: collectMetaKeyFromCreateIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    - reserveTableVgroupInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateIndex(SCollectMetaKeyCxt* pCxt,
      SCreateIndexStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 889
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 889
    functionName: collectMetaKeyFromShowCompactDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCompactDetails(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1020,1
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1026,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 1030
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1030
    functionName: collectMetaKeyFromCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveViewUserAuthInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateViewStmt(SCollectMetaKeyCxt*
      pCxt, SCreateViewStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveViewUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropViewStmt*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: collectMetaKeyFromDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveViewUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDropViewStmt(SCollectMetaKeyCxt*
      pCxt, SDropViewStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:33,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:39,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pQuery
    - pRootNode
    - placeholderNo
    - pPlaceholderValues
    argTypes:
    - SQuery**
    - SNode*
    - int16_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: buildQueryAfterParse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - TSWAP
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildQueryAfterParse(SQuery** pQuery, SNode* pRootNode, int16_t
      placeholderNo, SArray** pPlaceholderValues) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:467,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:472,1
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:470,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:475,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:478,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:481,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTableStmt*
    constantsTouched: []
    func_position:
      end: 493
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 493
    functionName: collectMetaKeyFromDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableUidInCache
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - FOREACH
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDropTable(SCollectMetaKeyCxt* pCxt,
      SDropTableStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:606,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:607,1
    - Dst: catalogRemoveViewMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:613,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:612,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:608,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDescribeStmt*
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: collectMetaKeyFromDescribe
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - catalogRemoveViewMeta
    - reserveTableMetaInCache
    - tNameGetFullDbName
    - catalogRemoveTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDescribe(SCollectMetaKeyCxt* pCxt,
      SDescribeStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1009,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SGrantStmt*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: collectMetaKeyFromGrant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromGrant(SCollectMetaKeyCxt* pCxt, SGrantStmt*
      pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1043,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1053,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1049,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1047,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1046,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1055,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1059,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1062,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTSMAStmt*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1065
    functionName: collectMetaKeyFromCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - snprintf
    - reserveTSMAInfoInCache
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateTSMAStmt(SCollectMetaKeyCxt*
      pCxt, SCreateTSMAStmt* pStmt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: initAstCreateContext
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:47,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:54,1
    - Dst: ParseAlloc
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:48,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:59,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:62,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:73,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:77,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:82,1
    - Dst: Parse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:88,1
    - Dst: ParseFree
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:96,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:103,1
    - Dst: buildQueryAfterParse
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:98,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 39
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 105
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 105
    functionName: parse
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - ParseFree
    - snprintf
    - taosArrayDestroy
    - Parse
    - tGetToken
    - buildQueryAfterParse
    - ParseAlloc
    - initAstCreateContext
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parse(SParseContext* pParseCxt, SQuery** pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:497,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropSuperTableStmt*
    constantsTouched: []
    func_position:
      end: 501
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 501
    functionName: collectMetaKeyFromDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableUidInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDropStable(SCollectMetaKeyCxt* pCxt,
      SDropSuperTableStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:626,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:629,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:635,1
    - Dst: reserveDbCfgForLastRow
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateStreamStmt*
    constantsTouched: []
    func_position:
      end: 642
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 642
    functionName: collectMetaKeyFromCreateStream
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - collectMetaKeyFromQuery
    - nodesCloneNode
    - reserveDbCfgForLastRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateStream(SCollectMetaKeyCxt*
      pCxt, SCreateStreamStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SRevokeStmt*
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: collectMetaKeyFromRevoke
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromRevoke(SCollectMetaKeyCxt* pCxt,
      SRevokeStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTSMAInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1069,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1074,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1071,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropTSMAStmt*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1077
    functionName: collectMetaKeyFromDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTSMAInfoInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDropTSMAStmt(SCollectMetaKeyCxt*
      pCxt, SDropTSMAStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:815,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:819,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 822
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 822
    functionName: collectMetaKeyFromShowVgroups
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowVgroups(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 905
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 905
    functionName: collectMetaKeyFromShowGrantsLogs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowGrantsLogs(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: collectMetaKeyFromShowTopics
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTopics(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:908,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 910
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 910
    functionName: collectMetaKeyFromShowClusterMachines
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowClusterMachines(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:410,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:420,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:415,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:413,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:423,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:428,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:430,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:434,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateMultiTablesStmt*
    constantsTouched: []
    func_position:
      end: 444
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 444
    functionName: collectMetaKeyFromCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableVgroupInCache
    - FOREACH
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateMultiTable(SCollectMetaKeyCxt*
      pCxt, SCreateMultiTablesStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 666
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 666
    functionName: collectMetaKeyFromShowModules
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowModules(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 682
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 682
    functionName: collectMetaKeyFromShowSnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowSnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:451,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:457,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pClause
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateSubTableFromFileClause*
    constantsTouched: []
    func_position:
      end: 462
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 462
    functionName: collectMetaKeyFromCreateSubTableFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateSubTableFromFile(SCollectMetaKeyCxt*
      pCxt, SCreateSubTableFromFileClause* pClause) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:670,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 674
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 674
    functionName: collectMetaKeyFromShowQnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowQnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: collectMetaKeyFromShowAnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowAnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableUidInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:506,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:508,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:511,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:517,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:514,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:520,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDropVirtualTableStmt*
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: collectMetaKeyFromDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableUidInCache
    - reserveTableVgroupInCache
    - reserveDbVgInfoInCache
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDropVtable(SCollectMetaKeyCxt* pCxt,
      SDropVirtualTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 807
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 807
    functionName: collectMetaKeyFromShowUsersFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowUsersFull(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:840,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 842
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 842
    functionName: collectMetaKeyFromShowQueries
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowQueries(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:913,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 915
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 915
    functionName: collectMetaKeyFromShowEncryptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowEncryptions(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:528,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:533,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:536,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:530,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 540
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: collectMetaKeyFromAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveTableVgroupInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromAlterTable(SCollectMetaKeyCxt* pCxt,
      SAlterTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: collectMetaKeyFromShowLicence
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowLicence(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 847
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 847
    functionName: collectMetaKeyFromShowVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowVariables(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:918,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowCreateDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 919
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 919
    functionName: collectMetaKeyFromShowCreateDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowCreateDatabase(SCollectMetaKeyCxt*
      pCxt, SShowCreateDatabaseStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:850,1
    - Dst: reserveDnodeRequiredInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:853,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowDnodeVariablesStmt*
    constantsTouched: []
    func_position:
      end: 856
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 856
    functionName: collectMetaKeyFromShowDnodeVariables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveDnodeRequiredInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowDnodeVariables(SCollectMetaKeyCxt*
      pCxt, SShowDnodeVariablesStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: collectMetaKeyFromShowAnodesFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowAnodesFull(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 960
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 960
    functionName: collectMetaKeyFromShowApps
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowApps(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 700
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 700
    functionName: collectMetaKeyFromShowBnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowBnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowVnodesStmt*
    constantsTouched: []
    func_position:
      end: 861
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 861
    functionName: collectMetaKeyFromShowVnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowVnodes(SCollectMetaKeyCxt* pCxt,
      SShowVnodesStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 965
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 965
    functionName: collectMetaKeyFromShowTransactions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTransactions(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:338,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:348,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:356,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:343,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:340,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:358,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:361,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVTableStmt*
    constantsTouched: []
    func_position:
      end: 371
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 371
    functionName: collectMetaKeyFromCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableVgroupInCache
    - FOREACH
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateVTable(SCollectMetaKeyCxt*
      pCxt, SCreateVTableStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:543,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:548,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 552
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 552
    functionName: collectMetaKeyFromAlterStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromAlterStable(SCollectMetaKeyCxt* pCxt,
      SAlterTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 747
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 747
    functionName: collectMetaKeyFromShowStreams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowStreams(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: collectMetaKeyFromDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromDelete(SCollectMetaKeyCxt* pCxt,
      SDeleteStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:375,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:379,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:377,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:377,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:375,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:379,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:381,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:381,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:391,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:401,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:399,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:401,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateVSubTableStmt*
    constantsTouched: []
    func_position:
      end: 405
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 405
    functionName: collectMetaKeyFromCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableVgroupInCache
    - PAR_ERR_RET
    - FOREACH
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateVSubTable(SCollectMetaKeyCxt*
      pCxt, SCreateVSubTableStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:555,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:556,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:557,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:556,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:555,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:557,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:558,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:558,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:561,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:561,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:562,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:562,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: collectMetaKeyFromAlterVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableVgroupInCache
    - PAR_ERR_RET
    - reserveDbCfgInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromAlterVtable(SCollectMetaKeyCxt* pCxt,
      SAlterTableStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:750,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:753,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:757,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 761
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 761
    functionName: collectMetaKeyFromShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTables(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:974,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:976,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 979
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 979
    functionName: collectMetaKeyFromInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromInsert(SCollectMetaKeyCxt* pCxt,
      SInsertStmt* pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:265,1
    - Dst: collectMetaKeyFromOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:273,1
    - Dst: collectMetaKeyFromFunction
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:267,1
    - Dst: collectMetaKeyFromRealTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:269,1
    - Dst: collectMetaKeyFromTempTable
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: collectMetaKeyFromExprImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodeType
    - collectMetaKeyFromTempTable
    - collectMetaKeyFromRealTable
    - collectMetaKeyFromOperator
    - collectMetaKeyFromFunction
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectMetaKeyFromExprImpl(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:287,1
    - Dst: collectMetaKeyFromExprs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:292,1
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: collectMetaKeyFromSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    - collectMetaKeyFromExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromSetOperator(SCollectMetaKeyCxt* pCxt,
      SSetOperator* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 721
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 721
    functionName: collectMetaKeyFromShowDatabases
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowDatabases(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SCollectMetaKeyCxt*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: collectMetaKeyFromExprs
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromExprs(SCollectMetaKeyCxt* pCxt, SNodeList*
      pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:298,1
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCollectMetaKeyCxt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: reserveDbCfgForLastRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodeType
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveDbCfgForLastRow(SCollectMetaKeyCxt* pCxt, SNode*
      pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 726
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 726
    functionName: collectMetaKeyFromShowFunctions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowFunctions(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:306,1
    - Dst: reserveDbCfgForLastRow
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:312,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 315
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 315
    functionName: collectMetaKeyFromSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    - nodeType
    - reserveDbCfgForLastRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromSelect(SCollectMetaKeyCxt* pCxt,
      SSelectStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:892,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 895
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 895
    functionName: collectMetaKeyFromShowTransactionDetails
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTransactionDetails(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SAlterDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: collectMetaKeyFromAlterDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromAlterDatabase(SCollectMetaKeyCxt*
      pCxt, SAlterDatabaseStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 900
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 900
    functionName: collectMetaKeyFromShowGrantsFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowGrantsFull(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1285
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1285
    functionName: collectMetaKey
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t collectMetaKey(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 866
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 866
    functionName: collectMetaKeyFromShowUserPrivileges
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowUserPrivileges(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SFlushDatabaseStmt*
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: collectMetaKeyFromFlushDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromFlushDatabase(SCollectMetaKeyCxt*
      pCxt, SFlushDatabaseStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:591,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTopicStmt*
    constantsTouched: []
    func_position:
      end: 598
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 598
    functionName: collectMetaKeyFromCreateTopic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateTopic(SCollectMetaKeyCxt* pCxt,
      SCreateTopicStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: collectMetaKeyFromShowDnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowDnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:764,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:767,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 775
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 775
    functionName: collectMetaKeyFromShowFilesets
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowFilesets(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 731
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 731
    functionName: collectMetaKeyFromShowIndexes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowIndexes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:869,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 877
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 877
    functionName: collectMetaKeyFromShowViews
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowViews(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbCfgInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:326,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:331,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: collectMetaKeyFromCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveUserAuthInCache
    - reserveTableVgroupInCache
    - reserveDbCfgInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromCreateTable(SCollectMetaKeyCxt* pCxt,
      SCreateTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SExplainStmt*
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: collectMetaKeyFromExplain
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromExplain(SCollectMetaKeyCxt* pCxt,
      SExplainStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: collectMetaKeyFromShowMnodes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowMnodes(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:734,1
    - Dst: reserveUserAuthInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:738,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 742
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 742
    functionName: collectMetaKeyFromShowStables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    - reserveUserAuthInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowStables(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:778,1
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:781,1
    - Dst: reserveTableVgroupInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:788,1
    - Dst: reserveDbVgInfoInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 792
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 792
    functionName: collectMetaKeyFromShowTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveDbVgInfoInCache
    - reserveTableMetaInCache
    - reserveTableVgroupInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowTags(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:207,1
    - Dst: reserveVStbRefDbsInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:213,1
    - Dst: reserveVSubTableInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:210,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SRealTableNode*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: collectMetaKeyFromRealTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveVSubTableInCache
    - collectMetaKeyFromRealTableImpl
    - reserveVStbRefDbsInCache
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectMetaKeyFromRealTable(SCollectMetaKeyFromExprCxt*
      pCxt, SRealTableNode* pRealTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:229,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:234,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:233,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:231,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:230,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:235,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pOperator
    - ppTableName
    argTypes:
    - SOperatorNode*
    - char**
    constantsTouched: []
    func_position:
      end: 244
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 244
    functionName: isTbnameEqCondOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isTbnameEqCondOperator(SOperatorNode* pOperator, char**
      ppTableName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableTagsStmt*
    constantsTouched: []
    func_position:
      end: 797
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 797
    functionName: collectMetaKeyFromShowStableTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowStableTags(SCollectMetaKeyCxt*
      pCxt, SShowTableTagsStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:983,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:987,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:984,1
    - Dst: catalogRemoveTableMeta
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowTableDistributedStmt*
    constantsTouched: []
    func_position:
      end: 990
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 990
    functionName: collectMetaKeyFromShowBlockDist
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - catalogRemoveTableMeta
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowBlockDist(SCollectMetaKeyCxt*
      pCxt, SShowTableDistributedStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: collectMetaKeyFromQuery
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pTempTable
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - STempTableNode*
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: collectMetaKeyFromTempTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromQuery
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectMetaKeyFromTempTable(SCollectMetaKeyFromExprCxt*
      pCxt, STempTableNode* pTempTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isTbnameEqCondOperator
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:252,1
    - Dst: collectMetaKeyFromRealTableImpl
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:256,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pOpNode
    argTypes:
    - SCollectMetaKeyFromExprCxt*
    - SOperatorNode*
    constantsTouched: []
    func_position:
      end: 261
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 261
    functionName: collectMetaKeyFromOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - collectMetaKeyFromRealTableImpl
    - isTbnameEqCondOperator
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes collectMetaKeyFromOperator(SCollectMetaKeyFromExprCxt*
      pCxt, SOperatorNode* pOpNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 802
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 802
    functionName: collectMetaKeyFromShowUsers
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowUsers(SCollectMetaKeyCxt* pCxt,
      SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableMetaInCache
      Src: /src/tdengine/source/libs/parser/src/parAstParser.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SCollectMetaKeyCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: collectMetaKeyFromShowSubscriptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstParser.c
    functionUses: []
    functionsReached:
    - reserveTableMetaInCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectMetaKeyFromShowSubscriptions(SCollectMetaKeyCxt*
      pCxt, SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:392,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:396,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:400,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:394,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: doInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashPut
    - tListLen
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doInitKeywordsTable(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - z
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 862
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 862
    functionName: taosIsKeyWordToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - tKeywordCode
    linkageType: ''
    returnType: bool
    signature: 'bool taosIsKeyWordToken(const char* z, int32_t len) '
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:441,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:607,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:611,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:606,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:611,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:613,1
    - Dst: isxdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:641,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:661,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:675,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:677,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:699,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:735,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:697,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:697,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:731,1
    - Dst: tKeywordCode
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:755,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:731,1
    CyclomaticComplexity: 139
    EdgeCount: 139
    ICount: 290
    argCount: 3
    argNames:
    - z
    - tokenId
    - dupQuoteChar
    argTypes:
    - char*
    - uint32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 762
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 762
    functionName: tGetToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - isspace
    - IS_TRUE_STR
    - isdigit
    - tKeywordCode
    - isxdigit
    - IS_FALSE_STR
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t tGetToken(const char* z, uint32_t* tokenId, char *dupQuoteChar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: taosInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - doInitKeywordsTable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosInitKeywordsTable() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:868,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: taosCleanupKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    - atomic_val_compare_exchange_ptr
    linkageType: ''
    returnType: void
    signature: 'void taosCleanupKeywordsTable() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:409,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - z
    - n
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 427
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 427
    functionName: tKeywordCode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tKeywordCode(const char* z, int n) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:792,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:822,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:835,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parTokenizer.c:848,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 4
    argNames:
    - str
    - i
    - isPrevOptr
    - pIgnoreComma
    argTypes:
    - char*
    - int32_t*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 860
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 860
    functionName: tStrGetToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parTokenizer.c
    functionUses: []
    functionsReached:
    - tGetToken
    linkageType: ''
    returnType: SToken
    signature: 'SToken tStrGetToken(const char* str, int32_t* i, bool isPrevOptr,
      bool* pIgnoreComma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:748,1
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:755,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:748,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: parseBoundTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseBoundColumns
    - NEXT_TOKEN_KEEP_SQL
    - getNumOfTags
    - insInitBoundColsInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseBoundTagsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1053,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1058,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1055,1
    - Dst: parseTagsClauseImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1063,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1060,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1065,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1067,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1069,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 1073
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1073
    functionName: parseTagsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_VALID_TOKEN
    - parseTagsClauseImpl
    - NEXT_TOKEN
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTagsClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool autoCreate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2893,1
    - Dst: parseInsertTableClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2896,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2901,1
    - Dst: checkTableClauseFirstToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2894,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2904
    functionName: parseInsertBody
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - checkTableClauseFirstToken
    - parseInsertTableClause
    - parseInsertBodyBottom
    - NEXT_TOKEN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertBody(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:766,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:781,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:768,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:779,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:775,1
    - Dst: parseTagToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:788,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:790,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 26
    argCount: 10
    argNames:
    - pMsgBuf
    - pSql
    - precision
    - pTagSchema
    - pToken
    - pTagName
    - pTagVals
    - pTag
    - tz
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - char**
    - uint8_t
    - SSchema*
    - SToken*
    - SArray*
    - SArray*
    - STag**
    - timezone_t
    - void*
    constantsTouched: []
    func_position:
      end: 796
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 796
    functionName: parseTagValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseTagToken
    - tTagNew
    - taosArrayPush
    - parseJsontoTagData
    - isNullValue
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseTagValue(SMsgBuf* pMsgBuf, const char** pSql, uint8_t
      precision, SSchema* pTagSchema, SToken* pToken, SArray* pTagName, SArray* pTagVals,
      STag** pTag, timezone_t tz, void *charsetCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1081,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1088,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1091,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1086,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1091,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1096
    functionName: storeChildTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tNameExtractFullName
    - strlen
    - taosHashPut
    - cloneTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t storeChildTableMeta(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1907,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1908,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1923,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1915,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1926,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - pMsgBuf
    - tname
    - pToken
    - pFoundCtbName
    argTypes:
    - SMsgBuf*
    - char*
    - SToken*
    - bool*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1929
    functionName: parseTbnameToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - isNullValue
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseTbnameToken(SMsgBuf* pMsgBuf, char* tname, SToken* pToken,
      bool* pFoundCtbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2906
    functionName: destroySubTableHashElem
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroySubTableHashElem(void* p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:800,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:801,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pStmt
    - pTag
    - pTagName
    argTypes:
    - SVnodeModifyOpStmt*
    - STag*
    - SArray*
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: buildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - insBuildCreateTbReq
    - tdDestroySVCreateTbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTbReq(SVnodeModifyOpStmt* pStmt, STag* pTag,
      SArray* pTagName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1941,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1943,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1957,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1952,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1947,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - pStbRowsCxt
    - ctbFirst
    - tagTokens
    - tagSchemas
    - numOfTagTokens
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    - bool
    - SToken*
    - SSchema**
    - int
    constantsTouched: []
    func_position:
      end: 1960
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1960
    functionName: processCtbTagsAfterCtbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tTagNew
    - checkSubtablePrivilege
    - buildInvalidOperationMsg
    - parseTagValue
    - checkAndTrimValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processCtbTagsAfterCtbName(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, SStbRowsDataContext* pStbRowsCxt, bool ctbFirst,
      const SToken* tagTokens, SSchema* const* tagSchemas, int numOfTagTokens) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resetEnvPreTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2742,1
    - Dst: parseInsertTableClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2745,1
    - Dst: parseSchemaClauseTop
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2749
      start: 2741
    functionDepth: 0
    functionLinenumber: 2741
    functionLinenumberEnd: 2749
    functionName: parseInsertTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseInsertTableClauseBottom
    - resetEnvPreTable
    - parseSchemaClauseTop
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertTableClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3079
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3079
    functionName: destoryTablesReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destoryTablesReq(void* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:814,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:827,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:821,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:830,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 4
    argNames:
    - pToken
    - tmpTokenBuf
    - pMsgBuf
    - type
    argTypes:
    - SToken*
    - char*
    - SMsgBuf*
    - int8_t
    constantsTouched: []
    func_position:
      end: 836
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 836
    functionName: checkAndTrimValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - trimString
    - buildSyntaxErrMsg
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkAndTrimValue(SToken* pToken, char* tmpTokenBuf, SMsgBuf*
      pMsgBuf, int8_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1421,1
    - Dst: parseDuplicateUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1429,1
    - Dst: parseUsingTableNameImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1431,1
    - Dst: getTargetTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1434
    functionName: parseUsingTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getTargetTableSchema
    - NEXT_TOKEN_KEEP_SQL
    - parseUsingTableNameImpl
    - parseDuplicateUsingClause
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseUsingTableName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1980,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1973,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2006,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2015,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2052,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2073,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1974,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1983,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2005,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2007,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2004,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2061,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1971,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1997,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2044,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2049,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2050,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2063,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2066,1
    - Dst: parseTbnameToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2077,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1972,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1988,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1994,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2040,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2032,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2026,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2071,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2083,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2085,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 124
    argCount: 14
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pToken
    - pCols
    - pSchemas
    - pExtSchemas
    - tagTokens
    - tagSchemas
    - pNumOfTagTokens
    - bFoundTbName
    - setCtbName
    - ctbCols
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - SToken*
    - SBoundColInfo*
    - SSchema*
    - SSchemaExt*
    - SToken*
    - SSchema**
    - int*
    - bool*
    - bool*
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 2091
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 2091
    functionName: doGetStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - NEXT_TOKEN_WITH_PREV_EXT
    - parseTagValue
    - taosMemoryCalloc
    - getTbnameSchemaIndex
    - parseValueToken
    - getNumOfColumns
    - tstrncpy
    - parseTbnameToken
    - getNumOfTags
    - buildInvalidOperationMsg
    - getTableInfo
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - checkAndTrimValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doGetStbRowValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql, SStbRowsDataContext* pStbRowsCxt, SToken* pToken,
      const SBoundColInfo* pCols, const SSchema* pSchemas, const SSchemaExt* pExtSchemas,
      SToken* tagTokens, SSchema** tagSchemas, int* pNumOfTagTokens, bool* bFoundTbName,
      bool* setCtbName, SBoundColInfo* ctbCols) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2756,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2760,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2767,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2768,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2759,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2775,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2783,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2793,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2797,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2803,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2809,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2817,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 78
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pTbName
    - pHasData
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - bool*
    constantsTouched: []
    func_position:
      end: 2830
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2830
    functionName: checkTableClauseFirstToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - strnchr
    - parserWarn
    - strlen
    - buildInvalidOperationMsg
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTableClauseFirstToken(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, SToken* pTbName, bool* pHasData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3086,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3090,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3088,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3092,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 3094
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3094
    functionName: clearCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void clearCatalogReq(SCatalogReq* pCatalogReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2544,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2550,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2545,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2552,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2546,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2554,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2559,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - pFilePath
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    - SRowsDataContext
    constantsTouched: []
    func_position:
      end: 2560
      start: 2540
    functionDepth: 0
    functionLinenumber: 2540
    functionLinenumberEnd: 2560
    functionName: parseDataFromFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - strncpy
    - trimString
    - strlen
    - buildSyntaxErrMsg
    - parseDataFromFileImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseDataFromFile(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pFilePath, SRowsDataContext rowsDataCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1294,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1295,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1296
    functionName: collectUseDatabase
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - strlen
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectUseDatabase(const SName* pName, SHashObj* pDbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1437,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1445
    functionName: preParseTargetTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - IS_SYS_DBNAME
    - insCreateSName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t preParseTargetTableName(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, SToken* pTbName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1524,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1532
    functionName: initTableColSubmitData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - taosArrayReserve
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTableColSubmitData(STableDataCxt* pTableCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2420,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataContext
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    constantsTouched: []
    func_position:
      end: 2427
      start: 2417
    functionDepth: 0
    functionLinenumber: 2417
    functionLinenumberEnd: 2427
    functionName: parseValuesClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseValues
    - TSDB_QUERY_SET_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseValuesClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataContext, SToken* pToken) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: clearCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3098,1
    - Dst: getTableMetaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3101,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3111,1
    - Dst: processTableSchemaFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3109,1
    - Dst: checkAuthFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3099,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3115
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3115
    functionName: setVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - clearCatalogReq
    - processTableSchemaFromMetaData
    - checkAuthFromMetaData
    - getTableMetaFromMetaData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setVnodeModifOpStmt(SInsertParseContext* pCxt, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData, SVnodeModifyOpStmt* pStmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1304,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1314,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1317,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1320,1
    - Dst: getTargetTableMetaAndVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1306,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1326
    functionName: getTargetTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getTargetTableMetaAndVgroup
    - checkAuth
    - nodesDestroyNode
    - collectUseTable
    - nodesCloneNode
    - collectUseDatabase
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetTableSchema(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1535,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1539,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1543,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pTableCxt
    - pBoundColsInfo
    argTypes:
    - STableDataCxt*
    - SBoundColInfo
    constantsTouched: []
    func_position:
      end: 1547
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1547
    functionName: initTableColSubmitDataWithBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - taosArrayReserve
    - insDestroyBoundColInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTableColSubmitDataWithBoundInfo(STableDataCxt* pTableCxt,
      SBoundColInfo pBoundColsInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2565,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2568,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2570,1
    - Dst: parseDataFromFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - SToken*
    constantsTouched: []
    func_position:
      end: 2573
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2573
    functionName: parseFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    - parseDataFromFile
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseFileClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt, SToken* pToken) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3118,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3120,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3128,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3128,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3132,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3132,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 3141
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3141
    functionName: resetVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - nodesDestroyNode
    - taosHashInit
    - createVnodeModifOpStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetVnodeModifOpStmt(SInsertParseContext* pCxt, SQuery*
      pQuery) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2379,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2388,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2396,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2391,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2398,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2400,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2410,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2411,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 5
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pNumOfRows
    - pToken
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - int32_t*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2414
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2414
    functionName: parseValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_VALID_TOKEN
    - NEXT_TOKEN_KEEP_SQL
    - TSDB_QUERY_HAS_TYPE
    - parseOneRow
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - parseOneStbRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt, int32_t* pNumOfRows, SToken* pToken) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseBoundTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:147,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:158,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:152,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: ignoreUsingClauseAndCheckTagValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - skipTableOptions
    - parseTagsClause
    - parseBoundTagsClause
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ignoreUsingClauseAndCheckTagValues(SInsertParseContext*
      pCxt, SVnodeModifyOpStmt* pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1196,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1215,1
    - Dst: catalogGetCachedTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1198,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1208,1
    - Dst: catalogGetSTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 5
    argNames:
    - pCxt
    - pTbName
    - pTableMeta
    - pMissCache
    - bUsingTable
    argTypes:
    - SInsertParseContext*
    - SName*
    - STableMeta**
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 1223
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1223
    functionName: getTableMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - catalogGetCachedTableMeta
    - catalogGetCachedSTableMeta
    - catalogGetSTableMeta
    - catalogGetTableMeta
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableMeta(SInsertParseContext* pCxt, SName* pTbName,
      STableMeta** pTableMeta, bool* pMissCache, bool bUsingTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2578,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2581,1
    - Dst: parseFileClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2586,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2582,1
    - Dst: parseValuesClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2584,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    constantsTouched: []
    func_position:
      end: 2591
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2591
    functionName: parseDataClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - TSDB_QUERY_HAS_TYPE
    - NEXT_TOKEN
    - parseFileClause
    - parseValuesClause
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseDataClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3146,1
    - Dst: setVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3156,1
    - Dst: resetVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SInsertParseContext*
    - SCatalogReq*
    - SMetaData*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 3160
      start: 3143
    functionDepth: 0
    functionLinenumber: 3143
    functionLinenumberEnd: 3160
    functionName: initInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - resetVnodeModifOpStmt
    - createInsertQuery
    - setVnodeModifOpStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initInsertQuery(SInsertParseContext* pCxt, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData, SQuery** pQuery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3341,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3350,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3349,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3348,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pUser
    - pName
    - pUserAuth
    argTypes:
    - char*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3356
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3356
    functionName: buildInsertUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayDestroy
    - taosArrayPush
    - memcpy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertUserAuthReq(const char* pUser, SName* pName,
      SArray** pUserAuth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:169,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:177,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:173,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:173,1
    - Dst: ignoreUsingClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pDuplicate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    constantsTouched: []
    func_position:
      end: 185
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 185
    functionName: parseDuplicateUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - taosHashGet
    - strlen
    - ignoreUsingClause
    - cloneTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseDuplicateUsingClause(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, bool* pDuplicate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1230,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1243,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - isStb
    - pMissCache
    argTypes:
    - SParseContext*
    - SVnodeModifyOpStmt*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1248
    functionName: getTargetTableVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - catalogGetCachedTableHashVgroup
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetTableVgroup(SParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool isStb, bool* pMissCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2595,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2598,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2602,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2596,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2600,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2603,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2605,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2606,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    constantsTouched: []
    func_position:
      end: 2608
      start: 2593
    functionDepth: 0
    functionLinenumber: 2593
    functionLinenumberEnd: 2608
    functionName: destroyStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - insDestroyBoundColInfo
    - clearStbRowsDataContext
    - tTagFree
    - tdDestroySVCreateTbReq
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3166,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3168,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3167,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3172,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3174,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3176,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3179,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3184,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3185,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3192,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3186,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3194,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3190,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3197,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - pQuery
    argTypes:
    - SQuery*
    constantsTouched: []
    func_position:
      end: 3203
      start: 3162
    functionDepth: 0
    functionLinenumber: 3162
    functionLinenumberEnd: 3203
    functionName: setRefreshMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setRefreshMeta(SQuery* pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3358
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3358
    functionName: buildInsertTableTagReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildInsertTableReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertTableTagReq(SName* pName, SArray** pTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:63,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:65,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:67,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pSql
    - pMsg
    argTypes:
    - char**
    - SMsgBuf*
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: skipInsertInto
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t skipInsertInto(const char** pSql, SMsgBuf* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initCtxGeomFromText
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:457,1
    - Dst: doGeomFromText
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:470,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pToken
    - output
    - size
    argTypes:
    - SToken*
    - unsigned char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 472
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 472
    functionName: parseGeometry
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - doGeomFromText
    - initCtxGeomFromText
    linkageType: ''
    returnType: int
    signature: 'static int parseGeometry(SToken* pToken, unsigned char** output, size_t*
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:926,1
    - Dst: rewriteTagCondColumnImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:930,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:929,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:930,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pNode
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    constantsTouched: []
    func_position:
      end: 934
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 934
    functionName: rewriteTagCondColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - strcmp
    - rewriteTagCondColumnImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTagCondColumn(SArray* pTagVals, SArray* pTagName,
      SNode** pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1457,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1466
    functionName: preParseBoundColumnsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - skipParentheses
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t preParseBoundColumnsClause(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1470,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1491,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1478,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1483,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1477,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    constantsTouched: []
    func_position:
      end: 1493
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1493
    functionName: getTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - strlen
    - tNameExtractFullName
    - insGetTableDataCxt
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableDataCxt(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, STableDataCxt** pTableCxt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2245,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2262,1
    - Dst: processCtbAutoCreationAndCtbMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2257,1
    - Dst: parseStbBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2249,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2248,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2266,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2266,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2270,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2276,1
    - Dst: initTableColSubmitDataWithBoundInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2277,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2287,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2296,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2279,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2284,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2288,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2283,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 7
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pGotRow
    - pToken
    - ppTableDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - bool*
    - SToken*
    - STableDataCxt**
    constantsTouched: []
    func_position:
      end: 2299
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2299
    functionName: parseOneStbRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getStbRowValues
    - tNameExtractFullName
    - initTableColSubmitData
    - parseStbBoundInfo
    - getTbnameSchemaIndex
    - tRowGetKey
    - processCtbAutoCreationAndCtbMeta
    - insGetTableDataCxt
    - insCheckTableDataOrder
    - strlen
    - tRowBuild
    - clearStbRowsDataContext
    - initTableColSubmitDataWithBoundInfo
    - taosArrayReserve
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseOneStbRow(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql, SStbRowsDataContext* pStbRowsCxt, bool* pGotRow,
      SToken* pToken, STableDataCxt** ppTableDataCxt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2611,1
    - Dst: tNameAssign
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2615,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2623,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2618,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2616,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2628,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2634,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2640,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2647,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2647,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2654,1
    - Dst: clearStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2660,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2655,1
    - Dst: insInitColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2651,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - pStmt
    - ppStbRowsCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext**
    constantsTouched: []
    func_position:
      end: 2663
      start: 2610
    functionDepth: 0
    functionLinenumber: 2610
    functionLinenumberEnd: 2663
    functionName: constructStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getTableInfo
    - taosMemoryCalloc
    - tNameAssign
    - getNumOfColumns
    - collectUseTable
    - insInitColValues
    - insInitBoundColsInfo
    - clearStbRowsDataContext
    - collectUseDatabase
    - memcpy
    - cloneTableMeta
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t constructStbRowsDataContext(SVnodeModifyOpStmt* pStmt,
      SStbRowsDataContext** ppStbRowsCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:78,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:85,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: skipParentheses
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t skipParentheses(SInsertParseContext* pCxt, const char**
      pSql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: getTbnameSchemaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTbnameSchemaIndex(STableMeta* pTableMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:937,1
    - Dst: rewriteTagCondColumn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:939,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 943
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 943
    functionName: rewriteTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - rewriteTagCondColumn
    - nodeType
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteTagCond(SNode** pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1498,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1509,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1505,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1502,1
    - Dst: insResetBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1511,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1515
    functionName: parseBoundColumnsClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseBoundColumns
    - NEXT_TOKEN_KEEP_SQL
    - insResetBoundColsInfo
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseBoundColumnsClause(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, STableDataCxt* pTableCxt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2668,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2681,1
    - Dst: constructStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2673,1
    - Dst: getNumOfColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2681,1
    - Dst: parseBoundColumns
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2676,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2696,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2700
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2700
    functionName: parseInsertStbClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseBoundColumns
    - getTbnameSchemaIndex
    - constructStbRowsDataContext
    - getNumOfColumns
    - parseDataClause
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertStbClauseBottom(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2304,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2320,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2314,1
    - Dst: NEXT_TOKEN_WITH_PREV_EXT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2312,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2305,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2325,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2330,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2335,1
    - Dst: parseValueToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2340,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2340,1
    - Dst: NEXT_VALID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2345,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2354,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2357,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2347,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2366,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2353,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2358,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 5
    argNames:
    - pCxt
    - pSql
    - pTableCxt
    - pGotRow
    - pToken
    argTypes:
    - SInsertParseContext*
    - char**
    - STableDataCxt*
    - bool*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2369
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2369
    functionName: parseOneRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - clearColValArray
    - NEXT_VALID_TOKEN
    - taosArrayGet
    - taosArrayReserve
    - NEXT_TOKEN_WITH_PREV_EXT
    - getTableInfo
    - parseValueToken
    - tRowGetKey
    - insCheckTableDataOrder
    - tRowBuild
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - getTableColumnExtSchema
    linkageType: ''
    returnType: int
    signature: 'static int parseOneRow(SInsertParseContext* pCxt, const char** pSql,
      STableDataCxt* pTableCxt, bool* pGotRow, SToken* pToken) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: parseTimestampOrInterval
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:326,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:327,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:356,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:382,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:371,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:387,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:392,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:394,1
    - Dst: parseTimestampOrInterval
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:400,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:401,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:405,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:411,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:424,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:417,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:442,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 128
    argCount: 6
    argNames:
    - end
    - pToken
    - timePrec
    - time
    - pMsgBuf
    - tz
    argTypes:
    - char**
    - SToken*
    - int16_t
    - int64_t*
    - SMsgBuf*
    - timezone_t
    constantsTouched: []
    func_position:
      end: 448
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 448
    functionName: parseTime
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tStrGetToken
    - trimString
    - buildSyntaxErrMsg
    - parseTimestampOrInterval
    linkageType: ''
    returnType: int
    signature: 'static int parseTime(const char** end, SToken* pToken, int16_t timePrec,
      int64_t* time, SMsgBuf* pMsgBuf, timezone_t tz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:111,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:113,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:115,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:117,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:124,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:126,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:131,1
    - Dst: skipParentheses
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:133,1
    - Dst: skipTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:138,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 142
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 142
    functionName: ignoreUsingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - skipTableOptions
    - NEXT_TOKEN
    - skipParentheses
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ignoreUsingClause(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1871,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1873,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1875,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1874,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1878
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1878
    functionName: clearColValArray
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void clearColValArray(SArray* pCols) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildInsertUserAuthReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3361,1
    - Dst: buildInsertTableTagReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3365,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3375,1
    - Dst: buildInsertDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3369,1
    - Dst: buildInsertUsingDbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 3378
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3378
    functionName: buildInsertCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildInsertTableTagReq
    - buildInsertUserAuthReq
    - buildInsertUsingDbReq
    - buildInsertDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertCatalogReq(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SCatalogReq* pCatalogReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3383,1
    - Dst: buildInsertCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3387,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SInsertParseContext*
    - SQuery*
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 3395
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3395
    functionName: setNextStageInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildInsertCatalogReq
    - parserDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setNextStageInfo(SInsertParseContext* pCxt, SQuery*
      pQuery, SCatalogReq* pCatalogReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:95,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pSql
    argTypes:
    - SInsertParseContext*
    - char**
    constantsTouched: []
    func_position:
      end: 104
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 104
    functionName: skipTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - NEXT_TOKEN_WITH_PREV
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t skipTableOptions(SInsertParseContext* pCxt, const char**
      pSql) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:198,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:203,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:200,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:209,1
    - Dst: getTbnameSchemaIndex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:207,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:223,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:230,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:232,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:234,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:234,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:270,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:261,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:268,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:264,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:242,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:244,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:249,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:247,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 85
    argCount: 5
    argNames:
    - pCxt
    - pSql
    - boundColsType
    - pTableMeta
    - pBoundInfo
    argTypes:
    - SInsertParseContext*
    - char**
    - EBoundColumnsType
    - STableMeta*
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 273
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 273
    functionName: parseBoundColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getTableTagSchema
    - taosMemoryFree
    - strncpy
    - taosMemoryCalloc
    - getTbnameSchemaIndex
    - strdequote
    - NEXT_TOKEN
    - strlen
    - strcasecmp
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - generateSyntaxErrMsg
    - buildSyntaxErrMsg
    - insFindCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseBoundColumns(SInsertParseContext* pCxt, const
      char** pSql, EBoundColumnsType boundColsType, STableMeta* pTableMeta, SBoundColInfo*
      pBoundInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1329,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1330
    functionName: preParseUsingTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - insCreateSName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t preParseUsingTableName(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertTableClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3246,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3251
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3251
    functionName: parseInsertSqlFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseInsertTableClauseBottom
    - parseInsertBody
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertSqlFromTable(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:279,1
    - Dst: toInteger
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:285,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:286,1
    - Dst: parseAbsoluteDuration
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:291,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:282,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:296,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:299,1
    - Dst: IS_NOW_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:301,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:303,1
    - Dst: IS_TODAY_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:304,1
    - Dst: toIntegerPure
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:307,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:306,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:310,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 8
    argNames:
    - end
    - pToken
    - timePrec
    - ts
    - interval
    - pMsgBuf
    - isTs
    - tz
    argTypes:
    - char**
    - SToken*
    - int16_t
    - int64_t*
    - int64_t*
    - SMsgBuf*
    - bool*
    - timezone_t
    constantsTouched: []
    func_position:
      end: 316
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 316
    functionName: parseTimestampOrInterval
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosGetTimestamp
    - IS_TODAY_STR
    - taosParseTime
    - toIntegerPure
    - parseAbsoluteDuration
    - taosGetTimestampToday
    - buildSyntaxErrMsg
    - IS_NOW_STR
    - toInteger
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTimestampOrInterval(const char** end, SToken*
      pToken, int16_t timePrec, int64_t* ts, int64_t* interval, SMsgBuf* pMsgBuf,
      bool* isTs, timezone_t tz) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1342,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1346,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1346,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1352,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1354,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1354,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1356,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1366,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1376,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1381,1
    - Dst: collectUseDatabase
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1386,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1388,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1383,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - ctbCacheHit
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1392
    functionName: getUsingTableSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tNameExtractFullName
    - taosHashGet
    - collectUseTable
    - strlen
    - collectUseDatabase
    - taosHashPut
    - taosMemoryFreeClear
    - cloneTableMeta
    - getTargetTableVgroup
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getUsingTableSchema(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool* ctbCacheHit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertSqlFromStart
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3255,1
    - Dst: parseInsertSqlFromCsv
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3259,1
    - Dst: parseInsertSqlFromTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3262,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3263
      start: 3253
    functionDepth: 0
    functionLinenumber: 3253
    functionLinenumberEnd: 3263
    functionName: parseInsertSqlImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseInsertSqlFromCsv
    - parseInsertSqlFromTable
    - parseInsertSqlFromStart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertSqlImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:46,1
    - Dst: IS_NULL_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - dataType
    - pToken
    argTypes:
    - int8_t
    - SToken*
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: isNullValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    - IS_NULL_STR
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool isNullValue(int8_t dataType, SToken* pToken) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: catalogGetCachedTableVgMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1256,1
    - Dst: getTargetTableVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1276,1
    - Dst: getTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1270,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pMissCache
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool*
    constantsTouched: []
    func_position:
      end: 1281
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1281
    functionName: getTargetTableMetaAndVgroup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - catalogGetCachedTableVgMeta
    - taosHashPut
    - getTargetTableVgroup
    - getTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTargetTableMetaAndVgroup(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, bool* pMissCache) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3267,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3275,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3272,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3282,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pTables
    argTypes:
    - SName*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3286
      start: 3265
    functionDepth: 0
    functionLinenumber: 3265
    functionLinenumberEnd: 3286
    functionName: buildUsingInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUsingInsertTableReq(SName* pSName, SName* pCName,
      SArray** pTables) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:50,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pToken
    - value
    - endPtr
    argTypes:
    - SToken*
    - double*
    - char**
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: toDouble
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosStr2Double
    - SET_ERRNO
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t toDouble(SToken* pToken, double* value,
      char** endPtr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1285,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1289,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pName
    - pTable
    argTypes:
    - SName*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1290
    functionName: collectUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t collectUseTable(const SName* pName, SHashObj* pTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3289,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3294,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pName
    - pTables
    argTypes:
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3300
      start: 3288
    functionDepth: 0
    functionLinenumber: 3288
    functionLinenumberEnd: 3300
    functionName: buildInsertTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertTableReq(SName* pName, SArray** pTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseUsingClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1555,1
    - Dst: getTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1557,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1563,1
    - Dst: parseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTableCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - STableDataCxt**
    constantsTouched: []
    func_position:
      end: 1566
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1566
    functionName: parseSchemaClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseUsingClauseBottom
    - initTableColSubmitData
    - parseBoundColumnsClause
    - getTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseSchemaClauseBottom(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt, STableDataCxt** pTableCxt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:987,1
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1010,1
    - Dst: buildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1028,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1037,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1038,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1040,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1024,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1045,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:980,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:996,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1044,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1020,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:971,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:992,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1012,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1043,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:981,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1004,1
    - Dst: parseTagValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1015,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1039,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 82
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - autoCreate
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 1047
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1047
    functionName: parseTagsClauseImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildCreateTbReq
    - getTableTagSchema
    - taosArrayDestroy
    - parseTagValue
    - NEXT_TOKEN_WITH_PREV
    - IS_VAR_DATA_TYPE
    - tTagNew
    - checkSubtablePrivilege
    - tTagFree
    - buildInvalidOperationMsg
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - checkAndTrimValue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTagsClauseImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, bool autoCreate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setTagVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:957,1
    - Dst: NODES_DESTORY_NODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:964,1
    - Dst: checkTagCondResult
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:962,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode**
    constantsTouched: []
    func_position:
      end: 966
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 966
    functionName: checkSubtablePrivilege
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - checkTagCondResult
    - NODES_DESTORY_NODE
    - scalarCalculateConstants
    - setTagVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkSubtablePrivilege(SArray* pTagVals, SArray* pTagName,
      SNode** pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3304,1
    - Dst: buildUsingInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3315,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3316,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3313,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3312,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pSName
    - pCName
    - pDbs
    argTypes:
    - SName*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3320
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3320
    functionName: buildInsertUsingDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildUsingInsertTableReq
    - taosArrayPush
    - tNameGetFullDbName
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertUsingDbReq(SName* pSName, SName* pCName,
      SArray** pDbs) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:846,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:852,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:892,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:891,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:887,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:892,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 40
    argCount: 2
    argNames:
    - pVal
    - pNode
    argTypes:
    - STagVal*
    - SNode**
    constantsTouched: []
    func_position:
      end: 922
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 922
    functionName: rewriteTagCondColumnImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - nodesDestroyNode
    - varDataVal
    - varDataSetLen
    - memcpy
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteTagCondColumnImpl(STagVal* pVal, SNode** pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3324,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3331,1
    - Dst: buildInsertTableReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3333,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pName
    - pDbs
    argTypes:
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3338
      start: 3322
    functionDepth: 0
    functionLinenumber: 3322
    functionLinenumberEnd: 3338
    functionName: buildInsertDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - buildInsertTableReq
    - taosArrayPush
    - tNameGetFullDbName
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildInsertDbReq(SName* pName, SArray** pDbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1158,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pTbName
    - pInfo
    argTypes:
    - SParseContext*
    - SName*
    - SUserAuthInfo*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1161
    functionName: setUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - memcpy
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void setUserAuthInfo(SParseContext* pCxt, SName* pTbName, SUserAuthInfo*
      pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1166,1
    - Dst: catalogChkAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1170,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pTbName
    - pMissCache
    - pTagCond
    argTypes:
    - SParseContext*
    - SName*
    - bool*
    - SNode**
    constantsTouched: []
    func_position:
      end: 1188
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1188
    functionName: checkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - setUserAuthInfo
    - catalogChkAuth
    - catalogChkAuthFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAuth(SParseContext* pCxt, SName* pTbName, bool*
      pMissCache, SNode** pTagCond) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN_KEEP_SQL
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1102,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1109,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1107,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1111,1
    - Dst: NEXT_TOKEN_WITH_PREV
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1105,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1115,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1117,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1120,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1122,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1123,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1133
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1133
    functionName: parseTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN_KEEP_SQL
    - taosStrndup
    - NEXT_TOKEN_WITH_PREV
    - NEXT_TOKEN
    - trimString
    - taosStr2Int32
    - buildSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTableOptions(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2097,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2098,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2122,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2116,1
    - Dst: doGetStbRowValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2108,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2125,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2125,1
    - Dst: processCtbTagsAfterCtbName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2135,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 33
    argCount: 9
    argNames:
    - pCxt
    - pStmt
    - ppSql
    - pStbRowsCxt
    - pGotRow
    - pToken
    - pCtbFirst
    - setCtbName
    - ctbCols
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - char**
    - SStbRowsDataContext*
    - bool*
    - SToken*
    - bool*
    - bool*
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2142
    functionName: getStbRowValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - doGetStbRowValues
    - taosHashGet
    - strlen
    - processCtbTagsAfterCtbName
    - getTableColumnSchema
    - buildSyntaxErrMsg
    - getTableColumnExtSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getStbRowValues(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, const char** ppSql, SStbRowsDataContext* pStbRowsCxt, bool* pGotRow,
      SToken* pToken, bool* pCtbFirst, bool* setCtbName, SBoundColInfo* ctbCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2193,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2194,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2195,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2196,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2197,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2200,1
    - Dst: clearColValArray
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2202,1
    - Dst: tTagFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2204,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2206,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pStbRowsCxt
    argTypes:
    - SStbRowsDataContext*
    constantsTouched: []
    func_position:
      end: 2208
      start: 2190
    functionDepth: 0
    functionLinenumber: 2190
    functionLinenumberEnd: 2208
    functionName: clearStbRowsDataContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - clearColValArray
    - taosArrayGet
    - tTagFree
    - tdDestroySVCreateTbReq
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void clearStbRowsDataContext(SStbRowsDataContext* pStbRowsCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2833,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2844,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2837,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2848
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2848
    functionName: setStmtInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setStmtInfo(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2972,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2979,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2976,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pUsers
    - pTagCond
    argTypes:
    - SArray*
    - SNode**
    constantsTouched: []
    func_position:
      end: 2985
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2985
    functionName: checkAuthFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - nodesCloneNode
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAuthFromMetaData(const SArray* pUsers, SNode**
      pTagCond) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: preParseTargetTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1573,1
    - Dst: preParseBoundColumnsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1576,1
    - Dst: parseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pTbName
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1583
    functionName: parseSchemaClauseTop
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseUsingTableName
    - preParseBoundColumnsClause
    - preParseTargetTableName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseSchemaClauseTop(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SToken* pTbName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2148,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2153,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2168,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2161,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2155,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2171,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2175,1
    - Dst: cloneTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2178,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2181,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2181,1
    - Dst: collectUseTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2184,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pStbRowsCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    constantsTouched: []
    func_position:
      end: 2188
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2188
    functionName: processCtbAutoCreationAndCtbMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - taosMemoryCalloc
    - taosHashGetSize
    - collectUseTable
    - strlen
    - getNumOfTags
    - insBuildCreateTbReq
    - catalogGetTableHashVgroup
    - taosHashPut
    - cloneTableMeta
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processCtbAutoCreationAndCtbMeta(SInsertParseContext*
      pCxt, SVnodeModifyOpStmt* pStmt, SStbRowsDataContext* pStbRowsCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2213,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2221,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2227,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2221,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2230,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2234,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pStmt
    - pStbRowsCxt
    - ppTableDataCxt
    argTypes:
    - SVnodeModifyOpStmt*
    - SStbRowsDataContext*
    - STableDataCxt**
    constantsTouched: []
    func_position:
      end: 2237
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2237
    functionName: parseStbBoundInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - taosMemoryCalloc
    - insGetTableDataCxt
    - strlen
    - insDestroyBoundColInfo
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseStbBoundInfo(SVnodeModifyOpStmt* pStmt, SStbRowsDataContext*
      pStbRowsCxt, STableDataCxt** ppTableDataCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2851,1
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2869,1
    - Dst: setStmtInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2852,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2862,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2872,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2879
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2879
    functionName: parseInsertBodyBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - insMergeTableDataCxt
    - TSDB_QUERY_HAS_TYPE
    - setStmtInfo
    - taosHashClear
    - taosHashGetSize
    - insBuildVgDataBlocks
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertBodyBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2988,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2995,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2993,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - pTables
    - pMeta
    argTypes:
    - SArray*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 3001
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 3001
    functionName: getTableMetaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - tableMetaDup
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableMetaFromMetaData(const SArray* pTables, STableMeta**
      pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: initInsertQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3406,1
    - Dst: setRefreshMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3415,1
    - Dst: parseInsertSqlImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3408,1
    - Dst: setNextStageInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3411,1
    - Dst: NEED_CLIENT_HANDLE_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3413,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3418,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    - pMetaData
    argTypes:
    - SParseContext*
    - SQuery**
    - SCatalogReq*
    - SMetaData*
    constantsTouched: []
    func_position:
      end: 3424
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3424
    functionName: parseInsertSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - initInsertQuery
    - setNextStageInfo
    - setRefreshMeta
    - insDestroyBoundColInfo
    - parseInsertSqlImpl
    - NEED_CLIENT_HANDLE_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseInsertSql(SParseContext* pCxt, SQuery** pQuery, SCatalogReq*
      pCatalogReq, const SMetaData* pMetaData) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:479,1
    - Dst: taosHex2Ascii
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:486,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:497,1
    - Dst: isValidateHex
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:491,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:499,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - pToken
    - pData
    - nData
    - bytes
    argTypes:
    - SToken*
    - uint8_t**
    - uint32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 507
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 507
    functionName: parseVarbinary
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosHex2Ascii
    - trimString
    - isHex
    - isValidateHex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseVarbinary(SToken* pToken, uint8_t** pData, uint32_t*
      nData, int32_t bytes) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1595,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1618,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1666,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1667,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1672,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1663,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1754,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1740,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1629,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1638,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1679,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1689,1
    - Dst: decimal64FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1830,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1769,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1663,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1691,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1672,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1618,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1691,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1679,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1704,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1597,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1606,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1605,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1611,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1742,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1775,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1777,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1596,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1609,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1681,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1802,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1796,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1621,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1639,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1640,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1704,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1707,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1735,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1745,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1746,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1756,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1794,1
    - Dst: decimal128ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1816,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1695,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1745,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1786,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1760,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1674,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1665,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1645,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1700,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1649,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1648,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1654,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1595,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1593,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1620,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1602,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1603,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1657,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1715,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1739,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1599,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1610,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1613,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1627,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1645,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1726,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1724,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1654,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1741,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1745,1
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1592,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1630,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1631,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1636,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1647,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1656,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1713,1
    - Dst: decimal128FromStr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1808,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1828,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1622,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1687,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1591,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1621,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1627,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1636,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1719,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1771,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1781,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1702,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1806,1
    - Dst: decimal64ToDataVal
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1834,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1658,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1705,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1590,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1657,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1692,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1794,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1824,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1639,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1609,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 256
    argCount: 7
    argNames:
    - pCxt
    - pSql
    - pToken
    - pSchema
    - pExtSchema
    - timePrec
    - pVal
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SSchema*
    - SSchemaExt*
    - int16_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 1846
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1846
    functionName: parseValueTokenImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - geosFreeBuffer
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - getGeosErrMsg
    - VALUE_GET_TRIVIAL_DATUM
    - taosStr2Int64
    - IS_VALID_TINYINT
    - generateSyntaxErrMsg
    - IS_TRUE_STR
    - taosMemoryMalloc
    - isinf
    - taosStr2Double
    - toDoubleEx
    - IS_VALID_INT
    - strerror
    - parseTime
    - toIntegerEx
    - memcpy
    - decimal64ToDataVal
    - IS_FALSE_STR
    - tListLen
    - decimalFromTypeMod
    - decimal64FromStr
    - decimal128ToDataVal
    - parseGeometry
    - qError
    - toUIntegerEx
    - decimal128FromStr
    - buildSyntaxErrMsg
    - snprintf
    - parseVarbinary
    - isnan
    - taosMbsToUcs4
    - IS_VALID_SMALLINT
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseValueTokenImpl(SInsertParseContext* pCxt, const
      char** pSql, SToken* pToken, SSchema* pSchema, const SSchemaExt* pExtSchema,
      int16_t timePrec, SColVal* pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3004,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3008,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3017,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pTables
    - pStmt
    - isStb
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 3019
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3019
    functionName: addTableVgroupFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addTableVgroupFromMetaData(const SArray* pTables, SVnodeModifyOpStmt*
      pStmt, bool isStb) '
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: IS_FALSE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:535,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:581,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:601,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:605,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:614,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:616,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:634,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:642,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:646,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:647,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:660,1
    - Dst: parseVarbinary
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:680,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:721,1
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:517,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:519,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:543,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:547,1
    - Dst: IS_VALID_TINYINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:559,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:568,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:603,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:623,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:644,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:670,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:695,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:659,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:659,1
    - Dst: geosFreeBuffer
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:706,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:720,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:646,1
    - Dst: getGeosErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:692,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:724,1
    - Dst: IS_TRUE_STR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:533,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:540,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:550,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:556,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:560,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:570,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:572,1
    - Dst: IS_VALID_SMALLINT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:582,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:590,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:625,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:701,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:719,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:655,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:697,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:657,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:724,1
    - Dst: toDoubleEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:537,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:545,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:558,1
    - Dst: toIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:579,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:583,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:592,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:594,1
    - Dst: IS_VALID_INT
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:604,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:612,1
    - Dst: toUIntegerEx
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:632,1
    - Dst: parseGeometry
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:690,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:692,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:714,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:718,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:724,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:672,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:726,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:725,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:682,1
    - Dst: parseTime
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:733,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 234
    argCount: 8
    argNames:
    - end
    - pToken
    - pSchema
    - timePrec
    - val
    - pMsgBuf
    - tz
    - charsetCxt
    argTypes:
    - char**
    - SToken*
    - SSchema*
    - int16_t
    - STagVal*
    - SMsgBuf*
    - timezone_t
    - void*
    constantsTouched: []
    func_position:
      end: 743
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 743
    functionName: parseTagToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - geosFreeBuffer
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - getGeosErrMsg
    - taosStr2Int64
    - IS_VALID_TINYINT
    - generateSyntaxErrMsg
    - IS_TRUE_STR
    - taosMemoryMalloc
    - isinf
    - taosStr2Double
    - toDoubleEx
    - IS_VALID_INT
    - strerror
    - parseTime
    - toIntegerEx
    - memcpy
    - IS_FALSE_STR
    - tListLen
    - parseGeometry
    - toUIntegerEx
    - isNullValue
    - buildSyntaxErrMsg
    - snprintf
    - parseVarbinary
    - isnan
    - taosStrdup
    - taosMbsToUcs4
    - IS_VALID_SMALLINT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTagToken(const char** end, SToken* pToken, SSchema*
      pSchema, int16_t timePrec, STagVal* val, SMsgBuf* pMsgBuf, timezone_t tz, void
      *charsetCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: checkAndTrimValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1850,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1853,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1862,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1861,1
    - Dst: isNullValue
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1851,1
    - Dst: parseValueTokenImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1864,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 7
    argNames:
    - pCxt
    - pSql
    - pToken
    - pSchema
    - pExtSchema
    - timePrec
    - pVal
    argTypes:
    - SInsertParseContext*
    - char**
    - SToken*
    - SSchema*
    - SSchemaExt*
    - int16_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 1868
      start: 1848
    functionDepth: 0
    functionLinenumber: 1848
    functionLinenumberEnd: 1868
    functionName: parseValueToken
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - IS_NUMERIC_TYPE
    - parseValueTokenImpl
    - isNullValue
    - buildSyntaxErrMsg
    - checkAndTrimValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseValueToken(SInsertParseContext* pCxt, const char**
      pSql, SToken* pToken, SSchema* pSchema, const SSchemaExt* pExtSchema, int16_t
      timePrec, SColVal* pVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3022,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3031,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pTagName
    argTypes:
    - STableMeta*
    - SArray**
    constantsTouched: []
    func_position:
      end: 3037
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3037
    functionName: buildTagNameFromMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - getTableTagSchema
    - taosArrayPush
    - taosArrayInit
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTagNameFromMeta(STableMeta* pMeta, SArray** pTagName) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLineFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2437,1
    - Dst: parseOneRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2453,1
    - Dst: parseOneStbRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2457,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2461,1
    - Dst: strtolower
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2486,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2488,1
    - Dst: TSDB_QUERY_HAS_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2491,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2492,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 4
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    - pNumOfRows
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2495
    functionName: parseCsvFile
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TSDB_QUERY_HAS_TYPE
    - strtolower
    - parseOneRow
    - parserDebug
    - taosHashPut
    - buildSyntaxErrMsg
    - taosGetLineFile
    - parseOneStbRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseCsvFile(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt, int32_t* pNumOfRows) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2501,1
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2511,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2516,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2501,1
    - Dst: parseCsvFile
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2507,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2518,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2521,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2524,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2527,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2527,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - rowsDataCxt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    - SRowsDataContext
    constantsTouched: []
    func_position:
      end: 2538
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2538
    functionName: parseDataFromFileImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosCloseFile
    - TSDB_QUERY_SET_TYPE
    - parserWarn
    - tstrerror
    - parserDebug
    - buildInvalidOperationMsg
    - taosHashPut
    - taosGetDefaultHashFunction
    - buildSyntaxErrMsg
    - parseCsvFile
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseDataFromFileImpl(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt, SRowsDataContext rowsDataCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parseBoundTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1146,1
    - Dst: parseTableOptions
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1151,1
    - Dst: parseTagsClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1155
    functionName: parseUsingClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseTagsClause
    - parseBoundTagsClause
    - parseTableOptions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseUsingClauseBottom(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pTagVals
    - pTagName
    - pCond
    argTypes:
    - SArray*
    - SArray*
    - SNode*
    constantsTouched: []
    func_position:
      end: 949
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 949
    functionName: setTagVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - nodesRewriteExpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTagVal(SArray* pTagVals, SArray* pTagName, SNode*
      pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3040,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3044,1
    - Dst: checkSubtablePrivilege
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3052,1
    - Dst: buildTagNameFromMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3050,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pTables
    - pStmt
    argTypes:
    - SArray*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3056
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3056
    functionName: checkSubtablePrivilegeForTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - buildTagNameFromMeta
    - taosArrayDestroy
    - checkSubtablePrivilege
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkSubtablePrivilegeForTable(const SArray* pTables,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pResult
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: checkTagCondResult
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTagCondResult(SNode* pResult) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3062,1
    - Dst: checkSubtablePrivilegeForTable
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3071,1
    - Dst: addTableVgroupFromMetaData
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3068,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3065,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pMetaData
    - pStmt
    - isStb
    argTypes:
    - SInsertParseContext*
    - SMetaData*
    - SVnodeModifyOpStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 3074
      start: 3058
    functionDepth: 0
    functionLinenumber: 3058
    functionLinenumberEnd: 3074
    functionName: processTableSchemaFromMetaData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - checkSubtablePrivilegeForTable
    - addTableVgroupFromMetaData
    - storeChildTableMeta
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processTableSchemaFromMetaData(SInsertParseContext*
      pCxt, const SMetaData* pMetaData, SVnodeModifyOpStmt* pStmt, bool isStb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1396,1
    - Dst: storeChildTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1407,1
    - Dst: preParseUsingTableName
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1398,1
    - Dst: getUsingTableSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1400,1
    - Dst: ignoreUsingClauseAndCheckTagValues
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:1403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 1410
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1410
    functionName: parseUsingTableNameImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - NEXT_TOKEN
    - storeChildTableMeta
    - getUsingTableSchema
    - ignoreUsingClauseAndCheckTagValues
    - preParseUsingTableName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseUsingTableNameImpl(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseSchemaClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2708,1
    - Dst: parseInsertStbClauseBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2716,1
    - Dst: parseDataClause
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2719
      start: 2705
    functionDepth: 0
    functionLinenumber: 2705
    functionLinenumberEnd: 2719
    functionName: parseInsertTableClauseBottom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseDataClause
    - parseInsertStbClauseBottom
    - parseSchemaClauseBottom
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertTableClauseBottom(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_QUERY_SET_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2916,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2925,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2934,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2935,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2937,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2936,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2925,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2928,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2931,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2944,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2928,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2931,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2940,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2910,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2934,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2936,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2945,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2935,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2937,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - reentry
    - pOutput
    argTypes:
    - SInsertParseContext*
    - bool
    - SNode**
    constantsTouched: []
    func_position:
      end: 2949
      start: 2908
    functionDepth: 0
    functionLinenumber: 2908
    functionLinenumberEnd: 2949
    functionName: createVnodeModifOpStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - TSDB_QUERY_SET_TYPE
    - nodesDestroyNode
    - taosGetDefaultHashFunction
    - nodesMakeNode
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVnodeModifOpStmt(SInsertParseContext* pCxt, bool
      reentry, SNode** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skipInsertInto
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3212,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3217
      start: 3211
    functionDepth: 0
    functionLinenumber: 3211
    functionLinenumberEnd: 3217
    functionName: parseInsertSqlFromStart
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - skipInsertInto
    - parseInsertBody
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertSqlFromStart(SInsertParseContext* pCxt,
      SVnodeModifyOpStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2722,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2726,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2725,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2723,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2724,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2727,1
    - Dst: destroyStbRowsDataContext
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 2738
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2738
    functionName: resetEnvPreTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - destroyStbRowsDataContext
    - nodesDestroyNode
    - insDestroyBoundColInfo
    - tdDestroySVCreateTbReq
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void resetEnvPreTable(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2953,1
    - Dst: createVnodeModifOpStmt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2962,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:2966,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pOutput
    argTypes:
    - SInsertParseContext*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 2969
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2969
    functionName: createInsertQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - createVnodeModifOpStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createInsertQuery(SInsertParseContext* pCxt, SQuery**
      pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3225,1
    - Dst: parseInsertBodyBottom
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3236,1
    - Dst: parseDataFromFileImpl
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3231,1
    - Dst: parseInsertBody
      Src: /src/tdengine/source/libs/parser/src/parInsertSql.c:3238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SInsertParseContext*
    - SVnodeModifyOpStmt*
    constantsTouched: []
    func_position:
      end: 3243
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3243
    functionName: parseInsertSqlFromCsv
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSql.c
    functionUses: []
    functionsReached:
    - parseInsertBody
    - parseInsertBodyBottom
    - parseDataFromFileImpl
    - getTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseInsertSqlFromCsv(SInsertParseContext* pCxt, SVnodeModifyOpStmt*
      pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:730,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:739,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:737,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:730,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:734,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:740,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:741,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:742,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 750
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 750
    functionName: buildDbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strncpy
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDbReq(SHashObj* pDbsHash, SArray** pDbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:904,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:904,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - pKey
    - len
    - pData
    - index
    - pHash
    argTypes:
    - char*
    - int32_t
    - SArray*
    - int32_t
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 911
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 911
    functionName: putMetaDataToHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosArrayGet
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putMetaDataToHash(const char* pKey, int32_t len, const
      SArray* pData, int32_t index, SHashObj** pHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1261
      start: 1259
    functionDepth: 0
    functionLinenumber: 1259
    functionLinenumberEnd: 1261
    functionName: reserveDbVgVersionInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveDbVgVersionInCache(int32_t acctId, const char* pDb,
      SParseMetaCache* pMetaCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1384,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1392,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1397
    functionName: reserveVSubTableInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - toName
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveVSubTableInCache(int32_t acctId, const char* pDb, const
      char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:755,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:763,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:760,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:755,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:766,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:771,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:772,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:776,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pDbsHash
    - pDbs
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 780
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 780
    functionName: buildTableReqFromDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - buildTableReq
    - taosHashIterate
    - tstrncpy
    - taosHashGetSize
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTableReqFromDb(SHashObj* pDbsHash, SArray** pDbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:914,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 4
    argNames:
    - pKey
    - len
    - pHash
    - pOutput
    argTypes:
    - char*
    - int32_t
    - SHashObj*
    - void**
    constantsTouched: []
    func_position:
      end: 922
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 922
    functionName: getMetaDataFromHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getMetaDataFromHash(const char* pKey, int32_t len, SHashObj*
      pHash, void** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1266,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1266,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1269,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 6
    argNames:
    - pMetaCache
    - pDbFName
    - pVersion
    - pDbId
    - pTableNum
    - pStateTs
    argTypes:
    - SParseMetaCache*
    - char*
    - int32_t*
    - int64_t*
    - int32_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1274
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1274
    functionName: getDbVgVersionFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosSetInt64Aligned
    - strlen
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDbVgVersionFromCache(SParseMetaCache* pMetaCache, const
      char* pDbFName, int32_t* pVersion, int64_t* pDbId, int32_t* pTableNum, int64_t*
      pStateTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1403,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1407,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1410,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1406,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1410,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1418
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1418
    functionName: reserveVStbRefDbsInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - toName
    - qError
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveVStbRefDbsInCache(int32_t acctId, const char* pDb,
      const char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pTableMeta
    - colIndex
    argTypes:
    - STableMeta*
    - int32_t
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: getOneColumnSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSchema*
    signature: 'static SSchema * getOneColumnSchema(const STableMeta* pTableMeta,
      int32_t colIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 324
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 324
    functionName: getTableInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STableComInfo
    signature: 'STableComInfo getTableInfo(const STableMeta* pTableMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getOneColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:314,1
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: getTableTagSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getTableInfo
    - getOneColumnSchema
    linkageType: ''
    returnType: SSchema*
    signature: 'SSchema * getTableTagSchema(const STableMeta* pTableMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pTable
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: getTableTypeFromTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableTypeFromTableNode(SNode* pTable) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:416,1
    - Dst: isprint
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: isValidateTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - isprint
    linkageType: ''
    returnType: bool
    signature: 'static bool isValidateTag(char* input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 7
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pStr
    - isView
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 622
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 622
    functionName: userAuthToString
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t userAuthToString(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable, AUTH_TYPE type, char* pStr, bool isView) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:432,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:450,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:458,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:459,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:474,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:480,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:495,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:496,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:498,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:499,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:535,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:438,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:450,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:456,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:489,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:507,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:508,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:519,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:533,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:534,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:432,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:440,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:444,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:445,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:446,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:468,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:488,1
    - Dst: isfinite
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:506,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:522,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:531,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:539,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:470,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:471,1
    - Dst: isValidateTag
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:464,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:500,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:529,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:536,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 120
    argCount: 5
    argNames:
    - json
    - pTagVals
    - ppTag
    - pMsgBuf
    - charsetCxt
    argTypes:
    - char*
    - SArray*
    - STag**
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 541
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 541
    functionName: parseJsontoTagData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cJSON_Delete
    - taosMemoryCalloc
    - cJSON_GetArraySize
    - isfinite
    - uError
    - cJSON_GetArrayItem
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosHashInit
    - taosHashCleanup
    - strerror
    - strcasecmp
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosArrayGet
    - cJSON_Parse
    - isValidateTag
    - taosHashGet
    - cJSON_IsObject
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - strtrim
    - tTagNew
    - strlen
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseJsontoTagData(const char* json, SArray* pTagVals, STag**
      ppTag, void* pMsgBuf, void *charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:625,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:631,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:628,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pStart
    - pNext
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 635
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 635
    functionName: getIntegerFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strchr
    - taosStr2Int32
    - strncpy
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getIntegerFromAuthStr(const char* pStart, char** pNext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1164,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1169,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1169,1
    - Dst: buildTableMetaFromViewMeta
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1174
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1174
    functionName: getViewMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - strlen
    - buildTableMetaFromViewMeta
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getViewMetaFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableMeta** pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1092
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1092
    functionName: reserveTableMetaInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableMetaInCache(int32_t acctId, const char* pDb, const
      char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 108
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 110
    EdgeCount: 110
    ICount: 2
    argCount: 1
    argNames:
    - errCode
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 245
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 245
    functionName: getSyntaxErrFormat
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char * getSyntaxErrFormat(int32_t errCode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:952,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:959,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:956,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:955,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:959,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:963,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:963,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - pDbReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 970
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 970
    functionName: putDbTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - taosArrayGet
    - putMetaDataToHash
    - strlen
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putDbTableDataToCache(const SArray* pDbReq, const SArray*
      pTableData, SHashObj** pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1066,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1069,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pDbs
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1072
    functionName: reserveTableReqInDbCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInCache
    - tsnprintf
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveTableReqInDbCacheImpl(int32_t acctId, const
      char* pDb, const char* pTable, SHashObj* pDbs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1215,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1220,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1220,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1225
    functionName: getTableVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - strlen
    - memcpy
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableVgroupFromCache(SParseMetaCache* pMetaCache, const
      SName* pName, SVgroupInfo* pVgroup) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1229,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1233,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1242,1
    - Dst: strstr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1235,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1238,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1244,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1248,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1249,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1251,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pVgroup
    argTypes:
    - SParseMetaCache*
    - SName*
    - SVgroupInfo*
    constantsTouched: []
    func_position:
      end: 1257
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1257
    functionName: getDbTableVgroupFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - tNameExtractFullName
    - taosArraySearch
    - strstr
    - strlen
    - memcpy
    - taosGetTbHashVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDbTableVgroupFromCache(SParseMetaCache* pMetaCache, const
      SName* pName, SVgroupInfo* pVgroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1178,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1184,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1178,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pDbs
    argTypes:
    - int32_t
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1186
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1186
    functionName: reserveDbReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - tsnprintf
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveDbReqInCache(int32_t acctId, const char* pDb,
      SHashObj** pDbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:249,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:250,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:251,1
    - Dst: getSyntaxErrFormat
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pBuf
    - errCode
    - '...'
    argTypes:
    - SMsgBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: generateSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getSyntaxErrFormat
    - vsnprintf
    - va_end
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateSyntaxErrMsg(SMsgBuf* pBuf, int32_t errCode, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:973,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:979,1
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:977,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:975,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pUserAuthReq
    - pUserAuthData
    - pUserAuth
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 984
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 984
    functionName: putUserAuthToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - userAuthToString
    - putMetaDataToHash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putUserAuthToCache(const SArray* pUserAuthReq, const
      SArray* pUserAuthData, SHashObj** pUserAuth) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1076,1
    - Dst: reserveTableReqInDbCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1085,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1082,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1076,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1083,1
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1087,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pDbs
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: reserveTableReqInDbCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - reserveTableReqInDbCacheImpl
    - reserveTableReqInCache
    - taosGetDefaultHashFunction
    - tsnprintf
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveTableReqInDbCache(int32_t acctId, const char*
      pDb, const char* pTable, SHashObj** pDbs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1096
    functionName: reserveTableMetaInCacheExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableMetaInCacheExt(const SName* pName, SParseMetaCache*
      pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1190
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1190
    functionName: reserveDbVgInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveDbVgInfoInCache(int32_t acctId, const char* pDb, SParseMetaCache*
      pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: reserveTableVgroupInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableVgroupInCache(int32_t acctId, const char* pDb,
      const char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1376
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1376
    functionName: reserveTableTSMAInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableTSMAInfoInCache(int32_t acctId, const char* pDb,
      const char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1194,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1194,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pVgInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1203
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1203
    functionName: getDbVgInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - getMetaDataFromHash
    - taosArrayDup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDbVgInfoFromCache(SParseMetaCache* pMetaCache, const char*
      pDbFName, SArray** pVgInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pName
    - pMetaCache
    argTypes:
    - SName*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1211
    functionName: reserveTableVgroupInCacheExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableVgroupInCacheExt(const SName* pName, SParseMetaCache*
      pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTsmaName
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1380
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1380
    functionName: reserveTSMAInfoInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTSMAInfoInCache(int32_t acctId, const char* pDb, const
      char* pTsmaName, SParseMetaCache* pMetaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1620,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pType
    argTypes:
    - SDataType*
    constantsTouched: []
    func_position:
      end: 1624
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1624
    functionName: calcTypeMod
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: 'STypeMod calcTypeMod(const SDataType* pType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveDbReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - acctId
    - pDb
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1278
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1278
    functionName: reserveDbCfgInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveDbReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveDbCfgInCache(int32_t acctId, const char* pDb, SParseMetaCache*
      pMetaCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1536,1
    - Dst: tableCfgDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1543,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1541,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pOutput
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableCfg**
    constantsTouched: []
    func_position:
      end: 1549
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1549
    functionName: getTableCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    - tableCfgDup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableCfgFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableCfg** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1584,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1581,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1583,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1582,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1587,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1588,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1589,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1590,1
    - Dst: destoryParseTablesMetaReqHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1580,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1586,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1592,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1595,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1599,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1597,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1594,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1598,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1596,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1593,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1601,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1600,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pMetaCache
    - request
    argTypes:
    - SParseMetaCache*
    - bool
    constantsTouched: []
    func_position:
      end: 1602
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1602
    functionName: destoryParseMetaCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - destoryParseTablesMetaReqHash
    - taosArrayDestroyEx
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destoryParseMetaCache(SParseMetaCache* pMetaCache, bool request) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1282,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1282,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1284,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pMetaCache
    - pDbFName
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SDbCfgInfo*
    constantsTouched: []
    func_position:
      end: 1287
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1287
    functionName: getDbCfgFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDbCfgFromCache(SParseMetaCache* pMetaCache, const char*
      pDbFName, SDbCfgInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMetaCache
    argTypes:
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1554
    functionName: reserveDnodeRequiredInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveDnodeRequiredInCache(SParseMetaCache* pMetaCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1617
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1617
    functionName: int64SafeSub
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t int64SafeSub(int64_t a, int64_t b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1327,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1332,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1332,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pFunc
    - pMetaCache
    argTypes:
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: reserveUdfInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - strlen
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveUdfInCache(const char* pFunc, SParseMetaCache* pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:273,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:274,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pBuf
    - pFormat
    - '...'
    argTypes:
    - SMsgBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: buildInvalidOperationMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildInvalidOperationMsgExt(SMsgBuf* pBuf, const char* pFormat,
      ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:638,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:650,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:645,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:643,1
    - Dst: qWarn
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:640,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:650,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pStart
    - pStr
    - dstLen
    - pNext
    argTypes:
    - char*
    - char*
    - uint32_t
    - char**
    constantsTouched: []
    func_position:
      end: 659
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 659
    functionName: getBackQuotedStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strchr
    - qWarn
    - TMIN
    - strncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBackQuotedStringFromAuthStr(const char* pStart,
      char* pStr, uint32_t dstLen, char** pNext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:677,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:680,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:679,1
    - Dst: getBackQuotedStringFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:683,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:691,1
    - Dst: getIntegerFromAuthStr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:692,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pStr
    - len
    - pUserAuth
    argTypes:
    - char*
    - int32_t
    - SUserAuthInfo*
    constantsTouched: []
    func_position:
      end: 695
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 695
    functionName: stringToUserAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getIntegerFromAuthStr
    - getBackQuotedStringFromAuthStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stringToUserAuth(const char* pStr, int32_t len, SUserAuthInfo*
      pUserAuth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1291,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1291,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pKey
    - len
    - pMetaCache
    argTypes:
    - char*
    - int32_t
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1297
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1297
    functionName: reserveUserAuthInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveUserAuthInCacheImpl(const char* pKey, int32_t
      len, SParseMetaCache* pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1302,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1299
    functionDepth: 0
    functionLinenumber: 1299
    functionLinenumberEnd: 1304
    functionName: reserveUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable, AUTH_TYPE type, SParseMetaCache* pMetaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1337,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1339,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1337,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pMetaCache
    - pFunc
    - pInfo
    argTypes:
    - SParseMetaCache*
    - char*
    - SFuncInfo*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1335
    functionDepth: 0
    functionLinenumber: 1335
    functionLinenumberEnd: 1342
    functionName: getUdfInfoFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - getMetaDataFromHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getUdfInfoFromCache(SParseMetaCache* pMetaCache, const char*
      pFunc, SFuncInfo* pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:287,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:292,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:297,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:295,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:292,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:297,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:298,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - pBuf
    - additionalInfo
    - sourceStr
    argTypes:
    - SMsgBuf*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: buildSyntaxErrMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - strncmp
    - tstrncpy
    - strlen
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSyntaxErrMsg(SMsgBuf* pBuf, const char* additionalInfo,
      const char* sourceStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:662,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:667,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:664,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pStart
    - pStr
    - dstLen
    - pNext
    argTypes:
    - char*
    - char*
    - uint32_t
    - char**
    constantsTouched: []
    func_position:
      end: 673
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 673
    functionName: getStringFromAuthStr
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strchr
    - strncpy
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void getStringFromAuthStr(const char* pStart, char* pStr, uint32_t
      dstLen, char** pNext) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:699,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:703,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:706,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:708,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:699,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:712,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:717,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:718,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:722,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pTablesHash
    - pTables
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 726
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 726
    functionName: buildTableReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strncpy
    - taosArrayDestroy
    - taosHashIterate
    - tNameFromString
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildTableReq(SHashObj* pTablesHash, SArray** pTables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1368
    functionName: reserveTableIndexInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableIndexInCache(int32_t acctId, const char* pDb,
      const char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1422,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1426,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1426,1
    - Dst: smaIndexesDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pIndexes
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1434
      start: 1420
    functionDepth: 0
    functionLinenumber: 1420
    functionLinenumberEnd: 1434
    functionName: getTableIndexFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - smaIndexesDup
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableIndexFromCache(SParseMetaCache* pMetaCache, const
      SName* pName, SArray** pIndexes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1371,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1372
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1372
    functionName: reserveTableCfgInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableCfgInCache(int32_t acctId, const char* pDb, const
      char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1438,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1443,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - pMetaCache
    - pTbName
    - pTsmas
    argTypes:
    - SParseMetaCache*
    - SName*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1448
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1448
    functionName: getTableTsmasFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableTsmasFromCache(SParseMetaCache* pMetaCache, const
      SName* pTbName, SArray** pTsmas) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:925,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:932,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:928,1
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:928,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:932,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pTableReq
    - pTableData
    - pTable
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 937
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 937
    functionName: putTableDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - tNameExtractFullName
    - putMetaDataToHash
    - taosArrayGet
    - strlen
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putTableDataToCache(const SArray* pTableReq, const
      SArray* pTableData, SHashObj** pTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:987,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:990,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:989,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:990,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pUdfReq
    - pUdfData
    - pUdf
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 995
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 995
    functionName: putUdfToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - taosArrayGetSize
    - taosArrayGet
    - putMetaDataToHash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putUdfToCache(const SArray* pUdfReq, const SArray*
      pUdfData, SHashObj** pUdf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1557,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pMetaCache
    - pDnodes
    argTypes:
    - SParseMetaCache*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1567
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1567
    functionName: getDnodeListFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDnodeListFromCache(SParseMetaCache* pMetaCache, SArray**
      pDnodes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:940,1
    - Dst: putMetaDataToHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:943,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:942,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pDbReq
    - pDbData
    - pDb
    argTypes:
    - SArray*
    - SArray*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 948
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 948
    functionName: putDbDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strlen
    - taosArrayGetSize
    - taosArrayGet
    - putMetaDataToHash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t putDbDataToCache(const SArray* pDbReq, const SArray*
      pDbData, SHashObj** pDb) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:998,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1009,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1000,1
    - Dst: putDbDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1006,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1003,1
    - Dst: putUserAuthToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1012,1
    - Dst: putUdfToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1015,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1018,1
    - Dst: putTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1021,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1024,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1027,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1034,1
    - Dst: putDbTableDataToCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1030,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - pCatalogReq
    - pMetaData
    - pMetaCache
    argTypes:
    - SCatalogReq*
    - SMetaData*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1046
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1046
    functionName: putMetaDataToCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - putUserAuthToCache
    - putUdfToCache
    - putDbTableDataToCache
    - putDbDataToCache
    - putTableDataToCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t putMetaDataToCache(const SCatalogReq* pCatalogReq, SMetaData*
      pMetaData, SParseMetaCache* pMetaCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1570,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1572,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1575,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pHash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1576
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1576
    functionName: destoryParseTablesMetaReqHash
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destoryParseTablesMetaReqHash(SHashObj* pHash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:586,1
    - Dst: getInsTagsTableTargetObjName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:587,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - acctId
    - pCond
    - pName
    argTypes:
    - int32_t
    - SLogicConditionNode*
    - SName*
    constantsTouched: []
    func_position:
      end: 596
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 596
    functionName: getInsTagsTableTargetNameFromCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getInsTagsTableTargetObjName
    - FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getInsTagsTableTargetNameFromCond(int32_t acctId, SLogicConditionNode*
      pCond, SName* pName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1344
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1344
    functionName: destroySmaIndex
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroySmaIndex(void* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:603,1
    - Dst: getInsTagsTableTargetNameFromCond
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:612,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:611,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - acctId
    - pWhere
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    constantsTouched: []
    func_position:
      end: 616
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 616
    functionName: getVnodeSysTableTargetName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getInsTagsTableTargetNameFromCond
    - nodeType
    - getInsTagsTableTargetNameFromOp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getVnodeSysTableTargetName(int32_t acctId, SNode* pWhere,
      SName* pName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1353,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1356,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1351,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1357,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1359,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - pSrc
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1364
    functionName: smaIndexesDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDup
    - taosArrayDestroyEx
    - taosStrdup
    - taosArrayGetSize
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray * smaIndexesDup(SArray* pSrc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1121,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1126,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1126,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1132,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1133,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pTbName
    argTypes:
    - SParseMetaCache*
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1139
    functionName: getTableNameFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - getMetaDataFromHash
    - tNameExtractFullName
    - tstrncpy
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableNameFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, char* pTbName) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:834,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:836,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:845,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:839,1
    - Dst: buildDbReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:842,1
    - Dst: buildUserAuthReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:848,1
    - Dst: buildUdfReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:851,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:854,1
    - Dst: buildTableReq
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:857,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:860,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:863,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:870,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:875,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:874,1
    - Dst: buildTableReqFromDb
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:866,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - pMetaCache
    - pCatalogReq
    argTypes:
    - SParseMetaCache*
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 879
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 879
    functionName: buildCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - TSWAP
    - buildUdfReq
    - buildTableReq
    - buildTableReqFromDb
    - buildUserAuthReq
    - buildDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildCatalogReq(SParseMetaCache* pMetaCache, SCatalogReq*
      pCatalogReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1309,1
    - Dst: reserveUserAuthInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 6
    argNames:
    - acctId
    - pUser
    - pDb
    - pTable
    - type
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - char*
    - AUTH_TYPE
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: reserveViewUserAuthInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveUserAuthInCacheImpl
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveViewUserAuthInCache(int32_t acctId, const char* pUser,
      const char* pDb, const char* pTable, AUTH_TYPE type, SParseMetaCache* pMetaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: userAuthToString
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1315,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1320,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pMetaCache
    - pAuthReq
    - pAuthRes
    argTypes:
    - SParseMetaCache*
    - SUserAuthInfo*
    - SUserAuthRes*
    constantsTouched: []
    func_position:
      end: 1323
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1323
    functionName: getUserAuthFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - memcpy
    - userAuthToString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getUserAuthFromCache(SParseMetaCache* pMetaCache, SUserAuthInfo*
      pAuthReq, SUserAuthRes* pAuthRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:884,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:891,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:895,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - isDistinct
    - pProjectionList
    - pTable
    - pHint
    - ppSelect
    argTypes:
    - bool
    - SNodeList*
    - SNode*
    - SNodeList*
    - SNode**
    constantsTouched: []
    func_position:
      end: 900
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 900
    functionName: createSelectStmtImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesMakeNode
    - TAOS_SET_OBJ_ALIGNED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSelectStmtImpl(bool isDistinct, SNodeList* pProjectionList,
      SNode* pTable, SNodeList* pHint, SNode** ppSelect) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1142,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pMeta
    - pViewMeta
    argTypes:
    - STableMeta**
    - SViewMeta*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1160
    functionName: buildTableMetaFromViewMeta
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildTableMetaFromViewMeta(STableMeta** pMeta, SViewMeta*
      pViewMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 304
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 304
    functionName: getTableColumnSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSchema*
    signature: 'SSchema * getTableColumnSchema(const STableMeta* pTableMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:784,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:784,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:793,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:791,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:788,1
    - Dst: stringToUserAuth
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:795,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:797,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:798,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:799,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - pUserAuthHash
    - pUserAuth
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 807
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 807
    functionName: buildUserAuthReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strncpy
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - taosHashCancelIterate
    - stringToUserAuth
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUserAuthReq(SHashObj* pUserAuthHash, SArray**
      pUserAuth) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1050,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1050,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1055,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pTbFName
    - len
    - pTables
    argTypes:
    - char*
    - int32_t
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1056
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1056
    functionName: reserveTableReqInCacheImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveTableReqInCacheImpl(const char* pTbFName, int32_t
      len, SHashObj** pTables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 306
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 306
    functionName: getTableColumnExtSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSchemaExt*
    signature: 'SSchemaExt * getTableColumnExtSchema(const STableMeta* pTableMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:811,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:818,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:815,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:811,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:820,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:821,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:822,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:823,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:827,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pUdfHash
    - pUdf
    argTypes:
    - SHashObj*
    - SArray**
    constantsTouched: []
    func_position:
      end: 831
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 831
    functionName: buildUdfReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - strncpy
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildUdfReq(SHashObj* pUdfHash, SArray** pUdf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1060,1
    - Dst: reserveTableReqInCacheImpl
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pTables
    argTypes:
    - int32_t
    - char*
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    functionName: reserveTableReqInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInCacheImpl
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveTableReqInCache(int32_t acctId, const char*
      pDb, const char* pTable, SHashObj** pTables) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TABLE_TOTAL_COL_NUM
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:337,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:351,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 363
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 363
    functionName: tableMetaDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - TABLE_TOTAL_COL_NUM
    - taosMemoryMalloc
    linkageType: ''
    returnType: STableMeta*
    signature: 'STableMeta * tableMetaDup(const STableMeta* pTableMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveTableReqInDbCache
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - acctId
    - pDb
    - pTable
    - pMetaCache
    argTypes:
    - int32_t
    - char*
    - char*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1100
    functionName: reserveTableUidInCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - reserveTableReqInDbCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t reserveTableUidInCache(int32_t acctId, const char* pDb, const
      char* pTable, SParseMetaCache* pMetaCache) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 4
    argNames:
    - src
    - len
    - dst
    - dlen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 412
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 412
    functionName: trimString
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t trimString(const char* src, int32_t len, char* dst, int32_t
      dlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1104,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1111,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1109,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pMetaCache
    - pName
    - pMeta
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableMeta**
    constantsTouched: []
    func_position:
      end: 1117
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1117
    functionName: getTableMetaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    - tableMetaDup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableMetaFromCache(SParseMetaCache* pMetaCache, const SName*
      pName, STableMeta** pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:257,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:259,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pBuf
    - errCode
    - pFormat
    - '...'
    argTypes:
    - SMsgBuf*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 261
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 261
    functionName: generateSyntaxErrMsgExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t generateSyntaxErrMsgExt(SMsgBuf* pBuf, int32_t errCode, const
      char* pFormat, ...) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:550,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:552,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:560,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:555,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:557,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:564,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:565,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:565,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:566,1
    - Dst: tNameAddTbName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:567,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:567,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - acctId
    - pOper
    - pName
    argTypes:
    - int32_t
    - SOperatorNode*
    - SName*
    constantsTouched: []
    func_position:
      end: 571
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 571
    functionName: getInsTagsTableTargetNameFromOp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - strcmp
    - strlen
    - tNameAddTbName
    - tNameSetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getInsTagsTableTargetNameFromOp(int32_t acctId, SOperatorNode*
      pOper, SName* pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pBuf
    - msg
    argTypes:
    - SMsgBuf*
    - char*
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: buildInvalidOperationMsg
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildInvalidOperationMsg(SMsgBuf* pBuf, const char* msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:574,1
    - Dst: getInsTagsTableTargetNameFromOp
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - acctId
    - pNode
    - pName
    argTypes:
    - int32_t
    - SNode*
    - SName*
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: getInsTagsTableTargetObjName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - nodeType
    - getInsTagsTableTargetNameFromOp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getInsTagsTableTargetObjName(int32_t acctId, SNode*
      pNode, SName* pName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    functionName: getNumOfColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getTableInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNumOfColumns(const STableMeta* pTableMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameExtractFullName
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1452,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1462,1
    - Dst: getMetaDataFromHash
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1457,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1457,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 3
    argNames:
    - pMetaCache
    - pTsmaName
    - pTsma
    argTypes:
    - SParseMetaCache*
    - SName*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 1467
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1467
    functionName: getTsmaFromCache
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - getMetaDataFromHash
    - strlen
    - tNameExtractFullName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTsmaFromCache(SParseMetaCache* pMetaCache, const SName*
      pTsmaName, STableTSMAInfo** pTsma) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getTableInfo
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTableMeta
    argTypes:
    - STableMeta*
    constantsTouched: []
    func_position:
      end: 322
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 322
    functionName: getNumOfTags
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - getTableInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNumOfTags(const STableMeta* pTableMeta) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1500,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1527,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1484,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1493,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1526,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1525,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1514,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1530,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1498,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1529,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1470,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1487,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1474,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1482,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1491,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1528,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1506,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1508,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1516,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parUtil.c:1518,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 60
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - STableCfg*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1532
    functionName: tableCfgDup
    functionSourceFile: /src/tdengine/source/libs/parser/src/parUtil.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayDup
    - memcpy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: STableCfg*
    signature: 'STableCfg * tableCfgDup(STableCfg* pCfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:110,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:114,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:116,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:118,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:130,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:130,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:116,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:118,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:108,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:117,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:126,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:125,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:132,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:139,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:144,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:107,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:109,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:115,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:128,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:136,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:141,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 7
    argNames:
    - cols
    - tags
    - pSchema
    - ppTag
    - tagName
    - msg
    - charsetCxt
    argTypes:
    - SArray*
    - SBoundColInfo*
    - SSchema*
    - STag**
    - SArray**
    - SMsgBuf*
    - void*
    constantsTouched: []
    func_position:
      end: 146
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 146
    functionName: smlBuildTagRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosMemoryFree
    - memcmp
    - taosArrayDestroy
    - tTagNew
    - smlMbsToUcs4
    - strlen
    - TSDB_CHECK_NULL
    - taosArrayPush
    - uError
    - tstrerror
    - memcpy
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smlBuildTagRow(SArray* cols, SBoundColInfo* tags, SSchema*
      pSchema, STag** ppTag, SArray** tagName, SMsgBuf* msg, void* charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:44,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:49,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:53,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:45,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:50,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:54,1
    - Dst: insFindCol
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:56,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:59,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:60,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:70,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:70,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:72,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - cols
    - pBoundInfo
    - pSchema
    - isTag
    argTypes:
    - SArray*
    - SBoundColInfo*
    - SSchema*
    - bool
    constantsTouched: []
    func_position:
      end: 74
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 74
    functionName: smlBoundColumnData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - uTrace
    - tstrerror
    - TSDB_CHECK_NULL
    - uError
    - taosArrayGetSize
    - insFindCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smlBoundColumnData(SArray* cols, SBoundColInfo* pBoundInfo,
      SSchema* pSchema, bool isTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:168,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pCols
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: clearColValArraySml
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void clearColValArraySml(SArray* pCols) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:199,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:200,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:202,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:205,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:206,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:207,1
    - Dst: uInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:210,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:214,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:221,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:232,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:232,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:226,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:224,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:215,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 45
    argCount: 5
    argNames:
    - pTableCxt
    - schema
    - data
    - index
    - charsetCxt
    argTypes:
    - STableDataCxt*
    - SSchema*
    - void*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 235
    functionName: smlBuildCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - taosMemoryFree
    - taosArrayGet
    - TSDB_CHECK_CODE
    - memcmp
    - taosMemoryMalloc
    - taosMemoryCalloc
    - smlMbsToUcs4
    - strlen
    - TSDB_CHECK_NULL
    - uError
    - tstrerror
    - memcpy
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlBuildCol(STableDataCxt* pTableCxt, SSchema* schema, void*
      data, int32_t index, void* charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:361,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:370,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:369,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:365,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:364,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:371,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:371,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:372,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:382,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:384,1
    - Dst: qDestroyQuery
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - query
    argTypes:
    - SQuery**
    constantsTouched: []
    func_position:
      end: 387
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 387
    functionName: smlInitHandle
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - nodesDestroyNode
    - tstrerror
    - TSDB_CHECK_NULL
    - uError
    - taosGetDefaultHashFunction
    - nodesMakeNode
    - qDestroyQuery
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlInitHandle(SQuery** query) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:27,1
    - Dst: insCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:29,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:30,1
    - Dst: NEXT_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:31,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:28,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:32,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:36,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - msgBuf
    - msgBufLen
    argTypes:
    - SName*
    - char*
    - int32_t
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 39
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 39
    functionName: qCreateSName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - insCreateSName
    - NEXT_TOKEN
    - tstrerror
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCreateSName(SName* pName, const char* pTableName, int32_t
      acctId, char* dbName, char* msgBuf, int32_t msgBufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:152,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:154,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:155,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:156,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - query
    - pTableMeta
    - cxt
    argTypes:
    - SQuery*
    - STableMeta*
    - STableDataCxt**
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: smlInitTableDataCtx
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - initTableColSubmitData
    - insGetTableDataCxt
    - tstrerror
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlInitTableDataCtx(SQuery* query, STableMeta* pTableMeta,
      STableDataCxt** cxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:80,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:82,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:82,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:88,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:88,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:90,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 6
    argNames:
    - mbs
    - mbsLen
    - result
    - resultLen
    - maxLen
    - charsetCxt
    argTypes:
    - char*
    - size_t
    - void**
    - int32_t*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: smlMbsToUcs4
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - uError
    - taosMbsToUcs4
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smlMbsToUcs4(const char* mbs, size_t mbsLen, void**
      result, int32_t* resultLen, int32_t maxLen, void* charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:181,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:182,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:184,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:183,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:186,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:187,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: smlBuildRow
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tRowGetKey
    - insCheckTableDataOrder
    - tstrerror
    - TSDB_CHECK_NULL
    - tRowBuild
    - uError
    - taosArrayReserve
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlBuildRow(STableDataCxt* pTableCxt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:253,1
    - Dst: smlBuildTagRow
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:256,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:260,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:269,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:267,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:300,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:307,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:315,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:336,1
    - Dst: clearColValArraySml
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:341,1
    - Dst: smlMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:318,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:347,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:337,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:339,1
    - Dst: insCheckTableDataOrder
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:340,1
    - Dst: smlBoundColumnData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:252,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:274,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:266,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:290,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:293,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:305,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:306,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:327,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:346,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:349,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:350,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:250,1
    - Dst: getNumOfTags
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:249,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:264,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:272,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:286,1
    - Dst: smlBoundColumnData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:289,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:292,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:312,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:326,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:335,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:351,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:325,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:352,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:346,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:244,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:249,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:257,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:259,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:262,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:284,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:288,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:295,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:299,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:307,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:347,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:329,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 103
    argCount: 13
    argNames:
    - query
    - dataFormat
    - tags
    - colsSchema
    - cols
    - pTableMeta
    - tableName
    - sTableName
    - sTableNameLen
    - ttl
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - SQuery*
    - bool
    - SArray*
    - SArray*
    - SArray*
    - STableMeta*
    - char*
    - char*
    - int32_t
    - int32_t
    - char*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 354
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 354
    functionName: smlBindData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - smlBuildTagRow
    - TSDB_CHECK_CONDITION
    - valueSetDatum
    - taosMemoryFree
    - taosMemoryCalloc
    - insGetTableDataCxt
    - clearColValArraySml
    - TSDB_CHECK_NULL
    - getNumOfTags
    - uError
    - tdDestroySVCreateTbReq
    - taosArrayGetSize
    - taosMemoryMalloc
    - taosArrayDestroy
    - insInitBoundColsInfo
    - smlMbsToUcs4
    - insCheckTableDataOrder
    - insDestroyBoundColInfo
    - insBuildCreateTbReq
    - memcpy
    - taosArrayReserve
    - TSDB_CHECK_CODE
    - taosArrayGet
    - convertTimePrecision
    - tRowGetKey
    - taosHashGet
    - tRowBuild
    - getTableColumnSchema
    - getTableTagSchema
    - initTableColSubmitData
    - tstrerror
    - strlen
    - buildInvalidOperationMsg
    - smlBoundColumnData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlBindData(SQuery* query, bool dataFormat, SArray* tags,
      SArray* colsSchema, SArray* cols, STableMeta* pTableMeta, char* tableName, const
      char* sTableName, int32_t sTableNameLen, int32_t ttl, char* msgBuf, int32_t
      msgBufLen, void* charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:394,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:397,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:401,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:395,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:396,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - handle
    - pVgHash
    argTypes:
    - SQuery*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: smlBuildOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - insMergeTableDataCxt
    - TSDB_CHECK_CODE
    - tstrerror
    - insBuildVgDataBlocks
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlBuildOutput(SQuery* handle, SHashObj* pVgHash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:411,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:412,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertSml.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - pVgHash
    argTypes:
    - SQuery*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: smlBuildOutputRaw
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertSml.c
    functionUses: []
    functionsReached:
    - tstrerror
    - insBuildVgDataBlocks
    - uError
    - TSDB_CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smlBuildOutputRaw(SQuery* handle, SHashObj* pVgHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRoot
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 248
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 248
    functionName: rewriteExprAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - rewriteQueryExprAlias
    linkageType: ''
    returnType: void
    signature: 'static void rewriteExprAlias(SNode* pRoot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pQueryNode
    argTypes:
    - SQuery*
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: qDestroyQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'void qDestroyQuery(SQuery* pQueryNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:252,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:253,1
    - Dst: parseSqlIntoAst
      Src: /src/tdengine/source/libs/parser/src/parser.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: qParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parseSqlIntoAst
    - qIsInsertValuesSql
    - parseInsertSql
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qParseSql(SParseContext* pCxt, SQuery** pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: extractResultSchema
      Src: /src/tdengine/source/libs/parser/src/parser.c:402,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pRoot
    - numOfCols
    - pSchema
    argTypes:
    - SNode*
    - int32_t*
    - SSchema**
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: qExtractResultSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - extractResultSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qExtractResultSchema(const SNode* pRoot, int32_t* numOfCols,
      SSchema** pSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: authenticate
      Src: /src/tdengine/source/libs/parser/src/parser.c:119,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parser.c:126,1
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:131,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: analyseSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - TSWAP
    - translate
    - authenticate
    - calculateConstant
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t analyseSemantic(SParseContext* pCxt, SQuery* pQuery,
      SParseMetaCache* pMetaCache) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:58,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:66,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: qIsCreateTbFromFileSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - tStrGetToken
    linkageType: ''
    returnType: bool
    signature: 'bool qIsCreateTbFromFileSql(const char* pStr, size_t length) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:406,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pStmt
    - uid
    argTypes:
    - SNode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 415
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 415
    functionName: qSetSTableIdForRsma
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qSetSTableIdForRsma(SNode* pStmt, int64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCleanupKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parser.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 419
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 419
    functionName: qCleanupKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosCleanupKeywordsTable
    linkageType: ''
    returnType: void
    signature: 'void qCleanupKeywordsTable() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:87,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:99,1
    - Dst: strnchr
      Src: /src/tdengine/source/libs/parser/src/parser.c:104,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:93,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:107,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:111,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pStr
    - length
    - pDbName
    argTypes:
    - char*
    - size_t
    - char**
    constantsTouched: []
    func_position:
      end: 116
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 116
    functionName: qParseDbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - strncpy
    - tStrGetToken
    - taosMemoryMalloc
    - strnchr
    linkageType: ''
    returnType: bool
    signature: 'bool qParseDbName(const char* pStr, size_t length, char** pDbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/tdengine/source/libs/parser/src/parser.c:140,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery**
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: parseSqlIntoAst
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parse
    - analyseSemantic
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseSqlIntoAst(SParseContext* pCxt, SQuery** pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parser.c:425,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:427,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:433,1
    - Dst: setValueByBindParam
      Src: /src/tdengine/source/libs/parser/src/parser.c:427,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:433,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:437,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:439,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:442,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pQuery
    - pParams
    - colIdx
    - charsetCxt
    argTypes:
    - SQuery*
    - TAOS_MULTI_BIND*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 445
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 445
    functionName: qStmtBindParams
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodesDestroyNode
    - rewriteExprAlias
    - setValueByBindParam
    - nodesCloneNode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStmtBindParams(SQuery* pQuery, TAOS_MULTI_BIND* pParams,
      int32_t colIdx, void *charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: translate
      Src: /src/tdengine/source/libs/parser/src/parser.c:540,1
    - Dst: calculateConstant
      Src: /src/tdengine/source/libs/parser/src/parser.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 545
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 545
    functionName: qStmtParseQuerySql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - translate
    - calculateConstant
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStmtParseQuerySql(SParseContext* pCxt, SQuery* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:222,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parser.c:223,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: rewriteQueryExprAliasImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - nodesIsExprNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteQueryExprAliasImpl(SNode* pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:278,1
    - Dst: qIsCreateTbFromFileSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:282,1
    - Dst: parseCreateTbFromFileSyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:283,1
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:281,1
    - Dst: qIsInsertValuesSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:280,1
    - Dst: parseQuerySyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:285,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:288,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    constantsTouched: []
    func_position:
      end: 291
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 291
    functionName: qParseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - qIsCreateTbFromFileSql
    - nodesReleaseAllocator
    - parseInsertSql
    - qIsInsertValuesSql
    - parseQuerySyntax
    - nodesAcquireAllocator
    - parseCreateTbFromFileSyntax
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qParseSqlSyntax(SParseContext* pCxt, SQuery** pQuery, struct
      SCatalogReq* pCatalogReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parseInsertSql
      Src: /src/tdengine/source/libs/parser/src/parser.c:311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - struct SCatalogReq*
    - struct SMetaData*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: qContinueParseSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parseInsertSql
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qContinueParseSql(SParseContext* pCxt, struct SCatalogReq*
      pCatalogReq, const struct SMetaData* pMetaData, SQuery* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destoryCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:383,1
    - Dst: catalogFreeMetaData
      Src: /src/tdengine/source/libs/parser/src/parser.c:385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 386
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 386
    functionName: tfreeSParseQueryRes
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - catalogFreeMetaData
    - taosMemoryFree
    - destoryCatalogReq
    linkageType: ''
    returnType: void
    signature: 'void tfreeSParseQueryRes(void* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInitKeywordsTable
      Src: /src/tdengine/source/libs/parser/src/parser.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 417
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 417
    functionName: qInitKeywordsTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosInitKeywordsTable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qInitKeywordsTable() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:29,1
    - Dst: tStrGetToken
      Src: /src/tdengine/source/libs/parser/src/parser.c:37,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pStr
    - length
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: qIsInsertValuesSql
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - tStrGetToken
    linkageType: ''
    returnType: bool
    signature: 'bool qIsInsertValuesSql(const char* pStr, size_t length) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:230,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:237,1
    - Dst: rewriteQueryExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:236,1
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parser.c:232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pRoot
    - pNo
    argTypes:
    - SNode*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 243
    functionName: rewriteQueryExprAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    - nodeType
    - rewriteQueryExprAlias
    linkageType: ''
    returnType: void
    signature: 'static void rewriteQueryExprAlias(SNode* pRoot, int32_t* pNo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesAcquireAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:296,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:304,1
    - Dst: putMetaDataToCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:298,1
    - Dst: analyseSemantic
      Src: /src/tdengine/source/libs/parser/src/parser.c:301,1
    - Dst: nodesReleaseAllocator
      Src: /src/tdengine/source/libs/parser/src/parser.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pCxt
    - pCatalogReq
    - pMetaData
    - pQuery
    argTypes:
    - SParseContext*
    - struct SCatalogReq*
    - struct SMetaData*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: qAnalyseSqlSemantic
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodesReleaseAllocator
    - analyseSemantic
    - destoryParseMetaCache
    - nodesAcquireAllocator
    - putMetaDataToCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qAnalyseSqlSemantic(SParseContext* pCxt, const struct SCatalogReq*
      pCatalogReq, struct SMetaData* pMetaData, SQuery* pQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parser.c:316,1
    - Dst: translatePostCreateStream
      Src: /src/tdengine/source/libs/parser/src/parser.c:318,1
    - Dst: translatePostCreateTSMA
      Src: /src/tdengine/source/libs/parser/src/parser.c:326,1
    - Dst: translatePostCreateSmaIndex
      Src: /src/tdengine/source/libs/parser/src/parser.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pBlock
    argTypes:
    - SParseContext*
    - SQuery*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: qContinueParsePostQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - translatePostCreateTSMA
    - nodeType
    - translatePostCreateSmaIndex
    - translatePostCreateStream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qContinueParsePostQuery(SParseContext* pCxt, SQuery* pQuery,
      SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parser.c:396,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:395,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SParseContext*
    constantsTouched: []
    func_position:
      end: 397
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 397
    functionName: qDestroyParseContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void qDestroyParseContext(SParseContext* pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse
      Src: /src/tdengine/source/libs/parser/src/parser.c:148,1
    - Dst: collectMetaKey
      Src: /src/tdengine/source/libs/parser/src/parser.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery**
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: parseSqlSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parse
    - collectMetaKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseSqlSyntax(SParseContext* pCxt, SQuery** pQuery,
      SParseMetaCache* pMetaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseSqlSyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:263,1
    - Dst: destoryParseMetaCache
      Src: /src/tdengine/source/libs/parser/src/parser.c:267,1
    - Dst: buildCatalogReq
      Src: /src/tdengine/source/libs/parser/src/parser.c:265,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: parseQuerySyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parseSqlSyntax
    - buildCatalogReq
    - destoryParseMetaCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseQuerySyntax(SParseContext* pCxt, SQuery** pQuery,
      struct SCatalogReq* pCatalogReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: destoryTablesReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destoryTablesReq(void* p) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:452,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:451,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:467,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:471,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:472,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:472,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:477,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:481,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:482,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:482,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:487,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:497,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:502,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:493,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:493,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_STMT2_BIND*
    - void*
    constantsTouched: []
    func_position:
      end: 511
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 511
    functionName: setValueByBindParam2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - strncpy
    - IS_NULL_TYPE
    - taosMemoryCalloc
    - varDataVal
    - varDataSetLen
    - memcpy
    - taosMbsToUcs4
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setValueByBindParam2(SValueNode* pVal, TAOS_STMT2_BIND*
      pParam, void* charsetCxt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:156,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parser.c:160,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parser.c:159,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:179,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:175,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:180,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:180,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:185,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:189,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parser.c:190,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/parser/src/parser.c:205,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parser.c:210,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:201,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parser.c:195,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parser.c:201,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/parser/src/parser.c:190,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 3
    argNames:
    - pVal
    - pParam
    - charsetCxt
    argTypes:
    - SValueNode*
    - TAOS_MULTI_BIND*
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 219
    functionName: setValueByBindParam
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - strncpy
    - IS_NULL_TYPE
    - taosMemoryCalloc
    - varDataVal
    - varDataSetLen
    - memcpy
    - taosMbsToUcs4
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setValueByBindParam(SValueNode* pVal, TAOS_MULTI_BIND*
      pParam, void *charsetCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseQuerySyntax
      Src: /src/tdengine/source/libs/parser/src/parser.c:272,1
    - Dst: continueCreateTbFromFile
      Src: /src/tdengine/source/libs/parser/src/parser.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pQuery
    - pCatalogReq
    argTypes:
    - SParseContext*
    - SQuery**
    - struct SCatalogReq*
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: parseCreateTbFromFileSyntax
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - parseQuerySyntax
    - continueCreateTbFromFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseCreateTbFromFileSyntax(SParseContext* pCxt, SQuery**
      pQuery, struct SCatalogReq* pCatalogReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:349,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:358,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:350,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:354,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:355,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:356,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:364,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:361,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:345,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:346,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:347,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:369,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:359,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:370,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:367,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:365,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parser.c:363,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:368,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:371,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:372,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:373,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parser.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - pCatalogReq
    argTypes:
    - SCatalogReq*
    constantsTouched: []
    func_position:
      end: 375
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 375
    functionName: destoryCatalogReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destoryCatalogReq(SCatalogReq* pCatalogReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parser.c:517,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:525,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parser.c:519,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:525,1
    - Dst: setValueByBindParam2
      Src: /src/tdengine/source/libs/parser/src/parser.c:519,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:529,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parser.c:531,1
    - Dst: rewriteExprAlias
      Src: /src/tdengine/source/libs/parser/src/parser.c:534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pQuery
    - pParams
    - colIdx
    - charsetCxt
    argTypes:
    - SQuery*
    - TAOS_STMT2_BIND*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 537
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 537
    functionName: qStmtBindParams2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parser.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - nodesDestroyNode
    - rewriteExprAlias
    - setValueByBindParam2
    - nodesCloneNode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qStmtBindParams2(SQuery* pQuery, TAOS_STMT2_BIND* pParams,
      int32_t colIdx, void* charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: checkViewEffectiveAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkViewEffectiveAuth(SAuthCxt* pCxt, const char*
      pDbName, const char* pTabName, AUTH_TYPE type, SNode** pCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:241,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SAuthCxt*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: authInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authQuery
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authInsert(SAuthCxt* pCxt, SInsertStmt* pInsert) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: authCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authCreateTable(SAuthCxt* pCxt, SCreateTableStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:343,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropTableStmt*
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: authDropTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - FOREACH
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDropTable(SAuthCxt* pCxt, SDropTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: authSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes authSubquery(SAuthCxt* pCxt, SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: authShowTables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authShowTables(SAuthCxt* pCxt, SShowStmt* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:281,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:286,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:283,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:281,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:290,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:290,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVTableStmt*
    constantsTouched: []
    func_position:
      end: 294
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 294
    functionName: authCreateVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - PAR_ERR_RET
    - FOREACH
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authCreateVTable(SAuthCxt* pCxt, SCreateVTableStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropSuperTableStmt*
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: authDropStable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDropStable(SAuthCxt* pCxt, SDropSuperTableStmt*
      pStmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setUserAuthInfo
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:64,1
    - Dst: catalogChkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:80,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:72,1
    - Dst: getUserAuthFromCache
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:68,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    - isView
    - effective
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 87
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 87
    functionName: checkAuthImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - setUserAuthInfo
    - catalogChkAuth
    - getUserAuthFromCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAuthImpl(SAuthCxt* pCxt, const char* pDbName,
      const char* pTabName, AUTH_TYPE type, SNode** pCond, bool isView, bool effective) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: checkEffectiveAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkEffectiveAuth(SAuthCxt* pCxt, const char* pDbName,
      const char* pTabName, AUTH_TYPE type, SNode** pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:113,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:122,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:120,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:127,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pWhere
    - pTagCond
    argTypes:
    - SNode**
    - SNode*
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: mergeStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeStrictAppend
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeStableTagCond(SNode** pWhere, SNode* pTagCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:145,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:158,1
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:151,1
    - Dst: mergeStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:163,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pWhere
    - pTagCond
    - pTable
    argTypes:
    - SNode**
    - SNode*
    - STableNode*
    constantsTouched: []
    func_position:
      end: 164
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 164
    functionName: rewriteAppendStableTagCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    - nodeType
    - mergeStableTagCond
    - nodesListStrictAppend
    - nodesCloneNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteAppendStableTagCond(SNode** pWhere, SNode* pTagCond,
      STableNode* pTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkSelectStmt
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SAuthCxt*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: authSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - nodesWalkSelectStmt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authSelect(SAuthCxt* pCxt, SSelectStmt* pSelect) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:300,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:309,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:306,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:300,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:311,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:311,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateVSubTableStmt*
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: authCreateVSubTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - PAR_ERR_RET
    - FOREACH
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authCreateVSubTable(SAuthCxt* pCxt, SCreateVSubTableStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropVirtualTableStmt*
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: authDropVtable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDropVtable(SAuthCxt* pCxt, SDropVirtualTableStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: checkAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAuth(SAuthCxt* pCxt, const char* pDbName, const
      char* pTabName, AUTH_TYPE type, SNode** pCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuthImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:99,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - pCond
    argTypes:
    - SAuthCxt*
    - char*
    - char*
    - AUTH_TYPE
    - SNode**
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: checkViewAuth
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuthImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkViewAuth(SAuthCxt* pCxt, const char* pDbName,
      const char* pTabName, AUTH_TYPE type, SNode** pCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:133,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:137,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: rewriteAuthTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - nodeType
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes rewriteAuthTable(SNode* pNode, void* pContext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:183,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:177,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:175,1
    - Dst: getTargetMetaImpl
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:178,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:186,1
    - Dst: checkEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:188,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:191,1
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:194,1
    - Dst: checkViewEffectiveAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:196,1
    - Dst: authSubquery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:201,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:200,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 204
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 204
    functionName: authSelectImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - nodeType
    - checkEffectiveAuth
    - taosMemoryFree
    - getTargetMetaImpl
    - checkAuth
    - toName
    - checkViewEffectiveAuth
    - checkViewAuth
    - rewriteAppendStableTagCond
    - authSubquery
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes authSelectImpl(SNode* pNode, void* pContext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:213,1
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:215,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pSetOper
    argTypes:
    - SAuthCxt*
    - SSetOperator*
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: authSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authSetOperator(SAuthCxt* pCxt, SSetOperator* pSetOper) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:319,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:328,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateMultiTablesStmt*
    constantsTouched: []
    func_position:
      end: 335
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 335
    functionName: authCreateMultiTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - FOREACH
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authCreateMultiTable(SAuthCxt* pCxt, SCreateMultiTablesStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: authAlterTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authAlterTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateTableStmt*
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: authShowCreateTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authShowCreateTable(SAuthCxt* pCxt, SShowCreateTableStmt*
      pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkViewAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropViewStmt*
    constantsTouched: []
    func_position:
      end: 394
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 394
    functionName: authDropView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkViewAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDropView(SAuthCxt* pCxt, SDropViewStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 272
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 272
    functionName: authShowCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authShowCreateView(SAuthCxt* pCxt, SShowCreateViewStmt*
      pStmt) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:397,1
    - Dst: authSetOperator
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:399,1
    - Dst: authAlterTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:424,1
    - Dst: authDropView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:470,1
    - Dst: authSelect
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:401,1
    - Dst: authInsert
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:407,1
    - Dst: authCreateVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:411,1
    - Dst: authCreateMultiTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:415,1
    - Dst: authDropStable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:419,1
    - Dst: authShowVtables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:460,1
    - Dst: authShowCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:464,1
    - Dst: authAlterVTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:426,1
    - Dst: authDropUser
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:403,1
    - Dst: authDelete
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:405,1
    - Dst: authCreateTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:409,1
    - Dst: authCreateVSubTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:413,1
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:458,1
    - Dst: authCreateView
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:468,1
    - Dst: authDropVtable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:421,1
    - Dst: authDropTable
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:417,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 23
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SNode*
    constantsTouched: []
    func_position:
      end: 476
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 476
    functionName: authQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authCreateTable
    - authDropStable
    - authAlterVTable
    - authDropView
    - nodeType
    - authShowCreateTable
    - authDropVtable
    - authAlterTable
    - authCreateView
    - authSetOperator
    - authShowTables
    - authSelect
    - authShowVtables
    - authInsert
    - authCreateMultiTable
    - authCreateVTable
    - authDropTable
    - authDelete
    - authDropUser
    - authCreateVSubTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authQuery(SAuthCxt* pCxt, SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authQuery
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pParseCxt
    - pQuery
    - pMetaCache
    argTypes:
    - SParseContext*
    - SQuery*
    - SParseMetaCache*
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: authenticate
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authQuery
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t authenticate(SParseContext* pParseCxt, SQuery* pQuery, SParseMetaCache*
      pMetaCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SDropUserStmt*
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: authDropUser
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDropUser(SAuthCxt* pCxt, SDropUserStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: authShowTables
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: authShowVtables
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - authShowTables
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authShowVtables(SAuthCxt* pCxt, SShowStmt* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:374,1
    - Dst: PAR_ERR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:377,1
    - Dst: PAR_RET
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:379,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:374,1
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: authAlterVTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - PAR_ERR_RET
    - PAR_RET
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authAlterVTable(SAuthCxt* pCxt, SAlterTableStmt* pStmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:39,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:45,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:41,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:45,1
    - Dst: toName
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:48,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 7
    argNames:
    - pCxt
    - pDbName
    - pTabName
    - type
    - isView
    - effective
    - pAuth
    argTypes:
    - SParseContext*
    - char*
    - char*
    - AUTH_TYPE
    - bool
    - bool
    - SUserAuthInfo*
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: setUserAuthInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - strlen
    - toName
    - snprintf
    - tNameSetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setUserAuthInfo(SParseContext* pCxt, const char* pDbName,
      const char* pTabName, AUTH_TYPE type, bool isView, bool effective, SUserAuthInfo*
      pAuth) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:230,1
    - Dst: rewriteAppendStableTagCond
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SAuthCxt*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: authDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - rewriteAppendStableTagCond
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authDelete(SAuthCxt* pCxt, SDeleteStmt* pDelete) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SShowStmt*
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: authShowUsage
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authShowUsage(SAuthCxt* pCxt, SShowStmt* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkAuth
      Src: /src/tdengine/source/libs/parser/src/parAuthenticator.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pStmt
    argTypes:
    - SAuthCxt*
    - SCreateViewStmt*
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 387
    functionName: authCreateView
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAuthenticator.c
    functionUses: []
    functionsReached:
    - checkAuth
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t authCreateView(SAuthCxt* pCxt, SCreateViewStmt* pStmt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - pToken
    - target
    argTypes:
    - SToken*
    - char
    constantsTouched: []
    func_position:
      end: 64
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 64
    functionName: tableNameGetPosition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char * tableNameGetPosition(SToken* pToken, char target) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:143,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - pColname
    - start
    - end
    - pSchema
    argTypes:
    - SToken*
    - int16_t
    - int16_t
    - SSchema*
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: insFindCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int16_t
    signature: 'int16_t insFindCol(SToken* pColname, int16_t start, int16_t end, SSchema*
      pSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:363,1
    - Dst: createTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:371,1
    - Dst: resetColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:367,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:378,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:374,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 8
    argNames:
    - pHash
    - id
    - idLen
    - pTableMeta
    - pCreateTbReq
    - pTableCxt
    - colMode
    - ignoreColVals
    argTypes:
    - SHashObj*
    - void*
    - int32_t
    - STableMeta*
    - SVCreateTbReq**
    - STableDataCxt**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 381
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 381
    functionName: insGetTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - insDestroyTableDataCxt
    - taosHashGet
    - resetColValues
    - createTableDataCxt
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insGetTableDataCxt(SHashObj* pHash, void* id, int32_t idLen,
      STableMeta* pTableMeta, SVCreateTbReq** pCreateTbReq, STableDataCxt** pTableCxt,
      bool colMode, bool ignoreColVals) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:396,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:401,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:399,1
    - Dst: insDestroyBoundColInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:398,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pTableCxt
    argTypes:
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: insDestroyTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDestroySubmitTbData
    - insDestroyBoundColInfo
    - tDestroyTSchema
    - taosArrayDestroyEx
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void insDestroyTableDataCxt(STableDataCxt* pTableCxt) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:84,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:78,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:91,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:104,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:115,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:120,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:100,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:107,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:130,1
    - Dst: tableNameGetPosition
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:73,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:82,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:96,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:98,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:114,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:124,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:128,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:134,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:95,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:105,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:118,1
    - Dst: tNameSetDbName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:122,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:122,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:135,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:81,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:86,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:110,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 5
    argNames:
    - pName
    - pTableName
    - acctId
    - dbName
    - pMsgBuf
    argTypes:
    - SName*
    - SToken*
    - int32_t
    - char*
    - SMsgBuf*
    constantsTouched: []
    func_position:
      end: 139
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 139
    functionName: insCreateSName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strncpy
    - strchr
    - strdequote
    - tNameFromString
    - strlen
    - buildInvalidOperationMsg
    - generateSyntaxErrMsg
    - tNameSetDbName
    - tableNameGetPosition
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insCreateSName(SName* pName, SToken* pTableName, int32_t acctId,
      const char* dbName, SMsgBuf* pMsgBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:155,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:163,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:160,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 8
    argNames:
    - pTbReq
    - tname
    - pTag
    - suid
    - sname
    - tagName
    - tagNum
    - ttl
    argTypes:
    - SVCreateTbReq*
    - char*
    - STag*
    - int64_t
    - char*
    - SArray*
    - uint8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: insBuildCreateTbReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insBuildCreateTbReq(SVCreateTbReq* pTbReq, const char* tname,
      STag* pTag, int64_t suid, const char* sname, SArray* tagName, uint8_t tagNum,
      int32_t ttl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:387,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: destroyColVal
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyColVal(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pVgCxt
    argTypes:
    - SVgroupDataCxt*
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: insDestroyVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - tDestroySubmitReq
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void insDestroyVgroupDataCxt(SVgroupDataCxt* pVgCxt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: transformRawSSubmitTbData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1120,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1127,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1125,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1135,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1143,1
    - Dst: uTrace
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - pVgroupHash
    - pVgroupList
    - pTableMeta
    - data
    argTypes:
    - SHashObj*
    - SArray*
    - STableMeta*
    - void*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1150
    functionName: rawBlockBindRawData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - createVgroupDataCxt
    - transformRawSSubmitTbData
    - uTrace
    - taosHashGet
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int
    signature: 'int rawBlockBindRawData(SHashObj* pVgroupHash, SArray* pVgroupList,
      STableMeta* pTableMeta, void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ncols
    - pBoundCols
    argTypes:
    - int32_t
    - int16_t*
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: initBoundCols
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initBoundCols(int32_t ncols, int16_t* pBoundCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: insResetBoundColsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void insResetBoundColsInfo(SBoundColInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:422,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:428,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:424,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pVgCxtList
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: insDestroyVgroupDataCxtList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - insDestroyVgroupDataCxt
    - taosArrayGetSize
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void insDestroyVgroupDataCxtList(SArray* pVgCxtList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:451,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:455,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:453,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pTableCxtHash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 459
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 459
    functionName: insDestroyTableDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - insDestroyTableDataCxt
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void insDestroyTableDataCxtHashMap(SHashObj* pTableCxtHash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:527,1
    - Dst: catalogGetTableHashVgroup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:537,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 5
    argNames:
    - pAllVgHash
    - pBuildInfo
    - vgId
    - pTbData
    - sname
    argTypes:
    - SHashObj*
    - SStbInterlaceInfo*
    - int32_t*
    - STableColsData*
    - SName*
    constantsTouched: []
    func_position:
      end: 548
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 548
    functionName: insTryAddTableVgroupInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosHashGet
    - catalogGetTableHashVgroup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insTryAddTableVgroupInfo(SHashObj* pAllVgHash, SStbInterlaceInfo*
      pBuildInfo, int32_t* vgId, STableColsData* pTbData, SName* sname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:606,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pQuery
    - pAllVgHash
    - pVgDataBlocks
    argTypes:
    - SQuery*
    - SHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 610
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 610
    functionName: qBuildStmtFinOutput1
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - insBuildVgDataBlocks
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtFinOutput1(SQuery* pQuery, SHashObj* pAllVgHash,
      SArray* pVgDataBlocks) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:742,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:742,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:746,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:745,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:743,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:753,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:762,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:764,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:772,1
    - Dst: tColDataSortMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:774,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:787,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:801,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:805,1
    - Dst: insDestroyVgroupDataCxtList
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:813,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:796,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:809,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:784,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:794,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 66
    argCount: 3
    argNames:
    - pTableHash
    - pVgDataBlocks
    - isRebuild
    argTypes:
    - SHashObj*
    - SArray**
    - bool
    constantsTouched: []
    func_position:
      end: 817
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 817
    functionName: insMergeTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - createVgroupDataCxt
    - fillVgroupDataCxt
    - taosArrayGet
    - taosArrayDestroy
    - taosHashIterate
    - taosHashGet
    - taosArrayInit
    - tColDataSortMerge
    - taosArraySort
    - tRowMerge
    - tRowSort
    - taosGetDefaultHashFunction
    - insDestroyVgroupDataCxtList
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insMergeTableDataCxt(SHashObj* pTableHash, SArray** pVgDataBlocks,
      bool isRebuild) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:178,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:181,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pTableMeta
    - pValues
    argTypes:
    - STableMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: initColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - getTableColumnSchema
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initColValues(STableMeta* pTableMeta, SArray* pValues) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:222,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pTableCxt
    - rowKey
    argTypes:
    - STableDataCxt*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: insCheckTableDataOrder
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - tRowKeyCompare
    linkageType: ''
    returnType: void
    signature: 'void insCheckTableDataOrder(STableDataCxt* pTableCxt, SRowKey* rowKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:436,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:440,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:443,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:438,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pVgCxtHash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 444
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 444
    functionName: insDestroyVgroupDataCxtHashMap
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - insDestroyVgroupDataCxt
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void insDestroyVgroupDataCxtHashMap(SHashObj* pVgCxtHash) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:463,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:480,1
    - Dst: rebuildTableData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:475,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:470,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pTableCxt
    - pVgCxt
    - isRebuild
    - clear
    argTypes:
    - STableDataCxt*
    - SVgroupDataCxt*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 483
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 483
    functionName: fillVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - rebuildTableData
    - taosArrayPush
    - parserDebug
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillVgroupDataCxt(STableDataCxt* pTableCxt, SVgroupDataCxt*
      pVgCxt, bool isRebuild, bool clear) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:556,1
    - Dst: qCreateSName
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:561,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:556,1
    - Dst: catalogGetTableMeta
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:571,1
    - Dst: parserWarn
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:574,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:579,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:587,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:587,1
    - Dst: insTryAddTableVgroupInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:589,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:592,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - pAllVgHash
    - pBuildInfo
    - pTbData
    - uid
    - vgId
    argTypes:
    - SHashObj*
    - SStbInterlaceInfo*
    - STableColsData*
    - uint64_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 599
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 599
    functionName: insGetStmtTableVgUid
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tSimpleHashGet
    - parserWarn
    - insTryAddTableVgroupInfo
    - strlen
    - qCreateSName
    - catalogGetTableMeta
    - tSimpleHashPut
    - parserError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insGetStmtTableVgUid(SHashObj* pAllVgHash, SStbInterlaceInfo*
      pBuildInfo, STableColsData* pTbData, uint64_t* uid, int32_t* vgId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: insGetStmtTableVgUid
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:620,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:639,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:640,1
    - Dst: tRowSort
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:646,1
    - Dst: tRowMerge
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:649,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:657,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:659,1
    - Dst: createVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:661,1
    - Dst: fillVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:670,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:673,1
    - Dst: qBuildStmtFinOutput1
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:674,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:676,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 5
    argNames:
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    - ctbReq
    argTypes:
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 681
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 681
    functionName: insAppendStmtTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - createVgroupDataCxt
    - fillVgroupDataCxt
    - taosMemoryFree
    - tDestroySubmitReq
    - insGetStmtTableVgUid
    - qBuildStmtFinOutput1
    - taosHashGet
    - tRowMerge
    - tdDestroySVCreateTbReq
    - tRowSort
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insAppendStmtTableDataCxt(SHashObj* pAllVgHash, STableColsData*
      pTbData, STableDataCxt* pTbCtx, SStbInterlaceInfo* pBuildInfo, SVCreateTbReq*
      ctbReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:823,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:833,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:831,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:832,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:827,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:834,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:834,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:835,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:836,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:843,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - vgId
    - pReq
    - pData
    - pLen
    argTypes:
    - int32_t
    - SSubmitReq2*
    - void**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: buildSubmitReq
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - taosMemoryFree
    - tEncodeSubmitReq
    - POINTER_SHIFT
    - tEncodeSize
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSubmitReq(int32_t vgId, SSubmitReq2* pReq, void**
      pData, uint32_t* pLen) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1003,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1059,1
    - Dst: tColDataAddValueByDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1106,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:998,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1012,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1064,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1071,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1089,1
    - Dst: getTableColumnExtSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1060,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1105,1
    - Dst: insGetTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1009,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1017,1
    - Dst: initTableColSubmitData
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1023,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:994,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1013,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1025,1
    - Dst: PRCESS_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1075,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1097,1
    - Dst: uError
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:1048,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 92
    argCount: 10
    argNames:
    - query
    - pTableMeta
    - data
    - pCreateTb
    - tFields
    - numFields
    - needChangeLength
    - errstr
    - errstrLen
    - raw
    argTypes:
    - SQuery*
    - STableMeta*
    - void*
    - SVCreateTbReq*
    - void*
    - int
    - bool
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1117
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1117
    functionName: rawBlockBindData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - cloneSVreateTbReq
    - taosMemoryFree
    - initTableColSubmitData
    - snprintf
    - taosArrayGet
    - PRCESS_DATA
    - insGetTableDataCxt
    - taosHashGet
    - strcmp
    - tColDataAddValueByDataBlock
    - uError
    - tdDestroySVCreateTbReq
    - getTableColumnSchema
    - TMIN
    - getTableColumnExtSchema
    linkageType: ''
    returnType: int
    signature: 'int rawBlockBindData(SQuery* query, STableMeta* pTableMeta, void*
      data, SVCreateTbReq* pCreateTb, void* tFields, int numFields, bool needChangeLength,
      char* errstr, int32_t errstrLen, bool raw) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:310,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:331,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:321,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:345,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSubmitTbData*
    - SSubmitTbData**
    constantsTouched: []
    func_position:
      end: 351
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 351
    functionName: rebuildTableData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - cloneSVreateTbReq
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rebuildTableData(SSubmitTbData* pSrc, SSubmitTbData**
      pDst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:487,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:498,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:491,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:500,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:493,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:502,1
    - Dst: insDestroyVgroupDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - vgId
    - pVgroupHash
    - pVgroupList
    - pOutput
    argTypes:
    - int32_t
    - SHashObj*
    - SArray*
    - SVgroupDataCxt**
    constantsTouched: []
    func_position:
      end: 511
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 511
    functionName: createVgroupDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - insDestroyVgroupDataCxt
    - taosArrayPush
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createVgroupDataCxt(int32_t vgId, SHashObj* pVgroupHash,
      SArray* pVgroupList, SVgroupDataCxt** pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pSchema
    - fields
    - numFields
    argTypes:
    - SSchema*
    - TAOS_FIELD*
    - int
    constantsTouched: []
    func_position:
      end: 911
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 911
    functionName: findFileds
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool findFileds(SSchema* pSchema, TAOS_FIELD* fields, int numFields) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:354,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pValues
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: resetColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void resetColValues(SArray* pValues) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 523
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 523
    functionName: insColDataComp
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int insColDataComp(const void* lp, const void* rp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:916,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:921,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:926,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:929,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:923,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:939,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:941,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:948,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:950,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - pColSchema
    - pColExtSchema
    - fields
    - errstr
    - errstrLen
    argTypes:
    - SSchema*
    - SSchemaExt*
    - int8_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 957
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 957
    functionName: checkSchema
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - extractDecimalTypeInfoFromBytes
    - snprintf
    - decimalFromTypeMod
    - IS_DECIMAL_TYPE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkSchema(SSchema* pColSchema, SSchemaExt* pColExtSchema,
      int8_t* fields, char* errstr, int32_t errstrLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:190,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTableMeta
    - aColValues
    argTypes:
    - STableMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: insInitColValues
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - initColValues
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insInitColValues(STableMeta* pTableMeta, SArray* aColValues) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 235
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 235
    functionName: insDestroyBoundColInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void insDestroyBoundColInfo(SBoundColInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:851,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: destroyVgDataBlocks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void destroyVgDataBlocks(void* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: qDestroyBoundColInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void qDestroyBoundColInfo(void* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - numOfBound
    - pInfo
    argTypes:
    - int32_t
    - SBoundColInfo*
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: insInitBoundColsInfo
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insInitBoundColsInfo(int32_t numOfBound, SBoundColInfo* pInfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:239,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:257,1
    - Dst: tableMetaDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:251,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:257,1
    - Dst: insInitBoundColsInfo
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:263,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:266,1
    - Dst: initColValues
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:270,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:274,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:286,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:291,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:300,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:302,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 76
    argCount: 5
    argNames:
    - pTableMeta
    - pCreateTbReq
    - pOutput
    - colMode
    - ignoreColVals
    argTypes:
    - STableMeta*
    - SVCreateTbReq**
    - STableDataCxt**
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 306
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 306
    functionName: createTableDataCxt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - insDestroyTableDataCxt
    - taosMemoryCalloc
    - insInitBoundColsInfo
    - tableMetaDup
    - parserDebug
    - getTableColumnSchema
    - initColValues
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createTableDataCxt(STableMeta* pTableMeta, SVCreateTbReq**
      pCreateTbReq, STableDataCxt** pOutput, bool colMode, bool ignoreColVals) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:856,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:868,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:864,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:865,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:857,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:873,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:874,1
    - Dst: buildSubmitReq
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:877,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:880,1
    - Dst: destroyVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:883,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/libs/parser/src/parInsertUtil.c:897,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 4
    argNames:
    - pVgroupsHashObj
    - pVgDataCxtList
    - pVgDataBlocks
    - append
    argTypes:
    - SHashObj*
    - SArray*
    - SArray**
    - bool
    constantsTouched: []
    func_position:
      end: 901
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 901
    functionName: insBuildVgDataBlocks
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - buildSubmitReq
    - taosMemoryCalloc
    - taosHashGetDup
    - taosArrayDestroyP
    - taosArrayPush
    - destroyVgDataBlocks
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t insBuildVgDataBlocks(SHashObj* pVgroupsHashObj, SArray* pVgDataCxtList,
      SArray** pVgDataBlocks, bool append) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:33,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:50,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:44,1
    - Dst: cloneSVreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:42,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:47,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:54,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:57,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:58,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:60,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pDataBlock
    - pData
    argTypes:
    - STableDataCxt*
    - SSubmitTbData**
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: qCloneCurrentTbData
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - cloneSVreateTbReq
    - taosArrayGet
    - taosMemoryCalloc
    - taosArrayDup
    - tColDataDeepClear
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCloneCurrentTbData(STableDataCxt* pDataBlock, SSubmitTbData**
      pData) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:145,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:140,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:163,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:189,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:227,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:263,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:267,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:273,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:278,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:262,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:149,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:161,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:168,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:172,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:202,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:205,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:207,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:228,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:248,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:272,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:138,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:143,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:178,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:215,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:222,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:235,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:237,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:279,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:280,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:190,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:183,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:220,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:227,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:227,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:229,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:241,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:275,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 141
    argCount: 9
    argNames:
    - pBlock
    - boundTags
    - suid
    - sTableName
    - tName
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - void*
    - void*
    - int64_t
    - char*
    - char*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 283
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 283
    functionName: qBindStmtTagsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - initCtxAsText
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - checkWKB
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayPush
    - parseJsontoTagData
    - strerror
    - insBuildCreateTbReq
    - memcpy
    - tListLen
    - taosArrayGet
    - qError
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - getTableTagSchema
    - snprintf
    - tTagNew
    - tstrerror
    - taosMbsToUcs4
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtTagsValue(void* pBlock, void* boundTags, int64_t
      suid, const char* sTableName, char* tName, TAOS_MULTI_BIND* bind, char* msgBuf,
      int32_t msgBufLen, void* charsetCxt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:333,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:357,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:344,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:368,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:363,1
    - Dst: tRowBuildFromBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:387,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:393,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:394,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 46
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo*
    - void*
    constantsTouched: []
    func_position:
      end: 397
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 397
    functionName: qBindStmtStbColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - taosMemoryFree
    - tRowBuildFromBind
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - convertStmtNcharCol
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtStbColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen, STSchema** pTSchema, SBindInfo* pBindInfos,
      void* charsetCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:455,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:474,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:459,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:470,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:478,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:487,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:488,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:491,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:495,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:496,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - colIdx
    - rowNum
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 499
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 499
    functionName: qBindStmtSingleColValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - tColDataAddValueByBind
    - IS_VAR_DATA_TYPE
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - convertStmtNcharCol
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtSingleColValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen, int32_t colIdx, int32_t rowNum, void*
      charsetCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:934,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:938,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:944,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:949,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:953,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:957,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:966,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:967,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:970,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:974,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:975,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - colIdx
    - rowNum
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 978
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 978
    functionName: qBindStmtSingleColValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - tColDataAddValueByBind2
    - convertStmtNcharCol2
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtSingleColValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen, int32_t colIdx, int32_t rowNum, void
      *charsetCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insAppendStmtTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:70,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - pQuery
    - pAllVgHash
    - pTbData
    - pTbCtx
    - pBuildInfo
    - ctbReq
    argTypes:
    - SQuery*
    - SHashObj*
    - STableColsData*
    - STableDataCxt*
    - SStbInterlaceInfo*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: qAppendStmtTableOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - insAppendStmtTableDataCxt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qAppendStmtTableOutput(SQuery* pQuery, SHashObj* pAllVgHash,
      STableColsData* pTbData, STableDataCxt* pTbCtx, SStbInterlaceInfo* pBuildInfo,
      SVCreateTbReq* ctbReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:289,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:298,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:310,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:312,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:313,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:316,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:316,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:316,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:317,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_MULTI_BIND*
    - TAOS_MULTI_BIND*
    - void*
    constantsTouched: []
    func_position:
      end: 328
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 328
    functionName: convertStmtNcharCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosMemoryRealloc
    - strerror
    - generateSyntaxErrMsg
    - taosMbsToUcs4
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertStmtNcharCol(SMsgBuf* pMsgBuf, SSchema* pSchema, TAOS_MULTI_BIND*
      src, TAOS_MULTI_BIND* dst, void* charsetCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:401,1
    - Dst: convertStmtNcharCol
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:425,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:411,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:414,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:420,1
    - Dst: tColDataAddValueByBind
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:434,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:435,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:442,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:447,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 36
    argCount: 6
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_MULTI_BIND*
    - char*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 450
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 450
    functionName: qBindStmtColsValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - tColDataAddValueByBind
    - IS_VAR_DATA_TYPE
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - convertStmtNcharCol
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtColsValue(void* pBlock, SArray* pCols, TAOS_MULTI_BIND*
      bind, char* msgBuf, int32_t msgBufLen, void* charsetCxt) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:509,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:517,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:514,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:549,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:567,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:579,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:577,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:582,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:584,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:597,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:618,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:605,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:540,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:555,1
    - Dst: parseJsontoTagData
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:566,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:579,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:630,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:645,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:662,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:644,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:637,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:656,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:519,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:512,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:538,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:545,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:560,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:604,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:604,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:606,1
    - Dst: tTagNew
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:625,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:664,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:663,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:523,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:565,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:592,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:599,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:604,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:612,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:614,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:647,1
    - Dst: insBuildCreateTbReq
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:657,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:659,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 148
    argCount: 10
    argNames:
    - pBlock
    - boundTags
    - suid
    - sTableName
    - tName
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    - pCreateTbReq
    argTypes:
    - void*
    - void*
    - int64_t
    - char*
    - char*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - void*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 667
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 667
    functionName: qBindStmtTagsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - initCtxAsText
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - checkWKB
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - generateSyntaxErrMsg
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayPush
    - parseJsontoTagData
    - strerror
    - insBuildCreateTbReq
    - memcpy
    - tListLen
    - taosArrayGet
    - qError
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - getTableTagSchema
    - snprintf
    - tTagNew
    - tstrerror
    - taosMbsToUcs4
    - buildInvalidOperationMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtTagsValue2(void* pBlock, void* boundTags, int64_t
      suid, const char* sTableName, char* tName, TAOS_STMT2_BIND* bind, char* msgBuf,
      int32_t msgBufLen, void* charsetCxt, SVCreateTbReq* pCreateTbReq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:983,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1012,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1017,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1006,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:994,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1023,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1025,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1025,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1033,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1035,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1059,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1066,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1065,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1061,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 70
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo2*
    - void*
    constantsTouched: []
    func_position:
      end: 1069
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1069
    functionName: qBindStmt2RowValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - initCtxAsText
    - taosMemoryFree
    - tRowBuildFromBind2
    - qError
    - tstrerror
    - checkWKB
    - convertStmtNcharCol2
    - qDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmt2RowValue(void* pBlock, SArray* pCols, TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen, STSchema** pTSchema, SBindInfo2* pBindInfos,
      void* charsetCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:114,1
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:119,1
    - Dst: insMergeTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pQuery
    - pVgHash
    - pBlockHash
    argTypes:
    - SQuery*
    - SHashObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: qBuildStmtOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - insMergeTableDataCxt
    - insBuildVgDataBlocks
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtOutput(SQuery* pQuery, SHashObj* pVgHash, SHashObj*
      pBlockHash) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: insBuildVgDataBlocks
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pQuery
    - pAllVgHash
    - pVgDataBlocks
    argTypes:
    - SQuery*
    - SHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: qBuildStmtFinOutput
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - insBuildVgDataBlocks
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtFinOutput(SQuery* pQuery, SHashObj* pAllVgHash,
      SArray* pVgDataBlocks) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:824,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:831,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:849,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:848,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:833,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:850,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:853,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:853,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:853,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:854,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_STMT2_BIND*
    - TAOS_STMT2_BIND*
    - void*
    constantsTouched: []
    func_position:
      end: 867
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 867
    functionName: convertStmtNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosMemoryRealloc
    - strerror
    - generateSyntaxErrMsg
    - taosMbsToUcs4
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertStmtNcharCol2(SMsgBuf* pMsgBuf, SSchema* pSchema,
      TAOS_STMT2_BIND* src, TAOS_STMT2_BIND* dst, void *charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1221,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1231,1
    - Dst: buildStbBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - pBlock
    - boundTags
    - tbNameFlag
    - fieldNum
    - fields
    argTypes:
    - void*
    - void*
    - uint8_t
    - int32_t*
    - TAOS_FIELD_ALL**
    constantsTouched: []
    func_position:
      end: 1235
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1235
    functionName: qBuildStmtStbColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - getTableColumnSchema
    - buildStbBoundFields
    - CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtStbColFields(void* pBlock, void* boundTags, uint8_t
      tbNameFlag, int32_t* fieldNum, TAOS_FIELD_ALL** fields) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1258,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1264,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1270,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1262,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - block
    - deepClear
    argTypes:
    - STableDataCxt*
    - bool
    constantsTouched: []
    func_position:
      end: 1278
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1278
    functionName: qResetStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tColDataClear
    - tColDataDeepClear
    - parserError
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qResetStmtDataBlock(STableDataCxt* block, bool deepClear) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qCloneStmtDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1345,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 6
    argNames:
    - pDst
    - pSrc
    - uid
    - suid
    - vgId
    - rebuildCreateTb
    argTypes:
    - STableDataCxt**
    - STableDataCxt*
    - uint64_t
    - uint64_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1368
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1368
    functionName: qRebuildStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qCloneStmtDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qRebuildStmtDataBlock(STableDataCxt** pDst, STableDataCxt*
      pSrc, uint64_t uid, uint64_t suid, int32_t vgId, bool rebuildCreateTb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:872,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:899,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:884,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:882,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:893,1
    - Dst: convertStmtNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:904,1
    - Dst: tColDataAddValueByBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:913,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:914,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:921,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:925,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:926,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 45
    argCount: 6
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 929
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 929
    functionName: qBindStmtColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - IS_VAR_DATA_TYPE
    - tColDataAddValueByBind2
    - convertStmtNcharCol2
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtColsValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen, void* charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1238,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1249,1
    - Dst: tColDataDeepClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1247,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1241,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCols
    - deepClear
    argTypes:
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1254
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1254
    functionName: qResetStmtColumns
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tColDataClear
    - tColDataDeepClear
    - parserError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qResetStmtColumns(SArray* pCols, bool deepClear) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1283,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1299,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1294,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1294,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1296,1
    - Dst: TABLE_META_SIZE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1299,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1303,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1307,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1309,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1312,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1320,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1324,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1327,1
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1329,1
    - Dst: qResetStmtDataBlock
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1336,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1318,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - reset
    argTypes:
    - STableDataCxt**
    - STableDataCxt*
    - bool
    constantsTouched: []
    func_position:
      end: 1341
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1341
    functionName: qCloneStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - insDestroyTableDataCxt
    - taosMemoryCalloc
    - TABLE_META_SIZE
    - qResetStmtDataBlock
    - taosArrayDup
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qCloneStmtDataBlock(STableDataCxt** pDst, STableDataCxt* pSrc,
      bool reset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 1370
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1370
    functionName: qGetTableMetaInDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STableMeta*
    signature: 'STableMeta * qGetTableMetaInDataBlock(STableDataCxt* pDataBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1074,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1086,1
    - Dst: calcTypeBytesFromSchemaBytes
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1088,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - numOfBound
    - boundColumns
    - pSchema
    - fieldNum
    - fields
    - timePrec
    argTypes:
    - int32_t
    - int16_t*
    - SSchema*
    - int32_t*
    - TAOS_FIELD_E**
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1095
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1095
    functionName: buildBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - calcTypeBytesFromSchemaBytes
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildBoundFields(int32_t numOfBound, int16_t* boundColumns,
      SSchema* pSchema, int32_t* fieldNum, TAOS_FIELD_E** fields, uint8_t timePrec) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1116,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1147,1
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1123,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1160,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 7
    argNames:
    - boundColsInfo
    - pSchema
    - fieldNum
    - fields
    - pMeta
    - boundTags
    - tbNameFlag
    argTypes:
    - SBoundColInfo
    - SSchema*
    - int32_t*
    - TAOS_FIELD_ALL**
    - STableMeta*
    - void*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1174
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1174
    functionName: buildStbBoundFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - getTableTagSchema
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildStbBoundFields(SBoundColInfo boundColsInfo, SSchema*
      pSchema, int32_t* fieldNum, TAOS_FIELD_ALL** fields, STableMeta* pMeta, void*
      boundTags, uint8_t tbNameFlag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: insDestroyTableDataCxt
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - STableDataCxt*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1379
    functionName: qDestroyStmtDataBlock
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - insDestroyTableDataCxt
    linkageType: ''
    returnType: void
    signature: 'void qDestroyStmtDataBlock(STableDataCxt* pBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:673,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:692,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:680,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:678,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:691,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:693,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:696,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:696,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:696,1
    - Dst: buildSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:697,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 5
    argNames:
    - pMsgBuf
    - pSchema
    - src
    - dst
    - charsetCxt
    argTypes:
    - SMsgBuf*
    - SSchema*
    - TAOS_STMT2_BIND*
    - TAOS_STMT2_BIND*
    - void*
    constantsTouched: []
    func_position:
      end: 710
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 710
    functionName: convertStmtStbNcharCol2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - strerror
    - generateSyntaxErrMsg
    - taosMbsToUcs4
    - taosMemoryFreeClear
    - buildSyntaxErrMsg
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertStmtStbNcharCol2(SMsgBuf* pMsgBuf, SSchema*
      pSchema, TAOS_STMT2_BIND* src, TAOS_STMT2_BIND* dst, void *charsetCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getTableTagSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1187,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1195,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 4
    argNames:
    - pBlock
    - boundTags
    - fieldNum
    - fields
    argTypes:
    - void*
    - void*
    - int32_t*
    - TAOS_FIELD_E**
    constantsTouched: []
    func_position:
      end: 1198
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1198
    functionName: qBuildStmtTagFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - buildBoundFields
    - CHECK_CODE
    - getTableTagSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtTagFields(void* pBlock, void* boundTags, int32_t*
      fieldNum, TAOS_FIELD_E** fields) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:736,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:727,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:771,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:775,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:808,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:785,1
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:715,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:758,1
    - Dst: initCtxAsText
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:773,1
    - Dst: parserDebug
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:803,1
    - Dst: checkWKB
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:783,1
    - Dst: convertStmtStbNcharCol2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:763,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:767,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:810,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:809,1
    - Dst: tRowBuildFromBind2
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:801,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:807,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:812,1
    - Dst: buildInvalidOperationMsg
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:752,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:775,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 86
    argCount: 8
    argNames:
    - pBlock
    - pCols
    - bind
    - msgBuf
    - msgBufLen
    - pTSchema
    - pBindInfos
    - charsetCxt
    argTypes:
    - void*
    - SArray*
    - TAOS_STMT2_BIND*
    - char*
    - int32_t
    - STSchema**
    - SBindInfo2*
    - void*
    constantsTouched: []
    func_position:
      end: 816
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 816
    functionName: qBindStmtStbColsValue2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - initCtxAsText
    - taosMemoryFree
    - TARRAY_DATA
    - taosArrayDestroy
    - tRowBuildFromBind2
    - convertStmtStbNcharCol2
    - taosArrayGetLast
    - qError
    - tstrerror
    - checkWKB
    - taosArrayPush
    - parserDebug
    - buildInvalidOperationMsg
    - getTableColumnSchema
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBindStmtStbColsValue2(void* pBlock, SArray* pCols, TAOS_STMT2_BIND*
      bind, char* msgBuf, int32_t msgBufLen, STSchema** pTSchema, SBindInfo2* pBindInfos,
      void *charsetCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getTableColumnSchema
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1202,1
    - Dst: CHECK_CODE
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1212,1
    - Dst: buildBoundFields
      Src: /src/tdengine/source/libs/parser/src/parInsertStmt.c:1212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - fieldNum
    - fields
    argTypes:
    - void*
    - int32_t*
    - TAOS_FIELD_E**
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: qBuildStmtColFields
    functionSourceFile: /src/tdengine/source/libs/parser/src/parInsertStmt.c
    functionUses: []
    functionsReached:
    - buildBoundFields
    - getTableColumnSchema
    - CHECK_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qBuildStmtColFields(void* pBlock, int32_t* fieldNum, TAOS_FIELD_E**
      fields) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:125,1
    - Dst: taosIsNumberChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:135,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:130,1
    - Dst: taosIsBigChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:131,1
    - Dst: taosIsSmallChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:133,1
    - Dst: taosIsSpecialChar
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - pPassword
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 154
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 154
    functionName: invalidStrongPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strcmp
    - taosIsBigChar
    - taosIsSpecialChar
    - strlen
    - taosIsNumberChar
    - taosIsSmallChar
    linkageType: ''
    returnType: bool
    signature: 'static bool invalidStrongPassword(const char* pPassword) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:374,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:381,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - isPseudoColumn
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: setRawExprNodeIsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setRawExprNodeIsPseudoColumn(SAstCreateContext* pCxt, SNode*
      pNode, bool isPseudoColumn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:835,1
    - Dst: createValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:836,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: createIdentifierValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - createValueNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createIdentifierValueNode(SAstCreateContext* pCxt, SToken*
      pLiteral) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1151,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1152,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1156,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1152,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1153,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1157,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1158,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pFuncName
    - pParameterList
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1166
    functionName: createFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - strncasecmp
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - COPY_STRING_FORM_ID_TOKEN
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createFunctionNode(SAstCreateContext* pCxt, const SToken*
      pFuncName, SNodeList* pParameterList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1417,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1429,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1420,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - order
    - nullOrder
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EOrder
    - ENullOrder
    constantsTouched: []
    func_position:
      end: 1431
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1431
    functionName: createOrderByExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createOrderByExprNode(SAstCreateContext* pCxt, SNode* pExpr,
      EOrder order, ENullOrder nullOrder) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2573,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2583,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2584,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2595,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2598,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2574,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2577,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2599,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2576,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2581,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2582,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2586,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2583,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2567,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2568,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2573,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2569,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2574,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2575,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2585,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2582,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2581,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pTokenTri
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    constantsTouched: []
    func_position:
      end: 2601
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2601
    functionName: createColumnRefNodeByName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - checkColumnName
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    - taosMemFree
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createColumnRefNodeByName(SAstCreateContext* pCxt, STokenTriplet*
      pTokenTri) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3000,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3005,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3002,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3003,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3005,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3006,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - pTagName
    - pVal
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3012
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3012
    functionName: createAlterSingleTagColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterSingleTagColumnNode(SAstCreateContext* pCtx, SToken*
      pTagName, SNode* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3092,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3094,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 3100
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3100
    functionName: createShowStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowStmt(SAstCreateContext* pCxt, ENodeType type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:160,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:164,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:162,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:163,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:165,1
    - Dst: invalidStrongPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:168,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:169,1
    - Dst: invalidPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:172,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pCxt
    - pPasswordToken
    - pPassword
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    constantsTouched: []
    func_position:
      end: 179
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 179
    functionName: checkPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - invalidStrongPassword
    - strncpy
    - strdequote
    - strtrim
    - invalidPassword
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkPassword(SAstCreateContext* pCxt, const SToken* pPasswordToken,
      char* pPassword) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:386,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:389,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:391,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:393,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:392,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:396,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:397,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:399,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:404,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:405,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:414,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:406,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 416
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 416
    functionName: releaseRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - snprintf
    - strncpy
    - nodesDestroyNode
    - nodesIsExprNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - TMIN
    - MurmurHash3_64
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * releaseRawExprNode(SAstCreateContext* pCxt, SNode* pNode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:840,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:865,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:848,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:842,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:843,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:869,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:870,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:874,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:876,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:879,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 891
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 891
    functionName: createDurationValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - taosStrndup
    - isdigit
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDurationValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1170,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1180,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1171,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1173,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1172,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1181,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1187,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1188,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - dt
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SDataType
    constantsTouched: []
    func_position:
      end: 1190
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1190
    functionName: createCastFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCastFunctionNode(SAstCreateContext* pCxt, SNode* pExpr,
      SDataType dt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1434,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1437,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1443,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1436,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pCol
    - pGap
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1445
    functionName: createSessionWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSessionWindowNode(SAstCreateContext* pCxt, SNode* pCol,
      SNode* pGap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2604,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2605,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2607,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2605,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2606,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2608,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2611,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2612,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2613,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2619,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pColName
    - dataType
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SDataType
    - SNode*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2621
    functionName: createColumnDefNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - COPY_STRING_FORM_ID_TOKEN
    - IS_VAR_DATA_TYPE
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createColumnDefNode(SAstCreateContext* pCxt, SToken* pColName,
      SDataType dataType, SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3015,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3019,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3016,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3016,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3018,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3021,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3023,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3025,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3026,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - pTagName
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3028
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3028
    functionName: createAlterTableSetTag
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableSetTag(SAstCreateContext* pCxt, SNode* pRealTable,
      SToken* pTagName, SNode* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3103,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3106,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 3111
      start: 3102
    functionDepth: 0
    functionLinenumber: 3102
    functionLinenumberEnd: 3111
    functionName: createShowStmtWithFull
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowStmtWithFull(SAstCreateContext* pCxt, ENodeType
      type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3515,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3517,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3516,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3516,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3518,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3519,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3525,1
    - Dst: checkPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3525,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3526,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3531,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3541,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3561,1
    - Dst: fillIpRangesFromWhiteList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3552,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3548,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3553,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3550,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3536,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3549,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - pCxt
    - pUserName
    - alterType
    - pAlterInfo
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t
    - void*
    constantsTouched: []
    func_position:
      end: 3563
      start: 3513
    functionDepth: 0
    functionLinenumber: 3513
    functionLinenumberEnd: 3563
    functionName: createAlterUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkUserName
    - CHECK_MAKE_NODE
    - LIST_LENGTH
    - taosMemoryMalloc
    - nodesDestroyNode
    - checkPassword
    - fillIpRangesFromWhiteList
    - CHECK_PARSER_STATUS
    - tstrncpy
    - taosStr2Int8
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_OUT_OF_MEM
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      int8_t alterType, void* pAlterInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3689,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3697,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3691,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3692,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3700,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3701,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3703,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3706,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3708,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3709,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3710,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3712,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3717,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3718,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3720,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3719,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3711,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 7
    argNames:
    - pCxt
    - type
    - ignoreExists
    - pIndexName
    - pRealTable
    - pCols
    - pOptions
    argTypes:
    - SAstCreateContext*
    - EIndexType
    - bool
    - SNode*
    - SNode*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3722
      start: 3687
    functionDepth: 0
    functionLinenumber: 3687
    functionLinenumberEnd: 3722
    functionName: createCreateIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - strlen
    - generateSyntaxErrMsg
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateIndexStmt(SAstCreateContext* pCxt, EIndexType
      type, bool ignoreExists, SNode* pIndexName, SNode* pRealTable, SNodeList* pCols,
      SNode* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2791,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2793,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2794,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - withOpt
    - pTables
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2801
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2801
    functionName: createDropTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropTableStmt(SAstCreateContext* pCxt, bool withOpt,
      SNodeList* pTables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1449,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1450,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1453,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1451,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1452,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1458,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1459,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1460,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1462
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1462
    functionName: createStateWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createStateWindowNode(SAstCreateContext* pCxt, SNode* pExpr,
      SNode* pTrueForLimit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3760,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3764,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3762,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3763,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    constantsTouched: []
    func_position:
      end: 3768
      start: 3759
    functionDepth: 0
    functionLinenumber: 3759
    functionLinenumberEnd: 3768
    functionName: createCreateComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateComponentNodeStmt(SAstCreateContext* pCxt, ENodeType
      type, const SToken* pDnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3782,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3784,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3785,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    constantsTouched: []
    func_position:
      end: 3790
      start: 3781
    functionDepth: 0
    functionLinenumber: 3781
    functionLinenumberEnd: 3790
    functionName: createRestoreComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRestoreComponentNodeStmt(SAstCreateContext* pCxt, ENodeType
      type, const SToken* pDnodeId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3877,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3880,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3879,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3881,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3888
      start: 3876
    functionDepth: 0
    functionLinenumber: 3876
    functionLinenumberEnd: 3888
    functionName: createAlterClusterStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterClusterStmt(SAstCreateContext* pCxt, const SToken*
      pConfig, const SToken* pValue) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - tokenType
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4092
      start: 4076
    functionDepth: 0
    functionLinenumber: 4076
    functionLinenumberEnd: 4092
    functionName: getTriggerType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getTriggerType(uint32_t tokenType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4581,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4588,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4583,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4584,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pFuncs
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4590
      start: 4580
    functionDepth: 0
    functionLinenumber: 4580
    functionLinenumberEnd: 4590
    functionName: createTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTSMAOptions(SAstCreateContext* pCxt, SNodeList* pFuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1466,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1470,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1467,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1468,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1469,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1476,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1477,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1478,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pStartCond
    - pEndCond
    - pTrueForLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1464
    functionDepth: 0
    functionLinenumber: 1464
    functionLinenumberEnd: 1481
    functionName: createEventWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createEventWindowNode(SAstCreateContext* pCxt, SNode* pStartCond,
      SNode* pEndCond, SNode* pTrueForLimit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3771,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3773,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3774,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - type
    - pDnodeId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    constantsTouched: []
    func_position:
      end: 3779
      start: 3770
    functionDepth: 0
    functionLinenumber: 3770
    functionLinenumberEnd: 3779
    functionName: createDropComponentNodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropComponentNodeStmt(SAstCreateContext* pCxt, ENodeType
      type, const SToken* pDnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3793,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3794,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3796,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3794,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3797,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3798,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3805
      start: 3792
    functionDepth: 0
    functionLinenumber: 3792
    functionLinenumberEnd: 3805
    functionName: createCreateTopicStmtUseQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - checkTopicName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateTopicStmtUseQuery(SAstCreateContext* pCxt, bool
      ignoreExists, SToken* pTopicName, SNode* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3891,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3893,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3894,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3897,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3895,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3902
      start: 3890
    functionDepth: 0
    functionLinenumber: 3890
    functionLinenumberEnd: 3902
    functionName: createAlterLocalStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterLocalStmt(SAstCreateContext* pCxt, const SToken*
      pConfig, const SToken* pValue) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4097,1
    - Dst: getTriggerType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4105,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4099,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4120,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4123,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4126,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4131,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 24
    argCount: 6
    argNames:
    - pCxt
    - pOptions
    - setflag
    - pToken
    - pNode
    - runHistoryAsync
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EStreamOptionsSetFlag
    - SToken*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 4134
      start: 4094
    functionDepth: 0
    functionLinenumber: 4094
    functionLinenumberEnd: 4134
    functionName: setStreamOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - BIT_FLAG_TEST_MASK
    - taosStr2Int8
    - getTriggerType
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setStreamOptions(SAstCreateContext* pCxt, SNode* pOptions,
      EStreamOptionsSetFlag setflag, SToken* pToken, SNode* pNode, bool runHistoryAsync) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4593,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4595,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 4600
      start: 4592
    functionDepth: 0
    functionLinenumber: 4592
    functionLinenumberEnd: 4600
    functionName: createDefaultTSMAOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultTSMAOptions(SAstCreateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2804,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2808,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2806,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2809,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2807,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2812,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2815,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2817
    functionName: createDropSuperTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropSuperTableStmt(SAstCreateContext* pCxt, bool withOpt,
      bool ignoreNotExists, SNode* pRealTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:307,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: checkViewName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkViewName(SAstCreateContext* pCxt, SToken* pViewName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:346,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:349,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:348,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pToken
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: createRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRawExprNode(SAstCreateContext* pCxt, const SToken* pToken,
      SNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:482,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:487,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:483,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:483,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:488,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:490,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:492,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pTableAlias
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 496
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 496
    functionName: createColumnNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_PARSER_STATUS
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createColumnNode(SAstCreateContext* pCxt, SToken* pTableAlias,
      SToken* pColumnName) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:656,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:668,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:665,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:662,1
    - Dst: hasHint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:659,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:675,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:683,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:685,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:690,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 36
    argCount: 5
    argNames:
    - pCxt
    - ppHintList
    - opt
    - paramList
    - paramNum
    argTypes:
    - SAstCreateContext*
    - SNodeList**
    - EHintOption
    - SToken*
    - int32_t
    constantsTouched: []
    func_position:
      end: 696
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 696
    functionName: addHintNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - hasHint
    - nodesMakeList
    - nodesListStrictAppend
    - nodesMakeNode
    linkageType: ''
    returnType: bool
    signature: 'bool addHintNodeToList(SAstCreateContext* pCxt, SNodeList** ppHintList,
      EHintOption opt, SToken* paramList, int32_t paramNum) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1016,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1024,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1019,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1022,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1018,1
    - Dst: addParamToLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1027,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1030,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1035,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1036,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - type
    - pParam1
    - pParam2
    argTypes:
    - SAstCreateContext*
    - ELogicConditionType
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1038
    functionName: createLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - addParamToLogicConditionNode
    - CHECK_PARSER_STATUS
    - nodesMakeList
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createLogicConditionNode(SAstCreateContext* pCxt, ELogicConditionType
      type, SNode* pParam1, SNode* pParam2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1591,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1596,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1594,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1593,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1596,1
    - Dst: createInterpTimeAround
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1599,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1603,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1604,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1606
    functionName: createInterpTimeRange
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createBetweenAnd
    - createPrimaryKeyCol
    - createInterpTimeAround
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createInterpTimeRange(SAstCreateContext* pCxt, SNode* pStart,
      SNode* pEnd, SNode* pInterval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1759,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1763,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1768,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1769,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pSlimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1771
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1771
    functionName: addSlimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addSlimitClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pSlimit) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2204,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2215,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2216,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2213,1
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pAlterOption
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SAlterOption*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2203
    functionDepth: 0
    functionLinenumber: 2203
    functionLinenumberEnd: 2218
    functionName: setAlterDatabaseOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - nodesDestroyNode
    - setDatabaseOptionImpl
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setAlterDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions,
      SAlterOption* pAlterOption) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1609,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1610,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1610,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pPoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1614
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1614
    functionName: createInterpTimePoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - createPrimaryKeyCol
    - nodesDestroyNode
    - createOperatorNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createInterpTimePoint(SAstCreateContext* pCxt, SNode* pPoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:316,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: checkStreamName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkStreamName(SAstCreateContext* pCxt, SToken* pStreamName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:360,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:362,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:369,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pNode
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 371
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 371
    functionName: createRawExprNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRawExprNodeExt(SAstCreateContext* pCxt, const SToken*
      pStart, const SToken* pEnd, SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - buf
    - bufLen
    - pToken
    - trim
    argTypes:
    - char*
    - int32_t
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 512
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 512
    functionName: copyValueTrimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - TMIN
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void copyValueTrimEscape(char* buf, int32_t bufLen, const SToken*
      pToken, bool trim) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:699,1
    - Dst: addHintNodeToList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:799,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:828,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:704,1
    - Dst: tGetToken
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:718,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 100
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 832
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 832
    functionName: createHintNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - addHintNodeToList
    - tGetToken
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList*
    signature: 'SNodeList * createHintNodeList(SAstCreateContext* pCxt, const SToken*
      pLiteral) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - orgType
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1051
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1051
    functionName: getMinusDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t getMinusDataType(uint8_t orgType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1774,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1785,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1786,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1778,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1788
    functionName: addLimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addLimitClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pLimit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2221,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2224,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2222,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2222,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2225,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2226,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: createCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateDatabaseStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pDbName, SNode* pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2520,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2521,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2521,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2525,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2524,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2527,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2529,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2530,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pColName
    - pRef
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2535
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2535
    functionName: createColumnRefNodeByNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - CHECK_PARSER_STATUS
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createColumnRefNodeByNode(SAstCreateContext* pCxt, SToken*
      pColName, SNode* pRef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2693,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2696,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2698,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2697,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2703,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2706,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2707,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2708,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2709,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pCols
    - pTags
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2711
      start: 2691
    functionDepth: 0
    functionLinenumber: 2691
    functionLinenumberEnd: 2711
    functionName: createCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pCols, SNodeList* pTags, SNode* pOptions) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:102,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 109
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 109
    functionName: checkUserName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkUserName(SAstCreateContext* pCxt, SToken* pUserName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:328,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pCommentToken
    - demand
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: checkComment
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkComment(SAstCreateContext* pCxt, const SToken* pCommentToken,
      bool demand) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2764,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2766,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2771,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2767,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pSubTables
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2773
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2773
    functionName: createCreateMultiTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateMultiTableStmt(SAstCreateContext* pCxt, SNodeList*
      pSubTables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2843,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2846,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2849,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2851,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2845,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2854
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2854
    functionName: createAlterTableModifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableModifyOptions(SAstCreateContext* pCxt, SNode*
      pRealTable, SNode* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3632,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3635,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3634,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3636,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pUrl
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3640
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3640
    functionName: createCreateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pUrl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3847,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3851,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3850,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3848,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3848,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3852,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - pTopicName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 3858
      start: 3846
    functionDepth: 0
    functionLinenumber: 3846
    functionLinenumberEnd: 3858
    functionName: createDropTopicStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkTopicName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropTopicStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pTopicName, bool force) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4301,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4302,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4304,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4305,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4302,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - ignoreNotExists
    - ignoreUntreated
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 4312
      start: 4299
    functionDepth: 0
    functionLinenumber: 4299
    functionLinenumberEnd: 4312
    functionName: createResumeStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkStreamName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createResumeStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      bool ignoreUntreated, SToken* pStreamName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:114,1
    - Dst: regexec
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:119,1
    - Dst: regfree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pPassword
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: invalidPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - regcomp
    - regexec
    - regfree
    linkageType: ''
    returnType: bool
    signature: 'static bool invalidPassword(const char* pPassword) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:334,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:338,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:337,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pCxt
    - pTsmaToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: checkTsmaName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strlen
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkTsmaName(SAstCreateContext* pCxt, SToken* pTsmaToken) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2776,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2780,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2781,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2779,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2778,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2783,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2786,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2788
    functionName: createDropTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropTableClause(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2858,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2862,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2859,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2861,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2859,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2864,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2866,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2868,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - dataType
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SDataType
    constantsTouched: []
    func_position:
      end: 2870
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2870
    functionName: createAlterTableAddModifyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableAddModifyCol(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName, SDataType dataType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3643,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3646,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3648,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3645,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pAnode
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3655
      start: 3642
    functionDepth: 0
    functionLinenumber: 3642
    functionLinenumberEnd: 3655
    functionName: createDropAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pAnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3861,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3862,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3862,1
    - Dst: checkCGroupName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3863,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3863,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3865,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3866,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3869,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3870,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - ignoreNotExists
    - pCGroupId
    - pTopicName
    - force
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 3874
      start: 3860
    functionDepth: 0
    functionLinenumber: 3860
    functionLinenumberEnd: 3874
    functionName: createDropCGroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkTopicName
    - CHECK_PARSER_STATUS
    - checkCGroupName
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropCGroupStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pCGroupId, SToken* pTopicName, bool force) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4315,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4316,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4319,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4316,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4318,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 4325
      start: 4314
    functionDepth: 0
    functionLinenumber: 4314
    functionLinenumberEnd: 4325
    functionName: createResetStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkStreamName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createResetStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pStreamName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4422,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4424,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4425,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pVgId
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4430
      start: 4421
    functionDepth: 0
    functionLinenumber: 4421
    functionLinenumberEnd: 4430
    functionName: createSplitVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSplitVgroupStmt(SAstCreateContext* pCxt, const SToken*
      pVgId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:206,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:212,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:214,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:211,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:210,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:217,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:220,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:223,1
    - Dst: parsePort
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:224,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pEp
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 225
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 225
    functionName: parseEndpoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strncpy
    - strchr
    - strdequote
    - strtrim
    - parsePort
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseEndpoint(SAstCreateContext* pCxt, const SToken*
      pEp, char* pFqdn, int32_t* pPort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1558,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1565,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1564,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1560,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1559,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1566,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1569,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - mode
    - pValues
    argTypes:
    - SAstCreateContext*
    - EFillMode
    - SNode*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1572
    functionName: createFillNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createFillNode(SAstCreateContext* pCxt, EFillMode mode, SNode*
      pValues) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1853,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1863,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pWinOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1865
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1865
    functionName: addWindowOffsetClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addWindowOffsetClause(SAstCreateContext* pCxt, SNode* pJoin,
      SNode* pWinOffset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1882,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - bSelectTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 1890
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1890
    functionName: setSelectStmtTagMode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setSelectStmtTagMode(SAstCreateContext* pCxt, SNode* pStmt,
      bool bSelectTags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2236,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2237,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2240,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2237,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2239,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pDbName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2246
    functionName: createDropDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropDatabaseStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pDbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2538,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2541,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SAstCreateContext*
    - SToken
    constantsTouched: []
    func_position:
      end: 2548
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2548
    functionName: createTokenTriplet
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_OUT_OF_MEM
    - taosMemoryMalloc
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: STokenTriplet*
    signature: 'STokenTriplet * createTokenTriplet(SAstCreateContext* pCxt, SToken
      pName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2665,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2670,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2667,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2669,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2668,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2671,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2672,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2678,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2679,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2682,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2683,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2686,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2684,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2687,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2685,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 8
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pSpecificColRefs
    - pColRefs
    - pUseRealTable
    - pSpecificTags
    - pValsOfTags
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2689
      start: 2662
    functionDepth: 0
    functionLinenumber: 2662
    functionLinenumberEnd: 2689
    functionName: createCreateVSubTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - strcpy
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateVSubTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pSpecificColRefs, SNodeList* pColRefs, SNode*
      pUseRealTable, SNodeList* pSpecificTags, SNodeList* pValsOfTags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3226,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3229,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3227,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3230,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3227,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3235
      start: 3225
    functionDepth: 0
    functionLinenumber: 3225
    functionLinenumberEnd: 3235
    functionName: createShowCreateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCreateDatabaseStmt(SAstCreateContext* pCxt, SToken*
      pDbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parsePort
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:235,1
    - Dst: parseEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:239,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pEp
    - pPortToken
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 243
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 243
    functionName: checkAndSplitEndpoint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - parsePort
    - parseEndpoint
    linkageType: ''
    returnType: bool
    signature: 'static bool checkAndSplitEndpoint(SAstCreateContext* pCxt, const SToken*
      pEp, const SToken* pPortToken, char* pFqdn, int32_t* pPort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1576,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1578,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1577,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1582,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1581,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1585,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1574
    functionDepth: 0
    functionLinenumber: 1574
    functionLinenumberEnd: 1588
    functionName: createGroupingSetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createGroupingSetNode(SAstCreateContext* pCxt, SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1869,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1875,1
    - Dst: createSelectStmtImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1871,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1876,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1872,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1877,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 5
    argNames:
    - pCxt
    - isDistinct
    - pProjectionList
    - pTable
    - pHint
    argTypes:
    - SAstCreateContext*
    - bool
    - SNodeList*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1879
      start: 1867
    functionDepth: 0
    functionLinenumber: 1867
    functionLinenumberEnd: 1879
    functionName: createSelectStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - createSelectStmtImpl
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSelectStmt(SAstCreateContext* pCxt, bool isDistinct,
      SNodeList* pProjectionList, SNode* pTable, SNodeList* pHint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 1896
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1896
    functionName: setSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: void
    signature: 'static void setSubquery(SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2249,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2253,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2252,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2250,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2250,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2254,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2260
    functionName: createAlterDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pTokenTri
    - pName
    argTypes:
    - SAstCreateContext*
    - STokenTriplet*
    - SToken
    constantsTouched: []
    func_position:
      end: 2563
      start: 2550
    functionDepth: 0
    functionLinenumber: 2550
    functionLinenumberEnd: 2563
    functionName: setColumnName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: STokenTriplet*
    signature: 'STokenTriplet * setColumnName(SAstCreateContext* pCxt, STokenTriplet*
      pTokenTri, SToken pName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3238,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3252,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3246,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3252,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3256,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3257,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3263,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3268,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 3270
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3270
    functionName: createShowAliveStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - strlen
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowAliveStmt(SAstCreateContext* pCxt, SNode* pNode,
      ENodeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3315,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3320,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3319,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3321,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3324,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3326
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3326
    functionName: createShowTableDistributedStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowTableDistributedStmt(SAstCreateContext* pCxt, SNode*
      pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4433,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4435,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4440
      start: 4432
    functionDepth: 0
    functionLinenumber: 4432
    functionLinenumberEnd: 4440
    functionName: createSyncdbStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSyncdbStmt(SAstCreateContext* pCxt, const SToken* pDbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pParseCxt
    - pCxt
    argTypes:
    - SParseContext*
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: initAstCreateContext
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void initAstCreateContext(SParseContext* pParseCxt, SAstCreateContext*
      pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1485,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1489,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1487,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1486,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1488,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1490,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1491,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pCountToken
    - pSlidingToken
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1496
    functionName: createCountWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - taosStr2Int64
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCountWindowNode(SAstCreateContext* pCxt, const SToken*
      pCountToken, const SToken* pSlidingToken) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1617,1
    - Dst: createInterpTimePoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1622,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1619,1
    - Dst: createBetweenAnd
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1624,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1620,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1624,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1627,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pStart
    - pEnd
    - pInterval
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1631
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1631
    functionName: createInterpTimeAround
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_PARSER_STATUS
    - createBetweenAnd
    - createPrimaryKeyCol
    - createInterpTimePoint
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createInterpTimeAround(SAstCreateContext* pCxt, SNode* pStart,
      SNode* pEnd, SNode* pInterval) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3329,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3331,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3338,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3337,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3340
      start: 3328
    functionDepth: 0
    functionLinenumber: 3328
    functionLinenumberEnd: 3340
    functionName: createShowDnodeVariablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowDnodeVariablesStmt(SAstCreateContext* pCxt, SNode*
      pDnodeId, SNode* pLikePattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3566,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3567,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3569,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3567,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3570,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pUserName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3575
      start: 3565
    functionDepth: 0
    functionLinenumber: 3565
    functionLinenumberEnd: 3575
    functionName: createDropUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkUserName
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropUserStmt(SAstCreateContext* pCxt, SToken* pUserName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3925,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3930
      start: 3924
    functionDepth: 0
    functionLinenumber: 3924
    functionLinenumberEnd: 3930
    functionName: setExplainRatio
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Double
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setExplainRatio(SAstCreateContext* pCxt, SNode* pOptions,
      const SToken* pVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3972,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3974,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3977,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pLanguageToken
    - pLanguage
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 3981
      start: 3971
    functionDepth: 0
    functionLinenumber: 3971
    functionLinenumberEnd: 3981
    functionName: convertUdfLanguageType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - generateSyntaxErrMsgExt
    - strncasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertUdfLanguageType(SAstCreateContext* pCxt, const
      SToken* pLanguageToken, int8_t* pLanguage) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4047,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4052,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4049,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4053,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4050,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4054,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pView
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 4059
      start: 4046
    functionDepth: 0
    functionLinenumber: 4046
    functionLinenumberEnd: 4059
    functionName: createDropViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropViewStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pView) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: trimEscape
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void trimEscape(SAstCreateContext* pCxt, SToken* pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1500,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1501,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1504,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1502,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1503,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1507,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1509,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pFuncOpt
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1515
    functionName: createAnomalyWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - trimString
    - tstrncpy
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAnomalyWindowNode(SAstCreateContext* pCxt, SNode* pExpr,
      const SToken* pFuncOpt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1634,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1642,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1636,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1637,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pWhen
    - pThen
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1645
    functionName: createWhenThenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createWhenThenNode(SAstCreateContext* pCxt, SNode* pWhen,
      SNode* pThen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3343,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3345,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3352,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3346,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pDnodeId
    - pDnodeEndpoint
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3354
      start: 3342
    functionDepth: 0
    functionLinenumber: 3342
    functionLinenumberEnd: 3354
    functionName: createShowVnodesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowVnodesStmt(SAstCreateContext* pCxt, SNode* pDnodeId,
      SNode* pDnodeEndpoint) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3578,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3581,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3583,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3582,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3580,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pFqdn
    - pPort
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3589
      start: 3577
    functionDepth: 0
    functionLinenumber: 3577
    functionLinenumberEnd: 3589
    functionName: createCreateDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - checkAndSplitEndpoint
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pFqdn, const SToken* pPort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3933,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3936,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3943,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3942,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pCxt
    - analyze
    - pOptions
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3945
      start: 3932
    functionDepth: 0
    functionLinenumber: 3932
    functionLinenumberEnd: 3945
    functionName: createExplainStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createExplainStmt(SAstCreateContext* pCxt, bool analyze, SNode*
      pOptions, SNode* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3986,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3995,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3989,1
    - Dst: convertUdfLanguageType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3992,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3993,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3996,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3999,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4001,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 9
    argNames:
    - pCxt
    - ignoreExists
    - aggFunc
    - pFuncName
    - pLibPath
    - dataType
    - bufSize
    - pLanguage
    - orReplace
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SToken*
    - SToken*
    - SDataType
    - int32_t
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 4008
      start: 3983
    functionDepth: 0
    functionLinenumber: 3983
    functionLinenumberEnd: 4008
    functionName: createCreateFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - convertUdfLanguageType
    - CHECK_MAKE_NODE
    - COPY_STRING_FORM_STR_TOKEN
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateFunctionStmt(SAstCreateContext* pCxt, bool ignoreExists,
      bool aggFunc, const SToken* pFuncName, const SToken* pLibPath, SDataType dataType,
      int32_t bufSize, const SToken* pLanguage, bool orReplace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4062,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4064,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 4074
      start: 4061
    functionDepth: 0
    functionLinenumber: 4061
    functionLinenumberEnd: 4074
    functionName: createStreamOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createStreamOptions(SAstCreateContext* pCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4142,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4144,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4143,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4143,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - url
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4150
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4150
    functionName: validateNotifyUrl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - ARRAY_SIZE
    - strlen
    - taosStrncasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool validateNotifyUrl(const char* url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1520,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1521,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1522,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1524,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1523,1
    - Dst: TAOS_SET_OBJ_ALIGNED
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1529,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1533,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1535,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1536,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - pCxt
    - pInterval
    - pOffset
    - pSliding
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1539
    functionName: createIntervalWindowNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - TAOS_SET_OBJ_ALIGNED
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createIntervalWindowNode(SAstCreateContext* pCxt, SNode* pInterval,
      SNode* pOffset, SNode* pSliding, SNode* pFill) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2033,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2036,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2044,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2075,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2091,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2105,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2117,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2119,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2130,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2144,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2164,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2183,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2039,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2046,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2051,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2078,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2063,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2142,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2153,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2155,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2168,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2173,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2149,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2030,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2054,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2066,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2082,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2085,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2072,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2097,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2101,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2109,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2128,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2159,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2193,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2137,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2026,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2057,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2088,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2069,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2112,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2122,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2133,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2185,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2175,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 127
    argCount: 5
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    - alter
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 2195
      start: 2024
    functionDepth: 0
    functionLinenumber: 2024
    functionLinenumberEnd: 2195
    functionName: setDatabaseOptionImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - snprintf
    - nodesDestroyNode
    - createDurationValueNode
    - CHECK_PARSER_STATUS
    - taosStr2Int32
    - taosStr2Int8
    - updateWalOptionsDefault
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * setDatabaseOptionImpl(SAstCreateContext* pCxt, SNode*
      pOptions, EDatabaseOptionType type, void* pVal, bool alter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2263,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2264,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2267,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2264,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2266,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2272
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2272
    functionName: createFlushDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createFlushDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2UInt8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2638,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2639,1
    - Dst: decimalTypeFromPrecision
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2640,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - type
    - pPrecisionToken
    - pScaleToken
    argTypes:
    - uint8_t
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2643
      start: 2636
    functionDepth: 0
    functionLinenumber: 2636
    functionLinenumberEnd: 2643
    functionName: createDecimalDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - decimalTypeFromPrecision
    - taosStr2UInt8
    linkageType: ''
    returnType: SDataType
    signature: 'SDataType createDecimalDataType(uint8_t type, const SToken* pPrecisionToken,
      const SToken* pScaleToken) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2968,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2969,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2971,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2969,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2972,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2974,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2975,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2976,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2977,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2978,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pRef
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2966
    functionDepth: 0
    functionLinenumber: 2966
    functionLinenumberEnd: 2982
    functionName: createAlterTableAlterColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableAlterColRef(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName, SNode* pRef) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3357,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3364,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3365,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3361,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3359,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3371,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3372,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pTbName
    - pDbName
    - pTags
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3375
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3375
    functionName: createShowTableTagsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowTableTagsStmt(SAstCreateContext* pCxt, SNode* pTbName,
      SNode* pDbName, SNodeList* pTags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3809,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3810,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3810,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3811,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3811,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3813,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3814,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3815,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pSubDbName
    - withMeta
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SToken*
    - int8_t
    constantsTouched: []
    func_position:
      end: 3822
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3822
    functionName: createCreateTopicStmtUseDb
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkTopicName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateTopicStmtUseDb(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pTopicName, SToken* pSubDbName, int8_t withMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4329,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4333,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4332,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4331,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - type
    - pId
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SToken*
    constantsTouched: []
    func_position:
      end: 4337
      start: 4328
    functionDepth: 0
    functionLinenumber: 4328
    functionLinenumberEnd: 4337
    functionName: createKillStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createKillStmt(SAstCreateContext* pCxt, ENodeType type, const
      SToken* pId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1543,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1551,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1544,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1550,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1545,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - pStartOffset
    - pEndOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1554
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1554
    functionName: createWindowOffsetNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createWindowOffsetNode(SAstCreateContext* pCxt, SNode* pStartOffset,
      SNode* pEndOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setDatabaseOptionImpl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EDatabaseOptionType
    - void*
    constantsTouched: []
    func_position:
      end: 2201
      start: 2199
    functionDepth: 0
    functionLinenumber: 2199
    functionLinenumberEnd: 2201
    functionName: setDatabaseOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - setDatabaseOptionImpl
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions,
      EDatabaseOptionType type, void* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2275,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2276,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2276,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2279,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2278,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - maxSpeed
    argTypes:
    - SAstCreateContext*
    - SToken*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2285
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2285
    functionName: createTrimDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTrimDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName,
      int32_t maxSpeed) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2647,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2650,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2648,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2649,1
    - Dst: strcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2651,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2654,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2657,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2658,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pCols
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 2660
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2660
    functionName: createCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - strcpy
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateVTableStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNodeList* pCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2986,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2990,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2987,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2989,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2987,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2992,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2993,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2997
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2997
    functionName: createAlterTableRemoveColRef
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableRemoveColRef(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pColName, const SToken* pLiteral) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3385,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3381,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pCompactId
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3387
      start: 3377
    functionDepth: 0
    functionLinenumber: 3377
    functionLinenumberEnd: 3387
    functionName: createShowCompactDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCompactDetailsStmt(SAstCreateContext* pCxt, SNode*
      pCompactId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3826,1
    - Dst: checkTopicName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3827,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3829,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3827,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3830,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3831,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3836,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3837,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3838,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3841,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3842,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - pTopicName
    - pRealTable
    - withMeta
    - pWhere
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - int8_t
    - SNode*
    constantsTouched: []
    func_position:
      end: 3844
      start: 3824
    functionDepth: 0
    functionLinenumber: 3824
    functionLinenumberEnd: 3844
    functionName: createCreateTopicStmtUseTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - checkTopicName
    - CHECK_PARSER_STATUS
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateTopicStmtUseTable(SAstCreateContext* pCxt, bool
      ignoreExists, SToken* pTopicName, SNode* pRealTable, int8_t withMeta, SNode*
      pWhere) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4340,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4342,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4344,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pQueryId
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4348
      start: 4339
    functionDepth: 0
    functionLinenumber: 4339
    functionLinenumberEnd: 4348
    functionName: createKillQueryStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimString
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createKillQueryStmt(SAstCreateContext* pCxt, const SToken*
      pQueryId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1194,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1195,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1197,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1196,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1198,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1199,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1200,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1201,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1204,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1205,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1208
    functionName: createPositionFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createPositionFunctionNode(SAstCreateContext* pCxt, SNode*
      pExpr, SNode* pExpr2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2455,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2458,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2459,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2460,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pRef
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2465
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2465
    functionName: setColumnReference
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setColumnReference(SAstCreateContext* pCxt, SNode* pOptions,
      SNode* pRef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3390,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3397,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3392,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3393,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pTransactionIdNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3399
      start: 3389
    functionDepth: 0
    functionLinenumber: 3389
    functionLinenumberEnd: 3399
    functionName: createShowTransactionDetailsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowTransactionDetailsStmt(SAstCreateContext* pCxt,
      SNode* pTransactionIdNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1212,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1213,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1214,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1217,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1215,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1222,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETrimType
    constantsTouched: []
    func_position:
      end: 1225
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1225
    functionName: createTrimFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTrimFunctionNode(SAstCreateContext* pCxt, SNode* pExpr,
      ETrimType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2468,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pCxt
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2474
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2474
    functionName: setColumnOptionsPK
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setColumnOptionsPK(SAstCreateContext* pCxt, SNode* pOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4488,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4490,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4492,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4489,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4491,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4493,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4494,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4495,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - char*
    constantsTouched: []
    func_position:
      end: 4500
      start: 4486
    functionDepth: 0
    functionLinenumber: 4486
    functionLinenumberEnd: 4500
    functionName: createFuncForDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createFuncForDelete(SAstCreateContext* pCxt, const char* pFuncName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4524,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4532,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4527,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4531,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4526,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4533,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4534,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4538,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4539,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4540,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pTable
    - pCols
    - pQuery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4542
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4542
    functionName: createInsertStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createInsertStmt(SAstCreateContext* pCxt, SNode* pTable, SNodeList*
      pCols, SNode* pQuery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:248,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:251,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:253,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - demandDb
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 257
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 257
    functionName: checkDbName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkDbName(SAstCreateContext* pCxt, SToken* pDbName,
      bool demandDb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:515,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:521,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:518,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:519,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:517,1
    - Dst: copyValueTrimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:524,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:527,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:528,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:531,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:531,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 3
    argNames:
    - pCxt
    - dataType
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    constantsTouched: []
    func_position:
      end: 541
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 541
    functionName: createValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - taosMemoryMalloc
    - nodesDestroyNode
    - trimString
    - copyValueTrimEscape
    - CHECK_PARSER_STATUS
    - strlen
    - IS_VAR_DATA_TYPE
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createValueNode(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:970,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:977,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:972,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:978,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:976,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:981,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:986,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:988,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:992,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:994,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:995,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1001
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 1001
    functionName: createPlaceholderValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - taosStrndup
    - taosArrayDestroy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - taosArrayPush
    - generateSyntaxErrMsg
    - nodesMakeNode
    - taosArrayInit
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createPlaceholderValueNode(SAstCreateContext* pCxt, const
      SToken* pLiteral) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1385,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1386,1
    - Dst: checkViewName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1387,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1387,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1386,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1389,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1390,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1392,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1394,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pViewName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1400
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1400
    functionName: createViewNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - checkViewName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createViewNode(SAstCreateContext* pCxt, SToken* pDbName, SToken*
      pViewName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1340,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1346,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1349,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1341,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1345,1
    - Dst: taosRandStr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1351,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1353,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1354,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1356,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1357,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1361,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pCxt
    - pSubquery
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1363
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1363
    functionName: createTempTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - taosRandStr
    - tstrncpy
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTempTableNode(SAstCreateContext* pCxt, SNode* pSubquery,
      SToken* pTableAlias) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1791,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1797,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1794,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1804,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1793,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1805,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pRange
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1807
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1807
    functionName: addRangeClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - TSWAP
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addRangeClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2820,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2825,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2824,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2822,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2823,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2828,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - withOpt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2833
    functionName: createDropVirtualTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropVirtualTableStmt(SAstCreateContext* pCxt, bool withOpt,
      bool ignoreNotExists, SNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3114,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3117,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pCxt
    - type
    argTypes:
    - SAstCreateContext*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 3121
      start: 3113
    functionDepth: 0
    functionLinenumber: 3113
    functionLinenumberEnd: 3121
    functionName: createShowCompactsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCompactsStmt(SAstCreateContext* pCxt, ENodeType
      type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:260,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:263,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pTableName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: checkTableName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkTableName(SAstCreateContext* pCxt, SToken* pTableName) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:544,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:548,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:552,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:554,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:546,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:559,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:560,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:563,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:565,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:569,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:573,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:585,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:578,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:590,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 4
    argNames:
    - pCxt
    - dataType
    - pLiteral
    - pNode
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 592
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 592
    functionName: createRawValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStrndup
    - nodesDestroyNode
    - nodesIsExprNode
    - CHECK_PARSER_STATUS
    - strlen
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRawValueNode(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1004,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1008,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1006,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pCond
    - pParam
    argTypes:
    - SLogicConditionNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1013
    functionName: addParamToLogicConditionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodeType
    - nodesListAppendList
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addParamToLogicConditionNode(SLogicConditionNode* pCond,
      SNode* pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1367,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1369,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1378,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1379,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1370,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 6
    argNames:
    - pCxt
    - type
    - stype
    - pLeft
    - pRight
    - pJoinCond
    argTypes:
    - SAstCreateContext*
    - EJoinType
    - EJoinSubType
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1382
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1382
    functionName: createJoinTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createJoinTableNode(SAstCreateContext* pCxt, EJoinType type,
      EJoinSubType stype, SNode* pLeft, SNode* pRight, SNode* pJoinCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1403,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1405,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pLimit
    - pOffset
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1402
    functionDepth: 0
    functionLinenumber: 1402
    functionLinenumberEnd: 1414
    functionName: createLimitNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createLimitNode(SAstCreateContext* pCxt, SNode* pLimit, SNode*
      pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1810,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1811,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1817,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pEvery
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1819
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1819
    functionName: addEveryClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addEveryClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pEvery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2836,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2838,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pRealTable
    - pStmt
    argTypes:
    - SNode*
    - SAlterTableStmt*
    constantsTouched: []
    func_position:
      end: 2840
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2840
    functionName: createAlterTableStmtFinalize
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - tstrncpy
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createAlterTableStmtFinalize(SNode* pRealTable, SAlterTableStmt*
      pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - showKind
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EShowKind
    constantsTouched: []
    func_position:
      end: 3130
      start: 3123
    functionDepth: 0
    functionLinenumber: 3123
    functionLinenumberEnd: 3130
    functionName: setShowKind
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setShowKind(SAstCreateContext* pCxt, SNode* pStmt, EShowKind
      showKind) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3404,1
    - Dst: strchr
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3406,1
    - Dst: uv_inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3427,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3412,1
    - Dst: uv_inet_pton
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3410,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - ipRange
    - pIpRange
    argTypes:
    - char*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 3439
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3439
    functionName: getIpV4RangeFromWhitelistItem
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strchr
    - taosStr2int32
    - taosStrdup
    - uv_inet_pton
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getIpV4RangeFromWhitelistItem(char* ipRange, SIpV4Range*
      pIpRange) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4191,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4194,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4202,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4160,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4170,1
    - Dst: validateNotifyUrl
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4174,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4181,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4182,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4189,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4201,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4187,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4192,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4191,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4211,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4158,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4168,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4162,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4166,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4175,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4190,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4189,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4207,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4210,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - pAddrUrls
    - pEventTypes
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4213
      start: 4152
    functionDepth: 0
    functionLinenumber: 4152
    functionLinenumberEnd: 4213
    functionName: createStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - generateSyntaxErrMsgExt
    - BIT_FLAG_SET_MASK
    - CHECK_MAKE_NODE
    - validateNotifyUrl
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - strlen
    - FOREACH
    - taosStrncasecmp
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createStreamNotifyOptions(SAstCreateContext* pCxt, SNodeList*
      pAddrUrls, SNodeList* pEventTypes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1300,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1302,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1304,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1301,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1303,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1305,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1306,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1309,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1310,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - p1
    - p2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1313
    functionName: createNodeListNodeEx
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesListMakeStrictAppend
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesListStrictAppend
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createNodeListNodeEx(SAstCreateContext* pCxt, SNode* p1, SNode*
      p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2936,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2937,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2940,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2939,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2937,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2942,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2943,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2945,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    constantsTouched: []
    func_position:
      end: 2947
      start: 2935
    functionDepth: 0
    functionLinenumber: 2935
    functionLinenumberEnd: 2947
    functionName: createAlterTableDropCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableDropCol(SAstCreateContext* pCxt, SNode* pRealTable,
      int8_t alterType, SToken* pColName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3134,1
    - Dst: needDbShowStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3135,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3141,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3136,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3138,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3142,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3148,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - type
    - pDbName
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    - SNode*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 3151
      start: 3132
    functionDepth: 0
    functionLinenumber: 3132
    functionLinenumberEnd: 3151
    functionName: createShowStmtWithCond
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - needDbShowStmt
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowStmtWithCond(SAstCreateContext* pCxt, ENodeType
      type, SNode* pDbName, SNode* pTbName, EOperatorType tableCondType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4274,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4275,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4277,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4275,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4278,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4279,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 4284
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4284
    functionName: createDropStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkStreamName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pStreamName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4504,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4510,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4505,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4509,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4506,1
    - Dst: createFuncForDelete
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4511,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4512,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4513,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4514,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4517,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4518,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4519,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pCxt
    - pTable
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4521
      start: 4502
    functionDepth: 0
    functionLinenumber: 4502
    functionLinenumberEnd: 4521
    functionName: createDeleteStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - createFuncForDelete
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDeleteStmt(SAstCreateContext* pCxt, SNode* pTable, SNode*
      pWhere) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3301,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3303,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3305,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3306,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3307,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    constantsTouched: []
    func_position:
      end: 3312
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3312
    functionName: createShowCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCreateViewStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4547,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4548,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4549,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4550,1
    - Dst: checkTsmaName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4548,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4556,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4557,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4563,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4566,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4567,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4569,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4573,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4576,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4575,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4568,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - pCxt
    - ignoreExists
    - tsmaName
    - pOptions
    - pRealTable
    - pInterval
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4578
      start: 4544
    functionDepth: 0
    functionLinenumber: 4544
    functionLinenumberEnd: 4578
    functionName: createCreateTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - checkTsmaName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - memcpy
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateTSMAStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* tsmaName, SNode* pOptions, SNode* pRealTable, SNode* pInterval) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1316,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1318,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1317,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1318,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1317,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1319,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1319,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1321,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1322,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1324,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1333,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1331,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1329,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pDbName
    - pTableName
    - pTableAlias
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1337
    functionName: createRealTableNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - CHECK_PARSER_STATUS
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRealTableNode(SAstCreateContext* pCxt, SToken* pDbName,
      SToken* pTableName, SToken* pTableAlias) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2951,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2952,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2953,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2952,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2953,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2955,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2956,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2958,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2959,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2960,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2962,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pOldColName
    - pNewColName
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2964
      start: 2949
    functionDepth: 0
    functionLinenumber: 2949
    functionLinenumberEnd: 2964
    functionName: createAlterTableRenameCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableRenameCol(SAstCreateContext* pCxt, SNode*
      pRealTable, int8_t alterType, SToken* pOldColName, SToken* pNewColName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3155,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3160,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3158,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3168,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3169,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3170,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3173,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 3175
      start: 3153
    functionDepth: 0
    functionLinenumber: 3153
    functionLinenumberEnd: 3175
    functionName: createShowTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createDefaultDatabaseCondValue
    - createShowStmtWithCond
    - createIdentifierValueNode
    - setShowKind
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName, EOperatorType tableCondType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4287,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4291,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4288,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4290,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4288,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4292,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pStreamName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 4297
      start: 4286
    functionDepth: 0
    functionLinenumber: 4286
    functionLinenumberEnd: 4297
    functionName: createPauseStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkStreamName
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createPauseStreamStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SToken* pStreamName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1267,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1268,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1269,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1270,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1271,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1272,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1273,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1274,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1275,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1276,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1281,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1280,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - pExpr3
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1284
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1284
    functionName: createSubstrFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSubstrFunctionNodeExt(SAstCreateContext* pCxt, SNode*
      pExpr, SNode* pExpr2, SNode* pExpr3) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2318,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2322,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2320,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2325,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2326,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2334,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2335,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2336,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2337,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - pCxt
    - pDbName
    - vgidList
    - pStart
    - pEnd
    - metaOnly
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 2339
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2339
    functionName: createCompactVgroupsStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCompactVgroupsStmt(SAstCreateContext* pCxt, SNode* pDbName,
      SNodeList* vgidList, SNode* pStart, SNode* pEnd, bool metaOnly) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3905,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3908,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 3914
      start: 3904
    functionDepth: 0
    functionLinenumber: 3904
    functionLinenumberEnd: 3914
    functionName: createDefaultExplainOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultExplainOptions(SAstCreateContext* pCxt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4217,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4221,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4230,1
    - Dst: BIT_FLAG_TEST_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4220,1
    - Dst: BIT_FLAG_SET_MASK
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4235,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4238,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - setFlag
    - pToken
    argTypes:
    - SAstCreateContext*
    - SNode*
    - EStreamNotifyOptionSetFlag
    - SToken*
    constantsTouched: []
    func_position:
      end: 4240
      start: 4215
    functionDepth: 0
    functionLinenumber: 4215
    functionLinenumberEnd: 4240
    functionName: setStreamNotifyOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - BIT_FLAG_SET_MASK
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - BIT_FLAG_TEST_MASK
    - taosStr2Int8
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setStreamNotifyOptions(SAstCreateContext* pCxt, SNode* pNode,
      EStreamNotifyOptionSetFlag setFlag, SToken* pToken) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4397,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4399,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4401,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4402,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pVgId1
    - pVgId2
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4406
      start: 4396
    functionDepth: 0
    functionLinenumber: 4396
    functionLinenumberEnd: 4406
    functionName: createMergeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createMergeVgroupStmt(SAstCreateContext* pCxt, const SToken*
      pVgId1, const SToken* pVgId2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1288,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1290,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1294,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1289,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pList
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1296
    functionName: createNodeListNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createNodeListNode(SAstCreateContext* pCxt, SNodeList* pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2342,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2344,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 2356
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2356
    functionName: createDefaultTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultTableOptions(SAstCreateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3917,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pOptions
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3922
      start: 3916
    functionDepth: 0
    functionLinenumber: 3916
    functionLinenumberEnd: 3922
    functionName: setExplainVerbose
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strncasecmp
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setExplainVerbose(SAstCreateContext* pCxt, SNode* pOptions,
      const SToken* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4245,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4249,1
    - Dst: checkStreamName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4246,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4248,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4246,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4250,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4251,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4252,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4253,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4263,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4264,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4267,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4265,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4268,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4266,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4269,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 10
    argNames:
    - pCxt
    - ignoreExists
    - pStreamName
    - pRealTable
    - pOptions
    - pTags
    - pSubtable
    - pQuery
    - pCols
    - pNotifyOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    - SNode*
    - SNode*
    - SNodeList*
    - SNode*
    - SNode*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4271
      start: 4242
    functionDepth: 0
    functionLinenumber: 4242
    functionLinenumberEnd: 4271
    functionName: createCreateStreamStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - checkStreamName
    - CHECK_PARSER_STATUS
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateStreamStmt(SAstCreateContext* pCxt, bool ignoreExists,
      SToken* pStreamName, SNode* pRealTable, SNode* pOptions, SNodeList* pTags, SNode*
      pSubtable, SNode* pQuery, SNodeList* pCols, SNode* pNotifyOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4409,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4417,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4411,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4413,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - pVgId
    - pDnodes
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 4419
      start: 4408
    functionDepth: 0
    functionLinenumber: 4408
    functionLinenumberEnd: 4419
    functionName: createRedistributeVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - taosStr2Int32
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRedistributeVgroupStmt(SAstCreateContext* pCxt, const
      SToken* pVgId, SNodeList* pDnodes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4635,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4639,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4637,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4643,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4644,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - dbName
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ENodeType
    constantsTouched: []
    func_position:
      end: 4651
      start: 4634
    functionDepth: 0
    functionLinenumber: 4634
    functionLinenumberEnd: 4651
    functionName: createShowDiskUsageStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowDiskUsageStmt(SAstCreateContext* pCxt, SNode* dbName,
      ENodeType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:270,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:273,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pColumnName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: checkColumnName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkColumnName(SAstCreateContext* pCxt, SToken* pColumnName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1054,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1055,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1057,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1057,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1063,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1063,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1065,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1065,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1067,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1069,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1085,1
    - Dst: getMinusDataType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1071,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1076,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1084,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1075,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - EOperatorType
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1087
    functionName: createOperatorNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - CHECK_MAKE_NODE
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - nodesDestroyNode
    - getMinusDataType
    - CHECK_PARSER_STATUS
    - strlen
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createOperatorNode(SAstCreateContext* pCxt, EOperatorType
      type, SNode* pLeft, SNode* pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1113,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1114,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1116,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1115,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1117,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1118,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1119,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1120,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1121,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1124,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1125,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1128,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1126,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1129,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1131
    functionName: createNotBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createLogicConditionNode
    - CHECK_PARSER_STATUS
    - nodesCloneNode
    - createOperatorNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createNotBetweenAnd(SAstCreateContext* pCxt, SNode* pExpr,
      SNode* pLeft, SNode* pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1822,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1823,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1827,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1825,1
    - Dst: createPrimaryKeyCol
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1826,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1832,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1833,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pFill
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1835
    functionName: addFillClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createPrimaryKeyCol
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addFillClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pFill) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2288,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2291,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2289,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2289,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2292,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2293,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2287
    functionDepth: 0
    functionLinenumber: 2287
    functionLinenumberEnd: 2297
    functionName: createS3MigrateDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createS3MigrateDatabaseStmt(SAstCreateContext* pCxt, SToken*
      pDbName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2477,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2481,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2482,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2481,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2480,1
    - Dst: getColumnOptionType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2486,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2489,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2490,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2491,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2496,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2498,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2505,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2515,1
    - Dst: memset
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2503,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2497,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2504,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - pVal1
    - pVal2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    - void*
    constantsTouched: []
    func_position:
      end: 2517
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2517
    functionName: setColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - strncpy
    - getColumnOptionType
    - nodesDestroyNode
    - memset
    - CHECK_PARSER_STATUS
    - strlen
    - TMIN
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setColumnOptions(SAstCreateContext* pCxt, SNode* pOptions,
      const SToken* pVal1, void* pVal2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2715,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2719,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2720,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2718,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2717,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2721,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2722,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2727,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2731,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2733,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2734,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2732,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2735,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 7
    argNames:
    - pCxt
    - ignoreExists
    - pRealTable
    - pUseRealTable
    - pSpecificTags
    - pValsOfTags
    - pOptions
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNode*
    - SNodeList*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2737
      start: 2713
    functionDepth: 0
    functionLinenumber: 2713
    functionLinenumberEnd: 2737
    functionName: createCreateSubTableClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateSubTableClause(SAstCreateContext* pCxt, bool ignoreExists,
      SNode* pRealTable, SNode* pUseRealTable, SNodeList* pSpecificTags, SNodeList*
      pValsOfTags, SNode* pOptions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3446,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3448,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3447,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3455,1
    - Dst: getIpV4RangeFromWhitelistItem
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pIpRangesNodeList
    - pIpRanges
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 3460
      start: 3441
    functionDepth: 0
    functionLinenumber: 3441
    functionLinenumberEnd: 3460
    functionName: fillIpRangesFromWhiteList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - generateSyntaxErrMsgExt
    - getIpV4RangeFromWhitelistItem
    - FOREACH
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fillIpRangesFromWhiteList(SAstCreateContext* pCxt,
      SNodeList* pIpRangesNodeList, SIpV4Range* pIpRanges) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:280,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: checkIndexName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkIndexName(SAstCreateContext* pCxt, SToken* pIndexName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1091,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1092,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1094,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1093,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1095,1
    - Dst: createOperatorNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1096,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1097,1
    - Dst: createLogicConditionNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1098,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1099,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1102,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1105,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1103,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1106,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1107,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1109
    functionName: createBetweenAnd
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - createLogicConditionNode
    - CHECK_PARSER_STATUS
    - nodesCloneNode
    - createOperatorNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createBetweenAnd(SAstCreateContext* pCxt, SNode* pExpr, SNode*
      pLeft, SNode* pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1134,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1142,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1136,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1140,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCxt
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1148
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1148
    functionName: createPrimaryKeyCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - strncpy
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'static SNode * createPrimaryKeyCol(SAstCreateContext* pCxt, const
      SToken* pFuncName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1838,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1847,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1848,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - pJoin
    - pJLimit
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1850
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1850
    functionName: addJLimitClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addJLimitClause(SAstCreateContext* pCxt, SNode* pJoin, SNode*
      pJLimit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2300,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2303,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2301,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2301,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2304,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2305,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2311,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pDbName
    - pStart
    - pEnd
    - metaOnly
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SNode*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 2314
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2314
    functionName: createCompactStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCompactStmt(SAstCreateContext* pCxt, SToken* pDbName,
      SNode* pStart, SNode* pEnd, bool metaOnly) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2741,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2743,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2745,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2746,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2744,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2750,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2755,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2758,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2759,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - pCxt
    - ignoreExists
    - pUseRealTable
    - pSpecificTags
    - pFilePath
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SNodeList*
    - SToken*
    constantsTouched: []
    func_position:
      end: 2761
      start: 2739
    functionDepth: 0
    functionLinenumber: 2739
    functionLinenumberEnd: 2761
    functionName: createCreateSubTableFromFileClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - strncpy
    - nodesDestroyNode
    - trimString
    - nodesDestroyList
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateSubTableFromFileClause(SAstCreateContext* pCxt,
      bool ignoreExists, SNode* pUseRealTable, SNodeList* pSpecificTags, const SToken*
      pFilePath) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3465,1
    - Dst: fillIpRangesFromWhiteList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3480,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3477,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3476,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3478,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3481,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3485,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3486,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pCreateUserStmt
    - pIpRangesNodeList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3488
      start: 3462
    functionDepth: 0
    functionLinenumber: 3462
    functionLinenumberEnd: 3488
    functionName: addCreateUserStmtWhiteList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - taosMemoryMalloc
    - nodesDestroyNode
    - nodesDestroyList
    - fillIpRangesFromWhiteList
    - CHECK_PARSER_STATUS
    - CHECK_OUT_OF_MEM
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addCreateUserStmtWhiteList(SAstCreateContext* pCxt, SNode*
      pCreateUserStmt, SNodeList* pIpRangesNodeList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3676,1
    - Dst: createAlterDnodeStmt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3678
      start: 3672
    functionDepth: 0
    functionLinenumber: 3672
    functionLinenumberEnd: 3678
    functionName: createEncryptKeyStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strlen
    - createAlterDnodeStmt
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createEncryptKeyStmt(SAstCreateContext* pCxt, const SToken*
      pValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4603,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4612,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4606,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4611,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4605,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4614,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 4619
      start: 4602
    functionDepth: 0
    functionLinenumber: 4602
    functionLinenumberEnd: 4619
    functionName: createDropTSMAStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - memcpy
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropTSMAStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1899,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1901,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1907,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1902,1
    - Dst: setSubquery
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1905,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1908,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1911,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1912,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - type
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - ESetOperatorType
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1914
      start: 1898
    functionDepth: 0
    functionLinenumber: 1898
    functionLinenumberEnd: 1914
    functionName: createSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - setSubquery
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSetOperator(SAstCreateContext* pCxt, ESetOperatorType
      type, SNode* pLeft, SNode* pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 2626
      start: 2623
    functionDepth: 0
    functionLinenumber: 2623
    functionLinenumberEnd: 2626
    functionName: createDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SDataType
    signature: 'SDataType createDataType(uint8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3053
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3053
    functionName: setAlterVirtualTableType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - setNodeType
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setAlterVirtualTableType(SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - type
    argTypes:
    - ENodeType
    constantsTouched: []
    func_position:
      end: 3073
      start: 3067
    functionDepth: 0
    functionLinenumber: 3067
    functionLinenumberEnd: 3073
    functionName: needDbShowStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool needDbShowStmt(ENodeType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3273,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3276,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3275,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3277,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3278,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3279,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    constantsTouched: []
    func_position:
      end: 3284
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3284
    functionName: createShowCreateTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCreateTableStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3492,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3494,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3494,1
    - Dst: checkPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3496,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3496,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3498,1
    - Dst: checkImportPassword
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3498,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3501,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3502,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3503,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - pCxt
    - pUserName
    - pPassword
    - sysinfo
    - createDb
    - is_import
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 3511
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3511
    functionName: createCreateUserStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkUserName
    - CHECK_MAKE_NODE
    - checkPassword
    - CHECK_PARSER_STATUS
    - tstrncpy
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    - checkImportPassword
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateUserStmt(SAstCreateContext* pCxt, SToken* pUserName,
      const SToken* pPassword, int8_t sysinfo, int8_t createDb, int8_t is_import) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4011,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4013,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4014,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4016,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pFuncName
    argTypes:
    - SAstCreateContext*
    - bool
    - SToken*
    constantsTouched: []
    func_position:
      end: 4020
      start: 4010
    functionDepth: 0
    functionLinenumber: 4010
    functionLinenumberEnd: 4020
    functionName: createDropFunctionStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropFunctionStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      const SToken* pFuncName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4351,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4354,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 4358
      start: 4350
    functionDepth: 0
    functionLinenumber: 4350
    functionLinenumberEnd: 4358
    functionName: createBalanceVgroupStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createBalanceVgroupStmt(SAstCreateContext* pCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pOptions
    argTypes:
    - SDatabaseOptions*
    constantsTouched: []
    func_position:
      end: 1928
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1928
    functionName: updateWalOptionsDefault
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void updateWalOptionsDefault(SDatabaseOptions* pOptions) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - type
    - pLen
    argTypes:
    - uint8_t
    - SToken*
    constantsTouched: []
    func_position:
      end: 2634
      start: 2628
    functionDepth: 0
    functionLinenumber: 2628
    functionLinenumberEnd: 2634
    functionName: createVarLenDataType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    linkageType: ''
    returnType: SDataType
    signature: 'SDataType createVarLenDataType(uint8_t type, const SToken* pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3056,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3057,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3060,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3059,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3057,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3065
      start: 3055
    functionDepth: 0
    functionLinenumber: 3055
    functionLinenumberEnd: 3065
    functionName: createUseDatabaseStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createUseDatabaseStmt(SAstCreateContext* pCxt, SToken* pDbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3076,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3078,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3087,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - type
    - pLikePattern
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    constantsTouched: []
    func_position:
      end: 3089
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3089
    functionName: createShowStmtWithLike
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowStmtWithLike(SAstCreateContext* pCxt, ENodeType
      type, SNode* pLikePattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3287,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3291,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3292,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3290,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3289,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3293,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCxt
    - type
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - ENodeType
    - SNode*
    constantsTouched: []
    func_position:
      end: 3298
      start: 3286
    functionDepth: 0
    functionLinenumber: 3286
    functionLinenumberEnd: 3298
    functionName: createShowCreateVTableStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowCreateVTableStmt(SAstCreateContext* pCxt, ENodeType
      type, SNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4024,1
    - Dst: tstrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4031,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4028,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4026,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4025,1
    - Dst: CHECK_OUT_OF_MEM
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4032,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4034,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4035,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4040,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4041,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4042,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 5
    argNames:
    - pCxt
    - orReplace
    - pView
    - pAs
    - pQuery
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4044
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4044
    functionName: createCreateViewStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - isspace
    - CHECK_MAKE_NODE
    - tstrdup
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - tstrncpy
    - CHECK_OUT_OF_MEM
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCreateViewStmt(SAstCreateContext* pCxt, bool orReplace,
      SNode* pView, const SToken* pAs, SNode* pQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4361,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4363,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 4368
      start: 4360
    functionDepth: 0
    functionLinenumber: 4360
    functionLinenumberEnd: 4368
    functionName: createAssignLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAssignLeaderStmt(SAstCreateContext* pCxt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:185,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:190,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:187,1
    - Dst: strdequote
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:188,1
    - Dst: strtrim
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pCxt
    - pPasswordToken
    - pPassword
    argTypes:
    - SAstCreateContext*
    - SToken*
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 194
    functionName: checkImportPassword
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strdequote
    - generateSyntaxErrMsg
    - strncpy
    - strtrim
    linkageType: ''
    returnType: bool
    signature: 'static bool checkImportPassword(SAstCreateContext* pCxt, const SToken*
      pPasswordToken, char* pPassword) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:419,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: getTokenFromRawExprNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SToken
    signature: 'SToken getTokenFromRawExprNode(SAstCreateContext* pCxt, SNode* pNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:597,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:599,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:606,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:605,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:601,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:610,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:615,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:615,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:620,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:621,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:626,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:627,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:625,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:622,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - pCxt
    - dataType
    - pLiteral
    - pLeft
    - pRight
    argTypes:
    - SAstCreateContext*
    - int32_t
    - SToken*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 629
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 629
    functionName: createRawValueNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStrndup
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - strlen
    - IS_VAR_DATA_TYPE
    - generateSyntaxErrMsg
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRawValueNodeExt(SAstCreateContext* pCxt, int32_t dataType,
      const SToken* pLiteral, SNode* pLeft, SNode* pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1737,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1731,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pHaving
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1739
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1739
    functionName: addHavingClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addHavingClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pHaving) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1931,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1933,1
    - Dst: updateWalOptionsDefault
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1956,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 41
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1974
    functionName: createDefaultDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - updateWalOptionsDefault
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultDatabaseOptions(SAstCreateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3031,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3038,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3033,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3035,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pRealTable
    - pList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 3041
      start: 3030
    functionDepth: 0
    functionLinenumber: 3030
    functionLinenumberEnd: 3041
    functionName: createAlterTableSetMultiTagValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - createAlterTableStmtFinalize
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableSetMultiTagValue(SAstCreateContext* pCxt,
      SNode* pRealTable, SNodeList* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4444,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4445,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4445,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4446,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4446,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4447,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4447,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4449,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4450,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4452,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4456,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4454,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4460,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - privileges
    - pPrivLevel
    - pUserName
    - pTagCond
    argTypes:
    - SAstCreateContext*
    - int64_t
    - STokenPair*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4462
      start: 4442
    functionDepth: 0
    functionLinenumber: 4442
    functionLinenumberEnd: 4462
    functionName: createGrantStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkUserName
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createGrantStmt(SAstCreateContext* pCxt, int64_t privileges,
      STokenPair* pPrivLevel, SToken* pUserName, SNode* pTagCond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4631,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4626,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4625,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pCxt
    - dbName
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4633
      start: 4621
    functionDepth: 0
    functionLinenumber: 4621
    functionLinenumberEnd: 4633
    functionName: createShowTSMASStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowTSMASStmt(SAstCreateContext* pCxt, SNode* dbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:197,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - p
    - pPort
    argTypes:
    - SAstCreateContext*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: parsePort
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parsePort(SAstCreateContext* pCxt, const char* p, int32_t*
      pPort) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:429,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:441,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:430,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:433,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:439,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:442,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:443,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:444,1
    - Dst: nodesListAppendList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:445,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:446,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:451,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:450,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - pCxt
    - pNode
    - pNodeList
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SToken*
    constantsTouched: []
    func_position:
      end: 453
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 453
    functionName: createColsFuncParamNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodeType
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeList
    - nodesListAppendList
    linkageType: ''
    returnType: SNodeList*
    signature: 'SNodeList * createColsFuncParamNodeList(SAstCreateContext* pCxt, SNode*
      pNode, SNodeList* pNodeList, SToken* pAlias) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:634,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pHintList
    - hint
    argTypes:
    - SNodeList*
    - EHintOption
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: hasHint
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'static bool hasHint(SNodeList* pHintList, EHintOption hint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1742,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1754,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1753,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1746,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pOrderByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1756
    functionName: addOrderByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addOrderByClause(SAstCreateContext* pCxt, SNode* pStmt, SNodeList*
      pOrderByList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1977,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1979,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 43
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 2022
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 2022
    functionName: createAlterDatabaseOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterDatabaseOptions(SAstCreateContext* pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setNodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3045,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 3047
      start: 3043
    functionDepth: 0
    functionLinenumber: 3043
    functionLinenumberEnd: 3047
    functionName: setAlterSuperTableType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - setNodeType
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setAlterSuperTableType(SNode* pStmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4466,1
    - Dst: checkDbName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4467,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4468,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4467,1
    - Dst: checkUserName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4468,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4469,1
    - Dst: checkTableName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4469,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4471,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4472,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4474,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4482,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4478,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - pCxt
    - privileges
    - pPrivLevel
    - pUserName
    - pTagCond
    argTypes:
    - SAstCreateContext*
    - int64_t
    - STokenPair*
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 4484
      start: 4464
    functionDepth: 0
    functionLinenumber: 4464
    functionLinenumberEnd: 4484
    functionName: createRevokeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkUserName
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - checkTableName
    - COPY_STRING_FORM_ID_TOKEN
    - checkDbName
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRevokeStmt(SAstCreateContext* pCxt, int64_t privileges,
      STokenPair* pPrivLevel, SToken* pUserName, SNode* pTagCond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3658,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3660,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3661,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pAnode
    - updateAll
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    constantsTouched: []
    func_position:
      end: 3670
      start: 3657
    functionDepth: 0
    functionLinenumber: 3657
    functionLinenumberEnd: 3670
    functionName: createUpdateAnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createUpdateAnodeStmt(SAstCreateContext* pCxt, const SToken*
      pAnode, bool updateAll) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:289,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pTopicName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: checkTopicName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkTopicName(SAstCreateContext* pCxt, SToken* pTopicName) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:894,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:897,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:917,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:902,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:896,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:921,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:922,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:926,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:931,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 2
    argNames:
    - pCxt
    - pLiteral
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 943
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 943
    functionName: createTimeOffsetValueNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - taosStrndup
    - isdigit
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - generateSyntaxErrMsg
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTimeOffsetValueNode(SAstCreateContext* pCxt, const SToken*
      pLiteral) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1229,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1230,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1234,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1231,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1232,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1235,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1236,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1237,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1241,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1242,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    - type
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    - ETrimType
    constantsTouched: []
    func_position:
      end: 1245
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1245
    functionName: createTrimFunctionNodeExt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createTrimFunctionNodeExt(SAstCreateContext* pCxt, SNode*
      pExpr, SNode* pExpr2, ETrimType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1648,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1650,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1651,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1659,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1660,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1661,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCxt
    - pCase
    - pWhenThenList
    - pElse
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1663
    functionName: createCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createCaseWhenNode(SAstCreateContext* pCxt, SNode* pCase,
      SNodeList* pWhenThenList, SNode* pElse) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2359,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2361,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 2369
      start: 2358
    functionDepth: 0
    functionLinenumber: 2358
    functionLinenumberEnd: 2369
    functionName: createAlterTableOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableOptions(SAstCreateContext* pCxt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2875,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2878,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2877,1
    - Dst: generateSyntaxErrMsgExt
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2905,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2914,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2876,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2880,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2892,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2894,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2897,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2912,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2876,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2897,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2907,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2910,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2913,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2887,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2888,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2888,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2889,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2895,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2893,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 6
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - dataType
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SDataType
    - SNode*
    constantsTouched: []
    func_position:
      end: 2916
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2916
    functionName: createAlterTableAddModifyColOptions2
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - generateSyntaxErrMsgExt
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - strcmp
    - CHECK_PARSER_STATUS
    - tstrncpy
    - strlen
    - generateSyntaxErrMsg
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableAddModifyColOptions2(SAstCreateContext* pCxt,
      SNode* pRealTable, int8_t alterType, SToken* pColName, SDataType dataType, SNode*
      pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4371,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4376,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4373,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pVgId
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4381
      start: 4370
    functionDepth: 0
    functionLinenumber: 4370
    functionLinenumberEnd: 4381
    functionName: createBalanceVgroupLeaderStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - taosStr2Int32
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createBalanceVgroupLeaderStmt(SAstCreateContext* pCxt, const
      SToken* pVgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:298,1
    - Dst: generateSyntaxErrMsg
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pCGroup
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: checkCGroupName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - trimEscape
    - generateSyntaxErrMsg
    linkageType: ''
    returnType: bool
    signature: 'static bool checkCGroupName(SAstCreateContext* pCxt, SToken* pCGroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:946,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:954,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:953,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:952,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:957,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:962,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 967
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 967
    functionName: createDefaultDatabaseCondValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - strlen
    - taosStrdup
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultDatabaseCondValue(SAstCreateContext* pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1249,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1252,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1250,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1253,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1251,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1254,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1255,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1256,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1259,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1260,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pCxt
    - pExpr
    - pExpr2
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1263
    functionName: createSubstrFunctionNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createSubstrFunctionNode(SAstCreateContext* pCxt, SNode* pExpr,
      SNode* pExpr2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1666,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1672,1
    - Dst: trimEscape
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1667,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1670,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1669,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pNode
    - pAlias
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SToken*
    constantsTouched: []
    func_position:
      end: 1679
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1679
    functionName: setProjectionAlias
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strncpy
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - trimEscape
    - TMIN
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setProjectionAlias(SAstCreateContext* pCxt, SNode* pNode,
      SToken* pAlias) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2372,1
    - Dst: checkComment
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2375,1
    - Dst: COPY_STRING_FORM_STR_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2377,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2407,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2390,1
    - Dst: createDurationValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2409,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2413,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2426,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 37
    argCount: 4
    argNames:
    - pCxt
    - pOptions
    - type
    - pVal
    argTypes:
    - SAstCreateContext*
    - SNode*
    - ETableOptionType
    - void*
    constantsTouched: []
    func_position:
      end: 2428
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2428
    functionName: setTableOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - COPY_STRING_FORM_STR_TOKEN
    - nodesDestroyNode
    - createDurationValueNode
    - taosStr2Int64
    - taosStr2Int32
    - CHECK_PARSER_STATUS
    - checkComment
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * setTableOption(SAstCreateContext* pCxt, SNode* pOptions, ETableOptionType
      type, void* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2920,1
    - Dst: checkColumnName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2921,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2923,1
    - Dst: CHECK_NAME
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2921,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2924,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2926,1
    - Dst: createAlterTableStmtFinalize
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2928,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2930,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2931,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 5
    argNames:
    - pCxt
    - pRealTable
    - alterType
    - pColName
    - pOptions
    argTypes:
    - SAstCreateContext*
    - SNode*
    - int8_t
    - SToken*
    - SNode*
    constantsTouched: []
    func_position:
      end: 2933
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2933
    functionName: createAlterTableAddModifyColOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - checkColumnName
    - createAlterTableStmtFinalize
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_NAME
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterTableAddModifyColOptions(SAstCreateContext* pCxt,
      SNode* pRealTable, int8_t alterType, SToken* pColName, SNode* pOptions) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4384,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4386,1
    - Dst: COPY_STRING_FORM_ID_TOKEN
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4389,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:4387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCxt
    - pDbName
    argTypes:
    - SAstCreateContext*
    - SToken*
    constantsTouched: []
    func_position:
      end: 4394
      start: 4383
    functionDepth: 0
    functionLinenumber: 4383
    functionLinenumberEnd: 4394
    functionName: createBalanceVgroupLeaderDBNameStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - COPY_STRING_FORM_ID_TOKEN
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createBalanceVgroupLeaderDBNameStmt(SAstCreateContext* pCxt,
      const SToken* pDbName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkIndexName
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3681,1
    - Dst: createRealTableNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pCxt
    - pDbName
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3685
      start: 3680
    functionDepth: 0
    functionLinenumber: 3680
    functionLinenumberEnd: 3685
    functionName: createRealTableNodeForIndexName
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - checkIndexName
    - createRealTableNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createRealTableNodeForIndexName(SAstCreateContext* pCxt, SToken*
      pDbName, SToken* pIndexName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:456,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:460,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:459,1
    - Dst: nodesMakeList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:458,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:462,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 469
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 469
    functionName: createNodeList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    - nodesMakeList
    linkageType: ''
    returnType: SNodeList*
    signature: 'SNodeList * createNodeList(SAstCreateContext* pCxt, SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1682,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1683,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1689,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWhere
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1691
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1691
    functionName: addWhereClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addWhereClause(SAstCreateContext* pCxt, SNode* pStmt, SNode*
      pWhere) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1706,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1713,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1707,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1712,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pWindow
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 1715
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1715
    functionName: addWindowClauseClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addWindowClauseClause(SAstCreateContext* pCxt, SNode* pStmt,
      SNode* pWindow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2431,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2434,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2441
    functionName: createDefaultColumnOptions
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDefaultColumnOptions(SAstCreateContext* pCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3179,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3193,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3192,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3184,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3182,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3194,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 3199
      start: 3177
    functionDepth: 0
    functionLinenumber: 3177
    functionLinenumberEnd: 3199
    functionName: createShowVTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createDefaultDatabaseCondValue
    - createShowStmtWithCond
    - createIdentifierValueNode
    - setShowKind
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowVTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName, EOperatorType tableCondType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3592,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3597,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3595,1
    - Dst: checkAndSplitEndpoint
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3599,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3594,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - force
    - unsafe
    argTypes:
    - SAstCreateContext*
    - SToken*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 3609
      start: 3591
    functionDepth: 0
    functionLinenumber: 3591
    functionLinenumberEnd: 3609
    functionName: createDropDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - taosStr2Int32
    - checkAndSplitEndpoint
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnode, bool force, bool unsafe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3726,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3737,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3728,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3738,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3729,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3739,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3740,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - pCxt
    - pFuncs
    - pInterval
    - pOffset
    - pSliding
    - pStreamOptions
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNode*
    - SNode*
    - SNode*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3742
      start: 3724
    functionDepth: 0
    functionLinenumber: 3724
    functionLinenumberEnd: 3742
    functionName: createIndexOption
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createIndexOption(SAstCreateContext* pCxt, SNodeList* pFuncs,
      SNode* pInterval, SNode* pOffset, SNode* pSliding, SNode* pStreamOptions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3948,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3951,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3950,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3952,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3953,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3954,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pCxt
    - pRealTable
    argTypes:
    - SAstCreateContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 3959
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3959
    functionName: createDescribeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesDestroyNode
    - tstrncpy
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDescribeStmt(SAstCreateContext* pCxt, SNode* pRealTable) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:472,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:477,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:473,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pList
    - pNode
    argTypes:
    - SAstCreateContext*
    - SNodeList*
    - SNode*
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: addNodeToList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNodeList*
    signature: 'SNodeList * addNodeToList(SAstCreateContext* pCxt, SNodeList* pList,
      SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1694,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1695,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1701,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pPartitionByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1703
    functionName: addPartitionByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addPartitionByClause(SAstCreateContext* pCxt, SNode* pStmt,
      SNodeList* pPartitionByList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1718,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1719,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1725,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:1724,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - pGroupByList
    argTypes:
    - SAstCreateContext*
    - SNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 1727
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1727
    functionName: addGroupByClause
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    - nodesDestroyList
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * addGroupByClause(SAstCreateContext* pCxt, SNode* pStmt, SNodeList*
      pGroupByList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2444,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2446,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:2448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - optionType
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2452
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2452
    functionName: getColumnOptionType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: EColumnOptionType
    signature: 'EColumnOptionType getColumnOptionType(const char* optionType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3203,1
    - Dst: createDefaultDatabaseCondValue
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3206,1
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3217,1
    - Dst: createIdentifierValueNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3208,1
    - Dst: createShowStmtWithCond
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3216,1
    - Dst: setShowKind
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3218,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCxt
    - option
    - pTbName
    - tableCondType
    argTypes:
    - SAstCreateContext*
    - SShowTablesOption
    - SNode*
    - EOperatorType
    constantsTouched: []
    func_position:
      end: 3223
      start: 3201
    functionDepth: 0
    functionLinenumber: 3201
    functionLinenumberEnd: 3223
    functionName: createShowSTablesStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - createDefaultDatabaseCondValue
    - createShowStmtWithCond
    - createIdentifierValueNode
    - setShowKind
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createShowSTablesStmt(SAstCreateContext* pCxt, SShowTablesOption
      option, SNode* pTbName, EOperatorType tableCondType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3613,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3618,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3615,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3622,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3616,1
    - Dst: trimString
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - pCxt
    - pDnode
    - pConfig
    - pValue
    argTypes:
    - SAstCreateContext*
    - SToken*
    - SToken*
    - SToken*
    constantsTouched: []
    func_position:
      end: 3629
      start: 3611
    functionDepth: 0
    functionLinenumber: 3611
    functionLinenumberEnd: 3629
    functionName: createAlterDnodeStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - trimString
    - CHECK_PARSER_STATUS
    - taosStr2Int32
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createAlterDnodeStmt(SAstCreateContext* pCxt, const SToken*
      pDnode, const SToken* pConfig, const SToken* pValue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3745,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3751,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3750,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3747,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3748,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3752,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3755,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pCxt
    - ignoreNotExists
    - pIndexName
    argTypes:
    - SAstCreateContext*
    - bool
    - SNode*
    constantsTouched: []
    func_position:
      end: 3757
      start: 3744
    functionDepth: 0
    functionLinenumber: 3744
    functionLinenumberEnd: 3757
    functionName: createDropIndexStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - snprintf
    - nodesDestroyNode
    - CHECK_PARSER_STATUS
    - nodesMakeNode
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createDropIndexStmt(SAstCreateContext* pCxt, bool ignoreNotExists,
      SNode* pIndexName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PARSER_STATUS
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3962,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3964,1
    - Dst: CHECK_MAKE_NODE
      Src: /src/tdengine/source/libs/parser/src/parAstCreater.c:3965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SAstCreateContext*
    constantsTouched: []
    func_position:
      end: 3969
      start: 3961
    functionDepth: 0
    functionLinenumber: 3961
    functionLinenumberEnd: 3969
    functionName: createResetQueryCacheStmt
    functionSourceFile: /src/tdengine/source/libs/parser/src/parAstCreater.c
    functionUses: []
    functionsReached:
    - CHECK_MAKE_NODE
    - nodesMakeNode
    - CHECK_PARSER_STATUS
    linkageType: ''
    returnType: SNode*
    signature: 'SNode * createResetQueryCacheStmt(SAstCreateContext* pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:105,1
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:108,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SCalcConstContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: rewriteCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - rewriteIsTrue
    - nodesRewriteExprPostOrder
    - isCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteCondition(SCalcConstContext* pCxt, SNode** pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:125,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:127,1
    - Dst: calcConstCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:140,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:132,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:130,1
    - Dst: qError
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:146,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 151
    functionName: rewriteCalcConstValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - calcConstCondition
    - qError
    - tstrerror
    - calcConstNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes rewriteCalcConstValue(SNode** pNode, void* pContext) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:218,1
    - Dst: rewriteConstCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:223,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pCxt
    - pCond
    - pAlwaysFalse
    argTypes:
    - SCalcConstContext*
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: calcConstStmtCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - rewriteConstCondition
    - calcConstNode
    - rewriteCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstStmtCondition(SCalcConstContext* pCxt, SNode**
      pCond, bool* pAlwaysFalse) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesRewriteExprPostOrder
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:251,1
    - Dst: parserError
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - pCxt
    - pRoot
    - pTarget
    - pNew
    - strict
    argTypes:
    - SCalcConstContext*
    - SNode**
    - SNode*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: findAndReplaceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - parserError
    - nodesRewriteExprPostOrder
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findAndReplaceNode(SCalcConstContext* pCxt, SNode**
      pRoot, SNode* pTarget, SNode* pNew, bool strict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSelectWithoutFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:464,1
    - Dst: calcConstSelectFrom
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 468
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 468
    functionName: calcConstSelect
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstSelectFrom
    - calcConstSelectWithoutFrom
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSelect(SCalcConstContext* pCxt, SSelectStmt*
      pSelect, bool subquery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:113,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pNode
    argTypes:
    - SCalcConstContext*
    - SNode**
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: calcConstCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstNode
    - rewriteCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstCondition(SCalcConstContext* pCxt, SNode**
      pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:155,1
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:165,1
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:163,1
    - Dst: calcConstSubquery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:157,1
    - Dst: rewriteCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:168,1
    - Dst: nodesRewriteExpr
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:171,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCalcConstContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 195
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 195
    functionName: rewriteConditionForFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesRewriteExpr
    - calcConstSubquery
    - rewriteConditionForFromTable
    - rewriteCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteConditionForFromTable(SCalcConstContext* pCxt,
      SNode* pTable) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:232,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:233,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:235,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 245
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 245
    functionName: doFindAndReplaceNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesCloneNode
    - tstrncpy
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doFindAndReplaceNode(SNode** pNode, void* pContext) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:278,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:274,1
    - Dst: scalarCalculateConstantsFromDual
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:272,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:277,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:280,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:288,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:289,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:290,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:293,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:296,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:304,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:300,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:302,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:298,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:317,1
    - Dst: findAndReplaceNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:309,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 4
    argNames:
    - pCxt
    - pProject
    - dual
    - pNew
    argTypes:
    - SCalcConstContext*
    - SNode*
    - bool
    - SNode**
    constantsTouched: []
    func_position:
      end: 319
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 319
    functionName: calcConstProject
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - TSWAP
    - taosArrayGet
    - taosArrayDestroy
    - nodesDestroyNode
    - scalarCalculateConstants
    - tstrncpy
    - taosArrayDup
    - nodesCloneNode
    - scalarCalculateConstantsFromDual
    - taosArrayGetSize
    - findAndReplaceNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstProject(SCalcConstContext* pCxt, SNode* pProject,
      bool dual, SNode** pNew) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:327,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:328,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: checkUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - fmIsPseudoColumnFunc
    - fmIsScalarFunc
    linkageType: ''
    returnType: EDealRes
    signature: 'EDealRes checkUselessCol(SNode* pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:471,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCxt
    - pDelete
    argTypes:
    - SCalcConstContext*
    - SDeleteStmt*
    constantsTouched: []
    func_position:
      end: 479
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 479
    functionName: calcConstDelete
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstFromTable
    - calcConstStmtCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstDelete(SCalcConstContext* pCxt, SDeleteStmt*
      pDelete) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExpr
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pProj
    argTypes:
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: isUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodesWalkExpr
    linkageType: ''
    returnType: bool
    signature: 'static bool isUselessCol(SExprNode* pProj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcConstProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: calcConstSelectWithoutFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstProjections
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSelectWithoutFrom(SCalcConstContext* pCxt,
      SSelectStmt* pSelect, bool subquery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:347,1
    - Dst: nodesSetValueNodeValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:354,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ppNode
    argTypes:
    - SValueNode**
    constantsTouched: []
    func_position:
      end: 362
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 362
    functionName: createConstantValue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodesSetValueNodeValue
    - nodesMakeNode
    - nodesDestroyNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createConstantValue(SValueNode** ppNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:421,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:436,1
    - Dst: calcConstProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:433,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:422,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:424,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:439,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:442,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:445,1
    - Dst: calcConstNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:448,1
    - Dst: calcConstGroupBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:451,1
    - Dst: calcConstStmtCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:454,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:457,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 460
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 460
    functionName: calcConstSelectFrom
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstProjections
    - nodeType
    - calcConstFromTable
    - calcConstList
    - calcConstGroupBy
    - calcConstNode
    - calcConstStmtCondition
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSelectFrom(SCalcConstContext* pCxt, SSelectStmt*
      pSelect, bool subquery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pTempTable
    argTypes:
    - SCalcConstContext*
    - STempTableNode*
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: calcConstSubquery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSubquery(SCalcConstContext* pCxt, STempTableNode*
      pTempTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:54,1
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:56,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: calcConstList
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - FOREACH
    - REPLACE_NODE
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstList(SNodeList* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calcConstFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:482,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pCxt
    - pInsert
    argTypes:
    - SCalcConstContext*
    - SInsertStmt*
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: calcConstInsert
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstFromTable
    - calcConstQuery
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstInsert(SCalcConstContext* pCxt, SInsertStmt*
      pInsert) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:520,1
    - Dst: nodesEqualNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:522,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode*
    - void*
    constantsTouched: []
    func_position:
      end: 528
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 528
    functionName: notRefByOrderByImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesEqualNode
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes notRefByOrderByImpl(SNode* pNode, void* pContext) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:540,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:544,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 549
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 549
    functionName: isDistinctSubQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - isDistinctSubQuery
    - nodeType
    linkageType: ''
    returnType: bool
    signature: 'static bool isDistinctSubQuery(SNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pProjects
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 669
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 669
    functionName: resetProjectNullTypeImpl
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - FOREACH
    linkageType: ''
    returnType: void
    signature: 'static void resetProjectNullTypeImpl(SNodeList* pProjects) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scalarCalculateConstants
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:45,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode**
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: calcConstNode
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - scalarCalculateConstants
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstNode(SNode** pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:67,1
    - Dst: nodesIsComparisonOp
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:68,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: isCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesIsComparisonOp
    linkageType: ''
    returnType: bool
    signature: 'static bool isCondition(const SNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:490,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 499
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 499
    functionName: getChildProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    linkageType: ''
    returnType: SNodeList*
    signature: 'static SNodeList * getChildProjection(SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesWalkExprs
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCol
    - pOrderByList
    argTypes:
    - SColumnNode*
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 534
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 534
    functionName: notRefByOrderBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodesWalkExprs
    linkageType: ''
    returnType: bool
    signature: 'static bool notRefByOrderBy(SColumnNode* pCol, SNodeList* pOrderByList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:552,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:557,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:557,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:556,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:557,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:561,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:562,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:562,1
    - Dst: isDistinctSubQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:562,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pSetOp
    - index
    - pProj
    argTypes:
    - SSetOperator*
    - int32_t
    - SExprNode*
    constantsTouched: []
    func_position:
      end: 567
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 567
    functionName: isSetUselessCol
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - isDistinctSubQuery
    - getChildProjection
    - nodesListGetNode
    - isUselessCol
    linkageType: ''
    returnType: bool
    signature: 'static bool isSetUselessCol(SSetOperator* pSetOp, int32_t index, SExprNode*
      pProj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:672,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:682,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:680,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:674,1
    - Dst: resetProjectNullTypeImpl
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:678,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 688
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 688
    functionName: resetProjectNullType
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - resetProjectNullType
    - nodeType
    - resetProjectNullTypeImpl
    linkageType: ''
    returnType: void
    signature: 'static void resetProjectNullType(SNode* pStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:696,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:699,1
    - Dst: resetProjectNullType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pParseCxt
    - pQuery
    argTypes:
    - SParseContext*
    - SQuery*
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: calculateConstant
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - isEmptyResultQuery
    - calcConstQuery
    - resetProjectNullType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calculateConstant(SParseContext* pParseCxt, SQuery* pQuery) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pSrc
    - pIsTrue
    argTypes:
    - SNode*
    - SNode**
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: rewriteIsTrue
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t rewriteIsTrue(SNode* pSrc, SNode** pIsTrue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rewriteConditionForFromTable
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCxt
    - pTable
    argTypes:
    - SCalcConstContext*
    - SNode*
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: calcConstFromTable
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - rewriteConditionForFromTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstFromTable(SCalcConstContext* pCxt, SNode*
      pTable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:366,1
    - Dst: calcConstProject
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:372,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:368,1
    - Dst: isUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:367,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:367,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:374,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:380,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:382,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:384,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - pCxt
    - pSelect
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    - bool
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: calcConstProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - calcConstProject
    - LIST_LENGTH
    - ERASE_NODE
    - createConstantValue
    - WHERE_EACH
    - nodesListStrictAppend
    - REPLACE_NODE
    - isUselessCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstProjections(SCalcConstContext* pCxt, SSelectStmt*
      pSelect, bool subquery) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:502,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:504,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:505,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:503,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:503,1
    - Dst: getChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:507,1
    - Dst: nodesListErase
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:508,1
    - Dst: nodesListGetCell
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:508,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:509,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:510,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pSetOp
    - index
    argTypes:
    - SSetOperator*
    - int32_t
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: eraseSetOpChildProjection
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListErase
    - eraseSetOpChildProjection
    - getChildProjection
    - nodesListGetCell
    linkageType: ''
    returnType: void
    signature: 'static void eraseSetOpChildProjection(SSetOperator* pSetOp, int32_t
      index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WHERE_EACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:575,1
    - Dst: isSetUselessCol
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:577,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:578,1
    - Dst: notRefByOrderBy
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:576,1
    - Dst: eraseSetOpChildProjection
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:579,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:585,1
    - Dst: createConstantValue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:587,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:589,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    constantsTouched: []
    func_position:
      end: 593
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 593
    functionName: calcConstSetOpProjections
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - ERASE_NODE
    - createConstantValue
    - WHERE_EACH
    - notRefByOrderBy
    - eraseSetOpChildProjection
    - nodesListStrictAppend
    - isSetUselessCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSetOpProjections(SCalcConstContext* pCxt,
      SSetOperator* pSetOp, bool subquery) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:611,1
    - Dst: calcConstSetOperator
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:619,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:616,1
    - Dst: calcConstSelect
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:613,1
    - Dst: calcConstDelete
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:623,1
    - Dst: calcConstInsert
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:626,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pStmt
    - subquery
    argTypes:
    - SCalcConstContext*
    - SNode*
    - bool
    constantsTouched: []
    func_position:
      end: 632
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 632
    functionName: calcConstQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - calcConstQuery
    - calcConstSelect
    - calcConstDelete
    - calcConstInsert
    - calcConstSetOperator
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstQuery(SCalcConstContext* pCxt, SNode* pStmt,
      bool subquery) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:88,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:97,1
    - Dst: isCondition
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:91,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:90,1
    - Dst: rewriteIsTrue
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:93,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pNode
    - pContext
    argTypes:
    - SNode**
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: doRewriteCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - rewriteIsTrue
    - nodeType
    - isCondition
    - FOREACH
    - REPLACE_NODE
    linkageType: ''
    returnType: EDealRes
    signature: 'static EDealRes doRewriteCondition(SNode** pNode, void* pContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:202,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:206,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pCond
    - pAlwaysFalse
    argTypes:
    - SNode**
    - bool*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: rewriteConstCondition
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesDestroyNode
    linkageType: ''
    returnType: void
    signature: 'static void rewriteConstCondition(SNode** pCond, bool* pAlwaysFalse) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:391,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:394,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:398,1
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:397,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:405,1
    - Dst: ERASE_NODE
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pCxt
    - pSelect
    argTypes:
    - SCalcConstContext*
    - SSelectStmt*
    constantsTouched: []
    func_position:
      end: 414
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 414
    functionName: calcConstGroupBy
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    - ERASE_NODE
    - calcConstList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstGroupBy(SCalcConstContext* pCxt, SSelectStmt*
      pSelect) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calcConstSetOpProjections
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:596,1
    - Dst: calcConstList
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:604,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:601,1
    - Dst: calcConstQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pCxt
    - pSetOp
    - subquery
    argTypes:
    - SCalcConstContext*
    - SSetOperator*
    - bool
    constantsTouched: []
    func_position:
      end: 607
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 607
    functionName: calcConstSetOperator
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - calcConstList
    - calcConstQuery
    - calcConstSetOpProjections
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calcConstSetOperator(SCalcConstContext* pCxt, SSetOperator*
      pSetOp, bool subquery) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:636,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:645,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:641,1
    - Dst: isEmptyResultQuery
      Src: /src/tdengine/source/libs/parser/src/parCalcConst.c:647,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 1
    argNames:
    - pStmt
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 658
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 658
    functionName: isEmptyResultQuery
    functionSourceFile: /src/tdengine/source/libs/parser/src/parCalcConst.c
    functionUses: []
    functionsReached:
    - nodeType
    - isEmptyResultQuery
    linkageType: ''
    returnType: bool
    signature: 'static bool isEmptyResultQuery(SNode* pStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:523,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: qwAcquire
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: []
    functionsReached:
    - atomic_load_32
    - taosAcquireRef
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE SQWorker *qwAcquire(int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/qworker/inc/qwInt.h:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - refId
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 525
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 525
    functionName: qwRelease
    functionSourceFile: /src/tdengine/source/libs/qworker/inc/qwInt.h
    functionUses: []
    functionsReached:
    - taosReleaseRef
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t qwRelease(int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:762,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:762,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:764,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:762,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:765,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:765,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:765,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 772
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 772
    functionName: qwAbortPrerocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_UNLOCK
    - QW_ERR_RET
    - QW_FPARAMS
    - QW_ERR_JRET
    - qwAcquireTaskCtx
    - qwDropTask
    - QW_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAbortPrerocessQuery(QW_FPARAMS_DEF) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:922,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:932,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:954,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:969,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:976,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:979,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:984,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:991,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:996,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:973,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:912,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:912,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:910,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:919,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:922,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:927,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:938,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:943,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:950,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:953,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:956,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:970,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:975,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:998,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:996,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:910,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:915,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:922,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:927,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:984,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:988,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:966,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:910,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:912,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:914,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:925,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:927,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:930,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:940,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:941,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:948,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:950,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:983,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:996,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:987,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:978,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 93
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 999
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 999
    functionName: qwProcessCQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_ERR_RET
    - qwHandlePostPhaseEvents
    - dsGetSinkFlags
    - qwFreeSinkHandle
    - qwGetQueryResFromSink
    - qwGetTaskCtx
    - qwExecTask
    - QW_TASK_DLOG
    - qwBuildAndSendFetchRsp
    - QW_UNLOCK
    - QW_EVENT_RECEIVED
    - atomic_load_8
    - QW_SET_EVENT_PROCESSED
    - QW_ERR_JRET
    - QW_FPARAMS
    - atomic_store_8
    - qwFreeFetchRsp
    - QW_TASK_ELOG
    - qwHandlePrePhaseEvents
    - qwBuildFetchRsp
    - QW_SET_PHASE
    - qwBufStatusStr
    - tstrerror
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessCQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1011,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1013,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1013,1
    - Dst: qwStartDynamicTaskNewExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1019,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1025,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1034,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1044,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1056,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1056,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1056,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1098,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1097,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1097,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1011,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1050,1
    - Dst: qDestroyOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1067,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1072,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1088,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1092,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1094,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1095,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1075,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1110,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1084,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1011,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1013,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1025,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1049,1
    - Dst: qwBufStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1032,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1054,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1063,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1072,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1084,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1095,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1019,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1028,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1025,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1036,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1042,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1051,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1052,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1053,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1053,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1053,1
    - Dst: qwDbgSimulateDead
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1088,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1087,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 102
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 1111
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1111
    functionName: qwProcessFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwUpdateTaskStatus
    - qwHandlePostPhaseEvents
    - qwFreeSinkHandle
    - qwDbgSimulateDead
    - qwGetQueryResFromSink
    - qwGetTaskCtx
    - QW_TASK_DLOG
    - qwBuildAndSendFetchRsp
    - QW_UNLOCK
    - QW_SET_EVENT_RECEIVED
    - qwAcquireTaskCtx
    - QW_QUERY_RUNNING
    - qwReleaseTaskCtx
    - qwDbgSimulateRedirect
    - atomic_load_8
    - TMSG_INFO
    - qDestroyOperatorParam
    - QW_TASK_DLOG_E
    - QW_ERR_JRET
    - QW_FPARAMS
    - atomic_store_8
    - qwStartDynamicTaskNewExec
    - qwFreeFetchRsp
    - QW_TASK_ELOG
    - qwHandlePrePhaseEvents
    - qwBuildFetchRsp
    - qwBufStatusStr
    - tstrerror
    - qwBuildAndSendCQueryMsg
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessFetch(QW_FPARAMS_DEF, SQWMsg *qwMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1753,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1746,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1764,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1766,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1767,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1768,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1769,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1728,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1730,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1730,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1732,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1734,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1745,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1747,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1759,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1739,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1762,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1756,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1756,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1767,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1768,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1731,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1730,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1731,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1740,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - retireSize
    - errCode
    argTypes:
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1770
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1770
    functionName: qWorkerRetireJobs
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - atomic_val_compare_exchange_32
    - qwRetireJob
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - atomic_val_compare_exchange_8
    - qDebug
    - taosHashCancelIterate
    - atomic_load_8
    linkageType: ''
    returnType: void
    signature: 'void qWorkerRetireJobs(int64_t retireSize, int32_t errCode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:60,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:60,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:64,1
    - Dst: qwSendExplainResponse
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:60,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:65,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:66,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:73,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 77
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: qwHandleTaskComplete
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_SINK_DISABLE_MEMPOOL
    - qwFreeTaskHandle
    - QW_SINK_ENABLE_MEMPOOL
    - qwSendExplainResponse
    - dsGetDataLength
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwHandleTaskComplete(QW_FPARAMS_DEF, SQWTaskCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:412,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:417,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:418,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:414,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:413,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:421,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:423,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:426,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:427,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:432,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:433,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:431,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:444,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:445,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:440,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - pRes
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - SDeleteRes*
    constantsTouched: []
    func_position:
      end: 449
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 449
    functionName: qwGetDeleteResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - QW_TASK_ELOG
    - taosMemoryFree
    - QW_ERR_RET
    - taosMemoryCalloc
    - QW_SINK_DISABLE_MEMPOOL
    - QW_SINK_ENABLE_MEMPOOL
    - tstrerror
    - dsGetDataBlock
    - dsGetDataLength
    - TAOS_STRCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwGetDeleteResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, SDeleteRes
      *pRes) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1125,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1130,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1134,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1134,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1147,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1151,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1161,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1164,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1119,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1131,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1132,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1132,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1132,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1140,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1148,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1148,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1156,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1167,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1121,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1127,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1131,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1119,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1119,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1126,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1139,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1168
    functionName: qwProcessDrop
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - tmsgReleaseHandle
    - qwUpdateTaskStatus
    - qwKillTaskHandle
    - QW_UNLOCK
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_SET_EVENT_RECEIVED
    - QW_TASK_WLOG_E
    - qwAcquireTaskCtx
    - QW_QUERY_RUNNING
    - qwDropTask
    - QW_EVENT_RECEIVED
    - qwReleaseTaskCtx
    - QW_LOCK
    - QW_RET
    - QW_UPDATE_RSP_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessDrop(QW_FPARAMS_DEF, SQWMsg *qwMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1396,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1405,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1407,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1424,1
    - Dst: qMsgToSubplan
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1392,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1392,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1400,1
    - Dst: qwGetDeleteResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1420,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1420,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1399,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1401,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1418,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1418,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1414,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1426,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1393,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1406,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1418,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1420,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1424,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    - pRes
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    - SDeleteRes*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1427
    functionName: qwProcessDelete
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwFreeTaskCtx
    - QW_TASK_ELOG
    - qCreateExecTask
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwGetDeleteResFromSink
    - tstrerror
    - dsGetSinkFlags
    - qMsgToSubplan
    - qDestroyTask
    - qwExecTask
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessDelete(QW_FPARAMS_DEF, SQWMsg *qwMsg, SDeleteRes
      *pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1531,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1531,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1533,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1536
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1536
    functionName: qWorkerStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - QW_DLOG
    - qwStopAllTasks
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void qWorkerStopAllTasks(void *qWorkerMgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1665,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1666,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1666,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1665,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1665,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1666,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1674,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1674,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1674,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1677,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1702,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1685,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1677,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1687,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1677,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1700,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1683,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1700,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 9
    argNames:
    - pMgmt
    - sId
    - qId
    - cId
    - tId
    - rId
    - eId
    - pRsp
    - explainRes
    argTypes:
    - void*
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - int64_t
    - int32_t
    - void**
    - SArray*
    constantsTouched: []
    func_position:
      end: 1703
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1703
    functionName: qWorkerProcessLocalFetch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwHandlePrePhaseEvents
    - qwBuildFetchRsp
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwGetTaskCtx
    - atomic_store_8
    - qwHandlePostPhaseEvents
    - qwFreeSinkHandle
    - qwGetQueryResFromSink
    - qwExecTask
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessLocalFetch(void *pMgmt, uint64_t sId, uint64_t
      qId, uint64_t cId, uint64_t tId, int64_t rId, int32_t eId, void **pRsp, SArray
      *explainRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:82,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:83,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:86,1
    - Dst: qwBuildAndSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:82,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:83,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - QW_FPARAMS_DEF
    - msgType
    - ctx
    - rspCode
    - quickRsp
    argTypes:
    - QW_FPARAMS_DEF
    - int32_t
    - SQWTaskCtx*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: qwSendQueryRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_ERR_RET
    - qwBuildAndSendQueryRsp
    - tstrerror
    - taosGetTimestampSec
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwSendQueryRsp(QW_FPARAMS_DEF, int32_t msgType, SQWTaskCtx
      *ctx, int32_t rspCode, bool quickRsp) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:457,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:459,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:457,1
    - Dst: qwGetQueryResFromSink
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:468,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:457,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:468,1
    - Dst: qwFreeFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:472,1
    - Dst: qwBuildFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:484,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:486,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:488,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:499,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:505,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:494,1
    - Dst: qwBuildAndSendFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:496,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:496,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:499,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    - code
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 509
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 509
    functionName: qwQuickRspFetchReq
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwBuildAndSendFetchRsp
    - qwBuildFetchRsp
    - QW_ERR_JRET
    - QW_FPARAMS
    - atomic_store_8
    - qwFreeFetchRsp
    - qwAcquireTaskCtx
    - tstrerror
    - qwFreeSinkHandle
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - qwGetQueryResFromSink
    - QW_SET_EVENT_PROCESSED
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwQuickRspFetchReq(QW_FPARAMS_DEF, SQWMsg *qwMsg, int32_t
      code) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1177,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1181,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1182,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1183,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1183,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1183,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1202,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1175,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1175,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1203,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1213,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1194,1
    - Dst: qwSendExplainResponse
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1175,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1182,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1203,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1189,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1193,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1209,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1216,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1217
    functionName: qwProcessNotify
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwUpdateTaskStatus
    - qwKillTaskHandle
    - QW_ERR_RET
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_ELOG
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - qwSendExplainResponse
    - QW_QUERY_RUNNING
    - qwReleaseTaskCtx
    - QW_LOCK
    - QW_RET
    - QW_UPDATE_RSP_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessNotify(QW_FPARAMS_DEF, SQWMsg *qwMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1438,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1451,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1463,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1467,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1489,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1490,1
    - Dst: qwSetHbParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1494,1
    - Dst: taosTmrStart
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1496,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1515,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1518,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1525,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1433,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1449,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1475,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1476,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1484,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1489,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1499,1
    - Dst: qExecutorInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1502,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1504,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1519,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1432,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1462,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1461,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1458,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1470,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1475,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1498,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1520,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1522,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1508,1
    - Dst: qwOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1441,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1443,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1444,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1447,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1450,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1458,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1467,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1469,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1487,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1502,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1517,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 4
    argNames:
    - nodeType
    - nodeId
    - qWorkerMgmt
    - pMsgCb
    argTypes:
    - int8_t
    - int32_t
    - void**
    - SMsgCb*
    constantsTouched: []
    func_position:
      end: 1526
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1526
    functionName: qWorkerInit
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - qExecutorInit
    - atomic_add_fetch_32
    - taosHashInit
    - taosHashCleanup
    - taosGetTimestampSec
    - atomic_sub_fetch_32
    - TAOS_MEMSET
    - taosTmrStart
    - taosAddRef
    - taosGetDefaultHashFunction
    - taosTmrInit
    - taosTmrCleanUp
    - QW_ERR_JRET
    - qError
    - taosMemoryFreeClear
    - qwSetHbParam
    - qwOpenRef
    - tstrerror
    - qwRelease
    - qDebug
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerInit(int8_t nodeType, int32_t nodeId, void **qWorkerMgmt,
      const SMsgCb *pMsgCb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1547,1
    - Dst: qInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1552,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1554,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1548,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - qWorkerMgmt
    argTypes:
    - void**
    constantsTouched: []
    func_position:
      end: 1558
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1558
    functionName: qWorkerDestroy
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosMsleep
    - qInfo
    - taosRemoveRef
    - qError
    linkageType: ''
    returnType: void
    signature: 'void qWorkerDestroy(void **qWorkerMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1707,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1715,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1716,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1711,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1709,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1717,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1718,1
    - Dst: qwRetireJob
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1720,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1722,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1723,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1723,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - jobId
    - clientId
    - errCode
    argTypes:
    - uint64_t
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1725
      start: 1705
    functionDepth: 0
    functionLinenumber: 1705
    functionLinenumberEnd: 1725
    functionName: qWorkerRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_SET_QCID
    - atomic_load_64
    - atomic_load_32
    - atomic_val_compare_exchange_32
    - qwRetireJob
    - taosHashGet
    - qError
    - atomic_val_compare_exchange_8
    - qDebug
    - atomic_load_8
    linkageType: ''
    returnType: void
    signature: 'void qWorkerRetireJob(uint64_t jobId, uint64_t clientId, int32_t errCode) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:125,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:141,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:149,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:169,1
    - Dst: dsEndPut
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:181,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:182,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:217,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:169,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:145,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:158,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:164,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:180,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:169,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:155,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:117,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:113,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:154,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:166,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:172,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:174,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:203,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:207,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:214,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:143,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:151,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:111,1
    - Dst: qwDbgSimulateSleep
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:123,1
    - Dst: qExecTaskOpt
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:126,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:127,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:131,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:133,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:133,1
    - Dst: dsPutDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:150,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:220,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 85
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - queryStop
    - processOneBlock
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 221
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 221
    functionName: qwExecTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - qExecTaskOpt
    - QW_ERR_RET
    - qwHandleTaskComplete
    - dsPutDataBlock
    - dsEndPut
    - taosArrayGetSize
    - qwDbgSimulateSleep
    - QW_TASK_DLOG
    - taosArrayInit
    - taosArrayDestroy
    - QW_SINK_ENABLE_MEMPOOL
    - QW_EVENT_RECEIVED
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwFreeTaskHandle
    - taosEnableMemPoolUsage
    - QW_TASK_ELOG
    - atomic_load_32
    - QW_SINK_DISABLE_MEMPOOL
    - taosDisableMemPoolUsage
    - tstrerror
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwExecTask(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool *queryStop,
      bool processOneBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:513,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:514,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:518,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:517,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:526,1
    - Dst: dsReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:527,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:528,1
    - Dst: qUpdateOperatorParam
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:530,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:532,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:534,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:539,1
    - Dst: qwBuildAndSendCQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:540,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:535,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:540,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:538,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:536,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:537,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 544
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 544
    functionName: qwStartDynamicTaskNewExec
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - dsReset
    - QW_TASK_ELOG
    - QW_ERR_RET
    - atomic_store_8
    - QW_SET_EVENT_RECEIVED
    - QW_SINK_DISABLE_MEMPOOL
    - QW_FPARAMS
    - QW_SINK_ENABLE_MEMPOOL
    - QW_QUERY_RUNNING
    - atomic_val_compare_exchange_8
    - qwBuildAndSendCQueryMsg
    - atomic_load_8
    - qUpdateOperatorParam
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwStartDynamicTaskNewExec(QW_FPARAMS_DEF, SQWTaskCtx *ctx,
      SQWMsg *qwMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:780,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:788,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:786,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:796,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:801,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:801,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:815,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:815,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:812,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:778,1
    - Dst: qwRegisterQueryBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:778,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:778,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:782,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:808,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:782,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:786,1
    - Dst: qwInitSession
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:796,1
    - Dst: QW_GET_EVENT
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:787,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:801,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:811,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:780,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:780,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:782,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:784,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:787,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:796,1
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:799,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:806,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    constantsTouched: []
    func_position:
      end: 818
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 818
    functionName: qwPreprocessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_TASK_DLOG
    - QW_UPDATE_RSP_CODE
    - QW_UNLOCK
    - qwSendQueryRsp
    - qwAcquireTaskCtx
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwInitSession
    - QW_EVENT_PROCESSED
    - QW_TASK_WLOG
    - qwAddTaskStatus
    - qwDropTask
    - QW_GET_EVENT
    - qwRegisterQueryBrokenLinkArg
    - tstrerror
    - qwAddTaskCtx
    - QW_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwPreprocessQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1225,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1229,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1228,1
    - Dst: qwProcessHbLinkBroken
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1225,1
    - Dst: qwAcquireAddScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1228,1
    - Dst: qwRegisterHbBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1229,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1233,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1236,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1240,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1241,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1253,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1257,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1245,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1254,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1249,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1263,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1243,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - mgmt
    - qwMsg
    - req
    argTypes:
    - SQWorker*
    - SQWMsg*
    - SSchedulerHbReq*
    constantsTouched: []
    func_position:
      end: 1264
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1264
    functionName: qwProcessHb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwAcquireAddScheduler
    - tmsgReleaseHandle
    - QW_UNLOCK
    - QW_ERR_JRET
    - qwReleaseScheduler
    - qwRegisterHbBrokenLinkArg
    - qwProcessHbLinkBroken
    - qwBuildAndSendHbRsp
    - memcpy
    - QW_DLOG
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessHb(SQWorker *mgmt, SQWMsg *qwMsg, SSchedulerHbReq
      *req) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qTaskIsExecuting
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:225,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: qwTaskNotInExec
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qTaskIsExecuting
    linkageType: ''
    returnType: bool
    signature: 'bool qwTaskNotInExec(SQWTaskCtx *ctx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:552,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:655,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:637,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:564,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:574,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:583,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:676,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:628,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:658,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:557,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:600,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:638,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:621,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:649,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:558,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:568,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:590,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:596,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:550,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:583,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:587,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:594,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:679,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:600,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:573,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:574,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:649,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:676,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:643,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:556,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:569,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:610,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:666,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:669,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:615,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:622,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:585,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:590,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:601,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:565,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:595,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:670,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:674,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:569,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:570,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:585,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:627,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:654,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:638,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:574,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:599,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:650,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:610,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:676,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:604,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:633,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:611,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:628,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:557,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:610,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:552,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:605,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:663,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:633,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:634,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:629,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:606,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:674,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:563,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:599,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:638,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:654,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:674,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:615,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:552,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:556,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:579,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:616,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:633,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:654,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:550,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:554,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 126
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - phase
    - input
    - output
    argTypes:
    - QW_FPARAMS_DEF
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    constantsTouched: []
    func_position:
      end: 680
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 680
    functionName: qwHandlePrePhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwUpdateTaskStatus
    - QW_UPDATE_RSP_CODE
    - QW_TASK_DLOG
    - qwPhaseStr
    - QW_UNLOCK
    - qwAcquireTaskCtx
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - atomic_load_8
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_EVENT_PROCESSED
    - qwDropTask
    - QW_TASK_WLOG
    - QW_TASK_ELOG
    - QW_SET_PHASE
    - atomic_load_32
    - tstrerror
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwHandlePrePhaseEvents(QW_FPARAMS_DEF, int8_t phase, SQWPhaseInput
      *input, SQWPhaseOutput *output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:828,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:830,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:830,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:854,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:864,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:872,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:878,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:890,1
    - Dst: qwQuickRspFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:892,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:892,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:853,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:855,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:847,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:853,1
    - Dst: dsGetSinkFlags
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:867,1
    - Dst: qIsDynamicExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:870,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:892,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:828,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:830,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:838,1
    - Dst: qMsgToSubplan
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:839,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:840,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:844,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:848,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:850,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:860,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:873,1
    - Dst: qwSaveTbVersionInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:875,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:843,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:859,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:861,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:875,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:878,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:878,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:886,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:890,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:894,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - qwMsg
    - sql
    argTypes:
    - QW_FPARAMS_DEF
    - SQWMsg*
    - char*
    constantsTouched: []
    func_position:
      end: 895
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 895
    functionName: qwProcessQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - QW_ERR_RET
    - qIsDynamicExecTask
    - qwHandlePostPhaseEvents
    - dsGetSinkFlags
    - qwGetTaskCtx
    - qwExecTask
    - qCreateExecTask
    - QW_ERR_JRET
    - QW_FPARAMS
    - qMsgToSubplan
    - atomic_store_ptr
    - qwQuickRspFetchReq
    - taosEnableMemPoolUsage
    - QW_TASK_ELOG
    - qwHandlePrePhaseEvents
    - qwSaveTbVersionInfo
    - taosDisableMemPoolUsage
    - tstrerror
    - atomic_add_fetch_64
    - qDestroyTask
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessQuery(QW_FPARAMS_DEF, SQWMsg *qwMsg, char *sql) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1283,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1275,1
    - Dst: qwDbgDumpMgmtInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1285,1
    - Dst: qwChkDropTimeoutQuery
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1293,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1303,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1326,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1337,1
    - Dst: qwGenerateSchHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1346,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1348,1
    - Dst: qwBuildAndSendHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1361,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1367,1
    - Dst: tFreeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1364,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1349,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1375,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1268,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1305,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1312,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1302,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1336,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1371,1
    - Dst: qwClearExpiredSch
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1368,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1374,1
    - Dst: qwDbgDumpJobsInfo
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1286,1
    - Dst: qwStopAllTasks
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1289,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1297,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1313,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1315,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1317,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1324,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1334,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1342,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1353,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1372,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1378,1
    - Dst: qwAcquire
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1273,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1309,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1310,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1314,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1316,1
    - Dst: qwRelease
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1319,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1330,1
    - Dst: QW_TLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1331,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1335,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1358,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 89
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1379
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1379
    functionName: qwProcessHbTimerEvent
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwAcquire
    - taosMemoryFree
    - QW_ELOG
    - taosMemoryCalloc
    - qwDbgDumpJobsInfo
    - taosArrayGetSize
    - qwChkDropTimeoutQuery
    - taosArrayInit
    - taosGetTimestampMs
    - taosTmrReset
    - qwDbgDumpMgmtInfo
    - QW_UNLOCK
    - taosArrayDestroy
    - qwGenerateSchHbRsp
    - taosGetTimestampSec
    - taosArrayPush
    - tFreeSSchedulerHbRsp
    - qwStopAllTasks
    - QW_ERR_JRET
    - qError
    - taosMemoryFreeClear
    - qwClearExpiredSch
    - atomic_load_32
    - taosHashIterate
    - taosHashGetSize
    - qwRelease
    - taosHashGetKey
    - qwBuildAndSendHbRsp
    - taosHashCancelIterate
    - QW_TLOG
    - QW_DLOG
    - QW_LOCK
    linkageType: ''
    returnType: void
    signature: 'void qwProcessHbTimerEvent(void *param, void *tmrId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:239,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:245,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:243,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:241,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:246,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:255,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:258,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:262,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:266,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:267,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:273,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:276,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - mgmt
    - sch
    - hbInfo
    argTypes:
    - SQWorker*
    - SQWSchStatus*
    - SQWHbInfo*
    constantsTouched: []
    func_position:
      end: 279
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 279
    functionName: qwGenerateSchHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_GET_QTID
    - QW_UNLOCK
    - QW_ELOG
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - taosHashCancelIterate
    - QW_LOCK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwGenerateSchHbRsp(SQWorker *mgmt, SQWSchStatus *sch, SQWHbInfo
      *hbInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:687,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:691,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:694,1
    - Dst: qwTaskNotInExec
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:699,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:741,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:753,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:753,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:753,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:755,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:745,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:687,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:689,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:689,1
    - Dst: QW_TASK_WLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:694,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:707,1
    - Dst: qwDbgSimulateRedirect
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:727,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:728,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:738,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:745,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:695,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:698,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:700,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:700,1
    - Dst: qwPhaseStr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:706,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:708,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:716,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:716,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:718,1
    - Dst: qwSendQueryRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:730,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:689,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:693,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:700,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:701,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:699,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:711,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:718,1
    - Dst: qwDbgSimulateDead
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:728,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:730,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:750,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:749,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 77
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - phase
    - input
    - output
    argTypes:
    - QW_FPARAMS_DEF
    - int8_t
    - SQWPhaseInput*
    - SQWPhaseOutput*
    constantsTouched: []
    func_position:
      end: 756
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 756
    functionName: qwHandlePostPhaseEvents
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - qwUpdateTaskStatus
    - qwDbgSimulateDead
    - QW_UPDATE_RSP_CODE
    - QW_TASK_DLOG
    - qwPhaseStr
    - QW_UNLOCK
    - qwSendQueryRsp
    - qwAcquireTaskCtx
    - QW_QUERY_RUNNING
    - qwReleaseTaskCtx
    - QW_EVENT_RECEIVED
    - qwDbgSimulateRedirect
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_EVENT_PROCESSED
    - QW_TASK_WLOG
    - qwDropTask
    - QW_TASK_ELOG
    - QW_SET_PHASE
    - tstrerror
    - qwTaskNotInExec
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwHandlePostPhaseEvents(QW_FPARAMS_DEF, int8_t phase, SQWPhaseInput
      *input, SQWPhaseOutput *output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1562,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1568,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1571,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1572,1
    - Dst: dsDataSinkGetCacheSize
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1568,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1573,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1574,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1575,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1576,1
    - Dst: QW_STAT_GET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1577,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1581,1
    - Dst: qwGetTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1582,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - handle
    - qWorkerMgmt
    - pStat
    argTypes:
    - SReadHandle*
    - void*
    - SQWorkerStat*
    constantsTouched: []
    func_position:
      end: 1585
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1585
    functionName: qWorkerGetStat
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - dsDataSinkGetCacheSize
    - QW_ERR_RET
    - QW_STAT_GET
    - qwGetTimeInQueue
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerGetStat(SReadHandle *handle, void *qWorkerMgmt, SQWorkerStat
      *pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:29,1
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:36,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:31,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:29,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:33,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:40,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:42,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:45,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:47,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - mgmt
    - qwMsg
    - req
    argTypes:
    - SQWorker*
    - SQWMsg*
    - SSchedulerHbReq*
    constantsTouched: []
    func_position:
      end: 50
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 50
    functionName: qwProcessHbLinkBroken
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tmsgReleaseHandle
    - QW_UNLOCK
    - QW_ERR_RET
    - qwReleaseScheduler
    - qwAcquireScheduler
    - QW_DLOG
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwProcessHbLinkBroken(SQWorker *mgmt, SQWMsg *qwMsg, SSchedulerHbReq
      *req) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:310,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:311,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:327,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:356,1
    - Dst: dsGetDataBlock
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:357,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:361,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:381,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:381,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:381,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:299,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:301,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:312,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:323,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:323,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:323,1
    - Dst: qwMallocFetchRsp
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:347,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:358,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:379,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:305,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:342,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:316,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:327,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:392,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:304,1
    - Dst: dsGetDataLength
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:300,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:315,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:315,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:319,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:347,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:362,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:386,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 88
    argCount: 6
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - dataLen
    - pRawDataLen
    - rspMsg
    - pOutput
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - int32_t*
    - int32_t*
    - void**
    - SOutputData*
    constantsTouched: []
    func_position:
      end: 403
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 403
    functionName: qwGetQueryResFromSink
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - qwUpdateTaskStatus
    - QW_ERR_JRET
    - QW_FPARAMS
    - QW_SINK_DISABLE_MEMPOOL
    - QW_SINK_ENABLE_MEMPOOL
    - tstrerror
    - dsGetDataBlock
    - dsGetDataLength
    - qwMallocFetchRsp
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwGetQueryResFromSink(QW_FPARAMS_DEF, SQWTaskCtx *ctx, int32_t
      *dataLen, int32_t *pRawDataLen, void **rspMsg, SOutputData *pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1599,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1627,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1632,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1633,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1635,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1643,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1646,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1647,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1598,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1599,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1598,1
    - Dst: qwHandlePrePhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1601,1
    - Dst: qCreateExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1620,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: qwExecTask
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1635,1
    - Dst: qwHandlePostPhaseEvents
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1643,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1650,1
    - Dst: qwAddTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1598,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1601,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1611,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1623,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1635,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1639,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1599,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1601,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1614,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1622,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1602,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1622,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qworker.c:1628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 9
    argNames:
    - pMgmt
    - sId
    - qId
    - cId
    - tId
    - rId
    - eId
    - qwMsg
    - explainRes
    argTypes:
    - void*
    - uint64_t
    - uint64_t
    - uint64_t
    - uint64_t
    - int64_t
    - int32_t
    - SQWMsg*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1651
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1651
    functionName: qWorkerProcessLocalQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qworker.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - taosMemoryFree
    - qwHandlePrePhaseEvents
    - qCreateExecTask
    - QW_ERR_JRET
    - QW_FPARAMS
    - taosMemoryCalloc
    - qwHandlePostPhaseEvents
    - qwAcquireTaskCtx
    - tstrerror
    - atomic_store_ptr
    - qwAddTaskCtx
    - qwAddTaskStatus
    - qwReleaseTaskCtx
    - qwExecTask
    - QW_RET
    - QW_UPDATE_RSP_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessLocalQuery(void *pMgmt, uint64_t sId, uint64_t
      qId, uint64_t cId, uint64_t tId, int64_t rId, int32_t eId, SQWMsg *qwMsg, SArray
      *explainRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:6,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:15,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:13,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:11,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:9,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - taskNum
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 16
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 16
    functionName: qwSetConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: 'void qwSetConcurrentTaskNumCb(int32_t taskNum) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:40,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:42,1
    - Dst: taosMemPoolCallocJob
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:46,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:48,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - pJob
    argTypes:
    - QW_FPARAMS_DEF
    - SQWJobInfo*
    constantsTouched: []
    func_position:
      end: 54
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 54
    functionName: qwInitJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - taosMemPoolCallocJob
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwInitJobInfo(QW_FPARAMS_DEF, SQWJobInfo* pJob) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_TEID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:82,1
    - Dst: taosMemPoolDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:90,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:84,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:86,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:86,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:92,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:93,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:95,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:98,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:102,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:103,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:107,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:109,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:107,1
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - pJobInfo
    - session
    - needRemoveHashKey
    argTypes:
    - QW_FPARAMS_DEF
    - SQWJobInfo*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 115
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 115
    functionName: qwDestroySession
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - QW_SET_QCID
    - QW_TASK_ELOG
    - TAOS_UNUSED
    - QW_UNLOCK
    - QW_TASK_DLOG_E
    - atomic_store_8
    - taosMemPoolDestroySession
    - taosHashRemove
    - QW_SET_TEID
    - tstrerror
    - atomic_sub_fetch_32
    - QW_LOCK
    - QW_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: 'void qwDestroySession(QW_FPARAMS_DEF, SQWJobInfo *pJobInfo, void*
      session, bool needRemoveHashKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:61,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:62,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:64,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:62,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:68,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:69,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 77
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 77
    functionName: qwInitJobHash
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - qError
    - atomic_load_ptr
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwInitJobHash(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:19,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: qwDecConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - qError
    linkageType: ''
    returnType: void
    signature: 'void qwDecConcurrentTaskNumCb(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:29,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: qwIncConcurrentTaskNumCb
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - qError
    linkageType: ''
    returnType: void
    signature: 'void qwIncConcurrentTaskNumCb(void) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qwInitJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:132,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:129,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:149,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:158,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:162,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:123,1
    - Dst: QW_SET_QCID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:126,1
    - Dst: qwDestroyJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:139,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:166,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:132,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:145,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:160,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:168,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:153,1
    - Dst: qwInitJobHash
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:123,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:145,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:161,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ppJob
    argTypes:
    - QW_FPARAMS_DEF
    - SQWJobInfo**
    constantsTouched: []
    func_position:
      end: 176
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 176
    functionName: qwRetrieveJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - QW_SET_QCID
    - QW_TASK_ELOG
    - qwDestroyJobInfo
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - QW_FPARAMS
    - taosHashAcquire
    - QW_UNLOCK
    - QW_TASK_WLOG_E
    - tstrerror
    - qwInitJobHash
    - qwInitJobInfo
    - taosHashRelease
    - atomic_add_fetch_32
    - atomic_load_8
    - taosHashPut
    - QW_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwRetrieveJobInfo(QW_FPARAMS_DEF, SQWJobInfo** ppJob) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:192,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:199,1
    - Dst: QW_SET_TEID
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:197,1
    - Dst: qwRetrieveJobInfo
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:192,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:192,1
    - Dst: taosMemPoolInitSession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:199,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:203,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:206,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:207,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:213,1
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:223,1
    - Dst: qwDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:219,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMem.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - ppSession
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - void**
    constantsTouched: []
    func_position:
      end: 227
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 227
    functionName: qwInitSession
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMem.c
    functionUses: []
    functionsReached:
    - qwRetrieveJobInfo
    - QW_TASK_ELOG
    - QW_TASK_DLOG_E
    - QW_ERR_JRET
    - QW_FPARAMS
    - taosMemPoolInitSession
    - QW_SET_TEID
    - taosHashRelease
    - taosHashPut
    - qwDestroySession
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwInitSession(QW_FPARAMS_DEF, SQWTaskCtx *ctx, void** ppSession) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:53,1
    - Dst: qwDbgValidateStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:55,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:55,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:60,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:55,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:64,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:64,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:64,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - task
    - status
    - dynamicTask
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskStatus*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 70
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 70
    functionName: qwSetTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwDbgValidateStatus
    - jobTaskStatusStr
    - QW_ERR_RET
    - QW_FPARAMS
    - atomic_val_compare_exchange_8
    - atomic_load_8
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwSetTaskStatus(QW_FPARAMS_DEF, SQWTaskStatus *task, int8_t
      status, bool dynamicTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:140,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:143,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:142,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:145,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:146,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - rwType
    - sch
    - task
    argTypes:
    - QW_FPARAMS_DEF
    - int32_t
    - SQWSchStatus*
    - SQWTaskStatus**
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: qwAcquireTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_UNLOCK
    - QW_ERR_RET
    - taosHashGet
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - QW_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAcquireTaskStatus(QW_FPARAMS_DEF, int32_t rwType, SQWSchStatus
      *sch, SQWTaskStatus **task) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rwType
    - sch
    argTypes:
    - int32_t
    - SQWSchStatus*
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: qwReleaseTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void qwReleaseTaskStatus(int32_t rwType, SQWSchStatus *sch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRelease
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - mgmt
    - ctx
    argTypes:
    - SQWorker*
    - void*
    constantsTouched: []
    func_position:
      end: 275
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 275
    functionName: qwReleaseTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosHashRelease
    linkageType: ''
    returnType: void
    signature: 'void qwReleaseTaskCtx(SQWorker *mgmt, void *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:293,1
    - Dst: QW_SINK_DISABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:297,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:294,1
    - Dst: dsDestroyDataSinker
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:296,1
    - Dst: QW_SINK_ENABLE_MEMPOOL
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:295,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:299,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: qwFreeSinkHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - QW_SINK_DISABLE_MEMPOOL
    - QW_SINK_ENABLE_MEMPOOL
    - atomic_load_ptr
    - atomic_add_fetch_64
    - qDebug
    - dsDestroyDataSinker
    linkageType: ''
    returnType: void
    signature: 'void qwFreeSinkHandle(SQWTaskCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tmsgReleaseHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:321,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:331,1
    - Dst: qwDestroySession
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:336,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:333,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:329,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 339
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 339
    functionName: qwFreeTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - tmsgReleaseHandle
    - taosArrayDestroy
    - qwFreeTaskHandle
    - QW_FPARAMS
    - qwFreeSinkHandle
    - qwDestroySession
    linkageType: ''
    returnType: void
    signature: 'void qwFreeTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx *ctx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:497,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:503,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:502,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:503,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:500,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:510,1
    - Dst: qwUpdateTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:510,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:510,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:512,1
    - Dst: qwHandleTaskComplete
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:512,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 515
    functionName: qwHandleDynamicTaskEnd
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwUpdateTaskStatus
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - QW_FPARAMS
    - taosHashGet
    - qwHandleTaskComplete
    - QW_SET_QTID
    - QW_CTX_NOT_EXISTS_ERR_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwHandleDynamicTaskEnd(QW_FPARAMS_DEF) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:720,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:729,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:722,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:731,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:725,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:735,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:736,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:737,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:738,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:741,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - mgmt
    - pExpiredSch
    argTypes:
    - SQWorker*
    - SArray*
    constantsTouched: []
    func_position:
      end: 743
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 743
    functionName: qwClearExpiredSch
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosHashGetSize
    - qError
    - qwAcquireScheduler
    - taosHashRemove
    - qDebug
    - taosArrayGetSize
    - qwReleaseScheduler
    - qwDestroySchStatus
    linkageType: ''
    returnType: void
    signature: 'void qwClearExpiredSch(SQWorker *mgmt, SArray *pExpiredSch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:75,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:76,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:79,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:80,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:75,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:83,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:84,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:86,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:87,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:89,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:94,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:96,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:90,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - mgmt
    - clientId
    - rwType
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: qwAddSchedulerImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - QW_UNLOCK
    - QW_ERR_RET
    - QW_SCH_ELOG
    - HASH_NODE_EXIST
    - taosHashPut
    - taosGetDefaultHashFunction
    - QW_LOCK
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddSchedulerImpl(SQWorker *mgmt, uint64_t clientId, int32_t
      rwType) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:157,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:167,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:171,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:175,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:184,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:175,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:172,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:181,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:184,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:166,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:169,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:169,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:181,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:163,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:169,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:171,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:176,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:184,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - QW_FPARAMS_DEF
    - sch
    - rwType
    - status
    - task
    argTypes:
    - QW_FPARAMS_DEF
    - SQWSchStatus*
    - int32_t
    - int32_t
    - SQWTaskStatus**
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: qwAddTaskStatusImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - jobTaskStatusStr
    - QW_UNLOCK
    - qwAcquireTaskStatus
    - QW_FPARAMS
    - QW_ERR_RET
    - tstrerror
    - HASH_NODE_EXIST
    - QW_SET_QTID
    - taosHashPut
    - QW_LOCK
    - QW_RET
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddTaskStatusImpl(QW_FPARAMS_DEF, SQWSchStatus *sch, int32_t
      rwType, int32_t status, SQWTaskStatus **task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:213,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:217,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:215,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:218,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx**
    constantsTouched: []
    func_position:
      end: 222
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 222
    functionName: qwAcquireTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - taosHashAcquire
    - QW_SET_QTID
    - QW_CTX_NOT_EXISTS_ERR_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAcquireTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:279,1
    - Dst: taosEnableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:281,1
    - Dst: taosDisableMemPoolUsage
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:283,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:282,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:280,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:285,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: qwFreeTaskHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - taosDisableMemPoolUsage
    - atomic_load_ptr
    - atomic_add_fetch_64
    - qDebug
    - qDestroyTask
    - taosEnableMemPoolUsage
    linkageType: ''
    returnType: void
    signature: 'void qwFreeTaskHandle(SQWTaskCtx *ctx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:309,1
    - Dst: qAsyncKillTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:312,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:313,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:311,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:310,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - rspCode
    argTypes:
    - SQWTaskCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: qwKillTaskHandle
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - atomic_load_ptr
    - atomic_store_ptr
    - qAsyncKillTask
    - qDebug
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwKillTaskHandle(SQWTaskCtx *ctx, int32_t rspCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 344
    functionName: freeExplainExecItem
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeExplainExecItem(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:752,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - job
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: qwDestroyJobInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void qwDestroyJobInfo(void *job) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:766,1
    - Dst: qwKillTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:773,1
    - Dst: QW_FETCH_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:779,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:803,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:781,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:788,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:790,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:792,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:796,1
    - Dst: qwFreeSinkHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:799,1
    - Dst: QW_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:765,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:765,1
    - Dst: QW_QUERY_RUNNING
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:772,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:787,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:784,1
    - Dst: qwFreeTaskHandle
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:798,1
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:763,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:763,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:767,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:775,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:777,1
    - Dst: QW_SET_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:783,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:780,1
    - Dst: qwDropTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:788,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:806,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - forceStop
    - errCode
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 809
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 809
    functionName: qwStopTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - QW_UNLOCK
    - qwKillTaskHandle
    - QW_TASK_DLOG_E
    - QW_SET_EVENT_RECEIVED
    - QW_FPARAMS
    - qwFreeTaskHandle
    - QW_TASK_WLOG_E
    - tstrerror
    - QW_EVENT_PROCESSED
    - QW_UPDATE_RSP_CODE
    - QW_QUERY_RUNNING
    - QW_FETCH_RUNNING
    - QW_EVENT_RECEIVED
    - qwDropTask
    - qwFreeSinkHandle
    - QW_LOCK
    - QW_TASK_DLOG
    linkageType: ''
    returnType: bool
    signature: 'bool qwStopTask(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool forceStop, int32_t
      errCode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:832,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:840,1
    - Dst: qwRetireTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:836,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pJob
    argTypes:
    - SQWJobInfo*
    constantsTouched: []
    func_position:
      end: 844
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 844
    functionName: qwRetireJob
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - qwRetireTask
    linkageType: ''
    returnType: bool
    signature: 'bool qwRetireJob(SQWJobInfo *pJob) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:814,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:814,1
    - Dst: qwReleaseTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:821,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:819,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - errCode
    argTypes:
    - QW_FPARAMS_DEF
    - int32_t
    constantsTouched: []
    func_position:
      end: 824
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 824
    functionName: qwRetireTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireTaskCtx
    - QW_FPARAMS
    - qwReleaseTaskCtx
    - qwStopTask
    linkageType: ''
    returnType: bool
    signature: 'bool qwRetireTask(QW_FPARAMS_DEF, int32_t errCode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:852,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:856,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:860,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:860,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:855,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    constantsTouched: []
    func_position:
      end: 864
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 864
    functionName: qwStopAllTasks
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_GET_QTID
    - QW_FPARAMS
    - taosHashIterate
    - qwStopTask
    - taosHashGetKey
    linkageType: ''
    returnType: void
    signature: 'void qwStopAllTasks(SQWorker *mgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:103,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:106,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:104,1
    - Dst: qwAddSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:109,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:109,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:115,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:117,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    - nOpt
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    - int32_t
    constantsTouched: []
    func_position:
      end: 126
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 126
    functionName: qwAcquireSchedulerImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAddSchedulerImpl
    - QW_UNLOCK
    - QW_ERR_RET
    - taosHashGet
    - QW_SCH_ELOG
    - QW_LOCK
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAcquireSchedulerImpl(SQWorker *mgmt, uint64_t clientId,
      int32_t rwType, SQWSchStatus **sch, int32_t nOpt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:193,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:195,1
    - Dst: qwAddTaskStatusImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:195,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:195,1
    - Dst: qwAcquireAddScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:193,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:199,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - status
    argTypes:
    - QW_FPARAMS_DEF
    - int32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 202
    functionName: qwAddTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireAddScheduler
    - QW_ERR_RET
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwAddTaskStatusImpl
    - qwReleaseScheduler
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddTaskStatus(QW_FPARAMS_DEF, int32_t status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:271,1
    - Dst: qwAddTaskCtxImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:271,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 271
    functionName: qwAddTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_FPARAMS
    - qwAddTaskCtxImpl
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddTaskCtx(QW_FPARAMS_DEF) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:352,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:357,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:361,1
    - Dst: qGetExplainExecInfo
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:357,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:354,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:362,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:364,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:366,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:366,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:373,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:374,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:386,1
    - Dst: qwBuildAndSendExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:382,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:391,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:383,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 394
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 394
    functionName: qwSendExplainResponse
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - QW_ERR_RET
    - QW_ERR_JRET
    - taosMemoryCalloc
    - qGetExplainExecInfo
    - taosArrayPush
    - taosArrayDestroyEx
    - memcpy
    - taosArrayGetSize
    - taosArrayInit
    - qwBuildAndSendExplainRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwSendExplainResponse(QW_FPARAMS_DEF, SQWTaskCtx *ctx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:444,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:451,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:447,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:446,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:451,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:452,1
    - Dst: QW_TASK_WLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:454,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:458,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:459,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:460,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:463,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:468,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:470,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:472,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 473
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 473
    functionName: qwDropTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireTaskStatus
    - QW_TASK_DLOG_E
    - QW_FPARAMS
    - QW_ERR_JRET
    - QW_TASK_WLOG_E
    - taosHashRemove
    - qwAcquireScheduler
    - qwReleaseTaskStatus
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - qwReleaseScheduler
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwDropTaskStatus(QW_FPARAMS_DEF) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:518,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:518,1
    - Dst: qwDropTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: qwHandleDynamicTaskEnd
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:518,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:519,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: qwDropTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:520,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 525
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 525
    functionName: qwDropTask
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwDropTaskStatus
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - QW_FPARAMS
    - qwHandleDynamicTaskEnd
    - qwDropTaskCtx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwDropTask(QW_FPARAMS_DEF) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:621,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:631,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:634,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:636,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:655,1
    - Dst: qwCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:657,1
    - Dst: qTrace
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:617,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:626,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:649,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:646,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:614,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:616,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:630,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:634,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:635,1
    - Dst: qwDestroySchStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:644,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:639,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:659,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:653,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 661
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 661
    functionName: qwDestroyImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwFreeTaskCtx
    - QW_GET_QTID
    - taosMemoryFree
    - qwCloseRef
    - QW_TASK_DLOG_E
    - qTrace
    - QW_FPARAMS
    - taosHashIterate
    - taosHashGetKey
    - atomic_sub_fetch_32
    - qDebug
    - taosTmrStop
    - taosTmrCleanUp
    - qwDestroySchStatus
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void qwDestroyImpl(void *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:683,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:694,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - mgmt
    - ts
    - type
    argTypes:
    - SQWorker*
    - int64_t
    - EQueueType
    constantsTouched: []
    func_position:
      end: 699
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 699
    functionName: qwUpdateTimeInQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampUs
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwUpdateTimeInQueue(SQWorker *mgmt, int64_t ts, EQueueType
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAcquireSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: qwAcquireAddScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireSchedulerImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAcquireAddScheduler(SQWorker *mgmt, uint64_t clientId, int32_t
      rwType, SQWSchStatus **sch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskStatusImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:206,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 5
    argNames:
    - QW_FPARAMS_DEF
    - rwType
    - sch
    - status
    - task
    argTypes:
    - QW_FPARAMS_DEF
    - int32_t
    - SQWSchStatus*
    - int32_t
    - SQWTaskStatus**
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: qwAddAcquireTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_FPARAMS
    - qwAddTaskStatusImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddAcquireTaskStatus(QW_FPARAMS_DEF, int32_t rwType, SQWSchStatus
      *sch, int32_t status, SQWTaskStatus **task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:480,1
    - Dst: qwAcquireScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:480,1
    - Dst: qwAcquireTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:481,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:481,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:481,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:483,1
    - Dst: qwSetTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:483,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:483,1
    - Dst: qwReleaseTaskStatus
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:488,1
    - Dst: qwReleaseScheduler
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:490,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - status
    - dynamicTask
    argTypes:
    - QW_FPARAMS_DEF
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: qwUpdateTaskStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireTaskStatus
    - QW_ERR_RET
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwSetTaskStatus
    - qwAcquireScheduler
    - qwReleaseTaskStatus
    - qwReleaseScheduler
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwUpdateTaskStatus(QW_FPARAMS_DEF, int8_t status, bool dynamicTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:664,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:668,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:666,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:670,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:669,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 676
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 676
    functionName: qwOpenRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosOpenRef
    - qError
    - taosWUnLockLatch
    - taosWLockLatch
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwOpenRef(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:711,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - mgmt
    - type
    argTypes:
    - SQWorker*
    - EQueueType
    constantsTouched: []
    func_position:
      end: 716
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 716
    functionName: qwGetTimeInQueue
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t qwGetTimeInQueue(SQWorker *mgmt, EQueueType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:872,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:875,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:881,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:880,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:876,1
    - Dst: qwStopTask
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:885,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:885,1
    - Dst: QW_EVENT_RECEIVED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:885,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:887,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - mgmt
    - currTs
    argTypes:
    - SQWorker*
    - int32_t
    constantsTouched: []
    func_position:
      end: 889
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 889
    functionName: qwChkDropTimeoutQuery
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_GET_QTID
    - QW_FPARAMS
    - taosHashIterate
    - qwStopTask
    - taosHashGetKey
    - QW_EVENT_RECEIVED
    linkageType: ''
    returnType: void
    signature: 'void qwChkDropTimeoutQuery(SQWorker *mgmt, int32_t currTs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - phase
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 30
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 30
    functionName: qwPhaseStr
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *qwPhaseStr(int32_t phase) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAcquireSchedulerImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - mgmt
    - clientId
    - rwType
    - sch
    argTypes:
    - SQWorker*
    - uint64_t
    - int32_t
    - SQWSchStatus**
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: qwAcquireScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwAcquireSchedulerImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAcquireScheduler(SQWorker *mgmt, uint64_t clientId, int32_t
      rwType, SQWSchStatus **sch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:226,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:231,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:228,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:230,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx**
    constantsTouched: []
    func_position:
      end: 235
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 235
    functionName: qwGetTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - taosHashGet
    - QW_SET_QTID
    - QW_CTX_NOT_EXISTS_ERR_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwGetTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:416,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:418,1
    - Dst: QW_SET_EVENT_PROCESSED
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:421,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:411,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:417,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:424,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:405,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:402,1
    - Dst: QW_UPDATE_RSP_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:413,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:431,1
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:398,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:405,1
    - Dst: QW_TASK_DLOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:404,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:419,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:423,1
    - Dst: qwFreeTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:428,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:433,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:428,1
    - Dst: QW_CTX_NOT_EXISTS_ERR_CODE
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:425,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames:
    - QW_FPARAMS_DEF
    argTypes: []
    constantsTouched: []
    func_position:
      end: 436
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 436
    functionName: qwDropTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - qwFreeTaskCtx
    - QW_TASK_DLOG_E
    - QW_ERR_RET
    - QW_FPARAMS
    - taosHashGet
    - taosHashRemove
    - atomic_store_ptr
    - QW_SET_EVENT_PROCESSED
    - atomic_add_fetch_64
    - QW_SET_QTID
    - QW_TASK_ELOG_E
    - QW_CTX_NOT_EXISTS_ERR_CODE
    - QW_UPDATE_RSP_CODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwDropTaskCtx(QW_FPARAMS_DEF) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:532,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:533,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:539,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:544,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - refId
    - pParam
    argTypes:
    - int64_t
    - SQWHbParam**
    constantsTouched: []
    func_position:
      end: 552
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 552
    functionName: qwSetHbParam
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - atomic_val_compare_exchange_32
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void qwSetHbParam(int64_t refId, SQWHbParam **pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:594,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:602,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:595,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:599,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 603
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 603
    functionName: qwCloseRef
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - taosCloseRef
    - taosWUnLockLatch
    - taosWLockLatch
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void qwCloseRef(void) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - bufStatus
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: qwBufStatusStr
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *qwBufStatusStr(int32_t bufStatus) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rwType
    - mgmt
    argTypes:
    - int32_t
    - SQWorker*
    constantsTouched: []
    func_position:
      end: 136
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 136
    functionName: qwReleaseScheduler
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void qwReleaseScheduler(int32_t rwType, SQWorker *mgmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:247,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:243,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:249,1
    - Dst: QW_TASK_ELOG_E
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:251,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:265,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:255,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:263,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:247,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:249,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:260,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:265,1
    - Dst: QW_SET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:239,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:252,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:247,1
    - Dst: HASH_NODE_EXIST
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:245,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:249,1
    - Dst: qwAcquireTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:263,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:263,1
    - Dst: qwGetTaskCtx
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:265,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:256,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - acquire
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - bool
    - SQWTaskCtx**
    constantsTouched: []
    func_position:
      end: 269
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 269
    functionName: qwAddTaskCtxImpl
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG_E
    - QW_TASK_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - qwAcquireTaskCtx
    - HASH_NODE_EXIST
    - atomic_add_fetch_64
    - QW_SET_QTID
    - qwGetTaskCtx
    - taosHashPut
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddTaskCtxImpl(QW_FPARAMS_DEF, bool acquire, SQWTaskCtx
      **ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qwAddTaskCtxImpl
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:273,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx**
    constantsTouched: []
    func_position:
      end: 273
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 273
    functionName: qwAddAcquireTaskCtx
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - QW_FPARAMS
    - qwAddTaskCtxImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwAddAcquireTaskCtx(QW_FPARAMS_DEF, SQWTaskCtx **ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qGetQueryTableSchemaVersion
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:564,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:583,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:579,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:571,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:577,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:584,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:590,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pTaskInfo
    - ctx
    argTypes:
    - qTaskInfo_t
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 591
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 591
    functionName: qwSaveTbVersionInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - snprintf
    - QW_ERR_RET
    - taosArrayPush
    - qGetQueryTableSchemaVersion
    - QW_RET
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwSaveTbVersionInfo(qTaskInfo_t pTaskInfo, SQWTaskCtx *ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/qworker/src/qwUtil.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SQWSchStatus*
    constantsTouched: []
    func_position:
      end: 605
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 605
    functionName: qwDestroySchStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwUtil.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void qwDestroySchStatus(SQWSchStatus *pStatus) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:152,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:161,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:154,1
    - Dst: QW_DUMP
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:154,1
    - Dst: qwDbgDumpSchInfo
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:164,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:166,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:169,1
    - Dst: qwDbgDumpTasksInfo
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: qwDbgDumpMgmtInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - QW_DUMP
    - QW_UNLOCK
    - taosHashIterate
    - taosHashGetSize
    - qwDbgDumpTasksInfo
    - qwDbgDumpSchInfo
    - QW_LOCK
    linkageType: ''
    returnType: void
    signature: 'void qwDbgDumpMgmtInfo(SQWorker *mgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_LOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:98,1
    - Dst: QW_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:100,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:108,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:105,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:99,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:109,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:111,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:113,1
    - Dst: QW_UNLOCK
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - mgmt
    - sch
    - i
    argTypes:
    - SQWorker*
    - SQWSchStatus*
    - int32_t
    constantsTouched: []
    func_position:
      end: 117
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: qwDbgDumpSchInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - QW_GET_QTID
    - QW_UNLOCK
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - QW_DLOG
    - QW_LOCK
    - QW_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: 'void qwDbgDumpSchInfo(SQWorker *mgmt, SQWSchStatus *sch, int32_t i) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:210,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:217,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:221,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:215,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:212,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:223,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:237,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:239,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - rspType
    - pConn
    - code
    - pEpSet
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 242
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 242
    functionName: qwDbgBuildAndSendRedirectRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - qError
    - tstrerror
    - qDebug
    - tSerializeSEpSet
    - rpcMallocCont
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwDbgBuildAndSendRedirectRsp(int32_t rspType, SRpcHandleInfo
      *pConn, int32_t code, SEpSet *pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:294,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: qwDbgSimulateSleep
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - taosRand
    - taosSsleep
    linkageType: ''
    returnType: void
    signature: 'void qwDbgSimulateSleep(void) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:32,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:58,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:38,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:44,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:51,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:64,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:64,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:64,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:68,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:74,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:85,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:93,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:93,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:80,1
    - Dst: jobTaskStatusStr
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:93,1
    - Dst: QW_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:85,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:94,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 69
    argCount: 5
    argNames:
    - QW_FPARAMS_DEF
    - oriStatus
    - newStatus
    - ignore
    - dynamicTask
    argTypes:
    - QW_FPARAMS_DEF
    - int8_t
    - int8_t
    - bool*
    - bool
    constantsTouched: []
    func_position:
      end: 95
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 95
    functionName: qwDbgValidateStatus
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - QW_TASK_ELOG
    - jobTaskStatusStr
    - QW_ERR_JRET
    - QW_RET
    - QW_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwDbgValidateStatus(QW_FPARAMS_DEF, int8_t oriStatus, int8_t
      newStatus, bool *ignore, bool dynamicTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: QW_DUMP
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:120,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:126,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:129,1
    - Dst: QW_GET_QTID
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:130,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:120,1
    - Dst: QW_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:138,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - mgmt
    argTypes:
    - SQWorker*
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: qwDbgDumpTasksInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - QW_GET_QTID
    - QW_DUMP
    - taosHashIterate
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayGetSize
    - QW_TASK_DLOG
    linkageType: ''
    returnType: void
    signature: 'void qwDbgDumpTasksInfo(SQWorker *mgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:179,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:181,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:180,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:180,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:180,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:181,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:182,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:187,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:189,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:192,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:197,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:200,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 202
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 202
    functionName: qwDbgDumpJobsInfo
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosHashIterate
    - qDebug
    - taosHashGetSize
    linkageType: ''
    returnType: void
    signature: 'void qwDbgDumpJobsInfo(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:255,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:261,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:259,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:267,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:263,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:272,1
    - Dst: QW_SET_PHASE
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:273,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:274,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:279,1
    - Dst: qwDbgBuildAndSendRedirectRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - qwMsg
    - ctx
    - rsped
    argTypes:
    - SQWMsg*
    - SQWTaskCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 285
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 285
    functionName: qwDbgSimulateRedirect
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - taosRand
    - qwDbgBuildAndSendRedirectRsp
    - QW_SET_PHASE
    - TAOS_STRCPY
    linkageType: ''
    returnType: void
    signature: 'void qwDbgSimulateRedirect(SQWMsg *qwMsg, SQWTaskCtx *ctx, bool *rsped) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:309,1
    - Dst: qwBuildAndSendErrorRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:312,1
    - Dst: qwBuildAndSendErrorRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:323,1
    - Dst: qwBuildAndSendErrorRsp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:311,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:315,1
    - Dst: qwBuildAndSendDropMsg
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:325,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - QW_FPARAMS_DEF
    - ctx
    - rsped
    argTypes:
    - QW_FPARAMS_DEF
    - SQWTaskCtx*
    - bool*
    constantsTouched: []
    func_position:
      end: 331
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 331
    functionName: qwDbgSimulateDead
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - qwBuildAndSendErrorRsp
    - QW_FPARAMS
    - qwBuildAndSendDropMsg
    - taosSsleep
    - taosRand
    linkageType: ''
    returnType: void
    signature: 'void qwDbgSimulateDead(QW_FPARAMS_DEF, SQWTaskCtx *ctx, bool *rsped) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:334,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:346,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:342,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:336,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:340,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:348,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:352,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:354,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:358,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:360,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:364,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:372,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:370,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwDbg.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 379
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 379
    functionName: qWorkerDbgEnableDebug
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwDbg.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerDbgEnableDebug(char *option) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:34,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:39,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:38,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:41,1
    - Dst: htobe64
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:40,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - msg
    - input
    - len
    - rawDataLen
    - qComplete
    argTypes:
    - void*
    - SOutputData*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: qwBuildFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - htonl
    - htobe64
    linkageType: ''
    returnType: void
    signature: 'void qwBuildFetchRsp(void *msg, SOutputData *input, int32_t len, int32_t
      rawDataLen, bool qComplete) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:196,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:198,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 212
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 212
    functionName: qwBuildAndSendCancelRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_RET
    - tmsgSendRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendCancelRsp(SRpcHandleInfo *pConn, int32_t code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: qwFreeFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'void qwFreeFetchRsp(void *msg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:215,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:229,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pConn
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: qwBuildAndSendDropRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_RET
    - tmsgSendRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendDropRsp(SRpcHandleInfo *pConn, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - rspType
    - pConn
    - code
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: qwBuildAndSendErrorRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendErrorRsp(int32_t rspType, SRpcHandleInfo *pConn,
      int32_t code) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:104,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:105,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:109,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:112,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:114,1
    - Dst: tSerializeSExplainRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:116,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:118,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:119,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pConn
    - pExecList
    argTypes:
    - SRpcHandleInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: qwBuildAndSendExplainRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - rpcMallocCont
    - tmsgSendRsp
    - tSerializeSExplainRsp
    - qError
    - taosArrayGetSize
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendExplainRsp(SRpcHandleInfo *pConn, SArray *pExecList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:245,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:248,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:247,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:251,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:253,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:254,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:257,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:259,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:260,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:261,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:274,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:275,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:272,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:278,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - pConn
    argTypes:
    - QW_FPARAMS_DEF
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 281
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 281
    functionName: qwBuildAndSendDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_SCH_TASK_ELOG
    - tSerializeSTaskDropReq
    - QW_ERR_RET
    - tstrerror
    - rpcFreeCont
    - tmsgPutToQueue
    - rpcMallocCont
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendDropMsg(QW_FPARAMS_DEF, SRpcHandleInfo *pConn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:695,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:696,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:695,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:700,1
    - Dst: tDeserializeSTaskNotifyReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:699,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:701,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:713,1
    - Dst: qwProcessNotify
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:715,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:715,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:717,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 720
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 720
    functionName: qWorkerProcessNotifyMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - qwProcessNotify
    - tDeserializeSTaskNotifyReq
    - qwUpdateTimeInQueue
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessNotifyMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:72,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:74,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:78,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:80,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:75,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:81,1
    - Dst: tSerializeSQueryTableRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:84,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:86,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:87,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - rspType
    - pConn
    - code
    - ctx
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - int32_t
    - SQWTaskCtx*
    constantsTouched: []
    func_position:
      end: 101
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 101
    functionName: qwBuildAndSendQueryRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_RET
    - tmsgSendRsp
    - qError
    - tSerializeSQueryTableRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendQueryRsp(int32_t rspType, SRpcHandleInfo *pConn,
      int32_t code, SQWTaskCtx *ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:136,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:144,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:138,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:142,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:139,1
    - Dst: tSerializeSSchedulerHbRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:146,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:148,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:149,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:160,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pConn
    - pStatus
    - code
    argTypes:
    - SRpcHandleInfo*
    - SSchedulerHbRsp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 163
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 163
    functionName: qwBuildAndSendHbRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - rpcMallocCont
    - qError
    - tSerializeSSchedulerHbRsp
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendHbRsp(SRpcHandleInfo *pConn, SSchedulerHbRsp
      *pStatus, int32_t code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:284,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:307,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:287,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:286,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:307,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:308,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - pConn
    argTypes:
    - QW_FPARAMS_DEF
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 314
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 314
    functionName: qwBuildAndSendCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - QW_ERR_RET
    - tstrerror
    - tmsgPutToQueue
    - QW_SCH_TASK_ELOG
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendCQueryMsg(QW_FPARAMS_DEF, SRpcHandleInfo *pConn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:733,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:738,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:734,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:733,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:737,1
    - Dst: tDeserializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:741,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:742,1
    - Dst: tFreeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:743,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:744,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:751,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:758,1
    - Dst: qwProcessHb
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:756,1
    - Dst: QW_SCH_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:754,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:751,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 761
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 761
    functionName: qWorkerProcessHbMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_ELOG
    - QW_ERR_RET
    - qwProcessHb
    - tDeserializeSSchedulerHbReq
    - tstrerror
    - qwUpdateTimeInQueue
    - QW_SCH_DLOG
    - tFreeSSchedulerHbReq
    - QW_STAT_INC
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessHbMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:765,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:772,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:774,1
    - Dst: tDeserializeSVDeleteReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:774,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:785,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:786,1
    - Dst: QW_ERR_JRET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:788,1
    - Dst: qwProcessDelete
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:788,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:788,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:790,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:795,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:791,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - pRes
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - SDeleteRes*
    constantsTouched: []
    func_position:
      end: 796
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 796
    functionName: qWorkerProcessDeleteMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_RET
    - QW_ERR_RET
    - QW_ERR_JRET
    - QW_FPARAMS
    - qwProcessDelete
    - tDeserializeSVDeleteReq
    - taosMemoryFreeClear
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessDeleteMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, SDeleteRes *pRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:327,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:329,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:330,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:335,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:333,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:336,1
    - Dst: tSerializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:339,1
    - Dst: QW_SCH_TASK_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:341,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:342,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:343,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - QW_FPARAMS_DEF
    - pConn
    argTypes:
    - QW_FPARAMS_DEF
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 357
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 357
    functionName: qwRegisterQueryBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_SCH_TASK_ELOG
    - tSerializeSTaskDropReq
    - QW_ERR_RET
    - tmsgRegisterBrokenLinkArg
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwRegisterQueryBrokenLinkArg(QW_FPARAMS_DEF, SRpcHandleInfo
      *pConn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:565,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:566,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:565,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:569,1
    - Dst: tDeserializeSResFetchReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:568,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:570,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:582,1
    - Dst: qwProcessFetch
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:584,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:584,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:586,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 589
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 589
    functionName: qWorkerProcessFetchMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - tDeserializeSResFetchReq
    - qwUpdateTimeInQueue
    - qwProcessFetch
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessFetchMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcReallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:16,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:18,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:19,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:23,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:16,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - rpcMalloc
    - length
    - rsp
    argTypes:
    - int8_t
    - int32_t
    - SRetrieveTableRsp**
    constantsTouched: []
    func_position:
      end: 29
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 29
    functionName: qwMallocFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - qError
    - TAOS_MEMSET
    - rpcReallocCont
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwMallocFetchRsp(int8_t rpcMalloc, int32_t length, SRetrieveTableRsp
      **rsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:364,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:371,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:369,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:367,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:366,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:372,1
    - Dst: tSerializeSSchedulerHbReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:375,1
    - Dst: QW_SCH_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:377,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:378,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:379,1
    - Dst: tmsgRegisterBrokenLinkArg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:390,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - mgmt
    - clientId
    - pConn
    argTypes:
    - SQWorker*
    - uint64_t
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 393
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 393
    functionName: qwRegisterHbBrokenLinkArg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_ERR_RET
    - QW_SCH_ELOG
    - tSerializeSSchedulerHbReq
    - tmsgRegisterBrokenLinkArg
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwRegisterHbBrokenLinkArg(SQWorker *mgmt, uint64_t clientId,
      SRpcHandleInfo *pConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:594,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:595,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:594,1
    - Dst: qProcessRspMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: qWorkerProcessRspMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - qProcessRspMsg
    - qwUpdateTimeInQueue
    - QW_STAT_INC
    - QW_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessRspMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:613,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:614,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:613,1
    - Dst: qError
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:617,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:618,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:621,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:622,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:623,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:624,1
    - Dst: be64toh
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:625,1
    - Dst: qwBuildAndSendCancelRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:641,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:642,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:626,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:642,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 645
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 645
    functionName: qWorkerProcessCancelMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - qwBuildAndSendCancelRsp
    - QW_ERR_RET
    - ntohl
    - qError
    - tstrerror
    - qwUpdateTimeInQueue
    - QW_STAT_INC
    - be64toh
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessCancelMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:168,1
    - Dst: QW_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:170,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:172,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:185,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:188,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - ctx
    - rspType
    - pConn
    - pRsp
    - dataLength
    - code
    argTypes:
    - SQWTaskCtx*
    - int32_t
    - SRpcHandleInfo*
    - SRetrieveTableRsp*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 192
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 192
    functionName: qwBuildAndSendFetchRsp
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - rpcMallocCont
    - taosGetTimestampSec
    - TAOS_MEMSET
    - QW_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qwBuildAndSendFetchRsp(SQWTaskCtx *ctx, int32_t rspType, SRpcHandleInfo
      *pConn, SRetrieveTableRsp *pRsp, int32_t dataLength, int32_t code) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:404,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:422,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:421,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:438,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:439,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:440,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:413,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:415,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:416,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:417,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:397,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:403,1
    - Dst: TEST_AUDIT_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:420,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:420,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:423,1
    - Dst: qwPreprocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:439,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:405,1
    - Dst: TEST_SHOW_REWRITE_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:409,1
    - Dst: taosGranted
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:410,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:411,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:412,1
    - Dst: TEST_VIEW_MASK
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:415,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:418,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:442,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - qWorkerMgmt
    - pMsg
    - chkGrant
    argTypes:
    - void*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 445
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 445
    functionName: qWorkerPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_SCH_TASK_DLOG
    - TEST_VIEW_MASK
    - tDeserializeSSubQueryMsg
    - taosGranted
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - qwPreprocessQuery
    - tFreeSSubQueryMsg
    - TEST_SHOW_REWRITE_MASK
    - TEST_AUDIT_MASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerPreprocessQueryMsg(void *qWorkerMgmt, SRpcMsg *pMsg,
      bool chkGrant) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:478,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:485,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:488,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:484,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:484,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:489,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:490,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:506,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:506,1
    - Dst: qwProcessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:509,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:513,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:512,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:509,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 516
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 516
    functionName: qWorkerProcessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSSubQueryMsg
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - qwProcessQuery
    - qwUpdateTimeInQueue
    - TMSG_INFO
    - tFreeSSubQueryMsg
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessQueryMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:449,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:456,1
    - Dst: tDeserializeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:455,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:467,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:457,1
    - Dst: qwAbortPrerocessQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:468,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:468,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:469,1
    - Dst: tFreeSSubQueryMsg
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:471,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - qWorkerMgmt
    - pMsg
    argTypes:
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 474
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 474
    functionName: qWorkerAbortPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSSubQueryMsg
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - tFreeSSubQueryMsg
    - qwAbortPrerocessQuery
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerAbortPreprocessQueryMsg(void *qWorkerMgmt, SRpcMsg
      *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:520,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:531,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:535,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:532,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:531,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:536,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:548,1
    - Dst: qwProcessCQuery
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:550,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:550,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:552,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: qWorkerProcessCQueryMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - qwProcessCQuery
    - QW_ELOG
    - QW_ERR_RET
    - QW_FPARAMS
    - qwUpdateTimeInQueue
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessCQueryMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:656,1
    - Dst: tDeserializeSTaskDropReq
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:660,1
    - Dst: QW_ELOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:661,1
    - Dst: QW_STAT_INC
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:657,1
    - Dst: qwUpdateTimeInQueue
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:656,1
    - Dst: QW_ERR_RET
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:662,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:675,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:675,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:678,1
    - Dst: qwProcessDrop
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:680,1
    - Dst: QW_SCH_TASK_DLOG
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:682,1
    - Dst: QW_FPARAMS
      Src: /src/tdengine/source/libs/qworker/src/qwMsg.c:680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - node
    - qWorkerMgmt
    - pMsg
    - ts
    argTypes:
    - void*
    - void*
    - SRpcMsg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 685
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 685
    functionName: qWorkerProcessDropMsg
    functionSourceFile: /src/tdengine/source/libs/qworker/src/qwMsg.c
    functionUses: []
    functionsReached:
    - QW_ELOG
    - tDeserializeSTaskDropReq
    - QW_ERR_RET
    - qwProcessDrop
    - QW_FPARAMS
    - tstrerror
    - qwUpdateTimeInQueue
    - QW_STAT_INC
    - QW_SCH_TASK_DLOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qWorkerProcessDropMsg(void *node, void *qWorkerMgmt, SRpcMsg
      *pMsg, int64_t ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 12
    functionName: udf1_dup_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1_dup_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 14
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 14
    functionName: udf1_dup_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1_dup_destroy() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:22,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:40,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:23,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:43,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/udf1_dup.c:32,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 47
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 47
    functionName: udf1_dup
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1_dup.c
    functionUses: []
    functionsReached:
    - usleep
    - udfColDataSet
    - udfColDataSetNull
    - udfColDataIsNull
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1_dup(SUdfDataBlock *block, SUdfColumn *resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: udf2_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: udf2_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_destroy() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 17
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 17
    functionName: udf2_start
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_start(SUdfInterBuf* buf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf2.c:35,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2.c:46,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2.c:40,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 67
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 67
    functionName: udf2
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: []
    functionsReached:
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2(SUdfDataBlock* block, SUdfInterBuf* interBuf,
      SUdfInterBuf* newInterBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/test/udf2.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: udf2_finish
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2.c
    functionUses: []
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_finish(SUdfInterBuf* buf, SUdfInterBuf* resultData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 11
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 11
    functionName: udf1_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 13
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 13
    functionName: udf1_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1_destroy() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf1.c:21,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/udf1.c:31,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/udf1.c:39,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/udf1.c:22,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/udf1.c:42,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 46
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 46
    functionName: udf1
    functionSourceFile: /src/tdengine/source/libs/function/test/udf1.c
    functionUses: []
    functionsReached:
    - usleep
    - udfColDataSet
    - udfColDataSetNull
    - udfColDataIsNull
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf1(SUdfDataBlock *block, SUdfColumn *resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 7
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 7
    functionName: udf2_dup_init
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_dup_init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 9
      start: 9
    functionDepth: 0
    functionLinenumber: 9
    functionLinenumberEnd: 9
    functionName: udf2_dup_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_dup_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 16
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 16
    functionName: udf2_dup_start
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_dup_start(SUdfInterBuf* buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - resultData
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: udf2_dup_finish
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: []
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_dup_finish(SUdfInterBuf* buf, SUdfInterBuf*
      resultData) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:33,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:44,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/udf2_dup.c:38,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 3
    argNames:
    - block
    - interBuf
    - newInterBuf
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 65
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 65
    functionName: udf2_dup
    functionSourceFile: /src/tdengine/source/libs/function/test/udf2_dup.c
    functionUses: []
    functionsReached:
    - udfColDataGetData
    - udfColDataIsNull
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf2_dup(SUdfDataBlock* block, SUdfInterBuf* interBuf,
      SUdfInterBuf* newInterBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: UDFNAMEINIT
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t UDFNAMEINIT() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: udf_reverse_destroy
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf_reverse_destroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: UDFNAMEDESTROY
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t UDFNAMEDESTROY() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: udf_reverse_init
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf_reverse_init() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:80,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:81,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/change_udf.c:90,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:98,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 106
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 106
    functionName: UDFNAME
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached:
    - usleep
    - udfColDataSet
    - udfColDataSetNull
    - udfColDataIsNull
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t UDFNAME(SUdfDataBlock *block, SUdfColumn *resultCol) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - data
    - len
    argTypes:
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: reverse_data
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void reverse_data(char* data, size_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:135,1
    - Dst: malloc
      Src: /src/tdengine/source/libs/function/test/change_udf.c:146,1
    - Dst: udfColDataSetNull
      Src: /src/tdengine/source/libs/function/test/change_udf.c:136,1
    - Dst: udfColDataGetDataLen
      Src: /src/tdengine/source/libs/function/test/change_udf.c:142,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/test/change_udf.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/test/change_udf.c:151,1
    - Dst: reverse_data
      Src: /src/tdengine/source/libs/function/test/change_udf.c:152,1
    - Dst: udfColDataSet
      Src: /src/tdengine/source/libs/function/test/change_udf.c:153,1
    - Dst: free
      Src: /src/tdengine/source/libs/function/test/change_udf.c:155,1
    - Dst: usleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:163,1
    - Dst: Sleep
      Src: /src/tdengine/source/libs/function/test/change_udf.c:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - block
    - resultCol
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 170
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 170
    functionName: udf_reverse
    functionSourceFile: /src/tdengine/source/libs/function/test/change_udf.c
    functionUses: []
    functionsReached:
    - malloc
    - usleep
    - reverse_data
    - udfColDataSet
    - free
    - udfColDataSetNull
    - udfColDataIsNull
    - udfColDataGetDataLen
    - udfColDataGetData
    - memcpy
    - Sleep
    linkageType: ''
    returnType: DLL_EXPORT
    signature: 'DLL_EXPORT int32_t udf_reverse(SUdfDataBlock *block, SUdfColumn *resultCol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/test/runUdf.c:13,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/test/runUdf.c:15,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:19,1
    - Dst: TAOSPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:16,1
    - Dst: TAOSPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:21,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 28
    functionName: parseArgs
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: []
    functionsReached:
    - strlen
    - TAOSPRINTF
    - strcmp
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseArgs(int32_t argc, char *argv[]) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:40,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/test/runUdf.c:66,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:83,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:88,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:79,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:90,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:92,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:41,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/test/runUdf.c:64,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/test/runUdf.c:86,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:76,1
    - Dst: doCallUdfScalarFunc
      Src: /src/tdengine/source/libs/function/test/runUdf.c:74,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:49,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/test/runUdf.c:50,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:44,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:52,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/test/runUdf.c:71,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/test/runUdf.c:57,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:59,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:89,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 97
    functionName: scalarFuncTest
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: []
    functionsReached:
    - doTeardownUdf
    - doCallUdfScalarFunc
    - blockDataAppendColInfo
    - taosArrayGet
    - taosArrayDestroy
    - taosMemoryFree
    - blockDataEnsureCapacity
    - colDataDestroy
    - TAOSFPRINTF
    - taosGetTimestampUs
    - colDataSetInt32
    - doSetupUdf
    - createColumnInfoData
    - fnError
    linkageType: ''
    returnType: int
    signature: 'int scalarFuncTest() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/function/test/runUdf.c:110,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:126,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:171,1
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:103,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:116,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/test/runUdf.c:117,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:158,1
    - Dst: TAOSFPRINTF
      Src: /src/tdengine/source/libs/function/test/runUdf.c:162,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/test/runUdf.c:138,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:146,1
    - Dst: doCallUdfAggProcess
      Src: /src/tdengine/source/libs/function/test/runUdf.c:149,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:164,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:168,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/test/runUdf.c:124,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/function/test/runUdf.c:132,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:154,1
    - Dst: doCallUdfAggFinalize
      Src: /src/tdengine/source/libs/function/test/runUdf.c:156,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:167,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:169,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/test/runUdf.c:175,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/test/runUdf.c:115,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:105,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:119,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:151,1
    - Dst: doCallUdfAggInit
      Src: /src/tdengine/source/libs/function/test/runUdf.c:144,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 177
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 177
    functionName: aggregateFuncTest
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: []
    functionsReached:
    - doTeardownUdf
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataEnsureCapacity
    - doCallUdfAggInit
    - taosArrayGetSize
    - doCallUdfAggFinalize
    - bdGetColumnInfoData
    - TAOSFPRINTF
    - doCallUdfAggProcess
    - blockDataDestroy
    - freeUdfInterBuf
    - createDataBlock
    - colDataSetInt32
    - doSetupUdf
    - createColumnInfoData
    - fnError
    linkageType: ''
    returnType: int
    signature: 'int aggregateFuncTest() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/test/runUdf.c:32,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/function/test/runUdf.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: initLog
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosCreateLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initLog() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parseArgs
      Src: /src/tdengine/source/libs/function/test/runUdf.c:181,1
    - Dst: initLog
      Src: /src/tdengine/source/libs/function/test/runUdf.c:186,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:188,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:183,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/function/test/runUdf.c:191,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:192,1
    - Dst: udfcOpen
      Src: /src/tdengine/source/libs/function/test/runUdf.c:196,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:197,1
    - Dst: uv_sleep
      Src: /src/tdengine/source/libs/function/test/runUdf.c:200,1
    - Dst: scalarFuncTest
      Src: /src/tdengine/source/libs/function/test/runUdf.c:202,1
    - Dst: udfcClose
      Src: /src/tdengine/source/libs/function/test/runUdf.c:212,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:204,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:209,1
    - Dst: aggregateFuncTest
      Src: /src/tdengine/source/libs/function/test/runUdf.c:207,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/test/runUdf.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 217
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 217
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/function/test/runUdf.c
    functionUses: []
    functionsReached:
    - udfcOpen
    - scalarFuncTest
    - initLog
    - parseArgs
    - udfcClose
    - taosInitCfg
    - aggregateFuncTest
    - uv_sleep
    - fnError
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/inc/tfunctionInt.h:39,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/inc/tfunctionInt.h:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pResInfo
    - bufLen
    argTypes:
    - SResultRowEntryInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: initResultRowEntry
    functionSourceFile: /src/tdengine/source/libs/function/inc/tfunctionInt.h
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void initResultRowEntry(SResultRowEntryInfo *pResInfo,
      int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:175,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: udfdCPluginUdfAggStart
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfAggStart(SUdfInterBuf *buf, void *udfCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    constantsTouched: []
    func_position:
      end: 388
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 388
    functionName: udfdInitializeCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdInitializeCPlugin(SUdfScriptPlugin *plugin) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: udfdDeinitPythonPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:532,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:540,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:533,1
    - Dst: udfdDeinitCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 544
    functionName: udfdDeinitScriptPlugins
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - udfdDeinitPythonPlugin
    - taosMemoryFree
    - udfdDeinitCPlugin
    linkageType: ''
    returnType: void
    signature: 'void udfdDeinitScriptPlugins() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:636,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:646,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:643,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:637,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:642,1
    - Dst: uv_cond_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:647,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/udfd.c:651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:652,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    constantsTouched: []
    func_position:
      end: 660
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 660
    functionName: udfdNewUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - uv_mutex_init
    - taosArrayGet
    - taosMemoryCalloc
    - strcmp
    - tstrncpy
    - taosArrayGetSize
    - uv_cond_init
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdNewUdf(SUdf **pUdf, const char *udfName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:680,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:681,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:682,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/function/src/udfd.c:683,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:682,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:690,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:691,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:696,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:698,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:698,1
    - Dst: udfdNewUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:704,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:699,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:706,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:714,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:710,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:711,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/udfd.c:710,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - ppUdf
    - udfName
    argTypes:
    - SUdf**
    - char*
    constantsTouched: []
    func_position:
      end: 717
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 717
    functionName: udfdGetOrCreateUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - uv_mutex_unlock
    - udfdNewUdf
    - taosHashGet
    - taosHashRemove
    - strlen
    - fnInfo
    - taosHashPut
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_mutex_lock
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdGetOrCreateUdf(SUdf **ppUdf, const char *udfName) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1103,1
    - Dst: tDeserializeSConnectRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1116,1
    - Dst: isEpsetEqual
      Src: /src/tdengine/source/libs/function/src/udfd.c:1133,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1161,1
    - Dst: tDeserializeSRetrieveFuncRsp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1139,1
    - Dst: udfdSaveFuncBodyToFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1155,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/udfd.c:1166,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1109,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1160,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1165,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1109,1
    - Dst: abs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1152,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1099,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1104,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1117,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/function/src/udfd.c:1121,1
    - Dst: updateEpSet_s
      Src: /src/tdengine/source/libs/function/src/udfd.c:1134,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1144,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1159,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1140,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 3
    argNames:
    - parent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1168
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1168
    functionName: udfdProcessRpcRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tDeserializeSRetrieveFuncRsp
    - taosArrayDestroy
    - abs
    - TAOS_UDF_CHECK_PTR_RVOID
    - tstrerror
    - taosGetTimestampSec
    - tFreeSFuncInfo
    - udfdSaveFuncBodyToFile
    - updateEpSet_s
    - tDeserializeSConnectRsp
    - rpcFreeCont
    - uv_sem_post
    - isEpsetEqual
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdProcessRpcRsp(void *parent, SRpcMsg *pMsg, SEpSet *pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1306,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/function/src/udfd.c:1307,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1309
    functionName: udfdCloseClientRpc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnInfo
    - rpcClose
    linkageType: ''
    returnType: void
    signature: 'void udfdCloseClientRpc() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1355,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1382,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1368,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1376,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - handle
    - suggestedSize
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1386
    functionName: udfdAllocBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - fnError
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdAllocBuffer(uv_handle_t *handle, size_t suggestedSize, uv_buf_t
      *buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:58,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:61,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:62,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:66,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:62,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:67,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: udfdCPluginUdfInitLoadInitDestoryFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_UDF_CHECK_PTR_RCODE
    - snprintf
    - uv_dlsym
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfInitLoadInitDestoryFuncs(SUdfCPluginCtx *udfCtx,
      const char *udfName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:187,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - block
    - interBuf
    - newInterBuf
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    constantsTouched: []
    func_position:
      end: 195
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 195
    functionName: udfdCPluginUdfAggProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfAggProc(SUdfDataBlock *block, SUdfInterBuf *interBuf,
      SUdfInterBuf *newInterBuf, void *udfCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:391,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:392,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:394,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:394,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:399,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - libPath
    - pLib
    - funcName
    - func
    - numOfFuncs
    argTypes:
    - char*
    - uv_lib_t*
    - char*
    - void**
    - int
    constantsTouched: []
    func_position:
      end: 405
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 405
    functionName: udfdLoadSharedLib
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_dlsym
    - uv_strerror
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_dlopen
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdLoadSharedLib(char *libPath, uv_lib_t *pLib, const char
      *funcName[], void **func[], int numOfFuncs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_cond_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:675,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:674,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:676,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:670,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pData
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 677
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 677
    functionName: udfdFreeUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_mutex_destroy
    - taosMemoryFree
    - uv_cond_destroy
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdFreeUdf(void *pData) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:730,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:743,1
    - Dst: uv_cond_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:746,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:752,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:782,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:720,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:722,1
    - Dst: udfdInitUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:736,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:774,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:776,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:750,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:786,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:788,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:733,1
    - Dst: uv_cond_broadcast
      Src: /src/tdengine/source/libs/function/src/udfd.c:742,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:780,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:770,1
    - Dst: udfdGetOrCreateUdf
      Src: /src/tdengine/source/libs/function/src/udfd.c:728,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:748,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:781,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:768,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    constantsTouched: []
    func_position:
      end: 790
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 790
    functionName: udfdProcessSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - uv_mutex_unlock
    - encodeUdfResponse
    - udfdInitUdf
    - fnError
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_buf_init
    - fnInfo
    - uv_cond_broadcast
    - taosMemoryFreeClear
    - uv_cond_wait
    - uv_mutex_lock
    - udfdGetOrCreateUdf
    linkageType: ''
    returnType: void
    signature: 'void udfdProcessSetupRequest(SUvUdfWork *uvUdf, SUdfRequest *request) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:1171,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1174,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1176,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:1175,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1182,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1185,1
    - Dst: tSerializeSRetrieveFuncReq
      Src: /src/tdengine/source/libs/function/src/udfd.c:1186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1187,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/function/src/udfd.c:1188,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1199,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1200,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1209,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/udfd.c:1211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1215,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 3
    argNames:
    - clientRpc
    - udfName
    - udf
    argTypes:
    - void*
    - char*
    - SUdf*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1217
    functionName: udfdFillUdfInfoFromMNode
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - rpcSendRequest
    - taosMemoryCalloc
    - uv_sem_destroy
    - uv_sem_init
    - taosArrayPush
    - tSerializeSRetrieveFuncReq
    - rpcFreeCont
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_sem_wait
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdFillUdfInfoFromMNode(void *clientRpc, char *udfName, SUdf
      *udf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1390,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - SUdfdUvConn*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1401
    functionName: isUdfdUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnDebug
    - fnError
    linkageType: ''
    returnType: bool
    signature: 'bool isUdfdUvMsgComplete(SUdfdUvConn *pipe) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pipe
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 1448
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1448
    functionName: udfdPipeCloseCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdPipeCloseCb(uv_handle_t *pipe) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1695,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1704,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1699,1
    - Dst: strtok_r
      Src: /src/tdengine/source/libs/function/src/udfd.c:1702,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1705,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/udfd.c:1706,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1714
    functionName: udfdInitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tstrncpy
    - strlen
    - strtok_r
    - fnInfo
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdInitResidentFuncs() '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckSystemIsLittleEnd
      Src: /src/tdengine/source/libs/function/src/udfd.c:1765,1
    - Dst: initEpSetFromCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1795,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1800,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1823,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1833,1
    - Dst: udfdRun
      Src: /src/tdengine/source/libs/function/src/udfd.c:1840,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1841,1
    - Dst: udfdParseArgs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1770,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1826,1
    - Dst: udfdInitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1832,1
    - Dst: udfdDeinitScriptPlugins
      Src: /src/tdengine/source/libs/function/src/udfd.c:1849,1
    - Dst: udfdGlobalDataDeinit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1851,1
    - Dst: udfdCloseClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1857,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1860,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1863,1
    - Dst: udfdDestroyUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1854,1
    - Dst: udfdPrintVersion
      Src: /src/tdengine/source/libs/function/src/udfd.c:1776,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1766,1
    - Dst: udfdInitLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1780,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1788,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1793,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1810,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1802,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1818,1
    - Dst: udfdUvInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1825,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1830,1
    - Dst: udfdDeinitResidentFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:1847,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1771,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1782,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/libs/function/src/udfd.c:1787,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1796,1
    - Dst: udfdOpenClientRpc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1801,1
    - Dst: udfdCreateUdfSourceDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1809,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1806,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1815,1
    - Dst: udfdGlobalDataInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1817,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1843,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1838,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1867
    functionName: main
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - removeListeningPipe
    - udfdDeinitScriptPlugins
    - udfdUvInit
    - udfdGlobalDataDeinit
    - udfdRun
    - taosInitCfg
    - udfdGlobalDataInit
    - taosCloseLog
    - udfdInitLog
    - udfdOpenClientRpc
    - udfdInitResidentFuncs
    - udfdParseArgs
    - udfdDestroyUdfSourceDir
    - taosCleanupCfg
    - udfdCreateUdfSourceDir
    - taosCheckSystemIsLittleEnd
    - udfdDeinitResidentFuncs
    - initEpSetFromCfg
    - printf
    - udfdPrintVersion
    - udfdCloseClientRpc
    - fnInfo
    - fnError
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: udfdCPluginClose
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginClose() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - udf
    - udfInfo
    argTypes:
    - SUdf*
    - SScriptUdfInfo*
    constantsTouched: []
    func_position:
      end: 595
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 595
    functionName: convertUdf2UdfInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void convertUdf2UdfInfo(SUdf *udf, SScriptUdfInfo *udfInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:797,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/udfd.c:803,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:806,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:805,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/udfd.c:804,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:810,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 820
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 820
    functionName: checkUDFScalaResult
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_CONDITION
    - IS_VAR_DATA_TYPE
    - udfColDataIsNull
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkUDFScalaResult(SSDataBlock *block, SUdfColumn
      *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1039,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1044,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1042,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1051,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1049,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1055,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1057,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - udf
    - path
    argTypes:
    - SUdf*
    - char*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1060
    functionName: udfdGetFuncBodyPath
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdGetFuncBodyPath(const SUdf *udf, char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/function/src/udfd.c:1597,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1600,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1600,1
    - Dst: uv_fs_req_cleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:1598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1602
    functionName: removeListeningPipe
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_fs_unlink
    - fnInfo
    - uv_fs_req_cleanup
    - uv_strerror
    linkageType: ''
    returnType: void
    signature: 'static void removeListeningPipe() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1605,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1610,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1624,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1629,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1605,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1608,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1616,1
    - Dst: uv_signal_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1619,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1618,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1625,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1610,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1614,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1622,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1608,1
    - Dst: uv_pipe_open
      Src: /src/tdengine/source/libs/function/src/udfd.c:1609,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/udfd.c:1612,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1616,1
    - Dst: uv_pipe_bind
      Src: /src/tdengine/source/libs/function/src/udfd.c:1623,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1624,1
    - Dst: uv_signal_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1618,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1619,1
    - Dst: uv_listen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1628,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1629,1
    - Dst: removeListeningPipe
      Src: /src/tdengine/source/libs/function/src/udfd.c:1630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1634
    functionName: udfdUvInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - removeListeningPipe
    - uv_pipe_init
    - getUdfdPipeName
    - uv_read_start
    - uv_signal_start
    - TAOS_CHECK_RETURN
    - fnInfo
    - uv_err_name
    - uv_listen
    - uv_pipe_open
    - uv_pipe_bind
    - uv_signal_init
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfdUvInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1670,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:1672,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1673,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1671,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1674
    functionName: udfdGlobalDataDeinit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnInfo
    - uv_mutex_destroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void udfdGlobalDataDeinit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/udfd.c:1717,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1719,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1719,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/udfd.c:1718,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1725,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:1727,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1727,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1731,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/udfd.c:1734,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1736,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1735,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1737
    functionName: udfdDeinitResidentFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - fnDebug
    - taosHashGet
    - taosHashRemove
    - strlen
    - fnInfo
    - taosHashCleanup
    - taosArrayGetSize
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdDeinitResidentFuncs() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:598,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:602,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:606,1
    - Dst: udfdFillUdfInfoFromMNode
      Src: /src/tdengine/source/libs/function/src/udfd.c:600,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:610,1
    - Dst: udfdInitScriptPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:613,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:615,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:616,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:620,1
    - Dst: convertUdf2UdfInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:624,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:631,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:627,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - udfName
    - udf
    argTypes:
    - char*
    - SUdf*
    constantsTouched: []
    func_position:
      end: 633
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 633
    functionName: udfdInitUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - udfdFillUdfInfoFromMNode
    - convertUdf2UdfInfo
    - fnInfo
    - udfdInitScriptPlugin
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_mutex_lock
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfdInitUdf(char *udfName, SUdf *udf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:827,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:830,1
    - Dst: TAOS_UDF_CHECK_CONDITION
      Src: /src/tdengine/source/libs/function/src/udfd.c:831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - block
    - output
    argTypes:
    - SSDataBlock*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 833
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 833
    functionName: checkUDFAggResult
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_CONDITION
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkUDFAggResult(SSDataBlock *block, SUdfInterBuf
      *output) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:1063,1
    - Dst: udfdGetFuncBodyPath
      Src: /src/tdengine/source/libs/function/src/udfd.c:1071,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1066,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/udfd.c:1066,1
    - Dst: osDataSpaceAvailable
      Src: /src/tdengine/source/libs/function/src/udfd.c:1064,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1072,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1074,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1075,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1079,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1081,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1084,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1086,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/function/src/udfd.c:1089,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1090,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1081,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1094,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - pFuncInfo
    - udf
    argTypes:
    - SFuncInfo*
    - SUdf*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1096
    functionName: udfdSaveFuncBodyToFile
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosStatFile
    - osDataSpaceAvailable
    - taosCloseFile
    - terrstr
    - taosWriteFile
    - tstrncpy
    - fnInfo
    - strerror
    - TAOS_UDF_CHECK_PTR_RCODE
    - udfdGetFuncBodyPath
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdSaveFuncBodyToFile(SFuncInfo *pFuncInfo, SUdf *udf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1752,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1754
    functionName: udfdDestroyUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnInfo
    - taosRemoveDir
    linkageType: ''
    returnType: void
    signature: 'void udfdDestroyUdfSourceDir() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1404,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1413,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1415,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1410,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1416,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1422,1
    - Dst: uv_queue_work
      Src: /src/tdengine/source/libs/function/src/udfd.c:1428,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    constantsTouched: []
    func_position:
      end: 1434
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1434
    functionName: udfdHandleRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - uv_queue_work
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_buf_init
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdHandleRequest(SUdfdUvConn *conn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:152,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:159,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - udfCtx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: udfdCPluginUdfDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - taosMemoryFree
    - uv_dlclose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfDestroy(void *udfCtx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:858,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:878,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:938,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:949,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:954,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:959,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:967,1
    - Dst: udfColEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/udfd.c:854,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:838,1
    - Dst: checkUDFScalaResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:859,1
    - Dst: convertUdfColumnToDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:860,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/udfd.c:862,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:906,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:877,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:881,1
    - Dst: freeUdfDataDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:888,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:950,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:939,1
    - Dst: convertDataBlockToUdfDataBlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:856,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:866,1
    - Dst: checkUDFAggResult
      Src: /src/tdengine/source/libs/function/src/udfd.c:882,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:928,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:932,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:934,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:940,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:944,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:974,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:836,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/udfd.c:909,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:926,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/udfd.c:958,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 94
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    constantsTouched: []
    func_position:
      end: 976
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 976
    functionName: udfdProcessCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - freeUdfDataDataBlock
    - blockDataFreeRes
    - checkUDFAggResult
    - taosMemoryFree
    - taosMemoryMalloc
    - udfColEnsureCapacity
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RVOID
    - checkUDFScalaResult
    - uv_buf_init
    - convertDataBlockToUdfDataBlock
    - freeUdfColumn
    - convertUdfColumnToDataBlock
    - freeUdfInterBuf
    - taosMemoryFreeClear
    - encodeUdfResponse
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdProcessCallRequest(SUvUdfWork *uvUdf, SUdfRequest *request) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - code
    - msgType
    argTypes:
    - int32_t
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 1231
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1231
    functionName: udfdRpcRfp
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool udfdRpcRfp(int32_t code, tmsg_t msgType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/udfd.c:1292,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1293,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/function/src/udfd.c:1296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1296,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1297,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1303
    functionName: udfdOpenClientRpc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - rpcOpen
    - TAOS_CHECK_RETURN
    - TMAX
    - TMIN
    - taosVersionStrToInt
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdOpenClientRpc() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1312,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1315,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1328,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1329,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    constantsTouched: []
    func_position:
      end: 1331
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1331
    functionName: udfdOnWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - fnError
    - uv_err_name
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdOnWrite(uv_write_t *req, int status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1451,1
    - Dst: isUdfdUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/udfd.c:1459,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1469,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1452,1
    - Dst: udfdHandleRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:1460,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1471,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1471,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1475
    functionName: udfdPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - isUdfdUvMsgComplete
    - udfdUvHandleError
    - fnDebug
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnInfo
    - uv_err_name
    - udfdHandleRequest
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1524,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1529,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1529,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1525,1
    - Dst: uv_fs_unlink
      Src: /src/tdengine/source/libs/function/src/udfd.c:1527,1
    - Dst: uv_signal_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1531,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1533,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1533,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    constantsTouched: []
    func_position:
      end: 1536
      start: 1523
    functionDepth: 0
    functionLinenumber: 1523
    functionLinenumberEnd: 1536
    functionName: udfdIntrSignalHandler
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_fs_unlink
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_stop
    - fnInfo
    - uv_signal_stop
    - uv_strerror
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdIntrSignalHandler(uv_signal_t *handle, int signum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1643,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1651,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/udfd.c:1655,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1645,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1650,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/udfd.c:1655,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1661,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1667
    functionName: udfdGlobalDataInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - uv_mutex_init
    - taosGetDefaultHashFunction
    - taosHashInit
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfdGlobalDataInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - items
    - numItems
    argTypes:
    - SScriptUdfEnvItem*
    - int
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: udfdCPluginOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginOpen(SScriptUdfEnvItem *items, int numItems) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:164,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - block
    - resultCol
    - udfCtx
    argTypes:
    - SUdfDataBlock*
    - SUdfColumn*
    - void*
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: udfdCPluginUdfScalarProc
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfScalarProc(SUdfDataBlock *block, SUdfColumn
      *resultCol, void *udfCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:547,1
    - Dst: decodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:554,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/udfd.c:556,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:550,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:557,1
    - Dst: udfdProcessSetupRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:563,1
    - Dst: udfdProcessCallRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:568,1
    - Dst: udfdProcessTeardownRequest
      Src: /src/tdengine/source/libs/function/src/udfd.c:572,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - req
    argTypes:
    - uv_work_t*
    constantsTouched: []
    func_position:
      end: 579
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 579
    functionName: udfdProcessRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - decodeUdfRequest
    - udfdProcessSetupRequest
    - udfdProcessCallRequest
    - TAOS_UDF_CHECK_PTR_RVOID
    - udfdProcessTeardownRequest
    - taosMemoryFreeClear
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdProcessRequest(uv_work_t *req) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:994,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/udfd.c:998,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1005,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1029,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1028,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:979,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/udfd.c:987,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1002,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1032,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1023,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1000,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/udfd.c:1004,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1017,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1027,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:991,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:981,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/function/src/udfd.c:991,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:993,1
    - Dst: uv_cond_destroy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1001,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1009,1
    - Dst: encodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/udfd.c:1015,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1021,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1034,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 2
    argNames:
    - uvUdf
    - request
    argTypes:
    - SUvUdfWork*
    - SUdfRequest*
    constantsTouched: []
    func_position:
      end: 1036
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1036
    functionName: udfdProcessTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_mutex_destroy
    - taosMemoryFree
    - taosMemoryMalloc
    - uv_mutex_unlock
    - encodeUdfResponse
    - fnDebug
    - uv_cond_destroy
    - taosHashRemove
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnInfo
    - strlen
    - tstrerror
    - uv_buf_init
    - uv_mutex_lock
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdProcessTeardownRequest(SUvUdfWork *uvUdf, SUdfRequest *request) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1242,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1262,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1264,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1257,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1247,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - firstEp
    - secondEp
    - pEpSet
    argTypes:
    - char*
    - char*
    - SCorEpSet*
    constantsTouched: []
    func_position:
      end: 1276
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1276
    functionName: initEpSetFromCfg
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - strlen
    - fnError
    - taosGetFqdnPortFromEp
    linkageType: ''
    returnType: int
    signature: 'int initEpSetFromCfg(const char *firstEp, const char *secondEp, SCorEpSet
      *pEpSet) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1341,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1338,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/udfd.c:1345,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1340,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1347,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1347,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1348,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - work
    - status
    argTypes:
    - uv_work_t*
    - int
    constantsTouched: []
    func_position:
      end: 1352
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1352
    functionName: udfdSendResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_write
    - uv_strerror
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdSendResponse(uv_work_t *work, int status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/udfd.c:1490,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1492,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1497,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1511,1
    - Dst: udfdUvHandleError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1512,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/udfd.c:1509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1520,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1485,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1519,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1478,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1487,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1480,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1493,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1514,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1499,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1480,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1492,1
    - Dst: uv_accept
      Src: /src/tdengine/source/libs/function/src/udfd.c:1496,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1513,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    constantsTouched: []
    func_position:
      end: 1521
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1521
    functionName: udfdOnNewConnection
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_pipe_init
    - taosMemoryMalloc
    - udfdUvHandleError
    - uv_accept
    - uv_close
    - uv_read_start
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_strerror
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdOnNewConnection(uv_stream_t *server, int status) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1540,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/udfd.c:1546,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1543,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:1542,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1548,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/udfd.c:1551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1558
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1558
    functionName: udfdParseArgs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - strlen
    - tstrncpy
    - strcmp
    - printf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfdParseArgs(int32_t argc, char *argv[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1677,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1682,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1678,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1684,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1680,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/udfd.c:1686,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/udfd.c:1687,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1689,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1691,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1692
    functionName: udfdRun
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_walk
    - fnInfo
    - uv_loop_close
    - uv_run
    - fnError
    linkageType: ''
    returnType: void
    signature: 'static void udfdRun() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1740,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1744,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:1746,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/function/src/udfd.c:1741,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1743,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:1746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1749
    functionName: udfdCreateUdfSourceDir
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - tstrerror
    - fnInfo
    - taosMkDir
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCreateUdfSourceDir() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:72,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:74,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:75,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:79,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:75,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:80,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:80,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:84,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:85,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:85,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:90,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:89,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:92,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/udfd.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - udfCtx
    - udfName
    argTypes:
    - SUdfCPluginCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 95
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 95
    functionName: udfdCPluginUdfInitLoadAggFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_dlsym
    - snprintf
    - TAOS_CHECK_RETURN
    - fnInfo
    - uv_strerror
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfInitLoadAggFuncs(SUdfCPluginCtx *udfCtx, const
      char *udfName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SUdfdUvConn*
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: udfdUvHandleError
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_close
    linkageType: ''
    returnType: void
    signature: 'static void udfdUvHandleError(SUdfdUvConn *conn) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:408,1
    - Dst: udfdLoadSharedLib
      Src: /src/tdengine/source/libs/function/src/udfd.c:420,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:428,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:422,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/udfd.c:428,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:429,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:431,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:435,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:437,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:445,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:441,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    constantsTouched: []
    func_position:
      end: 451
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 451
    functionName: udfdInitializePythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryMalloc
    - taosMemoryFree
    - strlen
    - udfdLoadSharedLib
    - uv_dlclose
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdInitializePythonPlugin(SUdfScriptPlugin *plugin) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:473,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:479,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    constantsTouched: []
    func_position:
      end: 492
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 492
    functionName: udfdDeinitPythonPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnError
    - uv_dlclose
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdDeinitPythonPlugin(SUdfScriptPlugin *plugin) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1561,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1562,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/udfd.c:1563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1560
    functionDepth: 0
    functionLinenumber: 1560
    functionLinenumberEnd: 1564
    functionName: udfdPrintVersion
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void udfdPrintVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/udfd.c:1568,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/libs/function/src/udfd.c:1569,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/libs/function/src/udfd.c:1568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: udfdInitLog
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosCreateLog
    - taosInitLogOutput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfdInitLog() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1573,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:1574,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - suggested_size
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1580
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1580
    functionName: udfdCtrlAllocBufCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnError
    - taosMemoryMalloc
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdCtrlAllocBufCb(uv_handle_t *handle, size_t suggested_size,
      uv_buf_t *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/udfd.c:1637,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    constantsTouched: []
    func_position:
      end: 1640
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1640
    functionName: udfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - uv_close
    linkageType: ''
    returnType: void
    signature: 'static void udfdCloseWalkCb(uv_handle_t *handle, void *arg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:98,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:106,1
    - Dst: uv_dlopen
      Src: /src/tdengine/source/libs/function/src/udfd.c:104,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:106,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:107,1
    - Dst: udfdCPluginUdfInitLoadInitDestoryFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:112,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:114,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/udfd.c:121,1
    - Dst: uv_dlsym
      Src: /src/tdengine/source/libs/function/src/udfd.c:122,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:123,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:147,1
    - Dst: udfdCPluginUdfInitLoadAggFuncs
      Src: /src/tdengine/source/libs/function/src/udfd.c:128,1
    - Dst: uv_dlclose
      Src: /src/tdengine/source/libs/function/src/udfd.c:146,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:130,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/udfd.c:123,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - udf
    - pUdfCtx
    argTypes:
    - SScriptUdfInfo*
    - void**
    constantsTouched: []
    func_position:
      end: 149
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 149
    functionName: udfdCPluginUdfInit
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - uv_dlsym
    - taosMemoryFree
    - snprintf
    - taosMemoryCalloc
    - udfdCPluginUdfInitLoadInitDestoryFuncs
    - udfdCPluginUdfInitLoadAggFuncs
    - uv_strerror
    - uv_dlclose
    - TAOS_UDF_CHECK_PTR_RCODE
    - uv_dlopen
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfInit(SScriptUdfInfo *udf, void **pUdfCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:454,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - plugin
    argTypes:
    - SUdfScriptPlugin*
    constantsTouched: []
    func_position:
      end: 470
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 470
    functionName: udfdDeinitCPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - fnError
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void udfdDeinitCPlugin(SUdfScriptPlugin *plugin) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/udfd.c:495,1
    - Dst: udfdInitializeCPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:502,1
    - Dst: udfdInitializePythonPlugin
      Src: /src/tdengine/source/libs/function/src/udfd.c:510,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:504,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:505,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:513,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:519,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:520,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - scriptType
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 526
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 526
    functionName: udfdInitScriptPlugin
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - udfdInitializePythonPlugin
    - udfdInitializeCPlugin
    - taosMemoryCalloc
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdInitScriptPlugin(int8_t scriptType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/udfd.c:1583,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/udfd.c:1587,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1585,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/udfd.c:1585,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1586,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/udfd.c:1588,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:1591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/udfd.c:1592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - q
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1593
    functionName: udfdCtrlReadCb
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_close
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_stop
    - uv_err_name
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfdCtrlReadCb(uv_stream_t *q, ssize_t nread, const uv_buf_t
      *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/udfd.c:210,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/udfd.c:215,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - resultData
    - udfCtx
    argTypes:
    - SUdfInterBuf*
    - SUdfInterBuf*
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: udfdCPluginUdfAggFinish
    functionSourceFile: /src/tdengine/source/libs/function/src/udfd.c
    functionUses: []
    functionsReached:
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfdCPluginUdfAggFinish(SUdfInterBuf *buf, SUdfInterBuf *resultData,
      void *udfCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 217
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 217
    functionName: fmIsSystemInfoFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSystemInfoFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:327,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: fmFuncMgtDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    - atomic_val_compare_exchange_ptr
    linkageType: ''
    returnType: void
    signature: 'void fmFuncMgtDestroy() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 724
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 724
    functionName: fmIsCountLikeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsCountLikeFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 219
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 219
    functionName: fmIsImplicitTsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsImplicitTsFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: fmIsRowTsOriginFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsRowTsOriginFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: fmIsSpecialDataRequiredFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSpecialDataRequiredFunc(int32_t funcId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 3
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 387
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 387
    functionName: fmIsSameInOutType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSameInOutType(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: fmIsDynamicScanOptimizedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsDynamicScanOptimizedFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:391,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: fmIsConstantResFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodeType
    - FOREACH
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsConstantResFunc(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: fmIsKeepOrderFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsKeepOrderFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: fmIsSelectFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSelectFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: fmIsTimelineFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsTimelineFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 227
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 227
    functionName: fmIsCumulativeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsCumulativeFunc(int32_t funcId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:438,1
    - Dst: resetOutputChangedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:456,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:447,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:452,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:449,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pName
    - pSrcFunc
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SFunctionNode*
    - SNodeList*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 460
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 460
    functionName: createFunctionWithSrcFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - snprintf
    - nodesDestroyNode
    - getFuncInfo
    - resetOutputChangedFunc
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createFunctionWithSrcFunc(const char* pName, const SFunctionNode*
      pSrcFunc, SNodeList* pParameterList, SFunctionNode** ppFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:463,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pFunc
    - ppCol
    argTypes:
    - SFunctionNode*
    - SColumnNode**
    constantsTouched: []
    func_position:
      end: 470
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 470
    functionName: createColumnByFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesMakeNode
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createColumnByFunc(const SFunctionNode* pFunc, SColumnNode**
      ppCol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:607,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:615,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:614,1
    - Dst: createFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:609,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:611,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pFunc
    - pStateFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 618
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 618
    functionName: fmCreateStateFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - createFunction
    - tstrncpy
    - nodesDestroyList
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fmCreateStateFunc(const SFunctionNode* pFunc, SFunctionNode**
      pStateFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:596,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:599,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 600
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 600
    functionName: fmGetFuncName
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    - taosStrdup
    linkageType: ''
    returnType: char*
    signature: 'char * fmGetFuncName(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:100,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 105
    functionName: fmGetFuncType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: EFunctionType
    signature: 'EFunctionType fmGetFuncType(const char* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 185
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 185
    functionName: fmIsDateTimeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsDateTimeFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 209
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 209
    functionName: fmIsUserDefinedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsUserDefinedFunc(int32_t funcId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: fmFuncDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired fmFuncDataRequired(SFunctionNode* pFunc, STimeWindow*
      pTimeWindow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 187
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 187
    functionName: fmIsPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsPseudoColumnFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: fmIsForbidFillFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsForbidFillFunc(int32_t funcId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 3
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: fmIsInvertible
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsInvertible(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: fmFuncMgtInit
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - taosThreadOnce
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmFuncMgtInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 238
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 238
    functionName: fmIsInterpPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsInterpPseudoColumnFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:621,1
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - func_id_t
    constantsTouched: []
    func_position:
      end: 623
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 623
    functionName: fmIsTSMASupportedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsTSMASupportedFunc(func_id_t funcId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:35,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:42,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:35,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: doInitFunctionTable
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosGetDefaultHashFunction
    - strlen
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'static void doInitFunctionTable() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: fmIsForecastFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsForecastFunc(int32_t funcId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:629,1
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:631,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:633,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:643,1
    - Dst: fmCreateStateFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:635,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 649
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 649
    functionName: fmCreateStateFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    - fmCreateStateFunc
    - FOREACH
    - fmGetFuncInfo
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmCreateStateFuncs(SNodeList* pFuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 229
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 229
    functionName: fmIsForbidSysTableFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsForbidSysTableFunc(int32_t funcId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:51,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - funcId
    - classification
    argTypes:
    - int32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: isSpecificClassifyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool isSpecificClassifyFunc(int32_t funcId, uint64_t classification) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: fmIsInterpFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsInterpFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 205
    functionName: fmIsMultiResFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsMultiResFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: fmIsSelectValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSelectValueFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 298
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 298
    functionName: fmisSelectGroupConstValueFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmisSelectGroupConstValueFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 207
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 207
    functionName: fmIsRepeatScanFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsRepeatScanFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: fmIsGroupKeyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsGroupKeyFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 305
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 305
    functionName: fmIsElapsedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsElapsedFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 738
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 738
    functionName: fmIsGroupIdFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsGroupIdFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pType
    - pkBytes
    argTypes:
    - SDataType*
    - int32_t
    constantsTouched: []
    func_position:
      end: 406
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 406
    functionName: getLastCacheDataType
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - getFirstLastInfoSize
    linkageType: ''
    returnType: void
    signature: 'void getLastCacheDataType(SDataType* pType, int32_t pkBytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createMergeFuncPara
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:550,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:567,1
    - Dst: fmIsSameInOutType
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:558,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:552,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:561,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 570
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 570
    functionName: createMergeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - tstrncpy
    - createFunctionWithSrcFunc
    - fmIsSameInOutType
    - createMergeFuncPara
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMergeFunction(const SFunctionNode* pSrcFunc,
      const SFunctionNode* pPartialFunc, SFunctionNode** pMergeFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:473,1
    - Dst: fmIsVectorFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:476,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: fmIsDistExecFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    - fmIsVectorFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsDistExecFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsIndefiniteRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:91,1
    - Dst: fmIsMultiRowsFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: fmGetFuncReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsMultiRowsFunc
    - fmIsIndefiniteRowsFunc
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'EFuncReturnRows fmGetFuncReturnRows(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:177,1
    - Dst: fmIsPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 177
    functionName: fmIsVectorFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsPseudoColumnFunc
    - fmIsScalarFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsVectorFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: fmIsClientPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsClientPseudoColumnFunc(int32_t funcId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:693,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:693,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 705
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 705
    functionName: fmGetFuncId
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetFuncId(const char* name) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fmIsDistExecFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:574,1
    - Dst: createMidFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:580,1
    - Dst: createPartialFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:578,1
    - Dst: createMergeFunction
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:583,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:587,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:588,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:589,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - pFunc
    - pPartialFunc
    - pMidFunc
    - pMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    - SFunctionNode**
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 593
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 593
    functionName: fmGetDistMethod
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - createMidFunction
    - nodesDestroyNode
    - createMergeFunction
    - fmIsDistExecFunc
    - createPartialFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetDistMethod(const SFunctionNode* pFunc, SFunctionNode**
      pPartialFunc, SFunctionNode** pMidFunc, SFunctionNode** pMergeFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:96,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: fmIsBuiltinFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsBuiltinFunc(const char* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 179
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 179
    functionName: fmIsSelectColsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSelectColsFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: fmIsMultiRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsMultiRowsFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmGetFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: getFuncInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmGetFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getFuncInfo(SFunctionNode* pFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:484,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:489,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:498,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:491,1
    - Dst: taosHashBinary
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pSrcFunc
    - pPartialFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 504
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 504
    functionName: createPartialFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesDestroyList
    - tstrncpy
    - createFunctionWithSrcFunc
    - nodesCloneList
    - taosHashBinary
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createPartialFunction(const SFunctionNode* pSrcFunc,
      SFunctionNode** pPartialFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:713,1
    - Dst: fmGetFuncId
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:714,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:719,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - funcId
    - stateFuncId
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 720
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 720
    functionName: fmIsMyStateFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmGetFuncId
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsMyStateFunc(int32_t funcId, int32_t stateFuncId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: fmGetUdafExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetUdafExecFuncs(int32_t funcId, SFuncExecFuncs* pFpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: fmIsBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsBlockDistFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 399
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 399
    functionName: fmIsSkipScanCheckFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsSkipScanCheckFunc(int32_t funcId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:414,1
    - Dst: getFuncInfo
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:418,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pName
    - pParameterList
    - ppFunc
    argTypes:
    - char*
    - SNodeList*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 428
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 428
    functionName: createFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - snprintf
    - nodesMakeNode
    - getFuncInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createFunction(const char* pName, SNodeList* pParameterList,
      SFunctionNode** ppFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SScalarFuncExecFuncs*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: fmGetScalarFuncExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetScalarFuncExecFuncs(int32_t funcId, SScalarFuncExecFuncs*
      pFpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 319
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 319
    functionName: fmIsDBUsageFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsDBUsageFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: fmIsPrimaryKeyFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsPrimaryKeyFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pFunc
    - pSrcFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: resetOutputChangedFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void resetOutputChangedFunc(SFunctionNode *pFunc, const SFunctionNode*
      pSrcFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 247
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 247
    functionName: fmIsForecastPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsForecastPseudoColumnFunc(int32_t funcId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodesCloneList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:654,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:662,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:661,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:656,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:658,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pFunc
    - pStateMergeFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 665
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 665
    functionName: fmCreateStateMergeFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - createFunctionWithSrcFunc
    - tstrncpy
    - nodesDestroyList
    - nodesCloneList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fmCreateStateMergeFunc(SFunctionNode* pFunc, SFunctionNode**
      pStateMergeFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:69,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:78,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:69,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pFunc
    - pMsg
    - msgLen
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: fmGetFuncInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetFuncInfo(SFunctionNode* pFunc, char* pMsg, int32_t msgLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: fmIsLastRowFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsLastRowFunc(int32_t funcId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:671,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:673,1
    - Dst: REPLACE_NODE
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:683,1
    - Dst: fmCreateStateMergeFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:675,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pFuncs
    argTypes:
    - SNodeList*
    constantsTouched: []
    func_position:
      end: 689
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 689
    functionName: fmCreateStateMergeFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    - FOREACH
    - fmCreateStateMergeFunc
    - REPLACE_NODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmCreateStateMergeFuncs(SNodeList* pFuncs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 173
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 173
    functionName: fmIsAggFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsAggFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 321
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 321
    functionName: fmIsProcessByRowFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsProcessByRowFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: fmSetInvertFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmSetInvertFunc(int32_t funcId, SFuncExecFuncs* pFpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 175
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 175
    functionName: fmIsScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsScalarFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 323
    functionName: fmIsIgnoreNullFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsIgnoreNullFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:342,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    constantsTouched: []
    func_position:
      end: 347
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 347
    functionName: fmSetNormalFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmSetNormalFunc(int32_t funcId, SFuncExecFuncs* pFpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: createColumnByFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:509,1
    - Dst: nodesListMakeStrictAppend
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pParameterList
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 518
    functionName: createMergeFuncPara
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - createColumnByFunc
    - nodesListMakeStrictAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMergeFuncPara(const SFunctionNode* pSrcFunc,
      const SFunctionNode* pPartialFunc, SNodeList** pParameterList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:118,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:123,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - funcId
    - pRes
    - pBlockInfo
    argTypes:
    - int32_t
    - void*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: fmFuncDynDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    - strcmp
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired fmFuncDynDataRequired(int32_t funcId, void* pRes,
      SDataBlockInfo* pBlockInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 189
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 189
    functionName: fmIsScanPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsScanPseudoColumnFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 213
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 213
    functionName: fmIsIntervalInterpoFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsIntervalInterpoFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fmIsUserDefinedFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - funcId
    - pFpSet
    argTypes:
    - int32_t
    - SFuncExecFuncs*
    constantsTouched: []
    func_position:
      end: 147
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 147
    functionName: fmGetFuncExecFuncs
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsUserDefinedFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fmGetFuncExecFuncs(int32_t funcId, SFuncExecFuncs* pFpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 191
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 191
    functionName: fmIsWindowPseudoColumnFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsWindowPseudoColumnFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 215
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 215
    functionName: fmIsForbidStreamFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsForbidStreamFunc(int32_t funcId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createMergeFuncPara
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:525,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:540,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:530,1
    - Dst: createFunctionWithSrcFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:528,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:534,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pSrcFunc
    - pPartialFunc
    - pMidFunc
    argTypes:
    - SFunctionNode*
    - SFunctionNode*
    - SFunctionNode**
    constantsTouched: []
    func_position:
      end: 543
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 543
    functionName: createMidFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - createFunctionWithSrcFunc
    - createMergeFuncPara
    - nodesDestroyList
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createMidFunction(const SFunctionNode* pSrcFunc, const
      SFunctionNode* pPartialFunc, SFunctionNode** pMidFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fmIsAggFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:193,1
    - Dst: fmIsWindowPseudoColumnFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 193
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 193
    functionName: fmIsWindowClauseFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - fmIsAggFunc
    - fmIsWindowPseudoColumnFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsWindowClauseFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: fmIsLastFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsLastFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isSpecificClassifyFunc
      Src: /src/tdengine/source/libs/function/src/functionMgt.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 195
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 195
    functionName: fmIsIndefiniteRowsFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached:
    - isSpecificClassifyFunc
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsIndefiniteRowsFunc(int32_t funcId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - funcId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 277
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 277
    functionName: fmIsNotNullOutputFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/functionMgt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool fmIsNotNullOutputFunc(int32_t funcId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - numOfSlots
    - slotIndex
    - times
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: getGroupId
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getGroupId(int32_t numOfSlots, int32_t slotIndex, int32_t
      times) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SSlotInfo*
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: resetPosInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void resetPosInfo(SSlotInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:343,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:351,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:347,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:346,1
    - Dst: destroyDiskbasedBuf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:350,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:352,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:353,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pBucket
    argTypes:
    - tMemBucket**
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: tMemBucketDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - destroyDiskbasedBuf
    - taosHashIterate
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tMemBucketDestroy(tMemBucket **pBucket) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:425,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:431,1
    - Dst: tMemBucketUpdateBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:419,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:437,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:438,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:443,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:445,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:449,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:451,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:463,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:469,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:464,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:458,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 60
    argCount: 3
    argNames:
    - pBucket
    - data
    - size
    argTypes:
    - tMemBucket*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 477
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 477
    functionName: tMemBucketPut
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - tMemBucketUpdateBoundingBox
    - releaseBufPage
    - taosArrayDestroy
    - getGroupId
    - taosHashGet
    - qError
    - taosArrayPush
    - getNewBufPage
    - memcpy
    - setBufPageDirty
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMemBucketPut(tMemBucket *pBucket, const void *data, size_t
      size) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:33,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:38,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:41,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:50,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:45,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:51,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:53,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:59,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:63,1
    - Dst: taosSort
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:67,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - pMemBucket
    - slotIdx
    - buffer
    argTypes:
    - tMemBucket*
    - int32_t
    - SFilePage**
    constantsTouched: []
    func_position:
      end: 69
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 69
    functionName: loadDataFromFilePage
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - taosSort
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - taosHashGet
    - getGroupId
    - getBufPage
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadDataFromFilePage(tMemBucket *pMemBucket, int32_t
      slotIdx, SFilePage ** buffer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:131,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:123,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:127,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:122,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:135,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:140,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:141,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:145,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - pMemBucket
    - result
    argTypes:
    - tMemBucket*
    - double*
    constantsTouched: []
    func_position:
      end: 152
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 152
    functionName: findOnlyResult
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - taosArrayGet
    - taosHashGet
    - getGroupId
    - getBufPage
    - qError
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t findOnlyResult(tMemBucket *pMemBucket, double *result) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:358,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:369,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:371,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:380,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:360,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:382,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - r
    - data
    - pBucket
    argTypes:
    - MinMaxEntry*
    - char*
    - tMemBucket*
    constantsTouched: []
    func_position:
      end: 396
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 396
    functionName: tMemBucketUpdateBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_TYPED_DATA
    - qError
    - IS_FLOAT_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMemBucketUpdateBoundingBox(MinMaxEntry *r, const char *data,
      tMemBucket* pBucket) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:507,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:509,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pMemBucket
    - slotIndex
    argTypes:
    - tMemBucket*
    - int32_t
    constantsTouched: []
    func_position:
      end: 516
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 516
    functionName: getIdenticalDataVal
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: double
    signature: 'static double getIdenticalDataVal(tMemBucket *pMemBucket, int32_t
      slotIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pMemBucket
    - slotIdx
    - next
    argTypes:
    - tMemBucket*
    - int32_t
    - MinMaxEntry*
    constantsTouched: []
    func_position:
      end: 499
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 499
    functionName: getMinMaxEntryOfNextSlotWithData
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getMinMaxEntryOfNextSlotWithData(tMemBucket *pMemBucket,
      int32_t slotIdx, MinMaxEntry *next) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:72,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - range
    - type
    argTypes:
    - MinMaxEntry*
    - int32_t
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: resetBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void resetBoundingBox(MinMaxEntry *range, int32_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resetBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:265,1
    - Dst: resetPosInfo
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pBucket
    argTypes:
    - tMemBucket*
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: resetSlotInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - resetPosInfo
    - resetBoundingBox
    linkageType: ''
    returnType: void
    signature: 'static void resetSlotInfo(tMemBucket *pBucket) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:545,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:554,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:580,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:607,1
    - Dst: loadDataFromFilePage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:565,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:599,1
    - Dst: tMemBucketCreate
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:612,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:625,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:628,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:629,1
    - Dst: getPercentileImpl
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:631,1
    - Dst: getMinMaxEntryOfNextSlotWithData
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:535,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:542,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:576,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:577,1
    - Dst: getIdenticalDataVal
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:585,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:617,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:619,1
    - Dst: tMemBucketPut
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:623,1
    - Dst: isIdenticalData
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:584,1
    - Dst: getGroupId
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:596,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:593,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:614,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:603,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:632,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 100
    argCount: 4
    argNames:
    - pMemBucket
    - count
    - fraction
    - result
    argTypes:
    - tMemBucket*
    - int32_t
    - double
    - double*
    constantsTouched: []
    func_position:
      end: 642
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 642
    functionName: getPercentileImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - tMemBucketDestroy
    - setBufPageDirty
    - releaseBufPage
    - isIdenticalData
    - getMinMaxEntryOfNextSlotWithData
    - taosArrayGet
    - IS_SIGNED_NUMERIC_TYPE
    - getGroupId
    - taosHashGet
    - qError
    - getBufPage
    - taosMemoryFreeClear
    - tMemBucketCreate
    - loadDataFromFilePage
    - getIdenticalDataVal
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_TYPED_DATA
    - tMemBucketPut
    - getPercentileImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getPercentileImpl(tMemBucket *pMemBucket, int32_t count, double
      fraction, double *result) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:89,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - range
    - type
    - minval
    - maxval
    argTypes:
    - MinMaxEntry*
    - int16_t
    - double
    - double
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: setBoundingBox
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setBoundingBox(MinMaxEntry *range, int16_t type, double
      minval, double maxval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:272,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:291,1
    - Dst: setBoundingBox
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:296,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:293,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:291,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:298,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:303,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:305,1
    - Dst: getHashFunc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:307,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:310,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:316,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:322,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:330,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:324,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:314,1
    - Dst: createDiskbasedBuf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:328,1
    - Dst: resetSlotInfo
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:320,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 8
    argNames:
    - nElemSize
    - dataType
    - typeMod
    - minval
    - maxval
    - hasWindowOrGroup
    - pBucket
    - numOfElements
    argTypes:
    - int32_t
    - int16_t
    - STypeMod
    - double
    - double
    - bool
    - tMemBucket**
    - int32_t
    constantsTouched: []
    func_position:
      end: 336
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 336
    functionName: tMemBucketCreate
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - osTempSpaceAvailable
    - taosMemoryCalloc
    - setBoundingBox
    - tMemBucketDestroy
    - getHashFunc
    - createDiskbasedBuf
    - getKeyComparFunc
    - resetSlotInfo
    - taosGetDefaultHashFunction
    - TMIN
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMemBucketCreate(int32_t nElemSize, int16_t dataType, STypeMod
      typeMod, double minval, double maxval, bool hasWindowOrGroup, tMemBucket **pBucket,
      int32_t numOfElements) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: findOnlyResult
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:652,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:655,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:662,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:658,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:661,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:663,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:664,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:666,1
    - Dst: getPercentileImpl
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:676,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pMemBucket
    - percent
    - result
    argTypes:
    - tMemBucket*
    - double
    - double*
    constantsTouched: []
    func_position:
      end: 677
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 677
    functionName: getPercentile
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - findOnlyResult
    - IS_UNSIGNED_NUMERIC_TYPE
    - fabs
    - IS_SIGNED_NUMERIC_TYPE
    - getPercentileImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getPercentile(tMemBucket *pMemBucket, double percent, double
      *result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:156,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:180,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 184
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 184
    functionName: tBucketIntHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - GET_TYPED_DATA
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBucketIntHash(tMemBucket *pBucket, const void *value, int32_t
      *index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:219,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:232,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:226,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:226,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:221,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:234,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:239,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:245,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 249
    functionName: tBucketDoubleHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - isinf
    - GET_FLOAT_VAL
    - fabs
    - qError
    - isnan
    - GET_DOUBLE_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBucketDoubleHash(tMemBucket *pBucket, const void *value,
      int32_t *index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:685,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pMemBucket
    - index
    argTypes:
    - tMemBucket*
    - int32_t
    constantsTouched: []
    func_position:
      end: 690
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 690
    functionName: isIdenticalData
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_FLOAT_TYPE
    - fabs
    linkageType: ''
    returnType: bool
    signature: 'bool isIdenticalData(tMemBucket *pMemBucket, int32_t index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:188,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:210,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pBucket
    - value
    - index
    argTypes:
    - tMemBucket*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 214
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 214
    functionName: tBucketUintHash
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - GET_TYPED_DATA
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBucketUintHash(tMemBucket *pBucket, const void *value, int32_t
      *index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:252,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tpercentile.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: getHashFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tpercentile.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: __perc_hash_func_t
    signature: 'static __perc_hash_func_t getHashFunc(int32_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:354,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:355,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pRow
    - pIter
    - rowIndex
    - setPk
    argTypes:
    - SFuncInputRow*
    - SFuncInputRowIter*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 359
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 359
    functionName: setInputRowInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - colDataGetData
    linkageType: ''
    returnType: void
    signature: 'static void setInputRowInfo(SFuncInputRow* pRow, SFuncInputRowIter*
      pIter, int32_t rowIndex, bool setPk) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2054,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2051
    functionDepth: 0
    functionLinenumber: 2051
    functionLinenumberEnd: 2056
    functionName: getApercentileMaxSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - TDIGEST_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getApercentileMaxSize() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4330
      start: 4330
    functionDepth: 0
    functionLinenumber: 4330
    functionLinenumberEnd: 4330
    functionName: getElapsedInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getElapsedInfoSize() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5833
      start: 5828
    functionDepth: 0
    functionLinenumber: 5828
    functionLinenumberEnd: 5833
    functionName: getUniqueFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getUniqueFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6867,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6871,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 6880
      start: 6863
    functionDepth: 0
    functionLinenumber: 6863
    functionLinenumberEnd: 6880
    functionName: irateFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t irateFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:373,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:374,1
    - Dst: forwardToNextDiffTsRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:383,1
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:379,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    constantsTouched: []
    func_position:
      end: 395
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 395
    functionName: funcInputGetNextRowAscPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - setInputRowInfo
    - forwardToNextDiffTsRow
    linkageType: ''
    returnType: bool
    signature: 'bool funcInputGetNextRowAscPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:785,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:786,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:789,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:787,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:790,1
    - Dst: SUM_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:791,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:793,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:794,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:794,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:795,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:796,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:801,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:803,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:797,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:796,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:799,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:799,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 806
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 806
    functionName: sumCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - SUM_RES_GET_USUM
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - SUM_RES_INC_ISUM
    - SUM_RES_GET_TYPE
    - IS_DECIMAL_TYPE
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_ISUM
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_DSUM
    - SUM_RES_INC_DECIMAL_SUM
    - SUM_RES_INC_USUM
    - GET_ROWCELL_INTERBUF
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sumCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5837,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5848,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5848,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5841,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5846,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 5852
      start: 5835
    functionDepth: 0
    functionLinenumber: 5835
    functionLinenumberEnd: 5852
    functionName: uniqueFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - taosHashClear
    - functionSetup
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uniqueFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6888,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6892,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6897,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6904,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6890,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6906,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6908,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6913,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - pRateInfo
    - isFirst
    - ts
    - pk
    - v
    argTypes:
    - SRateInfo*
    - bool
    - int64_t
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 6916
      start: 6882
    functionDepth: 0
    functionLinenumber: 6882
    functionLinenumberEnd: 6916
    functionName: doSaveRateInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - memcpy
    - getJsonValueLen
    linkageType: ''
    returnType: void
    signature: 'static void doSaveRateInfo(SRateInfo* pRateInfo, bool isFirst, int64_t
      ts, char* pk, double v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6595,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6599,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 6601
      start: 6591
    functionDepth: 0
    functionLinenumber: 6591
    functionLinenumberEnd: 6601
    functionName: blockDBUsageSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDBUsageSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7100,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7101,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7101,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7103,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7102,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7108,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7108,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7109,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7120,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7122
      start: 7099
    functionDepth: 0
    functionLinenumber: 7099
    functionLinenumberEnd: 7122
    functionName: iratePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - getIrateInfoSize
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t iratePartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 538
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 538
    functionName: getCountFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getCountFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2726,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2752,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2761,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2849,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2707,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2715,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2744,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2759,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2768,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2827,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2787,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2838,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2839,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2850,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2733,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2758,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2775,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2793,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2862,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2876,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2706,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2743,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2774,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2794,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2777,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2828,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2857,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2860,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2861,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 152
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2884
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2884
    functionName: lastFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - getRowPTs
    - doSaveCurrentVal
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataGetData
    - pkCompareFn
    - getKeyComparFunc
    - firstlastSaveTupleData
    - funcInputGetNextRowIndex
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lastFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3118,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3139,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3143,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3175,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3136,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3161,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3160,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3182,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3195,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3117,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3127,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3138,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3144,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3145,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3149,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3176,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3186,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3174,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3185,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3165,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3159,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3197
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3197
    functionName: lastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull
    - getRowPTs
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataGetData
    - pkCompareFn
    - getKeyComparFunc
    - doSaveLastrow
    - funcInputGetNextRowIndex
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lastRowFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fmIsGroupKeyFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3866,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3873,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3877,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3883,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3882,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3884,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3884,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3884,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3886,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - pSrcBlock
    - rowIndex
    - pSubsidiaryies
    - buf
    - res
    argTypes:
    - SSDataBlock*
    - int32_t
    - SSubsidiaryResInfo*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 3894
      start: 3855
    functionDepth: 0
    functionLinenumber: 3855
    functionLinenumberEnd: 3894
    functionName: serializeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - getJsonValueLen
    - fmIsGroupKeyFunc
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t serializeTupleData(const SSDataBlock* pSrcBlock, int32_t rowIndex,
      SSubsidiaryResInfo* pSubsidiaryies, char* buf, char** res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: prepareBuf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3989,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3995,1
    - Dst: doUpdateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3999,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - pCtx
    - rowIndex
    - pSrcBlock
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SSDataBlock*
    - STuplePos*
    constantsTouched: []
    func_position:
      end: 4000
      start: 3988
    functionDepth: 0
    functionLinenumber: 3988
    functionLinenumberEnd: 4000
    functionName: updateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - prepareBuf
    - serializeTupleData
    - doUpdateTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updateTupleData(SqlFunctionCtx* pCtx, int32_t rowIndex, const
      SSDataBlock* pSrcBlock, STuplePos* pPos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hllBucketHisto
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4982,1
    - Dst: hllTau
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4984,1
    - Dst: hllSigma
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4990,1
    - Dst: llroundl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - buckets
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4994
      start: 4979
    functionDepth: 0
    functionLinenumber: 4979
    functionLinenumberEnd: 4994
    functionName: hllCountCnt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - hllSigma
    - hllBucketHisto
    - hllTau
    - llroundl
    linkageType: ''
    returnType: uint64_t
    signature: 'static uint64_t hllCountCnt(uint8_t* buckets) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6663,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6664,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6679,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6679,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6666,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6681,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6681,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6684,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6685,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6691,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6693,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6691,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6692,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 6698
      start: 6662
    functionDepth: 0
    functionLinenumber: 6662
    functionLinenumberEnd: 6698
    functionName: blockDBUsageFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - GET_ROWCELL_INTERBUF
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDBUsageFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pCtx
    - pRateInfo
    - isMerge
    argTypes:
    - SqlFunctionCtx*
    - SRateInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 6933
      start: 6918
    functionDepth: 0
    functionLinenumber: 6918
    functionLinenumberEnd: 6933
    functionName: initializeRateInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initializeRateInfo(SqlFunctionCtx* pCtx, SRateInfo* pRateInfo,
      bool isMerge) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 570
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 570
    functionName: getNumOfElems
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getNumOfElems(SqlFunctionCtx* pCtx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:896,1
    - Dst: colDataSetInt32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:902,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:897,1
    - Dst: colDataSetInt16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:921,1
    - Dst: colDataSetInt8
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:926,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:929,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:932,1
    - Dst: colDataSetFloat
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:933,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:939,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:953,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:949,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:959,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:961,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:946,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 41
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 966
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 966
    functionName: minmaxFunctionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetDouble
    - colDataSetNULL
    - GET_FLOAT_VAL
    - colDataSetFloat
    - GET_RES_INFO
    - colDataSetVal
    - colDataSetInt16
    - setSelectivityValue
    - colDataSetInt8
    - taosMemoryFreeClear
    - setNullSelectivityValue
    - IS_VAR_DATA_TYPE
    - GET_ROWCELL_INTERBUF
    - colDataSetInt32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minmaxFunctionFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2892,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2916,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2897,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2913,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2902,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - isFirst
    argTypes:
    - SFirstLastRes*
    - SFirstLastRes*
    - bool
    constantsTouched: []
    func_position:
      end: 2920
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2920
    functionName: firstLastTransferInfoImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - pkCompareFn
    - memcpy
    - getKeyComparFunc
    linkageType: ''
    returnType: bool
    signature: 'static bool firstLastTransferInfoImpl(SFirstLastRes* pInput, SFirstLastRes*
      pOutput, bool isFirst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3199
    functionDepth: 0
    functionLinenumber: 3199
    functionLinenumberEnd: 3202
    functionName: getDiffFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getDiffFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3903,1
    - Dst: getBufPageSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3913,1
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3909,1
    - Dst: getNewBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3916,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3915,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3925,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3928,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3929,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 6
    argNames:
    - pHandle
    - pBuf
    - length
    - key
    - pPos
    - pStore
    argTypes:
    - SSerializeDataHandle*
    - void*
    - size_t
    - SWinKey*
    - STuplePos*
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 3938
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3938
    functionName: doSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getBufPage
    - setBufPageDirty
    - getNewBufPage
    - getBufPageSize
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSaveTupleData(SSerializeDataHandle* pHandle, const
      void* pBuf, size_t length, SWinKey* key, STuplePos* pPos, SFunctionStateStore*
      pStore) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4005,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4011,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - pHandle
    - pPos
    - pStore
    - value
    argTypes:
    - SSerializeDataHandle*
    - STuplePos*
    - SFunctionStateStore*
    - char**
    constantsTouched: []
    func_position:
      end: 4022
      start: 4002
    functionDepth: 0
    functionLinenumber: 4002
    functionLinenumberEnd: 4022
    functionName: doLoadTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - releaseBufPage
    - getBufPage
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadTupleData(SSerializeDataHandle* pHandle, const
      STuplePos* pPos, SFunctionStateStore* pStore, char** value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 4335
      start: 4332
    functionDepth: 0
    functionLinenumber: 4332
    functionLinenumberEnd: 4335
    functionName: getElapsedFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getElapsedFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4997,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5009,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5020,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5014,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4997,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5021,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5022,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5023,1
    - Dst: hllCountNum
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5027,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5038,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5040,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5038,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5040,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5044
      start: 4996
    functionDepth: 0
    functionLinenumber: 4996
    functionLinenumberEnd: 5044
    functionName: hllFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - IS_NULL_TYPE
    - varDataLen
    - GET_RES_INFO
    - colDataGetData
    - colDataIsNull_s
    - varDataVal
    - hllCountNum
    - IS_VAR_DATA_TYPE
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 6703
      start: 6700
    functionDepth: 0
    functionLinenumber: 6700
    functionLinenumberEnd: 6703
    functionName: getDerivativeFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getDerivativeFuncEnv(struct SFunctionNode* pFunc, SFuncExecEnv*
      pEnv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6937,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6945,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6954,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6938,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6947,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6967,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6967,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6970,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6977,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6979,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6986,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6994,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 37
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6996
      start: 6935
    functionDepth: 0
    functionLinenumber: 6935
    functionLinenumberEnd: 6996
    functionName: irateFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - initializeRateInfo
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - funcInputUpdate
    - GET_TYPED_DATA
    - doSaveRateInfo
    - GET_ROWCELL_INTERBUF
    - funcInputGetNextRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t irateFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6630,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6632,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6633,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6633,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6634,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6634,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6636,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    constantsTouched: []
    func_position:
      end: 6646
      start: 6623
    functionDepth: 0
    functionLinenumber: 6623
    functionLinenumberEnd: 6646
    functionName: tSerializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeBlockDbUsage(void* buf, int32_t bufLen, const SDBBlockUsageInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ignoreOption
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: ignoreNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool ignoreNull(int8_t ignoreOption) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 3
    argNames:
    - pDiffInfo
    - type
    - pv
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 3312
      start: 3260
    functionDepth: 0
    functionLinenumber: 3260
    functionLinenumberEnd: 3312
    functionName: diffIsNegtive
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool diffIsNegtive(SDiffInfo* pDiffInfo, int32_t type, const
      char* pv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3452,1
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3457,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3453,1
    - Dst: diffIsNegtive
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    constantsTouched: []
    func_position:
      end: 3461
      start: 3451
    functionDepth: 0
    functionLinenumber: 3451
    functionLinenumberEnd: 3461
    functionName: diffResultIsNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - ignoreNegative
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - diffIsNegtive
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t diffResultIsNull(SqlFunctionCtx* pCtx, SFuncInputRow* pRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - numOfItems
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 3639
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3639
    functionName: getTopBotInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTopBotInfoSize(int64_t numOfItems) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doLoadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4025,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pCtx
    - pPos
    - value
    argTypes:
    - SqlFunctionCtx*
    - STuplePos*
    - char**
    constantsTouched: []
    func_position:
      end: 4026
      start: 4024
    functionDepth: 0
    functionLinenumber: 4024
    functionLinenumberEnd: 4026
    functionName: loadTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - doLoadTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadTupleData(SqlFunctionCtx* pCtx, const STuplePos* pPos,
      char** value) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4549,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4556,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4560,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4562,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4572,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4600,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4607,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4635,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4672,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4651,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4660,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4698,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4679,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4561,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4563,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4566,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4578,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4606,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4626,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4636,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4648,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4666,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4673,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4653,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4678,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4659,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4553,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4564,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4576,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4566,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4601,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4616,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4617,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4628,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4629,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4674,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4665,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4552,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4566,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4577,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4576,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4577,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4567,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4593,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4594,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4597,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4627,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4657,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4699,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4686,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 173
    argCount: 4
    argNames:
    - pInfo
    - binDescStr
    - binType
    - normalized
    argTypes:
    - SHistoFuncInfo*
    - char*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 4702
      start: 4548
    functionDepth: 0
    functionLinenumber: 4548
    functionLinenumberEnd: 4702
    functionName: getHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TSWAP
    - taosMemoryFree
    - cJSON_Parse
    - cJSON_Delete
    - isinf
    - taosMemoryCalloc
    - cJSON_GetArraySize
    - cJSON_IsBool
    - qError
    - cJSON_IsArray
    - cJSON_IsNumber
    - cJSON_IsObject
    - cJSON_GetObjectItem
    - pow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getHistogramBinDesc(SHistoFuncInfo* pInfo, char* binDescStr,
      int8_t binType, bool normalized) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4906
      start: 4906
    functionDepth: 0
    functionLinenumber: 4906
    functionLinenumberEnd: 4906
    functionName: getHLLInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHLLInfoSize() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SHLLInfo*
    - SHLLInfo*
    constantsTouched: []
    func_position:
      end: 5053
      start: 5046
    functionDepth: 0
    functionLinenumber: 5046
    functionLinenumberEnd: 5053
    functionName: hllTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hllTransferInfo(SHLLInfo* pInput, SHLLInfo* pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3320,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3324,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3321,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - pDiffInfo
    - type
    - pOutput
    - v
    - pos
    argTypes:
    - SDiffInfo*
    - int32_t
    - SColumnInfoData*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3327
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3327
    functionName: tryToSetInt64
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - ignoreNegative
    - colDataSetInt64
    - colDataSetNull_f_s
    linkageType: ''
    returnType: void
    signature: 'static void tryToSetInt64(SDiffInfo* pDiffInfo, int32_t type, SColumnInfoData*
      pOutput, int64_t v, int32_t pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3464,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    constantsTouched: []
    func_position:
      end: 3467
      start: 3463
    functionDepth: 0
    functionLinenumber: 3463
    functionLinenumberEnd: 3467
    functionName: isFirstRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: bool
    signature: 'bool isFirstRow(SqlFunctionCtx* pCtx, SFuncInputRow* pRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 3645
      start: 3641
    functionDepth: 0
    functionLinenumber: 3641
    functionLinenumberEnd: 3645
    functionName: getTopBotFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool getTopBotFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4037,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4032,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4046,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4045,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4051,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4056,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4059,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4067
      start: 4028
    functionDepth: 0
    functionLinenumber: 4028
    functionLinenumberEnd: 4067
    functionName: topBotFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - qDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topBotFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4708,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4717,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4717,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4712,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4717,1
    - Dst: getHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4722,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4727,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4727,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4741,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4738,1
    - Dst: getHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4736,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 4744
      start: 4704
    functionDepth: 0
    functionLinenumber: 4704
    functionLinenumberEnd: 4744
    functionName: histogramFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrndup
    - varDataLen
    - varDataVal
    - functionSetup
    - getHistogramBinDesc
    - getHistogramBinType
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5059,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5068,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5068,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5060,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5060,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5073,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5074,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5075,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5076,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5080,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5080,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5082,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5082,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5086
      start: 5055
    functionDepth: 0
    functionLinenumber: 5055
    functionLinenumberEnd: 5086
    functionName: hllFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - hllTransferInfo
    - SET_VAL
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6607,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6611,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6608,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6611,1
    - Dst: tDeserializeBlockDbUsage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6611,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6612,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6621
      start: 6602
    functionDepth: 0
    functionLinenumber: 6602
    functionLinenumberEnd: 6621
    functionName: blockDBUsageFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataLen
    - GET_RES_INFO
    - varDataVal
    - qError
    - GET_ROWCELL_INTERBUF
    - tDeserializeBlockDbUsage
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDBUsageFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: groupConstValueFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 7176
      start: 7176
    functionDepth: 0
    functionLinenumber: 7176
    functionLinenumberEnd: 7176
    functionName: groupKeyFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - groupConstValueFunction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t groupKeyFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7244,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7259,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7245,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7268,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7270,1
    - Dst: doSaveLastrow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7272,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 7282
      start: 7241
    functionDepth: 0
    functionLinenumber: 7241
    functionLinenumberEnd: 7282
    functionName: cachedLastRowFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull
    - getRowPTs
    - GET_RES_INFO
    - colDataGetData
    - getKeyComparFunc
    - doSaveLastrow
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cachedLastRowFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:619,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:623,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:622,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:626,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:620,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 628
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 628
    functionName: combineFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t combineFunction(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1045,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1050,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1055,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1061,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1063,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - pCtx
    - rowIndex
    - pos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1070
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1070
    functionName: appendSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendSelectivityValue(SqlFunctionCtx* pCtx, int32_t rowIndex,
      int32_t pos) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4070,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4081,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4089,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4071,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4083,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4090,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4093,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4094,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4103,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4104,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 59
    argCount: 4
    argNames:
    - pCtx
    - pSourceItem
    - type
    - isTopQuery
    argTypes:
    - SqlFunctionCtx*
    - STopBotResItem*
    - int16_t
    - bool
    constantsTouched: []
    func_position:
      end: 4112
      start: 4069
    functionDepth: 0
    functionLinenumber: 4069
    functionLinenumberEnd: 4112
    functionName: addResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - replaceTupleData
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - taosheapadjust
    - taosheapsort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addResult(SqlFunctionCtx* pCtx, STopBotResItem* pSourceItem,
      int16_t type, bool isTopQuery) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:650,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:640,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:654,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:673,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:673,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:687,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:687,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:696,1
    - Dst: LIST_ADD_DECIMAL_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:699,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:689,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:699,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:639,1
    - Dst: SUM_RES_INC_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:651,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:656,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:679,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:679,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:683,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:685,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:685,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:694,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:694,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:720,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:720,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:675,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:652,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:655,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:663,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:671,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:677,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:677,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:681,1
    - Dst: LIST_ADD_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:692,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:692,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:701,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: fmIsCountLikeFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:715,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:642,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:639,1
    - Dst: SUM_RES_INC_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:653,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:659,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:660,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:663,1
    - Dst: decimal128AddCheckOverflow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:659,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:658,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:655,1
    - Dst: SUM_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:657,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:675,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:695,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:689,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    - Dst: LIST_ADD_DECIMAL_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:701,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:708,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 111
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 722
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 722
    functionName: sumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - IS_NULL_TYPE
    - SUM_RES_SET_TYPE
    - SUM_RES_GET_USUM
    - isinf
    - LIST_ADD_DECIMAL_N
    - LIST_ADD_N
    - SUM_RES_INC_DSUM
    - IS_FLOAT_TYPE
    - GET_ROWCELL_INTERBUF
    - SET_VAL
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - SUM_RES_INC_ISUM
    - SUM_RES_GET_DSUM
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - SUM_RES_GET_ISUM
    - SUM_RES_INC_USUM
    - GET_DOUBLE_VAL
    - IS_UNSIGNED_NUMERIC_TYPE
    - fmIsCountLikeFunc
    - decimal128AddCheckOverflow
    - isnan
    - SUM_RES_GET_DECIMAL_SUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sumFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDestPos
    - pSourcePos
    argTypes:
    - STuplePos*
    - STuplePos*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1072
    functionName: replaceTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void replaceTupleData(STuplePos* pDestPos, STuplePos* pSourcePos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4115,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4116,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4126
      start: 4114
    functionDepth: 0
    functionLinenumber: 4114
    functionLinenumberEnd: 4126
    functionName: topCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - GET_RES_INFO
    - addResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 4911
      start: 4908
    functionDepth: 0
    functionLinenumber: 4908
    functionLinenumberEnd: 4911
    functionName: getHLLFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getHLLFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7181,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7188,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7186,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7203
      start: 7178
    functionDepth: 0
    functionLinenumber: 7178
    functionLinenumberEnd: 7203
    functionName: groupConstValueFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t groupConstValueFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setInputRowInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: funcInputGetNextRowNoPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - setInputRowInfo
    linkageType: ''
    returnType: bool
    signature: 'bool funcInputGetNextRowNoPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:484,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:488,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:492,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:491,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: functionFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t functionFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minMaxCombine
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1157
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1157
    functionName: minCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - minMaxCombine
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1987,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1993,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2001,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2031,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1974,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1991,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1991,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2001,1
    - Dst: getPercentile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2025,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2018,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2034,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1973,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1999,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2012,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2023,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2023,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2039,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1999,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2013,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2030,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2006,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2041
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 2041
    functionName: percentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getPercentile
    - taosArrayGet
    - colDataSetVal
    - typeGetTypeModFromCol
    - GET_RES_INFO
    - varDataVal
    - tMemBucketDestroy
    - GET_TYPED_DATA
    - varDataSetLen
    - GET_ROWCELL_INTERBUF
    - tsnprintf
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t percentileFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2180,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2196,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2191,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2181,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2193,1
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2196,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2197,1
    - Dst: tdigestMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2199,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2205,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2214,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2234,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2231,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2237,1
    - Dst: tHistogramDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2239,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2221,1
    - Dst: tHistogramMerge
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2229,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2218,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2225,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - pInput
    - pOutput
    - hasRes
    argTypes:
    - SAPercentileInfo*
    - SAPercentileInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 2243
      start: 2176
    functionDepth: 0
    functionLinenumber: 2176
    functionLinenumberEnd: 2243
    functionName: apercentileTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - buildTDigestInfo
    - buildHistogramInfo
    - tHistogramMerge
    - tdigestAutoFill
    - tdigestMerge
    - tHistogramDestroy
    - qDebug
    - TDIGEST_SIZE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t apercentileTransferInfo(SAPercentileInfo* pInput, SAPercentileInfo*
      pOutput, bool* hasRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2481,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTsColInfo
    - rowIndex
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2482
      start: 2476
    functionDepth: 0
    functionLinenumber: 2476
    functionLinenumberEnd: 2482
    functionName: getRowPTs
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataGetData
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE TSKEY getRowPTs(SColumnInfoData* pTsColInfo, int32_t
      rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4142
      start: 4142
    functionDepth: 0
    functionLinenumber: 4142
    functionLinenumberEnd: 4142
    functionName: getSpreadInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getSpreadInfoSize() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5767,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5768,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5780,1
    - Dst: doTailAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5784,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5783,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5784,1
    - Dst: taosqsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5787,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5793,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5795,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5802
      start: 5765
    functionDepth: 0
    functionLinenumber: 5765
    functionLinenumberEnd: 5802
    functionName: tailFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - colDataGetData
    - colDataIsNull_s
    - doTailAdd
    - taosqsort
    - GET_ROWCELL_INTERBUF
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tailFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: funcInputGetNextRowAscPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:411,1
    - Dst: funcInputGetNextRowDescPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:414,1
    - Dst: funcInputGetNextRowNoPk
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - res
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - bool*
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: funcInputGetNextRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - funcInputGetNextRowNoPk
    - funcInputGetNextRowAscPk
    - funcInputGetNextRowDescPk
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funcInputGetNextRow(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      bool* res) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:498,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:503,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:499,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:502,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:505,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:507,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 510
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 510
    functionName: firstCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1076,1
    - Dst: COMPARE_MINMAX_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1086,1
    - Dst: COMPARE_MINMAX_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1102,1
    - Dst: COMPARE_MINMAX_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1111,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1137,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1143,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1145,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1077,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1080,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1088,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1135,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1127,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1150,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1096,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1128,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1130,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1121,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1136,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1138,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1144,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1144,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1079,1
    - Dst: COMPARE_MINMAX_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1094,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1104,1
    - Dst: COMPARE_MINMAX_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1119,1
    - Dst: replaceTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1113,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 84
    argCount: 3
    argNames:
    - pDestCtx
    - pSourceCtx
    - isMinFunc
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1153
    functionName: minMaxCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - replaceTupleData
    - varDataLen
    - GET_RES_INFO
    - strcmp
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - COMPARE_MINMAX_DATA
    - TMAX
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minMaxCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx,
      int32_t isMinFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: minMaxCombine
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1160
    functionName: maxCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - minMaxCombine
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t maxCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2046,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 2049
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2049
    functionName: getApercentileFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - TDIGEST_SIZE
    linkageType: ''
    returnType: bool
    signature: 'bool getApercentileFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2246,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2264,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2257,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2262,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2255,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2265,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2272,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2273,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2279
      start: 2245
    functionDepth: 0
    functionLinenumber: 2245
    functionLinenumberEnd: 2279
    functionName: apercentileFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - buildHistogramInfo
    - GET_RES_INFO
    - varDataVal
    - colDataGetData
    - qDebug
    - apercentileTransferInfo
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2488,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 2496
      start: 2484
    functionDepth: 0
    functionLinenumber: 2484
    functionLinenumberEnd: 2496
    functionName: firstLastFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstLastFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5806,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5807,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5813,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 5826
      start: 5804
    functionDepth: 0
    functionLinenumber: 5804
    functionLinenumberEnd: 5826
    functionName: tailFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tailFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5994,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5998,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6004,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5996,1
    - Dst: saveModeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6010,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6016,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6022,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6029,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - pInfo
    - rowIndex
    - pCtx
    - data
    argTypes:
    - SModeInfo*
    - int32_t
    - SqlFunctionCtx*
    - char*
    constantsTouched: []
    func_position:
      end: 6037
      start: 5991
    functionDepth: 0
    functionLinenumber: 5991
    functionLinenumberEnd: 6037
    functionName: doModeAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - saveModeTupleData
    - taosHashGet
    - taosHashPut
    - updateTupleData
    - getJsonValueLen
    - saveTupleData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doModeAdd(SModeInfo* pInfo, int32_t rowIndex, SqlFunctionCtx*
      pCtx, char* data) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6172,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6253,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6265,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6257,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6273,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6281,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6298,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6306,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6185,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6198,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6198,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6220,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6220,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6245,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6171,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6175,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6200,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6261,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6269,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6232,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6249,1
    - Dst: INIT_INTP_POINT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6277,1
    - Dst: twa_get_area
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6292,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6180,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6207,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6308
      start: 6166
    functionDepth: 0
    functionLinenumber: 6166
    functionLinenumberEnd: 6308
    functionName: twaFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - IS_NULL_TYPE
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - INIT_INTP_POINT
    - funcInputUpdate
    - GET_TYPED_DATA
    - twa_get_area
    - GET_ROWCELL_INTERBUF
    - funcInputGetNextRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t twaFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6361,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6365,1
    - Dst: tDeserializeBlockDistInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6365,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6362,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6365,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6366,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6389,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6395
      start: 6356
    functionDepth: 0
    functionLinenumber: 6356
    functionLinenumberEnd: 6395
    functionName: blockDistFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataLen
    - GET_RES_INFO
    - varDataVal
    - qError
    - tDeserializeBlockDistInfo
    - GET_ROWCELL_INTERBUF
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDistFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:249,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:331,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:258,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:270,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:290,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:292,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:271,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:320,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:321,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:330,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:248,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:261,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:262,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:264,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:309,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:310,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:311,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:273,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:326,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:334,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:254,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:256,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:291,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:323,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:326,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:328,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:334,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:336,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 106
    argCount: 3
    argNames:
    - pIter
    - pRow
    - res
    argTypes:
    - SFuncInputRowIter*
    - SFuncInputRow*
    - bool*
    constantsTouched: []
    func_position:
      end: 341
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 341
    functionName: funcInputGetNextRowDescPk
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - taosMemoryMalloc
    - taosMemoryFree
    - blockDataExtractBlock
    - colDataGetData
    - qError
    - blockDataDestroy
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t funcInputGetNextRowDescPk(SFuncInputRowIter* pIter, SFuncInputRow*
      pRow, bool* res) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:437,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:442,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:451,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:452,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:447,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:454,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 4
    argNames:
    - pCtx
    - pSrcBlock
    - rowIndex
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 461
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 461
    functionName: appendSelectivityCols
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t appendSelectivityCols(SqlFunctionCtx* pCtx, SSDataBlock* pSrcBlock,
      int32_t rowIndex, int32_t pos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:514,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:518,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - finalResult
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 525
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 525
    functionName: functionFinalizeWithResultBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - GET_RES_INFO
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t functionFinalizeWithResultBuf(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock, char* finalResult) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SAPercentileInfo*
    constantsTouched: []
    func_position:
      end: 2074
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2074
    functionName: buildHistogramInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void buildHistogramInfo(SAPercentileInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4129,1
    - Dst: addResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4134,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4130,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4140
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4140
    functionName: bottomCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - GET_RES_INFO
    - addResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bottomCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4808,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4808,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4814,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4815,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4813,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4818,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4818,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4820
      start: 4801
    functionDepth: 0
    functionLinenumber: 4801
    functionLinenumberEnd: 4820
    functionName: histogramFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - histogramTransferInfo
    - GET_RES_INFO
    - varDataVal
    - colDataGetData
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4868,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4871,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4869,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4869,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4870,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4876,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4876,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4877,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4881,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4889,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4891
      start: 4867
    functionDepth: 0
    functionLinenumber: 4867
    functionLinenumberEnd: 4891
    functionName: histogramPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - getHistogramInfoSize
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5563,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5568
      start: 5562
    functionDepth: 0
    functionLinenumber: 5562
    functionLinenumberEnd: 5568
    functionName: getSampleFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool getSampleFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pIter
    - rowIndex
    argTypes:
    - SFuncInputRowIter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: forwardToNextDiffTsRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void forwardToNextDiffTsRow(SFuncInputRowIter* pIter, int32_t
      rowIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:528,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: countDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodeType
    - nodesListGetNode
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired countDataRequired(SFunctionNode* pFunc, STimeWindow*
      pTimeWindow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SAPercentileInfo*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2078
    functionName: buildTDigestInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void buildTDigestInfo(SAPercentileInfo* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4823,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4826,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4824,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4824,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4848,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4852,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4852,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4856,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4857,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4865
      start: 4822
    functionDepth: 0
    functionLinenumber: 4822
    functionLinenumberEnd: 4865
    functionName: histogramFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - GET_ROWCELL_INTERBUF
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4894,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4895,1
    - Dst: histogramTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4900,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4897,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4898,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4901,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4904
      start: 4893
    functionDepth: 0
    functionLinenumber: 4893
    functionLinenumberEnd: 4904
    functionName: histogramCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - histogramTransferInfo
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4955,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 4961
      start: 4949
    functionDepth: 0
    functionLinenumber: 4949
    functionLinenumberEnd: 4961
    functionName: hllTau
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - sqrt
    - pow
    linkageType: ''
    returnType: double
    signature: 'static double hllTau(double x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5574,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5578,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5578,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 5592
      start: 5570
    functionDepth: 0
    functionLinenumber: 5570
    functionLinenumberEnd: 5592
    functionName: sampleFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - taosSafeRand
    - taosSeedRand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sampleFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6404,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6409,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6412,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6416,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6422,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6433,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6408,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6411,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6415,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6419,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6414,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6409,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6418,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6421,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6405,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6413,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6417,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6419,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    constantsTouched: []
    func_position:
      end: 6435
      start: 6397
    functionDepth: 0
    functionLinenumber: 6397
    functionLinenumberEnd: 6435
    functionName: tSerializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tEncodeU16
    - tEncoderInit
    - tEncodeI32
    - tEncoderClear
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeU32
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeBlockDistInfo(void* buf, int32_t bufLen, const STableBlockDistInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6654,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6653,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6655,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6656,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6656,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - SDBBlockUsageInfo*
    constantsTouched: []
    func_position:
      end: 6661
      start: 6647
    functionDepth: 0
    functionLinenumber: 6647
    functionLinenumberEnd: 6661
    functionName: tDeserializeBlockDbUsage
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tDecodeU64
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeBlockDbUsage(void* buf, int32_t bufLen, SDBBlockUsageInfo*
      pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5978,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5982,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5980,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5982,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5980,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5985,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5988,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pCtx
    - data
    - pInfo
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - char*
    - SModeInfo*
    - STuplePos*
    constantsTouched: []
    func_position:
      end: 5989
      start: 5977
    functionDepth: 0
    functionLinenumber: 5977
    functionLinenumberEnd: 5989
    functionName: saveModeTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - doSaveTupleData
    - memcpy
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveModeTupleData(SqlFunctionCtx* pCtx, char* data,
      SModeInfo* pInfo, STuplePos* pPos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2375,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2384,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2389,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2378,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2381,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2390,1
    - Dst: fn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 4
    argNames:
    - pkType
    - pkData
    - pVal
    - order
    argTypes:
    - int8_t
    - char*
    - SValue*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2392
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2392
    functionName: comparePkDataWithSValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - fn
    - getKeyComparFunc
    - VALUE_GET_TRIVIAL_DATUM
    - IS_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t comparePkDataWithSValue(int8_t pkType, char* pkData,
      SValue* pVal, int32_t order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPILE_TIME_ASSERT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 867
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 867
    functionName: getMinmaxFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - COMPILE_TIME_ASSERT
    linkageType: ''
    returnType: bool
    signature: 'bool getMinmaxFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1369,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1373,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SStdRes*
    - SStdRes*
    constantsTouched: []
    func_position:
      end: 1385
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1385
    functionName: stdTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_NULL_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void stdTransferInfo(SStdRes* pInput, SStdRes* pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1512,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1512,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1517,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1518,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1521,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1523,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1524,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1526,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1529,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1533,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1533,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1534,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1537,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1538
    functionName: stdvarFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - isinf
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - fabs
    - isnan
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdvarFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2513
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2513
    functionName: prepareBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t prepareBuf(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - data
    - bytes
    - buk
    argTypes:
    - void*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4926
      start: 4913
    functionDepth: 0
    functionLinenumber: 4913
    functionLinenumberEnd: 4926
    functionName: hllCountNum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - MurmurHash3_64
    linkageType: ''
    returnType: uint8_t
    signature: 'static uint8_t hllCountNum(void* data, int32_t bytes, int32_t* buk) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5228,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5254,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5239,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5229,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5239,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5255,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5258,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5266,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5274,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5281,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5290
      start: 5226
    functionDepth: 0
    functionLinenumber: 5226
    functionLinenumberEnd: 5290
    functionName: stateCountFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - colDataSetNULL
    - appendSelectivityValue
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - getStateOpType
    - checkStateOp
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateCountFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5371
      start: 5368
    functionDepth: 0
    functionLinenumber: 5368
    functionLinenumberEnd: 5371
    functionName: getCsumFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getCsumFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:871,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:875,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 877
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 877
    functionName: minFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - doMinMaxHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1391,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1400,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1392,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1400,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1392,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1403,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1404,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1405,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1406,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1409,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1409,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1411
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    functionName: stdFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - stdTransferInfo
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1541,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1542,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1543,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1544,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1542,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1549,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1549,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1550,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1553,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1555,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1559,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1561,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1563
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1563
    functionName: stdPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    - getStdInfoSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2524,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - pSrcBlock
    - rowIndex
    - pCtx
    - pInfo
    - noElements
    argTypes:
    - SSDataBlock*
    - int32_t
    - SqlFunctionCtx*
    - SFirstLastRes*
    - bool
    constantsTouched: []
    func_position:
      end: 2530
      start: 2515
    functionDepth: 0
    functionLinenumber: 2515
    functionLinenumberEnd: 2530
    functionName: firstlastSaveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - updateTupleData
    - saveTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t firstlastSaveTupleData(const SSDataBlock* pSrcBlock,
      int32_t rowIndex, SqlFunctionCtx* pCtx, SFirstLastRes* pInfo, bool noElements) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - buckets
    - bucketHisto
    argTypes:
    - uint8_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4948
      start: 4928
    functionDepth: 0
    functionLinenumber: 4928
    functionLinenumberEnd: 4948
    functionName: hllBucketHisto
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void hllBucketHisto(uint8_t* buckets, int32_t* bucketHisto) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5294,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5311,1
    - Dst: getStateOpType
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5311,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5295,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5326,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5327,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5330,1
    - Dst: checkStateOp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5338,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5350,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5357,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5366
      start: 5292
    functionDepth: 0
    functionLinenumber: 5292
    functionLinenumberEnd: 5366
    functionName: stateDurationFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - colDataSetNULL
    - appendSelectivityValue
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - getStateOpType
    - checkStateOp
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stateDurationFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5376,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5402,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5404,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5404,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5423,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5406,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5423,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5375,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5410,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5412,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5412,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5420,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5424,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5418,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5420,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5435,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5396,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5401,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5426,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5414,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5446
      start: 5373
    functionDepth: 0
    functionLinenumber: 5373
    functionLinenumberEnd: 5446
    functionName: csumFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - IS_UNSIGNED_NUMERIC_TYPE
    - isinf
    - colDataSetVal
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - colDataSetNULL
    - GET_TYPED_DATA
    - appendSelectivityValue
    - isnan
    - IS_FLOAT_TYPE
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t csumFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5553,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5560
      start: 5552
    functionDepth: 0
    functionLinenumber: 5552
    functionLinenumberEnd: 5560
    functionName: getSampleOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: SSampleInfo*
    signature: 'static SSampleInfo * getSampleOutputInfo(SqlFunctionCtx* pCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2353,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2356,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2357,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2359,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2354,1
    - Dst: apercentileTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2361,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2368
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2368
    functionName: apercentileCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - qDebug
    - TMAX
    - apercentileTransferInfo
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7040,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7041,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    constantsTouched: []
    func_position:
      end: 7042
      start: 7039
    functionDepth: 0
    functionLinenumber: 7039
    functionLinenumberEnd: 7042
    functionName: irateCopyInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - doSaveRateInfo
    linkageType: ''
    returnType: void
    signature: 'static void irateCopyInfo(SRateInfo* pInput, SRateInfo* pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    constantsTouched: []
    func_position:
      end: 4975
      start: 4963
    functionDepth: 0
    functionLinenumber: 4963
    functionLinenumberEnd: 4975
    functionName: hllSigma
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double hllSigma(double x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:579,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:594,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:584,1
    - Dst: getNumOfElems
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:591,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:586,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:599,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 603
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 603
    functionName: countFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getNumOfElems
    - SET_VAL
    - IS_NULL_TYPE
    - taosSetInt64Aligned
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t countFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 2468
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2468
    functionName: getSelectivityFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool getSelectivityFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4341,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 4357
      start: 4337
    functionDepth: 0
    functionLinenumber: 4337
    functionLinenumberEnd: 4357
    functionName: elapsedFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5089,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5097,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5091,1
    - Dst: hllCountCnt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5092,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5091,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 5098
      start: 5088
    functionDepth: 0
    functionLinenumber: 5088
    functionLinenumberEnd: 5098
    functionName: hllFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - hllCountCnt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assignVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pInfo
    - data
    - index
    argTypes:
    - SSampleInfo*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5596
      start: 5594
    functionDepth: 0
    functionLinenumber: 5594
    functionLinenumberEnd: 5596
    functionName: sampleAssignResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - assignVal
    linkageType: ''
    returnType: void
    signature: 'static void sampleAssignResult(SSampleInfo* pInfo, char* data, int32_t
      index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1482,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1487,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1491,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1482,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1488,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1493,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1493,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1494,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1496,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1496,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1503,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1507,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1499,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1504,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1503,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1499,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1508
    functionName: stddevFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - isinf
    - sqrt
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - fabs
    - isnan
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stddevFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 2474
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2474
    functionName: getGroupKeyFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool getGroupKeyFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4366,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4383,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4380,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4366,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4379,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4385,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4405,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4437,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4437,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4440
      start: 4359
    functionDepth: 0
    functionLinenumber: 4359
    functionLinenumberEnd: 4440
    functionName: elapsedFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - colDataGetData
    - GET_INT64_VAL
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5101,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5102,1
    - Dst: getHLLInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5103,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5102,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5109,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5109,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5110,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5120,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 5125
      start: 5100
    functionDepth: 0
    functionLinenumber: 5100
    functionLinenumberEnd: 5125
    functionName: hllPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - getHLLInfoSize
    - GET_RES_INFO
    - colDataSetVal
    - varDataVal
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sampleAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5601,1
    - Dst: sampleAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5612,1
    - Dst: taosRand
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5610,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5603,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pCtx
    - pInfo
    - data
    - index
    argTypes:
    - SqlFunctionCtx*
    - SSampleInfo*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5623
      start: 5598
    functionDepth: 0
    functionLinenumber: 5598
    functionLinenumberEnd: 5623
    functionName: doReservoirSample
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosRand
    - updateTupleData
    - sampleAssignResult
    - saveTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doReservoirSample(SqlFunctionCtx* pCtx, SSampleInfo*
      pInfo, char* data, int32_t index) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:733,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:738,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:743,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:751,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:763,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:733,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:755,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:769,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:765,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:779,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:742,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:753,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:757,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:767,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:779,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:761,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:772,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:740,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:774,1
    - Dst: LIST_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:759,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 57
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 781
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 781
    functionName: sumInvertFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - IS_FLOAT_TYPE
    - GET_ROWCELL_INTERBUF
    - GET_DOUBLE_VAL
    - LIST_SUB_N
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sumInvertFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: irateCopyInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7052,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7058,1
    - Dst: irateTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7062,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SRateInfo*
    - SRateInfo*
    constantsTouched: []
    func_position:
      end: 7067
      start: 7044
    functionDepth: 0
    functionLinenumber: 7044
    functionLinenumberEnd: 7067
    functionName: irateTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - irateTransferInfoImpl
    - irateCopyInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t irateTransferInfo(SRateInfo* pInput, SRateInfo* pOutput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:977,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pCtx
    - pBlock
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 985
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 985
    functionName: setNullSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setNullSelectivityValue(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock, int32_t rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - resBytes
    - pkBytes
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2454
      start: 2454
    functionDepth: 0
    functionLinenumber: 2454
    functionLinenumberEnd: 2454
    functionName: getFirstLastInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getFirstLastInfoSize(int32_t resBytes, int32_t pkBytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2924,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2925,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - pCtx
    - pInput
    - pOutput
    - isFirst
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SFirstLastRes*
    - SFirstLastRes*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 2932
      start: 2922
    functionDepth: 0
    functionLinenumber: 2922
    functionLinenumberEnd: 2932
    functionName: firstLastTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - firstLastTransferInfoImpl
    - firstlastSaveTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t firstLastTransferInfo(SqlFunctionCtx* pCtx, SFirstLastRes*
      pInput, SFirstLastRes* pOutput, bool isFirst, int32_t rowIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3680,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3696,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3690,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3695,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3685,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3703,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3710
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3710
    functionName: topFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - colDataIsNull_f
    - GET_RES_INFO
    - colDataGetData
    - saveTupleData
    - doAddIntoResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4181,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4185,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4196,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4213,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4227,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4172,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4182,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4186,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4212,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4195,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4192,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4212,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4218,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4227,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4180,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4180,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4172,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4184,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4209,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4187,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4191,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4214,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4183,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4205,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4188,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4217,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4233
      start: 4164
    functionDepth: 0
    functionLinenumber: 4164
    functionLinenumberEnd: 4233
    functionName: spreadFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull_f
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - GET_INT64_VAL
    - SET_DOUBLE_VAL
    - IS_TIMESTAMP_TYPE
    - GET_TYPED_DATA
    - IS_FLOAT_TYPE
    - GET_ROWCELL_INTERBUF
    - GET_DOUBLE_VAL
    - GET_UINT64_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: loadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:996,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1011,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:998,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:998,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1016,1
    - Dst: colDataSetValOrCover
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1018,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 32
    argCount: 4
    argNames:
    - pCtx
    - pBlock
    - pTuplePos
    - rowIndex
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    - STuplePos*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1028
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1028
    functionName: setSelectivityValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetValOrCover
    - terrstr
    - qError
    - loadTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setSelectivityValue(SqlFunctionCtx* pCtx, SSDataBlock* pBlock,
      const STuplePos* pTuplePos, int32_t rowIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2457,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 2462
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2462
    functionName: getFirstLastFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    - getFirstLastInfoSize
    linkageType: ''
    returnType: bool
    signature: 'bool getFirstLastFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2938,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2947,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2947,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2939,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2939,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2953,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2956,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2957,1
    - Dst: firstLastTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2964,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2974,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2981,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2981,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - pCtx
    - isFirstQuery
    argTypes:
    - SqlFunctionCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 2983
      start: 2934
    functionDepth: 0
    functionLinenumber: 2934
    functionLinenumberEnd: 2983
    functionName: firstLastFunctionMergeImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - firstLastTransferInfo
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - firstlastSaveTupleData
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t firstLastFunctionMergeImpl(SqlFunctionCtx* pCtx, bool
      isFirstQuery) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3714,1
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3719,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3729,1
    - Dst: doAddIntoResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3730,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3724,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3737,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3745
      start: 3712
    functionDepth: 0
    functionLinenumber: 3712
    functionLinenumberEnd: 3745
    functionName: bottomFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - colDataIsNull_f
    - GET_RES_INFO
    - colDataGetData
    - saveTupleData
    - doAddIntoResult
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bottomFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SSpreadInfo*
    - SSpreadInfo*
    constantsTouched: []
    func_position:
      end: 4244
      start: 4235
    functionDepth: 0
    functionLinenumber: 4235
    functionLinenumberEnd: 4244
    functionName: spreadTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void spreadTransferInfo(SSpreadInfo* pInput, SSpreadInfo* pOutput) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1763,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1774,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1764,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1766,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1787,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1801,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1803,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1805,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1807,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1810,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1813,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1811,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1810,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1816
    functionName: leastSQRFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - GET_ROWCELL_INTERBUF
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastSQRFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2084,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2092,1
    - Dst: getApercentileAlgo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2097,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2092,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2088,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2097,1
    - Dst: tdigestNewFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2105,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2107,1
    - Dst: tHistogramCreateFrom
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2108,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2109,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2114
    functionName: apercentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tHistogramCreateFrom
    - buildHistogramInfo
    - typeGetTypeModFromCol
    - functionSetup
    - varDataVal
    - GET_TYPED_DATA
    - qDebug
    - GET_ROWCELL_INTERBUF
    - getApercentileAlgo
    - tdigestNewFrom
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: firstLastFunctionMergeImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2985
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 2985
    functionName: firstFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - firstLastFunctionMergeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 4531
      start: 4528
    functionDepth: 0
    functionLinenumber: 4528
    functionLinenumberEnd: 4531
    functionName: getHistogramFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getHistogramFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5626,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5633,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5627,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5637,1
    - Dst: doReservoirSample
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5638,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5645,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5652,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5654
      start: 5625
    functionDepth: 0
    functionLinenumber: 5625
    functionLinenumberEnd: 5654
    functionName: sampleFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - doReservoirSample
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - getSampleOutputInfo
    - saveTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sampleFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5691,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5697
      start: 5689
    functionDepth: 0
    functionLinenumber: 5689
    functionLinenumberEnd: 5697
    functionName: getTailFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'bool getTailFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6447,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6452,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6454,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6458,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6465,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6441,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6443,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6448,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6451,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6455,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6457,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6444,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6452,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6454,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6456,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6458,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6446,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6453,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6455,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6457,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pInfo
    argTypes:
    - void*
    - int32_t
    - STableBlockDistInfo*
    constantsTouched: []
    func_position:
      end: 6467
      start: 6437
    functionDepth: 0
    functionLinenumber: 6437
    functionLinenumberEnd: 6467
    functionName: tDeserializeBlockDistInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - tStartDecode
    - tDecodeU16
    - tListLen
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeBlockDistInfo(void* buf, int32_t bufLen, STableBlockDistInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1819,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1835,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1825,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1820,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1824,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1838
    functionName: leastSQRCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastSQRCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2118,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2124,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2129,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2128,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2131,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2135,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2139,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2139,1
    - Dst: tdigestAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2140,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2148,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2153,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2157,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2160,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2172,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2167,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2160,1
    - Dst: tHistogramAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2161,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2174
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2174
    functionName: apercentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - buildTDigestInfo
    - colDataIsNull_f
    - tdigestAdd
    - buildHistogramInfo
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - tdigestAutoFill
    - GET_TYPED_DATA
    - tHistogramAdd
    - qDebug
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: firstLastFunctionMergeImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2987
      start: 2987
    functionDepth: 0
    functionLinenumber: 2987
    functionLinenumberEnd: 2987
    functionName: lastFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - firstLastFunctionMergeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lastFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4535,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4537,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4539,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 4546
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4546
    functionName: getHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getHistogramBinType(char* binTypeStr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5658,1
    - Dst: getSampleOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5660,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5664,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5671,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5676,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5680,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 5687
      start: 5656
    functionDepth: 0
    functionLinenumber: 5656
    functionLinenumberEnd: 5687
    functionName: sampleFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - getSampleOutputInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sampleFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5701,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5705,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 5731
      start: 5699
    functionDepth: 0
    functionLinenumber: 5699
    functionLinenumberEnd: 5731
    functionName: tailFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tailFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6470,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6499,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6518,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6536,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6538,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6562,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6572,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6572,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6578,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6494,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6494,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6471,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6521,1
    - Dst: tListLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6546,1
    - Dst: ceil
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6560,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6564,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6564,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6498,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6509,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6520,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6531,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6526,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6513,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6583,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6473,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6509,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6512,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6518,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6530,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6526,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6536,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6539,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6578,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6582,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 119
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 6590
      start: 6469
    functionDepth: 0
    functionLinenumber: 6469
    functionLinenumberEnd: 6590
    functionName: blockDistFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - ceil
    - GET_ROWCELL_INTERBUF
    - tsnprintf
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDistFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: funcNotSupportStringSma
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pTimeWindow
    argTypes:
    - SFunctionNode*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: statisDataRequired
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - funcNotSupportStringSma
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired statisDataRequired(SFunctionNode* pFunc, STimeWindow*
      pTimeWindow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1173,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1178,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 1180
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1180
    functionName: stdFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3528
      start: 3528
    functionDepth: 0
    functionLinenumber: 3528
    functionLinenumberEnd: 3528
    functionName: diffFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t diffFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3651,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3655,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 3663
      start: 3647
    functionDepth: 0
    functionLinenumber: 3647
    functionLinenumberEnd: 3663
    functionName: topBotFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topBotFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5128,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5129,1
    - Dst: hllTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5134,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5131,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5132,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5138
      start: 5127
    functionDepth: 0
    functionLinenumber: 5127
    functionLinenumberEnd: 5138
    functionName: hllCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - hllTransferInfo
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hllCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5930
      start: 5927
    functionDepth: 0
    functionLinenumber: 5927
    functionLinenumberEnd: 5930
    functionName: getModeFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getModeFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5965,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5967,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SModeInfo*
    constantsTouched: []
    func_position:
      end: 5968
      start: 5964
    functionDepth: 0
    functionLinenumber: 5964
    functionLinenumberEnd: 5968
    functionName: modeFunctionCleanup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void modeFunctionCleanup(SModeInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7126,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7135,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7131,1
    - Dst: doCalcRate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7135,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7134,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7139
      start: 7124
    functionDepth: 0
    functionLinenumber: 7124
    functionLinenumberEnd: 7139
    functionName: irateFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - doCalcRate
    - colDataSetVal
    - TSDB_TICK_PER_SECOND
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t irateFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:849,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:853,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 861
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 861
    functionName: minmaxFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t minmaxFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1189,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1207,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1198,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1223,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1189,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1238,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1254,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1269,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1285,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1300,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1331,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1346,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1364,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1316,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1364,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 130
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1366
    functionName: stdFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull_f
    - IS_NULL_TYPE
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2573,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2609,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2632,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2655,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2669,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2631,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2634,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2654,1
    - Dst: funcInputGetNextRowIndex
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2668,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2581,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2574,1
    - Dst: getRowPTs
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2608,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2674,1
    - Dst: pkCompareFn
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2681,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2682,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2693,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2699,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2591,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2598,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2625,1
    - Dst: doSaveCurrentVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2658,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2677,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2648,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 93
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 2701
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2701
    functionName: firstFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull
    - getRowPTs
    - doSaveCurrentVal
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataGetData
    - pkCompareFn
    - getKeyComparFunc
    - firstlastSaveTupleData
    - funcInputGetNextRowIndex
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3550,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3551,1
    - Dst: ignoreNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3553,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3582,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3600,1
    - Dst: trySetPreVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3612,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3622,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3633,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3577,1
    - Dst: diffResultIsNull
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3591,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3627,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3538,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3552,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3545,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3559,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3567,1
    - Dst: setDoDiffResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3606,1
    - Dst: isFirstRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3558,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3599,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 91
    argCount: 1
    argNames:
    - pCtxArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 3637
      start: 3530
    functionDepth: 0
    functionLinenumber: 3530
    functionLinenumberEnd: 3637
    functionName: diffFunctionByRow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - trySetPreVal
    - taosArrayGet
    - taosArrayDestroy
    - setDoDiffResult
    - isFirstRow
    - GET_RES_INFO
    - diffResultIsNull
    - funcInputUpdate
    - ignoreNull
    - GET_ROWCELL_INTERBUF
    - funcInputGetNextRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t diffFunctionByRow(SArray* pCtxArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3666,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3671
      start: 3665
    functionDepth: 0
    functionLinenumber: 3665
    functionLinenumberEnd: 3671
    functionName: getTopBotOutputInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: STopBotRes*
    signature: 'static STopBotRes * getTopBotOutputInfo(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: histogramFunctionImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4788
      start: 4788
    functionDepth: 0
    functionLinenumber: 4788
    functionLinenumberEnd: 4788
    functionName: histogramFunctionPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - histogramFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramFunctionPartial(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5143
      start: 5140
    functionDepth: 0
    functionLinenumber: 5140
    functionLinenumberEnd: 5143
    functionName: getStateFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getStateFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5936,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5940,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5946,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5944,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5946,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5954,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5956,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 5962
      start: 5932
    functionDepth: 0
    functionLinenumber: 5932
    functionLinenumberEnd: 5962
    functionName: modeFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - taosMemoryMalloc
    - taosHashClear
    - functionSetup
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t modeFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2534,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2539,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2541,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2537,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2535,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2545,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2547,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2549,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2551,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2554,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2559,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - pCtx
    - rowIndex
    - currentTs
    - pkData
    - type
    - pData
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int64_t
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 2566
      start: 2532
    functionDepth: 0
    functionLinenumber: 2532
    functionLinenumberEnd: 2566
    functionName: doSaveCurrentVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - GET_RES_INFO
    - memcpy
    - getJsonValueLen
    - firstlastSaveTupleData
    - IS_VAR_DATA_TYPE
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSaveCurrentVal(SqlFunctionCtx* pCtx, int32_t rowIndex,
      int64_t currentTs, char* pkData, int32_t type, char* pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5971,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5974,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5971,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5971,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5974,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5975
      start: 5970
    functionDepth: 0
    functionLinenumber: 5970
    functionLinenumberEnd: 5975
    functionName: modeFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - modeFunctionCleanup
    linkageType: ''
    returnType: void
    signature: 'void modeFunctionCleanupExt(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1421,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1435,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1431,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1439,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1421,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1443,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1447,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1451,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1455,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1459,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1475,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1467,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1475,1
    - Dst: LIST_STDDEV_SUB_N
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1463,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1477
    functionName: stdInvertFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - LIST_STDDEV_SUB_N
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdInvertFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1589,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1593,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1596,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1597,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1595,1
    - Dst: typeGetTypeModFromCol
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1600
    functionName: leastSQRFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - typeGetTypeModFromCol
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - GET_TYPED_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastSQRFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1843
    functionName: getPercentileFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getPercentileFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3470,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3482,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pRow
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    constantsTouched: []
    func_position:
      end: 3483
      start: 3469
    functionDepth: 0
    functionLinenumber: 3469
    functionLinenumberEnd: 3483
    functionName: trySetPreVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - doSetPrevVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t trySetPreVal(SqlFunctionCtx* pCtx, SFuncInputRow* pRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4289,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4292,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4291,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4290,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4290,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4297,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4297,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4298,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4302,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4314,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4316
      start: 4288
    functionDepth: 0
    functionLinenumber: 4288
    functionLinenumberEnd: 4316
    functionName: spreadPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - getSpreadInfoSize
    - varDataVal
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 5451
      start: 5448
    functionDepth: 0
    functionLinenumber: 5448
    functionLinenumberEnd: 5451
    functionName: getMavgFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getMavgFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7142,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7161,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7143,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7162,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7155,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7163,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7164,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7164,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7166,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 7174
      start: 7141
    functionDepth: 0
    functionLinenumber: 7141
    functionLinenumberEnd: 7174
    functionName: groupConstValueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - SET_VAL
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t groupConstValueFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1626,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1638,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1664,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1714,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1688,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1633,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1651,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1659,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1683,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1701,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1676,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1727,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1745,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1608,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1646,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1672,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1722,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1696,1
    - Dst: LEASTSQR_CAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1740,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1757,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1608,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1622,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1709,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1735,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1757,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 92
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1760
    functionName: leastSQRFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull_f
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - LEASTSQR_CAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t leastSQRFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1849,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1855,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1856,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 1860
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1860
    functionName: percentileFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - SET_DOUBLE_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t percentileFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3486,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3495,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3487,1
    - Dst: doHandleDiff
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3513,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3500,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3519,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 3
    argNames:
    - pCtx
    - pRow
    - pos
    argTypes:
    - SqlFunctionCtx*
    - SFuncInputRow*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3526
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3526
    functionName: setDoDiffResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - appendSelectivityCols
    - GET_RES_INFO
    - colDataSetNull_f_s
    - GET_ROWCELL_INTERBUF
    - doHandleDiff
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setDoDiffResult(SqlFunctionCtx* pCtx, SFuncInputRow* pRow,
      int32_t pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4319,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4322,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4324,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4323,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4320,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4325,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4328
      start: 4318
    functionDepth: 0
    functionLinenumber: 4318
    functionLinenumberEnd: 4328
    functionName: spreadCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - spreadTransferInfo
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5457,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 5473
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5473
    functionName: mavgFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mavgFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5889,1
    - Dst: doUniqueAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5902,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5890,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5902,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5901,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5905,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5913,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5915,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5918,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5925
      start: 5887
    functionDepth: 0
    functionLinenumber: 5887
    functionLinenumberEnd: 5925
    functionName: uniqueFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - doUniqueAdd
    - GET_ROWCELL_INTERBUF
    - colDataSetInt64
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uniqueFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SHistoFuncInfo*
    - SHistoFuncInfo*
    constantsTouched: []
    func_position:
      end: 4799
      start: 4790
    functionDepth: 0
    functionLinenumber: 4790
    functionLinenumberEnd: 4799
    functionName: histogramTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void histogramTransferInfo(SHistoFuncInfo* pInput, SHistoFuncInfo*
      pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5740,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - pItem
    - data
    - colBytes
    - ts
    - isNull
    argTypes:
    - STailItem*
    - char*
    - int32_t
    - TSKEY
    - bool
    constantsTouched: []
    func_position:
      end: 5743
      start: 5733
    functionDepth: 0
    functionLinenumber: 5733
    functionLinenumberEnd: 5743
    functionName: tailAssignResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void tailAssignResult(STailItem* pItem, char* data, int32_t
      colBytes, TSKEY ts, bool isNull) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUM_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: getSumFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SUM_RES_GET_SIZE
    linkageType: ''
    returnType: bool
    signature: 'bool getSumFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1863,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1866,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1863,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1866,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1863,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1862
    functionDepth: 0
    functionLinenumber: 1862
    functionLinenumberEnd: 1871
    functionName: percentileFunctionCleanupExt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tMemBucketDestroy
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: void
    signature: 'void percentileFunctionCleanupExt(SqlFunctionCtx* pCtx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2402,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 2423
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2423
    functionName: firstDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - comparePkDataWithSValue
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired firstDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3208,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 3222
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3222
    functionName: diffFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t diffFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: prepareBuf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3948,1
    - Dst: serializeTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3961,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3956,1
    - Dst: doSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3965,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pCtx
    - rowIndex
    - pSrcBlock
    - pPos
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - SSDataBlock*
    - STuplePos*
    constantsTouched: []
    func_position:
      end: 3966
      start: 3940
    functionDepth: 0
    functionLinenumber: 3940
    functionLinenumberEnd: 3966
    functionName: saveTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - doSaveTupleData
    - serializeTupleData
    - taosArrayGet
    - prepareBuf
    - colDataGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t saveTupleData(SqlFunctionCtx* pCtx, int32_t rowIndex, const
      SSDataBlock* pSrcBlock, STuplePos* pPos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4250,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4259,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4251,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4251,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4259,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4263,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4264,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4265,1
    - Dst: spreadTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4267,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4272,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4276
      start: 4246
    functionDepth: 0
    functionLinenumber: 4246
    functionLinenumberEnd: 4276
    functionName: spreadFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - IS_NULL_TYPE
    - spreadTransferInfo
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SElapsedInfo*
    - SElapsedInfo*
    constantsTouched: []
    func_position:
      end: 4451
      start: 4442
    functionDepth: 0
    functionLinenumber: 4442
    functionLinenumberEnd: 4451
    functionName: elapsedTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void elapsedTransferInfo(SElapsedInfo* pInput, SElapsedInfo*
      pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4475,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4479,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4480
      start: 4474
    functionDepth: 0
    functionLinenumber: 4474
    functionLinenumberEnd: 4480
    functionName: elapsedFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - GET_RES_INFO
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:474,1
    - Dst: initResultRowEntry
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 479
    functionName: functionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - initResultRowEntry
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t functionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo* pResultInfo) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:827,1
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:828,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:828,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 9
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 836
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 836
    functionName: funcNotSupportStringSma
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - nodesIsExprNode
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool funcNotSupportStringSma(SFunctionNode* pFunc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2433,1
    - Dst: comparePkDataWithSValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pRes
    - pBlockInfo
    argTypes:
    - void*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 2451
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2451
    functionName: lastDynDataReq
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - comparePkDataWithSValue
    linkageType: ''
    returnType: EFuncDataRequired
    signature: 'EFuncDataRequired lastDynDataReq(void* pRes, SDataBlockInfo* pBlockInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1905,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1907,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1920,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1911,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1917,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1937,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1952,1
    - Dst: tMemBucketDestroy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1960,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1965,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1884,1
    - Dst: tMemBucketCreate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1893,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1909,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1916,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1929,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1912,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1936,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1936,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1942,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1876,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1908,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1933,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1913,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1938,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1893,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1906,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1910,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1921,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1941,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1956,1
    - Dst: tMemBucketPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1958,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1970
    functionName: percentileFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - colDataIsNull_f
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - tMemBucketDestroy
    - GET_INT64_VAL
    - SET_DOUBLE_VAL
    - GET_TYPED_DATA
    - tMemBucketPut
    - IS_FLOAT_TYPE
    - GET_ROWCELL_INTERBUF
    - GET_DOUBLE_VAL
    - tMemBucketCreate
    - GET_UINT64_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t percentileFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 11
    argCount: 4
    argNames:
    - pDiffInfo
    - type
    - pv
    - ts
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3258
      start: 3224
    functionDepth: 0
    functionLinenumber: 3224
    functionLinenumberEnd: 3258
    functionName: doSetPrevVal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetPrevVal(SDiffInfo* pDiffInfo, int32_t type, const
      char* pv, int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3971,1
    - Dst: releaseBufPage
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3977,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3975,1
    - Dst: setBufPageDirty
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3976,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - pHandle
    - pBuf
    - length
    - pPos
    - pStore
    argTypes:
    - SSerializeDataHandle*
    - void*
    - size_t
    - STuplePos*
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 3986
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 3986
    functionName: doUpdateTupleData
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - memcpy
    - releaseBufPage
    - getBufPage
    - setBufPageDirty
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doUpdateTupleData(SSerializeDataHandle* pHandle, const
      void* pBuf, size_t length, STuplePos* pPos, SFunctionStateStore* pStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4279,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4283,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4279,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4281,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4286
      start: 4278
    functionDepth: 0
    functionLinenumber: 4278
    functionLinenumberEnd: 4286
    functionName: spreadFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    - GET_RES_INFO
    - SET_DOUBLE_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4460,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4465,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4460,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4466,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4467,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4470,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4470,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4472
      start: 4453
    functionDepth: 0
    functionLinenumber: 4453
    functionLinenumberEnd: 4472
    functionName: elapsedFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - varDataVal
    - colDataGetData
    - elapsedTransferInfo
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getNumOfElems
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:607,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:613,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:610,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 615
    functionName: countInvertFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getNumOfElems
    - SET_VAL
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t countInvertFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4483,1
    - Dst: getElapsedInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4485,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4484,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4484,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4486,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4491,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4491,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4492,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4496,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4507,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 4509
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4509
    functionName: elapsedPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - getElapsedInfoSize
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: groupConstValueFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 7205
      start: 7205
    functionDepth: 0
    functionLinenumber: 7205
    functionLinenumberEnd: 7205
    functionName: groupKeyFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - groupConstValueFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t groupKeyFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1162
    functionName: getStdInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getStdInfoSize() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2282,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2287,1
    - Dst: buildTDigestInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2286,1
    - Dst: tdigestQuantile
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2289,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2283,1
    - Dst: buildHistogramInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2295,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2297,1
    - Dst: tHistogramUniform
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2302,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2304,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2309,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2313,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2318,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2281
    functionDepth: 0
    functionLinenumber: 2281
    functionLinenumberEnd: 2319
    functionName: apercentileFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - buildTDigestInfo
    - taosMemoryFree
    - tHistogramUniform
    - buildHistogramInfo
    - GET_RES_INFO
    - tdigestAutoFill
    - tdigestQuantile
    - qDebug
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 4526
      start: 4524
    functionDepth: 0
    functionLinenumber: 4524
    functionLinenumberEnd: 4526
    functionName: getHistogramInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getHistogramInfoSize() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5147,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5153,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5149,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5155,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5151,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - opStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 5164
      start: 5145
    functionDepth: 0
    functionLinenumber: 5145
    functionLinenumberEnd: 5164
    functionName: getStateOpType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getStateOpType(char* opStr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6323,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6325,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6340,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 6341
      start: 6322
    functionDepth: 0
    functionLinenumber: 6322
    functionLinenumberEnd: 6341
    functionName: twaFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - functionFinalize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t twaFinalize(struct SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1167
    functionName: getStdFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getStdFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2322,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2332,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2323,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2326,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2325,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2332,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2333,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2335,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2335,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2336,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2348,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2346,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2342,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2350
    functionName: apercentilePartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getApercentileMaxSize
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentilePartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5167,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5171,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5181,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5186,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5176,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5191,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5196,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5201,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5206,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5211,1
    - Dst: STATE_COMP
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5216,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - op
    - pCol
    - index
    - param
    argTypes:
    - int8_t
    - SColumnInfoData*
    - int32_t
    - SVariant
    constantsTouched: []
    func_position:
      end: 5224
      start: 5166
    functionDepth: 0
    functionLinenumber: 5166
    functionLinenumberEnd: 5224
    functionName: checkStateOp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataGetData
    - STATE_COMP
    linkageType: ''
    returnType: bool
    signature: 'static bool checkStateOp(int8_t op, SColumnInfoData* pCol, int32_t
      index, SVariant param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6347,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6351,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 6354
      start: 6343
    functionDepth: 0
    functionLinenumber: 6343
    functionLinenumberEnd: 6354
    functionName: blockDistSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDistSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compareInt64Val
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 5750
      start: 5746
    functionDepth: 0
    functionLinenumber: 5746
    functionLinenumberEnd: 5750
    functionName: tailCompFn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - compareInt64Val
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tailCompFn(const void* p1, const void* p2, const void*
      param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - s
    - e
    argTypes:
    - SPoint1
    - SPoint1
    constantsTouched: []
    func_position:
      end: 6164
      start: 6152
    functionDepth: 0
    functionLinenumber: 6152
    functionLinenumberEnd: 6164
    functionName: twa_get_area
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double twa_get_area(SPoint1 s, SPoint1 e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: doMinMaxHelper
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:881,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:885,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 887
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 887
    functionName: maxFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_RES_INFO
    - doMinMaxHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t maxFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4144
    functionDepth: 0
    functionLinenumber: 4144
    functionLinenumberEnd: 4147
    functionName: getSpreadFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getSpreadFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6040,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6056,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6041,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6051,1
    - Dst: doModeAdd
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6057,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6059,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6065,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6067,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6073,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6076
      start: 6039
    functionDepth: 0
    functionLinenumber: 6039
    functionLinenumberEnd: 6076
    functionName: modeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - modeFunctionCleanup
    - GET_RES_INFO
    - colDataIsNull_s
    - doModeAdd
    - colDataGetData
    - saveTupleData
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t modeFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 6135
      start: 6132
    functionDepth: 0
    functionLinenumber: 6132
    functionLinenumberEnd: 6135
    functionName: getTwaFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getTwaFuncEnv(struct SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6709,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 6720
      start: 6705
    functionDepth: 0
    functionLinenumber: 6705
    functionLinenumberEnd: 6720
    functionName: derivativeFuncSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t derivativeFuncSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pkBytes
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 6855
      start: 6855
    functionDepth: 0
    functionLinenumber: 6855
    functionLinenumberEnd: 6855
    functionName: getIrateInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getIrateInfoSize(int32_t pkBytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pRateInfo
    - tickPerSec
    argTypes:
    - SRateInfo*
    - double
    constantsTouched: []
    func_position:
      end: 7018
      start: 6998
    functionDepth: 0
    functionLinenumber: 6998
    functionLinenumberEnd: 7018
    functionName: doCalcRate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'static double doCalcRate(const SRateInfo* pRateInfo, double tickPerSec) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5477,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5478,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5499,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5506,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5504,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5506,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5522,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5522,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5523,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5525,1
    - Dst: appendSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5533,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 5550
      start: 5475
    functionDepth: 0
    functionLinenumber: 5475
    functionLinenumberEnd: 5550
    functionName: mavgFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - isinf
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - appendSelectivityValue
    - GET_TYPED_DATA
    - isnan
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mavgFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4153,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4157,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4159,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4158,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 4162
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4162
    functionName: spreadFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - SET_DOUBLE_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t spreadFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6080,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6093,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6081,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6083,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6086,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6102,1
    - Dst: loadTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6107,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6110,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6112,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6118,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6123,1
    - Dst: modeFunctionCleanup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6127,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6124,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6121,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 6130
      start: 6078
    functionDepth: 0
    functionLinenumber: 6078
    functionLinenumberEnd: 6130
    functionName: modeFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - modeFunctionCleanup
    - colDataSetNULL
    - colDataSetVal
    - terrstr
    - GET_RES_INFO
    - taosHashIterate
    - setSelectivityValue
    - qError
    - loadTupleData
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t modeFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6141,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6145,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 6150
      start: 6137
    functionDepth: 0
    functionLinenumber: 6137
    functionLinenumberEnd: 6150
    functionName: twaFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t twaFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6741,1
    - Dst: funcInputUpdate
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6734,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6821,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6821,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6775,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6780,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6723,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6753,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6753,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6765,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6765,1
    - Dst: funcInputGetNextRow
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6797,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6824,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6822,1
    - Dst: colDataSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6831,1
    - Dst: appendSelectivityCols
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6836,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6724,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6766,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6768,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6809,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6809,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 100
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 6853
      start: 6722
    functionDepth: 0
    functionLinenumber: 6722
    functionLinenumberEnd: 6853
    functionName: derivativeFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - isinf
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - appendSelectivityCols
    - GET_TYPED_DATA
    - funcInputUpdate
    - isnan
    - GET_ROWCELL_INTERBUF
    - colDataSetInt64
    - funcInputGetNextRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t derivativeFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:6859,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 6861
      start: 6857
    functionDepth: 0
    functionLinenumber: 6857
    functionLinenumberEnd: 6861
    functionName: getIrateFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getIrateInfoSize
    linkageType: ''
    returnType: bool
    signature: 'bool getIrateFuncEnv(struct SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7022,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7032,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7030,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7026,1
    - Dst: doSaveRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7024,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - inputKey
    - pInput
    - pOutput
    - isFirstKey
    argTypes:
    - TSKEY
    - SRateInfo*
    - SRateInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 7037
      start: 7020
    functionDepth: 0
    functionLinenumber: 7020
    functionLinenumberEnd: 7037
    functionName: irateTransferInfoImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - doSaveRateInfo
    linkageType: ''
    returnType: void
    signature: 'static void irateTransferInfoImpl(TSKEY inputKey, SRateInfo* pInput,
      SRateInfo* pOutput, bool isFirstKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7208,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7209,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7211,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7225,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7212,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7226,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7227,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7228,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7230,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7237,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 7239
      start: 7207
    functionDepth: 0
    functionLinenumber: 7207
    functionLinenumberEnd: 7239
    functionName: groupKeyCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - SET_VAL
    - GET_RES_INFO
    - memcpy
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t groupKeyCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx*
      pSourceCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tailAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5755,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5756,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5760,1
    - Dst: tailAssignResult
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5759,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - STailInfo*
    - char*
    - TSKEY
    - bool
    constantsTouched: []
    func_position:
      end: 5762
      start: 5752
    functionDepth: 0
    functionLinenumber: 5752
    functionLinenumberEnd: 5762
    functionName: doTailAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - tailAssignResult
    - taosheapadjust
    - taosheapsort
    linkageType: ''
    returnType: void
    signature: 'static void doTailAdd(STailInfo* pInfo, char* data, TSKEY ts, bool
      isNull) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1566,1
    - Dst: stdTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1573,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1567,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1570,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1569,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:1575,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1578
    functionName: stdCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - stdTransferInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stdCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2992,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3003,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3004,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3000,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2997,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3006,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3012,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3015
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 3015
    functionName: firstLastFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - GET_RES_INFO
    - setSelectivityValue
    - setNullSelectivityValue
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstLastFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3057,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3058,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3062,1
    - Dst: firstLastTransferInfoImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3064,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3061,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3065,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 3068
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3068
    functionName: lastCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - firstLastTransferInfoImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t lastCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ignoreNegative
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3331,1
    - Dst: colDataSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3334,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pDiffInfo
    - pOutput
    - v
    - pos
    argTypes:
    - SDiffInfo*
    - SColumnInfoData*
    - double
    - int32_t
    constantsTouched: []
    func_position:
      end: 3337
      start: 3329
    functionDepth: 0
    functionLinenumber: 3329
    functionLinenumberEnd: 3337
    functionName: tryToSetDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataSetDouble
    - ignoreNegative
    - colDataSetNull_f_s
    linkageType: ''
    returnType: void
    signature: 'static void tryToSetDouble(SDiffInfo* pDiffInfo, SColumnInfoData*
      pOutput, double v, int32_t pos) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3429,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3431,1
    - Dst: compareFunc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3434,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 5
    argNames:
    - pInput
    - from
    - firstOccur
    - pRowIndex
    - nextFrom
    argTypes:
    - SInputColumnInfoData*
    - int32_t
    - bool
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3444
      start: 3408
    functionDepth: 0
    functionLinenumber: 3408
    functionLinenumberEnd: 3444
    functionName: funcInputGetNextRowIndex
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataGetData
    - getKeyComparFunc
    - compareFunc
    linkageType: ''
    returnType: bool
    signature: 'bool funcInputGetNextRowIndex(SInputColumnInfoData* pInput, int32_t
      from, bool firstOccur, int32_t* pRowIndex, int32_t* nextFrom) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3753,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3759,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3778
      start: 3747
    functionDepth: 0
    functionLinenumber: 3747
    functionLinenumberEnd: 3778
    functionName: topBotResComparFn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - IS_SIGNED_NUMERIC_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t topBotResComparFn(const void* p1, const void* p2, const
      void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4512,1
    - Dst: elapsedTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4518,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4513,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4515,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4516,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4522
      start: 4511
    functionDepth: 0
    functionLinenumber: 4511
    functionLinenumberEnd: 4522
    functionName: elapsedCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - TMAX
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - elapsedTransferInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t elapsedCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4747,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4747,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4767,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4765,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4759,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4767,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4779,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4781,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pCtx
    - isPartial
    argTypes:
    - SqlFunctionCtx*
    - bool
    constantsTouched: []
    func_position:
      end: 4784
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4784
    functionName: histogramFunctionImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - GET_RES_INFO
    - typeGetTypeModFromColInfo
    - colDataGetData
    - GET_TYPED_DATA
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t histogramFunctionImpl(SqlFunctionCtx* pCtx, bool isPartial) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ignoreOption
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: ignoreNegative
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool ignoreNegative(int8_t ignoreOption) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 227
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 227
    functionName: funcInputUpdate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void funcInputUpdate(SqlFunctionCtx* pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1583
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1583
    functionName: getLeastSQRFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getLeastSQRFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2060,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:2062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - algoStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2058
    functionDepth: 0
    functionLinenumber: 2058
    functionLinenumberEnd: 2069
    functionName: getApercentileAlgo
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t getApercentileAlgo(char* algoStr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3020,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3023,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3021,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3030,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3026,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3030,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3032,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3035,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3037,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3042,1
    - Dst: setNullSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3043,1
    - Dst: setSelectivityValue
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3050,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3052,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3047,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3045,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3054
      start: 3017
    functionDepth: 0
    functionLinenumber: 3017
    functionLinenumberEnd: 3054
    functionName: firstLastPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - getFirstLastInfoSize
    - taosMemoryCalloc
    - colDataSetNULL
    - GET_RES_INFO
    - colDataSetVal
    - varDataVal
    - setSelectivityValue
    - setNullSelectivityValue
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t firstLastPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock*
      pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3075,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3084,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3080,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3088,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3082,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3091,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3092,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3093,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3095,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3097,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3100,1
    - Dst: firstlastSaveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3104,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 5
    argNames:
    - pCtx
    - pData
    - rowIndex
    - cts
    - pInfo
    argTypes:
    - SqlFunctionCtx*
    - char*
    - int32_t
    - int64_t
    - SFirstLastRes*
    constantsTouched: []
    func_position:
      end: 3112
      start: 3070
    functionDepth: 0
    functionLinenumber: 3070
    functionLinenumberEnd: 3112
    functionName: doSaveLastrow
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_s
    - colDataGetData
    - memcpy
    - getJsonValueLen
    - firstlastSaveTupleData
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSaveLastrow(SqlFunctionCtx* pCtx, char* pData, int32_t
      rowIndex, int64_t cts, SFirstLastRes* pInfo) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3342,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3359,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3354,1
    - Dst: doSetPrevVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3343,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3349,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3364,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3369,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3374,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3379,1
    - Dst: tryToSetInt64
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3386,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3396,1
    - Dst: tryToSetDouble
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3391,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 6
    argNames:
    - pDiffInfo
    - type
    - pv
    - pOutput
    - pos
    - ts
    argTypes:
    - SDiffInfo*
    - int32_t
    - char*
    - SColumnInfoData*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 3404
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3404
    functionName: doHandleDiff
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - doSetPrevVal
    - tryToSetInt64
    - colDataSetNull_f_s
    - tryToSetDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doHandleDiff(SDiffInfo* pDiffInfo, int32_t type, const
      char* pv, SColumnInfoData* pOutput, int32_t pos, int64_t ts) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 3449
      start: 3446
    functionDepth: 0
    functionLinenumber: 3446
    functionLinenumberEnd: 3449
    functionName: getForecastConfEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool getForecastConfEnv(SFunctionNode* UNUSED_PARAM(pFunc), SFuncExecEnv*
      pEnv) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: getTopBotOutputInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3782,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3804,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3798,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3786,1
    - Dst: taosVariantCreateFromBinary
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3786,1
    - Dst: taosheapsort
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3809,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3815,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3816,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3819,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3820,1
    - Dst: taosheapadjust
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3838,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3830,1
    - Dst: qDebug
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:3836,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 71
    argCount: 8
    argNames:
    - pCtx
    - pData
    - rowIndex
    - pSrcBlock
    - type
    - uid
    - pEntryInfo
    - isTopQuery
    argTypes:
    - SqlFunctionCtx*
    - void*
    - int32_t
    - SSDataBlock*
    - uint16_t
    - uint64_t
    - SResultRowEntryInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 3847
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3847
    functionName: doAddIntoResult
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - getTopBotOutputInfo
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - TAOS_CHECK_RETURN
    - updateTupleData
    - qDebug
    - saveTupleData
    - taosheapadjust
    - taosVariantCreateFromBinary
    - taosheapsort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAddIntoResult(SqlFunctionCtx* pCtx, void* pData, int32_t
      rowIndex, SSDataBlock* pSrcBlock, uint16_t type, uint64_t uid, SResultRowEntryInfo*
      pEntryInfo, bool isTopQuery) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: histogramFunctionImpl
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:4786,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 4786
      start: 4786
    functionDepth: 0
    functionLinenumber: 4786
    functionLinenumberEnd: 4786
    functionName: histogramFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - histogramFunctionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7076,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7077,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7081,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7076,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7082,1
    - Dst: initializeRateInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7083,1
    - Dst: irateTransferInfo
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7085,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:7093,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 7097
      start: 7069
    functionDepth: 0
    functionLinenumber: 7069
    functionLinenumberEnd: 7097
    functionName: irateFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - initializeRateInfo
    - irateTransferInfo
    - GET_RES_INFO
    - varDataVal
    - colDataGetData
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t irateFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5871,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5879,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5871,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5872,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtinsimpl.c:5877,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - pInfo
    - data
    - ts
    - isNull
    argTypes:
    - SUniqueInfo*
    - char*
    - TSKEY
    - bool
    constantsTouched: []
    func_position:
      end: 5884
      start: 5855
    functionDepth: 0
    functionLinenumber: 5855
    functionLinenumberEnd: 5884
    functionName: doUniqueAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/builtinsimpl.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosHashGet
    - taosHashPut
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'static void doUniqueAdd(SUniqueInfo* pInfo, char* data, TSKEY ts,
      bool isNull) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:37,1
    - Dst: tLoserTreeCreate1
      Src: /src/tdengine/source/libs/function/src/thistogram.c:52,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:46,1
    - Dst: SSkipListCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c:43,1
    - Dst: tHistogramCreateFrom
      Src: /src/tdengine/source/libs/function/src/thistogram.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - numOfEntries
    - pHisto
    argTypes:
    - int32_t
    - SHistogramInfo**
    constantsTouched: []
    func_position:
      end: 58
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 58
    functionName: tHistogramCreate
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - tHistogramCreateFrom
    - taosMemoryFree
    - taosMemoryMalloc
    - tLoserTreeCreate1
    - SSkipListCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHistogramCreate(int32_t numOfEntries, SHistogramInfo** pHisto) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/function/src/thistogram.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pHistBin
    - size
    argTypes:
    - SHistBin*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 355
    functionName: histogramMergeImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void histogramMergeImpl(SHistBin* pHistBin, int32_t* size) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:108,1
    - Dst: tSkipListCreateKey
      Src: /src/tdengine/source/libs/function/src/thistogram.c:123,1
    - Dst: SSkipListPut
      Src: /src/tdengine/source/libs/function/src/thistogram.c:130,1
    - Dst: tSkipListGetOne
      Src: /src/tdengine/source/libs/function/src/thistogram.c:160,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:268,1
    - Dst: histoBinarySearch
      Src: /src/tdengine/source/libs/function/src/thistogram.c:87,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:124,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:195,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:213,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:219,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:223,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:234,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:260,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:263,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:103,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:89,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:155,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:175,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:225,1
    - Dst: tSkipListRemoveNode
      Src: /src/tdengine/source/libs/function/src/thistogram.c:265,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:266,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:281,1
    - Dst: tHistogramCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c:80,1
    - Dst: histogramCreateBin
      Src: /src/tdengine/source/libs/function/src/thistogram.c:117,1
    - Dst: tMergeTreePrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:176,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:192,1
    - Dst: tSkipListCreateKey
      Src: /src/tdengine/source/libs/function/src/thistogram.c:159,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:190,1
    - Dst: SSkipListPrint
      Src: /src/tdengine/source/libs/function/src/thistogram.c:183,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/libs/function/src/thistogram.c:216,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:287,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 174
    argCount: 2
    argNames:
    - pHisto
    - val
    argTypes:
    - SHistogramInfo**
    - double
    constantsTouched: []
    func_position:
      end: 304
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 304
    functionName: tHistogramAdd
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - histoBinarySearch
    - tSkipListRemoveNode
    - histogramCreateBin
    - taosMemoryCalloc
    - tHistogramCreate
    - SSkipListPrint
    - qError
    - printf
    - tMergeTreeAdjust
    - SSkipListPut
    - tSkipListCreateKey
    - tMergeTreePrint
    - tSkipListGetOne
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHistogramAdd(SHistogramInfo** pHisto, double val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pHisto
    argTypes:
    - SHistogramInfo**
    constantsTouched: []
    func_position:
      end: 397
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 397
    functionName: tHistogramDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tHistogramDestroy(SHistogramInfo** pHisto) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: histoBinarySearch
      Src: /src/tdengine/source/libs/function/src/thistogram.c:424,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:431,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pHisto
    - v
    - res
    argTypes:
    - SHistogramInfo*
    - double
    - int64_t*
    constantsTouched: []
    func_position:
      end: 464
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 464
    functionName: tHistogramSum
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - histoBinarySearch
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHistogramSum(SHistogramInfo* pHisto, double v, int64_t *res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pEntry
    - len
    - val
    argTypes:
    - SHistBin*
    - int32_t
    - double
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: histoBinarySearch
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histoBinarySearch(SHistBin* pEntry, int32_t len, double val) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/thistogram.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pBuf
    - numOfBins
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: tHistogramCreateFrom
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: SHistogramInfo*
    signature: 'SHistogramInfo * tHistogramCreateFrom(void* pBuf, int32_t numOfBins) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:400,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:403,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pHisto
    argTypes:
    - SHistogramInfo*
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: tHistogramPrint
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void tHistogramPrint(SHistogramInfo* pHisto) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:468,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/thistogram.c:516,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:521,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/thistogram.c:506,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:500,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:532,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:536,1
    - Dst: printf
      Src: /src/tdengine/source/libs/function/src/thistogram.c:540,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:563,1
    - Dst: fabs
      Src: /src/tdengine/source/libs/function/src/thistogram.c:568,1
    - Dst: sqrt
      Src: /src/tdengine/source/libs/function/src/thistogram.c:580,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 136
    argCount: 4
    argNames:
    - pHisto
    - ratio
    - num
    - pVal
    argTypes:
    - SHistogramInfo*
    - double*
    - int32_t
    - double**
    constantsTouched: []
    func_position:
      end: 588
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 588
    functionName: tHistogramUniform
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - sqrt
    - fabs
    - printf
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHistogramUniform(SHistogramInfo* pHisto, double* ratio, int32_t
      num, double** pVal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tHistogramCreate
      Src: /src/tdengine/source/libs/function/src/thistogram.c:591,1
    - Dst: histogramMergeImpl
      Src: /src/tdengine/source/libs/function/src/thistogram.c:636,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:626,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/thistogram.c:601,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:620,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/thistogram.c:640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/thistogram.c:642,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - pHisto1
    - pHisto2
    - numOfEntries
    - pResHistogram
    argTypes:
    - SHistogramInfo*
    - SHistogramInfo*
    - int32_t
    - SHistogramInfo**
    constantsTouched: []
    func_position:
      end: 644
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 644
    functionName: tHistogramMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tHistogramCreate
    - histogramMergeImpl
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tHistogramMerge(SHistogramInfo* pHisto1, SHistogramInfo* pHisto2,
      int32_t numOfEntries, SHistogramInfo** pResHistogram) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/libs/function/src/thistogram.c:362,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:383,1
    - Dst: histogramMergeImpl
      Src: /src/tdengine/source/libs/function/src/thistogram.c:376,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/thistogram.c:366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - pHisto
    - index
    - val
    argTypes:
    - SHistogramInfo*
    - int32_t
    - double
    constantsTouched: []
    func_position:
      end: 388
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 388
    functionName: histogramCreateBin
    functionSourceFile: /src/tdengine/source/libs/function/src/thistogram.c
    functionUses: []
    functionsReached:
    - histogramMergeImpl
    - qError
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t histogramCreateBin(SHistogramInfo* pHisto, int32_t index,
      double val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:94,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:98,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:97,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:101,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: taosLoadScriptInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pop
    - snprintf
    - lua_pcall
    - lua_setglobal
    - lua_getglobal
    linkageType: ''
    returnType: int
    signature: 'int taosLoadScriptInit(void* pInit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyLuaEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:368,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/function/src/tscript.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pEnv
    argTypes:
    - ScriptEnv*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: destroyScriptEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - destroyLuaEnv
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyScriptEnv(ScriptEnv *pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:334,1
    - Dst: tdListNew
      Src: /src/tdengine/source/libs/function/src/tscript.c:337,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/function/src/tscript.c:335,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:339,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/function/src/tscript.c:340,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:340,1
    - Dst: createLuaEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:341,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/function/src/tscript.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 348
    functionName: scriptEnvPoolInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosThreadMutexInit
    - tdListNew
    - createLuaEnv
    - tdListAppend
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t scriptEnvPoolInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:108,1
    - Dst: lua_newtable
      Src: /src/tdengine/source/libs/function/src/tscript.c:114,1
    - Dst: taosValueToLuaType
      Src: /src/tdengine/source/libs/function/src/tscript.c:117,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:111,1
    - Dst: lua_rawseti
      Src: /src/tdengine/source/libs/function/src/tscript.c:118,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:122,1
    - Dst: lua_istable
      Src: /src/tdengine/source/libs/function/src/tscript.c:123,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:126,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:128,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:129,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:137,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:130,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:129,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 12
    argNames:
    - pInit
    - pInput
    - iType
    - iBytes
    - numOfRows
    - ptsList
    - key
    - pOutput
    - ptsOutput
    - numOfOutput
    - oType
    - oBytes
    argTypes:
    - void*
    - char*
    - int16_t
    - int16_t
    - int32_t
    - int64_t*
    - int64_t
    - char*
    - char*
    - int32_t*
    - int16_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 140
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 140
    functionName: taosLoadScriptNormal
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_rawseti
    - lua_pop
    - snprintf
    - lua_newtable
    - qError
    - lua_pushnumber
    - lua_istable
    - lua_pcall
    - lua_getglobal
    - luaValueToTaosType
    - lua_tostring
    - lua_setglobal
    - taosValueToLuaType
    linkageType: ''
    returnType: void
    signature: 'void taosLoadScriptNormal(void *pInit, char *pInput, int16_t iType,
      int16_t iBytes, int32_t numOfRows, int64_t *ptsList, int64_t key, char* pOutput,
      char *ptsOutput, int32_t *numOfOutput, int16_t oType, int16_t oBytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/function/src/tscript.c:374,1
    - Dst: listNodeFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:382,1
    - Dst: tdListNodeGetData
      Src: /src/tdengine/source/libs/function/src/tscript.c:381,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:376,1
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/function/src/tscript.c:379,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 388
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 388
    functionName: getScriptEnvFromPool
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - tdListNodeGetData
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tdListPopHead
    - listNodeFree
    linkageType: ''
    returnType: ScriptEnv*
    signature: 'ScriptEnv * getScriptEnvFromPool() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getScriptEnvFromPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:418,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:427,1
    - Dst: luaL_dostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:426,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:428,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:423,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:429,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:429,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:432,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:433,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:434,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:436,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:437,1
    - Dst: hasBaseFuncDefinedInScript
      Src: /src/tdengine/source/libs/function/src/tscript.c:440,1
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:442,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:441,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:440,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:435,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:437,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - script
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 444
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 444
    functionName: isValidScript
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - luaL_dostring
    - lua_pop
    - getScriptEnvFromPool
    - addScriptEnvToPool
    - qError
    - strlen
    - lua_getglobal
    - hasBaseFuncDefinedInScript
    - lua_tostring
    linkageType: ''
    returnType: bool
    signature: 'bool isValidScript(char *script, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:67,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:68,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:70,1
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: luaRemoveUnsupportedFunctions
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pushnil
    - lua_setglobal
    linkageType: ''
    returnType: void
    signature: 'static void luaRemoveUnsupportedFunctions(lua_State *lua) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInit
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: taosLoadScriptDestroy
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - destroyScriptCtx
    linkageType: ''
    returnType: void
    signature: 'void taosLoadScriptDestroy(void *pInit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:60,1
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:62,1
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:64,1
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:61,1
    - Dst: luaLoadLib
      Src: /src/tdengine/source/libs/function/src/tscript.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: luaLoadLibraries
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - luaLoadLib
    linkageType: ''
    returnType: void
    signature: 'static void luaLoadLibraries(lua_State *lua) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:74,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tscript.c:80,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:77,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tscript.c:76,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:78,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:81,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/tscript.c:82,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/tscript.c:84,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:85,1
    - Dst: lua_pushlstring
      Src: /src/tdengine/source/libs/function/src/tscript.c:87,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/tscript.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - lua
    - type
    - val
    argTypes:
    - lua_State*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: taosValueToLuaType
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - varDataLen
    - IS_SIGNED_NUMERIC_TYPE
    - GET_TYPED_DATA
    - lua_pushnumber
    - IS_FLOAT_TYPE
    - lua_pushlstring
    linkageType: ''
    returnType: void
    signature: 'void taosValueToLuaType(lua_State *lua, int32_t type, char *val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tscript.c:197,1
    - Dst: luaL_dostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:209,1
    - Dst: getScriptEnvFromPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:199,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:210,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:204,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:211,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:212,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:215,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:216,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:218,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:219,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:223,1
    - Dst: destroyScriptCtx
      Src: /src/tdengine/source/libs/function/src/tscript.c:220,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:224,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - script
    - resType
    - resBytes
    argTypes:
    - char*
    - int8_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 227
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 227
    functionName: createScriptCtx
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - luaL_dostring
    - lua_pop
    - getScriptEnvFromPool
    - taosMemoryCalloc
    - qError
    - strlen
    - memcpy
    - lua_getglobal
    - destroyScriptCtx
    - lua_tostring
    linkageType: ''
    returnType: ScriptCtx*
    signature: 'ScriptCtx * createScriptCtx(char *script, int8_t resType, int16_t
      resBytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: luaL_checknumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:38,1
    - Dst: luaL_checknumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:39,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: userlib_exampleFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pushnumber
    - luaL_checknumber
    linkageType: ''
    returnType: int
    signature: 'static int userlib_exampleFunc(lua_State *lua) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_pushcfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:48,1
    - Dst: lua_pushstring
      Src: /src/tdengine/source/libs/function/src/tscript.c:49,1
    - Dst: lua_call
      Src: /src/tdengine/source/libs/function/src/tscript.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - lua
    - libname
    - luafunc
    argTypes:
    - lua_State*
    - char*
    - lua_CFunction
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: luaLoadLib
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_call
    - lua_pushstring
    - lua_pushcfunction
    linkageType: ''
    returnType: void
    signature: 'void luaLoadLib(lua_State *lua, const char *libname, lua_CFunction
      luafunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:169,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:172,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:174,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:173,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:174,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:178,1
    - Dst: lua_pushnumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:180,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:181,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:182,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:182,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:183,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:188,1
    - Dst: lua_setglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:186,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pInit
    - key
    - pOutput
    - numOfOutput
    argTypes:
    - void*
    - int64_t
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: taosLoadScriptFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pop
    - snprintf
    - qError
    - lua_isfunction
    - lua_pushnumber
    - lua_pcall
    - lua_getglobal
    - luaValueToTaosType
    - lua_tostring
    - lua_setglobal
    linkageType: ''
    returnType: void
    signature: 'void taosLoadScriptFinalize(void *pInit,int64_t key, char *pOutput,
      int32_t* numOfOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_register
      Src: /src/tdengine/source/libs/function/src/tscript.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: luaRegisterLibFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_register
    linkageType: ''
    returnType: void
    signature: 'void luaRegisterLibFunc(lua_State *lua) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tscript.c:145,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:150,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:150,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:148,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:149,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:154,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:155,1
    - Dst: qError
      Src: /src/tdengine/source/libs/function/src/tscript.c:156,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:156,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:157,1
    - Dst: luaValueToTaosType
      Src: /src/tdengine/source/libs/function/src/tscript.c:161,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - pInit
    - data
    - numOfRows
    - pOutput
    - numOfOutput
    argTypes:
    - void*
    - char*
    - int32_t
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 163
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 163
    functionName: taosLoadScriptMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pop
    - snprintf
    - qError
    - lua_isfunction
    - lua_pcall
    - lua_getglobal
    - luaValueToTaosType
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: 'void taosLoadScriptMerge(void *pInit, char* data, int32_t numOfRows,
      char* pOutput, int32_t* numOfOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addScriptEnvToPool
      Src: /src/tdengine/source/libs/function/src/tscript.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: destroyScriptCtx
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - addScriptEnvToPool
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyScriptCtx(void *pCtx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_open
      Src: /src/tdengine/source/libs/function/src/tscript.c:301,1
    - Dst: luaLoadLibraries
      Src: /src/tdengine/source/libs/function/src/tscript.c:302,1
    - Dst: luaRemoveUnsupportedFunctions
      Src: /src/tdengine/source/libs/function/src/tscript.c:303,1
    - Dst: luaRegisterLibFunc
      Src: /src/tdengine/source/libs/function/src/tscript.c:306,1
    - Dst: luaL_loadbuffer
      Src: /src/tdengine/source/libs/function/src/tscript.c:321,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:321,1
    - Dst: lua_pcall
      Src: /src/tdengine/source/libs/function/src/tscript.c:322,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 326
    functionName: createLuaEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - luaL_loadbuffer
    - lua_open
    - strlen
    - luaLoadLibraries
    - luaRegisterLibFunc
    - lua_pcall
    - luaRemoveUnsupportedFunctions
    linkageType: ''
    returnType: lua_State*
    signature: 'lua_State * createLuaEnv() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdListPopHead
      Src: /src/tdengine/source/libs/function/src/tscript.c:354,1
    - Dst: tdListFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:360,1
    - Dst: tdListNodeGetData
      Src: /src/tdengine/source/libs/function/src/tscript.c:356,1
    - Dst: listNodeFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:358,1
    - Dst: destroyScriptEnv
      Src: /src/tdengine/source/libs/function/src/tscript.c:357,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/function/src/tscript.c:361,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tscript.c:362,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: scriptEnvPoolCleanup
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - tdListNodeGetData
    - tdListFree
    - taosMemoryFree
    - taosThreadMutexDestroy
    - tdListPopHead
    - destroyScriptEnv
    - listNodeFree
    linkageType: ''
    returnType: void
    signature: 'void scriptEnvPoolCleanup() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/function/src/tscript.c:394,1
    - Dst: lua_settop
      Src: /src/tdengine/source/libs/function/src/tscript.c:395,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/function/src/tscript.c:398,1
    - Dst: tdListAppend
      Src: /src/tdengine/source/libs/function/src/tscript.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pEnv
    argTypes:
    - ScriptEnv*
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: addScriptEnvToPool
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_settop
    - tdListAppend
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void addScriptEnvToPool(ScriptEnv *pEnv) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:257,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:261,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:269,1
    - Dst: lua_pushnil
      Src: /src/tdengine/source/libs/function/src/tscript.c:276,1
    - Dst: lua_next
      Src: /src/tdengine/source/libs/function/src/tscript.c:278,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:265,1
    - Dst: setNull
      Src: /src/tdengine/source/libs/function/src/tscript.c:288,1
    - Dst: lua_tostring
      Src: /src/tdengine/source/libs/function/src/tscript.c:241,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:242,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:242,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:256,1
    - Dst: lua_type
      Src: /src/tdengine/source/libs/function/src/tscript.c:235,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:248,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:249,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:282,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:280,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:260,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:264,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:279,1
    - Dst: lua_tonumber
      Src: /src/tdengine/source/libs/function/src/tscript.c:268,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - lua
    - interBuf
    - numOfOutput
    - oType
    - oBytes
    argTypes:
    - lua_State*
    - char*
    - int32_t*
    - int16_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 294
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 294
    functionName: luaValueToTaosType
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pop
    - setNull
    - lua_next
    - lua_tonumber
    - lua_pushnil
    - lua_type
    - strlen
    - memcpy
    - lua_tostring
    linkageType: ''
    returnType: void
    signature: 'void luaValueToTaosType(lua_State *lua, char *interBuf, int32_t *numOfOutput,
      int16_t oType, int16_t oBytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lua_close
      Src: /src/tdengine/source/libs/function/src/tscript.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - lua
    argTypes:
    - lua_State*
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: destroyLuaEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_close
    linkageType: ''
    returnType: void
    signature: 'void destroyLuaEnv(lua_State *lua) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:404,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:409,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tscript.c:408,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:408,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tscript.c:409,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tscript.c:409,1
    - Dst: lua_getglobal
      Src: /src/tdengine/source/libs/function/src/tscript.c:410,1
    - Dst: lua_isfunction
      Src: /src/tdengine/source/libs/function/src/tscript.c:411,1
    - Dst: lua_pop
      Src: /src/tdengine/source/libs/function/src/tscript.c:412,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - lua
    - funcPrefix
    - len
    argTypes:
    - lua_State*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 415
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: hasBaseFuncDefinedInScript
    functionSourceFile: /src/tdengine/source/libs/function/src/tscript.c
    functionUses: []
    functionsReached:
    - lua_pop
    - memset
    - strlen
    - lua_isfunction
    - lua_getglobal
    - memcpy
    linkageType: ''
    returnType: bool
    signature: 'bool hasBaseFuncDefinedInScript(lua_State *lua, const char *funcPrefix,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:294,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:296,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:297,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:295,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: paramSupportTinyint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportTinyint(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:338,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:339,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:342,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:340,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 343
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 343
    functionName: paramSupportVarchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportVarchar(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1042,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: translateOutBigInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutBigInt(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:302,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:303,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:306,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:304,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: paramSupportSmallint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportSmallint(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:346,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:348,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: paramSupportTimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportTimestamp(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTrimStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1037,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1038
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1038
    functionName: translateRtrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - translateTrimStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRtrim(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:411,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: paramSupportDecimal
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportDecimal(uint64_t typeFlag) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1666,1
    - Dst: getApercentileMaxSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1701,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1666,1
    - Dst: getSpreadInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1698,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1693,1
    - Dst: getStdInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1706,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1711,1
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1715,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1718,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:1732,1
    - Dst: getIrateInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1743,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/function/src/builtins.c:1734,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:1738,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1755,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1749,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1755,1
    - Dst: getFirstLastInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1749,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1749,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 67
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1767
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1767
    functionName: translateOutVarchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - getAvgInfoSize
    - getApercentileMaxSize
    - getFirstLastInfoSize
    - FUNC_ERR_RET
    - validateParam
    - getSpreadInfoSize
    - taosHashGet
    - strlen
    - getIrateInfoSize
    - getHistogramInfoSize
    - nodesListGetNode
    - getSDataTypeFromNode
    - getStdInfoSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutVarchar(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:416,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: paramSupportValueNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportValueNode(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1771
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1771
    functionName: invalidColsFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t invalidColsFunction(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1126
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1126
    functionName: translateTimePseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTimePseudoColumn(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1133
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1133
    functionName: translateIsFilledPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateIsFilledPseudoColumn(SFunctionNode* pFunc,
      char* pErrBuf, int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1155,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1158,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1158,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1164
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1164
    functionName: reserveFirstMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesListStrictAppend
    - nodesCloneNode
    - nodesListGetNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reserveFirstMergeParam(SNodeList* pRawParameters, SNode*
      pPartialRes, SNodeList** pParameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:37,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: invaildFuncParaNumErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t invaildFuncParaNumErrMsg(char* pErrBuf, int32_t len,
      const char* pFuncName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1321,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1326
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1326
    functionName: diffEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'static EFuncReturnRows diffEstReturnRows(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateConcatImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1377
      start: 1375
    functionDepth: 0
    functionLinenumber: 1375
    functionLinenumberEnd: 1377
    functionName: translateConcat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - translateConcatImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateConcat(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1384,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1384,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1388
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    functionName: translateChar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - LIST_LENGTH
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateChar(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1645
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1645
    functionName: getBlockDBUsageFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool getBlockDBUsageFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc),
      SFuncExecEnv* pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1774,1
    - Dst: validateHistogramBinType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1781,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1775,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1774,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1779,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:1781,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1783,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:1791,1
    - Dst: validateHistogramBinDesc
      Src: /src/tdengine/source/libs/function/src/builtins.c:1792,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1793,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1798
      start: 1773
    functionDepth: 0
    functionLinenumber: 1773
    functionLinenumberEnd: 1798
    functionName: translateHistogramImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FUNC_ERR_RET
    - validateParam
    - varDataVal
    - validateHistogramBinDesc
    - validateHistogramBinType
    - buildFuncErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateHistogramImpl(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/libs/function/src/builtins.c:30,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:31,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/function/src/builtins.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - pErrBuf
    - len
    - errCode
    - pFormat
    - '...'
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: buildFuncErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - va_end
    - vsnprintf
    - va_start
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildFuncErrMsg(char* pErrBuf, int32_t len, int32_t
      errCode, const char* pFormat, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: invaildFuncParaTypeErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t invaildFuncParaTypeErrMsg(char* pErrBuf, int32_t len,
      const char* pFuncName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserveFirstMergeParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1168
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1168
    functionName: topBotCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - reserveFirstMergeParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t topBotCreateMergeParam(SNodeList* pRawParameters, SNode* pPartialRes,
      SNodeList** pParameters) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1330,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1330,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1339,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1340,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1331,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1347,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1348,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1349,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1351,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - pFunc
    - pErrBuf
    - len
    - minParaNum
    - maxParaNum
    - hasSep
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1373
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1373
    functionName: translateConcatImpl
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateConcatImpl(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len, int32_t minParaNum, int32_t maxParaNum, bool hasSep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateConcatImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: translateConcatWs
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - translateConcatImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateConcatWs(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1391,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1391,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1395
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1395
    functionName: translateAscii
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAscii(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1648,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1651,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1653
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1653
    functionName: translateGroupKey
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGroupKey(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1801,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1804
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1804
    functionName: translateHitogram
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - translateHistogramImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateHitogram(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:979,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:987,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:985,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:984,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:979,1
    - Dst: decimalGetRetType
      Src: /src/tdengine/source/libs/function/src/builtins.c:995,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 1003
    functionName: translateAvg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    - IS_DECIMAL_TYPE
    - decimalGetRetType
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAvg(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:957,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:958,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:959,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:957,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:958,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 964
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 964
    functionName: translateOutNum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutNum(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1236,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1236,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1239
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1239
    functionName: translateInterp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - nodesListGetNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInterp(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1251,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1262,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1253,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1263,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1262,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1264,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1268,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1268,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1269,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1270,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1275,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1287,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1275,1
    - Dst: taosAnalyGetOptStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1286,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1280,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1277,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1282,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1295
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1295
    functionName: translateForecast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - invaildFuncParaNumErrMsg
    - taosAnalyGetOptStr
    - invaildFuncParaValueErrMsg
    - IS_MATHABLE_TYPE
    - getSDataTypeFromNode
    - invaildFuncParaTypeErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForecast(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1658
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1658
    functionName: translateServerStatusFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateServerStatusFunc(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1242,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1243,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1248
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1248
    functionName: interpEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'static EFuncReturnRows interpEstReturnRows(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1300
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1300
    functionName: translateForecastConf
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateForecastConf(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1663
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1663
    functionName: translateTagsPseudoColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTagsPseudoColumn(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1114,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1115,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1114,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1117
    functionName: translateOutFirstIn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - nodesListGetNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutFirstIn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1136,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1136,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1146
    functionName: translatePercentile
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - LIST_LENGTH
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translatePercentile(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1398,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1398,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1400,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1400,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1401,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1401,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1404,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1405,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1405,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1406,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1406,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1419
      start: 1397
    functionDepth: 0
    functionLinenumber: 1397
    functionLinenumberEnd: 1419
    functionName: translateTrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FUNC_ERR_RET
    - validateParam
    - addUint8Param
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTrim(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1806,1
    - Dst: translateHistogramImpl
      Src: /src/tdengine/source/libs/function/src/builtins.c:1806,1
    - Dst: getHistogramInfoSize
      Src: /src/tdengine/source/libs/function/src/builtins.c:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1810
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1810
    functionName: translateHistogramPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - translateHistogramImpl
    - getHistogramInfoSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateHistogramPartial(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1152
      start: 1148
    functionDepth: 0
    functionLinenumber: 1148
    functionLinenumberEnd: 1152
    functionName: translateVgIdColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateVgIdColumn(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1422,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1424,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1425,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1424,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1422,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1425,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1426,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1426,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1427,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1427,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1428,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1428,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1429,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1429,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1443
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1443
    functionName: translateReplace
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    - TMAX
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateReplace(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:968,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:970,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:970,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:968,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:971,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:972,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:973,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 976
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 976
    functionName: translateMinMax
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - validateParam
    - IS_DECIMAL_TYPE
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateMinMax(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1007,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1007,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1010
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1010
    functionName: translateOutDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutDouble(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pErrBuf
    - len
    - pFuncName
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: invaildFuncParaValueErrMsg
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - buildFuncErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t invaildFuncParaValueErrMsg(char* pErrBuf, int32_t len,
      const char* pFuncName) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:100,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/function/src/builtins.c:114,1
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:101,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:119,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:120,1
    - Dst: validateHourRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:121,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:125,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:126,1
    - Dst: validateMinuteRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:127,1
    - Dst: isdigit
      Src: /src/tdengine/source/libs/function/src/builtins.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:148,1
    - Dst: validateHourRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:150,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:149,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:154,1
    - Dst: taosStr2Int8
      Src: /src/tdengine/source/libs/function/src/builtins.c:155,1
    - Dst: validateMinuteRange
      Src: /src/tdengine/source/libs/function/src/builtins.c:156,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 172
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 172
    functionName: validateTimezoneFormat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - isdigit
    - varDataLen
    - varDataVal
    - validateHourRange
    - taosStr2Int8
    - memcpy
    - validateMinuteRange
    linkageType: ''
    returnType: bool
    signature: 'static bool validateTimezoneFormat(const SValueNode* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:284,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: paramSupportNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportNull(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:368,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:369,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:372,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:370,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:371,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 373
    functionName: paramSupportUSmallInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportUSmallInt(uint64_t typeFlag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DURATION_VAL
      Src: /src/tdengine/source/libs/function/src/builtins.c:49,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:54,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:54,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:58,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 2
    argNames:
    - dbPrec
    - pVal
    argTypes:
    - uint8_t
    - SValueNode*
    constantsTouched: []
    func_position:
      end: 69
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 69
    functionName: validateTimeUnitParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - IS_DURATION_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validateTimeUnitParam(uint8_t dbPrec, const SValueNode*
      pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: varDataLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:176,1
    - Dst: isspace
      Src: /src/tdengine/source/libs/function/src/builtins.c:182,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:177,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pVal
    - isLtrim
    argTypes:
    - SValueNode*
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 189
    functionName: countTrailingSpaces
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - isspace
    - varDataVal
    - varDataLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t countTrailingSpaces(const SValueNode* pVal, bool isLtrim) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:289,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: paramSupportBool
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportBool(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:376,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:380,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:378,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:379,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:377,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 381
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 381
    functionName: paramSupportUInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportUInt(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:398,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:399,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:400,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:401,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: paramSupportVarBinary
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportVarBinary(uint64_t typeFlag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:799,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:804,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:799,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:804,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:799,1
    - Dst: validateTimeUnitParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:809,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pNode
    - precision
    - isMatch
    argTypes:
    - SNode*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 814
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 814
    functionName: checkTimeUnit
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_INTEGER_TYPE
    - IS_NULL_TYPE
    - validateTimeUnitParam
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkTimeUnit(SNode* pNode, int32_t precision, bool*
      isMatch) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1099,1
    - Dst: addPseudoParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1102,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1110
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1110
    functionName: translateRand
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - addPseudoParam
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRand(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1553,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1557
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1557
    functionName: translateToTimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateToTimestamp(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1580,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1585,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1592
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1592
    functionName: translateAddPrecOutBigint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - addUint8Param
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAddPrecOutBigint(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:405,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:406,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: paramSupportGeometry
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportGeometry(uint64_t typeFlag) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:847,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:829,1
    - Dst: checkPrimTS
      Src: /src/tdengine/source/libs/function/src/builtins.c:888,1
    - Dst: invaildFuncParaValueErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:925,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:927,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:930,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:933,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:936,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:939,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:942,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:842,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:860,1
    - Dst: checkFixedValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:876,1
    - Dst: checkPrimaryKey
      Src: /src/tdengine/source/libs/function/src/builtins.c:891,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:948,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:828,1
    - Dst: paramSupportNodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:854,1
    - Dst: paramSupportDataType
      Src: /src/tdengine/source/libs/function/src/builtins.c:860,1
    - Dst: checkRangeValue
      Src: /src/tdengine/source/libs/function/src/builtins.c:873,1
    - Dst: checkHasColumn
      Src: /src/tdengine/source/libs/function/src/builtins.c:894,1
    - Dst: checkTimeUnit
      Src: /src/tdengine/source/libs/function/src/builtins.c:900,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:950,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:945,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:827,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:921,1
    - Dst: checkValueNodeNotNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:897,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:923,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 81
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 953
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 953
    functionName: validateParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - checkPrimaryKey
    - checkTimeUnit
    - buildFuncErrMsg
    - invaildFuncParaNumErrMsg
    - checkFixedValue
    - checkHasColumn
    - paramSupportNodeType
    - checkPrimTS
    - checkRangeValue
    - checkValueNodeNotNull
    - invaildFuncParaValueErrMsg
    - getSDataTypeFromNode
    - invaildFuncParaTypeErrMsg
    - paramSupportDataType
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validateParam(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1560,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1563,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1569,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1577
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1577
    functionName: translateTimeTruncate
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - addUint8Param
    - addTimezoneParam
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTimeTruncate(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1595,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1598
      start: 1594
    functionDepth: 0
    functionLinenumber: 1594
    functionLinenumberEnd: 1598
    functionName: translateToJson
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateToJson(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - hour
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: validateHourRange
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool validateHourRange(int8_t hour) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:445,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:446,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: paramSupportColumnNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportColumnNode(uint64_t typeFlag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:519,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:521,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - binTypeStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 530
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 530
    functionName: validateHistogramBinType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t validateHistogramBinType(char* binTypeStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1048,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1048,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: translateOutUnsignedInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutUnsignedInt(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1446,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1449,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1446,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1448,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1448,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1449,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1451,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1451,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1452,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1458
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1458
    functionName: translateRepeat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - FUNC_ERR_RET
    - validateParam
    - TMAX
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateRepeat(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - hour
    - minute
    - sign
    argTypes:
    - int8_t
    - int8_t
    - char
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: validateMinuteRange
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool validateMinuteRange(int8_t hour, int8_t minute, char sign) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportValueNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:453,1
    - Dst: paramSupportLogicConNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:459,1
    - Dst: paramSupportCaseWhenNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:461,1
    - Dst: paramSupportFunctionNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:457,1
    - Dst: paramSupportOperatorNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:455,1
    - Dst: paramSupportColumnNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 2
    argNames:
    - pNode
    - typeFlag
    argTypes:
    - SNode*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 467
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 467
    functionName: paramSupportNodeType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - paramSupportColumnNode
    - paramSupportCaseWhenNode
    - paramSupportOperatorNode
    - paramSupportFunctionNode
    - paramSupportValueNode
    - paramSupportLogicConNode
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportNodeType(SNode* pNode, uint64_t typeFlag) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:550,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:546,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:560,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:561,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:567,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:575,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:594,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:606,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:617,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:622,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:658,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:664,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:558,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:560,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:591,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:598,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:604,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:607,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:612,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:615,1
    - Dst: pow
      Src: /src/tdengine/source/libs/function/src/builtins.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:630,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:670,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:699,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:679,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:680,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:685,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:700,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/libs/function/src/builtins.c:678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:686,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:637,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:662,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:549,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:555,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:557,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:560,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:562,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:568,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:572,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:573,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:573,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:574,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:628,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:638,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:681,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:671,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:694,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:605,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:695,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:687,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:672,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:639,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/function/src/builtins.c:542,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/libs/function/src/builtins.c:545,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:554,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/libs/function/src/builtins.c:556,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/builtins.c:572,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:590,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:597,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/builtins.c:616,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:623,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:629,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/libs/function/src/builtins.c:655,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:631,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/function/src/builtins.c:599,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:588,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/libs/function/src/builtins.c:661,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:621,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/builtins.c:657,1
    - Dst: TSWAP
      Src: /src/tdengine/source/libs/function/src/builtins.c:652,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 174
    argCount: 4
    argNames:
    - binDescStr
    - binType
    - errMsg
    - msgLen
    argTypes:
    - char*
    - int8_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 702
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 702
    functionName: validateHistogramBinDesc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - TSWAP
    - snprintf
    - taosMemoryFree
    - cJSON_Delete
    - cJSON_Parse
    - isinf
    - taosMemoryCalloc
    - cJSON_GetArraySize
    - cJSON_IsBool
    - cJSON_IsArray
    - cJSON_IsNumber
    - cJSON_IsObject
    - cJSON_GetObjectItem
    - pow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validateHistogramBinDesc(char* binDescStr, int8_t binType,
      char* errMsg, int32_t msgLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1054,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1054,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1056,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1056,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1059,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1059,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1061,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1063,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1065,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1068,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1073
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1073
    functionName: translateSum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - IS_SIGNED_NUMERIC_TYPE
    - validateParam
    - IS_DECIMAL_TYPE
    - IS_FLOAT_TYPE
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSum(SFunctionNode* pFunc, char* pErrBuf, int32_t
      len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1461,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1471,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1478,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1468,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1463,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1484,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1488,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1502
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1502
    functionName: translateCast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - buildFuncErrMsg
    - IS_STR_DATA_TYPE
    - invaildFuncParaNumErrMsg
    - addUint8Param
    - invaildFuncParaTypeErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCast(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodesExprHasColumn
      Src: /src/tdengine/source/libs/function/src/builtins.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: checkHasColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesExprHasColumn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkHasColumn(SNode* pNode, bool* isMatch) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1617,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1621
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1621
    functionName: translateIn2GeomOutBool
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateIn2GeomOutBool(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:791,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:791,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 796
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 796
    functionName: checkValueNodeNotNull
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - getSDataTypeFromNode
    - IS_NULL_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkValueNodeNotNull(SNode* pNode, bool* isMatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1624,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1629,1
    - Dst: invaildFuncParaNumErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1631
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1631
    functionName: translateSelectValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    - invaildFuncParaNumErrMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSelectValue(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:326,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:327,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: paramSupportFloat
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportFloat(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:352,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:356,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:354,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:355,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 357
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 357
    functionName: paramSupportNchar
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportNchar(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:384,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:386,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:387,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:385,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:388,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 389
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 389
    functionName: paramSupportUBigInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportUBigInt(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:332,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:333,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: paramSupportDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportDouble(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:360,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:363,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:361,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:362,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 365
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 365
    functionName: paramSupportUTinyInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportUTinyInt(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:392,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:393,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: paramSupportJSON
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportJSON(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: forecastEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'static EFuncReturnRows forecastEstReturnRows(SFunctionNode* pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1305,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1306,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1305,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1306,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1309,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1309,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1311,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1318
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1318
    functionName: translateDiff
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - FUNC_ERR_RET
    - IS_SIGNED_NUMERIC_TYPE
    - validateParam
    - IS_TIMESTAMP_TYPE
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateDiff(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:261,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:268,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 272
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 272
    functionName: addPseudoParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addPseudoParam(SNodeList** pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:310,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:314,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:312,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:313,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: paramSupportInt
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportInt(uint64_t typeFlag) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportNull
      Src: /src/tdengine/source/libs/function/src/builtins.c:472,1
    - Dst: paramSupportSmallint
      Src: /src/tdengine/source/libs/function/src/builtins.c:478,1
    - Dst: paramSupportDouble
      Src: /src/tdengine/source/libs/function/src/builtins.c:486,1
    - Dst: paramSupportJSON
      Src: /src/tdengine/source/libs/function/src/builtins.c:502,1
    - Dst: paramSupportGeometry
      Src: /src/tdengine/source/libs/function/src/builtins.c:506,1
    - Dst: paramSupportUTinyInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:494,1
    - Dst: paramSupportInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:480,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:488,1
    - Dst: paramSupportUSmallInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:496,1
    - Dst: paramSupportVarBinary
      Src: /src/tdengine/source/libs/function/src/builtins.c:504,1
    - Dst: paramSupportBool
      Src: /src/tdengine/source/libs/function/src/builtins.c:474,1
    - Dst: paramSupportBigint
      Src: /src/tdengine/source/libs/function/src/builtins.c:482,1
    - Dst: paramSupportTimestamp
      Src: /src/tdengine/source/libs/function/src/builtins.c:490,1
    - Dst: paramSupportUInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:498,1
    - Dst: paramSupportDecimal
      Src: /src/tdengine/source/libs/function/src/builtins.c:509,1
    - Dst: paramSupportTinyint
      Src: /src/tdengine/source/libs/function/src/builtins.c:476,1
    - Dst: paramSupportFloat
      Src: /src/tdengine/source/libs/function/src/builtins.c:484,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:492,1
    - Dst: paramSupportUBigInt
      Src: /src/tdengine/source/libs/function/src/builtins.c:500,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 21
    argCount: 2
    argNames:
    - pDataType
    - typeFlag
    argTypes:
    - SDataType*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 513
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 513
    functionName: paramSupportDataType
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - paramSupportNchar
    - paramSupportUTinyInt
    - paramSupportSmallint
    - paramSupportBool
    - paramSupportUSmallInt
    - paramSupportUBigInt
    - paramSupportGeometry
    - paramSupportBigint
    - paramSupportJSON
    - paramSupportVarchar
    - paramSupportDouble
    - paramSupportInt
    - paramSupportTimestamp
    - paramSupportTinyint
    - paramSupportVarBinary
    - paramSupportDecimal
    - paramSupportUInt
    - paramSupportNull
    - paramSupportFloat
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportDataType(SDataType* pDataType, uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1081
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1081
    functionName: translateWduration
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateWduration(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1203
    functionName: csumEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'static EFuncReturnRows csumEstReturnRows(SFunctionNode* pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1220
    functionName: derivativeEstReturnRows
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesListGetNode
    linkageType: ''
    returnType: EFuncReturnRows
    signature: 'static EFuncReturnRows derivativeEstReturnRows(SFunctionNode* pFunc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1505,1
    - Dst: validateTimezoneFormat
      Src: /src/tdengine/source/libs/function/src/builtins.c:1510,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1506,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1509,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1505,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1511,1
    - Dst: addTimezoneParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1523
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1523
    functionName: translateToIso8601
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - validateTimezoneFormat
    - FUNC_ERR_RET
    - validateParam
    - addTimezoneParam
    - buildFuncErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateToIso8601(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesIsExprNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SNode*
    constantsTouched: []
    func_position:
      end: 281
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 281
    functionName: getSDataTypeFromNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesIsExprNode
    linkageType: ''
    returnType: SDataType*
    signature: 'static SDataType * getSDataTypeFromNode(SNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:318,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:320,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:321,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:319,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: paramSupportBigint
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportBigint(uint64_t typeFlag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1096
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1096
    functionName: translateNowToday
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - addUint8Param
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateNowToday(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1206,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1206,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1208,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1213,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1215
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1215
    functionName: translateSampleTail
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_STR_DATA_TYPE
    - FUNC_ERR_RET
    - validateParam
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateSampleTail(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1223,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1223,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1233
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1233
    functionName: translateAddPrecOutDouble
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - addUint8Param
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateAddPrecOutDouble(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1526,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1530,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1527,1
    - Dst: buildFuncErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1536,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1526,1
    - Dst: addUint8Param
      Src: /src/tdengine/source/libs/function/src/builtins.c:1543,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1550
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1550
    functionName: translateToUnixtimestamp
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - FUNC_ERR_RET
    - validateParam
    - addUint8Param
    - buildFuncErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateToUnixtimestamp(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reserveFirstMergeParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1171,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1174,1
    - Dst: nodesListStrictAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:1176,1
    - Dst: nodesCloneNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1174,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pRawParameters
    - pPartialRes
    - pParameters
    argTypes:
    - SNodeList*
    - SNode*
    - SNodeList**
    constantsTouched: []
    func_position:
      end: 1180
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1180
    functionName: apercentileCreateMergeParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesListStrictAppend
    - nodesCloneNode
    - nodesListGetNode
    - reserveFirstMergeParam
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t apercentileCreateMergeParam(SNodeList* pRawParameters, SNode*
      pPartialRes, SNodeList** pParameters) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1601,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1602,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1602,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1601,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1606
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1606
    functionName: translateOutGeom
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - nodesListGetNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateOutGeom(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1636
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1636
    functionName: translateBlockDistFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateBlockDistFunc(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1814,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1814,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1821,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/libs/function/src/builtins.c:1820,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1821,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1823,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1836,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1839,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1840,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1845,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1858,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1855,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/builtins.c:1851,1
    - Dst: vectorGetConvertType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1849,1
    - Dst: IS_COMPARE_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1866
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1866
    functionName: translateGreatestleast
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - IS_COMPARE_STR_DATA_TYPE
    - IS_NULL_TYPE
    - FUNC_ERR_RET
    - validateParam
    - vectorGetConvertType
    - TMAX
    - IS_MATHABLE_TYPE
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateGreatestleast(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1182
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1182
    functionName: translateElapsedPartial
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateElapsedPartial(SFunctionNode* pFunc, char*
      pErrBuf, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1609,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1609,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1610,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1614
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1614
    functionName: translateInGeomOutStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_ERR_RET
    - getSDataTypeFromNode
    - nodesListGetNode
    - validateParam
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateInGeomOutStr(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1641
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1641
    functionName: getBlockDistFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool getBlockDistFuncEnv(SFunctionNode* UNUSED_PARAM(pFunc),
      SFuncExecEnv* pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1184
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1184
    functionName: translateElapsedMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateElapsedMerge(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:708,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:708,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - pNode
    - range
    - isMatch
    argTypes:
    - SNode*
    - SParamRange
    - bool*
    constantsTouched: []
    func_position:
      end: 723
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 723
    functionName: checkRangeValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_INTEGER_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkRangeValue(SNode* pNode, SParamRange range, bool*
      isMatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:762,1
    - Dst: IS_TIMESTAMP_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:762,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:762,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 768
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: checkPrimTS
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_TIMESTAMP_TYPE
    - nodeType
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkPrimTS(SNode* pNode, bool* isMatch) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1187,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1188,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1188,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1190,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1187,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1192,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:1194,1
    - Dst: invaildFuncParaTypeErrMsg
      Src: /src/tdengine/source/libs/function/src/builtins.c:1197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1201
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1201
    functionName: translateCsum
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - FUNC_ERR_RET
    - IS_SIGNED_NUMERIC_TYPE
    - validateParam
    - IS_FLOAT_TYPE
    - getSDataTypeFromNode
    - invaildFuncParaTypeErrMsg
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateCsum(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: paramSupportVarBinary
      Src: /src/tdengine/source/libs/function/src/builtins.c:727,1
    - Dst: paramSupportVarchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:728,1
    - Dst: paramSupportNchar
      Src: /src/tdengine/source/libs/function/src/builtins.c:728,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/libs/function/src/builtins.c:744,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - pNode
    - paramPattern
    - paramIdx
    - isMatch
    argTypes:
    - SNode*
    - SParamInfo*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 758
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 758
    functionName: checkFixedValue
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - paramSupportNchar
    - paramSupportVarBinary
    - paramSupportVarchar
    - taosStrcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkFixedValue(SNode* pNode, const SParamInfo* paramPattern,
      int32_t paramIdx, bool* isMatch) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:772,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:772,1
    - Dst: IS_INTEGER_TYPE
      Src: /src/tdengine/source/libs/function/src/builtins.c:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - isMatch
    argTypes:
    - SNode*
    - bool*
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: checkPrimaryKey
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - IS_INTEGER_TYPE
    - getSDataTypeFromNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkPrimaryKey(SNode* pNode, bool* isMatch) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:194,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:200,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/builtins.c:202,1
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:205,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/libs/function/src/builtins.c:199,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/libs/function/src/builtins.c:210,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:212,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/builtins.c:219,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:221,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/builtins.c:224,1
    - Dst: nodesListAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:227,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:229,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/builtins.c:225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/builtins.c:225,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - pList
    - tz
    argTypes:
    - SNodeList*
    - timezone_t
    constantsTouched: []
    func_position:
      end: 233
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 233
    functionName: addTimezoneParam
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesListAppend
    - taosStrndup
    - taosMemoryCalloc
    - taosTime
    - nodesDestroyNode
    - varDataVal
    - tstrncpy
    - strlen
    - varDataSetLen
    - taosLocalTime
    - taosStrfTime
    - nodesMakeNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addTimezoneParam(SNodeList* pList, timezone_t tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:421,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:422,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: paramSupportOperatorNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportOperatorNode(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:433,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:434,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: paramSupportLogicConNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportLogicConNode(uint64_t typeFlag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_ERR_RET
      Src: /src/tdengine/source/libs/function/src/builtins.c:1013,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1018,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1015,1
    - Dst: getSDataTypeFromNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:1015,1
    - Dst: validateParam
      Src: /src/tdengine/source/libs/function/src/builtins.c:1013,1
    - Dst: nodeType
      Src: /src/tdengine/source/libs/function/src/builtins.c:1022,1
    - Dst: countTrailingSpaces
      Src: /src/tdengine/source/libs/function/src/builtins.c:1024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pFunc
    - pErrBuf
    - len
    - isLtrim
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1030
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1030
    functionName: translateTrimStr
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodeType
    - FUNC_ERR_RET
    - validateParam
    - countTrailingSpaces
    - getSDataTypeFromNode
    - nodesListGetNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateTrimStr(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len, bool isLtrim) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesMakeNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:237,1
    - Dst: nodesListMakeAppend
      Src: /src/tdengine/source/libs/function/src/builtins.c:251,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/libs/function/src/builtins.c:253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pList
    - param
    argTypes:
    - SNodeList**
    - uint8_t
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: addUint8Param
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - nodesDestroyNode
    - nodesMakeNode
    - nodesListMakeAppend
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addUint8Param(SNodeList** pList, uint8_t param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:427,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:428,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: paramSupportFunctionNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportFunctionNode(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:439,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:440,1
    - Dst: FUNC_MGT_TEST_MASK
      Src: /src/tdengine/source/libs/function/src/builtins.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - typeFlag
    argTypes:
    - uint64_t
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: paramSupportCaseWhenNode
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - FUNC_MGT_TEST_MASK
    linkageType: ''
    returnType: bool
    signature: 'static bool paramSupportCaseWhenNode(uint64_t typeFlag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: translateTrimStr
      Src: /src/tdengine/source/libs/function/src/builtins.c:1033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pFunc
    - pErrBuf
    - len
    argTypes:
    - SFunctionNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1034
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1034
    functionName: translateLtrim
    functionSourceFile: /src/tdengine/source/libs/function/src/builtins.c
    functionUses: []
    functionsReached:
    - translateTrimStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t translateLtrim(SFunctionNode* pFunc, char* pErrBuf,
      int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:620,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:626,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:626,1
    - Dst: uv_err_name
      Src: /src/tdengine/source/libs/function/src/tudf.c:622,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:622,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:626,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:629,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pipeName
    - size
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 632
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 632
    functionName: getUdfdPipeName
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - snprintf
    - MurmurHash3_32
    - uv_os_getenv
    - strlen
    - fnInfo
    - uv_err_name
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void getUdfdPipeName(char *pipeName, int32_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:917,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:918,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - buf
    argTypes:
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 920
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 920
    functionName: freeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void freeUdfInterBuf(SUdfInterBuf *buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:1303,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1309,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1311,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1310,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1308,1
    - Dst: cleanupNotExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1315,1
    - Dst: cleanupExpiredUdfs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1316,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1320
    functionName: cleanUpUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - cleanupExpiredUdfs
    - cleanupNotExpiredUdfs
    - atomic_load_8
    - taosArrayGetSize
    - uv_mutex_lock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cleanUpUdfs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - setup
    argTypes:
    - void**
    - SUdfSetupRequest*
    constantsTouched: []
    func_position:
      end: 638
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 638
    functionName: encodeUdfSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfSetupRequest(void **buf, const SUdfSetupRequest *setup) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:924,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:935,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:949,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:972,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:955,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:975,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:983,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:929,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:982,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:966,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/libs/function/src/tudf.c:964,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:930,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:930,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:939,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:947,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/libs/function/src/tudf.c:954,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:968,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:985,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:990,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:923,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:953,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:977,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 2
    argNames:
    - block
    - udfBlock
    argTypes:
    - SSDataBlock*
    - SUdfDataBlock*
    constantsTouched: []
    func_position:
      end: 994
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 994
    functionName: convertDataBlockToUdfDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - BitmapLen
    - taosArrayGet
    - taosMemoryMalloc
    - blockDataCheck
    - taosMemoryCalloc
    - taosArrayGetSize
    - memcpy
    - colDataGetLength
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - TAOS_UDF_CHECK_PTR_RCODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertDataBlockToUdfDataBlock(SSDataBlock *block, SUdfDataBlock
      *udfBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:738,1
    - Dst: decodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:746,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:741,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:740,1
    - Dst: decodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:744,1
    - Dst: decodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfRequest*
    constantsTouched: []
    func_position:
      end: 751
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 751
    functionName: decodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - decodeUdfCallRequest
    - taosDecodeFixedI8
    - decodeUdfTeardownRequest
    - POINTER_SHIFT
    - decodeUdfSetupRequest
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfRequest(const void *buf, SUdfRequest *request) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1354,1
    - Dst: fmIsScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - struct SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1362
    functionName: udfAggGetEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - fmIsScalarFunc
    - fnError
    linkageType: ''
    returnType: bool
    signature: 'bool udfAggGetEnv(struct SFunctionNode *pFunc, SFuncExecEnv *pEnv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:755,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:757,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:758,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void**
    - SUdfSetupResponse*
    constantsTouched: []
    func_position:
      end: 760
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 760
    functionName: encodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfSetupResponse(void **buf, const SUdfSetupResponse
      *setupRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1365,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1375,1
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/tudf.c:1369,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1379,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1374,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:1381,1
    - Dst: doCallUdfAggInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1387,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1388,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1389,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1393,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1401,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1398,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1397,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - pCtx
    - pResultCellInfo
    argTypes:
    - struct SqlFunctionCtx*
    - struct SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 1404
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1404
    functionName: udfAggInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - acquireUdfFuncHandle
    - releaseUdfFuncHandle
    - doCallUdfAggInit
    - functionSetup
    - memset
    - freeUdfInterBuf
    - memcpy
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfAggInit(struct SqlFunctionCtx *pCtx, struct SResultRowEntryInfo
      *pResultCellInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:794,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:800,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:797,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:803,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:809,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void*
    - SUdfCallResponse*
    constantsTouched: []
    func_position:
      end: 813
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 813
    functionName: decodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - tDecodeDataBlock
    - decodeUdfInterBuf
    - taosDecodeFixedI8
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfCallResponse(const void *buf, SUdfCallResponse *callRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:901,1
    - Dst: freeUdfColumnData
      Src: /src/tdengine/source/libs/function/src/tudf.c:902,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - col
    argTypes:
    - SUdfColumn*
    constantsTouched: []
    func_position:
      end: 903
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 903
    functionName: freeUdfColumn
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - freeUdfColumnData
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void freeUdfColumn(SUdfColumn *col) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/libs/function/src/tudf.c:1166,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1179,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1193,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1186,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1185,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1198,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1208,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1168,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1165,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1170,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1176,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1184,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/libs/function/src/tudf.c:1189,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/libs/function/src/tudf.c:1201,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1205,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1161,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1188,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1202,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1203,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1204,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1163,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/libs/function/src/tudf.c:1181,1
    - Dst: doSetupUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1195,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 2
    argNames:
    - udfName
    - pHandle
    argTypes:
    - char*
    - UdfcFuncHandle*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1217
    functionName: acquireUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - uv_mutex_unlock
    - taosArrayRemove
    - fnDebug
    - fnError
    - tstrncpy
    - taosGetTimestampUs
    - fnInfo
    - taosArrayPush
    - taosArraySort
    - TAOS_UDF_CHECK_PTR_RCODE
    - doSetupUdf
    - uv_mutex_lock
    - taosArraySearchIdx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t acquireUdfFuncHandle(char *udfName, UdfcFuncHandle *pHandle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1272,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1279,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1281,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1274,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1278,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1282,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1284,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1288,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1289,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1300
    functionName: cleanupNotExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - fnInfo
    - taosArrayPush
    - taosArrayGetSize
    - doTeardownUdf
    - taosArrayInit
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void cleanupNotExpiredUdfs() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1601,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1631,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1619,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1625,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1610,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - handle
    - suggestedSize
    - buf
    argTypes:
    - uv_handle_t*
    - size_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1632
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1632
    functionName: udfcAllocateBuffer
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - taosMemoryMalloc
    - fnDebug
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfcAllocateBuffer(uv_handle_t *handle, size_t suggestedSize,
      uv_buf_t *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1920,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1924,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1922,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1925,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1921,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1926,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1927,1
    - Dst: udfcStartUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:1928,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1930,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 1936
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1936
    functionName: udfcAsyncTaskCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - QUEUE_REMOVE
    - QUEUE_DATA
    - QUEUE_INSERT_TAIL
    - udfcStartUvTask
    - QUEUE_MOVE
    - uv_mutex_lock
    - QUEUE_HEAD
    - uv_sem_post
    linkageType: ''
    returnType: void
    signature: 'void udfcAsyncTaskCb(uv_async_t *async) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - teardownRsp
    argTypes:
    - void**
    - SUdfTeardownResponse*
    constantsTouched: []
    func_position:
      end: 815
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 815
    functionName: encodeUdfTeardownResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfTeardownResponse(void **buf, const SUdfTeardownResponse
      *teardownRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:906,1
    - Dst: freeUdfColumn
      Src: /src/tdengine/source/libs/function/src/tudf.c:908,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:909,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - block
    argTypes:
    - SUdfDataBlock*
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: freeUdfDataDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeUdfColumn
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void freeUdfDataDataBlock(SUdfDataBlock *block) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:1220,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1224,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/libs/function/src/tudf.c:1225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1223,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1221,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1227,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1236,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - udfName
    - handle
    argTypes:
    - char*
    - UdfcFuncHandle
    constantsTouched: []
    func_position:
      end: 1237
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1237
    functionName: releaseUdfFuncHandle
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - taosArraySearch
    - tstrncpy
    - TAOS_UDF_CHECK_PTR_RVOID
    - uv_mutex_lock
    linkageType: ''
    returnType: void
    signature: 'void releaseUdfFuncHandle(char *udfName, UdfcFuncHandle handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - connBuf
    argTypes:
    - SClientConnBuf*
    constantsTouched: []
    func_position:
      end: 1643
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1643
    functionName: isUdfcUvMsgComplete
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - fnDebug
    linkageType: ''
    returnType: bool
    signature: 'bool isUdfcUvMsgComplete(SClientConnBuf *connBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1939,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1943,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1945,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1941,1
    - Dst: QUEUE_MOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1942,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1946,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1947,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1948,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1952,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1955,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1956,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1957,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1958,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1962,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - udfc
    argTypes:
    - SUdfcProxy*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1964
    functionName: cleanUpUvTasks
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_REMOVE
    - QUEUE_DATA
    - QUEUE_MOVE
    - uv_mutex_lock
    - QUEUE_HEAD
    - uv_sem_post
    linkageType: ''
    returnType: void
    signature: 'void cleanUpUvTasks(SUdfcProxy *udfc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2017,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2024,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2042,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2039,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2018,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:2023,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2029,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2034,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:2019,1
    - Dst: getUdfdPipeName
      Src: /src/tdengine/source/libs/function/src/tudf.c:2015,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2025,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2027,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2045,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2010,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2020,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2021,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:2032,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:2038,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2035,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2026,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2047
    functionName: udfcOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - getUdfdPipeName
    - uv_mutex_init
    - uv_barrier_init
    - taosArrayDestroy
    - atomic_store_8
    - fnError
    - fnInfo
    - atomic_val_compare_exchange_8
    - uv_thread_create
    - uv_barrier_wait
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcOpen() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2340
    functionName: cleanUpUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cleanUpUdfs() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:681,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:688,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:682,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:685,1
    - Dst: tDecodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:691,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:692,1
    - Dst: decodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void*
    - SUdfCallRequest*
    constantsTouched: []
    func_position:
      end: 703
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 703
    functionName: decodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - decodeUdfInterBuf
    - taosDecodeFixedI8
    - tDecodeDataBlock
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfCallRequest(const void *buf, SUdfCallRequest *call) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:763,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:766,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:764,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:765,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - setupRsp
    argTypes:
    - void*
    - SUdfSetupResponse*
    constantsTouched: []
    func_position:
      end: 768
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 768
    functionName: decodeUdfSetupResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI32
    - taosDecodeFixedI8
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfSetupResponse(const void *buf, SUdfSetupResponse *setupRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/function/src/tudf.c:1241,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1247,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1246,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1249,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1243,1
    - Dst: doTeardownUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1251,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1253,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/function/src/tudf.c:1257,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1258,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1267,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1269
    functionName: cleanupExpiredUdfs
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - fnInfo
    - taosArrayPush
    - taosArrayGetSize
    - doTeardownUdf
    - taosArrayInit
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void cleanupExpiredUdfs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - interBuf
    - resultData
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2266
    functionDepth: 0
    functionLinenumber: 2266
    functionLinenumberEnd: 2270
    functionName: doCallUdfAggFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCallUdfAggFinalize(UdfcFuncHandle handle, SUdfInterBuf *interBuf,
      SUdfInterBuf *resultData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void**
    - SUdfTeardownRequest*
    constantsTouched: []
    func_position:
      end: 709
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 709
    functionName: encodeUdfTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfTeardownRequest(void **buf, const SUdfTeardownRequest
      *teardown) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:772,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:787,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:778,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:775,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:781,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - buf
    - callRsp
    argTypes:
    - void**
    - SUdfCallResponse*
    constantsTouched: []
    func_position:
      end: 791
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 791
    functionName: encodeUdfCallResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - tEncodeDataBlock
    - taosEncodeFixedI8
    - encodeUdfInterBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfCallResponse(void **buf, const SUdfCallResponse *callRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1323,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1325,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1334,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1333,1
    - Dst: doCallUdfScalarFunc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1331,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1339,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1343,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1348,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - udfName
    - input
    - numOfCols
    - output
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1322
    functionDepth: 0
    functionLinenumber: 1322
    functionLinenumberEnd: 1350
    functionName: callUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - acquireUdfFuncHandle
    - releaseUdfFuncHandle
    - TAOS_UDF_CHECK_PTR_RCODE
    - doCallUdfScalarFunc
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t callUdfScalarFunc(char *udfName, SScalarParam *input, int32_t
      numOfCols, SScalarParam *output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: convertScalarParamToDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2275,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2277,1
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2281,1
    - Dst: convertDataBlockToScalarParm
      Src: /src/tdengine/source/libs/function/src/tudf.c:2283,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2284,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/libs/function/src/tudf.c:2287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - handle
    - input
    - numOfCols
    - output
    argTypes:
    - UdfcFuncHandle
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2289
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2289
    functionName: doCallUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - blockDataFreeRes
    - convertScalarParamToDataBlock
    - taosArrayDestroy
    - callUdf
    - convertDataBlockToScalarParm
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCallUdfScalarFunc(UdfcFuncHandle handle, SScalarParam *input,
      int32_t numOfCols, SScalarParam *output) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileName
      Src: /src/tdengine/source/libs/function/src/tudf.c:94,1
    - Dst: _NSGetExecutablePath
      Src: /src/tdengine/source/libs/function/src/tudf.c:98,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:99,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:103,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:112,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:123,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/function/src/tudf.c:145,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:160,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:172,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:173,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:203,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:270,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:236,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:215,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:221,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:85,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/libs/function/src/tudf.c:102,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:138,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:110,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:113,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:157,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:162,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:164,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:176,1
    - Dst: AssignProcessToJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:238,1
    - Dst: SetInformationJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:246,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:248,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:84,1
    - Dst: TAOS_UV_LIB_ERROR_RET
      Src: /src/tdengine/source/libs/function/src/tudf.c:123,1
    - Dst: taosGetCpuCores
      Src: /src/tdengine/source/libs/function/src/tudf.c:141,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:146,1
    - Dst: getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:170,1
    - Dst: TAOS_STRNCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:177,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/libs/function/src/tudf.c:189,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:195,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:202,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:214,1
    - Dst: CreateJobObject
      Src: /src/tdengine/source/libs/function/src/tudf.c:237,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:256,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:178,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:209,1
    - Dst: uv_spawn
      Src: /src/tdengine/source/libs/function/src/tudf.c:231,1
    - Dst: TAOS_DIRNAME
      Src: /src/tdengine/source/libs/function/src/tudf.c:95,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:107,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:143,1
    - Dst: TAOS_STRCAT
      Src: /src/tdengine/source/libs/function/src/tudf.c:115,1
    - Dst: uv_os_getenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:152,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/function/src/tudf.c:156,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:167,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:174,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:180,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:254,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/tudf.c:243,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:261,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:254,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:240,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 158
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SUdfdData*
    constantsTouched: []
    func_position:
      end: 274
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 274
    functionName: udfSpawnUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_pipe_init
    - taosMemoryCalloc
    - CloseHandle
    - SetInformationJobObject
    - GetModuleFileName
    - TAOS_STRCAT
    - taosMemoryMalloc
    - CreateJobObject
    - TAOS_STRNCAT
    - AssignProcessToJobObject
    - TAOS_STRNCPY
    - uv_strerror
    - uv_spawn
    - TAOS_UV_LIB_ERROR_RET
    - _NSGetExecutablePath
    - tstrncpy
    - memset
    - TMAX
    - snprintf
    - getenv
    - uv_os_getenv
    - ARRAY_SIZE
    - fnInfo
    - strlen
    - TAOS_DIRNAME
    - TAOS_UDF_CHECK_PTR_RCODE
    - taosGetCpuCores
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t udfSpawnUdfd(SUdfdData *pData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1703,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1715,1
    - Dst: isUdfcUvMsgComplete
      Src: /src/tdengine/source/libs/function/src/tudf.c:1710,1
    - Dst: udfcUvHandleRsp
      Src: /src/tdengine/source/libs/function/src/tudf.c:1711,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1715,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1717,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - client
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    constantsTouched: []
    func_position:
      end: 1721
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1721
    functionName: onUdfcPipeRead
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - udfcUvHandleError
    - fnDebug
    - udfcUvHandleRsp
    - uv_strerror
    - isUdfcUvMsgComplete
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void onUdfcPipeRead(uv_stream_t *client, ssize_t nread, const uv_buf_t
      *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:277,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:278,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    constantsTouched: []
    func_position:
      end: 281
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 281
    functionName: udfUdfdCloseWalkCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - uv_close
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'static void udfUdfdCloseWalkCb(uv_handle_t *handle, void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1726,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1729,1
    - Dst: udfcUvHandleError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1731,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - write
    - status
    argTypes:
    - uv_write_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1732
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1732
    functionName: onUdfcPipeWrite
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - udfcUvHandleError
    - fnDebug
    - uv_strerror
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void onUdfcPipeWrite(uv_write_t *write, int32_t status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2076,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2078,1
    - Dst: udfcInitializeUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2083,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2081,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2084,1
    - Dst: udfcQueueUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2085,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2086,1
    - Dst: udfcGetUdfTaskResultFromUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2087,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2088,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2097,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2099,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - task
    - uvTaskType
    argTypes:
    - SClientUdfTask*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2104
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2104
    functionName: udfcRunUdfUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - taosMemoryCalloc
    - fnDebug
    - fnError
    - udfcGetUdfTaskResultFromUvTask
    - udfcQueueUvTask
    - udfcInitializeUvTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcRunUdfUvTask(SClientUdfTask *task, int8_t uvTaskType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2107,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:2113,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:2112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - task
    argTypes:
    - SClientUdfTask*
    constantsTouched: []
    func_position:
      end: 2114
      start: 2106
    functionDepth: 0
    functionLinenumber: 2106
    functionLinenumberEnd: 2114
    functionName: freeTaskSession
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - uv_mutex_lock
    - uv_mutex_unlock
    linkageType: ''
    returnType: void
    signature: 'static void freeTaskSession(SClientUdfTask *task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1737,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1737,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1743,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1743,1
    - Dst: uv_read_start
      Src: /src/tdengine/source/libs/function/src/tudf.c:1741,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1746,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1747,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - connect
    - status
    argTypes:
    - uv_connect_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1749
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1749
    functionName: onUdfcPipeConnect
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - QUEUE_REMOVE
    - uv_read_start
    - uv_strerror
    - uv_sem_post
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void onUdfcPipeConnect(uv_connect_t *connect, int32_t status) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/libs/function/src/tudf.c:1760,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1776,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1772,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1780,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1774,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1782,1
    - Dst: encodeUdfRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:1786,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1788,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1792,1
    - Dst: uv_sem_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1797,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1799,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1801,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 3
    argNames:
    - task
    - uvTaskType
    - uvTask
    argTypes:
    - SClientUdfTask*
    - int8_t
    - SClientUvTaskNode*
    constantsTouched: []
    func_position:
      end: 1806
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1806
    functionName: udfcInitializeUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_64
    - taosMemoryFree
    - taosMemoryMalloc
    - encodeUdfRequest
    - uv_sem_init
    - uv_buf_init
    - taosMemoryFreeClear
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcInitializeUvTask(SClientUdfTask *task, int8_t uvTaskType,
      SClientUvTaskNode *uvTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:284,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: udfUdfdStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_stop
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'static void udfUdfdStopAsyncCb(uv_async_t *async) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:295,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:296,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:297,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:298,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:313,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:316,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:292,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:293,1
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:292,1
    - Dst: TAOS_UV_CHECK_ERRNO
      Src: /src/tdengine/source/libs/function/src/tudf.c:295,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:301,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:302,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:299,1
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:290,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:311,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:305,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:312,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:293,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:304,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:303,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:314,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - args
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 320
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 320
    functionName: udfWatchUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_loop_init
    - TAOS_UV_CHECK_ERRNO
    - uv_async_init
    - udfSpawnUdfd
    - uv_walk
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnInfo
    - uv_loop_close
    - uv_run
    - atomic_store_32
    - uv_barrier_wait
    - fnError
    linkageType: ''
    returnType: void
    signature: 'static void udfWatchUdfd(void *args) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeBinaryTo
      Src: /src/tdengine/source/libs/function/src/tudf.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void*
    - SUdfSetupRequest*
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: decodeUdfSetupRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeBinaryTo
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfSetupRequest(const void *buf, SUdfSetupRequest *request) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1526,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1527,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1531,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1528,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1530,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1533,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1541
    functionName: onUdfcPipeClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_mutex_unlock
    - QUEUE_EMPTY
    - QUEUE_REMOVE
    - QUEUE_DATA
    - uv_sem_post
    - uv_mutex_lock
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void onUdfcPipeClose(uv_handle_t *handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/function/src/tudf.c:2050,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2058,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2061,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:2060,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:2057,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2063,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2064,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2065,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2066,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2067,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2070,1
    - Dst: uv_mutex_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2072
    functionName: udfcClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_destroy
    - taosArrayDestroy
    - uv_thread_join
    - fnInfo
    - uv_barrier_destroy
    - uv_async_send
    - atomic_val_compare_exchange_8
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcClose() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2342
    functionName: udfcClose
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcClose() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2296,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2301,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2304,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2297,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2314,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2317,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2319,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2333,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2332,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - UdfcFuncHandle
    constantsTouched: []
    func_position:
      end: 2336
      start: 2291
    functionDepth: 0
    functionLinenumber: 2291
    functionLinenumberEnd: 2336
    functionName: doTeardownUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - freeTaskSession
    - taosMemoryCalloc
    - udfcRunUdfUvTask
    - fnInfo
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doTeardownUdf(UdfcFuncHandle handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:647,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:649,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void**
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: encodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosEncodeBinary
    - taosEncodeFixedI8
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfInterBuf(void **buf, const SUdfInterBuf *state) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1545,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1578,1
    - Dst: decodeUdfResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:1549,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/function/src/tudf.c:1574,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1552,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1584,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1589,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - task
    - uvTask
    argTypes:
    - SClientUdfTask*
    - SClientUvTaskNode*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1593
    functionName: udfcGetUdfTaskResultFromUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - decodeUdfResponse
    - taosMemoryFreeClear
    - fnDebug
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcGetUdfTaskResultFromUvTask(SClientUdfTask *task, SClientUvTaskNode
      *uvTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1081,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1082,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1083,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1092,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1088,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - input
    - output
    argTypes:
    - SSDataBlock*
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1096
    functionName: convertDataBlockToScalarParm
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosArrayGet
    - taosArrayGetSize
    - memcpy
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertDataBlockToScalarParm(SSDataBlock *input, SScalarParam
      *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2344
    functionName: udfStopUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void udfStopUdfd() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:365,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:371,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:369,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:366,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:372,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:373,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:375,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:376,1
    - Dst: CloseHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:380,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: udfStopUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - uv_thread_join
    - fnInfo
    - uv_barrier_destroy
    - uv_async_send
    - CloseHandle
    - atomic_store_32
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfStopUdfd() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:654,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:655,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/libs/function/src/tudf.c:656,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - state
    argTypes:
    - void*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 658
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 658
    functionName: decodeUdfInterBuf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI32
    - taosDecodeFixedI8
    - taosDecodeBinary
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfInterBuf(const void *buf, SUdfInterBuf *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - buf
    - teardownResponse
    argTypes:
    - void*
    - SUdfTeardownResponse*
    constantsTouched: []
    func_position:
      end: 817
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 817
    functionName: decodeUdfTeardownResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfTeardownResponse(const void *buf, SUdfTeardownResponse
      *teardownResponse) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1649,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1650,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1655,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1659,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1656,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1665,1
    - Dst: QUEUE_NEXT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1669,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1670,1
    - Dst: uv_buf_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1674,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1675,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1679,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1677,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1676,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1645
    functionDepth: 0
    functionLinenumber: 1645
    functionLinenumberEnd: 1685
    functionName: udfcUvHandleRsp
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_REMOVE
    - QUEUE_NEXT
    - QUEUE_DATA
    - uv_buf_init
    - uv_sem_post
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfcUvHandleRsp(SClientUvConn *conn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2118,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2125,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2126,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2120,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2133,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2136,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2138,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:2139,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2149,1
    - Dst: freeTaskSession
      Src: /src/tdengine/source/libs/function/src/tudf.c:2156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2157,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:2146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 2
    argNames:
    - udfName
    - funcHandle
    argTypes:
    - char
    - UdfcFuncHandle*
    constantsTouched: []
    func_position:
      end: 2159
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2159
    functionName: doSetupUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - freeTaskSession
    - taosMemoryCalloc
    - tstrncpy
    - udfcRunUdfUvTask
    - fnInfo
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSetupUdf(char udfName[], UdfcFuncHandle *funcHandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - interBuf
    argTypes:
    - UdfcFuncHandle
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 2244
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2244
    functionName: doCallUdfAggInit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCallUdfAggInit(UdfcFuncHandle handle, SUdfInterBuf *interBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:65,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:72,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:73,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:66,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:69,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:75,1
    - Dst: udfSpawnUdfd
      Src: /src/tdengine/source/libs/function/src/tudf.c:76,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - process
    - exitStatus
    - termSignal
    argTypes:
    - uv_process_t*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 81
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 81
    functionName: udfUdfdExit
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - udfSpawnUdfd
    - TAOS_UDF_CHECK_PTR_RVOID
    - fnInfo
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void udfUdfdExit(uv_process_t *process, int64_t exitStatus, int32_t
      termSignal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:662,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:667,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:663,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:665,1
    - Dst: tEncodeDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:669,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:670,1
    - Dst: encodeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - buf
    - call
    argTypes:
    - void**
    - SUdfCallRequest*
    constantsTouched: []
    func_position:
      end: 678
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 678
    functionName: encodeUdfCallRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - encodeUdfInterBuf
    - tEncodeDataBlock
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfCallRequest(void **buf, const SUdfCallRequest *call) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:824,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:833,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:834,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:835,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:830,1
    - Dst: encodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:839,1
    - Dst: encodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:842,1
    - Dst: encodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:845,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:848,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void**
    - SUdfResponse*
    constantsTouched: []
    func_position:
      end: 852
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 852
    functionName: encodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - encodeUdfSetupResponse
    - taosEncodeFixedI8
    - encodeUdfTeardownResponse
    - POINTER_SHIFT
    - taosEncodeFixedI64
    - encodeUdfCallResponse
    - taosEncodeFixedI32
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfResponse(void **buf, const SUdfResponse *rsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/function/src/tudf.c:1157,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - elem1
    - elem2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1158
    functionName: compareUdfcFuncSub
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareUdfcFuncSub(const void *elem1, const void *elem2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1688,1
    - Dst: QUEUE_DATA
      Src: /src/tdengine/source/libs/function/src/tudf.c:1691,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1693,1
    - Dst: QUEUE_EMPTY
      Src: /src/tdengine/source/libs/function/src/tudf.c:1689,1
    - Dst: QUEUE_HEAD
      Src: /src/tdengine/source/libs/function/src/tudf.c:1690,1
    - Dst: QUEUE_REMOVE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1694,1
    - Dst: uv_sem_post
      Src: /src/tdengine/source/libs/function/src/tudf.c:1695,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:1697,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1698,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - conn
    argTypes:
    - SClientUvConn*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1700
    functionName: udfcUvHandleError
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_is_closing
    - QUEUE_EMPTY
    - fnDebug
    - QUEUE_REMOVE
    - uv_close
    - QUEUE_DATA
    - uv_sem_post
    - QUEUE_HEAD
    linkageType: ''
    returnType: void
    signature: 'void udfcUvHandleError(SClientUvConn *conn) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:2163,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2166,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2171,1
    - Dst: udfcRunUdfUvTask
      Src: /src/tdengine/source/libs/function/src/tudf.c:2206,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:2169,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:2234,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 38
    argCount: 7
    argNames:
    - handle
    - callType
    - input
    - state
    - state2
    - output
    - newState
    argTypes:
    - UdfcFuncHandle
    - int8_t
    - SSDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    - SSDataBlock*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 2236
      start: 2161
    functionDepth: 0
    functionLinenumber: 2161
    functionLinenumberEnd: 2236
    functionName: callUdf
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - fnDebug
    - udfcRunUdfUvTask
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t callUdf(UdfcFuncHandle handle, int8_t callType, SSDataBlock
      *input, SUdfInterBuf *state, SUdfInterBuf *state2, SSDataBlock *output, SUdfInterBuf
      *newState) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:856,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/libs/function/src/tudf.c:861,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:858,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:859,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:860,1
    - Dst: decodeUdfSetupResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:865,1
    - Dst: decodeUdfCallResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:868,1
    - Dst: decodeUdfTeardownResponse
      Src: /src/tdengine/source/libs/function/src/tudf.c:871,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:875,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:880,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - buf
    - rsp
    argTypes:
    - void*
    - SUdfResponse*
    constantsTouched: []
    func_position:
      end: 883
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 883
    functionName: decodeUdfResponse
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - decodeUdfSetupResponse
    - decodeUdfCallResponse
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - decodeUdfTeardownResponse
    - fnError
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfResponse(const void *buf, SUdfResponse *rsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RVOID
      Src: /src/tdengine/source/libs/function/src/tudf.c:886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:893,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:890,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/tudf.c:887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:895,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - data
    - meta
    argTypes:
    - SUdfColumnData*
    - SUdfColumnMeta*
    constantsTouched: []
    func_position:
      end: 898
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 898
    functionName: freeUdfColumnData
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFree
    - TAOS_UDF_CHECK_PTR_RVOID
    linkageType: ''
    returnType: void
    signature: 'void freeUdfColumnData(SUdfColumnData *data, SUdfColumnMeta *meta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: callUdf
      Src: /src/tdengine/source/libs/function/src/tudf.c:2250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - block
    - state
    - newState
    argTypes:
    - UdfcFuncHandle
    - SSDataBlock*
    - SUdfInterBuf*
    - SUdfInterBuf*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2252
    functionName: doCallUdfAggProcess
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - callUdf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCallUdfAggProcess(UdfcFuncHandle handle, SSDataBlock *block,
      SUdfInterBuf *state, SUdfInterBuf *newState) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cleanUpUvTasks
      Src: /src/tdengine/source/libs/function/src/tudf.c:1968,1
    - Dst: uv_stop
      Src: /src/tdengine/source/libs/function/src/tudf.c:1970,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - async
    argTypes:
    - uv_async_t*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1972
    functionName: udfStopAsyncCb
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - cleanUpUvTasks
    - uv_stop
    linkageType: ''
    returnType: void
    signature: 'void udfStopAsyncCb(uv_async_t *async) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:325,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:339,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:340,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:352,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:335,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/function/src/tudf.c:334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:338,1
    - Dst: uv_thread_create
      Src: /src/tdengine/source/libs/function/src/tudf.c:339,1
    - Dst: uv_os_setenv
      Src: /src/tdengine/source/libs/function/src/tudf.c:335,1
    - Dst: uv_barrier_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:338,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:358,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:344,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/libs/function/src/tudf.c:341,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:329,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:345,1
    - Dst: uv_thread_join
      Src: /src/tdengine/source/libs/function/src/tudf.c:347,1
    - Dst: uv_barrier_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 361
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 361
    functionName: udfStartUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - uv_barrier_init
    - atomic_load_32
    - uv_thread_join
    - fnInfo
    - uv_barrier_destroy
    - uv_async_send
    - uv_thread_create
    - uv_os_setenv
    - uv_barrier_wait
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfStartUdfd(int32_t startDnodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:997,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1003,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1002,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1005,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1001,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1006,1
    - Dst: bdGetColumnInfoData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1009,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1010,1
    - Dst: udfColDataIsNull
      Src: /src/tdengine/source/libs/function/src/tudf.c:1013,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1014,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1018,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/libs/function/src/tudf.c:1023,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1027,1
    - Dst: udfColDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1016,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1024,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1017,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - udfCol
    - block
    argTypes:
    - SUdfColumn*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1030
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1030
    functionName: convertUdfColumnToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - blockDataAppendColInfo
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - blockDataCheck
    - udfColDataIsNull
    - bdGetColumnInfoData
    - udfColDataGetData
    - TAOS_UDF_CHECK_PTR_RCODE
    - createColumnInfoData
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertUdfColumnToDataBlock(SUdfColumn *udfCol, SSDataBlock
      *block) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - startDnodeId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2343
      start: 2343
    functionDepth: 0
    functionLinenumber: 2343
    functionLinenumberEnd: 2343
    functionName: udfStartUdfd
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfStartUdfd(int32_t startDnodeId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1809,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1812,1
    - Dst: uv_mutex_lock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1811,1
    - Dst: uv_mutex_unlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1813,1
    - Dst: uv_async_send
      Src: /src/tdengine/source/libs/function/src/tudf.c:1814,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1816,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1816,1
    - Dst: uv_sem_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:1820,1
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1821,1
    - Dst: uv_sem_destroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1822,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1825
    functionName: udfcQueueUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - uv_mutex_unlock
    - fnDebug
    - uv_sem_destroy
    - QUEUE_INSERT_TAIL
    - uv_async_send
    - uv_strerror
    - uv_mutex_lock
    - uv_sem_wait
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcQueueUvTask(SClientUvTaskNode *uvTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1049,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1046,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/libs/function/src/tudf.c:1049,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1046,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/tudf.c:1052,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1055,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/libs/function/src/tudf.c:1055,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/tudf.c:1060,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1062,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1066,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1075,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/tudf.c:1066,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/tudf.c:1064,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - input
    - numOfCols
    - output
    argTypes:
    - SScalarParam*
    - int32_t
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1078
      start: 1032
    functionDepth: 0
    functionLinenumber: 1032
    functionLinenumberEnd: 1078
    functionName: convertScalarParamToDataBlock
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - blockDataAppendColInfo
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataAssign
    - colDataSetVal
    - colDataIsNull_s
    - colDataSetNNULL
    - colDataGetData
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertScalarParamToDataBlock(SScalarParam *input, int32_t
      numOfCols, SSDataBlock *output) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fnDebug
      Src: /src/tdengine/source/libs/function/src/tudf.c:1828,1
    - Dst: uv_pipe_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1838,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1840,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1847,1
    - Dst: uv_write
      Src: /src/tdengine/source/libs/function/src/tudf.c:1885,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1879,1
    - Dst: uv_is_closing
      Src: /src/tdengine/source/libs/function/src/tudf.c:1901,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1839,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1835,1
    - Dst: uv_pipe_connect
      Src: /src/tdengine/source/libs/function/src/tudf.c:1868,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1887,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1888,1
    - Dst: uv_strerror
      Src: /src/tdengine/source/libs/function/src/tudf.c:1888,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1909,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1856,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1860,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1863,1
    - Dst: QUEUE_INSERT_TAIL
      Src: /src/tdengine/source/libs/function/src/tudf.c:1900,1
    - Dst: uv_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1902,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1833,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/tudf.c:1845,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1848,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1864,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1862,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 1
    argNames:
    - uvTask
    argTypes:
    - SClientUvTaskNode*
    constantsTouched: []
    func_position:
      end: 1914
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1914
    functionName: udfcStartUvTask
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uv_pipe_init
    - taosMemoryMalloc
    - uv_is_closing
    - taosMemoryCalloc
    - uv_pipe_connect
    - fnDebug
    - uv_close
    - QUEUE_INSERT_TAIL
    - uv_write
    - uv_strerror
    - QUEUE_INIT
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcStartUvTask(SClientUvTaskNode *uvTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_loop_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1977,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1981,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1984,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1988,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1978,1
    - Dst: uv_mutex_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1986,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:2005,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1987,1
    - Dst: QUEUE_INIT
      Src: /src/tdengine/source/libs/function/src/tudf.c:1989,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:1992,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:2003,1
    - Dst: uv_walk
      Src: /src/tdengine/source/libs/function/src/tudf.c:1996,1
    - Dst: uv_run
      Src: /src/tdengine/source/libs/function/src/tudf.c:1997,1
    - Dst: uv_barrier_wait
      Src: /src/tdengine/source/libs/function/src/tudf.c:1990,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1980,1
    - Dst: uv_async_init
      Src: /src/tdengine/source/libs/function/src/tudf.c:1983,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:1994,1
    - Dst: uv_loop_close
      Src: /src/tdengine/source/libs/function/src/tudf.c:2000,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1998,1
    - Dst: fnInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1993,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - argsThread
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2006
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 2006
    functionName: constructUdfService
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - uv_loop_init
    - uv_mutex_init
    - uv_async_init
    - uv_walk
    - fnInfo
    - uv_loop_close
    - uv_run
    - QUEUE_INIT
    - uv_barrier_wait
    - fnError
    linkageType: ''
    returnType: void
    signature: 'void constructUdfService(void *argsThread) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - udfName
    - input
    - numOfCols
    - output
    argTypes:
    - char*
    - SScalarParam*
    - int32_t
    - SScalarParam*
    constantsTouched: []
    func_position:
      end: 2347
      start: 2345
    functionDepth: 0
    functionLinenumber: 2345
    functionLinenumberEnd: 2347
    functionName: callUdfScalarFunc
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t callUdfScalarFunc(char *udfName, SScalarParam *input, int32_t
      numOfCols, SScalarParam *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2341
    functionName: udfcOpen
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfcOpen() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - teardown
    argTypes:
    - void*
    - SUdfTeardownRequest*
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: decodeUdfTeardownRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    linkageType: ''
    returnType: void*
    signature: 'void *decodeUdfTeardownRequest(const void *buf, SUdfTeardownRequest
      *teardown) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1411,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1416,1
    - Dst: blockDataExtractBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1442,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/tudf.c:1471,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1474,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/libs/function/src/tudf.c:1425,1
    - Dst: doCallUdfAggProcess
      Src: /src/tdengine/source/libs/function/src/tudf.c:1451,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1453,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1470,1
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1407,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1416,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/libs/function/src/tudf.c:1434,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1436,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1461,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1473,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1410,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1435,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1457,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1468,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1466,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - struct SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 1476
      start: 1406
    functionDepth: 0
    functionLinenumber: 1406
    functionLinenumberEnd: 1476
    functionName: udfAggProcess
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - createDataBlock
    - taosMemoryFree
    - GET_ROWCELL_INTERBUF
    - acquireUdfFuncHandle
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataExtractBlock
    - GET_RES_INFO
    - releaseUdfFuncHandle
    - blockDataDestroy
    - doCallUdfAggProcess
    - freeUdfInterBuf
    - memcpy
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfAggProcess(struct SqlFunctionCtx *pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/function/src/tudf.c:722,1
    - Dst: encodeUdfCallRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:729,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/libs/function/src/tudf.c:724,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/libs/function/src/tudf.c:725,1
    - Dst: encodeUdfSetupRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:727,1
    - Dst: encodeUdfTeardownRequest
      Src: /src/tdengine/source/libs/function/src/tudf.c:731,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - buf
    - request
    argTypes:
    - void**
    - SUdfRequest*
    constantsTouched: []
    func_position:
      end: 734
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 734
    functionName: encodeUdfRequest
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - encodeUdfSetupRequest
    - taosEncodeFixedI8
    - POINTER_SHIFT
    - taosEncodeFixedI64
    - encodeUdfCallRequest
    - encodeUdfTeardownRequest
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t encodeUdfRequest(void **buf, const SUdfRequest *request) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UDF_CHECK_PTR_RCODE
      Src: /src/tdengine/source/libs/function/src/tudf.c:1479,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/tudf.c:1488,1
    - Dst: acquireUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1482,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1483,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1488,1
    - Dst: doCallUdfAggFinalize
      Src: /src/tdengine/source/libs/function/src/tudf.c:1496,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1498,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1499,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1503,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/tudf.c:1506,1
    - Dst: fnError
      Src: /src/tdengine/source/libs/function/src/tudf.c:1510,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1511,1
    - Dst: freeUdfInterBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1517,1
    - Dst: releaseUdfFuncHandle
      Src: /src/tdengine/source/libs/function/src/tudf.c:1520,1
    - Dst: functionFinalizeWithResultBuf
      Src: /src/tdengine/source/libs/function/src/tudf.c:1519,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/tudf.c:1508,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - struct SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1522
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1522
    functionName: udfAggFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/tudf.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - acquireUdfFuncHandle
    - functionFinalizeWithResultBuf
    - GET_RES_INFO
    - releaseUdfFuncHandle
    - doCallUdfAggFinalize
    - freeUdfInterBuf
    - memcpy
    - TAOS_UDF_CHECK_PTR_RCODE
    - fnError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t udfAggFinalize(struct SqlFunctionCtx *pCtx, SSDataBlock *pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - numOfRows
    - bytes
    - remainder
    - rounds
    - width
    argTypes:
    - int32_t
    - int32_t
    - int32_t*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: calculateRounds
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void calculateRounds(int32_t numOfRows, int32_t bytes, int32_t*
      remainder, int32_t* rounds, int32_t* width) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:67,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:84,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:76,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:82,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:78,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 92
    functionName: i8VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached:
    - calculateRounds
    - CMP_TYPE_MIN_MAX
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t i8VectorCmpAVX2(const void* pData, int32_t numOfRows, bool
      isMinFunc, bool signVal, int64_t* res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:126,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:142,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:134,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:140,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:136,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 150
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 150
    functionName: i32VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached:
    - calculateRounds
    - CMP_TYPE_MIN_MAX
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t i32VectorCmpAVX2(const void* pData, int32_t numOfRows, bool
      isMinFunc, bool signVal, int64_t* res) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:97,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:111,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:107,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:113,1
    - Dst: CMP_TYPE_MIN_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:105,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 5
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - signVal
    - res
    argTypes:
    - void*
    - int32_t
    - bool
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: i16VectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached:
    - calculateRounds
    - CMP_TYPE_MIN_MAX
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t i16VectorCmpAVX2(const void* pData, int32_t numOfRows, bool
      isMinFunc, bool signVal, int64_t* res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:157,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:160,1
    - Dst: _mm256_max_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:166,1
    - Dst: EXTRACT_MAX_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:171,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:165,1
    - Dst: _mm256_loadu_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:174,1
    - Dst: _mm256_min_ps
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:175,1
    - Dst: EXTRACT_MIN_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:180,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - res
    argTypes:
    - float*
    - int32_t
    - bool
    - float*
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: floatVectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached:
    - _mm256_min_ps
    - uError
    - _mm256_loadu_ps
    - EXTRACT_MIN_VAL
    - EXTRACT_MAX_VAL
    - calculateRounds
    - _mm256_max_ps
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t floatVectorCmpAVX2(const float* pData, int32_t numOfRows,
      bool isMinFunc, float* res) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calculateRounds
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:194,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:202,1
    - Dst: EXTRACT_MAX_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:209,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:197,1
    - Dst: _mm256_max_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:203,1
    - Dst: _mm256_loadu_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:212,1
    - Dst: _mm256_min_pd
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:213,1
    - Dst: EXTRACT_MIN_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:219,1
    - Dst: uError
      Src: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c:223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pData
    - numOfRows
    - isMinFunc
    - res
    argTypes:
    - double*
    - int32_t
    - bool
    - double*
    constantsTouched: []
    func_position:
      end: 226
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 226
    functionName: doubleVectorCmpAVX2
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmaxavx.c
    functionUses: []
    functionsReached:
    - _mm256_loadu_pd
    - _mm256_max_pd
    - uError
    - EXTRACT_MIN_VAL
    - EXTRACT_MAX_VAL
    - calculateRounds
    - _mm256_min_pd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doubleVectorCmpAVX2(const double* pData, int32_t numOfRows,
      bool isMinFunc, double* res) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:131,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:133,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:132,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:135,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:134,1
    - Dst: IS_FLOAT_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:136,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:137,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:137,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:137,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:138,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:141,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - pRes
    - numOfRows
    - type
    - pAgg
    - pNumOfElem
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SColumnDataAgg*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: calculateAvgBySMAInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - IS_UNSIGNED_NUMERIC_TYPE
    - IS_SIGNED_NUMERIC_TYPE
    - AVG_RES_GET_SUM
    - IS_DECIMAL_TYPE
    - SUM_RES_INC_DECIMAL_SUM
    - SUM_RES_INC_DSUM
    - IS_FLOAT_TYPE
    - GET_DOUBLE_VAL
    - AVG_RES_INC_COUNT
    - CHECK_OVERFLOW_SUM_SIGNED
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t calculateAvgBySMAInfo(void* pRes, int32_t numOfRows,
      int32_t type, const SColumnDataAgg* pAgg, int32_t* pNumOfElem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getAvgInfoSize
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pFunc
    - pEnv
    argTypes:
    - SFunctionNode*
    - SFuncExecEnv*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: getAvgFuncEnv
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - getAvgInfoSize
    linkageType: ''
    returnType: bool
    signature: 'bool getAvgFuncEnv(SFunctionNode* pFunc, SFuncExecEnv* pEnv) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:344,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:451,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:339,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:331,1
    - Dst: AVG_RES_SET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:344,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:360,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:362,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:374,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:390,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:404,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:432,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:435,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:414,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:414,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:422,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:422,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:331,1
    - Dst: AVG_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:343,1
    - Dst: calculateAvgBySMAInfo
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:347,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:351,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:376,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:402,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:388,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:432,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:435,1
    - Dst: doAddNumericVector
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:445,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:451,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 84
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 453
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 453
    functionName: avgFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - SET_VAL
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - IS_NULL_TYPE
    - GET_RES_INFO
    - CHECK_OVERFLOW_SUM_SIGNED
    - AVG_RES_GET_SUM
    - IS_DECIMAL_TYPE
    - AVG_RES_SET_TYPE
    - SUM_RES_INC_DSUM
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_SET_INPUT_SCALE
    - GET_ROWCELL_INTERBUF
    - AVG_RES_INC_COUNT
    - doAddNumericVector
    - calculateAvgBySMAInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:488,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:497,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:497,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:489,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:489,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:502,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:503,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:504,1
    - Dst: avgTransferInfo
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:505,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:509,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:509,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 512
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 512
    functionName: avgFunctionMerge
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - avgTransferInfo
    - IS_NULL_TYPE
    - GET_RES_INFO
    - colDataIsNull_s
    - colDataGetData
    - varDataVal
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgFunctionMerge(SqlFunctionCtx* pCtx) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:520,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:534,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:530,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:520,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:538,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:542,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:546,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:550,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:554,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:558,1
    - Dst: SET_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:574,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:566,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:574,1
    - Dst: LIST_AVG_N
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:562,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 1
    argNames:
    - pCtx
    argTypes:
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 576
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 576
    functionName: avgInvertFunction
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - SET_VAL
    - GET_ROWCELL_INTERBUF
    - LIST_AVG_N
    - GET_RES_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgInvertFunction(SqlFunctionCtx* pCtx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:580,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:589,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:590,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:599,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:599,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:601,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:601,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:588,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:591,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:599,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:599,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:584,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:581,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:589,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:591,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:585,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:582,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:586,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:589,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:592,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:594,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:591,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - pDestCtx
    - pSourceCtx
    argTypes:
    - SqlFunctionCtx*
    - SqlFunctionCtx*
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: avgCombine
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_GET_TYPE
    - SUM_RES_GET_USUM
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - AVG_RES_GET_SUM
    - IS_DECIMAL_TYPE
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_ISUM
    - SUM_RES_GET_DECIMAL_SUM
    - SUM_RES_INC_DSUM
    - SUM_RES_INC_DECIMAL_SUM
    - GET_ROWCELL_INTERBUF
    - AVG_RES_INC_COUNT
    - AVG_RES_GET_COUNT
    - CHECK_OVERFLOW_SUM_SIGNED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgCombine(SqlFunctionCtx* pDestCtx, SqlFunctionCtx* pSourceCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:106,1
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFunctionNode*
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: getAvgInfoSize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getAvgInfoSize(SFunctionNode* pFunc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: functionSetup
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:119,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:123,1
    - Dst: memset
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pCtx
    - pResultInfo
    argTypes:
    - SqlFunctionCtx*
    - SResultRowEntryInfo*
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: avgFunctionSetup
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - GET_ROWCELL_INTERBUF
    - functionSetup
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgFunctionSetup(SqlFunctionCtx* pCtx, SResultRowEntryInfo*
      pResultInfo) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:158,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:208,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:222,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:289,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:308,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:178,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:164,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:192,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:202,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:236,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:216,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:231,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:250,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:265,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:275,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:163,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:179,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:193,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:237,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:251,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:266,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:294,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:295,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:295,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:303,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:173,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:187,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:221,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:245,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:207,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:260,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:280,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:281,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:281,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:310,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:310,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 107
    argCount: 5
    argNames:
    - pCol
    - type
    - pInput
    - pRes
    - pNumOfElem
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SInputColumnInfoData*
    - void*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 320
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 320
    functionName: doAddNumericVector
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - colDataIsNull_f
    - CHECK_OVERFLOW_SUM_UNSIGNED
    - AVG_RES_GET_SUM
    - SUM_RES_INC_DSUM
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_INC_COUNT
    - CHECK_OVERFLOW_SUM_SIGNED
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddNumericVector(SColumnInfoData* pCol, int32_t type,
      SInputColumnInfoData *pInput, void* pRes, int32_t* pNumOfElem) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:457,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:465,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:466,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:477,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:477,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:459,1
    - Dst: SUM_RES_INC_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:474,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:474,1
    - Dst: SUM_RES_INC_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:477,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:470,1
    - Dst: CHECK_OVERFLOW_SUM_UNSIGNED_BIG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:470,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:470,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:471,1
    - Dst: AVG_RES_GET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:472,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:477,1
    - Dst: AVG_RES_INC_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:480,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:480,1
    - Dst: AVG_RES_SET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:464,1
    - Dst: CHECK_OVERFLOW_SUM_SIGNED_BIG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:467,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:469,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:470,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:468,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:470,1
    - Dst: AVG_RES_SET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:472,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:474,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - pCtx
    - pInput
    - pOutput
    argTypes:
    - SqlFunctionCtx*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 482
    functionName: avgTransferInfo
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - IS_DECIMAL_TYPE
    - AVG_RES_SET_TYPE
    - SUM_RES_INC_DECIMAL_SUM
    - AVG_RES_SET_INPUT_SCALE
    - CHECK_OVERFLOW_SUM_SIGNED_BIG
    - IS_NULL_TYPE
    - SUM_RES_GET_USUM
    - SUM_RES_INC_DSUM
    - AVG_RES_GET_COUNT
    - CHECK_OVERFLOW_SUM_UNSIGNED_BIG
    - IS_SIGNED_NUMERIC_TYPE
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_ISUM
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_GET_TYPE
    - AVG_RES_GET_SUM_OVERFLOW
    - AVG_RES_GET_INPUT_SCALE
    - AVG_RES_INC_COUNT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t avgTransferInfo(SqlFunctionCtx* pCtx, void* pInput,
      void* pOutput) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:616,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:616,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:618,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:620,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:623,1
    - Dst: AVG_RES_GET_INPUT_SCALE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:627,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:642,1
    - Dst: isinf
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:648,1
    - Dst: functionFinalize
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:653,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:642,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:611,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:609,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:616,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:618,1
    - Dst: SUM_RES_GET_ISUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:618,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:634,1
    - Dst: AVG_RES_GET_DECIMAL_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:637,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:647,1
    - Dst: isnan
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:648,1
    - Dst: AVG_RES_GET_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:610,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:613,1
    - Dst: AVG_RES_GET_SUM_OVERFLOW
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:615,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:616,1
    - Dst: AVG_RES_GET_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:618,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:617,1
    - Dst: SUM_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:636,1
    - Dst: AVG_RES_GET_DECIMAL_SUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:636,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:645,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:648,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:607,1
    - Dst: SUM_RES_GET_USUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:620,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:619,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:620,1
    - Dst: decimalOp
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:636,1
    - Dst: SUM_RES_GET_DSUM
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:642,1
    - Dst: AVG_RES_GET_COUNT
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:642,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:648,1
    - Dst: AVG_RES_GET_AVG
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:620,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 654
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 654
    functionName: avgFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - AVG_RES_GET_DECIMAL_SUM
    - AVG_RES_GET_SUM
    - IS_DECIMAL_TYPE
    - AVG_RES_GET_DECIMAL_AVG
    - SUM_RES_GET_USUM
    - isinf
    - GET_ROWCELL_INTERBUF
    - AVG_RES_GET_COUNT
    - functionFinalize
    - taosArrayGet
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - SUM_RES_GET_DSUM
    - SUM_RES_GET_ISUM
    - decimalOp
    - IS_UNSIGNED_NUMERIC_TYPE
    - AVG_RES_GET_TYPE
    - isnan
    - SUM_RES_GET_DECIMAL_SUM
    - AVG_RES_GET_SUM_OVERFLOW
    - AVG_RES_GET_INPUT_SCALE
    - AVG_RES_GET_AVG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:657,1
    - Dst: AVG_RES_GET_SIZE
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:659,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:660,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:658,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:658,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:665,1
    - Dst: varDataVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:665,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:666,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:669,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:675,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/function/src/detail/tavgfunction.c:678,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - pCtx
    - pBlock
    argTypes:
    - SqlFunctionCtx*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 680
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 680
    functionName: avgPartialFinalize
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tavgfunction.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataSetVal
    - GET_RES_INFO
    - varDataVal
    - AVG_RES_GET_SIZE
    - varDataSetLen
    - memcpy
    - GET_ROWCELL_INTERBUF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t avgPartialFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:78,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pCol
    - start
    - numOfRows
    - isStr
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: findFirstValPosition
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - colDataIsNull_s
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findFirstValPosition(const SColumnInfoData* pCol, int32_t
      start, int32_t numOfRows, bool isStr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i16VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:129,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:152,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:143,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:150,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:141,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 157
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 157
    functionName: handleInt16Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - i16VectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    linkageType: ''
    returnType: void
    signature: 'static void handleInt16Col(const void* data, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc, bool signVal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:207,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:218,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:209,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:216,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 223
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 223
    functionName: handleInt64Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    linkageType: ''
    returnType: void
    signature: 'static void handleInt64Col(const void* data, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc, bool signVal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doubleVectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:259,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:269,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - pCol
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 273
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 273
    functionName: handleDoubleCol
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    - doubleVectorCmpAVX2
    linkageType: ''
    returnType: void
    signature: 'static void handleDoubleCol(SColumnInfoData* pCol, int32_t start,
      int32_t numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc) '
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:301,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:325,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:349,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:400,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:406,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:438,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:497,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:500,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:450,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:486,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:542,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:565,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:462,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:520,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:537,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:319,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:365,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:382,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:367,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:365,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:387,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:409,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:417,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:420,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:540,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:560,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:534,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:444,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:503,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:542,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:565,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:567,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:307,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:331,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:387,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:389,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:426,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:468,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:480,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:492,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:504,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:557,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:521,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:506,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:474,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:523,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:295,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:313,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:337,1
    - Dst: __COMPARE_ACQUIRED_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:343,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:357,1
    - Dst: compareLenBinaryVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:363,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:385,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:379,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:360,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:403,1
    - Dst: __COMPARE_ACQUIRED_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:456,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:517,1
    - Dst: compareLenPrefixedWStr
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:563,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:424,1
    - Dst: updateTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:544,1
    - Dst: DECIMAL64_GET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:407,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:423,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:514,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 177
    argCount: 6
    argNames:
    - pCol
    - i
    - end
    - pCtx
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SqlFunctionCtx*
    - SMinmaxResInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 579
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 579
    functionName: doExtractVal
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - compareLenBinaryVal
    - compareLenPrefixedWStr
    - colDataIsNull_f
    - __COMPARE_ACQUIRED_MAX
    - DECIMAL64_GET_VALUE
    - colDataGetData
    - __COMPARE_ACQUIRED_MIN
    - updateTupleData
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - memcpy
    - colDataIsNull_var
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doExtractVal(SColumnInfoData* pCol, int32_t i, int32_t
      end, SqlFunctionCtx* pCtx, SMinmaxResInfo* pBuf, bool isMinFunc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i8VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:92,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:115,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:104,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:106,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:113,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 120
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 120
    functionName: handleInt8Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    - i8VectorCmpAVX2
    linkageType: ''
    returnType: void
    signature: 'static void handleInt8Col(const void* data, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc, bool signVal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: i32VectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:166,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:189,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:178,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:180,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:187,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 30
    argCount: 6
    argNames:
    - data
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    - signVal
    argTypes:
    - void*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 194
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 194
    functionName: handleInt32Col
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - i32VectorCmpAVX2
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    linkageType: ''
    returnType: void
    signature: 'static void handleInt32Col(const void* data, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc, bool signVal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: floatVectorCmpAVX2
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:234,1
    - Dst: __COMPARE_EXTRACT_MIN
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:242,1
    - Dst: __COMPARE_EXTRACT_MAX
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - pCol
    - start
    - numOfRows
    - pBuf
    - isMinFunc
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SMinmaxResInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: handleFloatCol
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - __COMPARE_EXTRACT_MIN
    - __COMPARE_EXTRACT_MAX
    - floatVectorCmpAVX2
    linkageType: ''
    returnType: void
    signature: 'static void handleFloatCol(SColumnInfoData* pCol, int32_t start, int32_t
      numOfRows, SMinmaxResInfo* pBuf, bool isMinFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:278,1
    - Dst: memcmp
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - start
    - num
    - pCol
    - tval
    argTypes:
    - int32_t
    - int32_t
    - SColumnInfoData*
    - char*
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: findRowIndex
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - colDataGetData
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findRowIndex(int32_t start, int32_t num, SColumnInfoData*
      pCol, const char* tval) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:584,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:589,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - pCtx
    - pInput
    - tval
    argTypes:
    - SqlFunctionCtx*
    - SInputColumnInfoData*
    - void*
    constantsTouched: []
    func_position:
      end: 592
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 592
    functionName: saveRelatedTupleTag
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - GET_RES_INFO
    - GET_ROWCELL_INTERBUF
    - saveTupleData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveRelatedTupleTag(SqlFunctionCtx* pCtx, SInputColumnInfoData*
      pInput, void* tval) '
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:621,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:631,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:633,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:638,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:642,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:649,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:654,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:667,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:672,1
    - Dst: DECIMAL64_SET_VALUE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:677,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:786,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:790,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:758,1
    - Dst: handleDoubleCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:814,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:653,1
    - Dst: handleInt32Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:802,1
    - Dst: GET_ROWCELL_INTERBUF
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:605,1
    - Dst: IS_NULL_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:608,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:636,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:658,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:662,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:663,1
    - Dst: DECIMAL128_CLONE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:683,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:743,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:743,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:798,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:739,1
    - Dst: handleFloatCol
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:810,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:629,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:640,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:647,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:651,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:645,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:669,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:681,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:684,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:753,1
    - Dst: doExtractVal
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:771,1
    - Dst: handleInt64Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:806,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:743,1
    - Dst: saveTupleData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:824,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:644,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:682,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:750,1
    - Dst: handleInt16Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:782,1
    - Dst: GET_RES_INFO
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:604,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:613,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:629,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:660,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:675,1
    - Dst: DECIMAL_WORD_NUM
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:676,1
    - Dst: saveRelatedTupleTag
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:678,1
    - Dst: findFirstValPosition
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:708,1
    - Dst: IS_STR_DATA_TYPE
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:708,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:778,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:671,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:743,1
    - Dst: handleInt8Col
      Src: /src/tdengine/source/libs/function/src/detail/tminmax.c:794,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 182
    argCount: 3
    argNames:
    - pCtx
    - isMinFunc
    - nElems
    argTypes:
    - SqlFunctionCtx*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 834
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 834
    functionName: doMinMaxHelper
    functionSourceFile: /src/tdengine/source/libs/function/src/detail/tminmax.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - handleInt16Col
    - IS_DECIMAL_TYPE
    - saveTupleData
    - findFirstValPosition
    - GET_UINT64_VAL
    - taosMemoryMalloc
    - IS_NULL_TYPE
    - DECIMAL64_SET_VALUE
    - DECIMAL128_CLONE
    - handleInt8Col
    - colDataGetData
    - handleInt32Col
    - handleFloatCol
    - memcpy
    - GET_ROWCELL_INTERBUF
    - GET_FLOAT_VAL
    - IS_SIGNED_NUMERIC_TYPE
    - GET_RES_INFO
    - doExtractVal
    - getDecimalOps
    - DECIMAL_WORD_NUM
    - handleDoubleCol
    - GET_DOUBLE_VAL
    - IS_STR_DATA_TYPE
    - IS_UNSIGNED_NUMERIC_TYPE
    - GET_INT64_VAL
    - GET_TYPED_DATA
    - handleInt64Col
    - saveRelatedTupleTag
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMinMaxHelper(SqlFunctionCtx* pCtx, int32_t isMinFunc, int32_t*
      nElems) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:71,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:73,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: logStore2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - logStore2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * logStore2Str(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:125,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:127,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:126,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:126,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: logStorePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - logStore2Str
    linkageType: ''
    returnType: void
    signature: 'void logStorePrint(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:135,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:133,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: logStorePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - logStore2Str
    linkageType: ''
    returnType: void
    signature: 'void logStorePrint2(char* s, SSyncLogStore* pLogStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:148,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:149,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:149,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: logStoreLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemoryFree
    - logStore2Str
    - sLTrace
    linkageType: ''
    returnType: void
    signature: 'void logStoreLog2(char* s, SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:163,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:166,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:165,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 167
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 167
    functionName: logStoreSimplePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - logStoreSimple2Str
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void logStoreSimplePrint2(char* s, SSyncLogStore* pLogStore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:29,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:31,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:35,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:41,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:47,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:59,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:59,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:34,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:40,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:44,1
    - Dst: raftLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:40,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:49,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:51,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:65,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:66,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:27,1
    - Dst: raftLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:33,1
    - Dst: raftLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:37,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:43,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:43,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:48,1
    - Dst: raftLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:48,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:52,1
    - Dst: raftLogGetEntry
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:57,1
    - Dst: syncEntryDestory
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:60,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:21,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:25,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:24,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:30,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:38,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:46,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:46,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:54,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 68
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 68
    functionName: logStore2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - raftLogWriteIndex
    - syncEntryDestory
    - raftLogEndIndex
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - raftLogEntryCount
    - raftLogBeginIndex
    - raftLogLastIndex
    - cJSON_CreateArray
    - raftLogGetEntry
    - cJSON_AddItemToArray
    - syncEntry2Json
    - cJSON_AddItemToObject
    - raftLogLastTerm
    - raftLogIsEmpty
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * logStore2Json(SSyncLogStore* pLogStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:86,1
    - Dst: raftLogEndIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:92,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:102,1
    - Dst: raftLogIsEmpty
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:102,1
    - Dst: raftLogEntryCount
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:96,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:107,1
    - Dst: raftLogLastTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:107,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:111,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:80,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:83,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:85,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:84,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:89,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:97,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:105,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:105,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:112,1
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:88,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:90,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:100,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:94,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:106,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:93,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:103,1
    - Dst: raftLogWriteIndex
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:99,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 114
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 114
    functionName: logStoreSimple2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - raftLogWriteIndex
    - raftLogEndIndex
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - raftLogEntryCount
    - raftLogBeginIndex
    - raftLogLastIndex
    - cJSON_AddItemToObject
    - raftLogLastTerm
    - raftLogIsEmpty
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * logStoreSimple2Json(SSyncLogStore* pLogStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:142,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:141,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: logStoreLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemoryFree
    - logStore2Str
    - sLTrace
    linkageType: ''
    returnType: void
    signature: 'void logStoreLog(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:170,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:172,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: logStoreSimpleLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - logStoreSimple2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void logStoreSimpleLog(SSyncLogStore* pLogStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:177,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:178,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pLogStore
    argTypes:
    - char*
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: logStoreSimpleLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - logStoreSimple2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void logStoreSimpleLog2(char* s, SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:117,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:119,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: logStoreSimple2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - logStoreSimple2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * logStoreSimple2Str(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logStoreSimple2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:156,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:158,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:159,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: logStoreSimplePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftLogDebug.c
    functionUses: []
    functionsReached:
    - logStoreSimple2Str
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void logStoreSimplePrint(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:27,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:28,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:36,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:37,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - rpcMsgPArr
    - raftArr
    - arrSize
    - vgId
    argTypes:
    - SRpcMsg**
    - SRaftMeta*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 57
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 57
    functionName: syncClientRequestBatchBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    - ASSERT
    linkageType: ''
    returnType: SyncClientRequestBatch*
    signature: 'SyncClientRequestBatch * syncClientRequestBatchBuild(SRpcMsg** rpcMsgPArr,
      SRaftMeta* raftArr, int32_t arrSize, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 1
    argNames:
    - pSyncMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: syncClientRequestBatchMetaArr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRaftMeta*
    signature: 'SRaftMeta * syncClientRequestBatchMetaArr(const SyncClientRequestBatch*
      pSyncMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:165,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:163,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:164,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: syncClientRequestBatchPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncClientRequestBatch2Str
    - taosMemoryFree
    - fflush
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchPrint(const SyncClientRequestBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: syncAppendEntriesBatchMetaTableArray
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SOffsetAndContLen*
    signature: 'SOffsetAndContLen * syncAppendEntriesBatchMetaTableArray(SyncAppendEntriesBatch*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:279,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:282,1
    - Dst: syncAppendEntriesBatchSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntriesBatch*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: syncAppendEntriesBatch2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatchSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatch2RpcMsg(const SyncAppendEntriesBatch* pMsg,
      SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:60,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:64,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSyncMsg
    - pRpcMsg
    argTypes:
    - SyncClientRequestBatch*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: syncClientRequestBatch2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatch2RpcMsg(const SyncClientRequestBatch* pSyncMsg,
      SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pSyncMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: syncClientRequestBatchRpcMsgArr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRpcMsg*
    signature: 'SRpcMsg * syncClientRequestBatchRpcMsgArr(const SyncClientRequestBatch*
      pSyncMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:196,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:209,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:210,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:231,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:197,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:232,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - entryPArr
    - arrSize
    - vgId
    argTypes:
    - SSyncRaftEntry**
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 236
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 236
    functionName: syncAppendEntriesBatchBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - memset
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesBatch*
    signature: 'SyncAppendEntriesBatch * syncAppendEntriesBatchBuild(SSyncRaftEntry**
      entryPArr, int32_t arrSize, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: syncAppendEntriesBatchDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchDestroy(SyncAppendEntriesBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatchDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: syncAppendEntriesBatchFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatchDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntriesBatch*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:154,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:155,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: syncClientRequestBatch2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncClientRequestBatch2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncClientRequestBatch2Str(const SyncClientRequestBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:101,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:103,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:104,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: syncClientRequestBatchFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncClientRequestBatch*
    signature: 'SyncClientRequestBatch * syncClientRequestBatchFromRpcMsg(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatchDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:291,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: syncAppendEntriesBatchFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - ASSERT
    - syncAppendEntriesBatchDeserialize2
    linkageType: ''
    returnType: SyncAppendEntriesBatch*
    signature: 'SyncAppendEntriesBatch * syncAppendEntriesBatchFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:117,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:115,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:126,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:129,1
    - Dst: syncRpcMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:135,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:114,1
    - Dst: syncClientRequestBatchRpcMsgArr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:121,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:132,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:141,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:143,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:145,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:148,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:116,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:118,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:123,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:127,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:133,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:149,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:111,1
    - Dst: syncClientRequestBatchMetaArr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:120,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:124,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:128,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:136,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:142,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:144,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 151
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 151
    functionName: syncClientRequestBatch2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - syncUtilPrintBin
    - syncClientRequestBatchRpcMsgArr
    - syncRpcMsg2Json
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - syncClientRequestBatchMetaArr
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncClientRequestBatch2Json(const SyncClientRequestBatch*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:298,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:301,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:314,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:315,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:320,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:322,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:318,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:328,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:339,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:341,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:361,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:381,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:303,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:305,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:307,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:317,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:321,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:332,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:336,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:338,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:348,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:350,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:365,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:371,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:387,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:380,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:306,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:330,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:333,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:335,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:345,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:347,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:362,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:366,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:375,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:379,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:384,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:374,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:383,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:302,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:329,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:342,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:344,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:351,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:356,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:357,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:364,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:367,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:370,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:388,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:382,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 390
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 390
    functionName: syncAppendEntriesBatch2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - syncUtilPrintBin2
    - syncEntry2Json
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncAppendEntriesBatch2Json(const SyncAppendEntriesBatch*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:249,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntriesBatch*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: syncAppendEntriesBatchSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchSerialize(const SyncAppendEntriesBatch*
      pMsg, char* buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:401,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:404,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:402,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:403,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: syncAppendEntriesBatchPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatch2Str
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchPrint(const SyncAppendEntriesBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:254,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:255,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 257
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 257
    functionName: syncAppendEntriesBatchDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchDeserialize(const char* buf, uint32_t len,
      SyncAppendEntriesBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:393,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:394,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: syncAppendEntriesBatch2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - syncAppendEntriesBatch2Json
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntriesBatch2Str(const SyncAppendEntriesBatch* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: syncClientRequestBatchDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchDestroy(SyncClientRequestBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:169,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:172,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:170,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:170,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: syncClientRequestBatchPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncClientRequestBatch2Str
    - taosMemoryFree
    - fflush
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchPrint2(char* s, const SyncClientRequestBatch*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:183,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:184,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:185,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:184,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: syncClientRequestBatchLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - strlen
    - syncClientRequestBatch2Str
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchLog2(char* s, const SyncClientRequestBatch*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:260,1
    - Dst: syncAppendEntriesBatchSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:262,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntriesBatch*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: syncAppendEntriesBatchSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatchSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntriesBatchSerialize2(const SyncAppendEntriesBatch*
      pMsg, uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:411,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:409,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:410,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:409,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: syncAppendEntriesBatchPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatch2Str
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchPrint2(char* s, const SyncAppendEntriesBatch*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:422,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:424,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 426
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 426
    functionName: syncAppendEntriesBatchLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatch2Str
    - strlen
    - taosMemoryFree
    - sLTrace
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchLog2(char* s, const SyncAppendEntriesBatch*
      pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:80,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:84,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: syncClientRequestBatchDestroyDeep
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchDestroyDeep(SyncClientRequestBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequestBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:176,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:178,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:177,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequestBatch*
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: syncClientRequestBatchLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - strlen
    - syncClientRequestBatch2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestBatchLog(const SyncClientRequestBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:271,1
    - Dst: syncAppendEntriesBatchDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:273,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:274,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: syncAppendEntriesBatchDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatchDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesBatch*
    signature: 'SyncAppendEntriesBatch * syncAppendEntriesBatchDeserialize2(const
      char* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesBatch2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:415,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:417,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:416,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesBatch*
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: syncAppendEntriesBatchLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesBatch2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesBatchLog(const SyncAppendEntriesBatch* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:431,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:433,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - s
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesBatch*
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 438
    functionName: syncLogSendAppendEntriesBatch
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - sNTrace
    - syncUtilU642Addr
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendAppendEntriesBatch(SSyncNode* pSyncNode, const SyncAppendEntriesBatch*
      pMsg, const char* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:443,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - s
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesBatch*
    - char*
    constantsTouched: []
    func_position:
      end: 450
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 450
    functionName: syncLogRecvAppendEntriesBatch
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncBatch.c
    functionUses: []
    functionsReached:
    - sNTrace
    - syncUtilU642Addr
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvAppendEntriesBatch(SSyncNode* pSyncNode, const SyncAppendEntriesBatch*
      pMsg, const char* s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:20,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:26,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:22,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:23,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - SNodeInfo*
    constantsTouched: []
    func_position:
      end: 28
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 28
    functionName: syncUtilNodeInfo2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c
    functionUses: []
    functionsReached:
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncUtilNodeInfo2Json(const SNodeInfo* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - p
    argTypes:
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: syncUtilRaftId2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncUtilDebug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * syncUtilRaftId2Str(const SRaftId* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:71,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:69,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:69,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: syncEntryPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncEntry2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncEntryPrint2(char* s, const SSyncRaftEntry* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:53,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:55,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: syncEntry2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncEntry2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncEntry2Str(const SSyncRaftEntry* pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:81,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:82,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:83,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: syncEntryLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncEntry2Str
    linkageType: ''
    returnType: void
    signature: 'void syncEntryLog2(char* s, const SSyncRaftEntry* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:123,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:125,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: raftCache2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - raftCache2Json
    linkageType: ''
    returnType: char*
    signature: 'char * raftCache2Str(SRaftEntryHashCache* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:137,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:138,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:140,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pCache
    argTypes:
    - char*
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: raftCachePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftCache2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftCachePrint2(char* s, SRaftEntryHashCache* pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:153,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:152,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pCache
    argTypes:
    - char*
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: raftCacheLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - sLTrace
    - strlen
    - taosMemoryFree
    - raftCache2Str
    linkageType: ''
    returnType: void
    signature: 'void raftCacheLog2(char* s, SRaftEntryHashCache* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:189,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:191,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 193
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 193
    functionName: raftEntryCache2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - raftEntryCache2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * raftEntryCache2Str(SRaftEntryCache* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:203,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:205,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:206,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:204,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: raftEntryCachePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftEntryCache2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftEntryCachePrint2(char* s, SRaftEntryCache* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:26,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:25,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:30,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:31,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:27,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:43,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:38,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:33,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:40,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:24,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:35,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:34,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:48,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:20,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:23,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:28,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:29,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:39,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:44,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 50
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 50
    functionName: syncEntry2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncEntry2Json(const SSyncRaftEntry* pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:75,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:77,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:76,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: syncEntryLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncEntry2Str
    linkageType: ''
    returnType: void
    signature: 'void syncEntryLog(const SSyncRaftEntry* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:130,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:133,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:131,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:132,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: raftCachePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftCache2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftCachePrint(SRaftEntryHashCache* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:146,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:145,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: raftCacheLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - raftCache2Str
    linkageType: ''
    returnType: void
    signature: 'void raftCacheLog(SRaftEntryHashCache* pCache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:169,1
    - Dst: tSkipListCreateIter
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:171,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:183,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:180,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:166,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:168,1
    - Dst: tSkipListIterNext
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:172,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:176,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:164,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:174,1
    - Dst: tSkipListDestroyIter
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:178,1
    - Dst: tSkipListIterGet
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:173,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:159,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:165,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:162,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:167,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:184,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:176,1
    - Dst: SL_GET_NODE_DATA
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 186
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 186
    functionName: raftEntryCache2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - SL_GET_NODE_DATA
    - tSkipListIterGet
    - tSkipListCreateIter
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - tSkipListDestroyIter
    - syncEntry2Json
    - cJSON_AddItemToObject
    - tSkipListIterNext
    - ASSERT
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * raftEntryCache2Json(SRaftEntryCache* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:196,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:199,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:198,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: raftEntryCachePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftEntryCache2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftEntryCachePrint(SRaftEntryCache* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:210,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:211,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:212,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: raftEntryCacheLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - raftEntryCache2Str
    linkageType: ''
    returnType: void
    signature: 'void raftEntryCacheLog(SRaftEntryCache* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raftEntryCache2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:217,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:219,1
    - Dst: sLTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:218,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftEntryCache*
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: raftEntryCacheLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - sLTrace
    - strlen
    - taosMemoryFree
    - raftEntryCache2Str
    linkageType: ''
    returnType: void
    signature: 'void raftEntryCacheLog2(char* s, SRaftEntryCache* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntry2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:64,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:62,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:63,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: syncEntryPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncEntry2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncEntryPrint(const SSyncRaftEntry* pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:89,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:95,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:94,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:92,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:96,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:97,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:98,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:99,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:101,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:104,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:110,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:118,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:117,1
    - Dst: syncEntry2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:104,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:110,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:114,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c:107,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SRaftEntryHashCache*
    constantsTouched: []
    func_position:
      end: 120
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 120
    functionName: raftCache2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftEntryDebug.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - taosHashIterate
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - syncEntry2Json
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * raftCache2Json(SRaftEntryHashCache* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pRaftStore
    - pJson
    argTypes:
    - SRaftStore*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: raftStoreFromJson
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftStoreFromJson(SRaftStore *pRaftStore, cJSON *pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:61,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:62,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:64,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: raftStorePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftStore2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftStorePrint(SRaftStore *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:68,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:70,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:69,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:71,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:69,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: raftStorePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - raftStore2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void raftStorePrint2(char *s, SRaftStore *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:23,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:30,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:29,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:26,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:31,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:36,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:37,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:38,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:40,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:48,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:41,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:47,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pRaftStore
    argTypes:
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: raftStore2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *raftStore2Json(SRaftStore *pRaftStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:74,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:75,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:75,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: raftStoreLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - raftStore2Str
    linkageType: ''
    returnType: void
    signature: 'void raftStoreLog(SRaftStore *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:80,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:81,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:82,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: raftStoreLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - raftStore2Str
    linkageType: ''
    returnType: void
    signature: 'void raftStoreLog2(char *s, SRaftStore *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftStore2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:53,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:55,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c:54,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pRaftStore
    argTypes:
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: raftStore2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftStoreDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - raftStore2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char *raftStore2Str(SRaftStore *pRaftStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pSyncCfg
    argTypes:
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: syncCfg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *syncCfg2Str(SSyncCfg *pSyncCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c:27,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c:33,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pSyncCfg
    argTypes:
    - char*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: syncCfgFromStr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncRaftCfgDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Delete
    - cJSON_Parse
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncCfgFromStr(const char *s, SSyncCfg *pSyncCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:55,1
    - Dst: syncPingSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:59,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPing*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: syncPing2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncPing2RpcMsg(const SyncPing* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:788,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:791,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:789,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:789,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 792
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 792
    functionName: syncSnapshotSendPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncSnapshotSend2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendPrint2(char* s, const SyncSnapshotSend* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:804,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:803,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 806
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 806
    functionName: syncSnapshotSendLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncSnapshotSend2Str
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendLog2(char* s, const SyncSnapshotSend* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1040,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1041,1
    - Dst: syncRequestVoteSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1042,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncRequestVote*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1047
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1047
    functionName: syncRequestVoteSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncRequestVoteSerialize2(const SyncRequestVote* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1521,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1522,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1524,1
    - Dst: syncAppendEntriesReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1526
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1526
    functionName: syncAppendEntriesReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesReply*
    signature: 'SyncAppendEntriesReply * syncAppendEntriesReplyDeserialize2(const
      char* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1538
    functionName: syncAppendEntriesReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesReplyDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntriesReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2115,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2117
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2117
    functionName: syncPreSnapshotReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyDeserialize(const char* buf, uint32_t len,
      SyncPreSnapshotReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2299,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2302,1
    - Dst: syncApplyMsgSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncApplyMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2304
      start: 2298
    functionDepth: 0
    functionLinenumber: 2298
    functionLinenumberEnd: 2304
    functionName: syncApplyMsg2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsgSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsg2RpcMsg(const SyncApplyMsg* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: syncPingFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncPingFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:795,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:796,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:796,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 798
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 798
    functionName: syncSnapshotSendLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncSnapshotSend2Str
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendLog(const SyncSnapshotSend* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 815
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 815
    functionName: syncClientRequestAlloc
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SyncClientRequest*
    signature: 'SyncClientRequest * syncClientRequestAlloc(uint32_t dataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1051,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1052,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1054,1
    - Dst: syncRequestVoteDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1056
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1056
    functionName: syncRequestVoteDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncRequestVote*
    signature: 'SyncRequestVote * syncRequestVoteDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1529,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1532,1
    - Dst: syncAppendEntriesReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntriesReply*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1528
    functionDepth: 0
    functionLinenumber: 1528
    functionLinenumberEnd: 1534
    functionName: syncAppendEntriesReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesReplySerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReply2RpcMsg(const SyncAppendEntriesReply* pMsg,
      SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1541,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1544
    functionName: syncAppendEntriesReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntriesReply*
    signature: 'SyncAppendEntriesReply * syncAppendEntriesReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2120,1
    - Dst: syncPreSnapshotReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2122,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPreSnapshotReply*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2127
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2127
    functionName: syncPreSnapshotReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotReplySerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncPreSnapshotReplySerialize2(const SyncPreSnapshotReply*
      pMsg, uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1455,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1457,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1456,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1458,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1459
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1459
    functionName: syncAppendEntriesPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncAppendEntries2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesPrint(const SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2290,1
    - Dst: syncApplyMsgDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2292,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2291,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2293,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2295
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2295
    functionName: syncApplyMsgDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncApplyMsgDeserialize
    - ASSERT
    linkageType: ''
    returnType: SyncApplyMsg*
    signature: 'SyncApplyMsg * syncApplyMsgDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2617,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2618,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2618,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2619,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2621
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2621
    functionName: syncSnapshotRspLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncSnapshotRsp2Str
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspLog2(char* s, const SyncSnapshotRsp* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2507,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2510,1
    - Dst: syncSnapshotRspSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncSnapshotRsp*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2512
      start: 2506
    functionDepth: 0
    functionLinenumber: 2506
    functionLinenumberEnd: 2512
    functionName: syncSnapshotRsp2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - syncSnapshotRspSerialize
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRsp2RpcMsg(const SyncSnapshotRsp* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:326,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:328,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: syncPingReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyDeserialize(const char* buf, uint32_t len, SyncPingReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: syncPingReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingReplyDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPingReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1143,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1146,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1144,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1147
    functionName: syncRequestVotePrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncRequestVote2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVotePrint2(char* s, const SyncRequestVote* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1298,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1299,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1300,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1301
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1301
    functionName: syncRequestVoteReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteReply2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyLog(const SyncRequestVoteReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1685,1
    - Dst: syncHeartbeatSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1689,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncHeartbeat*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1690
    functionName: syncHeartbeat2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeat2RpcMsg(const SyncHeartbeat* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2662,1
    - Dst: syncLeaderTransferDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2664,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2663,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2667
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2667
    functionName: syncLeaderTransferDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLeaderTransferDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncLeaderTransfer*
    signature: 'SyncLeaderTransfer * syncLeaderTransferDeserialize2(const char* buf,
      uint32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:332,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:333,1
    - Dst: syncPingReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:334,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPingReply*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 339
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 339
    functionName: syncPingReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncPingReplySerialize
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncPingReplySerialize2(const SyncPingReply* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:463,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: syncPingReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1150,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1151,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: syncRequestVoteLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVote2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteLog(const SyncRequestVote* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1305,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1306,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1307,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    functionName: syncRequestVoteReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteReply2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyLog2(char* s, const SyncRequestVoteReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1694
    functionName: syncHeartbeatFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatFromRpcMsg(const SRpcMsg* pRpcMsg, SyncHeartbeat*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2670,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2673,1
    - Dst: syncLeaderTransferSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncLeaderTransfer*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2675
      start: 2669
    functionDepth: 0
    functionLinenumber: 2669
    functionLinenumberEnd: 2675
    functionName: syncLeaderTransfer2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - syncLeaderTransferSerialize
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncLeaderTransfer2RpcMsg(const SyncLeaderTransfer* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:677,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:680,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:679,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 681
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 681
    functionName: syncRpcMsgPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncRpcMsgPrint2(char* s, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:283,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: syncPingFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1314,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dataLen
    - vgId
    argTypes:
    - uint32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1321
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1321
    functionName: syncAppendEntriesBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncAppendEntries*
    signature: 'SyncAppendEntries * syncAppendEntriesBuild(uint32_t dataLen, int32_t
      vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1918,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1919,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1920,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1921,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1919,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1922
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1922
    functionName: syncHeartbeatReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncHeartbeatReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyPrint(const SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRspDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2516
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2516
    functionName: syncSnapshotRspFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotRspDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspFromRpcMsg(const SRpcMsg* pRpcMsg, SyncSnapshotRsp*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:684,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:686,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:685,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: syncRpcMsgLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncRpcMsgLog(SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 0
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: syncAppendEntriesDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesDestroy(SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1925,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1926,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1928,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1927,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1929
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1929
    functionName: syncHeartbeatReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncHeartbeatReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyPrint2(char* s, const SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:229,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:232,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:230,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: syncPingPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncPing2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncPingPrint(const SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1059,1
    - Dst: syncRequestVoteSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1063,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1062,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncRequestVote*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1064
    functionName: syncRequestVote2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVote2RpcMsg(const SyncRequestVote* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1157,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1159,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1158,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1161
    functionName: syncRequestVoteLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVote2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteLog2(char* s, const SyncRequestVote* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1341,1
    - Dst: syncAppendEntriesSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1343,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntries*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1348
    functionName: syncAppendEntriesSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntriesSerialize2(const SyncAppendEntries* pMsg,
      uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1372,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1375
    functionName: syncAppendEntriesFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - ASSERT
    - syncAppendEntriesDeserialize2
    linkageType: ''
    returnType: SyncAppendEntries*
    signature: 'SyncAppendEntries * syncAppendEntriesFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1625,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1627,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1626,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1628
      start: 1624
    functionDepth: 0
    functionLinenumber: 1624
    functionLinenumberEnd: 1628
    functionName: syncAppendEntriesReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncAppendEntriesReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyLog(const SyncAppendEntriesReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1861,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1874,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1877,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1881,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1887,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1879,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1892,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1894,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1898,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1906,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1860,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1873,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1891,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1880,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1895,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1897,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1864,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1862,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1866,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1872,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1889,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1902,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1857,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1865,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1888,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1876,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1900,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1901,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1905,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1908
    functionName: syncHeartbeatReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncHeartbeatReply2Json(const SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2229,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2231,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2232
      start: 2228
    functionDepth: 0
    functionLinenumber: 2228
    functionLinenumberEnd: 2232
    functionName: syncPreSnapshotReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyLog(const SyncPreSnapshotReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:236,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:239,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:237,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:237,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: syncPingPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncPing2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncPingPrint2(char* s, const SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1068
    functionName: syncRequestVoteFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteFromRpcMsg(const SRpcMsg* pRpcMsg, SyncRequestVote*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1352,1
    - Dst: syncAppendEntriesDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1354,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1353,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1355,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1357
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1357
    functionName: syncAppendEntriesDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncAppendEntries*
    signature: 'SyncAppendEntries * syncAppendEntriesDeserialize2(const char* buf,
      uint32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1379,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1387,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1410,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1398,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1423,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1425,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1431,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1383,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1396,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1403,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1409,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1401,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1399,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1414,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1416,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1420,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1422,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1434,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1382,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1395,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1413,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1402,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1417,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1419,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1429,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1442,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1437,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1438,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1384,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1386,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1388,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1394,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1411,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1426,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1428,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1435,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1436,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1441,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1444
    functionName: syncAppendEntries2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncAppendEntries2Json(const SyncAppendEntries* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1632,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1633,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1633,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1630
    functionDepth: 0
    functionLinenumber: 1630
    functionLinenumberEnd: 1636
    functionName: syncAppendEntriesReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncAppendEntriesReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyLog2(char* s, const SyncAppendEntriesReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1911,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1913,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1912,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1915
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 1915
    functionName: syncHeartbeatReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncHeartbeatReply2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncHeartbeatReply2Str(const SyncHeartbeatReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2236,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2237,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2240
      start: 2234
    functionDepth: 0
    functionLinenumber: 2234
    functionLinenumberEnd: 2240
    functionName: syncPreSnapshotReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyLog2(char* s, const SyncPreSnapshotReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransferDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2682,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2685
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2685
    functionName: syncLeaderTransferFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLeaderTransferDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncLeaderTransfer*
    signature: 'SyncLeaderTransfer * syncLeaderTransferFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:291,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: syncPingReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyBuild(uint32_t dataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1814,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    functionName: syncHeartbeatReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyDeserialize(const char* buf, uint32_t len,
      SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2873,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2874,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2877
    functionName: syncLocalCmd2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - syncLocalCmd2Json
    linkageType: ''
    returnType: char*
    signature: 'char * syncLocalCmd2Str(const SyncLocalCmd* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:268,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:269,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: syncPingDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPingDeserialize(const char* buf, uint32_t len, SyncPing*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:300,1
    - Dst: syncPingReplyBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:301,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - srcId
    - destId
    - vgId
    - str
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 307
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 307
    functionName: syncPingReplyBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - syncPingReplyBuild
    - snprintf
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyBuild2(const SRaftId* srcId, const SRaftId*
      destId, int32_t vgId, const char* str) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:819,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:824,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:822,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:825,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:823,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:826,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:827,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:828,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:829,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:832,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:834,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:835,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:836,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:841,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:837,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:840,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 843
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 843
    functionName: syncClientRequest2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncClientRequest2Json(const SyncClientRequest* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1136,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1137,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1139,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1140
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1140
    functionName: syncRequestVotePrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncRequestVote2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVotePrint(const SyncRequestVote* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1330,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntries*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1332
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1332
    functionName: syncAppendEntriesSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesSerialize(const SyncAppendEntries* pMsg, char*
      buf, uint32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1497
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1497
    functionName: syncAppendEntriesReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyDestroy(SyncAppendEntriesReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1948,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1954
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1954
    functionName: syncPreSnapshotBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPreSnapshot*
    signature: 'SyncPreSnapshot * syncPreSnapshotBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2274,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2276
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2276
    functionName: syncApplyMsgDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgDeserialize(const char* buf, uint32_t len, SyncApplyMsg*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:275,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:278,1
    - Dst: syncPingDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:277,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:276,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: syncPingDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncPingDeserialize
    - ASSERT
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingDeserialize2(const char* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - srcId
    - destId
    - vgId
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: syncPingReplyBuild3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingReplyBuild2
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyBuild3(const SRaftId* srcId, const SRaftId*
      destId, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:846,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:848,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: syncClientRequest2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - syncClientRequest2Json
    linkageType: ''
    returnType: char*
    signature: 'char * syncClientRequest2Str(const SyncClientRequest* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1335,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1337,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1338
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1338
    functionName: syncAppendEntriesDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesDeserialize(const char* buf, uint32_t len, SyncAppendEntries*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1500,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncAppendEntriesReply*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1502
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1502
    functionName: syncAppendEntriesReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplySerialize(const SyncAppendEntriesReply*
      pMsg, char* buf, uint32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1958,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 1960
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1960
    functionName: syncPreSnapshotDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotDestroy(SyncPreSnapshot* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2279,1
    - Dst: syncApplyMsgSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2281,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncApplyMsg*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2286
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2286
    functionName: syncApplyMsgSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsgSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncApplyMsgSerialize2(const SyncApplyMsg* pMsg, uint32_t*
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2425,1
    - Dst: syncSnapshotSendSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2427,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncSnapshotSend*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2432
      start: 2424
    functionDepth: 0
    functionLinenumber: 2424
    functionLinenumberEnd: 2432
    functionName: syncSnapshotSendSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSendSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncSnapshotSendSerialize2(const SyncSnapshotSend* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVote2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1128,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1129,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: syncRequestVote2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVote2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncRequestVote2Str(const SyncRequestVote* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1166,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1172
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1172
    functionName: syncRequestVoteReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncRequestVoteReply*
    signature: 'SyncRequestVoteReply * syncRequestVoteReplyBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:930,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:933,1
    - Dst: syncTimeoutDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:932,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 935
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 935
    functionName: syncTimeoutDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncTimeoutDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncTimeout*
    signature: 'SyncTimeout * syncTimeoutDeserialize2(const char* buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 947
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 947
    functionName: syncTimeoutFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncTimeoutDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutFromRpcMsg(const SRpcMsg* pRpcMsg, SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:999,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1001,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: syncTimeoutLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - syncTimeout2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutLog(const SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1186,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1188
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1188
    functionName: syncRequestVoteReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyDeserialize(const char* buf, uint32_t len,
      SyncRequestVoteReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1462,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1463,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1465,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1463,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1466
      start: 1461
    functionDepth: 0
    functionLinenumber: 1461
    functionLinenumberEnd: 1466
    functionName: syncAppendEntriesPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncAppendEntries2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesPrint2(char* s, const SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2245,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2246,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2251
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2251
    functionName: syncApplyMsgBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncApplyMsg*
    signature: 'SyncApplyMsg * syncApplyMsgBuild(uint32_t dataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2596,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2597,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2598,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2597,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2599,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2600
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2600
    functionName: syncSnapshotRspPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncSnapshotRsp2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspPrint(const SyncSnapshotRsp* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    constantsTouched: []
    func_position:
      end: 2638
      start: 2634
    functionDepth: 0
    functionLinenumber: 2634
    functionLinenumberEnd: 2638
    functionName: syncLeaderTransferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncLeaderTransferDestroy(SyncLeaderTransfer* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:938,1
    - Dst: syncTimeoutSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:942,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncTimeout*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 943
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 943
    functionName: syncTimeout2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - syncTimeoutSerialize
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncTimeout2RpcMsg(const SyncTimeout* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:950,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 953
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 953
    functionName: syncTimeoutFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncTimeoutDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncTimeout*
    signature: 'SyncTimeout * syncTimeoutFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1006,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1007,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1007,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1008,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 1010
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1010
    functionName: syncTimeoutLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - syncTimeout2Str
    - taosMemoryFree
    - sTrace
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutLog2(char* s, const SyncTimeout* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1191,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1192,1
    - Dst: syncRequestVoteReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1193,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncRequestVoteReply*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1198
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1198
    functionName: syncRequestVoteReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncRequestVoteReplySerialize
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncRequestVoteReplySerialize2(const SyncRequestVoteReply*
      pMsg, uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1469,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1471,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1472
    functionName: syncAppendEntriesLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncAppendEntries2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesLog(const SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2254,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pOriginalRpcMsg
    - vgId
    - pMeta
    argTypes:
    - SRpcMsg*
    - int32_t
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 2260
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2260
    functionName: syncApplyMsgBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsgBuild
    - memcpy
    linkageType: ''
    returnType: SyncApplyMsg*
    signature: 'SyncApplyMsg * syncApplyMsgBuild2(const SRpcMsg* pOriginalRpcMsg,
      int32_t vgId, SFsmCbMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2641,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncLeaderTransfer*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2643
      start: 2640
    functionDepth: 0
    functionLinenumber: 2640
    functionLinenumberEnd: 2643
    functionName: syncLeaderTransferSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncLeaderTransferSerialize(const SyncLeaderTransfer* pMsg, char*
      buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2588,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2590,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2592
      start: 2587
    functionDepth: 0
    functionLinenumber: 2587
    functionLinenumberEnd: 2592
    functionName: syncSnapshotRsp2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncSnapshotRsp2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncSnapshotRsp2Str(const SyncSnapshotRsp* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRspDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2519,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2518
    functionDepth: 0
    functionLinenumber: 2518
    functionLinenumberEnd: 2522
    functionName: syncSnapshotRspFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotRspDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotRsp*
    signature: 'SyncSnapshotRsp * syncSnapshotRspFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2902,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2904,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2903,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2906
      start: 2900
    functionDepth: 0
    functionLinenumber: 2900
    functionLinenumberEnd: 2906
    functionName: syncLocalCmdLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncLocalCmd2Str
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdLog2(char* s, const SyncLocalCmd* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:781,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:784,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:782,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:783,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 785
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 785
    functionName: syncSnapshotSendPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncSnapshotSend2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendPrint(const SyncSnapshotSend* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:531,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:534,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:533,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:532,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: syncPingReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyPrint(const SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1360,1
    - Dst: syncAppendEntriesSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1364,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncAppendEntries*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1365
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1365
    functionName: syncAppendEntries2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntries2RpcMsg(const SyncAppendEntries* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1697,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1700
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1700
    functionName: syncHeartbeatFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - ASSERT
    - syncHeartbeatDeserialize2
    linkageType: ''
    returnType: SyncHeartbeat*
    signature: 'SyncHeartbeat * syncHeartbeatFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1830,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1833,1
    - Dst: syncHeartbeatReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1832,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1835
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1835
    functionName: syncHeartbeatReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncHeartbeatReply*
    signature: 'SyncHeartbeatReply * syncHeartbeatReplyDeserialize2(const char* buf,
      uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1847
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1847
    functionName: syncHeartbeatReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatReplyDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncHeartbeatReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1963,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1964,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPreSnapshot*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1965
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1965
    functionName: syncPreSnapshotSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotSerialize(const SyncPreSnapshot* pMsg, char* buf,
      uint32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2689,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2728,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2693,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2692,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2694,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2729,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2730,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2736,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2737,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2738,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2745,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2740,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2744,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    constantsTouched: []
    func_position:
      end: 2747
      start: 2687
    functionDepth: 0
    functionLinenumber: 2687
    functionLinenumberEnd: 2747
    functionName: syncLeaderTransfer2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncLeaderTransfer2Json(const SyncLeaderTransfer* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:538,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:540,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:539,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: syncPingReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyPrint2(char* s, const SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1369
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1369
    functionName: syncAppendEntriesFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesFromRpcMsg(const SRpcMsg* pRpcMsg, SyncAppendEntries*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1711,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1709,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1721,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1734,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1739,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1741,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1747,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1751,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1720,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1738,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1752,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1708,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1713,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1719,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1726,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1736,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1724,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1728,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1745,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1704,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1707,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1712,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1735,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1723,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1727,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1742,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1744,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1748,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1754
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1754
    functionName: syncHeartbeat2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncHeartbeat2Json(const SyncHeartbeat* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1838,1
    - Dst: syncHeartbeatReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1842,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncHeartbeatReply*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1843
    functionName: syncHeartbeatReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatReplySerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReply2RpcMsg(const SyncHeartbeatReply* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1850,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1853
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1853
    functionName: syncHeartbeatReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncHeartbeatReply*
    signature: 'SyncHeartbeatReply * syncHeartbeatReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1968,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1969,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1970
    functionName: syncPreSnapshotDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotDeserialize(const char* buf, uint32_t len, SyncPreSnapshot*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2750,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2752,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2751,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLeaderTransfer*
    constantsTouched: []
    func_position:
      end: 2754
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2754
    functionName: syncLeaderTransfer2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncLeaderTransfer2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncLeaderTransfer2Str(const SyncLeaderTransfer* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSend2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:773,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:775,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: syncSnapshotSend2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSend2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncSnapshotSend2Str(const SyncSnapshotSend* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2533,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2530,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2535,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2542,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2556,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2561,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2563,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2567,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2569,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2575,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2526,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2529,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2534,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2541,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2560,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2548,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2546,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2579,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2531,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2558,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2545,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2549,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2573,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2576,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2578,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2582,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2543,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2550,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2557,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2564,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2566,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2570,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2572,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2583,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2585
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2585
    functionName: syncSnapshotRsp2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncSnapshotRsp2Json(const SyncSnapshotRsp* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2881,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2882,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2884,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2882,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2885
      start: 2880
    functionDepth: 0
    functionLinenumber: 2880
    functionLinenumberEnd: 2885
    functionName: syncLocalCmdPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncLocalCmd2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdPrint(const SyncLocalCmd* pMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:75,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:79,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:84,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:88,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:104,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:99,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:118,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:80,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:83,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:92,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:103,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:69,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:96,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:114,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:117,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:121,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:100,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:95,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:107,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:113,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:120,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - bufLen
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 123
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 123
    functionName: syncPingDeserialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - taosMemoryFree
    - taosMemoryMalloc
    - tDecodeBinary
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - memcpy
    - tDecoderClear
    - ASSERT
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingDeserialize3(void* buf, int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:168,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:171,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:184,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:185,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:190,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:203,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:188,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:192,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:198,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:216,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:173,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:175,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:177,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:191,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:202,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:209,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:211,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:176,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:200,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:205,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:172,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:187,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:199,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:208,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:210,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:212,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 218
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 218
    functionName: syncPing2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncPing2Json(const SyncPing* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1973,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1974,1
    - Dst: syncPreSnapshotSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPreSnapshot*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1980
    functionName: syncPreSnapshotSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncPreSnapshotSerialize2(const SyncPreSnapshot* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2004,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2007
      start: 2003
    functionDepth: 0
    functionLinenumber: 2003
    functionLinenumberEnd: 2007
    functionName: syncPreSnapshotFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshot*
    signature: 'SyncPreSnapshot * syncPreSnapshotFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2131,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2132,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2134,1
    - Dst: syncPreSnapshotReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2136
      start: 2129
    functionDepth: 0
    functionLinenumber: 2129
    functionLinenumberEnd: 2136
    functionName: syncPreSnapshotReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshotReply*
    signature: 'SyncPreSnapshotReply * syncPreSnapshotReplyDeserialize2(const char*
      buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2318,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2321,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pOriginalRpcMsg
    argTypes:
    - SyncApplyMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2323
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2323
    functionName: syncApplyMsg2OriginalRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsg2OriginalRpcMsg(const SyncApplyMsg* pMsg, SRpcMsg*
      pOriginalRpcMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:127,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:132,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:128,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:138,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:135,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:141,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:144,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:147,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:150,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:153,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:156,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:160,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPing*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 164
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 164
    functionName: syncPingSerialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeU64
    - tEndEncode
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncPingSerialize3(const SyncPing* pMsg, char* buf, int32_t
      bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:221,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:222,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: syncPing2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPing2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncPing2Str(const SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1984,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1985,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1987,1
    - Dst: syncPreSnapshotDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1986,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1989
      start: 1982
    functionDepth: 0
    functionLinenumber: 1982
    functionLinenumberEnd: 1989
    functionName: syncPreSnapshotDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshot*
    signature: 'SyncPreSnapshot * syncPreSnapshotDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2011,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2014,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2030,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2034,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2042,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2049,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2018,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2016,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2020,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2028,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2046,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2048,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2052,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2019,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2027,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2045,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2053,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2015,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2026,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2043,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2031,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2035,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2033,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2041,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2055
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2055
    functionName: syncPreSnapshot2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncPreSnapshot2Json(const SyncPreSnapshot* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2139,1
    - Dst: syncPreSnapshotReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2143,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2142,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPreSnapshotReply*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2144
      start: 2138
    functionDepth: 0
    functionLinenumber: 2138
    functionLinenumberEnd: 2144
    functionName: syncPreSnapshotReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotReplySerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReply2RpcMsg(const SyncPreSnapshotReply* pMsg,
      SRpcMsg* pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2327,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2330,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2344,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2340,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2340,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2332,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2336,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2348,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2346,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2350,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2354,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2335,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2337,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2339,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2342,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2355,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2333,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2331,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2338,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2349,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2347,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2351,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2357
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2357
    functionName: syncApplyMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - syncStr
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncApplyMsg2Json(const SyncApplyMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:868,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:869,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:869,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: syncClientRequestLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncClientRequest2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestLog(const SyncClientRequest* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1757,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1759,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1761
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1761
    functionName: syncHeartbeat2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncHeartbeat2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncHeartbeat2Str(const SyncHeartbeat* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1785,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1786,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1786,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1787,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1789
    functionName: syncHeartbeatLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeat2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatLog2(char* s, const SyncHeartbeat* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1806
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1806
    functionName: syncHeartbeatReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyDestroy(SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1992,1
    - Dst: syncPreSnapshotSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1996,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPreSnapshot*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 1997
    functionName: syncPreSnapshot2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshot2RpcMsg(const SyncPreSnapshot* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2309
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2309
    functionName: syncApplyMsgFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsgDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgFromRpcMsg(const SRpcMsg* pRpcMsg, SyncApplyMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2389,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2391,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2393
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2393
    functionName: syncApplyMsgLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncApplyMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgLog2(char* s, const SyncApplyMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2603,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2605,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2604,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2604,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2607
      start: 2602
    functionDepth: 0
    functionLinenumber: 2602
    functionLinenumberEnd: 2607
    functionName: syncSnapshotRspPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncSnapshotRsp2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspPrint2(char* s, const SyncSnapshotRsp* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:875,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:877,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:876,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:876,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 879
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 879
    functionName: syncClientRequestLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncClientRequest2Str
    - sTrace
    - taosMemoryFree
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestLog2(char* s, const SyncClientRequest* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1764,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1766,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1765,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1768
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1768
    functionName: syncHeartbeatPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncHeartbeat2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatPrint(const SyncHeartbeat* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1809,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncHeartbeatReply*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1811
      start: 1808
    functionDepth: 0
    functionLinenumber: 1808
    functionLinenumberEnd: 1811
    functionName: syncHeartbeatReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplySerialize(const SyncHeartbeatReply* pMsg, char*
      buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2000,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2001
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2001
    functionName: syncPreSnapshotFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPreSnapshot*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsgDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2314
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2314
    functionName: syncApplyMsgFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsgDeserialize2
    linkageType: ''
    returnType: SyncApplyMsg*
    signature: 'SyncApplyMsg * syncApplyMsgFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotRsp2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2610,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2611,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2613
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2613
    functionName: syncSnapshotRspLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncSnapshotRsp2Str
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspLog(const SyncSnapshotRsp* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 2411
      start: 2407
    functionDepth: 0
    functionLinenumber: 2407
    functionLinenumberEnd: 2411
    functionName: syncSnapshotSendDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendDestroy(SyncSnapshotSend* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1284,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1285,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1286,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1287,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1288
    functionName: syncRequestVoteReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncRequestVoteReply2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyPrint(const SyncRequestVoteReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1505,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: syncAppendEntriesReplyDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyDeserialize(const char* buf, uint32_t len,
      SyncAppendEntriesReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1614,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1612,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1612,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1615
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1615
    functionName: syncAppendEntriesReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncAppendEntriesReply2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyPrint(const SyncAppendEntriesReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2148
      start: 2146
    functionDepth: 0
    functionLinenumber: 2146
    functionLinenumberEnd: 2148
    functionName: syncPreSnapshotReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotReplyDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncPreSnapshotReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2215,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2217,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2216,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2216,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2219
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2219
    functionName: syncPreSnapshotReplyPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyPrint(const SyncPreSnapshotReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2375,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2377,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2376,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2379
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2379
    functionName: syncApplyMsgPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncApplyMsg2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgPrint2(char* s, const SyncApplyMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1291,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1293,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1292,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1292,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1295
    functionName: syncRequestVoteReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncRequestVoteReply2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyPrint2(char* s, const SyncRequestVoteReply*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1510,1
    - Dst: syncAppendEntriesReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1512,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncAppendEntriesReply*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1517
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1517
    functionName: syncAppendEntriesReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncAppendEntriesReplySerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntriesReplySerialize2(const SyncAppendEntriesReply*
      pMsg, uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1618,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1620,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1621,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1619,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1622
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1622
    functionName: syncAppendEntriesReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncAppendEntriesReply2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesReplyPrint2(char* s, const SyncAppendEntriesReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2151,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2154
      start: 2150
    functionDepth: 0
    functionLinenumber: 2150
    functionLinenumberEnd: 2154
    functionName: syncPreSnapshotReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshotReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncPreSnapshotReply*
    signature: 'SyncPreSnapshotReply * syncPreSnapshotReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2222,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2225,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2223,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2224,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2226
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2226
    functionName: syncPreSnapshotReplyPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncPreSnapshotReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyPrint2(char* s, const SyncPreSnapshotReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2382,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2383,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2385
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2385
    functionName: syncApplyMsgLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncApplyMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgLog(const SyncApplyMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1794,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1800
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1800
    functionName: syncHeartbeatReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncHeartbeatReply*
    signature: 'SyncHeartbeatReply * syncHeartbeatReplyBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2398,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dataLen
    - vgId
    argTypes:
    - uint32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2405
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2405
    functionName: syncSnapshotSendBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncSnapshotSend*
    signature: 'SyncSnapshotSend * syncSnapshotSendBuild(uint32_t dataLen, int32_t
      vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:957,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:963,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:961,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:960,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:962,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:964,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:965,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:966,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:967,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:968,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:971,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:972,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 974
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 974
    functionName: syncTimeout2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncTimeout2Json(const SyncTimeout* pMsg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: syncPingDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:569,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:571,1
    - Dst: syncClientRequest2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:580,1
    - Dst: syncRequestVoteReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:592,1
    - Dst: syncAppendEntriesDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:596,1
    - Dst: syncAppendEntriesReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:602,1
    - Dst: syncSnapshotSendDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:606,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:608,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:623,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:625,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:633,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:626,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:634,1
    - Dst: syncRequestVote2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:587,1
    - Dst: syncRequestVoteReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:591,1
    - Dst: syncAppendEntries2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:597,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:593,1
    - Dst: syncAppendEntriesReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:601,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:603,1
    - Dst: syncLeaderTransfer2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:617,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:641,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:643,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:646,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:624,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:637,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:638,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:631,1
    - Dst: syncTimeout2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:565,1
    - Dst: syncPingReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:575,1
    - Dst: syncRequestVoteDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:586,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:588,1
    - Dst: syncRpcUnknownMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:583,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:598,1
    - Dst: syncSnapshotRsp2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:612,1
    - Dst: syncLeaderTransferDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:616,1
    - Dst: syncLeaderTransferDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:618,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:621,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:628,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:636,1
    - Dst: syncTimeoutDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:564,1
    - Dst: syncPing2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:570,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:566,1
    - Dst: syncPingReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:574,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:576,1
    - Dst: syncSnapshotSend2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:607,1
    - Dst: syncSnapshotRspDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:611,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:635,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:642,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:647,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:627,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 649
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 649
    functionName: syncRpcMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRpcUnknownMsg2Json
    - taosMemoryFree
    - syncSnapshotRspDeserialize2
    - syncAppendEntriesReplyDeserialize2
    - syncRequestVoteReply2Json
    - syncAppendEntriesDeserialize2
    - syncPingReply2Json
    - syncLeaderTransferDestroy
    - syncAppendEntries2Json
    - syncRequestVote2Json
    - syncPingDeserialize2
    - syncSnapshotSend2Json
    - syncPing2Json
    - cJSON_CreateObject
    - syncTimeoutDestroy
    - cJSON_AddNumberToObject
    - syncSnapshotSendDeserialize2
    - syncLeaderTransfer2Json
    - syncSnapshotRspDestroy
    - syncTimeout2Json
    - syncSnapshotRsp2Json
    - syncLeaderTransferDeserialize2
    - cJSON_AddItemToObject
    - syncUtilPrintBin
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesDestroy
    - syncUtilPrintBin2
    - syncPingDestroy
    - syncRequestVoteReplyDeserialize2
    - syncRequestVoteDeserialize2
    - syncRequestVoteDestroy
    - syncClientRequest2Json
    - syncPingReplyDestroy
    - syncSnapshotSendDestroy
    - cJSON_AddStringToObject
    - syncAppendEntriesReply2Json
    - syncTimeoutDeserialize2
    - syncPingReplyDeserialize2
    - syncRequestVoteReplyDestroy
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncRpcMsg2Json(SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:21,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: syncPingBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingBuild(uint32_t dataLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: syncPingReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyDestroy(SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:343,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:344,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:346,1
    - Dst: syncPingReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: syncPingReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2463,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2469
      start: 2461
    functionDepth: 0
    functionLinenumber: 2461
    functionLinenumberEnd: 2469
    functionName: syncSnapshotRspBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncSnapshotRsp*
    signature: 'SyncSnapshotRsp * syncSnapshotRspBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2478,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncSnapshotRsp*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2480
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2480
    functionName: syncSnapshotRspSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspSerialize(const SyncSnapshotRsp* pMsg, char* buf,
      uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2758,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2764
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2764
    functionName: syncLocalCmdBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncLocalCmd*
    signature: 'SyncLocalCmd * syncLocalCmdBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:977,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:979,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 981
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 981
    functionName: syncTimeout2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncTimeout2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncTimeout2Str(const SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:30,1
    - Dst: syncPingBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:31,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:35,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - srcId
    - destId
    - vgId
    - str
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: syncPingBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - syncPingBuild
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingBuild2(const SRaftId* srcId, const SRaftId* destId,
      int32_t vgId, const char* str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:321,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPingReply*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: syncPingReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplySerialize(const SyncPingReply* pMsg, char* buf,
      uint32_t bufLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:352,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:363,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:360,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:353,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:357,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:366,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:369,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:372,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:375,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:378,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:387,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:381,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:385,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPingReply*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 389
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 389
    functionName: syncPingReplySerialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeU64
    - tEndEncode
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncPingReplySerialize3(const SyncPingReply* pMsg, char* buf,
      int32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:652,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:654,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:653,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:656,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: syncRpcUnknownMsg2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncRpcUnknownMsg2Json() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2475
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2475
    functionName: syncSnapshotRspDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspDestroy(SyncSnapshotRsp* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2483,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 2485
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2485
    functionName: syncSnapshotRspDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotRspDeserialize(const char* buf, uint32_t len, SyncSnapshotRsp*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2770
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2770
    functionName: syncLocalCmdDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdDestroy(SyncLocalCmd* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2891,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2889,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2889,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2892
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2892
    functionName: syncLocalCmdPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncLocalCmd2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdPrint2(char* s, const SyncLocalCmd* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransferDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2678,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncLeaderTransfer*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2677
    functionDepth: 0
    functionLinenumber: 2677
    functionLinenumberEnd: 2679
    functionName: syncLeaderTransferFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLeaderTransferDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncLeaderTransferFromRpcMsg(const SRpcMsg* pRpcMsg, SyncLeaderTransfer*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2802,1
    - Dst: syncLocalCmdSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2806,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncLocalCmd*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2807
      start: 2801
    functionDepth: 0
    functionLinenumber: 2801
    functionLinenumberEnd: 2807
    functionName: syncLocalCmd2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLocalCmdSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmd2RpcMsg(const SyncLocalCmd* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:985,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:986,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:988,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:986,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: syncTimeoutPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncTimeout2Str
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutPrint(const SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1771,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1772,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1773,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1772,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1775
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1775
    functionName: syncHeartbeatPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncHeartbeat2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatPrint2(char* s, const SyncHeartbeat* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2058,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2059,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2060,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2062
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2062
    functionName: syncPreSnapshot2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncPreSnapshot2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncPreSnapshot2Str(const SyncPreSnapshot* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2107
      start: 2103
    functionDepth: 0
    functionLinenumber: 2103
    functionLinenumberEnd: 2107
    functionName: syncPreSnapshotReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplyDestroy(SyncPreSnapshotReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2436,1
    - Dst: syncSnapshotSendDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2438,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2437,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2439,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2441
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2441
    functionName: syncSnapshotSendDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSendDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotSend*
    signature: 'SyncSnapshotSend * syncSnapshotSendDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSendDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 2453
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2453
    functionName: syncSnapshotSendFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSendDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendFromRpcMsg(const SRpcMsg* pRpcMsg, SyncSnapshotSend*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2488,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2489,1
    - Dst: syncSnapshotRspSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncSnapshotRsp*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2495
      start: 2487
    functionDepth: 0
    functionLinenumber: 2487
    functionLinenumberEnd: 2495
    functionName: syncSnapshotRspSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncSnapshotRspSerialize
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncSnapshotRspSerialize2(const SyncSnapshotRsp* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmdDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2814,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2817
      start: 2813
    functionDepth: 0
    functionLinenumber: 2813
    functionLinenumberEnd: 2817
    functionName: syncLocalCmdFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLocalCmdDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncLocalCmd*
    signature: 'SyncLocalCmd * syncLocalCmdFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeout2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:992,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:993,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:993,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:995,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:994,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: syncTimeoutPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncTimeout2Str
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutPrint2(char* s, const SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeat2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1778,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1780,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1779,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1781
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1781
    functionName: syncHeartbeatLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeat2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatLog(const SyncHeartbeat* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2065,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2068,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2066,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2066,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2067,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2064
    functionDepth: 0
    functionLinenumber: 2064
    functionLinenumberEnd: 2069
    functionName: syncPreSnapshotPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncPreSnapshot2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotPrint(const SyncPreSnapshot* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2110,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPreSnapshotReply*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2112
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2112
    functionName: syncPreSnapshotReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotReplySerialize(const SyncPreSnapshotReply* pMsg,
      char* buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2444,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2447,1
    - Dst: syncSnapshotSendSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncSnapshotSend*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2449
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2449
    functionName: syncSnapshotSend2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSendSerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSend2RpcMsg(const SyncSnapshotSend* pMsg, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapshotSendDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2456,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2459
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2459
    functionName: syncSnapshotSendFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncSnapshotSendDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotSend*
    signature: 'SyncSnapshotSend * syncSnapshotSendFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2499,1
    - Dst: syncSnapshotRspDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2501,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2500,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2504
      start: 2497
    functionDepth: 0
    functionLinenumber: 2497
    functionLinenumberEnd: 2504
    functionName: syncSnapshotRspDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncSnapshotRspDeserialize
    - ASSERT
    linkageType: ''
    returnType: SyncSnapshotRsp*
    signature: 'SyncSnapshotRsp * syncSnapshotRspDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2626,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2627,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2632
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2632
    functionName: syncLeaderTransferBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncLeaderTransfer*
    signature: 'SyncLeaderTransfer * syncLeaderTransferBuild(int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2826,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2828,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2830,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2837,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2851,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2844,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2840,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2856,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2858,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2829,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2836,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2855,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2867,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2825,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2853,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2868,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2821,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2824,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2838,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2845,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2852,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2843,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2841,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2870
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2870
    functionName: syncLocalCmd2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncLocalCmd2Json(const SyncLocalCmd* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:903,1
    - Dst: syncTimeoutSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:905,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:904,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncTimeout*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: syncTimeoutSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncTimeoutSerialize
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncTimeoutSerialize2(const SyncTimeout* pMsg, uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1202,1
    - Dst: syncRequestVoteReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1204,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1205,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1207
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1207
    functionName: syncRequestVoteReplyDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteReplyDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncRequestVoteReply*
    signature: 'SyncRequestVoteReply * syncRequestVoteReplyDeserialize2(const char*
      buf, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    functionName: syncRequestVoteReplyFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteReplyDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyFromRpcMsg(const SRpcMsg* pRpcMsg, SyncRequestVoteReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1932,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1933,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1934,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1935
      start: 1931
    functionDepth: 0
    functionLinenumber: 1931
    functionLinenumberEnd: 1935
    functionName: syncHeartbeatReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncHeartbeatReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyLog(const SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2072,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2073,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2073,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2075,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2074,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2076
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2076
    functionName: syncPreSnapshotPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncPreSnapshot2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotPrint2(char* s, const SyncPreSnapshot* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2646,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncLeaderTransfer*
    constantsTouched: []
    func_position:
      end: 2648
      start: 2645
    functionDepth: 0
    functionLinenumber: 2645
    functionLinenumberEnd: 2648
    functionName: syncLeaderTransferDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncLeaderTransferDeserialize(const char* buf, uint32_t len,
      SyncLeaderTransfer* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2773,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncLocalCmd*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2775
      start: 2772
    functionDepth: 0
    functionLinenumber: 2772
    functionLinenumberEnd: 2775
    functionName: syncLocalCmdSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdSerialize(const SyncLocalCmd* pMsg, char* buf, uint32_t
      bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmdDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pRpcMsg
    - pMsg
    argTypes:
    - SRpcMsg*
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2811
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2811
    functionName: syncLocalCmdFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLocalCmdDeserialize
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdFromRpcMsg(const SRpcMsg* pRpcMsg, SyncLocalCmd*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 916
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 916
    functionName: syncTimeoutDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutDestroy(SyncTimeout* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1210,1
    - Dst: syncRequestVoteReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1214,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncRequestVoteReply*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1215
    functionName: syncRequestVoteReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - syncRequestVoteReplySerialize
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReply2RpcMsg(const SyncRequestVoteReply* pMsg,
      SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReplyDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1222,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1225
    functionName: syncRequestVoteReplyFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteReplyDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncRequestVoteReply*
    signature: 'SyncRequestVoteReply * syncRequestVoteReplyFromRpcMsg2(const SRpcMsg*
      pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncHeartbeatReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1941,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1940,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1943
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1943
    functionName: syncHeartbeatReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncHeartbeatReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatReplyLog2(char* s, const SyncHeartbeatReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2079,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2081,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2082
      start: 2078
    functionDepth: 0
    functionLinenumber: 2078
    functionLinenumberEnd: 2082
    functionName: syncPreSnapshotLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshot2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotLog(const SyncPreSnapshot* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2651,1
    - Dst: syncLeaderTransferSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2653,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncLeaderTransfer*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2658
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2658
    functionName: syncLeaderTransferSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - syncLeaderTransferSerialize
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncLeaderTransferSerialize2(const SyncLeaderTransfer* pMsg,
      uint32_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2778,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2777
    functionDepth: 0
    functionLinenumber: 2777
    functionLinenumberEnd: 2780
    functionName: syncLocalCmdDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdDeserialize(const char* buf, uint32_t len, SyncLocalCmd*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1666,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1667,1
    - Dst: syncHeartbeatSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncHeartbeat*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1673
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1673
    functionName: syncHeartbeatSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncHeartbeatSerialize2(const SyncHeartbeat* pMsg, uint32_t*
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2419,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2421,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 2422
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2422
    functionName: syncSnapshotSendDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendDeserialize(const char* buf, uint32_t len, SyncSnapshotSend*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:40,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - srcId
    - destId
    - vgId
    argTypes:
    - SRaftId*
    - SRaftId*
    - int32_t
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: syncPingBuild3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingBuild2
    linkageType: ''
    returnType: SyncPing*
    signature: 'SyncPing * syncPingBuild3(const SRaftId* srcId, const SRaftId* destId,
      int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:244,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 246
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 246
    functionName: syncPingLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPing2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPingLog(const SyncPing* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1234,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1236,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1238,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1244,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1259,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1249,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1266,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1229,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1232,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1237,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1252,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1258,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1248,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1263,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1265,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1270,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1233,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1246,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1251,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1262,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1267,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1271,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1245,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1273
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1273
    functionName: syncRequestVoteReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncRequestVoteReply2Json(const SyncRequestVoteReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1641,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1647
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1647
    functionName: syncHeartbeatBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncHeartbeat*
    signature: 'SyncHeartbeat * syncHeartbeatBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1656,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1657,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncHeartbeat*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1658
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1658
    functionName: syncHeartbeatSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatSerialize(const SyncHeartbeat* pMsg, char* buf,
      uint32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshot2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2086,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2088,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2087,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2087,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 2090
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2090
    functionName: syncPreSnapshotLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPreSnapshot2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPreSnapshotLog2(char* s, const SyncPreSnapshot* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2166,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2174,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2189,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2192,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2162,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2173,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2180,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2190,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2178,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2182,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2188,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2199,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2158,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2161,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2177,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2181,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2196,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2198,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2202,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2165,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2163,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2167,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2175,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2193,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2195,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2205
      start: 2156
    functionDepth: 0
    functionLinenumber: 2156
    functionLinenumberEnd: 2205
    functionName: syncPreSnapshotReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncPreSnapshotReply2Json(const SyncPreSnapshotReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2266
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2266
    functionName: syncApplyMsgDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgDestroy(SyncApplyMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:45,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:46,1
    - Dst: syncPingSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncPing*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: syncPingSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncPingSerialize2(const SyncPing* pMsg, uint32_t* len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPing2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:250,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:251,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:251,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: syncPingLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPing2Str
    - strlen
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPingLog2(char* s, const SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1276,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1277,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1280
    functionName: syncRequestVoteReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - syncRequestVoteReply2Json
    linkageType: ''
    returnType: char*
    signature: 'char * syncRequestVoteReply2Str(const SyncRequestVoteReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1653
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1653
    functionName: syncHeartbeatDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatDestroy(SyncHeartbeat* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1661,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncHeartbeat*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1663
    functionName: syncHeartbeatDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncHeartbeatDeserialize(const char* buf, uint32_t len, SyncHeartbeat*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2208,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2210,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 2212
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2212
    functionName: syncPreSnapshotReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncPreSnapshotReply2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncPreSnapshotReply2Str(const SyncPreSnapshotReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2269,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncApplyMsg*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2271
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2271
    functionName: syncApplyMsgSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgSerialize(const SyncApplyMsg* pMsg, char* buf, uint32_t
      bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2414,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncSnapshotSend*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2416
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2416
    functionName: syncSnapshotSendSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncSnapshotSendSerialize(const SyncSnapshotSend* pMsg, char*
      buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2794,1
    - Dst: syncLocalCmdDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2796,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2795,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2799
      start: 2792
    functionDepth: 0
    functionLinenumber: 2792
    functionLinenumberEnd: 2799
    functionName: syncLocalCmdDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLocalCmdDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncLocalCmd*
    signature: 'SyncLocalCmd * syncLocalCmdDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLocalCmd2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2895,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2896,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2897,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2896,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncLocalCmd*
    constantsTouched: []
    func_position:
      end: 2898
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2898
    functionName: syncLocalCmdLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncLocalCmd2Str
    linkageType: ''
    returnType: void
    signature: 'void syncLocalCmdLog(const SyncLocalCmd* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2360,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2362,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2361,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2364
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2364
    functionName: syncApplyMsg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncApplyMsg2Json
    - cJSON_Print
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncApplyMsg2Str(const SyncApplyMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:691,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:693,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:692,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 695
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 695
    functionName: syncRpcMsgLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncRpcMsgLog2(char* s, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:919,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncTimeout*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 921
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 921
    functionName: syncTimeoutSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutSerialize(const SyncTimeout* pMsg, char* buf, uint32_t
      bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:670,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:672,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:671,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:673,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 674
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 674
    functionName: syncRpcMsgPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncRpcMsg2Str
    linkageType: ''
    returnType: void
    signature: 'void syncRpcMsgPrint(SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: syncPingDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncPingDestroy(SyncPing* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:478,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:486,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:504,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:510,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:512,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:514,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:517,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:474,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:485,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:490,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:494,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:502,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:500,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:492,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:507,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:518,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:470,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:473,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:489,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:493,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:501,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:509,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:511,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:513,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:475,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:477,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:479,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:487,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:505,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 520
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 520
    functionName: syncPingReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncPingReply2Json(const SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:545,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:546,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:546,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 548
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 548
    functionName: syncPingReplyLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyLog(const SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:854,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:855,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:855,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:856,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 858
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 858
    functionName: syncClientRequestPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncClientRequest2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestPrint(const SyncClientRequest* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: syncRequestVoteReplyDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplyDestroy(SyncRequestVoteReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:704,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:706,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:731,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:718,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:722,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:740,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:746,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:748,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:760,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:762,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:764,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:716,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:730,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:737,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:739,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:743,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:745,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:753,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:755,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:767,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:768,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:703,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:708,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:715,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:729,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:734,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:736,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:742,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:761,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:763,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:699,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:702,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:707,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:714,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:719,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:723,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:733,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:721,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:749,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:752,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:757,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 770
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 770
    functionName: syncSnapshotSend2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncSnapshotSend2Json(const SyncSnapshotSend* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:924,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncTimeout*
    constantsTouched: []
    func_position:
      end: 926
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 926
    functionName: syncTimeoutDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncTimeoutDeserialize(const char* buf, uint32_t len, SyncTimeout*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:263,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncPing*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: syncPingSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncPingSerialize(const SyncPing* pMsg, char* buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:523,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:524,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: syncPingReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncPingReply2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncPingReply2Str(const SyncPingReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReply2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:552,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:553,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:553,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: syncPingReplyLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncPingReply2Str
    linkageType: ''
    returnType: void
    signature: 'void syncPingReplyLog2(char* s, const SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncClientRequest2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:861,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:863,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:862,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:862,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncClientRequest*
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: syncClientRequestPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - syncClientRequest2Str
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncClientRequestPrint2(char* s, const SyncClientRequest* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1181,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncRequestVoteReply*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1183
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1183
    functionName: syncRequestVoteReplySerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteReplySerialize(const SyncRequestVoteReply* pMsg,
      char* buf, uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1677,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1678,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1680,1
    - Dst: syncHeartbeatDeserialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1682
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1682
    functionName: syncHeartbeatDeserialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatDeserialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: SyncHeartbeat*
    signature: 'SyncHeartbeat * syncHeartbeatDeserialize2(const char* buf, uint32_t
      len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsg2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:662,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:663,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:664,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: syncRpcMsg2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncRpcMsg2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncRpcMsg2Str(SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2095,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2096,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2101
      start: 2093
    functionDepth: 0
    functionLinenumber: 2093
    functionLinenumberEnd: 2101
    functionName: syncPreSnapshotReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncPreSnapshotReply*
    signature: 'SyncPreSnapshotReply * syncPreSnapshotReplyBuild(int32_t vgId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:394,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:413,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:416,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:421,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:433,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:439,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:442,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:446,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:393,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:412,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:420,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:425,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:445,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:400,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:429,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:424,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:443,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:405,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:408,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:417,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:438,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - buf
    - bufLen
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 448
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 448
    functionName: syncPingReplyDeserialize3
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - taosMemoryFree
    - taosMemoryMalloc
    - tDecodeBinary
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - memcpy
    - tDecoderClear
    - ASSERT
    linkageType: ''
    returnType: SyncPingReply*
    signature: 'SyncPingReply * syncPingReplyDeserialize3(void* buf, int32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:884,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 889
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 889
    functionName: syncTimeoutBuildX
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncTimeout*
    signature: 'SyncTimeout * syncTimeoutBuildX() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1015,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1021
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1021
    functionName: syncRequestVoteBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncRequestVote*
    signature: 'SyncRequestVote * syncRequestVoteBuild(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1030,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pMsg
    - buf
    - bufLen
    argTypes:
    - SyncRequestVote*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1032
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1032
    functionName: syncRequestVoteSerialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteSerialize(const SyncRequestVote* pMsg, char* buf,
      uint32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRequestVoteDeserialize2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1071,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1072,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRpcMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1074
    functionName: syncRequestVoteFromRpcMsg2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncRequestVoteDeserialize2
    - ASSERT
    linkageType: ''
    returnType: SyncRequestVote*
    signature: 'SyncRequestVote * syncRequestVoteFromRpcMsg2(const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1447,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1448,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1451
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1451
    functionName: syncAppendEntries2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncAppendEntries2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntries2Str(const SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1485,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1491
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1491
    functionName: syncAppendEntriesReplyBuild
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: SyncAppendEntriesReply*
    signature: 'SyncAppendEntriesReply * syncAppendEntriesReplyBuild(int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1553,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1555,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1557,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1563,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1565,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1580,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1583,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1588,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1589,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1594,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1556,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1564,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1582,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1579,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1592,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1593,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1597,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1552,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1568,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1572,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1578,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1570,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1590,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1591,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1598,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1548,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1551,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1567,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1571,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1600
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1600
    functionName: syncAppendEntriesReply2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncAppendEntriesReply2Json(const SyncAppendEntriesReply*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:451,1
    - Dst: syncPingReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:455,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pRpcMsg
    argTypes:
    - SyncPingReply*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: syncPingReply2RpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncPingReplySerialize
    - rpcMallocCont
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncPingReply2RpcMsg(const SyncPingReply* pMsg, SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncTimeoutBuildX
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - timeoutType
    - logicClock
    - timerMS
    - vgId
    - data
    argTypes:
    - ESyncTimeoutType
    - uint64_t
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 900
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 900
    functionName: syncTimeoutBuild2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncTimeoutBuildX
    linkageType: ''
    returnType: SyncTimeout*
    signature: 'SyncTimeout * syncTimeoutBuild2(ESyncTimeoutType timeoutType, uint64_t
      logicClock, int32_t timerMS, int32_t vgId, void* data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: syncRequestVoteDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteDestroy(SyncRequestVote* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1035,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1036,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - len
    - pMsg
    argTypes:
    - char*
    - uint32_t
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: syncRequestVoteDeserialize
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: void
    signature: 'void syncRequestVoteDeserialize(const char* buf, uint32_t len, SyncRequestVote*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1082,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1087,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1093,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1098,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1108,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1100,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1116,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1119,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1078,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1081,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1086,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1097,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1112,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1107,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1114,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1122,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1085,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1083,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1095,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1111,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1123,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1094,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1109,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1101,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1117,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 1125
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1125
    functionName: syncRequestVote2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncRequestVote2Json(const SyncRequestVote* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntriesReply2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1603,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1604,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1607
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1607
    functionName: syncAppendEntriesReply2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncAppendEntriesReply2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncAppendEntriesReply2Str(const SyncAppendEntriesReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1819,1
    - Dst: syncHeartbeatReplySerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1821,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncHeartbeatReply*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1826
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1826
    functionName: syncHeartbeatReplySerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncHeartbeatReplySerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncHeartbeatReplySerialize2(const SyncHeartbeatReply* pMsg,
      uint32_t* len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncAppendEntries2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1478,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1477,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:1477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pMsg
    argTypes:
    - char*
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 1480
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1480
    functionName: syncAppendEntriesLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strlen
    - sTrace
    - syncAppendEntries2Str
    linkageType: ''
    returnType: void
    signature: 'void syncAppendEntriesLog2(char* s, const SyncAppendEntries* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncApplyMsg2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2368,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2369,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2370,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2371,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncApplyMsg*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2367
    functionDepth: 0
    functionLinenumber: 2367
    functionLinenumberEnd: 2372
    functionName: syncApplyMsgPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - syncApplyMsg2Str
    - printf
    - strlen
    linkageType: ''
    returnType: void
    signature: 'void syncApplyMsgPrint(const SyncApplyMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2783,1
    - Dst: syncLocalCmdSerialize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2785,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c:2784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMsg
    - len
    argTypes:
    - SyncLocalCmd*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 2790
      start: 2782
    functionDepth: 0
    functionLinenumber: 2782
    functionLinenumberEnd: 2790
    functionName: syncLocalCmdSerialize2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMessageDebug.c
    functionUses: []
    functionsReached:
    - syncLocalCmdSerialize
    - taosMemoryMalloc
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char * syncLocalCmdSerialize2(const SyncLocalCmd* pMsg, uint32_t*
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:20,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:23,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:38,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:45,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:29,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:33,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:39,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:50,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:41,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:42,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:25,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:34,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:37,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:43,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:49,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:24,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:35,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:40,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:46,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    constantsTouched: []
    func_position:
      end: 52
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 52
    functionName: voteGranted2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - snprintf
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - voteGrantedMajority
    - cJSON_AddStringToObject
    - cJSON_CreateArray
    - cJSON_CreateIntArray
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *voteGranted2Json(SVotesGranted *pVotesGranted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:63,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:67,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:66,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:68,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:73,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:80,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:81,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:82,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:83,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:85,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:92,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:88,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:91,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:87,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:86,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    constantsTouched: []
    func_position:
      end: 94
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 94
    functionName: votesRespond2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - snprintf
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_CreateArray
    - cJSON_CreateIntArray
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *votesRespond2Json(SVotesRespond *pVotesRespond) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGranted2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:55,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:56,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:57,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: voteGranted2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - cJSON_Delete
    - voteGranted2Json
    linkageType: ''
    returnType: char*
    signature: 'char *voteGranted2Str(SVotesGranted *pVotesGranted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: votesRespond2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:97,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:99,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: votesRespond2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncVoteMgrDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - votesRespond2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char *votesRespond2Str(SVotesRespond *pVotesRespond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:40,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:42,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:41,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: syncIndexMgrLog2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncIndexMgr2Str
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrLog2(char *s, SSyncIndexMgr *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:26,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:27,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:29,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:28,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - s
    - pObj
    argTypes:
    - char*
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: syncIndexMgrPrint2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncIndexMgr2Str
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrPrint2(char *s, SSyncIndexMgr *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:19,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:20,1
    - Dst: fflush
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:21,1
    - Dst: printf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:20,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: syncIndexMgrPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - fflush
    - taosMemoryFree
    - printf
    - strlen
    - syncIndexMgr2Str
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrPrint(SSyncIndexMgr *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:48,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:51,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:53,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:59,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:52,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:63,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:64,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:65,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:69,1
    - Dst: cJSON_CreateIntArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:73,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:82,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:75,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:83,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:79,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:74,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - pSyncIndexMgr
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 85
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 85
    functionName: syncIndexMgr2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_CreateArray
    - cJSON_CreateIntArray
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *syncIndexMgr2Json(SSyncIndexMgr *pSyncIndexMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Str
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:33,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:34,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:35,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: syncIndexMgrLog
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - strlen
    - sTrace
    - taosMemoryFree
    - syncIndexMgr2Str
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrLog(SSyncIndexMgr *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:88,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:90,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pSyncIndexMgr
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: syncIndexMgr2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIndexMgrDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncIndexMgr2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char *syncIndexMgr2Str(SSyncIndexMgr *pSyncIndexMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiver2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:127,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:128,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: snapshotReceiver2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - snapshotReceiver2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char *snapshotReceiver2Str(SSyncSnapshotReceiver *pReceiver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snapshotSender2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:70,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:71,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: snapshotSender2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - snapshotSender2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char *snapshotSender2Str(SSyncSnapshotSender *pSender) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:37,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:41,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:46,1
    - Dst: syncUtilPrintBin2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:39,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:44,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:48,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:61,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:64,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:24,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:47,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:45,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:53,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:65,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:20,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:23,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:28,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:30,1
    - Dst: syncUtilPrintBin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:36,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:38,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:51,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:52,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:56,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:25,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:27,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:31,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:49,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:50,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:54,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:55,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 67
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 67
    functionName: snapshotSender2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - syncUtilPrintBin
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - syncUtilPrintBin2
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *snapshotSender2Json(SSyncSnapshotSender *pSender) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:109,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:100,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:118,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:122,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:85,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:87,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:108,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:99,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:115,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:117,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:84,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:82,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:88,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:90,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:92,1
    - Dst: syncUtilU642Addr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:98,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:106,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:103,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:112,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:114,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:78,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:91,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:102,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:105,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:111,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 124
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 124
    functionName: snapshotReceiver2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached:
    - snprintf
    - syncUtilU642Addr
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON *snapshotReceiver2Json(SSyncSnapshotReceiver *pReceiver) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncPreSnapshotReplyBuild
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:136,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:139,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:149,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:144,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:152,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:162,1
    - Dst: syncPreSnapshotReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:171,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:172,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:174,1
    - Dst: syncPreSnapshotReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c:178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPreSnapshot*
    constantsTouched: []
    func_position:
      end: 180
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 180
    functionName: syncNodeOnPreSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncPreSnapshotReply2RpcMsg
    - syncNodeSendMsgById
    - syncPreSnapshotReplyDestroy
    - walGetCommittedVer
    - syncPreSnapshotReplyBuild
    - sNError
    - syncNodeIsMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnPreSnapshot(SSyncNode *ths, SyncPreSnapshot *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPreSnapshotReply*
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: syncNodeOnPreSnapshotReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncSnapshotDebug.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnPreSnapshotReply(SSyncNode *ths, SyncPreSnapshotReply
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:40,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:118,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:36,1
    - Dst: voteGranted2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:85,1
    - Dst: votesRespond2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:86,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:121,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:159,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:170,1
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:90,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:116,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:30,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:45,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:53,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:70,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:123,1
    - Dst: syncIndexMgr2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:89,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:156,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:130,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:93,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:95,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:111,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:137,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:162,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:39,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:113,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:132,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:106,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:61,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:62,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:120,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:160,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:122,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:117,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:28,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:80,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:127,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:129,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:26,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:33,1
    - Dst: logStore2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:93,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:167,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:173,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:20,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:35,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:55,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:63,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:76,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:103,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:131,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:105,1
    - Dst: snapshotSender2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:162,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:41,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:134,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:166,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:94,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:110,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:136,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:174,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:124,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:31,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:50,1
    - Dst: syncUtilNodeInfo2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:53,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:128,1
    - Dst: snapshotReceiver2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:167,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:27,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:34,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:49,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:71,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:100,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:77,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:119,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:38,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:85,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:86,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:98,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:133,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:107,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:90,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:109,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:104,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:24,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:51,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:69,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:89,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:135,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:112,1
    - Dst: syncUtilNodeInfo2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:44,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:56,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 103
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 176
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 176
    functionName: syncNode2Json
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - votesRespond2Json
    - snprintf
    - logStore2Json
    - snapshotSender2Json
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - syncStr
    - cJSON_AddStringToObject
    - syncIndexMgr2Json
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - syncUtilNodeInfo2Json
    - voteGranted2Json
    - snapshotReceiver2Json
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: cJSON*
    signature: 'cJSON * syncNode2Json(const SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:223,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:225,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:227,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 229
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 229
    functionName: syncNodePingSelf
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - syncNodePing
    - ASSERT
    - syncPingDestroy
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePingSelf(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:187,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:196,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:201,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 206
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 206
    functionName: syncNode2SimpleStr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - snprintf
    - taosMemoryMalloc
    - syncStr
    linkageType: ''
    returnType: char*
    signature: 'inline char * syncNode2SimpleStr(const SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:257,1
    - Dst: syncPingReplyBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:259,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:270,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:271,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: syncNodeOnPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - syncPingReply2RpcMsg
    - syncNodeSendMsgById
    - syncPingReplyDestroy
    - sTrace
    - syncPingReplyBuild3
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnPing(SSyncNode* ths, SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNode2Json
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:179,1
    - Dst: cJSON_Print
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:180,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:181,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: syncNode2Str
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    - syncNode2Json
    - cJSON_Delete
    linkageType: ''
    returnType: char*
    signature: 'char * syncNode2Str(const SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:235,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:237,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:236,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: syncNodePingPeers
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - syncNodePing
    - ASSERT
    - syncPingDestroy
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePingPeers(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncPingReply*
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: syncNodeOnPingReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - sTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnPingReply(SSyncNode* ths, SyncPingReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:210,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:214,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:215,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pSyncNode
    - destRaftId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SyncPing*
    constantsTouched: []
    func_position:
      end: 219
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 219
    functionName: syncNodePing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - syncRpcMsgLog2
    - syncPingLog2
    - syncNodeSendMsgById
    - syncPing2RpcMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePing(SSyncNode* pSyncNode, const SRaftId* destRaftId,
      SyncPing* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild3
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:247,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:249,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:250,1
    - Dst: syncNodePing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: syncNodePingAll
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncMainDebug.c
    functionUses: []
    functionsReached:
    - syncNodePing
    - ASSERT
    - syncPingDestroy
    - syncPingBuild3
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePingAll(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:135,1
    - Dst: taosAddIntoQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:140,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:136,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:138,1
    - Dst: taosOpenQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:139,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: syncIOCreate
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosOpenQset
    - taosMemoryMalloc
    - memset
    - taosAddIntoQset
    - taosOpenQueue
    - addEpIntoEpSet
    linkageType: ''
    returnType: SSyncIO*
    signature: 'static SSyncIO *syncIOCreate(char *host, uint16_t port) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosBlockSIGPIPE
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:175,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:192,1
    - Dst: rpcInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:177,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:191,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:182,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:194,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:202,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:203,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:212,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:213,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:215,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:224,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:222,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:232,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:223,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:223,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 234
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 234
    functionName: syncIOStartInternal
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - rpcOpen
    - sError
    - taosBlockSIGPIPE
    - snprintf
    - TAOS_SYSTEM_ERROR
    - atomic_store_8
    - rpcInit
    - memset
    - taosThreadCreate
    - strerror
    - taosTmrInit
    - taosVersionStrToInt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStartInternal(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: syncIOStartPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosTmrReset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStartPing(SSyncIO *io) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:278,1
    - Dst: syncAppendEntriesReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:315,1
    - Dst: syncTimeoutFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:320,1
    - Dst: syncSnapshotSendDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:331,1
    - Dst: syncSnapshotRspFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:336,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:337,1
    - Dst: syncTimeoutDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:323,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:350,1
    - Dst: syncAppendEntriesReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:312,1
    - Dst: syncRequestVoteReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:296,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:297,1
    - Dst: syncSnapshotRspDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:339,1
    - Dst: taosResetQitems
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:347,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:368,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:329,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:321,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:374,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:259,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:253,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:262,1
    - Dst: syncPingFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:267,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:268,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:289,1
    - Dst: syncRequestVoteFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:288,1
    - Dst: syncRequestVoteReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:299,1
    - Dst: syncAppendEntriesFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:304,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:305,1
    - Dst: syncSnapshotSendFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:328,1
    - Dst: taosUpdateItemSize
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:371,1
    - Dst: syncAppendEntriesDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:307,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:349,1
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:247,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:261,1
    - Dst: taosReadAllQitemsFromQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:252,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:270,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:276,1
    - Dst: syncRequestVoteDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:291,1
    - Dst: syncPingReplyFromRpcMsg2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:275,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:343,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:313,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 376
    functionName: syncIOConsumerFunc
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncRequestVoteFromRpcMsg2
    - syncAppendEntriesFromRpcMsg2
    - ASSERT
    - taosFreeQitem
    - syncRpcMsgLog2
    - syncTimeoutDestroy
    - syncPingFromRpcMsg2
    - rpcFreeCont
    - syncSnapshotRspDestroy
    - taosUpdateItemSize
    - syncAppendEntriesReplyDestroy
    - syncAppendEntriesDestroy
    - syncAppendEntriesReplyFromRpcMsg2
    - syncSnapshotSendFromRpcMsg2
    - syncPingReplyFromRpcMsg2
    - syncPingDestroy
    - taosGetQitem
    - syncSnapshotRspFromRpcMsg2
    - snprintf
    - syncTimeoutFromRpcMsg2
    - syncRequestVoteDestroy
    - taosResetQitems
    - syncPingReplyDestroy
    - sTrace
    - taosAllocateQall
    - taosReadAllQitemsFromQset
    - syncSnapshotSendDestroy
    - taosFreeQall
    - syncRequestVoteReplyDestroy
    - syncRequestVoteReplyFromRpcMsg2
    linkageType: ''
    returnType: void*
    signature: 'static void *syncIOConsumerFunc(void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:154,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:163,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:155,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:167,1
    - Dst: rpcClose
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:158,1
    - Dst: taosCloseQset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: syncIODestroy
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosCloseQueue
    - taosCloseQset
    - rpcClose
    - atomic_load_8
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIODestroy(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:238,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:241,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:239,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: syncIOStopInternal
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - taosThreadJoin
    - taosTmrCleanUp
    - taosThreadClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStopInternal(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:381,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:386,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:384,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: syncIOProcessRequest
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - memcpy
    - syncRpcMsgLog2
    - taosWriteQitem
    - taosAllocateQitem
    linkageType: ''
    returnType: void
    signature: 'static void syncIOProcessRequest(void *pParent, SRpcMsg *pMsg, SEpSet
      *pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 429
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 429
    functionName: syncIOStopPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStopPing(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:71,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:79,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:72,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:81,1
    - Dst: syncUtilMsgHtoN
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:83,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: syncIOSendMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - syncUtilMsgHtoN
    - rpcSendRequest
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOSendMsg(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStartQ
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:110,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: syncIOQTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncIOStartQ
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOQTimerStart() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStopQ
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:116,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: syncIOQTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncIOStopQ
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOQTimerStop() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStopPing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:128,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: syncIOPingTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncIOStopPing
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOPingTimerStop() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 473
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 473
    functionName: syncEntryDestory
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void syncEntryDestory(SSyncRaftEntry *pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:506,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:507,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:508,1
    - Dst: sprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 516
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 516
    functionName: syncUtilPrintBin2
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - sprintf
    - memset
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char *syncUtilPrintBin2(char *ptr, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:96,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:100,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:97,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:104,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:101,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 107
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 107
    functionName: syncIOEqMsg
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncRpcMsgLog2
    - snprintf
    - taosWriteQitem
    - memcpy
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOEqMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:477,1
    - Dst: ntohl
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 479
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 479
    functionName: syncUtilMsgNtoH
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - ntohl
    linkageType: ''
    returnType: void
    signature: 'void syncUtilMsgNtoH(void *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosInetNtop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - u64
    - host
    - len
    - port
    argTypes:
    - uint64_t
    - char*
    - int64_t
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: syncUtilU642Addr
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosInetNtop
    linkageType: ''
    returnType: void
    signature: 'void syncUtilU642Addr(uint64_t u64, char *host, int64_t len, uint16_t
      *port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStopInternal
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:62,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:66,1
    - Dst: syncIODestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:65,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: syncIOStop
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncIOStopInternal
    - syncIODestroy
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOStop() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:391,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:393,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pParent
    - pMsg
    - pEpSet
    argTypes:
    - void*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: syncIOProcessReply
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncRpcMsgLog2
    - sTrace
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void syncIOProcessReply(void *pParent, SRpcMsg *pMsg, SEpSet
      *pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 409
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 409
    functionName: syncIOStartQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosTmrReset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStartQ(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingReplyBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:439,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:446,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:445,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:444,1
    - Dst: syncPingReply2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:442,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:447,1
    - Dst: syncPingReplyDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:448,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 451
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 451
    functionName: syncIOTickQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncPingReply2RpcMsg
    - syncRpcMsgLog2
    - taosTmrReset
    - taosWriteQitem
    - syncPingReplyDestroy
    - syncPingReplyBuild2
    - memcpy
    - taosAllocateQitem
    linkageType: ''
    returnType: void
    signature: 'static void syncIOTickQ(void *param, void *tmrId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 487
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 487
    functionName: syncUtilCanPrint
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static inline bool syncUtilCanPrint(char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 6
    argNames:
    - parent
    - meterId
    - spi
    - encrypt
    - secret
    - ckey
    argTypes:
    - void*
    - char*
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: syncIOAuth
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOAuth(void *parent, char *meterId, char *spi,
      char *encrypt, char *secret, char *ckey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - io
    argTypes:
    - SSyncIO*
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: syncIOStopQ
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncIOStopQ(SSyncIO *io) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncPingBuild2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:461,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:467,1
    - Dst: syncPingDestroy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:468,1
    - Dst: syncPing2RpcMsg
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:465,1
    - Dst: syncRpcMsgLog2
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:466,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 471
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 471
    functionName: syncIOTickPing
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncPingBuild2
    - syncRpcMsgLog2
    - taosTmrReset
    - syncPing2RpcMsg
    - rpcSendRequest
    - syncPingDestroy
    linkageType: ''
    returnType: void
    signature: 'static void syncIOTickPing(void *param, void *tmrId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:491,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:494,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:492,1
    - Dst: syncUtilCanPrint
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:497,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 502
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 502
    functionName: syncUtilPrintBin
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - memset
    - syncUtilCanPrint
    - memcpy
    - ASSERT
    linkageType: ''
    returnType: char*
    signature: 'char *syncUtilPrintBin(char *ptr, uint32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:528,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: syncUtilAddr2U64
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - taosGetIpv4FromFqdn
    - sError
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t syncUtilAddr2U64(const char *host, uint16_t port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOCreate
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:50,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:53,1
    - Dst: syncIOStartInternal
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:54,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:51,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:53,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:55,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: syncIOStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - sTrace
    - taosGetTimestampSec
    - syncIOCreate
    - taosSeedRand
    - syncIOStartInternal
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOStart(char *host, uint16_t port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIOStartPing
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:122,1
    - Dst: ASSERT
      Src: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: syncIOPingTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/test/sync_test_lib/src/syncIO.c
    functionUses: []
    functionsReached:
    - syncIOStartPing
    - ASSERT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIOPingTimerStart() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: syncLogReplBarrier
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncRaftEntry.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool syncLogReplBarrier(SSyncRaftEntry* pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: syncLogReplGetRetryBackoffTimeMs
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncPipeline.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int64_t syncLogReplGetRetryBackoffTimeMs(SSyncLogReplMgr*
      pMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/inc/syncPipeline.h:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: syncLogReplGetNextRetryBackoff
    functionSourceFile: /src/tdengine/source/libs/sync/inc/syncPipeline.h
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t syncLogReplGetNextRetryBackoff(SSyncLogReplMgr*
      pMgr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1779,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1781,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1780,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1780,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1782,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1784,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1789
    functionName: syncNodeDoStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosTmrReset
    - sError
    - syncIsInit
    - atomic_store_64
    - TAOS_CHECK_RETURN
    - syncEnv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeDoStartHeartbeatTimer(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2555,1
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2556,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSyncNode
    - pLastIndex
    - pLastTerm
    argTypes:
    - SSyncNode*
    - SyncIndex*
    - SyncTerm*
    constantsTouched: []
    func_position:
      end: 2558
      start: 2554
    functionDepth: 0
    functionLinenumber: 2554
    functionLinenumberEnd: 2558
    functionName: syncNodeGetLastIndexTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeGetLastIndexTerm(SSyncNode* pSyncNode, SyncIndex*
      pLastIndex, SyncTerm* pLastTerm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1549,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1557,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1551,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1551,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1555,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1557,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1561,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1563,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1567
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1567
    functionName: syncNodeStartStandBy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sError
    - syncNodeStartPingTimer
    - terrstr
    - syncNodeStopHeartbeatTimer
    - syncNodeRestartElectTimer
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStartStandBy(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:573,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:575,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:581,1
    - Dst: syncNodeIsReadyForRead
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: syncIsReadyForRead
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodeIsReadyForRead
    - sError
    linkageType: ''
    returnType: bool
    signature: 'bool syncIsReadyForRead(int64_t rid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3596,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3587,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3588,1
    - Dst: syncCacheEntry
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3600,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3604,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3610
      start: 3583
    functionDepth: 0
    functionLinenumber: 3583
    functionLinenumberEnd: 3610
    functionName: syncNodeAppendNoopOld
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncCacheEntry
    - sError
    - taosLRUCacheRelease
    - syncEntryBuildNoop
    - syncEntryDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeAppendNoopOld(SSyncNode* ths) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetPeerState
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3969,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3976,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - ths
    - pDestId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 3983
      start: 3968
    functionDepth: 0
    functionLinenumber: 3968
    functionLinenumberEnd: 3983
    functionName: syncNodeNeedSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sError
    - syncNodeGetPeerState
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeNeedSendAppendEntries(SSyncNode* ths, const SRaftId*
      pDestId, const SyncAppendEntries* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3987,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4002,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3994,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:4000,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 4008
      start: 3985
    functionDepth: 0
    functionLinenumber: 3985
    functionLinenumberEnd: 4008
    functionName: syncNodeCanChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeGetSnapshotSender
    - syncNodeGetLastIndex
    - sError
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeCanChange(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:63,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:72,1
    - Dst: syncNodeOpen
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:64,1
    - Dst: syncNodeAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:70,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:66,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pSyncInfo
    - vnodeVersion
    argTypes:
    - SSyncInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: syncOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAdd
    - sError
    - syncNodeClose
    - sInfo
    - syncNodeOpen
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncOpen(SSyncInfo* pSyncInfo, int32_t vnodeVersion) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:803,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:818,1
    - Dst: syncGetRaftIdByEp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:817,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:808,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:814,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:821,1
    - Dst: epsetSort
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:840,1
    - Dst: epsetToString
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:843,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:844,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:846,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - rid
    - pEpSet
    argTypes:
    - int64_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 847
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 847
    functionName: syncGetRetryEpSet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - strncmp
    - syncGetRaftIdByEp
    - tstrncpy
    - sDebug
    - epsetSort
    - syncNodeRelease
    - epsetToString
    linkageType: ''
    returnType: void
    signature: 'void syncGetRetryEpSet(int64_t rid, SEpSet* pEpSet) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:89,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:94,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:93,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:97,1
    - Dst: syncNodeRestore
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:99,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:100,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:103,1
    - Dst: syncNodeStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:105,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:106,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:109,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:115,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:119,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:118,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 120
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 120
    functionName: syncStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeRestore
    - sError
    - syncNodeAcquire
    - sInfo
    - syncNodeStart
    - tstrerror
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncStart(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:851,1
    - Dst: syncNodePropose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:859,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:856,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:860,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - rid
    - pMsg
    - isWeak
    - seq
    argTypes:
    - int64_t
    - SRpcMsg*
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 862
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 862
    functionName: syncPropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    - syncNodeRelease
    - syncNodePropose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncPropose(int64_t rid, SRpcMsg* pMsg, bool isWeak, int64_t*
      seq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1768,1
    - Dst: syncNodeRestartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1767,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1768,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1774
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1774
    functionName: syncNodeResetElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - syncUtilElectRandomMS
    - tstrerror
    - syncNodeRestartElectTimer
    - sWarn
    linkageType: ''
    returnType: void
    signature: 'void syncNodeResetElectTimer(SSyncNode* pSyncNode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:954,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:955,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:961,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:962,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:988,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:989,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:994,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:998,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:998,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1000,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:948,1
    - Dst: syncNodeHeartbeatReplyTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:959,1
    - Dst: syncNodeOnClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:969,1
    - Dst: syncNodeIsOptimizedOneReplica
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:967,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:972,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:977,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:978,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:993,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1003,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1007,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:953,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:954,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:963,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:981,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:990,1
    - Dst: syncBuildClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:996,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1011,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1003,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:947,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:947,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:983,1
    - Dst: syncRespMgrDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:999,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1006,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1006,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1007,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - isWeak
    - seq
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    - bool
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1013
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 1013
    functionName: syncNodePropose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - syncNodeHeartbeatReplyTimeout
    - syncNodeIsOptimizedOneReplica
    - sError
    - syncRespMgrAdd
    - terrstr
    - sWarn
    - syncRespMgrDel
    - sNWarn
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - syncNodeOnClientRequest
    - sNError
    - syncNodeGetLastIndex
    - syncBuildClientRequest
    - sGDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePropose(SSyncNode* pSyncNode, SRpcMsg* pMsg, bool
      isWeak, int64_t* seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1021,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pSyncNode
    - pSyncTimer
    - destId
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    - SRaftId
    constantsTouched: []
    func_position:
      end: 1024
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1024
    functionName: syncHbTimerInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncHbTimerInit(SSyncNode* pSyncNode, SSyncTimer* pSyncTimer,
      SRaftId destId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:772,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pSyncNode
    - pEp
    argTypes:
    - SSyncNode*
    - SEp*
    constantsTouched: []
    func_position:
      end: 778
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 778
    functionName: syncGetRaftIdByEp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: SRaftId
    signature: 'static SRaftId syncGetRaftIdByEp(SSyncNode* pSyncNode, const SEp*
      pEp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1573,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1581,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1577,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1586,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1587,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1587,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1592,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1593,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1599,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1599,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1605
    functionName: syncNodePreClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeStopHeartbeatTimer
    - syncNodeStopPingTimer
    - tstrerror
    - syncRespCleanRsp
    - syncNodeStopElectTimer
    linkageType: ''
    returnType: void
    signature: 'void syncNodePreClose(SSyncNode* pSyncNode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1914,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1923,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2000,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2009,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2006,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2011,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1992,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2038,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2048,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2073,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1956,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2051,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2063,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2070,1
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1924,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1970,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2025,1
    - Dst: syncIndexMgrUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2008,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2026,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2010,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2048,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2053,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2064,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2070,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2074,1
    - Dst: syncIsConfigChanged
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1913,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1942,1
    - Dst: sSTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1974,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1979,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1987,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2027,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2037,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2056,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2073,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2079,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 117
    argCount: 3
    argNames:
    - pSyncNode
    - pNewConfig
    - lastConfigChangeIndex
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 2081
      start: 1910
    functionDepth: 0
    functionLinenumber: 1910
    functionLinenumberEnd: 2081
    functionName: syncNodeDoConfigChange
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - sInfo
    - syncIndexMgrUpdate
    - syncUtilNodeInfo2EpSet
    - sNInfo
    - syncIsConfigChanged
    - DID
    - TAOS_CHECK_RETURN
    - sSTrace
    - syncUtilQuorum
    - memcpy
    - syncUtilSameId
    - syncNodeInConfig
    - votesRespondUpdate
    - syncWriteCfgFile
    - sSError
    - voteGrantedUpdate
    - sSDebug
    - syncUtilNodeInfo2RaftId
    - snapshotSenderDestroy
    - snapshotSenderCreate
    - sNError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeDoConfigChange(SSyncNode* pSyncNode, SSyncCfg* pNewConfig,
      SyncIndex lastConfigChangeIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2873
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2873
    functionName: deleteCacheEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void deleteCacheEntry(const void* key, size_t keyLen, void*
      value, void* ud) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3504,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3457,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3458,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3469,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3471,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3479,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3483,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3513,1
    - Dst: syncLogBufferAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3465,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3468,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3496,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3508,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3509,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3495,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3514,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3519,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3466,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3459,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3468,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3492,1
    - Dst: syncNodeUpdateAssignedCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3491,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 3
    argNames:
    - ths
    - pEntry
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3520
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3520
    functionName: syncNodeAppend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncFsmExecute
    - sError
    - syncLogBufferAppend
    - sGError
    - syncLogBufferProceed
    - tstrerror
    - sGTrace
    - TAOS_RETURN
    - syncNodeUpdateCommitIndex
    - syncEntryDestroy
    - syncLogBufferCommit
    - syncNodeUpdateAssignedCommitIndex
    - sGDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeAppend(SSyncNode* ths, SSyncRaftEntry* pEntry, SRpcMsg*
      pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:782,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:791,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:796,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:787,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pEpSet
    - buffer
    - bufferSize
    argTypes:
    - SEpSet*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 798
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 798
    functionName: epsetToString
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void epsetToString(const SEpSet* pEpSet, char* buffer, size_t
      bufferSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1609,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1615,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1610,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1618
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1618
    functionName: syncNodePostClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - snapshotReceiverIsStart
    - sDebug
    - snapshotReceiverDestroy
    - snapshotReceiverStop
    linkageType: ''
    returnType: void
    signature: 'void syncNodePostClose(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2877,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pLogStore
    - pEntry
    - h
    argTypes:
    - SSyncLogStore*
    - SSyncRaftEntry*
    - LRUHandle**
    constantsTouched: []
    func_position:
      end: 2888
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2888
    functionName: syncCacheEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosLRUCacheInsert
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncCacheEntry(SSyncLogStore* pLogStore, SSyncRaftEntry* pEntry,
      LRUHandle** h) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3528,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3533,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3546
      start: 3522
    functionDepth: 0
    functionLinenumber: 3522
    functionLinenumberEnd: 3546
    functionName: syncNodeHeartbeatReplyTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - syncIndexMgrGetRecvTime
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeHeartbeatReplyTimeout(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:130,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:129,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - rid
    - cfg
    argTypes:
    - int64_t
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 138
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 138
    functionName: syncNodeGetConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    - sError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeGetConfig(int64_t rid, SSyncCfg* cfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1028,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1029,1
    - Dst: syncHbTimerDataAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1033,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1032,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1030,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1044,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1047,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1048,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1050,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1055,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1058
    functionName: syncHbTimerStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - syncHbTimerDataAcquire
    - taosMemoryMalloc
    - sError
    - sTrace
    - taosTmrResetPriority
    - syncIsInit
    - syncEnv
    - syncHbTimerDataAdd
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncHbTimerStart(SSyncNode* pSyncNode, SSyncTimer*
      pSyncTimer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1074,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1078,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1082,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1094,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1095,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1100
    functionName: syncNodeLogStoreRestoreOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - terrstr
    - TAOS_RETURN
    - sError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeLogStoreRestoreOnNeed(SSyncNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2510
      start: 2499
    functionDepth: 0
    functionLinenumber: 2499
    functionLinenumberEnd: 2510
    functionName: syncNodeHasSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeHasSnapshot(SSyncNode* pSyncNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2652,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2655,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2661,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2659,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2659,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2661,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2664,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2665,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2672,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2673,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2678,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2678,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2682,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2672,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2683
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2683
    functionName: syncNodeEqPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosTmrReset
    - sError
    - syncNodeAcquire
    - terrstr
    - syncIsInit
    - syncBuildTimeout
    - syncEnv
    - rpcFreeCont
    - syncNodeRelease
    linkageType: ''
    returnType: void
    signature: 'static void syncNodeEqPingTimer(void* param, void* tmrId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3770,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3775,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3772,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3777
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3777
    functionName: syncNodeOnHeartbeatReplyOld
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncIndexMgrSetRecvTime
    - taosGetTimestampMs
    - syncLogRecvHeartbeatReply
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnHeartbeatReplyOld(SSyncNode* ths, const SRpcMsg*
      pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:141,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:144,1
    - Dst: syncNodeRemove
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: syncStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodeRemove
    linkageType: ''
    returnType: void
    signature: 'void syncStop(int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1062,1
    - Dst: syncHbTimerDataRemove
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1066,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1064,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1063,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pSyncNode
    - pSyncTimer
    argTypes:
    - SSyncNode*
    - SSyncTimer*
    constantsTouched: []
    func_position:
      end: 1069
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1069
    functionName: syncHbTimerStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sDebug
    - atomic_add_fetch_64
    - taosTmrStop
    - syncHbTimerDataRemove
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncHbTimerStop(SSyncNode* pSyncNode, SSyncTimer* pSyncTimer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2686,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2694,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2698,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2689,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2700,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2706,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2709,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2710,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2715,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2719,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2720,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2725,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2719,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2721,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2726
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2726
    functionName: syncNodeEqElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sNTrace
    - sError
    - syncNodeAcquire
    - terrstr
    - syncIsInit
    - syncBuildTimeout
    - rpcFreeCont
    - syncNodeRelease
    linkageType: ''
    returnType: void
    signature: 'static void syncNodeEqElectTimer(void* param, void* tmrId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2085,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSyncNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 2088
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2088
    functionName: syncNodeUpdateTermWithoutStepDown
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - raftStoreSetTerm
    linkageType: ''
    returnType: void
    signature: 'void syncNodeUpdateTermWithoutStepDown(SSyncNode* pSyncNode, SyncTerm
      term) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeVoteForTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2481,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2495,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2493,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2494,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pSyncNode
    - currentTerm
    argTypes:
    - SSyncNode*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 2496
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2496
    functionName: syncNodeVoteForSelf
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - votesRespondAdd
    - voteGrantedVote
    - syncBuildRequestVoteReply
    - syncNodeVoteForTerm
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'void syncNodeVoteForSelf(SSyncNode* pSyncNode, SyncTerm currentTerm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pSyncNode
    - bytes
    argTypes:
    - SSyncNode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: syncLogRetentionIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: 'static SyncIndex syncLogRetentionIndex(SSyncNode* pSyncNode, int64_t
      bytes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferGetEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3569,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3575,1
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3572,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3578,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3570,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3580
      start: 3567
    functionDepth: 0
    functionLinenumber: 3567
    functionLinenumberEnd: 3580
    functionName: syncNodeAppendNoop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncNodeAppend
    - syncLogBufferGetEndIndex
    - syncEntryBuildNoop
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeAppendNoop(SSyncNode* ths) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:446,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:451,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:460,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:467,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:486,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:496,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:482,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:506,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:510,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:480,1
    - Dst: walBeginSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:504,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:509,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:515,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:452,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:495,1
    - Dst: walGetSnapshotVer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:494,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:501,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:498,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:511,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:521,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:461,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:487,1
    - Dst: syncLogRetentionIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:486,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:522,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 2
    argNames:
    - rid
    - lastApplyIndex
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 523
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 523
    functionName: syncBeginSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - atomic_load_64
    - taosGetTimestampMs
    - sError
    - syncNodeAcquire
    - terrstr
    - syncLogRetentionIndex
    - walGetCommittedVer
    - atomic_store_64
    - TAOS_RETURN
    - walGetSnapshotVer
    - walGetLastVer
    - sNError
    - TMAX
    - syncNodeRelease
    - walBeginSnapshot
    - syncNodeIsMnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBeginSnapshot(int64_t rid, int64_t lastApplyIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSyncNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 2576
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2576
    functionName: syncNodeGetPreIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncNodeGetPreIndex(SSyncNode* pSyncNode, SyncIndex index) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3782,1
    - Dst: syncLogBufferIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3789,1
    - Dst: syncLogBufferGetLastMatchTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3793,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3790,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3786,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3798,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3799,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3802,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3803,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3803,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3807,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3811
      start: 3780
    functionDepth: 0
    functionLinenumber: 3780
    functionLinenumberEnd: 3811
    functionName: syncNodeOnLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncLogRecvLocalCmd
    - terrstr
    - sTrace
    - syncNodeStepDown
    - syncLogBufferGetLastMatchTerm
    - syncLogBufferIsEmpty
    - syncLogBufferCommit
    - syncNodeUpdateCommitIndex
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnLocalCmd(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2565
      start: 2562
    functionDepth: 0
    functionLinenumber: 2562
    functionLinenumberEnd: 2565
    functionName: syncNodeSyncStartIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeGetLastIndex
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncNodeSyncStartIndex(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1620
    functionName: syncHbTimerDataFree
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncHbTimerDataFree(SSyncHbTimerData* pData) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2256,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2256,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2274,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2280,1
    - Dst: syncNodeHeartbeatPeers
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2291,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2305,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2233,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2240,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2285,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2311,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2255,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2279,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2292,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2292,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2306,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2306,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2242,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2242,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2262,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2286,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2286,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2312
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2312
    functionName: syncNodeBecomeLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - syncLogBufferReset
    - sNInfo
    - sError
    - strncpy
    - snapshotReceiverIsStart
    - syncNodePeerStateInit
    - snapshotReceiverStop
    - tstrerror
    - syncNodeStartHeartbeatTimer
    - syncNodeStopElectTimer
    - syncNodeGetLastIndexTerm
    - syncNodeHeartbeatPeers
    - syncNodeGetSnapshotSender
    linkageType: ''
    returnType: void
    signature: 'void syncNodeBecomeLeader(SSyncNode* pSyncNode, const char* debugStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:150,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:154,1
    - Dst: syncNodePreClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:156,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:153,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:152,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 159
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 159
    functionName: syncPreStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - snapshotReceiverIsStart
    - syncNodePreClose
    - snapshotReceiverStop
    - sInfo
    - syncNodeRelease
    linkageType: ''
    returnType: void
    signature: 'void syncPreStop(int64_t rid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:611,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:620,1
    - Dst: syncNodeLeaderTransferTo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:625,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 629
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 629
    functionName: syncNodeLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeLeaderTransferTo
    - syncIndexMgrGetIndex
    - sDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeLeaderTransfer(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1478
      start: 1470
    functionDepth: 0
    functionLinenumber: 1470
    functionLinenumberEnd: 1478
    functionName: syncNodeMaybeUpdateCommitBySnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void syncNodeMaybeUpdateCommitBySnapshot(SSyncNode* pSyncNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2935,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2950,1
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2944,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2940,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2938,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2958,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2960,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - ths
    - pEntry
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 2965
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 2965
    functionName: syncNodeCheckChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncBuildConfigFromReq
    - syncNodeStepDown
    - strcmp
    - tDeserializeSAlterVnodeReplicaReq
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeCheckChangeConfig(SSyncNode* ths, SSyncRaftEntry*
      pEntry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3558
      start: 3548
    functionDepth: 0
    functionLinenumber: 3548
    functionLinenumberEnd: 3558
    functionName: syncNodeSnapshotSending
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeSnapshotSending(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3930,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - ths
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 3935
      start: 3928
    functionDepth: 0
    functionLinenumber: 3928
    functionLinenumberEnd: 3935
    functionName: syncNodeInRaftGroup
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeInRaftGroup(SSyncNode* ths, SRaftId* pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:162,1
    - Dst: syncNodePostClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:164,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: syncPostStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodePostClose
    linkageType: ''
    returnType: void
    signature: 'void syncPostStop(int64_t rid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:633,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:643,1
    - Dst: syncBuildLeaderTransfer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:640,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:640,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:637,1
    - Dst: syncNodePropose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:647,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:648,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - newLeader
    argTypes:
    - SSyncNode*
    - SNodeInfo
    constantsTouched: []
    func_position:
      end: 650
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 650
    functionName: syncNodeLeaderTransferTo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - SYNC_ADDR
    - TAOS_CHECK_RETURN
    - sDebug
    - syncBuildLeaderTransfer
    - rpcFreeCont
    - syncNodePropose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeLeaderTransferTo(SSyncNode* pSyncNode, SNodeInfo newLeader) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1630,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1633,1
    - Dst: votesRespondDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1647,1
    - Dst: syncLogBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1655,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1665,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1668,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1675,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1678,1
    - Dst: snapshotReceiverDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1679,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1625,1
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1627,1
    - Dst: syncRespMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1643,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1649,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1658,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1664,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1674,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1684,1
    - Dst: raftStoreClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1687,1
    - Dst: syncNodeStopPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1629,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1634,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1637,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1638,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1638,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1689,1
    - Dst: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1641,1
    - Dst: logStoreDestory
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1653,1
    - Dst: voteGrantedDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1645,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1690
    functionName: syncNodeClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sError
    - logStoreDestory
    - snapshotSenderStop
    - syncRespCleanRsp
    - votesRespondDestory
    - sNInfo
    - snapshotReceiverDestroy
    - taosThreadMutexDestroy
    - voteGrantedDestroy
    - syncIndexMgrDestroy
    - syncNodeLogReplDestroy
    - syncNodeStopHeartbeatTimer
    - sDebug
    - syncRespMgrDestroy
    - syncLogBufferDestroy
    - snapshotSenderIsStart
    - snapshotReceiverIsStart
    - syncNodeStopPingTimer
    - snapshotReceiverStop
    - syncNodeStopElectTimer
    - raftStoreClose
    - snapshotSenderDestroy
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void syncNodeClose(SSyncNode* pSyncNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2359,1
    - Dst: syncNodeHeartbeatPeers
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2370,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2359,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2384,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2348,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2364,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2332,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2354,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2358,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2371,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2371,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2385,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2385,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2324,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2347,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2353,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2365,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2391
      start: 2314
    functionDepth: 0
    functionLinenumber: 2314
    functionLinenumberEnd: 2391
    functionName: syncNodeBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - syncLogBufferReset
    - sNInfo
    - sError
    - snapshotReceiverIsStart
    - syncNodePeerStateInit
    - snapshotReceiverStop
    - tstrerror
    - syncNodeStopElectTimer
    - syncNodeGetLastIndexTerm
    - syncNodeHeartbeatPeers
    - syncNodeStartHeartbeatTimer
    linkageType: ''
    returnType: void
    signature: 'void syncNodeBecomeAssignedLeader(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2968,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2979,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2990,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2988,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2974,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2993,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2995,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2999,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3003,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3010,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - ths
    - cfg
    - str
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    - char*
    constantsTouched: []
    func_position:
      end: 3012
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 3012
    functionName: syncNodeLogConfigInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - sInfo
    linkageType: ''
    returnType: void
    signature: 'void syncNodeLogConfigInfo(SSyncNode* ths, SSyncCfg* cfg, char* str) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3565
      start: 3560
    functionDepth: 0
    functionLinenumber: 3560
    functionLinenumberEnd: 3565
    functionName: syncNodeSnapshotRecving
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeSnapshotRecving(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3940,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 3945
      start: 3937
    functionDepth: 0
    functionLinenumber: 3937
    functionLinenumberEnd: 3945
    functionName: syncNodeGetSnapshotSender
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SSyncSnapshotSender*
    signature: 'SSyncSnapshotSender * syncNodeGetSnapshotSender(SSyncNode* ths, SRaftId*
      pDestId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3911,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3915,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - pNewCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 3922
      start: 3908
    functionDepth: 0
    functionLinenumber: 3908
    functionLinenumberEnd: 3922
    functionName: syncNodeUpdateNewConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - SYNC_ADDR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeUpdateNewConfigIndex(SSyncNode* ths, SSyncCfg* pNewCfg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2596,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2607,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2599,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2603,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2622,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2624,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2638,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pSyncNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 2641
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2641
    functionName: syncNodeGetPreTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - sNTrace
    - taosLRUCacheLookup
    - taosLRUCacheRelease
    - syncEntryDestroy
    - sNError
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm syncNodeGetPreTerm(SSyncNode* pSyncNode, SyncIndex index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3926
      start: 3924
    functionDepth: 0
    functionLinenumber: 3924
    functionLinenumberEnd: 3926
    functionName: syncNodeIsOptimizedOneReplica
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilUserCommit
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeIsOptimizedOneReplica(SSyncNode* ths, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:587,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:593,1
    - Dst: syncNodeSnapshotSending
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 595
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 595
    functionName: syncSnapshotSending
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodeSnapshotSending
    linkageType: ''
    returnType: bool
    signature: 'bool syncSnapshotSending(int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1692
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1692
    functionName: syncNodeStrategy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: ESyncStrategy
    signature: 'ESyncStrategy syncNodeStrategy(SSyncNode* pSyncNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2136,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2144,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2143,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2145,1
    - Dst: strncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2145,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2150,1
    - Dst: syncNodeLeaderChangeRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2153,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2164,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2165,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2172,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2165,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 3
    argNames:
    - pSyncNode
    - leaderId
    - debugStr
    argTypes:
    - SSyncNode*
    - SRaftId
    - char*
    constantsTouched: []
    func_position:
      end: 2173
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2173
    functionName: syncNodeBecomeFollower
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - taosGetTimestampMs
    - sNTrace
    - syncLogBufferReset
    - sError
    - strncpy
    - syncNodeResetElectTimer
    - syncNodeStopHeartbeatTimer
    - sInfo
    - tstrerror
    - syncNodeLeaderChangeRsp
    linkageType: ''
    returnType: void
    signature: 'void syncNodeBecomeFollower(SSyncNode* pSyncNode, SRaftId leaderId,
      const char* debugStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2445,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2451,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2449,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2451,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2455,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2460
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2460
    functionName: syncNodeAssignedLeader2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAppendNoop
    - sNTrace
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - sError
    - sInfo
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeAssignedLeader2Leader(SSyncNode* pSyncNode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuildFromRpcMsg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3834,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3874,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3861,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3867,1
    - Dst: syncEntryBuildFromClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3832,1
    - Dst: syncNodeCheckChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3856,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3866,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3870,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3872,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3859,1
    - Dst: syncNodeAppend
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3878,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3825,1
    - Dst: syncRespMgrAdd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3846,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3858,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3858,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3881,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3829,1
    - Dst: syncLogBufferGetEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3828,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3838,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3838,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3845,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - ths
    - pMsg
    - pRetIndex
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    - SyncIndex*
    constantsTouched: []
    func_position:
      end: 3885
      start: 3824
    functionDepth: 0
    functionLinenumber: 3824
    functionLinenumberEnd: 3885
    functionName: syncNodeOnClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - tmsgSendRsp
    - syncNodeAppend
    - syncLogBufferGetEndIndex
    - terrstr
    - sGError
    - syncRespMgrAdd
    - syncEntryDestroy
    - syncRespMgrGetAndDel
    - TAOS_RETURN
    - syncNodeCheckChangeConfig
    - syncEntryBuildFromClientRequest
    - sGDebug
    - syncEntryBuildFromRpcMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnClientRequest(SSyncNode* ths, SRpcMsg* pMsg, SyncIndex*
      pRetIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:598,1
    - Dst: syncNodeSnapshotRecving
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:603,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:604,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 606
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 606
    functionName: syncSnapshotRecving
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodeSnapshotRecving
    linkageType: ''
    returnType: bool
    signature: 'bool syncSnapshotRecving(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2180,1
    - Dst: syncLogBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2195,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2196,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pSyncNode
    - debugStr
    argTypes:
    - SSyncNode*
    - char*
    constantsTouched: []
    func_position:
      end: 2199
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2199
    functionName: syncNodeBecomeLearner
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sNTrace
    - syncLogBufferReset
    - sError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void syncNodeBecomeLearner(SSyncNode* pSyncNode, const char* debugStr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeHasSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2530,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2528
    functionDepth: 0
    functionLinenumber: 2528
    functionLinenumberEnd: 2551
    functionName: syncNodeGetLastTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeHasSnapshot
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm syncNodeGetLastTerm(SSyncNode* pSyncNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - ESyncState
    constantsTouched: []
    func_position:
      end: 3906
      start: 3887
    functionDepth: 0
    functionLinenumber: 3887
    functionLinenumberEnd: 3906
    functionName: syncStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * syncStr(ESyncState state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2524
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2524
    functionName: syncNodeGetLastIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncNodeGetLastIndex(const SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:170,1
    - Dst: abs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSyncNode
    - pCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: syncNodeCheckNewConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - abs
    - syncNodeInConfig
    linkageType: ''
    returnType: bool
    signature: 'static bool syncNodeCheckNewConfig(SSyncNode* pSyncNode, const SSyncCfg*
      pCfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:409,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:416,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:413,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:418,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:419,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:422,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - rid
    - seq
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 425
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 425
    functionName: syncSendTimeoutRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeAcquire
    - sInfo
    - rpcSendResponse
    - syncRespMgrGetAndDel
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncSendTimeoutRsp(int64_t rid, int64_t seq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3271,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3277
      start: 3268
    functionDepth: 0
    functionLinenumber: 3268
    functionLinenumberEnd: 3277
    functionName: syncNodeResetPeerAndCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void syncNodeResetPeerAndCfg(SSyncNode* ths) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeCheckNewConfig
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:190,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:197,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:207,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:210,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:217,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:176,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:193,1
    - Dst: syncNodeDoConfigChange
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:199,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:213,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:201,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:202,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:210,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:218,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:185,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:180,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:184,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:191,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:194,1
    - Dst: syncNodeUpdateNewConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:197,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:213,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:207,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - rid
    - pNewCfg
    argTypes:
    - int64_t
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 219
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 219
    functionName: syncReconfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeAcquire
    - syncNodeCheckNewConfig
    - syncHbTimerInit
    - syncNodeStopHeartbeatTimer
    - sInfo
    - TAOS_CHECK_RETURN
    - syncNodeUpdateNewConfigIndex
    - TAOS_RETURN
    - syncNodeRelease
    - syncNodeDoConfigChange
    - syncNodeStartHeartbeatTimer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncReconfig(int64_t rid, SSyncCfg* pNewCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:431,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: syncMinMatchIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncIndexMgrGetIndex
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncMinMatchIndex(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2900,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2902,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2903,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2916,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2915,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pReq
    - cfg
    argTypes:
    - SAlterVnodeReplicaReq*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 2926
      start: 2891
    functionDepth: 0
    functionLinenumber: 2891
    functionLinenumberEnd: 2926
    functionName: syncBuildConfigFromReq
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sInfo
    - tmsgUpdateDnodeInfo
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void syncBuildConfigFromReq(SAlterVnodeReplicaReq* pReq, SSyncCfg*
      cfg) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildConfigFromReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3295,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3309,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3319,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3321,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3355,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3372,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3360,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3388,1
    - Dst: syncNodeChangePeerAndCfgToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3401,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3425,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3443,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3356,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3378,1
    - Dst: syncNodeRebuildPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3420,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3445,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3447,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3291,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3298,1
    - Dst: syncNodeLogConfigInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3335,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3377,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3421,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3437,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3426,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3286,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3289,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3308,1
    - Dst: syncNodeRebuildAndCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3359,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3365,1
    - Dst: syncNodeResetPeerAndCfg
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3351,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3343,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3392,1
    - Dst: syncNodeChangeToVoter
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3404,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3415,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3450,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 3
    argNames:
    - ths
    - pEntry
    - str
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - char*
    constantsTouched: []
    func_position:
      end: 3451
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3451
    functionName: syncNodeChangeConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeLogConfigInfo
    - syncNodeRebuildPeerAndCfg
    - syncNodeChangePeerAndCfgToVoter
    - syncNodeChangeToVoter
    - syncBuildConfigFromReq
    - syncNodeRebuildAndCopyIfExist
    - strcmp
    - sInfo
    - syncWriteCfgFile
    - tDeserializeSAlterVnodeReplicaReq
    - syncUtilQuorum
    - POINTER_SHIFT
    - TAOS_RETURN
    - memcpy
    - syncNodeResetPeerAndCfg
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeChangeConfig(SSyncNode* ths, SSyncRaftEntry* pEntry,
      char* str) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: taosDirExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1111,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1421,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1332,1
    - Dst: syncNodeClose
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1464,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1365,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1124,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1136,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1138,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1203,1
    - Dst: raftStoreOpen
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1276,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1442,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1455,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1357,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1105,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1120,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1381,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1295,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1126,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1159,1
    - Dst: syncLogBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1201,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1236,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1297,1
    - Dst: syncLogBufferInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1440,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1242,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1285,1
    - Dst: voteGrantedCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1283,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1437,1
    - Dst: syncNodeLogStoreRestoreOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1335,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1112,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1432,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1442,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1151,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1211,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1399,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1405,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1300,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1119,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1349,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1186,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1188,1
    - Dst: votesRespondCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1288,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1461,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1122,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1163,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1176,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1213,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1275,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1414,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1114,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1185,1
    - Dst: snapshotReceiverCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1403,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1302,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1350,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1113,1
    - Dst: syncIsConfigChanged
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1150,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1172,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1337,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1412,1
    - Dst: syncUtilElectRandomMS
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1356,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1155,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1153,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1203,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1229,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1235,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1237,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1421,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1309,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1373,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1364,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1414,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1278,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1114,1
    - Dst: syncReadCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1143,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1145,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1179,1
    - Dst: logStoreCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1307,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1320,1
    - Dst: syncNodePeerStateInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1419,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1395,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1324,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1290,1
    - Dst: syncRespMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1380,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1337,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 272
    argCount: 2
    argNames:
    - pSyncInfo
    - vnodeVersion
    argTypes:
    - SSyncInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1467
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1467
    functionName: syncNodeOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - syncReadCfgFile
    - sError
    - TAOS_SYSTEM_ERROR
    - taosMemoryFree
    - taosMemoryCalloc
    - terrstr
    - raftStoreOpen
    - sInfo
    - syncUtilNodeInfo2EpSet
    - voteGrantedCreate
    - logStoreCreate
    - taosDirExist
    - taosGetTimestampMs
    - syncIndexMgrCreate
    - sNInfo
    - syncIsConfigChanged
    - votesRespondCreate
    - syncHbTimerInit
    - sRDebug
    - syncNodePeerStateInit
    - syncUtilQuorum
    - syncRespMgrCreate
    - syncNodeLogReplInit
    - syncLogBufferInit
    - memcpy
    - syncUtilGenerateArbToken
    - syncNodeClose
    - syncWriteCfgFile
    - atomic_store_64
    - taosCheckExistFile
    - tmsgUpdateDnodeInfo
    - taosMkDir
    - syncNodeLogStoreRestoreOnNeed
    - snapshotReceiverCreate
    - snprintf
    - syncUtilElectRandomMS
    - sSDebug
    - taosThreadMutexInit
    - syncLogBufferCreate
    - syncUtilNodeInfo2RaftId
    - tstrerror
    - snapshotSenderCreate
    linkageType: ''
    returnType: SSyncNode*
    signature: 'SSyncNode * syncNodeOpen(SSyncInfo* pSyncInfo, int32_t vnodeVersion) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetPreIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2645,1
    - Dst: syncNodeGetPreTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - pSyncNode
    - index
    - pPreIndex
    - pPreTerm
    argTypes:
    - SSyncNode*
    - SyncIndex
    - SyncIndex*
    - SyncTerm*
    constantsTouched: []
    func_position:
      end: 2648
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2648
    functionName: syncNodeGetPreIndexTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeGetPreIndex
    - syncNodeGetPreTerm
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeGetPreIndexTerm(SSyncNode* pSyncNode, SyncIndex index,
      SyncIndex* pPreIndex, SyncTerm* pPreTerm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeDoStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1797,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1801,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1803,1
    - Dst: syncHbTimerStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1803,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1808
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1808
    functionName: syncNodeStartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeDoStartHeartbeatTimer
    - TAOS_CHECK_RETURN
    - syncHbTimerStart
    - syncNodeGetHbTimer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStartHeartbeatTimer(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:655,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:681,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:680,1
    - Dst: syncNodeIsReadyForRead
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 685
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 685
    functionName: syncGetState
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - syncNodeIsReadyForRead
    - raftStoreGetTerm
    linkageType: ''
    returnType: SSyncState
    signature: 'SSyncState syncGetState(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:737,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:745,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:746,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:741,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - rid
    - arbTerm
    argTypes:
    - int64_t
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 747
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 747
    functionName: syncUpdateArbTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncUpdateArbTerm(int64_t rid, SyncTerm arbTerm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1519,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1524,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1525,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1528,1
    - Dst: syncNodeBecomeLearner
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1521,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1528,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1531,1
    - Dst: syncNodeStartPingTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1536,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1538,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1542
    functionName: syncNodeStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAppendNoop
    - syncNodeBecomeFollower
    - syncNodeBecomeLeader
    - sError
    - syncNodeStartPingTimer
    - raftStoreNextTerm
    - syncNodeBecomeLearner
    - sInfo
    - tstrerror
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStart(SSyncNode* pSyncNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3020,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3031,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3024,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3030,1
    - Dst: syncUtilNodeInfo2EpSet
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3028,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3049,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3052,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 3061
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3061
    functionName: syncNodeRebuildPeerAndCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncUtilNodeInfo2RaftId
    - strcmp
    - tstrncpy
    - syncUtilNodeInfo2EpSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeRebuildPeerAndCfg(SSyncNode* ths, SSyncCfg* cfg) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3095,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3110,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3124,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3144,1
    - Dst: syncNodeLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3152,1
    - Dst: snapshotSenderCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3194,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3219,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3232,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3106,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3115,1
    - Dst: syncIndexMgrCreate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3120,1
    - Dst: syncIndexMgrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3129,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3133,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3154,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3184,1
    - Dst: snapshotSenderDestroy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3187,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3202,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3214,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3220,1
    - Dst: syncNodeLogReplInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3153,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3160,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3168,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3175,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3183,1
    - Dst: syncHbTimerInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3213,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3215,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3113,1
    - Dst: syncUtilNodeInfo2RaftId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3100,1
    - Dst: syncIndexMgrCopyIfExist
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3127,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3132,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3155,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3146,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3181,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3198,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3208,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 2
    argNames:
    - ths
    - oldtotalReplicaNum
    argTypes:
    - SSyncNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3241
      start: 3091
    functionDepth: 0
    functionLinenumber: 3091
    functionLinenumberEnd: 3241
    functionName: syncNodeRebuildAndCopyIfExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - snapshotSenderStop
    - syncIndexMgrCreate
    - taosMemoryMalloc
    - syncIndexMgrDestroy
    - syncNodeLogReplDestroy
    - syncHbTimerInit
    - syncNodeStopHeartbeatTimer
    - sDebug
    - syncNodeLogReplInit
    - memcpy
    - syncUtilSameId
    - snapshotSenderIsStart
    - votesRespondUpdate
    - memset
    - syncIndexMgrCopyIfExist
    - voteGrantedUpdate
    - syncNodeStartHeartbeatTimer
    - sSDebug
    - syncUtilNodeInfo2RaftId
    - snapshotSenderDestroy
    - TAOS_RETURN
    - snapshotSenderCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeRebuildAndCopyIfExist(SSyncNode* ths, int32_t oldtotalReplicaNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3950,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 3955
      start: 3947
    functionDepth: 0
    functionLinenumber: 3947
    functionLinenumberEnd: 3955
    functionName: syncNodeGetHbTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SSyncTimer*
    signature: 'SSyncTimer * syncNodeGetHbTimer(SSyncNode* ths, SRaftId* pDestId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:688,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - rid
    - syncCommitIndex
    argTypes:
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: syncGetCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    linkageType: ''
    returnType: void
    signature: 'void syncGetCommitIndex(int64_t rid, int64_t* syncCommitIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:751,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:764,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pSyncNode
    - snapshotLastApplyIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 768
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 768
    functionName: syncNodeGetSnapshotConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sTrace
    - sError
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncNodeGetSnapshotConfigIndex(SSyncNode* pSyncNode, SyncIndex
      snapshotLastApplyIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1814,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1815,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1816,1
    - Dst: syncNodeGetHbTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1821,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1814,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1823,1
    - Dst: syncHbTimerStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1828
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1828
    functionName: syncNodeStopHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncHbTimerStop
    - TAOS_CHECK_RETURN
    - sDebug
    - atomic_add_fetch_64
    - taosTmrStop
    - syncNodeGetHbTimer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStopHeartbeatTimer(SSyncNode* pSyncNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3067,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3080,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ths
    - cfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 3089
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3089
    functionName: syncNodeChangePeerAndCfgToVoter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: 'void syncNodeChangePeerAndCfgToVoter(SSyncNode* ths, SSyncCfg* cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3246,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3248,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3261,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3255,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3257,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 3266
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3266
    functionName: syncNodeChangeToVoter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sDebug
    - votesRespondUpdate
    - voteGrantedUpdate
    linkageType: ''
    returnType: void
    signature: 'void syncNodeChangeToVoter(SSyncNode* ths) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3960,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - ths
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 3965
      start: 3957
    functionDepth: 0
    functionLinenumber: 3957
    functionLinenumberEnd: 3965
    functionName: syncNodeGetPeerState
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: SPeerState*
    signature: 'SPeerState * syncNodeGetPeerState(SSyncNode* ths, const SRaftId* pDestId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2730,1
    - Dst: syncBuildTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2740,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2733,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2738,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2738,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2740,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2744,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2748,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2751,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2751,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2752,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2757,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2757,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2762,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2766
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2766
    functionName: syncNodeEqHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosTmrReset
    - sError
    - syncNodeAcquire
    - terrstr
    - sTrace
    - syncIsInit
    - syncBuildTimeout
    - syncEnv
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void syncNodeEqHeartbeatTimer(void* param, void* tmrId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:866,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:879,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:870,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:871,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 881
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 881
    functionName: syncCheckMember
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    - sError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncCheckMember(int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1834,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1835,1
    - Dst: syncNodeStartHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1835,1
    - Dst: syncNodeStopHeartbeatTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1837
    functionName: syncNodeRestartHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncNodeStopHeartbeatTimer
    - syncNodeStartHeartbeatTimer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeRestartHeartbeatTimer(SSyncNode* pSyncNode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3617,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3619,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3626,1
    - Dst: syncLogRecvHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3624,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3630,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3648,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3641,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3645,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3654,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3739,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3741,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3620,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3666,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3679,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3704,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3706,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3726,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3731,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3726,1
    - Dst: syncBuildHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3712,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3627,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3630,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3630,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3654,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3651,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3648,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3681,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3692,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3678,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3728,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3703,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3736,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3634,1
    - Dst: syncBuildLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3666,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3678,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3723,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3733,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3712,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3739,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3692,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 109
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3743
      start: 3613
    functionDepth: 0
    functionLinenumber: 3613
    functionLinenumberEnd: 3743
    functionName: syncNodeOnHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncBuildHeartbeatReply
    - syncNodeSendMsgById
    - syncIndexMgrSetRecvTime
    - terrstr
    - sGError
    - tGenIdPI64
    - taosGetTimestampMs
    - syncIndexMgrGetRecvTime
    - DID
    - TAOS_CHECK_RETURN
    - CID
    - sGTrace
    - rpcFreeCont
    - syncNodeInRaftGroup
    - sWarn
    - syncLogRecvHeartbeat
    - syncNodeResetElectTimer
    - raftStoreSetTerm
    - TRACE_SET_MSGID
    - syncBuildLocalCmd
    - sGDebug
    - raftStoreGetTerm
    - sTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnHeartbeat(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:885,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:902,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:897,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:890,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:889,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:907,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 909
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 909
    functionName: syncIsCatchUp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeAcquire
    - sInfo
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncIsCatchUp(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3749,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3754,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3758,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3757,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3753,1
    - Dst: syncLogRecvHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3759,1
    - Dst: syncIndexMgrSetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3761,1
    - Dst: syncLogReplProcessHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:3763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3764
      start: 3745
    functionDepth: 0
    functionLinenumber: 3745
    functionLinenumberEnd: 3764
    functionName: syncNodeOnHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sError
    - syncIndexMgrSetRecvTime
    - syncIndexMgrGetRecvTime
    - syncLogReplProcessHeartbeatReply
    - TAOS_RETURN
    - syncNodeGetLogReplMgr
    - syncLogRecvHeartbeatReply
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnHeartbeatReply(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1713,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1715,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1718
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1718
    functionName: syncNodeStopPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sDebug
    - atomic_add_fetch_64
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStopPingTimer(SSyncNode* pSyncNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2395,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2398,1
    - Dst: syncNodeBecomeLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2403,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2400,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2405,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2407,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2409,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2409,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2414,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2416
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2416
    functionName: syncNodeCandidate2Leader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAppendNoop
    - sNTrace
    - raftStoreGetTerm
    - syncNodeBecomeLeader
    - sError
    - terrstr
    - voteGrantedMajority
    - sInfo
    linkageType: ''
    returnType: void
    signature: 'void syncNodeCandidate2Leader(SSyncNode* pSyncNode) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:233,1
    - Dst: syncNodeOnHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:238,1
    - Dst: syncNodeOnHeartbeatReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:241,1
    - Dst: syncNodeOnRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:253,1
    - Dst: syncNodeOnLocalCmd
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:271,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:223,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:226,1
    - Dst: syncNodeOnClientRequest
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:250,1
    - Dst: syncNodeOnSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:268,1
    - Dst: syncNodeOnAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:262,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:285,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:229,1
    - Dst: syncNodeOnTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:247,1
    - Dst: syncNodeOnAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:259,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:283,1
    - Dst: syncBecomeAssignedLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:277,1
    - Dst: syncNodeOnSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:265,1
    - Dst: syncNodeOnTimeout
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:244,1
    - Dst: syncNodeOnRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:256,1
    - Dst: syncForceBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:274,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:286,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:288,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 2
    argNames:
    - rid
    - pMsg
    argTypes:
    - int64_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 289
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 289
    functionName: syncProcessMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeOnSnapshotRsp
    - syncNodeRelease
    - syncNodeOnHeartbeatReply
    - syncNodeOnHeartbeat
    - syncNodeOnTimeout
    - syncNodeOnAppendEntries
    - syncNodeOnLocalCmd
    - sDebug
    - syncNodeOnClientRequest
    - TMSG_INFO
    - syncNodeOnRequestVoteReply
    - syncNodeOnRequestVote
    - syncNodeOnAppendEntriesReply
    - syncBecomeAssignedLeader
    - syncNodeAcquire
    - syncIsInit
    - tstrerror
    - TAOS_RETURN
    - syncNodeOnSnapshot
    - syncForceBecomeFollower
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncProcessMsg(int64_t rid, SRpcMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:697,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:701,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:706,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:705,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:707,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:709,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - rid
    - outToken
    argTypes:
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 711
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 711
    functionName: syncGetArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncNodeAcquire
    - tstrncpy
    - memset
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncGetArbToken(int64_t rid, char* outToken) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2091,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2102,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2098,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2093,1
    - Dst: syncUtilGenerateArbToken
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2103,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2104,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2105,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2109,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2111,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2112,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2113,1
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pSyncNode
    - newTerm
    - id
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId
    constantsTouched: []
    func_position:
      end: 2119
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2119
    functionName: syncNodeStepDown
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sNTrace
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - syncNodeBecomeFollower
    - raftStoreClearVote
    - raftStoreSetTerm
    - sInfo
    - syncUtilGenerateArbToken
    linkageType: ''
    returnType: void
    signature: 'void syncNodeStepDown(SSyncNode* pSyncNode, SyncTerm newTerm, SRaftId
      id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:293,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:301,1
    - Dst: syncNodeLeaderTransfer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:300,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 303
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 303
    functionName: syncLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeLeaderTransfer
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLeaderTransfer(int64_t rid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:715,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:724,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:731,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:725,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:732,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 733
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 733
    functionName: syncCheckSynced
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncCheckSynced(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1722,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1726,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1731,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1725,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1727,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1732,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1733,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1738
      start: 1720
    functionDepth: 0
    functionLinenumber: 1720
    functionLinenumberEnd: 1738
    functionName: syncNodeStartElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosTmrReset
    - sError
    - syncIsInit
    - atomic_store_64
    - syncEnv
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStartElectTimer(SSyncNode* pSyncNode, int32_t ms) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncRespCleanRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2121
      start: 2121
    functionDepth: 0
    functionLinenumber: 2121
    functionLinenumberEnd: 2121
    functionName: syncNodeLeaderChangeRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncRespCleanRsp
    linkageType: ''
    returnType: void
    signature: 'void syncNodeLeaderChangeRsp(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2418
      start: 2418
    functionDepth: 0
    functionLinenumber: 2418
    functionLinenumberEnd: 2418
    functionName: syncNodeIsMnode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeIsMnode(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2427
      start: 2420
    functionDepth: 0
    functionLinenumber: 2420
    functionLinenumberEnd: 2427
    functionName: syncNodePeerStateInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodePeerStateInit(SSyncNode* pSyncNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:527,1
    - Dst: walEndSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:537,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:535,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:532,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:531,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:539,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:540,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:541,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:543,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:543,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:549,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:544,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 550
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 550
    functionName: syncEndSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sNTrace
    - atomic_load_64
    - sError
    - syncNodeAcquire
    - atomic_store_64
    - tstrerror
    - walEndSnapshot
    - TAOS_RETURN
    - sNError
    - syncNodeRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncEndSnapshot(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:913,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:917,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:918,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 925
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 925
    functionName: syncGetRole
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAcquire
    - syncNodeRelease
    - TAOS_RETURN
    - sError
    linkageType: ''
    returnType: ESyncRole
    signature: 'ESyncRole syncGetRole(int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1742,1
    - Dst: taosTmrStop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1743,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1740
    functionDepth: 0
    functionLinenumber: 1740
    functionLinenumberEnd: 1748
    functionName: syncNodeStopElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sTrace
    - atomic_add_fetch_64
    - taosTmrStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStopElectTimer(SSyncNode* pSyncNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1870,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1883,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1879,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pNode
    - pCfg
    argTypes:
    - SSyncNode*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 1894
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1894
    functionName: syncNodeInConfig
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - SYNC_ADDR
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'inline bool syncNodeInConfig(SSyncNode* pNode, const SSyncCfg* pCfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1902,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 2
    argNames:
    - pOldCfg
    - pNewCfg
    argTypes:
    - SSyncCfg*
    - SSyncCfg*
    constantsTouched: []
    func_position:
      end: 1908
      start: 1896
    functionDepth: 0
    functionLinenumber: 1896
    functionLinenumberEnd: 1908
    functionName: syncIsConfigChanged
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool syncIsConfigChanged(const SSyncCfg* pOldCfg, const SSyncCfg*
      pNewCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2431,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2435,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2438,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2437,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2429
    functionDepth: 0
    functionLinenumber: 2429
    functionLinenumberEnd: 2441
    functionName: syncNodeFollower2Candidate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - sNTrace
    - sError
    - sInfo
    linkageType: ''
    returnType: void
    signature: 'void syncNodeFollower2Candidate(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1752,1
    - Dst: syncNodeStartElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1753,1
    - Dst: syncNodeStopElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1752,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pSyncNode
    - ms
    argTypes:
    - SSyncNode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1755
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1755
    functionName: syncNodeRestartElectTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeStartElectTimer
    - TAOS_CHECK_RETURN
    - syncNodeStopElectTimer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeRestartElectTimer(SSyncNode* pSyncNode, int32_t ms) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: syncNodeIsReadyForRead
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeIsReadyForRead(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:929,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:933,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:937,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:939,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:934,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 941
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 941
    functionName: syncGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sError
    - syncNodeAcquire
    - TAOS_RETURN
    - syncNodeRelease
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncGetTerm(int64_t rid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1484,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1488,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1492,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1496,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1500,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1501,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1506,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1511,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1514,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1515
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1515
    functionName: syncNodeRestore
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - terrstr
    - sInfo
    - TAOS_RETURN
    - TMAX
    - syncLogBufferCommit
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeRestore(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1697,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1704,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1701,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1698,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1699,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1709
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1709
    functionName: syncNodeStartPingTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - taosTmrResetPriority
    - syncIsInit
    - atomic_store_64
    - syncEnv
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStartPingTimer(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2464,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2472,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2469,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2470,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2466,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2476,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pSyncNode
    - term
    - pRaftId
    argTypes:
    - SSyncNode*
    - SyncTerm
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 2477
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2477
    functionName: syncNodeVoteForTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sError
    - raftStoreVote
    - raftStoreHasVoted
    - sTrace
    linkageType: ''
    returnType: void
    signature: 'void syncNodeVoteForTerm(SSyncNode* pSyncNode, SyncTerm term, SRaftId*
      pRaftId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeBecomeFollower
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:307,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 318
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 318
    functionName: syncForceBecomeFollower
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeBecomeFollower
    - tmsgSendRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncForceBecomeFollower(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:333,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:338,1
    - Dst: tSerializeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:380,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:383,1
    - Dst: tDeserializeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:326,1
    - Dst: strncmp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:341,1
    - Dst: syncNodeAppendNoop
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:358,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:359,1
    - Dst: tSerializeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:368,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:400,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:353,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:371,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:382,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:374,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:397,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:327,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:342,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:350,1
    - Dst: syncNodeBecomeAssignedLeader
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:356,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:377,1
    - Dst: tFreeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:399,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 401
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 401
    functionName: syncBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncNodeAppendNoop
    - sError
    - rpcMallocCont
    - tmsgSendRsp
    - tFreeSVArbSetAssignedLeaderReq
    - strncmp
    - raftStoreNextTerm
    - sInfo
    - tstrerror
    - rpcFreeCont
    - TAOS_RETURN
    - tDeserializeSVArbSetAssignedLeaderReq
    - syncNodeBecomeAssignedLeader
    - TMAX
    - tSerializeSVArbSetAssignedLeaderRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBecomeAssignedLeader(SSyncNode* ths, SRpcMsg* pRpcMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilMsgHtoN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1851,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1857,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1857,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1858,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1859,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:1862,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - destRaftId
    - pNode
    - pMsg
    argTypes:
    - SRaftId*
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1863
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1863
    functionName: syncNodeSendMsgById
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - sError
    - DID
    - syncUtilMsgHtoN
    - tstrerror
    - TAOS_RETURN
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeSendMsgById(const SRaftId* destRaftId, SSyncNode*
      pNode, SRpcMsg* pMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2772,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2782,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2783,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2790,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2803,1
    - Dst: syncMinMatchIndex
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2822,1
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2849,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2850,1
    - Dst: taosTmrResetPriority
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2851,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2853,1
    - Dst: syncNodeAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2780,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2792,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2798,1
    - Dst: syncBuildHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2815,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2808,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2838,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2839,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2845,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2845,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2860,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2865,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2776,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2791,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2817,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2838,1
    - Dst: TRACE_SET_ROOTID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2839,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2840,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2841,1
    - Dst: syncEnv
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2852,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2856,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2853,1
    - Dst: syncHbTimerDataAcquire
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2774,1
    - Dst: syncNodeRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2797,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2816,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2816,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2799,1
    - Dst: syncHbTimerDataRelease
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2818,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2827,1
    - Dst: syncLogSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2842,1
    - Dst: syncNodeSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncMain.c:2843,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2867
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2867
    functionName: syncNodeEqPeerHeartbeatTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMain.c
    functionUses: []
    functionsReached:
    - syncLogSendHeartbeat
    - atomic_load_64
    - sError
    - syncNodeRelease
    - tGenIdPI64
    - taosGetTimestampMs
    - DID
    - sGTrace
    - syncEnv
    - TRACE_SET_ROOTID
    - syncHbTimerDataAcquire
    - TRACE_SET_MSGID
    - syncBuildHeartbeat
    - syncMinMatchIndex
    - raftStoreGetTerm
    - syncHbTimerDataRelease
    - syncNodeAcquire
    - sTrace
    - taosTmrResetPriority
    - syncIsInit
    - tstrerror
    - syncNodeSendHeartbeat
    linkageType: ''
    returnType: void
    signature: 'static void syncNodeEqPeerHeartbeatTimer(void* param, void* tmrId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: syncBuildRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildRequestVote(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:45,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pMsg
    - pOriginal
    - seqNum
    - isWeak
    - vgId
    argTypes:
    - SRpcMsg*
    - SRpcMsg*
    - uint64_t
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: syncBuildClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildClientRequest(SRpcMsg* pMsg, const SRpcMsg* pOriginal,
      uint64_t seqNum, bool isWeak, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: syncBuildAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildAppendEntries(SRpcMsg* pMsg, int32_t dataLen, int32_t
      vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:156,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:172,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pNode
    - pEntry
    - prevLogTerm
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SSyncRaftEntry*
    - SyncTerm
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 176
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 176
    functionName: syncBuildAppendEntriesFromRaftEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildAppendEntriesFromRaftEntry(SSyncNode* pNode, SSyncRaftEntry*
      pEntry, SyncTerm prevLogTerm, SRpcMsg* pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 208
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 208
    functionName: syncBuildHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildHeartbeatReply(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 241
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 241
    functionName: syncBuildSnapshotSendRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildSnapshotSendRsp(SRpcMsg* pMsg, int32_t dataLen, int32_t
      vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    functionName: syncBuildLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildLocalCmd(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:23,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:37,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - pMsg
    - timeoutType
    - logicClock
    - timerMS
    - pNode
    argTypes:
    - SRpcMsg*
    - ESyncTimeoutType
    - uint64_t
    - int32_t
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 40
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 40
    functionName: syncBuildTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildTimeout(SRpcMsg* pMsg, ESyncTimeoutType timeoutType,
      uint64_t logicClock, int32_t timerMS, SSyncNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:67,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pMsg
    - pEntry
    - vgId
    argTypes:
    - SRpcMsg*
    - SSyncRaftEntry*
    - int32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: syncBuildClientRequestFromNoopEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildClientRequestFromNoopEntry(SRpcMsg* pMsg, const SSyncRaftEntry*
      pEntry, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: syncBuildRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildRequestVoteReply(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: syncBuildAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildAppendEntriesReply(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 192
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 192
    functionName: syncBuildHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildHeartbeat(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pMsg
    - dataLen
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 225
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 225
    functionName: syncBuildSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildSnapshotSend(SRpcMsg* pMsg, int32_t dataLen, int32_t
      vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncMessage.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMsg
    - vgId
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: syncBuildLeaderTransfer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncBuildLeaderTransfer(SRpcMsg* pMsg, int32_t vgId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - timerType
    argTypes:
    - enum ESyncTimeoutType
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: syncTimerTypeStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * syncTimerTypeStr(enum ESyncTimeoutType timerType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - cmd
    argTypes:
    - ESyncLocalCmd
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: syncLocalCmdGetStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncMessage.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * syncLocalCmdGetStr(ESyncLocalCmd cmd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:59,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:60,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:64,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:61,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:65,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:70,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: syncCleanUp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - taosCloseRef
    - memset
    - sDebug
    - taosTmrCleanUp
    linkageType: ''
    returnType: void
    signature: 'void syncCleanUp() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncIsInit
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:29,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:31,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:32,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:35,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:34,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:37,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:39,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:40,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:43,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:45,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:47,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:52,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:54,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: syncInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - sError
    - atomic_store_8
    - taosOpenRef
    - syncCleanUp
    - taosGetTimestampNs
    - syncIsInit
    - memset
    - sDebug
    - taosSeedRand
    - taosTmrInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: syncIsInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: 'bool syncIsInit() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:87,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:91,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:90,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: syncNodeRemove
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - tstrerror
    - sDebug
    - sError
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void syncNodeRemove(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:109,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: syncNodeRelease
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosReleaseRef
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncNodeRelease(SSyncNode *pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:127,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: syncHbTimerDataRemove
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - tstrerror
    - sError
    - taosRemoveRef
    linkageType: ''
    returnType: void
    signature: 'void syncHbTimerDataRemove(int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: syncEnv
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSyncEnv*
    signature: 'SSyncEnv *syncEnv() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:77,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: syncNodeAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - sDebug
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncNodeAdd(SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:97,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: syncNodeAcquire
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - sError
    - taosAcquireRef
    linkageType: ''
    returnType: SSyncNode*
    signature: 'SSyncNode *syncNodeAcquire(int64_t rid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAddRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: syncHbTimerDataAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - taosAddRef
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncHbTimerDataAdd(SSyncHbTimerData *pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:133,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - rid
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 140
    functionName: syncHbTimerDataAcquire
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - sInfo
    - taosAcquireRef
    linkageType: ''
    returnType: SSyncHbTimerData*
    signature: 'SSyncHbTimerData *syncHbTimerDataAcquire(int64_t rid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:145,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncEnv.c:147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SSyncHbTimerData*
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: syncHbTimerDataRelease
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncEnv.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosReleaseRef
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncHbTimerDataRelease(SSyncHbTimerData *pData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 130
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 130
    functionName: snapshotSenderClearInfoData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotSenderClearInfoData(SSyncSnapshotSender *pSender) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:466,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 475
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 475
    functionName: snapshotReceiverClearInfoData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotReceiverClearInfoData(SSyncSnapshotReceiver
      *pReceiver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:520,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:538,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:521,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:539,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:543,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pReceiver
    - pBeginMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 545
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 545
    functionName: snapshotReceiverStartWriter
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TAOS_RETURN
    - sRInfo
    - sRError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotReceiverStartWriter(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend *pBeginMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:568,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:573,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:570,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:579,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:583,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:586,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:588,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:590,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:594,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:592,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 595
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 595
    functionName: snapshotReceiverStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncSnapBufferReset
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sRError
    - sRDebug
    - snapshotReceiverClearInfoData
    - tstrerror
    - atomic_val_compare_exchange_8
    - sRInfo
    linkageType: ''
    returnType: void
    signature: 'void snapshotReceiverStop(SSyncSnapshotReceiver *pReceiver) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:668,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:673,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:669,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:677,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:674,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:684,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:685,1
    - Dst: sRDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:693,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 695
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 695
    functionName: snapshotReceiverGotData
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - tstrerror
    - sRDebug
    - TAOS_RETURN
    - sRError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotReceiverGotData(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend *pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:834,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:841,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:835,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:841,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:839,1
    - Dst: snapshotReceiverStartWriter
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:846,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:847,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:847,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:851,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:853,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:864,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:862,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:862,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 865
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 865
    functionName: syncNodeOnSnapshotBegin
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncNodeGetSnapBeginIndex
    - sRError
    - snapshotReceiverStartWriter
    - snapshotReceiverIsStart
    - syncSnapSendRsp
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - snapshotReceiverSignatureCmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeOnSnapshotBegin(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:978,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:990,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:981,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:982,1
    - Dst: snapshotReceiverFinish
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:988,1
    - Dst: syncBuildSnapshotSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:997,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:998,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:998,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:999,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1005,1
    - Dst: syncLogSendSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1014,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1016,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1020,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1017,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1015,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 1021
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 1021
    functionName: syncNodeOnSnapshotEnd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - syncNodeSendMsgById
    - sRError
    - snapshotReceiverStop
    - syncLogSendSyncSnapshotRsp
    - syncBuildSnapshotSendRsp
    - tstrerror
    - TAOS_RETURN
    - snapshotReceiverSignatureCmp
    - snapshotReceiverFinish
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeOnSnapshotEnd(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1137,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1140,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1144,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1158,1
    - Dst: syncSnapSenderExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1158,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1163,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1168,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1173,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1163,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1175
    functionName: syncNodeOnSnapshotPrepRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - snapshotSend
    - syncIndexMgrSetIndex
    - sSError
    - tstrerror
    - sSInfo
    - TAOS_RETURN
    - syncSnapSenderExchgSnapInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeOnSnapshotPrepRsp(SSyncNode *pSyncNode, SSyncSnapshotSender
      *pSender, SyncSnapshotRsp *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:143,1
    - Dst: snapshotSenderClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:149,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 150
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 150
    functionName: snapshotSenderDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - syncSnapBufferDestroy
    - snapshotSenderClearInfoData
    linkageType: ''
    returnType: void
    signature: 'void snapshotSenderDestroy(SSyncSnapshotSender *pSender) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:480,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:491,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:487,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:486,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:493,1
    - Dst: syncSnapBufferDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:497,1
    - Dst: snapshotReceiverClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:500,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 504
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 504
    functionName: snapshotReceiverDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncSnapBufferDestroy
    - taosMemoryFree
    - sError
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - snapshotReceiverClearInfoData
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void snapshotReceiverDestroy(SSyncSnapshotReceiver *pReceiver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:548,1
    - Dst: syncNodeGetSnapBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:561,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:564,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:553,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:549,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pReceiver
    - pPreMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: snapshotReceiverStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncNodeGetSnapBeginIndex
    - snapshotReceiverIsStart
    - DID
    - atomic_val_compare_exchange_8
    - sRInfo
    linkageType: ''
    returnType: void
    signature: 'void snapshotReceiverStart(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pPreMsg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:609,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:630,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:644,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:644,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:654,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:603,1
    - Dst: raftStoreSetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:645,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:656,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:601,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:623,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:635,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:606,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:608,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:619,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:633,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:629,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:629,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:653,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:659,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:660,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 664
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 664
    functionName: snapshotReceiverFinish
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sRError
    - raftStoreSetTerm
    - tstrerror
    - TAOS_RETURN
    - sRInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotReceiverFinish(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:700,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:708,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:707,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:702,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 714
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 714
    functionName: syncNodeGetSnapBeginIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - TMAX
    - sNInfo
    - walGetCommittedVer
    - syncNodeIsMnode
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncNodeGetSnapBeginIndex(SSyncNode *ths) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildSnapshotSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:873,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:891,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:874,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:875,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:874,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:895,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:896,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:896,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:897,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 6
    argNames:
    - pReceiver
    - pMsg
    - pBlock
    - blockLen
    - type
    - rspCode
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    - void*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 900
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 900
    functionName: syncSnapSendRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncNodeSendMsgById
    - sRError
    - syncBuildSnapshotSendRsp
    - tstrerror
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncSnapSendRsp(SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend
      *pMsg, void *pBlock, int32_t blockLen, int32_t type, int32_t rspCode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1030,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1037,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1061,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1066,1
    - Dst: syncNodeOnSnapshotPrep
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1068,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1033,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1040,1
    - Dst: syncNodeUpdateTermWithoutStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1049,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1105,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1036,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1040,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1041,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1059,1
    - Dst: syncNodeOnSnapshotReceive
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1082,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1088,1
    - Dst: syncNodeOnSnapshotEnd
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1090,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1092,1
    - Dst: syncLogBufferReInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1096,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1098,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1104,1
    - Dst: syncLogRecvSyncSnapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1031,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1045,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1046,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1053,1
    - Dst: syncNodeOnSnapshotBegin
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1076,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1055,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1074,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1098,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1106
    functionName: syncNodeOnSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sError
    - sRError
    - syncNodeOnSnapshotReceive
    - syncNodeResetElectTimer
    - syncSnapSendRsp
    - syncNodeStepDown
    - syncNodeOnSnapshotBegin
    - sInfo
    - tstrerror
    - syncLogRecvSyncSnapshotSend
    - TAOS_RETURN
    - syncNodeInRaftGroup
    - syncNodeOnSnapshotEnd
    - syncLogBufferReInit
    - syncNodeUpdateTermWithoutStepDown
    - syncNodeOnSnapshotPrep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnSnapshot(SSyncNode *pSyncNode, SRpcMsg *pRpcMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1114,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1123,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1119,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1121,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1127,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pSyncNode
    - pSender
    - pMsg
    argTypes:
    - SSyncNode*
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1129
    functionName: syncSnapSenderExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - sSError
    - sSInfo
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncSnapSenderExchgSnapInfo(SSyncNode *pSyncNode, SSyncSnapshotSender
      *pSender, SyncSnapshotRsp *pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:71,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:86,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:74,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:76,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:92,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:93,1
    - Dst: syncSnapBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:99,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:106,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - pSyncNode
    - replicaIndex
    - ppSender
    argTypes:
    - SSyncNode*
    - int32_t
    - SSyncSnapshotSender**
    constantsTouched: []
    func_position:
      end: 107
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 107
    functionName: snapshotSenderCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncSnapBufferReset
    - taosMemoryCalloc
    - syncSnapBufferCreate
    - TAOS_RETURN
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapshotSenderCreate(SSyncNode *pSyncNode, int32_t replicaIndex,
      SSyncSnapshotSender **ppSender) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 152
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 152
    functionName: snapshotSenderIsStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: 'bool snapshotSenderIsStart(SSyncSnapshotSender *pSender) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:214,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:219,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:217,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:229,1
    - Dst: snapshotSenderClearInfoData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:231,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:234,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:234,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pSender
    - finish
    argTypes:
    - SSyncSnapshotSender*
    - bool
    constantsTouched: []
    func_position:
      end: 237
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 237
    functionName: snapshotSenderStop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncSnapBufferReset
    - taosThreadMutexUnlock
    - snapshotSenderClearInfoData
    - taosThreadMutexLock
    - sSDebug
    - DID
    - sSInfo
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: void
    signature: 'void snapshotSenderStop(SSyncSnapshotSender *pSender, bool finish) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - pSender
    - pMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1183
    functionName: snapshotSenderSignatureCmp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotSenderSignatureCmp(SSyncSnapshotSender *pSender,
      SyncSnapshotRsp *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncSnapBuffer*
    constantsTouched: []
    func_position:
      end: 38
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 38
    functionName: syncSnapBufferReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void syncSnapBufferReset(SSyncSnapBuffer *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: syncSnapBlockDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncSnapBlockDestroy(void *ptr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:157,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:174,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:171,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:173,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:175,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:182,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:192,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:199,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:204,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:207,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 211
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 211
    functionName: snapshotSenderStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - syncSnapSendMsg
    - taosMemoryFree
    - taosGetMonoTimestampMs
    - DID
    - memset
    - sSError
    - tstrerror
    - sSInfo
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapshotSenderStart(SSyncSnapshotSender *pSender) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncBuildSnapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:243,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:244,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:266,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:261,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:244,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - pSender
    - seq
    - pBlock
    - blockLen
    - typ
    argTypes:
    - SSyncSnapshotSender*
    - int32_t
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: syncSnapSendMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncNodeSendMsgById
    - sSError
    - tstrerror
    - TAOS_RETURN
    - syncBuildSnapshotSend
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncSnapSendMsg(SSyncSnapshotSender *pSender, int32_t seq,
      void *pBlock, int32_t blockLen, int32_t typ) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1190,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1196,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1236,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1191,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1242,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1247,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1248,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 67
    argCount: 2
    argNames:
    - pSender
    - ppMsg
    argTypes:
    - SSyncSnapshotSender*
    - SyncSnapshotRsp**
    constantsTouched: []
    func_position:
      end: 1249
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1249
    functionName: syncSnapBufferSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - snapshotSend
    - taosThreadMutexLock
    - snapshotSenderIsStart
    - snapshotSenderSignatureCmp
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncSnapBufferSend(SSyncSnapshotSender *pSender, SyncSnapshotRsp
      **ppMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:419,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:433,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:422,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:424,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:435,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:439,1
    - Dst: syncSnapBufferCreate
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:446,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:448,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:450,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:454,1
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:450,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 3
    argNames:
    - pSyncNode
    - fromId
    - ppReceiver
    argTypes:
    - SSyncNode*
    - SRaftId
    - SSyncSnapshotReceiver**
    constantsTouched: []
    func_position:
      end: 462
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 462
    functionName: snapshotReceiverCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncSnapBufferReset
    - taosMemoryFree
    - sError
    - taosThreadMutexDestroy
    - taosMemoryCalloc
    - taosThreadMutexInit
    - syncSnapBufferCreate
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapshotReceiverCreate(SSyncNode *pSyncNode, SRaftId fromId,
      SSyncSnapshotReceiver **ppReceiver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncSnapBufferReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:44,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:46,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncSnapBuffer**
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: syncSnapBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncSnapBufferReset
    - taosMemoryFree
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'static void syncSnapBufferDestroy(SSyncSnapBuffer **ppBuf) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:351,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:367,1
    - Dst: snapshotSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:374,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:352,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:363,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:380,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:385,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:386,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 44
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 387
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 387
    functionName: snapshotReSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - syncSnapSendMsg
    - taosThreadMutexUnlock
    - snapshotSend
    - taosThreadMutexLock
    - snapshotSenderIsStart
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t snapshotReSend(SSyncSnapshotSender *pSender) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:390,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:396,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:392,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:393,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:401,1
    - Dst: snapshotSenderStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:403,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pSyncNode
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 410
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionName: syncNodeStartSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - snapshotSenderStart
    - sSDebug
    - snapshotSenderIsStart
    - sSError
    - tstrerror
    - TAOS_RETURN
    - syncNodeGetSnapshotSender
    - sNError
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeStartSnapshot(SSyncNode *pSyncNode, SRaftId *pDestId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:907,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:922,1
    - Dst: snapshotReceiverGotData
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:937,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:924,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:943,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:944,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:953,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 2
    argNames:
    - pReceiver
    - ppMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend**
    constantsTouched: []
    func_position:
      end: 954
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 954
    functionName: syncSnapBufferRecv
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - snapshotReceiverGotData
    - syncSnapSendRsp
    - TAOS_RETURN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncSnapBufferRecv(SSyncSnapshotReceiver *pReceiver,
      SyncSnapshotSend **ppMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:53,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:62,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:56,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncSnapBuffer**
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: syncSnapBufferCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncSnapBufferCreate(SSyncSnapBuffer **ppBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:962,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:968,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:967,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:967,1
    - Dst: syncSnapBufferRecv
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pSyncNode
    - ppMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend**
    constantsTouched: []
    func_position:
      end: 972
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 972
    functionName: syncNodeOnSnapshotReceive
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sRError
    - syncSnapBufferRecv
    - syncSnapSendRsp
    - tstrerror
    - snapshotReceiverSignatureCmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeOnSnapshotReceive(SSyncNode *pSyncNode, SyncSnapshotSend
      **ppMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:297,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:297,1
    - Dst: sSDebug
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:303,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:307,1
    - Dst: syncSnapSendMsg
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:321,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:326,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:335,1
    - Dst: syncSnapBlockDestroy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:341,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:344,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 1
    argNames:
    - pSender
    argTypes:
    - SSyncSnapshotSender*
    constantsTouched: []
    func_position:
      end: 345
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 345
    functionName: snapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - syncSnapSendMsg
    - taosGetTimestampMs
    - sSDebug
    - taosMemoryCalloc
    - syncSnapBlockDestroy
    - sSError
    - tstrerror
    - sSInfo
    - TAOS_RETURN
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotSend(SSyncSnapshotSender *pSender) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_8
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReceiver
    argTypes:
    - SSyncSnapshotReceiver*
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: snapshotReceiverIsStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    linkageType: ''
    returnType: bool
    signature: 'bool snapshotReceiverIsStart(SSyncSnapshotReceiver *pReceiver) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:724,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:732,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:728,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:737,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:745,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:748,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:749,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:754,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:757,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - pSyncNode
    - pReceiver
    - pMsg
    - pInfo
    argTypes:
    - SSyncNode*
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 758
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 758
    functionName: syncSnapReceiverExchgSnapInfo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - sError
    - sRError
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - taosMemoryRealloc
    - tstrerror
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncSnapReceiverExchgSnapInfo(SSyncNode *pSyncNode,
      SSyncSnapshotReceiver *pReceiver, SyncSnapshotSend *pMsg, SSnapshot *pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - pReceiver
    - pMsg
    argTypes:
    - SSyncSnapshotReceiver*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: snapshotReceiverSignatureCmp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t snapshotReceiverSignatureCmp(SSyncSnapshotReceiver
      *pReceiver, SyncSnapshotSend *pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:762,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:775,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:765,1
    - Dst: snapshotReceiverSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:768,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:769,1
    - Dst: sRError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:782,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:791,1
    - Dst: snapshotReceiverIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:796,1
    - Dst: sRInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:797,1
    - Dst: snapshotReceiverStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:798,1
    - Dst: syncSnapSendRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:817,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:823,1
    - Dst: snapshotReceiverStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:801,1
    - Dst: syncSnapReceiverExchgSnapInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:808,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:826,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 2
    argNames:
    - pSyncNode
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    constantsTouched: []
    func_position:
      end: 827
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 827
    functionName: syncNodeOnSnapshotPrep
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMemoryFree
    - sRError
    - snapshotReceiverIsStart
    - snapshotReceiverStart
    - syncSnapSendRsp
    - snapshotReceiverStop
    - syncSnapReceiverExchgSnapInfo
    - TAOS_RETURN
    - snapshotReceiverSignatureCmp
    - sRInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeOnSnapshotPrep(SSyncNode *pSyncNode, SyncSnapshotSend
      *pMsg) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1257,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1258,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1279,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1292,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1281,1
    - Dst: syncNodeOnSnapshotPrepRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1309,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1317,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1259,1
    - Dst: snapshotSenderIsStart
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1269,1
    - Dst: snapshotSenderSignatureCmp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1277,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1301,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1325,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1326,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1335,1
    - Dst: syncLogRecvSyncSnapshotRsp
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1265,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1327,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1334,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1327,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1266,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1270,1
    - Dst: sSWarn
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1278,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1294,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1287,1
    - Dst: sSInfo
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1308,1
    - Dst: syncSnapBufferSend
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1316,1
    - Dst: syncNodeReplicateReset
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1334,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncSnapshot.c:1333,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 2
    argNames:
    - pSyncNode
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1336
    functionName: syncNodeOnSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncSnapshot.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - TAOS_CHECK_GOTO
    - sError
    - snapshotSenderIsStart
    - snapshotSenderSignatureCmp
    - snapshotSenderStop
    - syncNodeReplicateReset
    - syncSnapBufferSend
    - sSError
    - tstrerror
    - sSInfo
    - TAOS_RETURN
    - syncNodeOnSnapshotPrepRsp
    - syncNodeInRaftGroup
    - sSWarn
    - syncLogRecvSyncSnapshotRsp
    - syncNodeGetSnapshotSender
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnSnapshotRsp(SSyncNode *pSyncNode, SRpcMsg *pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:50,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:53,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pIndexMgr
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: syncIndexMgrClear
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrClear(SSyncIndexMgr *pIndexMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIndexMgrClear
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pIndexMgr
    - pNode
    argTypes:
    - SSyncIndexMgr*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: syncIndexMgrUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncIndexMgrClear
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrUpdate(SSyncIndexMgr *pIndexMgr, SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:74,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:79,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:89,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pNewIndex
    - pOldIndex
    - oldReplicasId
    argTypes:
    - SSyncIndexMgr*
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: syncIndexMgrCopyIfExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - sDebug
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrCopyIfExist(SSyncIndexMgr * pNewIndex, SSyncIndexMgr
      * pOldIndex, SRaftId *oldReplicasId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:107,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:114,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:115,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: syncIndexMgrGetIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex syncIndexMgrGetIndex(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:133,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:140,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:139,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: syncIndexMgrGetStartTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncIndexMgrGetStartTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:159,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:166,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:166,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - sentTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: syncIndexMgrSetSentTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrSetSentTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId, int64_t sentTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:184,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:190,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:191,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: syncIndexMgrGetSentTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncIndexMgrGetSentTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:20,1
    - Dst: syncIndexMgrClear
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 33
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: syncIndexMgrCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - syncIndexMgrClear
    linkageType: ''
    returnType: SSyncIndexMgr*
    signature: 'SSyncIndexMgr *syncIndexMgrCreate(SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:62,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:69,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:69,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - index
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: syncIndexMgrSetIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrSetIndex(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId, SyncIndex index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pIndexMgr
    argTypes:
    - SSyncIndexMgr*
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: syncIndexMgrDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrDestroy(SSyncIndexMgr *pIndexMgr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:95,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:101,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:101,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pNode
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: syncNodeGetLogReplMgr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: SSyncLogReplMgr*
    signature: 'SSyncLogReplMgr *syncNodeGetLogReplMgr(SSyncNode *pNode, SRaftId *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:121,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:127,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:128,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - startTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: syncIndexMgrSetStartTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrSetStartTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId, int64_t startTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:147,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:153,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:154,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - recvTime
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: syncIndexMgrSetRecvTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrSetRecvTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId, int64_t recvTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:171,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:177,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:177,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: syncIndexMgrGetRecvTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncIndexMgrGetRecvTime(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:197,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:204,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:203,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:204,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIndexMgr
    - pRaftId
    - term
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: syncIndexMgrSetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: void
    signature: 'void syncIndexMgrSetTerm(SSyncIndexMgr *pIndexMgr, const SRaftId *pRaftId,
      SyncTerm term) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:209,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:216,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:215,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncIndexMgr.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pIndexMgr
    - pRaftId
    argTypes:
    - SSyncIndexMgr*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 218
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 218
    functionName: syncIndexMgrGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncIndexMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - CID
    - sError
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm syncIndexMgrGetTerm(SSyncIndexMgr *pIndexMgr, const SRaftId
      *pRaftId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: syncNodeAbs64
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static inline int64_t syncNodeAbs64(int64_t a, int64_t b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: syncNodeDynamicQuorum
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeDynamicQuorum(const SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:76,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - commitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: syncNodeUpdateCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncNodeUpdateCommitIndex(SSyncNode* ths, SyncIndex commitIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pNode
    - index
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 71
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 71
    functionName: syncNodeAgreedUpon
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncNodeAgreedUpon(SSyncNode* pNode, SyncIndex index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeAgreedUpon
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:85,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:87,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:89,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ths
    - indexLikely
    - trace
    argTypes:
    - SSyncNode*
    - SyncIndex
    - STraceId*
    constantsTouched: []
    func_position:
      end: 92
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 92
    functionName: syncNodeCheckCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncNodeAgreedUpon
    - sGDebug
    - syncNodeUpdateCommitIndex
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncNodeCheckCommitIndex(SSyncNode* ths, SyncIndex indexLikely,
      const STraceId *trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:98,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncCommit.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ths
    - assignedCommitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: syncNodeUpdateAssignedCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncCommit.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncNodeUpdateAssignedCommitIndex(SSyncNode* ths, SyncIndex
      assignedCommitIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:37,1
    - Dst: syncBuildRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:46,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:48,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:48,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:55,1
    - Dst: syncNodeGetLastIndexTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:57,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:59,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:59,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:63,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:65,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 70
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 70
    functionName: syncNodeRequestVotePeers
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sNTrace
    - sError
    - syncNodeSendMsgById
    - terrstr
    - syncBuildRequestVote
    - syncNodeGetLastIndexTerm
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeRequestVotePeers(SSyncNode* pNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeFollower2Candidate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:83,1
    - Dst: raftStoreNextTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:92,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:78,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:100,1
    - Dst: syncUtilQuorum
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:117,1
    - Dst: syncNodeRequestVotePeers
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:124,1
    - Dst: voteGrantedUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:114,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:95,1
    - Dst: voteGrantedReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:96,1
    - Dst: votesRespondUpdate
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:115,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:74,1
    - Dst: raftStoreClearVote
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:93,1
    - Dst: syncNodeVoteForSelf
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:98,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:127,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:107,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:87,1
    - Dst: votesRespondReset
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:97,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:119,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncElection.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 129
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 129
    functionName: syncNodeElect
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncElection.c
    functionUses: []
    functionsReached:
    - raftStoreClearVote
    - sNInfo
    - raftStoreGetTerm
    - votesRespondReset
    - sError
    - syncNodeCandidate2Leader
    - syncNodeResetElectTimer
    - raftStoreNextTerm
    - voteGrantedMajority
    - voteGrantedUpdate
    - syncNodeFollower2Candidate
    - votesRespondUpdate
    - syncUtilQuorum
    - syncNodeRequestVotePeers
    - sNError
    - voteGrantedReset
    - syncNodeVoteForSelf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeElect(SSyncNode* pSyncNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - dataLen
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 33
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 33
    functionName: syncEntryBuild
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuild(int32_t dataLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - term
    - index
    - vgId
    argTypes:
    - SyncTerm
    - SyncIndex
    - int32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 97
    functionName: syncEntryBuildNoop
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - syncEntryBuild
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuildNoop(SyncTerm term, SyncIndex index,
      int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:52,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pMsg
    - term
    - index
    argTypes:
    - SRpcMsg*
    - SyncTerm
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: syncEntryBuildFromRpcMsg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - syncEntryBuild
    - memcpy
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuildFromRpcMsg(const SRpcMsg* pMsg, SyncTerm
      term, SyncIndex index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:68,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SyncAppendEntries*
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: syncEntryBuildFromAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuildFromAppendEntries(const SyncAppendEntries*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:36,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pMsg
    - term
    - index
    - traceId
    argTypes:
    - SyncClientRequest*
    - SyncTerm
    - SyncIndex
    - STraceId*
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: syncEntryBuildFromClientRequest
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - syncEntryBuild
    - memcpy
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuildFromClientRequest(const SyncClientRequest*
      pMsg, SyncTerm term, SyncIndex index, const STraceId *traceId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:101,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pEntry
    argTypes:
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: syncEntryDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - sTrace
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void syncEntryDestroy(SSyncRaftEntry* pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:109,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftEntry.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pEntry
    - pRpcMsg
    argTypes:
    - SSyncRaftEntry*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: syncEntry2OriginalRpc
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftEntry.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncEntry2OriginalRpc(const SSyncRaftEntry* pEntry, SRpcMsg*
      pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: voteGrantedClearVotes
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void voteGrantedClearVotes(SVotesGranted *pVotesGranted) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: voteGrantedDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void voteGrantedDestroy(SVotesGranted *pVotesGranted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVotesGranted
    argTypes:
    - SVotesGranted*
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: voteGrantedMajority
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool voteGrantedMajority(SVotesGranted *pVotesGranted) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pVotesGranted
    - term
    argTypes:
    - SVotesGranted*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: voteGrantedReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - voteGrantedClearVotes
    linkageType: ''
    returnType: void
    signature: 'void voteGrantedReset(SVotesGranted *pVotesGranted, SyncTerm term) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pVotesRespond
    argTypes:
    - SVotesRespond*
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: votesRespondDestory
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void votesRespondDestory(SVotesRespond *pVotesRespond) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pVotesRespond
    - pRaftId
    argTypes:
    - SVotesRespond*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 147
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 147
    functionName: votesResponded
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    linkageType: ''
    returnType: bool
    signature: 'bool votesResponded(SVotesRespond *pVotesRespond, const SRaftId *pRaftId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pVotesGranted
    - pNode
    argTypes:
    - SVotesGranted*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: voteGrantedUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - voteGrantedClearVotes
    linkageType: ''
    returnType: void
    signature: 'void voteGrantedUpdate(SVotesGranted *pVotesGranted, SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:26,1
    - Dst: voteGrantedClearVotes
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:34,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 42
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 42
    functionName: voteGrantedCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - voteGrantedClearVotes
    linkageType: ''
    returnType: SVotesGranted*
    signature: 'SVotesGranted *voteGrantedCreate(SSyncNode *pNode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:65,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:82,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:76,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:75,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:70,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:88,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:98,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - pVotesGranted
    - pMsg
    argTypes:
    - SVotesGranted*
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 102
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 102
    functionName: voteGrantedVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - sNTrace
    - sNFatal
    linkageType: ''
    returnType: void
    signature: 'void voteGrantedVote(SVotesGranted *pVotesGranted, SyncRequestVoteReply
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:111,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 123
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 123
    functionName: votesRespondCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SVotesRespond*
    signature: 'SVotesRespond *votesRespondCreate(SSyncNode *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pVotesRespond
    - pNode
    argTypes:
    - SVotesRespond*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: votesRespondUpdate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void votesRespondUpdate(SVotesRespond *pVotesRespond, SSyncNode *pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:151,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:156,1
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pVotesRespond
    - pMsg
    argTypes:
    - SVotesRespond*
    - SyncRequestVoteReply*
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: votesRespondAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - sNTrace
    - sNFatal
    linkageType: ''
    returnType: void
    signature: 'void votesRespondAdd(SVotesRespond *pVotesRespond, const SyncRequestVoteReply
      *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncVoteMgr.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pVotesRespond
    - term
    argTypes:
    - SVotesRespond*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: votesRespondReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncVoteMgr.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void votesRespondReset(SVotesRespond *pVotesRespond, SyncTerm term) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 418
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 418
    functionName: raftlogCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftlogCommitIndex(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:423,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: logStoreFirstIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex logStoreFirstIndex(SSyncLogStore* pLogStore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walRestoreFromSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:124,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:127,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:134,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pLogStore
    - snapshotIndex
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: raftLogRestoreFromSnapshot
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - tstrerror
    - strerror
    - TAOS_RETURN
    - sNError
    - walRestoreFromSnapshot
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftLogRestoreFromSnapshot(struct SSyncLogStore* pLogStore,
      SyncIndex snapshotIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetFirstVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: raftLogBeginIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetFirstVer
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftLogBeginIndex(struct SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: raftLogWriteIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetLastVer
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftLogWriteIndex(struct SSyncLogStore* pLogStore) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:373,1
    - Dst: raftLogGetEntry
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:378,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:374,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:380,1
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:376,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:383,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pLogStore
    - ppLastEntry
    argTypes:
    - SSyncLogStore*
    - SSyncRaftEntry**
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: raftLogGetLastEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walIsEmpty
    - TAOS_RETURN
    - raftLogGetEntry
    - raftLogLastIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftLogGetLastEntry(SSyncLogStore* pLogStore, SSyncRaftEntry**
      ppLastEntry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:33,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:42,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:52,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:50,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:54,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:55,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:68,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:69,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:71,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:73,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:72,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 95
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 95
    functionName: logStoreCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosLRUCacheInit
    - taosThreadMutexDestroy
    - taosMemoryCalloc
    - taosThreadMutexInit
    - walOpenReader
    - taosLRUCacheSetStrictCapacity
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: SSyncLogStore*
    signature: 'SSyncLogStore * logStoreCreate(SSyncNode* pSyncNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftLogLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 147
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 147
    functionName: raftLogEndIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - raftLogLastIndex
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftLogEndIndex(struct SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walLogExist
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pLogStore
    - index
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: raftLogExist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walLogExist
    linkageType: ''
    returnType: bool
    signature: 'static bool raftLogExist(struct SSyncLogStore* pLogStore, SyncIndex
      index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walGetSnapshotVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:391,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:393,1
    - Dst: walCommit
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:400,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:397,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:403,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:405,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:406,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:409,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:412,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pLogStore
    - index
    argTypes:
    - SSyncLogStore*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 413
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 413
    functionName: raftLogUpdateCommitIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walCommit
    - sError
    - walGetCommittedVer
    - tstrerror
    - walGetLastVer
    - walGetSnapshotVer
    - TAOS_RETURN
    - strerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftLogUpdateCommitIndex(SSyncLogStore* pLogStore, SyncIndex
      index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 431
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 431
    functionName: logStoreWalCommitVer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetCommittedVer
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex logStoreWalCommitVer(SSyncLogStore* pLogStore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:101,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:106,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:109,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:107,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:111,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 116
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 116
    functionName: logStoreDestory
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - walCloseReader
    - taosLRUCacheEraseUnrefEntries
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void logStoreDestory(SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: raftLogIsEmpty
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walIsEmpty
    linkageType: ''
    returnType: bool
    signature: 'bool raftLogIsEmpty(struct SSyncLogStore* pLogStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walRollback
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:351,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:353,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:359,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:354,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:361,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pLogStore
    - fromIndex
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 362
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 362
    functionName: raftLogTruncate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - sNTrace
    - sError
    - tstrerror
    - strerror
    - TAOS_RETURN
    - walRollback
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftLogTruncate(struct SSyncLogStore* pLogStore, SyncIndex
      fromIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: raftLogBeginIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:156,1
    - Dst: raftLogEndIndex
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: raftLogEntryCount
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - raftLogBeginIndex
    - raftLogEndIndex
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftLogEntryCount(struct SSyncLogStore* pLogStore) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:268,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:292,1
    - Dst: syncEntryBuild
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:310,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:327,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:328,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:276,1
    - Dst: walReadReset
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:281,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:307,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:295,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:273,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:274,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:279,1
    - Dst: walReadVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:287,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:289,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:319,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:335,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:269,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:282,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:305,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 3
    argNames:
    - pLogStore
    - index
    - ppEntry
    argTypes:
    - struct SSyncLogStore*
    - SyncIndex
    - SSyncRaftEntry**
    constantsTouched: []
    func_position:
      end: 341
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 341
    functionName: raftLogGetEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - sNTrace
    - sError
    - taosThreadMutexLock
    - syncEntryBuild
    - taosGetTimestampNs
    - tstrerror
    - walReadVer
    - TAOS_RETURN
    - strerror
    - walReadReset
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftLogGetEntry(struct SSyncLogStore* pLogStore, SyncIndex
      index, SSyncRaftEntry** ppEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetLastVer
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: raftLogLastIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetLastVer
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftLogLastIndex(struct SSyncLogStore* pLogStore) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walIsEmpty
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:200,1
    - Dst: raftLogGetLastEntry
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:204,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:207,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 1
    argNames:
    - pLogStore
    argTypes:
    - struct SSyncLogStore*
    constantsTouched: []
    func_position:
      end: 216
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 216
    functionName: raftLogLastTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - walIsEmpty
    - raftLogGetLastEntry
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm raftLogLastTerm(struct SSyncLogStore* pLogStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: walGetVerRetention
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pLogStore
    - bytes
    argTypes:
    - struct SSyncLogStore*
    - int64_t
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: raftLogIndexRetention
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walGetVerRetention
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex raftLogIndexRetention(struct SSyncLogStore* pLogStore, int64_t
      bytes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:227,1
    - Dst: walAppendLog
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:228,1
    - Dst: strerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:237,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:235,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:239,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:242,1
    - Dst: walFsync
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:245,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:247,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:247,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:251,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:253,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:255,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:248,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRaftLog.c:253,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pLogStore
    - pEntry
    - forceSync
    argTypes:
    - struct SSyncLogStore*
    - SSyncRaftEntry*
    - bool
    constantsTouched: []
    func_position:
      end: 256
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 256
    functionName: raftLogAppendEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftLog.c
    functionUses: []
    functionsReached:
    - walAppendLog
    - taosGetTimestampNs
    - tstrerror
    - strerror
    - TAOS_RETURN
    - walFsync
    - sNError
    - sGDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftLogAppendEntry(struct SSyncLogStore* pLogStore,
      SSyncRaftEntry* pEntry, bool forceSync) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:26,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:29,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:30,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:28,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:27,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:31,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:33,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: raftStoreDecode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    - TAOS_RETURN
    - tjsonGetInt32ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftStoreDecode(const SJson *pJson, SRaftStore *pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:154,1
    - Dst: raftStoreReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: raftStoreOpen
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - raftStoreReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftStoreOpen(SSyncNode *pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:104,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:105,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:105,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pJson
    - pStore
    argTypes:
    - SJson*
    - SRaftStore*
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: raftStoreEncode
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    - TAOS_RETURN
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t raftStoreEncode(SJson *pJson, SRaftStore *pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:161,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:163,1
    - Dst: syncUtilEmptyId
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: raftStoreHasVoted
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncUtilEmptyId
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'bool raftStoreHasVoted(SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:182,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:181,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:182,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: raftStoreClearVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - tstrerror
    - raftStoreWriteFile
    linkageType: ''
    returnType: void
    signature: 'void raftStoreClearVote(SSyncNode *pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:198,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:203,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:203,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pNode
    - term
    argTypes:
    - SSyncNode*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: raftStoreSetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - tstrerror
    - raftStoreWriteFile
    linkageType: ''
    returnType: void
    signature: 'void raftStoreSetTerm(SSyncNode *pNode, SyncTerm term) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:119,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:131,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:136,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:134,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:137,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:140,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:144,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:129,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:137,1
    - Dst: raftStoreEncode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:123,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:126,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:128,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:132,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:145,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:148,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:148,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:123,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:121,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:125,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:134,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:132,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:136,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:143,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 151
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 151
    functionName: raftStoreWriteFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - taosFsyncFile
    - snprintf
    - taosMemoryFree
    - taosCloseFile
    - sError
    - terrstr
    - raftStoreEncode
    - taosWriteFile
    - sInfo
    - tjsonDelete
    - tjsonToString
    - strlen
    - taosRenameFile
    - tjsonCreateObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftStoreWriteFile(SSyncNode *pNode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:44,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:79,1
    - Dst: raftStoreDecode
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:84,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:94,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:97,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:97,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:100,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:45,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:60,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:62,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:62,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:81,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:68,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:92,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:52,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:56,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:72,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:72,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:66,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:63,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:89,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:93,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:49,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:54,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:54,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:71,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:74,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 101
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 101
    functionName: raftStoreReadFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - taosStatFile
    - sError
    - taosMemoryMalloc
    - taosReadFile
    - taosMemoryFree
    - cJSON_Delete
    - terrstr
    - raftStoreDecode
    - tjsonParse
    - taosCloseFile
    - sInfo
    - raftStoreWriteFile
    - TAOS_RETURN
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t raftStoreReadFile(SSyncNode *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 158
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 158
    functionName: raftStoreClose
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void raftStoreClose(SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:168,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:172,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:172,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:171,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - pRaftId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 175
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 175
    functionName: raftStoreVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - tstrerror
    - raftStoreWriteFile
    linkageType: ''
    returnType: void
    signature: 'void raftStoreVote(SSyncNode *pNode, SRaftId *pRaftId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:188,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:192,1
    - Dst: raftStoreWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:191,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: raftStoreNextTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - tstrerror
    - raftStoreWriteFile
    linkageType: ''
    returnType: void
    signature: 'void raftStoreNextTerm(SSyncNode *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:210,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 214
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 214
    functionName: raftStoreGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm raftStoreGetTerm(SSyncNode *pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:218,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRaftStore.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: raftStoreTryGetTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftStore.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexTryLock
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm raftStoreTryGetTerm(SSyncNode *pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sNFatal
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:49,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:45,1
    - Dst: syncWriteCfgFile
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:47,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 55
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 55
    functionName: syncNodeCleanConfigIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: []
    functionsReached:
    - memcpy
    - sNTrace
    - sNFatal
    - syncWriteCfgFile
    linkageType: ''
    returnType: void
    signature: 'static void syncNodeCleanConfigIndex(SSyncNode* ths) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvTimer
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:113,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:116,1
    - Dst: syncNodeTimerRoutine
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:119,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:123,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:126,1
    - Dst: syncNodeElect
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:126,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:130,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:132,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:137,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - ths
    - pRpc
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 141
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 141
    functionName: syncNodeOnTimeout
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - sError
    - sTrace
    - syncLogRecvTimer
    - syncNodeTimerRoutine
    - TAOS_CHECK_RETURN
    - syncNodeElect
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnTimeout(SSyncNode* ths, const SRpcMsg* pRpc) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:60,1
    - Dst: syncNodeReplicate
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:69,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:73,1
    - Dst: syncNodeCleanConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:74,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:78,1
    - Dst: syncNodeGetSnapshotSender
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:81,1
    - Dst: snapshotReSend
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:95,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:62,1
    - Dst: sSWarn
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:94,1
    - Dst: syncNodeIsMnode
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:102,1
    - Dst: syncRespClean
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:103,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:72,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:77,1
    - Dst: snapshotSenderStop
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:92,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:101,1
    - Dst: sSError
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:91,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:68,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:64,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:69,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncTimeout.c:95,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - ths
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 107
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 107
    functionName: syncNodeTimerRoutine
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncTimeout.c
    functionUses: []
    functionsReached:
    - sNTrace
    - sNInfo
    - taosGetTimestampMs
    - snapshotSenderStop
    - sSError
    - TAOS_CHECK_RETURN
    - sDebug
    - syncRespClean
    - syncNodeReplicate
    - syncNodeCleanConfigIndex
    - syncNodeGetSnapshotSender
    - snapshotReSend
    - sSWarn
    - syncNodeIsMnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncNodeTimerRoutine(SSyncNode* ths) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetLastTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:47,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:51,1
    - Dst: sNWarn
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:65,1
    - Dst: syncNodeGetLastIndex
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:48,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:59,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:74,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:81,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - ths
    - pMsg
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    constantsTouched: []
    func_position:
      end: 86
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 86
    functionName: syncNodeOnRequestVoteLogOK
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVote.c
    functionUses: []
    functionsReached:
    - sNWarn
    - sNTrace
    - syncNodeGetLastIndex
    - syncNodeGetLastTerm
    linkageType: ''
    returnType: bool
    signature: 'static bool syncNodeOnRequestVoteLogOK(SSyncNode* ths, SyncRequestVote*
      pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeOnRequestVoteLogOK
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:102,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:97,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:110,1
    - Dst: syncBuildRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:128,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:104,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:105,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:138,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:140,1
    - Dst: syncLogSendRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:139,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:142,1
    - Dst: syncLogRecvRequestVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:93,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:96,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:99,1
    - Dst: raftStoreHasVoted
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:112,1
    - Dst: raftStoreVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:116,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:140,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:119,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncRequestVote.c:112,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 145
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 145
    functionName: syncNodeOnRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVote.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncUtilSameId
    - syncLogSendRequestVoteReply
    - syncNodeSendMsgById
    - syncNodeResetElectTimer
    - raftStoreVote
    - raftStoreHasVoted
    - sTrace
    - syncBuildRequestVoteReply
    - syncNodeStepDown
    - syncNodeOnRequestVoteLogOK
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - syncLogRecvRequestVote
    - syncNodeInRaftGroup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnRequestVote(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:45,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:53,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:48,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:46,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:50,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:55,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:59,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:60,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:62,1
    - Dst: syncLogRecvRequestVoteReply
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:65,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:72,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:75,1
    - Dst: syncNodeCandidate2Leader
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:86,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:99,1
    - Dst: voteGrantedVote
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:81,1
    - Dst: voteGrantedMajority
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:84,1
    - Dst: votesRespondAdd
      Src: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c:78,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 100
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 100
    functionName: syncNodeOnRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRequestVoteReply.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncNodeCandidate2Leader
    - votesRespondAdd
    - syncLogRecvRequestVoteReply
    - voteGrantedVote
    - syncNodeStepDown
    - voteGrantedMajority
    - TAOS_RETURN
    - syncNodeInRaftGroup
    - sNError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnRequestVoteReply(SSyncNode* ths, const SRpcMsg*
      pRpcMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:93,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:103,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:99,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:93,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:97,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:105,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:111,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 3
    argNames:
    - pSyncNode
    - destRaftId
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: syncNodeSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeSendMsgById
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - atomic_add_fetch_64
    - syncNodeGetLogReplMgr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeSendAppendEntries(SSyncNode* pSyncNode, const SRaftId*
      destRaftId, SRpcMsg* pRpcMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:61,1
    - Dst: syncNodeReplicateWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:64,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:67,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:65,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: syncNodeReplicate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - syncNodeReplicateWithoutLock
    - TAOS_RETURN
    - taosThreadMutexUnlock
    - taosThreadMutexTryLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeReplicate(SSyncNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:50,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:53,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:52,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:51,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:55,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pNode
    - pDestId
    argTypes:
    - SSyncNode*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: syncNodeReplicateReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_RETURN
    - syncNodeGetLogReplMgr
    - syncLogReplReset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeReplicateReset(SSyncNode* pNode, SRaftId* pDestId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:116,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:118,1
    - Dst: syncIndexMgrSetSentTime
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:119,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSyncNode
    - destId
    - pMsg
    argTypes:
    - SSyncNode*
    - SRaftId*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: syncNodeSendHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncIndexMgrSetSentTime
    - syncNodeSendMsgById
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeSendHeartbeat(SSyncNode* pSyncNode, const SRaftId*
      destId, SRpcMsg* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:73,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:82,1
    - Dst: syncUtilSameId
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:76,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:82,1
    - Dst: syncLogReplStart
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:83,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:87,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: syncNodeReplicateWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - syncUtilSameId
    - DID
    - syncLogReplStart
    - tstrerror
    - TAOS_RETURN
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeReplicateWithoutLock(SSyncNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:125,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:129,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:136,1
    - Dst: syncMinMatchIndex
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:138,1
    - Dst: syncBuildHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:128,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:143,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:143,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:144,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:144,1
    - Dst: syncLogSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:152,1
    - Dst: syncNodeSendHeartbeat
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncReplication.c:148,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - pSyncNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: syncNodeHeartbeatPeers
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncReplication.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosGetTimestampMs
    - syncLogSendHeartbeat
    - sError
    - DID
    - TRACE_SET_MSGID
    - syncBuildHeartbeat
    - tstrerror
    - sGTrace
    - TAOS_RETURN
    - syncMinMatchIndex
    - syncNodeSendHeartbeat
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeHeartbeatPeers(SSyncNode* pSyncNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:26,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:32,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:30,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:27,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:33,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:39,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:42,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:46,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - data
    - ttl
    - ppObj
    argTypes:
    - void*
    - int64_t
    - SSyncRespMgr**
    constantsTouched: []
    func_position:
      end: 47
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 47
    functionName: syncRespMgrCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadMutexInit
    - sDebug
    - TAOS_RETURN
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncRespMgrCreate(void *data, int64_t ttl, SSyncRespMgr **ppObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:63,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:70,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:66,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:67,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pObj
    - pStub
    argTypes:
    - SSyncRespMgr*
    - SRespStub*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: syncRespMgrAdd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashPut
    - TMSG_INFO
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t syncRespMgrAdd(SSyncRespMgr *pObj, const SRespStub *pStub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:85,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:87,1
    - Dst: memcpy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:89,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:90,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:90,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:93,1
    - Dst: sNError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:96,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pObj
    - seq
    - pStub
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    - SRespStub*
    constantsTouched: []
    func_position:
      end: 101
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 101
    functionName: syncRespMgrGet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashGet
    - sNError
    - memcpy
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncRespMgrGet(SSyncRespMgr *pObj, uint64_t seq, SRespStub
      *pStub) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:133,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:166,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:182,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:145,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:167,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:173,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:186,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:176,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:139,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:136,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:143,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:184,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:126,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:168,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:177,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:180,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:181,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 3
    argNames:
    - pObj
    - ttl
    - rsp
    argTypes:
    - SSyncRespMgr*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 189
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 189
    functionName: syncRespCleanByTTL
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sError
    - taosArrayGet
    - taosArrayDestroy
    - taosHashIterate
    - sInfo
    - rpcSendResponse
    - taosHashRemove
    - sDebug
    - TAOS_RETURN
    - taosHashGetKey
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncRespCleanByTTL(SSyncRespMgr *pObj, int64_t ttl,
      bool rsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:53,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:58,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:57,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:55,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:56,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:59,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: syncRespMgrDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - sDebug
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void syncRespMgrDestroy(SSyncRespMgr *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:75,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:80,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:77,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pObj
    - seq
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: syncRespMgrDel
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncRespMgrDel(SSyncRespMgr *pObj, uint64_t seq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:104,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:110,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:106,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:109,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:111,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:112,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:115,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:118,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pObj
    - seq
    - pInfo
    argTypes:
    - SSyncRespMgr*
    - uint64_t
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 123
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 123
    functionName: syncRespMgrGetAndDel
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - sNTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - taosHashGet
    - taosHashRemove
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncRespMgrGetAndDel(SSyncRespMgr *pObj, uint64_t seq, SRpcHandleInfo
      *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:195,1
    - Dst: syncRespCleanByTTL
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:199,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:200,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:200,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    constantsTouched: []
    func_position:
      end: 203
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 203
    functionName: syncRespCleanRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - syncRespCleanByTTL
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - sTrace
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void syncRespCleanRsp(SSyncRespMgr *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:212,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:212,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:209,1
    - Dst: syncRespCleanByTTL
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:211,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncRespMgr.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSyncRespMgr*
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: syncRespClean
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRespMgr.c
    functionUses: []
    functionsReached:
    - syncRespCleanByTTL
    - taosThreadMutexUnlock
    - sError
    - taosThreadMutexLock
    - sTrace
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void syncRespClean(SSyncRespMgr *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:81,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:81,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:81,1
    - Dst: CID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:81,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pId1
    - pId2
    argTypes:
    - SRaftId*
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 86
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 86
    functionName: syncUtilSameId
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - DID
    - CID
    linkageType: ''
    returnType: bool
    signature: 'bool syncUtilSameId(const SRaftId* pId1, const SRaftId* pId2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:131,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:133,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:139,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:136,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: syncHearbeatReplyTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - syncIndexMgrGetRecvTime
    - syncPrintTime
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncHearbeatReplyTime2Str(SSyncNode* pSyncNode, char*
      buf, int32_t bufLen, bool formatTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:158,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:166,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:163,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:161,1
    - Dst: syncIndexMgrGetRecvTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: syncHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - syncIndexMgrGetRecvTime
    - syncPrintTime
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncHearbeatTime2Str(SSyncNode* pSyncNode, char* buf,
      int32_t bufLen, bool formatTime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:629,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 634
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 634
    functionName: syncLogRecvAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvAppendEntries(SSyncNode* pSyncNode, const SyncAppendEntries*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pId
    argTypes:
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: syncUtilEmptyId
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool syncUtilEmptyId(const SRaftId* pId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:144,1
    - Dst: syncIndexMgrGetSentTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:146,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:152,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:149,1
    - Dst: syncPrintTime
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pSyncNode
    - buf
    - bufLen
    - formatTime
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: syncSentHearbeatTime2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - syncPrintTime
    - syncIndexMgrGetSentTime
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncSentHearbeatTime2Str(SSyncNode* pSyncNode, char* buf,
      int32_t bufLen, bool formatTime) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: syncLogBufferStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncLogBufferStates2Str(SSyncNode* pSyncNode, char* buf,
      int32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:638,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntries*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 643
    functionName: syncLogSendAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendAppendEntries(SSyncNode* pSyncNode, const SyncAppendEntries*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pInfo
    - pEpSet
    argTypes:
    - SNodeInfo*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: syncUtilNodeInfo2EpSet
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void syncUtilNodeInfo2EpSet(const SNodeInfo* pInfo, SEpSet* pEpSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - replicaNum
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: syncUtilQuorum
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncUtilQuorum(int32_t replicaNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:210,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:231,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:234,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:237,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:240,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:243,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:246,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:264,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:251,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:279,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:274,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:252,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:250,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - flags
    - level
    - dflag
    - formatTime
    - pNode
    - format
    - '...'
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - bool
    - SSyncNode*
    - char*
    constantsTouched: []
    func_position:
      end: 283
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 283
    functionName: syncPrintNodeLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - syncLogReplStates2Str
    - syncHearbeatReplyTime2Str
    - syncLogBufferStates2Str
    - taosPrintLog
    - va_start
    - va_end
    - syncCfg2SimpleStr
    - syncStr
    - syncSentHearbeatTime2Str
    - syncNodeDynamicQuorum
    - syncHearbeatTime2Str
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void syncPrintNodeLog(const char* flags, ELogLevel level, int32_t
      dflag, bool formatTime, SSyncNode* pNode, const char* format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:361,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:358,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:365,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:366,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:367,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:369,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:379,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:383,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - pSender
    - format
    - '...'
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - SSyncSnapshotSender*
    - char*
    constantsTouched: []
    func_position:
      end: 387
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 387
    functionName: syncPrintSnapshotSenderLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosPrintLog
    - syncPeerState2Str
    - va_start
    - va_end
    - DID
    - syncCfg2SimpleStr
    - syncStr
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void syncPrintSnapshotSenderLog(const char* flags, ELogLevel level,
      int32_t dflag, SSyncSnapshotSender* pSender, const char* format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:29,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:36,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:33,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:31,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pCfg
    - buf
    - bufLen
    argTypes:
    - SSyncCfg*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: syncCfg2SimpleStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncCfg2SimpleStr(const SSyncCfg* pCfg, char* buf, int32_t
      bufLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:48,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:53,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:61,1
    - Dst: taosSsleep
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:54,1
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:51,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:67,1
    - Dst: SYNC_ADDR
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:68,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:71,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pInfo
    - vgId
    - raftId
    argTypes:
    - SNodeInfo*
    - SyncGroupId
    - SRaftId*
    constantsTouched: []
    func_position:
      end: 74
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 74
    functionName: syncUtilNodeInfo2RaftId
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - SYNC_ADDR
    - sError
    - taosInetNtoa
    - taosGetIpv4FromFqdn
    - taosSsleep
    - sInfo
    - sDebug
    linkageType: ''
    returnType: bool
    signature: 'bool syncUtilNodeInfo2RaftId(const SNodeInfo* pInfo, SyncGroupId vgId,
      SRaftId* raftId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:103,1
    - Dst: htonl
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - msg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: syncUtilMsgHtoN
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - htonl
    linkageType: ''
    returnType: void
    signature: 'void syncUtilMsgHtoN(void* msg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: raftStoreTryGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:288,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:297,1
    - Dst: syncLogReplStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:300,1
    - Dst: syncLogBufferStates2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:303,1
    - Dst: syncHearbeatReplyTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:306,1
    - Dst: syncHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:309,1
    - Dst: syncSentHearbeatTime2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:312,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:316,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:317,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:318,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:323,1
    - Dst: syncNodeDynamicQuorum
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:334,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - flags
    - level
    - dflag
    - formatTime
    - pNode
    - format
    - '...'
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - bool
    - SSyncNode*
    - char*
    constantsTouched: []
    func_position:
      end: 338
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 338
    functionName: syncPrintHbLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - raftStoreTryGetTerm
    - syncLogReplStates2Str
    - syncHearbeatReplyTime2Str
    - syncLogBufferStates2Str
    - taosPrintLog
    - va_start
    - va_end
    - syncCfg2SimpleStr
    - syncStr
    - syncSentHearbeatTime2Str
    - syncNodeDynamicQuorum
    - syncHearbeatTime2Str
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void syncPrintHbLog(const char* flags, ELogLevel level, int32_t dflag,
      bool formatTime, SSyncNode* pNode, const char* format, ...) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncPeerState2Str
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:410,1
    - Dst: syncCfg2SimpleStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:407,1
    - Dst: va_start
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:414,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:415,1
    - Dst: va_end
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:416,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:418,1
    - Dst: syncStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:428,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:430,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:432,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - pReceiver
    - format
    - '...'
    argTypes:
    - char*
    - ELogLevel
    - int32_t
    - SSyncSnapshotReceiver*
    - char*
    constantsTouched: []
    func_position:
      end: 436
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 436
    functionName: syncPrintSnapshotReceiverLog
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - taosPrintLog
    - syncPeerState2Str
    - va_start
    - va_end
    - DID
    - syncCfg2SimpleStr
    - syncStr
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: 'void syncPrintSnapshotReceiverLog(const char* flags, ELogLevel level,
      int32_t dflag, SSyncSnapshotReceiver* pReceiver, const char* format, ...) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - max
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: syncUtilRand
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t syncUtilRand(int32_t max) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:441,1
    - Dst: syncTimerTypeStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:446,1
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncTimeout*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: syncLogRecvTimer
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sNTrace
    - syncTimerTypeStr
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvTimer(SSyncNode* pSyncNode, const SyncTimeout* pMsg,
      const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:460,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: syncLogSendAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendAppendEntriesReply(SSyncNode* pSyncNode, const SyncAppendEntriesReply*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:481,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:490,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:492,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:495,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:487,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:499,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:502,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:504,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:507,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - pSyncNode
    - pMsg
    - printX
    - timerElapsed
    - execTime
    argTypes:
    - SSyncNode*
    - SyncHeartbeat*
    - bool
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 511
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 511
    functionName: syncLogSendHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - DID
    - formatTimestampLocal
    - sHError
    - sHTrace
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendHeartbeat(SSyncNode* pSyncNode, const SyncHeartbeat*
      pMsg, bool printX, int64_t timerElapsed, int64_t execTime) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUtilRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: syncUtilElectRandomMS
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - syncUtilRand
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncUtilElectRandomMS(int32_t min, int32_t max) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:451,1
    - Dst: syncLocalCmdGetStr
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pSyncNode
    - pMsg
    - trace
    argTypes:
    - SSyncNode*
    - SyncLocalCmd*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 456
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 456
    functionName: syncLogRecvLocalCmd
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNTrace
    - syncLocalCmdGetStr
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvLocalCmd(SSyncNode* pSyncNode, const SyncLocalCmd*
      pMsg, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:469,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:472,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncAppendEntriesReply*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 474
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 474
    functionName: syncLogRecvAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNTrace
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvAppendEntriesReply(SSyncNode* pSyncNode, const SyncAppendEntriesReply*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:520,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:539,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:529,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:535,1
    - Dst: sHWarn
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:525,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - pSyncNode
    - pMsg
    - netElapsed
    - trace
    - timeDiff
    argTypes:
    - SSyncNode*
    - SyncHeartbeat*
    - int64_t
    - STraceId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 546
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 546
    functionName: syncLogRecvHeartbeat
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - DID
    - formatTimestampLocal
    - sHWarn
    - sHTrace
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvHeartbeat(SSyncNode* pSyncNode, const SyncHeartbeat*
      pMsg, int64_t netElapsed, const STraceId* trace, int64_t timeDiff) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pSnap
    - size
    argTypes:
    - SSnapshot*
    - int32_t
    constantsTouched: []
    func_position:
      end: 685
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 685
    functionName: syncSnapInfoDataRealloc
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncSnapInfoDataRealloc(SSnapshot* pSnap, int32_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:108,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:111,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:109,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - nodeId
    - groupId
    - buf
    argTypes:
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: syncUtilGenerateArbToken
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - snprintf
    - taosSafeRand
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncUtilGenerateArbToken(int32_t nodeId, int32_t groupId, char*
      buf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:181,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:189,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:185,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:187,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: syncLogReplStates2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncLogReplStates2Str(SSyncNode* pSyncNode, char* buf,
      int32_t bufLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:550,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncHeartbeatReply*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 554
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 554
    functionName: syncLogSendHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sHTrace
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendHeartbeatReply(SSyncNode* pSyncNode, const SyncHeartbeatReply*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:592,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: syncLogSendSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendSyncSnapshotSend(SSyncNode* pSyncNode, const SyncSnapshotSend*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:611,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 616
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 616
    functionName: syncLogSendSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendSyncSnapshotRsp(SSyncNode* pSyncNode, const SyncSnapshotRsp*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:648,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:652,1
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:649,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 6
    argNames:
    - pSyncNode
    - pMsg
    - voteGranted
    - errmsg
    - opt
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    - int32_t
    - char*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: syncLogRecvRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNInfo
    - snprintf
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvRequestVote(SSyncNode* pSyncNode, const SyncRequestVote*
      pMsg, int32_t voteGranted, const char* errmsg, const char* opt, const STraceId*
      trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:666,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 669
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 669
    functionName: syncLogRecvRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNInfo
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvRequestVoteReply(SSyncNode* pSyncNode, const SyncRequestVoteReply*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:118,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:122,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - formatTime
    - len
    - tsMs
    - i
    - buf
    - bufLen
    argTypes:
    - bool
    - int32_t*
    - int64_t
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: syncPrintTime
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - formatTimestampLocal
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void syncPrintTime(bool formatTime, int32_t* len, int64_t tsMs,
      int32_t i, char* buf, int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:197,1
    - Dst: syncNodeGetPeerState
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:199,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:204,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pSyncNode
    - buf
    - bufLen
    argTypes:
    - SSyncNode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: syncPeerState2Str
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - syncNodeGetPeerState
    linkageType: ''
    returnType: void
    signature: 'static void syncPeerState2Str(SSyncNode* pSyncNode, char* buf, int32_t
      bufLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:563,1
    - Dst: sHTrace
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:581,1
    - Dst: sHError
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:568,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:571,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:577,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:584,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - pSyncNode
    - pMsg
    - netElapse
    - trace
    - timeDiff
    argTypes:
    - SSyncNode*
    - SyncHeartbeatReply*
    - int64_t
    - STraceId*
    - int64_t
    constantsTouched: []
    func_position:
      end: 588
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 588
    functionName: syncLogRecvHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - DID
    - formatTimestampLocal
    - sHError
    - sHTrace
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvHeartbeatReply(SSyncNode* pSyncNode, const SyncHeartbeatReply*
      pMsg, int64_t netElapse, const STraceId* trace, int64_t timeDiff) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:601,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotSend*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 607
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 607
    functionName: syncLogRecvSyncSnapshotSend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvSyncSnapshotSend(SSyncNode* pSyncNode, const SyncSnapshotSend*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNDebug
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:620,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncSnapshotRsp*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 625
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 625
    functionName: syncLogRecvSyncSnapshotRsp
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNDebug
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogRecvSyncSnapshotRsp(SSyncNode* pSyncNode, const SyncSnapshotRsp*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:657,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:660,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVote*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: syncLogSendRequestVote
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNInfo
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendRequestVote(SSyncNode* pNode, const SyncRequestVote*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sNInfo
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:673,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncUtil.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pSyncNode
    - pMsg
    - s
    - trace
    argTypes:
    - SSyncNode*
    - SyncRequestVoteReply*
    - char*
    - STraceId*
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: syncLogSendRequestVoteReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncUtil.c
    functionUses: []
    functionsReached:
    - sNInfo
    - DID
    linkageType: ''
    returnType: void
    signature: 'void syncLogSendRequestVoteReply(SSyncNode* pSyncNode, const SyncRequestVoteReply*
      pMsg, const char* s, const STraceId* trace) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:32,1
    - Dst: strcmp
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: syncStrToRole
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ESyncRole
    signature: 'static const ESyncRole syncStrToRole(char *str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:90,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:91,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:93,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:103,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:112,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:126,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:94,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:90,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:91,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:93,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:95,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:112,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:113,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:92,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:94,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:99,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:102,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:95,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:97,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:110,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:113,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 127
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 127
    functionName: syncEncodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - sError
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - TAOS_CHECK_EXIT
    - tjsonAddObject
    - tjsonDelete
    - tjsonAddItemToObject
    - tstrerror
    - TAOS_RETURN
    - tjsonCreateObject
    - tjsonCreateArray
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncEncodeRaftCfg(const void *pObj, SJson *pJson) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:188,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:190,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:195,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:197,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:192,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:200,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:202,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:204,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:206,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:207,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:209,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:211,1
    - Dst: syncStrToRole
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:212,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 219
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 219
    functionName: syncDecodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - syncStrToRole
    - strlen
    - tjsonGetNumberValue
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    - tjsonGetUInt16ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncDecodeSyncCfg(const SJson *pJson, void *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - role
    argTypes:
    - ESyncRole
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: syncRoleToStr
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *syncRoleToStr(ESyncRole role) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:47,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:45,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:62,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:66,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:64,1
    - Dst: syncRoleToStr
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:68,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:82,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:46,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:49,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:51,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:66,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:56,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:68,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:68,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:69,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:73,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:79,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:47,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:54,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:64,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:65,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:60,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:79,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:45,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:46,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:55,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:65,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:67,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:69,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: syncEncodeSyncCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - sError
    - syncRoleToStr
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - TAOS_CHECK_EXIT
    - tjsonDelete
    - tstrerror
    - tjsonAddItemToObject
    - TAOS_RETURN
    - tjsonCreateObject
    - tjsonCreateArray
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncEncodeSyncCfg(const void *pObj, SJson *pJson) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:144,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:162,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:174,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:144,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:145,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:166,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:165,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:178,1
    - Dst: snprintf
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:141,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:147,1
    - Dst: strlen
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:153,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:162,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:161,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:157,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:168,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:172,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:177,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:181,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 182
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 182
    functionName: syncWriteCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - sError
    - TAOS_CHECK_EXIT
    - taosWriteFile
    - sInfo
    - tjsonAddObject
    - tjsonToString
    - strlen
    - taosRenameFile
    - tjsonDelete
    - tstrerror
    - TAOS_RETURN
    - tjsonCreateObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncWriteCfgFile(SSyncNode *pNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:225,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:225,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:231,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:227,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:229,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:233,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:235,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:238,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:241,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:243,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:245,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 23
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 250
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 250
    functionName: syncDecodeRaftCfg
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - TAOS_CHECK_RETURN
    - tjsonGetNumberValue
    - tjsonToObject
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetInt8ValueFromDouble
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t syncDecodeRaftCfg(const SJson *pJson, void *pObj) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:274,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:299,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:303,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:288,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:260,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:268,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:270,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:302,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:263,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:280,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:304,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:310,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:282,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/libs/sync/src/syncRaftCfg.c:294,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 311
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 311
    functionName: syncReadCfgFile
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncRaftCfg.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosMemoryFree
    - sError
    - taosMemoryMalloc
    - taosReadFile
    - cJSON_Delete
    - taosCloseFile
    - tjsonParse
    - sInfo
    - tstrerror
    - TAOS_RETURN
    - tjsonToObject
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncReadCfgFile(SSyncNode *pNode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:99,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:106,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:120,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:126,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:135,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:152,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:158,1
    - Dst: syncLogBufferProceed
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:179,1
    - Dst: syncNodeUpdateCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:184,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:185,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:198,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:104,1
    - Dst: syncBuildAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:109,1
    - Dst: syncEntryBuildFromAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:145,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:166,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:184,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:189,1
    - Dst: syncLogRecvAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:111,1
    - Dst: syncLogBufferAccept
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:172,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:140,1
    - Dst: syncNodeSendMsgById
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:198,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:203,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:203,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:211,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:202,1
    - Dst: syncLogRecvAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:100,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:130,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:167,1
    - Dst: terrstr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:147,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:147,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:191,1
    - Dst: syncNodeResetElectTimer
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:206,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:210,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntries.c:189,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 213
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 213
    functionName: syncNodeOnAppendEntries
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntries.c
    functionUses: []
    functionsReached:
    - syncLogRecvAppendEntries
    - sError
    - syncNodeSendMsgById
    - syncEntryBuildFromAppendEntries
    - terrstr
    - sGError
    - tGenIdPI64
    - syncNodeStepDown
    - TAOS_CHECK_RETURN
    - syncNodeInRaftGroup
    - rpcFreeCont
    - syncNodeUpdateCommitIndex
    - sWarn
    - syncNodeResetElectTimer
    - syncLogBufferProceed
    - TRACE_SET_MSGID
    - syncEntryDestroy
    - sGDebug
    - raftStoreGetTerm
    - syncBuildAppendEntriesReply
    - syncLogBufferAccept
    - atomic_add_fetch_64
    - syncLogBufferCommit
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnAppendEntries(SSyncNode* ths, const SRpcMsg* pRpcMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncEntryBuildNoop
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - term
    - index
    - vgId
    argTypes:
    - SyncTerm
    - SyncIndex
    - int32_t
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: syncEntryBuildDummy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - syncEntryBuildNoop
    linkageType: ''
    returnType: SSyncRaftEntry*
    signature: 'SSyncRaftEntry * syncEntryBuildDummy(SyncTerm term, SyncIndex index,
      int32_t vgId) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:382,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:418,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:454,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:443,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:490,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:501,1
    - Dst: syncLogBufferRollback
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:452,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:459,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:459,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:495,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:506,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:508,1
    - Dst: syncLogBufferGetLastMatchTermWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:387,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:392,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:383,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:425,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:446,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:503,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:507,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:382,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:398,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:403,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:405,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:461,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:452,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:434,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:507,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 101
    argCount: 4
    argNames:
    - pBuf
    - pNode
    - pEntry
    - prevTerm
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SSyncRaftEntry*
    - SyncTerm
    constantsTouched: []
    func_position:
      end: 509
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 509
    functionName: syncLogBufferAccept
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - sWarn
    - sTrace
    - syncLogBufferGetLastMatchTermWithoutLock
    - syncLogBufferGetOneEntry
    - syncLogBufferRollback
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - atomic_add_fetch_64
    - syncEntryDestroy
    - TMAX
    - syncLogReplGetPrevLogTerm
    - syncLogBufferValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferAccept(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SSyncRaftEntry* pEntry, SyncTerm prevTerm) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:738,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:760,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:761,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:697,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:690,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:701,1
    - Dst: syncNodeGetSnapshotConfigIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:709,1
    - Dst: syncRespMgrGetAndDel
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:729,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:687,1
    - Dst: syncIsMsgBlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:695,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:696,1
    - Dst: syncEntry2OriginalRpc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:717,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:752,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:748,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:750,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:741,1
    - Dst: sGWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:746,1
    - Dst: sGTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:717,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:730,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:761,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 7
    argNames:
    - pNode
    - pFsm
    - role
    - term
    - pEntry
    - applyCode
    - force
    argTypes:
    - SSyncNode*
    - SSyncFSM*
    - ESyncState
    - SyncTerm
    - SSyncRaftEntry*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 764
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 764
    functionName: syncFsmExecute
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - syncEntry2OriginalRpc
    - sError
    - sTrace
    - syncNodeGetSnapshotConfigIndex
    - TAOS_CHECK_EXIT
    - sGWarn
    - sInfo
    - tstrerror
    - sGTrace
    - syncRespMgrGetAndDel
    - taosMsleep
    - sGDebug
    - syncIsMsgBlock
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncFsmExecute(SSyncNode* pNode, SSyncFSM* pFsm, ESyncState
      role, SyncTerm term, SSyncRaftEntry* pEntry, int32_t applyCode, bool force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1210,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1212,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1212,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1215
    functionName: syncLogReplStart
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - syncLogReplAttempt
    - syncLogReplProbe
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplStart(SSyncLogReplMgr* pMgr, SSyncNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1264,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1289,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1272,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1269,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1291,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1293,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1308,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1310,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1315,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1315,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1318,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1324
    functionName: syncLogReplAttempt
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - taosGetMonoTimestampMs
    - DID
    - sTrace
    - sInfo
    - tstrerror
    - TAOS_CHECK_RETURN
    - syncLogReplRetryOnNeed
    - TAOS_RETURN
    - TMAX
    - syncLogReplSendTo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplAttempt(SSyncLogReplMgr* pMgr, SSyncNode* pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplCreate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1383,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1390
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1390
    functionName: syncNodeLogReplInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - syncLogReplCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeLogReplInit(SSyncNode* pNode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1401,1
    - Dst: taosThreadMutexAttrInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1413,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1415,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1415,1
    - Dst: taosThreadMutexAttrSetType
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1419,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1420,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1421,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1427,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1425,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1435,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1427,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1426,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - ppBuf
    argTypes:
    - SSyncLogBuffer**
    constantsTouched: []
    func_position:
      end: 1436
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1436
    functionName: syncLogBufferCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - sError
    - TAOS_SYSTEM_ERROR
    - taosThreadMutexAttrInit
    - taosMemoryCalloc
    - taosThreadMutexInit
    - taosThreadMutexAttrSetType
    - tstrerror
    - TAOS_RETURN
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferCreate(SSyncLogBuffer** ppBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:205,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pNode
    - commitIndex
    argTypes:
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 212
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 212
    functionName: syncLogValidateAlignmentOfCommit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogValidateAlignmentOfCommit(SSyncNode* pNode, SyncIndex
      commitIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pEntry
    - replicaNum
    argTypes:
    - SSyncRaftEntry*
    - int32_t
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: syncLogStoreNeedFlush
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static inline bool syncLogStoreNeedFlush(SSyncRaftEntry* pEntry, int32_t
      replicaNum) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:768,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:783,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:778,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:788,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 792
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 792
    functionName: syncLogBufferValidate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferValidate(SSyncLogBuffer* pBuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRetryMaxWaitMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1220,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1224,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1238,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1233,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1221,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1240,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1241,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - index
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 1259
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1259
    functionName: syncLogReplProbe
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosGetMonoTimestampMs
    - sError
    - syncGetRetryMaxWaitMs
    - sTrace
    - tstrerror
    - TAOS_RETURN
    - syncLogReplReset
    - syncLogReplSendTo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplProbe(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncIndex index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1338,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1340,1
    - Dst: syncLogReplAttempt
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1346
    functionName: syncLogReplContinue
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TMAX
    - syncLogReplAttempt
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplContinue(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncAppendEntriesReply* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1397
    functionName: syncNodeLogReplDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - syncLogReplDestroy
    linkageType: ''
    returnType: void
    signature: 'void syncNodeLogReplDestroy(SSyncNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1439,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1449,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1445,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1450
    functionName: syncLogBufferClear
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - memset
    - syncEntryDestroy
    linkageType: ''
    returnType: void
    signature: 'void syncLogBufferClear(SSyncLogBuffer* pBuf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:50,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:51,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:62,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:70,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:116,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:111,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:50,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:56,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:115,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:116,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:56,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:71,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:107,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:89,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:62,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:117,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:111,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - pBuf
    - pNode
    - pEntry
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 119
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 119
    functionName: syncLogBufferAppend
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - atomic_add_fetch_64
    - taosMsleep
    - syncLogBufferValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferAppend(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SSyncRaftEntry* pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferClear
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1456,1
    - Dst: taosThreadMutexAttrDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1458,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1459,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 1461
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1461
    functionName: syncLogBufferDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexAttrDestroy
    - taosMemoryFree
    - taosThreadMutexDestroy
    - syncLogBufferClear
    linkageType: ''
    returnType: void
    signature: 'void syncLogBufferDestroy(SSyncLogBuffer* pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:42,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: syncLogBufferGetEndIndex
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncLogBufferGetEndIndex(SSyncLogBuffer* pBuf) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:155,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:145,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:157,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:161,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:164,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:186,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:186,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 4
    argNames:
    - pMgr
    - pNode
    - index
    - pSyncTerm
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    - SyncTerm*
    constantsTouched: []
    func_position:
      end: 188
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 188
    functionName: syncLogReplGetPrevLogTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - sInfo
    - tstrerror
    - TAOS_RETURN
    - syncEntryDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplGetPrevLogTerm(SSyncLogReplMgr* pMgr, SSyncNode*
      pNode, SyncIndex index, SyncTerm* pSyncTerm) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1471,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1487,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1480,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1482,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1493,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1495,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1503,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1504,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1509,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1503,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1509,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - pBuf
    - pNode
    - toIndex
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 1511
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1511
    functionName: syncLogBufferRollback
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - sInfo
    - memset
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - syncEntryDestroy
    - syncLogBufferInitWithoutLock
    - TMIN
    - syncLogBufferValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferRollback(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SyncIndex toIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - type
    argTypes:
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: syncIsMsgBlock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool syncIsMsgBlock(tmsg_t type) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:233,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:280,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:318,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:220,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:294,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:300,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:216,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:224,1
    - Dst: syncLogValidateAlignmentOfCommit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:234,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:259,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:314,1
    - Dst: syncEntryBuildDummy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:325,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:234,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:270,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:323,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 326
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 326
    functionName: syncLogBufferInitWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - syncLogBufferValidate
    - TAOS_CHECK_EXIT
    - sInfo
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - atomic_add_fetch_64
    - syncLogValidateAlignmentOfCommit
    - syncEntryDestroy
    - TMAX
    - syncEntryBuildDummy
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferInitWithoutLock(SSyncLogBuffer* pBuf, SSyncNode*
      pNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:336,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:336,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:341,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:337,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:343,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:347,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:349,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:351,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:352,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:352,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: syncLogBufferReInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - memset
    - tstrerror
    - TAOS_CHECK_RETURN
    - syncEntryDestroy
    - syncLogBufferInitWithoutLock
    - syncLogBufferValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferReInit(SSyncLogBuffer* pBuf, SSyncNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:368,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:370,1
    - Dst: syncLogBufferGetLastMatchTermWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: syncLogBufferGetLastMatchTerm
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncLogBufferGetLastMatchTermWithoutLock
    - taosThreadMutexLock
    linkageType: ''
    returnType: SyncTerm
    signature: 'SyncTerm syncLogBufferGetLastMatchTerm(SSyncLogBuffer* pBuf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:521,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:520,1
    - Dst: syncLogStoreNeedFlush
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:526,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:528,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:530,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pLogStore
    - pNode
    - pEntry
    argTypes:
    - SSyncLogStore*
    - SSyncNode*
    - SSyncRaftEntry*
    constantsTouched: []
    func_position:
      end: 536
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 536
    functionName: syncLogStorePersist
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TAOS_RETURN
    - sError
    - syncLogStoreNeedFlush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogStorePersist(SSyncLogStore* pLogStore, SSyncNode* pNode,
      SSyncRaftEntry* pEntry) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:796,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:817,1
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:837,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:843,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:852,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:856,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:879,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:900,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:911,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:943,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:805,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:815,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:823,1
    - Dst: sGInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:838,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:840,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:894,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:930,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:952,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:955,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:963,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:962,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:797,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:813,1
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:831,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:859,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:867,1
    - Dst: syncNodeChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:869,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:888,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:923,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:929,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:959,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:802,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:796,1
    - Dst: sGError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:844,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:870,1
    - Dst: syncFsmExecute
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:878,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:916,1
    - Dst: sDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:925,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:931,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:948,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 128
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - commitIndex
    - trace
    - src
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - int64_t
    - STraceId*
    - char*
    constantsTouched: []
    func_position:
      end: 964
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 964
    functionName: syncLogBufferCommit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - sError
    - sGInfo
    - sGError
    - sInfo
    - syncLogBufferValidate
    - TAOS_CHECK_RETURN
    - sDebug
    - TMSG_INFO
    - atomic_sub_fetch_64
    - syncFsmExecute
    - memset
    - syncUtilUserCommit
    - syncEntryDestroy
    - sGDebug
    - raftStoreGetTerm
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncLogBufferGetOneEntry
    - TAOS_RETURN
    - syncNodeChangeConfig
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferCommit(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      int64_t commitIndex, const STraceId* trace, const char* src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1170,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1177,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1174,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncHeartbeatReply*
    constantsTouched: []
    func_position:
      end: 1179
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1179
    functionName: syncLogReplProcessHeartbeatReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sInfo
    - syncLogReplReset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplProcessHeartbeatReply(SSyncLogReplMgr* pMgr, SSyncNode*
      pNode, SyncHeartbeatReply* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1514,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1514,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1515,1
    - Dst: syncLogBufferRollback
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1521,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1522,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1525,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1533,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1535,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1513
    functionDepth: 0
    functionLinenumber: 1513
    functionLinenumberEnd: 1538
    functionName: syncLogBufferReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - sInfo
    - syncLogBufferRollback
    - TAOS_CHECK_RETURN
    - tstrerror
    - syncLogReplReset
    - syncLogBufferValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferReset(SSyncLogBuffer* pBuf, SSyncNode* pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:329,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:331,1
    - Dst: syncLogBufferInitWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pBuf
    - pNode
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: syncLogBufferInit
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncLogBufferInitWithoutLock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferInit(SSyncLogBuffer* pBuf, SSyncNode* pNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:360,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: syncLogBufferGetLastMatchTermWithoutLock
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE SyncTerm syncLogBufferGetLastMatchTermWithoutLock(SSyncLogBuffer*
      pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:375,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SSyncLogBuffer*
    constantsTouched: []
    func_position:
      end: 379
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 379
    functionName: syncLogBufferIsEmpty
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'bool syncLogBufferIsEmpty(SSyncLogBuffer* pBuf) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:540,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:585,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:610,1
    - Dst: syncLogStorePersist
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:615,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:598,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:634,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:634,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:654,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:654,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:660,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:539,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:566,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:618,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:624,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:639,1
    - Dst: syncNodeReplicateWithoutLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:653,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:668,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:539,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:560,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:574,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:579,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:591,1
    - Dst: syncNodeChangeConfig
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:633,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:676,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:677,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:549,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:616,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:617,1
    - Dst: syncLogBufferValidate
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:677,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 87
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - pMatchTerm
    - str
    - pMsg
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncTerm*
    - char*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 679
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 679
    functionName: syncLogBufferProceed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sError
    - syncLogStorePersist
    - syncIndexMgrSetIndex
    - syncNodeReplicateWithoutLock
    - sTrace
    - sInfo
    - tstrerror
    - TAOS_CHECK_RETURN
    - syncNodeChangeConfig
    - taosMsleep
    - sGDebug
    - syncLogBufferValidate
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t syncLogBufferProceed(SSyncLogBuffer* pBuf, SSyncNode* pNode,
      SyncTerm* pMatchTerm, char* str, const SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:970,1
    - Dst: memset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    constantsTouched: []
    func_position:
      end: 981
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 981
    functionName: syncLogReplReset
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - memset
    linkageType: ''
    returnType: void
    signature: 'void syncLogReplReset(SSyncLogReplMgr* pMgr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1183,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1185,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1187,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1190,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1192,1
    - Dst: syncLogReplContinue
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1196,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1197,1
    - Dst: syncLogReplRecover
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1200,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1201,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1206
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1206
    functionName: syncLogReplProcessReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncLogReplContinue
    - taosThreadMutexLock
    - sInfo
    - tstrerror
    - syncLogReplReset
    - syncLogReplRecover
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplProcessReply(SSyncLogReplMgr* pMgr, SSyncNode*
      pNode, SyncAppendEntriesReply* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1557,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1560,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pBuf
    - pNode
    - index
    - pInBuf
    - ppEntry
    argTypes:
    - SSyncLogBuffer*
    - SSyncNode*
    - SyncIndex
    - bool*
    - SSyncRaftEntry**
    constantsTouched: []
    func_position:
      end: 1561
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1561
    functionName: syncLogBufferGetOneEntry
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TAOS_RETURN
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogBufferGetOneEntry(SSyncLogBuffer* pBuf, SSyncNode*
      pNode, SyncIndex index, bool* pInBuf, SSyncRaftEntry** ppEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: syncGetRetryMaxWaitMs
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE static int64_t syncGetRetryMaxWaitMs() '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:990,1
    - Dst: syncLogReplGetRetryBackoffTimeMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:998,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:991,1
    - Dst: TMAX
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1003,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:999,1
    - Dst: syncGetRetryMaxWaitMs
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1017,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1018,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1019,1
    - Dst: syncLogReplSendTo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1028,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1029,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1030,1
    - Dst: syncLogReplGetNextRetryBackoff
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1051,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1059,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1053,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 60
    argCount: 2
    argNames:
    - pMgr
    - pNode
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    constantsTouched: []
    func_position:
      end: 1060
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1060
    functionName: syncLogReplRetryOnNeed
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosGetMonoTimestampMs
    - sError
    - syncGetRetryMaxWaitMs
    - syncLogReplGetRetryBackoffTimeMs
    - sInfo
    - tstrerror
    - syncLogReplGetNextRetryBackoff
    - TAOS_RETURN
    - syncLogReplReset
    - TMAX
    - syncLogReplSendTo
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplRetryOnNeed(SSyncLogReplMgr* pMgr, SSyncNode* pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1349,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1369
    functionName: syncLogReplCreate
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    linkageType: ''
    returnType: SSyncLogReplMgr*
    signature: 'SSyncLogReplMgr * syncLogReplCreate() '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1098,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1100,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1108,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1122,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1147,1
    - Dst: sTrace
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1068,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1083,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1072,1
    - Dst: syncLogReplRetryOnNeed
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1089,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1112,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1112,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1111,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1129,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1134,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1146,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1146,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1089,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1109,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1128,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1126,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1137,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1164,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1149,1
    - Dst: syncLogReplProbe
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1165,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1081,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1128,1
    - Dst: syncNodeStartSnapshot
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1145,1
    - Dst: DID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1149,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 3
    argNames:
    - pMgr
    - pNode
    - pMsg
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncAppendEntriesReply*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1166
    functionName: syncLogReplRecover
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - sError
    - syncNodeStartSnapshot
    - DID
    - sTrace
    - sInfo
    - tstrerror
    - TAOS_CHECK_RETURN
    - syncLogReplRetryOnNeed
    - TAOS_RETURN
    - SET_ERRNO
    - syncLogReplReset
    - syncLogReplGetPrevLogTerm
    - TMIN
    - syncLogReplProbe
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplRecover(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncAppendEntriesReply* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgr
    argTypes:
    - SSyncLogReplMgr*
    constantsTouched: []
    func_position:
      end: 1378
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1378
    functionName: syncLogReplDestroy
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void syncLogReplDestroy(SSyncLogReplMgr* pMgr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: syncLogBufferGetOneEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1580,1
    - Dst: syncLogReplReset
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1581,1
    - Dst: syncLogReplBarrier
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1590,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1605,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1602,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1597,1
    - Dst: sInfo
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1579,1
    - Dst: sWarn
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1575,1
    - Dst: syncLogReplGetPrevLogTerm
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1588,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1590,1
    - Dst: syncNodeSendAppendEntries
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1605,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1577,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1601,1
    - Dst: syncBuildAppendEntriesFromRaftEntry
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1595,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1617,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1614,1
    - Dst: TRACE_SET_MSGID
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1601,1
    - Dst: syncEntryDestroy
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1608,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncPipeline.c:1620,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 6
    argNames:
    - pMgr
    - pNode
    - index
    - pTerm
    - pDestId
    - pBarrier
    argTypes:
    - SSyncLogReplMgr*
    - SSyncNode*
    - SyncIndex
    - SyncTerm*
    - SRaftId*
    - bool*
    constantsTouched: []
    func_position:
      end: 1621
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1621
    functionName: syncLogReplSendTo
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncPipeline.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - syncBuildAppendEntriesFromRaftEntry
    - sError
    - syncEntryDestroy
    - syncLogBufferGetOneEntry
    - sInfo
    - TRACE_SET_MSGID
    - tstrerror
    - rpcFreeCont
    - TAOS_RETURN
    - syncNodeGetLogReplMgr
    - syncLogReplReset
    - tGenIdPI64
    - syncLogReplGetPrevLogTerm
    - syncLogReplBarrier
    - sGDebug
    - syncNodeSendAppendEntries
    - sWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncLogReplSendTo(SSyncLogReplMgr* pMgr, SSyncNode* pNode,
      SyncIndex index, SyncTerm* pTerm, SRaftId* pDestId, bool* pBarrier) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:54,1
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:60,1
    - Dst: syncNodeCheckCommitIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:76,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:79,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:92,1
    - Dst: TMIN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:75,1
    - Dst: syncLogRecvAppendEntriesReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:48,1
    - Dst: syncNodeStepDown
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:61,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:94,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:82,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:96,1
    - Dst: syncNodeInRaftGroup
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:47,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:59,1
    - Dst: raftStoreGetTerm
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:53,1
    - Dst: syncIndexMgrGetIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:69,1
    - Dst: sError
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:91,1
    - Dst: syncLogReplProcessReply
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:94,1
    - Dst: sGDebug
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:65,1
    - Dst: syncIndexMgrSetIndex
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:71,1
    - Dst: syncNodeGetLogReplMgr
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:87,1
    - Dst: syncLogBufferCommit
      Src: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c:82,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ths
    - pRpcMsg
    argTypes:
    - SSyncNode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 97
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 97
    functionName: syncNodeOnAppendEntriesReply
    functionSourceFile: /src/tdengine/source/libs/sync/src/syncAppendEntriesReply.c
    functionUses: []
    functionsReached:
    - raftStoreGetTerm
    - sError
    - syncLogBufferCommit
    - syncIndexMgrSetIndex
    - syncLogRecvAppendEntriesReply
    - syncNodeStepDown
    - syncNodeCheckCommitIndex
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - syncNodeGetLogReplMgr
    - syncNodeInRaftGroup
    - syncIndexMgrGetIndex
    - TMIN
    - sGDebug
    - syncLogReplProcessReply
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t syncNodeOnAppendEntriesReply(SSyncNode* ths, const SRpcMsg*
      pRpcMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 137
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 137
    functionName: getDataMax
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'FORCE_INLINE void *getDataMax(int32_t type, void *value) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:192,1
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:192,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:219,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:204,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:204,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:213,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:213,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:216,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:210,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:210,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:207,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:207,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:216,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:198,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:195,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:195,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:198,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:201,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:201,1
    - Dst: SET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:219,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:219,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:222,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 5
    argNames:
    - dst
    - s1
    - s2
    - optr
    - type
    argTypes:
    - void*
    - void*
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 233
    functionName: operateVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - GET_INT16_VAL
    - SET_FLOAT_VAL
    - GET_UINT8_VAL
    - GET_FLOAT_VAL
    - GET_INT8_VAL
    - GET_INT64_VAL
    - SET_DOUBLE_VAL
    - GET_DOUBLE_VAL
    - GET_UINT32_VAL
    - GET_INT32_VAL
    - GET_UINT16_VAL
    - GET_UINT64_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t operateVal(void *dst, void *s1, void *s2, int32_t optr, int32_t
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - prec
    - scale
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: decimalCalcTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STypeMod
    signature: 'STypeMod decimalCalcTypeMod(uint8_t prec, uint8_t scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:249,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pDataType
    argTypes:
    - SDataType*
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: typeGetTypeModFromDataType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: 'STypeMod typeGetTypeModFromDataType(const SDataType* pDataType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:261,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pType
    - mod
    argTypes:
    - SDataType*
    - STypeMod
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: fillTypeFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalFromTypeMod
    linkageType: ''
    returnType: void
    signature: 'void fillTypeFromTypeMod(SDataType* pType, STypeMod mod) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - type
    - mod
    argTypes:
    - int32_t
    - STypeMod
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: getScaleFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t getScaleFromTypeMod(int32_t type, STypeMod mod) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pBytes
    - precision
    - scale
    argTypes:
    - int32_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 293
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 293
    functionName: extractDecimalTypeInfoFromBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void extractDecimalTypeInfoFromBytes(int32_t *pBytes, uint8_t *precision,
      uint8_t *scale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - type
    - value
    argTypes:
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 121
    functionName: getDataMin
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'FORCE_INLINE void *getDataMin(int32_t type, void *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: isValidDataType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isValidDataType(int32_t type) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:148,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:152,1
    - Dst: SET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:160,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:160,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:156,1
    - Dst: SET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:163,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:163,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/ttypes.c:168,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/common/src/ttypes.c:173,1
    - Dst: varDataCopy
      Src: /src/tdengine/source/common/src/ttypes.c:176,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/ttypes.c:180,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 20
    argCount: 4
    argNames:
    - val
    - src
    - len
    - type
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 186
    functionName: assignVal
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - GET_INT16_VAL
    - SET_FLOAT_VAL
    - GET_FLOAT_VAL
    - GET_INT8_VAL
    - GET_INT64_VAL
    - SET_DOUBLE_VAL
    - varDataCopy
    - memcpy
    - GET_INT32_VAL
    - GET_DOUBLE_VAL
    linkageType: ''
    returnType: void
    signature: 'void assignVal(char *val, const char *src, int32_t len, int32_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: decimalTypeFromPrecision
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t decimalTypeFromPrecision(uint8_t precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - typeMod
    - precision
    - scale
    argTypes:
    - STypeMod
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 246
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 246
    functionName: decimalFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void decimalFromTypeMod(STypeMod typeMod, uint8_t* precision, uint8_t*
      scale) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:254,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - type
    - prec
    - scale
    - bytes
    argTypes:
    - uint8_t
    - uint8_t
    - uint8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: typeGetTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalCalcTypeMod
    linkageType: ''
    returnType: STypeMod
    signature: 'STypeMod typeGetTypeMod(uint8_t type, uint8_t prec, uint8_t scale,
      int32_t bytes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/ttypes.c:267,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/common/src/ttypes.c:268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - type
    - typeMod
    - prec
    - scale
    - bytes
    argTypes:
    - uint8_t
    - STypeMod
    - uint8_t*
    - uint8_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 274
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 274
    functionName: extractTypeFromTypeMod
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached:
    - IS_DECIMAL_TYPE
    - decimalFromTypeMod
    linkageType: ''
    returnType: void
    signature: 'void extractTypeFromTypeMod(uint8_t type, STypeMod typeMod, uint8_t
      *prec, uint8_t *scale, int32_t *bytes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - type
    - schemaBytes
    - isStmt
    argTypes:
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 303
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 303
    functionName: calcTypeBytesFromSchemaBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calcTypeBytesFromSchemaBytes(int32_t type, int32_t schemaBytes,
      bool isStmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pBytes
    - type
    - precision
    - scale
    argTypes:
    - int32_t*
    - int32_t
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: fillBytesForDecimalType
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void fillBytesForDecimalType(int32_t *pBytes, int32_t type, uint8_t
      precision, uint8_t scale) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - type
    - varTypeBytes
    - isStmt
    argTypes:
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 313
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 313
    functionName: calcSchemaBytesFromTypeBytes
    functionSourceFile: /src/tdengine/source/common/src/ttypes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t calcSchemaBytesFromTypeBytes(int32_t type, int32_t varTypeBytes,
      bool isStmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:450,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:470,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:453,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:465,1
    - Dst: strsplit
      Src: /src/tdengine/source/common/src/tglobal.c:458,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:471,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:472,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - pCfg
    - name
    - gVarible
    - pNum
    argTypes:
    - SConfig*
    - char*
    - char
    - int8_t*
    constantsTouched: []
    func_position:
      end: 473
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 473
    functionName: taosSplitS3Cfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - strsplit
    - tstrncpy
    - TAOS_RETURN
    - taosStrdup
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSplitS3Cfg(SConfig *pCfg, const char *name, char
      gVarible[TSDB_MAX_EP_NUM][TSDB_FQDN_LEN], int8_t *pNum) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1213,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1214,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:1214,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1213,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1213,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/tglobal.c:1215,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1217,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1218,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1220,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1221,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1226,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1233,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1229,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1229,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1232,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1227,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1237
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1237
    functionName: taosSetLogOutput
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgSetItem
    - POINTER_DISTANCE
    - tstrncpy
    - strlen
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - strcasecmp
    - strrchr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetLogOutput(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1594,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1632,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1755,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1666,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1832,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1884,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1910,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1946,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1966,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:1964,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1617,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1653,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1701,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/common/src/tglobal.c:1687,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1759,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1775,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1817,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1857,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1876,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1889,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1962,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1725,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1682,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1576,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1638,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1669,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1677,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1742,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1763,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1796,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1838,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1940,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1969,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1709,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1756,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1719,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1579,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1659,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1781,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1882,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1895,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1922,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1934,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1964,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1644,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1664,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1760,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1802,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1844,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1916,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1928,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:1963,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1746,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1585,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1599,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1623,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1715,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1676,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1787,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1823,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1854,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1901,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1956,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1904,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1672,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1608,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1603,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1738,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1766,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1808,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1867,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1886,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1949,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1892,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1976,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1699,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1732,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1687,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1752,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1591,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1629,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1829,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1907,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1963,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1598,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1614,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1650,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1675,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1703,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1693,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1772,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1814,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1850,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1858,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1955,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1597,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1602,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1635,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1722,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1679,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1793,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1835,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1913,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1925,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1957,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1959,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1700,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1656,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1663,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1706,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1686,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1757,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1778,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1854,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1879,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1883,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1956,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1743,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1641,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1676,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1728,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1761,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1799,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1841,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1855,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1864,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1873,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1582,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1601,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1620,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1662,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1742,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1712,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1784,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1820,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1898,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1937,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1972,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1605,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1735,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1690,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1756,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1858,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1919,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1963,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1588,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1598,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1626,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1696,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1749,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1760,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1790,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1826,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1853,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1859,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1931,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1602,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1611,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1647,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1741,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1769,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1811,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1847,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1870,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1883,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1952,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 293
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1977
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1977
    functionName: taosSetServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosCheckCfgStrValueLen
    - TAOS_CHECK_GET_CFG_ITEM
    - tstrncpy
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosSetSlowLogScope
    - cfgGetItem
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetServerCfg(SConfig *pCfg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2021,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2031,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2032,1
    - Dst: taosMulModeMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:2034,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2035,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2040,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2050,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2002,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:1999,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2012,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2015,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2027,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2021,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2032,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/common/src/tglobal.c:2039,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2046,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2046,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/common/src/tglobal.c:1996,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2002,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2010,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2010,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2012,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2020,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2025,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2025,1
    - Dst: taosSetServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2027,1
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/src/tglobal.c:1999,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2040,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2049,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 8
    argNames:
    - logname
    - logFileNum
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - int32_t
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 2051
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 2051
    functionName: taosCreateLog
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - cfgCleanup
    - taosSetAllDebugFlag
    - cfgInit
    - taosSetClientLogCfg
    - taosSetServerLogCfg
    - cfgLoadFromArray
    - TAOS_CHECK_GET_CFG_ITEM
    - taosMulModeMkDir
    - printf
    - tstrerror
    - taosLoadCfg
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - taosAddServerLogCfg
    - osDefaultInit
    - taosAddClientLogCfg
    - taosInitLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosCreateLog(const char *logname, int32_t logFileNum, const
      char *cfgDir, const char **envCmd, const char *envFile, char *apolloUrl, SArray
      *pArgs, bool tsc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/tglobal.c:2249,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2253,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2260,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2261,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2258,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2267,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 2
    argNames:
    - array
    - buf
    argTypes:
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2270
    functionName: stypeConfigDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - cJSON_Delete
    - cJSON_Parse
    - cJSON_GetObjectItem
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stypeConfigDeserialize(SArray *array, char *buf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3273,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3278,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3280,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3281,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3276,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3286,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3287,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3289,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3292,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3294,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 22
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 3297
      start: 3271
    functionDepth: 0
    functionLinenumber: 3271
    functionLinenumberEnd: 3297
    functionName: stypeConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - cJSON_Delete
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - tjsonToString
    - tstrerror
    - uError
    - taosArrayGetSize
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t stypeConfigSerialize(SArray *array, char **serialized) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3349,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3361,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3372,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3380,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3381,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3384,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3395,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3376,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3353,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3353,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3356,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3368,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3368,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3373,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3373,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3376,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3359,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3360,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3365,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3372,1
    - Dst: localConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3372,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3375,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3381,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3392,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3393,1
    - Dst: stypeConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3380,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3383,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3350,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3369,1
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:3380,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3394,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3397
      start: 3338
    functionDepth: 0
    functionLinenumber: 3338
    functionLinenumberEnd: 3397
    functionName: taosPersistLocalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - localConfigSerialize
    - taosWriteFile
    - tstrerror
    - strlen
    - uError
    - TAOS_RETURN
    - stypeConfigSerialize
    - taosMkDir
    - taosGetLocalCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosPersistLocalConfig(const char *path) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:478,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:500,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:505,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:511,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:521,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:523,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:493,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:494,1
    - Dst: taosSplitS3Cfg
      Src: /src/tdengine/source/common/src/tglobal.c:497,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:499,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:506,1
    - Dst: strrchr
      Src: /src/tdengine/source/common/src/tglobal.c:518,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tglobal.c:526,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tglobal.c:528,1
    - Dst: taosSplitS3Cfg
      Src: /src/tdengine/source/common/src/tglobal.c:478,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:479,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:490,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:505,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tglobal.c:509,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:513,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tglobal.c:516,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tglobal.c:527,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:541,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tglobal.c:487,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:484,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:489,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:497,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:504,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:520,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 542
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 542
    functionName: taosSetS3Cfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosCheckCfgStrValueLen
    - strchr
    - TAOS_CHECK_GET_CFG_ITEM
    - strstr
    - tstrncpy
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - strrchr
    - taosSplitS3Cfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSetS3Cfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1242,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1243,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1246,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1266,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1254,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1244,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:1245,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1248,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1275,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1269,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1257,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1243,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1245,1
    - Dst: taosSetLogOutput
      Src: /src/tdengine/source/common/src/tglobal.c:1246,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1260,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1278,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1281,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1251,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1282
      start: 1239
    functionDepth: 0
    functionLinenumber: 1239
    functionLinenumberEnd: 1282
    functionName: taosSetClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosExpandDir
    - taosCheckCfgStrValueLen
    - TAOS_CHECK_GET_CFG_ITEM
    - tstrncpy
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosSetLogOutput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetClientLogCfg(SConfig *pCfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2079,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2063,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2059,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2064,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2069,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2074,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2079,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2086,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2094,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2059,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:2064,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2074,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:2070,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2083,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2083,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2078,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2095,1
    - Dst: osDefaultInit
      Src: /src/tdengine/source/common/src/tglobal.c:2057,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2063,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2066,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2073,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 5
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2096
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2096
    functionName: taosReadDataFolder
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosSetTfsCfg
    - cfgCleanup
    - cfgInit
    - cfgLoadFromArray
    - printf
    - tstrerror
    - TAOS_CHECK_RETURN
    - taosLoadCfg
    - TAOS_RETURN
    - cfgAddDir
    - osDefaultInit
    - cfgGetItem
    - cfgAddInt32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReadDataFolder(const char *cfgDir, const char **envCmd,
      const char *envFile, char *apolloUrl, SArray *pArgs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2279,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2287,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2288,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2286,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2285,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/tglobal.c:2292,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tglobal.c:2296,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:2301,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tglobal.c:2306,1
    - Dst: stypeConfigDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2320,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2322,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:2323,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2314,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2320,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2314,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2325
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2325
    functionName: readStypeConfigFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - taosStatFile
    - taosMemoryMalloc
    - taosReadFile
    - taosMemoryFree
    - taosCloseFile
    - tstrerror
    - uError
    - TAOS_RETURN
    - taosCheckExistFile
    - stypeConfigDeserialize
    - uInfo
    - taosGetLocalCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readStypeConfigFile(const char *path) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2506,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2522,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2518,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2512,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2522,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2528,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2535,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2543,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2544,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2544,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2545,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2547,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2551,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2561,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 35
    argCount: 4
    argNames:
    - pOptions
    - optionSize
    - pItem
    - isDebugflag
    argTypes:
    - OptionNameAndVar*
    - int32_t
    - SConfigItem*
    - bool
    constantsTouched: []
    func_position:
      end: 2562
      start: 2501
    functionDepth: 0
    functionLinenumber: 2501
    functionLinenumberEnd: 2562
    functionName: taosCfgSetOption
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosSetDebugFlag
    - taosStrcasecmp
    - taosCheckCfgStrValueLen
    - tstrncpy
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - strcasecmp
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCfgSetOption(OptionNameAndVar *pOptions, int32_t
      optionSize, SConfigItem *pItem, bool isDebugflag) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2571,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2578,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2583,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2585,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2598,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2602,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/common/src/tglobal.c:2604,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:2747,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2570,1
    - Dst: taosResetLog
      Src: /src/tdengine/source/common/src/tglobal.c:2576,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2591,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:2597,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2615,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2621,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2637,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:2747,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:2748,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:2753,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2577,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:2581,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2590,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2611,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2620,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2626,1
    - Dst: taosMemoryPoolCfgUpdateReservedSize
      Src: /src/tdengine/source/common/src/tglobal.c:2639,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:2748,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2754,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2574,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2595,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2604,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2619,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 2755
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2755
    functionName: taosCfgDynamicOptionsForServer
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryPoolCfgUpdateReservedSize
    - strncasecmp
    - taosSetAllDebugFlag
    - tstrncpy
    - uInfo
    - cfgDumpCfg
    - uError
    - TAOS_RETURN
    - strcasecmp
    - taosSetSlowLogScope
    - taosResetLog
    - taosCfgSetOption
    - cfgUnLock
    - cfgGetItem
    - taosSetCoreDump
    - cfgLock
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCfgDynamicOptionsForServer(SConfig *pCfg, const
      char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:3313,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3324,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3320,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:3333,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3307,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tglobal.c:3322,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:3334,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:3310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:3310,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:3316,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3325,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3331,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3325,1
    - Dst: globalConfigSerialize
      Src: /src/tdengine/source/common/src/tglobal.c:3320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - array
    - path
    - version
    argTypes:
    - SArray*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3336
      start: 3299
    functionDepth: 0
    functionLinenumber: 3299
    functionLinenumberEnd: 3336
    functionName: taosPersistGlobalConfig
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - snprintf
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - globalConfigSerialize
    - taosWriteFile
    - tstrerror
    - strlen
    - uError
    - TAOS_RETURN
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosPersistGlobalConfig(SArray *array, const char *path, int32_t
      version) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3406,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3403,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3407,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3413,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3413,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3430,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3430,1
    - Dst: tEncodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3423,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3419,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 23
    argCount: 2
    argNames:
    - pEncoder
    - array
    argTypes:
    - SEncoder*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3437
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3437
    functionName: tSerializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEncodeBool
    - tEncodeCStr
    - tEncodeFloat
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSConfigArray(SEncoder *pEncoder, SArray *array) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:615,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:618,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:625,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:621,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:629,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:636,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:613,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:614,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:617,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:626,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:623,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:620,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:631,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:634,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:638,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:615,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:618,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:624,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:622,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:628,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:633,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:614,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:613,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:616,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:623,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:620,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:627,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:630,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:635,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:638,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 641
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 641
    functionName: taosAddClientLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - TAOS_RETURN
    - cfgAddDir
    - cfgAddFloat
    - cfgAddInt32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAddClientLogCfg(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:691,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:696,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:733,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:724,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:729,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:783,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:792,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:710,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:714,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:744,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:737,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:693,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:716,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:720,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:741,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:752,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:766,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:731,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:695,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:703,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:722,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:735,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:704,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:709,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:712,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:761,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:762,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:770,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:774,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:779,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:787,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:742,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:692,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:754,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:727,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:750,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:781,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:789,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:795,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:797,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:728,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:689,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:700,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:739,1
    - Dst: taosGetFqdn
      Src: /src/tdengine/source/common/src/tglobal.c:684,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:714,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:719,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:735,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:785,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:693,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:720,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:748,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:740,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:758,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:752,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:765,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:766,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:769,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:773,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:690,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:698,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:702,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:707,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:710,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:746,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:725,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:691,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:697,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:708,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:733,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:774,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:777,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:779,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:783,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:793,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:726,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:750,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:685,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:692,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:795,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:688,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:700,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:716,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:744,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:737,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:787,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:695,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:718,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:722,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:739,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:731,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:785,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:757,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:704,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:713,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:748,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:758,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:762,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:770,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:746,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:742,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:755,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:698,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:706,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:782,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 128
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 798
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 798
    functionName: taosAddClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgAddInt64
    - tstrncpy
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - TAOS_RETURN
    - cfgAddDir
    - cfgAddInt32
    - taosGetFqdn
    - cfgAddFloat
    - cfgAddString
    - TRANGE
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAddClientCfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:914,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:917,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:901,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:916,1
    - Dst: cfgAddInt32Ex
      Src: /src/tdengine/source/common/src/tglobal.c:900,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:925,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:945,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:962,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:980,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:999,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:1000,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1006,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1008,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1004,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:851,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:913,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:972,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:986,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:966,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1001,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1010,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1015,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1015,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1017,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1025,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:991,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:982,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:989,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:975,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1003,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:904,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:845,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:888,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:893,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:895,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:912,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:906,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:927,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:935,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:954,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:974,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:945,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:952,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1007,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:992,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:991,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:918,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:923,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:929,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:939,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:954,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:960,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:963,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:970,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:987,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:989,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1011,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:1017,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:997,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:969,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:854,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:866,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:869,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:882,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:922,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:940,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:947,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:952,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:983,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:971,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1007,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:997,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1012,1
    - Dst: cfgAddDir
      Src: /src/tdengine/source/common/src/tglobal.c:880,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:881,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:886,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:892,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:894,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:896,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:911,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:944,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:949,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1011,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:980,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:963,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:917,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:863,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:897,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:933,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:938,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:958,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:969,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:986,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:950,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1025,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1012,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:983,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:857,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:926,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:934,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:937,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:944,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:946,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:951,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:955,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:965,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:968,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1027,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1034,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:893,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:904,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:912,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:927,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:939,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:962,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:973,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:975,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:978,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1028,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1029,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:995,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1021,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:960,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1018,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:950,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:958,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:915,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:842,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:884,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:908,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:918,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:896,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:921,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:970,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:978,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:968,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1027,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:916,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:860,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:885,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:914,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:897,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:922,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:925,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:942,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:947,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1001,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1002,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1023,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1029,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1028,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:941,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1024,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1021,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1020,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:995,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1018,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:911,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:880,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:892,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:913,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:972,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:974,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:984,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:988,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1004,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1010,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1014,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:977,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:976,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:984,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:888,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:895,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:900,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:906,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:901,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:909,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:930,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:933,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:935,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:938,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:941,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1024,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:1023,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1002,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1014,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:994,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:993,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1020,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:898,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:877,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:923,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:926,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:929,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:937,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:946,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:949,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:951,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:956,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:992,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:988,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:987,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:977,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:848,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:882,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:932,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:940,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:955,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:971,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:973,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:976,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1003,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:1006,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:1008,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:993,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:956,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1000,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:999,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:994,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:908,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:905,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:881,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:873,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:884,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:886,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:889,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:894,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:915,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:921,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:982,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:932,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:966,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 344
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1035
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 1035
    functionName: taosAddServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgAddInt64
    - cfgAddString
    - cfgAddInt32Ex
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - TAOS_RETURN
    - cfgAddDir
    - TMAX
    - cfgAddFloat
    - cfgAddInt32
    - TRANGE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAddServerCfg(SConfig *pCfg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2428,1
    - Dst: taosAddSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2433,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2429,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2443,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2451,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2455,1
    - Dst: taosSetClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2458,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2459,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2462,1
    - Dst: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2467,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2455,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2459,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2477,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2427,1
    - Dst: taosAddServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2436,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2443,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2450,1
    - Dst: tryLoadCfgFromDataDir
      Src: /src/tdengine/source/common/src/tglobal.c:2451,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2456,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2461,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2462,1
    - Dst: taosSetS3Cfg
      Src: /src/tdengine/source/common/src/tglobal.c:2463,1
    - Dst: taosSetSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2466,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2421,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2425,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2427,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2430,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2436,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2433,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2450,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2456,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2460,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2486,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2444,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2469,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2466,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2476,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2481,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2463,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2416,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2424,1
    - Dst: cfgInitWrapper
      Src: /src/tdengine/source/common/src/tglobal.c:2421,1
    - Dst: taosAddClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2424,1
    - Dst: taosAddClientLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2425,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2429,1
    - Dst: taosAddServerLogCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2430,1
    - Dst: taosLoadCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2435,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2439,1
    - Dst: cfgLoadFromArray
      Src: /src/tdengine/source/common/src/tglobal.c:2442,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2472,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2483,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2460,1
    - Dst: taosCheckGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2477,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2467,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2461,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2471,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:2483,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 6
    argNames:
    - cfgDir
    - envCmd
    - envFile
    - apolloUrl
    - pArgs
    - tsc
    argTypes:
    - char*
    - char**
    - char*
    - char*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 2487
      start: 2414
    functionDepth: 0
    functionLinenumber: 2414
    functionLinenumberEnd: 2487
    functionName: taosInitCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosSetServerCfg
    - cfgLoadFromArray
    - tryLoadCfgFromDataDir
    - cfgInitWrapper
    - cfgDumpCfg
    - taosSetClientLogCfg
    - TAOS_CHECK_GOTO
    - cfgCleanup
    - taosSetTfsCfg
    - taosSetAllDebugFlag
    - taosAddSystemCfg
    - printf
    - taosAddClientCfg
    - taosLoadCfg
    - taosAddServerLogCfg
    - taosSetClientCfg
    - taosSetFileHandlesLimit
    - taosCheckGlobalCfg
    - taosSetReleaseCfg
    - taosSetSystemCfg
    - tstrerror
    - TAOS_RETURN
    - taosUpdateServerCfg
    - taosSetS3Cfg
    - taosAddClientLogCfg
    - cfgGetItem
    - taosAddServerCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosInitCfg(const char *cfgDir, const char **envCmd, const
      char *envFile, char *apolloUrl, SArray *pArgs, bool tsc) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2799,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2808,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2817,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2843,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2890,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2825,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2829,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3001,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2761,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2767,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2782,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2874,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2864,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2904,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2905,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2924,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2933,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tglobal.c:3011,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2891,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2834,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2893,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2909,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2916,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:2950,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tglobal.c:2765,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2810,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:2888,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/tglobal.c:2778,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:2791,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2878,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2876,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2911,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2926,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3002,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2900,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2792,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2836,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:2872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2899,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2915,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3008,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2776,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2817,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2821,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2843,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2904,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2913,1
    - Dst: taosSetSystemLocale
      Src: /src/tdengine/source/common/src/tglobal.c:2863,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2895,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2880,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2894,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2857,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2863,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2918,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2933,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2937,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2762,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tglobal.c:2778,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2847,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2899,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2886,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2906,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2908,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2945,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2946,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2951,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:2888,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2801,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2819,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2827,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2845,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2914,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tglobal.c:3002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3008,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2854,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2923,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2935,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2890,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2816,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2821,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2842,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2870,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2945,1
    - Dst: taosCfgSetOption
      Src: /src/tdengine/source/common/src/tglobal.c:3001,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2937,1
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:2783,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2800,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2813,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2826,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/common/src/tglobal.c:2871,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2901,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2903,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2839,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2894,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2932,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2847,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2798,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2822,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2824,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:2855,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2909,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2910,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2929,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2944,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2948,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2951,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2896,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2761,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2769,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2789,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2803,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2889,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2898,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2888,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2938,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:2949,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2848,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:2923,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:2947,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:2948,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3012,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 238
    argCount: 2
    argNames:
    - pCfg
    - name
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 3013
      start: 2757
    functionDepth: 0
    functionLinenumber: 2757
    functionLinenumberEnd: 3013
    functionName: taosCfgDynamicOptionsForClient
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosCheckCfgStrValueLen
    - uError
    - taosGetFqdnPortFromEp
    - cfgUnLock
    - strcasecmp
    - cfgLock
    - taosCfgSetOption
    - taosSetCoreDump
    - tListLen
    - TAOS_CHECK_GOTO
    - taosSetAllDebugFlag
    - taosMulMkDir
    - cfgSetItem
    - tstrncpy
    - uInfo
    - strntolower
    - snprintf
    - taosSetSystemLocale
    - taosExpandDir
    - atomic_load_32
    - tstrerror
    - strlen
    - TAOS_RETURN
    - cfgGetItem
    - TMIN
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCfgDynamicOptionsForClient(SConfig *pCfg, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:3025,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pFlagPtr
    - flagName
    - flagVal
    argTypes:
    - int32_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3031
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3031
    functionName: taosSetDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSetDebugFlag(int32_t *pFlagPtr, const char *flagName,
      int32_t flagVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3068,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3070,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3073,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3077,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3079,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3083,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3081,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3085,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3086,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3088,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tglobal.c:3093,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3091,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3069,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:3063,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3071,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3074,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3076,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3080,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3082,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3084,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3078,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3087,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3089,1
    - Dst: taosCheckAndSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3090,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:3095,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3058,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3059,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 2
    argNames:
    - pCfg
    - flag
    argTypes:
    - SConfig*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3097
      start: 3057
    functionDepth: 0
    functionLinenumber: 3057
    functionLinenumberEnd: 3097
    functionName: taosSetAllDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    - taosCheckAndSetDebugFlag
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetAllDebugFlag(SConfig *pCfg, int32_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgUpdateTfsItemDisable
      Src: /src/tdengine/source/common/src/tglobal.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pCfg
    - value
    - pTfs
    argTypes:
    - SConfig*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: taosUpdateTfsItemDisable
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgUpdateTfsItemDisable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosUpdateTfsItemDisable(SConfig *pCfg, const char *value,
      void *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:645,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:646,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:650,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:655,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:658,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:662,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:667,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:670,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:674,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:648,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:652,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:657,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:660,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:664,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:669,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:673,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:676,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:644,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:647,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:651,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:654,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:659,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:663,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:666,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:671,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:675,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:649,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:653,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:656,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:660,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:665,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:668,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:672,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:677,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 36
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 679
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 679
    functionName: taosAddServerLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgAddInt32
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAddServerLogCfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgAddLocale
      Src: /src/tdengine/source/common/src/tglobal.c:804,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:807,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:813,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:811,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:822,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:832,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:835,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:828,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:836,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:829,1
    - Dst: taosGetSysNameInfo
      Src: /src/tdengine/source/common/src/tglobal.c:801,1
    - Dst: cfgAddTimezone
      Src: /src/tdengine/source/common/src/tglobal.c:803,1
    - Dst: cfgAddCharset
      Src: /src/tdengine/source/common/src/tglobal.c:805,1
    - Dst: cfgAddFloat
      Src: /src/tdengine/source/common/src/tglobal.c:809,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:817,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:812,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:820,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:824,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:826,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:827,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:830,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:833,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:804,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:806,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:811,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:814,1
    - Dst: cfgAddInt32
      Src: /src/tdengine/source/common/src/tglobal.c:823,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:832,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:829,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:835,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:836,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:830,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:803,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:808,1
    - Dst: cfgAddBool
      Src: /src/tdengine/source/common/src/tglobal.c:812,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:816,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:819,1
    - Dst: cfgAddInt64
      Src: /src/tdengine/source/common/src/tglobal.c:824,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:826,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:827,1
    - Dst: cfgAddString
      Src: /src/tdengine/source/common/src/tglobal.c:828,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 838
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 838
    functionName: taosAddSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosGetSysNameInfo
    - cfgAddLocale
    - cfgAddInt64
    - cfgAddString
    - cfgAddCharset
    - TAOS_CHECK_RETURN
    - cfgAddBool
    - TAOS_RETURN
    - cfgAddFloat
    - cfgAddInt32
    - cfgAddTimezone
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAddSystemCfg(SConfig *pCfg) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1045,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1066,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1108,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1111,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1102,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1150,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1161,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1174,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1177,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1206,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1182,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1061,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1073,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1087,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1119,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1130,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1136,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1153,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1193,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1201,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1051,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1068,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1080,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1097,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1082,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1094,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1116,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1145,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1166,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1169,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1198,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1043,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1059,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tglobal.c:1054,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1075,1
    - Dst: TRANGE
      Src: /src/tdengine/source/common/src/tglobal.c:1089,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1124,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1142,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1184,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1190,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 240
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1207
    functionName: taosUpdateServerCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TMAX
    - cfgGetItem
    - TAOS_RETURN
    - TRANGE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosUpdateServerCfg(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCfgDynamicOptionsForServer
      Src: /src/tdengine/source/common/src/tglobal.c:3017,1
    - Dst: taosCfgDynamicOptionsForClient
      Src: /src/tdengine/source/common/src/tglobal.c:3019,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pCfg
    - name
    - forServer
    argTypes:
    - SConfig*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 3021
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3021
    functionName: taosCfgDynamicOptions
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosCfgDynamicOptionsForServer
    - taosCfgDynamicOptionsForClient
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosCfgDynamicOptions(SConfig *pCfg, const char *name, bool
      forServer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3036,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 3037
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3037
    functionName: taosLogVarComp
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosStrcasecmp
    linkageType: ''
    returnType: int
    signature: 'static int taosLogVarComp(void const *lp, void const *rp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3102,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3119,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3116,1
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tglobal.c:3121,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/common/src/tglobal.c:3105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - type
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 3125
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3125
    functionName: taosGranted
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - uWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGranted(int8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:3495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:3497,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - name
    - value
    - len
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3500
      start: 3494
    functionDepth: 0
    functionLinenumber: 3494
    functionLinenumberEnd: 3500
    functionName: taosCheckCfgStrValueLen
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - strlen
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosCheckCfgStrValueLen(const char *name, const char *value,
      int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1286,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1289,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1292,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1295,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1298,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1301,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1304,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1307,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1310,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1313,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1316,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1331,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1319,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1334,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1322,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1328,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1335
    functionName: taosSetServerLogCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetServerLogCfg(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1393,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1424,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1432,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1472,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1550,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1405,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1413,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:1422,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1436,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1441,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1457,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1493,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1535,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1420,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1514,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1409,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1409,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1410,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1415,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1445,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1478,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1499,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1433,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1411,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:1427,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1437,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1484,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1520,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1440,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1463,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1419,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1429,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1444,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1505,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1541,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1556,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1448,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1422,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1526,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1469,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1395,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1400,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1441,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1511,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1547,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1394,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1415,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1415,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/common/src/tglobal.c:1417,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1420,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1490,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1445,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1454,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1532,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1475,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:1426,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1553,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1496,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:1402,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1411,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1434,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1538,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1481,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1407,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1428,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1438,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1517,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/common/src/tglobal.c:1409,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1460,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1502,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1523,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1433,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1466,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1508,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1397,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1394,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1417,1
    - Dst: taosCheckCfgStrValueLen
      Src: /src/tdengine/source/common/src/tglobal.c:1437,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1442,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1544,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1487,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:1428,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:1446,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1451,1
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 134
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1557
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1557
    functionName: taosSetClientCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosCheckCfgStrValueLen
    - taosExpandDir
    - taosMulMkDir
    - cfgSetItem
    - TAOS_CHECK_GET_CFG_ITEM
    - tstrncpy
    - tstrerror
    - TAOS_CHECK_RETURN
    - strlen
    - uError
    - TAOS_RETURN
    - taosGetFqdnPortFromEp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetClientCfg(SConfig *pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2100,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2104,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2103,1
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/common/src/tglobal.c:2101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2103,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2109,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2113
    functionName: taosCheckGlobalCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosGetIpv4FromFqdn
    - tstrerror
    - uError
    - TAOS_RETURN
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCheckGlobalCfg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2125,1
    - Dst: taosUpdateServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2126,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2126,1
    - Dst: taosSetClientCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2125,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2127,1
    - Dst: taosSetServerCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2127,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2128,1
    - Dst: taosSetReleaseCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2128,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2129,1
    - Dst: taosSetTfsCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2129,1
    - Dst: taosSetS3Cfg
      Src: /src/tdengine/source/common/src/tglobal.c:2130,1
    - Dst: taosSetSystemCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2131,1
    - Dst: taosSetFileHandlesLimit
      Src: /src/tdengine/source/common/src/tglobal.c:2132,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2132,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2130,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2134,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tglobal.c:2131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2135
    functionName: setAllConfigs
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosSetServerCfg
    - taosSetTfsCfg
    - taosSetFileHandlesLimit
    - taosSetReleaseCfg
    - taosSetSystemCfg
    - TAOS_RETURN
    - taosUpdateServerCfg
    - taosSetS3Cfg
    - taosSetClientCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setAllConfigs(SConfig *pCfg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetLocalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2335,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2336,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:2333,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2348,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tglobal.c:2355,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tglobal.c:2361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2348,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2353,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2369,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/common/src/tglobal.c:2332,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2342,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2352,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2383,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2338,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2341,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2358,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2364,1
    - Dst: cfgDeserialize
      Src: /src/tdengine/source/common/src/tglobal.c:2373,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2381,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/tglobal.c:2340,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/tglobal.c:2346,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tglobal.c:2367,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tglobal.c:2384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - path
    - isGlobal
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 2386
      start: 2327
    functionDepth: 0
    functionLinenumber: 2327
    functionLinenumberEnd: 2386
    functionName: readCfgFile
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - taosStatFile
    - taosMemoryMalloc
    - taosReadFile
    - taosMemoryFree
    - taosCloseFile
    - cfgDeserialize
    - tstrerror
    - uError
    - TAOS_RETURN
    - taosCheckExistFile
    - taosGetGlobalCfg
    - uInfo
    - taosGetLocalCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t readCfgFile(const char *path, bool isGlobal) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3459,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/common/src/tglobal.c:3463,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3470,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tglobal.c:3474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3446,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3447,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/tglobal.c:3453,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/tglobal.c:3459,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3447,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/tglobal.c:3446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3456,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/tglobal.c:3456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/tglobal.c:3463,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - pDecoder
    - array
    argTypes:
    - SDecoder*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3484
      start: 3439
    functionDepth: 0
    functionLinenumber: 3439
    functionLinenumberEnd: 3484
    functionName: tDeserializeSConfigArray
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeFloat
    - tstrerror
    - tDecodeBool
    - taosArrayPush
    - uError
    - tDecodeI64
    - tDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSConfigArray(SDecoder *pDecoder, SArray *array) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:1338,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1340,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:1349,1
    - Dst: strsep
      Src: /src/tdengine/source/common/src/tglobal.c:1347,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1348,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1351,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tglobal.c:1353,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1354,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1359,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1364,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:1380,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1381,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1385,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1374,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tglobal.c:1379,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:1369,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1386,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 2
    argNames:
    - pScopeStr
    - pScope
    argTypes:
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1387
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1387
    functionName: taosSetSlowLogScope
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - strtrim
    - strsep
    - strlen
    - uError
    - TAOS_RETURN
    - strcasecmp
    - taosStrdup
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSetSlowLogScope(char *pScopeStr, int32_t *pScope) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:1562,1
    - Dst: taosSetCoreDump
      Src: /src/tdengine/source/common/src/tglobal.c:1564,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:1569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1570
    functionName: taosSetSystemCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosSetCoreDump
    - TAOS_CHECK_GET_CFG_ITEM
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetSystemCfg(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2117,1
    - Dst: cfgInit
      Src: /src/tdengine/source/common/src/tglobal.c:2117,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig**
    constantsTouched: []
    func_position:
      end: 2120
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2120
    functionName: cfgInitWrapper
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgInit
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgInitWrapper(SConfig **pCfg) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2154,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:2153,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2161,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2218,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tglobal.c:2230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2241,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:2243,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/tglobal.c:2140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:2160,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2195,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2195,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/common/src/tglobal.c:2222,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2241,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2145,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/common/src/tglobal.c:2173,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2179,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:2194,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2199,1
    - Dst: atoll
      Src: /src/tdengine/source/common/src/tglobal.c:2218,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2222,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:2165,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/common/src/tglobal.c:2169,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tglobal.c:2193,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2185,1
    - Dst: cJSON_IsTrue
      Src: /src/tdengine/source/common/src/tglobal.c:2212,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/tglobal.c:2186,1
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/common/src/tglobal.c:2193,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tglobal.c:2229,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 78
    argCount: 3
    argNames:
    - array
    - buf
    - isGlobal
    argTypes:
    - SArray*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 2245
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2245
    functionName: cfgDeserialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosStr2Float
    - taosMemoryFree
    - taosArrayGet
    - cJSON_Parse
    - cJSON_Delete
    - cJSON_GetArraySize
    - taosGetFileDiskID
    - atoll
    - taosStr2Int64
    - tstrerror
    - cJSON_GetStringValue
    - uError
    - strcasecmp
    - cJSON_GetArrayItem
    - cJSON_GetObjectItem
    - cJSON_IsTrue
    - taosStrdup
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgDeserialize(SArray *array, char *buf, bool isGlobal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:2391,1
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2393,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2395,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2395,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2396,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tglobal.c:2399,1
    - Dst: readCfgFile
      Src: /src/tdengine/source/common/src/tglobal.c:2400,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2402,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2402,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2403,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:2407,1
    - Dst: readStypeConfigFile
      Src: /src/tdengine/source/common/src/tglobal.c:2405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2408,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:2411,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:2407,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 2412
      start: 2388
    functionDepth: 0
    functionLinenumber: 2388
    functionLinenumberEnd: 2412
    functionName: tryLoadCfgFromDataDir
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GET_CFG_ITEM
    - tstrerror
    - readStypeConfigFile
    - uError
    - readCfgFile
    - TAOS_RETURN
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tryLoadCfgFromDataDir(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - item
    argTypes:
    - SConfigItem*
    constantsTouched: []
    func_position:
      end: 3492
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3492
    functionName: isConifgItemLazyMode
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool isConifgItemLazyMode(SConfigItem *item) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GET_CFG_ITEM
      Src: /src/tdengine/source/common/src/tglobal.c:413,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tglobal.c:414,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:422,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:416,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:418,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/tglobal.c:423,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/tglobal.c:424,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:425,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 429
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 429
    functionName: taosSetTfsCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMulMkDir
    - TAOS_CHECK_GET_CFG_ITEM
    - tstrncpy
    - memset
    - tstrerror
    - uError
    - TAOS_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSetTfsCfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pCfg
    - value
    - pTfs
    argTypes:
    - SConfig*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 435
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 435
    functionName: cfgUpdateTfsItemDisable
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgUpdateTfsItemDisable(SConfig *pCfg, const char *value,
      void *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1980
    functionName: taosSetReleaseCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosSetReleaseCfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 544
    functionName: taosGetCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: struct SConfig*
    signature: 'struct SConfig *taosGetCfg() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgCleanup
      Src: /src/tdengine/source/common/src/tglobal.c:2491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2489
    functionDepth: 0
    functionLinenumber: 2489
    functionLinenumberEnd: 2494
    functionName: taosCleanupCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - cfgCleanup
    linkageType: ''
    returnType: void
    signature: 'void taosCleanupCfg() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearch
      Src: /src/tdengine/source/common/src/tglobal.c:3040,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3046,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3046,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tglobal.c:3048,1
    - Dst: taosSetDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pFlagPtr
    - name
    - flag
    - noNeedToSetVars
    argTypes:
    - int32_t*
    - char*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 3052
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3052
    functionName: taosCheckAndSetDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosSetDebugFlag
    - uTrace
    - taosArraySearch
    - tstrerror
    - uError
    linkageType: ''
    returnType: void
    signature: 'static void taosCheckAndSetDebugFlag(int32_t *pFlagPtr, char *name,
      int32_t flag, SArray *noNeedToSetVars) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3129,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3132,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3133,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3131,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3135,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3143,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3149,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3152,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3155,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3156,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3168,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3160,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3176,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3161,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3178,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3176,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 36
    argCount: 3
    argNames:
    - version
    - array
    - serialized
    argTypes:
    - int32_t
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 3181
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3181
    functionName: globalConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - cJSON_Delete
    - sprintf
    - cJSON_AddBoolToObject
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - tjsonToString
    - uError
    - tstrerror
    - taosArrayGetSize
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t globalConfigSerialize(int32_t version, SArray *array, char
      **serialized) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosIsDir
      Src: /src/tdengine/source/common/src/tglobal.c:562,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tglobal.c:577,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:585,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:595,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:591,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:595,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:594,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:601,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:604,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:564,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:600,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:606,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/common/src/tglobal.c:552,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tglobal.c:570,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:590,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:586,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:590,1
    - Dst: cfgLoad
      Src: /src/tdengine/source/common/src/tglobal.c:589,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:596,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:605,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:552,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tglobal.c:553,1
    - Dst: cfgGetApollUrl
      Src: /src/tdengine/source/common/src/tglobal.c:581,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tglobal.c:605,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tglobal.c:609,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - pCfg
    - envCmd
    - inputCfgDir
    - envFile
    - apolloUrl
    argTypes:
    - SConfig*
    - char**
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 610
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 610
    functionName: taosLoadCfg
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosExpandDir
    - cfgGetApollUrl
    - tstrncpy
    - printf
    - TAOS_CHECK_RETURN
    - strlen
    - tstrerror
    - TAOS_RETURN
    - taosIsDir
    - cfgLoad
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosLoadCfg(SConfig *pCfg, const char **envCmd, const
      char *inputCfgDir, const char *envFile, char *apolloUrl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetAllDebugFlag
      Src: /src/tdengine/source/common/src/tglobal.c:3054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 3054
      start: 3054
    functionDepth: 0
    functionLinenumber: 3054
    functionLinenumberEnd: 3054
    functionName: taosSetGlobalDebugFlag
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosSetAllDebugFlag
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosSetGlobalDebugFlag(int32_t flag) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3188,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3192,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3193,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3229,1
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3237,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3243,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3264,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/tglobal.c:3266,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tglobal.c:3199,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3211,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3215,1
    - Dst: taosGetFileDiskID
      Src: /src/tdengine/source/common/src/tglobal.c:3217,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3222,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3225,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3256,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3264,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3190,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/common/src/tglobal.c:3201,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3208,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3214,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tglobal.c:3203,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/common/src/tglobal.c:3210,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3224,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3240,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tglobal.c:3248,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/tglobal.c:3185,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tglobal.c:3198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tglobal.c:3200,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3202,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3203,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tglobal.c:3218,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3223,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tglobal.c:3261,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/tglobal.c:3249,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 74
    argCount: 2
    argNames:
    - array
    - serialized
    argTypes:
    - SArray*
    - char**
    constantsTouched: []
    func_position:
      end: 3269
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3269
    functionName: localConfigSerialize
    functionSourceFile: /src/tdengine/source/common/src/tglobal.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - cJSON_Delete
    - sprintf
    - taosGetFileDiskID
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddBoolToObject
    - tstrerror
    - cJSON_AddStringToObject
    - uError
    - cJSON_AddItemToArray
    - strcasecmp
    - cJSON_CreateArray
    - tjsonToString
    - taosArrayGetSize
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t localConfigSerialize(SArray *array, char **serialized) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/tmisce.c:24,1
    - Dst: taosStr2UInt16
      Src: /src/tdengine/source/common/src/tmisce.c:30,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:25,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/tmisce.c:27,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - ep
    - pEp
    argTypes:
    - char*
    - SEp*
    constantsTouched: []
    func_position:
      end: 45
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 45
    functionName: taosGetFqdnPortFromEp
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - strchr
    - tstrncpy
    - taosStr2UInt16
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetFqdnPortFromEp(const char* ep, SEp* pEp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/tmisce.c:91,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:92,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:91,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEp*
    - SEp*
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: epAssign
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - tListLen
    - memset
    linkageType: ''
    returnType: void
    signature: 'void epAssign(SEp* pDst, SEp* pSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:68,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - SEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: isEpsetEqual
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'bool isEpsetEqual(const SEpSet* s1, const SEpSet* s2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCorBeginWrite
      Src: /src/tdengine/source/common/src/tmisce.c:131,1
    - Dst: taosCorEndWrite
      Src: /src/tdengine/source/common/src/tmisce.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pEpSet
    - pNewEpSet
    argTypes:
    - SCorEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: updateEpSet_s
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - taosCorBeginWrite
    - taosCorEndWrite
    linkageType: ''
    returnType: void
    signature: 'void updateEpSet_s(SCorEpSet* pEpSet, SEpSet* pNewEpSet) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:149,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:157,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:174,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:159,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - pEpSet
    - pBuf
    - cap
    argTypes:
    - SEpSet*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 180
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 180
    functionName: epsetToStr
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t epsetToStr(const SEpSet* pEpSet, char* pBuf, int32_t cap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:83,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: epsetAssign
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void epsetAssign(SEpSet* pDst, const SEpSet* pSrc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tmisce.c:48,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tmisce.c:56,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tmisce.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pEpSet
    - fqdn
    - port
    argTypes:
    - SEpSet*
    - char*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: addEpIntoEpSet
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - strlen
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addEpIntoEpSet(SEpSet* pEpSet, const char* fqdn, uint16_t
      port) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:104,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:115,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:111,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:114,1
    - Dst: epAssign
      Src: /src/tdengine/source/common/src/tmisce.c:116,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tmisce.c:122,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 1
    argNames:
    - pDst
    argTypes:
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: epsetSort
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - strncmp
    - epAssign
    linkageType: ''
    returnType: void
    signature: 'void epsetSort(SEpSet* pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCorBeginRead
      Src: /src/tdengine/source/common/src/tmisce.c:138,1
    - Dst: taosCorEndRead
      Src: /src/tdengine/source/common/src/tmisce.c:140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pEpSet
    argTypes:
    - SCorEpSet*
    constantsTouched: []
    func_position:
      end: 143
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 143
    functionName: getEpSet_s
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - taosCorEndRead
    - taosCorBeginRead
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet getEpSet_s(SCorEpSet* pEpSet) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:203,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:205,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:215,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:218,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tmisce.c:232,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:243,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:252,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:225,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/common/src/tmisce.c:245,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:191,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:189,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:192,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:197,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/common/src/tmisce.c:199,1
    - Dst: taosGetOsReleaseName
      Src: /src/tdengine/source/common/src/tmisce.c:207,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:208,1
    - Dst: taosGetAppName
      Src: /src/tdengine/source/common/src/tmisce.c:201,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:216,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:223,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/common/src/tmisce.c:256,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:227,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:232,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/common/src/tmisce.c:184,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:199,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:205,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:215,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:218,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tmisce.c:221,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:232,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:240,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:243,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:248,1
    - Dst: taosLogTraceToBuf
      Src: /src/tdengine/source/common/src/tmisce.c:236,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:228,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:229,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:231,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:257,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:191,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:189,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:192,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:197,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:199,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:208,1
    - Dst: taosGetCpuInfo
      Src: /src/tdengine/source/common/src/tmisce.c:214,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/common/src/tmisce.c:216,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:225,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:227,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:228,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/common/src/tmisce.c:229,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/common/src/tmisce.c:231,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 4
    argNames:
    - signum
    - pMsg
    - clusterId
    - startTime
    argTypes:
    - int
    - char**
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 258
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 258
    functionName: taosGenCrashJsonMsg
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosGetOsReleaseName
    - tjsonAddDoubleToObject
    - taosGetCpuInfo
    - tjsonDelete
    - tjsonToString
    - taosGetTimestampUs
    - taosLogTraceToBuf
    - TAOS_RETURN
    - tjsonCreateObject
    - taosGetAppName
    - tjsonAddStringToObject
    - taosGetPId
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGenCrashJsonMsg(int signum, char** pMsg, int64_t clusterId,
      int64_t startTime) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:281,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tmisce.c:281,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:283,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tmisce.c:313,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:319,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:324,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:330,1
    - Dst: cfgDumpItemScope
      Src: /src/tdengine/source/common/src/tmisce.c:330,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:338,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:348,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:353,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:367,1
    - Dst: cfgDestroyIter
      Src: /src/tdengine/source/common/src/tmisce.c:377,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:362,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tmisce.c:355,1
    - Dst: taosGetCfg
      Src: /src/tdengine/source/common/src/tmisce.c:262,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tmisce.c:310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:305,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:327,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:331,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:336,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:341,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:350,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:350,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:367,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/tmisce.c:378,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:278,1
    - Dst: cfgLock
      Src: /src/tdengine/source/common/src/tmisce.c:285,1
    - Dst: cfgNextIter
      Src: /src/tdengine/source/common/src/tmisce.c:288,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:305,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:316,1
    - Dst: cfgDumpItemValue
      Src: /src/tdengine/source/common/src/tmisce.c:316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:321,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:338,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tmisce.c:343,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/common/src/tmisce.c:376,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:365,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/common/src/tmisce.c:276,1
    - Dst: cfgGetSize
      Src: /src/tdengine/source/common/src/tmisce.c:281,1
    - Dst: cfgCreateIter
      Src: /src/tdengine/source/common/src/tmisce.c:283,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/tmisce.c:302,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:299,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/common/src/tmisce.c:297,1
    - Dst: rawStrPatternMatch
      Src: /src/tdengine/source/common/src/tmisce.c:294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tmisce.c:327,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tmisce.c:333,1
    - Dst: cfgDumpItemCategory
      Src: /src/tdengine/source/common/src/tmisce.c:341,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 109
    argCount: 3
    argNames:
    - pBlock
    - startCol
    - likePattern
    argTypes:
    - SSDataBlock*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 379
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 379
    functionName: dumpConfToDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tmisce.c
    functionUses: []
    functionsReached:
    - cfgDumpItemScope
    - rawStrPatternMatch
    - taosGetCfg
    - colDataSetVal
    - cfgNextIter
    - varDataSetLen
    - cfgUnLock
    - taosArrayGetSize
    - tsnprintf
    - cfgDestroyIter
    - STR_WITH_MAXSIZE_TO_VARSTR
    - cfgCreateIter
    - strcasecmp
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - blockDataEnsureCapacity
    - cfgGetSize
    - TMAX
    - cfgDumpItemCategory
    - cfgDumpItemValue
    - TAOS_RETURN
    - cfgGetItem
    - cfgLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dumpConfToDataBlock(SSDataBlock* pBlock, int32_t startCol,
      char* likePattern) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tValueCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:1407,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - SRowKey*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1417
    functionName: tRowKeyCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tValueCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t tRowKeyCompare(const SRowKey *key1, const SRowKey
      *key2) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2712,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2717,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2717,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2720,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2712,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2720,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2725,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2725,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2733,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2734,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2739,1
    - Dst: xMalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2746,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:2752,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - pColDataFrom
    - pColData
    - xMalloc
    - arg
    argTypes:
    - SColData*
    - SColData*
    - xMallocFn
    - void*
    constantsTouched: []
    func_position:
      end: 2759
      start: 2702
    functionDepth: 0
    functionLinenumber: 2702
    functionLinenumberEnd: 2759
    functionName: tColDataCopy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT2_SIZE
    - xMalloc
    - memcpy
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataCopy(SColData *pColDataFrom, SColData *pColData, xMallocFn
      xMalloc, void *arg) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:3301,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:3310,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:3338,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:3336,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:3276,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3294,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:3312,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3375,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:3292,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:3351,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:3320,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:3363,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3374,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3288,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:3284,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:3287,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3293,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:3324,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:3347,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3318,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3357,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:3340,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 102
    argCount: 7
    argNames:
    - infos
    - numOfInfos
    - infoSorted
    - pTSchema
    - rowArray
    - pOrdered
    - pDupTs
    argTypes:
    - SBindInfo2*
    - int32_t
    - bool
    - STSchema*
    - SArray*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3377
    functionName: tRowBuildFromBind2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - valueSetDatum
    - taosArrayDestroy
    - TARRAY_DATA
    - COL_VAL_NONE
    - tRowGetKey
    - taosqsort_r
    - COL_VAL_VALUE
    - uError
    - taosArrayPush
    - tRowBuild
    - tRowKeyCompare
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    - COL_VAL_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowBuildFromBind2(SBindInfo2 *infos, int32_t numOfInfos,
      bool infoSorted, const STSchema *pTSchema, SArray *rowArray, bool *pOrdered,
      bool *pDupTs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3946,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3950,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3957,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 3964
      start: 3934
    functionDepth: 0
    functionLinenumber: 3934
    functionLinenumberEnd: 3964
    functionName: tColDataCalcSMATinySmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMATinySmallInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: valueCloneDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SRowKey*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 1431
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1431
    functionName: tRowKeyAssign
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - valueCloneDatum
    linkageType: ''
    returnType: void
    signature: 'void tRowKeyAssign(SRowKey *pDst, SRowKey *pSrc) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:2782,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2790,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2792,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2803,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:2801,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2811,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2816,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:2825,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2827,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:2844,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2846,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2853,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 4
    argNames:
    - colData
    - info
    - output
    - assist
    argTypes:
    - SColData*
    - SColDataCompressInfo*
    - SBuffer*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2855
    functionName: tColDataCompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferInit
    - BIT2_SIZE
    - tCompressDataToBuffer
    - tBufferDestroy
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataCompress(SColData *colData, SColDataCompressInfo *info,
      SBuffer *output, SBuffer *assist) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3382,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3397,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:3394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pFromColData
    - iFromRow
    - pToColData
    - iToRow
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3401
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3401
    functionName: tColDataCopyRowCell
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataCopyRowCell(SColData *pFromColData, int32_t
      iFromRow, SColData *pToColData, int32_t iToRow) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3978,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3982,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3989,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 3996
      start: 3966
    functionDepth: 0
    functionLinenumber: 3966
    functionLinenumberEnd: 3996
    functionName: tColDataCalcSMAInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAInt(SColData *pColData, SColumnDataAgg
      *pAggs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2236,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2236,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2241,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2242
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2242
    functionName: tColDataAppendValue71
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT2_SIZE
    - tColDataPutValue
    - tRealloc
    - SET_BIT2_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue71(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2622,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:2627,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2624,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2632
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2632
    functionName: tColDataGetValue5
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - tColDataGetValue4
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue5(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2246,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2251,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2246,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2252
      start: 2243
    functionDepth: 0
    functionLinenumber: 2243
    functionLinenumberEnd: 2252
    functionName: tColDataAppendValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT2_SIZE
    - tColDataPutValue
    - tRealloc
    - SET_BIT2_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue72(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2635,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2637,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:2640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2645
      start: 2633
    functionDepth: 0
    functionLinenumber: 2633
    functionLinenumberEnd: 2645
    functionName: tColDataGetValue6
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataGetValue4
    - COL_VAL_NULL
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue6(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2110
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2110
    functionName: tColDataAppendValue40
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue40(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:66,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - index
    argTypes:
    - uint8_t*
    - SPrimaryKeyIndex*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: tPutPrimaryKeyIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tPutI8
    - tPutU32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tPutPrimaryKeyIndex(uint8_t *p, const SPrimaryKeyIndex
      *index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4426,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:4428,1
    - Dst: tBufferGetData
      Src: /src/tdengine/source/common/src/tdataformat.c:4427,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:4433,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4433,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdataformat.c:4434,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:4434,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:4434,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:4435,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:4442,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/common/src/tdataformat.c:4444,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:4444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    constantsTouched: []
    func_position:
      end: 4448
      start: 4419
    functionDepth: 0
    functionLinenumber: 4419
    functionLinenumberEnd: 4448
    functionName: tValueColumnUpdate
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferGetDataAt
    - tBufferEnsureCapacity
    - VALUE_GET_DATUM
    - tBufferPutAt
    - memmove
    - IS_VAR_DATA_TYPE
    - tBufferGetSize
    - tBufferGetData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnUpdate(SValueColumn *valCol, int32_t idx, const
      SValue *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2117,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2118,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2122,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2124,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2125
      start: 2111
    functionDepth: 0
    functionLinenumber: 2111
    functionLinenumberEnd: 2125
    functionName: tColDataAppendValue41
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memset
    - tColDataPutValue
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue41(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:73,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - index
    argTypes:
    - uint8_t*
    - SPrimaryKeyIndex*
    constantsTouched: []
    func_position:
      end: 76
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 76
    functionName: tGetPrimaryKeyIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tGetI8
    - tGetU32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetPrimaryKeyIndex(uint8_t *p, SPrimaryKeyIndex *index) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1354,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1356,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1358,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1361,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1363,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1365,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1369,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1373,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:1385,1
    - Dst: taosUcs4Compare
      Src: /src/tdengine/source/common/src/tdataformat.c:1380,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1354,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1356,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1361,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1363,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1371,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1373,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1354,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1358,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1365,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1361,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1367,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1369,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1371,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1373,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/tdataformat.c:1376,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdataformat.c:1376,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1356,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1358,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1367,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1365,1
    - Dst: T_COMPARE_SCALAR_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:1363,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1367,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1369,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:1371,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 2
    argNames:
    - tv1
    - tv2
    argTypes:
    - SValue*
    - SValue*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1393
    functionName: tValueCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memcmp
    - strncmp
    - VALUE_GET_TRIVIAL_DATUM
    - T_COMPARE_SCALAR_VALUE
    - taosUcs4Compare
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueCompare(const SValue *tv1, const SValue *tv2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4456,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:4460,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:4460,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:4462,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:4458,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:4464,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/common/src/tdataformat.c:4464,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/common/src/tdataformat.c:4467,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/common/src/tdataformat.c:4469,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:4470,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:4470,1
    - Dst: tBufferGet
      Src: /src/tdengine/source/common/src/tdataformat.c:4470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - valCol
    - idx
    - value
    argTypes:
    - SValueColumn*
    - int32_t
    - SValue*
    constantsTouched: []
    func_position:
      end: 4473
      start: 4450
    functionDepth: 0
    functionLinenumber: 4450
    functionLinenumberEnd: 4473
    functionName: tValueColumnGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferGetDataAt
    - VALUE_GET_DATUM
    - BUFFER_READER_INITIALIZER
    - TAOS_CHECK_RETURN
    - tBufferGetI32
    - tBufferGet
    - IS_VAR_DATA_TYPE
    - tBufferGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnGet(SValueColumn *valCol, int32_t idx, SValue
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4839,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pVal
    - type
    argTypes:
    - SValue*
    - int8_t
    constantsTouched: []
    func_position:
      end: 4845
      start: 4838
    functionDepth: 0
    functionLinenumber: 4838
    functionLinenumberEnd: 4845
    functionName: valueClearDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void valueClearDatum(SValue *pVal, int8_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - aColData
    - nColData
    - flag
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1035
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1035
    functionName: tRowNoneUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowNoneUpsertColData(SColData *aColData, int32_t nColData,
      int32_t flag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2648,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2653,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2650,1
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:2656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2661
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2661
    functionName: tColDataGetValue7
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - tColDataGetValue4
    - GET_BIT2
    - COL_VAL_NULL
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue7(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4074,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4078,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4085,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4092
      start: 4062
    functionDepth: 0
    functionLinenumber: 4062
    functionLinenumberEnd: 4092
    functionName: tColDataCalcSMADouble
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMADouble(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 4
    argNames:
    - aColData
    - nColData
    - pSchema
    - flag
    argTypes:
    - SColData*
    - int32_t
    - STSchema*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1070
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1070
    functionName: tRowNullUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowNullUpsertColData(SColData *aColData, int32_t nColData,
      STSchema *pSchema, int32_t flag) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4106,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4110,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4117,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4124
      start: 4094
    functionDepth: 0
    functionLinenumber: 4094
    functionLinenumberEnd: 4124
    functionName: tColDataCalcSMAUTinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAUTinyInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:148,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:180,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:170,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:149,1
    - Dst: tRowBuildScanAddValue
      Src: /src/tdengine/source/common/src/tdataformat.c:181,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:182,1
    - Dst: tRowBuildScanAddNull
      Src: /src/tdengine/source/common/src/tdataformat.c:183,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:184,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:185,1
    - Dst: tRowBuildScanAddNone
      Src: /src/tdengine/source/common/src/tdataformat.c:191,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:227,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:222,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:231,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:237,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:258,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 120
    argCount: 3
    argNames:
    - colVals
    - schema
    - sinfo
    argTypes:
    - SArray*
    - STSchema*
    - SRowBuildScanInfo*
    constantsTouched: []
    func_position:
      end: 267
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 267
    functionName: tRowBuildScan
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - COL_VAL_IS_NONE
    - tPutPrimaryKeyIndex
    - BIT2_SIZE
    - tRowBuildScanAddNone
    - tRowBuildScanAddNull
    - COL_VAL_IS_NULL
    - BIT1_SIZE
    - tRowBuildScanAddValue
    - COL_VAL_IS_VALUE
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowBuildScan(SArray *colVals, const STSchema *schema,
      SRowBuildScanInfo *sinfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuildScan
      Src: /src/tdengine/source/common/src/tdataformat.c:429,1
    - Dst: tRowBuildTupleRow
      Src: /src/tdengine/source/common/src/tdataformat.c:433,1
    - Dst: tRowBuildKVRow
      Src: /src/tdengine/source/common/src/tdataformat.c:435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - aColVal
    - pTSchema
    - ppRow
    argTypes:
    - SArray*
    - STSchema*
    - SRow**
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: tRowBuild
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tRowBuildTupleRow
    - tRowBuildKVRow
    - tRowBuildScan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowBuild(SArray *aColVal, const STSchema *pTSchema, SRow
      **ppRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:2299,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:2302,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2306
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2306
    functionName: tColDataUpdateValue20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue00
    - tColDataAppendValue20
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue20(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:3821,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3824,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3826
      start: 3820
    functionDepth: 0
    functionLinenumber: 3820
    functionLinenumberEnd: 3826
    functionName: tDecodeColDataVersion1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tDecodeI8
    - tDecodeColDataVersion0
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeColDataVersion1(SDecoder *pDecoder, SColData
      *pColData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3860,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - ppRow
    argTypes:
    - SDecoder*
    - SRow**
    constantsTouched: []
    func_position:
      end: 3861
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3861
    functionName: tDecodeRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tDecodeBinaryWithSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeRow(SDecoder *pDecoder, SRow **ppRow) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3882,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3893,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3886,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 3900
      start: 3870
    functionDepth: 0
    functionLinenumber: 3870
    functionLinenumberEnd: 3900
    functionName: tColDataCalcSMABool
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMABool(SColData *pColData, SColumnDataAgg
      *pAggs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tBufferPutU8
      Src: /src/tdengine/source/common/src/tdataformat.c:4563,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4566,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:4564,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:4565,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4567,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4568,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4570,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4571,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - info
    - buffer
    argTypes:
    - SValueColumnCompressInfo*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4574
      start: 4559
    functionDepth: 0
    functionLinenumber: 4559
    functionLinenumberEnd: 4574
    functionName: tValueColumnCompressInfoEncode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tBufferPutU8
    - tBufferPutI8
    - tBufferPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnCompressInfoEncode(const SValueColumnCompressInfo
      *info, SBuffer *buffer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:271,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:298,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:281,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:273,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:294,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:303,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:308,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:309,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:311,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:313,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:323,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:325,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:326,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:332,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:320,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:319,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:324,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:315,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 4
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    constantsTouched: []
    func_position:
      end: 341
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 341
    functionName: tRowBuildTupleRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tPutPrimaryKeyIndex
    - TARRAY_DATA
    - COL_VAL_IS_NONE
    - taosMemoryCalloc
    - VALUE_GET_TRIVIAL_DATUM
    - VALUE_GET_DATUM
    - COL_VAL_IS_NULL
    - memcpy
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - ROW_SET_BITMAP
    - TARRAY_SIZE
    - tPutU32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowBuildTupleRow(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema, SRow **ppRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: tBindInfoCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tBindInfoCompare(const void *p1, const void *p2, const
      void *param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2308,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:2315,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:2321,1
    - Dst: tColDataAppendValue10
      Src: /src/tdengine/source/common/src/tdataformat.c:2324,1
    - Dst: tColDataAppendValue30
      Src: /src/tdengine/source/common/src/tdataformat.c:2312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2328
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2328
    functionName: tColDataUpdateValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue20
    - tColDataAppendValue10
    - tColDataAppendValue30
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue30(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2583,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pColData
    - pColVal
    - forward
    argTypes:
    - SColData*
    - SColVal*
    - bool
    constantsTouched: []
    func_position:
      end: 2584
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2584
    functionName: tColDataUpdateValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - VALUE_GET_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataUpdateValue(SColData *pColData, SColVal *pColVal,
      bool forward) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:3830,1
    - Dst: tEncodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:3832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - version
    - pEncoder
    - pColData
    argTypes:
    - uint8_t
    - SEncoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3836
      start: 3828
    functionDepth: 0
    functionLinenumber: 3828
    functionLinenumberEnd: 3836
    functionName: tEncodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tEncodeColDataVersion1
    - tEncodeColDataVersion0
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeColData(uint8_t version, SEncoder *pEncoder, SColData
      *pColData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3914,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3918,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:3925,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 3932
      start: 3902
    functionDepth: 0
    functionLinenumber: 3902
    functionLinenumberEnd: 3932
    functionName: tColDataCalcSMATinyInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMATinyInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tBufferGetU8
      Src: /src/tdengine/source/common/src/tdataformat.c:4580,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4585,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4584,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:4582,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:4583,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4586,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4591,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:4592,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - reader
    - info
    argTypes:
    - SBufferReader*
    - SValueColumnCompressInfo*
    constantsTouched: []
    func_position:
      end: 4598
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4598
    functionName: tValueColumnCompressInfoDecode
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tBufferGetI32v
    - tBufferGetU8
    - tBufferGetI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnCompressInfoDecode(SBufferReader *reader, SValueColumnCompressInfo
      *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - sinfo
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - STColumn*
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: tRowBuildScanAddNull
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tPutI16v
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tRowBuildScanAddNull(SRowBuildScanInfo
      *sinfo, const STColumn *pTColumn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - flag
    - indices
    - offset
    argTypes:
    - uint8_t
    - SKVIdx*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 352
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 352
    functionName: tRowBuildKVRowSetIndex
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tRowBuildKVRowSetIndex(uint8_t flag, SKVIdx
      *indices, uint32_t offset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:762,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:765,1
    - Dst: taosArrayMSort
      Src: /src/tdengine/source/common/src/tdataformat.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - aRowP
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: tRowSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - uError
    - TARRAY_SIZE
    - taosArrayMSort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowSort(SArray *aRowP) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1730,1
    - Dst: tTagValJsonCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:1732,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1742,1
    - Dst: tTagValCmprFn
      Src: /src/tdengine/source/common/src/tdataformat.c:1734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - pTag
    - pTagVal
    argTypes:
    - STag*
    - STagVal*
    constantsTouched: []
    func_position:
      end: 1747
      start: 1698
    functionDepth: 0
    functionLinenumber: 1698
    functionLinenumberEnd: 1747
    functionName: tTagGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memcpy
    - tTagValJsonCmprFn
    - tTagValCmprFn
    - tGetTagVal
    linkageType: ''
    returnType: bool
    signature: 'bool tTagGet(const STag *pTag, STagVal *pTagVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2330,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2340
      start: 2329
    functionDepth: 0
    functionLinenumber: 2329
    functionLinenumberEnd: 2340
    functionName: tColDataUpdateValue32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - SET_BIT1
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue32(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:2862,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:2893,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2889,1
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:2867,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2887,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2895,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2915,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2917,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:2921,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2923,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:2947,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2949,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2941,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2969,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2979,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:2943,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 4
    argNames:
    - input
    - info
    - colData
    - assist
    argTypes:
    - void*
    - SColDataCompressInfo*
    - SColData*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 2981
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2981
    functionName: tColDataDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferInit
    - tColDataClear
    - tBufferDestroy
    - tColDataGetBitValue
    - tRealloc
    - tDecompressData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataDecompress(void *input, SColDataCompressInfo *info,
      SColData *colData, SBuffer *assist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:124,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:131,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:132,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:135,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:136,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - sinfo
    - colVal
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - SColVal*
    - STColumn*
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: tRowBuildScanAddValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tPutU32v
    - tPutI16v
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tRowBuildScanAddValue(SRowBuildScanInfo *sinfo,
      SColVal *colVal, const STColumn *pTColumn) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:355,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:357,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:365,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:381,1
    - Dst: tPutPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:378,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:390,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:391,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:392,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:393,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:394,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:396,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:402,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:409,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:401,1
    - Dst: tRowBuildKVRowSetIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:408,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:403,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:407,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 4
    argNames:
    - aColVal
    - sinfo
    - schema
    - ppRow
    argTypes:
    - SArray*
    - SRowBuildScanInfo*
    - STSchema*
    - SRow**
    constantsTouched: []
    func_position:
      end: 423
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 423
    functionName: tRowBuildKVRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tPutPrimaryKeyIndex
    - TARRAY_DATA
    - taosMemoryCalloc
    - VALUE_GET_TRIVIAL_DATUM
    - VALUE_GET_DATUM
    - tRowBuildKVRowSetIndex
    - COL_VAL_IS_NULL
    - memcpy
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - TARRAY_SIZE
    - tPutU32v
    - tPutI16v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowBuildKVRow(SArray *aColVal, const SRowBuildScanInfo
      *sinfo, const STSchema *schema, SRow **ppRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:776,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:778,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:786,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:783,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:784,1
    - Dst: tRowMergeImpl
      Src: /src/tdengine/source/common/src/tdataformat.c:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - aRowP
    - pTSchema
    - flag
    argTypes:
    - SArray*
    - STSchema*
    - int8_t
    constantsTouched: []
    func_position:
      end: 801
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 801
    functionName: tRowMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tRowMergeImpl
    - tRowGetKey
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowMerge(SArray *aRowP, STSchema *pTSchema, int8_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pTag
    argTypes:
    - SEncoder*
    - STag*
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: tEncodeTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeTag(SEncoder *pEncoder, const STag *pTag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2344,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2352
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2352
    functionName: tColDataUpdateValue40
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue40(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:3010,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:3009,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2997,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdataformat.c:3010,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:3015,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:3016,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdataformat.c:3023,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdataformat.c:3047,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 6
    argNames:
    - pColData
    - type
    - bytes
    - nRows
    - lengthOrbitmap
    - data
    argTypes:
    - SColData*
    - int8_t
    - int32_t
    - int32_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3059
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 3059
    functionName: tColDataAddValueByDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_f
    - varDataLen
    - varDataVal
    - uError
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataAddValueByDataBlock(SColData *pColData, int8_t type,
      int32_t bytes, int32_t nRows, char *lengthOrbitmap, char *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2186,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2191,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2188,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2192
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2192
    functionName: tColDataAppendValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue60(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdataformat.c:465,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdataformat.c:479,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:473,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:483,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:488,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:496,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:500,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:502,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:509,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:513,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:537,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:519,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 73
    argCount: 7
    argNames:
    - infos
    - numOfInfos
    - infoSorted
    - pTSchema
    - rowArray
    - pOrdered
    - pDupTs
    argTypes:
    - SBindInfo*
    - int32_t
    - bool
    - STSchema*
    - SArray*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 539
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 539
    functionName: tRowBuildFromBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - valueSetDatum
    - taosArrayDestroy
    - tRowGetKey
    - taosqsort_r
    - COL_VAL_VALUE
    - tRowBuild
    - taosArrayPush
    - tRowKeyCompare
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    - COL_VAL_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowBuildFromBind(SBindInfo *infos, int32_t numOfInfos, bool
      infoSorted, const STSchema *pTSchema, SArray *rowArray, bool *pOrdered, bool
      *pDupTs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRowNoneUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:1296,1
    - Dst: tRowKVUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:1300,1
    - Dst: tRowNullUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:1298,1
    - Dst: tRowTupleUpsertColData
      Src: /src/tdengine/source/common/src/tdataformat.c:1302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1304
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1304
    functionName: tRowUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tRowTupleUpsertColData
    - tRowKVUpsertColData
    - tRowNoneUpsertColData
    - tRowNullUpsertColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowUpsertColData(SRow *pRow, STSchema *pTSchema, SColData
      *aColData, int32_t nColData, int32_t flag) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1456,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1457,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1466,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1463,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1460,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1469,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1472,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1475,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1478,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1481,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1487,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1490,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1493,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1496,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1484,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 19
    argCount: 5
    argNames:
    - type
    - val
    - vlen
    - tag
    - ln
    argTypes:
    - int8_t
    - void*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1501
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1501
    functionName: debugPrintTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - printf
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void debugPrintTagVal(int8_t type, const void *val, int32_t
      vlen, const char *tag, int32_t ln) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:1753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pDecoder
    - ppTag
    argTypes:
    - SDecoder*
    - STag**
    constantsTouched: []
    func_position:
      end: 1753
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1753
    functionName: tDecodeTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tDecodeBinary
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeTag(SDecoder *pDecoder, STag **ppTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2086,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2086,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2094
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2094
    functionName: tColDataAppendValue31
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue31(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:3840,1
    - Dst: tDecodeColDataVersion1
      Src: /src/tdengine/source/common/src/tdataformat.c:3842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - version
    - pDecoder
    - pColData
    argTypes:
    - uint8_t
    - SDecoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3846
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3846
    functionName: tDecodeColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tDecodeColDataVersion0
    - tDecodeColDataVersion1
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeColData(uint8_t version, SDecoder *pDecoder, SColData
      *pColData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4371,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    constantsTouched: []
    func_position:
      end: 4374
      start: 4368
    functionDepth: 0
    functionLinenumber: 4368
    functionLinenumberEnd: 4374
    functionName: tValueColumnInit
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnInit(SValueColumn *valCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2200,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2206,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2204,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2200,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2204,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2208,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2212
      start: 2193
    functionDepth: 0
    functionLinenumber: 2193
    functionLinenumberEnd: 2212
    functionName: tColDataAppendValue61
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - SET_BIT2_EX
    - tColDataPutValue
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue61(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:597,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:599,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:601,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:641,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:551,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:568,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:561,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:607,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:615,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:626,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:652,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:655,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:556,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:619,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:662,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:637,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:666,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:608,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:638,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:640,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:664,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 142
    argCount: 4
    argNames:
    - pRow
    - pTSchema
    - iCol
    - pColVal
    argTypes:
    - SRow*
    - STSchema*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 671
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 671
    functionName: tRowGet
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tGetU32v
    - COL_VAL_NONE
    - tGetI16v
    - BIT2_SIZE
    - GET_BIT1
    - tGetPrimaryKeyIndex
    - TABS
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - GET_BIT2
    - COL_VAL_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowGet(SRow *pRow, STSchema *pTSchema, int32_t iCol, SColVal
      *pColVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:1318,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1332,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1334,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1327,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - row
    - key
    argTypes:
    - SRow*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1337
    functionName: tRowGetPrimaryKey
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tGetU32v
    - tGetI16v
    - IS_VAR_DATA_TYPE
    - tGetPrimaryKeyIndex
    linkageType: ''
    returnType: void
    signature: 'void tRowGetPrimaryKey(SRow *row, SRowKey *key) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1514,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1528,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:1526,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdataformat.c:1524,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1529,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1530,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1531,1
    - Dst: debugPrintTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1533,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/tdataformat.c:1536,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pTag
    - tag
    - ln
    argTypes:
    - STag*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1537
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1537
    functionName: debugPrintSTag
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - debugPrintTagVal
    - printf
    - POINTER_SHIFT
    - IS_VAR_DATA_TYPE
    - tGetTagVal
    linkageType: ''
    returnType: void
    signature: 'void debugPrintSTag(STag *pTag, const char *tag, int32_t ln) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:1768,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:1781,1
    - Dst: tGetTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1780,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pTag
    - ppArray
    argTypes:
    - STag*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1791
      start: 1755
    functionDepth: 0
    functionLinenumber: 1755
    functionLinenumberEnd: 1791
    functionName: tTagToValArray
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayInit
    - tGetTagVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTagToValArray(const STag *pTag, SArray **ppArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2098,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2098,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2106
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2106
    functionName: tColDataAppendValue32
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue32(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pEncoder
    - pRow
    argTypes:
    - SEncoder*
    - SRow*
    constantsTouched: []
    func_position:
      end: 3848
      start: 3848
    functionDepth: 0
    functionLinenumber: 3848
    functionLinenumberEnd: 3848
    functionName: tEncodeRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tEncodeFixed
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeRow(SEncoder *pEncoder, SRow *pRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4379,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    constantsTouched: []
    func_position:
      end: 4382
      start: 4376
    functionDepth: 0
    functionLinenumber: 4376
    functionLinenumberEnd: 4382
    functionName: tValueColumnDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tValueColumnDestroy(SValueColumn *valCol) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:1084,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:1123,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1103,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1098,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:1120,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:1127,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:1130,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1154,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1151,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 119
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1189
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1189
    functionName: tRowTupleUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - tGetU32v
    - BIT2_SIZE
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - tGetPrimaryKeyIndex
    - GET_BIT2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowTupleUpsertColData(SRow *pRow, STSchema *pTSchema,
      SColData *aColData, int32_t nColData, int32_t flag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2679
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2679
    functionName: tColDataGetValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataGetValue(SColData *pColData, int32_t iVal, SColVal
      *pColVal) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3071,1
    - Dst: igeos
      Src: /src/tdengine/source/common/src/tdataformat.c:3073,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:3090,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:3092,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:3104,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 83
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - igeos
    - cgeos
    argTypes:
    - SColData*
    - TAOS_MULTI_BIND*
    - int32_t
    - initGeosFn
    - checkWKBGeometryFn
    constantsTouched: []
    func_position:
      end: 3144
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3144
    functionName: tColDataAddValueByBind
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memcmp
    - uError
    - igeos
    - IS_VAR_DATA_TYPE
    - cgeos
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataAddValueByBind(SColData *pColData, TAOS_MULTI_BIND
      *pBind, int32_t buffMaxLen, initGeosFn igeos, checkWKBGeometryFn cgeos) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:3578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - aColData
    - nColData
    argTypes:
    - SColData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3579
      start: 3573
    functionDepth: 0
    functionLinenumber: 3573
    functionLinenumberEnd: 3579
    functionName: tColDataSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataMergeSort
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataSort(SColData *aColData, int32_t nColData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:4318,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4322,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4326,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4333,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4340
      start: 4307
    functionDepth: 0
    functionLinenumber: 4307
    functionLinenumberEnd: 4340
    functionName: tColDataCalcSMADecimal128Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataGetBitValue
    - getDecimalOps
    - CALC_DECIMAL_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMADecimal128Type(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4807,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - pVal
    - type
    - pDatum
    - len
    argTypes:
    - SValue*
    - int8_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 4828
      start: 4806
    functionDepth: 0
    functionLinenumber: 4806
    functionLinenumberEnd: 4828
    functionName: valueSetDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'void valueSetDatum(SValue *pVal, int8_t type, void *pDatum, uint32_t
      len) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:1204,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1236,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1234,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1246,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1247,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:1260,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 99
    argCount: 5
    argNames:
    - pRow
    - pTSchema
    - aColData
    - nColData
    - flag
    argTypes:
    - SRow*
    - STSchema*
    - SColData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1286
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1286
    functionName: tRowKVUpsertColData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tGetU32v
    - tGetI16v
    - TABS
    - IS_VAR_DATA_TYPE
    - tGetPrimaryKeyIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowKVUpsertColData(SRow *pRow, STSchema *pTSchema,
      SColData *aColData, int32_t nColData, int32_t flag) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2688,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2692,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2696,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2694,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 2
    argNames:
    - pColData
    - iVal
    argTypes:
    - SColData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2700
      start: 2681
    functionDepth: 0
    functionLinenumber: 2681
    functionLinenumberEnd: 2700
    functionName: tColDataGetBitValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT2
    - GET_BIT1
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t tColDataGetBitValue(const SColData *pColData, int32_t iVal) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3156,1
    - Dst: igeos
      Src: /src/tdengine/source/common/src/tdataformat.c:3158,1
    - Dst: cgeos
      Src: /src/tdengine/source/common/src/tdataformat.c:3182,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:3184,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:3197,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 109
    argCount: 5
    argNames:
    - pColData
    - pBind
    - buffMaxLen
    - igeos
    - cgeos
    argTypes:
    - SColData*
    - TAOS_STMT2_BIND*
    - int32_t
    - initGeosFn
    - checkWKBGeometryFn
    constantsTouched: []
    func_position:
      end: 3258
      start: 3146
    functionDepth: 0
    functionLinenumber: 3146
    functionLinenumberEnd: 3258
    functionName: tColDataAddValueByBind2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memcmp
    - uError
    - igeos
    - IS_VAR_DATA_TYPE
    - cgeos
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataAddValueByBind2(SColData *pColData, TAOS_STMT2_BIND
      *pBind, int32_t buffMaxLen, initGeosFn igeos, checkWKBGeometryFn cgeos) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:3586,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3586,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:3592,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:3610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:3627,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:3599,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3625,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3630,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3591,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:3602,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3606,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:3606,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3609,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:3608,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:3644,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/tdataformat.c:3594,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3606,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:3626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:3611,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3618,1
    - Dst: tColDataUpdateValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3634,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/tdataformat.c:3646,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 1
    argNames:
    - colArr
    argTypes:
    - SArray**
    constantsTouched: []
    func_position:
      end: 3650
      start: 3581
    functionDepth: 0
    functionLinenumber: 3581
    functionLinenumberEnd: 3650
    functionName: tColDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - taosArrayGet
    - TARRAY_DATA
    - tColDataAppendValue
    - tColDataGetValue
    - tColDataArrGetRowKey
    - tRowKeyCompare
    - tColDataUpdateValue
    - taosArrayDestroyEx
    - taosArrayReserve
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataMerge(SArray **colArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4831,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pDst
    - pSrc
    - type
    argTypes:
    - SValue*
    - SValue*
    - int8_t
    constantsTouched: []
    func_position:
      end: 4837
      start: 4830
    functionDepth: 0
    functionLinenumber: 4830
    functionLinenumberEnd: 4837
    functionName: valueCloneDatum
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void valueCloneDatum(SValue *pDst, const SValue *pSrc, int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ppRow
    argTypes:
    - SRow**
    constantsTouched: []
    func_position:
      end: 683
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 683
    functionName: tRowPDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tRowDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tRowPDestroy(SRow **ppRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1442
    functionName: tTagValCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int tTagValCmprFn(const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1982
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1982
    functionName: tColDataAppendValue11
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue11(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3418,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3420,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3416,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3423,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3440,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3444,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3427,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:3435,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:3440,1
    - Dst: SET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:3443,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3431,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3424,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3432,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3410,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3413,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:3424,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3429,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3437,1
    - Dst: ROW_SET_BITMAP
      Src: /src/tdengine/source/common/src/tdataformat.c:3439,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:3432,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:3443,1
    - Dst: tColDataCopyRowCell
      Src: /src/tdengine/source/common/src/tdataformat.c:3444,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 4
    argNames:
    - pFromColData
    - iFromRow
    - pToColData
    - iToRow
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3451
      start: 3403
    functionDepth: 0
    functionLinenumber: 3403
    functionLinenumberEnd: 3451
    functionName: tColDataCopyRowSingleCol
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - TAOS_CHECK_RETURN
    - tColDataCopyRowCell
    - SET_BIT2
    - ROW_SET_BITMAP
    - GET_BIT2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataCopyRowSingleCol(SColData *pFromColData, int32_t
      iFromRow, SColData *pToColData, int32_t iToRow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3472,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/common/src/tdataformat.c:3476,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - aFromColData
    - iFromRow
    - aToColData
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3483
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3483
    functionName: tColDataCopyRowAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue
    - tColDataGetValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataCopyRowAppend(SColData *aFromColData, int32_t
      iFromRow, SColData *aToColData, int32_t nColData) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:692,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:715,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdataformat.c:706,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/tdataformat.c:699,1
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/common/src/tdataformat.c:701,1
    - Dst: tRowIterNext
      Src: /src/tdengine/source/common/src/tdataformat.c:717,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:721,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:724,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdataformat.c:732,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdataformat.c:740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:754,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/common/src/tdataformat.c:743,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:757,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:756,1
    - Dst: tRowIterClose
      Src: /src/tdengine/source/common/src/tdataformat.c:752,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/common/src/tdataformat.c:744,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 55
    argCount: 5
    argNames:
    - aRowP
    - pTSchema
    - iStart
    - iEnd
    - flag
    argTypes:
    - SArray*
    - STSchema*
    - int32_t
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 759
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 759
    functionName: tRowMergeImpl
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tRowIterOpen
    - taosMemoryFree
    - taosArrayDestroy
    - tRowDestroy
    - taosMemoryCalloc
    - tRowIterNext
    - taosArrayRemoveBatch
    - tRowIterClose
    - COL_VAL_IS_NULL
    - tRowBuild
    - taosArrayPush
    - COL_VAL_IS_VALUE
    - taosArrayInsert
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowMergeImpl(SArray *aRowP, STSchema *pTSchema, int32_t
      iStart, int32_t iEnd, int8_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tdataformat.c:1444,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1445
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1445
    functionName: tTagValJsonCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: 'static int tTagValJsonCmprFn(const void *p1, const void *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1986,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:1991,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:1990,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1998
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 1998
    functionName: tColDataAppendValue12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue12(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataCopyRowSingleCol
      Src: /src/tdengine/source/common/src/tdataformat.c:3458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - aFromColData
    - iFromRow
    - aToColData
    - iToRow
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - SColData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3465
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3465
    functionName: tColDataCopyRow
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataCopyRowSingleCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataCopyRow(SColData *aFromColData, int32_t iFromRow,
      SColData *aToColData, int32_t iToRow, int32_t nColData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataGetValue4
      Src: /src/tdengine/source/common/src/tdataformat.c:3493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - aColData
    - nColData
    - iRow
    - key
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 3499
      start: 3485
    functionDepth: 0
    functionLinenumber: 3485
    functionLinenumberEnd: 3499
    functionName: tColDataArrGetRowKey
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataGetValue4
    linkageType: ''
    returnType: void
    signature: 'void tColDataArrGetRowKey(SColData *aColData, int32_t nColData, int32_t
      iRow, SRowKey *key) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2155,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2158,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2155,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2162
      start: 2152
    functionDepth: 0
    functionLinenumber: 2152
    functionLinenumberEnd: 2162
    functionName: tColDataAppendValue51
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue51(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdataformat.c:1592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1595
    functionName: tTagIsJsonNull
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tTagIsJson
    linkageType: ''
    returnType: bool
    signature: 'bool tTagIsJsonNull(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2216,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2218,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2221,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2222
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2222
    functionName: tColDataAppendValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue62(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue10
      Src: /src/tdengine/source/common/src/tdataformat.c:2277,1
    - Dst: tColDataAppendValue00
      Src: /src/tdengine/source/common/src/tdataformat.c:2280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2282
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2282
    functionName: tColDataUpdateValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue00
    - tColDataAppendValue10
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue10(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2397,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2413,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:2407,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:2404,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2400,1
    - Dst: tColDataAppendValue52
      Src: /src/tdengine/source/common/src/tdataformat.c:2418,1
    - Dst: tColDataAppendValue12
      Src: /src/tdengine/source/common/src/tdataformat.c:2422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2426
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2426
    functionName: tColDataUpdateValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue52
    - tColDataAppendValue12
    - GET_BIT1
    - tColDataAppendValue42
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue52(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2524,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:2532,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2528,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2535,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2535,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:2538,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2544,1
    - Dst: tColDataAppendValue72
      Src: /src/tdengine/source/common/src/tdataformat.c:2549,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2552,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2552,1
    - Dst: tColDataAppendValue32
      Src: /src/tdengine/source/common/src/tdataformat.c:2556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2560
      start: 2523
    functionDepth: 0
    functionLinenumber: 2523
    functionLinenumberEnd: 2560
    functionName: tColDataUpdateValue72
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue72
    - tColDataAppendValue62
    - SET_BIT1
    - tColDataAppendValue32
    - IS_VAR_DATA_TYPE
    - GET_BIT2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataUpdateValue72(SColData *pColData, uint8_t *pData,
      uint32_t nData, bool forward) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3654,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:3678,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3676,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3673,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/tdataformat.c:3655,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3692,1
    - Dst: tColDataSort
      Src: /src/tdengine/source/common/src/tdataformat.c:3692,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3696,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3699,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:3701,1
    - Dst: tColDataMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:3712,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 1
    argNames:
    - arr
    argTypes:
    - SArray**
    constantsTouched: []
    func_position:
      end: 3718
      start: 3652
    functionDepth: 0
    functionLinenumber: 3652
    functionLinenumberEnd: 3718
    functionName: tColDataSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - TAOS_CHECK_RETURN
    - tColDataArrGetRowKey
    - tRowKeyCompare
    - TARRAY_SIZE
    - tColDataSort
    - tColDataMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataSortMerge(SArray **arr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4202,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4213,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4206,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4220
      start: 4190
    functionDepth: 0
    functionLinenumber: 4190
    functionLinenumberEnd: 4220
    functionName: tColDataCalcSMAUBigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAUBigInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2226,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2226,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2231,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2232
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2232
    functionName: tColDataAppendValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT2_SIZE
    - tColDataPutValue
    - tRealloc
    - SET_BIT2_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue70(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:828,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:868,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/common/src/tdataformat.c:843,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:873,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 3
    argNames:
    - pRow
    - pTSchema
    - ppIter
    argTypes:
    - SRow*
    - STSchema*
    - SRowIter**
    constantsTouched: []
    func_position:
      end: 888
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 888
    functionName: tRowIterOpen
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - BIT2_SIZE
    - tGetPrimaryKeyIndex
    - BIT1_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowIterOpen(SRow *pRow, STSchema *pTSchema, SRowIter **ppIter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:1601,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1607,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1614,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdataformat.c:1609,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1614,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1624,1
    - Dst: tPutTagVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1652,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdataformat.c:1652,1
    - Dst: debugPrintSTag
      Src: /src/tdengine/source/common/src/tdataformat.c:1655,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - pArray
    - version
    - isJson
    - ppTag
    argTypes:
    - SArray*
    - int32_t
    - int8_t
    - STag**
    constantsTouched: []
    func_position:
      end: 1662
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1662
    functionName: tTagNew
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosSort
    - taosArrayGet
    - debugPrintSTag
    - taosMemoryCalloc
    - tPutTagVal
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTagNew(SArray *pArray, int32_t version, int8_t isJson, STag
      **ppTag) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2170,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2174,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2176,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2170,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2174,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2178,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2182
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2182
    functionName: tColDataAppendValue52
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - SET_BIT2_EX
    - tColDataPutValue
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue52(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tColDataAppendValue12
      Src: /src/tdengine/source/common/src/tdataformat.c:2287,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:2290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2293
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2293
    functionName: tColDataUpdateValue12
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue02
    - tColDataAppendValue12
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue12(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2429,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:2436,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2432,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2443,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:2439,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2448,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2452
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2452
    functionName: tColDataUpdateValue60
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - tColDataAppendValue60
    - tColDataPutValue
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue40
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue60(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2563
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2563
    functionName: tColDataUpdateNothing
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateNothing(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:3723,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3724,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:3725,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3726,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3733,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3733,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3737,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3737,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3746,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3747,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:3750,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3756,1
    - Dst: tEncodeFixed
      Src: /src/tdengine/source/common/src/tdataformat.c:3753,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3762
      start: 3720
    functionDepth: 0
    functionLinenumber: 3720
    functionLinenumberEnd: 3762
    functionName: tEncodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeFixed
    - BIT2_SIZE
    - tEncodeI32v
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - tEncodeI16v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeColDataVersion0(SEncoder *pEncoder, SColData
      *pColData) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:4242,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:4249,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 23
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4257
      start: 4222
    functionDepth: 0
    functionLinenumber: 4222
    functionLinenumberEnd: 4257
    functionName: tColDataCalcSMAVarType
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT2
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAVarType(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2048
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2048
    functionName: tColDataAppendValue22
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue22(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - sinfo
    - pTColumn
    argTypes:
    - SRowBuildScanInfo*
    - STColumn*
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: tRowBuildScanAddNone
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tRowBuildScanAddNone(SRowBuildScanInfo
      *sinfo, const STColumn *pTColumn) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2056,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2060,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2056,1
    - Dst: SET_BIT2_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2062,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2060,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:2064,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2068,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2070,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2072,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2075,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2081,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2077,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2082
      start: 2049
    functionDepth: 0
    functionLinenumber: 2049
    functionLinenumberEnd: 2082
    functionName: tColDataAppendValue30
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - GET_BIT1
    - BIT2_SIZE
    - tFree
    - SET_BIT2_EX
    - memset
    - tColDataPutValue
    - IS_VAR_DATA_TYPE
    - tRealloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue30(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1948
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1948
    functionName: tColDataAppendValue02
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue02(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2358,1
    - Dst: tColDataAppendValue42
      Src: /src/tdengine/source/common/src/tdataformat.c:2363,1
    - Dst: tColDataAppendValue02
      Src: /src/tdengine/source/common/src/tdataformat.c:2367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2371
      start: 2353
    functionDepth: 0
    functionLinenumber: 2353
    functionLinenumberEnd: 2371
    functionName: tColDataUpdateValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue02
    - tColDataAppendValue42
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue42(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3517,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:3519,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:3520,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:3529,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3533,1
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:3542,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/common/src/tdataformat.c:3512,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3521,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:3533,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:3507,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3523,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3524,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3537,1
    - Dst: tColDataArrGetRowKey
      Src: /src/tdengine/source/common/src/tdataformat.c:3516,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3520,1
    - Dst: tColDataCopyRowAppend
      Src: /src/tdengine/source/common/src/tdataformat.c:3523,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/tdataformat.c:3529,1
    - Dst: tColDataCopyRow
      Src: /src/tdengine/source/common/src/tdataformat.c:3537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:3544,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 5
    argNames:
    - aColData
    - start
    - mid
    - end
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3548
      start: 3501
    functionDepth: 0
    functionLinenumber: 3501
    functionLinenumberEnd: 3548
    functionName: tColDataMergeSortMerge
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - taosMemoryFree
    - taosMemoryCalloc
    - tColDataCopyRowAppend
    - TAOS_CHECK_RETURN
    - tColDataCopyRow
    - tColDataArrGetRowKey
    - tRowKeyCompare
    - tColDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataMergeSortMerge(SColData *aColData, int32_t
      start, int32_t mid, int32_t end, int32_t nColData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4387,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - valCol
    argTypes:
    - SValueColumn*
    constantsTouched: []
    func_position:
      end: 4390
      start: 4384
    functionDepth: 0
    functionLinenumber: 4384
    functionLinenumberEnd: 4390
    functionName: tValueColumnClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferClear
    linkageType: ''
    returnType: void
    signature: 'void tValueColumnClear(SValueColumn *valCol) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4615,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4620,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4626,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4628,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4644,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4648,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:4650,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4652,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4658,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4662,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4675,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4679,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 5
    argNames:
    - input
    - // input
    - info
    - // compress info
    - output
    - // output
    - outputSize
    - // output size
    - buffer
    - // assistant buffer provided by caller, can be NULL
    argTypes:
    - void*
    - SCompressInfo*
    - void*
    - int32_t
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4684
      start: 4600
    functionDepth: 0
    functionLinenumber: 4600
    functionLinenumberEnd: 4684
    functionName: tCompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferInit
    - tBufferEnsureCapacity
    - DEFINE_VAR
    - tBufferDestroy
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCompressData(void *input, // input SCompressInfo *info, //
      compress info void *output, // output int32_t outputSize, // output size SBuffer
      *buffer // assistant buffer provided by caller, can be NULL) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tPutCStr
      Src: /src/tdengine/source/common/src/tdataformat.c:1545,1
    - Dst: tPutI8
      Src: /src/tdengine/source/common/src/tdataformat.c:1551,1
    - Dst: tPutBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:1555,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1554,1
    - Dst: tPutI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1547,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1563
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1563
    functionName: tPutTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tPutI8
    - tPutCStr
    - memcpy
    - IS_VAR_DATA_TYPE
    - tPutI16v
    - tPutBinary
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tPutTagVal(uint8_t *p, STagVal *pTagVal, int8_t isJson) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:1952,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:1957,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1963,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:1956,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1953,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1965,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:1967,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1970,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:1972,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1976,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1977
      start: 1949
    functionDepth: 0
    functionLinenumber: 1949
    functionLinenumberEnd: 1977
    functionName: tColDataAppendValue10
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memset
    - tColDataPutValue
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue10(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2373,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2376,1
    - Dst: tColDataAppendValue40
      Src: /src/tdengine/source/common/src/tdataformat.c:2383,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:2380,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2387,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2395
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2395
    functionName: tColDataUpdateValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue50
    - GET_BIT1
    - tColDataPutValue
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue40
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue50(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:3560,1
    - Dst: tColDataMergeSortMerge
      Src: /src/tdengine/source/common/src/tdataformat.c:3570,1
    - Dst: tColDataMergeSort
      Src: /src/tdengine/source/common/src/tdataformat.c:3565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - aColData
    - start
    - end
    - nColData
    argTypes:
    - SColData*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3571
      start: 3550
    functionDepth: 0
    functionLinenumber: 3550
    functionLinenumberEnd: 3571
    functionName: tColDataMergeSort
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataMergeSortMerge
    - tColDataMergeSort
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColDataMergeSort(SColData *aColData, int32_t start,
      int32_t end, int32_t nColData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4403,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:4411,1
    - Dst: tBufferGetSize
      Src: /src/tdengine/source/common/src/tdataformat.c:4404,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/common/src/tdataformat.c:4407,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/common/src/tdataformat.c:4404,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:4411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - valCol
    - value
    argTypes:
    - SValueColumn*
    - SValue*
    constantsTouched: []
    func_position:
      end: 4417
      start: 4392
    functionDepth: 0
    functionLinenumber: 4392
    functionLinenumberEnd: 4417
    functionName: tValueColumnAppend
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - VALUE_GET_DATUM
    - tBufferPutI32
    - tBufferPut
    - IS_VAR_DATA_TYPE
    - tBufferGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnAppend(SValueColumn *valCol, const SValue *value) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4702,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4706,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4712,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4714,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4730,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4737,1
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tdataformat.c:4739,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:4741,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/common/src/tdataformat.c:4746,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4773,1
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4750,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/common/src/tdataformat.c:4766,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 5
    argNames:
    - input
    - // input
    - info
    - // compress info
    - output
    - // output
    - outputSize
    - // output size
    - buffer
    - // assistant buffer provided by caller, can be NULL
    argTypes:
    - void*
    - SCompressInfo*
    - void*
    - int32_t
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4777
      start: 4686
    functionDepth: 0
    functionLinenumber: 4686
    functionLinenumberEnd: 4777
    functionName: tDecompressData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferInit
    - tBufferEnsureCapacity
    - DEFINE_VAR
    - tBufferDestroy
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecompressData(void *input, // input const SCompressInfo
      *info, // compress info void *output, // output int32_t outputSize, // output
      size SBuffer *buffer // assistant buffer provided by caller, can be NULL) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tGetCStr
      Src: /src/tdengine/source/common/src/tdataformat.c:1569,1
    - Dst: tGetI8
      Src: /src/tdengine/source/common/src/tdataformat.c:1575,1
    - Dst: tGetBinary
      Src: /src/tdengine/source/common/src/tdataformat.c:1579,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:1571,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1578,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1581,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - p
    - pTagVal
    - isJson
    argTypes:
    - uint8_t*
    - STagVal*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1586
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1586
    functionName: tGetTagVal
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tGetI16v
    - IS_VAR_DATA_TYPE
    - tGetI8
    - memcpy
    - tGetBinary
    - tGetCStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetTagVal(uint8_t *p, STagVal *pTagVal, int8_t isJson) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1795,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/tdataformat.c:1841,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1829,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - aSchema
    - numOfCols
    - version
    argTypes:
    - SSchema*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1845
      start: 1794
    functionDepth: 0
    functionLinenumber: 1794
    functionLinenumberEnd: 1845
    functionName: tBuildTSchema
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - TD_BITMAP_BYTES
    linkageType: ''
    returnType: STSchema*
    signature: 'STSchema *tBuildTSchema(SSchema *aSchema, int32_t numOfCols, int32_t
      version) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pColData
    - cid
    - type
    - cflag
    argTypes:
    - SColData*
    - int16_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1881
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1881
    functionName: tColDataInit
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataClear
    linkageType: ''
    returnType: void
    signature: 'void tColDataInit(SColData *pColData, int16_t cid, int8_t type, int8_t
      cflag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:1935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1936
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1936
    functionName: tColDataAppendValue00
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue00(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1588
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1588
    functionName: tTagIsJson
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tTagIsJson(const void *pTag) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1855
    functionName: tTColumnCompare
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tTColumnCompare(const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColData*
    constantsTouched: []
    func_position:
      end: 1890
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1890
    functionName: tColDataClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tColDataClear(SColData *pColData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1942
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1942
    functionName: tColDataAppendValue01
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue01(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:2270,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pColData
    - pColVal
    argTypes:
    - SColData*
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2271
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2271
    functionName: tColDataAppendValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - VALUE_GET_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tColDataAppendValue(SColData *pColData, SColVal *pColVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SRow*
    constantsTouched: []
    func_position:
      end: 675
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 675
    functionName: tRowDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tRowDestroy(SRow *pRow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pTag
    argTypes:
    - STag*
    constantsTouched: []
    func_position:
      end: 1666
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1666
    functionName: tTagFree
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tTagFree(STag *pTag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataClear
      Src: /src/tdengine/source/common/src/tdataformat.c:1897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColData*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1898
    functionName: tColDataDeepClear
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataClear
    linkageType: ''
    returnType: void
    signature: 'void tColDataDeepClear(SColData *pColData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2132,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2139,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2136,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2133,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2140
      start: 2126
    functionDepth: 0
    functionLinenumber: 2126
    functionLinenumberEnd: 2140
    functionName: tColDataAppendValue42
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memset
    - tColDataPutValue
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue42(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4010,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4014,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4021,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4028
      start: 3998
    functionDepth: 0
    functionLinenumber: 3998
    functionLinenumberEnd: 4028
    functionName: tColDataCalcSMABigInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMABigInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:679,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/common/src/tdataformat.c:680,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/common/src/tdataformat.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 682
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 682
    functionName: tRowPCmprFn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tRowGetKey
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowPCmprFn(const void *p1, const void *p2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1679,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdataformat.c:1689,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdataformat.c:1690,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1690,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1680,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - value
    - isJson
    argTypes:
    - STagVal*
    - bool
    constantsTouched: []
    func_position:
      end: 1696
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1696
    functionName: tTagValToData
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - varDataLen
    - taosMemoryCalloc
    - varDataVal
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: char*
    signature: 'char *tTagValToData(const STagVal *value, bool isJson) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1903,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1904,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1918,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1911,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:1909,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdataformat.c:1921,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:1923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1931
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1931
    functionName: tColDataPutValue
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - tRealloc
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataPutValue(SColData *pColData, uint8_t
      *pData, uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2144,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2147,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2144,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2151
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2151
    functionName: tColDataAppendValue50
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - tColDataPutValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue50(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4042,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4053,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4046,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4060
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4060
    functionName: tColDataCalcSMAFloat
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAFloat(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1870,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1872,1
    - Dst: tFree
      Src: /src/tdengine/source/common/src/tdataformat.c:1871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - ph
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1874
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1874
    functionName: tColDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tFree
    linkageType: ''
    returnType: void
    signature: 'void tColDataDestroy(void *ph) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2002,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2003,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2007,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2006,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2013,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2015,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2017,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2020,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2022,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2026,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2027
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2027
    functionName: tColDataAppendValue20
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - memset
    - tColDataPutValue
    - BIT1_SIZE
    - IS_VAR_DATA_TYPE
    - tRealloc
    - SET_BIT1_EX
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue20(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2454,1
    - Dst: tColDataAppendValue62
      Src: /src/tdengine/source/common/src/tdataformat.c:2463,1
    - Dst: tColDataAppendValue20
      Src: /src/tdengine/source/common/src/tdataformat.c:2467,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2471
      start: 2453
    functionDepth: 0
    functionLinenumber: 2453
    functionLinenumberEnd: 2471
    functionName: tColDataUpdateValue62
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue62
    - IS_VAR_DATA_TYPE
    - tColDataAppendValue20
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue62(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2588
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2588
    functionName: tColDataGetValue1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue1(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:3767,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3770,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3768,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3781,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:3769,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3781,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3785,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:3785,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:3794,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3795,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3801,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/tdataformat.c:3798,1
    - Dst: tDecodeBinaryWithSize
      Src: /src/tdengine/source/common/src/tdataformat.c:3805,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 46
    argCount: 2
    argNames:
    - pDecoder
    - pColData
    argTypes:
    - SDecoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3812
      start: 3764
    functionDepth: 0
    functionLinenumber: 3764
    functionLinenumberEnd: 3812
    functionName: tDecodeColDataVersion0
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tDecodeI16v
    - BIT2_SIZE
    - tDecodeBinaryWithSize
    - BIT1_SIZE
    - tDecodeI8
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeColDataVersion0(SDecoder *pDecoder, SColData
      *pColData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4488,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4509,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4495,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - valCol
    - info
    - output
    - assist
    argTypes:
    - SValueColumn*
    - SValueColumnCompressInfo*
    - SBuffer*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4516
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4516
    functionName: tValueColumnCompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tCompressDataToBuffer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnCompress(SValueColumn *valCol, SValueColumnCompressInfo
      *info, SBuffer *output, SBuffer *assist) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/common/src/tdataformat.c:2031,1
    - Dst: SET_BIT1_EX
      Src: /src/tdengine/source/common/src/tdataformat.c:2036,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdataformat.c:2035,1
    - Dst: tRealloc
      Src: /src/tdengine/source/common/src/tdataformat.c:2032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pColData
    - pData
    - nData
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2043
      start: 2028
    functionDepth: 0
    functionLinenumber: 2028
    functionLinenumberEnd: 2043
    functionName: tColDataAppendValue21
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - BIT1_SIZE
    - tRealloc
    - SET_BIT1_EX
    - memset
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataAppendValue21(SColData *pColData,
      uint8_t *pData, uint32_t nData) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2475,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2479,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:2483,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2486,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2486,1
    - Dst: tColDataAppendValue60
      Src: /src/tdengine/source/common/src/tdataformat.c:2489,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2495,1
    - Dst: tColDataAppendValue70
      Src: /src/tdengine/source/common/src/tdataformat.c:2499,1
    - Dst: SET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2502,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:2502,1
    - Dst: tColDataAppendValue50
      Src: /src/tdengine/source/common/src/tdataformat.c:2505,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2511,1
    - Dst: tColDataPutValue
      Src: /src/tdengine/source/common/src/tdataformat.c:2516,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 4
    argNames:
    - pColData
    - pData
    - nData
    - forward
    argTypes:
    - SColData*
    - uint8_t*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 2522
      start: 2472
    functionDepth: 0
    functionLinenumber: 2472
    functionLinenumberEnd: 2522
    functionName: tColDataUpdateValue70
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataAppendValue50
    - tColDataAppendValue60
    - SET_BIT1
    - tColDataAppendValue70
    - tColDataPutValue
    - IS_VAR_DATA_TYPE
    - GET_BIT2
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tColDataUpdateValue70(SColData *pColData,
      uint8_t *pData, uint32_t nData, bool forward) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2591
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2591
    functionName: tColDataGetValue2
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_NULL
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue2(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeColDataVersion0
      Src: /src/tdengine/source/common/src/tdataformat.c:3815,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/tdataformat.c:3817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pEncoder
    - pColData
    argTypes:
    - SEncoder*
    - SColData*
    constantsTouched: []
    func_position:
      end: 3818
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3818
    functionName: tEncodeColDataVersion1
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeColDataVersion0
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeColDataVersion1(SEncoder *pEncoder, SColData
      *pColData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:4282,1
    - Dst: getDecimalOps
      Src: /src/tdengine/source/common/src/tdataformat.c:4283,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4298,1
    - Dst: CALC_DECIMAL_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4287,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 23
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4305
      start: 4271
    functionDepth: 0
    functionLinenumber: 4271
    functionLinenumberEnd: 4305
    functionName: tColDataCalcSMADecimal64Type
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tColDataGetBitValue
    - getDecimalOps
    - CALC_DECIMAL_SUM_MAX_MIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMADecimal64Type(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/common/src/tdataformat.c:4522,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4551,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/common/src/tdataformat.c:4535,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:4525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - input
    - info
    - valCol
    - assist
    argTypes:
    - void*
    - SValueColumnCompressInfo*
    - SValueColumn*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4557
      start: 4518
    functionDepth: 0
    functionLinenumber: 4518
    functionLinenumberEnd: 4557
    functionName: tValueColumnDecompress
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - tDecompressDataToBuffer
    - tValueColumnClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tValueColumnDecompress(void *input, const SValueColumnCompressInfo
      *info, SValueColumn *valCol, SBuffer *assist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/tdataformat.c:1862,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTSchema
    - cid
    argTypes:
    - STSchema*
    - int16_t
    constantsTouched: []
    func_position:
      end: 1863
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1863
    functionName: tTSchemaSearchColumn
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosbsearch
    linkageType: ''
    returnType: STColumn*
    signature: 'const STColumn *tTSchemaSearchColumn(const STSchema *pTSchema, int16_t
      cid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdataformat.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - ppIter
    argTypes:
    - SRowIter**
    constantsTouched: []
    func_position:
      end: 896
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 896
    functionName: tRowIterClose
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tRowIterClose(SRowIter **ppIter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:2594,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:2599,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:2596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2604
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2604
    functionName: tColDataGetValue3
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - COL_VAL_NULL
    - GET_BIT1
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue3(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4138,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4149,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4142,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4156
      start: 4126
    functionDepth: 0
    functionLinenumber: 4126
    functionLinenumberEnd: 4156
    functionName: tColDataCalcSMATinyUSmallInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMATinyUSmallInt(SColData *pColData,
      SColumnDataAgg *pAggs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4782,1
    - Dst: tCompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4785,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:4785,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4790
      start: 4779
    functionDepth: 0
    functionLinenumber: 4779
    functionLinenumberEnd: 4790
    functionName: tCompressDataToBuffer
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferEnsureCapacity
    - tCompressData
    - tBufferGetDataEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCompressDataToBuffer(void *input, SCompressInfo *info, SBuffer
      *output, SBuffer *assist) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdataformat.c:910,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:941,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:947,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:961,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:980,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:962,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:1014,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/common/src/tdataformat.c:937,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:915,1
    - Dst: TABS
      Src: /src/tdengine/source/common/src/tdataformat.c:939,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:955,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:969,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:977,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdataformat.c:965,1
    - Dst: GET_BIT1
      Src: /src/tdengine/source/common/src/tdataformat.c:984,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:997,1
    - Dst: GET_BIT2
      Src: /src/tdengine/source/common/src/tdataformat.c:987,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdataformat.c:920,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:948,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/tdataformat.c:994,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:1005,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/common/src/tdataformat.c:1007,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 113
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SRowIter*
    constantsTouched: []
    func_position:
      end: 1022
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 1022
    functionName: tRowIterNext
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tGetU32v
    - COL_VAL_NONE
    - tGetI16v
    - GET_BIT1
    - uError
    - TABS
    - IS_VAR_DATA_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - GET_BIT2
    - COL_VAL_NULL
    linkageType: ''
    returnType: SColVal*
    signature: 'SColVal *tRowIterNext(SRowIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdataformat.c:2607,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdataformat.c:2615,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdataformat.c:2618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pColData
    - iVal
    - pColVal
    argTypes:
    - SColData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 2619
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2619
    functionName: tColDataGetValue4
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - COL_VAL_VALUE
    - IS_VAR_DATA_TYPE
    - valueSetDatum
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataGetValue4(SColData *pColData, int32_t
      iVal, SColVal *pColVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4170,1
    - Dst: CALC_SUM_MAX_MIN
      Src: /src/tdengine/source/common/src/tdataformat.c:4181,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/common/src/tdataformat.c:4174,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - pColData
    - pAggs
    argTypes:
    - SColData*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 4188
      start: 4158
    functionDepth: 0
    functionLinenumber: 4158
    functionLinenumberEnd: 4188
    functionName: tColDataCalcSMAUInt
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - CALC_SUM_MAX_MIN
    - tColDataGetBitValue
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tColDataCalcSMAUInt(SColData *pColData, SColumnDataAgg
      *pAggs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/common/src/tdataformat.c:4795,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/common/src/tdataformat.c:4798,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/common/src/tdataformat.c:4798,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - input
    - info
    - output
    - assist
    argTypes:
    - void*
    - SCompressInfo*
    - SBuffer*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 4803
      start: 4792
    functionDepth: 0
    functionLinenumber: 4792
    functionLinenumberEnd: 4803
    functionName: tDecompressDataToBuffer
    functionSourceFile: /src/tdengine/source/common/src/tdataformat.c
    functionUses: []
    functionsReached:
    - tBufferEnsureCapacity
    - tBufferGetDataEnd
    - tDecompressData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecompressDataToBuffer(void *input, SCompressInfo *info,
      SBuffer *output, SBuffer *assist) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:102,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:105,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:113,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:133,1
    - Dst: getDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:114,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:145,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:148,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 153
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 153
    functionName: colDataSetValHelp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - colDataSetNull_f_s
    - memcpy
    - getDataLen
    - memmove
    - IS_VAR_DATA_TYPE
    - colDataClearNull_f
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t colDataSetValHelp(SColumnInfoData* pColumnInfoData,
      uint32_t rowIndex, const char* pData, bool isNull) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uWarn
      Src: /src/tdengine/source/common/src/tdatablock.c:255,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:266,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:268,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:271,1
    - Dst: log
      Src: /src/tdengine/source/common/src/tdatablock.c:266,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:275,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:283,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 6
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - itemLen
    - numOfRows
    - trimValue
    argTypes:
    - struct SColumnInfoData*
    - int32_t
    - char*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 296
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 296
    functionName: doCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - uWarn
    - IS_VAR_DATA_TYPE
    - memcpy
    - log
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCopyNItems(struct SColumnInfoData* pColumnInfoData,
      int32_t currentRow, const char* pData, int32_t itemLen, int32_t numOfRows, bool
      trimValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:156,1
    - Dst: colDataSetValHelp
      Src: /src/tdengine/source/common/src/tdatablock.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: colDataSetVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - colDataSetValHelp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataSetVal(SColumnInfoData* pColumnInfoData, uint32_t rowIndex,
      const char* pData, bool isNull) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:301,1
    - Dst: colDataReserve
      Src: /src/tdengine/source/common/src/tdatablock.c:308,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:303,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:305,1
    - Dst: doCopyNItems
      Src: /src/tdengine/source/common/src/tdatablock.c:315,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    - trimValue
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 316
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 316
    functionName: colDataSetNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataReserve
    - doCopyNItems
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataSetNItems(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData, uint32_t numOfRows, bool trimValue) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1612,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1622,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1619,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1622,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1613,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1627,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1629,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1629,1
    - Dst: taosMemoryMallocAlign
      Src: /src/tdengine/source/common/src/tdatablock.c:1636,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1644,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1645,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1658,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - pColumn
    - pBlockInfo
    - numOfRows
    - clearPayload
    argTypes:
    - SColumnInfoData*
    - SDataBlockInfo*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1663
      start: 1604
    functionDepth: 0
    functionLinenumber: 1604
    functionLinenumberEnd: 1663
    functionName: doEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryMallocAlign
    - taosMemoryRealloc
    - memset
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doEnsureCapacity(SColumnInfoData* pColumn, const SDataBlockInfo*
      pBlockInfo, uint32_t numOfRows, bool clearPayload) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:789,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:792,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:791,1
    - Dst: colDataAssignNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:797,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pDest
    - pSrc
    - srcIdx
    - numOfRows
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 805
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 805
    functionName: blockDataMergeNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - colDataAssignNRows
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataMergeNRows(SSDataBlock* pDest, const SSDataBlock*
      pSrc, int32_t srcIdx, int32_t numOfRows) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1142,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1159,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1147,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1156,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1154,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1159,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1160,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1166,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1168,1
    - Dst: colDataIsNNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1183,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1184,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - pBlock
    - buf
    - capacity
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1191
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1191
    functionName: blockDataFromBuf1
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - taosMemoryRealloc
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataIsNNull
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataFromBuf1(SSDataBlock* pBlock, const char* buf, size_t
      capacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1395,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1404,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1408,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1398,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1405,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1412,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1416,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pDataBlock
    - pCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1394
    functionDepth: 0
    functionLinenumber: 1394
    functionLinenumberEnd: 1417
    functionName: copyBackToBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void copyBackToBlock(SSDataBlock* pDataBlock, SColumnInfoData*
      pCols) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1579,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1597
    functionName: blockDataReset
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void blockDataReset(SSDataBlock* pDataBlock) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2063,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2065,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2070,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2089,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2085,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2086,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2089,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2094,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2099,1
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2033,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2058,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2056,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2073,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2073,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2039,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2072,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2080,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2054,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2088,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2078,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2095,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2095,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2102,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 3
    argNames:
    - pDataBlock
    - copyData
    - pResBlock
    argTypes:
    - SSDataBlock*
    - bool
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2113
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2113
    functionName: createOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - colDataAssign
    - taosArrayGetSize
    - blockDataDestroy
    - copyPkVal
    - uError
    - tstrerror
    - createDataBlock
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createOneDataBlock(const SSDataBlock* pDataBlock, bool copyData,
      SSDataBlock** pResBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:813,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:817,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:824,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:819,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:826,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:830,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:831,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:838,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:838,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:842,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - pBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 848
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 848
    functionName: blockDataShrinkNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - taosArrayGet
    - memset
    - BMCharPos
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataClearNull_f
    - BitPos
    linkageType: ''
    returnType: void
    signature: 'void blockDataShrinkNRows(SSDataBlock* pBlock, int32_t numOfRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1197,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1199,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1211
    functionName: blockDataGetRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetRowSize(SSDataBlock* pBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - rows
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 1430
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1430
    functionName: createTupleIndex
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t*
    signature: 'static int32_t * createTupleIndex(size_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2120,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2123,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2135,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2123,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2136,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2140,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2146,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2155,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2155,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2156,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - pDataBlock
    - pColArray
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SArray*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2158
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2158
    functionName: createOneDataBlockWithColArray
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - blockDataAppendColInfo
    - taosArrayGetSize
    - tstrerror
    - blockDataDestroy
    - uError
    - QUERY_CHECK_NULL
    - createDataBlock
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createOneDataBlockWithColArray(const SSDataBlock* pDataBlock,
      SArray* pColArray, SSDataBlock** pResBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:321,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:331,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:326,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:322,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:332,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:339,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:339,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pColumnInfoData
    - currentRow
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 347
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 347
    functionName: colDataSetNItemsNull
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - memset
    - BMCharPos
    - IS_VAR_DATA_TYPE
    - BitPos
    - colDataSetNull_f
    linkageType: ''
    returnType: void
    signature: 'void colDataSetNItemsNull(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, uint32_t numOfRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNItemsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:369,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:374,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:382,1
    - Dst: colDataCopyAndReassign
      Src: /src/tdengine/source/common/src/tdatablock.c:375,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: colDataCopyNItems
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - colDataSetNItemsNull
    - colDataCopyAndReassign
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataCopyNItems(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData, uint32_t numOfRows, bool isNull) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:455,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:489,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:495,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:479,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:458,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:501,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:501,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:502,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:502,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:506,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:506,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:507,1
    - Dst: doBitmapMerge
      Src: /src/tdengine/source/common/src/tdatablock.c:514,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:507,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:518,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 5
    argNames:
    - pColumnInfoData
    - numOfRow1
    - capacity
    - pSource
    - numOfRow2
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t*
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 523
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 523
    functionName: colDataMergeCol
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryRealloc
    - memset
    - memcpy
    - IS_VAR_DATA_TYPE
    - doBitmapMerge
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataMergeCol(SColumnInfoData* pColumnInfoData, int32_t
      numOfRow1, int32_t* capacity, const SColumnInfoData* pSource, int32_t numOfRow2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:351,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pColumnInfoData
    - currentRow
    - pData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: colDataCopyAndReassign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataCopyAndReassign(SColumnInfoData* pColumnInfoData, uint32_t
      currentRow, const char* pData, uint32_t numOfRows) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:404,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:408,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:408,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:408,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:413,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:414,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:416,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:416,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:420,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:423,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:425,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:424,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - pColumnInfoData
    - numOfRow1
    - pSource
    - numOfRow2
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 438
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 438
    functionName: doBitmapMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - memcpy
    - BitPos
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void doBitmapMerge(SColumnInfoData* pColumnInfoData, int32_t
      numOfRow1, const SColumnInfoData* pSource, int32_t numOfRow2) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:535,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:537,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:550,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:539,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:553,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:553,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:555,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - pColumnInfoData
    - pSource
    - numOfRows
    - pBlockInfo
    argTypes:
    - SColumnInfoData*
    - SColumnInfoData*
    - int32_t
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 562
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 562
    functionName: colDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - IS_VAR_DATA_TYPE
    - memcpy
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataAssign(SColumnInfoData* pColumnInfoData, const SColumnInfoData*
      pSource, int32_t numOfRows, const SDataBlockInfo* pBlockInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2258,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2264,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - index
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - int32_t
    - SColumnInfoData**
    constantsTouched: []
    func_position:
      end: 2270
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2270
    functionName: bdGetColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t bdGetColumnInfoData(const SSDataBlock* pBlock, int32_t index,
      SColumnInfoData** pColInfoData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3091,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3092,1
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tdatablock.c:3095,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ctbName
    - groupId
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3096
      start: 3089
    functionDepth: 0
    functionLinenumber: 3089
    functionLinenumberEnd: 3096
    functionName: alreadyAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - memcmp
    linkageType: ''
    returnType: bool
    signature: 'bool alreadyAddGroupId(char* ctbName, int64_t groupId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2273,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2287,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2279,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2306,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2292,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2318,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - pBlock
    - pageSize
    - extraSize
    argTypes:
    - SSDataBlock*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2324
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2324
    functionName: blockDataGetCapacityInRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - uError
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetCapacityInRow(const SSDataBlock* pBlock, size_t
      pageSize, int32_t extraSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:3099,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3101,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3108,1
    - Dst: buildCtbNameByGroupIdImpl
      Src: /src/tdengine/source/common/src/tdatablock.c:3106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - pName
    argTypes:
    - char*
    - uint64_t
    - char**
    constantsTouched: []
    func_position:
      end: 3114
      start: 3098
    functionDepth: 0
    functionLinenumber: 3098
    functionLinenumberEnd: 3114
    functionName: buildCtbNameByGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - QRY_PARAM_CHECK
    - buildCtbNameByGroupIdImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildCtbNameByGroupId(const char* stbFullName, uint64_t groupId,
      char** pName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tdatablock.c:1262,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1267,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1282,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1266,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1281,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1284,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:1284,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1294,1
    - Dst: fn
      Src: /src/tdengine/source/common/src/tdatablock.c:1297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 29
    argCount: 3
    argNames:
    - p1
    - p2
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1306
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1306
    functionName: dataBlockCompar
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - tTagIsJson
    - fn
    - colDataGetData
    - getKeyComparFunc
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dataBlockCompar(const void* p1, const void* p2, const void*
      param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ctbName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3087
      start: 3087
    functionDepth: 0
    functionLinenumber: 3087
    functionLinenumberEnd: 3087
    functionName: isAutoTableName
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'bool isAutoTableName(char* ctbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:2481,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2490,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2488,1
    - Dst: colDataKeepFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    constantsTouched: []
    func_position:
      end: 2500
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2500
    functionName: blockDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataEmpty
    - taosArrayGetSize
    - taosArrayGet
    - colDataKeepFirstNRows
    linkageType: ''
    returnType: void
    signature: 'void blockDataKeepFirstNRows(SSDataBlock* pBlock, size_t n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3055,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3067,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:3059,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3061,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3070,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3071,1
    - Dst: strncat
      Src: /src/tdengine/source/common/src/tdatablock.c:3072,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:3080,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 4
    argNames:
    - stbName
    - ctbName
    - groupId
    - cap
    argTypes:
    - char*
    - char*
    - uint64_t
    - size_t
    constantsTouched: []
    func_position:
      end: 3083
      start: 3048
    functionDepth: 0
    functionLinenumber: 3048
    functionLinenumberEnd: 3083
    functionName: buildCtbNameAddGroupId
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - snprintf
    - strncat
    - tstrerror
    - strlen
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildCtbNameAddGroupId(const char* stbName, char* ctbName,
      uint64_t groupId, size_t cap) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3206,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3260,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3262,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3291,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:3283,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3296,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3257,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3264,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:3287,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3186,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/tdatablock.c:3237,1
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3246,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3250,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3278,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3297,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3276,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3270,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3322,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3236,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3302,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3315,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 103
    argCount: 4
    argNames:
    - pBlock
    - data
    - dataBuflen
    - numOfCols
    argTypes:
    - SSDataBlock*
    - char*
    - size_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 3325
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3325
    functionName: blockEncode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - varDataTLen
    - htonl
    - taosArrayGet
    - taosSetPUInt64Aligned
    - blockDataCheck
    - colDataIsNull_s
    - blockDataGetSerialMetaSize
    - fillBytesForDecimalType
    - IS_DECIMAL_TYPE
    - uError
    - memcpy
    - colDataGetLength
    - getJsonValueLen
    - memmove
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockEncode(const SSDataBlock* pBlock, char* data, size_t
      dataBuflen, int32_t numOfCols) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2526,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2529,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2529,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2547,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2510,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2511,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2507,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2513,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2535,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2533,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2516,1
    - Dst: taosEncodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2524,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:2532,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2512,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2514,1
    - Dst: taosEncodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2521,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2522,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2523,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2527,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2540,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2542,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2544,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 56
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void**
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2551
      start: 2502
    functionDepth: 0
    functionLinenumber: 2502
    functionLinenumberEnd: 2551
    functionName: tEncodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - varDataTLen
    - taosArrayGet
    - taosEncodeBinary
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    - colDataGetLength
    - getJsonValueLen
    - taosEncodeFixedBool
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosEncodeFixedI16
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeDataBlock(void** buf, const SSDataBlock* pBlock) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3380,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:3391,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3407,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3428,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3413,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3428,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3440,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3371,1
    - Dst: taosSetPUInt64Aligned
      Src: /src/tdengine/source/common/src/tdatablock.c:3359,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/common/src/tdatablock.c:3381,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3412,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3341,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3364,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/tdatablock.c:3400,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3417,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3429,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3438,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3386,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3439,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3455,1
    - Dst: blockDataCheck
      Src: /src/tdengine/source/common/src/tdatablock.c:3462,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    argCount: 3
    argNames:
    - pBlock
    - pData
    - pEndPos
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 3469
      start: 3327
    functionDepth: 0
    functionLinenumber: 3327
    functionLinenumberEnd: 3469
    functionName: blockDecode
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - extractDecimalTypeInfoFromBytes
    - htonl
    - BitmapLen
    - taosArrayGet
    - taosSetPUInt64Aligned
    - blockDataCheck
    - blockDataEnsureCapacity
    - taosMemoryRealloc
    - colDataIsNull_s
    - IS_DECIMAL_TYPE
    - uError
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDecode(SSDataBlock* pBlock, const char* pData, const
      char** pEndPos) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1011,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1020,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1017,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1016,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1020,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1021,1
    - Dst: colDataGetLength
      Src: /src/tdengine/source/common/src/tdatablock.c:1024,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1029,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1034,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1036,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1044,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1038,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - char*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1051
    functionName: blockDataToBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - varDataTLen
    - taosArrayGet
    - memcpy
    - colDataGetLength
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataToBuf(char* buf, const SSDataBlock* pBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1691,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1693,1
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pDataBlock
    - numOfRows
    argTypes:
    - SSDataBlock*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1706
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1706
    functionName: blockDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - doEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataEnsureCapacity(SSDataBlock* pDataBlock, uint32_t
      numOfRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:219,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:224,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - pColumnInfoData
    - dstRowIdx
    - srcRowIdx
    - pData
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - uint32_t
    - char*
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: colDataReassignVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - colDataClearNull_f
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataReassignVal(SColumnInfoData* pColumnInfoData, uint32_t
      dstRowIdx, uint32_t srcRowIdx, const char* pData) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:930,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:944,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:957,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:937,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:942,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:959,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:960,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:968,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:970,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:974,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:976,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:977,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - pBlock
    - startIndex
    - rowCount
    - pResBlock
    argTypes:
    - SSDataBlock*
    - int32_t
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 988
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 988
    functionName: blockDataExtractBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - createOneDataBlock
    - taosArrayGet
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - colDataIsNull_s
    - colDataGetData
    - blockDataDestroy
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataExtractBlock(SSDataBlock* pBlock, int32_t startIndex,
      int32_t rowCount, SSDataBlock** pResBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - numOfCols
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1223
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1223
    functionName: blockDataGetSerialMetaSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetSerialMetaSize(uint32_t numOfCols) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:1933,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:1940,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1951,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1953,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1955,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:1960,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1962,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1967,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1974,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:1981,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:1984,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1989,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1987,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1975,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1977,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 3
    argNames:
    - pDataBlock
    - rowIdx
    - pResBlock
    argTypes:
    - SSDataBlock*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1998
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1998
    functionName: blockCopyOneRow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - taosArrayGet
    - blockDataAppendColInfo
    - blockDataEnsureCapacity
    - colDataSetVal
    - colDataGetData
    - taosArrayGetSize
    - blockDataDestroy
    - createDataBlock
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockCopyOneRow(const SSDataBlock* pDataBlock, int32_t rowIdx,
      SSDataBlock** pResBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2003,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2012,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2011,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2019,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2015,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2020,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2023,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2027,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SDataBlockInfo*
    - SDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2030
    functionName: copyPkVal
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - uError
    - QUERY_CHECK_NULL
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyPkVal(SDataBlockInfo* pDst, const SDataBlockInfo* pSrc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:231,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:240,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pColumnInfoData
    - newSize
    argTypes:
    - SColumnInfoData*
    - size_t
    constantsTouched: []
    func_position:
      end: 250
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 250
    functionName: colDataReserve
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t colDataReserve(SColumnInfoData* pColumnInfoData, size_t
      newSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1228,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1236,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1244
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1244
    functionName: blockDataGetSerialRowSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: double
    signature: 'double blockDataGetSerialRowSize(const SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1713,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1726,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1720,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1715,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1727,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1728
    functionName: blockDataFreeRes
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - colDataDestroy
    - memset
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void blockDataFreeRes(SSDataBlock* pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:720,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:733,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:738,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:738,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:743,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:743,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:749,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:709,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:724,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:725,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:730,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:730,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:736,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:742,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:744,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:748,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:729,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:731,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:732,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:735,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:732,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:748,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:748,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:751,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:752,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:715,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:735,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:738,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:735,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:739,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:745,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:745,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:746,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:751,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:751,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 3
    argNames:
    - pDataBlock
    - pkColumnIndex
    - asc
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 757
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 757
    functionName: blockDataUpdatePkRange
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - IS_NUMERIC_TYPE
    - varDataLen
    - typeGetTypeModFromColInfo
    - colDataGetData
    - varDataVal
    - GET_TYPED_DATA
    - memcpy
    - taosArrayGetSize
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataUpdatePkRange(SSDataBlock* pDataBlock, int32_t pkColumnIndex,
      bool asc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1668,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1675,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1675,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:1671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pColumn
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1678
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1678
    functionName: colInfoDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - IS_VAR_DATA_TYPE
    - memset
    linkageType: ''
    returnType: void
    signature: 'void colInfoDataCleanup(SColumnInfoData* pColumn, uint32_t numOfRows) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:3121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3136,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3127,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3142,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tdatablock.c:3133,1
    - Dst: buildChildTableName
      Src: /src/tdengine/source/common/src/tdatablock.c:3144,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3149,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - stbFullName
    - groupId
    - cname
    argTypes:
    - char*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 3155
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3155
    functionName: buildCtbNameByGroupIdImpl
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - buildChildTableName
    - taosArrayDestroy
    - strlen
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildCtbNameByGroupIdImpl(const char* stbFullName, uint64_t
      groupId, char* cname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:765,1
    - Dst: colDataMergeCol
      Src: /src/tdengine/source/common/src/tdatablock.c:771,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pDest
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 781
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 781
    functionName: blockDataMerge
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - colDataMergeCol
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataMerge(SSDataBlock* pDest, const SSDataBlock* pSrc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pColumn
    - numOfRows
    - clearPayload
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: colInfoDataEnsureCapacity
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - doEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colInfoDataEnsureCapacity(SColumnInfoData* pColumn, uint32_t
      numOfRows, bool clearPayload) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isAutoTableName
      Src: /src/tdengine/source/common/src/tdatablock.c:3163,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3163,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3165,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3168,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3166,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3169,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3170,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tdatablock.c:3172,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:3173,1
    - Dst: buildCtbNameByGroupId
      Src: /src/tdengine/source/common/src/tdatablock.c:3176,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:3177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - parTbName
    - stbFullName
    - gid
    - newSubTableRule
    - dstTableName
    argTypes:
    - char*
    - char*
    - uint64_t
    - bool
    - char**
    constantsTouched: []
    func_position:
      end: 3182
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3182
    functionName: buildSinkDestTableName
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - alreadyAddGroupId
    - isAutoTableName
    - taosMemoryCalloc
    - tstrncpy
    - buildCtbNameAddGroupId
    - TSDB_CHECK_NULL
    - buildCtbNameByGroupId
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSinkDestTableName(char* parTbName, const char* stbFullName,
      uint64_t gid, bool newSubTableRule, char** dstTableName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 672
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 672
    functionName: blockDataGetNumOfRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetNumOfRows(const SSDataBlock* pBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1309,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1317,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1328,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1319,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1312,1
    - Dst: colDataSetNull_f_s
      Src: /src/tdengine/source/common/src/tdatablock.c:1329,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - pCols
    - pDataBlock
    - index
    argTypes:
    - SColumnInfoData*
    - SSDataBlock*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1336
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1336
    functionName: blockDataAssign
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataIsNull_f
    - taosArrayGet
    - colDataSetNull_f_s
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void blockDataAssign(SColumnInfoData* pCols, const SSDataBlock*
      pDataBlock, const int32_t* index) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:1541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1545
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1545
    functionName: blockDataCleanup
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataEmpty
    linkageType: ''
    returnType: void
    signature: 'void blockDataCleanup(SSDataBlock* pDataBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:1796,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1798,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1806,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1803,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1805,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1811,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1820,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1821,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1824,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1825,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:1831,1
    - Dst: copyPkVal
      Src: /src/tdengine/source/common/src/tdatablock.c:1829,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:1831,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1837
    functionName: copyDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataAssign
    - copyPkVal
    - tstrerror
    - uError
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t copyDataBlock(SSDataBlock* pDst, const SSDataBlock* pSrc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:679,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:698,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:686,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:696,1
    - Dst: TMAX
      Src: /src/tdengine/source/common/src/tdatablock.c:699,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pDataBlock
    - tsColumnIndex
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 702
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 702
    functionName: blockDataUpdateTsWindow
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataGetData
    - TMAX
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataUpdateTsWindow(SSDataBlock* pDataBlock, int32_t tsColumnIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1341,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1352,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1346,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1358,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1360,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1363,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1364,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1371,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1371,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1372,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1390,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - pDataBlock
    - ppCols
    argTypes:
    - SSDataBlock*
    - SColumnInfoData**
    constantsTouched: []
    func_position:
      end: 1392
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1392
    functionName: createHelpColInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - colDataDestroy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createHelpColInfoData(const SSDataBlock* pDataBlock,
      SColumnInfoData** ppCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1553,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1557,1
    - Dst: colInfoDataCleanup
      Src: /src/tdengine/source/common/src/tdatablock.c:1562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1569
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1569
    functionName: blockDataEmpty
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    - colInfoDataCleanup
    linkageType: ''
    returnType: void
    signature: 'void blockDataEmpty(SSDataBlock* pDataBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:1840,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1858,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:1856,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1867,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1843,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1874,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1884,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1891,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1901,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1908,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:1917,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:1927,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:1928,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - type
    - pBlock
    argTypes:
    - EStreamType
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 1930
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1930
    functionName: createSpecialDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - taosArrayPush
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createSpecialDataBlock(EStreamType type, SSDataBlock** pBlock) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3723,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3725,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3732,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3733,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3736,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3749,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3751,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3765,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3775,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:3775,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3704,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3718,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:3731,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3759,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3739,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3762,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3717,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3737,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3743,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3755,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/common/src/tdatablock.c:3772,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3776,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/common/src/tdatablock.c:3779,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3716,1
    - Dst: BLOCK_DATA_CHECK_TRESSA
      Src: /src/tdengine/source/common/src/tdatablock.c:3757,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3772,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:3772,1
    - Dst: colDataGetNumData
      Src: /src/tdengine/source/common/src/tdatablock.c:3775,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:3779,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:3779,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 97
    argCount: 1
    argNames:
    - pDataBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3787
      start: 3699
    functionDepth: 0
    functionLinenumber: 3699
    functionLinenumberEnd: 3787
    functionName: blockDataCheck
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosArrayGet
    - BLOCK_DATA_CHECK_TRESSA
    - colDataGetNumData
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - GET_TYPED_DATA
    - IS_DECIMAL_TYPE
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataCheck(const SSDataBlock* pDataBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2165,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:2169,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2174,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2181,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2183,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2202,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2180,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:2183,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2176,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2201,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2170,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:2170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2173,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2189,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2169,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2166,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2172,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2177,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pDataBlock
    - pOrgBlock
    - pResBlock
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2204
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2204
    functionName: createOneDataBlockWithTwoBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - createOneDataBlock
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataAssign
    - colDataSetNNULL
    - tstrerror
    - blockDataDestroy
    - uError
    - QUERY_CHECK_NULL
    - taosArrayGetSize
    - QRY_PARAM_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createOneDataBlockWithTwoBlock(const SSDataBlock* pDataBlock,
      const SSDataBlock* pOrgBlock, SSDataBlock** pResBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:51,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:57,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:55,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:59,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:57,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pColumnInfoData
    - rowIdx
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 60
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 60
    functionName: colDataGetRowLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataGetData
    - colDataIsNull_s
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataGetRowLength(const SColumnInfoData* pColumnInfoData,
      int32_t rowIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:63,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: colDataGetFullLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataGetFullLength(const SColumnInfoData* pColumnInfoData,
      int32_t numOfRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: QRY_PARAM_CHECK
      Src: /src/tdengine/source/common/src/tdatablock.c:2207,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2216,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pResBlock
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 2222
      start: 2206
    functionDepth: 0
    functionLinenumber: 2206
    functionLinenumberEnd: 2222
    functionName: createDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - QRY_PARAM_CHECK
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataBlock(SSDataBlock** pResBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:76,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:84,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/common/src/tdatablock.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: getJsonValueLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - tTagIsJson
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getJsonValueLen(const char* data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3674,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:3679,1
    - Dst: dataBlockCompar
      Src: /src/tdengine/source/common/src/tdatablock.c:3686,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3692
      start: 3666
    functionDepth: 0
    functionLinenumber: 3666
    functionLinenumberEnd: 3692
    functionName: blockDataGetSortedRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - dataBlockCompar
    - taosArrayGetSize
    - taosArrayGet
    - getKeyComparFunc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataGetSortedRows(SSDataBlock* pDataBlock, SArray* pOrderInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:92,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - type
    - pData
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: getDataLen
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - getJsonValueLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDataLen(int32_t type, const char* pData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2331,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2332,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pColData
    argTypes:
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 2338
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2338
    functionName: colDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void colDataDestroy(SColumnInfoData* pColData) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3478,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3500,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3589,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3481,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3515,1
    - Dst: colDataSetNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:3516,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:3520,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/common/src/tdatablock.c:3534,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3572,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3588,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3622,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3474,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3488,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:3498,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3533,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3535,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3555,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3549,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3571,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3605,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3621,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3491,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:3505,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:3528,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3523,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:3525,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:3556,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3604,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:3638,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:3640,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:3656,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 138
    argCount: 3
    argNames:
    - pBlock
    - totalRows
    - pBoolList
    argTypes:
    - SSDataBlock*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 3660
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3660
    functionName: trimDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - colDataIsNull_var
    - varDataTLen
    - taosMemoryFree
    - taosArrayGet
    - colDataSetNull_var
    - taosMemoryMalloc
    - colDataIsNull_f
    - colDataSetVal
    - taosMemoryCalloc
    - colDataGetVarData
    - memset
    - memcpy
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - colDataSetNull_f
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t trimDataBlock(SSDataBlock* pBlock, int32_t totalRows, const
      bool* pBoolList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:25,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:34,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:32,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pColumnInfoData
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 48
    functionName: colDataGetLength
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - IS_VAR_DATA_TYPE
    - getJsonValueLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataGetLength(const SColumnInfoData* pColumnInfoData, int32_t
      numOfRows) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2341,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2345,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - nullBitmap
    - n
    - total
    argTypes:
    - char*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2379
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2379
    functionName: doShiftBitmap
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void doShiftBitmap(char* nullBitmap, size_t n, size_t total) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetSerialMetaSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3663,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3663,1
    - Dst: blockDataGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:3663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 3664
      start: 3662
    functionDepth: 0
    functionLinenumber: 3662
    functionLinenumberEnd: 3664
    functionName: blockGetEncodeSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - blockDataGetSerialMetaSize
    - blockDataGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockGetEncodeSize(const SSDataBlock* pBlock) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:585,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:615,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:624,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:626,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:642,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:600,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:655,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:662,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:574,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:591,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:593,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:579,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:626,1
    - Dst: colDataClearNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:645,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:651,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:603,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:605,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:632,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:634,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:641,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:636,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:635,1
    - Dst: BitPos
      Src: /src/tdengine/source/common/src/tdatablock.c:632,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:652,1
    - Dst: BMCharPos
      Src: /src/tdengine/source/common/src/tdatablock.c:635,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 129
    argCount: 5
    argNames:
    - pDst
    - dstIdx
    - pSrc
    - srcIdx
    - numOfRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColumnInfoData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 668
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 668
    functionName: colDataAssignNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - colDataIsNull_f
    - taosMemoryRealloc
    - colDataGetVarData
    - colDataSetNull_f
    - memcpy
    - BMCharPos
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - colDataIsNull_var
    - colDataClearNull_f
    - BitPos
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataAssignNRows(SColumnInfoData* pDst, int32_t dstIdx,
      const SColumnInfoData* pSrc, int32_t srcIdx, int32_t numOfRows) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2688,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2735,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2747,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2759,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2763,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2771,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2780,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2812,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2802,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2791,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2714,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:2719,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2777,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2778,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2779,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tdatablock.c:2787,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2787,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tdatablock.c:2814,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/tdatablock.c:2789,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2706,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/common/src/tdatablock.c:2713,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2731,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2739,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2751,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tdatablock.c:2725,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2743,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2767,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2779,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:2781,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2786,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2789,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2683,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2700,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2689,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2722,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/common/src/tdatablock.c:2723,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2725,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2727,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2755,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2788,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2805,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2812,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2781,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2791,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 176
    argCount: 4
    argNames:
    - pDataBlock
    - flag
    - pDataBuf
    - taskIdStr
    argTypes:
    - SSDataBlock*
    - char*
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 2818
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2818
    functionName: dumpBlockData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - formatTimestamp
    - colDataIsNull
    - taosMemoryFree
    - taosArrayGet
    - TAOS_UNUSED
    - varDataLen
    - taosMemoryCalloc
    - taosUcs4ToMbs
    - colDataGetData
    - varDataVal
    - colDataGetVarData
    - memset
    - tstrerror
    - uError
    - memcpy
    - taosArrayGetSize
    - TMIN
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dumpBlockData(SSDataBlock* pDataBlock, const char* flag, char**
      pDataBuf, const char* taskIdStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 670
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 670
    functionName: blockDataGetNumOfCols
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetNumOfCols(const SSDataBlock* pBlock) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2867,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/tdatablock.c:2886,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2904,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2898,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2920,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2930,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2943,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2945,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2964,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2981,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2993,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tdatablock.c:2830,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2842,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2880,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2935,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2944,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2957,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:2963,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2965,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:2972,1
    - Dst: IS_SIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2987,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2998,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/common/src/tdatablock.c:3014,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2989,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2981,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/common/src/tdatablock.c:3037,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2999,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3019,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:3034,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2858,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2869,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/tdatablock.c:2911,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2891,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2905,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/common/src/tdatablock.c:2919,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:2934,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2936,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:2943,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:3038,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:3006,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/common/src/tdatablock.c:3015,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2989,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/tdatablock.c:2996,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2851,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2835,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/common/src/tdatablock.c:2875,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/common/src/tdatablock.c:2910,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:2903,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2912,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/tdatablock.c:2918,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/common/src/tdatablock.c:2941,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2982,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2985,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2990,1
    - Dst: GET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2993,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:3026,1
    - Dst: SET_TYPED_DATA
      Src: /src/tdengine/source/common/src/tdatablock.c:2994,1
    - Dst: typeGetTypeModFromColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:2985,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 165
    argCount: 6
    argNames:
    - ppReq
    - pDataBlock
    - pTSchema
    - uid
    - vgId
    - suid
    argTypes:
    - SSubmitReq2**
    - SSDataBlock*
    - STSchema*
    - int64_t
    - int32_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 3045
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 3045
    functionName: buildSubmitReqFromDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tDestroySubmitTbData
    - varDataLen
    - taosMemoryCalloc
    - uError
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - varDataVal
    - taosArrayPush
    - SET_TYPED_DATA
    - taosArrayGet
    - IS_SIGNED_NUMERIC_TYPE
    - tRowBuild
    - taosMemoryFreeClear
    - COL_VAL_NULL
    - tDestroySubmitReq
    - typeGetTypeModFromColInfo
    - colDataIsNull_s
    - colDataGetVarData
    - GET_TYPED_DATA
    - COL_VAL_VALUE
    - POINTER_SHIFT
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSubmitReqFromDataBlock(SSubmitReq2** ppReq, const SSDataBlock*
      pDataBlock, const STSchema* pTSchema, int64_t uid, int32_t vgId, tb_uid_t suid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEmpty
      Src: /src/tdengine/source/common/src/tdatablock.c:2433,1
    - Dst: colDataTrimFirstNRows
      Src: /src/tdengine/source/common/src/tdatablock.c:2442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2437,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2435,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pBlock
    - n
    argTypes:
    - SSDataBlock*
    - size_t
    constantsTouched: []
    func_position:
      end: 2448
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2448
    functionName: blockDataTrimFirstRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataEmpty
    - taosArrayGetSize
    - taosArrayGet
    - colDataTrimFirstNRows
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataTrimFirstRows(SSDataBlock* pBlock, size_t n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetValHelp
      Src: /src/tdengine/source/common/src/tdatablock.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pColumnInfoData
    - rowIndex
    - pData
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: colDataSetValOrCover
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - colDataSetValHelp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t colDataSetValOrCover(SColumnInfoData* pColumnInfoData, uint32_t
      rowIndex, const char* pData, bool isNull) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1432
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1432
    functionName: destroyTupleIndex
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void destroyTupleIndex(int32_t* index) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/tdatablock.c:2571,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2597,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2558,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/common/src/tdatablock.c:2560,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2561,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2575,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2578,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2581,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2586,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2578,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2589,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/common/src/tdatablock.c:2576,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2570,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/tdatablock.c:2572,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2592,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:2555,1
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/common/src/tdatablock.c:2557,1
    - Dst: taosDecodeFixedI16
      Src: /src/tdengine/source/common/src/tdatablock.c:2559,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2563,1
    - Dst: taosDecodeFixedBool
      Src: /src/tdengine/source/common/src/tdatablock.c:2573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:2606,1
    - Dst: colDataDestroy
      Src: /src/tdengine/source/common/src/tdatablock.c:2610,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - buf
    - pBlock
    argTypes:
    - void*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 2613
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2613
    functionName: tDecodeDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - BitmapLen
    - taosDecodeFixedI8
    - taosDecodeFixedU64
    - taosArrayGet
    - taosDecodeFixedI16
    - colDataDestroy
    - taosDecodeBinary
    - taosDecodeFixedI32
    - uError
    - taosArrayPush
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosDecodeFixedBool
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void * tDecodeDataBlock(const void* buf, SSDataBlock* pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:169,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:210,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/tdatablock.c:211,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:198,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/tdatablock.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 5
    argNames:
    - pColumnInfoData
    - rowIndex
    - pVarData
    - varDataLen
    - isNull
    argTypes:
    - SColumnInfoData*
    - uint32_t
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 214
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 214
    functionName: varColSetVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - varDataVal
    - varDataSetLen
    - memmove
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t varColSetVarData(SColumnInfoData* pColumnInfoData, uint32_t
      rowIndex, const char* pVarData, int32_t varDataLen, bool isNull) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1445,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1460,1
    - Dst: taosSort
      Src: /src/tdengine/source/common/src/tdatablock.c:1479,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1496,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1499,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1509,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1516,1
    - Dst: createHelpColInfoData
      Src: /src/tdengine/source/common/src/tdatablock.c:1519,1
    - Dst: copyBackToBlock
      Src: /src/tdengine/source/common/src/tdatablock.c:1529,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1531,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1500,1
    - Dst: blockDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1526,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1446,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1471,1
    - Dst: getKeyComparFunc
      Src: /src/tdengine/source/common/src/tdatablock.c:1478,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1481,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1482,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1525,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tdatablock.c:1532,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1505,1
    - Dst: createTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1491,1
    - Dst: taosqsort_r
      Src: /src/tdengine/source/common/src/tdatablock.c:1513,1
    - Dst: destroyTupleIndex
      Src: /src/tdengine/source/common/src/tdatablock.c:1521,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/common/src/tdatablock.c:1528,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 76
    argCount: 2
    argNames:
    - pDataBlock
    - pOrderInfo
    argTypes:
    - SSDataBlock*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1538
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1538
    functionName: blockDataSort
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosSort
    - blockDataAssign
    - taosArrayGet
    - copyBackToBlock
    - createHelpColInfoData
    - taosqsort_r
    - createTupleIndex
    - taosGetTimestampUs
    - uDebug
    - getKeyComparFunc
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - destroyTupleIndex
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataSort(SSDataBlock* pDataBlock, SArray* pOrderInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2452,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2462,1
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2460,1
    - Dst: uFatal
      Src: /src/tdengine/source/common/src/tdatablock.c:2469,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2477
      start: 2450
    functionDepth: 0
    functionLinenumber: 2450
    functionLinenumberEnd: 2477
    functionName: colDataKeepFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - memset
    - getJsonValueLen
    - IS_VAR_DATA_TYPE
    - uFatal
    linkageType: ''
    returnType: void
    signature: 'static void colDataKeepFirstNRows(SColumnInfoData* pColInfoData, size_t
      n, size_t total) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/tdatablock.c:2642,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2644,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/tdatablock.c:2647,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2650,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2654,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2656,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tdatablock.c:2658,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tdatablock.c:2668,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/common/src/tdatablock.c:2663,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tdatablock.c:2668,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 69
    argCount: 4
    argNames:
    - buf
    - cap
    - val
    - precision
    argTypes:
    - char*
    - size_t
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 2671
      start: 2615
    functionDepth: 0
    functionLinenumber: 2615
    functionLinenumberEnd: 2671
    functionName: formatTimestamp
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - snprintf
    - tstrerror
    - uError
    - taosLocalTime
    - taosStrfTime
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t formatTimestamp(char* buf, size_t cap, int64_t val,
      int precision) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:869,1
    - Dst: blockDataGetRowSize
      Src: /src/tdengine/source/common/src/tdatablock.c:879,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:897,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/tdatablock.c:896,1
    - Dst: blockDataGetCapacityInRow
      Src: /src/tdengine/source/common/src/tdatablock.c:880,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/common/src/tdatablock.c:899,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:900,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 5
    argNames:
    - pBlock
    - hasVarCol
    - startIndex
    - stopIndex
    - pageSize
    argTypes:
    - SSDataBlock*
    - bool
    - int32_t
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 926
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 926
    functionName: blockDataSplitRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - blockDataGetCapacityInRow
    - IS_VAR_DATA_TYPE
    - colDataGetData
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - blockDataGetRowSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataSplitRows(SSDataBlock* pBlock, bool hasVarCol, int32_t
      startIndex, int32_t* stopIndex, int32_t pageSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/tdatablock.c:2226,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2239,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/tdatablock.c:2232,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pBlock
    - pColInfoData
    argTypes:
    - SSDataBlock*
    - SColumnInfoData*
    constantsTouched: []
    func_position:
      end: 2245
      start: 2224
    functionDepth: 0
    functionLinenumber: 2224
    functionLinenumberEnd: 2245
    functionName: blockDataAppendColInfo
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataAppendColInfo(SSDataBlock* pBlock, SColumnInfoData*
      pColInfoData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1754,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1756,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/common/src/tdatablock.c:1762,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1774,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1768,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1775,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1776,1
    - Dst: colDataAssign
      Src: /src/tdengine/source/common/src/tdatablock.c:1780,1
    - Dst: uTrace
      Src: /src/tdengine/source/common/src/tdatablock.c:1791,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SSDataBlock*
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1793
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1793
    functionName: assignOneDataBlock
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - taosArrayGet
    - blockDataEnsureCapacity
    - colDataAssign
    - uTrace
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t assignOneDataBlock(SSDataBlock* dst, const SSDataBlock* src) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:852,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:854,1
    - Dst: colDataGetFullLength
      Src: /src/tdengine/source/common/src/tdatablock.c:859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: blockDataGetSize
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - colDataGetFullLength
    linkageType: ''
    returnType: size_t
    signature: 'size_t blockDataGetSize(const SSDataBlock* pBlock) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/common/src/tdatablock.c:1058,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tdatablock.c:1064,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1075,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1073,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tdatablock.c:1068,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1078,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1078,1
    - Dst: BitmapLen
      Src: /src/tdengine/source/common/src/tdatablock.c:1079,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1085,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tdatablock.c:1087,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tdatablock.c:1103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - pBlock
    - buf
    argTypes:
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1109
    functionName: blockDataFromBuf
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - BitmapLen
    - taosArrayGet
    - blockDataEnsureCapacity
    - taosMemoryRealloc
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t blockDataFromBuf(SSDataBlock* pBlock, const char* buf) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getJsonValueLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2398,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2406,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2409,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/tdatablock.c:2400,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - pColInfoData
    - start
    - end
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2411
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2411
    functionName: colDataMoveVarData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - getJsonValueLen
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t colDataMoveVarData(SColumnInfoData* pColInfoData, size_t
      start, size_t end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:2414,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tdatablock.c:2419,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2416,1
    - Dst: doShiftBitmap
      Src: /src/tdengine/source/common/src/tdatablock.c:2423,1
    - Dst: memmove
      Src: /src/tdengine/source/common/src/tdatablock.c:2422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - pColInfoData
    - n
    - total
    argTypes:
    - SColumnInfoData*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 2425
      start: 2413
    functionDepth: 0
    functionLinenumber: 2413
    functionLinenumberEnd: 2425
    functionName: colDataTrimFirstNRows
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - doShiftBitmap
    - memset
    - memmove
    linkageType: ''
    returnType: void
    signature: 'static void colDataTrimFirstNRows(SColumnInfoData* pColInfoData, size_t
      n, size_t total) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - type
    - bytes
    - colId
    argTypes:
    - int16_t
    - int32_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 2254
      start: 2247
    functionDepth: 0
    functionLinenumber: 2247
    functionLinenumberEnd: 2254
    functionName: createColumnInfoData
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SColumnInfoData
    signature: 'SColumnInfoData createColumnInfoData(int16_t type, int32_t bytes,
      int16_t colId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1116,1
    - Dst: colDataIsNull_f
      Src: /src/tdengine/source/common/src/tdatablock.c:1128,1
    - Dst: colDataIsNull_var
      Src: /src/tdengine/source/common/src/tdatablock.c:1118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pColumnInfoData
    - startIndex
    - nRows
    argTypes:
    - SColumnInfoData*
    - int32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1135
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1135
    functionName: colDataIsNNull
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - colDataIsNull_var
    - colDataIsNull_f
    linkageType: ''
    returnType: bool
    signature: 'static bool colDataIsNNull(const SColumnInfoData* pColumnInfoData,
      int32_t startIndex, uint32_t nRows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tdatablock.c:1735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1736,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1741,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/common/src/tdatablock.c:1740,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tdatablock.c:1737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pBlock
    argTypes:
    - SSDataBlock*
    constantsTouched: []
    func_position:
      end: 1742
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1742
    functionName: blockDataDestroy
    functionSourceFile: /src/tdengine/source/common/src/tdatablock.c
    functionUses: []
    functionsReached:
    - blockDataFreeRes
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void blockDataDestroy(SSDataBlock* pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/systable.c:643,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pInfosTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 645
    functionName: getInfosDbMeta
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: []
    functionsReached:
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void getInfosDbMeta(const SSysTableMeta** pInfosTableMeta, size_t*
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/systable.c:652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pPerfsTableMeta
    - size
    argTypes:
    - SSysTableMeta**
    - size_t*
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: getPerfDbMeta
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: []
    functionsReached:
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void getPerfDbMeta(const SSysTableMeta** pPerfsTableMeta, size_t*
      size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/common/src/systable.c:658,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/common/src/systable.c:664,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - sysInfo
    - size
    argTypes:
    - bool
    - size_t*
    constantsTouched: []
    func_position:
      end: 670
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 670
    functionName: getVisibleInfosTablesNum
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    linkageType: ''
    returnType: void
    signature: 'void getVisibleInfosTablesNum(bool sysInfo, size_t* size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - sysInfo
    - tableType
    - flags
    argTypes:
    - bool
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 677
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 677
    functionName: invisibleColumn
    functionSourceFile: /src/tdengine/source/common/src/systable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool invisibleColumn(bool sysInfo, int8_t tableType, int8_t flags) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 127
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 127
    functionName: getDefaultCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t getDefaultCompress(uint8_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:189,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:191,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:191,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:189,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:193,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:193,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - level
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 199
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 199
    functionName: columnLevelVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t columnLevelVal(const char* level) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:225,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:231,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:233,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:227,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - encode
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 239
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 239
    functionName: columnEncodeVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t columnEncodeVal(const char* encode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:261,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:262,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:264,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:262,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - encode
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 269
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 269
    functionName: checkColumnEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strlen
    - TAOS_UNUSED
    - strcmp
    - strtolower
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnEncode(char encode[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:278,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:279,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:279,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:281,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - compress
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: checkColumnCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strlen
    - TAOS_UNUSED
    - strcmp
    - strtolower
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnCompress(char compress[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnCompressStr
      Src: /src/tdengine/source/common/src/tcol.c:128,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/tcol.c:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 128
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 128
    functionName: getDefaultCompressStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - columnCompressStr
    - getDefaultCompress
    linkageType: ''
    returnType: char*
    signature: 'const char * getDefaultCompressStr(uint8_t type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:204,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:206,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:208,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:212,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:210,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - compress
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 220
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 220
    functionName: columnCompressVal
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint16_t
    signature: 'uint16_t columnCompressVal(const char* compress) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 258
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 258
    functionName: columnLevelStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * columnLevelStr(uint8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:271,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:272,1
    - Dst: checkColumnEncode
      Src: /src/tdengine/source/common/src/tcol.c:275,1
    - Dst: getDefaultEncodeStr
      Src: /src/tdengine/source/common/src/tcol.c:272,1
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:275,1
    - Dst: columnEncodeVal
      Src: /src/tdengine/source/common/src/tcol.c:275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - type
    - encode
    argTypes:
    - uint8_t
    - char
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: checkColumnEncodeOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - columnEncodeVal
    - validColEncode
    - checkColumnEncode
    - getDefaultEncodeStr
    - tstrncpy
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnEncodeOrSetDefault(uint8_t type, char encode[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:288,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:293,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:289,1
    - Dst: getDefaultCompressStr
      Src: /src/tdengine/source/common/src/tcol.c:289,1
    - Dst: checkColumnCompress
      Src: /src/tdengine/source/common/src/tcol.c:293,1
    - Dst: columnCompressVal
      Src: /src/tdengine/source/common/src/tcol.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - type
    - compress
    argTypes:
    - uint8_t
    - char
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: checkColumnCompressOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - validColCompress
    - checkColumnCompress
    - tstrncpy
    - strlen
    - getDefaultCompressStr
    - columnCompressVal
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnCompressOrSetDefault(uint8_t type, char compress[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEFINE_VAR
      Src: /src/tdengine/source/common/src/tcol.c:437,1
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:438,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:445,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - type
    - cmpr
    argTypes:
    - uint8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 449
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 449
    functionName: validColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - validColCompress
    - validColEncode
    - DEFINE_VAR
    - validColCompressLevel
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t validColCmprByType(uint8_t type, uint32_t cmpr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:296,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tcol.c:302,1
    - Dst: strtolower
      Src: /src/tdengine/source/common/src/tcol.c:297,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/tcol.c:297,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - level
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 308
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 308
    functionName: checkColumnLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - strlen
    - TAOS_UNUSED
    - strcmp
    - strtolower
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnLevel(char level[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - compress
    - l1
    argTypes:
    - uint32_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: setColEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setColEncode(uint32_t* compress, uint8_t l1) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tcol.c:310,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tcol.c:311,1
    - Dst: getDefaultLevelStr
      Src: /src/tdengine/source/common/src/tcol.c:311,1
    - Dst: checkColumnLevel
      Src: /src/tdengine/source/common/src/tcol.c:314,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:314,1
    - Dst: columnLevelVal
      Src: /src/tdengine/source/common/src/tcol.c:314,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - uint8_t
    - char
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: checkColumnLevelOrSetDefault
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - checkColumnLevel
    - columnLevelVal
    - getDefaultLevelStr
    - tstrncpy
    - strlen
    - validColCompressLevel
    linkageType: ''
    returnType: bool
    signature: 'bool checkColumnLevelOrSetDefault(uint8_t type, char level[TSDB_CL_COMPRESS_OPTION_LEN]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - compress
    - l2
    argTypes:
    - uint32_t*
    - uint16_t
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: setColCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setColCompress(uint32_t* compress, uint16_t l2) '
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 79
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 79
    functionName: getDefaultEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t getDefaultEncode(uint8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: getDefaultLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: 'uint8_t getDefaultLevel(uint8_t type) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: columnEncodeStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * columnEncodeStr(uint8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - compress
    - level
    argTypes:
    - uint32_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: setColLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setColLevel(uint32_t* compress, uint8_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: withExtSchema
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool withExtSchema(uint8_t tableType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - type
    - level
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: validColCompressLevel
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t validColCompressLevel(uint8_t type, uint8_t level) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 2
    argNames:
    - type
    - l1
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 425
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 425
    functionName: validColEncode
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t validColEncode(uint8_t type, uint8_t l1) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/common/src/tcol.c:80,1
    - Dst: getDefaultEncode
      Src: /src/tdengine/source/common/src/tcol.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 80
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 80
    functionName: getDefaultEncodeStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - columnEncodeStr
    - getDefaultEncode
    linkageType: ''
    returnType: char*
    signature: 'const char * getDefaultEncodeStr(uint8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: columnLevelStr
      Src: /src/tdengine/source/common/src/tcol.c:131,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/tcol.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: getDefaultLevelStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - columnLevelStr
    - getDefaultLevel
    linkageType: ''
    returnType: char*
    signature: 'const char * getDefaultLevelStr(uint8_t type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint16_t
    constantsTouched: []
    func_position:
      end: 184
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 184
    functionName: columnCompressStr
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * columnCompressStr(uint16_t type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: validColEncode
      Src: /src/tdengine/source/common/src/tcol.c:336,1
    - Dst: setColLevel
      Src: /src/tdengine/source/common/src/tcol.c:341,1
    - Dst: setColEncode
      Src: /src/tdengine/source/common/src/tcol.c:337,1
    - Dst: validColCompress
      Src: /src/tdengine/source/common/src/tcol.c:343,1
    - Dst: setColCompress
      Src: /src/tdengine/source/common/src/tcol.c:340,1
    - Dst: setColCompress
      Src: /src/tdengine/source/common/src/tcol.c:344,1
    - Dst: validColCompressLevel
      Src: /src/tdengine/source/common/src/tcol.c:346,1
    - Dst: setColLevel
      Src: /src/tdengine/source/common/src/tcol.c:347,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - type
    - encode
    - compressType
    - level
    - check
    - compress
    argTypes:
    - uint8_t
    - uint8_t
    - uint16_t
    - uint8_t
    - bool
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: setColCompressByOption
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - validColEncode
    - validColCompress
    - setColCompress
    - setColEncode
    - setColLevel
    - validColCompressLevel
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setColCompressByOption(uint8_t type, uint8_t encode, uint16_t
      compressType, uint8_t level, bool check, uint32_t* compress) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - tableType
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: hasRefCol
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasRefCol(uint8_t tableType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - type
    - l2
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 379
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 379
    functionName: validColCompress
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t validColCompress(uint8_t type, uint8_t l2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getDefaultEncode
      Src: /src/tdengine/source/common/src/tcol.c:429,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/tcol.c:430,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/tcol.c:431,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/common/src/tcol.c:433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - uint8_t
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: createDefaultColCmprByType
    functionSourceFile: /src/tdengine/source/common/src/tcol.c
    functionUses: []
    functionsReached:
    - getDefaultEncode
    - getDefaultLevel
    - getDefaultCompress
    - SET_COMPRESS
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t createDefaultColCmprByType(uint8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/source/common/src/ttime.c:52,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: checkTzPresent
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - forwardToTimeStringEnd
    linkageType: ''
    returnType: bool
    signature: 'bool checkTzPresent(const char* str, int32_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:226,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:278,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:254,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:274,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:224,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:242,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:260,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:232,1
    - Dst: user_mktime64
      Src: /src/tdengine/source/common/src/ttime.c:237,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:242,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:262,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:265,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:281,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:217,1
    - Dst: taosTimeGm
      Src: /src/tdengine/source/common/src/ttime.c:240,1
    - Dst: forwardToTimeStringEnd
      Src: /src/tdengine/source/common/src/ttime.c:247,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:274,1
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:265,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 4
    argNames:
    - timestr
    - time
    - timePrec
    - delim
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 282
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 282
    functionName: parseTimeWithTz
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - parseFraction
    - TAOS_SYSTEM_ERROR
    - TSDB_TICK_PER_SECOND
    - user_mktime64
    - forwardToTimeStringEnd
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosTimeGm
    - parseTimezone
    - taosStrpTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseTimeWithTz(const char* timestr, int64_t* time, int32_t
      timePrec, char delim) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:497,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/ttime.c:499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:502,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/ttime.c:507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:514,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/ttime.c:511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:519,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:524,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:526,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:500,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/common/src/ttime.c:517,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/ttime.c:499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:503,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:513,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/ttime.c:492,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:505,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/common/src/ttime.c:511,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/ttime.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 6
    argNames:
    - type
    - inputData
    - timePrec
    - timeVal
    - tz
    - charsetCxt
    argTypes:
    - int16_t
    - char*
    - int64_t
    - int64_t*
    - timezone_t
    - void*
    constantsTouched: []
    func_position:
      end: 527
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 527
    functionName: convertStringToTimestamp
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosParseTime
    - varDataLen
    - taosMemoryCalloc
    - taosUcs4ToMbs
    - varDataVal
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertStringToTimestamp(int16_t type, char* inputData, int64_t
      timePrec, int64_t* timeVal, timezone_t tz, void* charsetCxt) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:915,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:923,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:918,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:931,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:932,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:937,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:945,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:946,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 1
    argNames:
    - ts
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 950
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 950
    functionName: fmtts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosStrfTime
    - taosLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'const char * fmtts(int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1626,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:1633,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1627,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - formats
    - curIdx
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1635
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1635
    functionName: needMoreDigits
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - isdigit
    linkageType: ''
    returnType: bool
    signature: 'static bool needMoreDigits(SArray* formats, int32_t curIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: recursiveTsmaCheckRecursiveReverse
      Src: /src/tdengine/source/common/src/ttime.c:2089,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - baseInterval
    - baseIdx
    - interval
    - idx
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 2092
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2092
    functionName: recursiveTsmaCheckRecursiveReverse
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - recursiveTsmaCheckRecursiveReverse
    linkageType: ''
    returnType: bool
    signature: 'static bool recursiveTsmaCheckRecursiveReverse(int64_t baseInterval,
      int8_t baseIdx, int64_t interval, int8_t idx, bool checkEq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strnchr
      Src: /src/tdengine/source/common/src/ttime.c:36,1
    - Dst: checkTzPresent
      Src: /src/tdengine/source/common/src/ttime.c:37,1
    - Dst: checkTzPresent
      Src: /src/tdengine/source/common/src/ttime.c:43,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/source/common/src/ttime.c:38,1
    - Dst: parseLocaltimeDst
      Src: /src/tdengine/source/common/src/ttime.c:40,1
    - Dst: parseTimeWithTz
      Src: /src/tdengine/source/common/src/ttime.c:44,1
    - Dst: parseLocaltimeDst
      Src: /src/tdengine/source/common/src/ttime.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 5
    argNames:
    - timestr
    - utime
    - len
    - timePrec
    - tz
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: taosParseTime
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - parseLocaltimeDst
    - checkTzPresent
    - strnchr
    - parseTimeWithTz
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosParseTime(const char* timestr, int64_t* utime, int32_t
      len, int32_t timePrec, timezone_t tz) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 81
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 81
    functionName: forwardToTimeStringEnd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * forwardToTimeStringEnd(char* str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - pTm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: validateTm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool validateTm(struct tm* pTm) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:421,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:488,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:477,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 4
    argNames:
    - time
    - fromPrecision
    - toUnit
    - pRes
    argTypes:
    - int64_t
    - int32_t
    - char
    - int64_t*
    constantsTouched: []
    func_position:
      end: 489
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 489
    functionName: convertTimeFromPrecisionToUnit
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertTimeFromPrecisionToUnit(int64_t time, int32_t fromPrecision,
      char toUnit, int64_t* pRes) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:533,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:539,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:545,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:535,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:541,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:551,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:553,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:557,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:559,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:565,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:562,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:574,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/common/src/ttime.c:568,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:571,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - val
    - unit
    - result
    - timePrecision
    argTypes:
    - int64_t
    - char
    - int64_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 575
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 575
    functionName: getDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - convertTimePrecision
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDuration(int64_t val, char unit, int64_t* result, int32_t
      timePrecision) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:988,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:992,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:992,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:994,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:991,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/ttime.c:995,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:996,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/ttime.c:998,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:999,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 4
    argNames:
    - buf
    - bufLen
    - t
    - precision
    argTypes:
    - char*
    - int32_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1000
    functionName: taosFormatUtcTime
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - tstrncpy
    - TAOS_RETURN
    - taosLocalTime
    - taosStrfTime
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosFormatUtcTime(char* buf, int32_t bufLen, int64_t t, int32_t
      precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTime
      Src: /src/tdengine/source/common/src/ttime.c:2136,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2151,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:2149,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:2141,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:2142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - precision
    - tz
    argTypes:
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 2155
      start: 2130
    functionDepth: 0
    functionLinenumber: 2130
    functionLinenumberEnd: 2155
    functionName: taosGetTimestampToday
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosTime
    - taosLocalTime
    - taosMktime
    - uError
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosGetTimestampToday(int32_t precision, timezone_t tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 632
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 632
    functionName: taosIsLeapYear
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool taosIsLeapYear(int32_t year) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - tm
    - ts
    - precision
    - tz
    argTypes:
    - struct STm*
    - int64_t*
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1044
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1044
    functionName: taosTm2Ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosMktime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTm2Ts(struct STm* tm, int64_t* ts, int32_t precision,
      timezone_t tz) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: keywordSearch
      Src: /src/tdengine/source/common/src/ttime.c:1272,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1302,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1302,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1275,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1275,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1304,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1313,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/ttime.c:1329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1329,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/common/src/ttime.c:1331,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1336,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 2
    argNames:
    - formatStr
    - formats
    argTypes:
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1337
    functionName: parseTsFormat
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - isSeperatorChar
    - taosArrayGetLast
    - keywordSearch
    - taosArrayPush
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseTsFormat(const char* formatStr, SArray* formats) '
  - BBCount: 78
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1650,1
    - Dst: isSeperatorChar
      Src: /src/tdengine/source/common/src/ttime.c:1667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1664,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1737,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1737,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1764,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1764,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1823,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1834,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1843,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1890,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1899,1
    - Dst: checkTm
      Src: /src/tdengine/source/common/src/ttime.c:1934,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1861,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1861,1
    - Dst: taosTm2Ts
      Src: /src/tdengine/source/common/src/ttime.c:1937,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1711,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1720,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1729,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1729,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1711,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1720,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1825,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1836,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1869,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1869,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1895,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1886,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1852,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1895,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1886,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1852,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1660,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1700,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1782,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1782,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1792,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1803,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1812,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1812,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1843,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1673,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1675,1
    - Dst: isspace
      Src: /src/tdengine/source/common/src/ttime.c:1676,1
    - Dst: strArrayCaseSearch
      Src: /src/tdengine/source/common/src/ttime.c:1687,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1744,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1744,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1754,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1754,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1794,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1805,1
    - Dst: needMoreDigits
      Src: /src/tdengine/source/common/src/ttime.c:1877,1
    - Dst: tsFormatStr2Int32
      Src: /src/tdengine/source/common/src/ttime.c:1877,1
    - Dst: adjustYearTo2020
      Src: /src/tdengine/source/common/src/ttime.c:1881,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 291
    argCount: 7
    argNames:
    - s
    - formats
    - ts
    - precision
    - sErrPos
    - fErrIdx
    - tz
    argTypes:
    - char*
    - SArray*
    - int64_t*
    - int32_t
    - char**
    - int32_t*
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1949
      start: 1648
    functionDepth: 0
    functionLinenumber: 1648
    functionLinenumberEnd: 1949
    functionName: char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - isspace
    - isSeperatorChar
    - checkTm
    - taosArrayGet
    - needMoreDigits
    - adjustYearTo2020
    - tsFormatStr2Int32
    - strlen
    - taosTm2Ts
    - taosArrayGetSize
    - strArrayCaseSearch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t char2ts(const char* s, SArray* formats, int64_t* ts,
      int32_t precision, const char** sErrPos, int32_t* fErrIdx, timezone_t tz) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:1953,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1955,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1957,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:1957,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1960,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:1960,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:1961,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - format
    - formats
    - ts
    - precision
    - out
    - outLen
    - tz
    argTypes:
    - char*
    - SArray**
    - int64_t
    - int32_t
    - char*
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1962
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1962
    functionName: taosTs2Char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - parseTsFormat
    - TAOS_RETURN
    - tm2char
    - taosTs2Tm
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTs2Char(const char* format, SArray** formats, int64_t
      ts, int32_t precision, char* out, int32_t outLen, timezone_t tz) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:639,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:648,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:645,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:649,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:650,1
    - Dst: taosIsLeapYear
      Src: /src/tdengine/source/common/src/ttime.c:657,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:664,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:666,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:669,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - t
    - duration
    - unit
    - precision
    - tz
    argTypes:
    - int64_t
    - int64_t
    - char
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 670
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 670
    functionName: taosTimeAdd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosIsLeapYear
    - TSDB_TICK_PER_SECOND
    - IS_CALENDAR_TIME_DURATION
    - uError
    - taosLocalTime
    - taosMktime
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosTimeAdd(int64_t t, int64_t duration, char unit, int32_t
      precision, timezone_t tz) '
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1360,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1377,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1378,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1399,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1394,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1393,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1415,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1429,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1440,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1454,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1487,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1486,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1526,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1534,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1496,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1474,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1500,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1481,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1504,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1365,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1405,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1385,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1405,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1421,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1434,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1444,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1455,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1456,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1464,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1469,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1486,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1492,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1474,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1517,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1521,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1454,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1529,1
    - Dst: abs
      Src: /src/tdengine/source/common/src/ttime.c:1516,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1340,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1343,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1370,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1381,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1400,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1406,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1407,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1448,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1462,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1462,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1522,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1480,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1530,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1515,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/ttime.c:1346,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1355,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1392,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1392,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1414,1
    - Dst: toupper
      Src: /src/tdengine/source/common/src/ttime.c:1414,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1428,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1428,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1463,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1468,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1475,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1525,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1488,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1533,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1476,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 165
    argCount: 4
    argNames:
    - formats
    - tm
    - s
    - outLen
    argTypes:
    - SArray*
    - struct STm*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1541
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1541
    functionName: tm2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - toupper
    - tolower
    - taosArrayGet
    - strncpy
    - sprintf
    - abs
    - strlen
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tm2char(const SArray* formats, const struct STm* tm,
      char* s, int32_t outLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:1969,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1971,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1973,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:1973,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:1975,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1977,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1978,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/ttime.c:1979,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:1979,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1982,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/ttime.c:1985,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1988,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 8
    argNames:
    - format
    - formats
    - tsStr
    - ts
    - precision
    - errMsg
    - errMsgLen
    - tz
    argTypes:
    - char*
    - SArray**
    - char*
    - int64_t*
    - int32_t
    - char*
    - int32_t
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1989
      start: 1964
    functionDepth: 0
    functionLinenumber: 1964
    functionLinenumberEnd: 1989
    functionName: taosChar2Ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - char2ts
    - TAOS_CHECK_RETURN
    - parseTsFormat
    - TAOS_RETURN
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosChar2Ts(const char* format, SArray** formats, const char*
      tsStr, int64_t* ts, int32_t precision, char* errMsg, int32_t errMsgLen, timezone_t
      tz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:100,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:122,1
    - Dst: strnatoi
      Src: /src/tdengine/source/common/src/ttime.c:125,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - str
    - end
    - timePrec
    - pFraction
    argTypes:
    - char*
    - char**
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 130
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 130
    functionName: parseFraction
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - strnatoi
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseFraction(char* str, char** end, int32_t timePrec, int64_t*
      pFraction) '
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 24
    argCount: 3
    argNames:
    - utime
    - fromPrecision
    - toPrecision
    argTypes:
    - int64_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 407
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 407
    functionName: convertTimePrecision
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t convertTimePrecision(int64_t utime, int32_t fromPrecision,
      int32_t toPrecision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/ttime.c:593,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:597,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:599,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:599,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:605,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:608,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 5
    argNames:
    - token
    - tokenlen
    - duration
    - unit
    - timePrecision
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 609
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 609
    functionName: parseAbsoluteDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosStr2Int64
    - SET_ERRNO
    - TAOS_RETURN
    - getDuration
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseAbsoluteDuration(const char* token, int32_t tokenlen,
      int64_t* duration, char* unit, int32_t timePrecision) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrfTime
      Src: /src/tdengine/source/common/src/ttime.c:1017,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1014,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1020,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1022,1
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/ttime.c:1024,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 1028
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1028
    functionName: formatTimestampLocal
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosStrfTime
    - taosLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'char * formatTimestampLocal(char* buf, int64_t val, int precision) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/ttime.c:1257,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1263
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1263
    functionName: keywordSearch
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: TSFormatKeyWord*
    signature: 'static const TSFormatKeyWord * keywordSearch(const char* str) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - year
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1612
      start: 1606
    functionDepth: 0
    functionLinenumber: 1606
    functionLinenumberEnd: 1612
    functionName: adjustYearTo2020
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t adjustYearTo2020(int32_t year) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:1994,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:1998,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1998,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2000,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1996,1
    - Dst: taosTs2Tm
      Src: /src/tdengine/source/common/src/ttime.c:2000,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/ttime.c:2001,1
    - Dst: tm2char
      Src: /src/tdengine/source/common/src/ttime.c:2001,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2004,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2005,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - format
    - ts
    - precision
    - out
    - outLen
    argTypes:
    - char*
    - int64_t
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2006
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2006
    functionName: TEST_ts2char
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - parseTsFormat
    - TAOS_RETURN
    - tm2char
    - taosTs2Tm
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_ts2char(const char* format, int64_t ts, int32_t precision,
      char* out, int32_t outLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/ttime.c:613,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:618,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:623,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:618,1
    - Dst: isdigit
      Src: /src/tdengine/source/common/src/ttime.c:625,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/common/src/ttime.c:626,1
    - Dst: getDuration
      Src: /src/tdengine/source/common/src/ttime.c:629,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 6
    argNames:
    - token
    - tokenLen
    - duration
    - unit
    - timePrecision
    - negativeAllow
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 630
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 630
    functionName: parseNatualDuration
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - isdigit
    - TAOS_SYSTEM_ERROR
    - taosStr2Int64
    - SET_ERRNO
    - TAOS_RETURN
    - getPrecisionUnit
    - getDuration
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseNatualDuration(const char* token, int32_t tokenLen, int64_t*
      duration, char* unit, int32_t timePrecision, bool negativeAllow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:1033,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/ttime.c:1034,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - ts
    - precision
    - tm
    - tz
    argTypes:
    - int64_t
    - int32_t
    - struct STm*
    - timezone_t
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: taosTs2Tm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - TAOS_RETURN
    - taosLocalTime
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTs2Tm(int64_t ts, int32_t precision, struct STm* tm, timezone_t
      tz) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 1267
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1267
    functionName: isSeperatorChar
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isSeperatorChar(char c) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 1
    argNames:
    - tm
    argTypes:
    - struct tm*
    constantsTouched: []
    func_position:
      end: 1623
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1623
    functionName: checkTm
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool checkTm(const struct tm* tm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/ttime.c:2011,1
    - Dst: char2ts
      Src: /src/tdengine/source/common/src/ttime.c:2013,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2015,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:2012,1
    - Dst: parseTsFormat
      Src: /src/tdengine/source/common/src/ttime.c:2012,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/ttime.c:2016,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/ttime.c:2016,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/ttime.c:2018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 4
    argNames:
    - format
    - ts
    - precision
    - tsStr
    argTypes:
    - char*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 2020
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2020
    functionName: TEST_char2ts
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - printf
    - char2ts
    - TAOS_CHECK_RETURN
    - parseTsFormat
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t TEST_char2ts(const char* format, int64_t* ts, int32_t precision,
      const char* tsStr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:156,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/ttime.c:159,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:165,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:162,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:166,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:168,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:172,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:174,1
    - Dst: PARSE
      Src: /src/tdengine/source/common/src/ttime.c:176,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:193,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:181,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 2
    argNames:
    - str
    - tzOffset
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 194
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 194
    functionName: parseTimezone
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - strchr
    - strlen
    - TAOS_RETURN
    - PARSE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseTimezone(char* str, int64_t* tzOffset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:315,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:322,1
    - Dst: validateTm
      Src: /src/tdengine/source/common/src/ttime.c:325,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:317,1
    - Dst: taosStrpTime
      Src: /src/tdengine/source/common/src/ttime.c:324,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:326,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:330,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:335,1
    - Dst: parseFraction
      Src: /src/tdengine/source/common/src/ttime.c:335,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:338,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/ttime.c:339,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 6
    argNames:
    - timestr
    - len
    - utime
    - timePrec
    - delim
    - tz
    argTypes:
    - char*
    - int32_t
    - int64_t*
    - int32_t
    - char
    - timezone_t
    constantsTouched: []
    func_position:
      end: 340
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 340
    functionName: parseLocaltimeDst
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - parseFraction
    - TSDB_TICK_PER_SECOND
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosMktime
    - taosStrpTime
    - validateTm
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseLocaltimeDst(char* timestr, int32_t len, int64_t* utime,
      int32_t timePrec, char delim, timezone_t tz) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:714,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:715,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:719,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:726,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:720,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:727,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - skey
    - ekey
    - interval
    - unit
    - precision
    - order
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - char
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 739
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 739
    functionName: taosTimeCountIntervalForFill
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - TSDB_TICK_PER_SECOND
    - taosLocalTime
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosTimeCountIntervalForFill(int64_t skey, int64_t ekey, int64_t
      interval, char unit, int32_t precision, int32_t order) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - intervalStart
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: taosTimeGetIntervalEnd
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosTimeGetIntervalEnd(int64_t intervalStart, const SInterval*
      pInterval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1552,1
    - Dst: tolower
      Src: /src/tdengine/source/common/src/ttime.c:1552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 13
    argCount: 2
    argNames:
    - arr
    - s
    argTypes:
    - char**
    - char*
    constantsTouched: []
    func_position:
      end: 1556
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1556
    functionName: strArrayCaseSearch
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t strArrayCaseSearch(const char* const* arr, const char*
      s) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseTimezone
      Src: /src/tdengine/source/common/src/ttime.c:201,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - tzStr
    - offset
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: offsetOfTimezone
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - parseTimezone
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t offsetOfTimezone(char* tzStr, int64_t* offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - precision
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 352
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 352
    functionName: getPrecisionUnit
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char getPrecisionUnit(int32_t precision) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/common/src/ttime.c:753,1
    - Dst: taosMktime
      Src: /src/tdengine/source/common/src/ttime.c:772,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:777,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:862,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:835,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:754,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:750,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:774,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:779,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:785,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:854,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:858,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:860,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:791,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:796,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:859,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:749,1
    - Dst: TSDB_TICK_PER_SECOND
      Src: /src/tdengine/source/common/src/ttime.c:828,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:804,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 135
    argCount: 2
    argNames:
    - ts
    - pInterval
    argTypes:
    - int64_t
    - SInterval*
    constantsTouched: []
    func_position:
      end: 866
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 866
    functionName: taosTimeTruncate
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - taosTimeAdd
    - TSDB_TICK_PER_SECOND
    - IS_CALENDAR_TIME_DURATION
    - uError
    - taosLocalTime
    - taosMktime
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosTimeTruncate(int64_t ts, const SInterval* pInterval) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosTimeTruncate
      Src: /src/tdengine/source/common/src/ttime.c:885,1
    - Dst: taosTimeAdd
      Src: /src/tdengine/source/common/src/ttime.c:889,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/ttime.c:892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - interval
    argTypes:
    - SInterval*
    constantsTouched: []
    func_position:
      end: 899
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 899
    functionName: calcIntervalAutoOffset
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - uError
    - taosTimeTruncate
    - taosTimeAdd
    linkageType: ''
    returnType: void
    signature: 'void calcIntervalAutoOffset(SInterval* interval) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1564,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1575,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/ttime.c:1569,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/ttime.c:1568,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1584,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/ttime.c:1589,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - dest
    - str
    - len
    - needMoreDigit
    argTypes:
    - int32_t*
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1604
      start: 1558
    functionDepth: 0
    functionLinenumber: 1558
    functionLinenumberEnd: 1604
    functionName: tsFormatStr2Int32
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - strlen
    - strncpy
    - taosStr2Int64
    linkageType: ''
    returnType: char*
    signature: 'static const char * tsFormatStr2Int32(int32_t* dest, const char* str,
      int32_t len, bool needMoreDigit) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: recursiveTsmaCheckRecursive
      Src: /src/tdengine/source/common/src/ttime.c:2062,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 5
    argNames:
    - baseInterval
    - baseIdx
    - interval
    - idx
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 2074
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2074
    functionName: recursiveTsmaCheckRecursive
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - recursiveTsmaCheckRecursive
    linkageType: ''
    returnType: bool
    signature: 'static bool recursiveTsmaCheckRecursive(int64_t baseInterval, int8_t
      baseIdx, int64_t interval, int8_t idx, bool checkEq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:2106,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2121,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/common/src/ttime.c:2112,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2108,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/common/src/ttime.c:2114,1
    - Dst: GET_UNIT_INDEX
      Src: /src/tdengine/source/common/src/ttime.c:2121,1
    - Dst: recursiveTsmaCheckRecursive
      Src: /src/tdengine/source/common/src/ttime.c:2123,1
    - Dst: recursiveTsmaCheckRecursiveReverse
      Src: /src/tdengine/source/common/src/ttime.c:2125,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - baseInterval
    - baseUnit
    - interval
    - unit
    - precision
    - checkEq
    argTypes:
    - int64_t
    - int8_t
    - int64_t
    - int8_t
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 2128
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2128
    functionName: checkRecursiveTsmaInterval
    functionSourceFile: /src/tdengine/source/common/src/ttime.c
    functionUses: []
    functionsReached:
    - GET_UNIT_INDEX
    - recursiveTsmaCheckRecursiveReverse
    - convertTimeFromPrecisionToUnit
    - IS_CALENDAR_TIME_DURATION
    - recursiveTsmaCheckRecursive
    linkageType: ''
    returnType: bool
    signature: 'bool checkRecursiveTsmaInterval(int64_t baseInterval, int8_t baseUnit,
      int64_t interval, int8_t unit, int8_t precision, bool checkEq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:130,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - dst
    - tbName
    - nameLen
    argTypes:
    - SName*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: tNameAddTbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameAddTbName(SName* dst, const char* tbName, size_t nameLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - acctId
    argTypes:
    - SName*
    - int32_t
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: tNameSetAcctId
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameSetAcctId(SName* dst, int32_t acctId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: tNameGetFullDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameGetFullDbName(const SName* name, char* dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: tNameIsEmpty
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tNameIsEmpty(const SName* name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALID_NAME_TYPE
      Src: /src/tdengine/source/common/src/tname.c:64,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:69,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:71,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: tNameIsValid
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - strlen
    - VALID_NAME_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool tNameIsValid(const SName* name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:82,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: tNameGetDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameGetDbName(const SName* name, char* dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - SName*
    - SName*
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: tNameAssign
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tNameAssign(SName* dst, const SName* src) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:174,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tname.c:180,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:195,1
    - Dst: strstr
      Src: /src/tdengine/source/common/src/tname.c:193,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/common/src/tname.c:185,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:205,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:214,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:215,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - dst
    - str
    - type
    argTypes:
    - SName*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: tNameFromString
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - strstr
    - taosStr2Int32
    - strlen
    - memcpy
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameFromString(SName* dst, const char* str, uint32_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:27,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:28,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - acctId
    - pDbName
    - pTableName
    - pName
    argTypes:
    - int32_t
    - char*
    - char*
    - SName*
    constantsTouched: []
    func_position:
      end: 29
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 29
    functionName: toName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void toName(int32_t acctId, const char* pDbName, const char* pTableName,
      SName* pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tname.c:76,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/tname.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: tNameDup
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    linkageType: ''
    returnType: SName*
    signature: 'SName * tNameDup(const SName* name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: tNameGetDbNameP
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * tNameGetDbNameP(const SName* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/tname.c:118,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tname.c:124,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - dst
    - acct
    - dbName
    - nameLen
    argTypes:
    - SName*
    - int32_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 126
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 126
    functionName: tNameSetDbName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameSetDbName(SName* dst, int32_t acct, const char* dbName,
      size_t nameLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/common/src/tname.c:231,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/tname.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: compareKv
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - TMIN
    - taosStrncasecmp
    linkageType: ''
    returnType: int
    signature: 'static int compareKv(const void* p1, const void* p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameIsValid
      Src: /src/tdengine/source/common/src/tname.c:33,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tname.c:37,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tname.c:43,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:39,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 48
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 48
    functionName: tNameExtractFullName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - strlen
    - memcpy
    - tNameIsValid
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameExtractFullName(const SName* name, char* dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: tNameGetTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char * tNameGetTableName(const SName* name) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tname.c:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SName*
    - SName*
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: tNameDBNameEqual
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool tNameDBNameEqual(SName* left, SName* right) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/tdengine/source/common/src/tname.c:52,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:54,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tname.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - name
    argTypes:
    - SName*
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: tNameLen
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - strlen
    - sprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameLen(const SName* name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tname.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - name
    - dst
    argTypes:
    - SName*
    - char*
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: tNameGetFullTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNameGetFullTableName(const SName* name, char* dst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameDBNameEqual
      Src: /src/tdengine/source/common/src/tname.c:165,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/tname.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - left
    - right
    argTypes:
    - SName*
    - SName*
    constantsTouched: []
    func_position:
      end: 171
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 171
    functionName: tNameTbNameEqual
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - tNameDBNameEqual
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool tNameTbNameEqual(SName* left, SName* right) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/common/src/tname.c:243,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/tname.c:252,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/tname.c:253,1
    - Dst: tMD5Init
      Src: /src/tdengine/source/common/src/tname.c:246,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:249,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:258,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:259,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:260,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/tname.c:262,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:263,1
    - Dst: tMD5Update
      Src: /src/tdengine/source/common/src/tname.c:265,1
    - Dst: taosByteArrayToHexStr
      Src: /src/tdengine/source/common/src/tname.c:273,1
    - Dst: tMD5Final
      Src: /src/tdengine/source/common/src/tname.c:269,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - rName
    argTypes:
    - RandTableName*
    constantsTouched: []
    func_position:
      end: 277
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 277
    functionName: buildChildTableName
    functionSourceFile: /src/tdengine/source/common/src/tname.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tMD5Final
    - taosArraySort
    - tMD5Update
    - taosByteArrayToHexStr
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - tMD5Init
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildChildTableName(RandTableName* rName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:205,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:205,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:207,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - filename
    - lineno
    - funcname
    - status
    - error_details
    argTypes:
    - char*
    - int
    - char*
    - S3Status
    - char
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: s3PrintError
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - uError
    - S3_get_status_name
    linkageType: ''
    returnType: void
    signature: 'static void s3PrintError(const char *filename, int lineno, const char
      *funcname, S3Status status, char error_details[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - upload_id
    - callbackData
    argTypes:
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: initial_multipart_callback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - strdup
    linkageType: ''
    returnType: S3Status
    signature: 'S3Status initial_multipart_callback(const char *upload_id, void *callbackData) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:801,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:822,1
    - Dst: cos_cp_open
      Src: /src/tdengine/source/common/src/cos.c:828,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:822,1
    - Dst: cos_cp_dump
      Src: /src/tdengine/source/common/src/cos.c:895,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:901,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:905,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:905,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:916,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:916,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/src/cos.c:941,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:909,1
    - Dst: cos_cp_close
      Src: /src/tdengine/source/common/src/cos.c:901,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:954,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:821,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:829,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:829,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:838,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:884,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:884,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:887,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:887,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:891,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:891,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:937,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:950,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:922,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:922,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:925,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:796,1
    - Dst: cos_cp_is_valid_upload
      Src: /src/tdengine/source/common/src/cos.c:805,1
    - Dst: S3_initiate_multipart
      Src: /src/tdengine/source/common/src/cos.c:817,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:818,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:818,1
    - Dst: cos_cp_build_upload
      Src: /src/tdengine/source/common/src/cos.c:825,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:863,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/common/src/cos.c:882,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:886,1
    - Dst: cos_cp_update
      Src: /src/tdengine/source/common/src/cos.c:894,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:958,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:924,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/common/src/cos.c:920,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/src/cos.c:928,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:942,1
    - Dst: cos_cp_load
      Src: /src/tdengine/source/common/src/cos.c:805,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/common/src/cos.c:804,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:799,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:806,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:809,1
    - Dst: cos_cp_remove
      Src: /src/tdengine/source/common/src/cos.c:809,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:847,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:849,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos.c:862,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:895,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:925,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:960,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:928,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:946,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:957,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 150
    argCount: 7
    argNames:
    - bucket_context
    - file
    - lmtime
    - object_name
    - contentLength
    - put_prop
    - data
    argTypes:
    - S3BucketContext*
    - char*
    - int64_t
    - char*
    - int64_t
    - S3PutProperties*
    - put_object_callback_data*
    constantsTouched: []
    func_position:
      end: 961
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 961
    functionName: s3PutObjectFromFileWithCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - uError
    - strdup
    - tsnprintf
    - cos_cp_load
    - cos_cp_close
    - cos_cp_is_valid_upload
    - should_retry
    - growbuffer_destroy
    - growbuffer_append
    - cos_cp_dump
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - S3_initiate_multipart
    - S3_upload_part
    - memset
    - S3_complete_multipart_upload
    - cos_cp_update
    - taosCheckExistFile
    - cos_cp_build_upload
    - snprintf
    - cos_cp_remove
    - s3PrintError
    - S3_status_is_retryable
    - tstrerror
    - strlen
    - TAOS_RETURN
    - cos_cp_open
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3PutObjectFromFileWithCp(S3BucketContext *bucket_context,
      const char *file, int64_t lmtime, char const *object_name, int64_t contentLength,
      S3PutProperties *put_prop, put_object_callback_data *data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/cos.c:1186,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1204,1
    - Dst: S3_list_bucket
      Src: /src/tdengine/source/common/src/cos.c:1202,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1188,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1204,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1215,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1215,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1219,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - prefix
    - epIndex
    argTypes:
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1221
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1221
    functionName: getListByPrefixByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - S3_status_is_retryable
    - S3_get_status_name
    - should_retry
    - uError
    - S3_list_bucket
    - taosArrayDestroyEx
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray *getListByPrefixByEp(const char *prefix, int8_t epIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:1338,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1343,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/common/src/cos.c:1347,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1343,1
    - Dst: S3_get_object
      Src: /src/tdengine/source/common/src/cos.c:1342,1
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1347,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/cos.c:1348,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1348,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1351,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1351,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1353,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1353,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1357,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1359,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1364,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1359,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:1357,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 6
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    - epIndex
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    - int8_t
    constantsTouched: []
    func_position:
      end: 1365
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1365
    functionName: s3GetObjectBlockByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_status_is_retryable
    - memset
    - S3_get_status_name
    - should_retry
    - uError
    - TAOS_RETURN
    - S3_get_object
    - taosRand
    - taosMsleep
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3GetObjectBlockByEp(const char *object_name, int64_t
      offset, int64_t size, bool check, uint8_t **ppBlock, int8_t epIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos.c:1384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1386
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1386
    functionName: getObjectCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosWriteFile
    linkageType: ''
    returnType: S3Status
    signature: 'static S3Status getObjectCallback(int bufferSize, const char *buffer,
      void *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1430,1
    - Dst: s3GetObjectToFileByEp
      Src: /src/tdengine/source/common/src/cos.c:1433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1440
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1440
    functionName: s3GetObjectToFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3GetObjectToFileByEp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectToFile(const char *object_name, const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1857
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1857
    functionName: evictFileCompareAsce
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t evictFileCompareAsce(const void *pLeft, const void
      *pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - epIndex
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: s3DumpCfgByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: 'static void s3DumpCfgByEp(int8_t epIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: growbuffer_read
      Src: /src/tdengine/source/common/src/cos.c:466,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/cos.c:469,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 483
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 483
    functionName: putObjectDataCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - growbuffer_read
    - taosReadFile
    linkageType: ''
    returnType: int
    signature: 'static int putObjectDataCallback(int bufferSize, char *buffer, void
      *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: responsePropertiesCallbackNull
      Src: /src/tdengine/source/common/src/cos.c:493,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:494,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    constantsTouched: []
    func_position:
      end: 503
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 503
    functionName: MultipartResponseProperiesCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - responsePropertiesCallbackNull
    - uError
    - strdup
    linkageType: ''
    returnType: S3Status
    signature: 'S3Status MultipartResponseProperiesCallback(const S3ResponseProperties
      *properties, void *callbackData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:977,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:983,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:982,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:979,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:978,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:984,1
    - Dst: s3PutObjectFromFileSimple
      Src: /src/tdengine/source/common/src/cos.c:1006,1
    - Dst: s3PutObjectFromFileWithCp
      Src: /src/tdengine/source/common/src/cos.c:1009,1
    - Dst: s3PutObjectFromFileWithoutCp
      Src: /src/tdengine/source/common/src/cos.c:1011,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1016,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:1018,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1021,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 4
    argNames:
    - file
    - object_name
    - withcp
    - epIndex
    argTypes:
    - char*
    - char*
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1022
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1022
    functionName: s3PutObjectFromFile2ByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosStatFile
    - s3PutObjectFromFileWithoutCp
    - taosCloseFile
    - s3PutObjectFromFileSimple
    - uError
    - TAOS_RETURN
    - growbuffer_destroy
    - s3PutObjectFromFileWithCp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile2ByEp(const char *file, const char *object_name,
      int8_t withcp, int8_t epIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1225,1
    - Dst: getListByPrefixByEp
      Src: /src/tdengine/source/common/src/cos.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1235
    functionName: getListByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - getListByPrefixByEp
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray *getListByPrefix(const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1370,1
    - Dst: s3GetObjectBlockByEp
      Src: /src/tdengine/source/common/src/cos.c:1373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 1380
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1380
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3GetObjectBlockByEp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectBlock(const char *object_name, int64_t offset,
      int64_t size, bool check, uint8_t **ppBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:1404,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1406,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1414,1
    - Dst: S3_get_object
      Src: /src/tdengine/source/common/src/cos.c:1413,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1407,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1414,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1417,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1418,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1419,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1419,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1424,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - object_name
    - fileName
    - epIndex
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1425
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1425
    functionName: s3GetObjectToFileByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - S3_status_is_retryable
    - should_retry
    - uError
    - TAOS_RETURN
    - S3_get_object
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3GetObjectToFileByEp(const char *object_name, const
      char *fileName, int8_t epIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:1443,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/cos.c:1447,1
    - Dst: strchr
      Src: /src/tdengine/source/common/src/cos.c:1448,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/cos.c:1446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1444,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1451,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1452,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1454,1
    - Dst: s3GetObjectToFile
      Src: /src/tdengine/source/common/src/cos.c:1456,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1457,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1458,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1463
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1463
    functionName: s3GetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - strchr
    - s3GetObjectToFile
    - strlen
    - TAOS_RETURN
    - getListByPrefix
    - taosArrayDestroyEx
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectsByPrefix(const char *prefix, const char *path) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/tdengine/source/common/src/cos.c:331,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - gb
    - data
    - dataLen
    argTypes:
    - growbuffer**
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 359
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 359
    functionName: growbuffer_append
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'static int growbuffer_append(growbuffer **gb, const char *data, int
      dataLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 1511
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1511
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void s3EvictCache(const char *path, long object_size) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1816,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:1827,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1844,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1794,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1793,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1797,1
    - Dst: cos_table_create_if_null
      Src: /src/tdengine/source/common/src/cos.c:1806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1815,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1812,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1815,1
    - Dst: cos_list_for_each_entry
      Src: /src/tdengine/source/common/src/cos.c:1823,1
    - Dst: cos_list_for_each_entry
      Src: /src/tdengine/source/common/src/cos.c:1831,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1833,1
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1788,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1795,1
    - Dst: cos_get_object_to_buffer
      Src: /src/tdengine/source/common/src/cos.c:1811,1
    - Dst: cos_buf_size
      Src: /src/tdengine/source/common/src/cos.c:1823,1
    - Dst: apr_snprintf
      Src: /src/tdengine/source/common/src/cos.c:1807,1
    - Dst: apr_table_add
      Src: /src/tdengine/source/common/src/cos.c:1809,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1814,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1816,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1813,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:1825,1
    - Dst: cos_buf_size
      Src: /src/tdengine/source/common/src/cos.c:1832,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1840,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 5
    argNames:
    - object_name
    - offset
    - block_size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 1845
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1845
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - cos_pool_destroy
    - cos_table_create_if_null
    - taosMemoryCalloc
    - cos_request_options_create
    - uError
    - log_status
    - cos_list_for_each_entry
    - memcpy
    - cos_str_set
    - apr_table_add
    - TAOS_CHECK_GOTO
    - s3InitRequestOptions
    - apr_snprintf
    - cos_status_is_ok
    - tstrerror
    - cos_list_init
    - TAOS_RETURN
    - cos_get_object_to_buffer
    - cos_buf_size
    - cos_pool_create
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectBlock(const char *object_name, int64_t offset,
      int64_t block_size, bool check, uint8_t **ppBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1962
    functionDepth: 0
    functionLinenumber: 1962
    functionLinenumberEnd: 1962
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Init() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/tdengine/source/common/src/cos.c:46,1
    - Dst: S3_initialize
      Src: /src/tdengine/source/common/src/cos.c:52,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:54,1
    - Dst: S3_get_status_name
      Src: /src/tdengine/source/common/src/cos.c:53,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:53,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - getenv
    - S3_get_status_name
    - uError
    - TAOS_RETURN
    - S3_initialize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Begin() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 200
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 200
    functionName: should_retry
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int
    signature: 'static int should_retry() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:1138,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:1153,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/cos.c:1152,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:1151,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 28
    argCount: 7
    argNames:
    - isTruncated
    - nextMarker
    - contentsCount
    - contents
    - commonPrefixesCount
    - commonPrefixes
    - callbackData
    argTypes:
    - int
    - char*
    - int
    - S3ListBucketContent*
    - int
    - char**
    - void*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1164
    functionName: listBucketCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strdup
    - snprintf
    - taosArrayPush
    linkageType: ''
    returnType: S3Status
    signature: 'static S3Status listBucketCallback(int isTruncated, const char *nextMarker,
      int contentsCount, const S3ListBucketContent *contents, int commonPrefixesCount,
      const char **commonPrefixes, void *callbackData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:1281,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1285,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:1283,1
    - Dst: s3DeleteObjects
      Src: /src/tdengine/source/common/src/cos.c:1283,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:1283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1285,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1288
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1288
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - tstrerror
    - uError
    - getListByPrefix
    - taosArrayDestroyEx
    - s3DeleteObjects
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: 'void s3DeleteObjectsByPrefix(const char *prefix) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S3_head_object
      Src: /src/tdengine/source/common/src/cos.c:1482,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1483,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:1486,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1488,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1483,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - object_name
    - epIndex
    argTypes:
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1494
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1494
    functionName: s3SizeByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - s3PrintError
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    - S3_head_object
    linkageType: ''
    returnType: long
    signature: 'static long s3SizeByEp(const char *object_name, int8_t epIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1519
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Begin() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1538,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1541,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1539,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - cos_status_t*
    constantsTouched: []
    func_position:
      end: 1542
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1542
    functionName: log_status
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_warn_log
    linkageType: ''
    returnType: void
    signature: 'static void log_status(cos_status_t *s) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: responsePropertiesCallbackNull
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: 'static S3Status responsePropertiesCallbackNull(const S3ResponseProperties
      *properties, void *callbackData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1169
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1169
    functionName: s3FreeObjectKey
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void s3FreeObjectKey(void *pItem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:1299,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1311
    functionName: getObjectDataCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: S3Status
    signature: 'static S3Status getObjectDataCallback(int bufferSize, const char *buffer,
      void *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1499,1
    - Dst: s3SizeByEp
      Src: /src/tdengine/source/common/src/cos.c:1502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1509
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1509
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3SizeByEp
    linkageType: ''
    returnType: long
    signature: 'long s3Size(const char *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_config_create
      Src: /src/tdengine/source/common/src/cos.c:1545,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1550,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1552,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1551,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1549,1
    - Dst: cos_http_controller_create
      Src: /src/tdengine/source/common/src/cos.c:1556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - options
    - is_cname
    argTypes:
    - cos_request_options_t*
    - int
    constantsTouched: []
    func_position:
      end: 1557
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1557
    functionName: s3InitRequestOptions
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_config_create
    - cos_http_controller_create
    - cos_str_set
    linkageType: ''
    returnType: void
    signature: 'static void s3InitRequestOptions(cos_request_options_t *options, int
      is_cname) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDiskSize
      Src: /src/tdengine/source/common/src/cos.c:1866,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/cos.c:1878,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/cos.c:1881,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/common/src/cos.c:1896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/cos.c:1905,1
    - Dst: taosDirName
      Src: /src/tdengine/source/common/src/cos.c:1864,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1889,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1889,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/common/src/cos.c:1899,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:1903,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1876,1
    - Dst: terrstr
      Src: /src/tdengine/source/common/src/cos.c:1876,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/common/src/cos.c:1880,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1885,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:1891,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:1882,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/cos.c:1906,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/cos.c:1863,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1867,1
    - Dst: terrstr
      Src: /src/tdengine/source/common/src/cos.c:1867,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/common/src/cos.c:1874,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:1887,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/cos.c:1882,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/cos.c:1893,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/cos.c:1913,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 1915
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1915
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - terrstr
    - taosOpenDir
    - taosArrayInit
    - taosArrayDestroy
    - taosDirName
    - taosCloseDir
    - taosArraySort
    - taosArrayPush
    - memcpy
    - taosGetDirEntryName
    - taosArrayGet
    - taosGetDiskSize
    - strncmp
    - tstrncpy
    - taosStatFile
    - taosReadDir
    - strlen
    - vError
    - TARRAY_SIZE
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'void s3EvictCache(const char *path, long object_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1971
      start: 1971
    functionDepth: 0
    functionLinenumber: 1971
    functionLinenumberEnd: 1971
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3DeleteObjects(const char *object_name[], int nobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - object_name
    - fileName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1980
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1980
    functionName: s3GetObjectToFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectToFile(const char *object_name, const char *fileName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1965
    functionName: s3End
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void s3End() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - object_name
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - char*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 1976
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 1976
    functionName: s3GetObjectBlock
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectBlock(const char *object_name, int64_t offset,
      int64_t size, bool check, uint8_t **ppBlock) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:105,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:106,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:122,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:125,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:136,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:157,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:165,1
    - Dst: s3DeleteObjectsByEp
      Src: /src/tdengine/source/common/src/cos.c:163,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:159,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:168,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:93,1
    - Dst: s3DumpCfgByEp
      Src: /src/tdengine/source/common/src/cos.c:94,1
    - Dst: strncmp
      Src: /src/tdengine/source/common/src/cos.c:104,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:113,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:119,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:130,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:133,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:140,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:142,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:149,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:184,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:166,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:101,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:103,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:100,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/cos.c:108,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:111,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos.c:117,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:117,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:123,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:127,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:162,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:172,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:152,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:158,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:118,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/cos.c:121,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:115,1
    - Dst: s3PutObjectFromFileOffsetByEp
      Src: /src/tdengine/source/common/src/cos.c:128,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:131,1
    - Dst: s3ListBucketByEp
      Src: /src/tdengine/source/common/src/cos.c:137,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:139,1
    - Dst: s3GetObjectBlockByEp
      Src: /src/tdengine/source/common/src/cos.c:150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:153,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:156,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 88
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 185
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 185
    functionName: s3CheckCfg
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - taosFsyncFile
    - snprintf
    - s3ListBucketByEp
    - taosCloseFile
    - taosMemoryFree
    - strncmp
    - fprintf
    - taosWriteFile
    - s3DeleteObjectsByEp
    - s3GetObjectBlockByEp
    - strlen
    - s3DumpCfgByEp
    - TAOS_RETURN
    - s3PutObjectFromFileOffsetByEp
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3CheckCfg() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefixByEp
      Src: /src/tdengine/source/common/src/cos.c:276,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:281,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:278,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:282,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:286,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:291,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - bucketname
    - epIndex
    argTypes:
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 292
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 292
    functionName: s3ListBucketByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - fprintf
    - TAOS_RETURN
    - taosArrayDestroyEx
    - TARRAY_SIZE
    - getListByPrefixByEp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3ListBucketByEp(char const *bucketname, int8_t epIndex) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos.c:372,1
    - Dst: free
      Src: /src/tdengine/source/common/src/cos.c:384,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - gb
    - amt
    - amtReturn
    - buffer
    argTypes:
    - growbuffer**
    - int
    - int*
    - char*
    constantsTouched: []
    func_position:
      end: 387
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 387
    functionName: growbuffer_read
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - memcpy
    - free
    linkageType: ''
    returnType: void
    signature: 'static void growbuffer_read(growbuffer **gb, int amt, int *amtReturn,
      char *buffer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: S3_put_object
      Src: /src/tdengine/source/common/src/cos.c:649,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:650,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:654,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:655,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:650,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:657,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:658,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 5
    argNames:
    - bucket_context
    - object_name
    - size
    - put_prop
    - data
    argTypes:
    - S3BucketContext*
    - char*
    - int64_t
    - S3PutProperties*
    - put_object_callback_data*
    constantsTouched: []
    func_position:
      end: 662
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 662
    functionName: s3PutObjectFromFileSimple
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - S3_put_object
    - s3PrintError
    - S3_status_is_retryable
    - should_retry
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3PutObjectFromFileSimple(S3BucketContext *bucket_context,
      char const *object_name, int64_t size, S3PutProperties *put_prop, put_object_callback_data
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1106,1
    - Dst: s3PutObjectFromFileOffsetByEp
      Src: /src/tdengine/source/common/src/cos.c:1109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1116
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1116
    functionName: s3PutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3PutObjectFromFileOffsetByEp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFileOffset(const char *file, const char *object_name,
      int64_t offset, int64_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: S3_delete_object
      Src: /src/tdengine/source/common/src/cos.c:1253,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:1254,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:1257,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:1254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - object_name
    - nobject
    - epIndex
    argTypes:
    - char*
    - int
    - int8_t
    constantsTouched: []
    func_position:
      end: 1263
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1263
    functionName: s3DeleteObjectsByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - s3PrintError
    - S3_delete_object
    - S3_status_is_retryable
    - should_retry
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3DeleteObjectsByEp(const char *object_name[], int
      nobject, int8_t epIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_http_io_initialize
      Src: /src/tdengine/source/common/src/cos.c:1522,1
    - Dst: cos_log_set_output
      Src: /src/tdengine/source/common/src/cos.c:1530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1532,1
    - Dst: cos_log_set_level
      Src: /src/tdengine/source/common/src/cos.c:1527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1533
    functionName: s3Init
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - cos_http_io_initialize
    - cos_log_set_level
    - cos_log_set_output
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Init() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1645,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1647,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1649,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1648,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1646,1
    - Dst: cos_delete_objects_by_prefix
      Src: /src/tdengine/source/common/src/cos.c:1651,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1652,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1653,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - prefix_str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1654
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_request_options_create
    - cos_delete_objects_by_prefix
    - log_status
    - cos_pool_create
    - cos_str_set
    linkageType: ''
    returnType: void
    signature: 'void s3DeleteObjectsByPrefix(const char *prefix_str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/tdengine/source/common/src/cos.c:394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - gb
    argTypes:
    - growbuffer*
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: growbuffer_destroy
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'static void growbuffer_destroy(growbuffer *gb) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos.c:681,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:725,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:747,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:763,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:769,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:774,1
    - Dst: S3_initiate_multipart
      Src: /src/tdengine/source/common/src/cos.c:699,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/cos.c:693,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:700,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:695,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:700,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:704,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:704,1
    - Dst: S3_upload_part
      Src: /src/tdengine/source/common/src/cos.c:723,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:736,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:736,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:703,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:725,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:728,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:741,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:728,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:741,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos.c:758,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:758,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:772,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:727,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:743,1
    - Dst: growbuffer_append
      Src: /src/tdengine/source/common/src/cos.c:749,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos.c:749,1
    - Dst: S3_complete_multipart_upload
      Src: /src/tdengine/source/common/src/cos.c:753,1
    - Dst: S3_status_is_retryable
      Src: /src/tdengine/source/common/src/cos.c:755,1
    - Dst: should_retry
      Src: /src/tdengine/source/common/src/cos.c:755,1
    - Dst: s3PrintError
      Src: /src/tdengine/source/common/src/cos.c:757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos.c:766,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 105
    argCount: 5
    argNames:
    - bucket_context
    - object_name
    - contentLength
    - put_prop
    - data
    argTypes:
    - S3BucketContext*
    - char*
    - int64_t
    - S3PutProperties*
    - put_object_callback_data*
    constantsTouched: []
    func_position:
      end: 775
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 775
    functionName: s3PutObjectFromFileWithoutCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - S3_initiate_multipart
    - s3PrintError
    - S3_status_is_retryable
    - S3_upload_part
    - memset
    - S3_complete_multipart_upload
    - should_retry
    - strlen
    - uError
    - tstrerror
    - growbuffer_append
    - growbuffer_destroy
    - TAOS_RETURN
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3PutObjectFromFileWithoutCp(S3BucketContext *bucket_context,
      char const *object_name, int64_t contentLength, S3PutProperties *put_prop, put_object_callback_data
      *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1268,1
    - Dst: s3DeleteObjectsByEp
      Src: /src/tdengine/source/common/src/cos.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1278
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1278
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3DeleteObjectsByEp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3DeleteObjects(const char *object_name[], int nobject) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1666,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1671,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1669,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1667,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1668,1
    - Dst: cos_list_init
      Src: /src/tdengine/source/common/src/cos.c:1672,1
    - Dst: cos_create_cos_object_key
      Src: /src/tdengine/source/common/src/cos.c:1675,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1676,1
    - Dst: cos_list_add_tail
      Src: /src/tdengine/source/common/src/cos.c:1677,1
    - Dst: cos_delete_objects
      Src: /src/tdengine/source/common/src/cos.c:1680,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1691,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1686,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1685,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1681,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - object_name
    - nobject
    argTypes:
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 1692
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1692
    functionName: s3DeleteObjects
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_status_is_ok
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_warn_log
    - cos_list_add_tail
    - cos_request_options_create
    - cos_list_init
    - log_status
    - TAOS_RETURN
    - cos_create_cos_object_key
    - cos_delete_objects
    - cos_pool_create
    - cos_str_set
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3DeleteObjects(const char *object_name[], int nobject) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - file
    - object
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1967
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1967
    functionName: s3PutObjectFromFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile(const char *file, const char *object) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1930,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1935,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1934,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1938,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1933,1
    - Dst: cos_head_object
      Src: /src/tdengine/source/common/src/cos.c:1939,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1941,1
    - Dst: apr_table_get
      Src: /src/tdengine/source/common/src/cos.c:1942,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/cos.c:1944,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1946,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1946,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1951,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1949,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1955,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1958
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1958
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_head_object
    - cos_status_is_ok
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_warn_log
    - cos_request_options_create
    - taosStr2Int64
    - tstrerror
    - cos_pool_create
    - apr_table_get
    - cos_str_set
    linkageType: ''
    returnType: long
    signature: 'long s3Size(const char *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - file
    - object_name
    - offset
    - size
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1969
      start: 1969
    functionDepth: 0
    functionLinenumber: 1969
    functionLinenumberEnd: 1969
    functionName: s3PutObjectFromFileOffset
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFileOffset(const char *file, const char *object_name,
      int64_t offset, int64_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - prefix
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 1979
    functionName: s3GetObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3GetObjectsByPrefix(const char *prefix, const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getListByPrefix
      Src: /src/tdengine/source/common/src/cos.c:297,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:299,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:305,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/cos.c:303,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/cos.c:302,1
    - Dst: fprintf
      Src: /src/tdengine/source/common/src/cos.c:307,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/cos.c:310,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - bucketname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 313
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 313
    functionName: s3ListBucket
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - fprintf
    - TAOS_RETURN
    - getListByPrefix
    - taosArrayDestroyEx
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3ListBucket(char const *bucketname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: S3_deinitialize
      Src: /src/tdengine/source/common/src/cos.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 65
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 65
    functionName: s3End
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - S3_deinitialize
    linkageType: ''
    returnType: void
    signature: 'void s3End() '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: responsePropertiesCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: S3Status
    signature: 'static S3Status responsePropertiesCallback(const S3ResponseProperties
      *properties, void *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: responsePropertiesCallbackNull
      Src: /src/tdengine/source/common/src/cos.c:506,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:507,1
    - Dst: strdup
      Src: /src/tdengine/source/common/src/cos.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - properties
    - callbackData
    argTypes:
    - S3ResponseProperties*
    - void*
    constantsTouched: []
    func_position:
      end: 516
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 516
    functionName: MultipartResponseProperiesCallbackWithCp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - responsePropertiesCallbackNull
    - uError
    - strdup
    linkageType: ''
    returnType: S3Status
    signature: 'S3Status MultipartResponseProperiesCallbackWithCp(const S3ResponseProperties
      *properties, void *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/common/src/cos.c:1027,1
    - Dst: s3PutObjectFromFile2ByEp
      Src: /src/tdengine/source/common/src/cos.c:1030,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - file
    - object_name
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1037
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1037
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosRand
    - s3PutObjectFromFile2ByEp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile2(const char *file, const char *object_name,
      int8_t withcp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1569,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1571,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1581,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1580,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1570,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1582,1
    - Dst: cos_put_object_from_file
      Src: /src/tdengine/source/common/src/cos.c:1583,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1584,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1589,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - file_str
    - object_str
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1593
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1593
    functionName: s3PutObjectFromFile
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_str_set
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_request_options_create
    - log_status
    - TAOS_RETURN
    - cos_pool_create
    - cos_put_object_from_file
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile(const char *file_str, const char *object_str) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1706,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1708,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1710,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1709,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1707,1
    - Dst: cos_check_object_exist
      Src: /src/tdengine/source/common/src/cos.c:1712,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1714,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1717,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1719,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1720,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1726
      start: 1694
    functionDepth: 0
    functionLinenumber: 1694
    functionLinenumberEnd: 1726
    functionName: s3Exists
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_warn_log
    - cos_request_options_create
    - log_status
    - cos_check_object_exist
    - cos_pool_create
    - cos_str_set
    linkageType: ''
    returnType: bool
    signature: 'bool s3Exists(const char *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1966
    functionName: s3CheckCfg
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3CheckCfg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1972
    functionName: s3Exists
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool s3Exists(const char *object_name) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:250,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:259,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:256,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:253,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/cos.c:262,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - status
    - error
    - callbackData
    argTypes:
    - S3Status
    - S3ErrorDetails*
    - void*
    constantsTouched: []
    func_position:
      end: 268
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 268
    functionName: responseCompleteCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void responseCompleteCallback(S3Status status, const S3ErrorDetails
      *error, void *callbackData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: growbuffer_read
      Src: /src/tdengine/source/common/src/cos.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - bufferSize
    - buffer
    - callbackData
    argTypes:
    - int
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: multipartPutXmlCallback
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - growbuffer_read
    linkageType: ''
    returnType: int
    signature: 'static int multipartPutXmlCallback(int bufferSize, char *buffer, void
      *callbackData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos.c:1054,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1056,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos.c:1055,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos.c:1061,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1063,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos.c:1065,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1066,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1067,1
    - Dst: s3PutObjectFromFileSimple
      Src: /src/tdengine/source/common/src/cos.c:1089,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos.c:1095,1
    - Dst: growbuffer_destroy
      Src: /src/tdengine/source/common/src/cos.c:1097,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1100,1
    - Dst: s3PutObjectFromFileWithoutCp
      Src: /src/tdengine/source/common/src/cos.c:1091,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - file
    - object_name
    - offset
    - size
    - epIndex
    argTypes:
    - char*
    - char*
    - int64_t
    - int64_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1101
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1101
    functionName: s3PutObjectFromFileOffsetByEp
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - taosOpenFile
    - taosStatFile
    - s3PutObjectFromFileWithoutCp
    - taosCloseFile
    - s3PutObjectFromFileSimple
    - uError
    - TAOS_RETURN
    - growbuffer_destroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t s3PutObjectFromFileOffsetByEp(const char *file, const
      char *object_name, int64_t offset, int64_t size, int8_t epIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1608,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1609,1
    - Dst: cos_table_make
      Src: /src/tdengine/source/common/src/cos.c:1611,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1612,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1610,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1613,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1614,1
    - Dst: cos_create_resumable_clt_params_content
      Src: /src/tdengine/source/common/src/cos.c:1617,1
    - Dst: cos_resumable_upload_file
      Src: /src/tdengine/source/common/src/cos.c:1618,1
    - Dst: log_status
      Src: /src/tdengine/source/common/src/cos.c:1620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos.c:1623,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos.c:1624,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1628,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1622,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1634,1
    - Dst: vError
      Src: /src/tdengine/source/common/src/cos.c:1623,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1631,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - file_str
    - object_str
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1635
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1635
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_status_is_ok
    - TAOS_SYSTEM_ERROR
    - cos_resumable_upload_file
    - s3InitRequestOptions
    - cos_pool_destroy
    - cos_table_make
    - cos_request_options_create
    - tstrerror
    - cos_create_resumable_clt_params_content
    - log_status
    - vError
    - TAOS_RETURN
    - cos_pool_create
    - cos_str_set
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile2(const char *file_str, const char *object_str,
      int8_t withcp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_pool_create
      Src: /src/tdengine/source/common/src/cos.c:1742,1
    - Dst: cos_request_options_create
      Src: /src/tdengine/source/common/src/cos.c:1745,1
    - Dst: cos_table_make
      Src: /src/tdengine/source/common/src/cos.c:1750,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1747,1
    - Dst: s3InitRequestOptions
      Src: /src/tdengine/source/common/src/cos.c:1746,1
    - Dst: cos_table_add_int
      Src: /src/tdengine/source/common/src/cos.c:1751,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1755,1
    - Dst: cos_str_set
      Src: /src/tdengine/source/common/src/cos.c:1756,1
    - Dst: cos_get_object_to_file
      Src: /src/tdengine/source/common/src/cos.c:1757,1
    - Dst: cos_status_is_ok
      Src: /src/tdengine/source/common/src/cos.c:1758,1
    - Dst: cos_pool_destroy
      Src: /src/tdengine/source/common/src/cos.c:1766,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1762,1
    - Dst: cos_warn_log
      Src: /src/tdengine/source/common/src/cos.c:1760,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - object_name
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1769
      start: 1728
    functionDepth: 0
    functionLinenumber: 1728
    functionLinenumberEnd: 1769
    functionName: s3Get
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - cos_status_is_ok
    - cos_pool_destroy
    - s3InitRequestOptions
    - cos_table_make
    - cos_warn_log
    - cos_get_object_to_file
    - cos_request_options_create
    - cos_table_add_int
    - cos_pool_create
    - cos_str_set
    linkageType: ''
    returnType: bool
    signature: 'bool s3Get(const char *object_name, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - object_name
    - path
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1973
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 1973
    functionName: s3Get
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool s3Get(const char *object_name, const char *path) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - path
    - object_size
    argTypes:
    - char*
    - long
    constantsTouched: []
    func_position:
      end: 1977
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1977
    functionName: s3EvictCache
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void s3EvictCache(const char *path, long object_size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - file
    - object
    - withcp
    argTypes:
    - char*
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1968
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1968
    functionName: s3PutObjectFromFile2
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3PutObjectFromFile2(const char *file, const char *object,
      int8_t withcp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - prefix
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1970
      start: 1970
    functionDepth: 0
    functionLinenumber: 1970
    functionLinenumberEnd: 1970
    functionName: s3DeleteObjectsByPrefix
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void s3DeleteObjectsByPrefix(const char *prefix) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - object_name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1978
    functionName: s3Size
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: 'long s3Size(const char *object_name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos.c:1963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1963
    functionDepth: 0
    functionLinenumber: 1963
    functionLinenumberEnd: 1963
    functionName: s3Begin
    functionSourceFile: /src/tdengine/source/common/src/cos.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t s3Begin() '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - z
    - n
    - value
    argTypes:
    - char*
    - int32_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 45
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 45
    functionName: parseBinaryUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseBinaryUInteger(const char *z, int32_t n, uint64_t
      *value) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:161,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:172,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:172,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:187,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:165,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:192,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:233,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 253
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 253
    functionName: toIntegerEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - parseSignAndUInteger
    - round
    - taosStr2Double
    - taosStr2Int64
    - SET_ERRNO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toIntegerEx(const char *z, int32_t n, uint32_t type, int64_t
      *value) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:103,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:109,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:116,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - double*
    constantsTouched: []
    func_position:
      end: 123
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 123
    functionName: toDoubleEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - taosStr2Double
    - parseSignAndUInteger
    - SET_ERRNO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toDoubleEx(const char *z, int32_t n, uint32_t type, double
      *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:333,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:338,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: toInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - SET_ERRNO
    - taosStr2Int64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toInteger(const char *z, int32_t n, int32_t base, int64_t
      *value) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: GET_INT8_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:375,1
    - Dst: GET_INT16_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:385,1
    - Dst: GET_UINT8_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:380,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:395,1
    - Dst: GET_UINT16_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:390,1
    - Dst: GET_UINT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:400,1
    - Dst: GET_INT64_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:406,1
    - Dst: GET_UINT64_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:411,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:416,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:421,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tvariant.c:437,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tvariant.c:427,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:429,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:438,1
    - Dst: GET_INT32_VAL
      Src: /src/tdengine/source/common/src/tvariant.c:444,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 4
    argNames:
    - pVar
    - pz
    - len
    - type
    argTypes:
    - SVariant*
    - char*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 450
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 450
    functionName: taosVariantCreateFromBinary
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - GET_INT16_VAL
    - GET_UINT8_VAL
    - GET_FLOAT_VAL
    - taosMemoryCalloc
    - GET_INT8_VAL
    - GET_INT64_VAL
    - GET_DOUBLE_VAL
    - GET_UINT32_VAL
    - memcpy
    - GET_INT32_VAL
    - GET_UINT16_VAL
    - GET_UINT64_VAL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosVariantCreateFromBinary(SVariant *pVar, const char *pz,
      size_t len, uint32_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tvariant.c:471,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tvariant.c:482,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/tvariant.c:474,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tvariant.c:477,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - SVariant*
    - SVariant*
    constantsTouched: []
    func_position:
      end: 486
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 486
    functionName: taosVariantAssign
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryRealloc
    - IS_NUMERIC_TYPE
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosVariantAssign(SVariant *pDst, const SVariant *pSrc) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:66,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:86,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:91,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:76,1
    - Dst: parseBinaryUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:71,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:94,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 5
    argNames:
    - z
    - n
    - is_neg
    - value
    - parseFloat
    argTypes:
    - char*
    - int32_t
    - bool*
    - uint64_t*
    - bool
    constantsTouched: []
    func_position:
      end: 99
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 99
    functionName: parseSignAndUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - parseBinaryUInteger
    - round
    - taosStr2Double
    - SET_ERRNO
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseSignAndUInteger(const char *z, int32_t n, bool
      *is_neg, uint64_t *value, bool parseFloat) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:126,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:139,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tvariant.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 158
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 158
    functionName: toIntegerPure
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - parseSignAndUInteger
    - SET_ERRNO
    - taosStr2Int64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toIntegerPure(const char *z, int32_t n, int32_t base, int64_t
      *value) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:256,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:261,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/common/src/tvariant.c:271,1
    - Dst: round
      Src: /src/tdengine/source/common/src/tvariant.c:271,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:286,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:291,1
    - Dst: parseSignAndUInteger
      Src: /src/tdengine/source/common/src/tvariant.c:322,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 76
    argCount: 4
    argNames:
    - z
    - n
    - type
    - value
    argTypes:
    - char*
    - int32_t
    - uint32_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 330
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 330
    functionName: toUIntegerEx
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - parseSignAndUInteger
    - round
    - taosStr2Double
    - SET_ERRNO
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toUIntegerEx(const char *z, int32_t n, uint32_t type, uint64_t
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:346,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/common/src/tvariant.c:355,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/common/src/tvariant.c:357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 4
    argNames:
    - z
    - n
    - base
    - value
    argTypes:
    - char*
    - int32_t
    - int32_t
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 361
    functionName: toUInteger
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - SET_ERRNO
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t toUInteger(const char *z, int32_t n, int32_t base, uint64_t
      *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tvariant.c:458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - pVar
    argTypes:
    - SVariant*
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: taosVariantDestroy
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void taosVariantDestroy(SVariant *pVar) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/common/src/tvariant.c:504,1
    - Dst: IS_UNSIGNED_NUMERIC_TYPE
      Src: /src/tdengine/source/common/src/tvariant.c:520,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SVariant*
    - SVariant*
    constantsTouched: []
    func_position:
      end: 533
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 533
    functionName: taosVariantCompare
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached:
    - IS_UNSIGNED_NUMERIC_TYPE
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosVariantCompare(const SVariant *p1, const SVariant *p2) '
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 2
    argCount: 2
    argNames:
    - pVar
    - type
    argTypes:
    - SVariant*
    - int32_t
    constantsTouched: []
    func_position:
      end: 565
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 565
    functionName: taosVariantGet
    functionSourceFile: /src/tdengine/source/common/src/tvariant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *taosVariantGet(SVariant *pVar, int32_t type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/rsync.c:21,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:24,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/rsync.c:24,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/rsync.c:30,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/rsync.c:30,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/common/src/rsync.c:33,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/common/src/rsync.c:12,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:35,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/rsync.c:21,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/common/src/rsync.c:17,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/common/src/rsync.c:26,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/common/src/rsync.c:29,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/common/src/rsync.c:34,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:40,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/rsync.c:21,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/common/src/rsync.c:16,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/common/src/rsync.c:21,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/rsync.c:30,1
    - Dst: strcmp
      Src: /src/tdengine/source/common/src/rsync.c:30,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/common/src/rsync.c:39,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 42
      start: 11
    functionDepth: 0
    functionLinenumber: 11
    functionLinenumberEnd: 42
    functionName: removeEmptyDir
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - snprintf
    - strcmp
    - taosReadDir
    - taosDirEntryIsDir
    - taosCloseDir
    - uError
    - taosOpenDir
    - taosRemoveDir
    - taosGetDirEntryName
    linkageType: ''
    returnType: void
    signature: 'static void removeEmptyDir() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/tdengine/source/common/src/rsync.c:126,1
    - Dst: taosGetPIdByName
      Src: /src/tdengine/source/common/src/rsync.c:128,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/rsync.c:132,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/rsync.c:130,1
    - Dst: tListLen
      Src: /src/tdengine/source/common/src/rsync.c:130,1
    - Dst: system
      Src: /src/tdengine/source/common/src/rsync.c:133,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:139,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:141,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/common/src/rsync.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 145
    functionName: stopRsync
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - taosGetPIdByName
    - system
    - uError
    - uDebug
    - taosMsleep
    - uInfo
    - tListLen
    linkageType: ''
    returnType: void
    signature: 'void stopRsync() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: system
      Src: /src/tdengine/source/common/src/rsync.c:111,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/common/src/rsync.c:115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - command
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: execCommand
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - system
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t execCommand(char* command) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/common/src/rsync.c:149,1
    - Dst: removeEmptyDir
      Src: /src/tdengine/source/common/src/rsync.c:156,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:159,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/rsync.c:152,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:150,1
    - Dst: generateConfigFile
      Src: /src/tdengine/source/common/src/rsync.c:161,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:167,1
    - Dst: system
      Src: /src/tdengine/source/common/src/rsync.c:169,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:171,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/rsync.c:175,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/rsync.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: startRsync
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosMulMkDir
    - system
    - removeEmptyDir
    - uError
    - generateConfigFile
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t startRsync() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/rsync.c:61,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:95,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:73,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:63,1
    - Dst: changeDirFromWindowsToLinux
      Src: /src/tdengine/source/common/src/rsync.c:69,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/rsync.c:96,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/rsync.c:96,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:97,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/rsync.c:98,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/rsync.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - confDir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 105
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 105
    functionName: generateConfigFile
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - snprintf
    - taosCloseFile
    - changeDirFromWindowsToLinux
    - taosWriteFile
    - strlen
    - uError
    - uDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t generateConfigFile(char* confDir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/common/src/rsync.c:353,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:360,1
    - Dst: execCommand
      Src: /src/tdengine/source/common/src/rsync.c:365,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:355,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/rsync.c:356,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/common/src/rsync.c:366,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:368,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/rsync.c:369,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/rsync.c:372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pTaskId
    - checkpointId
    argTypes:
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 375
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 375
    functionName: deleteRsync
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_SYSTEM_ERROR
    - uError
    - execCommand
    - taosRemoveDir
    - taosMkDir
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t deleteRsync(const char* pTaskId, int64_t checkpointId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/common/src/rsync.c:281,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:303,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:291,1
    - Dst: execCommand
      Src: /src/tdengine/source/common/src/rsync.c:305,1
    - Dst: changeDirFromWindowsToLinux
      Src: /src/tdengine/source/common/src/rsync.c:287,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:307,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/common/src/rsync.c:311,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:312,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/rsync.c:318,1
    - Dst: changeDirFromWindowsToLinux
      Src: /src/tdengine/source/common/src/rsync.c:319,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/rsync.c:322,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/rsync.c:323,1
    - Dst: execCommand
      Src: /src/tdengine/source/common/src/rsync.c:336,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/rsync.c:341,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:344,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/common/src/rsync.c:343,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/rsync.c:334,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/rsync.c:338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - id
    - path
    - checkpointId
    argTypes:
    - char*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 349
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 349
    functionName: downloadByRsync
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - snprintf
    - TAOS_SYSTEM_ERROR
    - changeDirFromWindowsToLinux
    - memset
    - uError
    - execCommand
    - uDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t downloadByRsync(const char* id, const char* path, int64_t
      checkpointId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/rsync.c:49,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: changeDirFromWindowsToLinux
    functionSourceFile: /src/tdengine/source/common/src/rsync.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void changeDirFromWindowsToLinux(char* from, char* to) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:20,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: cos_cp_close
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - taosCloseFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cos_cp_close(TdFilePtr fd) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:29,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:32,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:39,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/cos_cp.c:45,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos_cp.c:45,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:67,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:79,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:83,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:84,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:88,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:142,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:122,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:155,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:127,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:143,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:106,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:141,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:33,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:56,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:48,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:49,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:70,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:71,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:78,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:85,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:89,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:90,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:151,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:95,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:131,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:121,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:107,1
    - Dst: cJSON_ArrayForEach
      Src: /src/tdengine/source/common/src/cos_cp.c:113,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:50,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:55,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:72,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:76,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:77,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:93,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:94,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:99,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:101,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:102,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:136,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:111,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:65,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:116,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/cos_cp.c:153,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:154,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/common/src/cos_cp.c:27,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:34,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:37,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:38,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:43,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:44,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:53,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:54,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:60,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:61,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:126,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/common/src/cos_cp.c:100,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/common/src/cos_cp.c:137,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/common/src/cos_cp.c:112,1
    - Dst: cJSON_IsString
      Src: /src/tdengine/source/common/src/cos_cp.c:66,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/common/src/cos_cp.c:114,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 136
    argCount: 2
    argNames:
    - cp_body
    - cp
    argTypes:
    - char*
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 156
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 156
    functionName: cos_cp_parse_body
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - cJSON_ArrayForEach
    - taosMemoryFree
    - strncpy
    - cJSON_Parse
    - cJSON_Delete
    - cJSON_IsString
    - cJSON_IsArray
    - strlen
    - uError
    - tstrerror
    - cJSON_IsNumber
    - TAOS_RETURN
    - cJSON_GetObjectItem
    - cJSON_IsObject
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cos_cp_parse_body(char* cp_body, SCheckpoint* cp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/common/src/cos_cp.c:202,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/common/src/cos_cp.c:208,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:204,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/common/src/cos_cp.c:211,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:212,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/cos_cp.c:214,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/cos_cp.c:214,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:215,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/cos_cp.c:218,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/common/src/cos_cp.c:219,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:224,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:219,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:224,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - json
    - checkpoint
    argTypes:
    - cJSON*
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 228
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 228
    functionName: cos_cp_save_json
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosLSeekFile
    - taosFsyncFile
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - taosFtruncateFile
    - strlen
    - uError
    - TAOS_RETURN
    - tstrerror
    - cJSON_PrintUnformatted
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cos_cp_save_json(cJSON const* json, SCheckpoint* checkpoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - checkpoint
    - part_num
    - parts
    - consume_bytes
    argTypes:
    - SCheckpoint*
    - int*
    - SCheckpointPart*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 344
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 344
    functionName: cos_cp_get_undo_parts
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void cos_cp_get_undo_parts(SCheckpoint* checkpoint, int* part_num,
      SCheckpointPart* parts, int64_t* consume_bytes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/cos_cp.c:357,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:362,1
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:358,1
    - Dst: TMIN
      Src: /src/tdengine/source/common/src/cos_cp.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - checkpoint
    - filepath
    - size
    - mtime
    - upload_id
    - part_size
    argTypes:
    - SCheckpoint*
    - char*
    - int64_t
    - int64_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 373
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 373
    functionName: cos_cp_build_upload
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - TMIN
    - strncpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void cos_cp_build_upload(SCheckpoint* checkpoint, char const* filepath,
      int64_t size, int64_t mtime, char const* upload_id, int64_t part_size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos_cp.c:9,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:11,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:12,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:17,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cp_path
    - checkpoint
    argTypes:
    - char*
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 18
      start: 6
    functionDepth: 0
    functionLinenumber: 6
    functionLinenumberEnd: 18
    functionName: cos_cp_open
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - uError
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cos_cp_open(char const* cp_path, SCheckpoint* checkpoint) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/cos_cp.c:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - filepath
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: cos_cp_remove
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cos_cp_remove(char const* filepath) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/cos_cp.c:162,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/common/src/cos_cp.c:168,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/cos_cp.c:170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:168,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:172,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/cos_cp.c:175,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:177,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:179,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:181,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/cos_cp.c:191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/cos_cp.c:194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:188,1
    - Dst: cos_cp_parse_body
      Src: /src/tdengine/source/common/src/cos_cp.c:184,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:196,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:188,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - filepath
    - checkpoint
    argTypes:
    - char*
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 197
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 197
    functionName: cos_cp_load
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - cos_cp_parse_body
    - taosStatFile
    - taosMemoryMalloc
    - taosCloseFile
    - taosReadFile
    - taosMemoryFree
    - tstrerror
    - uError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cos_cp_load(char const* filepath, SCheckpoint* checkpoint) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:240,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:239,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:247,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:248,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:252,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:256,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:273,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:296,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:317,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:326,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/cos_cp.c:338,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:328,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:320,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:314,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:309,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:258,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:264,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:263,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:269,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:270,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:275,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:280,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:281,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:286,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:287,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/common/src/cos_cp.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/cos_cp.c:338,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:243,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:236,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:244,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:251,1
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:291,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:293,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:299,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:302,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:329,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/cos_cp.c:341,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:334,1
    - Dst: cos_cp_save_json
      Src: /src/tdengine/source/common/src/cos_cp.c:333,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/cos_cp.c:234,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:260,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:266,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:261,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:267,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:277,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:278,1
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:283,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/cos_cp.c:284,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/common/src/cos_cp.c:307,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:319,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:322,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:325,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/common/src/cos_cp.c:313,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/common/src/cos_cp.c:340,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 124
    argCount: 1
    argNames:
    - cp
    argTypes:
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 342
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 342
    functionName: cos_cp_dump
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - cos_cp_save_json
    - cJSON_Delete
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddStringToObject
    - tstrerror
    - cJSON_AddArrayToObject
    - TAOS_RETURN
    - cJSON_AddItemToArray
    - uError
    - cJSON_AddObjectToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cos_cp_dump(SCheckpoint* cp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/tdengine/source/common/src/cos_cp.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - checkpoint
    - part_index
    - etag
    - crc64
    argTypes:
    - SCheckpoint*
    - int32_t
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: cos_cp_update
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: 'void cos_cp_update(SCheckpoint* checkpoint, int32_t part_index, char
      const* etag, uint64_t crc64) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - cp
    argTypes:
    - SCheckpoint*
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: cos_cp_verify_md5
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool cos_cp_verify_md5(SCheckpoint* cp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_cp_verify_md5
      Src: /src/tdengine/source/common/src/cos_cp.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - checkpoint
    - size
    - mtime
    argTypes:
    - SCheckpoint*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 383
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 383
    functionName: cos_cp_is_valid_upload
    functionSourceFile: /src/tdengine/source/common/src/cos_cp.c
    functionUses: []
    functionsReached:
    - cos_cp_verify_md5
    linkageType: ''
    returnType: bool
    signature: 'bool cos_cp_is_valid_upload(SCheckpoint* checkpoint, int64_t size,
      int64_t mtime) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:31,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - pRow
    - rowType
    - flen
    - nKvCols
    argTypes:
    - STSRow*
    - uint8_t
    - uint32_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: tdGetBitmapAddr
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdGetBitmapAddrKv
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: void*
    signature: 'void *tdGetBitmapAddr(STSRow *pRow, uint8_t rowType, uint32_t flen,
      col_id_t nKvCols) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:669,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:672,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:679,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:697,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:701,1
    - Dst: tdAppendColValToTpRow
      Src: /src/tdengine/source/common/src/trow.c:701,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:703,1
    - Dst: TD_ROW_KEY
      Src: /src/tdengine/source/common/src/trow.c:681,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:705,1
    - Dst: tdAppendColValToKvRow
      Src: /src/tdengine/source/common/src/trow.c:703,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 8
    argNames:
    - pBuilder
    - colId
    - colType
    - valType
    - val
    - isCopyVarData
    - offset
    - colIdx
    argTypes:
    - SRowBuilder*
    - col_id_t
    - int8_t
    - TDRowValT
    - void*
    - bool
    - int32_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 706
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 706
    functionName: tdAppendColValToRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_TP_ROW
    - tdAppendColValToKvRow
    - tdAppendColValToTpRow
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - TD_ROW_KEY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdAppendColValToRow(SRowBuilder *pBuilder, col_id_t colId,
      int8_t colType, TDRowValT valType, const void *val, bool isCopyVarData, int32_t
      offset, col_id_t colIdx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:898,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:923,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:902,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:925,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - pBitmap
    - colIdx
    - valType
    argTypes:
    - void*
    - int16_t
    - TDRowValT
    constantsTouched: []
    func_position:
      end: 926
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 926
    functionName: tdSetBitmapValTypeII
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSetBitmapValTypeII(void *pBitmap, int16_t colIdx, TDRowValT
      valType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapAddr
      Src: /src/tdengine/source/common/src/trow.c:43,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pIter
    - pRow
    argTypes:
    - STSRowIter*
    - STSRow*
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: tdSTSRowIterReset
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdRowGetNCols
    - tdGetBitmapAddr
    linkageType: ''
    returnType: void
    signature: 'void tdSTSRowIterReset(STSRowIter *pIter, STSRow *pRow) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:711,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:721,1
    - Dst: tdSetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:716,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:716,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:721,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:723,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:726,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:726,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:727,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:729,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:729,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:734,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:738,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:731,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:733,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:731,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 8
    argNames:
    - pBuilder
    - valType
    - val
    - isCopyVarData
    - colType
    - colIdx
    - offset
    - colId
    argTypes:
    - SRowBuilder*
    - TDRowValT
    - void*
    - bool
    - int8_t
    - int16_t
    - int32_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 739
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 739
    functionName: tdAppendColValToKvRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdSetBitmapValType
    - varDataTLen
    - TD_ROW_LEN
    - TD_ROW_COL_IDX
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - POINTER_SHIFT
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdAppendColValToKvRow(SRowBuilder *pBuilder, TDRowValT valType,
      const void *val, bool isCopyVarData, int8_t colType, int16_t colIdx, int32_t
      offset, col_id_t colId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdSetBitmapValTypeII
      Src: /src/tdengine/source/common/src/trow.c:931,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:940,1
    - Dst: tdSetBitmapValTypeI
      Src: /src/tdengine/source/common/src/trow.c:936,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:942,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pBitmap
    - colIdx
    - valType
    - bitmapMode
    argTypes:
    - void*
    - int16_t
    - TDRowValT
    - int8_t
    constantsTouched: []
    func_position:
      end: 943
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 943
    functionName: tdSetBitmapValType
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdSetBitmapValTypeII
    - tdSetBitmapValTypeI
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSetBitmapValType(void *pBitmap, int16_t colIdx, TDRowValT
      valType, int8_t bitmapMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdRowSetVal
      Src: /src/tdengine/source/common/src/trow.c:338,1
    - Dst: TD_ROW_KEY_ADDR
      Src: /src/tdengine/source/common/src/trow.c:338,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:348,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:348,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:341,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:355,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:355,1
    - Dst: tdGetKvRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:356,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:357,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:357,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pRow
    - colId
    - colIdx
    - pVal
    argTypes:
    - STSRow*
    - col_id_t
    - col_id_t
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 361
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 361
    functionName: tdSKvRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdRowGetNCols
    - tdRowSetVal
    - TD_ROW_COL_IDX
    - POINTER_DISTANCE
    - tdGetKvRowValOfCol
    - TD_ROW_KEY_ADDR
    - tdGetBitmapAddrKv
    - taosbsearch
    linkageType: ''
    returnType: bool
    signature: 'bool tdSKvRowGetVal(STSRow *pRow, col_id_t colId, col_id_t colIdx,
      SCellVal *pVal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:389,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:391,1
    - Dst: tdSTSRowIterGetKvVal
      Src: /src/tdengine/source/common/src/trow.c:392,1
    - Dst: tdSTSRowIterGetTpVal
      Src: /src/tdengine/source/common/src/trow.c:390,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pIter
    - pVal
    argTypes:
    - STSRowIter*
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 399
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 399
    functionName: tdSTSRowIterNext
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_KV_ROW
    - tdSTSRowIterGetTpVal
    - TD_IS_TP_ROW
    - tdSTSRowIterGetKvVal
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTSRowIterNext(STSRowIter *pIter, SCellVal *pVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:607,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:609,1
    - Dst: tdValTypeIsNorm
      Src: /src/tdengine/source/common/src/trow.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:614,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:612,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:619,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:621,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:626,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:628,1
    - Dst: isNull
      Src: /src/tdengine/source/common/src/trow.c:629,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:631,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - output
    - pRow
    - pBitmap
    - offset
    - colIdx
    argTypes:
    - SCellVal*
    - STSRow*
    - void*
    - int32_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 632
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 632
    functionName: tdGetKvRowValOfCol
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdRowGetNCols
    - POINTER_SHIFT
    - TAOS_RETURN
    - tdValTypeIsNorm
    - isNull
    - tdGetBitmapValType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdGetKvRowValOfCol(SCellVal *output, STSRow *pRow, void *pBitmap,
      int32_t offset, int16_t colIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pIter
    - pSchema
    argTypes:
    - STSRowIter*
    - STSchema*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: tdSTSRowIterInit
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tdSTSRowIterInit(STSRowIter *pIter, STSchema *pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdRowSetVal
      Src: /src/tdengine/source/common/src/trow.c:366,1
    - Dst: TD_ROW_KEY_ADDR
      Src: /src/tdengine/source/common/src/trow.c:366,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:369,1
    - Dst: tdGetTpRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:370,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 7
    argNames:
    - pRow
    - colId
    - colType
    - flen
    - offset
    - colIdx
    - pVal
    argTypes:
    - STSRow*
    - col_id_t
    - col_type_t
    - int32_t
    - uint32_t
    - col_id_t
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: tdSTpRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdGetTpRowValOfCol
    - tdRowSetVal
    - TD_ROW_KEY_ADDR
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTpRowGetVal(STSRow *pRow, col_id_t colId, col_type_t colType,
      int32_t flen, uint32_t offset, col_id_t colIdx, SCellVal *pVal) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:435,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:468,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/trow.c:483,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:488,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/trow.c:514,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/trow.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:415,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:486,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:479,1
    - Dst: tdSRowResetBuf
      Src: /src/tdengine/source/common/src/trow.c:495,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:514,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/common/src/trow.c:519,1
    - Dst: tdSRowEnd
      Src: /src/tdengine/source/common/src/trow.c:539,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:432,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/trow.c:421,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/trow.c:436,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/common/src/trow.c:457,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:471,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/trow.c:474,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/common/src/trow.c:508,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:511,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/common/src/trow.c:512,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:527,1
    - Dst: tdAppendColValToRow
      Src: /src/tdengine/source/common/src/trow.c:529,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:549,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/trow.c:425,1
    - Dst: tdSRowSetInfo
      Src: /src/tdengine/source/common/src/trow.c:494,1
    - Dst: tdSRowInit
      Src: /src/tdengine/source/common/src/trow.c:493,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/trow.c:505,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/common/src/trow.c:506,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:532,1
    - Dst: tdAppendColValToRow
      Src: /src/tdengine/source/common/src/trow.c:533,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:542,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/trow.c:545,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/common/src/trow.c:528,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 150
    argCount: 4
    argNames:
    - pArray
    - pTSchema
    - ppRow
    - rowType
    argTypes:
    - SArray*
    - STSchema*
    - STSRow**
    - int8_t
    constantsTouched: []
    func_position:
      end: 550
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 550
    functionName: tdSTSRowNew
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_TP_ROW
    - taosMemoryCalloc
    - varDataSetLen
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryMalloc
    - COL_VAL_IS_NONE
    - varDataVal
    - TD_BITMAP_BYTES
    - tdSRowInit
    - VALUE_GET_DATUM
    - memcpy
    - tdSRowResetBuf
    - TAOS_CHECK_GOTO
    - tdSRowSetInfo
    - taosArrayGet
    - tdSRowEnd
    - taosMemoryFreeClear
    - tdAppendColValToRow
    - COL_VAL_IS_NULL
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSTSRowNew(SArray *pArray, STSchema *pTSchema, STSRow **ppRow,
      int8_t rowType) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:638,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:639,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:639,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:641,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:639,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:641,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:643,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:647,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:649,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:653,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:654,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:654,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:660,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:656,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:654,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - output
    - pRow
    - pBitmap
    - colType
    - offset
    - colIdx
    argTypes:
    - SCellVal*
    - STSRow*
    - void*
    - int8_t
    - int32_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 661
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 661
    functionName: tdGetTpRowValOfCol
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    - TAOS_RETURN
    - IS_VAR_DATA_TYPE
    - TD_ROW_DATA
    - tdGetBitmapValType
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdGetTpRowValOfCol(SCellVal *output, STSRow *pRow, void *pBitmap,
      int8_t colType, int32_t offset, int16_t colIdx) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:950,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:955,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/trow.c:954,1
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:953,1
    - Dst: tdSTpRowGetVal
      Src: /src/tdengine/source/common/src/trow.c:954,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/common/src/trow.c:956,1
    - Dst: tdSKvRowGetVal
      Src: /src/tdengine/source/common/src/trow.c:956,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:958,1
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/common/src/trow.c:961,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/common/src/trow.c:962,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/common/src/trow.c:964,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/common/src/trow.c:974,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:970,1
    - Dst: varDataVal
      Src: /src/tdengine/source/common/src/trow.c:972,1
    - Dst: varDataLen
      Src: /src/tdengine/source/common/src/trow.c:971,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/common/src/trow.c:963,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - pRow
    - pTSchema
    - iCol
    - pColVal
    argTypes:
    - STSRow*
    - STSchema*
    - int16_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 978
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 978
    functionName: tTSRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_KV_ROW
    - tdValTypeIsNone
    - valueSetDatum
    - TAOS_UNUSED
    - TD_IS_TP_ROW
    - varDataLen
    - COL_VAL_NONE
    - varDataVal
    - TAOS_RETURN
    - tdValTypeIsNull
    - tdSKvRowGetVal
    - IS_VAR_DATA_TYPE
    - tdSTpRowGetVal
    - COL_VAL_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTSRowGetVal(STSRow *pRow, STSchema *pTSchema, int16_t iCol,
      SColVal *pColVal) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:57,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:78,1
    - Dst: tdSTSRowIterGetKvVal
      Src: /src/tdengine/source/common/src/trow.c:74,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:73,1
    - Dst: tdSTSRowIterGetTpVal
      Src: /src/tdengine/source/common/src/trow.c:71,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - pIter
    - colId
    - colType
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_type_t
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 81
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 81
    functionName: tdSTSRowIterFetch
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_KV_ROW
    - TD_IS_TP_ROW
    - tdSTSRowIterGetKvVal
    - tdSTSRowIterGetTpVal
    - COL_REACH_END
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTSRowIterFetch(STSRowIter *pIter, col_id_t colId, col_type_t
      colType, SCellVal *pVal) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:159,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:185,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:160,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:162,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:165,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - pIter
    - colId
    - nIdx
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_id_t*
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: tdSTSRowIterGetKvVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdRowGetNCols
    - POINTER_SHIFT
    - TD_ROW_COL_IDX
    - tdGetBitmapValType
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTSRowIterGetKvVal(STSRowIter *pIter, col_id_t colId, col_id_t
      *nIdx, SCellVal *pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/trow.c:217,1
    - Dst: tdRowCpy
      Src: /src/tdengine/source/common/src/trow.c:220,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - row
    argTypes:
    - STSRow*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: tdRowDup
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_ROW_LEN
    - tdRowCpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: STSRow*
    signature: 'STSRow *tdRowDup(STSRow *row) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:824,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:835,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:844,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:840,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:828,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pBuilder
    - pBuf
    argTypes:
    - SRowBuilder*
    - void*
    constantsTouched: []
    func_position:
      end: 847
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 847
    functionName: tdSRowGetBuf
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tdGetBitmapAddrKv
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSRowGetBuf(SRowBuilder *pBuilder, void *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:862,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:866,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:871,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pBuilder
    - nCols
    - flen
    argTypes:
    - SRowBuilder*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 872
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 872
    functionName: tdSRowSetTpInfo
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - TD_BITMAP_BYTES
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSRowSetTpInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t
      flen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:87,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:88,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:88,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:90,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:88,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:90,1
    - Dst: tdGetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:95,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:101,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:102,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:102,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:102,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:104,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:104,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - pIter
    - colType
    - offset
    - pVal
    argTypes:
    - STSRowIter*
    - col_type_t
    - int32_t
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: tdSTSRowIterGetTpVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - POINTER_SHIFT
    - TD_ROW_DATA
    - tdGetBitmapValType
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTSRowIterGetTpVal(STSRowIter *pIter, col_type_t colType, int32_t
      offset, SCellVal *pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdSTSRowIterInit
      Src: /src/tdengine/source/common/src/trow.c:226,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:228,1
    - Dst: TD_ROW_SVER
      Src: /src/tdengine/source/common/src/trow.c:228,1
    - Dst: tdSTSRowIterReset
      Src: /src/tdengine/source/common/src/trow.c:227,1
    - Dst: TD_ROW_TYPE
      Src: /src/tdengine/source/common/src/trow.c:228,1
    - Dst: tdSTSRowIterNext
      Src: /src/tdengine/source/common/src/trow.c:232,1
    - Dst: tdSCellValPrint
      Src: /src/tdengine/source/common/src/trow.c:235,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:237,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - row
    - pSchema
    - tag
    argTypes:
    - STSRow*
    - STSchema*
    - char*
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: tdSRowPrint
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_ROW_SVER
    - tdSTSRowIterInit
    - printf
    - tdSTSRowIterNext
    - tdSCellValPrint
    - tdSTSRowIterReset
    - TD_ROW_TYPE
    linkageType: ''
    returnType: void
    signature: 'void tdSRowPrint(STSRow *row, STSchema *pSchema, const char *tag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pBuilder
    argTypes:
    - SRowBuilder*
    constantsTouched: []
    func_position:
      end: 856
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 856
    functionName: tdSRowReset
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tdSRowReset(SRowBuilder *pBuilder) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:879,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:893,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:883,1
    - Dst: TD_BITMAP_BYTES
      Src: /src/tdengine/source/common/src/trow.c:885,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - pBuilder
    - nCols
    - nBoundCols
    - flen
    argTypes:
    - SRowBuilder*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 894
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 894
    functionName: tdSRowSetInfo
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - TD_BITMAP_BYTES
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSRowSetInfo(SRowBuilder *pBuilder, int32_t nCols, int32_t
      nBoundCols, int32_t flen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:133,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:117,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:135,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 3
    argNames:
    - pBitmap
    - colIdx
    - pValType
    argTypes:
    - void*
    - int16_t
    - TDRowValT*
    constantsTouched: []
    func_position:
      end: 136
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 136
    functionName: tdGetBitmapValTypeII
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdGetBitmapValTypeII(const void *pBitmap, int16_t colIdx,
      TDRowValT *pValType) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:249,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:258,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:261,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:264,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:267,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:273,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:300,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:306,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:279,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:270,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:276,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:309,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:245,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:242,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:291,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:294,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:282,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:288,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:285,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:312,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:321,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/common/src/trow.c:241,1
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/common/src/trow.c:244,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:255,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:297,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:303,1
    - Dst: printf
      Src: /src/tdengine/source/common/src/trow.c:318,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 34
    argCount: 2
    argNames:
    - pVal
    - colType
    argTypes:
    - SCellVal*
    - int8_t
    constantsTouched: []
    func_position:
      end: 324
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 324
    functionName: tdSCellValPrint
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdValTypeIsNone
    - tdValTypeIsNull
    - printf
    linkageType: ''
    returnType: void
    signature: 'void tdSCellValPrint(SCellVal *pVal, int8_t colType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 563
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 563
    functionName: tdCompareColId
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tdCompareColId(const void *arg1, const
      void *arg2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:744,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/trow.c:749,1
    - Dst: tdSetBitmapValType
      Src: /src/tdengine/source/common/src/trow.c:749,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:761,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/trow.c:759,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:761,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:761,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:763,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:763,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:763,1
    - Dst: TD_ROW_DATA
      Src: /src/tdengine/source/common/src/trow.c:767,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:771,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/trow.c:767,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:765,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/common/src/trow.c:763,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/trow.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 7
    argNames:
    - pBuilder
    - valType
    - val
    - isCopyVarData
    - colType
    - colIdx
    - offset
    argTypes:
    - SRowBuilder*
    - TDRowValT
    - void*
    - bool
    - int8_t
    - int16_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 772
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 772
    functionName: tdAppendColValToTpRow
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdSetBitmapValType
    - varDataTLen
    - TD_ROW_LEN
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - POINTER_SHIFT
    - memcpy
    - IS_VAR_DATA_TYPE
    - TD_ROW_DATA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdAppendColValToTpRow(SRowBuilder *pBuilder, TDRowValT valType,
      const void *val, bool isCopyVarData, int8_t colType, int16_t colIdx, int32_t
      offset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdGetBitmapValTypeII
      Src: /src/tdengine/source/common/src/trow.c:141,1
    - Dst: tdGetBitmapValTypeI
      Src: /src/tdengine/source/common/src/trow.c:146,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:152,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - pBitmap
    - colIdx
    - pValType
    - bitmapMode
    argTypes:
    - void*
    - int16_t
    - TDRowValT*
    - int8_t
    constantsTouched: []
    func_position:
      end: 153
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 153
    functionName: tdGetBitmapValType
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - tdGetBitmapValTypeII
    - tdGetBitmapValTypeI
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdGetBitmapValType(const void *pBitmap, int16_t colIdx, TDRowValT
      *pValType, int8_t bitmapMode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: compareKvRowColId
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t compareKvRowColId(const void *key1, const
      void *key2) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TD_IS_TP_ROW
      Src: /src/tdengine/source/common/src/trow.c:575,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:581,1
    - Dst: tdGetTpRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:587,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:578,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:585,1
    - Dst: TD_IS_KV_ROW
      Src: /src/tdengine/source/common/src/trow.c:588,1
    - Dst: taosbsearch
      Src: /src/tdengine/source/common/src/trow.c:589,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:589,1
    - Dst: tdRowGetNCols
      Src: /src/tdengine/source/common/src/trow.c:589,1
    - Dst: POINTER_DISTANCE
      Src: /src/tdengine/source/common/src/trow.c:593,1
    - Dst: COL_REACH_END
      Src: /src/tdengine/source/common/src/trow.c:598,1
    - Dst: TD_ROW_COL_IDX
      Src: /src/tdengine/source/common/src/trow.c:593,1
    - Dst: tdGetKvRowValOfCol
      Src: /src/tdengine/source/common/src/trow.c:596,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 4
    argNames:
    - pIter
    - colId
    - colType
    - pVal
    argTypes:
    - STSRowIter*
    - col_id_t
    - col_type_t
    - SCellVal*
    constantsTouched: []
    func_position:
      end: 603
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 603
    functionName: tdSTSRowGetVal
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_IS_KV_ROW
    - TD_IS_TP_ROW
    - tdGetTpRowValOfCol
    - POINTER_DISTANCE
    - TD_ROW_COL_IDX
    - tdRowGetNCols
    - tdGetKvRowValOfCol
    - COL_REACH_END
    - taosbsearch
    linkageType: ''
    returnType: bool
    signature: 'bool tdSTSRowGetVal(STSRowIter *pIter, col_id_t colId, col_type_t
      colType, SCellVal *pVal) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:777,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:787,1
    - Dst: TD_ROW_SET_INFO
      Src: /src/tdengine/source/common/src/trow.c:783,1
    - Dst: TD_ROW_SET_TYPE
      Src: /src/tdengine/source/common/src/trow.c:784,1
    - Dst: tdGetBitmapAddrTp
      Src: /src/tdengine/source/common/src/trow.c:794,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/trow.c:795,1
    - Dst: TD_ROW_SET_LEN
      Src: /src/tdengine/source/common/src/trow.c:799,1
    - Dst: TD_ROW_SET_SVER
      Src: /src/tdengine/source/common/src/trow.c:800,1
    - Dst: tdGetBitmapAddrKv
      Src: /src/tdengine/source/common/src/trow.c:804,1
    - Dst: memset
      Src: /src/tdengine/source/common/src/trow.c:805,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:815,1
    - Dst: TD_ROW_SET_SVER
      Src: /src/tdengine/source/common/src/trow.c:810,1
    - Dst: TD_ROW_SET_NCOLS
      Src: /src/tdengine/source/common/src/trow.c:811,1
    - Dst: TD_ROW_SET_LEN
      Src: /src/tdengine/source/common/src/trow.c:809,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/common/src/trow.c:818,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - pBuilder
    - pBuf
    argTypes:
    - SRowBuilder*
    - void*
    constantsTouched: []
    func_position:
      end: 819
      start: 774
    functionDepth: 0
    functionLinenumber: 774
    functionLinenumberEnd: 819
    functionName: tdSRowResetBuf
    functionSourceFile: /src/tdengine/source/common/src/trow.c
    functionUses: []
    functionsReached:
    - TD_ROW_SET_INFO
    - TD_ROW_SET_TYPE
    - TD_ROW_SET_SVER
    - memset
    - TD_ROW_SET_NCOLS
    - TAOS_RETURN
    - tdGetBitmapAddrKv
    - TD_ROW_SET_LEN
    - tdGetBitmapAddrTp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdSRowResetBuf(SRowBuilder *pBuilder, void *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - grant
    argTypes:
    - EGrantType
    constantsTouched: []
    func_position:
      end: 20
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 20
    functionName: grantCheck
    functionSourceFile: /src/tdengine/source/common/src/tgrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t grantCheck(EGrantType grant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - grant
    argTypes:
    - EGrantType
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: grantCheckExpire
    functionSourceFile: /src/tdengine/source/common/src/tgrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t grantCheckExpire(EGrantType grant) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EAnalAlgoType
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: taosAnalysisAlgoType
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *taosAnalysisAlgoType(EAnalAlgoType type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/common/src/tanalytics.c:63,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: taosAnalyAlgoInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - taosAnalysisAlgoType
    linkageType: ''
    returnType: EAnalAlgoType
    signature: 'EAnalAlgoType taosAnalyAlgoInt(const char *name) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/common/src/tanalytics.c:115,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/common/src/tanalytics.c:119,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:120,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:125,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - newVer
    - pHash
    argTypes:
    - int64_t
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 127
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 127
    functionName: taosAnalyUpdate
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyFreeHash
    - taosThreadMutexUnlock
    - uError
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyUpdate(int64_t newVer, SHashObj *pHash) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:503,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:510,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:508,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:515,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 521
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 521
    functionName: taosAnalyJsonBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStr
    - taosWriteFile
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteColMeta(SAnalyticBuf *pBuf, int32_t
      colIndex, int32_t colType, const char *colName) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:651,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:657,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:665,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:667,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:655,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 674
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 674
    functionName: taosAnalJsonBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosAnalyJsonBufWriteEnd
    - taosCloseFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalJsonBufClose(SAnalyticBuf *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 770
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 770
    functionName: taosAnalyBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteColEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColEnd(SAnalyticBuf *pBuf, int32_t colIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 851
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 851
    functionName: taosAnalyticsCleanup
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyticsCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - algoName
    - type
    - url
    - urlLen
    argTypes:
    - char*
    - EAnalAlgoType
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 856
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 856
    functionName: taosAnalyGetAlgoUrl
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyGetAlgoUrl(const char *algoName, EAnalAlgoType type,
      char *url, int32_t urlLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - EAnalAlgoType
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: taosAnalyAlgoUrlStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *taosAnalyAlgoUrlStr(EAnalAlgoType type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/tanalytics.c:140,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/tanalytics.c:148,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tanalytics.c:148,1
    - Dst: strsplit
      Src: /src/tdengine/source/common/src/tanalytics.c:146,1
    - Dst: strdequote
      Src: /src/tdengine/source/common/src/tanalytics.c:145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:151,1
    - Dst: strsplit
      Src: /src/tdengine/source/common/src/tanalytics.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:160,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tanalytics.c:164,1
    - Dst: strtrim
      Src: /src/tdengine/source/common/src/tanalytics.c:165,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/tanalytics.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:170,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:171,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:172,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:182,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - pOption
    - pOptHash
    argTypes:
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 184
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 184
    functionName: taosAnalyGetOpts
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - strdequote
    - strtrim
    - strsplit
    - taosStrdup
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyGetOpts(const char *pOption, SHashObj **pOptHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: taosAnalyJsonBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteDataBegin(SAnalyticBuf *pBuf) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:678,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:687,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:696,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:689,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/common/src/tanalytics.c:688,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 698
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 698
    functionName: taosAnalyBufDestroy
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - uError
    - taosMemoryFreeClear
    - taosCloseFile
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyBufDestroy(SAnalyticBuf *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteDataEnd
      Src: /src/tdengine/source/common/src/tanalytics.c:774,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 778
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 778
    functionName: taosAnalyBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteDataEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteDataEnd(SAnalyticBuf *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - option
    - optName
    - optValue
    - optMaxLen
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 857
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 857
    functionName: taosAnalyGetOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosAnalyGetOptStr(const char *option, const char *optName, char
      *optValue, int32_t optMaxLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 872
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 872
    functionName: taosAnalyBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteDataEnd(SAnalyticBuf *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 880
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 880
    functionName: taosAnalysisParseTimout
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosAnalysisParseTimout(SHashObj *pHashMap, const char *id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    constantsTouched: []
    func_position:
      end: 864
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 864
    functionName: taosAnalyBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptFloat(SAnalyticBuf *pBuf, const char *optName,
      float optVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 858
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 858
    functionName: taosAnalyGetVersion
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosAnalyGetVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: taosAnalyBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColMeta(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, const char *colName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pBuf
    - numOfCols
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 861
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 861
    functionName: tsosAnalyBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsosAnalyBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - algoType
    argTypes:
    - EAnalAlgoType
    constantsTouched: []
    func_position:
      end: 876
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 876
    functionName: taosAnalysisAlgoType
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *taosAnalysisAlgoType(EAnalAlgoType algoType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:104,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:106,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tanalytics.c:110,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/common/src/tanalytics.c:105,1
    - Dst: taosAnalyFreeHash
      Src: /src/tdengine/source/common/src/tanalytics.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: taosAnalyticsCleanup
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyFreeHash
    - taosThreadMutexDestroy
    - uError
    - uInfo
    - curl_global_cleanup
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyticsCleanup() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:553,1
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: taosAnalyJsonBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStrUseCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteColEnd(SAnalyticBuf *pBuf, int32_t
      colIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/common/src/tanalytics.c:623,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:632,1
    - Dst: taosAnalyJsonBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:629,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:626,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:635,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:640,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 641
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 641
    functionName: taosAnalyJsonBufWriteDataEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosAnalyJsonBufGetCont
    - taosCloseFile
    - taosAnalyJsonBufWriteStr
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteDataEnd(SAnalyticBuf *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsosAnalyJsonBufOpen
      Src: /src/tdengine/source/common/src/tanalytics.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pBuf
    - numOfCols
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 706
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 706
    functionName: tsosAnalyBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - tsosAnalyJsonBufOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsosAnalyBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptInt
      Src: /src/tdengine/source/common/src/tanalytics.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 722
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 722
    functionName: taosAnalyBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteOptInt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptInt(SAnalyticBuf *pBuf, const char *optName,
      int64_t optVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColMeta
      Src: /src/tdengine/source/common/src/tanalytics.c:734,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colName
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 738
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 738
    functionName: taosAnalyBufWriteColMeta
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteColMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColMeta(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, const char *colName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColBegin
      Src: /src/tdengine/source/common/src/tanalytics.c:750,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 754
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 754
    functionName: taosAnalyBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteColBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColBegin(SAnalyticBuf *pBuf, int32_t colIndex) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalJsonBufClose
      Src: /src/tdengine/source/common/src/tanalytics.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: taosAnalyBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalJsonBufClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufClose(SAnalyticBuf *pBuf) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:573,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:582,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:579,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:576,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:585,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:588,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:591,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:595,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:598,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:601,1
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:611,1
    - Dst: GET_DOUBLE_VAL
      Src: /src/tdengine/source/common/src/tanalytics.c:604,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/common/src/tanalytics.c:601,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:604,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 612
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 612
    functionName: taosAnalyJsonBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - GET_FLOAT_VAL
    - GET_DOUBLE_VAL
    - tsnprintf
    - taosAnalyJsonBufWriteStrUseCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteColData(SAnalyticBuf *pBuf, int32_t
      colIndex, int32_t colType, void *colValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptInt
      Src: /src/tdengine/source/common/src/tanalytics.c:644,1
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:647,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: taosAnalyJsonBufWriteEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStr
    - taosAnalyJsonBufWriteOptInt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteEnd(SAnalyticBuf *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptStr
      Src: /src/tdengine/source/common/src/tanalytics.c:710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: taosAnalyBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteOptStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptStr(SAnalyticBuf *pBuf, const char *optName,
      const char *optVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteOptFloat
      Src: /src/tdengine/source/common/src/tanalytics.c:726,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: taosAnalyBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteOptFloat
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptFloat(SAnalyticBuf *pBuf, const char *optName,
      float optVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteDataBegin
      Src: /src/tdengine/source/common/src/tanalytics.c:742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: taosAnalyBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteDataBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteDataBegin(SAnalyticBuf *pBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteColData
      Src: /src/tdengine/source/common/src/tanalytics.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 762
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 762
    functionName: taosAnalyBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColData(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, void *colValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:793,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pBuf
    - ppCont
    - pContLen
    argTypes:
    - SAnalyticBuf*
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 797
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 797
    functionName: taosAnalyBufGetCont
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufGetCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyBufGetCont(SAnalyticBuf *pBuf, char **ppCont,
      int64_t *pContLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 862
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 862
    functionName: taosAnalyBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptStr(SAnalyticBuf *pBuf, const char *optName,
      const char *optVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 887
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 887
    functionName: taosAnalysisParseWncheck
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t taosAnalysisParseWncheck(SHashObj* pHashMap, const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pOption
    - pOptHash
    argTypes:
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 888
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 888
    functionName: taosAnalyGetOpts
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyGetOpts(const char *pOption, SHashObj **pOptHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 869
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 869
    functionName: taosAnalyBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColBegin(SAnalyticBuf *pBuf, int32_t colIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 871
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 871
    functionName: taosAnalyBufWriteColEnd
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColEnd(SAnalyticBuf *pBuf, int32_t colIndex) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tanalytics.c:94,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:100,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/tanalytics.c:98,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - hash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: taosAnalyFreeHash
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void taosAnalyFreeHash(SHashObj *hash) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosCurlGetRequest
      Src: /src/tdengine/source/common/src/tanalytics.c:355,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/tanalytics.c:387,1
    - Dst: taosAnalyBufGetCont
      Src: /src/tdengine/source/common/src/tanalytics.c:360,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/common/src/tanalytics.c:376,1
    - Dst: taosCurlPostRequest
      Src: /src/tdengine/source/common/src/tanalytics.c:365,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:388,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - url
    - type
    - pBuf
    - timeout
    argTypes:
    - char*
    - EAnalyHttpType
    - SAnalyticBuf*
    - int64_t
    constantsTouched: []
    func_position:
      end: 390
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 390
    functionName: taosAnalySendReqRetJson
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosCurlGetRequest
    - tjsonParse
    - taosCurlPostRequest
    - taosMemoryFreeClear
    - taosAnalyBufGetCont
    linkageType: ''
    returnType: SJson*
    signature: 'SJson *taosAnalySendReqRetJson(const char *url, EAnalyHttpType type,
      SAnalyticBuf *pBuf, int64_t timeout) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:433,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 438
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 438
    functionName: taosAnalyJsonBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosWriteFile
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteOptInt(SAnalyticBuf *pBuf, const
      char *optName, int64_t optVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 850
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 850
    functionName: taosAnalyticsInit
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyticsInit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 868
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 868
    functionName: taosAnalyBufWriteDataBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteDataBegin(SAnalyticBuf *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 1
    argCount: 7
    argNames:
    - pOpt
    - pAlgoName
    - pUrl
    - type
    - len
    - pHashMap
    - id
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: taosAnalysisParseAlgo
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalysisParseAlgo(const char *pOpt, char *pAlgoName, char
      *pUrl, int32_t type, int32_t len, SHashObj *pHashMap, const char *id) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:398,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/common/src/tanalytics.c:413,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/tanalytics.c:425,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/common/src/tanalytics.c:404,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:407,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/common/src/tanalytics.c:427,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - fileName
    - ppCont
    - pContLen
    argTypes:
    - char*
    - char**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 429
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 429
    functionName: taosAnalyJsonBufGetCont
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosMemoryFree
    - taosMemoryMalloc
    - taosCloseFile
    - taosReadFile
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufGetCont(const char *fileName, char
      **ppCont, int64_t *pContLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:442,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: taosAnalyJsonBufWriteOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosWriteFile
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteOptStr(SAnalyticBuf *pBuf, const
      char *optName, const char *optVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:837,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:843,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:837,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tanalytics.c:839,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:840,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 846
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 846
    functionName: taosAnalysisParseWncheck
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - strlen
    - uDebug
    - taosHashGet
    - taosStr2Int64
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t taosAnalysisParseWncheck(SHashObj* pHashMap, const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 873
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 873
    functionName: taosAnalyBufClose
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufClose(SAnalyticBuf *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - algoName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 877
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 877
    functionName: taosAnalAlgoInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: EAnalAlgoType
    signature: 'EAnalAlgoType taosAnalAlgoInt(const char *algoName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - algoType
    argTypes:
    - EAnalAlgoType
    constantsTouched: []
    func_position:
      end: 878
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 878
    functionName: taosAnalAlgoUrlStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *taosAnalAlgoUrlStr(EAnalAlgoType algoType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 4
    argNames:
    - pBuf
    - colIndex
    - colType
    - colValue
    argTypes:
    - SAnalyticBuf*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 870
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 870
    functionName: taosAnalyBufWriteColData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteColData(SAnalyticBuf *pBuf, int32_t colIndex,
      int32_t colType, void *colValue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curl_global_init
      Src: /src/tdengine/source/common/src/tanalytics.c:72,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/common/src/tanalytics.c:78,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:73,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:79,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/tanalytics.c:83,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:85,1
    - Dst: uInfo
      Src: /src/tdengine/source/common/src/tanalytics.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 91
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 91
    functionName: taosAnalyticsInit
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - curl_global_init
    - taosThreadMutexInit
    - uError
    - uInfo
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyticsInit() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetOpts
      Src: /src/tdengine/source/common/src/tanalytics.c:188,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:197,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:199,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:197,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:191,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/src/tanalytics.c:203,1
    - Dst: MIN
      Src: /src/tdengine/source/common/src/tanalytics.c:206,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:207,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:210,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - option
    - optName
    - optValue
    - optMaxLen
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 212
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 212
    functionName: taosAnalyGetOptStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - MIN
    - taosHashGet
    - tstrncpy
    - strlen
    - taosHashGetValueSize
    - taosAnalyGetOpts
    - taosHashCleanup
    linkageType: ''
    returnType: bool
    signature: 'bool taosAnalyGetOptStr(const char *option, const char *optName, char
      *optValue, int32_t optMaxLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: taosAnalyGetVersion
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosAnalyGetVersion() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/tdengine/source/common/src/tanalytics.c:290,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:297,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:292,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:298,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:296,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:299,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:301,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/common/src/tanalytics.c:302,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:304,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:308,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - url
    - pRsp
    argTypes:
    - char*
    - SCurlResp*
    constantsTouched: []
    func_position:
      end: 310
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 310
    functionName: taosCurlGetRequest
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - curl_easy_setopt
    - curl_easy_init
    - uError
    - uDebug
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCurlGetRequest(const char *url, SCurlResp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:451,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - float
    constantsTouched: []
    func_position:
      end: 456
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 456
    functionName: taosAnalyJsonBufWriteOptFloat
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosWriteFile
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteOptFloat(SAnalyticBuf *pBuf, const
      char *optName, float optVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStr
      Src: /src/tdengine/source/common/src/tanalytics.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 468
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 468
    functionName: taosAnalyJsonBufWriteStart
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteStart(SAnalyticBuf *pBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:529,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:533,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:538,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - pBuf
    - buf
    - bufLen
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: taosAnalyJsonBufWriteStrUseCol
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - strlen
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteStrUseCol(SAnalyticBuf *pBuf,
      const char *buf, int32_t bufLen, int32_t colIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:802,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/common/src/tanalytics.c:807,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:804,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:802,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:809,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:814,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pHashMap
    - id
    argTypes:
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 817
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 817
    functionName: taosAnalysisParseTimout
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosStr2Int64
    - strlen
    - taosHashGet
    - uDebug
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosAnalysisParseTimout(SHashObj* pHashMap, const char* id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:217,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/tanalytics.c:219,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:224,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/common/src/tanalytics.c:222,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/common/src/tanalytics.c:221,1
    - Dst: uDebug
      Src: /src/tdengine/source/common/src/tanalytics.c:225,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:225,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:229,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/common/src/tanalytics.c:229,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/common/src/tanalytics.c:232,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:233,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - algoName
    - type
    - url
    - urlLen
    argTypes:
    - char*
    - EAnalAlgoType
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 239
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 239
    functionName: taosAnalyGetAlgoUrl
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - strntolower
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosHashAcquire
    - tstrncpy
    - uError
    - uDebug
    - taosAnalysisAlgoType
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyGetAlgoUrl(const char *algoName, EAnalAlgoType type,
      char *url, int32_t urlLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:248,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:256,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:258,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/common/src/tanalytics.c:262,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:258,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:264,1
    - Dst: tstrerror
      Src: /src/tdengine/source/common/src/tanalytics.c:264,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/tanalytics.c:272,1
    - Dst: uDebugL
      Src: /src/tdengine/source/common/src/tanalytics.c:277,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:281,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 4
    argNames:
    - pCont
    - contLen
    - nmemb
    - userdata
    argTypes:
    - char*
    - size_t
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 284
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 284
    functionName: taosCurlWriteData
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryRealloc
    - tstrerror
    - uError
    - uDebugL
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: 'static size_t taosCurlWriteData(char *pCont, size_t contLen, size_t
      nmemb, void *userdata) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: curl_easy_init
      Src: /src/tdengine/source/common/src/tanalytics.c:317,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:325,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:319,1
    - Dst: curl_slist_append
      Src: /src/tdengine/source/common/src/tanalytics.c:323,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:324,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:326,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:327,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:328,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:329,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:330,1
    - Dst: uDebugL
      Src: /src/tdengine/source/common/src/tanalytics.c:333,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:336,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/common/src/tanalytics.c:342,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/common/src/tanalytics.c:331,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/common/src/tanalytics.c:334,1
    - Dst: curl_slist_free_all
      Src: /src/tdengine/source/common/src/tanalytics.c:341,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 34
    argCount: 5
    argNames:
    - url
    - pRsp
    - buf
    - bufLen
    - timeout
    argTypes:
    - char*
    - SCurlResp*
    - char*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: taosCurlPostRequest
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - curl_easy_setopt
    - curl_slist_append
    - curl_easy_init
    - uError
    - uDebugL
    - curl_slist_free_all
    - curl_easy_perform
    - curl_easy_cleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCurlPostRequest(const char *url, SCurlResp *pRsp,
      const char *buf, int32_t bufLen, int32_t timeout) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:460,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/common/src/tanalytics.c:462,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pBuf
    - buf
    - bufLen
    argTypes:
    - SAnalyticBuf*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 466
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 466
    functionName: taosAnalyJsonBufWriteStr
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - strlen
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteStr(SAnalyticBuf *pBuf, const
      char *buf, int32_t bufLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:471,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/common/src/tanalytics.c:488,1
    - Dst: taosAnalyJsonBufWriteStart
      Src: /src/tdengine/source/common/src/tanalytics.c:481,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/tanalytics.c:476,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/tanalytics.c:486,1
    - Dst: taosAnalyJsonBufWriteStart
      Src: /src/tdengine/source/common/src/tanalytics.c:494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pBuf
    - numOfCols
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: tsosAnalyJsonBufOpen
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosOpenFile
    - snprintf
    - taosAnalyJsonBufWriteStart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsosAnalyJsonBufOpen(SAnalyticBuf *pBuf, int32_t numOfCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyJsonBufWriteStrUseCol
      Src: /src/tdengine/source/common/src/tanalytics.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pBuf
    - colIndex
    argTypes:
    - SAnalyticBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: taosAnalyJsonBufWriteColBegin
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosAnalyJsonBufWriteStrUseCol
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosAnalyJsonBufWriteColBegin(SAnalyticBuf *pBuf, int32_t
      colIndex) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/common/src/tanalytics.c:820,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/tanalytics.c:820,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/tanalytics.c:826,1
    - Dst: taosHashGetValueSize
      Src: /src/tdengine/source/common/src/tanalytics.c:826,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:822,1
    - Dst: taosAnalyGetAlgoUrl
      Src: /src/tdengine/source/common/src/tanalytics.c:828,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/tanalytics.c:829,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 7
    argNames:
    - pOpt
    - pAlgoName
    - pUrl
    - type
    - len
    - pHashMap
    - id
    argTypes:
    - char*
    - char*
    - char*
    - int32_t
    - int32_t
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: taosAnalysisParseAlgo
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - tstrncpy
    - strlen
    - uError
    - taosAnalyGetAlgoUrl
    - taosHashGetValueSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalysisParseAlgo(const char* pOpt, char* pAlgoName, char*
      pUrl, int32_t type, int32_t len, SHashObj* pHashMap, const char* id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - url
    - type
    - pBuf
    - timeout
    argTypes:
    - char*
    - EAnalyHttpType
    - SAnalyticBuf*
    - int64_t
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: taosAnalySendReqRetJson
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SJson*
    signature: 'SJson *taosAnalySendReqRetJson(const char *url, EAnalyHttpType type,
      SAnalyticBuf *pBuf, int64_t timeout) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - newVer
    - pHash
    argTypes:
    - int64_t
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 859
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 859
    functionName: taosAnalyUpdate
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyUpdate(int64_t newVer, SHashObj *pHash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pBuf
    - optName
    - optVal
    argTypes:
    - SAnalyticBuf*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 863
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 863
    functionName: taosAnalyBufWriteOptInt
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAnalyBufWriteOptInt(SAnalyticBuf *pBuf, const char *optName,
      int64_t optVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SAnalyticBuf*
    constantsTouched: []
    func_position:
      end: 874
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 874
    functionName: taosAnalyBufDestroy
    functionSourceFile: /src/tdengine/source/common/src/tanalytics.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosAnalyBufDestroy(SAnalyticBuf *pBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:62,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:63,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:64,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:62,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:63,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:64,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:65,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:65,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:66,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SStreamUpstreamEpInfo*
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: tEncodeStreamEpInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeI64
    - tEncodeI32
    - tEncodeSEpSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamEpInfo(SEncoder* pEncoder, const SStreamUpstreamEpInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:81,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:83,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:87,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:89,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:85,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:82,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:84,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:86,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:88,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:81,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:80,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:82,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:83,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:87,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:89,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:90,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:80,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:84,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:85,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:86,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamCheckpointSourceReq*
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: tEncodeStreamCheckpointSourceReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEncodeSEpSet
    - tEndEncode
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamCheckpointSourceReq(SEncoder* pEncoder, const
      SStreamCheckpointSourceReq* pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:225,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:228,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:230,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:227,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:231,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:229,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:226,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:228,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:232,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskCheckReq*
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: tEncodeStreamTaskCheckReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskCheckReq(SEncoder* pEncoder, const SStreamTaskCheckReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:493,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:492,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:494,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:495,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:495,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskCheckpointReq*
    constantsTouched: []
    func_position:
      end: 500
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 500
    functionName: tEncodeStreamTaskCheckpointReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskCheckpointReq(SEncoder* pEncoder, const SStreamTaskCheckpointReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:790,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:791,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:792,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:793,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:794,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:794,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:796,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:797,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:795,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SCheckpointTriggerRsp*
    constantsTouched: []
    func_position:
      end: 801
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 801
    functionName: tDecodeCheckpointTriggerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeCheckpointTriggerRsp(SDecoder* pDecoder, SCheckpointTriggerRsp*
      pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:71,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:71,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:73,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:72,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:72,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:73,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:74,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:74,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:75,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:75,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SStreamUpstreamEpInfo*
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: tDecodeStreamEpInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - tDecodeSEpSet
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamEpInfo(SDecoder* pDecoder, SStreamUpstreamEpInfo*
      pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:101,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:104,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:97,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:96,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:98,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:98,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:102,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:101,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:95,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:96,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:97,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:99,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:103,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:102,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:105,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:95,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:99,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:103,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamCheckpointSourceReq*
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: tDecodeStreamCheckpointSourceReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamCheckpointSourceReq(SDecoder* pDecoder, SStreamCheckpointSourceReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:250,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:255,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:252,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:248,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:249,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:253,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:247,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:254,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:253,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:252,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskCheckReq*
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: tDecodeStreamTaskCheckReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskCheckReq(SDecoder* pDecoder, SStreamTaskCheckReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:506,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:507,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:507,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:509,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:509,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskCheckpointReq*
    constantsTouched: []
    func_position:
      end: 514
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 514
    functionName: tDecodeStreamTaskCheckpointReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskCheckpointReq(SDecoder* pDecoder, SStreamTaskCheckpointReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:808,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:807,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:811,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:813,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:814,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:812,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:809,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:808,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:813,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:815,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:816,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:812,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SCheckpointReport*
    constantsTouched: []
    func_position:
      end: 820
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 820
    functionName: tEncodeStreamTaskChkptReport
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskChkptReport(SEncoder* pEncoder, const SCheckpointReport*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:920,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:921,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:921,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:920,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:922,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskStopReq*
    constantsTouched: []
    func_position:
      end: 927
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 927
    functionName: tDecodeStreamTaskStopReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEndDecode
    - tDecodeI64
    - tStartDecode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskStopReq(SDecoder* pDecoder, SStreamTaskStopReq*
      pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:695,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:700,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SStreamHbMsg*
    constantsTouched: []
    func_position:
      end: 707
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 707
    functionName: tCleanupStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tCleanupStreamHbMsg(SStreamHbMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:833,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:832,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:835,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:827,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:828,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:834,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:833,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:826,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:831,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:834,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:826,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:828,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:832,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SCheckpointReport*
    constantsTouched: []
    func_position:
      end: 839
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 839
    functionName: tDecodeStreamTaskChkptReport
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskChkptReport(SDecoder* pDecoder, SCheckpointReport*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:895,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:896,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:895,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:896,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:897,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:897,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:898,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamTaskRunReq*
    constantsTouched: []
    func_position:
      end: 902
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 902
    functionName: tDecodeStreamTaskRunReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskRunReq(SDecoder* pDecoder, SStreamTaskRunReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:713,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:715,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:713,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:715,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMStreamHbRspMsg*
    constantsTouched: []
    func_position:
      end: 720
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 720
    functionName: tEncodeStreamHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - tEncodeSEpSet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamHbRsp(SEncoder* pEncoder, const SMStreamHbRspMsg*
      pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:845,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:846,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:846,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:848,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:849,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:849,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:850,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:852,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:851,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SRestoreCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 856
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 856
    functionName: tEncodeRestoreCheckpointInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeRestoreCheckpointInfo(SEncoder* pEncoder, const SRestoreCheckpointInfo*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:908,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:910,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:908,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:909,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskStopReq*
    constantsTouched: []
    func_position:
      end: 914
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 914
    functionName: tEncodeStreamTaskStopReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tStartEncode
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskStopReq(SEncoder* pEncoder, const SStreamTaskStopReq*
      pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:171,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:177,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:182,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:204,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:208,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:171,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:183,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:182,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:202,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:170,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:184,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:202,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:175,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:191,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:184,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:194,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pMsg
    argTypes:
    - SDecoder*
    - SStreamTaskNodeUpdateMsg*
    constantsTouched: []
    func_position:
      end: 211
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 211
    functionName: tDecodeStreamTaskUpdateMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tDecodeI64
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskUpdateMsg(SDecoder* pDecoder, SStreamTaskNodeUpdateMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:310,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:311,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:311,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:310,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:313,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:313,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:314,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:315,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:318,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:317,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:317,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamCheckpointReadyMsg*
    constantsTouched: []
    func_position:
      end: 326
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 326
    functionName: tEncodeStreamCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamCheckpointReadyMsg(SEncoder* pEncoder, const
      SStreamCheckpointReadyMsg* pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:520,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:539,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:559,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:584,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:546,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:562,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:584,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:587,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:570,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:530,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:539,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:541,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:552,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:548,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:565,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:569,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:567,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:581,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:532,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:551,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:556,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:576,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:554,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:560,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:556,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:558,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:536,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:547,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:576,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:588,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:589,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:534,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:549,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:558,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:560,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:562,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:566,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:522,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:571,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:540,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:545,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:552,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:521,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:531,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:540,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:544,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:559,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:533,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:547,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:550,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:563,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:542,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:554,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:567,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:571,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:587,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 117
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamHbMsg*
    constantsTouched: []
    func_position:
      end: 597
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 597
    functionName: tEncodeStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeDouble
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamHbMsg(SEncoder* pEncoder, const SStreamHbMsg*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:726,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:727,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:728,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:728,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMStreamHbRspMsg*
    constantsTouched: []
    func_position:
      end: 733
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 733
    functionName: tDecodeStreamHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamHbRsp(SDecoder* pDecoder, SMStreamHbRspMsg* pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:865,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:864,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:863,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:866,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:867,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:869,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:869,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:868,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SRestoreCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 874
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 874
    functionName: tDecodeRestoreCheckpointInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeRestoreCheckpointInfo(SDecoder* pDecoder, SRestoreCheckpointInfo*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:214,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SStreamTaskNodeUpdateMsg*
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: tDestroyNodeUpdateMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroyNodeUpdateMsg(SStreamTaskNodeUpdateMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:332,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:333,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:334,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:333,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:332,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:335,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:335,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:338,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:339,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:338,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:337,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:340,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:339,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:337,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SStreamCheckpointReadyMsg*
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: tDecodeStreamCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamCheckpointReadyMsg(SDecoder* pDecoder, SStreamCheckpointReadyMsg*
      pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:642,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:603,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:682,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:662,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:647,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:648,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:614,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:619,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:653,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:636,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:608,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:615,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:644,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:652,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:646,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:604,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:624,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:648,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:647,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:649,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:654,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:625,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:670,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:667,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:656,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:616,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:622,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:641,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:683,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:639,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:637,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:631,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:682,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:635,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:638,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:637,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:640,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:630,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:634,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:629,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:652,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:627,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:681,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:651,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:658,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:630,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:605,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:617,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:620,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:623,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:629,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:628,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:653,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:669,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:618,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:622,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:675,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 125
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamHbMsg*
    constantsTouched: []
    func_position:
      end: 687
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 687
    functionName: tDecodeStreamHbMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeDouble
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamHbMsg(SDecoder* pDecoder, SStreamHbMsg* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:739,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:740,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:741,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:742,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:743,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:744,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:745,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:746,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SRetrieveChkptTriggerReq*
    constantsTouched: []
    func_position:
      end: 750
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 750
    functionName: tEncodeRetrieveChkptTriggerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeRetrieveChkptTriggerReq(SEncoder* pEncoder, const SRetrieveChkptTriggerReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:880,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:882,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:880,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:883,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:883,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamTaskRunReq*
    constantsTouched: []
    func_position:
      end: 888
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 888
    functionName: tEncodeStreamTaskRunReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskRunReq (SEncoder* pEncoder, const SStreamTaskRunReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:110,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:112,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:110,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:113,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:113,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:114,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:114,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:115,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:116,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:116,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamCheckpointSourceRsp*
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: tEncodeStreamCheckpointSourceRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEndEncode
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamCheckpointSourceRsp(SEncoder* pEncoder, const
      SStreamCheckpointSourceRsp* pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:269,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:273,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:275,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:268,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:267,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:272,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:271,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:275,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:267,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:266,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:270,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:272,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamTaskCheckRsp*
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: tEncodeStreamTaskCheckRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskCheckRsp(SEncoder* pEncoder, const SStreamTaskCheckRsp*
      pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:355,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:357,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:361,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:363,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:367,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:377,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:351,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:350,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:356,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:360,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:362,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:378,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:359,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:357,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:361,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:363,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:365,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:365,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:371,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:372,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:377,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:352,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:351,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:356,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:360,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:362,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamDispatchReq*
    constantsTouched: []
    func_position:
      end: 387
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 387
    functionName: tEncodeStreamDispatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeBinary
    - taosArrayGet
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - uError
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamDispatchReq(SEncoder* pEncoder, const SStreamDispatchReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:470,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:472,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:471,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:472,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:473,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:474,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:474,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:476,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:478,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:478,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 484
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 484
    functionName: tDecodeStreamRetrieveReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamRetrieveReq(SDecoder* pDecoder, SStreamRetrieveReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:440,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStreamDispatchReq*
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 442
    functionName: tCleanupStreamDispatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tCleanupStreamDispatchReq(SStreamDispatchReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:757,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:758,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:756,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:759,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:759,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:760,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:762,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:762,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:763,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SRetrieveChkptTriggerReq*
    constantsTouched: []
    func_position:
      end: 767
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 767
    functionName: tDecodeRetrieveChkptTriggerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeRetrieveChkptTriggerReq(SDecoder* pDecoder, SRetrieveChkptTriggerReq*
      pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:127,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:140,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:139,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:150,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:157,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:129,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:144,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:154,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:126,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:147,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:125,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:130,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:133,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:152,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - pEncoder
    - pMsg
    argTypes:
    - SEncoder*
    - SStreamTaskNodeUpdateMsg*
    constantsTouched: []
    func_position:
      end: 164
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 164
    functionName: tEncodeStreamTaskUpdateMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeSEpSet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamTaskUpdateMsg(SEncoder* pEncoder, const SStreamTaskNodeUpdateMsg*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:290,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:297,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:290,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:292,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:298,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:299,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:298,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:291,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:292,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:294,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:296,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SStreamTaskCheckRsp*
    constantsTouched: []
    func_position:
      end: 304
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 304
    functionName: tDecodeStreamTaskCheckRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamTaskCheckRsp(SDecoder* pDecoder, SStreamTaskCheckRsp*
      pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:396,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:402,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:406,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:418,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:419,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:412,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:426,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:394,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:395,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:396,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:397,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:403,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:418,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:430,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:393,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:397,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:400,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:404,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:409,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:401,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:398,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:400,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:422,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamDispatchReq*
    constantsTouched: []
    func_position:
      end: 437
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 437
    functionName: tDecodeStreamDispatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeBinaryAlloc
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeStreamDispatchReq(SDecoder* pDecoder, SStreamDispatchReq*
      pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:448,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:450,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:448,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:451,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:452,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:455,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:455,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:454,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:456,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 464
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 464
    functionName: tEncodeStreamRetrieveReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeStreamRetrieveReq(SEncoder* pEncoder, const SStreamRetrieveReq*
      pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStreamRetrieveReq*
    constantsTouched: []
    func_position:
      end: 486
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 486
    functionName: tCleanupStreamRetrieveReq
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tCleanupStreamRetrieveReq(SStreamRetrieveReq* pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:773,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:774,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:774,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:775,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:773,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:776,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:777,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:779,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:780,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:779,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/streamMsg.c:778,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SCheckpointTriggerRsp*
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: tEncodeCheckpointTriggerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/streamMsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeCheckpointTriggerRsp(SEncoder* pEncoder, const SCheckpointTriggerRsp*
      pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4902,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4904,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4904,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4906,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4914,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SServerVerReq*
    constantsTouched: []
    func_position:
      end: 4916
      start: 4897
    functionDepth: 0
    functionLinenumber: 4897
    functionLinenumberEnd: 4916
    functionName: tSerializeSServerVerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSServerVerReq(void *buf, int32_t bufLen, SServerVerReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8319,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8322,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8323,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8324,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8324,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8325,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8325,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8327,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8326,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRedistributeVgroupReq*
    constantsTouched: []
    func_position:
      end: 8332
      start: 8315
    functionDepth: 0
    functionLinenumber: 8315
    functionLinenumberEnd: 8332
    functionName: tDeserializeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSRedistributeVgroupReq(void *buf, int32_t bufLen,
      SRedistributeVgroupReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8431,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8430,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8431,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8434,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8434,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8437,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8437,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8444,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8440,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8442,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateMnodeReq*
    constantsTouched: []
    func_position:
      end: 8449
      start: 8424
    functionDepth: 0
    functionLinenumber: 8424
    functionLinenumberEnd: 8449
    functionName: tDeserializeSDCreateMnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeSReplica
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq
      *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10587,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10589,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10603,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10655,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10562,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10604,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10641,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10647,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10578,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10608,1
    - Dst: extractTypeFromTypeMod
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10616,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10620,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10581,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10587,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10568,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10612,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10625,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10633,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10636,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10567,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10580,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10585,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10601,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10591,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10596,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10632,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10635,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10639,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10560,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10564,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10608,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10628,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10644,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10559,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10595,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10611,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10549,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10604,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10626,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10638,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10578,1
    - Dst: fillBytesForDecimalType
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10620,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10623,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10592,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10597,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10568,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10570,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10584,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10599,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10629,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10587,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10603,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10561,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10585,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10558,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10631,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10641,1
    - Dst: tSerializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10611,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10651,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10631,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10550,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10612,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10619,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10638,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10633,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10623,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10629,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10637,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10584,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10599,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10579,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10553,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10560,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10570,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 144
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 10658
      start: 10546
    functionDepth: 0
    functionLinenumber: 10546
    functionLinenumberEnd: 10658
    functionName: tSerializeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - extractTypeFromTypeMod
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - tEncodeI16
    - tStartEncode
    - IS_DECIMAL_TYPE
    - taosArrayGetSize
    - taosArrayGet
    - tEncodeU64
    - tEndEncode
    - tEncodeCStr
    - fillBytesForDecimalType
    - tSerializeSVSubTablesRspImpl
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - strlen
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCMCreateStreamReq(void *buf, int32_t bufLen, const
      SCMCreateStreamReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4923,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4925,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4926,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4925,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4926,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4927,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerVerRsp*
    constantsTouched: []
    func_position:
      end: 4937
      start: 4918
    functionDepth: 0
    functionLinenumber: 4918
    functionLinenumberEnd: 4937
    functionName: tSerializeSServerVerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSServerVerRsp(void *buf, int32_t bufLen, SServerVerRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRedistributeVgroupReq*
    constantsTouched: []
    func_position:
      end: 8334
      start: 8334
    functionDepth: 0
    functionLinenumber: 8334
    functionLinenumberEnd: 8334
    functionName: tFreeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSRedistributeVgroupReq(SRedistributeVgroupReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8458,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8460,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8468,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8466,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8459,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8461,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8467,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8479,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8458,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8460,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8464,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8468,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8459,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatReq*
    constantsTouched: []
    func_position:
      end: 8481
      start: 8451
    functionDepth: 0
    functionLinenumber: 8451
    functionLinenumberEnd: 8481
    functionName: tSerializeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq
      *pReq) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10675,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10722,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10711,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10730,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10739,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10704,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10752,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10759,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10772,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10697,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10768,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10806,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10812,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10718,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10682,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10783,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10790,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10822,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10695,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10719,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10824,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10678,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10712,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10730,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10711,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10802,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10809,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10814,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10830,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10786,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10805,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10742,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10769,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10771,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10793,1
    - Dst: tDeserializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10821,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10729,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10681,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10700,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10768,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10770,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10781,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10810,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10667,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10687,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10718,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10738,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10733,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10778,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10719,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10739,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10673,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10675,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10709,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10763,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10731,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10752,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10744,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10759,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10773,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10808,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10810,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10697,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10751,1
    - Dst: taosStrndup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10802,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10806,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10807,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10809,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10812,1
    - Dst: tDestroySVSubTablesRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10680,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10682,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10771,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10783,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10821,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10681,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10797,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10800,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10801,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10732,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10738,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10740,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10674,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10677,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10676,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10678,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10710,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10712,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 211
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 10835
      start: 10660
    functionDepth: 0
    functionLinenumber: 10660
    functionLinenumberEnd: 10835
    functionName: tDeserializeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - taosMemoryFree
    - taosStrndup
    - taosMemoryCalloc
    - tDecodeIsEnd
    - taosArrayInit
    - tDecodeCStrTo
    - tDeserializeSVSubTablesRspImpl
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDestroySVSubTablesRsp
    - tDecodeCStr
    - tDecoderInit
    - tDecodeI16
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCMCreateStreamReq(void *buf, int32_t bufLen,
      SCMCreateStreamReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3873,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3875,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3875,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3876,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3876,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3877,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3877,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3878,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3882,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3886,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3890,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableCfgReq*
    constantsTouched: []
    func_position:
      end: 3896
      start: 3863
    functionDepth: 0
    functionLinenumber: 3863
    functionLinenumberEnd: 3896
    functionName: tSerializeSTableCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableCfgReq(void *buf, int32_t bufLen, STableCfgReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11317,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11319,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11319,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11320,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11317,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11322,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11325,1
    - Dst: tDecodeSVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11325,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11328,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11329,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11329,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVCreateTbBatchReq*
    constantsTouched: []
    func_position:
      end: 11334
      start: 11316
    functionDepth: 0
    functionLinenumber: 11316
    functionLinenumberEnd: 11334
    functionName: tDecodeSVCreateTbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tDecodeIsEnd
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeI8
    - tDecoderMalloc
    - tDecodeSVCreateTbReq
    linkageType: ''
    returnType: int
    signature: 'int tDecodeSVCreateTbBatchReq(SDecoder *pCoder, SVCreateTbBatchReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12078,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12078,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12079,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pOffset
    argTypes:
    - SDecoder*
    - STqOffset*
    constantsTouched: []
    func_position:
      end: 12081
      start: 12077
    functionDepth: 0
    functionLinenumber: 12077
    functionLinenumberEnd: 12081
    functionName: tDecodeSTqOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSTqOffset(SDecoder *pDecoder, STqOffset *pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMDropViewReq*
    constantsTouched: []
    func_position:
      end: 13220
      start: 13214
    functionDepth: 0
    functionLinenumber: 13214
    functionLinenumberEnd: 13220
    functionName: tFreeSCMDropViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCMDropViewReq(SCMDropViewReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3910,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3910,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3911,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3912,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3912,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3914,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableCfgReq*
    constantsTouched: []
    func_position:
      end: 3918
      start: 3898
    functionDepth: 0
    functionLinenumber: 3898
    functionLinenumberEnd: 3918
    functionName: tDeserializeSTableCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableCfgReq(void *buf, int32_t bufLen, STableCfgReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11339,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11342,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVCreateTbBatchReq*
    constantsTouched: []
    func_position:
      end: 11346
      start: 11336
    functionDepth: 0
    functionLinenumber: 11336
    functionLinenumberEnd: 11346
    functionName: tDeleteSVCreateTbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSVCreateTbBatchReq(SVCreateTbBatchReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12084,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12085,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12085,1
    - Dst: tEncodeSTqOffset
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pOffset
    argTypes:
    - SEncoder*
    - SMqVgOffset*
    constantsTouched: []
    func_position:
      end: 12087
      start: 12083
    functionDepth: 0
    functionLinenumber: 12083
    functionLinenumberEnd: 12087
    functionName: tEncodeMqVgOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeSTqOffset
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqVgOffset(SEncoder *pEncoder, const SMqVgOffset *pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13229,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13230,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13230,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13232,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SViewMetaReq*
    constantsTouched: []
    func_position:
      end: 13242
      start: 13222
    functionDepth: 0
    functionLinenumber: 13222
    functionLinenumberEnd: 13242
    functionName: tSerializeSViewMetaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSViewMetaReq(void *buf, int32_t bufLen, const SViewMetaReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12449,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12451,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12455
      start: 12448
    functionDepth: 0
    functionLinenumber: 12448
    functionLinenumberEnd: 12455
    functionName: tDeleteSTaosxRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRspCommon
    - taosArrayDestroyP
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSTaosxRsp(SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1356,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1360,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1357,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1358,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateFullTextReq*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1362
    functionName: tDeserializeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCreateFullTextReq(void *buf, int32_t bufLen,
      SMCreateFullTextReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4447,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4448,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4449,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4449,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4450,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4451,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDbReq*
    constantsTouched: []
    func_position:
      end: 4456
      start: 4441
    functionDepth: 0
    functionLinenumber: 4441
    functionLinenumberEnd: 4456
    functionName: tDeserializeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropDbReq(void *buf, int32_t bufLen, SDropDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10939,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10936,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10936,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10939,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10940,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10942,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10942,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10943,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10944,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10944,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pCoder
    - pWrapper
    argTypes:
    - SEncoder*
    - SColRefWrapper*
    constantsTouched: []
    func_position:
      end: 10950
      start: 10931
    functionDepth: 0
    functionLinenumber: 10931
    functionLinenumberEnd: 10950
    functionName: tEncodeSColRefWrapper
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    - tEncodeCStr
    - tEncodeI16v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSColRefWrapper(SEncoder *pCoder, const SColRefWrapper
      *pWrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12381,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12391,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12384,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12389,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12386,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12393,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12394,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12396
      start: 12380
    functionDepth: 0
    functionLinenumber: 12380
    functionLinenumberEnd: 12396
    functionName: tDeleteMqDataRspCommon
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroyP
    - taosArrayDestroy
    - tOffsetDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tDeleteMqDataRspCommon(SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateFullTextReq*
    constantsTouched: []
    func_position:
      end: 1366
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1366
    functionName: tFreeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateFullTextReq(SMCreateFullTextReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropDbReq*
    constantsTouched: []
    func_position:
      end: 4458
      start: 4458
    functionDepth: 0
    functionLinenumber: 4458
    functionLinenumberEnd: 4458
    functionName: tFreeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDropDbReq(SDropDbReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10956,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10956,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10957,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10959,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10966,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10967,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10967,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10969,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10971,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10970,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10971,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10969,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10970,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pWrapper
    argTypes:
    - SDecoder*
    - SColRefWrapper*
    constantsTouched: []
    func_position:
      end: 10980
      start: 10952
    functionDepth: 0
    functionLinenumber: 10952
    functionLinenumberEnd: 10980
    functionName: tDecodeSColRefWrapperEx
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDecodeCStrTo
    - tDecodeI32v
    - tDecodeI16v
    - TAOS_CHECK_EXIT
    - tDecodeI8
    - tDecoderMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSColRefWrapperEx(SDecoder *pDecoder, SColRefWrapper
      *pWrapper) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12398
      start: 12398
    functionDepth: 0
    functionLinenumber: 12398
    functionLinenumberEnd: 12398
    functionName: tDeleteMqDataRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRspCommon
    linkageType: ''
    returnType: void
    signature: 'void tDeleteMqDataRsp(SMqDataRsp *rsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13630,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13632,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13637,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13630,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13639,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13644,1
    - Dst: tDecodeTableTSMAInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13644,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 13648
      start: 13625
    functionDepth: 0
    functionLinenumber: 13625
    functionLinenumberEnd: 13648
    functionName: tDecodeTableTSMAInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeTableTSMAInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeTableTSMAInfoRsp(SDecoder *pDecoder, STableTSMAInfoRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1376,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1376,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1377,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1377,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1379,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1380,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1380,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1383,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1384,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1384,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1395,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1383,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SNotifyReq*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1368
    functionDepth: 0
    functionLinenumber: 1368
    functionLinenumberEnd: 1397
    functionName: tSerializeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSNotifyReq(void *buf, int32_t bufLen, SNotifyReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6557,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6559,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6559,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6561,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 6571
      start: 6552
    functionDepth: 0
    functionLinenumber: 6552
    functionLinenumberEnd: 6571
    functionName: tSerializeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableMetaRsp(void *buf, int32_t bufLen, STableMetaRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7708,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7710,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7711,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7712,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7713,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7713,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7715,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVKillCompactReq*
    constantsTouched: []
    func_position:
      end: 7725
      start: 7703
    functionDepth: 0
    functionLinenumber: 7703
    functionLinenumberEnd: 7725
    functionName: tSerializeSVKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVKillCompactReq(void *buf, int32_t bufLen, SVKillCompactReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5654,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5653,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5654,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5656,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVTrimDbReq*
    constantsTouched: []
    func_position:
      end: 5661
      start: 5647
    functionDepth: 0
    functionLinenumber: 5647
    functionLinenumberEnd: 5661
    functionName: tDeserializeSVTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVTrimDbReq(void *buf, int32_t bufLen, SVTrimDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9067,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9070,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SExplainRsp*
    constantsTouched: []
    func_position:
      end: 9071
      start: 9060
    functionDepth: 0
    functionLinenumber: 9060
    functionLinenumberEnd: 9071
    functionName: tFreeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSExplainRsp(SExplainRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9583,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9584,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9588,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9589,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9590,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9598,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9593,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9602,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9604,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9607,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9596,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9603,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9604,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9617,1
    - Dst: tSerializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9621,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9624,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9583,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9584,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9592,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9596,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9599,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9597,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9600,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9618,1
    - Dst: tEncodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9624,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9590,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9593,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9598,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9600,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9603,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9607,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9609,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9620,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9621,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9610,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9610,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - pEncoder
    - pOpParam
    argTypes:
    - SEncoder*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 9626
      start: 9582
    functionDepth: 0
    functionLinenumber: 9582
    functionLinenumberEnd: 9626
    functionName: tSerializeSOperatorParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tSerializeSOperatorParam
    - tEncodeI16
    - tEncodeBool
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSOperatorParam(SEncoder *pEncoder, SOperatorParam
      *pOpParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqMetaRsp*
    constantsTouched: []
    func_position:
      end: 12248
      start: 12248
    functionDepth: 0
    functionLinenumber: 12248
    functionLinenumberEnd: 12248
    functionName: tDeleteMqMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tDeleteMqMetaRsp(SMqMetaRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13084,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13086,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pSubTopicEp
    argTypes:
    - SMqSubTopicEp*
    constantsTouched: []
    func_position:
      end: 13087
      start: 13083
    functionDepth: 0
    functionLinenumber: 13083
    functionLinenumberEnd: 13087
    functionName: tDeleteMqSubTopicEp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteMqSubTopicEp(SMqSubTopicEp *pSubTopicEp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1403,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1405,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1405,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1407,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1409,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1409,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1417,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1418,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1418,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1422,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1416,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1417,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SNotifyReq*
    constantsTouched: []
    func_position:
      end: 1427
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1427
    functionName: tDeserializeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosArrayInit_s
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - TARRAY_GET_ELEM
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSNotifyReq(void *buf, int32_t bufLen, SNotifyReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5670,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5671,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5670,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5672,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SS3MigrateDbReq*
    constantsTouched: []
    func_position:
      end: 5682
      start: 5663
    functionDepth: 0
    functionLinenumber: 5663
    functionLinenumberEnd: 5682
    functionName: tSerializeSS3MigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSS3MigrateDbReq(void *buf, int32_t bufLen, SS3MigrateDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6584,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6583,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6595,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6591,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6597,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6600,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6607,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6581,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6594,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6598,1
    - Dst: tSerializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6603,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6615,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6584,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6587,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6591,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6597,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6600,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6602,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6596,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6603,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTbHbRsp*
    constantsTouched: []
    func_position:
      end: 6617
      start: 6573
    functionDepth: 0
    functionLinenumber: 6573
    functionLinenumberEnd: 6617
    functionName: tSerializeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tSerializeSTableIndexInfo
    - taosArrayGetSize
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSSTbHbRsp(void *buf, int32_t bufLen, SSTbHbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7732,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7734,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7735,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7736,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7737,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7737,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7738,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVKillCompactReq*
    constantsTouched: []
    func_position:
      end: 7743
      start: 7727
    functionDepth: 0
    functionLinenumber: 7727
    functionLinenumberEnd: 7743
    functionName: tDeserializeSVKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVKillCompactReq(void *buf, int32_t bufLen, SVKillCompactReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9090,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9092,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9104,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9087,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9096,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9093,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9091,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9084,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9092,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9109,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9086,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9091,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9093,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchReq*
    constantsTouched: []
    func_position:
      end: 9114
      start: 9073
    functionDepth: 0
    functionLinenumber: 9073
    functionLinenumberEnd: 9114
    functionName: tSerializeSBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSBatchReq(void *buf, int32_t bufLen, SBatchReq *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9629,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9633,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9635,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9638,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9661,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9659,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9666,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9666,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9668,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9669,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9702,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9712,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9712,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9681,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9630,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9641,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9645,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9651,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9665,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9668,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9672,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9674,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9673,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9630,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9641,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9649,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9643,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9663,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9673,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9681,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9682,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9695,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9682,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9704,1
    - Dst: tDeserializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9702,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9629,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9659,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9649,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9650,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9665,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9672,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9675,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9693,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9698,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9703,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9711,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 2
    argNames:
    - pDecoder
    - pOpParam
    argTypes:
    - SDecoder*
    - SOperatorParam*
    constantsTouched: []
    func_position:
      end: 9718
      start: 9628
    functionDepth: 0
    functionLinenumber: 9628
    functionLinenumberEnd: 9718
    functionName: tDeserializeSOperatorParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryMalloc
    - tDecodeCStrTo
    - tDecodeI16
    - tDeserializeSOperatorParam
    - taosMemoryCalloc
    - TAOS_CHECK_RETURN
    - tDecodeBool
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSOperatorParam(SDecoder *pDecoder, SOperatorParam
      *pOpParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12259,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12262,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12255,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12254,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12258,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12259,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12264,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12267,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12256,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12271,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12266,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12278
      start: 12250
    functionDepth: 0
    functionLinenumber: 12250
    functionLinenumberEnd: 12278
    functionName: tEncodeMqDataRspCommon
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeBinary
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeSSchemaWrapper
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    - tEncodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqDataRspCommon(SEncoder *pEncoder, const SMqDataRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13098,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13100,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13104,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13103,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13101,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13107,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13118,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13096,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13098,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13102,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13104,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13097,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13099,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateViewReq*
    constantsTouched: []
    func_position:
      end: 13120
      start: 13089
    functionDepth: 0
    functionLinenumber: 13089
    functionLinenumberEnd: 13120
    functionName: tSerializeSCMCreateViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchema
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCMCreateViewReq(void *buf, int32_t bufLen, const
      SCMCreateViewReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14104,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14106,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqBatchMetaRsp*
    constantsTouched: []
    func_position:
      end: 14109
      start: 14103
    functionDepth: 0
    functionLinenumber: 14103
    functionLinenumberEnd: 14109
    functionName: tDeleteMqBatchMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteMqBatchMetaRsp(SMqBatchMetaRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateFuncReq*
    constantsTouched: []
    func_position:
      end: 3615
      start: 3612
    functionDepth: 0
    functionLinenumber: 3612
    functionLinenumberEnd: 3615
    functionName: tFreeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCreateFuncReq(SCreateFuncReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5313,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5315,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5317,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5321,1
    - Dst: tSerializeSDbHbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5321,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5323,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbHbBatchRsp*
    constantsTouched: []
    func_position:
      end: 5333
      start: 5308
    functionDepth: 0
    functionLinenumber: 5308
    functionLinenumberEnd: 5333
    functionName: tSerializeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tSerializeSDbHbRspImp
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDbHbBatchRsp(void *buf, int32_t bufLen, SDbHbBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7548,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7549,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7550,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7551,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7552,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7552,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7556,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7554,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7554,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropVnodeReq*
    constantsTouched: []
    func_position:
      end: 7566
      start: 7541
    functionDepth: 0
    functionLinenumber: 7541
    functionLinenumberEnd: 7566
    functionName: tSerializeSDropVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12045,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12047,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12050,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12053,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12048,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - STqOffsetVal*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 12055
      start: 12044
    functionDepth: 0
    functionLinenumber: 12044
    functionLinenumberEnd: 12055
    functionName: tOffsetCopy
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - tOffsetDestroy
    - uError
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'void tOffsetCopy(STqOffsetVal *pLeft, const STqOffsetVal *pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3622,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3624,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3626,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3626,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3627,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropFuncReq*
    constantsTouched: []
    func_position:
      end: 3637
      start: 3617
    functionDepth: 0
    functionLinenumber: 3617
    functionLinenumberEnd: 3637
    functionName: tSerializeSDropFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropFuncReq(void *buf, int32_t bufLen, SDropFuncReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5340,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5352,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5353,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5363,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5353,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5342,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5356,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5357,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5337,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5336,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5347,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5342,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5341,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5356,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5364,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5337,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5340,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5345,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5352,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5341,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5358,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5363,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 5366
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5366
    functionName: tDeserializeSUseDbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeSEpSet
    - tDecodeU32
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUseDbRspImp(SDecoder *pDecoder, SUseDbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7574,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7574,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7576,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7577,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7578,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7580,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7582,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7580,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropVnodeReq*
    constantsTouched: []
    func_position:
      end: 7587
      start: 7568
    functionDepth: 0
    functionLinenumber: 7568
    functionLinenumberEnd: 7587
    functionName: tDeserializeSDropVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropVnodeReq(void *buf, int32_t bufLen, SDropVnodeReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12060,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 12063
      start: 12057
    functionDepth: 0
    functionLinenumber: 12057
    functionLinenumberEnd: 12063
    functionName: tOffsetDestroy
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tOffsetDestroy(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:498,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:499,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:499,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:502,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:502,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:505,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:508,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:517,1
    - Dst: tSerializeSClientHbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:505,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    constantsTouched: []
    func_position:
      end: 519
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 519
    functionName: tSerializeSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tSerializeSClientHbReq
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSClientHbBatchReq(void *buf, int32_t bufLen, const
      SClientHbBatchReq *pBatchReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3469
      start: 3467
    functionDepth: 0
    functionLinenumber: 3467
    functionLinenumberEnd: 3469
    functionName: tSerializeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tSerializeSMDropAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMUpdateAnodeReq(void *buf, int32_t bufLen, SMUpdateAnodeReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:528,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:527,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:531,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:531,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:540,1
    - Dst: tDeserializeSClientHbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:540,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:541,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:542,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:547,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:550,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:547,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:553,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchReq
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchReq*
    constantsTouched: []
    func_position:
      end: 555
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 555
    functionName: tDeserializeSClientHbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeIsEnd
    - tDeserializeSClientHbReq
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSClientHbBatchReq(void *buf, int32_t bufLen, SClientHbBatchReq
      *pBatchReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMUpdateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3473
      start: 3471
    functionDepth: 0
    functionLinenumber: 3471
    functionLinenumberEnd: 3473
    functionName: tDeserializeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDeserializeSMDropAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMUpdateAnodeReq(void *buf, int32_t bufLen, SMUpdateAnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3011,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3013,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3014,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3015,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3012,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3016,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3017,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3018,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3019,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 3021
      start: 3010
    functionDepth: 0
    functionLinenumber: 3010
    functionLinenumberEnd: 3021
    functionName: tFreeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tFreeSGetUserAuthRsp(SGetUserAuthRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9339,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9343,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9341,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMqHbReq*
    constantsTouched: []
    func_position:
      end: 9344
      start: 9338
    functionDepth: 0
    functionLinenumber: 9338
    functionLinenumberEnd: 9344
    functionName: tDestroySMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroySMqHbReq(SMqHbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3032,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3031,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3031,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3033,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListReq*
    constantsTouched: []
    func_position:
      end: 3043
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3043
    functionName: tSerializeSGetUserWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSGetUserWhiteListReq(void *buf, int32_t bufLen,
      SGetUserWhiteListReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9358,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9360,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9366,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9361,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9368,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9373,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9382,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9352,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9355,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9365,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9363,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9367,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9369,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9354,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9361,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9373,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9363,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9362,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9367,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9369,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9374,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqHbReq*
    constantsTouched: []
    func_position:
      end: 9384
      start: 9346
    functionDepth: 0
    functionLinenumber: 9346
    functionLinenumberEnd: 9384
    functionName: tSerializeSMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    - tEncodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:181,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:181,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:182,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:184,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:182,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:184,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:185,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pEp
    argTypes:
    - SEncoder*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: tEncodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeU16
    - tEncodeI8
    - tEncodeCStrWithLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSEpSet(SEncoder *pEncoder, const SEpSet *pEp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10335,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10336,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10336,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10337,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10342,1
    - Dst: tDecodeSVCreateTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10342,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVCreateTbBatchRsp*
    constantsTouched: []
    func_position:
      end: 10347
      start: 10334
    functionDepth: 0
    functionLinenumber: 10334
    functionLinenumberEnd: 10347
    functionName: tDecodeSVCreateTbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeSVCreateTbRsp
    - tDecodeI32v
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecoderMalloc
    linkageType: ''
    returnType: int
    signature: 'int tDecodeSVCreateTbBatchRsp(SDecoder *pCoder, SVCreateTbBatchRsp
      *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10383,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10382,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10391,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10390,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10415,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10382,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10386,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10387,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10390,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10389,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10388,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10396,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10401,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10421,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10421,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10385,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10389,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10392,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10396,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10404,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10384,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10383,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10387,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10391,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10394,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10406,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10413,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 3
    argNames:
    - pCoder
    - pSma
    - deepCopy
    argTypes:
    - SDecoder*
    - STSma*
    - bool
    constantsTouched: []
    func_position:
      end: 10426
      start: 10378
    functionDepth: 0
    functionLinenumber: 10378
    functionLinenumberEnd: 10426
    functionName: tDecodeTSma
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tDecodeSSchemaWrapperEx
    - tDecodeI64
    - tDecodeI8
    - tDecodeCStrAlloc
    - tDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeTSma(SDecoder *pCoder, STSma *pSma, bool deepCopy) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11543,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11546,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11549,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SSubmitRsp*
    constantsTouched: []
    func_position:
      end: 11550
      start: 11535
    functionDepth: 0
    functionLinenumber: 11535
    functionLinenumberEnd: 11550
    functionName: tFreeSSubmitRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tFreeSTableMetaRsp
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSSubmitRsp(SSubmitRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11889,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11888,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMAlterStbRsp*
    constantsTouched: []
    func_position:
      end: 11891
      start: 11880
    functionDepth: 0
    functionLinenumber: 11880
    functionLinenumberEnd: 11891
    functionName: tFreeSMAlterStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMAlterStbRsp(SMAlterStbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:191,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:191,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:194,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:194,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:195,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pDecoder
    - pEp
    argTypes:
    - SDecoder*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: tDecodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI8
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeU16
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSEpSet(SDecoder *pDecoder, SEpSet *pEp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10351,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10353,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10357,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10359,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10361,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10363,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10366,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10352,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10354,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10356,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10358,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10360,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10362,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10364,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10373,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10373,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10351,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10353,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10355,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10359,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10361,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10363,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10366,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10372,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10352,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10358,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10356,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10360,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10364,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10372,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - pCoder
    - pSma
    argTypes:
    - SEncoder*
    - STSma*
    constantsTouched: []
    func_position:
      end: 10376
      start: 10349
    functionDepth: 0
    functionLinenumber: 10349
    functionLinenumberEnd: 10376
    functionName: tEncodeTSma
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeTSma(SEncoder *pCoder, const STSma *pSma) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10429,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10430,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10429,1
    - Dst: tEncodeTSma
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10430,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVCreateTSmaReq*
    constantsTouched: []
    func_position:
      end: 10433
      start: 10428
    functionDepth: 0
    functionLinenumber: 10428
    functionLinenumberEnd: 10433
    functionName: tEncodeSVCreateTSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeTSma
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVCreateTSmaReq(SEncoder *pCoder, const SVCreateTSmaReq
      *pReq) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11565,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11628,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11646,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11648,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11590,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11581,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11556,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11594,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11638,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11648,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11558,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11581,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11614,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11631,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11573,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11583,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11610,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11622,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11635,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11639,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11614,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11559,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11569,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11566,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11631,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11634,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11626,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11583,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11639,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11651,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11618,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11604,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11566,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11634,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11560,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11563,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11619,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11636,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11640,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11595,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11585,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11625,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11645,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11610,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11574,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11592,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11636,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11640,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11585,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11645,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11578,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11620,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11637,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11564,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11577,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11589,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11621,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11578,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11606,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11637,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11646,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11556,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11577,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 119
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 11654
      start: 11552
    functionDepth: 0
    functionLinenumber: 11552
    functionLinenumberEnd: 11654
    functionName: tEncodeSVAlterTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeU32
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVAlterTbReq(SEncoder *pEncoder, const SVAlterTbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11897,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11897,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11898,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11898,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11900,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11902,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMCreateStbRsp*
    constantsTouched: []
    func_position:
      end: 11906
      start: 11893
    functionDepth: 0
    functionLinenumber: 11893
    functionLinenumberEnd: 11906
    functionName: tEncodeSMCreateStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMCreateStbRsp(SEncoder *pEncoder, const SMCreateStbRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6367,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6369,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6369,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6370,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6371,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6372,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6372,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6374,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6376,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6374,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6384,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowReq*
    constantsTouched: []
    func_position:
      end: 6386
      start: 6362
    functionDepth: 0
    functionLinenumber: 6362
    functionLinenumberEnd: 6386
    functionName: tSerializeSShowReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSShowReq(void *buf, int32_t bufLen, SShowReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8532,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8535,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8539,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8537,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8538,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8540,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8532,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8535,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8539,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8531,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8540,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8538,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatRsp*
    constantsTouched: []
    func_position:
      end: 8552
      start: 8524
    functionDepth: 0
    functionLinenumber: 8524
    functionLinenumberEnd: 8552
    functionName: tSerializeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SShowReq*
    constantsTouched: []
    func_position:
      end: 6388
      start: 6388
    functionDepth: 0
    functionLinenumber: 6388
    functionLinenumberEnd: 6388
    functionName: tFreeSShowReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSShowReq(SShowReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8561,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8564,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8571,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8577,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8570,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8574,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8580,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8571,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8560,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8562,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8572,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8570,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatRsp*
    constantsTouched: []
    func_position:
      end: 8582
      start: 8554
    functionDepth: 0
    functionLinenumber: 8554
    functionLinenumberEnd: 8582
    functionName: tDeserializeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbHeartBeatRsp(void *buf, int32_t bufLen, SVArbHeartBeatRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6028,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6030,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6032,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6033,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6034,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6035,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6035,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6036,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserIndexRsp*
    constantsTouched: []
    func_position:
      end: 6046
      start: 6023
    functionDepth: 0
    functionLinenumber: 6023
    functionLinenumberEnd: 6046
    functionName: tSerializeSUserIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUserIndexRsp(void *buf, int32_t bufLen, const SUserIndexRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6052,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6054,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6054,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6056,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6056,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6057,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6058,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6059,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6063,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6058,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6059,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserIndexRsp*
    constantsTouched: []
    func_position:
      end: 6065
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6065
    functionName: tDeserializeSUserIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUserIndexRsp(void *buf, int32_t bufLen, SUserIndexRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pExtSchema
    argTypes:
    - SExtSchema*
    constantsTouched: []
    func_position:
      end: 14113
      start: 14111
    functionDepth: 0
    functionLinenumber: 14111
    functionLinenumberEnd: 14113
    functionName: hasExtSchema
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasExtSchema(const SExtSchema *pExtSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pMsgIter
    - pBlock
    - pIter
    argTypes:
    - SSubmitMsgIter*
    - SSubmitBlk*
    - SSubmitBlkIter*
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: tInitSubmitBlkIter
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tInitSubmitBlkIter(SSubmitMsgIter *pMsgIter, SSubmitBlk *pBlock,
      SSubmitBlkIter *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2453,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateUserReq*
    constantsTouched: []
    func_position:
      end: 2455
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2455
    functionName: tFreeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCreateUserReq(SCreateUserReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3092,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3093,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3094,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3094,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3100,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3100,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3101,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3101,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListRsp*
    constantsTouched: []
    func_position:
      end: 3108
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3108
    functionName: tDeserializeSGetUserWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSGetUserWhiteListRsp(void *buf, int32_t bufLen,
      SGetUserWhiteListRsp *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9392,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9415,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9417,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9424,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9397,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9407,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9416,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9418,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9426,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9392,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9411,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9405,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9415,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9417,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9424,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9394,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9397,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9407,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9404,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9409,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9418,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqHbReq*
    constantsTouched: []
    func_position:
      end: 9431
      start: 9386
    functionDepth: 0
    functionLinenumber: 9386
    functionLinenumberEnd: 9431
    functionName: tDeserializeSMqHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeSTqOffsetVal
    - tDecodeIsEnd
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - taosArrayReserve
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMqHbReq(void *buf, int32_t bufLen, SMqHbReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:172,1
    - Dst: TD_ROW_LEN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:174,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:174,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SSubmitBlkIter*
    constantsTouched: []
    func_position:
      end: 178
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 178
    functionName: tGetSubmitBlkNext
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TD_ROW_LEN
    - POINTER_SHIFT
    linkageType: ''
    returnType: STSRow*
    signature: 'STSRow *tGetSubmitBlkNext(SSubmitBlkIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2471,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2469,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2487,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2496,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2488,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2462,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2466,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2470,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2472,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2482,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2465,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2467,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2469,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2474,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2476,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2478,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2481,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2464,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2466,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2472,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2470,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2479,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2484,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2486,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterUserReq*
    constantsTouched: []
    func_position:
      end: 2498
      start: 2457
    functionDepth: 0
    functionLinenumber: 2457
    functionLinenumberEnd: 2498
    functionName: tSerializeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - strlen
    - tEncodeI64
    - ENCODESQL
    - tEncodeU32
    - tEncodeU8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SGetUserWhiteListRsp*
    constantsTouched: []
    func_position:
      end: 3110
      start: 3110
    functionDepth: 0
    functionLinenumber: 3110
    functionLinenumberEnd: 3110
    functionName: tFreeSGetUserWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSGetUserWhiteListRsp(SGetUserWhiteListRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9443,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9443,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9444,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9444,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9445,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9445,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9446,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9450,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9454,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9459,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqSeekReq*
    constantsTouched: []
    func_position:
      end: 9464
      start: 9433
    functionDepth: 0
    functionLinenumber: 9433
    functionLinenumberEnd: 9464
    functionName: tSerializeSMqSeekReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:251,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:251,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:255,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:256,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:254,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:257,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:260,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:261,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:266,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:267,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:274,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:288,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:273,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:278,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:299,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:279,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:249,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:249,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:253,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:256,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:254,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:255,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:259,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:260,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:266,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:270,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:279,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:302,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:284,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:277,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:289,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:280,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:306,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:275,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:281,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:250,1
    - Dst: tEncodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:246,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:250,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:252,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:252,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:253,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:258,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:259,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:269,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:270,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:275,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:285,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:303,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:306,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:277,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:276,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:246,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:257,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:258,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:261,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:267,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:274,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:276,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:278,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:280,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:282,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:282,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:285,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:289,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:281,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:298,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:305,1
    - Dst: tEncodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:302,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:288,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:287,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 88
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SClientHbReq*
    constantsTouched: []
    func_position:
      end: 309
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 309
    functionName: tSerializeSClientHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSKv
    - taosArrayGet
    - tEncodeI32
    - tEncodeI8
    - tEncodeU64
    - taosHashIterate
    - taosArrayGetSize
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - taosHashGetSize
    - tEncodeI64
    - tEncodeU32
    - tEncodeSClientHbKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tSerializeSClientHbReq(SEncoder *pEncoder, const SClientHbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4468,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4467,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4469,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4469,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4470,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDropDbRsp*
    constantsTouched: []
    func_position:
      end: 4480
      start: 4460
    functionDepth: 0
    functionLinenumber: 4460
    functionLinenumberEnd: 4480
    functionName: tSerializeSDropDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropDbRsp(void *buf, int32_t bufLen, SDropDbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbHeartBeatRsp*
    constantsTouched: []
    func_position:
      end: 8589
      start: 8584
    functionDepth: 0
    functionLinenumber: 8584
    functionLinenumberEnd: 8589
    functionName: tFreeSVArbHeartBeatRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbHeartBeatRsp(SVArbHeartBeatRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9145,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9149,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9130,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9133,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9140,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9146,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9127,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9134,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9147,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9156,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9144,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9146,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBatchReq*
    constantsTouched: []
    func_position:
      end: 9158
      start: 9116
    functionDepth: 0
    functionLinenumber: 9116
    functionLinenumberEnd: 9158
    functionName: tDeserializeSBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeBinaryAlloc
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSBatchReq(void *buf, int32_t bufLen, SBatchReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10901,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10902,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10903,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10903,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10905,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCoder
    - pRSmaParam
    argTypes:
    - SEncoder*
    - SRSmaParam*
    constantsTouched: []
    func_position:
      end: 10911
      start: 10897
    functionDepth: 0
    functionLinenumber: 10897
    functionLinenumberEnd: 10911
    functionName: tEncodeSRSmaParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI64v
    - tEncodeBinary
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSRSmaParam(SEncoder *pCoder, const SRSmaParam *pRSmaParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12825,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12833,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12826,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pReq
    - flag
    argTypes:
    - SSubmitReq2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 12835
      start: 12821
    functionDepth: 0
    functionLinenumber: 12821
    functionLinenumberEnd: 12835
    functionName: tDestroySubmitReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDestroySubmitTbData
    - TARRAY_SIZE
    - TARRAY_DATA
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroySubmitReq(SSubmitReq2 *pReq, int32_t flag) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:312,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:316,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:318,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:319,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:321,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:323,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:325,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:330,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:349,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:353,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:354,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:356,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:355,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:404,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:350,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:361,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:350,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:317,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:317,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:322,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:324,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:326,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:330,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:336,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:341,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:359,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:368,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:351,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:389,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:398,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:406,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:405,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:356,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:389,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:316,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:318,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:319,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:321,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:325,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:327,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:339,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:349,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:351,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:391,1
    - Dst: tDecodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:398,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:368,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:405,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:399,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:376,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:359,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:353,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:391,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:355,1
    - Dst: tDecodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:312,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:320,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:322,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:326,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:332,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:336,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:339,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:348,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:352,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:370,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:348,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:369,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:380,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:406,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:352,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 115
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SClientHbReq*
    constantsTouched: []
    func_position:
      end: 410
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 410
    functionName: tDeserializeSClientHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecodeCStrTo
    - tDecodeSKv
    - tDecodeIsEnd
    - taosMemoryCalloc
    - tDecodeU32
    - taosGetDefaultHashFunction
    - taosHashPut
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeSClientHbKey
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDeserializeSClientHbReq(SDecoder *pDecoder, SClientHbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4488,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4489,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4490,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4490,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4491,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDropDbRsp*
    constantsTouched: []
    func_position:
      end: 4496
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4496
    functionName: tDeserializeSDropDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropDbRsp(void *buf, int32_t bufLen, SDropDbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8599,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8599,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8600,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8601,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8602,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8604,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8602,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncReq*
    constantsTouched: []
    func_position:
      end: 8614
      start: 8591
    functionDepth: 0
    functionLinenumber: 8591
    functionLinenumberEnd: 8614
    functionName: tSerializeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9166,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9176,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9175,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9187,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9166,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9172,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9176,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9174,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9169,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9175,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SBatchRsp*
    constantsTouched: []
    func_position:
      end: 9189
      start: 9160
    functionDepth: 0
    functionLinenumber: 9160
    functionLinenumberEnd: 9189
    functionName: tSerializeSBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10918,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10918,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10919,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10921,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10921,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pCoder
    - pRSmaParam
    argTypes:
    - SDecoder*
    - SRSmaParam*
    constantsTouched: []
    func_position:
      end: 10929
      start: 10913
    functionDepth: 0
    functionLinenumber: 10913
    functionLinenumberEnd: 10929
    functionName: tDecodeSRSmaParam
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeBinary
    - TAOS_CHECK_EXIT
    - tDecodeI64v
    - tDecodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSRSmaParam(SDecoder *pCoder, SRSmaParam *pRSmaParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12841,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12841,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12845,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12845,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12845,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12846,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12847,1
    - Dst: tEncodeSVCreateTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12847,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12847,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12850,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SEncoder*
    - SSubmitRsp2*
    constantsTouched: []
    func_position:
      end: 12853
      start: 12837
    functionDepth: 0
    functionLinenumber: 12837
    functionLinenumberEnd: 12853
    functionName: tEncodeSSubmitRsp2
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeU64v
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeSVCreateTbRsp
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSSubmitRsp2(SEncoder *pCoder, const SSubmitRsp2 *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6279,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6279,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6280,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6281,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6280,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6281,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6282,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - SVariablesInfo*
    constantsTouched: []
    func_position:
      end: 6284
      start: 6278
    functionDepth: 0
    functionLinenumber: 6278
    functionLinenumberEnd: 6284
    functionName: tDecodeSVariablesInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVariablesInfo(SDecoder *pDecoder, SVariablesInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5268,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5267,1
    - Dst: tSerializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5267,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5269,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5277,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 5279
      start: 5260
    functionDepth: 0
    functionLinenumber: 5260
    functionLinenumberEnd: 5279
    functionName: tSerializeSUseDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSUseDbRspImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUseDbRsp(void *buf, int32_t bufLen, const SUseDbRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9283,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9283,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9286,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9288,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9289,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9289,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9290,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9293,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9290,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9302,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9294,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SMqHbRsp*
    constantsTouched: []
    func_position:
      end: 9304
      start: 9277
    functionDepth: 0
    functionLinenumber: 9277
    functionLinenumberEnd: 9304
    functionName: tSerializeSMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12738,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12759,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12741,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12752,1
    - Dst: tDecodeSSubmitTbData
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12760,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12760,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12766,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 3
    argNames:
    - pCoder
    - pReq
    - rawList
    argTypes:
    - SDecoder*
    - SSubmitReq2*
    - SArray*
    constantsTouched: []
    func_position:
      end: 12770
      start: 12735
    functionDepth: 0
    functionLinenumber: 12735
    functionLinenumberEnd: 12770
    functionName: tDecodeSubmitReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tStartDecode
    - tEndDecode
    - memset
    - taosArrayReserve
    - tDecodeU64v
    - taosArrayInit
    - tDecodeSSubmitTbData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSubmitReq(SDecoder *pCoder, SSubmitReq2 *pReq, SArray*
      rawList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5283,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5284,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5286,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5290,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5297,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5302,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5291,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5300,1
    - Dst: tEncodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5298,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5303,1
    - Dst: tSerializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5284,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5286,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5290,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5297,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5302,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5283,1
    - Dst: tSerializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5291,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5293,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5300,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5303,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SDbHbRsp*
    constantsTouched: []
    func_position:
      end: 5306
      start: 5281
    functionDepth: 0
    functionLinenumber: 5281
    functionLinenumberEnd: 5306
    functionName: tSerializeSDbHbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tSerializeSDbCfgRspImpl
    - tEncodeI8
    - tEncodeTableTSMAInfoRsp
    - tEncodeI32
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tSerializeSUseDbRspImp
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDbHbRspImp(SEncoder *pEncoder, const SDbHbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6294,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6293,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6298,1
    - Dst: tEncodeSVariablesInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6298,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6302,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6314,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6306,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6303,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6303,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SShowVariablesRsp*
    constantsTouched: []
    func_position:
      end: 6316
      start: 6286
    functionDepth: 0
    functionLinenumber: 6286
    functionLinenumberEnd: 6316
    functionName: tSerializeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSVariablesInfo
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - TAOS_CHECK_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSShowVariablesRsp(void *buf, int32_t bufLen, SShowVariablesRsp
      *pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9310,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9312,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9315,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9315,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9319,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9323,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9323,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9324,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9328,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9334,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9329,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9331,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9324,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SMqHbRsp*
    constantsTouched: []
    func_position:
      end: 9336
      start: 9306
    functionDepth: 0
    functionLinenumber: 9306
    functionLinenumberEnd: 9336
    functionName: tDeserializeSMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeIsEnd
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - taosArrayReserve
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMqHbRsp(void *buf, int32_t bufLen, SMqHbRsp *pRsp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12780,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12784,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12789,1
    - Dst: tDestroySVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12782,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12788,1
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12792,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12794,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12796,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12797,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12800,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12808,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12814,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12803,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12812,1
    - Dst: tDestroySVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12807,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 2
    argNames:
    - pTbData
    - flag
    argTypes:
    - SSubmitTbData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 12819
      start: 12772
    functionDepth: 0
    functionLinenumber: 12772
    functionLinenumberEnd: 12819
    functionName: tDestroySubmitTbData
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY_DATA
    - taosArrayDestroy
    - tRowDestroy
    - tDestroySVCreateTbReq
    - tdDestroySVCreateTbReq
    - tColDataDestroy
    - taosMemoryFreeClear
    - TARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: 'void tDestroySubmitTbData(SSubmitTbData *pTbData, int32_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2592,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2595,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2597,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2613,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2625,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2644,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2633,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2638,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2658,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2674,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2603,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2607,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2631,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2649,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2679,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2736,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2741,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2622,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2659,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2665,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2593,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2595,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2600,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2605,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2635,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2670,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2688,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2615,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2709,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2733,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2736,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2593,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2603,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2630,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2645,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2634,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2675,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2689,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2705,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2712,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2719,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2734,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2689,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2664,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2627,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2650,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2667,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2680,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2690,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2694,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2697,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2720,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2724,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2693,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2735,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2636,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2609,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2632,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2737,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2718,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2616,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2704,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2710,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2604,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2635,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2664,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2694,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2695,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2723,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2724,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2734,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2741,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2719,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2596,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2599,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2659,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2727,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2703,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2633,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2637,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2652,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2610,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2645,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2649,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2675,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2679,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2682,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2705,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2648,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2650,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2655,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2643,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2594,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2596,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2621,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2629,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2673,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2678,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2680,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2708,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2700,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2605,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2615,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2626,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2636,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2665,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2695,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2709,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2725,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2735,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2742,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2725,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2594,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2619,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2644,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2663,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2674,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2704,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2710,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2715,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2592,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2597,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2604,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2621,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2634,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2628,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2742,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2685,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2660,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2660,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2640,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2601,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2690,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2720,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2730,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 183
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 2744
      start: 2591
    functionDepth: 0
    functionLinenumber: 2591
    functionLinenumberEnd: 2744
    functionName: tSerializeSGetUserAuthRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - taosHashIterate
    - taosHashGetSize
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - strlen
    - taosHashGetKey
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSGetUserAuthRspImpl(SEncoder *pEncoder, SGetUserAuthRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11817,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11819,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11818,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11821,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11821,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVAlterTbRsp*
    constantsTouched: []
    func_position:
      end: 11826
      start: 11813
    functionDepth: 0
    functionLinenumber: 11813
    functionLinenumberEnd: 11826
    functionName: tEncodeSVAlterTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVAlterTbRsp(SEncoder *pEncoder, const SVAlterTbRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeString
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13049,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13054,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13050,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13052,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13051,1
    - Dst: tEncodeSMqSubVgEp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13055,1
    - Dst: taosEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13057,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - buf
    - pTopicEp
    argTypes:
    - void**
    - SMqSubTopicEp*
    constantsTouched: []
    func_position:
      end: 13059
      start: 13047
    functionDepth: 0
    functionLinenumber: 13047
    functionLinenumberEnd: 13059
    functionName: tEncodeMqSubTopicEp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosEncodeSSchemaWrapper
    - tEncodeSMqSubVgEp
    - taosEncodeString
    - taosArrayGetSize
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqSubTopicEp(void **buf, const SMqSubTopicEp *pTopicEp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13173,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13175,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13177,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13178,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13179,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13179,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13180,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13182,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMDropViewReq*
    constantsTouched: []
    func_position:
      end: 13192
      start: 13168
    functionDepth: 0
    functionLinenumber: 13168
    functionLinenumberEnd: 13192
    functionName: tSerializeSCMDropViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCMDropViewReq(void *buf, int32_t bufLen, const
      SCMDropViewReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2754,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2753,1
    - Dst: tSerializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2754,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2756,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2764,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 2766
      start: 2746
    functionDepth: 0
    functionLinenumber: 2746
    functionLinenumberEnd: 2766
    functionName: tSerializeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSGetUserAuthRspImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSGetUserAuthRsp(void *buf, int32_t bufLen, SGetUserAuthRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11832,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11833,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11832,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11834,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11834,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11836,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11838,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11840,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11840,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVAlterTbRsp*
    constantsTouched: []
    func_position:
      end: 11845
      start: 11828
    functionDepth: 0
    functionLinenumber: 11828
    functionLinenumberEnd: 11845
    functionName: tDecodeSVAlterTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVAlterTbRsp(SDecoder *pDecoder, SVAlterTbRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13062,1
    - Dst: tDecodeSMqSubVgEp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13072,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13066,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13063,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13065,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13073,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13074,1
    - Dst: taosDecodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13079,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - buf
    - pTopicEp
    argTypes:
    - void*
    - SMqSubTopicEp*
    constantsTouched: []
    func_position:
      end: 13081
      start: 13061
    functionDepth: 0
    functionLinenumber: 13061
    functionLinenumberEnd: 13081
    functionName: tDecodeMqSubTopicEp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeSMqSubVgEp
    - taosArrayDestroy
    - taosDecodeFixedI32
    - taosArrayPush
    - taosDecodeStringTo
    - taosDecodeSSchemaWrapper
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeMqSubTopicEp(void *buf, SMqSubTopicEp *pTopicEp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13202,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13202,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13203,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13204,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13205,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13205,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13206,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13206,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMDropViewReq*
    constantsTouched: []
    func_position:
      end: 13213
      start: 13194
    functionDepth: 0
    functionLinenumber: 13194
    functionLinenumberEnd: 13213
    functionName: tDeserializeSCMDropViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeCStrAlloc
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCMDropViewReq(void *buf, int32_t bufLen, SCMDropViewReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:74,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:75,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:74,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:75,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:76,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:76,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:77,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:77,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:78,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:78,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:80,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:79,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:80,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - encoder
    - pMonitorParas
    argTypes:
    - SEncoder*
    - SMonitorParas*
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: tSerializeSMonitorParas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI8
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tSerializeSMonitorParas(SEncoder *encoder, const SMonitorParas
      *pMonitorParas) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:879,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:880,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:880,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:881,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:882,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:884,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:886,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:888,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:886,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:893,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:890,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStbReq*
    constantsTouched: []
    func_position:
      end: 895
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 895
    functionName: tDeserializeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropStbReq(void *buf, int32_t bufLen, SMDropStbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11025,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11025,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCoder
    - pExtSchema
    argTypes:
    - SEncoder*
    - SExtSchema*
    constantsTouched: []
    func_position:
      end: 11029
      start: 11023
    functionDepth: 0
    functionLinenumber: 11023
    functionLinenumberEnd: 11029
    functionName: tEncodeSExtSchema
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSExtSchema(SEncoder* pCoder, const SExtSchema*
      pExtSchema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:85,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:86,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:87,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:85,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:86,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:87,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:88,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:88,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:89,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:89,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:91,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:91,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:90,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - decoder
    - pMonitorParas
    argTypes:
    - SDecoder*
    - SMonitorParas*
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: tDeserializeSMonitorParas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI8
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDeserializeSMonitorParas(SDecoder *decoder, SMonitorParas
      *pMonitorParas) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropStbReq*
    constantsTouched: []
    func_position:
      end: 897
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 897
    functionName: tFreeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMDropStbReq(SMDropStbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11033,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11033,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pCoder
    - pExtSchema
    argTypes:
    - SDecoder*
    - SExtSchema*
    constantsTouched: []
    func_position:
      end: 11037
      start: 11031
    functionDepth: 0
    functionLinenumber: 11031
    functionLinenumberEnd: 11037
    functionName: tDecodeSExtSchema
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tDecodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSExtSchema(SDecoder* pCoder, SExtSchema* pExtSchema) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4194,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4204,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4214,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4216,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4234,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4229,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4226,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4263,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4225,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4227,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4265,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4220,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4189,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4199,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4209,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4236,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4190,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4200,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4210,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4195,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4215,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4207,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4237,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4226,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4228,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4264,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4266,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4277,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4188,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4227,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4208,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4245,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4246,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4258,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4191,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4201,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4203,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4249,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4192,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4202,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4212,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4274,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4230,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4225,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4228,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4185,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4187,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4189,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4197,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4217,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4209,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4247,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4188,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4198,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4208,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4210,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4246,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4213,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4193,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4203,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4205,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4237,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 135
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 4279
      start: 4181
    functionDepth: 0
    functionLinenumber: 4181
    functionLinenumberEnd: 4279
    functionName: tDeserializeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeI32v
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - DECODESQL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateDbReq(void *buf, int32_t bufLen, SCreateDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7974,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7974,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7975,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7976,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7977,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7978,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7980,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7982,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7990,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7980,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7979,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeHashRangeReq*
    constantsTouched: []
    func_position:
      end: 7992
      start: 7967
    functionDepth: 0
    functionLinenumber: 7967
    functionLinenumberEnd: 7992
    functionName: tSerializeSAlterVnodeHashRangeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen,
      SAlterVnodeHashRangeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12281,1
    - Dst: tEncodeMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12281,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12282,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12285
      start: 12280
    functionDepth: 0
    functionLinenumber: 12280
    functionLinenumberEnd: 12285
    functionName: tEncodeMqDataRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeMqDataRspCommon
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqDataRsp(SEncoder *pEncoder, const SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13341,1
    - Dst: tDecodeSViewMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13344,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13343,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13346,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 13351
      start: 13336
    functionDepth: 0
    functionLinenumber: 13336
    functionLinenumberEnd: 13351
    functionName: tDeserializeSViewMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSViewMetaRsp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSViewMetaRsp(void *buf, int32_t bufLen, SViewMetaRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4282,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 4285
      start: 4281
    functionDepth: 0
    functionLinenumber: 4281
    functionLinenumberEnd: 4285
    functionName: tFreeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCreateDbReq(SCreateDbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7998,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8001,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8002,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8003,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8006,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8010,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8006,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8008,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8004,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeHashRangeReq*
    constantsTouched: []
    func_position:
      end: 8012
      start: 7994
    functionDepth: 0
    functionLinenumber: 7994
    functionLinenumberEnd: 8012
    functionName: tDeserializeSAlterVnodeHashRangeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAlterVnodeHashRangeReq(void *buf, int32_t bufLen,
      SAlterVnodeHashRangeReq *pReq) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12311,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12310,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12320,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12325,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12342,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12293,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12292,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12303,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12330,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12336,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12292,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12291,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12306,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12305,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12332,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12291,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12297,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12302,1
    - Dst: tDecodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12335,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12340,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12358
      start: 12287
    functionDepth: 0
    functionLinenumber: 12287
    functionLinenumberEnd: 12358
    functionName: tDecodeMqDataRspCommon
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryFree
    - taosMemoryCalloc
    - tDecodeBinary
    - tDecodeSSchemaWrapper
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeI8
    - tDecodeCStrAlloc
    - tDecodeSTqOffsetVal
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqDataRspCommon(SDecoder *pDecoder, SMqDataRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13358,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13360,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 13361
      start: 13353
    functionDepth: 0
    functionLinenumber: 13353
    functionLinenumberEnd: 13361
    functionName: tFreeSViewMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSViewMetaRsp(SViewMetaRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1965,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1966,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1965,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1967,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1968,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropUserReq*
    constantsTouched: []
    func_position:
      end: 1978
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1978
    functionName: tSerializeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropUserReq(void *buf, int32_t bufLen, SDropUserReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7092,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7098,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7100,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7102,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7106,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7112,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7093,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7097,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7103,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7117,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7118,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7123,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7100,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7098,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7102,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7106,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7112,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7126,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7095,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7097,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7101,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7118,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7123,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7133,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 61
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConnectRsp*
    constantsTouched: []
    func_position:
      end: 7135
      start: 7086
    functionDepth: 0
    functionLinenumber: 7086
    functionLinenumberEnd: 7135
    functionName: tDeserializeSConnectRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDeserializeSMonitorParas
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12939,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12940,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12942,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12942,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12943,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMPauseStreamReq*
    constantsTouched: []
    func_position:
      end: 12953
      start: 12934
    functionDepth: 0
    functionLinenumber: 12934
    functionLinenumberEnd: 12953
    functionName: tSerializeSMPauseStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMPauseStreamReq(void *buf, int32_t bufLen, const
      SMPauseStreamReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1984,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1986,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1987,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1987,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1988,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1989,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1992,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropUserReq*
    constantsTouched: []
    func_position:
      end: 1994
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1994
    functionName: tDeserializeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropUserReq(void *buf, int32_t bufLen, SDropUserReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7144,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7145,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7145,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7146,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMTimerReq*
    constantsTouched: []
    func_position:
      end: 7156
      start: 7137
    functionDepth: 0
    functionLinenumber: 7137
    functionLinenumberEnd: 7156
    functionName: tSerializeSMTimerMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMTimerMsg(void *buf, int32_t bufLen, SMTimerReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12960,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12961,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12963,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12963,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12964,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMPauseStreamReq*
    constantsTouched: []
    func_position:
      end: 12969
      start: 12955
    functionDepth: 0
    functionLinenumber: 12955
    functionLinenumberEnd: 12969
    functionName: tDeserializeSMPauseStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMPauseStreamReq(void *buf, int32_t bufLen, SMPauseStreamReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterDbReq*
    constantsTouched: []
    func_position:
      end: 4416
      start: 4416
    functionDepth: 0
    functionLinenumber: 4416
    functionLinenumberEnd: 4416
    functionName: tFreeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSAlterDbReq(SAlterDbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4591,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4593,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4582,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4585,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4586,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4587,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4588,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4592,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4581,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4583,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4593,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4591,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4583,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVSubTablesRsp*
    constantsTouched: []
    func_position:
      end: 4601
      start: 4578
    functionDepth: 0
    functionLinenumber: 4578
    functionLinenumberEnd: 4601
    functionName: tSerializeSVSubTablesRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeI32
    - tEncodeU64
    - tEncodeI16
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVSubTablesRspImpl(SEncoder* pEncoder, SVSubTablesRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9548,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9552,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9554,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9556,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9559,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9544,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9549,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9553,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9555,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9557,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9546,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9548,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9552,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9554,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9556,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9558,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9559,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9569,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9566,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9551,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9549,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9557,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSubQueryMsg*
    constantsTouched: []
    func_position:
      end: 9571
      start: 9533
    functionDepth: 0
    functionLinenumber: 9533
    functionLinenumberEnd: 9571
    functionName: tDeserializeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tDecodeBinaryAlloc
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeCStrAlloc
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg
      *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10095,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10106,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10135,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10102,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10104,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10115,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10110,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10120,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10097,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10100,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10111,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10099,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10110,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10112,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10127,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQueryTableRsp*
    constantsTouched: []
    func_position:
      end: 10137
      start: 10091
    functionDepth: 0
    functionLinenumber: 10091
    functionLinenumberEnd: 10137
    functionName: tDeserializeSQueryTableRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSQueryTableRsp(void *buf, int32_t bufLen, SQueryTableRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11480,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11481,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11481,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11482,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11480,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11484,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11487,1
    - Dst: tDecodeSVDropTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11487,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVDropTbBatchRsp*
    constantsTouched: []
    func_position:
      end: 11492
      start: 11479
    functionDepth: 0
    functionLinenumber: 11479
    functionLinenumberEnd: 11492
    functionName: tDecodeSVDropTbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecoderMalloc
    - tDecodeSVDropTbRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVDropTbBatchRsp(SDecoder *pCoder, SVDropTbBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4425,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4426,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4425,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4427,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4427,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4428,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4429,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4437,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDbReq*
    constantsTouched: []
    func_position:
      end: 4439
      start: 4418
    functionDepth: 0
    functionLinenumber: 4418
    functionLinenumberEnd: 4439
    functionName: tSerializeSDropDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropDbReq(void *buf, int32_t bufLen, SDropDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4610,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4610,1
    - Dst: tSerializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4611,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4613,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVSubTablesRsp*
    constantsTouched: []
    func_position:
      end: 4623
      start: 4603
    functionDepth: 0
    functionLinenumber: 4603
    functionLinenumberEnd: 4623
    functionName: tSerializeSVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSVSubTablesRspImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVSubTablesRsp(void *buf, int32_t bufLen, SVSubTablesRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9578,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9579,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSubQueryMsg*
    constantsTouched: []
    func_position:
      end: 9580
      start: 9573
    functionDepth: 0
    functionLinenumber: 9573
    functionLinenumberEnd: 9580
    functionName: tFreeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSSubQueryMsg(SSubQueryMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10154,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10159,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10163,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10156,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10177,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10182,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10155,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10162,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10167,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10169,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10153,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10163,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10161,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10152,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10155,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10164,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10167,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10173,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10181,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSchedulerHbReq*
    constantsTouched: []
    func_position:
      end: 10186
      start: 10139
    functionDepth: 0
    functionLinenumber: 10139
    functionLinenumberEnd: 10186
    functionName: tSerializeSSchedulerHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeU16
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - tEncodeI8
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSSchedulerHbReq(void *buf, int32_t bufLen, SSchedulerHbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11495,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11495,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11497,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11496,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11496,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11497,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDropStbReq*
    constantsTouched: []
    func_position:
      end: 11500
      start: 11494
    functionDepth: 0
    functionLinenumber: 11494
    functionLinenumberEnd: 11500
    functionName: tEncodeSVDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVDropStbReq(SEncoder *pCoder, const SVDropStbReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3690,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3692,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3694,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3694,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3696,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3703,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3703,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3704,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3705,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncReq*
    constantsTouched: []
    func_position:
      end: 3713
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3713
    functionName: tDeserializeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI8
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSRetrieveFuncReq(void *buf, int32_t bufLen, SRetrieveFuncReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5372,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5374,1
    - Dst: tDeserializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5375,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5374,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5376,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 5381
      start: 5368
    functionDepth: 0
    functionLinenumber: 5368
    functionLinenumberEnd: 5381
    functionName: tDeserializeSUseDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDeserializeSUseDbRspImp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUseDbRsp(void *buf, int32_t bufLen, SUseDbRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5426,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5431,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5428,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5431,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5435,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5440,1
    - Dst: tDeserializeSDbHbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5440,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5442,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5446,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbHbBatchRsp*
    constantsTouched: []
    func_position:
      end: 5451
      start: 5422
    functionDepth: 0
    functionLinenumber: 5422
    functionLinenumberEnd: 5451
    functionName: tDeserializeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDeserializeSDbHbRspImp
    - taosArrayPush
    - taosArrayGetSize
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDbHbBatchRsp(void *buf, int32_t bufLen, SDbHbBatchRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5543,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5545,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5546,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SUserAuthBatchRsp*
    constantsTouched: []
    func_position:
      end: 5550
      start: 5542
    functionDepth: 0
    functionLinenumber: 5542
    functionLinenumberEnd: 5550
    functionName: tFreeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    - tFreeSGetUserAuthRsp
    linkageType: ''
    returnType: void
    signature: 'void tFreeSUserAuthBatchRsp(SUserAuthBatchRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6792,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6793,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6794,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6794,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6796,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6796,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6800,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6806,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6801,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6801,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableInfoReq*
    constantsTouched: []
    func_position:
      end: 6810
      start: 6781
    functionDepth: 0
    functionLinenumber: 6781
    functionLinenumberEnd: 6810
    functionName: tDeserializeSTableInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeU8
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6842,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6845,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6846,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6846,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6847,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6849,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6849,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6854,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6851,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTopicReq*
    constantsTouched: []
    func_position:
      end: 6856
      start: 6837
    functionDepth: 0
    functionLinenumber: 6837
    functionLinenumberEnd: 6856
    functionName: tDeserializeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11503,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11503,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11505,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11504,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11504,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11505,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVDropStbReq*
    constantsTouched: []
    func_position:
      end: 11508
      start: 11502
    functionDepth: 0
    functionLinenumber: 11502
    functionLinenumberEnd: 11508
    functionName: tDecodeSVDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVDropStbReq(SDecoder *pCoder, SVDropStbReq *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12858,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12872,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12861,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12866,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12878,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12885,1
    - Dst: tDecodeSVCreateTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12886,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12893,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12898,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SDecoder*
    - SSubmitRsp2*
    constantsTouched: []
    func_position:
      end: 12902
      start: 12855
    functionDepth: 0
    functionLinenumber: 12855
    functionLinenumberEnd: 12902
    functionName: tDecodeSSubmitRsp2
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeSVCreateTbRsp
    - tDecodeI32v
    - tStartDecode
    - tEndDecode
    - memset
    - taosArrayDestroyEx
    - taosArrayReserve
    - tDecodeU64v
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSSubmitRsp2(SDecoder *pCoder, SSubmitRsp2 *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRetrieveFuncReq*
    constantsTouched: []
    func_position:
      end: 3715
      start: 3715
    functionDepth: 0
    functionLinenumber: 3715
    functionLinenumberEnd: 3715
    functionName: tFreeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSRetrieveFuncReq(SRetrieveFuncReq *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5393,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5395,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5411,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5389,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5391,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5393,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5397,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5404,1
    - Dst: tDecodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5408,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5399,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5415,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5385,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5387,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5402,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5412,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5416,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5385,1
    - Dst: tDeserializeSUseDbRspImp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5391,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5402,1
    - Dst: tDeserializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5399,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5406,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5408,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5401,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5412,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5414,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5415,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - decoder
    - pRsp
    argTypes:
    - SDecoder*
    - SDbHbRsp*
    constantsTouched: []
    func_position:
      end: 5420
      start: 5383
    functionDepth: 0
    functionLinenumber: 5383
    functionLinenumberEnd: 5420
    functionName: tDeserializeSDbHbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - taosMemoryCalloc
    - tDecodeTableTSMAInfoRsp
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDeserializeSUseDbRspImp
    - tDecodeI8
    - tDeserializeSDbCfgRspImpl
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDbHbRspImp(SDecoder *decoder, SDbHbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 5453
      start: 5453
    functionDepth: 0
    functionLinenumber: 5453
    functionLinenumberEnd: 5453
    functionName: tFreeSUsedbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSUsedbRsp(SUseDbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5557,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5559,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5560,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5560,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5561,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDbCfgReq*
    constantsTouched: []
    func_position:
      end: 5571
      start: 5552
    functionDepth: 0
    functionLinenumber: 5552
    functionLinenumberEnd: 5571
    functionName: tSerializeSDbCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDbCfgReq(void *buf, int32_t bufLen, SDbCfgReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6820,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6819,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6821,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6821,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6823,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6823,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6833,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTopicReq*
    constantsTouched: []
    func_position:
      end: 6835
      start: 6812
    functionDepth: 0
    functionLinenumber: 6812
    functionLinenumberEnd: 6835
    functionName: tSerializeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropTopicReq(void *buf, int32_t bufLen, SMDropTopicReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropTopicReq*
    constantsTouched: []
    func_position:
      end: 6858
      start: 6858
    functionDepth: 0
    functionLinenumber: 6858
    functionLinenumberEnd: 6858
    functionName: tFreeSMDropTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMDropTopicReq(SMDropTopicReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11513,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11515,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11522,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11524,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11515,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11527,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11525,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11525,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11516,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11520,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11523,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pEncoder
    - pBlock
    argTypes:
    - SEncoder*
    - SSubmitBlkRsp*
    constantsTouched: []
    func_position:
      end: 11533
      start: 11510
    functionDepth: 0
    functionLinenumber: 11510
    functionLinenumberEnd: 11533
    functionName: tEncodeSSubmitBlkRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeI64v
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSSubmitBlkRsp(SEncoder *pEncoder, const SSubmitBlkRsp
      *pBlock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12911,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12915,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12922,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12918,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12912,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12923,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12926,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12929,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - pRsp
    - flag
    argTypes:
    - SSubmitRsp2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 12932
      start: 12904
    functionDepth: 0
    functionLinenumber: 12904
    functionLinenumberEnd: 12932
    functionName: tDestroySSubmitRsp2
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY_SIZE
    - TARRAY_DATA
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroySSubmitRsp2(SSubmitRsp2 *pRsp, int32_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13493,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13497,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13503,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13507,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13511,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13530,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13527,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13515,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13494,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13500,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13504,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13510,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13511,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13517,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13521,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13524,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13495,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13497,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13501,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13518,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13523,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13521,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13528,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13496,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13502,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13498,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13515,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13532,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13524,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 2
    argNames:
    - pEncoder
    - pTsmaInfo
    argTypes:
    - SEncoder*
    - STableTSMAInfo*
    constantsTouched: []
    func_position:
      end: 13536
      start: 13489
    functionDepth: 0
    functionLinenumber: 13489
    functionLinenumberEnd: 13536
    functionName: tEncodeTableTSMAInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - tEncodeSSchema
    - tEncodeI16
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeTableTSMAInfo(SEncoder *pEncoder, const STableTSMAInfo
      *pTsmaInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13655,1
    - Dst: tEncodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13657,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13657,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13660,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 13670
      start: 13650
    functionDepth: 0
    functionLinenumber: 13650
    functionLinenumberEnd: 13670
    functionName: tSerializeTableTSMAInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeTableTSMAInfoRsp
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeTableTSMAInfoRsp(void *buf, int32_t bufLen, const
      STableTSMAInfoRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:213,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:214,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:213,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pAddr
    argTypes:
    - SDecoder*
    - SQueryNodeAddr*
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: tDecodeSQueryNodeAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - tDecodeSEpSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSQueryNodeAddr(SDecoder *pDecoder, SQueryNodeAddr *pAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2288,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2291,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2290,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2290,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2292,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveIpWhiteReq*
    constantsTouched: []
    func_position:
      end: 2297
      start: 2283
    functionDepth: 0
    functionLinenumber: 2283
    functionLinenumberEnd: 2297
    functionName: tDeserializeRetrieveIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeRetrieveIpWhite(void *buf, int32_t bufLen, SRetrieveIpWhiteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4749,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4749,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4751,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4751,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4754,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4754,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVStbRefDbsRsp*
    constantsTouched: []
    func_position:
      end: 4760
      start: 4746
    functionDepth: 0
    functionLinenumber: 4746
    functionLinenumberEnd: 4760
    functionName: tSerializeSVStbRefDbsRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVStbRefDbsRspImpl(SEncoder* pEncoder, SVStbRefDbsRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7163,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7165,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7168,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7172,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7174,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7177,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7174,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7173,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pMsg
    argTypes:
    - void*
    - int32_t
    - SMStreamDropOrphanMsg*
    constantsTouched: []
    func_position:
      end: 7187
      start: 7158
    functionDepth: 0
    functionLinenumber: 7158
    functionLinenumberEnd: 7187
    functionName: tSerializeDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7027,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7031,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7035,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7039,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7043,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7030,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7032,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7040,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7029,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7033,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7035,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7032,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7034,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7042,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConnectReq*
    constantsTouched: []
    func_position:
      end: 7048
      start: 7023
    functionDepth: 0
    functionLinenumber: 7023
    functionLinenumberEnd: 7048
    functionName: tDeserializeSConnectReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSConnectReq(void *buf, int32_t bufLen, SConnectReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7493,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7497,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7501,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7496,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7498,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7503,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7495,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7500,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7501,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7494,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressRsp*
    constantsTouched: []
    func_position:
      end: 7513
      start: 7486
    functionDepth: 0
    functionLinenumber: 7486
    functionLinenumberEnd: 7513
    functionName: tSerializeSQueryCompactProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tStartEncode
    - tEncodeI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSQueryCompactProgressRsp(void *buf, int32_t bufLen,
      SQueryCompactProgressRsp *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11787,1
    - Dst: tDecodeSVAlterTbReqCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11788,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11787,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11793,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11793,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pDecoder
    - pReq
    - ctimeMs
    argTypes:
    - SDecoder*
    - SVAlterTbReq*
    - int64_t
    constantsTouched: []
    func_position:
      end: 11799
      start: 11783
    functionDepth: 0
    functionLinenumber: 11783
    functionLinenumberEnd: 11799
    functionName: tDecodeSVAlterTbReqSetCtime
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSVAlterTbReqCommon
    - tDecodeI64
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVAlterTbReqSetCtime(SDecoder *pDecoder, SVAlterTbReq
      *pReq, int64_t ctimeMs) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12003,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12007,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12005,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12011,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12009,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12012,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12014,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12015,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12017,1
    - Dst: snprintf
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12019,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12020,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - maxLen
    - pVal
    argTypes:
    - char*
    - int32_t
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 12023
      start: 12001
    functionDepth: 0
    functionLinenumber: 12001
    functionLinenumberEnd: 12023
    functionName: tFormatOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - VALUE_GET_TRIVIAL_DATUM
    - memcpy
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: void
    signature: 'void tFormatOffset(char *buf, int32_t maxLen, const STqOffsetVal *pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:219,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:220,1
    - Dst: tDecodeSQueryNodeAddr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:219,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pLoad
    argTypes:
    - SDecoder*
    - SQueryNodeLoad*
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: tDecodeSQueryNodeLoad
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeU64
    - tDecodeSQueryNodeAddr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSQueryNodeLoad(SDecoder *pDecoder, SQueryNodeLoad *pLoad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2306,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2306,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2307,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2308,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2308,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2309,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticsAlgoReq*
    constantsTouched: []
    func_position:
      end: 2319
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2319
    functionName: tSerializeRetrieveAnalyticAlgoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeRetrieveAnalyticAlgoReq(void *buf, int32_t bufLen,
      SRetrieveAnalyticsAlgoReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4767,1
    - Dst: tSerializeSVStbRefDbsRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4770,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4769,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4772,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4780,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsRsp*
    constantsTouched: []
    func_position:
      end: 4782
      start: 4762
    functionDepth: 0
    functionLinenumber: 4762
    functionLinenumberEnd: 4782
    functionName: tSerializeSVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSVStbRefDbsRspImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVStbRefDbsRsp(void *buf, int32_t bufLen, SVStbRefDbsRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7198,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7195,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7198,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7195,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7207,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7212,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7217,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7211,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7208,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7219,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pMsg
    argTypes:
    - void*
    - int32_t
    - SMStreamDropOrphanMsg*
    constantsTouched: []
    func_position:
      end: 7221
      start: 7189
    functionDepth: 0
    functionLinenumber: 7189
    functionLinenumberEnd: 7221
    functionName: tDeserializeDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeDropOrphanTaskMsg(void *buf, int32_t bufLen, SMStreamDropOrphanMsg
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7060,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7064,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7062,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7068,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7070,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7072,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7059,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7063,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7065,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7067,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7073,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7058,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7060,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7066,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7072,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7074,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7057,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7059,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7061,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7065,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7069,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7071,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7073,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConnectRsp*
    constantsTouched: []
    func_position:
      end: 7084
      start: 7050
    functionDepth: 0
    functionLinenumber: 7050
    functionLinenumberEnd: 7084
    functionName: tSerializeSConnectRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - tEncodeSEpSet
    - tSerializeSMonitorParas
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSConnectRsp(void *buf, int32_t bufLen, SConnectRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7521,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7525,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7537,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7522,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7524,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7528,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7523,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7525,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7520,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7524,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7528,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7529,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressRsp*
    constantsTouched: []
    func_position:
      end: 7539
      start: 7514
    functionDepth: 0
    functionLinenumber: 7514
    functionLinenumberEnd: 7539
    functionName: tDeserializeSQueryCompactProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeI64v
    - tDecodeI32v
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSQueryCompactProgressRsp(void *buf, int32_t bufLen,
      SQueryCompactProgressRsp *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11803,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11807,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11804,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11805,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11806,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - val
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 11812
      start: 11801
    functionDepth: 0
    functionLinenumber: 11801
    functionLinenumberEnd: 11812
    functionName: tfreeMultiTagUpateVal
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tfreeMultiTagUpateVal(void *val) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tValueCompare
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12032,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12038,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - STqOffsetVal*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 12042
      start: 12025
    functionDepth: 0
    functionLinenumber: 12025
    functionLinenumberEnd: 12042
    functionName: tOffsetEqual
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - uError
    - tValueCompare
    linkageType: ''
    returnType: bool
    signature: 'bool tOffsetEqual(const STqOffsetVal *pLeft, const STqOffsetVal *pRight) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1784,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1786,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1788,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1788,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1790,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeInfoReq*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1780
    functionDepth: 0
    functionLinenumber: 1780
    functionLinenumberEnd: 1796
    functionName: tSerializeSDnodeInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDnodeInfoReq(void *buf, int32_t bufLen, SDnodeInfoReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6074,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6075,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6074,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6076,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6084,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableIndexReq*
    constantsTouched: []
    func_position:
      end: 6086
      start: 6067
    functionDepth: 0
    functionLinenumber: 6067
    functionLinenumberEnd: 6086
    functionName: tSerializeSTableIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableIndexReq(void *buf, int32_t bufLen, STableIndexReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9819,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9821,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9823,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9827,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9831,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9841,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9846,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9817,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9826,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9824,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9828,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9830,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9833,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9821,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9825,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9829,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9831,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9820,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9824,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9826,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9828,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9830,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9837,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 9851
      start: 9806
    functionDepth: 0
    functionLinenumber: 9806
    functionLinenumberEnd: 9851
    functionName: tSerializeSMqPollReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMqPollReq(void *buf, int32_t bufLen, SMqPollReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11950,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11952,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11953,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11954,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11954,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11956,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11956,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11962,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11962,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11958,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11958,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - pEncoder
    - pOffsetVal
    argTypes:
    - SEncoder*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 11968
      start: 11945
    functionDepth: 0
    functionLinenumber: 11945
    functionLinenumberEnd: 11968
    functionName: tEncodeSTqOffsetVal
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - VALUE_GET_TRIVIAL_DATUM
    - tEncodeI64
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSTqOffsetVal(SEncoder *pEncoder, const STqOffsetVal
      *pOffsetVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12522,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12526,1
    - Dst: tDecodeSBatchDeleteReqCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12526,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12525,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12529,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12529,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SBatchDeleteReq*
    constantsTouched: []
    func_position:
      end: 12534
      start: 12518
    functionDepth: 0
    functionLinenumber: 12518
    functionLinenumberEnd: 12534
    functionName: tDecodeSBatchDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeSBatchDeleteReqCommon
    - TAOS_CHECK_EXIT
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSBatchDeleteReq(SDecoder *pDecoder, SBatchDeleteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12555,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12558,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12563,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12558,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12563,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12564,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12565,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12565,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12566,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12566,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - data
    - suid
    - uid
    - sver
    argTypes:
    - void*
    - int64_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 12570
      start: 12551
    functionDepth: 0
    functionLinenumber: 12551
    functionLinenumberEnd: 12570
    functionName: transformRawSSubmitTbData
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tEncoderInit
    - tDecodeI32v
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    - POINTER_SHIFT
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t transformRawSSubmitTbData(void* data, int64_t suid, int64_t
      uid, int32_t sver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1804,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1804,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1805,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1805,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1808,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeInfoReq*
    constantsTouched: []
    func_position:
      end: 1811
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1811
    functionName: tDeserializeSDnodeInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDnodeInfoReq(void *buf, int32_t bufLen, SDnodeInfoReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6094,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6095,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6095,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6096,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableIndexReq*
    constantsTouched: []
    func_position:
      end: 6101
      start: 6088
    functionDepth: 0
    functionLinenumber: 6088
    functionLinenumberEnd: 6101
    functionName: tDeserializeSTableIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableIndexReq(void *buf, int32_t bufLen, STableIndexReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9862,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9864,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9868,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9872,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9879,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9880,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9887,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9890,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9858,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9863,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9869,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9867,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9875,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9876,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9893,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9866,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9868,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9872,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9880,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9885,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9886,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9887,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9860,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9867,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9869,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9876,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 9895
      start: 9853
    functionDepth: 0
    functionLinenumber: 9853
    functionLinenumberEnd: 9895
    functionName: tDeserializeSMqPollReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - tDecodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMqPollReq(void *buf, int32_t bufLen, SMqPollReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11974,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11974,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11982,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11982,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11984,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11984,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11985,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11986,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11989,1
    - Dst: tDecodeBinaryAlloc32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11989,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11993,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11993,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - pDecoder
    - pOffsetVal
    argTypes:
    - SDecoder*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 11999
      start: 11970
    functionDepth: 0
    functionLinenumber: 11970
    functionLinenumberEnd: 11999
    functionName: tDecodeSTqOffsetVal
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - VALUE_GET_TRIVIAL_DATUM
    - tDecodeBinaryAlloc32
    - tDecodeI64
    - tDecodeI8
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSTqOffsetVal(SDecoder *pDecoder, STqOffsetVal *pOffsetVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12540,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12543,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12545,1
    - Dst: tDecodeSBatchDeleteReqCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12540,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pDecoder
    - pReq
    - ctimeMs
    argTypes:
    - SDecoder*
    - SBatchDeleteReq*
    - int64_t
    constantsTouched: []
    func_position:
      end: 12550
      start: 12536
    functionDepth: 0
    functionLinenumber: 12536
    functionLinenumberEnd: 12550
    functionName: tDecodeSBatchDeleteReqSetCtime
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeIsEnd
    - TAOS_CHECK_EXIT
    - tDecodeI64
    - tDecodeSBatchDeleteReqCommon
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSBatchDeleteReqSetCtime(SDecoder *pDecoder, SBatchDeleteReq
      *pReq, int64_t ctimeMs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12591,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12592,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12602,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12596,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12605,1
    - Dst: tEncodeRow
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12609,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12587,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12612,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12576,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12579,1
    - Dst: uError
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12584,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12591,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12592,1
    - Dst: tEncodeColData
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12602,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12607,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12576,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12579,1
    - Dst: tEncodeSVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12587,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12593,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12605,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12605,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12609,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12614,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - pCoder
    - pSubmitTbData
    argTypes:
    - SEncoder*
    - SSubmitTbData*
    constantsTouched: []
    func_position:
      end: 12617
      start: 12572
    functionDepth: 0
    functionLinenumber: 12572
    functionLinenumberEnd: 12617
    functionName: tEncodeSSubmitTbData
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeU64v
    - TARRAY_DATA
    - tEncodeSVCreateTbReq
    - TAOS_CHECK_EXIT
    - tEncodeColData
    - tEndEncode
    - tEncodeI32v
    - tStartEncode
    - uError
    - tEncodeRow
    - tEncodeI64
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSSubmitTbData(SEncoder *pCoder, const SSubmitTbData
      *pSubmitTbData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3117,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3119,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3121,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3121,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3122,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3123,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgClusterReq*
    constantsTouched: []
    func_position:
      end: 3133
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3133
    functionName: tSerializeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCfgClusterReq(void *buf, int32_t bufLen, SMCfgClusterReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3849,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SFuncInfo*
    constantsTouched: []
    func_position:
      end: 3851
      start: 3844
    functionDepth: 0
    functionLinenumber: 3844
    functionLinenumberEnd: 3851
    functionName: tFreeSFuncInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSFuncInfo(SFuncInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5727,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5726,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5727,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5729,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5732,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVS3MigrateDbReq*
    constantsTouched: []
    func_position:
      end: 5734
      start: 5720
    functionDepth: 0
    functionLinenumber: 5720
    functionLinenumberEnd: 5734
    functionName: tDeserializeSVS3MigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVS3MigrateDbReq(void *buf, int32_t bufLen, SVS3MigrateDbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6727,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6735,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6730,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6729,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6733,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6737,1
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6738,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6741,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SSTbHbRsp*
    constantsTouched: []
    func_position:
      end: 6742
      start: 6726
    functionDepth: 0
    functionLinenumber: 6726
    functionLinenumberEnd: 6742
    functionName: tFreeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tFreeSTableMetaRsp
    - taosArrayGetSize
    - tFreeSTableIndexRsp
    linkageType: ''
    returnType: void
    signature: 'void tFreeSSTbHbRsp(SSTbHbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12068,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 12069
      start: 12065
    functionDepth: 0
    functionLinenumber: 12065
    functionLinenumberEnd: 12069
    functionName: tDeleteSTqOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tOffsetDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSTqOffset(void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13249,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13251,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13251,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13252,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13254,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SViewMetaReq*
    constantsTouched: []
    func_position:
      end: 13259
      start: 13244
    functionDepth: 0
    functionLinenumber: 13244
    functionLinenumberEnd: 13259
    functionName: tDeserializeSViewMetaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSViewMetaReq(void *buf, int32_t bufLen, SViewMetaReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3139,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3141,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3143,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3143,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3144,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3145,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgClusterReq*
    constantsTouched: []
    func_position:
      end: 3150
      start: 3135
    functionDepth: 0
    functionLinenumber: 3135
    functionLinenumberEnd: 3150
    functionName: tDeserializeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCfgClusterReq(void *buf, int32_t bufLen, SMCfgClusterReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3854,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3860,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3859,1
    - Dst: tFreeSFuncInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3857,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRetrieveFuncRsp*
    constantsTouched: []
    func_position:
      end: 3861
      start: 3853
    functionDepth: 0
    functionLinenumber: 3853
    functionLinenumberEnd: 3861
    functionName: tFreeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    - tFreeSFuncInfo
    linkageType: ''
    returnType: void
    signature: 'void tFreeSRetrieveFuncRsp(SRetrieveFuncRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5743,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5744,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5745,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5746,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5746,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5748,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5749,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5759,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5749,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropTtlTableReq*
    constantsTouched: []
    func_position:
      end: 5761
      start: 5736
    functionDepth: 0
    functionLinenumber: 5736
    functionLinenumberEnd: 5761
    functionName: tSerializeSVDropTtlTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVDropTtlTableReq(void *buf, int32_t bufLen, SVDropTtlTableReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6756,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6757,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6758,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6759,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6759,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6760,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6774,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6769,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6773,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6760,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6765,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableInfoReq*
    constantsTouched: []
    func_position:
      end: 6779
      start: 6744
    functionDepth: 0
    functionLinenumber: 6744
    functionLinenumberEnd: 6779
    functionName: tSerializeSTableInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeU8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableInfoReq(void *buf, int32_t bufLen, STableInfoReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12072,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12072,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12073,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12073,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pOffset
    argTypes:
    - SEncoder*
    - STqOffset*
    constantsTouched: []
    func_position:
      end: 12075
      start: 12071
    functionDepth: 0
    functionLinenumber: 12071
    functionLinenumberEnd: 12075
    functionName: tEncodeSTqOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSTqOffset(SEncoder *pEncoder, const STqOffset *pOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13267,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13265,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13269,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13273,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13271,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13268,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13272,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13265,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13271,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13273,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13266,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13272,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 13282
      start: 13261
    functionDepth: 0
    functionLinenumber: 13261
    functionLinenumberEnd: 13282
    functionName: tEncodeSViewMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchema
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEncodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSViewMetaRsp(SEncoder *pEncoder, const SViewMetaRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1322,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1323,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1324,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1324,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1326,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropTagIndexReq*
    constantsTouched: []
    func_position:
      end: 1330
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1330
    functionName: tDeserializeSDropTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropTagIdxReq(void *buf, int32_t bufLen, SDropTagIndexReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9471,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9473,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9473,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9474,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9474,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9475,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9475,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9477,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqSeekReq*
    constantsTouched: []
    func_position:
      end: 9482
      start: 9466
    functionDepth: 0
    functionLinenumber: 9466
    functionLinenumberEnd: 9482
    functionName: tDeserializeSMqSeekReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMqSeekReq(void *buf, int32_t bufLen, SMqSeekReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1337,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1339,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1341,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1339,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateFullTextReq*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1350
    functionName: tSerializeSMCreateFullTextReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCreateFullTextReq(void *buf, int32_t bufLen, SMCreateFullTextReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9497,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9501,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9505,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9509,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9510,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9517,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9525,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9504,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9502,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9511,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9521,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9499,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9503,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9507,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9510,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9513,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9495,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9498,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9504,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9506,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9508,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9511,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSubQueryMsg*
    constantsTouched: []
    func_position:
      end: 9531
      start: 9484
    functionDepth: 0
    functionLinenumber: 9484
    functionLinenumberEnd: 9531
    functionName: tSerializeSSubQueryMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeCStrWithLen
    - tEncodeI64
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSSubQueryMsg(void *buf, int32_t bufLen, SSubQueryMsg
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SNotifyReq*
    constantsTouched: []
    func_position:
      end: 1433
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1433
    functionName: tFreeSNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSNotifyReq(SNotifyReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2224,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2242,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2231,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2233,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2242,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2246,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2251,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pReq
    - pUpdateMsg
    argTypes:
    - SUpdateIpWhite*
    - SUpdateIpWhite**
    constantsTouched: []
    func_position:
      end: 2261
      start: 2219
    functionDepth: 0
    functionLinenumber: 2219
    functionLinenumberEnd: 2261
    functionName: cloneSUpdateIpWhiteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tFreeSUpdateIpWhiteReq
    - strlen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cloneSUpdateIpWhiteReq(SUpdateIpWhite *pReq, SUpdateIpWhite
      **pUpdateMsg) '
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2770,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2774,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2811,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2891,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2877,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2978,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2773,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2796,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2841,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2896,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2853,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2839,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2778,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2803,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2924,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2845,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2872,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2777,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2790,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2810,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2835,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2858,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2821,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2943,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2956,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2773,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2886,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2937,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2970,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2833,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2772,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2787,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2804,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2905,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2980,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2982,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2984,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2985,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2981,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2899,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2777,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2797,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2945,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2947,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2979,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2987,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2831,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2776,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2918,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2965,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2971,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2986,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2983,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2989,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2772,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2848,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2861,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2907,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2909,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2923,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2961,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2829,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2771,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2786,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2789,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2880,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2867,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2926,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2928,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2942,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2955,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2962,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2776,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2816,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2834,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2885,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2936,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2940,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2953,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2842,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2775,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2779,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2904,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2959,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2771,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2832,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2898,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2871,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2902,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2869,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2929,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2990,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2770,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2774,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2791,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2890,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2888,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2866,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2917,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2921,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2934,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2948,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2830,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2860,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2775,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2779,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2802,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2817,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2847,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2864,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2915,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2966,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2879,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2883,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2818,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2778,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2788,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2798,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2809,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2850,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2852,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2910,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 292
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 2992
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2992
    functionName: tDeserializeSGetUserAuthRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tDecodeIsEnd
    - taosMemoryCalloc
    - strlen
    - tDecodeI64
    - tDecodeI8
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSGetUserAuthRspImpl(SDecoder *pDecoder, SGetUserAuthRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8055,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8057,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8057,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8058,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8059,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillConnReq*
    constantsTouched: []
    func_position:
      end: 8069
      start: 8050
    functionDepth: 0
    functionLinenumber: 8050
    functionLinenumberEnd: 8069
    functionName: tSerializeSKillConnReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9006,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9008,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9012,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9012,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9013,1
    - Dst: tEncodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9013,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9014,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9014,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9016,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9016,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9027,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9015,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SExplainRsp*
    constantsTouched: []
    func_position:
      end: 9029
      start: 9001
    functionDepth: 0
    functionLinenumber: 9001
    functionLinenumberEnd: 9029
    functionName: tSerializeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeDouble
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9215,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9219,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9221,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9228,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9197,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9200,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9203,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9217,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9219,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9215,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9197,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9205,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9218,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SBatchRsp*
    constantsTouched: []
    func_position:
      end: 9230
      start: 9191
    functionDepth: 0
    functionLinenumber: 9191
    functionLinenumberEnd: 9230
    functionName: tDeserializeSBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeBinaryAlloc
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSBatchRsp(void *buf, int32_t bufLen, SBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1451,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1449,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1455,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1457,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1460,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1481,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1487,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1521,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1524,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1484,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1445,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1446,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1476,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1533,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1483,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1477,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1519,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1529,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1454,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1521,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1440,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1453,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1471,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1509,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1510,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1511,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1512,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1531,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1456,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1488,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1482,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1493,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1495,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1496,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1479,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1481,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1487,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1447,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1449,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1455,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1470,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1492,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1445,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1498,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1499,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1500,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1501,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1502,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1503,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1504,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1505,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1442,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1518,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1525,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1526,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1537,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1466,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1454,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1461,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1462,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1463,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1465,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1464,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1467,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1471,1
    - Dst: tEncodeFloat
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1451,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1453,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1457,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1460,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1512,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1531,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1507,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1478,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1484,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1446,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1448,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1480,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1486,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1493,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1447,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1483,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1485,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1492,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1462,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1498,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1499,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1473,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1526,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1545,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1464,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1482,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1467,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1466,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1452,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1461,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1530,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 152
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatusReq*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1547
    functionName: tSerializeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - taosArrayGet
    - tSerializeSMonitorParas
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - tStartEncode
    - tEncodeFloat
    - tEncodeI64
    - tEncodeU32
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSStatusReq(void *buf, int32_t bufLen, SStatusReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2270,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2269,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2270,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2271,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveIpWhiteReq*
    constantsTouched: []
    func_position:
      end: 2281
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2281
    functionName: tSerializeRetrieveIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeRetrieveIpWhite(void *buf, int32_t bufLen, SRetrieveIpWhiteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3001,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3000,1
    - Dst: tDeserializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3001,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3003,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 3008
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 3008
    functionName: tDeserializeSGetUserAuthRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDeserializeSGetUserAuthRspImpl
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSGetUserAuthRsp(void *buf, int32_t bufLen, SGetUserAuthRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8078,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8077,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8078,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8079,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillConnReq*
    constantsTouched: []
    func_position:
      end: 8084
      start: 8071
    functionDepth: 0
    functionLinenumber: 8071
    functionLinenumberEnd: 8084
    functionName: tDeserializeSKillConnReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - tEndDecode
    - tStartDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSKillConnReq(void *buf, int32_t bufLen, SKillConnReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9038,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9046,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9056,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9047,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9050,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9049,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9048,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9038,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9040,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9046,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9037,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9048,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9049,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9050,1
    - Dst: tDecodeDouble
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SExplainRsp*
    constantsTouched: []
    func_position:
      end: 9058
      start: 9031
    functionDepth: 0
    functionLinenumber: 9031
    functionLinenumberEnd: 9058
    functionName: tDeserializeSExplainRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - tDecodeDouble
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tDecodeBinaryAlloc
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSExplainRsp(void *buf, int32_t bufLen, SExplainRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9239,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9240,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9241,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9241,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9242,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9242,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9244,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqAskEpReq*
    constantsTouched: []
    func_position:
      end: 9254
      start: 9232
    functionDepth: 0
    functionLinenumber: 9232
    functionLinenumberEnd: 9254
    functionName: tSerializeSMqAskEpReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMqAskEpReq(void *buf, int32_t bufLen, SMqAskEpReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3319,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3321,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3322,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3321,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3323,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3324,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3324,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3325,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3329,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 3331
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3331
    functionName: tDeserializeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCfgDnodeReq(void *buf, int32_t bufLen, SMCfgDnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 3333
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3333
    functionName: tFreeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCfgDnodeReq(SMCfgDnodeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:226,1
    - Dst: taosEncodeFixedU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:229,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:227,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/common/src/msg/tmsg.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - pEp
    argTypes:
    - void**
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: taosEncodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosEncodeString
    - taosEncodeFixedI8
    - taosEncodeFixedU16
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosEncodeSEpSet(void **buf, const SEpSet *pEp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4640,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4660,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4642,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4633,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4629,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4640,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4642,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4660,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4661,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4662,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4641,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4663,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVSubTablesRsp*
    constantsTouched: []
    func_position:
      end: 4672
      start: 4625
    functionDepth: 0
    functionLinenumber: 4625
    functionLinenumberEnd: 4672
    functionName: tDeserializeSVSubTablesRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - taosMemoryFree
    - tDecodeCStrTo
    - tDecodeI16
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVSubTablesRspImpl(SDecoder* pDecoder, SVSubTablesRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFreeTableTSMAInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 13705
      start: 13699
    functionDepth: 0
    functionLinenumber: 13699
    functionLinenumberEnd: 13705
    functionName: tFreeAndClearTableTSMAInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tFreeTableTSMAInfo
    linkageType: ''
    returnType: void
    signature: 'void tFreeAndClearTableTSMAInfo(void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:236,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:240,1
    - Dst: taosDecodeFixedU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:239,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - buf
    - pEp
    argTypes:
    - void*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 243
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 243
    functionName: taosDecodeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedU16
    - taosDecodeFixedI8
    - taosDecodeStringTo
    linkageType: ''
    returnType: void*
    signature: 'void *taosDecodeSEpSet(const void *buf, SEpSet *pEp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4680,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4681,1
    - Dst: tDeserializeSVSubTablesRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4681,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4683,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVSubTablesRsp*
    constantsTouched: []
    func_position:
      end: 4689
      start: 4674
    functionDepth: 0
    functionLinenumber: 4674
    functionLinenumberEnd: 4689
    functionName: tDeserializeSVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDeserializeSVSubTablesRspImpl
    - TAOS_CHECK_EXIT
    - tEndDecode
    - tStartDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVSubTablesRsp(void *buf, int32_t bufLen, SVSubTablesRsp
      *pRsp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13712,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13729,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13717,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13725,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13721,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13733,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 2
    argNames:
    - pInfo
    - pRes
    argTypes:
    - STableTSMAInfo*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 13738
      start: 13707
    functionDepth: 0
    functionLinenumber: 13707
    functionLinenumberEnd: 13738
    functionName: tCloneTbTSMAInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayDup
    - taosStrdup
    - tFreeAndClearTableTSMAInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCloneTbTSMAInfo(STableTSMAInfo *pInfo, STableTSMAInfo **pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11851,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11852,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11851,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11854,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11854,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11856,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMAlterStbRsp*
    constantsTouched: []
    func_position:
      end: 11859
      start: 11847
    functionDepth: 0
    functionLinenumber: 11847
    functionLinenumberEnd: 11859
    functionName: tEncodeSMAlterStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMAlterStbRsp(SEncoder *pEncoder, const SMAlterStbRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11866,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11869,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11867,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11873,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11873,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11875,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMAlterStbRsp*
    constantsTouched: []
    func_position:
      end: 11878
      start: 11861
    functionDepth: 0
    functionLinenumber: 11861
    functionLinenumberEnd: 11878
    functionName: tDecodeSMAlterStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSTableMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSMAlterStbRsp(SDecoder *pDecoder, SMAlterStbRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1936,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1939,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1939,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1945,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1945,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1948,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1950,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1948,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1952,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatisReq*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1954
    functionName: tDeserializeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSStatisReq(void *buf, int32_t bufLen, SStatisReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9959,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9957,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9959,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9960,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9960,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9961,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9965,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9970,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9965,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9962,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9963,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9973,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STaskDropReq*
    constantsTouched: []
    func_position:
      end: 9975
      start: 9945
    functionDepth: 0
    functionLinenumber: 9945
    functionLinenumberEnd: 9975
    functionName: tDeserializeSTaskDropReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStatisReq*
    constantsTouched: []
    func_position:
      end: 1956
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1956
    functionName: tFreeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSStatisReq(SStatisReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9993,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9997,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10007,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9992,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9994,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9996,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9999,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9991,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9993,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9997,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9995,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10012,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9989,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9994,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10003,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9996,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STaskNotifyReq*
    constantsTouched: []
    func_position:
      end: 10017
      start: 9977
    functionDepth: 0
    functionLinenumber: 9977
    functionLinenumberEnd: 10017
    functionName: tSerializeSTaskNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCfgClusterReq*
    constantsTouched: []
    func_position:
      end: 3152
      start: 3152
    functionDepth: 0
    functionLinenumber: 3152
    functionLinenumberEnd: 3152
    functionName: tFreeSMCfgClusterReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCfgClusterReq(SMCfgClusterReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pParam
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4698
      start: 4691
    functionDepth: 0
    functionLinenumber: 4691
    functionLinenumberEnd: 4698
    functionName: tFreeSVCTableRefCols
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVCTableRefCols(void *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10241,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10248,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10256,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10259,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10239,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10247,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10249,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10251,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10241,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10244,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10248,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10250,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10252,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10259,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10261,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10239,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10249,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10245,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10251,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10255,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSchedulerHbRsp*
    constantsTouched: []
    func_position:
      end: 10271
      start: 10232
    functionDepth: 0
    functionLinenumber: 10232
    functionLinenumberEnd: 10271
    functionName: tSerializeSSchedulerHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeU16
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - tEncodeI8
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSSchedulerHbRsp(void *buf, int32_t bufLen, SSchedulerHbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13834,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13833,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13833,1
    - Dst: tEncodeStreamProgressRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13834,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13836,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamProgressRsp*
    constantsTouched: []
    func_position:
      end: 13846
      start: 13826
    functionDepth: 0
    functionLinenumber: 13826
    functionLinenumberEnd: 13846
    functionName: tSerializeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeStreamProgressRsp
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeStreamProgressRsp(void *buf, int32_t bufLen, const
      SStreamProgressRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3159,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3161,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3161,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3163,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3164,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3172,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateQnodeReq*
    constantsTouched: []
    func_position:
      end: 3174
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3174
    functionName: tSerializeSCreateDropMQSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateDropMQSNodeReq(void *buf, int32_t bufLen,
      SMCreateQnodeReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4708
      start: 4700
    functionDepth: 0
    functionLinenumber: 4700
    functionLinenumberEnd: 4708
    functionName: tDestroySVSubTablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void tDestroySVSubTablesRsp(void* rsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10279,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10280,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10282,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10294,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10298,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10310,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10281,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10293,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10304,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10313,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10282,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10288,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10294,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10296,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10297,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10303,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10284,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10293,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10286,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10295,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10301,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSchedulerHbRsp*
    constantsTouched: []
    func_position:
      end: 10315
      start: 10273
    functionDepth: 0
    functionLinenumber: 10273
    functionLinenumberEnd: 10315
    functionName: tDeserializeSSchedulerHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - tDecodeCStrTo
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeU16
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSSchedulerHbRsp(void *buf, int32_t bufLen, SSchedulerHbRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13852,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13853,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13852,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13855,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13856,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13856,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SStreamProgressRsp*
    constantsTouched: []
    func_position:
      end: 13861
      start: 13848
    functionDepth: 0
    functionLinenumber: 13848
    functionLinenumberEnd: 13861
    functionName: tDecodeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeI64
    - tDecodeI8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeStreamProgressRsp(SDecoder *pDecoder, SStreamProgressRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7862,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7864,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7871,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7874,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7877,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7861,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7865,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7873,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7879,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7864,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7877,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7880,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7859,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7863,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7873,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7879,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7888,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeReplicaReq*
    constantsTouched: []
    func_position:
      end: 7890
      start: 7854
    functionDepth: 0
    functionLinenumber: 7854
    functionLinenumberEnd: 7890
    functionName: tSerializeSAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSReplica
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAlterVnodeReplicaReq(void *buf, int32_t bufLen,
      SAlterVnodeReplicaReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:576,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:578,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:566,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:572,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:577,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:565,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:567,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:576,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:564,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:566,1
    - Dst: tSerializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:575,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:570,1
    - Dst: tSerializeSClientHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchRsp
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchRsp*
    constantsTouched: []
    func_position:
      end: 588
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 588
    functionName: tSerializeSClientHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - tSerializeSClientHbRsp
    - tSerializeSMonitorParas
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSClientHbBatchRsp(void *buf, int32_t bufLen, const
      SClientHbBatchRsp *pBatchRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2326,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2328,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2330,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2330,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2331,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticsAlgoReq*
    constantsTouched: []
    func_position:
      end: 2336
      start: 2321
    functionDepth: 0
    functionLinenumber: 2321
    functionLinenumberEnd: 2336
    functionName: tDeserializeRetrieveAnalyticAlgoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeRetrieveAnalyticAlgoReq(void *buf, int32_t bufLen,
      SRetrieveAnalyticsAlgoReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDnodeListRsp*
    constantsTouched: []
    func_position:
      end: 5068
      start: 5068
    functionDepth: 0
    functionLinenumber: 5068
    functionLinenumberEnd: 5068
    functionName: tFreeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDnodeListRsp(SDnodeListRsp *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:598,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:605,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:604,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:617,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:599,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:610,1
    - Dst: tDeserializeSClientHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:610,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:621,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:627,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:632,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:596,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:602,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:617,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:597,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:612,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:621,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pBatchRsp
    argTypes:
    - void*
    - int32_t
    - SClientHbBatchRsp*
    constantsTouched: []
    func_position:
      end: 637
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 637
    functionName: tDeserializeSClientHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDeserializeSMonitorParas
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDeserializeSClientHbRsp
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSClientHbBatchRsp(void *buf, int32_t bufLen, SClientHbBatchRsp
      *pBatchRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2359,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2369,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2367,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2372,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2346,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2370,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2368,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2374,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2358,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2369,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2367,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2371,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2372,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2377,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2357,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2350,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2361,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2368,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2370,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2385,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticAlgoRsp*
    constantsTouched: []
    func_position:
      end: 2387
      start: 2338
    functionDepth: 0
    functionLinenumber: 2338
    functionLinenumberEnd: 2387
    functionName: tSerializeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - taosHashIterate
    - tEndEncode
    - tStartEncode
    - taosHashGetKey
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeRetrieveAnalyticAlgoRsp(void *buf, int32_t bufLen,
      SRetrieveAnalyticAlgoRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5078,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5080,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5079,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5080,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5084,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5095,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5077,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5081,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5085,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5093,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5088,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5089,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactDbReq*
    constantsTouched: []
    func_position:
      end: 5105
      start: 5070
    functionDepth: 0
    functionLinenumber: 5070
    functionLinenumberEnd: 5105
    functionName: tSerializeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - tEncodeI64v
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - ENCODESQL
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCompactDbReq(void *buf, int32_t bufLen, SCompactDbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7898,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7902,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7911,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7905,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7912,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7915,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7919,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7899,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7901,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7908,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7922,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7924,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7896,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7898,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7900,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7905,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7911,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7910,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7915,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7899,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7901,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7908,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeReplicaReq*
    constantsTouched: []
    func_position:
      end: 7926
      start: 7892
    functionDepth: 0
    functionLinenumber: 7892
    functionLinenumberEnd: 7926
    functionName: tDeserializeSAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeSReplica
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAlterVnodeReplicaReq(void *buf, int32_t bufLen,
      SAlterVnodeReplicaReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7933,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7935,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7935,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7937,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7937,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7939,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7947,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDisableVnodeWriteReq*
    constantsTouched: []
    func_position:
      end: 7949
      start: 7928
    functionDepth: 0
    functionLinenumber: 7928
    functionLinenumberEnd: 7949
    functionName: tSerializeSDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDisableVnodeWriteReq(void *buf, int32_t bufLen,
      SDisableVnodeWriteReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4837
      start: 4828
    functionDepth: 0
    functionLinenumber: 4828
    functionLinenumberEnd: 4837
    functionName: tDestroySVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: 'void tDestroySVStbRefDbsRsp(void* rsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3180,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3183,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3182,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3183,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3184,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3185,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateQnodeReq*
    constantsTouched: []
    func_position:
      end: 3190
      start: 3176
    functionDepth: 0
    functionLinenumber: 3176
    functionLinenumberEnd: 3190
    functionName: tDeserializeSCreateDropMQSNodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateDropMQSNodeReq(void *buf, int32_t bufLen,
      SMCreateQnodeReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4787,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4789,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4789,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4799,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4799,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVStbRefDbsRsp*
    constantsTouched: []
    func_position:
      end: 4809
      start: 4784
    functionDepth: 0
    functionLinenumber: 4784
    functionLinenumberEnd: 4809
    functionName: tDeserializeSVStbRefDbsRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeCStrAlloc
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVStbRefDbsRspImpl(SDecoder* pDecoder, SVStbRefDbsRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7958,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7957,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7959,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7959,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7961,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDisableVnodeWriteReq*
    constantsTouched: []
    func_position:
      end: 7965
      start: 7951
    functionDepth: 0
    functionLinenumber: 7951
    functionLinenumberEnd: 7965
    functionName: tDeserializeSDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDisableVnodeWriteReq(void *buf, int32_t bufLen,
      SDisableVnodeWriteReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateQnodeReq*
    constantsTouched: []
    func_position:
      end: 3192
      start: 3192
    functionDepth: 0
    functionLinenumber: 3192
    functionLinenumberEnd: 3192
    functionName: tFreeSMCreateQnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateQnodeReq(SMCreateQnodeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4818,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4817,1
    - Dst: tDeserializeSVStbRefDbsRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4817,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4820,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4824,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsRsp*
    constantsTouched: []
    func_position:
      end: 4826
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4826
    functionName: tDeserializeSVStbRefDbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDeserializeSVStbRefDbsRspImpl
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVStbRefDbsRsp(void *buf, int32_t bufLen, SVStbRefDbsRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4845,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4848,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4847,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4849,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQnodeListReq*
    constantsTouched: []
    func_position:
      end: 4859
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4859
    functionName: tSerializeSQnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSQnodeListReq(void *buf, int32_t bufLen, SQnodeListReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:201,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:201,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:202,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pAddr
    argTypes:
    - SEncoder*
    - SQueryNodeAddr*
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: tEncodeSQueryNodeAddr
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeI32
    - tEncodeSEpSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSQueryNodeAddr(SEncoder *pEncoder, SQueryNodeAddr *pAddr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SConfigReq*
    constantsTouched: []
    func_position:
      end: 1731
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1731
    functionName: tFreeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSConfigReq(SConfigReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SKillCompactReq*
    constantsTouched: []
    func_position:
      end: 5235
      start: 5235
    functionDepth: 0
    functionLinenumber: 5235
    functionLinenumberEnd: 5235
    functionName: tFreeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSKillCompactReq(SKillCompactReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6398,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6400,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6404,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6397,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6403,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6405,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6401,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6402,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6413,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6404,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6397,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6401,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveTableReq*
    constantsTouched: []
    func_position:
      end: 6415
      start: 6390
    functionDepth: 0
    functionLinenumber: 6390
    functionLinenumberEnd: 6415
    functionName: tSerializeSRetrieveTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6711,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6712,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 6714
      start: 6706
    functionDepth: 0
    functionLinenumber: 6706
    functionLinenumberEnd: 6714
    functionName: tFreeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSTableMetaRsp(void *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12466,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12467,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12468,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12466,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12467,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SSingleDeleteReq*
    constantsTouched: []
    func_position:
      end: 12470
      start: 12465
    functionDepth: 0
    functionLinenumber: 12465
    functionLinenumberEnd: 12470
    functionName: tEncodeSSingleDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSSingleDeleteReq(SEncoder *pEncoder, const SSingleDeleteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:207,1
    - Dst: tEncodeSQueryNodeAddr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:207,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:208,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pEncoder
    - pLoad
    argTypes:
    - SEncoder*
    - SQueryNodeLoad*
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: tEncodeSQueryNodeLoad
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeSQueryNodeAddr
    - tEncodeU64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSQueryNodeLoad(SEncoder *pEncoder, SQueryNodeLoad *pLoad) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1738,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1740,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1739,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1741,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1742,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1745,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1754,1
    - Dst: tSerializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1745,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1747,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1743,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConfigRsp*
    constantsTouched: []
    func_position:
      end: 1756
      start: 1733
    functionDepth: 0
    functionLinenumber: 1733
    functionLinenumberEnd: 1756
    functionName: tSerializeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSConfigArray
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSConfigRsp(void *buf, int32_t bufLen, SConfigRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5240,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5242,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5244,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5248,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5250,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5252,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5255,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5238,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5239,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5241,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5243,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5249,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5247,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5251,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5256,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5240,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5242,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5248,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5244,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5249,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5250,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5251,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5252,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5255,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5239,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5238,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5241,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5243,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SUseDbRsp*
    constantsTouched: []
    func_position:
      end: 5258
      start: 5237
    functionDepth: 0
    functionLinenumber: 5237
    functionLinenumberEnd: 5258
    functionName: tSerializeSUseDbRspImp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeSEpSet
    - tEncodeI16
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUseDbRspImp(SEncoder *pEncoder, const SUseDbRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6425,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6425,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6427,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6429,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6440,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6424,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6431,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6430,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6427,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6429,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6436,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6426,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6428,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6435,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6431,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveTableReq*
    constantsTouched: []
    func_position:
      end: 6442
      start: 6417
    functionDepth: 0
    functionLinenumber: 6417
    functionLinenumberEnd: 6442
    functionName: tDeserializeSRetrieveTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSRetrieveTableReq(void *buf, int32_t bufLen, SRetrieveTableReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 6724
      start: 6716
    functionDepth: 0
    functionLinenumber: 6716
    functionLinenumberEnd: 6724
    functionName: tFreeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void tFreeSTableIndexRsp(void *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12473,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12475,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12474,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12474,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12473,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SSingleDeleteReq*
    constantsTouched: []
    func_position:
      end: 12477
      start: 12472
    functionDepth: 0
    functionLinenumber: 12472
    functionLinenumberEnd: 12477
    functionName: tDecodeSSingleDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSSingleDeleteReq(SDecoder *pDecoder, SSingleDeleteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11042,1
    - Dst: tEncodeSExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11042,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pCoder
    - pExtSchemas
    - nCol
    argTypes:
    - SEncoder*
    - SExtSchema*
    - int32_t
    constantsTouched: []
    func_position:
      end: 11047
      start: 11039
    functionDepth: 0
    functionLinenumber: 11039
    functionLinenumberEnd: 11047
    functionName: tEncodeSExtSchemas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSExtSchema
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSExtSchemas(SEncoder* pCoder, const SExtSchema*
      pExtSchemas, int32_t nCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11054,1
    - Dst: tDecodeSExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pCoder
    - ppExtSchema
    - nCol
    argTypes:
    - SDecoder*
    - SExtSchema**
    - int32_t
    constantsTouched: []
    func_position:
      end: 11059
      start: 11049
    functionDepth: 0
    functionLinenumber: 11049
    functionLinenumberEnd: 11059
    functionName: tDecodeSExtSchemas
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderMalloc
    - TAOS_CHECK_EXIT
    - tDecodeSExtSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSExtSchemas(SDecoder* pCoder, SExtSchema** ppExtSchema,
      int32_t nCol) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1694,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1693,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1695,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1697,1
    - Dst: tSerializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1697,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1699,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConfigReq*
    constantsTouched: []
    func_position:
      end: 1708
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1708
    functionName: tSerializeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSConfigArray
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSConfigReq(void *buf, int32_t bufLen, SConfigReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6221,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6222,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6221,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6223,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6223,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6225,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6225,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6227,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowVariablesReq*
    constantsTouched: []
    func_position:
      end: 6237
      start: 6214
    functionDepth: 0
    functionLinenumber: 6214
    functionLinenumberEnd: 6237
    functionName: tSerializeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8829,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbSetAssignedLeaderRsp*
    constantsTouched: []
    func_position:
      end: 8831
      start: 8825
    functionDepth: 0
    functionLinenumber: 8825
    functionLinenumberEnd: 8831
    functionName: tFreeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbSetAssignedLeaderRsp(SVArbSetAssignedLeaderRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11913,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11914,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11916,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11920,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11920,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11922,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11927,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMCreateStbRsp*
    constantsTouched: []
    func_position:
      end: 11930
      start: 11908
    functionDepth: 0
    functionLinenumber: 11908
    functionLinenumberEnd: 11930
    functionName: tDecodeSMCreateStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSTableMetaRsp
    - tFreeSTableMetaRsp
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSMCreateStbRsp(SDecoder *pDecoder, SMCreateStbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14037,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14039,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14040,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14037,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14040,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14043,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14045,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14045,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMqBatchMetaRsp*
    constantsTouched: []
    func_position:
      end: 14050
      start: 14033
    functionDepth: 0
    functionLinenumber: 14033
    functionLinenumberEnd: 14050
    functionName: tEncodeMqBatchMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeBinary
    - taosArrayGet
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - taosArrayGetSize
    - tEncodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqBatchMetaRsp(SEncoder *pEncoder, const SMqBatchMetaRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1714,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1716,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1715,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1716,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1717,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1717,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1721,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1723,1
    - Dst: tDeserializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1723,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1725,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1727,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConfigReq*
    constantsTouched: []
    func_position:
      end: 1729
      start: 1710
    functionDepth: 0
    functionLinenumber: 1710
    functionLinenumberEnd: 1729
    functionName: tDeserializeSConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDeserializeSConfigArray
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSConfigReq(void *buf, int32_t bufLen, SConfigReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6245,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6246,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6245,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6247,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6247,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6250,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6254,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6254,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6257,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SShowVariablesReq*
    constantsTouched: []
    func_position:
      end: 6261
      start: 6239
    functionDepth: 0
    functionLinenumber: 6239
    functionLinenumberEnd: 6261
    functionName: tDeserializeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSShowVariablesReq(void *buf, int32_t bufLen, SShowVariablesReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8842,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8843,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8846,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8848,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8856,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8865,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8867,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8838,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8853,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8851,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8861,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8866,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8843,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8850,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8848,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8856,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8867,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8870,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8840,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8851,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8854,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8853,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8855,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8860,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8861,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8866,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8878,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMArbUpdateGroupBatchReq*
    constantsTouched: []
    func_position:
      end: 8880
      start: 8833
    functionDepth: 0
    functionLinenumber: 8833
    functionLinenumberEnd: 8880
    functionName: tSerializeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen,
      SMArbUpdateGroupBatchReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11938,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11941,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11939,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11940,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMCreateStbRsp*
    constantsTouched: []
    func_position:
      end: 11943
      start: 11932
    functionDepth: 0
    functionLinenumber: 11932
    functionLinenumberEnd: 11943
    functionName: tFreeSMCreateStbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateStbRsp(SMCreateStbRsp *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14057,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14059,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14057,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14070,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14070,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14073,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14076,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqBatchMetaRsp*
    constantsTouched: []
    func_position:
      end: 14082
      start: 14052
    functionDepth: 0
    functionLinenumber: 14052
    functionLinenumberEnd: 14082
    functionName: tDecodeMqBatchMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqBatchMetaRsp(SDecoder *pDecoder, SMqBatchMetaRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8343,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8344,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8343,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8345,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSplitVgroupReq*
    constantsTouched: []
    func_position:
      end: 8355
      start: 8336
    functionDepth: 0
    functionLinenumber: 8336
    functionLinenumberEnd: 8355
    functionName: tSerializeSSplitVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8784,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8785,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8786,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8787,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8787,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8789,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderRsp*
    constantsTouched: []
    func_position:
      end: 8799
      start: 8777
    functionDepth: 0
    functionLinenumber: 8777
    functionLinenumberEnd: 8799
    functionName: tSerializeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12090,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12091,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12091,1
    - Dst: tDecodeSTqOffset
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDecoder
    - pOffset
    argTypes:
    - SDecoder*
    - SMqVgOffset*
    constantsTouched: []
    func_position:
      end: 12093
      start: 12089
    functionDepth: 0
    functionLinenumber: 12089
    functionLinenumberEnd: 12093
    functionName: tDecodeMqVgOffset
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeSTqOffset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqVgOffset(SDecoder *pDecoder, SMqVgOffset *pOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8361,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8363,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8364,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8363,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8365,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSplitVgroupReq*
    constantsTouched: []
    func_position:
      end: 8370
      start: 8357
    functionDepth: 0
    functionLinenumber: 8357
    functionLinenumberEnd: 8370
    functionName: tDeserializeSSplitVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSSplitVgroupReq(void *buf, int32_t bufLen, SSplitVgroupReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8805,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8807,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8811,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8811,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8812,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8813,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8815,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8815,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8816,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8821,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderRsp*
    constantsTouched: []
    func_position:
      end: 8823
      start: 8801
    functionDepth: 0
    functionLinenumber: 8801
    functionLinenumberEnd: 8823
    functionName: tDeserializeSVArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbSetAssignedLeaderRsp(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12096,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12097,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12097,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12096,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12098,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12099,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12099,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12101,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12102,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - STqCheckInfo*
    constantsTouched: []
    func_position:
      end: 12105
      start: 12095
    functionDepth: 0
    functionLinenumber: 12095
    functionLinenumberEnd: 12105
    functionName: tEncodeSTqCheckInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeI16
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSTqCheckInfo(SEncoder *pEncoder, const STqCheckInfo
      *pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:105,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pMsg
    - pIter
    argTypes:
    - SSubmitReq*
    - SSubmitMsgIter*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: tInitSubmitMsgIter
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tInitSubmitMsgIter(const SSubmitReq *pMsg, SSubmitMsgIter
      *pIter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3928,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3930,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3934,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3936,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3938,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3944,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3947,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3954,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3957,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3960,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3971,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3975,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3925,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3929,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3929,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3935,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3933,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3937,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3941,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3958,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3967,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3985,1
    - Dst: tEncodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3963,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3928,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3932,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3934,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3936,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3944,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3967,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3975,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3971,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3977,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3931,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3935,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3933,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3937,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3949,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3954,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3958,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3963,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 3987
      start: 3920
    functionDepth: 0
    functionLinenumber: 3920
    functionLinenumberEnd: 3987
    functionName: tSerializeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - taosArrayGet
    - tEncodeSSchema
    - tEncodeSColRef
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeSSchemaExt
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableCfgRsp(void *buf, int32_t bufLen, STableCfgRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6865,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6867,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6869,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6869,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6870,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6870,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6871,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6871,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6872,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6880,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropCgroupReq*
    constantsTouched: []
    func_position:
      end: 6882
      start: 6860
    functionDepth: 0
    functionLinenumber: 6860
    functionLinenumberEnd: 6882
    functionName: tSerializeSMDropCgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5133,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5131,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5126,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5140,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5115,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5116,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5124,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5113,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5122,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5131,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5140,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5114,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5116,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5120,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactDbReq*
    constantsTouched: []
    func_position:
      end: 5149
      start: 5107
    functionDepth: 0
    functionLinenumber: 5107
    functionLinenumberEnd: 5149
    functionName: tDeserializeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeI64v
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - DECODESQL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCompactDbReq(void *buf, int32_t bufLen, SCompactDbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13802,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13801,1
    - Dst: tDecodeStreamProgressReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13802,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13804,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStreamProgressReq*
    constantsTouched: []
    func_position:
      end: 13809
      start: 13794
    functionDepth: 0
    functionLinenumber: 13794
    functionLinenumberEnd: 13809
    functionName: tDeserializeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeStreamProgressReq
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeStreamProgressReq(void *buf, int32_t bufLen, SStreamProgressReq
      *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:145,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:149,1
    - Dst: htobe64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:147,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:148,1
    - Dst: htobe64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:146,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:150,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - pIter
    - pPBlock
    argTypes:
    - SSubmitMsgIter*
    - SSubmitBlk**
    constantsTouched: []
    func_position:
      end: 154
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 154
    functionName: tGetSubmitMsgNext
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - POINTER_SHIFT
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetSubmitMsgNext(SSubmitMsgIter *pIter, SSubmitBlk **pPBlock) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3993,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3995,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3997,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4001,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4003,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3999,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4013,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4024,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4084,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4063,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4045,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4049,1
    - Dst: tDecodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4071,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4087,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3996,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4002,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4004,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4004,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4006,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4011,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4018,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4034,1
    - Dst: tDecodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4054,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4042,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4039,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4078,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3997,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3999,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4005,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4024,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4039,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4047,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4054,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4046,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4071,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4026,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3996,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4000,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4006,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4018,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4020,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4026,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4043,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4062,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4079,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4066,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4061,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4032,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 115
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 4089
      start: 3989
    functionDepth: 0
    functionLinenumber: 3989
    functionLinenumberEnd: 4089
    functionName: tDeserializeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - hasRefCol
    - tDecodeSSchema
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - taosArrayInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - tDecodeSColRef
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - withExtSchema
    - tDecoderInit
    - tDecodeSSchemaExt
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeCStrAlloc
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableCfgRsp(void *buf, int32_t bufLen, STableCfgRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCompactDbReq*
    constantsTouched: []
    func_position:
      end: 5155
      start: 5151
    functionDepth: 0
    functionLinenumber: 5151
    functionLinenumberEnd: 5155
    functionName: tFreeSCompactDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCompactDbReq(SCompactDbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6888,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6890,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6892,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6893,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6893,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6895,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6897,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6895,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropCgroupReq*
    constantsTouched: []
    func_position:
      end: 6902
      start: 6884
    functionDepth: 0
    functionLinenumber: 6884
    functionLinenumberEnd: 6902
    functionName: tDeserializeSMDropCgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropCgroupReq(void *buf, int32_t bufLen, SMDropCgroupReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13815,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13816,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13815,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13816,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13817,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13818,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13819,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13820,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SStreamProgressRsp*
    constantsTouched: []
    func_position:
      end: 13824
      start: 13811
    functionDepth: 0
    functionLinenumber: 13811
    functionLinenumberEnd: 13824
    functionName: tEncodeStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI8
    - tEncodeI32
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeStreamProgressRsp(SEncoder *pEncoder, const
      SStreamProgressRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1996,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropUserReq*
    constantsTouched: []
    func_position:
      end: 1996
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 1996
    functionName: tFreeSDropUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDropUserReq(SDropUserReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5614,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5617,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5617,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5618,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5618,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5619,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5622,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STrimDbReq*
    constantsTouched: []
    func_position:
      end: 5624
      start: 5610
    functionDepth: 0
    functionLinenumber: 5610
    functionLinenumberEnd: 5624
    functionName: tDeserializeSTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTrimDbReq(void *buf, int32_t bufLen, STrimDbReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6912,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6914,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6923,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6924,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6929,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6932,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6911,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6913,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6915,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6920,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6926,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6929,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6930,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6940,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6912,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6914,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6923,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6922,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6924,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6929,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6915,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6923,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6920,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6926,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6930,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateTopicReq*
    constantsTouched: []
    func_position:
      end: 6942
      start: 6904
    functionDepth: 0
    functionLinenumber: 6904
    functionLinenumberEnd: 6942
    functionName: tSerializeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCMCreateTopicReq(void *buf, int32_t bufLen, const
      SCMCreateTopicReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10197,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10199,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10202,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10200,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10209,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10203,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10215,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10216,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10223,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10202,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10214,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10205,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10226,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10213,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10217,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SSchedulerHbReq*
    constantsTouched: []
    func_position:
      end: 10228
      start: 10188
    functionDepth: 0
    functionLinenumber: 10188
    functionLinenumberEnd: 10228
    functionName: tDeserializeSSchedulerHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeU16
    - taosArrayPush
    - tDecodeI8
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSSchedulerHbReq(void *buf, int32_t bufLen, SSchedulerHbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10533,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10534,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10534,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDeleteRsp*
    constantsTouched: []
    func_position:
      end: 10537
      start: 10532
    functionDepth: 0
    functionLinenumber: 10532
    functionLinenumberEnd: 10537
    functionName: tEncodeSVDeleteRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVDeleteRsp(SEncoder *pCoder, const SVDeleteRsp *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11398,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11398,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11399,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11399,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11400,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11400,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11401,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11401,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11402,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11402,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11403,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11405,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDropTbReq*
    constantsTouched: []
    func_position:
      end: 11407
      start: 11397
    functionDepth: 0
    functionLinenumber: 11397
    functionLinenumberEnd: 11407
    functionName: tEncodeSVDropTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeU64
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSVDropTbReq(SEncoder *pCoder, const SVDropTbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2005,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2007,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2008,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2009,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2010,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2011,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2013,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2010,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2011,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2021,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAuditReq*
    constantsTouched: []
    func_position:
      end: 2023
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2023
    functionName: tSerializeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAuditReq(void *buf, int32_t bufLen, SAuditReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5634,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5633,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5634,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5633,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5635,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVTrimDbReq*
    constantsTouched: []
    func_position:
      end: 5645
      start: 5626
    functionDepth: 0
    functionLinenumber: 5626
    functionLinenumberEnd: 5645
    functionName: tSerializeSVTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVTrimDbReq(void *buf, int32_t bufLen, SVTrimDbReq
      *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6952,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6956,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6961,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6976,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6978,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6953,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6955,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6957,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6967,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6969,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6974,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6984,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6950,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6952,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6954,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6961,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6965,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6956,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6972,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6978,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6953,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6955,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6957,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateTopicReq*
    constantsTouched: []
    func_position:
      end: 6986
      start: 6944
    functionDepth: 0
    functionLinenumber: 6944
    functionLinenumberEnd: 6986
    functionName: tDeserializeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCMCreateTopicReq(void *buf, int32_t bufLen, SCMCreateTopicReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SSchedulerHbReq*
    constantsTouched: []
    func_position:
      end: 10230
      start: 10230
    functionDepth: 0
    functionLinenumber: 10230
    functionLinenumberEnd: 10230
    functionName: tFreeSSchedulerHbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSSchedulerHbReq(SSchedulerHbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10540,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10542,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10541,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10541,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVDeleteRsp*
    constantsTouched: []
    func_position:
      end: 10544
      start: 10539
    functionDepth: 0
    functionLinenumber: 10539
    functionLinenumberEnd: 10544
    functionName: tDecodeSVDeleteRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVDeleteRsp(SDecoder *pCoder, SVDeleteRsp *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11390,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 11394
      start: 11382
    functionDepth: 0
    functionLinenumber: 11382
    functionLinenumberEnd: 11394
    functionName: tFreeSVCreateTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVCreateTbRsp(void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4946,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4945,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4946,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4945,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4948,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerVerRsp*
    constantsTouched: []
    func_position:
      end: 4952
      start: 4939
    functionDepth: 0
    functionLinenumber: 4939
    functionLinenumberEnd: 4952
    functionName: tDeserializeSServerVerRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSServerVerRsp(void *buf, int32_t bufLen, SServerVerRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6626,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6626,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6627,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6629,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 6633
      start: 6619
    functionDepth: 0
    functionLinenumber: 6619
    functionLinenumberEnd: 6633
    functionName: tDeserializeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSTableMetaRsp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableMetaRsp(void *buf, int32_t bufLen, STableMetaRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10842,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10845,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10844,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10846,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10846,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10848,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10850,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10858,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStreamReq*
    constantsTouched: []
    func_position:
      end: 10860
      start: 10837
    functionDepth: 0
    functionLinenumber: 10837
    functionLinenumberEnd: 10860
    functionName: tSerializeSMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropStreamReq(void *buf, int32_t bufLen, const
      SMDropStreamReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12404,1
    - Dst: tEncodeMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12405,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12405,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12408,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12410,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12416
      start: 12400
    functionDepth: 0
    functionLinenumber: 12400
    functionLinenumberEnd: 12416
    functionName: tEncodeSTaosxRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeBinary
    - taosArrayGet
    - tEncodeI32
    - tEncodeMqDataRspCommon
    - TAOS_CHECK_EXIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSTaosxRsp(SEncoder *pEncoder, const SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13679,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13680,1
    - Dst: tDecodeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13680,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13682,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 13687
      start: 13672
    functionDepth: 0
    functionLinenumber: 13672
    functionLinenumberEnd: 13687
    functionName: tDeserializeTableTSMAInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeTableTSMAInfoRsp
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeTableTSMAInfoRsp(void *buf, int32_t bufLen, STableTSMAInfoRsp
      *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6642,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6658,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6675,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6678,1
    - Dst: tDeserializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6689,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6694,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6680,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6699,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6686,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6645,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6653,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6667,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6672,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6682,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6695,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6642,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6648,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6656,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6657,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6673,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6678,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6653,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6654,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6674,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6676,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6688,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SSTbHbRsp*
    constantsTouched: []
    func_position:
      end: 6704
      start: 6635
    functionDepth: 0
    functionLinenumber: 6635
    functionLinenumberEnd: 6704
    functionName: tDeserializeSSTbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - taosMemoryFree
    - tDecodeCStrTo
    - tDeserializeSTableIndexInfo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSTableMetaRsp
    - taosArrayPush
    - taosArrayDestroyEx
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSSTbHbRsp(void *buf, int32_t bufLen, SSTbHbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4959,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4962,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4961,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4961,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4963,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4963,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4966,1
    - Dst: tEncodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4966,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4968,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4976,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQnodeListRsp*
    constantsTouched: []
    func_position:
      end: 4978
      start: 4954
    functionDepth: 0
    functionLinenumber: 4954
    functionLinenumberEnd: 4978
    functionName: tSerializeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - taosArrayGetSize
    - tEncodeSQueryNodeLoad
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSQnodeListRsp(void *buf, int32_t bufLen, SQnodeListRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10866,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10869,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10868,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10869,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10870,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10870,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10872,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10874,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStreamReq*
    constantsTouched: []
    func_position:
      end: 10879
      start: 10862
    functionDepth: 0
    functionLinenumber: 10862
    functionLinenumberEnd: 10879
    functionName: tDeserializeSMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropStreamReq(void *buf, int32_t bufLen, SMDropStreamReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12423,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12423,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12425,1
    - Dst: tDecodeMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12428,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12429,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12434,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12434,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12436,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12439,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12437,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12440,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12446
      start: 12418
    functionDepth: 0
    functionLinenumber: 12418
    functionLinenumberEnd: 12446
    functionName: tDecodeSTaosxRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tDecodeMqDataRspCommon
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSTaosxRsp(SDecoder *pDecoder, SMqDataRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13692,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13694,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13695,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 13697
      start: 13689
    functionDepth: 0
    functionLinenumber: 13689
    functionLinenumberEnd: 13697
    functionName: tFreeTableTSMAInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeTableTSMAInfo(void *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3382,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3383,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3385,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3385,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3387,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3388,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3398
      start: 3375
    functionDepth: 0
    functionLinenumber: 3375
    functionLinenumberEnd: 3398
    functionName: tSerializeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCreateAnodeReq(void *buf, int32_t bufLen, SMCreateAnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5162,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5164,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5166,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5166,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5167,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCompactDbRsp*
    constantsTouched: []
    func_position:
      end: 5177
      start: 5157
    functionDepth: 0
    functionLinenumber: 5157
    functionLinenumberEnd: 5177
    functionName: tSerializeSCompactDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCompactDbRsp(void *buf, int32_t bufLen, SCompactDbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7641,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7645,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7653,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7644,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7646,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7649,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7652,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7655,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7643,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7645,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7653,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7650,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7649,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7652,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactVnodeReq*
    constantsTouched: []
    func_position:
      end: 7665
      start: 7636
    functionDepth: 0
    functionLinenumber: 7636
    functionLinenumberEnd: 7665
    functionName: tSerializeSCompactVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8278,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8280,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8282,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8282,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8283,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMergeVgroupReq*
    constantsTouched: []
    func_position:
      end: 8288
      start: 8274
    functionDepth: 0
    functionLinenumber: 8274
    functionLinenumberEnd: 8288
    functionName: tDeserializeSMergeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMergeVgroupReq(void *buf, int32_t bufLen, SMergeVgroupReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8661,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8660,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8662,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8663,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8664,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8665,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8664,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8675,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8665,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncRsp*
    constantsTouched: []
    func_position:
      end: 8677
      start: 8653
    functionDepth: 0
    functionLinenumber: 8653
    functionLinenumberEnd: 8677
    functionName: tSerializeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8970,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8969,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8970,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8969,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8971,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8971,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8973,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8981,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerStatusRsp*
    constantsTouched: []
    func_position:
      end: 8983
      start: 8962
    functionDepth: 0
    functionLinenumber: 8962
    functionLinenumberEnd: 8983
    functionName: tSerializeSServerStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3407,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3408,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3407,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3410,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3410,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3413,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3414,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3419
      start: 3400
    functionDepth: 0
    functionLinenumber: 3400
    functionLinenumberEnd: 3419
    functionName: tDeserializeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tDecodeBinaryAlloc
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCreateAnodeReq(void *buf, int32_t bufLen, SMCreateAnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5185,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5186,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5187,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5187,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5188,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SCompactDbRsp*
    constantsTouched: []
    func_position:
      end: 5193
      start: 5179
    functionDepth: 0
    functionLinenumber: 5179
    functionLinenumberEnd: 5193
    functionName: tDeserializeSCompactDbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCompactDbRsp(void *buf, int32_t bufLen, SCompactDbRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7676,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7692,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7673,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7675,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7679,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7688,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7684,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7674,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7683,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7691,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7692,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7697,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7675,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7687,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7688,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCompactVnodeReq*
    constantsTouched: []
    func_position:
      end: 7701
      start: 7667
    functionDepth: 0
    functionLinenumber: 7667
    functionLinenumberEnd: 7701
    functionName: tDeserializeSCompactVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCompactVnodeReq(void *buf, int32_t bufLen, SCompactVnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8295,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8297,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8299,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8301,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8303,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8311,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8301,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRedistributeVgroupReq*
    constantsTouched: []
    func_position:
      end: 8313
      start: 8290
    functionDepth: 0
    functionLinenumber: 8290
    functionLinenumberEnd: 8313
    functionName: tSerializeSRedistributeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSRedistributeVgroupReq(void *buf, int32_t bufLen,
      SRedistributeVgroupReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8698,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8689,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8691,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8697,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8698,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8701,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8704,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8683,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8687,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8689,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8693,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8694,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8695,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8699,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncRsp*
    constantsTouched: []
    func_position:
      end: 8706
      start: 8679
    functionDepth: 0
    functionLinenumber: 8679
    functionLinenumberEnd: 8706
    functionName: tDeserializeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbCheckSyncRsp(void *buf, int32_t bufLen, SVArbCheckSyncRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8989,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8992,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8991,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8993,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8993,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8995,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8997,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SServerStatusRsp*
    constantsTouched: []
    func_position:
      end: 8999
      start: 8985
    functionDepth: 0
    functionLinenumber: 8985
    functionLinenumberEnd: 8999
    functionName: tDeserializeSServerStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSServerStatusRsp(void *buf, int32_t bufLen, SServerStatusRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11078,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11071,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11076,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11080,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11086,1
    - Dst: tEncodeSExtSchemas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11087,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11089,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11068,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11071,1
    - Dst: tEncodeSRSmaParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11073,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11082,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11087,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11091,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11065,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11076,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11078,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11080,1
    - Dst: tEncodeSColCmprWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11086,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11089,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11067,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11065,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11084,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11091,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 11096
      start: 11061
    functionDepth: 0
    functionLinenumber: 11061
    functionLinenumberEnd: 11096
    functionName: tEncodeSVCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - tEncodeSRSmaParam
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeSColCmprWrapper
    - tEncodeSExtSchemas
    linkageType: ''
    returnType: int
    signature: 'int tEncodeSVCreateStbReq(SEncoder *pCoder, const SVCreateStbReq *pReq) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11661,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11736,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11700,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11743,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11747,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11734,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11666,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11674,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11715,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11748,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11713,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11662,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11680,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11684,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11729,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11675,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11730,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11737,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11695,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11665,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11668,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11731,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11723,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11735,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11679,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11683,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11687,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11746,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11702,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11740,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11747,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11660,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11685,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11706,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11704,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11729,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11719,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11666,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11674,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11702,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11692,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11748,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11667,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11671,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11749,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11685,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11687,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11730,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11745,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11731,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11679,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11692,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11743,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11699,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11704,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11713,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11684,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11701,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11728,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 113
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 11756
      start: 11656
    functionDepth: 0
    functionLinenumber: 11656
    functionLinenumberEnd: 11756
    functionName: tDecodeSVAlterTbReqCommon
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeI32v
    - tDecodeBinary
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - taosArrayPush
    - tDecodeI8
    - tDecodeCStr
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSVAlterTbReqCommon(SDecoder *pDecoder, SVAlterTbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13904,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13905,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13905,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13904,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13907,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13907,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13908,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13910,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13918,1
    - Dst: tDecodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13917,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13910,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13911,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13917,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SMDropTbReqsOnSingleVg*
    constantsTouched: []
    func_position:
      end: 13925
      start: 13900
    functionDepth: 0
    functionLinenumber: 13900
    functionLinenumberEnd: 13925
    functionName: tDecodeSMDropTbReqOnSingleVg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - taosArrayPush
    - tDecodeSVDropTbReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSMDropTbReqOnSingleVg(SDecoder *pDecoder, SMDropTbReqsOnSingleVg
      *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11115,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11108,1
    - Dst: tDecodeSColCmprWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11127,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11129,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11138,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11102,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11107,1
    - Dst: tDecodeSRSmaParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11108,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11118,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11124,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11126,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11137,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11140,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11104,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11105,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11110,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11115,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11121,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11106,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11113,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11120,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11131,1
    - Dst: tDecodeSExtSchemas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11133,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11138,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11133,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 11144
      start: 11098
    functionDepth: 0
    functionLinenumber: 11098
    functionLinenumberEnd: 11144
    functionName: tDecodeSVCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeSRSmaParam
    - tDecodeI32
    - tDecodeSExtSchemas
    - tDecodeBinary
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeSSchemaWrapperEx
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeSColCmprWrapperEx
    - tDecodeCStr
    linkageType: ''
    returnType: int
    signature: 'int tDecodeSVCreateStbReq(SDecoder *pCoder, SVCreateStbReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11762,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11762,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11763,1
    - Dst: tDecodeSVAlterTbReqCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11767,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11767,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11770,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11770,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11773,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11774,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 11781
      start: 11758
    functionDepth: 0
    functionLinenumber: 11758
    functionLinenumberEnd: 11781
    functionName: tDecodeSVAlterTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeSVAlterTbReqCommon
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVAlterTbReq(SDecoder *pDecoder, SVAlterTbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 13930
      start: 13927
    functionDepth: 0
    functionLinenumber: 13927
    functionLinenumberEnd: 13930
    functionName: tFreeSMDropTbReqOnSingleVg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMDropTbReqOnSingleVg(void *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14088,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14093,1
    - Dst: TD_CODER_REMAIN_CAPACITY
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14092,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14095,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14097,1
    - Dst: TD_CODER_CURRENT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqBatchMetaRsp*
    constantsTouched: []
    func_position:
      end: 14101
      start: 14084
    functionDepth: 0
    functionLinenumber: 14084
    functionLinenumberEnd: 14101
    functionName: tSemiDecodeMqBatchMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - memcpy
    - TD_CODER_CURRENT
    - TD_CODER_REMAIN_CAPACITY
    - tDecodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSemiDecodeMqBatchMetaRsp(SDecoder *pDecoder, SMqBatchMetaRsp
      *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2507,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2509,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2511,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2515,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2531,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2532,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2534,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2537,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2542,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2526,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2545,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2539,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2512,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2514,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2510,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2512,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2517,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2522,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2525,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2540,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2509,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2511,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2513,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2534,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2536,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2537,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2540,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2506,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2517,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2519,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2528,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 61
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterUserReq*
    constantsTouched: []
    func_position:
      end: 2547
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2547
    functionName: tDeserializeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU8
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeBinaryAlloc
    - tDecodeU32
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAlterUserReq(void *buf, int32_t bufLen, SAlterUserReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3504,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3506,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3508,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3508,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3509,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3510,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3513,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDnodeReq*
    constantsTouched: []
    func_position:
      end: 3515
      start: 3500
    functionDepth: 0
    functionLinenumber: 3500
    functionLinenumberEnd: 3515
    functionName: tDeserializeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateDnodeReq(void *buf, int32_t bufLen, SCreateDnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4505,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4506,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4507,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4508,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4509,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4510,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4511,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4519,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4510,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUseDbReq*
    constantsTouched: []
    func_position:
      end: 4521
      start: 4498
    functionDepth: 0
    functionLinenumber: 4498
    functionLinenumberEnd: 4521
    functionName: tSerializeSUseDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUseDbReq(void *buf, int32_t bufLen, SUseDbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5577,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5580,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5579,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5581,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDbCfgReq*
    constantsTouched: []
    func_position:
      end: 5586
      start: 5573
    functionDepth: 0
    functionLinenumber: 5573
    functionLinenumberEnd: 5586
    functionName: tDeserializeSDbCfgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDbCfgReq(void *buf, int32_t bufLen, SDbCfgReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8487,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8489,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8495,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8504,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8490,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8494,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8505,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8505,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8489,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8495,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8504,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8511,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8490,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8492,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8498,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8507,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbHeartBeatReq*
    constantsTouched: []
    func_position:
      end: 8516
      start: 8483
    functionDepth: 0
    functionLinenumber: 8483
    functionLinenumberEnd: 8516
    functionName: tDeserializeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbHeartBeatReq(void *buf, int32_t bufLen, SVArbHeartBeatReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12483,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12485,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12485,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12487,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12488,1
    - Dst: tEncodeSSingleDeleteReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12488,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12490,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12490,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12491,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12491,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SBatchDeleteReq*
    constantsTouched: []
    func_position:
      end: 12494
      start: 12479
    functionDepth: 0
    functionLinenumber: 12479
    functionLinenumberEnd: 12494
    functionName: tEncodeSBatchDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEncodeI64
    - taosArrayGetSize
    - tEncodeSSingleDeleteReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSBatchDeleteReq(SEncoder *pEncoder, const SBatchDeleteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2550,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2552,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2551,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAlterUserReq*
    constantsTouched: []
    func_position:
      end: 2553
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2553
    functionName: tFreeSAlterUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryFreeClear
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSAlterUserReq(SAlterUserReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateDnodeReq*
    constantsTouched: []
    func_position:
      end: 3517
      start: 3517
    functionDepth: 0
    functionLinenumber: 3517
    functionLinenumberEnd: 3517
    functionName: tFreeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCreateDnodeReq(SCreateDnodeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4527,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4529,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4530,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4531,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4532,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4533,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4534,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4535,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4534,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUseDbReq*
    constantsTouched: []
    func_position:
      end: 4540
      start: 4523
    functionDepth: 0
    functionLinenumber: 4523
    functionLinenumberEnd: 4540
    functionName: tDeserializeSUseDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUseDbReq(void *buf, int32_t bufLen, SUseDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5595,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5596,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5597,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5597,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5598,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5606,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STrimDbReq*
    constantsTouched: []
    func_position:
      end: 5608
      start: 5588
    functionDepth: 0
    functionLinenumber: 5588
    functionLinenumberEnd: 5608
    functionName: tSerializeSTrimDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTrimDbReq(void *buf, int32_t bufLen, STrimDbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8520,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVArbHeartBeatReq*
    constantsTouched: []
    func_position:
      end: 8522
      start: 8518
    functionDepth: 0
    functionLinenumber: 8518
    functionLinenumberEnd: 8522
    functionName: tFreeSVArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbHeartBeatReq(SVArbHeartBeatReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12500,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12503,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12500,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12502,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12502,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12509,1
    - Dst: tDecodeSSingleDeleteReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12509,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12511,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SBatchDeleteReq*
    constantsTouched: []
    func_position:
      end: 12516
      start: 12496
    functionDepth: 0
    functionLinenumber: 12496
    functionLinenumberEnd: 12516
    functionName: tDecodeSBatchDeleteReqCommon
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSSingleDeleteReq
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeI64
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSBatchDeleteReqCommon(SDecoder *pDecoder, SBatchDeleteReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3340,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3342,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3342,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3343,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3344,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3345,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3345,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3346,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3354,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 3356
      start: 3335
    functionDepth: 0
    functionLinenumber: 3335
    functionLinenumberEnd: 3356
    functionName: tSerializeSDCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDCfgDnodeReq(void *buf, int32_t bufLen, SDCfgDnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8712,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8714,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8713,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbCheckSyncRsp*
    constantsTouched: []
    func_position:
      end: 8715
      start: 8708
    functionDepth: 0
    functionLinenumber: 8708
    functionLinenumberEnd: 8715
    functionName: tFreeSVArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbCheckSyncRsp(SVArbCheckSyncRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8746,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8748,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8749,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8748,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8752,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8753,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8753,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8759,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8755,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8759,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8765,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8758,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderReq*
    constantsTouched: []
    func_position:
      end: 8767
      start: 8742
    functionDepth: 0
    functionLinenumber: 8742
    functionLinenumberEnd: 8767
    functionName: tDeserializeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12128,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12130,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12129,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12130,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12131,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12133,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12135,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12140,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12141,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12128,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12138,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12134,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12143,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12129,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12131,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12133,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12135,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12140,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12141,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12134,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SMqRebVgReq*
    constantsTouched: []
    func_position:
      end: 12145
      start: 12127
    functionDepth: 0
    functionLinenumber: 12127
    functionLinenumberEnd: 12145
    functionName: tEncodeSMqRebVgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMqRebVgReq(SEncoder *pCoder, const SMqRebVgReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13742,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 13744
      start: 13740
    functionDepth: 0
    functionLinenumber: 13740
    functionLinenumberEnd: 13744
    functionName: tFreeTableTSMAInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: 'void tFreeTableTSMAInfoRsp(STableTSMAInfoRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13766,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13766,1
    - Dst: tEncodeStreamProgressReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13767,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13769,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13777,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStreamProgressReq*
    constantsTouched: []
    func_position:
      end: 13779
      start: 13759
    functionDepth: 0
    functionLinenumber: 13759
    functionLinenumberEnd: 13779
    functionName: tSerializeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeStreamProgressReq
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeStreamProgressReq(void *buf, int32_t bufLen, const
      SStreamProgressReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3362,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3365,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3364,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3366,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3367,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3367,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3368,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 3373
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3373
    functionName: tDeserializeSDCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDCfgDnodeReq(void *buf, int32_t bufLen, SDCfgDnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8724,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8724,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8726,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8727,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8727,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8728,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8738,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8730,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbSetAssignedLeaderReq*
    constantsTouched: []
    func_position:
      end: 8740
      start: 8717
    functionDepth: 0
    functionLinenumber: 8717
    functionLinenumberEnd: 8740
    functionName: tSerializeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVArbSetAssignedLeaderReq(void *buf, int32_t bufLen,
      SVArbSetAssignedLeaderReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8773,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SVArbSetAssignedLeaderReq*
    constantsTouched: []
    func_position:
      end: 8775
      start: 8769
    functionDepth: 0
    functionLinenumber: 8769
    functionLinenumberEnd: 8775
    functionName: tFreeSVArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbSetAssignedLeaderReq(SVArbSetAssignedLeaderReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12151,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12160,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12159,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12171,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12153,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12155,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12158,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12165,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12156,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12155,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12160,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12163,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SMqRebVgReq*
    constantsTouched: []
    func_position:
      end: 12174
      start: 12147
    functionDepth: 0
    functionLinenumber: 12147
    functionLinenumberEnd: 12174
    functionName: tDecodeSMqRebVgReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSMqRebVgReq(SDecoder *pCoder, SMqRebVgReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13751,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13750,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13752,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13751,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13753,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SStreamProgressReq*
    constantsTouched: []
    func_position:
      end: 13757
      start: 13746
    functionDepth: 0
    functionLinenumber: 13746
    functionLinenumberEnd: 13757
    functionName: tEncodeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tEncodeI32
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeStreamProgressReq(SEncoder *pEncoder, const
      SStreamProgressReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13786,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13785,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13787,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13786,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13788,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13788,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pDecoder
    - pReq
    argTypes:
    - SDecoder*
    - SStreamProgressReq*
    constantsTouched: []
    func_position:
      end: 13792
      start: 13781
    functionDepth: 0
    functionLinenumber: 13781
    functionLinenumberEnd: 13792
    functionName: tDecodeStreamProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeStreamProgressReq(SDecoder *pDecoder, SStreamProgressReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2177,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2187,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2188,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2196,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2197,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2179,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2180,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2189,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2201,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2188,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2191,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2197,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2180,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2183,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    constantsTouched: []
    func_position:
      end: 2206
      start: 2171
    functionDepth: 0
    functionLinenumber: 2171
    functionLinenumberEnd: 2206
    functionName: tDeserializeSUpdateIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUpdateIpWhite(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5767,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5770,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5769,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5770,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5769,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5774,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5775,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5776,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5781,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5787,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5779,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5788,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5787,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5796,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5789,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDropTtlTableReq*
    constantsTouched: []
    func_position:
      end: 5798
      start: 5763
    functionDepth: 0
    functionLinenumber: 5763
    functionLinenumberEnd: 5798
    functionName: tDeserializeSVDropTtlTableReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVDropTtlTableReq(void *buf, int32_t bufLen, SVDropTtlTableReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5860,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5862,1
    - Dst: tSerializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5863,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5862,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5864,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbCfgRsp*
    constantsTouched: []
    func_position:
      end: 5874
      start: 5855
    functionDepth: 0
    functionLinenumber: 5855
    functionLinenumberEnd: 5874
    functionName: tSerializeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tSerializeSDbCfgRspImpl
    - tEncoderInit
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDbCfgRsp(void *buf, int32_t bufLen, const SDbCfgRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14008,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14010,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14010,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14012,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14014,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14018,1
    - Dst: tDecodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14018,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14020,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVFetchTtlExpiredTbsRsp*
    constantsTouched: []
    func_position:
      end: 14026
      start: 14004
    functionDepth: 0
    functionLinenumber: 14004
    functionLinenumberEnd: 14026
    functionName: tDecodeVFetchTtlExpiredTbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeSVDropTbReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeVFetchTtlExpiredTbsRsp(SDecoder *pCoder, SVFetchTtlExpiredTbsRsp
      *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SUpdateIpWhite*
    constantsTouched: []
    func_position:
      end: 2218
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2218
    functionName: tFreeSUpdateIpWhiteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSUpdateIpWhiteReq(SUpdateIpWhite *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5802,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5809,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5811,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5829,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5827,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5848,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5850,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5841,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5804,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5820,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5822,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5839,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5843,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5825,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5827,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5807,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5809,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5829,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5846,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5848,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5818,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5835,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5820,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5839,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5807,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5823,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5825,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5832,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5842,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5844,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5846,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5814,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5816,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5818,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5834,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5835,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5821,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5803,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5805,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5823,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5840,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5844,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5812,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5814,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5816,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5803,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5819,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5821,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5836,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5840,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5838,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5842,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5830,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5810,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5812,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5828,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5849,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5838,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5815,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5817,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5819,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5836,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5830,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5801,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5808,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5810,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5826,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5847,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5849,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5817,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5834,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5833,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5824,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5801,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5808,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5806,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5826,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5828,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5845,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5847,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5811,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5813,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5850,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5822,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5824,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5833,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5841,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5802,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5804,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5806,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5815,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5843,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 98
    argCount: 2
    argNames:
    - encoder
    - pRsp
    argTypes:
    - SEncoder*
    - SDbCfgRsp*
    constantsTouched: []
    func_position:
      end: 5853
      start: 5800
    functionDepth: 0
    functionLinenumber: 5800
    functionLinenumberEnd: 5853
    functionName: tSerializeSDbCfgRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeI16
    - tEncodeI32v
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDbCfgRspImpl(SEncoder *encoder, const SDbCfgRsp
      *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5881,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5887,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5902,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5931,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5897,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5904,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5950,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5896,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5890,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5910,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5932,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5949,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5920,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5898,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5925,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5879,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5877,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5885,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5892,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5935,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5945,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5878,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5883,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5884,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5891,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5897,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5934,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5950,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5877,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5880,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5886,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5901,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5927,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5936,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5953,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5926,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5879,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5885,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5900,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5917,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5906,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5935,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5944,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5952,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5902,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5924,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5889,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5895,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5882,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5888,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5901,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5925,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5927,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5953,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5890,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5896,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5933,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5945,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5904,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5924,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5889,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5894,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5895,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5899,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5916,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5878,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5884,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5893,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5951,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5892,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5898,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5905,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5933,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5881,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5883,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5887,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5921,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5906,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5917,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5900,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5952,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5899,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5916,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5880,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5886,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5893,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5936,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5951,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5903,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5894,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5908,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5882,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5888,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5932,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 135
    argCount: 2
    argNames:
    - decoder
    - pRsp
    argTypes:
    - SDecoder*
    - SDbCfgRsp*
    constantsTouched: []
    func_position:
      end: 5962
      start: 5876
    functionDepth: 0
    functionLinenumber: 5876
    functionLinenumberEnd: 5962
    functionName: tDeserializeSDbCfgRspImpl
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeI32v
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDbCfgRspImpl(SDecoder *decoder, SDbCfgRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:14030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 14031
      start: 14028
    functionDepth: 0
    functionLinenumber: 14028
    functionLinenumberEnd: 14031
    functionName: tFreeFetchTtlExpiredTbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeFetchTtlExpiredTbsRsp(void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13433,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13430,1
    - Dst: tFreeSViewMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SViewHbRsp*
    constantsTouched: []
    func_position:
      end: 13434
      start: 13425
    functionDepth: 0
    functionLinenumber: 13425
    functionLinenumberEnd: 13434
    functionName: tFreeSViewHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - taosArrayDestroy
    - tFreeSViewMetaRsp
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void tFreeSViewHbRsp(SViewHbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3257,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3256,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3258,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3258,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3259,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3260,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRestoreDnodeReq*
    constantsTouched: []
    func_position:
      end: 3270
      start: 3249
    functionDepth: 0
    functionLinenumber: 3249
    functionLinenumberEnd: 3270
    functionName: tSerializeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSRestoreDnodeReq(void *buf, int32_t bufLen, SRestoreDnodeReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3725,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3727,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3735,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3756,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3759,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3722,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3728,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3734,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3736,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3738,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3740,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3743,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3750,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3725,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3733,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3735,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3739,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3741,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3751,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3754,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3756,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3755,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3767,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3738,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3736,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3740,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3743,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3755,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncRsp*
    constantsTouched: []
    func_position:
      end: 3769
      start: 3717
    functionDepth: 0
    functionLinenumber: 3717
    functionLinenumberEnd: 3769
    functionName: tSerializeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSRetrieveFuncRsp(void *buf, int32_t bufLen, SRetrieveFuncRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3279,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3278,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3280,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3280,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3281,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3282,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3285,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRestoreDnodeReq*
    constantsTouched: []
    func_position:
      end: 3287
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3287
    functionName: tDeserializeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSRestoreDnodeReq(void *buf, int32_t bufLen, SRestoreDnodeReq
      *pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3777,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3787,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3789,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3793,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3799,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3812,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3840,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3830,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3778,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3790,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3792,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3794,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3797,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3806,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3808,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3824,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3787,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3791,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3801,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3804,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3811,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3823,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3830,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3778,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3792,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3790,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3794,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3808,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3831,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3832,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3816,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncRsp*
    constantsTouched: []
    func_position:
      end: 3842
      start: 3771
    functionDepth: 0
    functionLinenumber: 3771
    functionLinenumberEnd: 3842
    functionName: tDeserializeSRetrieveFuncRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSRetrieveFuncRsp(void *buf, int32_t bufLen, SRetrieveFuncRsp
      *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7347,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7357,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7359,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7372,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7397,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7388,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7409,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7426,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7384,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7371,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7381,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7340,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7342,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7344,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7352,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7362,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7394,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7341,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7343,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7353,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7363,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7365,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7395,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7348,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7358,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7360,1
    - Dst: tDecodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7398,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7400,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7405,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7399,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7417,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7379,1
    - Dst: tDecodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7369,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7425,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7351,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7361,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7380,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7383,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7364,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7344,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7346,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7354,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7356,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7394,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7396,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7424,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7425,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7413,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7374,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7345,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7355,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7365,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7395,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7397,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7426,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7400,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7413,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7371,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7416,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7417,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7433,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7427,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7338,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7340,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7342,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7350,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7369,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7360,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7390,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7379,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7362,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7430,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7393,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7380,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7341,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7343,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7351,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7353,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7382,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7361,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7363,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7346,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7356,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7396,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7398,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7405,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7427,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7381,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 145
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateVnodeReq*
    constantsTouched: []
    func_position:
      end: 7435
      start: 7333
    functionDepth: 0
    functionLinenumber: 7333
    functionLinenumberEnd: 7435
    functionName: tDeserializeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeBinary
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeSReplica
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq
      *pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1564,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1615,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1616,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1651,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1579,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1599,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1607,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1597,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1678,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1598,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1566,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1570,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1618,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1623,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1624,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1659,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1584,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1558,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1559,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1576,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1595,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1605,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1560,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1587,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1604,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1596,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1606,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1626,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1627,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1565,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1578,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1608,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1629,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1616,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1617,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1621,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1622,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1640,1
    - Dst: tDeserializeSMonitorParas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1663,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1599,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1601,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1567,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1659,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1566,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1570,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1573,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1619,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1561,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1563,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1614,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1634,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1654,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1655,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1655,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1669,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1606,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1562,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1564,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1615,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1627,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1628,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1633,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1649,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1578,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1597,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1607,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1639,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1648,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1668,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1651,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1585,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1617,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1618,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1622,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1663,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1650,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1649,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1681,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1584,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1603,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1558,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1569,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1574,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1575,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1576,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1577,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1648,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1555,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1560,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1602,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1594,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1625,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1626,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1563,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1609,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1614,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1634,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1644,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1666,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1601,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 181
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatusReq*
    constantsTouched: []
    func_position:
      end: 1683
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1683
    functionName: tDeserializeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDeserializeSMonitorParas
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeI32v
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeFloat
    - tDecodeU32
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSStatusReq(void *buf, int32_t bufLen, SStatusReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3527,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3529,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3531,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3533,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3535,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3538,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3550,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3526,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3528,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3532,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3530,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3545,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3547,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3552,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3527,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3531,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3533,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3538,1
    - Dst: strlen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3543,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3550,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3560,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3526,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3530,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3534,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateFuncReq*
    constantsTouched: []
    func_position:
      end: 3562
      start: 3519
    functionDepth: 0
    functionLinenumber: 3519
    functionLinenumberEnd: 3562
    functionName: tSerializeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - strlen
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateFuncReq(void *buf, int32_t bufLen, SCreateFuncReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5968,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5970,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5971,1
    - Dst: tDeserializeSDbCfgRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5971,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5970,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5972,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5975,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDbCfgRsp*
    constantsTouched: []
    func_position:
      end: 5977
      start: 5964
    functionDepth: 0
    functionLinenumber: 5964
    functionLinenumberEnd: 5977
    functionName: tDeserializeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDeserializeSDbCfgRspImpl
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDbCfgRsp(void *buf, int32_t bufLen, SDbCfgRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateVnodeReq*
    constantsTouched: []
    func_position:
      end: 7441
      start: 7437
    functionDepth: 0
    functionLinenumber: 7437
    functionLinenumberEnd: 7441
    functionName: tFreeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tFreeSCreateVnodeReq(SCreateVnodeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SStatusReq*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1685
    functionName: tFreeSStatusReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSStatusReq(SStatusReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3571,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3573,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3575,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3577,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3584,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3586,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3594,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3568,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3570,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3572,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3578,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3576,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3582,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3592,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3608,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3600,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3571,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3575,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3577,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3579,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3590,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3596,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3599,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3600,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3572,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3574,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3576,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3578,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3596,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3605,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateFuncReq*
    constantsTouched: []
    func_position:
      end: 3610
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3610
    functionName: tDeserializeSCreateFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateFuncReq(void *buf, int32_t bufLen, SCreateFuncReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDbCfgRsp*
    constantsTouched: []
    func_position:
      end: 5985
      start: 5979
    functionDepth: 0
    functionLinenumber: 5979
    functionLinenumberEnd: 5985
    functionName: tFreeSDbCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDbCfgRsp(SDbCfgRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SMStreamDropOrphanMsg*
    constantsTouched: []
    func_position:
      end: 7229
      start: 7223
    functionDepth: 0
    functionLinenumber: 7223
    functionLinenumberEnd: 7229
    functionName: tDestroyDropOrphanTaskMsg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroyDropOrphanTaskMsg(SMStreamDropOrphanMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2056,1
    - Dst: memcpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2058,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 1
    argNames:
    - pIpWhiteList
    argTypes:
    - SIpWhiteList*
    constantsTouched: []
    func_position:
      end: 2061
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2061
    functionName: cloneIpWhiteList
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: SIpWhiteList*
    signature: 'SIpWhiteList *cloneIpWhiteList(SIpWhiteList *pIpWhiteList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3049,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3051,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3051,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3052,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3053,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListReq*
    constantsTouched: []
    func_position:
      end: 3058
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3058
    functionName: tDeserializeSGetUserWhiteListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSGetUserWhiteListReq(void *buf, int32_t bufLen,
      SGetUserWhiteListReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10461,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10463,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10467,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10469,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10471,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10464,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10466,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10468,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10470,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10472,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10484,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10463,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10469,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10471,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10467,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10480,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10464,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10466,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10468,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10470,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDeleteReq*
    constantsTouched: []
    func_position:
      end: 10490
      start: 10451
    functionDepth: 0
    functionLinenumber: 10451
    functionLinenumberEnd: 10490
    functionName: tSerializeSVDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12108,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12108,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12109,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12111,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12109,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12111,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12114,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12118,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - STqCheckInfo*
    constantsTouched: []
    func_position:
      end: 12124
      start: 12107
    functionDepth: 0
    functionLinenumber: 12107
    functionLinenumberEnd: 12124
    functionName: tDecodeSTqCheckInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tDecodeI16
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tDecodeI64
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSTqCheckInfo(SDecoder *pDecoder, STqCheckInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12361,1
    - Dst: tDecodeMqDataRspCommon
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12361,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12363,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12363,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12367
      start: 12360
    functionDepth: 0
    functionLinenumber: 12360
    functionLinenumberEnd: 12367
    functionName: tDecodeMqDataRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI64
    - TAOS_CHECK_RETURN
    - tDecodeIsEnd
    - tDecodeMqDataRspCommon
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqDataRsp(SDecoder *pDecoder, SMqDataRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2071,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2073,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2075,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2077,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2080,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2084,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2070,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2074,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2079,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2076,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2083,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2085,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2073,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2077,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2080,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2082,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2084,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2087,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2070,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2072,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2076,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2079,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2083,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2085,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateUserReq*
    constantsTouched: []
    func_position:
      end: 2097
      start: 2063
    functionDepth: 0
    functionLinenumber: 2063
    functionLinenumberEnd: 2097
    functionName: tSerializeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateUserReq(void *buf, int32_t bufLen, SCreateUserReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3065,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3067,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3069,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3069,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3071,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3071,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3072,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3074,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3072,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3082,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SGetUserWhiteListRsp*
    constantsTouched: []
    func_position:
      end: 3084
      start: 3060
    functionDepth: 0
    functionLinenumber: 3060
    functionLinenumberEnd: 3084
    functionName: tSerializeSGetUserWhiteListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSGetUserWhiteListRsp(void *buf, int32_t bufLen,
      SGetUserWhiteListRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7232,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7232,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7234,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7233,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7233,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pReplica
    argTypes:
    - SEncoder*
    - SReplica*
    constantsTouched: []
    func_position:
      end: 7236
      start: 7231
    functionDepth: 0
    functionLinenumber: 7231
    functionLinenumberEnd: 7236
    functionName: tEncodeSReplica
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeU16
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSReplica(SEncoder *pEncoder, SReplica *pReplica) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10501,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10503,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10505,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10507,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10518,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10504,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10506,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10512,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10514,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10521,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10525,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10503,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10505,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10507,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10517,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10518,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10528,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10504,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10506,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10508,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10510,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10512,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10514,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10521,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVDeleteReq*
    constantsTouched: []
    func_position:
      end: 10530
      start: 10492
    functionDepth: 0
    functionLinenumber: 10492
    functionLinenumberEnd: 10530
    functionName: tDeserializeSVDeleteReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeU64
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - tStartDecode
    - tDecodeBinaryAlloc
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVDeleteReq(void *buf, int32_t bufLen, SVDeleteReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STqCheckInfo*
    constantsTouched: []
    func_position:
      end: 12125
      start: 12125
    functionDepth: 0
    functionLinenumber: 12125
    functionLinenumberEnd: 12125
    functionName: tDeleteSTqCheckInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSTqCheckInfo(STqCheckInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12374,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12374,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12373,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12375,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12378
      start: 12369
    functionDepth: 0
    functionLinenumber: 12369
    functionLinenumberEnd: 12378
    functionName: tDecodeMqRawDataRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_EXIT
    - tDecodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqRawDataRsp(SDecoder *pDecoder, SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5688,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5690,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5691,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5690,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5691,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5692,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SS3MigrateDbReq*
    constantsTouched: []
    func_position:
      end: 5697
      start: 5684
    functionDepth: 0
    functionLinenumber: 5684
    functionLinenumberEnd: 5697
    functionName: tDeserializeSS3MigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSS3MigrateDbReq(void *buf, int32_t bufLen, SS3MigrateDbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1075,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1074,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1075,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1077,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1079,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pEpset
    argTypes:
    - void*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1081
    functionName: tDeserializeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSEpSet(void *buf, int32_t bufLen, SEpSet *pEpset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2411,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2414,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2416,1
    - Dst: strntolower
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2428,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2430,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2409,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2419,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2422,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2391,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2410,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2411,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2414,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2416,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2436,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2409,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2401,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2422,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2420,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2419,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2430,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2433,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SRetrieveAnalyticAlgoRsp*
    constantsTouched: []
    func_position:
      end: 2438
      start: 2389
    functionDepth: 0
    functionLinenumber: 2389
    functionLinenumberEnd: 2438
    functionName: tDeserializeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - strntolower
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeBinaryAlloc
    - tEndDecode
    - tDecodeI64
    - taosHashPut
    - tDecoderClear
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeRetrieveAnalyticAlgoRsp(void *buf, int32_t bufLen,
      SRetrieveAnalyticAlgoRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12235,1
    - Dst: tEncodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12235,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12236,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12237,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12236,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SMqMetaRsp*
    constantsTouched: []
    func_position:
      end: 12239
      start: 12234
    functionDepth: 0
    functionLinenumber: 12234
    functionLinenumberEnd: 12239
    functionName: tEncodeMqMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tEncodeI16
    - tEncodeSTqOffsetVal
    - tEncodeBinary
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeMqMetaRsp(SEncoder *pEncoder, const SMqMetaRsp *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1088,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1090,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1092,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1098,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1100,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1102,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1122,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1129,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1122,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1139,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1091,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1095,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1097,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1099,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1101,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1105,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1114,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1125,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1127,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1126,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1090,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1092,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1094,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1096,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1098,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1100,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1102,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1104,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1106,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1111,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1121,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1129,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1093,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1097,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1095,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1099,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1101,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1103,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1108,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1119,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1126,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1130,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1122,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 79
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateSmaReq*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1141
    functionName: tSerializeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCreateSmaReq(void *buf, int32_t bufLen, SMCreateSmaReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2441,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2445,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRetrieveAnalyticAlgoRsp*
    constantsTouched: []
    func_position:
      end: 2450
      start: 2440
    functionDepth: 0
    functionLinenumber: 2440
    functionLinenumberEnd: 2450
    functionName: tFreeRetrieveAnalyticAlgoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tFreeRetrieveAnalyticAlgoRsp(SRetrieveAnalyticAlgoRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5704,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5706,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5706,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5707,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5708,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVS3MigrateDbReq*
    constantsTouched: []
    func_position:
      end: 5718
      start: 5699
    functionDepth: 0
    functionLinenumber: 5699
    functionLinenumberEnd: 5718
    functionName: tSerializeSVS3MigrateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVS3MigrateDbReq(void *buf, int32_t bufLen, SVS3MigrateDbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12242,1
    - Dst: tDecodeSTqOffsetVal
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12242,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12243,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12244,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12243,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SMqMetaRsp*
    constantsTouched: []
    func_position:
      end: 12246
      start: 12241
    functionDepth: 0
    functionLinenumber: 12241
    functionLinenumberEnd: 12246
    functionName: tDecodeMqMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tDecodeBinaryAlloc
    - tDecodeI16
    - tDecodeSTqOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeMqMetaRsp(SDecoder *pDecoder, SMqMetaRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:419,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:414,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:420,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:424,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:424,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:422,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:422,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:429,1
    - Dst: tEncodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:440,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:419,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:425,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:427,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:430,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:433,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:437,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:414,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:421,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:423,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:423,1
    - Dst: tEncodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:430,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:437,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:439,1
    - Dst: tEncodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:413,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:420,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:421,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:426,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:425,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:436,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - SClientHbRsp*
    constantsTouched: []
    func_position:
      end: 444
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 444
    functionName: tSerializeSClientHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSKv
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - tEncodeSEpSet
    - taosArrayGetSize
    - TAOS_CHECK_RETURN
    - tEncodeU32
    - tEncodeSClientHbKey
    - tEncodeSQueryNodeLoad
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tSerializeSClientHbRsp(SEncoder *pEncoder, const SClientHbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2562,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2562,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2563,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2563,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2564,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthReq*
    constantsTouched: []
    func_position:
      end: 2574
      start: 2555
    functionDepth: 0
    functionLinenumber: 2555
    functionLinenumberEnd: 2574
    functionName: tSerializeSGetUserAuthReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSGetUserAuthReq(void *buf, int32_t bufLen, SGetUserAuthReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4297,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4301,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4303,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4305,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4307,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4313,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4319,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4296,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4302,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4306,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4308,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4310,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4320,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4323,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4337,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4327,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4325,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4328,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4293,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4295,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4297,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4299,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4301,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4305,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4309,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4313,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4316,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4315,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4298,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4304,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4306,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4308,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4310,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4317,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4319,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4327,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4326,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4320,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4325,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4329,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4328,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 63
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterDbReq*
    constantsTouched: []
    func_position:
      end: 4339
      start: 4287
    functionDepth: 0
    functionLinenumber: 4287
    functionLinenumberEnd: 4339
    functionName: tSerializeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAlterDbReq(void *buf, int32_t bufLen, SAlterDbReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5461,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5467,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5470,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5462,1
    - Dst: tFreeSDbCfgRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5466,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5471,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pDbRsp
    argTypes:
    - SDbHbRsp*
    constantsTouched: []
    func_position:
      end: 5473
      start: 5455
    functionDepth: 0
    functionLinenumber: 5455
    functionLinenumberEnd: 5473
    functionName: tFreeSDbHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tFreeSUsedbRsp
    - taosMemoryFree
    - tFreeTableTSMAInfoRsp
    - tFreeSDbCfgRsp
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDbHbRsp(SDbHbRsp *pDbRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9733,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9743,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9741,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9753,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9758,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9738,1
    - Dst: tSerializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9739,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9741,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9743,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9730,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9731,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9734,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9739,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9738,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9749,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9757,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SResFetchReq*
    constantsTouched: []
    func_position:
      end: 9763
      start: 9720
    functionDepth: 0
    functionLinenumber: 9720
    functionLinenumberEnd: 9763
    functionName: tSerializeSResFetchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeU64
    - tSerializeSOperatorParam
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11349,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11351,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11351,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11352,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11349,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11352,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11354,1
    - Dst: tEncodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11354,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVCreateTbRsp*
    constantsTouched: []
    func_position:
      end: 11359
      start: 11348
    functionDepth: 0
    functionLinenumber: 11348
    functionLinenumberEnd: 11359
    functionName: tEncodeSVCreateTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    - tEndEncode
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeSTableMetaRsp
    linkageType: ''
    returnType: int
    signature: 'int tEncodeSVCreateTbRsp(SEncoder *pCoder, const SVCreateTbRsp *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:451,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:448,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:464,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:471,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:478,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:484,1
    - Dst: tDecodeSClientHbKey
      Src: /src/tdengine/source/common/src/msg/tmsg.c:447,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:451,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:453,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:457,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:458,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:459,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:461,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:462,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:460,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:464,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:477,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:447,1
    - Dst: tDecodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:470,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:477,1
    - Dst: tDecodeSKv
      Src: /src/tdengine/source/common/src/msg/tmsg.c:484,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:448,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:457,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:458,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:460,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:461,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:462,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:459,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:466,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:485,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SClientHbRsp*
    constantsTouched: []
    func_position:
      end: 489
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 489
    functionName: tDeserializeSClientHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecodeSQueryNodeLoad
    - taosMemoryCalloc
    - tDecodeSEpSet
    - tDecodeU32
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tDecodeI8
    - tDecodeSClientHbKey
    - taosArrayInit
    - tDecodeSKv
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDeserializeSClientHbRsp(SDecoder *pDecoder, SClientHbRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2580,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2582,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2583,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2582,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2583,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2584,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SGetUserAuthReq*
    constantsTouched: []
    func_position:
      end: 2589
      start: 2576
    functionDepth: 0
    functionLinenumber: 2576
    functionLinenumberEnd: 2589
    functionName: tDeserializeSGetUserAuthReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSGetUserAuthReq(void *buf, int32_t bufLen, SGetUserAuthReq
      *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4348,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4350,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4352,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4354,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4356,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4358,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4360,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4362,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4373,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4374,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4381,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4374,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4347,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4349,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4351,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4355,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4353,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4357,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4361,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4366,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4387,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4394,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4387,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4409,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4402,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4391,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4348,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4352,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4354,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4356,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4358,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4360,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4362,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4372,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4373,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4393,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4386,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4381,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4366,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4400,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4345,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4347,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4349,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4351,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4355,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4353,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4357,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4359,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4361,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4365,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4380,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4399,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4388,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4394,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4402,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 91
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterDbReq*
    constantsTouched: []
    func_position:
      end: 4414
      start: 4341
    functionDepth: 0
    functionLinenumber: 4341
    functionLinenumberEnd: 4414
    functionName: tDeserializeSAlterDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - tDecodeI32v
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAlterDbReq(void *buf, int32_t bufLen, SAlterDbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5476,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5482,1
    - Dst: tFreeSDbHbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SDbHbBatchRsp*
    constantsTouched: []
    func_position:
      end: 5483
      start: 5475
    functionDepth: 0
    functionLinenumber: 5475
    functionLinenumberEnd: 5483
    functionName: tFreeSDbHbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tFreeSDbHbRsp
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDbHbBatchRsp(SDbHbBatchRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9777,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9780,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9782,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9787,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9779,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9781,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9785,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9793,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9794,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9782,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9779,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9781,1
    - Dst: tDeserializeSOperatorParam
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9791,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9789,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9785,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9794,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9799,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SResFetchReq*
    constantsTouched: []
    func_position:
      end: 9804
      start: 9765
    functionDepth: 0
    functionLinenumber: 9765
    functionLinenumberEnd: 9804
    functionName: tDeserializeSResFetchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - taosMemoryMalloc
    - tDeserializeSOperatorParam
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSResFetchReq(void *buf, int32_t bufLen, SResFetchReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11362,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11367,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11364,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11364,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11367,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11371,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11373,1
    - Dst: tDecodeSTableMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11373,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SDecoder*
    - SVCreateTbRsp*
    constantsTouched: []
    func_position:
      end: 11380
      start: 11361
    functionDepth: 0
    functionLinenumber: 11361
    functionLinenumberEnd: 11380
    functionName: tDecodeSVCreateTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryCalloc
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeSTableMetaRsp
    linkageType: ''
    returnType: int
    signature: 'int tDecodeSVCreateTbRsp(SDecoder *pCoder, SVCreateTbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1906,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SStatusRsp*
    constantsTouched: []
    func_position:
      end: 1906
      start: 1906
    functionDepth: 0
    functionLinenumber: 1906
    functionLinenumberEnd: 1906
    functionName: tFreeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSStatusRsp(SStatusRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4984,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4988,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4988,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4986,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4998,1
    - Dst: tDecodeSQueryNodeLoad
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4998,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4999,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5003,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5006,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5000,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQnodeListRsp*
    constantsTouched: []
    func_position:
      end: 5008
      start: 4980
    functionDepth: 0
    functionLinenumber: 4980
    functionLinenumberEnd: 5008
    functionName: tDeserializeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeSQueryNodeLoad
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSQnodeListRsp(void *buf, int32_t bufLen, SQnodeListRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SShowVariablesReq*
    constantsTouched: []
    func_position:
      end: 6268
      start: 6263
    functionDepth: 0
    functionLinenumber: 6263
    functionLinenumberEnd: 6268
    functionName: tFreeSShowVariablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSShowVariablesReq(SShowVariablesReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6322,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6326,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6324,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6326,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6324,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6330,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6334,1
    - Dst: tDecodeSVariablesInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6334,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6342,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6343,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6348,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6350,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6336,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6340,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6343,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SShowVariablesRsp*
    constantsTouched: []
    func_position:
      end: 6352
      start: 6318
    functionDepth: 0
    functionLinenumber: 6318
    functionLinenumberEnd: 6352
    functionName: tDeserializeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - taosArrayGet
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeSVariablesInfo
    - tEndDecode
    - taosArrayPush
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSShowVariablesRsp(void *buf, int32_t bufLen, SShowVariablesRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10436,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10436,1
    - Dst: tDecodeTSma
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10437,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10438,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVCreateTSmaReq*
    constantsTouched: []
    func_position:
      end: 10440
      start: 10435
    functionDepth: 0
    functionLinenumber: 10435
    functionLinenumberEnd: 10440
    functionName: tDecodeSVCreateTSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tStartDecode
    - tDecodeTSma
    - tEndDecode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVCreateTSmaReq(SDecoder *pCoder, SVCreateTSmaReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1913,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1916,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1916,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1917,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1917,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1918,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1918,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1920,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SStatisReq*
    constantsTouched: []
    func_position:
      end: 1930
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1930
    functionName: tSerializeSStatisReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSStatisReq(void *buf, int32_t bufLen, SStatisReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5010,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SQnodeListRsp*
    constantsTouched: []
    func_position:
      end: 5010
      start: 5010
    functionDepth: 0
    functionLinenumber: 5010
    functionLinenumberEnd: 5010
    functionName: tFreeSQnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSQnodeListRsp(SQnodeListRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6271,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6272,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6273,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6271,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6272,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6273,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6274,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - SVariablesInfo*
    constantsTouched: []
    func_position:
      end: 6276
      start: 6270
    functionDepth: 0
    functionLinenumber: 6270
    functionLinenumberEnd: 6276
    functionName: tEncodeSVariablesInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVariablesInfo(SEncoder *pEncoder, SVariablesInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SShowVariablesRsp*
    constantsTouched: []
    func_position:
      end: 6360
      start: 6354
    functionDepth: 0
    functionLinenumber: 6354
    functionLinenumberEnd: 6360
    functionName: tFreeSShowVariablesRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSShowVariablesRsp(SShowVariablesRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10443,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10445,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10444,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10444,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10443,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10445,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDropTSmaReq*
    constantsTouched: []
    func_position:
      end: 10449
      start: 10442
    functionDepth: 0
    functionLinenumber: 10442
    functionLinenumberEnd: 10449
    functionName: tEncodeSVDropTSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVDropTSmaReq(SEncoder *pCoder, const SVDropTSmaReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1823,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1827,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1834,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1842,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1818,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1820,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1826,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1835,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1836,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1837,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1840,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1843,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1827,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1834,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1842,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1844,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1852,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1826,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1830,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1831,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1836,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1835,1
    - Dst: tEncodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1840,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStatusRsp*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1854
    functionName: tSerializeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeU16
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeI8
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSStatusRsp(void *buf, int32_t bufLen, SStatusRsp
      *pRsp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1152,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1158,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1162,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1164,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1178,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1208,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1210,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1220,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1209,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1183,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1149,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1153,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1157,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1159,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1161,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1163,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1195,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1211,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1215,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1217,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1196,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1185,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1216,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1150,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1154,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1156,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1160,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1162,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1176,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1178,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1194,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1201,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1171,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1192,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1151,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1157,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1161,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1171,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1185,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1188,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1195,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1215,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1181,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1199,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 103
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateSmaReq*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1222
    functionName: tDeserializeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCreateSmaReq(void *buf, int32_t bufLen, SMCreateSmaReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3422,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3424
      start: 3421
    functionDepth: 0
    functionLinenumber: 3421
    functionLinenumberEnd: 3424
    functionName: tFreeSMCreateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateAnodeReq(SMCreateAnodeReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3643,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3645,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3645,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3647,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3647,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3648,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3651,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropFuncReq*
    constantsTouched: []
    func_position:
      end: 3653
      start: 3639
    functionDepth: 0
    functionLinenumber: 3639
    functionLinenumberEnd: 3653
    functionName: tDeserializeSDropFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropFuncReq(void *buf, int32_t bufLen, SDropFuncReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7448,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7450,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7450,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7452,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7453,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7453,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7454,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7454,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7456,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressReq*
    constantsTouched: []
    func_position:
      end: 7466
      start: 7443
    functionDepth: 0
    functionLinenumber: 7443
    functionLinenumberEnd: 7466
    functionName: tSerializeSQueryCompactProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSQueryCompactProgressReq(void *buf, int32_t bufLen,
      SQueryCompactProgressReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8129,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8130,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8131,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8132,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupReq*
    constantsTouched: []
    func_position:
      end: 8142
      start: 8122
    functionDepth: 0
    functionLinenumber: 8122
    functionLinenumberEnd: 8142
    functionName: tSerializeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11410,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11410,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11412,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11411,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11411,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11412,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11413,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11414,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11414,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11416,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11415,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11419,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVDropTbReq*
    constantsTouched: []
    func_position:
      end: 11421
      start: 11409
    functionDepth: 0
    functionLinenumber: 11409
    functionLinenumberEnd: 11421
    functionName: tDecodeSVDropTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeU64
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeCStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSVDropTbReq(SDecoder *pCoder, SVDropTbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11431,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11432,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11432,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11433,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVDropTbRsp*
    constantsTouched: []
    func_position:
      end: 11435
      start: 11430
    functionDepth: 0
    functionLinenumber: 11430
    functionLinenumberEnd: 11435
    functionName: tDecodeSVDropTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - tStartDecode
    - tEndDecode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSVDropTbRsp(SDecoder *pCoder, SVDropTbRsp *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1225,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1227,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1229,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateSmaReq*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: tFreeSMCreateSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateSmaReq(SMCreateSmaReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1860,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1862,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1868,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1874,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1890,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1896,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1897,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1865,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1869,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1883,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1873,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1886,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1893,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1900,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1868,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1876,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1890,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1897,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1902,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1865,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1869,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1873,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1882,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1883,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1884,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1885,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1893,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStatusRsp*
    constantsTouched: []
    func_position:
      end: 1904
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1904
    functionName: tDeserializeSStatusRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeU16
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSStatusRsp(void *buf, int32_t bufLen, SStatusRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3431,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3433,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3434,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3433,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3434,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3435,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3436,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropAnodeReq*
    constantsTouched: []
    func_position:
      end: 3446
      start: 3426
    functionDepth: 0
    functionLinenumber: 3426
    functionLinenumberEnd: 3446
    functionName: tSerializeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropAnodeReq(void *buf, int32_t bufLen, SMDropAnodeReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3662,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3663,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3664,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3664,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3666,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3670,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3682,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3674,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SRetrieveFuncReq*
    constantsTouched: []
    func_position:
      end: 3684
      start: 3655
    functionDepth: 0
    functionLinenumber: 3655
    functionLinenumberEnd: 3684
    functionName: tSerializeSRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSRetrieveFuncReq(void *buf, int32_t bufLen, SRetrieveFuncReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7473,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7475,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7475,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7476,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7477,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7477,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7478,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7478,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7480,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQueryCompactProgressReq*
    constantsTouched: []
    func_position:
      end: 7484
      start: 7468
    functionDepth: 0
    functionLinenumber: 7468
    functionLinenumberEnd: 7484
    functionName: tDeserializeSQueryCompactProgressReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSQueryCompactProgressReq(void *buf, int32_t bufLen,
      SQueryCompactProgressReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8148,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8151,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8151,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8150,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8150,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8152,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8153,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupReq*
    constantsTouched: []
    func_position:
      end: 8158
      start: 8144
    functionDepth: 0
    functionLinenumber: 8144
    functionLinenumberEnd: 8158
    functionName: tDeserializeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSBalanceVgroupReq(void *buf, int32_t bufLen, SBalanceVgroupReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11424,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11424,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11425,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11425,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDropTbRsp*
    constantsTouched: []
    func_position:
      end: 11428
      start: 11423
    functionDepth: 0
    functionLinenumber: 11423
    functionLinenumberEnd: 11428
    functionName: tEncodeSVDropTbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEndEncode
    - TAOS_CHECK_RETURN
    - tEncodeI32
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSVDropTbRsp(SEncoder *pCoder, const SVDropTbRsp
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11438,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11441,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11441,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11442,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11444,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11445,1
    - Dst: tEncodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11445,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVDropTbBatchReq*
    constantsTouched: []
    func_position:
      end: 11450
      start: 11437
    functionDepth: 0
    functionLinenumber: 11437
    functionLinenumberEnd: 11450
    functionName: tEncodeSVDropTbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeSVDropTbReq
    - tEndEncode
    - tEncodeI32v
    - TAOS_CHECK_RETURN
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVDropTbBatchReq(SEncoder *pCoder, const SVDropTbBatchReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setColEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13437,1
    - Dst: getDefaultEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13437,1
    - Dst: setColLevel
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13439,1
    - Dst: getDefaultCompress
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13438,1
    - Dst: setColCompress
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13438,1
    - Dst: getDefaultLevel
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - field
    argTypes:
    - SFieldWithOptions*
    constantsTouched: []
    func_position:
      end: 13440
      start: 13436
    functionDepth: 0
    functionLinenumber: 13436
    functionLinenumberEnd: 13440
    functionName: setDefaultOptionsForField
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - getDefaultLevel
    - getDefaultEncode
    - getDefaultCompress
    - setColCompress
    - setColEncode
    - setColLevel
    linkageType: ''
    returnType: void
    signature: 'void setDefaultOptionsForField(SFieldWithOptions *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7753,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7755,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7761,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7757,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7759,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7765,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7768,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7776,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7780,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7754,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7756,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7758,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7764,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7766,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7772,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7773,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7777,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7790,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7779,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7753,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7755,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7757,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7761,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7759,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7763,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7768,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7780,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7782,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7776,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7756,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7758,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7762,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7772,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7773,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7777,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7779,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeConfigReq*
    constantsTouched: []
    func_position:
      end: 7792
      start: 7745
    functionDepth: 0
    functionLinenumber: 7745
    functionLinenumberEnd: 7792
    functionName: tSerializeSAlterVnodeConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - tEncodeI16
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAlterVnodeConfigReq(void *buf, int32_t bufLen,
      SAlterVnodeConfigReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3229,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3228,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3229,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3230,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3230,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3231,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3231,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3232,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3234,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3239,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3243,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3234,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3240,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3233,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDnodeReq*
    constantsTouched: []
    func_position:
      end: 3245
      start: 3222
    functionDepth: 0
    functionLinenumber: 3222
    functionLinenumberEnd: 3245
    functionName: tDeserializeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropDnodeReq(void *buf, int32_t bufLen, SDropDnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 13987
      start: 13984
    functionDepth: 0
    functionLinenumber: 13984
    functionLinenumberEnd: 13987
    functionName: tFreeSMDropTbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMDropTbsReq(void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDropDnodeReq*
    constantsTouched: []
    func_position:
      end: 3247
      start: 3247
    functionDepth: 0
    functionLinenumber: 3247
    functionLinenumberEnd: 3247
    functionName: tFreeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDropDnodeReq(SDropDnodeReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7800,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7804,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7806,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7808,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7810,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7812,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7815,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7843,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7844,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7801,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7805,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7809,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7811,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7813,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7823,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7824,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7828,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7833,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7832,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7798,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7800,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7806,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7808,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7804,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7812,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7815,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7842,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7850,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7847,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7837,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7803,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7807,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7805,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7813,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7819,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7823,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7824,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7843,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7844,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7836,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7833,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7832,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAlterVnodeConfigReq*
    constantsTouched: []
    func_position:
      end: 7852
      start: 7794
    functionDepth: 0
    functionLinenumber: 7794
    functionLinenumberEnd: 7852
    functionName: tDeserializeSAlterVnodeConfigReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeI16
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAlterVnodeConfigReq(void *buf, int32_t bufLen,
      SAlterVnodeConfigReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13993,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13995,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13993,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13997,1
    - Dst: tEncodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13997,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVFetchTtlExpiredTbsRsp*
    constantsTouched: []
    func_position:
      end: 14002
      start: 13989
    functionDepth: 0
    functionLinenumber: 13989
    functionLinenumberEnd: 14002
    functionName: tEncodeVFetchTtlExpiredTbsRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSVDropTbReq
    - TAOS_CHECK_EXIT
    - taosArrayGet
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeVFetchTtlExpiredTbsRsp(SEncoder *pCoder, const SVFetchTtlExpiredTbsRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6104,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6106,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6105,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6105,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6104,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6106,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6107,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6108,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6108,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6109,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6111,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6110,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6109,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pEncoder
    - pInfo
    argTypes:
    - SEncoder*
    - STableIndexInfo*
    constantsTouched: []
    func_position:
      end: 6114
      start: 6103
    functionDepth: 0
    functionLinenumber: 6103
    functionLinenumberEnd: 6114
    functionName: tSerializeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEncodeSEpSet
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableIndexInfo(SEncoder *pEncoder, STableIndexInfo
      *pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6179,1
    - Dst: tDeserializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6190,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6182,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6200,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6176,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6178,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6192,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6197,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6173,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6175,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6190,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6182,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6193,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6176,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6178,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6180,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6191,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableIndexRsp*
    constantsTouched: []
    func_position:
      end: 6202
      start: 6169
    functionDepth: 0
    functionLinenumber: 6169
    functionLinenumberEnd: 6202
    functionName: tDeserializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - taosMemoryFree
    - tDecodeCStrTo
    - tDeserializeSTableIndexInfo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableIndexRsp(void *buf, int32_t bufLen, STableIndexRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3453,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3455,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3455,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3457,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3458,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropAnodeReq*
    constantsTouched: []
    func_position:
      end: 3463
      start: 3448
    functionDepth: 0
    functionLinenumber: 3448
    functionLinenumberEnd: 3463
    functionName: tDeserializeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropAnodeReq(void *buf, int32_t bufLen, SMDropAnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5017,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5020,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5019,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5021,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5021,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5024,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5024,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5026,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDnodeListRsp*
    constantsTouched: []
    func_position:
      end: 5036
      start: 5012
    functionDepth: 0
    functionLinenumber: 5012
    functionLinenumberEnd: 5036
    functionName: tSerializeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeSEpSet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDnodeListRsp(void *buf, int32_t bufLen, SDnodeListRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5995,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5994,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5995,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5994,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5996,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6004,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUserIndexReq*
    constantsTouched: []
    func_position:
      end: 6006
      start: 5987
    functionDepth: 0
    functionLinenumber: 5987
    functionLinenumberEnd: 6006
    functionName: tSerializeSUserIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUserIndexReq(void *buf, int32_t bufLen, SUserIndexReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6989,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMCreateTopicReq*
    constantsTouched: []
    func_position:
      end: 6993
      start: 6988
    functionDepth: 0
    functionLinenumber: 6988
    functionLinenumberEnd: 6993
    functionName: tFreeSCMCreateTopicReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCMCreateTopicReq(SCMCreateTopicReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6134,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6129,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6127,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6124,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6133,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6145,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6123,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6130,1
    - Dst: tSerializeSTableIndexInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6134,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6126,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - STableIndexRsp*
    constantsTouched: []
    func_position:
      end: 6147
      start: 6116
    functionDepth: 0
    functionLinenumber: 6116
    functionLinenumberEnd: 6147
    functionName: tSerializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tSerializeSTableIndexInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTableIndexRsp(void *buf, int32_t bufLen, const
      STableIndexRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 6212
      start: 6204
    functionDepth: 0
    functionLinenumber: 6204
    functionLinenumberEnd: 6212
    functionName: tFreeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSTableIndexInfo(void *info) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropAnodeReq*
    constantsTouched: []
    func_position:
      end: 3465
      start: 3465
    functionDepth: 0
    functionLinenumber: 3465
    functionLinenumberEnd: 3465
    functionName: tFreeSMDropAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMDropAnodeReq(SMDropAnodeReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5044,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5046,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5044,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5046,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5048,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5050,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5056,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5056,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5057,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5061,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5064,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5058,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SDnodeListRsp*
    constantsTouched: []
    func_position:
      end: 5066
      start: 5038
    functionDepth: 0
    functionLinenumber: 5038
    functionLinenumberEnd: 5066
    functionName: tDeserializeSDnodeListRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeSEpSet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDnodeListRsp(void *buf, int32_t bufLen, SDnodeListRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6012,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6014,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6014,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6015,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6016,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUserIndexReq*
    constantsTouched: []
    func_position:
      end: 6021
      start: 6008
    functionDepth: 0
    functionLinenumber: 6008
    functionLinenumberEnd: 6021
    functionName: tDeserializeSUserIndexReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUserIndexReq(void *buf, int32_t bufLen, SUserIndexReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7004,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7006,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7009,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7003,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7005,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7008,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7010,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7019,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7002,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7004,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7009,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7006,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7003,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7005,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7010,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7007,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SConnectReq*
    constantsTouched: []
    func_position:
      end: 7021
      start: 6995
    functionDepth: 0
    functionLinenumber: 6995
    functionLinenumberEnd: 7021
    functionName: tSerializeSConnectReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeCStrWithLen
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSConnectReq(void *buf, int32_t bufLen, SConnectReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:836,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:840,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:839,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:837,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:838,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:841,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 843
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 843
    functionName: tFreeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMCreateStbReq(SMCreateStbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5490,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5494,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5492,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5492,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5495,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5495,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5497,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5498,1
    - Dst: tSerializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5498,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5500,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserAuthBatchRsp*
    constantsTouched: []
    func_position:
      end: 5510
      start: 5485
    functionDepth: 0
    functionLinenumber: 5485
    functionLinenumberEnd: 5510
    functionName: tSerializeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tSerializeSGetUserAuthRspImpl
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUserAuthBatchRsp(void *buf, int32_t bufLen, SUserAuthBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8377,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8380,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8379,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8379,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8380,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8381,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SForceBecomeFollowerReq*
    constantsTouched: []
    func_position:
      end: 8391
      start: 8372
    functionDepth: 0
    functionLinenumber: 8372
    functionLinenumberEnd: 8391
    functionName: tSerializeSForceBecomeFollowerReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSForceBecomeFollowerReq(void *buf, int32_t bufLen,
      SForceBecomeFollowerReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10986,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10990,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10986,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10987,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10987,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10991,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pCoder
    - pWrapper
    argTypes:
    - SEncoder*
    - SColCmprWrapper*
    constantsTouched: []
    func_position:
      end: 10996
      start: 10982
    functionDepth: 0
    functionLinenumber: 10982
    functionLinenumberEnd: 10996
    functionName: tEncodeSColCmprWrapper
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeU32
    - tEncodeI16v
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSColCmprWrapper(SEncoder *pCoder, const SColCmprWrapper
      *pWrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13289,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13291,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13292,1
    - Dst: tEncodeSViewMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13291,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13294,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13302,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 13304
      start: 13284
    functionDepth: 0
    functionLinenumber: 13284
    functionLinenumberEnd: 13304
    functionName: tSerializeSViewMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSViewMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSViewMetaRsp(void *buf, int32_t bufLen, const SViewMetaRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13871,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13870,1
    - Dst: tDecodeStreamProgressRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13871,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13870,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13873,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SStreamProgressRsp*
    constantsTouched: []
    func_position:
      end: 13878
      start: 13863
    functionDepth: 0
    functionLinenumber: 13863
    functionLinenumberEnd: 13878
    functionName: tDeserializeSStreamProgressRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    - tDecodeStreamProgressRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSStreamProgressRsp(void *buf, int32_t bufLen,
      SStreamProgressRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:850,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:852,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:853,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:852,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:854,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:854,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:855,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:855,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:859,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:859,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:869,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:861,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:860,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropStbReq*
    constantsTouched: []
    func_position:
      end: 871
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 871
    functionName: tSerializeSMDropStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropStbReq(void *buf, int32_t bufLen, SMDropStbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5518,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5518,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5520,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5521,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5521,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5523,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5525,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5530,1
    - Dst: tDeserializeSGetUserAuthRspImpl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5530,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5531,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5538,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5535,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SUserAuthBatchRsp*
    constantsTouched: []
    func_position:
      end: 5540
      start: 5512
    functionDepth: 0
    functionLinenumber: 5512
    functionLinenumberEnd: 5540
    functionName: tDeserializeSUserAuthBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDeserializeSGetUserAuthRspImpl
    - taosArrayGetSize
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSUserAuthBatchRsp(void *buf, int32_t bufLen, SUserAuthBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8398,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8400,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8400,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8404,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8404,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8406,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8406,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8409,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8420,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8411,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8409,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDCreateMnodeReq*
    constantsTouched: []
    func_position:
      end: 8422
      start: 8393
    functionDepth: 0
    functionLinenumber: 8393
    functionLinenumberEnd: 8422
    functionName: tSerializeSDCreateMnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSReplica
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDCreateMnodeReq(void *buf, int32_t bufLen, SDCreateMnodeReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11003,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11003,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11002,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11005,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11007,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11012,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11012,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11013,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11013,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11018,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pWrapper
    argTypes:
    - SDecoder*
    - SColCmprWrapper*
    constantsTouched: []
    func_position:
      end: 11021
      start: 10998
    functionDepth: 0
    functionLinenumber: 10998
    functionLinenumberEnd: 11021
    functionName: tDecodeSColCmprWrapperEx
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDecodeI32v
    - tDecodeI16v
    - TAOS_CHECK_EXIT
    - tDecodeU32
    - tDecoderMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSColCmprWrapperEx(SDecoder *pDecoder, SColCmprWrapper
      *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13311,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13313,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13316,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13319,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13328,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13310,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13313,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13319,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13318,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13323,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13311,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13315,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13318,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13321,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13310,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13314,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - SViewMetaRsp*
    constantsTouched: []
    func_position:
      end: 13334
      start: 13306
    functionDepth: 0
    functionLinenumber: 13306
    functionLinenumberEnd: 13334
    functionName: tDecodeSViewMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecodeCStrTo
    - taosMemoryCalloc
    - tDecodeSSchema
    - TAOS_CHECK_EXIT
    - tDecodeI8
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSViewMetaRsp(SDecoder *pDecoder, SViewMetaRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13885,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13887,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13886,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13885,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13887,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13888,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13889,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13889,1
    - Dst: tEncodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13894,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13893,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13894,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13891,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13891,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pEncoder
    - pReq
    argTypes:
    - SEncoder*
    - SMDropTbReqsOnSingleVg*
    constantsTouched: []
    func_position:
      end: 13898
      start: 13880
    functionDepth: 0
    functionLinenumber: 13880
    functionLinenumberEnd: 13898
    functionName: tEncodeSMDropTbReqOnSingleVg
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI32
    - tEncodeSEpSet
    - tEncodeSVDropTbReq
    - TAOS_CHECK_EXIT
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMDropTbReqOnSingleVg(SEncoder *pEncoder, const SMDropTbReqsOnSingleVg
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:654,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:658,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:660,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:674,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:680,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:687,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:649,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:663,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:665,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:683,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:716,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:648,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:664,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:682,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:698,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:670,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:701,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:692,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:653,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:659,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:679,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:680,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:658,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:672,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:674,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:708,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:681,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:706,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:666,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:683,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:700,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:649,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:655,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:661,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:701,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:646,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:648,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:651,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:654,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:660,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:682,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:671,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:673,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:702,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:644,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:656,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:672,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:688,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:665,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:706,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:692,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:666,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:704,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:675,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:700,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:655,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:653,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:659,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:661,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 101
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 718
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 718
    functionName: tSerializeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - ENCODESQL
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1276,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1279,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1279,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1278,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1280,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1280,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1281,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1282,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1282,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1293,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1283,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTagIndexReq*
    constantsTouched: []
    func_position:
      end: 1295
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1295
    functionName: tSerializeSCreateTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateTagIdxReq(void *buf, int32_t bufLen, SCreateTagIndexReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2105,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2107,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2109,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2111,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2119,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2130,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2106,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2108,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2112,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2115,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2110,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2113,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2124,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2127,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2103,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2105,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2107,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2109,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2111,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2118,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2119,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2106,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2108,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2110,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2112,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2123,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2124,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2127,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2133,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateUserReq*
    constantsTouched: []
    func_position:
      end: 2135
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2135
    functionName: tDeserializeSCreateUserReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - tDecodeI8
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateUserReq(void *buf, int32_t bufLen, SCreateUserReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SDDropQnodeReq*
    constantsTouched: []
    func_position:
      end: 3194
      start: 3194
    functionDepth: 0
    functionLinenumber: 3194
    functionLinenumberEnd: 3194
    functionName: tFreeSDDropQnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSDDropQnodeReq(SDDropQnodeReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4547,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4549,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4550,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4550,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4551,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4559,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVSubTablesReq*
    constantsTouched: []
    func_position:
      end: 4561
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4561
    functionName: tSerializeSVSubTablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVSubTablesReq(void *buf, int32_t bufLen, SVSubTablesReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13368,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13370,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13373,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13370,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13372,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13373,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13375,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13376,1
    - Dst: tEncodeSViewMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13376,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13379,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SViewHbRsp*
    constantsTouched: []
    func_position:
      end: 13389
      start: 13363
    functionDepth: 0
    functionLinenumber: 13363
    functionLinenumberEnd: 13389
    functionName: tSerializeSViewHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeSViewMetaRsp
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSViewHbRsp(void *buf, int32_t bufLen, SViewHbRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2145,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2150,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2151,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2160,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2143,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2144,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2146,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2152,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2151,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2144,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2146,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2152,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2156,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2168,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2155,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SUpdateIpWhite*
    constantsTouched: []
    func_position:
      end: 2170
      start: 2137
    functionDepth: 0
    functionLinenumber: 2137
    functionLinenumberEnd: 2170
    functionName: tSerializeSUpdateIpWhite
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSUpdateIpWhite(void *buf, int32_t bufLen, SUpdateIpWhite
      *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:736,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:738,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:746,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:774,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:729,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:784,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:793,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:820,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:814,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:767,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:727,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:741,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:743,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:814,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:817,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:762,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:726,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:728,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:734,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:742,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:744,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:760,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:791,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:777,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:803,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:807,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:737,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:739,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:775,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:765,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:785,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:828,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:724,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:738,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:799,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:801,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:823,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:822,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:752,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:817,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:784,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:811,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:816,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:823,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:731,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:740,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:815,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:766,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:773,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:795,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:761,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:727,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:733,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:743,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:745,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:815,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:746,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:764,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:774,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:749,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:776,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:728,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:734,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:736,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:755,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:729,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:751,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:754,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:809,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:739,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:811,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:731,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:740,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:742,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:778,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:748,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:803,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:760,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:761,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:773,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:786,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:795,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:735,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:745,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:763,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:775,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 145
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 833
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 833
    functionName: tDeserializeSMCreateStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - DECODESQL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMCreateStbReq(void *buf, int32_t bufLen, SMCreateStbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1301,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1303,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1303,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1304,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1305,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1305,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1306,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1306,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1307,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1308,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1310,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1312,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1307,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateTagIndexReq*
    constantsTouched: []
    func_position:
      end: 1314
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1314
    functionName: tDeserializeSCreateTagIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCreateTagIdxReq(void *buf, int32_t bufLen, SCreateTagIndexReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3201,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3204,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3203,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3205,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3205,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3206,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3207,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3208,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3218,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3209,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3208,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3207,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropDnodeReq*
    constantsTouched: []
    func_position:
      end: 3220
      start: 3196
    functionDepth: 0
    functionLinenumber: 3196
    functionLinenumberEnd: 3220
    functionName: tSerializeSDropDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropDnodeReq(void *buf, int32_t bufLen, SDropDnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4567,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4570,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4569,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4570,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4569,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4571,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVSubTablesReq*
    constantsTouched: []
    func_position:
      end: 4576
      start: 4563
    functionDepth: 0
    functionLinenumber: 4563
    functionLinenumberEnd: 4576
    functionName: tDeserializeSVSubTablesReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVSubTablesReq(void *buf, int32_t bufLen, SVSubTablesReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13396,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13398,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13398,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13401,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13402,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13404,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13408,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13410,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13412,1
    - Dst: tDecodeSViewMetaRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13412,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13413,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13418,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13421,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13414,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SViewHbRsp*
    constantsTouched: []
    func_position:
      end: 13423
      start: 13391
    functionDepth: 0
    functionLinenumber: 13391
    functionLinenumberEnd: 13423
    functionName: tDeserializeSViewHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeSViewMetaRsp
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSViewHbRsp(void *buf, int32_t bufLen, SViewHbRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SBalanceVgroupLeaderReq*
    constantsTouched: []
    func_position:
      end: 8250
      start: 8250
    functionDepth: 0
    functionLinenumber: 8250
    functionLinenumberEnd: 8250
    functionName: tFreeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSBalanceVgroupLeaderReq(SBalanceVgroupLeaderReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10029,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10034,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10036,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10040,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10045,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10038,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10037,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10048,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10031,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10040,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10039,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10033,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10037,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STaskNotifyReq*
    constantsTouched: []
    func_position:
      end: 10050
      start: 10019
    functionDepth: 0
    functionLinenumber: 10019
    functionLinenumberEnd: 10050
    functionName: tDeserializeSTaskNotifyReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTaskNotifyReq(void *buf, int32_t bufLen, STaskNotifyReq
      *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12629,1
    - Dst: tDecodeSVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12649,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12651,1
    - Dst: tDecodeRow
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12681,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12651,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12660,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12650,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12658,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12664,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12678,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12687,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12631,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12656,1
    - Dst: tDecodeColData
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12664,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12668,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12672,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12692,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12629,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12631,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12638,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12649,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12656,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12681,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12686,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12687,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12699,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 85
    argCount: 3
    argNames:
    - pCoder
    - pSubmitTbData
    - rawData
    argTypes:
    - SDecoder*
    - SSubmitTbData*
    - void*
    constantsTouched: []
    func_position:
      end: 12703
      start: 12619
    functionDepth: 0
    functionLinenumber: 12619
    functionLinenumberEnd: 12703
    functionName: tDecodeSSubmitTbData
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tDecodeIsEnd
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeColData
    - tDecodeRow
    - tDecodeI64
    - TAOS_MEMCPY
    - taosArrayReserve
    - tDecodeU64v
    - tDecodeSVCreateTbReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSSubmitTbData(SDecoder *pCoder, SSubmitTbData
      *pSubmitTbData, void* rawData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13938,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13941,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13941,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13939,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13939,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13944,1
    - Dst: tEncodeSMDropTbReqOnSingleVg
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13944,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13946,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13954,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTbsReq*
    constantsTouched: []
    func_position:
      end: 13956
      start: 13932
    functionDepth: 0
    functionLinenumber: 13932
    functionLinenumberEnd: 13956
    functionName: tSerializeSMDropTbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - tEncodeSMDropTbReqOnSingleVg
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropTbsReq(void *buf, int32_t bufLen, const SMDropTbsReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8259,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8260,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8260,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8261,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8261,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8262,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMergeVgroupReq*
    constantsTouched: []
    func_position:
      end: 8272
      start: 8252
    functionDepth: 0
    functionLinenumber: 8252
    functionLinenumberEnd: 8272
    functionName: tSerializeSMergeVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMergeVgroupReq(void *buf, int32_t bufLen, SMergeVgroupReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10060,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10062,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10063,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10067,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10075,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10087,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10058,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10061,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10076,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10068,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10060,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10063,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10067,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10069,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10057,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10058,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10061,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10066,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10068,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10076,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10079,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SQueryTableRsp*
    constantsTouched: []
    func_position:
      end: 10089
      start: 10052
    functionDepth: 0
    functionLinenumber: 10052
    functionLinenumberEnd: 10089
    functionName: tSerializeSQueryTableRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSQueryTableRsp(void *buf, int32_t bufLen, SQueryTableRsp
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12709,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12710,1
    - Dst: tEncodeU64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12710,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12712,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12713,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12721,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12722,1
    - Dst: tEncodeSSubmitTbData
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12726,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12726,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12730,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SSubmitReq2*
    constantsTouched: []
    func_position:
      end: 12733
      start: 12705
    functionDepth: 0
    functionLinenumber: 12705
    functionLinenumberEnd: 12733
    functionName: tEncodeSubmitReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeU64v
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tEncodeSSubmitTbData
    - tEndEncode
    - tStartEncode
    - TAOS_MEMCPY
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSubmitReq(SEncoder *pCoder, const SSubmitReq2 *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13963,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13964,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13966,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13966,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13969,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13973,1
    - Dst: tDecodeSMDropTbReqOnSingleVg
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13973,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13974,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13978,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13980,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13975,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropTbsReq*
    constantsTouched: []
    func_position:
      end: 13982
      start: 13958
    functionDepth: 0
    functionLinenumber: 13958
    functionLinenumberEnd: 13982
    functionName: tDeserializeSMDropTbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeSMDropTbReqOnSingleVg
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropTbsReq(void *buf, int32_t bufLen, SMDropTbsReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13476,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13478,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13478,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13479,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13480,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13480,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13482,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableTSMAInfoReq*
    constantsTouched: []
    func_position:
      end: 13487
      start: 13471
    functionDepth: 0
    functionLinenumber: 13471
    functionLinenumberEnd: 13487
    functionName: tDeserializeTableTSMAInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeTableTSMAInfoReq(void *buf, int32_t bufLen, STableTSMAInfoReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMUpdateAnodeReq*
    constantsTouched: []
    func_position:
      end: 3475
      start: 3475
    functionDepth: 0
    functionLinenumber: 3475
    functionLinenumberEnd: 3475
    functionName: tFreeSMUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tFreeSMDropAnodeReq
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMUpdateAnodeReq(SMUpdateAnodeReq *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13542,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13543,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13544,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13546,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13547,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13550,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13552,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13596,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13603,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13546,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13549,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13550,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13551,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13552,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13555,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13563,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13573,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13579,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13581,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13564,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13601,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13586,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13542,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13544,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13549,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13548,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13557,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13571,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13580,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13586,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13594,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13566,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13602,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13604,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13588,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13604,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13590,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13601,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13543,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13548,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13547,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13551,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13553,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13564,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13565,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13571,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13575,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13600,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13600,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13605,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13602,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13563,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 90
    argCount: 2
    argNames:
    - pDecoder
    - pTsmaInfo
    argTypes:
    - SDecoder*
    - STableTSMAInfo*
    constantsTouched: []
    func_position:
      end: 13609
      start: 13538
    functionDepth: 0
    functionLinenumber: 13538
    functionLinenumberEnd: 13609
    functionName: tDecodeTableTSMAInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - tDecodeCStrTo
    - tDecodeI16
    - tDecodeSSchema
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeCStrAlloc
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeTableTSMAInfo(SDecoder *pDecoder, STableTSMAInfo
      *pTsmaInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3482,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3484,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3485,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3484,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3486,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3486,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3487,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3488,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDnodeReq*
    constantsTouched: []
    func_position:
      end: 3498
      start: 3477
    functionDepth: 0
    functionLinenumber: 3477
    functionLinenumberEnd: 3498
    functionName: tSerializeSCreateDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateDnodeReq(void *buf, int32_t bufLen, SCreateDnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13616,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13619,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13618,1
    - Dst: tEncodeTableTSMAInfo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13619,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - STableTSMAInfoRsp*
    constantsTouched: []
    func_position:
      end: 13623
      start: 13611
    functionDepth: 0
    functionLinenumber: 13611
    functionLinenumberEnd: 13623
    functionName: tEncodeTableTSMAInfoRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeTableTSMAInfo
    - TAOS_CHECK_EXIT
    - tEncodeI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeTableTSMAInfoRsp(SEncoder *pEncoder, const STableTSMAInfoRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13016,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13017,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13016,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13017,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13018,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13018,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13019,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResetStreamReq*
    constantsTouched: []
    func_position:
      end: 13029
      start: 13010
    functionDepth: 0
    functionLinenumber: 13010
    functionLinenumberEnd: 13029
    functionName: tSerializeSMResetStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMResetStreamReq(void *buf, int32_t bufLen, const
      SMResetStreamReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1762,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1764,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1764,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1763,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1763,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1765,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1765,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1766,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1766,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1767,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1770,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1774,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1767,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1773,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1769,1
    - Dst: tDeserializeSConfigArray
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1770,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pRsp
    argTypes:
    - void*
    - int32_t
    - SConfigRsp*
    constantsTouched: []
    func_position:
      end: 1776
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1776
    functionName: tDeserializeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDeserializeSConfigArray
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSConfigRsp(void *buf, int32_t bufLen, SConfigRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SBalanceVgroupReq*
    constantsTouched: []
    func_position:
      end: 8160
      start: 8160
    functionDepth: 0
    functionLinenumber: 8160
    functionLinenumberEnd: 8160
    functionName: tFreeSBalanceVgroupReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSBalanceVgroupReq(SBalanceVgroupReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9260,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9262,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9265,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9266,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9266,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9268,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMqAskEpReq*
    constantsTouched: []
    func_position:
      end: 9273
      start: 9256
    functionDepth: 0
    functionLinenumber: 9256
    functionLinenumberEnd: 9273
    functionName: tDeserializeSMqAskEpReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMqAskEpReq(void *buf, int32_t bufLen, SMqAskEpReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1778,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SConfigRsp*
    constantsTouched: []
    func_position:
      end: 1778
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1778
    functionName: tFreeSConfigRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSConfigRsp(SConfigRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8170,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8169,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8170,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8169,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8171,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8172,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAssignLeaderReq*
    constantsTouched: []
    func_position:
      end: 8182
      start: 8162
    functionDepth: 0
    functionLinenumber: 8162
    functionLinenumberEnd: 8182
    functionName: tSerializeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSAssignLeaderReq(void *buf, int32_t bufLen, SAssignLeaderReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9275,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqHbRsp*
    constantsTouched: []
    func_position:
      end: 9275
      start: 9275
    functionDepth: 0
    functionLinenumber: 9275
    functionLinenumberEnd: 9275
    functionName: tDestroySMqHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroySMqHbRsp(SMqHbRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1038,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1040,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1042,1
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1041,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1043
    functionName: tFreeSMAltertbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMAltertbReq(SMAlterStbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4715,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4718,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4718,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4717,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4719,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4727,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsReq*
    constantsTouched: []
    func_position:
      end: 4729
      start: 4710
    functionDepth: 0
    functionLinenumber: 4710
    functionLinenumberEnd: 4729
    functionName: tSerializeSVStbRefDbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSVStbRefDbsReq(void *buf, int32_t bufLen, SVStbRefDbsReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFreeSTableIndexRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - STableIndexRsp*
    constantsTouched: []
    func_position:
      end: 6154
      start: 6149
    functionDepth: 0
    functionLinenumber: 6149
    functionLinenumberEnd: 6154
    functionName: tFreeSerializeSTableIndexRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tFreeSTableIndexRsp
    linkageType: ''
    returnType: void
    signature: 'void tFreeSerializeSTableIndexRsp(STableIndexRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8207,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8209,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8209,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8211,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8211,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8213,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8213,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8215,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupLeaderReq*
    constantsTouched: []
    func_position:
      end: 8225
      start: 8202
    functionDepth: 0
    functionLinenumber: 8202
    functionLinenumberEnd: 8225
    functionName: tSerializeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen,
      SBalanceVgroupLeaderReq *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8904,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8903,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8902,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8910,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8911,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8914,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8917,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8932,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8890,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8899,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8906,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8913,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8922,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8925,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8929,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8933,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8939,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8886,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8888,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8900,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8902,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8914,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8932,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8933,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8942,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8890,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8892,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8894,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8899,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8906,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8909,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8913,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8924,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8925,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8931,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMArbUpdateGroupBatchReq*
    constantsTouched: []
    func_position:
      end: 8944
      start: 8882
    functionDepth: 0
    functionLinenumber: 8882
    functionLinenumberEnd: 8944
    functionName: tDeserializeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - taosMemoryMalloc
    - tDecodeCStrTo
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMArbUpdateGroupBatchReq(void *buf, int32_t bufLen,
      SMArbUpdateGroupBatchReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SSchedulerHbRsp*
    constantsTouched: []
    func_position:
      end: 10317
      start: 10317
    functionDepth: 0
    functionLinenumber: 10317
    functionLinenumberEnd: 10317
    functionName: tFreeSSchedulerHbRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSSchedulerHbRsp(SSchedulerHbRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1050,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1052,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1053,1
    - Dst: tEncodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1053,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1052,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1055,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pEpset
    argTypes:
    - void*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1065
    functionName: tSerializeSEpSet
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeSEpSet
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSEpSet(void *buf, int32_t bufLen, const SEpSet *pEpset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4738,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4737,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4738,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4739,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVStbRefDbsReq*
    constantsTouched: []
    func_position:
      end: 4744
      start: 4731
    functionDepth: 0
    functionLinenumber: 4731
    functionLinenumberEnd: 4744
    functionName: tDeserializeSVStbRefDbsReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVStbRefDbsReq(void *buf, int32_t bufLen, SVStbRefDbsReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6157,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6158,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6157,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6160,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6160,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6161,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6161,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6163,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6165,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6163,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6165,1
    - Dst: tDecodeSEpSet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6164,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6162,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6162,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pInfo
    argTypes:
    - SDecoder*
    - STableIndexInfo*
    constantsTouched: []
    func_position:
      end: 6167
      start: 6156
    functionDepth: 0
    functionLinenumber: 6156
    functionLinenumberEnd: 6167
    functionName: tDeserializeSTableIndexInfo
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeSEpSet
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeI8
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSTableIndexInfo(SDecoder *pDecoder, STableIndexInfo
      *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8231,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8233,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8234,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8234,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8233,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8235,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8236,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8236,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8238,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8239,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8240,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8243,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SBalanceVgroupLeaderReq*
    constantsTouched: []
    func_position:
      end: 8248
      start: 8227
    functionDepth: 0
    functionLinenumber: 8227
    functionLinenumberEnd: 8248
    functionName: tDeserializeSBalanceVgroupLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeIsEnd
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSBalanceVgroupLeaderReq(void *buf, int32_t bufLen,
      SBalanceVgroupLeaderReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8951,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8957,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8953,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8955,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMArbUpdateGroupBatchReq*
    constantsTouched: []
    func_position:
      end: 8960
      start: 8946
    functionDepth: 0
    functionLinenumber: 8946
    functionLinenumberEnd: 8960
    functionName: tFreeSMArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSMArbUpdateGroupBatchReq(SMArbUpdateGroupBatchReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10320,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10323,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10324,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10324,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10327,1
    - Dst: tEncodeSVCreateTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10327,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVCreateTbBatchRsp*
    constantsTouched: []
    func_position:
      end: 10332
      start: 10319
    functionDepth: 0
    functionLinenumber: 10319
    functionLinenumberEnd: 10332
    functionName: tEncodeSVCreateTbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEndEncode
    - tEncodeI32v
    - tEncodeSVCreateTbRsp
    - TAOS_CHECK_RETURN
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int
    signature: 'int tEncodeSVCreateTbBatchRsp(SEncoder *pCoder, const SVCreateTbBatchRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8091,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8094,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8093,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8094,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8093,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8095,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillTransReq*
    constantsTouched: []
    func_position:
      end: 8105
      start: 8086
    functionDepth: 0
    functionLinenumber: 8086
    functionLinenumberEnd: 8105
    functionName: tSerializeSKillTransReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8021,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8022,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8021,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8022,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8023,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8031,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillQueryReq*
    constantsTouched: []
    func_position:
      end: 8033
      start: 8014
    functionDepth: 0
    functionLinenumber: 8014
    functionLinenumberEnd: 8033
    functionName: tSerializeSKillQueryReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2029,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2031,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2031,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2033,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2034,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2034,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2035,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2035,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2036,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2038,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2040,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2046,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2044,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2036,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAuditReq*
    constantsTouched: []
    func_position:
      end: 2048
      start: 2025
    functionDepth: 0
    functionLinenumber: 2025
    functionLinenumberEnd: 2048
    functionName: tDeserializeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAuditReq(void *buf, int32_t bufLen, SAuditReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8188,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8191,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8191,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8192,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8193,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SAssignLeaderReq*
    constantsTouched: []
    func_position:
      end: 8198
      start: 8184
    functionDepth: 0
    functionLinenumber: 8184
    functionLinenumberEnd: 8198
    functionName: tDeserializeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSAssignLeaderReq(void *buf, int32_t bufLen, SAssignLeaderReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8620,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8622,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8626,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8626,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8627,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8628,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8635,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8629,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8631,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8622,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8637,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8627,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8640,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8633,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8631,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8635,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8632,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SVArbCheckSyncReq*
    constantsTouched: []
    func_position:
      end: 8642
      start: 8616
    functionDepth: 0
    functionLinenumber: 8616
    functionLinenumberEnd: 8642
    functionName: tDeserializeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSVArbCheckSyncReq(void *buf, int32_t bufLen, SVArbCheckSyncReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9898,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 9903
      start: 9897
    functionDepth: 0
    functionLinenumber: 9897
    functionLinenumberEnd: 9903
    functionName: tDestroySMqPollReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tOffsetDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tDestroySMqPollReq(SMqPollReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SMDropStreamReq*
    constantsTouched: []
    func_position:
      end: 10881
      start: 10881
    functionDepth: 0
    functionLinenumber: 10881
    functionLinenumberEnd: 10881
    functionName: tFreeMDropStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeMDropStreamReq(SMDropStreamReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11287,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11297,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11296,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11290,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pReq
    - flags
    argTypes:
    - SVCreateTbReq*
    - int32_t
    constantsTouched: []
    func_position:
      end: 11299
      start: 11281
    functionDepth: 0
    functionLinenumber: 11281
    functionLinenumberEnd: 11299
    functionName: tDestroySVCreateTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDestroySVCreateTbReq(SVCreateTbReq *pReq, int32_t flags) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8039,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8041,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8042,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8041,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8043,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8046,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillQueryReq*
    constantsTouched: []
    func_position:
      end: 8048
      start: 8035
    functionDepth: 0
    functionLinenumber: 8035
    functionLinenumberEnd: 8048
    functionName: tDeserializeSKillQueryReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSKillQueryReq(void *buf, int32_t bufLen, SKillQueryReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:2050,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAuditReq*
    constantsTouched: []
    func_position:
      end: 2050
      start: 2050
    functionDepth: 0
    functionLinenumber: 2050
    functionLinenumberEnd: 2050
    functionName: tFreeSAuditReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSAuditReq(SAuditReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8111,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8113,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8113,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8115,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillTransReq*
    constantsTouched: []
    func_position:
      end: 8120
      start: 8107
    functionDepth: 0
    functionLinenumber: 8107
    functionLinenumberEnd: 8120
    functionName: tDeserializeSKillTransReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSKillTransReq(void *buf, int32_t bufLen, SKillTransReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SAssignLeaderReq*
    constantsTouched: []
    func_position:
      end: 8200
      start: 8200
    functionDepth: 0
    functionLinenumber: 8200
    functionLinenumberEnd: 8200
    functionName: tFreeSAssignLeaderReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSAssignLeaderReq(SAssignLeaderReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8648,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8650,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:8649,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SVArbCheckSyncReq*
    constantsTouched: []
    func_position:
      end: 8651
      start: 8644
    functionDepth: 0
    functionLinenumber: 8644
    functionLinenumberEnd: 8651
    functionName: tFreeSVArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSVArbCheckSyncReq(SVArbCheckSyncReq *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9918,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9920,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9925,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9922,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9937,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9916,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9919,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9921,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9923,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9938,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9920,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9929,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9922,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9915,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9919,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9921,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9923,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:9933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STaskDropReq*
    constantsTouched: []
    func_position:
      end: 9943
      start: 9904
    functionDepth: 0
    functionLinenumber: 9904
    functionLinenumberEnd: 9943
    functionName: tSerializeSTaskDropReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSTaskDropReq(void *buf, int32_t bufLen, STaskDropReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10887,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10890,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10891,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10889,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10888,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10892,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10893,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:10894,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 10895
      start: 10883
    functionDepth: 0
    functionLinenumber: 10883
    functionLinenumberEnd: 10895
    functionName: tFreeSCMCreateStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    - taosMemoryFreeClear
    - taosArrayDestroy
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCMCreateStreamReq(SCMCreateStreamReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11302,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11304,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11307,1
    - Dst: tEncodeSVCreateTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11307,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11310,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11310,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVCreateTbBatchReq*
    constantsTouched: []
    func_position:
      end: 11314
      start: 11301
    functionDepth: 0
    functionLinenumber: 11301
    functionLinenumberEnd: 11314
    functionName: tEncodeSVCreateTbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI8
    - tEncodeSVCreateTbReq
    - tEndEncode
    - tEncodeI32v
    - TAOS_CHECK_RETURN
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int
    signature: 'int tEncodeSVCreateTbBatchReq(SEncoder *pCoder, const SVCreateTbBatchReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12458,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12461,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SMqDataRsp*
    constantsTouched: []
    func_position:
      end: 12463
      start: 12457
    functionDepth: 0
    functionLinenumber: 12457
    functionLinenumberEnd: 12463
    functionName: tDeleteMqRawDataRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - POINTER_SHIFT
    - taosMemoryFree
    - tOffsetDestroy
    linkageType: ''
    returnType: void
    signature: 'void tDeleteMqRawDataRsp(SMqDataRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13036,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13038,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13038,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13037,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13039,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13039,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13040,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13043,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResetStreamReq*
    constantsTouched: []
    func_position:
      end: 13045
      start: 13031
    functionDepth: 0
    functionLinenumber: 13031
    functionLinenumberEnd: 13045
    functionName: tDeserializeSMResetStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMResetStreamReq(void *buf, int32_t bufLen, SMResetStreamReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4865,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4868,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4867,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4867,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4868,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4869,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4872,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SQnodeListReq*
    constantsTouched: []
    func_position:
      end: 4874
      start: 4861
    functionDepth: 0
    functionLinenumber: 4861
    functionLinenumberEnd: 4874
    functionName: tDeserializeSQnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSQnodeListReq(void *buf, int32_t bufLen, SQnodeListReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6447,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6449,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6453,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6451,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6455,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6457,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6457,1
    - Dst: tEncodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6460,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6463,1
    - Dst: tEncodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6475,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6446,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6445,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6448,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6450,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6452,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6454,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6456,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6466,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6475,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6447,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6449,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6451,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6453,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6455,1
    - Dst: tEncodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6466,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6471,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6472,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6445,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6446,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6448,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6450,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6452,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6454,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6456,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6460,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6471,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6478,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - pEncoder
    - pRsp
    argTypes:
    - SEncoder*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 6481
      start: 6444
    functionDepth: 0
    functionLinenumber: 6444
    functionLinenumberEnd: 6481
    functionName: tEncodeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - hasRefCol
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchema
    - tEncodeU64
    - tEncodeSColRef
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeSSchemaExt
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tEncodeSTableMetaRsp(SEncoder *pEncoder, STableMetaRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7593,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7596,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7595,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7595,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7597,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7597,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7598,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7598,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7599,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7601,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7599,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7601,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropIndexReq*
    constantsTouched: []
    func_position:
      end: 7613
      start: 7588
    functionDepth: 0
    functionLinenumber: 7588
    functionLinenumberEnd: 7613
    functionName: tSerializeSDropIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDropIdxReq(void *buf, int32_t bufLen, SDropIndexReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13133,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13137,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13135,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13140,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13147,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13130,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13132,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13134,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13129,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13137,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13133,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13147,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13132,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13136,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13142,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCMCreateViewReq*
    constantsTouched: []
    func_position:
      end: 13156
      start: 13122
    functionDepth: 0
    functionLinenumber: 13122
    functionLinenumberEnd: 13156
    functionName: tDeserializeSCMCreateViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosMemoryCalloc
    - tDecodeSSchema
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecodeCStrAlloc
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCMCreateViewReq(void *buf, int32_t bufLen, SCMCreateViewReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7619,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7621,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7621,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7622,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7622,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7623,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7623,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7624,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7625,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7627,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7629,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7625,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7627,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7632,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDropIndexReq*
    constantsTouched: []
    func_position:
      end: 7634
      start: 7615
    functionDepth: 0
    functionLinenumber: 7615
    functionLinenumberEnd: 7634
    functionName: tDeserializeSDropIdxReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSDropIdxReq(void *buf, int32_t bufLen, SDropIndexReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4881,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4884,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4883,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4884,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4883,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4885,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4893,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SDnodeListReq*
    constantsTouched: []
    func_position:
      end: 4895
      start: 4876
    functionDepth: 0
    functionLinenumber: 4876
    functionLinenumberEnd: 4895
    functionName: tSerializeSDnodeListReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSDnodeListReq(void *buf, int32_t bufLen, SDnodeListReq
      *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6486,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6488,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6489,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6493,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6492,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6494,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6495,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6507,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6514,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6529,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6545,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6530,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6531,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6528,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6546,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6484,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6485,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6487,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6488,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6491,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6492,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6494,1
    - Dst: tDecodeSSchema
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6507,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6517,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6532,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6539,1
    - Dst: tDecodeSColRef
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6539,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6546,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6486,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6487,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6491,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6490,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6496,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6502,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6515,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6522,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6529,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6534,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6530,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6485,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6484,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6490,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6489,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6493,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6495,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6496,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6500,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6513,1
    - Dst: tDecodeSSchemaExt
      Src: /src/tdengine/source/common/src/msg/tmsg.c:6522,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 89
    argCount: 2
    argNames:
    - pDecoder
    - pRsp
    argTypes:
    - SDecoder*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 6550
      start: 6483
    functionDepth: 0
    functionLinenumber: 6483
    functionLinenumberEnd: 6550
    functionName: tDecodeSTableMetaRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeU64
    - withExtSchema
    - hasRefCol
    - tDecodeCStrTo
    - taosMemoryMalloc
    - tDecodeSSchemaExt
    - tDecodeSSchema
    - tDecodeSColRef
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDecodeSTableMetaRsp(SDecoder *pDecoder, STableMetaRsp
      *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13163,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCMCreateViewReq*
    constantsTouched: []
    func_position:
      end: 13166
      start: 13158
    functionDepth: 0
    functionLinenumber: 13158
    functionLinenumberEnd: 13166
    functionName: tFreeSCMCreateViewReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tFreeSCMCreateViewReq(SCMCreateViewReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7239,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7239,1
    - Dst: tDecodeU16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7240,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7240,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7241,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pDecoder
    - pReplica
    argTypes:
    - SDecoder*
    - SReplica*
    constantsTouched: []
    func_position:
      end: 7243
      start: 7238
    functionDepth: 0
    functionLinenumber: 7238
    functionLinenumberEnd: 7243
    functionName: tDecodeSReplica
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - tDecodeCStrTo
    - tDecodeU16
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSReplica(SDecoder *pDecoder, SReplica *pReplica) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FREESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRestoreDnodeReq*
    constantsTouched: []
    func_position:
      end: 3289
      start: 3289
    functionDepth: 0
    functionLinenumber: 3289
    functionLinenumberEnd: 3289
    functionName: tFreeSRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - FREESQL
    linkageType: ''
    returnType: void
    signature: 'void tFreeSRestoreDnodeReq(SRestoreDnodeReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4096,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4099,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4098,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4100,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4097,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 4103
      start: 4091
    functionDepth: 0
    functionLinenumber: 4091
    functionLinenumberEnd: 4103
    functionName: tFreeSTableCfgRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tFreeSTableCfgRsp(STableCfgRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12177,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12184,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12187,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12192,1
    - Dst: tEncodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12186,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12188,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12182,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12187,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12190,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12192,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12181,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12184,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12186,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12191,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12188,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - pCoder
    - pRes
    argTypes:
    - SEncoder*
    - SDeleteRes*
    constantsTouched: []
    func_position:
      end: 12197
      start: 12176
    functionDepth: 0
    functionLinenumber: 12176
    functionLinenumberEnd: 12197
    functionName: tEncodeDeleteRes
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tEncodeI8
    - tEncodeU64
    - TAOS_CHECK_EXIT
    - tEncodeI32v
    - tEncodeCStr
    - tEncodeI64
    - tEncodeI64v
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeDeleteRes(SEncoder *pCoder, const SDeleteRes *pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - fieldWithOptions
    - field
    argTypes:
    - SFieldWithOptions*
    - SField*
    constantsTouched: []
    func_position:
      end: 13447
      start: 13442
    functionDepth: 0
    functionLinenumber: 13442
    functionLinenumberEnd: 13447
    functionName: setFieldWithOptions
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void setFieldWithOptions(SFieldWithOptions *fieldWithOptions, SField
      *field) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3296,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3298,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3299,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3300,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3301,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3301,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3302,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3311,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:3303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 3313
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3313
    functionName: tSerializeSMCfgDnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMCfgDnodeReq(void *buf, int32_t bufLen, SMCfgDnodeReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4119,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4125,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4160,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4167,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4114,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4140,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4142,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4161,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4139,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4141,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4133,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4113,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4146,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4134,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4136,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4122,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4130,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4121,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4129,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4135,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4148,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4152,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4145,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4166,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4117,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4123,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4143,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4158,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4165,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4177,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4140,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4132,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4138,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4146,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4133,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4139,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4147,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4151,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4122,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4149,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4134,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4148,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4119,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4121,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4152,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4160,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4167,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4142,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4114,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4116,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4157,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4161,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4113,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4115,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4143,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4141,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4138,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4132,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4136,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4169,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4111,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4129,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4151,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4120,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4126,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4159,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:4166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 106
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 4179
      start: 4105
    functionDepth: 0
    functionLinenumber: 4105
    functionLinenumberEnd: 4179
    functionName: tSerializeSCreateDbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - taosArrayGet
    - tEncodeI16
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateDbReq(void *buf, int32_t bufLen, SCreateDbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7297,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7289,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7272,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7292,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7278,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7301,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7303,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7275,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7261,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7269,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7283,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7260,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7266,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7268,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7286,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7263,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7300,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7308,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7256,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7262,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7281,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7299,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7288,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7271,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7273,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7302,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7316,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7318,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7272,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7278,1
    - Dst: htonl
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7294,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7270,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7292,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7287,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7301,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7312,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7315,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7283,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7259,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7261,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7265,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7267,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7260,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7258,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7266,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7306,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7309,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7317,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7255,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7298,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7300,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7304,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7314,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7297,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7289,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7254,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7295,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7299,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7303,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7319,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7275,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7269,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7271,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7277,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7316,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7250,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7268,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7274,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7276,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7270,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7285,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7312,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7315,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7257,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7259,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7265,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7286,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7308,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7321,1
    - Dst: tEncodeSReplica
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7281,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7258,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7256,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7264,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7306,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7309,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7329,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7273,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7288,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7298,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7302,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7304,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7314,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7318,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:7319,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 125
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SCreateVnodeReq*
    constantsTouched: []
    func_position:
      end: 7331
      start: 7245
    functionDepth: 0
    functionLinenumber: 7245
    functionLinenumberEnd: 7331
    functionName: tSerializeSCreateVnodeReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeBinary
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - taosArrayGet
    - tEncodeI16
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeSReplica
    - tEncodeI64
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCreateVnodeReq(void *buf, int32_t bufLen, SCreateVnodeReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12205,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12206,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12215,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12217,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12227,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12220,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12224,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12226,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12210,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12223,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12219,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12206,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12208,1
    - Dst: tDecodeU64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12205,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12215,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12217,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12220,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pCoder
    - pRes
    argTypes:
    - SDecoder*
    - SDeleteRes*
    constantsTouched: []
    func_position:
      end: 12232
      start: 12199
    functionDepth: 0
    functionLinenumber: 12199
    functionLinenumberEnd: 12232
    functionName: tDecodeDeleteRes
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeU64
    - tDecodeI64v
    - tDecodeI32v
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeDeleteRes(SDecoder *pCoder, SDeleteRes *pRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13453,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13455,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13456,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13455,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13457,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13457,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13459,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - STableTSMAInfoReq*
    constantsTouched: []
    func_position:
      end: 13469
      start: 13448
    functionDepth: 0
    functionLinenumber: 13448
    functionLinenumberEnd: 13469
    functionName: tSerializeTableTSMAInfoReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeTableTSMAInfoReq(void *buf, int32_t bufLen, const
      STableTSMAInfoReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5200,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5202,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5203,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5202,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5203,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5204,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5206,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillCompactReq*
    constantsTouched: []
    func_position:
      end: 5216
      start: 5195
    functionDepth: 0
    functionLinenumber: 5195
    functionLinenumberEnd: 5216
    functionName: tSerializeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tStartEncode
    - ENCODESQL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSKillCompactReq(void *buf, int32_t bufLen, SKillCompactReq
      *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11152,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11150,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11155,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11160,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11164,1
    - Dst: tEncodeTag
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11167,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11193,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11196,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11194,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11196,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11156,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11165,1
    - Dst: tEncodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11168,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11172,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11175,1
    - Dst: tEncodeBinary
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11183,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11153,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11164,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11160,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11169,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11172,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11181,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11190,1
    - Dst: tEncodeSColRefWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11190,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11154,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11166,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11166,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11169,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11175,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11183,1
    - Dst: tEncodeSColCmprWrapper
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11187,1
    - Dst: tEncodeSExtSchemas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11194,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11199,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11187,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11193,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SEncoder*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 11202
      start: 11146
    functionDepth: 0
    functionLinenumber: 11146
    functionLinenumberEnd: 11202
    functionName: tEncodeSVCreateTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeBinary
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - tEncodeSSchemaWrapper
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tEncodeSColRefWrapper
    - tEncodeCStr
    - tStartEncode
    - tEncodeTag
    - tEncodeI64
    - taosArrayGetSize
    - tEncodeU8
    - tEncodeSColCmprWrapper
    - tEncodeSExtSchemas
    linkageType: ''
    returnType: int
    signature: 'int tEncodeSVCreateTbReq(SEncoder *pCoder, const SVCreateTbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11453,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11455,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11454,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11454,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11453,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11457,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11460,1
    - Dst: tDecodeSVDropTbReq
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11460,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVDropTbBatchReq*
    constantsTouched: []
    func_position:
      end: 11465
      start: 11452
    functionDepth: 0
    functionLinenumber: 11452
    functionLinenumberEnd: 11465
    functionName: tDecodeSVDropTbBatchReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tStartDecode
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeSVDropTbReq
    - tDecoderMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSVDropTbBatchReq(SDecoder *pCoder, SVDropTbBatchReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5224,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5224,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5225,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5225,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5226,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5228,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:5231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SKillCompactReq*
    constantsTouched: []
    func_position:
      end: 5233
      start: 5218
    functionDepth: 0
    functionLinenumber: 5218
    functionLinenumberEnd: 5233
    functionName: tDeserializeSKillCompactReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - DECODESQL
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSKillCompactReq(void *buf, int32_t bufLen, SKillCompactReq
      *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11210,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11210,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11222,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11214,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11220,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11226,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11229,1
    - Dst: tDecodeSExtSchemas
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11271,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11240,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11252,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11239,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11258,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11213,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11214,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11218,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11227,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11231,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11242,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11246,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11253,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11259,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11267,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11276,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11262,1
    - Dst: tDecodeSColCmprWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11259,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11211,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11212,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11213,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11216,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11222,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11226,1
    - Dst: tDecodeU8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11227,1
    - Dst: tDecodeTag
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11229,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11231,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11232,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11263,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11271,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11253,1
    - Dst: tDecodeSColRefWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11263,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11208,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11212,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11215,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11216,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11228,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11234,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11239,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11241,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11246,1
    - Dst: tDecodeBinaryAlloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11255,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11269,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11269,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 98
    argCount: 2
    argNames:
    - pCoder
    - pReq
    argTypes:
    - SDecoder*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 11279
      start: 11204
    functionDepth: 0
    functionLinenumber: 11204
    functionLinenumberEnd: 11279
    functionName: tDecodeSVCreateTbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeBinaryAlloc
    - tDecodeIsEnd
    - taosArrayInit
    - tDecodeU8
    - taosMemoryMalloc
    - tDecodeI32v
    - tDecodeCStrTo
    - tDecodeTag
    - tDecodeSSchemaWrapperEx
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeSColCmprWrapperEx
    - tstrncpy
    - tDecodeCStr
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeSColRefWrapperEx
    - tDecodeSExtSchemas
    linkageType: ''
    returnType: int
    signature: 'int tDecodeSVCreateTbReq(SDecoder *pCoder, SVCreateTbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11468,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11470,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11470,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11469,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11469,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11472,1
    - Dst: tEncodeSVDropTbRsp
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11472,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:11475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pCoder
    - pRsp
    argTypes:
    - SEncoder*
    - SVDropTbBatchRsp*
    constantsTouched: []
    func_position:
      end: 11477
      start: 11467
    functionDepth: 0
    functionLinenumber: 11467
    functionLinenumberEnd: 11477
    functionName: tEncodeSVDropTbBatchRsp
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncodeSVDropTbRsp
    - taosArrayGet
    - tEndEncode
    - tEncodeI32v
    - TAOS_CHECK_RETURN
    - tStartEncode
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSVDropTbBatchRsp(SEncoder *pCoder, const SVDropTbBatchRsp
      *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:907,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:909,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:917,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:921,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:915,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:923,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:928,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:932,1
    - Dst: ENCODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:933,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/common/src/msg/tmsg.c:936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:940,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:944,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:906,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:908,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:918,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:916,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:922,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:924,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:927,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:930,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:938,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:938,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:947,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:907,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:909,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:917,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:915,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:923,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:928,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:932,1
    - Dst: TAOS_CHECK_ERRNO
      Src: /src/tdengine/source/common/src/msg/tmsg.c:941,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:941,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:944,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:955,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:904,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:906,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:908,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/common/src/msg/tmsg.c:914,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:918,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:916,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:922,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:924,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:927,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:930,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 957
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 957
    functionName: tSerializeSMAlterStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI32
    - taosArrayGet
    - TAOS_CHECK_EXIT
    - TAOS_CHECK_ERRNO
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    - ENCODESQL
    - tEncodeU32
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMAlterStbReq(void *buf, int32_t bufLen, SMAlterStbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1237,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1239,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1240,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1239,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1240,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1241,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1241,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1243,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropSmaReq*
    constantsTouched: []
    func_position:
      end: 1253
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1253
    functionName: tSerializeSMDropSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMDropSmaReq(void *buf, int32_t bufLen, SMDropSmaReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12976,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12978,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12977,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12978,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12977,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12979,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12979,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12980,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12980,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12981,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResumeStreamReq*
    constantsTouched: []
    func_position:
      end: 12991
      start: 12971
    functionDepth: 0
    functionLinenumber: 12971
    functionLinenumberEnd: 12991
    functionName: tSerializeSMResumeStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSMResumeStreamReq(void *buf, int32_t bufLen, const
      SMResumeStreamReq *pReq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:965,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:978,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:982,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:977,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:984,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:986,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:991,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1000,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1030,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1009,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:999,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1015,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1024,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:966,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:968,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:983,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:990,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:992,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:994,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:999,1
    - Dst: DECODESQL
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1011,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1019,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1023,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1012,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1002,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1025,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1033,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:965,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:967,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:982,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:984,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:985,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:991,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1004,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1006,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1009,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1017,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1008,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1015,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:966,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:968,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:969,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:981,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:971,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/common/src/msg/tmsg.c:976,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:983,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:990,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:992,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/common/src/msg/tmsg.c:993,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1023,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1006,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 94
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 1035
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 1035
    functionName: tDeserializeSMAlterStbReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - taosArrayDestroy
    - taosMemoryMalloc
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecoderClear
    - DECODESQL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMAlterStbReq(void *buf, int32_t bufLen, SMAlterStbReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1259,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1261,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1262,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1262,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1263,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1263,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1264,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:1267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMDropSmaReq*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1269
    functionName: tDeserializeSMDropSmaReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMDropSmaReq(void *buf, int32_t bufLen, SMDropSmaReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12998,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13000,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12999,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13000,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:12999,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13001,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13001,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13002,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13002,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13003,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/common/src/msg/tmsg.c:13006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pReq
    argTypes:
    - void*
    - int32_t
    - SMResumeStreamReq*
    constantsTouched: []
    func_position:
      end: 13008
      start: 12993
    functionDepth: 0
    functionLinenumber: 12993
    functionLinenumberEnd: 13008
    functionName: tDeserializeSMResumeStreamReq
    functionSourceFile: /src/tdengine/source/common/src/msg/tmsg.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSMResumeStreamReq(void *buf, int32_t bufLen, SMResumeStreamReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/dnode/vnode/src/inc/meta.h:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: metaGenerateUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/meta.h
    functionUses: []
    functionsReached:
    - tGenIdPI64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE tb_uid_t metaGenerateUid(SMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:210,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:211,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSma
    - pStat
    argTypes:
    - SSma*
    - SSmaStat*
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: tdRefSmaStat
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/sma.h
    functionUses: []
    functionsReached:
    - T_REF_INC
    - smaDebug
    - SMA_VID
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tdRefSmaStat(SSma *pSma, SSmaStat *pStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:234,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:235,1
    - Dst: smaTrace
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSma
    - pRSmaInfo
    argTypes:
    - SSma*
    - SRSmaInfo*
    constantsTouched: []
    func_position:
      end: 236
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 236
    functionName: tdUnRefRSmaInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/sma.h
    functionUses: []
    functionsReached:
    - T_REF_DEC
    - SMA_VID
    - smaTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tdUnRefRSmaInfo(SSma *pSma, SRSmaInfo *pRSmaInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_DEC
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:214,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:215,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSma
    - pStat
    argTypes:
    - SSma*
    - SSmaStat*
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: tdUnRefSmaStat
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/sma.h
    functionUses: []
    functionsReached:
    - smaDebug
    - T_REF_DEC
    - SMA_VID
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tdUnRefSmaStat(SSma *pSma, SSmaStat *pStat) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_INC
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:230,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:231,1
    - Dst: smaTrace
      Src: /src/tdengine/source/dnode/vnode/src/inc/sma.h:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSma
    - pRSmaInfo
    argTypes:
    - SSma*
    - SRSmaInfo*
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: tdRefRSmaInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/sma.h
    functionUses: []
    functionsReached:
    - T_REF_INC
    - SMA_VID
    - smaTrace
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tdRefRSmaInfo(SSma *pSma, SRSmaInfo *pRSmaInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOGIC_TO_FILE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/inc/tsdb.h:101,1
    - Dst: OFFSET_PGNO
      Src: /src/tdengine/source/dnode/vnode/src/inc/tsdb.h:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - lSize
    - szPage
    argTypes:
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: tsdbLogicToFileSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/tsdb.h
    functionUses: []
    functionsReached:
    - OFFSET_PGNO
    - LOGIC_TO_FILE_OFFSET
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int64_t tsdbLogicToFileSize(int64_t lSize, int32_t
      szPage) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 984
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 984
    functionName: tsdbKeyCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/tsdb.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tsdbKeyCmprFn(const void *p1, const void
      *p2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - STbDataIter*
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: tsdbTbDataIterGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/inc/tsdb.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE TSDBROW *tsdbTbDataIterGet(STbDataIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:146,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:152,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:148,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pMeta
    - cb
    - restart
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    - bool
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: tqStreamTaskStartAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - streamTaskSchedTask
    - tqDebug
    - tqInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskStartAsync(SStreamMeta* pMeta, SMsgCb* cb, bool
      restart) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:477,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:481,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:483,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:482,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:480,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:484,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:485,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:486,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:488,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:492,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:498,1
    - Dst: streamProcessDispatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:494,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 501
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 501
    functionName: tqStreamTaskProcessDispatchRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - htonl
    - tqDebug
    - streamProcessDispatchRsp
    - streamMetaAcquireTask
    - POINTER_SHIFT
    - streamMetaReleaseTask
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessDispatchRsp(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:160,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:166,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:167,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pMeta
    - cb
    - streamId
    - taskId
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: tqStreamStartOneTaskAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - streamTaskSchedTask
    - tqDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamStartOneTaskAsync(SStreamMeta* pMeta, SMsgCb* cb,
      int64_t streamId, int32_t taskId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:505,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:516,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:513,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:511,1
    - Dst: tDecodeStreamRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:512,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:521,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:523,1
    - Dst: tCleanupStreamRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:525,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:530,1
    - Dst: streamTaskSetCheckpointFailed
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:534,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:546,1
    - Dst: streamProcessRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:537,1
    - Dst: streamTaskBroadcastRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:541,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:545,1
    - Dst: streamTaskSendRetrieveRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:549,1
    - Dst: tCleanupStreamRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:553,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 557
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 557
    functionName: tqStreamTaskProcessRetrieveReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamTaskBroadcastRetrieveReq
    - tDecoderInit
    - tqDebug
    - tDecodeStreamRetrieveReq
    - tqError
    - streamMetaAcquireTask
    - tCleanupStreamRetrieveReq
    - POINTER_SHIFT
    - tstrerror
    - streamTaskSendRetrieveRsp
    - streamProcessRetrieveReq
    - streamMetaReleaseTask
    - tDecoderClear
    - streamTaskSetCheckpointFailed
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessRetrieveReq(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:64,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:104,1
    - Dst: IS_NEW_SUBTB_RULE
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:111,1
    - Dst: streamSetupScheduleTrigger
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:120,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:58,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:67,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:98,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:100,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:122,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:35,1
    - Dst: streamStateRecalatedOpen
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:53,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:55,1
    - Dst: qSetStreamNotifyInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:109,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:113,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:123,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:40,1
    - Dst: streamStateOpen
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:62,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:83,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:86,1
    - Dst: qSetStreamMergeInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:117,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 126
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 126
    functionName: tqExpandStreamTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - qSetStreamNotifyInfo
    - tqDebug
    - qCreateStreamExecTaskInfo
    - qSetStreamMergeInfo
    - streamStateOpen
    - IS_NEW_SUBTB_RULE
    - initStorageAPI
    - streamSetupScheduleTrigger
    - tqError
    - tstrerror
    - qSetTaskId
    - streamStateRecalatedOpen
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqExpandStreamTask(SStreamTask* pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:624,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:631,1
    - Dst: tDecodeStreamCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:632,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:637,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:634,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:640,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:642,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:647,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:649,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:652,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:657,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:674,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:663,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:677,1
    - Dst: streamProcessCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:656,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 683
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 683
    functionName: tqStreamTaskProcessCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - htonl
    - tDecoderInit
    - tqDebug
    - tDecodeStreamCheckpointReadyMsg
    - tmsgSendRsp
    - tqError
    - streamMetaAcquireTask
    - POINTER_SHIFT
    - streamProcessCheckpointReadyMsg
    - streamMetaReleaseTask
    - rpcMallocCont
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessCheckpointReadyMsg(SStreamMeta* pMeta,
      SRpcMsg* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1033,1
    - Dst: streamMetaAllTasksReady
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1036,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1047,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1041,1
    - Dst: restartStreamTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1044,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1060
    functionName: tqStartTaskCompleteCallback
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamMetaAllTasksReady
    - restartStreamTasks
    - tqDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStartTaskCompleteCallback(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 1371
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1371
    functionName: tqStreamTasksGetTotalNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTasksGetTotalNum(SStreamMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doProcessDummyRspMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1401
    functionName: tqStreamProcessChkptReportRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - doProcessDummyRspMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamProcessChkptReportRsp(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 142
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 142
    functionName: tqSetRestoreVersionInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tqInfo
    linkageType: ''
    returnType: void
    signature: 'void tqSetRestoreVersionInfo(SStreamTask* pTask) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:710,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:726,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:752,1
    - Dst: tqStreamStartOneTaskAsync
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:745,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:759,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:712,1
    - Dst: streamMetaRegisterTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:724,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:739,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:725,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:756,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:705,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:700,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:715,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:743,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:749,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:729,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:730,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:696,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:703,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:711,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:723,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 7
    argNames:
    - pMeta
    - cb
    - sversion
    - msg
    - msgLen
    - isLeader
    - restored
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    - int64_t
    - char*
    - int32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 763
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 763
    functionName: tqStreamTaskProcessDeployReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - taosMemoryFree
    - tqDebug
    - streamMetaRegisterTask
    - streamMetaGetNumOfTasks
    - tqStreamStartOneTaskAsync
    - taosMemoryCalloc
    - tqWarn
    - tqError
    - tDecodeStreamTask
    - tstrerror
    - streamMetaAcquireTask
    - streamMetaWUnLock
    - tqInfo
    - streamMetaWLock
    - streamMetaReleaseTask
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessDeployReq(SStreamMeta* pMeta, SMsgCb* cb,
      int64_t sversion, char* msg, int32_t msgLen, bool isLeader, bool restored) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1066,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1075,1
    - Dst: streamTaskSetFailedCheckpointId
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1077,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1073,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1068,1
    - Dst: streamTaskClearCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1078,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1081,1
    - Dst: streamTaskSetStatusReady
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1083,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1084,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1088,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1095,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1090,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1093,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 1097
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1097
    functionName: tqStreamTaskProcessTaskResetReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - tqDebug
    - streamMutexLock
    - streamTaskSetStatusReady
    - streamTaskSetFailedCheckpointId
    - tqError
    - streamMetaAcquireTask
    - streamTaskClearCheckInfo
    - streamMetaReleaseTask
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessTaskResetReq(SStreamMeta* pMeta, char*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - UNUSED_PARAM
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1377
      start: 1373
    functionDepth: 0
    functionLinenumber: 1373
    functionLinenumberEnd: 1377
    functionName: doProcessDummyRspMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doProcessDummyRspMsg(SStreamMeta* UNUSED_PARAM(pMeta), SRpcMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1407,1
    - Dst: streamTaskProcessCheckpointReadyRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1414,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1409,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1417
    functionName: tqStreamProcessCheckpointReadyRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tqError
    - streamMetaAcquireTask
    - streamMetaReleaseTask
    - streamTaskProcessCheckpointReadyRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamProcessCheckpointReadyRsp(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:561,1
    - Dst: tDecodeStreamTaskCheckReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:571,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:575,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:570,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:572,1
    - Dst: streamTaskProcessCheckMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:579,1
    - Dst: streamTaskSendCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:580,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 581
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 581
    functionName: tqStreamTaskProcessCheckReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeStreamTaskCheckReq
    - tqError
    - POINTER_SHIFT
    - streamTaskSendCheckRsp
    - streamTaskProcessCheckMsg
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessCheckReq(SStreamMeta* pMeta, SRpcMsg* pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSetRemoveBackendFiles
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:786,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:791,1
    - Dst: streamMetaUnregisterTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:798,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:818,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:813,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:822,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:772,1
    - Dst: streamTaskClearHTaskAttr
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:787,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:800,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:779,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:788,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:808,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:812,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:774,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:777,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:797,1
    - Dst: streamMetaUnregisterTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:806,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:815,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:823,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - pMeta
    - msg
    - msgLen
    argTypes:
    - SStreamMeta*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 826
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 826
    functionName: tqStreamTaskProcessDropReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tqDebug
    - streamMetaGetNumOfTasks
    - streamMetaCommit
    - streamTaskSetRemoveBackendFiles
    - streamMetaResetStartInfo
    - HAS_RELATED_FILLHISTORY_TASK
    - tqError
    - streamMetaUnregisterTask
    - streamMetaWUnLock
    - streamMetaAcquireTaskUnsafe
    - streamMetaWLock
    - streamMetaReleaseTask
    - streamTaskClearHTaskAttr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessDropReq(SStreamMeta* pMeta, char* msg,
      int32_t msgLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:859,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:868,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:878,1
    - Dst: allCheckDownstreamRspPartial
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:892,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:899,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:907,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:917,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:887,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:895,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:922,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:866,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:874,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:883,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:886,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:901,1
    - Dst: streamMetaResetStartInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:930,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:923,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:865,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:873,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:884,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:894,1
    - Dst: streamMetaClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:920,1
    - Dst: streamMetaLoadAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:925,1
    - Dst: streamMetaStartAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:928,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:932,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - pMeta
    - isLeader
    argTypes:
    - SStreamMeta*
    - bool
    constantsTouched: []
    func_position:
      end: 937
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 937
    functionName: restartStreamTasks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosGetTimestampMs
    - streamMetaStartAllTasks
    - tqDebug
    - streamMetaResetStartInfo
    - streamMetaClear
    - taosArrayGetLast
    - taosHashGetSize
    - streamMetaLoadAllTasks
    - tqInfo
    - allCheckDownstreamRspPartial
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t restartStreamTasks(SStreamMeta* pMeta, bool isLeader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1102,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1109,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1107,1
    - Dst: tDecodeStreamTaskStopReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1109,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1110,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1114,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1118,1
    - Dst: streamMetaStopAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1119,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pMeta
    - pMsgCb
    - pMsg
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1130
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1130
    functionName: tqStreamTaskProcessAllTaskStopReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqDebug
    - tDecodeStreamTaskStopReq
    - tqError
    - tstrerror
    - streamMetaStopAllTasks
    - POINTER_SHIFT
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessAllTaskStopReq(SStreamMeta* pMeta, SMsgCb*
      pMsgCb, SRpcMsg* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskResume
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1298,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1299,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1311,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1307,1
    - Dst: walReaderSetSkipToVersion
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1306,1
    - Dst: streamStartScanHistoryAsync
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1317,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1318,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1321,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - handle
    - pTask
    - sversion
    - igUntreated
    - fromVnode
    argTypes:
    - void*
    - SStreamTask*
    - int64_t
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 1326
      start: 1292
    functionDepth: 0
    functionLinenumber: 1292
    functionLinenumberEnd: 1326
    functionName: tqProcessTaskResumeImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamStartScanHistoryAsync
    - streamTaskGetStatus
    - tqDebug
    - streamTaskResume
    - streamQueueGetNumOfItems
    - streamTrySchedExec
    - walReaderSetSkipToVersion
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqProcessTaskResumeImpl(void* handle, SStreamTask*
      pTask, int64_t sversion, int8_t igUntreated, bool fromVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:584,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:596,1
    - Dst: tDecodeStreamTaskCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:593,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:597,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:592,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:597,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:601,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:602,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:606,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:608,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:612,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:614,1
    - Dst: streamTaskProcessCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:617,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pMeta
    - pMsg
    - isLeader
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 620
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 620
    functionName: tqStreamTaskProcessCheckRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqDebug
    - streamTaskProcessCheckRsp
    - tqError
    - tstrerror
    - streamMetaAddFailedTask
    - POINTER_SHIFT
    - streamMetaAcquireTask
    - tDecodeStreamTaskCheckRsp
    - streamMetaReleaseTask
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessCheckRsp(SStreamMeta* pMeta, SRpcMsg* pMsg,
      bool isLeader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:834,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:836,1
    - Dst: streamTaskUpdateTaskCheckpointInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:841,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:839,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:842,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:844,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:845,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:851,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pMeta
    - restored
    - msg
    argTypes:
    - SStreamMeta*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 854
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 854
    functionName: tqStreamTaskProcessUpdateCheckpointReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tqDebug
    - streamTaskUpdateTaskCheckpointInfo
    - streamMetaGetNumOfTasks
    - tqError
    - streamMetaWUnLock
    - streamMetaAcquireTaskUnsafe
    - streamMetaWLock
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessUpdateCheckpointReq(SStreamMeta* pMeta,
      bool restored, char* msg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:947,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:961,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:981,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:966,1
    - Dst: streamMetaStopOneTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:977,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:968,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:987,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1003,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1016,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1020,1
    - Dst: streamExecTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1009,1
    - Dst: tDecodeStreamTaskRunReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:948,1
    - Dst: restartStreamTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:967,1
    - Dst: streamResumeTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:990,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:992,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1012,1
    - Dst: streamTaskReadyToRun
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1006,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1011,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:954,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:963,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:988,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:996,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:942,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:949,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:949,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:950,1
    - Dst: streamMetaStartOneTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:958,1
    - Dst: streamMetaStartAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:962,1
    - Dst: streamMetaStopAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:971,1
    - Dst: streamTaskReadyToRun
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:985,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:974,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:993,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1007,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 3
    argNames:
    - pMeta
    - pMsg
    - isLeader
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 1023
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 1023
    functionName: tqStreamTaskProcessRunReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamMetaStartAllTasks
    - streamMetaStopAllTasks
    - streamMetaStopOneTask
    - taosGetTimestampMs
    - tqDebug
    - streamMetaAcquireTask
    - tDecodeStreamTaskRunReq
    - streamResumeTask
    - streamMetaStartOneTask
    - streamMetaWUnLock
    - streamMetaWLock
    - tDecoderInit
    - streamTaskReadyToRun
    - tqError
    - tstrerror
    - streamMetaAddFailedTask
    - POINTER_SHIFT
    - streamTaskSetSchedStatusInactive
    - streamExecTask
    - restartStreamTasks
    - streamMetaReleaseTask
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessRunReq(SStreamMeta* pMeta, SRpcMsg* pMsg,
      bool isLeader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeRetrieveChkptTriggerReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1140,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1141,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1155,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1159,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1168,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1175,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1145,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1149,1
    - Dst: streamTaskSendCheckpointTriggerMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1186,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1193,1
    - Dst: streamTaskSendCheckpointTriggerMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1200,1
    - Dst: tqFatal
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1205,1
    - Dst: streamTaskSendCheckpointTriggerMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1212,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1216,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1135,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1142,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1178,1
    - Dst: streamTaskSendCheckpointTriggerMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1162,1
    - Dst: streamTaskAlreadySendTrigger
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1182,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1164,1
    - Dst: streamTaskGetTriggerRecvStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1190,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1208,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1139,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1147,1
    - Dst: streamTaskGetActiveCheckpointInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1173,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1184,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1195,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1218
    functionName: tqStreamTaskProcessRetrieveTriggerReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - streamTaskSendCheckpointTriggerMsg
    - tqDebug
    - streamTaskGetStatus
    - streamTaskGetActiveCheckpointInfo
    - tqWarn
    - tqError
    - streamMetaAcquireTask
    - tqFatal
    - POINTER_SHIFT
    - tDecodeRetrieveChkptTriggerReq
    - streamMetaReleaseTask
    - streamTaskAlreadySendTrigger
    - tDecoderClear
    - streamTaskGetTriggerRecvStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessRetrieveTriggerReq(SStreamMeta* pMeta,
      SRpcMsg* pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1348,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1354,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1357,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1359,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1342,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1340,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1347,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1356,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1364,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1367,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1334,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1336,1
    - Dst: tqProcessTaskResumeImpl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1345,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1362,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1362,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1341,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1343,1
    - Dst: tqProcessTaskResumeImpl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1361,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - handle
    - sversion
    - msg
    - fromVnode
    argTypes:
    - void*
    - int64_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1369
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1369
    functionName: tqStreamTaskProcessTaskResumeReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - tqDebug
    - streamMetaReleaseTask
    - streamMutexLock
    - tqError
    - streamMetaAcquireTask
    - tstrerror
    - tqProcessTaskResumeImpl
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessTaskResumeReq(void* handle, int64_t sversion,
      char* msg, bool fromVnode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeRestoreCheckpointInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1430,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1436,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1472,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1448,1
    - Dst: streamMetaAddFailedTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1446,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1484,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1492,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1498,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1534,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1525,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1425,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1431,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1431,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1432,1
    - Dst: streamMetaAddFailedTaskSelf
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1465,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1451,1
    - Dst: tqSetRestoreVersionInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1501,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1503,1
    - Dst: streamTaskSetConsenChkptIdRecv
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1507,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1526,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1423,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1460,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1477,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1468,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1515,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1518,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1536,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1538,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1543,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1429,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1438,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1442,1
    - Dst: tqFatal
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1481,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1485,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1490,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1493,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1508,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1510,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1517,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1544,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1551,1
    - Dst: tqStreamStartOneTaskAsync
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1548,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1551,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1554,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1557,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1559,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 97
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1561
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1561
    functionName: tqStreamTaskProcessConsenChkptIdReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMetaAddFailedTaskSelf
    - taosArrayGetSize
    - tDecodeRestoreCheckpointInfo
    - streamMutexUnlock
    - taosGetTimestampMs
    - tqDebug
    - streamMetaAcquireTask
    - tqFatal
    - taosArrayPush
    - tqInfo
    - streamTaskSetConsenChkptIdRecv
    - taosArrayGet
    - tqSetRestoreVersionInfo
    - tqWarn
    - streamMetaWUnLock
    - streamMetaWLock
    - tDecoderInit
    - tqStreamStartOneTaskAsync
    - tqError
    - tstrerror
    - streamMetaAddFailedTask
    - POINTER_SHIFT
    - streamMetaReleaseTask
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessConsenChkptIdReq(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskUpdateEpsetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:258,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:304,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:366,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:354,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:381,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:399,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:403,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:191,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:328,1
    - Dst: CLEAR_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:276,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:331,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:294,1
    - Dst: streamGetFatalError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:195,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:220,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:254,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:315,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:226,1
    - Dst: streamTaskResetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:284,1
    - Dst: streamTaskStop
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:313,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:391,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:190,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:207,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:337,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:327,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:399,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:212,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:247,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:263,1
    - Dst: streamTaskResetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:265,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:375,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:346,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:383,1
    - Dst: streamTaskStopMonitorCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:285,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:223,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:224,1
    - Dst: streamMetaInitUpdateTaskList
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:231,1
    - Dst: taosMSleep
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:395,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:197,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:238,1
    - Dst: streamTaskUpdateEpsetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:279,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:291,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:173,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:190,1
    - Dst: streamTaskSendCheckpointsourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:261,1
    - Dst: streamTaskStopMonitorCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:267,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:272,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:300,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:184,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:251,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:263,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:372,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:309,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:270,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:209,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:235,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:236,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:383,1
    - Dst: tqStreamTaskStartAsync
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:397,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:408,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:359,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:186,1
    - Dst: streamMetaAddIntoUpdateTaskList
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:320,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:361,1
    - Dst: streamMetaClearSetUpdateTaskListComplete
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:387,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:350,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:197,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:245,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:333,1
    - Dst: streamTaskStop
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:307,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:300,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:322,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:309,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:294,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:278,1
    - Dst: tDecodeStreamTaskUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:185,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:213,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:203,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:321,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:338,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:269,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:292,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 173
    argCount: 5
    argNames:
    - pMeta
    - cb
    - pMsg
    - restored
    - isLeader
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    - SRpcMsg*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 410
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 410
    functionName: tqStreamTaskProcessUpdateReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - streamTaskStopMonitorCheckRsp
    - taosMSleep
    - tqStreamTaskStartAsync
    - streamTaskSendCheckpointsourceRsp
    - streamTaskResetStatus
    - taosArrayGetSize
    - taosGetTimestampMs
    - tqDebug
    - tDestroyNodeUpdateMsg
    - streamGetFatalError
    - streamMetaClearSetUpdateTaskListComplete
    - HAS_RELATED_FILLHISTORY_TASK
    - tqInfo
    - taosArrayGet
    - taosHashGet
    - streamMetaSaveTaskInMeta
    - streamMetaWUnLock
    - streamMetaAddIntoUpdateTaskList
    - streamMetaWLock
    - streamMetaInitUpdateTaskList
    - tDecoderInit
    - streamMetaGetNumOfTasks
    - streamMetaCommit
    - CLEAR_RELATED_FILLHISTORY_TASK
    - taosHashGetSize
    - tqError
    - tDecodeStreamTaskUpdateMsg
    - tstrerror
    - POINTER_SHIFT
    - streamTaskUpdateEpsetInfo
    - streamMetaAcquireTaskUnsafe
    - streamMetaReleaseTask
    - tDecoderClear
    - streamTaskStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessUpdateReq(SStreamMeta* pMeta, SMsgCb* cb,
      SRpcMsg* pMsg, bool restored, bool isLeader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1223,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1230,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1229,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1227,1
    - Dst: tDecodeCheckpointTriggerRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1228,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1233,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1235,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1237,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1243,1
    - Dst: streamTaskProcessCheckpointTriggerRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1248,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1251
    functionName: tqStreamTaskProcessRetrieveTriggerRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecodeCheckpointTriggerRsp
    - tDecoderInit
    - tqDebug
    - tqError
    - streamMetaAcquireTask
    - POINTER_SHIFT
    - streamTaskProcessCheckpointTriggerRsp
    - streamMetaReleaseTask
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessRetrieveTriggerRsp(SStreamMeta* pMeta,
      SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1383,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1386,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1390,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1391,1
    - Dst: tDecodeStreamHbRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1391,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1395,1
    - Dst: streamProcessHeartbeatRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1397
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1397
    functionName: tqStreamProcessStreamHbRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeStreamHbRsp
    - streamProcessHeartbeatRsp
    - tqError
    - tstrerror
    - POINTER_SHIFT
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamProcessStreamHbRsp(SStreamMeta* pMeta, SRpcMsg* pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:414,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:425,1
    - Dst: tCleanupStreamDispatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:436,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:440,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:445,1
    - Dst: tCleanupStreamDispatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:470,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:420,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:430,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:457,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:460,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:462,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:422,1
    - Dst: tDecodeStreamDispatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:421,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:443,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:456,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:451,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:449,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:467,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:427,1
    - Dst: streamProcessDispatchMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:433,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:437,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:458,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:455,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:459,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:461,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:469,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - pMeta
    - pMsg
    - msgcb
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    - SMsgCb*
    constantsTouched: []
    func_position:
      end: 474
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 474
    functionName: tqStreamTaskProcessDispatchReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - htonl
    - tDecoderInit
    - streamProcessDispatchMsg
    - tqDebug
    - tmsgSendRsp
    - tCleanupStreamDispatchReq
    - htobe64
    - tDecodeStreamDispatchReq
    - tqError
    - streamMetaAcquireTask
    - POINTER_SHIFT
    - streamMetaReleaseTask
    - rpcMallocCont
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessDispatchReq(SStreamMeta* pMeta, SRpcMsg*
      pMsg, const SMsgCb* msgcb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1257,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1259,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1269,1
    - Dst: streamTaskPause
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1266,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1265,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1271,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1273,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1276,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1282,1
    - Dst: streamTaskPause
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1284,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1288,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 1290
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1290
    functionName: tqStreamTaskProcessTaskPauseReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - tqDebug
    - streamTaskPause
    - HAS_RELATED_FILLHISTORY_TASK
    - tqError
    - streamMetaAcquireTask
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamTaskProcessTaskPauseReq(SStreamMeta* pMeta, char*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doProcessDummyRspMsg
      Src: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pMsg
    argTypes:
    - SStreamMeta*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1399
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1399
    functionName: tqStreamProcessReqCheckpointRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tqCommon/tqCommon.c
    functionUses: []
    functionsReached:
    - doProcessDummyRspMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamProcessReqCheckpointRsp(SStreamMeta* pMeta, SRpcMsg*
      pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbAsyncRetention
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeRetention.c:22,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pVnode
    - now
    argTypes:
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: vnodeAsyncRetention
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeRetention.c
    functionUses: []
    functionsReached:
    - tsdbAsyncRetention
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncRetention(SVnode *pVnode, int64_t now) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbAsyncS3Migrate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeRetention.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pVnode
    - now
    argTypes:
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: vnodeAsyncS3Migrate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeRetention.c
    functionUses: []
    functionsReached:
    - tsdbAsyncS3Migrate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncS3Migrate(SVnode *pVnode, int64_t now) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: withExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:37,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - reader
    - pExt
    - numOfCol
    argTypes:
    - SMetaReader*
    - SSchemaExt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: fillTableColCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - vError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fillTableColCmpr(SMetaReader *reader, SSchemaExt *pExt, int32_t
      numOfCol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1055,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1067,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1066,1
    - Dst: metaStbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1061,1
    - Dst: metaCloseStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1074,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pVnode
    - suid
    - list
    argTypes:
    - SVnode*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1076
    functionName: vnodeGetStbIdList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaCloseStbCursor
    - metaStbCursorNext
    - qError
    - taosArrayPush
    - metaOpenStbCursor
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetStbIdList(SVnode *pVnode, int64_t suid, SArray *list) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1142,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1153,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 4
    argNames:
    - pVnode
    - suid
    - keep
    - flags
    argTypes:
    - SVnode*
    - tb_uid_t
    - int64_t*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 1155
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1155
    functionName: vnodeGetStbInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    - metaReaderGetTableEntryByUid
    - metaReaderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetStbInfo(SVnode *pVnode, tb_uid_t suid, int64_t *keep,
      int8_t *flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1224
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1224
    functionName: vnodeTimeSeriesFilter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaTbInFilterCache
    linkageType: ''
    returnType: bool
    signature: 'static bool vnodeTimeSeriesFilter(void *arg1, void *arg2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:57,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:58,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:59,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:60,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:61,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:62,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:63,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:64,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:65,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:66,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:74,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:68,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:69,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:70,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: vnodePrintTableMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - qDebug
    linkageType: ''
    returnType: void
    signature: 'void vnodePrintTableMeta(STableMetaRsp *pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1081,1
    - Dst: metaStbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1087,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1096,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1097,1
    - Dst: metaCloseStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1104,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 17
    argCount: 5
    argNames:
    - pVnode
    - suid
    - list
    - (*filter)
    - arg
    argTypes:
    - SVnode*
    - int64_t
    - SArray*
    - bool
    - void*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1106
    functionName: vnodeGetStbIdListByFilter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaCloseStbCursor
    - metaStbCursorNext
    - qError
    - taosArrayPush
    - metaOpenStbCursor
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetStbIdListByFilter(SVnode *pVnode, int64_t suid, SArray
      *list, bool (*filter)(void *arg, void *arg1), void *arg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1229,1
    - Dst: vnodeGetTimeSeriesBlackList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1236,1
    - Dst: vnodeGetStbIdListByFilter
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1243,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1244,1
    - Dst: vnodeGetStbIdList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1242,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1244,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1244,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1245,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1250,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1252,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1267,1
    - Dst: metaGetStbStats
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - pVnode
    - num
    argTypes:
    - SVnode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1269
    functionName: vnodeGetTimeSeriesNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - vnodeGetStbIdListByFilter
    - taosArrayDestroy
    - taosArrayGet
    - TABLE_IS_VIRTUAL
    - terrstr
    - vnodeGetStbIdList
    - qError
    - TD_VID
    - metaGetStbStats
    - taosArrayGetSize
    - taosArrayInit
    - vnodeGetTimeSeriesBlackList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetTimeSeriesNum(SVnode *pVnode, int64_t *num) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeStreamProgressReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1366,1
    - Dst: tqGetStreamExecInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1390,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1381,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1379,1
    - Dst: tSerializeStreamProgressRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1373,1
    - Dst: tSerializeStreamProgressRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1393,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1404,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - direct
    argTypes:
    - SVnode*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 1415
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1415
    functionName: vnodeGetStreamProgress
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - tDeserializeStreamProgressReq
    - taosMemoryFree
    - tmsgSendRsp
    - taosMemoryCalloc
    - tqGetStreamExecInfo
    - tSerializeStreamProgressRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetStreamProgress(SVnode *pVnode, SRpcMsg *pMsg, bool
      direct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerStopAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: vnodeQueryPreClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - qWorkerStopAllTasks
    linkageType: ''
    returnType: void
    signature: 'void vnodeQueryPreClose(SVnode *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: hasRefCol
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:82,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:94,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:93,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:85,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:95,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - reader
    - pRef
    - numOfCol
    argTypes:
    - SMetaReader*
    - SColRef*
    - int32_t
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: fillTableColRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - vError
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t fillTableColRef(SMetaReader *reader, SColRef *pRef, int32_t
      numOfCol) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:644,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:666,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:647,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:650,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:683,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:708,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:713,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:710,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:636,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:638,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:648,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:667,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:687,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:687,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:688,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:688,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:709,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:635,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:641,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:643,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:674,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:681,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:682,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:685,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:694,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:695,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:713,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:640,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:642,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:643,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:688,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:695,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 71
    argCount: 3
    argNames:
    - pHandle
    - suid
    - ppRes
    argTypes:
    - SReadHandle*
    - int64_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 716
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 716
    functionName: vnodeReadVSubtables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryFree
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - taosMemoryCalloc
    - tSimpleHashClear
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - tSimpleHashGet
    - taosArrayPush
    - taosGetDefaultHashFunction
    - taosArrayGet
    - tstrncpy
    - qError
    - tSimpleHashInit
    - QUERY_CHECK_NULL
    - tSimpleHashPut
    - snprintf
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeReadVSubtables(SReadHandle* pHandle, int64_t suid, SArray**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVSubTablesReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:803,1
    - Dst: vnodeReadVSubtables
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:812,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:810,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:805,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:812,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:813,1
    - Dst: tSerializeSVSubTablesRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:815,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:818,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:821,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:824,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:830,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:843,1
    - Dst: tDestroySVSubTablesRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:848,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:843,1
    - Dst: tSerializeSVSubTablesRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:827,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 853
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 853
    functionName: vnodeGetVSubtablesMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosMemoryCalloc
    - vnodeReadVSubtables
    - initStorageAPI
    - qError
    - tstrerror
    - tDeserializeSVSubTablesReq
    - TD_VID
    - tSerializeSVSubTablesRsp
    - tDestroySVSubTablesRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetVSubtablesMeta(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetStbIdList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:990,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pVnode
    - type
    - pList
    argTypes:
    - void*
    - int8_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 994
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 994
    functionName: vnodeGetTableList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - vnodeGetStbIdList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetTableList(void *pVnode, int8_t type, SArray *pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 1
    argCount: 5
    argNames:
    - pVnode
    - suid
    - list
    - (*filter)
    - arg
    argTypes:
    - SVnode*
    - int64_t
    - SArray*
    - bool
    - void*
    constantsTouched: []
    func_position:
      end: 1024
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1024
    functionName: vnodeGetCtbIdListByFilter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetCtbIdListByFilter(SVnode *pVnode, int64_t suid, SArray
      *list, bool (*filter)(void *arg), void *arg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1324,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1325,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1329,1
    - Dst: taosGetDirSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pVnode
    - pInfo
    argTypes:
    - SVnode*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1343
    functionName: vnodeGetDBPrimaryInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - taosGetDirSize
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t vnodeGetDBPrimaryInfo(SVnode *pVnode,
      SDbSizeStatisInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:28,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:28,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: vnodeQueryOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - TD_VID
    - qWorkerInit
    linkageType: ''
    returnType: int
    signature: 'int vnodeQueryOpen(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 33
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 33
    functionName: vnodeQueryClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - qWorkerDestroy
    linkageType: ''
    returnType: void
    signature: 'void vnodeQueryClose(SVnode *pVnode) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:141,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:147,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:153,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:174,1
    - Dst: fillTableColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:211,1
    - Dst: vnodePrintTableMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:237,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:265,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:266,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:207,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:268,1
    - Dst: vnodeValidateTableHash
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:131,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:127,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:126,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:138,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:148,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:152,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:189,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:240,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:249,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:264,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:224,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:270,1
    - Dst: tDeserializeSTableInfoReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:118,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:130,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:161,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:155,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:222,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:257,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:283,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:154,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:149,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:154,1
    - Dst: strcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:166,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:175,1
    - Dst: strcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:177,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:199,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:200,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:205,1
    - Dst: fillTableColRef
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:226,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 154
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - direct
    argTypes:
    - SVnode*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 293
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 293
    functionName: vnodeGetTableMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - vnodePrintTableMeta
    - taosMemoryFree
    - taosMemoryCalloc
    - strcpy
    - metaReaderGetTableEntryByUid
    - tsnprintf
    - vnodeValidateTableHash
    - taosMemoryMalloc
    - fillTableColRef
    - memcpy
    - metaReaderDoInit
    - TAOS_CHECK_GOTO
    - tmsgSendRsp
    - metaGetTableEntryByName
    - fillTableColCmpr
    - tstrncpy
    - tSerializeSTableMetaRsp
    - qError
    - metaReaderClear
    - TD_VID
    - taosStr2UInt64
    - rpcMallocCont
    - tDeserializeSTableInfoReq
    - tstrerror
    - SET_ERRNO
    - vError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetTableMeta(SVnode *pVnode, SRpcMsg *pMsg, bool direct) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:759,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:755,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:763,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:765,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:766,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:786,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:765,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:730,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:727,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:736,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:743,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:744,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:749,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:760,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:761,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:763,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:726,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:729,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:734,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:741,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:748,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:745,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:744,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:759,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:785,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:789,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:776,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - pHandle
    - suid
    - ppRes
    argTypes:
    - SReadHandle*
    - int64_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 792
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 792
    functionName: vnodeReadVStbRefDbs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - taosArrayGet
    - taosArrayDestroy
    - tSimpleHashCleanup
    - taosGetDefaultHashFunction
    - tSimpleHashGet
    - qError
    - tstrerror
    - tSimpleHashInit
    - strlen
    - QUERY_CHECK_NULL
    - taosArrayPush
    - taosStrdup
    - tSimpleHashPut
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeReadVStbRefDbs(SReadHandle* pHandle, int64_t suid, SArray**
      ppRes) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVStbRefDbsReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:864,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:866,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:874,1
    - Dst: vnodeReadVStbRefDbs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:873,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:871,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:875,1
    - Dst: tSerializeSVStbRefDbsRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:877,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:880,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:883,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:886,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:892,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:905,1
    - Dst: tDestroySVStbRefDbsRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:905,1
    - Dst: tSerializeSVStbRefDbsRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:889,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 913
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 913
    functionName: vnodeGetVStbRefDbs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - vnodeReadVStbRefDbs
    - taosMemoryCalloc
    - tDestroySVStbRefDbsRsp
    - initStorageAPI
    - qError
    - tstrerror
    - TD_VID
    - tSerializeSVStbRefDbsRsp
    - tDeserializeSVStbRefDbsReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetVStbRefDbs(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:998,1
    - Dst: metaCtbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1005,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1011,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1000,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1012,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1018,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pVnode
    - uid
    - list
    argTypes:
    - SVnode*
    - uint64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1020
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1020
    functionName: vnodeGetAllTableList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaOpenCtbCursor
    - metaCloseCtbCursor
    - qError
    - metaCtbCursorNext
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetAllTableList(SVnode *pVnode, uint64_t uid, SArray
      *list) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1029,1
    - Dst: metaCtbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1036,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1041,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1042,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1031,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1049,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pVnode
    - suid
    - list
    argTypes:
    - void*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1051
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1051
    functionName: vnodeGetCtbIdList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaOpenCtbCursor
    - metaCloseCtbCursor
    - qError
    - metaCtbCursorNext
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetCtbIdList(void *pVnode, int64_t suid, SArray *list) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetDBPrimaryInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1351,1
    - Dst: tsdbGetFsSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pVnode
    - pInfo
    argTypes:
    - void*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 1357
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1357
    functionName: vnodeGetDBSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - vnodeGetDBPrimaryInfo
    - tsdbGetFsSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetDBSize(void *pVnode, SDbSizeStatisInfo *pInfo) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:491,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:500,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:507,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:550,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:574,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:586,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:588,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:593,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:607,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:610,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:538,1
    - Dst: vnodeGetVSubtablesMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:549,1
    - Dst: tSerializeSBatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:592,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:504,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:526,1
    - Dst: vnodeGetTableCfg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:537,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:544,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:556,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:532,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:573,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:611,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:607,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:497,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:512,1
    - Dst: vnodeGetTableMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:525,1
    - Dst: vnodeGetTableMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:531,1
    - Dst: vnodeGetStreamProgress
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:543,1
    - Dst: vnodeGetVStbRefDbs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:555,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:560,1
    - Dst: tSerializeSBatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:580,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:582,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 93
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 616
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 616
    functionName: vnodeGetBatchMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - tDeserializeSBatchReq
    - vnodeGetStreamProgress
    - taosArrayGet
    - tmsgSendRsp
    - qWarn
    - tSerializeSBatchRsp
    - qError
    - vnodeGetTableMeta
    - vnodeGetVSubtablesMeta
    - tstrerror
    - taosArrayPush
    - taosArrayDestroyEx
    - vnodeGetTableCfg
    - vnodeGetVStbRefDbs
    - taosArrayGetSize
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetBatchMeta(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VNODE_GET_LOAD_RESET_VALS
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:960,1
    - Dst: VNODE_GET_LOAD_RESET_VALS
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:961,1
    - Dst: VNODE_GET_LOAD_RESET_VALS
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:962,1
    - Dst: VNODE_GET_LOAD_RESET_VALS
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:963,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pVnode
    - pLoad
    argTypes:
    - SVnode*
    - SVnodeLoad*
    constantsTouched: []
    func_position:
      end: 965
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 965
    functionName: vnodeResetLoad
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - VNODE_GET_LOAD_RESET_VALS
    linkageType: ''
    returnType: void
    signature: 'void vnodeResetLoad(SVnode *pVnode, SVnodeLoad *pLoad) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1109,1
    - Dst: metaCtbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1116,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1124,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pVnode
    - suid
    - num
    argTypes:
    - SVnode*
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1126
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1126
    functionName: vnodeGetCtbNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaCtbCursorNext
    - metaOpenCtbCursor
    - metaCloseCtbCursor
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetCtbNum(SVnode *pVnode, int64_t suid, int64_t *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetIvtIdx
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1310,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1311
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1311
    functionName: vnodeGetIvtIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaGetIvtIdx
    linkageType: ''
    returnType: void*
    signature: 'void *vnodeGetIvtIdx(void *pVnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:976,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 11
    argCount: 5
    argNames:
    - pVnode
    - dbname
    - vgId
    - numOfTables
    - numOfNormalTables
    argTypes:
    - void*
    - char**
    - int32_t*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 986
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 986
    functionName: vnodeGetInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'void vnodeGetInfo(void *pVnode, const char **dbname, int32_t *vgId,
      int64_t *numOfTables, int64_t *numOfNormalTables) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1129,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pVnode
    - suid
    - num
    argTypes:
    - SVnode*
    - tb_uid_t
    - int*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1138
    functionName: vnodeGetStbColumnNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - tDeleteSchemaWrapper
    - metaGetTableSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetStbColumnNum(SVnode *pVnode, tb_uid_t suid, int *num) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pVnode
    - uid
    - pSchema
    - suid
    argTypes:
    - void*
    - int64_t
    - STSchema**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1315
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1315
    functionName: vnodeGetTableSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - tsdbGetTableSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetTableSchema(void *pVnode, int64_t uid, STSchema **pSchema,
      int64_t *suid) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:324,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:354,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:365,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:346,1
    - Dst: hasRefCol
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:411,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:432,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:442,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:456,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:460,1
    - Dst: vnodeValidateTableHash
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:314,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:326,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:340,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:359,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:434,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:465,1
    - Dst: tDeserializeSTableCfgReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:309,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:338,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:380,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:372,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:397,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:419,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:467,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:315,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:317,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:337,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:388,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:382,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:381,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:390,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:417,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:418,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:425,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:466,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 146
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - direct
    argTypes:
    - SVnode*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 469
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 469
    functionName: vnodeGetTableCfg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - hasRefCol
    - taosMemoryCalloc
    - metaReaderGetTableEntryByUid
    - tsnprintf
    - vnodeValidateTableHash
    - taosMemoryMalloc
    - memcpy
    - metaReaderDoInit
    - tmsgSendRsp
    - metaGetTableEntryByName
    - tstrncpy
    - tDeserializeSTableCfgReq
    - qError
    - metaReaderClear
    - tFreeSTableCfgRsp
    - rpcMallocCont
    - withExtSchema
    - tSerializeSTableCfgRsp
    - tstrerror
    - vError
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetTableCfg(SVnode *pVnode, SRpcMsg *pMsg, bool direct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:917,1
    - Dst: syncGetCommitIndex
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:919,1
    - Dst: tsdbCacheGetUsage
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:929,1
    - Dst: tsdbCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:930,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:921,1
    - Dst: VNODE_DO_META_QUERY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:931,1
    - Dst: metaGetTbNum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:931,1
    - Dst: VNODE_DO_META_QUERY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:932,1
    - Dst: metaGetTimeSeriesNum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:932,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:937,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:938,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:940,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:939,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 2
    argNames:
    - pVnode
    - pLoad
    argTypes:
    - SVnode*
    - SVnodeLoad*
    constantsTouched: []
    func_position:
      end: 942
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 942
    functionName: vnodeGetLoad
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - tsdbCacheGetElems
    - tsdbCacheGetUsage
    - TD_VID
    - syncGetState
    - syncGetCommitIndex
    - metaGetTbNum
    - metaGetTimeSeriesNum
    - VNODE_DO_META_QUERY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetLoad(SVnode *pVnode, SVnodeLoad *pLoad) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1189,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1190,1
    - Dst: metaSizeOfTbFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1198,1
    - Dst: metaGetTableEntryUidByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1201,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1193,1
    - Dst: metaPutTbToFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1203,1
    - Dst: metaSizeOfTbFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1209,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - pVnode
    - tbSize
    argTypes:
    - SVnode*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1214
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1214
    functionName: vnodeGetTimeSeriesBlackList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - strchr
    - strncmp
    - metaPutTbToFilterCache
    - metaSizeOfTbFilterCache
    - metaGetTableEntryUidByName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeGetTimeSeriesBlackList(SVnode *pVnode, int32_t
      *tbSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1272,1
    - Dst: metaCloseStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1287,1
    - Dst: metaStbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1279,1
    - Dst: vnodeGetCtbNum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1285,1
    - Dst: metaCloseStbCursor
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1294,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pVnode
    - num
    argTypes:
    - SVnode*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1296
    functionName: vnodeGetAllCtbNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - vnodeGetCtbNum
    - metaOpenStbCursor
    - metaCloseStbCursor
    - metaStbCursorNext
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetAllCtbNum(SVnode *pVnode, int64_t *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:477,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 478
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 478
    functionName: vnodeFreeSBatchRspMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void vnodeFreeSBatchRspMsg(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:945,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:947,1
    - Dst: metaGetTimeSeriesNum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pVnode
    - pLoad
    argTypes:
    - SVnode*
    - SVnodeLoadLite*
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: vnodeGetLoadLite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - TD_VID
    - syncGetState
    - metaGetTimeSeriesNum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetLoadLite(SVnode *pVnode, SVnodeLoadLite *pLoad) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetIdx
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c:1303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1304
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1304
    functionName: vnodeGetIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeQuery.c
    functionUses: []
    functionsReached:
    - metaGetIdx
    linkageType: ''
    returnType: void*
    signature: 'void *vnodeGetIdx(void *pVnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:66,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:74,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:79,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:72,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:68,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:81,1
    - Dst: metaGetTableEntryUidByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:85,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:87,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:89,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:98,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:98,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:100,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:94,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:100,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:98,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - pVnode
    - pCoder
    - btime
    - pUid
    argTypes:
    - SVnode*
    - SDecoder*
    - int64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 104
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 104
    functionName: vnodePreprocessCreateTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tDecodeI32v
    - taosSetInt64Aligned
    - tStartDecode
    - tEndDecode
    - tstrerror
    - vError
    - TD_VID
    - metaGetTableEntryUidByName
    - vTrace
    - tDecodeCStr
    - tGenIdPI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreprocessCreateTableReq(SVnode *pVnode, SDecoder
      *pCoder, int64_t btime, int64_t *pUid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:493,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:500,1
    - Dst: vnodeCheckToken
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:498,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:500,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:500,1
    - Dst: tFreeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 507
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 507
    functionName: vnodePreProcessArbCheckSyncMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDeserializeSVArbCheckSyncReq
    - vnodeCheckToken
    - tstrerror
    - tFreeSVArbCheckSyncReq
    - vError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessArbCheckSyncMsg(SVnode *pVnode, SRpcMsg
      *pMsg) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:902,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:906,1
    - Dst: qWorkerProcessRspMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:916,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:907,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:914,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:920,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:922,1
    - Dst: qWorkerProcessHbMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:924,1
    - Dst: vnodeGetTableMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:927,1
    - Dst: vnodeGetTableCfg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:929,1
    - Dst: vnodeGetBatchMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:931,1
    - Dst: tqProcessSeekReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:948,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:951,1
    - Dst: vnodeQueryCompactProgress
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:938,1
    - Dst: tqProcessVgWalInfoReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:944,1
    - Dst: tqProcessVgCommittedInfoReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:946,1
    - Dst: vnodeGetVSubtablesMeta
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:933,1
    - Dst: vnodeGetVStbRefDbs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:935,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 36
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 954
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 954
    functionName: vnodeProcessFetchMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - qWorkerProcessDropMsg
    - syncIsReadyForRead
    - qWorkerProcessFetchMsg
    - qWorkerProcessRspMsg
    - vnodeRedirectRpcMsg
    - qWorkerProcessNotifyMsg
    - tqProcessVgCommittedInfoReq
    - vnodeGetTableMeta
    - vnodeGetVSubtablesMeta
    - qWorkerProcessHbMsg
    - tqProcessVgWalInfoReq
    - vError
    - vnodeGetTableCfg
    - vnodeGetBatchMeta
    - vnodeGetVStbRefDbs
    - tqProcessSeekReq
    - vTrace
    - vnodeQueryCompactProgress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessFetchMsg(SVnode *pVnode, SRpcMsg *pMsg, SQueueInfo
      *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessTSmaInsert
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1058,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pVnode
    - smaId
    - data
    argTypes:
    - void*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1060
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1060
    functionName: smaHandleRes
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tdProcessTSmaInsert
    - vError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void smaHandleRes(void *pVnode, int64_t smaId, const SArray *data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1241,1
    - Dst: metaCreateSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1249,1
    - Dst: tDecodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1243,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1260,1
    - Dst: tdProcessRSmaCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1255,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1266
    functionName: vnodeProcessCreateStbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSVCreateStbReq
    - tdProcessRSmaCreate
    - metaCreateSuperTable
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessCreateStbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1751,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1759,1
    - Dst: metaGetTbTSchemaNotNull
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1752,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1761,1
    - Dst: tdSTSRowIterInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1757,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1771,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1776,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1777,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1782,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1783,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pMeta
    - pCxt
    argTypes:
    - SMeta*
    - SSubmitReqConvertCxt*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1789
    functionName: vnodeResetTableCxt
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDestroySubmitTbData
    - taosArrayDestroy
    - tdSTSRowIterInit
    - taosMemoryCalloc
    - COL_VAL_NONE
    - taosArrayPush
    - metaGetTbTSchemaNotNull
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeResetTableCxt(SMeta *pMeta, SSubmitReqConvertCxt
      *pCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1844,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1850,1
    - Dst: tDecodeSVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1851,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SSubmitReqConvertCxt*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1855
    functionName: vnodeDecodeCreateTbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tDecoderInit
    - tDecoderClear
    - tDecodeSVCreateTbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeDecodeCreateTbReq(SSubmitReqConvertCxt *pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncCheckMember
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2614,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2615,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2615,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2624
    functionName: vnodeProcessConfigChangeReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - syncCheckMember
    - vError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessConfigChangeReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:109,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:113,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:114,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:121,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:119,1
    - Dst: vnodePreprocessCreateTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:124,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:125,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:128,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:131,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:133,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:134,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 137
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 137
    functionName: vnodePreProcessCreateTableMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tDecoderInit
    - TSDB_CHECK_CODE
    - vnodePreprocessCreateTableReq
    - tDecodeI32v
    - tStartDecode
    - tEndDecode
    - tstrerror
    - vError
    - TD_VID
    - tDecoderClear
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessCreateTableMsg(SVnode *pVnode, SRpcMsg
      *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:518,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:549,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:547,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:557,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:539,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:552,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:540,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:552,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:559,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:518,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:525,1
    - Dst: metaGetTableEntryUidByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:533,1
    - Dst: vWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:535,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:550,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:553,1
    - Dst: tDecodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:523,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:535,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:539,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:548,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 562
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 562
    functionName: vnodePreProcessDropTbMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TSDB_CHECK_CODE
    - vDebug
    - tEncoderInit
    - tEncoderClear
    - taosArrayDestroy
    - tDecoderClear
    - tstrerror
    - POINTER_SHIFT
    - taosArrayPush
    - TD_VID
    - tEncodeSize
    - tEncodeSVDropTbBatchReq
    - vError
    - tDecodeSVDropTbBatchReq
    - metaGetTableEntryUidByName
    - vWarn
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodePreProcessDropTbMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1067,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1069,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pVnode
    - pMetaRsp
    argTypes:
    - SVnode*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1071
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1071
    functionName: vnodeUpdateMetaRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void vnodeUpdateMetaRsp(SVnode *pVnode, STableMetaRsp *pMetaRsp) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1295,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1316,1
    - Dst: vnodeValidateTableHash
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1325,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1327,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1332,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1363,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1363,1
    - Dst: tdUidStoreFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1370,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1383,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1416,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1420,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1397,1
    - Dst: auditAddRecord
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1408,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1294,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1296,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1306,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1324,1
    - Dst: metaCreateTable2
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1337,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1348,1
    - Dst: tdFetchTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1363,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1365,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1397,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1287,1
    - Dst: tDecodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1288,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1332,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1346,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1356,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1365,1
    - Dst: tdUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1367,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1375,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1381,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1391,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1383,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1399,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1309,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1315,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1346,1
    - Dst: vnodeUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1353,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1364,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1374,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1390,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1391,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1396,1
    - Dst: taosStringBuilderDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1411,1
    - Dst: taosStringBuilderGetResult
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1405,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1417,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1419,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1418,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1415,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1407,1
    - Dst: tEncodeSVCreateTbBatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1382,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 141
    argCount: 6
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    - pOriginRpc
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1422
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1422
    functionName: vnodeProcessCreateTbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tEncoderInit
    - taosMemoryCalloc
    - tDeleteSVCreateTbBatchReq
    - taosArrayGetSize
    - taosStringBuilderGetResult
    - tsnprintf
    - taosArrayInit
    - vnodeValidateTableHash
    - taosArrayDestroy
    - taosArrayDestroyP
    - tDecodeSVCreateTbBatchReq
    - taosArrayPush
    - tEncodeSize
    - taosStringBuilderDestroy
    - taosArrayDestroyEx
    - tdFetchTbUidList
    - auditAddRecord
    - taosStringBuilderAppendStringLen
    - taosArrayGet
    - memset
    - tstrncpy
    - TD_VID
    - tdUpdateTbUidList
    - tqUpdateTbUidList
    - vTrace
    - rpcMallocCont
    - tDecoderInit
    - tEncoderClear
    - taosStringBuilderAppendChar
    - tNameFromString
    - tstrerror
    - tdUidStoreFree
    - strlen
    - vError
    - metaCreateTable2
    - tEncodeSVCreateTbBatchRsp
    - vnodeUpdateMetaRsp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessCreateTbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp, SRpcMsg *pOriginRpc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1792,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1794,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1793,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SSubmitReqConvertCxt*
    constantsTouched: []
    func_position:
      end: 1796
      start: 1791
    functionDepth: 0
    functionLinenumber: 1791
    functionLinenumberEnd: 1796
    functionName: vnodeDestroySubmitReqConvertCxt
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tDestroySubmitTbData
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void vnodeDestroySubmitReqConvertCxt(SSubmitReqConvertCxt *pCxt) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1858,1
    - Dst: tInitSubmitBlkIter
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1875,1
    - Dst: tInitSubmitMsgIter
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1865,1
    - Dst: vnodeResetTableCxt
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1872,1
    - Dst: tGetSubmitMsgNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1867,1
    - Dst: vnodeDecodeCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1878,1
    - Dst: tGetSubmitBlkNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1880,1
    - Dst: vnodeTSRowConvertToColValArray
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1881,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1883,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1884,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1891,1
    - Dst: vnodeDestroySubmitReqConvertCxt
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1895,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1888,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 3
    argNames:
    - pVnode
    - pReq
    - pReq2
    argTypes:
    - SVnode*
    - SSubmitReq*
    - SSubmitReq2*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1897
    functionName: vnodeSubmitReqConvertToSubmitReq2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tInitSubmitMsgIter
    - vnodeResetTableCxt
    - tInitSubmitBlkIter
    - tGetSubmitMsgNext
    - vnodeDecodeCreateTbReq
    - tGetSubmitBlkNext
    - tRowBuild
    - taosArrayPush
    - taosArrayReserve
    - vnodeDestroySubmitReqConvertCxt
    - vnodeTSRowConvertToColValArray
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSubmitReqConvertToSubmitReq2(SVnode *pVnode, SSubmitReq
      *pReq, SSubmitReq2 *pReq2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1903,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1913,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1914,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1912,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1905,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pSubmitReq
    - ppMsg
    argTypes:
    - SSubmitReq2*
    - void**
    constantsTouched: []
    func_position:
      end: 1920
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1920
    functionName: vnodeRebuildSubmitReqMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tEncodeSubmitReq
    - tEncodeSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeRebuildSubmitReqMsg(SSubmitReq2 *pSubmitReq, void
      **ppMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2223,1
    - Dst: tDecodeSVCreateTSmaReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2225,1
    - Dst: tdProcessTSmaCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2231,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2237,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2236,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2237,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2242,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2243,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2244,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2244,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2249
      start: 2210
    functionDepth: 0
    functionLinenumber: 2210
    functionLinenumberEnd: 2249
    functionName: vnodeProcessCreateTSmaReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSVCreateTSmaReq
    - vDebug
    - terrstr
    - tdProcessTSmaCreate
    - vError
    - TD_VID
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessCreateTSmaReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCacheSetCapacity
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2322,1
    - Dst: tsdbDisableAndCancelAllBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2403,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2405,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2405,1
    - Dst: walAlter
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2425,1
    - Dst: tDeserializeSAlterVnodeConfigReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2306,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2326,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2315,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2326,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2333,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2371,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2405,1
    - Dst: tsdbSetKeepCfg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2431,1
    - Dst: metaAlterCache
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2332,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2337,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2378,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2337,1
    - Dst: vnodeAWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2401,1
    - Dst: tsdbEnableBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2409,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2426,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2311,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2334,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2385,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2426,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 133
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2435
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2435
    functionName: vnodeProcessAlterConfigReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - metaAlterCache
    - tsdbDisableAndCancelAllBgTask
    - vnodeAWait
    - VND_IS_RSMA
    - tsdbSetKeepCfg
    - tDeserializeSAlterVnodeConfigReq
    - tstrerror
    - tsdbEnableBgTask
    - vInfo
    - vError
    - TD_VID
    - walAlter
    - tsdbCacheSetCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessAlterConfigReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2627,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2637,1
    - Dst: vnodeGetArbToken
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2633,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pVnode
    - member0Token
    - member1Token
    argTypes:
    - SVnode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2644
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2644
    functionName: vnodeCheckToken
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - strncmp
    - vnodeGetArbToken
    - syncGetState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCheckToken(SVnode *pVnode, char *member0Token,
      char *member1Token) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerPreprocessQueryMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:855,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: vnodePreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - qWorkerPreprocessQueryMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodePreprocessQueryMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1121,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1140,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1132,1
    - Dst: metaDropMultipleTables
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1137,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1126,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1142,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1142,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1147,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1149
    functionName: vnodeProcessDropTtlTbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - metaDropMultipleTables
    - tstrerror
    - vInfo
    - tDeserializeSVDropTtlTableReq
    - vError
    - TD_VID
    - taosArrayGetSize
    - tqUpdateTbUidList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessDropTtlTbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:859,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:861,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:871,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:866,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:860,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:877,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:881,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:883,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:888,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:890,1
    - Dst: tqProcessPollPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:894,1
    - Dst: tqProcessPollReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:892,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:896,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 899
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 899
    functionName: vnodeProcessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - qWorkerProcessCQueryMsg
    - syncIsReadyForRead
    - tqProcessPollReq
    - vnodeRedirectRpcMsg
    - tqProcessPollPush
    - initStorageAPI
    - qWorkerProcessQueryMsg
    - vError
    - vTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessQueryMsg(SVnode *pVnode, SRpcMsg *pMsg, SQueueInfo
      *pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1037,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1040,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1041,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1049,1
    - Dst: tqProcessTaskRunReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1047,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1052
    functionName: vnodeProcessStreamChkptMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - syncIsReadyForRead
    - tqProcessTaskRunReq
    - vnodeRedirectRpcMsg
    - vError
    - vTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessStreamChkptMsg(SVnode *pVnode, SRpcMsg *pMsg,
      SQueueInfo *pInfo) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1176,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1177,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1168,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1181,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1188,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1192,1
    - Dst: tEncodeVFetchTtlExpiredTbsRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1217,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1222,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1190,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1216,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1210,1
    - Dst: tDeserializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1163,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1203,1
    - Dst: tFreeFetchTtlExpiredTbsRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1223,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1218,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1224,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1209,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1225,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1228
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1228
    functionName: vnodeProcessFetchTtlExpiredTbs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - taosArrayGet
    - tEncoderInit
    - taosArrayDestroy
    - metaReaderGetTableEntryByUid
    - tstrncpy
    - tEncodeVFetchTtlExpiredTbsRsp
    - metaReaderClear
    - tDeserializeSVDropTtlTableReq
    - metaReaderDoInit
    - TD_VID
    - taosArrayPush
    - tEncodeSize
    - tFreeFetchTtlExpiredTbsRsp
    - taosArrayGetSize
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessFetchTtlExpiredTbs(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:144,1
    - Dst: tDecodeSVAlterTbReqSetCtime
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:148,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:147,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:153,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:149,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:159,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:161,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:161,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:163,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 167
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 167
    functionName: vnodePreProcessAlterTableMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tDecoderInit
    - taosArrayDestroy
    - tstrerror
    - vError
    - TD_VID
    - tDecodeSVAlterTbReqSetCtime
    - vTrace
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessAlterTableMsg(SVnode *pVnode, SRpcMsg
      *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:957,1
    - Dst: tqProcessTaskRunReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:969,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:962,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:963,1
    - Dst: tqProcessTaskRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:971,1
    - Dst: tqProcessTaskRetrieveRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:973,1
    - Dst: tqStreamProgressRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:975,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:977,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 980
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 980
    functionName: vnodeProcessStreamMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - syncIsReadyForRead
    - tqProcessTaskRunReq
    - vnodeRedirectRpcMsg
    - tqProcessTaskRetrieveRsp
    - vError
    - tqProcessTaskRetrieveReq
    - vTrace
    - tqStreamProgressRetrieveReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessStreamMsg(SVnode *pVnode, SRpcMsg *pMsg, SQueueInfo
      *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1434,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1439,1
    - Dst: metaAlterSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1443,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1446,1
    - Dst: tDecodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1437,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1453
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1453
    functionName: vnodeProcessAlterStbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecodeSVCreateStbReq
    - tDecoderInit
    - metaAlterSuperTable
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessAlterStbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdValTypeIsNone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1799,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1811,1
    - Dst: tdValTypeIsNull
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1804,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1810,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1809,1
    - Dst: GET_FLOAT_VAL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1813,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1814,1
    - Dst: taosSetPInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1816,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1818,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pCol
    - pCellVal
    - pColVal
    argTypes:
    - STColumn*
    - SCellVal*
    - SColVal*
    constantsTouched: []
    func_position:
      end: 1823
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1823
    functionName: vnodeCellValConvertToColVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tdValTypeIsNone
    - valueSetDatum
    - varDataLen
    - GET_FLOAT_VAL
    - varDataVal
    - taosSetPInt64Aligned
    - tdValTypeIsNull
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCellValConvertToColVal(STColumn *pCol, SCellVal
      *pCellVal, SColVal *pColVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeProcessCreateTSmaReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pVnode
    - pCont
    - contLen
    argTypes:
    - SVnode*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 2261
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2261
    functionName: vnodeProcessCreateTSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeProcessCreateTSmaReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessCreateTSma(SVnode *pVnode, void *pCont, uint32_t
      contLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2276,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2284,1
    - Dst: vnodeConsolidateAlterHashRange
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2282,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2276,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2284,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2296
      start: 2275
    functionDepth: 0
    functionLinenumber: 2275
    functionLinenumberEnd: 2296
    functionName: vnodeProcessAlterConfirmReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - terrstr
    - vInfo
    - vError
    - TD_VID
    - vnodeConsolidateAlterHashRange
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessAlterConfirmReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2456,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2459,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2478,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2442,1
    - Dst: tDecodeSBatchDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2441,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2478,1
    - Dst: tsdbDeleteTableData
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2465,1
    - Dst: metaUpdateChangeTimeWithLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2473,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2469,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2440,1
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2451,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2451,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2458,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2469,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2481,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2468,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2476,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2483,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2484,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2486
      start: 2437
    functionDepth: 0
    functionLinenumber: 2437
    functionLinenumberEnd: 2486
    functionName: vnodeProcessBatchDeleteReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - VND_RSMA2
    - taosArrayGet
    - vDebug
    - metaGetTableEntryByName
    - taosArrayDestroy
    - VND_RSMA1
    - terrstr
    - tsdbDeleteTableData
    - taosArrayGetSize
    - metaUpdateChangeTimeWithLock
    - metaReaderClear
    - vError
    - TD_VID
    - tDecodeSBatchDeleteReq
    - metaReaderDoInit
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessBatchDeleteReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2563,1
    - Dst: metaAddIndexToSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2570,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2566,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2575,1
    - Dst: tDecodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2565,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2579,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2581
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2581
    functionName: vnodeProcessCreateIndexReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - metaAddIndexToSuperTable
    - tDecodeSVCreateStbReq
    - tDecoderInit
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessCreateIndexReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaTtlFindExpired
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:193,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:215,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:219,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:235,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:236,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:238,1
    - Dst: tDeserializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:180,1
    - Dst: tSerializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:209,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:221,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:224,1
    - Dst: tSerializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:218,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:182,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:196,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:205,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:232,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:235,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:238,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:189,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:186,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:199,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:212,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 242
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 242
    functionName: vnodePreProcessDropTtlMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - htonl
    - TSDB_CHECK_CODE
    - vTrace
    - taosArrayDestroy
    - tSerializeSVDropTtlTableReq
    - tstrerror
    - tDeserializeSVDropTtlTableReq
    - vError
    - TD_VID
    - metaTtlFindExpired
    - rpcFreeCont
    - taosArrayGetSize
    - rpcMallocCont
    - taosArrayInit
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessDropTtlMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:983,1
    - Dst: tqProcessStreamHbRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:993,1
    - Dst: tqProcessTaskDispatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:995,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:986,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:987,1
    - Dst: tqProcessTaskDispatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:997,1
    - Dst: tqProcessTaskCheckReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:999,1
    - Dst: tqProcessTaskCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1001,1
    - Dst: tqProcessTaskCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1003,1
    - Dst: tqProcessTaskCheckpointReadyRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1005,1
    - Dst: tqProcessTaskRetrieveTriggerReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1007,1
    - Dst: tqProcessTaskRetrieveTriggerRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1009,1
    - Dst: tqProcessStreamReqCheckpointRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1011,1
    - Dst: tqProcessTaskChkptReportRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1013,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1015,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 1018
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1018
    functionName: vnodeProcessStreamCtrlMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tqProcessTaskCheckReq
    - syncIsReadyForRead
    - tqProcessTaskDispatchRsp
    - tqProcessTaskRetrieveTriggerReq
    - tqProcessTaskCheckpointReadyMsg
    - tqProcessTaskChkptReportRsp
    - vnodeRedirectRpcMsg
    - tqProcessTaskCheckpointReadyRsp
    - tqProcessTaskRetrieveTriggerRsp
    - tqProcessStreamReqCheckpointRsp
    - tqProcessStreamHbRsp
    - vError
    - tqProcessTaskCheckRsp
    - vTrace
    - tqProcessTaskDispatchReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessStreamCtrlMsg(SVnode *pVnode, SRpcMsg *pMsg, SQueueInfo
      *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1077,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1077,1
    - Dst: tDeserializeSVTrimDbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1085,1
    - Dst: vnodeAsyncRetention
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1092,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1090,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1096
    functionName: vnodeProcessTrimReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeAsyncRetention
    - vInfo
    - TD_VID
    - tDeserializeSVTrimDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessTrimReq(SVnode *pVnode, int64_t ver, void
      *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1466,1
    - Dst: metaDropSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1475,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1480,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1473,1
    - Dst: tDecodeSVDropStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1467,1
    - Dst: tdProcessRSmaDrop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1485,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1492,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1494,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1496
    functionName: vnodeProcessDropStbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaDropSuperTable
    - tDecodeSVDropStbReq
    - tdProcessRSmaDrop
    - taosArrayDestroy
    - tDecoderClear
    - tqUpdateTbUidList
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessDropStbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdSTSRowIterReset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1834,1
    - Dst: tdSTSRowIterFetch
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1831,1
    - Dst: vnodeCellValConvertToColVal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1834,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SSubmitReqConvertCxt*
    constantsTouched: []
    func_position:
      end: 1837
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1837
    functionName: vnodeTSRowConvertToColValArray
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeCellValConvertToColVal
    - tdSTSRowIterReset
    - taosArrayGet
    - tdSTSRowIterFetch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeTSRowConvertToColValArray(SSubmitReqConvertCxt
      *pCxt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2266,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2266,1
    - Dst: metaTrimTables
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pVnode
    - ver
    argTypes:
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2273
      start: 2263
    functionDepth: 0
    functionLinenumber: 2263
    functionLinenumberEnd: 2273
    functionName: vnodeConsolidateAlterHashRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - metaTrimTables
    - vInfo
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeConsolidateAlterHashRange(SVnode *pVnode, int64_t
      ver) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2499,1
    - Dst: tDecodeDeleteRes
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2506,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2511,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2505,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2510,1
    - Dst: tsdbDeleteTableData
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2512,1
    - Dst: metaUpdateChangeTimeWithLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2514,1
    - Dst: tdProcessRSmaDelete
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2519,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2521,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2522,1
    - Dst: tEncodeSVDeleteRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2530,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2532,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2526,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2529,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2527,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 34
    argCount: 6
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    - pOriginalMsg
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2488
    functionDepth: 0
    functionLinenumber: 2488
    functionLinenumberEnd: 2552
    functionName: vnodeProcessDeleteReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tEncoderClear
    - taosArrayGet
    - taosArrayDestroy
    - tEncoderInit
    - tEncodeSVDeleteRsp
    - tsdbDeleteTableData
    - metaUpdateChangeTimeWithLock
    - tdProcessRSmaDelete
    - tEncodeSize
    - taosArrayGetSize
    - tDecoderClear
    - rpcMallocCont
    - tDecodeDeleteRes
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessDeleteReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp, SRpcMsg *pOriginalMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSDropIdxReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2590,1
    - Dst: metaDropIndexFromSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2595,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2601
      start: 2582
    functionDepth: 0
    functionLinenumber: 2582
    functionLinenumberEnd: 2601
    functionName: vnodeProcessDropIndexReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - metaDropIndexFromSuperTable
    - tDeserializeSDropIdxReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessDropIndexReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tInitSubmitBlkIter
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1715,1
    - Dst: metaGetTbTSchemaNotNull
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1718,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1721,1
    - Dst: TD_ROW_SVER
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1726,1
    - Dst: TD_ROW_SVER
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1718,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1729,1
    - Dst: tGetSubmitBlkNext
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1730,1
    - Dst: tdSRowPrint
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1731,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1734,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pMeta
    - pBlock
    - msgIter
    - tags
    argTypes:
    - SMeta*
    - SSubmitBlk*
    - SSubmitMsgIter*
    - char*
    constantsTouched: []
    func_position:
      end: 1737
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1737
    functionName: vnodeDebugPrintSingleSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - TD_ROW_SVER
    - snprintf
    - tInitSubmitBlkIter
    - printf
    - tGetSubmitBlkNext
    - tdSRowPrint
    - metaGetTbTSchemaNotNull
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeDebugPrintSingleSubmitMsg(SMeta *pMeta, SSubmitBlk
      *pBlock, SSubmitMsgIter *msgIter, const char *tags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:436,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:441,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:443,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:444,1
    - Dst: qWorkerProcessDeleteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:438,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:447,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:449,1
    - Dst: tEncodeDeleteRes
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:450,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:451,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:451,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:455,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:459,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:453,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 463
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 463
    functionName: vnodePreProcessDeleteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tEncoderClear
    - tEncoderInit
    - taosArrayDestroy
    - qWorkerProcessDeleteMsg
    - initStorageAPI
    - vError
    - tEncodeSize
    - TD_VID
    - rpcFreeCont
    - tEncodeDeleteRes
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessDeleteMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vnodePreProcessCreateTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:569,1
    - Dst: vnodePreProcessAlterTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:572,1
    - Dst: vnodePreProcessDeleteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:582,1
    - Dst: vnodePreProcessDropTtlMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:576,1
    - Dst: vnodePreProcessSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:579,1
    - Dst: vnodePreProcessBatchDeleteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:585,1
    - Dst: vnodePreProcessArbCheckSyncMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:588,1
    - Dst: vnodePreProcessDropTbMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:591,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:598,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:598,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:598,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 602
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 602
    functionName: vnodePreProcessWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodePreProcessAlterTableMsg
    - vnodePreProcessDropTbMsg
    - vnodePreProcessSubmitMsg
    - vnodePreProcessBatchDeleteMsg
    - vnodePreProcessDeleteMsg
    - vnodePreProcessArbCheckSyncMsg
    - tstrerror
    - vnodePreProcessCreateTableMsg
    - vnodePreProcessDropTtlMsg
    - vError
    - TD_VID
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodePreProcessWriteMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1525,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1538,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1538,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1545,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1544,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1563,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1566,1
    - Dst: metaAlterTable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1523,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1518,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1561,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1562,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1571,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1575,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1572,1
    - Dst: tEncodeSVAlterTbRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1565,1
    - Dst: tDecodeSVAlterTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1516,1
    - Dst: metaGetTableEntryUidByName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1536,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1548,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1549,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1547,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1549,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1552,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1553,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1554,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1513,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1528,1
    - Dst: vnodeUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1531,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1549,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1543,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1547,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1552,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1554,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1564,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1569,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1557,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1578
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1578
    functionName: vnodeProcessAlterTbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tEncoderInit
    - TSDB_CHECK_NULL
    - metaGetTableEntryUidByName
    - taosArrayInit
    - tDecodeSVAlterTbReq
    - taosArrayDestroy
    - taosArrayPush
    - tEncodeSize
    - tEncodeSVAlterTbRsp
    - TD_VID
    - tqUpdateTbUidList
    - rpcMallocCont
    - tDecoderInit
    - vDebug
    - tEncoderClear
    - metaAlterTable
    - tstrerror
    - vError
    - vnodeUpdateMetaRsp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessAlterTbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeCheckToken
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2647,1
    - Dst: syncCheckSynced
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pVnode
    - member0Token
    - member1Token
    argTypes:
    - SVnode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 2653
      start: 2646
    functionDepth: 0
    functionLinenumber: 2646
    functionLinenumberEnd: 2653
    functionName: vnodeCheckSyncd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - syncCheckSynced
    - vnodeCheckToken
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCheckSyncd(SVnode *pVnode, char *member0Token,
      char *member1Token) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2718
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2718
    functionName: vnodeAsyncCompact
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncCompact(SVnode *pVnode, int64_t ver, void *pReq,
      int32_t len, SRpcMsg *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHton64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:390,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:395,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:399,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:392,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:397,1
    - Dst: tDecodeU64v
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:403,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:405,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:408,1
    - Dst: vnodePreProcessSubmitTbData
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:411,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:412,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:415,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:420,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:420,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:421,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:421,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:418,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 424
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 424
    functionName: vnodePreProcessSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tDecoderInit
    - TSDB_CHECK_CODE
    - tStartDecode
    - vnodePreProcessSubmitTbData
    - taosHton64
    - tEndDecode
    - tstrerror
    - vError
    - TD_VID
    - tDecodeU64v
    - tDecoderClear
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessSubmitMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:469,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:479,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:473,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:480,1
    - Dst: tDecodeSBatchDeleteReqSetCtime
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:475,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:483,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:483,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:485,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 488
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 488
    functionName: vnodePreProcessBatchDeleteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tDecoderInit
    - taosArrayDestroy
    - tDecodeSBatchDeleteReqSetCtime
    - tstrerror
    - vError
    - TD_VID
    - vTrace
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePreProcessBatchDeleteMsg(SVnode *pVnode, SRpcMsg
      *pMsg) '
  - BBCount: 77
    BranchProfiles: []
    Callsites:
    - Dst: vnodeProcessDropTtlTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:673,1
    - Dst: tqProcessOffsetCommitReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:710,1
    - Dst: tqProcessTaskDropReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:730,1
    - Dst: vnodeProcessAlterConfirmReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:772,1
    - Dst: tqProcessTaskPauseReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:747,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:810,1
    - Dst: vnodeIsLeader
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:746,1
    - Dst: vnodeProcessDropIndexReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:786,1
    - Dst: vnodeProcessCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:829,1
    - Dst: tqProcessTaskCheckPointSourceReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:789,1
    - Dst: vnodeAsyncCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:827,1
    - Dst: vnodeBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:834,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:627,1
    - Dst: tqProcessDeleteSubReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:836,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:836,1
    - Dst: vnodeProcessS3MigrateReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:682,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:845,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:627,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:820,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:826,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:619,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:631,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:643,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:829,1
    - Dst: tqProcessAllTaskStopReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:764,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:820,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:836,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:826,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:616,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:619,1
    - Dst: vnodeProcessTrimReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:679,1
    - Dst: vnodeProcessBatchDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:695,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:814,1
    - Dst: tqProcessTaskResetReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:758,1
    - Dst: vnodeProcessArbCheckSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:846,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:810,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:637,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:642,1
    - Dst: vnodeProcessAlterTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:667,1
    - Dst: vnodeProcessDropTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:670,1
    - Dst: vnodeProcessAlterConfigReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:777,1
    - Dst: vnodeProcessDropStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:661,1
    - Dst: vnodeProcessSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:689,1
    - Dst: walApplyVer
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:816,1
    - Dst: tqProcessTaskUpdateReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:792,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:820,1
    - Dst: tqProcessTaskUpdateCheckpointReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:735,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:845,1
    - Dst: tqProcessTaskResumeReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:753,1
    - Dst: vnodeProcessCompactVnodeReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:795,1
    - Dst: tqPushMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:818,1
    - Dst: tqProcessSubscribeReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:700,1
    - Dst: vnodeIsLeader
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:752,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:814,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:648,1
    - Dst: vnodeProcessCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:664,1
    - Dst: tqProcessTaskDeployReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:725,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:845,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:610,1
    - Dst: tqProcessTaskConsenChkptIdReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:740,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:613,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:612,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:624,1
    - Dst: vnodeProcessCreateTSmaReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:685,1
    - Dst: tqProcessDelCheckInfoReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:720,1
    - Dst: vnodeProcessKillCompactReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:802,1
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:645,1
    - Dst: vnodeProcessFetchTtlExpiredTbs
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:676,1
    - Dst: vnodeProcessDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:692,1
    - Dst: vnodeProcessConfigChangeReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:798,1
    - Dst: vnodeIsLeader
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:764,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:829,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:613,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:637,1
    - Dst: tqProcessAddCheckInfoReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:715,1
    - Dst: vnodeProcessCreateIndexReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:783,1
    - Dst: vnodeIsLeader
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:758,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:631,1
    - Dst: vnodeProcessAlterStbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:658,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 179
    argCount: 4
    argNames:
    - pVnode
    - pMsg
    - ver
    - pRsp
    argTypes:
    - SVnode*
    - SRpcMsg*
    - int64_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 848
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 848
    functionName: vnodeProcessWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeProcessSubmitReq
    - vnodeBegin
    - tqProcessTaskCheckPointSourceReq
    - vGDebug
    - vnodeProcessArbCheckSyncReq
    - vnodeProcessAlterConfirmReq
    - vInfo
    - vnodeProcessFetchTtlExpiredTbs
    - tqProcessTaskConsenChkptIdReq
    - tqProcessTaskUpdateCheckpointReq
    - vnodeAsyncCommit
    - vnodeProcessBatchDeleteReq
    - walApplyVer
    - tqProcessAllTaskStopReq
    - vnodeProcessDropTtlTbReq
    - vnodeProcessCreateIndexReq
    - tqProcessDeleteSubReq
    - vnodeProcessKillCompactReq
    - tqProcessTaskDropReq
    - TMSG_INFO
    - vnodeProcessCompactVnodeReq
    - tqProcessSubscribeReq
    - vnodeProcessDeleteReq
    - tqProcessTaskDeployReq
    - tqProcessTaskResumeReq
    - tqPushMsg
    - vnodeProcessCreateTSmaReq
    - atomic_store_64
    - TD_VID
    - syncUtilUserCommit
    - vnodeProcessAlterStbReq
    - vnodeProcessS3MigrateReq
    - vnodeProcessConfigChangeReq
    - vnodeProcessTrimReq
    - vnodeProcessDropStbReq
    - taosThreadMutexUnlock
    - tqProcessOffsetCommitReq
    - vnodeProcessAlterConfigReq
    - taosThreadMutexLock
    - tqProcessAddCheckInfoReq
    - vnodeProcessDropIndexReq
    - tqProcessTaskResetReq
    - vnodeProcessDropTbReq
    - tqProcessTaskUpdateReq
    - tqProcessDelCheckInfoReq
    - vnodeIsLeader
    - vnodeProcessAlterTbReq
    - tstrerror
    - vnodeProcessCreateStbReq
    - vnodeProcessCreateTbReq
    - POINTER_SHIFT
    - vError
    - tqProcessTaskPauseReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessWriteMsg(SVnode *pVnode, SRpcMsg *pMsg, int64_t
      ver, SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1021,1
    - Dst: tqProcessTaskScanHistory
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1029,1
    - Dst: syncIsReadyForRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1022,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1031,1
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pInfo
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 1034
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1034
    functionName: vnodeProcessStreamLongExecMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - syncIsReadyForRead
    - vnodeRedirectRpcMsg
    - vError
    - tqProcessTaskScanHistory
    - vTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessStreamLongExecMsg(SVnode *pVnode, SRpcMsg *pMsg,
      SQueueInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVS3MigrateDbReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1105,1
    - Dst: vnodeAsyncS3Migrate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1112,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1116
    functionName: vnodeProcessS3MigrateReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeAsyncS3Migrate
    - vInfo
    - tDeserializeSVS3MigrateDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessS3MigrateReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1597,1
    - Dst: tDecodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1598,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1608,1
    - Dst: metaDropTable2
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1617,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1628,1
    - Dst: tqUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1654,1
    - Dst: taosStringBuilderAppendChar
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1675,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1683,1
    - Dst: auditAddRecord
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1684,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1695,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1701,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1698,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1606,1
    - Dst: tdFetchTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1627,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1628,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1633,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1667,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1673,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1673,1
    - Dst: taosStringBuilderDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1687,1
    - Dst: tdUidStoreFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1692,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1693,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1702,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1700,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1655,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1666,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1646,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1655,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1667,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1672,1
    - Dst: tEncodeSVDropTbBatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1697,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1698,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1607,1
    - Dst: tdUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1658,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1640,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1655,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1645,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1677,1
    - Dst: taosStringBuilderGetResult
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1681,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1691,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1694,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:1696,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 111
    argCount: 6
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    - pOriginRpc
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1704
    functionName: vnodeProcessDropTbReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tEncoderInit
    - taosMemoryCalloc
    - tEncodeSVDropTbBatchRsp
    - tDecodeSVDropTbBatchReq
    - taosStringBuilderGetResult
    - taosArrayInit
    - taosArrayDestroy
    - taosArrayPush
    - tEncodeSize
    - taosStringBuilderDestroy
    - tdFetchTbUidList
    - auditAddRecord
    - taosStringBuilderAppendStringLen
    - taosArrayGet
    - tstrncpy
    - TD_VID
    - tdUpdateTbUidList
    - taosMemoryFreeClear
    - tqUpdateTbUidList
    - rpcMallocCont
    - tDecoderInit
    - tEncoderClear
    - taosStringBuilderAppendChar
    - metaDropTable2
    - tNameFromString
    - tstrerror
    - strlen
    - tdUidStoreFree
    - vError
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessDropTbReq(SVnode *pVnode, int64_t ver,
      void *pReq, int32_t len, SRpcMsg *pRsp, SRpcMsg *pOriginRpc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2607,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2607,1
    - Dst: vnodeAsyncCompact
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 5
    argNames:
    - pVnode
    - ver
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - int64_t
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2611
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2611
    functionName: vnodeProcessCompactVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - vnodeAsyncCompact
    - vInfo
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessCompactVnodeReq(SVnode *pVnode, int64_t
      ver, void *pReq, int32_t len, SRpcMsg *pRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2660,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2677,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2677,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2674,1
    - Dst: vnodeCheckSyncd
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2676,1
    - Dst: vnodeUpdateArbTerm
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2681,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2682,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2682,1
    - Dst: tSerializeSVArbCheckSyncRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2687,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2693,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2702,1
    - Dst: tSerializeSVArbCheckSyncRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2700,1
    - Dst: tFreeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c:2713,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 4
    argNames:
    - pVnode
    - pReq
    - len
    - pRsp
    argTypes:
    - SVnode*
    - void*
    - int32_t
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2715
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2715
    functionName: vnodeProcessArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached:
    - tDeserializeSVArbCheckSyncReq
    - vnodeUpdateArbTerm
    - vnodeCheckSyncd
    - tFreeSVArbCheckSyncReq
    - tSerializeSVArbCheckSyncRsp
    - vError
    - TD_VID
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeProcessArbCheckSyncReq(SVnode *pVnode, void *pReq,
      int32_t len, SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - tsdb
    - tw
    - sync
    argTypes:
    - STsdb*
    - STimeWindow*
    - bool
    constantsTouched: []
    func_position:
      end: 2719
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2719
    functionName: tsdbAsyncCompact
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSvr.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbAsyncCompact(STsdb *tsdb, const STimeWindow *tw, bool
      sync) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:55,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:66,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - ht
    - (*hash)
    - (*compare)
    argTypes:
    - SVHashTable**
    - uint32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: vHashInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vHashInit(SVHashTable** ht, uint32_t (*hash)(const void*),
      int32_t (*compare)(const void*, const void*)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vHashRehash
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:98,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:102,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ht
    - obj
    argTypes:
    - SVHashTable*
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 112
    functionName: vHashPut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - vHashRehash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vHashPut(SVHashTable* ht, void* obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - ht
    - newNumBuckets
    argTypes:
    - SVHashTable*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 48
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 48
    functionName: vHashRehash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void vHashRehash(SVHashTable* ht, uint32_t newNumBuckets) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - ht
    - obj
    - retObj
    argTypes:
    - SVHashTable*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 129
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 129
    functionName: vHashGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vHashGet(SVHashTable* ht, const void* obj, void** retObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:79,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ht
    argTypes:
    - SVHashTable**
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: vHashDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void vHashDestroy(SVHashTable** ht) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vHashRehash
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:144,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 2
    argNames:
    - ht
    - obj
    argTypes:
    - SVHashTable*
    - void*
    constantsTouched: []
    func_position:
      end: 151
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 151
    functionName: vHashDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeHash.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - vHashRehash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vHashDrop(SVHashTable* ht, const void* obj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:539,1
    - Dst: vnodeSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:542,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:544,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - isApply
    - pSnapshot
    argTypes:
    - SSyncFSM*
    - void*
    - bool
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: vnodeSnapshotStopWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - terrstr
    - vnodeSnapWriterClose
    - vInfo
    - vError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapshotStopWrite(const SSyncFSM *pFsm, void *pWriter,
      bool isApply, SSnapshot *pSnapshot) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 709
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 709
    functionName: vnodeApplyQueueItems
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tmsgGetQueueSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeApplyQueueItems(const SSyncFSM *pFsm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:760,1
    - Dst: vnodeSyncMakeFsm
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:761,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:767,1
    - Dst: syncOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:771,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:764,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:773,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:773,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pVnode
    - path
    - vnodeVersion
    argTypes:
    - SVnode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 778
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 778
    functionName: vnodeSyncOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - snprintf
    - terrstr
    - vnodeSyncMakeFsm
    - vInfo
    - vError
    - syncOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSyncOpen(SVnode *pVnode, char *path, int32_t vnodeVersion) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:815,1
    - Dst: syncStop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: vnodeSyncClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - syncStop
    - vInfo
    linkageType: ''
    returnType: void
    signature: 'void vnodeSyncClose(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: vnodeIsRoleLeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - syncGetState
    linkageType: ''
    returnType: bool
    signature: 'bool vnodeIsRoleLeader(SVnode *pVnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapGetFsState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:893,1
    - Dst: tsdbSnapPrepDescription
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:898,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pVnode
    - pSnap
    argTypes:
    - SVnode*
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 901
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 901
    functionName: vnodeGetSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tsdbSnapPrepDescription
    - tsdbSnapGetFsState
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetSnapshot(SVnode *pVnode, SSnapshot *pSnap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:552,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:554,1
    - Dst: vnodeSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:553,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - SSyncFSM*
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 556
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 556
    functionName: vnodeSnapshotDoWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vDebug
    - vnodeSnapWrite
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapshotDoWrite(const SSyncFSM *pFsm, void *pWriter,
      void *pBuf, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 742
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 742
    functionName: vnodeSyncMakeFsm
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SSyncFSM*
    signature: 'static SSyncFSM *vnodeSyncMakeFsm(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:781,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:784,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:784,1
    - Dst: syncStart
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 788
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 788
    functionName: vnodeSyncStart
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tstrerror
    - syncStart
    - vInfo
    - vError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSyncStart(SVnode *pVnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:820,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:826,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:823,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:821,1
    - Dst: syncSendTimeoutRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:828,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:831,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:833,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:839,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:840,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 845
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 845
    functionName: vnodeSyncCheckTimeout
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - syncSendTimeoutRsp
    - rpcSendResponse
    - taosGetTimestampSec
    - vError
    - tsem_post
    - vTrace
    linkageType: ''
    returnType: void
    signature: 'void vnodeSyncCheckTimeout(SVnode *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:854,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:869,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:857,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:863,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:863,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 874
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 874
    functionName: vnodeIsLeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vInfo
    - syncGetState
    - syncStr
    linkageType: ''
    returnType: bool
    signature: 'bool vnodeIsLeader(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pFSM
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: vnodeSyncAppliedIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: SyncIndex
    signature: 'static SyncIndex vnodeSyncAppliedIndex(const SSyncFSM *pFSM) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:517,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 518
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 518
    functionName: vnodeSnapshotDoRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeSnapRead
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapshotDoRead(const SSyncFSM *pFsm, void *pReader,
      void **ppBuf, int32_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:656,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:658,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:662,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:663,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:661,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 667
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 667
    functionName: vnodeBecomeLearner
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - vDebug
    - taosThreadMutexLock
    - vInfo
    - vError
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void vnodeBecomeLearner(const SSyncFSM *pFsm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 879
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 879
    functionName: vnodeClusterId
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t vnodeClusterId(SVnode *pVnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:335,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:340,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:343,1
    - Dst: vnodeIsMsgBlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:337,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:338,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:344,1
    - Dst: vnodeProcessWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:349,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:351,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:351,1
    - Dst: vnodePostBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:356,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:361,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:367,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:358,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:365,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:368,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 370
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 370
    functionName: vnodeApplyWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProcessWriteMsg
    - tmsgSendRsp
    - vGDebug
    - vnodeIsMsgBlock
    - terrstr
    - vnodePostBlockMsg
    - vGError
    - vGTrace
    - rpcFreeCont
    - taosGetQitem
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'void vnodeApplyWriteMsg(SQueueInfo *pInfo, STaosQall *qall, int32_t
      numOfMsgs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:499,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:502,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - pMeta
    argTypes:
    - SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 503
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 503
    functionName: vnodeSyncRollBackMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - TMSG_INFO
    - syncStr
    - vGDebug
    linkageType: ''
    returnType: void
    signature: 'static void vnodeSyncRollBackMsg(const SSyncFSM *pFsm, SRpcMsg *pMsg,
      SFsmCbMeta *pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:524,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:530,1
    - Dst: vnodeSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:534,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:526,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppWriter
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: vnodeSnapshotStartWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeSnapWriterOpen
    - taosMsleep
    - vInfo
    - tmsgGetQueueSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapshotStartWrite(const SSyncFSM *pFsm, void
      *pParam, void **ppWriter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:671,1
    - Dst: tqUpdateNodeStage
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 677
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 677
    functionName: vnodeBecomeLeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tqUpdateNodeStage
    - vDebug
    linkageType: ''
    returnType: void
    signature: 'static void vnodeBecomeLeader(const SSyncFSM *pFsm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: vnodeNodeId
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeNodeId(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - type
    argTypes:
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: vnodeIsMsgWeak
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static inline bool vnodeIsMsgWeak(tmsg_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSyncApplyMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:463,1
    - Dst: vnodePostBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:467,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:475,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:478,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:478,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - pMeta
    argTypes:
    - SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 483
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 483
    functionName: vnodeSyncCommitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - vnodeSyncApplyMsg
    - vnodePostBlockMsg
    - vGTrace
    - TD_VID
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncCommitMsg(const SSyncFSM *pFsm, SRpcMsg *pMsg,
      SFsmCbMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:507,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppReader
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 508
    functionName: vnodeSnapshotStartRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeSnapReaderOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapshotStartRead(const SSyncFSM *pFsm, void *pParam,
      void **ppReader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:575,1
    - Dst: walApplyVer
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:587,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:592,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:608,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:600,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:615,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:623,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:579,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:596,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:605,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:615,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:614,1
    - Dst: vnodeSyncAppliedIndex
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:564,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:583,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:571,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:566,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:595,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:603,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:617,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:612,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:617,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:626,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - pFsm
    - commitIdx
    argTypes:
    - SSyncFSM*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 628
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 628
    functionName: vnodeRestoreFinish
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vDebug
    - walApplyVer
    - streamTaskSchedTask
    - vnodeSyncAppliedIndex
    - vnodeIsRoleLeader
    - tqError
    - tstrerror
    - vInfo
    - vError
    - streamMetaWUnLock
    - tqInfo
    - TD_VID
    - streamMetaWLock
    - taosMsleep
    linkageType: ''
    returnType: void
    signature: 'static void vnodeRestoreFinish(const SSyncFSM *pFsm, const SyncIndex
      commitIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:791,1
    - Dst: syncLeaderTransfer
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:792,1
    - Dst: syncPreStop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:796,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:794,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:794,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:798,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:800,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:802,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:803,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 807
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 807
    functionName: vnodeSyncPreClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - syncPreStop
    - taosThreadMutexLock
    - tstrerror
    - vInfo
    - vError
    - tsem_post
    - syncLeaderTransfer
    linkageType: ''
    returnType: void
    signature: 'void vnodeSyncPreClose(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:27,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:28,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:30,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: vnodeWaitBlockMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tsem_wait
    - vError
    - TMSG_INFO
    - vGTrace
    linkageType: ''
    returnType: void
    signature: 'static inline void vnodeWaitBlockMsg(SVnode *pVnode, const SRpcMsg
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSyncApplyMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - pMeta
    argTypes:
    - SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 490
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 490
    functionName: vnodeSyncPreCommitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeSyncApplyMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncPreCommitMsg(const SSyncFSM *pFsm, SRpcMsg
      *pMsg, SFsmCbMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:512,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - SSyncFSM*
    - void*
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: vnodeSnapshotStopRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeSnapReaderClose
    linkageType: ''
    returnType: void
    signature: 'static void vnodeSnapshotStopRead(const SSyncFSM *pFsm, void *pReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:632,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:637,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:639,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:634,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:638,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:642,1
    - Dst: tqUpdateNodeStage
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:646,1
    - Dst: tqStopStreamAllTasksAsync
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:647,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 652
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 652
    functionName: vnodeBecomeFollower
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - vDebug
    - taosThreadMutexLock
    - tqStopStreamAllTasksAsync
    - tqUpdateNodeStage
    - vInfo
    - vError
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void vnodeBecomeFollower(const SSyncFSM *pFsm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vnodeProcessWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:83,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:86,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:85,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:89,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: vnodeHandleWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - vnodeProcessWriteMsg
    - terrstr
    - vGError
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void inline vnodeHandleWriteMsg(SVnode *pVnode, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vnodeIsMsgBlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:35,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:39,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:38,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:43,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:36,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:44,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pVnode
    - pMsg
    argTypes:
    - SVnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: vnodePostBlockMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - vnodeIsMsgBlock
    - vGTrace
    - vError
    - tsem_post
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static inline void vnodePostBlockMsg(SVnode *pVnode, const SRpcMsg
      *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:118,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:123,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:127,1
    - Dst: syncPropose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:119,1
    - Dst: vnodeIsMsgBlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:120,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:130,1
    - Dst: vnodeHandleWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:133,1
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:136,1
    - Dst: vnodeWaitBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:139,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - isWeak
    argTypes:
    - SVnode*
    - SRpcMsg*
    - bool
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: vnodeProposeMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - vnodeIsMsgBlock
    - taosGetTimestampSec
    - vnodeWaitBlockMsg
    - vnodeHandleWriteMsg
    - vnodeHandleProposeError
    - syncPropose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t inline vnodeProposeMsg(SVnode *pVnode, SRpcMsg *pMsg,
      bool isWeak) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:182,1
    - Dst: vnodeIsBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:184,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:188,1
    - Dst: vnodeHandleWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:192,1
    - Dst: syncProposeBatch
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:183,1
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:197,1
    - Dst: vnodeWaitBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:201,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:206,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:207,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:208,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - pVnode
    - pMsgArr
    - pIsWeakArr
    - arrSize
    argTypes:
    - SVnode*
    - SRpcMsg**
    - bool*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: vnodeProposeBatchMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosFreeQitem
    - taosThreadMutexLock
    - vnodeIsBlockMsg
    - vGTrace
    - syncProposeBatch
    - vnodeWaitBlockMsg
    - rpcFreeCont
    - vnodeHandleWriteMsg
    - vnodeHandleProposeError
    linkageType: ''
    returnType: void
    signature: 'static void inline vnodeProposeBatchMsg(SVnode *pVnode, SRpcMsg **pMsgArr,
      bool *pIsWeakArr, int32_t *arrSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:373,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:373,1
    - Dst: syncProcessMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:377,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:377,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - pRsp
    argTypes:
    - SVnode*
    - SRpcMsg*
    - SRpcMsg**
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: vnodeProcessSyncMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - syncProcessMsg
    - vGDebug
    - vGError
    - tstrerror
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeProcessSyncMsg(SVnode *pVnode, SRpcMsg *pMsg, SRpcMsg
      **pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:409,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:414,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 420
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 420
    functionName: vnodeSyncEqMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncEqMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - SSyncFSM*
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 433
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 433
    functionName: vnodeSyncGetSnapshotInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vnodeGetSnapshot
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncGetSnapshotInfo(const SSyncFSM *pFsm, SSnapshot
      *pSnapshot) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:681,1
    - Dst: tqUpdateNodeStage
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: vnodeBecomeAssignedLeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tqUpdateNodeStage
    - vDebug
    linkageType: ''
    returnType: void
    signature: 'static void vnodeBecomeAssignedLeader(const SSyncFSM *pFsm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRetryEpSet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:53,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:55,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:68,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:66,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:58,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:72,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:73,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - code
    argTypes:
    - SVnode*
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: vnodeRedirectRpcMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    - vGTrace
    - vError
    - tSerializeSEpSet
    - syncGetRetryEpSet
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'void vnodeRedirectRpcMsg(SVnode *pVnode, SRpcMsg *pMsg, int32_t code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vnodeRedirectRpcMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:99,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:106,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:107,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pVnode
    - pMsg
    - code
    argTypes:
    - SVnode*
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 113
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 113
    functionName: vnodeHandleProposeError
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tstrerror
    - vnodeRedirectRpcMsg
    - tmsgSendRsp
    - vGError
    linkageType: ''
    returnType: void
    signature: 'static void vnodeHandleProposeError(SVnode *pVnode, SRpcMsg *pMsg,
      int32_t code) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vnodeShouldCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:144,1
    - Dst: vnodeProposeMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:163,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:159,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:164,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:149,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:164,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:166,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:170,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pVnode
    - atExit
    argTypes:
    - SVnode*
    - bool
    constantsTouched: []
    func_position:
      end: 174
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 174
    functionName: vnodeProposeCommitOnNeed
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - terrstr
    - vnodeProposeMsg
    - tstrerror
    - vnodeShouldCommit
    - vInfo
    - vError
    - rpcFreeCont
    - tmsgPutToQueue
    - vTrace
    linkageType: ''
    returnType: void
    signature: 'void vnodeProposeCommitOnNeed(SVnode *pVnode, bool atExit) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vnodeIsMsgBlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:227,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:229,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:243,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:246,1
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:245,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:243,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:256,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:256,1
    - Dst: vnodeProposeBatchMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:271,1
    - Dst: vnodeIsMsgWeak
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:226,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:221,1
    - Dst: vGWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:233,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:234,1
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:236,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:237,1
    - Dst: vnodeProposeCommitOnNeed
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:252,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:275,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:220,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:225,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:222,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:247,1
    - Dst: vnodePreProcessWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:254,1
    - Dst: vnodeProposeBatchMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:263,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:276,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:238,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:258,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 277
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 277
    functionName: vnodeProposeWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProposeBatchMsg
    - taosMemoryFree
    - vGDebug
    - taosMemoryCalloc
    - vnodeIsMsgBlock
    - vGWarn
    - terrstr
    - vGError
    - taosGetQitem
    - vnodeHandleProposeError
    - TMSG_INFO
    - rpcFreeCont
    - vnodePreProcessWriteMsg
    - vTrace
    - vnodeProposeCommitOnNeed
    - vnodeIsMsgWeak
    linkageType: ''
    returnType: void
    signature: 'void vnodeProposeWriteMsg(SQueueInfo *pInfo, STaosQall *qall, int32_t
      numOfMsgs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:298,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:300,1
    - Dst: vnodeHandleProposeError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:312,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:313,1
    - Dst: vnodeIsMsgBlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:293,1
    - Dst: vnodeIsMsgWeak
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:290,1
    - Dst: vnodeProposeCommitOnNeed
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:305,1
    - Dst: vGError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:310,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:322,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:286,1
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:292,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:289,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:299,1
    - Dst: vnodePreProcessWriteMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:307,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:314,1
    - Dst: vGWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:296,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:297,1
    - Dst: vnodeProposeMsg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:318,1
    - Dst: vGTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:320,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:321,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 324
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 324
    functionName: vnodeProposeWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vTrace
    - vGDebug
    - vGWarn
    - vnodeIsMsgBlock
    - vnodeProposeMsg
    - vGError
    - vnodeHandleProposeError
    - tstrerror
    - vGTrace
    - TMSG_INFO
    - rpcFreeCont
    - vnodePreProcessWriteMsg
    - taosGetQitem
    - vnodeProposeCommitOnNeed
    - vnodeIsMsgWeak
    linkageType: ''
    returnType: void
    signature: 'void vnodeProposeWriteMsg(SQueueInfo *pInfo, STaosQall *qall, int32_t
      numOfMsgs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:390,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:395,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 401
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 401
    functionName: vnodeSyncEqCtrlMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncEqCtrlMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendSyncReq
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:423,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: vnodeSyncSendMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tmsgSendSyncReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncSendMsg(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vGDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:440,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:446,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:444,1
    - Dst: vWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:452,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:452,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:455,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - pMeta
    argTypes:
    - SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 459
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 459
    functionName: vnodeSyncApplyMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - vGDebug
    - syncStr
    - tstrerror
    - vError
    - tmsgPutToQueue
    - vWarn
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSyncApplyMsg(const SSyncFSM *pFsm, SRpcMsg *pMsg,
      const SFsmCbMeta *pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 698
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 698
    functionName: vnodeApplyQueueEmpty
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - tmsgGetQueueSize
    linkageType: ''
    returnType: bool
    signature: 'static bool vnodeApplyQueueEmpty(const SSyncFSM *pFsm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:810,1
    - Dst: syncPostStop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c:811,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: vnodeSyncPostClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSync.c
    functionUses: []
    functionsReached:
    - syncPostStop
    - vInfo
    linkageType: ''
    returnType: void
    signature: 'void vnodeSyncPostClose(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - TsdReader*
    constantsTouched: []
    func_position:
      end: 74
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 74
    functionName: initTsdbReaderAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initTsdbReaderAPI(TsdReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - SStoreTqReader*
    constantsTouched: []
    func_position:
      end: 158
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 158
    functionName: initTqAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initTqAPI(SStoreTqReader* pTq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMetaReader
    argTypes:
    - SStoreMetaReader*
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: initMetaReaderAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initMetaReaderAPI(SStoreMetaReader* pMetaReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: initFunctionStateStore
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initFunctionStateStore(SFunctionStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initTsdbReaderAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:31,1
    - Dst: initMetaReaderAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:34,1
    - Dst: initStateStoreAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:33,1
    - Dst: initMetadataAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:32,1
    - Dst: initMetaFilterAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:35,1
    - Dst: initTqAPI
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:36,1
    - Dst: initFunctionStateStore
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:37,1
    - Dst: initCacheFn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:38,1
    - Dst: initSnapshotFn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pAPI
    argTypes:
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: initStorageAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached:
    - initStateStoreAPI
    - initFunctionStateStore
    - initTsdbReaderAPI
    - initMetadataAPI
    - initMetaFilterAPI
    - initSnapshotFn
    - initMetaReaderAPI
    - initTqAPI
    - initCacheFn
    linkageType: ''
    returnType: void
    signature: 'void initStorageAPI(SStorageAPI* pAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 108
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 288
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 288
    functionName: initStateStoreAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initStateStoreAPI(SStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStoreMeta*
    constantsTouched: []
    func_position:
      end: 120
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 120
    functionName: initMetadataAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initMetadataAPI(SStoreMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFilter
    argTypes:
    - SMetaDataFilterAPI*
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: initMetaFilterAPI
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initMetaFilterAPI(SMetaDataFilterAPI* pFilter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pCache
    argTypes:
    - SStoreCacheReader*
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: initCacheFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initCacheFn(SStoreCacheReader* pCache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pSnapshot
    argTypes:
    - SStoreSnapshotFn*
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: initSnapshotFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initSnapshotFn(SStoreSnapshotFn* pSnapshot) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - role
    argTypes:
    - ESyncRole
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: vnodeRoleToStr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *vnodeRoleToStr(ESyncRole role) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:92,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:102,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:109,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:144,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:155,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:161,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:166,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:168,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:186,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:97,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:109,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:116,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:149,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:172,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:185,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:188,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:98,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:104,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:112,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:142,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:147,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:151,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:155,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:187,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:112,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:93,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:97,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:104,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:161,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:166,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:185,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:98,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:107,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:134,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:141,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:150,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:151,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:159,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:164,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:142,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:93,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:147,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:154,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:156,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:130,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:113,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:94,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:144,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:110,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:145,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:157,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:162,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:173,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:182,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:186,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:99,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:135,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:110,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:150,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:154,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:156,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:164,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:94,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:105,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:130,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:143,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:138,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:136,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:148,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:153,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:157,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:145,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:135,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:99,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:105,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:141,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:114,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:162,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:183,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:136,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:100,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:103,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:108,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:115,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:153,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:160,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:165,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:176,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:114,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:143,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:113,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:126,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:95,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:103,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:108,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:148,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:158,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:182,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:96,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:111,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:115,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:146,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:163,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:184,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:134,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:91,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:95,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:101,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:137,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:160,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:165,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:183,1
    - Dst: vnodeRoleToStr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:186,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:92,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:96,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:102,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:106,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:149,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:184,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:116,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:137,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:91,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:101,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:106,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:138,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:146,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:163,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:172,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:187,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 157
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 193
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 193
    functionName: vnodeEncodeConfig
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached:
    - vDebug
    - tjsonAddItemToArray
    - vnodeRoleToStr
    - TAOS_CHECK_RETURN
    - tjsonAddItemToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - tjsonCreateArray
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int
    signature: 'int vnodeEncodeConfig(const void *pObj, SJson *pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SVnodeCfg*
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: vnodeCheckCfg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int vnodeCheckCfg(const SVnodeCfg *pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:78,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: vnodeStrToRole
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ESyncRole
    signature: 'const ESyncRole vnodeStrToRole(char *str) '
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:222,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:234,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:242,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:253,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:271,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:279,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:250,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:281,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:283,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:305,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:349,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:328,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:371,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:331,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:277,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:357,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:206,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:202,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:201,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:210,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:216,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:228,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:220,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:232,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:240,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:244,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:267,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:352,1
    - Dst: vnodeStrToRole
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:363,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:380,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:333,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:376,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:199,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:230,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:226,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:238,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:245,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:257,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:260,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:275,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:287,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:309,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:324,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:339,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:251,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:367,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:311,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:313,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:355,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:315,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:294,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:317,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:298,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:319,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:335,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:384,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:204,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:208,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:212,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:214,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:218,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:224,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:236,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:255,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:273,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:285,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:326,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:321,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:342,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:360,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:362,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:354,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:346,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:343,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:337,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 143
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 390
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 390
    functionName: vnodeDecodeConfig
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - vDebug
    - tstrncpy
    - strlen
    - tjsonGetNumberValue
    - vnodeStrToRole
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int
    signature: 'int vnodeDecodeConfig(const SJson *pJson, void *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:397,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:406,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:403,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - pVnode
    - tableFName
    argTypes:
    - SVnode*
    - char*
    constantsTouched: []
    func_position:
      end: 413
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 413
    functionName: vnodeValidateTableHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCfg.c
    functionUses: []
    functionsReached:
    - vError
    - strlen
    - vInfo
    - taosGetTbHashVal
    linkageType: ''
    returnType: int
    signature: 'int vnodeValidateTableHash(SVnode *pVnode, char *tableFName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncNodeGetConfig
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:307,1
    - Dst: smaPrepareAsyncCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:309,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:322,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:322,1
    - Dst: vnodeAWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:282,1
    - Dst: metaGetTxn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:294,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:304,1
    - Dst: metaPrepareAsyncCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:306,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:299,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:301,1
    - Dst: tsdbPreCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:303,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:315,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:319,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:319,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:285,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:297,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:299,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:300,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:312,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:320,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 2
    argNames:
    - pVnode
    - pInfo
    argTypes:
    - SVnode*
    - SCommitInfo*
    constantsTouched: []
    func_position:
      end: 326
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 326
    functionName: vnodePrepareCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - vDebug
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - vnodeAWait
    - syncNodeGetConfig
    - smaPrepareAsyncCommit
    - vnodeSaveInfo
    - tstrerror
    - metaPrepareAsyncCommit
    - TD_VID
    - vError
    - tsdbPreCommit
    - metaGetTxn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodePrepareCommit(SVnode *pVnode, SCommitInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:381,1
    - Dst: vnodePrepareCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:387,1
    - Dst: vnodeAsync
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:391,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:388,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:383,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:392,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:396,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:397,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:397,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:397,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:399,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 403
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 403
    functionName: vnodeAsyncCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - vnodePrepareCommit
    - vnodeAsync
    - tstrerror
    - vInfo
    - vError
    - TD_VID
    linkageType: ''
    returnType: int
    signature: 'int vnodeAsyncCommit(SVnode *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:328,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:331,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:337,1
    - Dst: vnodeBufPoolAddToFreeList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:335,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:337,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:349,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:349,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 353
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 353
    functionName: vnodeReturnBufPool
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - vDebug
    - taosThreadMutexLock
    - vnodeBufPoolAddToFreeList
    - atomic_sub_fetch_32
    - vError
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'static void vnodeReturnBufPool(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeAsyncCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:407,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:413,1
    - Dst: vnodeAWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:409,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:413,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:413,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:415,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: vnodeSyncCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - vnodeAsyncCommit
    - TSDB_CHECK_CODE
    - vnodeAWait
    - tstrerror
    - vInfo
    - vError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSyncCommit(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:579,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:585,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:584,1
    - Dst: tjsonToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:587,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:581,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:588,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pData
    - pInfo
    argTypes:
    - uint8_t*
    - SVnodeInfo*
    constantsTouched: []
    func_position:
      end: 593
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 593
    functionName: vnodeDecodeInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tjsonParse
    - tjsonToObject
    - tjsonDelete
    linkageType: ''
    returnType: int
    signature: 'int vnodeDecodeInfo(uint8_t *pData, SVnodeInfo *pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:67,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:83,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:74,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:74,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:83,1
    - Dst: vnodeTryRecycleBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:85,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:86,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:89,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:89,1
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:93,1
    - Dst: taosThreadCondTimedWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:104,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:109,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:115,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:117,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:117,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 120
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 120
    functionName: vnodeGetBufPoolToUse
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - vDebug
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - taosThreadCondTimedWait
    - tstrerror
    - vError
    - TD_VID
    - taosGetTimeOfDay
    - vnodeTryRecycleBufPool
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeGetBufPoolToUse(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: osDataSpaceAvailable
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:152,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:155,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:167,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:164,1
    - Dst: vTrace
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pVnode
    - atExit
    argTypes:
    - SVnode*
    - bool
    constantsTouched: []
    func_position:
      end: 169
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 169
    functionName: vnodeShouldCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TD_VID
    - osDataSpaceAvailable
    - vTrace
    linkageType: ''
    returnType: int
    signature: 'int vnodeShouldCommit(SVnode *pVnode, bool atExit) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeCommitImpl
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:361,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:363,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:362,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:362,1
    - Dst: vFatal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:362,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:364,1
    - Dst: vnodeReturnBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 373
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 373
    functionName: vnodeCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - exit
    - taosMemoryFree
    - terrstr
    - vnodeCommitImpl
    - TD_VID
    - vnodeReturnBufPool
    - taosMsleep
    - vFatal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCommit(void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:530,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:534,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - void*
    constantsTouched: []
    func_position:
      end: 538
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 538
    functionName: vnodeDecodeState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - tjsonGetNumberValue
    linkageType: ''
    returnType: int
    signature: 'static int vnodeDecodeState(const SJson *pJson, void *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:178,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:184,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:181,1
    - Dst: vnodeEncodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:180,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:186,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:189,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:189,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:190,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:193,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:194,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:199,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:207,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:201,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:199,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:204,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - dir
    - pInfo
    argTypes:
    - char*
    - SVnodeInfo*
    constantsTouched: []
    func_position:
      end: 209
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 209
    functionName: vnodeSaveInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - TSDB_CHECK_CODE
    - snprintf
    - taosCloseFile
    - taosMemoryFree
    - taosWriteFile
    - vnodeEncodeInfo
    - tstrerror
    - strlen
    - vInfo
    - vError
    - TAOS_RETURN
    linkageType: ''
    returnType: int
    signature: 'int vnodeSaveInfo(const char *dir, const SVnodeInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetBufPoolToUse
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:126,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:127,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:131,1
    - Dst: tsdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:134,1
    - Dst: metaBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:130,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:135,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:138,1
    - Dst: smaBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:139,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:140,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:146,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 149
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 149
    functionName: vnodeBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbBegin
    - smaBegin
    - VND_IS_RSMA
    - metaBegin
    - tstrerror
    - vError
    - TD_VID
    - vnodeGetBufPoolToUse
    linkageType: ''
    returnType: int
    signature: 'int vnodeBegin(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 375
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 375
    functionName: vnodeCommitCancel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void vnodeCommitCancel(void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:546,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:552,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:551,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:548,1
    - Dst: tjsonAddObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:554,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:555,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:557,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:559,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:562,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - ppData
    argTypes:
    - SVnodeInfo*
    - char**
    constantsTouched: []
    func_position:
      end: 572
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 572
    functionName: vnodeEncodeInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tjsonDelete
    - tjsonToString
    - tjsonAddObject
    - tjsonCreateObject
    linkageType: ''
    returnType: int
    signature: 'static int vnodeEncodeInfo(const SVnodeInfo *pInfo, char **ppData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:428,1
    - Dst: walPersist
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:432,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:452,1
    - Dst: smaCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:451,1
    - Dst: smaPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:472,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:485,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:428,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:440,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:447,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:460,1
    - Dst: smaFinishCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:463,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:464,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:481,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:487,1
    - Dst: syncBeginSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:439,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:445,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:457,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:443,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:456,1
    - Dst: tsdbCommitCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:459,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:462,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:468,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:473,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:473,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:487,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:437,1
    - Dst: tsdbCommitBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:442,1
    - Dst: tsdbCacheCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:446,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:450,1
    - Dst: metaFinishCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:467,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:473,1
    - Dst: syncEndSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:477,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:485,1
    - Dst: tqCommitOffset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:480,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 62
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SCommitInfo*
    constantsTouched: []
    func_position:
      end: 490
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 490
    functionName: vnodeCommitImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - smaFinishCommit
    - vInfo
    - smaPostCommit
    - tqCommitOffset
    - syncEndSnapshot
    - walPersist
    - tsdbCacheCommit
    - syncBeginSnapshot
    - TSDB_CHECK_CODE
    - vnodeCommitInfo
    - metaFinishCommit
    - TSDB_CACHE_NO
    - smaCommit
    - TD_VID
    - vnodeGetPrimaryDir
    - VND_IS_RSMA
    - tsdbCommitBegin
    - tstrerror
    - vError
    - tsdbCommitCommit
    linkageType: ''
    returnType: int
    signature: 'static int vnodeCommitImpl(SCommitInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:507,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:512,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:511,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:509,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:508,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:512,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 514
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 514
    functionName: vnodeRollback
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - snprintf
    - tstrerror
    - strlen
    - vError
    - TD_VID
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'void vnodeRollback(SVnode *pVnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:37,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:40,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:37,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:40,1
    - Dst: vnodeBufPoolRecycle
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:54,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:59,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:59,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:59,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 62
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 62
    functionName: vnodeTryRecycleBufPool
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - vDebug
    - vnodeBufPoolRecycle
    - tstrerror
    - vError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeTryRecycleBufPool(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:496,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:500,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:498,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 501
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 501
    functionName: vnodeShouldRollback
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    - taosCheckExistFile
    linkageType: ''
    returnType: bool
    signature: 'bool vnodeShouldRollback(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:519,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:521,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:519,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:520,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:520,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:521,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    functionName: vnodeEncodeState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int
    signature: 'static int vnodeEncodeState(const void *pObj, SJson *pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:215,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:218,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:216,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dir
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: vnodeCommitInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosRenameFile
    - snprintf
    - vInfo
    linkageType: ''
    returnType: int
    signature: 'int vnodeCommitInfo(const char *dir) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:235,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:238,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:240,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:244,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:243,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:246,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:248,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:251,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:252,1
    - Dst: vnodeDecodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:265,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:268,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:269,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:265,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:270,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c:259,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - dir
    - pInfo
    argTypes:
    - char*
    - SVnodeInfo*
    constantsTouched: []
    func_position:
      end: 273
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 273
    functionName: vnodeLoadInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeCommit.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TSDB_CHECK_CODE
    - snprintf
    - taosMemoryMalloc
    - taosReadFile
    - vnodeDecodeInfo
    - taosMemoryFree
    - taosCloseFile
    - tstrerror
    - vError
    - taosFStatFile
    linkageType: ''
    returnType: int
    signature: 'int vnodeLoadInfo(const char *dir, SVnodeInfo *pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:21,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:28,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:42,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:25,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:44,1
    - Dst: taosThreadSpinInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:49,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - pVnode
    - id
    - size
    - ppPool
    argTypes:
    - SVnode*
    - int32_t
    - int64_t
    - SVBufPool**
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: vnodeBufPoolCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosThreadMutexInit
    - VND_IS_RSMA
    - memset
    - taosThreadSpinInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeBufPoolCreate(SVnode *pVnode, int32_t id, int64_t
      size, SVBufPool **ppPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolReset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:61,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:67,1
    - Dst: taosThreadSpinDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:63,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SVBufPool*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: vnodeBufPoolDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - vnodeBufPoolReset
    - taosThreadMutexDestroy
    - taosThreadSpinDestroy
    linkageType: ''
    returnType: void
    signature: 'static void vnodeBufPoolDestroy(SVBufPool *pPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:94,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:99,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: vnodeCloseBufPool
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - TD_VID
    - vDebug
    - vnodeBufPoolDestroy
    linkageType: ''
    returnType: void
    signature: 'void vnodeCloseBufPool(SVnode *pVnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadSpinLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:130,1
    - Dst: taosThreadSpinUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:146,1
    - Dst: taosThreadSpinUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:160,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:143,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - pPool
    - size
    argTypes:
    - SVBufPool*
    - int
    constantsTouched: []
    func_position:
      end: 162
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 162
    functionName: vnodeBufPoolMallocAligned
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadSpinUnlock
    - taosThreadSpinLock
    - taosMemoryMalloc
    linkageType: ''
    returnType: void*
    signature: 'void *vnodeBufPoolMallocAligned(SVBufPool *pPool, int size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pPool
    - p
    argTypes:
    - SVBufPool*
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 212
    functionName: vnodeBufPoolFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolFree(SVBufPool *pPool, void *p) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:227,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:229,1
    - Dst: vWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:229,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:231,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:231,1
    - Dst: vnodeBufPoolDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:234,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:241,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:241,1
    - Dst: vnodeBufPoolReset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:242,1
    - Dst: taosThreadCondSignal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SVBufPool*
    constantsTouched: []
    func_position:
      end: 246
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 246
    functionName: vnodeBufPoolAddToFreeList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - vDebug
    - taosThreadCondSignal
    - vnodeBufPoolReset
    - vnodeBufPoolDestroy
    - tstrerror
    - vInfo
    - TD_VID
    - vnodeBufPoolCreate
    - vWarn
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolAddToFreeList(SVBufPool *pPool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:287,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pPool
    - pQNode
    argTypes:
    - SVBufPool*
    - SQueryNode*
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: vnodeBufPoolRegisterQuery
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolRegisterQuery(SVBufPool *pPool, SQueryNode *pQNode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:76,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:77,1
    - Dst: vnodeCloseBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:78,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:77,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:87,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 89
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 89
    functionName: vnodeOpenBufPool
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - vDebug
    - vnodeCloseBufPool
    - tstrerror
    - vError
    - TD_VID
    - vnodeBufPoolCreate
    linkageType: ''
    returnType: int
    signature: 'int vnodeOpenBufPool(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:104,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SVBufPool*
    constantsTouched: []
    func_position:
      end: 117
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 117
    functionName: vnodeBufPoolReset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - vError
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolReset(SVBufPool *pPool) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadSpinLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:173,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:181,1
    - Dst: taosThreadSpinUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:196,1
    - Dst: taosThreadSpinUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:183,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pPool
    - size
    argTypes:
    - SVBufPool*
    - int
    constantsTouched: []
    func_position:
      end: 198
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 198
    functionName: vnodeBufPoolMalloc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadSpinUnlock
    - taosThreadSpinLock
    - taosMemoryMalloc
    linkageType: ''
    returnType: void*
    signature: 'void *vnodeBufPoolMalloc(SVBufPool *pPool, int size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:215,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:217,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SVBufPool*
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: vnodeBufPoolRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - vError
    - TD_VID
    - atomic_fetch_add_32
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolRef(SVBufPool *pPool) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:254,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:257,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:281,1
    - Dst: vnodeBufPoolAddToFreeList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:277,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pPool
    - proactive
    argTypes:
    - SVBufPool*
    - bool
    constantsTouched: []
    func_position:
      end: 284
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 284
    functionName: vnodeBufPoolUnRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - atomic_sub_fetch_32
    - taosThreadMutexLock
    - vnodeBufPoolAddToFreeList
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolUnRef(SVBufPool *pPool, bool proactive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:302,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pPool
    - pQNode
    - proactive
    argTypes:
    - SVBufPool*
    - SQueryNode*
    - bool
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: vnodeBufPoolDeregisterQuery
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void vnodeBufPoolDeregisterQuery(SVBufPool *pPool, SQueryNode *pQNode,
      bool proactive) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:319,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:319,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:337,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c:321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SVBufPool*
    constantsTouched: []
    func_position:
      end: 339
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 339
    functionName: vnodeBufPoolRecycle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeBufPool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - vDebug
    - taosThreadMutexLock
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeBufPoolRecycle(SVBufPool *pPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:23,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:27,1
    - Dst: vnodeAsyncOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:27,1
    - Dst: walInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:28,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:28,1
    - Dst: monInitVnode
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stopDnodeFp
    argTypes:
    - StopDnodeFp
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: vnodeInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_32
    - TAOS_CHECK_RETURN
    - vnodeAsyncOpen
    - monInitVnode
    - walInit
    linkageType: ''
    returnType: int
    signature: 'int vnodeInit(StopDnodeFp stopDnodeFp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:36,1
    - Dst: walCleanUp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:38,1
    - Dst: smaCleanUp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:39,1
    - Dst: vnodeAsyncClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: vnodeCleanup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeModule.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_32
    - vnodeAsyncClose
    - smaCleanUp
    - walCleanUp
    linkageType: ''
    returnType: void
    signature: 'void vnodeCleanup() '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:140,1
    - Dst: VATASK_PIORITY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:151,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:177,1
    - Dst: vHashDrop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:176,1
    - Dst: VATASK_PIORITY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:167,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:181,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:182,1
    - Dst: taosThreadCondSignal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:184,1
    - Dst: taosThreadCondBroadcast
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:186,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - async
    - task
    argTypes:
    - SVAsync*
    - SVATask*
    constantsTouched: []
    func_position:
      end: 188
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 188
    functionName: vnodeAsyncTaskDone
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadCondDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - VATASK_PIORITY
    - taosThreadCondSignal
    - vHashDrop
    - taosThreadCondBroadcast
    linkageType: ''
    returnType: void
    signature: 'static void vnodeAsyncTaskDone(SVAsync *async, SVATask *task) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:215,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:220,1
    - Dst: vnodeAsyncCancelAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:234,1
    - Dst: vnodeAsyncTaskDone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:227,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:223,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:238,1
    - Dst: VATASK_PIORITY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:251,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:269,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:278,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:287,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:290,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 292
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 292
    functionName: vnodeAsyncLoop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadCondWait
    - taosThreadMutexLock
    - TAOS_UNUSED
    - taosArrayGet
    - taosArrayDestroy
    - vnodeAsyncTaskDone
    - VATASK_PIORITY
    - vnodeAsyncCancelAllTasks
    - taosArrayGetSize
    - setThreadName
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'static void *vnodeAsyncLoop(void *arg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:398,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:405,1
    - Dst: taosThreadCondBroadcast
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:400,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:407,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:401,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:413,1
    - Dst: vHashDrop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:422,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:425,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:428,1
    - Dst: vHashDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:432,1
    - Dst: vHashDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:431,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:433,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - async
    argTypes:
    - SVAsync**
    constantsTouched: []
    func_position:
      end: 437
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 437
    functionName: vnodeAsyncDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadCondDestroy
    - taosMemoryFree
    - taosThreadMutexLock
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - taosThreadJoin
    - vHashDestroy
    - vHashDrop
    - taosThreadCondBroadcast
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeAsyncDestroy(SVAsync **async) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeAsyncC
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 6
    argNames:
    - async
    - priority
    - (*execute)
    - (*complete)
    - arg
    - taskID
    argTypes:
    - int64_t
    - EVAPriority
    - int32_t
    - void
    - void*
    - SVATaskID*
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: vnodeAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - vnodeAsyncC
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsync(int64_t async, EVAPriority priority, int32_t (*execute)(void
      *), void (*complete)(void *), void *arg, SVATaskID *taskID) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:632,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:634,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:637,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:641,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:642,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 1
    argNames:
    - taskID
    argTypes:
    - SVATaskID*
    constantsTouched: []
    func_position:
      end: 647
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: vnodeAWait
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadCondWait
    - taosThreadCondDestroy
    - taosMemoryFree
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - vHashGet
    linkageType: ''
    returnType: void
    signature: 'void vnodeAWait(SVATaskID *taskID) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:199,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:203,1
    - Dst: vnodeAsyncTaskDone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:206,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - async
    - cancelArray
    argTypes:
    - SVAsync*
    - SArray*
    constantsTouched: []
    func_position:
      end: 210
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 210
    functionName: vnodeAsyncCancelAllTasks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - vnodeAsyncTaskDone
    - taosArrayPush
    - vError
    linkageType: ''
    returnType: void
    signature: 'static void vnodeAsyncCancelAllTasks(SVAsync *async, SArray *cancelArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: vnodeAsyncTaskHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - MurmurHash3_32
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t vnodeAsyncTaskHash(const void *obj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:441,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:450,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:454,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:442,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:444,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:456,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:464,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - async
    argTypes:
    - SVAsync*
    constantsTouched: []
    func_position:
      end: 466
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 466
    functionName: vnodeAsyncLaunchWorker
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosThreadAttrInit
    - taosThreadJoin
    - taosThreadCreate
    - taosThreadAttrSetStackSize
    - vError
    - tstrerror
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: void
    signature: 'static void vnodeAsyncLaunchWorker(SVAsync *async) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:519,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:543,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:534,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:542,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:531,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:545,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:546,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:547,1
    - Dst: vHashPut
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:555,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:557,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:558,1
    - Dst: vnodeAsyncLaunchWorker
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:581,1
    - Dst: VATASK_PIORITY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:584,1
    - Dst: taosThreadCondSignal
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:579,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:559,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:611,1
    - Dst: VATASK_PIORITY
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:597,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 6
    argNames:
    - channelID
    - priority
    - (*execute)
    - (*cancel)
    - arg
    - taskID
    argTypes:
    - SVAChannelID*
    - EVAPriority
    - int32_t
    - void
    - void*
    - SVATaskID*
    constantsTouched: []
    func_position:
      end: 619
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 619
    functionName: vnodeAsyncC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadCondInit
    - taosThreadMutexUnlock
    - taosThreadCondDestroy
    - TAOS_UNUSED
    - taosThreadMutexLock
    - taosMemoryFree
    - taosMemoryCalloc
    - VATASK_PIORITY
    - taosThreadCondSignal
    - vHashGet
    - vnodeAsyncLaunchWorker
    - vHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncC(SVAChannelID *channelID, EVAPriority priority,
      int32_t (*execute)(void *), void (*cancel)(void *), void *arg, SVATaskID *taskID) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:663,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:665,1
    - Dst: cancel
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:681,1
    - Dst: vnodeAsyncTaskDone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:672,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:678,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - taskID
    argTypes:
    - SVATaskID*
    constantsTouched: []
    func_position:
      end: 685
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 685
    functionName: vnodeACancel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - cancel
    - taosThreadMutexLock
    - vnodeAsyncTaskDone
    - vHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeACancel(SVATaskID *taskID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeAsyncInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:481,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:485,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:482,1
    - Dst: vnodeAsyncSetWorkers
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: vnodeAsyncOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - vnodeAsyncSetWorkers
    - vnodeAsyncInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncOpen() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - obj1
    - obj2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 308
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 308
    functionName: vnodeAsyncTaskCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeAsyncTaskCompare(const void *obj1, const void
      *obj2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeAsyncDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: vnodeAsyncClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - vnodeAsyncDestroy
    linkageType: ''
    returnType: void
    signature: 'void vnodeAsyncClose() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: vnodeAsyncChannelHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - MurmurHash3_32
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t vnodeAsyncChannelHash(const void *obj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - obj1
    - obj2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: vnodeAsyncChannelCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeAsyncChannelCompare(const void *obj1, const void
      *obj2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:693,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:698,1
    - Dst: taosThreadCondBroadcast
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - asyncID
    - numWorkers
    argTypes:
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 701
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 701
    functionName: vnodeAsyncSetWorkers
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadCondBroadcast
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAsyncSetWorkers(int64_t asyncID, int32_t numWorkers) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:782,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:786,1
    - Dst: vnodeAsyncTaskDone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:789,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:759,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:828,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:818,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:821,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:833,1
    - Dst: vHashDrop
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:772,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:829,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:830,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:767,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:766,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:764,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:799,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:803,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:814,1
    - Dst: vnodeAsyncTaskDone
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:806,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:817,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 65
    argCount: 2
    argNames:
    - channelID
    - waitRunning
    argTypes:
    - SVAChannelID*
    - bool
    constantsTouched: []
    func_position:
      end: 838
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 838
    functionName: vnodeAChannelDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadCondWait
    - taosThreadCondDestroy
    - taosMemoryFree
    - TAOS_UNUSED
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    - taosArrayGet
    - taosArrayDestroy
    - vnodeAsyncTaskDone
    - vHashDrop
    - taosArrayPush
    - vError
    - vHashGet
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAChannelDestroy(SVAChannelID *channelID, bool waitRunning) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:337,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:342,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:345,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:342,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:337,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:346,1
    - Dst: vHashInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:365,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:367,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:369,1
    - Dst: vHashInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:380,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:383,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:385,1
    - Dst: vHashDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:382,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:384,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 2
    argNames:
    - async
    - label
    argTypes:
    - SVAsync**
    - char*
    constantsTouched: []
    func_position:
      end: 390
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 390
    functionName: vnodeAsyncInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadCondInit
    - taosThreadCondDestroy
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosMemoryCalloc
    - taosThreadMutexInit
    - strlen
    - vHashDestroy
    - memcpy
    - vHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeAsyncInit(SVAsync **async, const char *label) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:711,1
    - Dst: vHashPut
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:728,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:731,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:723,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:743,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - asyncID
    - channelID
    argTypes:
    - int64_t
    - SVAChannelID*
    constantsTouched: []
    func_position:
      end: 747
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 747
    functionName: vnodeAChannelInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosMemoryMalloc
    - vHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAChannelInit(int64_t asyncID, SVAChannelID *channelID) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - taskType
    argTypes:
    - EVATaskT
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: vnodeGetATaskName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *vnodeGetATaskName(EVATaskT taskType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:866,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:868,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c:867,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - taskID
    argTypes:
    - SVATaskID*
    constantsTouched: []
    func_position:
      end: 871
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 871
    functionName: vnodeATaskValid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeAsync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - vHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool vnodeATaskValid(SVATaskID *taskID) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:171,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - vgId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: vnodeVgroupIdLen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - strlen
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeVgroupIdLen(int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSyncPostClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 563
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 563
    functionName: vnodePostClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeSyncPostClose
    linkageType: ''
    returnType: void
    signature: 'void vnodePostClose(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRole
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: vnodeGetRole
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - syncGetRole
    linkageType: ''
    returnType: ESyncRole
    signature: 'ESyncRole vnodeGetRole(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetArbToken
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pVnode
    - outToken
    argTypes:
    - SVnode*
    - char*
    constantsTouched: []
    func_position:
      end: 602
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 602
    functionName: vnodeGetArbToken
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - syncGetArbToken
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeGetArbToken(SVnode *pVnode, char *outToken) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:183,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:184,1
    - Dst: strstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:199,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:203,1
    - Dst: vnodeVgroupIdLen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:211,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:215,1
    - Dst: tfsClosedir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:220,1
    - Dst: tfsRename
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:217,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:228,1
    - Dst: tfsOpendir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:188,1
    - Dst: tfsRename
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:229,1
    - Dst: tfsReaddir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:194,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:185,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:197,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:205,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:219,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:219,1
    - Dst: tfsClosedir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:226,1
    - Dst: tfsClosedir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:206,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:214,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:231,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:231,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 6
    argNames:
    - srcPath
    - dstPath
    - srcVgId
    - dstVgId
    - diskPrimary
    - pTfs
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 234
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 234
    functionName: vnodeRenameVgroupId
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - snprintf
    - tfsReaddir
    - terrstr
    - strstr
    - tstrncpy
    - taosStr2int32
    - strlen
    - tstrerror
    - tfsClosedir
    - vError
    - vInfo
    - tfsRename
    - tfsOpendir
    - vnodeVgroupIdLen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeRenameVgroupId(const char *srcPath, const char *dstPath,
      int32_t srcVgId, int32_t dstVgId, int32_t diskPrimary, STfs *pTfs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vnodeAWait
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:567,1
    - Dst: vnodeSyncClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:568,1
    - Dst: tqClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:571,1
    - Dst: vnodeQueryClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:569,1
    - Dst: tqDestroyNotifyHandleMap
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:570,1
    - Dst: walClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:572,1
    - Dst: tsdbClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:573,1
    - Dst: smaClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:574,1
    - Dst: metaClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:575,1
    - Dst: vnodeCloseBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:576,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:583,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:580,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:584,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:585,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:579,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:580,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 587
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 587
    functionName: vnodeClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - taosThreadCondDestroy
    - taosMemoryFree
    - taosThreadMutexDestroy
    - metaClose
    - vnodeAWait
    - walClose
    - vnodeCloseBufPool
    - smaClose
    - vnodeSyncClose
    - tsdbClose
    - vError
    - tsem_destroy
    - TD_VID
    - vnodeQueryClose
    - tqClose
    - tqDestroyNotifyHandleMap
    linkageType: ''
    returnType: void
    signature: 'void vnodeClose(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncUpdateArbTerm
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pVnode
    - arbTerm
    argTypes:
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 601
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 601
    functionName: vnodeUpdateArbTerm
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - syncUpdateArbTerm
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeUpdateArbTerm(SVnode *pVnode, int64_t arbTerm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 604
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 604
    functionName: vnodeStop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void vnodeStop(SVnode *pVnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:339,1
    - Dst: tfsRmdir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:338,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:346,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:339,1
    - Dst: tcsDeleteObjectsByPrefix
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:347,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - vgId
    - path
    - pTfs
    - nodeId
    argTypes:
    - int32_t
    - char*
    - STfs*
    - int32_t
    constantsTouched: []
    func_position:
      end: 350
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 350
    functionName: vnodeDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - snprintf
    - tcsDeleteObjectsByPrefix
    - tfsRmdir
    - tstrerror
    - vInfo
    - vError
    linkageType: ''
    returnType: void
    signature: 'void vnodeDestroy(int32_t vgId, const char *path, STfs *pTfs, int32_t
      nodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:355,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - diskPrimary
    - pTfs
    argTypes:
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 362
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 362
    functionName: vnodeCheckDisk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vError
    - tfsGetDisksAtLevel
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCheckDisk(int32_t diskPrimary, STfs *pTfs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:244,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:250,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:246,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:282,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:282,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:242,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:263,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:269,1
    - Dst: vnodeRenameVgroupId
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:287,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:270,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:286,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:289,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:274,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:290,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:268,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:276,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:276,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - srcPath
    - dstPath
    - pReq
    - diskPrimary
    - pTfs
    argTypes:
    - char*
    - char*
    - SAlterVnodeHashRangeReq*
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 296
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 296
    functionName: vnodeAlterHashRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - vnodeCommitInfo
    - vnodeRenameVgroupId
    - memset
    - tstrerror
    - tstrncpy
    - vInfo
    - vError
    - tmsgUpdateDnodeInfo
    - vnodeLoadInfo
    - vnodeSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAlterHashRange(const char *srcPath, const char *dstPath,
      SAlterVnodeHashRangeReq *pReq, int32_t diskPrimary, STfs *pTfs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:304,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:307,1
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:305,1
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:314,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:313,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:315,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:315,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:320,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:323,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:329,1
    - Dst: vnodeRenameVgroupId
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:328,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:329,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - srcPath
    - dstPath
    - srcVgId
    - dstVgId
    - diskPrimary
    - pTfs
    argTypes:
    - char*
    - char*
    - int32_t
    - int32_t
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 334
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 334
    functionName: vnodeRestoreVgroupId
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - vnodeRenameVgroupId
    - tstrerror
    - vInfo
    - vError
    - vnodeLoadInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeRestoreVgroupId(const char *srcPath, const char *dstPath,
      int32_t srcVgId, int32_t dstVgId, int32_t diskPrimary, STfs *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: vnodeShouldRemoveWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool vnodeShouldRemoveWal(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfsMkdirRecur
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:34,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pTfs
    - path
    argTypes:
    - STfs*
    - char*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: vnodeMkDir
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - taosMkDir
    - tfsMkdirRecur
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeMkDir(STfs *pTfs, const char *path) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:405,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:422,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:437,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:448,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:500,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:513,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:528,1
    - Dst: tqClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:546,1
    - Dst: walOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:478,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:477,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:384,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:480,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:515,1
    - Dst: vnodeBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:521,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:462,1
    - Dst: vnodeCheckDisk
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:372,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:409,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:390,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:422,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:477,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:480,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:515,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:467,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:487,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:492,1
    - Dst: vnodeMkDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:389,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:520,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:398,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:446,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:468,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:460,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:474,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:520,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:538,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:554,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:480,1
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:384,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:390,1
    - Dst: vnodeShouldRollback
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:443,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:454,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:462,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:466,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:440,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:462,1
    - Dst: metaClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:550,1
    - Dst: vnodeCloseBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:551,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:498,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:473,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:486,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:432,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:448,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:456,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:500,1
    - Dst: walClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:547,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:414,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:417,1
    - Dst: metaUpgrade
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:468,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:540,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:408,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:553,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:492,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:376,1
    - Dst: vnodeOpenBufPool
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:447,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:456,1
    - Dst: tqOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:507,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:508,1
    - Dst: VND_TSDB
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:467,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:381,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:436,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:456,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:506,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:522,1
    - Dst: vnodeSyncOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:529,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:530,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:417,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:448,1
    - Dst: vnodeQueryOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:499,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:454,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:500,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:539,1
    - Dst: vnodeQueryClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:545,1
    - Dst: tsdbOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:467,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:403,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:446,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:460,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:466,1
    - Dst: tqInitNotifyHandleMap
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:490,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:508,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:528,1
    - Dst: vnodeRollback
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:535,1
    - Dst: smaClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:549,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:409,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:414,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:508,1
    - Dst: smaOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:514,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:515,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:522,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:530,1
    - Dst: tsdbClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:548,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:468,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:373,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:404,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:437,1
    - Dst: metaOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:455,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:513,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:530,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 185
    argCount: 5
    argNames:
    - path
    - diskPrimary
    - pTfs
    - msgCb
    - force
    argTypes:
    - char*
    - int32_t
    - STfs*
    - SMsgCb
    - bool
    constantsTouched: []
    func_position:
      end: 556
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 556
    functionName: vnodeOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - vnodeBegin
    - taosMemoryCalloc
    - terrstr
    - smaClose
    - vInfo
    - metaUpgrade
    - metaClose
    - tsnprintf
    - vnodeQueryOpen
    - vnodeCloseBufPool
    - walClose
    - tqInitNotifyHandleMap
    - walOpen
    - vnodeOpenBufPool
    - strerror
    - taosRealPath
    - tsdbOpen
    - vnodeLoadInfo
    - memcpy
    - vnodeQueryClose
    - vnodeCommitInfo
    - smaOpen
    - vnodeMkDir
    - TD_VID
    - tmsgUpdateDnodeInfo
    - vnodeSyncOpen
    - taosThreadRwlockInit
    - vnodeRollback
    - vnodeGetPrimaryDir
    - taosThreadCondInit
    - vnodeShouldRollback
    - snprintf
    - tsem_init
    - taosThreadMutexInit
    - VND_IS_RSMA
    - vnodeCheckDisk
    - tstrerror
    - strlen
    - VND_TSDB
    - tqOpen
    - vError
    - tsdbClose
    - vnodeSaveInfo
    - tqClose
    - taosThreadRwlockDestroy
    - metaOpen
    linkageType: ''
    returnType: SVnode*
    signature: 'SVnode *vnodeOpen(const char *path, int32_t diskPrimary, STfs *pTfs,
      SMsgCb msgCb, bool force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSyncStart
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:594,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 595
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 595
    functionName: vnodeStart
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeSyncStart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeStart(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:25,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:27,1
    - Dst: tfsGetDiskPath
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 5
    argNames:
    - relPath
    - diskPrimary
    - pTfs
    - buf
    - bufLen
    argTypes:
    - char*
    - int32_t
    - STfs*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: vnodeGetPrimaryDir
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - snprintf
    - tfsGetDiskPath
    linkageType: ''
    returnType: void
    signature: 'void vnodeGetPrimaryDir(const char *relPath, int32_t diskPrimary,
      STfs *pTfs, char *buf, size_t bufLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vnodeCheckCfg
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:46,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:47,1
    - Dst: vnodeMkDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:52,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:47,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:53,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:53,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:54,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:56,1
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:69,1
    - Dst: vWarn
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:72,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:84,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:89,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:85,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:78,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:84,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:85,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:74,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:83,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - path
    - pCfg
    - diskPrimary
    - pTfs
    argTypes:
    - char*
    - SVnodeCfg*
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: vnodeCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - TAOS_SYSTEM_ERROR
    - vnodeCommitInfo
    - tstrerror
    - vnodeMkDir
    - strerror
    - vError
    - vnodeCheckCfg
    - vInfo
    - vnodeLoadInfo
    - vnodeSaveInfo
    - vWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeCreate(const char *path, SVnodeCfg *pCfg, int32_t diskPrimary,
      STfs *pTfs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:155,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:155,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:165,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:132,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:146,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:118,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:120,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:121,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:104,1
    - Dst: vnodeLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:102,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:104,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:133,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:134,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:161,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:153,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:149,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 4
    argNames:
    - path
    - pReq
    - diskPrimary
    - pTfs
    argTypes:
    - char*
    - SAlterVnodeReplicaReq*
    - int32_t
    - STfs*
    constantsTouched: []
    func_position:
      end: 167
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 167
    functionName: vnodeAlterReplica
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - vnodeCommitInfo
    - memset
    - tstrerror
    - tstrncpy
    - vInfo
    - vError
    - tmsgUpdateDnodeInfo
    - vnodeLoadInfo
    - vnodeSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeAlterReplica(const char *path, SAlterVnodeReplicaReq
      *pReq, int32_t diskPrimary, STfs *pTfs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSyncPreClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:559,1
    - Dst: vnodeQueryPreClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:560,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 561
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 561
    functionName: vnodePreClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - vnodeSyncPreClose
    - vnodeQueryPreClose
    linkageType: ''
    returnType: void
    signature: 'void vnodePreClose(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIsCatchUp
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c:597,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 597
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 597
    functionName: vnodeIsCatchUp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached:
    - syncIsCatchUp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeIsCatchUp(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 606
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 606
    functionName: vnodeGetSyncHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeOpen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t vnodeGetSyncHandle(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapReaderGetTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:210,1
    - Dst: tsdbTFileSetRangeArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SVSnapReader*
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: vnodeSnapReaderDestroyTsdbRanges
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetRangeArrayDestroy
    - vnodeSnapReaderGetTsdbRanges
    linkageType: ''
    returnType: void
    signature: 'static void vnodeSnapReaderDestroyTsdbRanges(SVSnapReader *pReader) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapReaderGetTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:118,1
    - Dst: vnodeExtractSnapInfoDiff
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:124,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:126,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:120,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:120,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:126,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:126,1
    - Dst: tDeserializeTsdbRepOpts
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:131,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:133,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:133,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:138,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:138,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:133,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:152,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:145,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:152,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:145,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 2
    argNames:
    - pReader
    - pParam
    argTypes:
    - SVSnapReader*
    - SSnapshotParam*
    constantsTouched: []
    func_position:
      end: 158
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 158
    functionName: vnodeSnapReaderDealWithSnapInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - vnodeExtractSnapInfoDiff
    - terrstr
    - vnodeSnapReaderGetTsdbRanges
    - vInfo
    - vError
    - TD_VID
    - tDeserializeTsdbRepOpts
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapReaderDealWithSnapInfo(SVSnapReader *pReader,
      SSnapshotParam *pParam) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:280,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:286,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:296,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:295,1
    - Dst: metaSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:318,1
    - Dst: tsdbSnapRAWReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:351,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:352,1
    - Dst: tsdbSnapRAWRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:355,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:376,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:381,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:397,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:404,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:419,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:434,1
    - Dst: streamStateSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:448,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:367,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:462,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:484,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:427,1
    - Dst: streamTaskSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:426,1
    - Dst: streamStateSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:454,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:256,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:268,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:265,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:275,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:297,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:319,1
    - Dst: metaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:325,1
    - Dst: tsdbSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:333,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:335,1
    - Dst: tsdbSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:338,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:408,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:470,1
    - Dst: rsmaSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:469,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:495,1
    - Dst: streamTaskSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:433,1
    - Dst: tsdbSnapRAWReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:361,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:264,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:277,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:299,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:288,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:294,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:302,1
    - Dst: metaSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:314,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:315,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:339,1
    - Dst: tsdbSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:344,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:392,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:455,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:466,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:445,1
    - Dst: streamTaskSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:422,1
    - Dst: tqSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:402,1
    - Dst: rsmaSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:465,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:266,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:271,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:278,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:285,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:283,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:303,1
    - Dst: tqSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:370,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:372,1
    - Dst: tqSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:375,1
    - Dst: tqSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:386,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:388,1
    - Dst: tqSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:407,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:423,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:413,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:429,1
    - Dst: streamStateSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:441,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:449,1
    - Dst: rsmaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:475,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:484,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:492,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:356,1
    - Dst: tqSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:391,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 209
    argCount: 3
    argNames:
    - pReader
    - ppData
    - nData
    argTypes:
    - SVSnapReader*
    - uint8_t**
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 499
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 499
    functionName: vnodeSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - streamTaskSnapRead
    - taosMemoryFree
    - tsdbSnapRAWReaderClose
    - tqSnapReaderClose
    - streamStateSnapRead
    - tqSnapReaderOpen
    - metaSnapRead
    - streamTaskSnapReaderClose
    - vInfo
    - tsdbSnapRAWRead
    - tqSnapRead
    - taosOpenFile
    - taosMemoryMalloc
    - taosReadFile
    - streamStateSnapReaderOpen
    - metaSnapReaderClose
    - TSDB_CHECK_CODE
    - taosCloseFile
    - tsdbSnapRead
    - tsdbSnapReaderOpen
    - tsdbSnapReaderClose
    - tsdbSnapRAWReaderOpen
    - streamStateSnapReaderClose
    - TD_VID
    - rsmaSnapReaderOpen
    - rsmaSnapRead
    - vnodeGetPrimaryDir
    - vDebug
    - snprintf
    - metaSnapReaderOpen
    - streamTaskSnapReaderOpen
    - VND_IS_RSMA
    - tstrerror
    - strlen
    - rsmaSnapReaderClose
    - vError
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSnapRead(SVSnapReader *pReader, uint8_t **ppData, uint32_t
      *nData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 2
    argCount: 2
    argNames:
    - pWriter
    - tsdbTyp
    argTypes:
    - SVSnapWriter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: vnodeSnapWriterGetTsdbRanges
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TFileSetRangeArray**
    signature: 'TFileSetRangeArray **vnodeSnapWriterGetTsdbRanges(SVSnapWriter *pWriter,
      int32_t tsdbTyp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:601,1
    - Dst: vnodeSyncCommit
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:602,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:602,1
    - Dst: tsdbDisableAndCancelAllBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: vnodeCancelAndDisableAllBgTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - vnodeSyncCommit
    - TAOS_CHECK_RETURN
    - tsdbDisableAndCancelAllBgTask
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeCancelAndDisableAllBgTask(SVnode *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:619,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:627,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:621,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:624,1
    - Dst: vnodeCancelAndDisableAllBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:623,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:629,1
    - Dst: vnodeSnapWriterDealWithSnapInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:639,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:640,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:644,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:644,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:648,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:645,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:644,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pVnode
    - pParam
    - ppWriter
    argTypes:
    - SVnode*
    - SSnapshotParam*
    - SVSnapWriter**
    constantsTouched: []
    func_position:
      end: 653
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 653
    functionName: vnodeSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - taosMemoryCalloc
    - vnodeSnapWriterDealWithSnapInfo
    - tstrerror
    - vInfo
    - vError
    - TD_VID
    - taosMemoryFreeClear
    - vnodeCancelAndDisableAllBgTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSnapWriterOpen(SVnode *pVnode, SSnapshotParam *pParam,
      SVSnapWriter **ppWriter) '
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWWriterPrepareClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:677,1
    - Dst: vnodeCommitInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:699,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:762,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:768,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:774,1
    - Dst: rsmaSnapWriterPrepareClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:682,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:697,1
    - Dst: tsdbSnapRAWWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:718,1
    - Dst: streamTaskSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:739,1
    - Dst: streamStateRebuildFromSnap
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:748,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:768,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:768,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:770,1
    - Dst: vnodeRollback
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:703,1
    - Dst: metaSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:708,1
    - Dst: tsdbSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:713,1
    - Dst: tqSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:728,1
    - Dst: tqSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:771,1
    - Dst: vnodeEnableBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:773,1
    - Dst: vnodeSnapWriterDestroyTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:668,1
    - Dst: tsdbSnapWriterPrepareClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:672,1
    - Dst: streamStateSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:745,1
    - Dst: rsmaSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:755,1
    - Dst: tqSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:733,1
    - Dst: vnodeBegin
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:759,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:764,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:770,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:774,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 71
    argCount: 3
    argNames:
    - pWriter
    - rollback
    - pSnapshot
    argTypes:
    - SVSnapWriter*
    - int8_t
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 777
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 777
    functionName: vnodeSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - metaSnapWriterClose
    - taosMemoryFree
    - vnodeBegin
    - tsdbSnapWriterClose
    - vInfo
    - vnodeEnableBgTask
    - tsdbSnapRAWWriterPrepareClose
    - tqSnapWriterClose
    - vnodeCommitInfo
    - vnodeSnapWriterDestroyTsdbRanges
    - rsmaSnapWriterPrepareClose
    - TD_VID
    - vnodeRollback
    - tsdbSnapWriterPrepareClose
    - vnodeGetPrimaryDir
    - streamStateRebuildFromSnap
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - streamTaskSnapWriterClose
    - streamStateSnapWriterClose
    - rsmaSnapWriterClose
    - tstrerror
    - tsdbSnapRAWWriterClose
    - vError
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSnapWriterClose(SVSnapWriter *pWriter, int8_t rollback,
      SSnapshot *pSnapshot) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetPartListCreate
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:20,1
    - Dst: tsdbFSetPartListToRangeDiff
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:29,1
    - Dst: tsdbFSetPartListDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:33,1
    - Dst: tDeserializeTsdbFSetPartList
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:26,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufLen
    - ppRanges
    argTypes:
    - void*
    - int32_t
    - TFileSetRangeArray**
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: vnodeExtractSnapInfoDiff
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbFSetPartListDestroy
    - tsdbFSetPartListCreate
    - tDeserializeTsdbFSetPartList
    - tsdbFSetPartListToRangeDiff
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeExtractSnapInfoDiff(void *buf, int32_t bufLen,
      TFileSetRangeArray **ppRanges) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:166,1
    - Dst: vnodeGetSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:187,1
    - Dst: vnodeSnapReaderDealWithSnapInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:176,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:190,1
    - Dst: tsdbSnapRAWReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:181,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:191,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:198,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:198,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:201,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:201,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 3
    argNames:
    - pVnode
    - pParam
    - ppReader
    argTypes:
    - SVnode*
    - SSnapshotParam*
    - SVSnapReader**
    constantsTouched: []
    func_position:
      end: 205
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 205
    functionName: vnodeSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - vnodeGetSnapshot
    - taosMemoryCalloc
    - vnodeSnapReaderDealWithSnapInfo
    - tsdbSnapRAWReaderOpen
    - tstrerror
    - vInfo
    - vError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSnapReaderOpen(SVnode *pVnode, SSnapshotParam *pParam,
      SVSnapReader **ppReader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - pReader
    - tsdbTyp
    argTypes:
    - SVSnapReader*
    - int32_t
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: vnodeSnapReaderGetTsdbRanges
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TFileSetRangeArray**
    signature: 'static TFileSetRangeArray **vnodeSnapReaderGetTsdbRanges(SVSnapReader
      *pReader, int32_t tsdbTyp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:217,1
    - Dst: rsmaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:221,1
    - Dst: tsdbSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:226,1
    - Dst: vnodeSnapReaderDestroyTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:218,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:217,1
    - Dst: tsdbSnapRAWReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:230,1
    - Dst: metaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:234,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:238,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:242,1
    - Dst: tqSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SVSnapReader*
    constantsTouched: []
    func_position:
      end: 250
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 250
    functionName: vnodeSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - metaSnapReaderClose
    - taosMemoryFree
    - vnodeSnapReaderDestroyTsdbRanges
    - tsdbSnapRAWReaderClose
    - tqSnapReaderClose
    - tsdbSnapReaderClose
    - rsmaSnapReaderClose
    - vInfo
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'void vnodeSnapReaderClose(SVSnapReader *pReader) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:550,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:569,1
    - Dst: vnodeSnapWriterGetTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:567,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:569,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:570,1
    - Dst: vnodeExtractSnapInfoDiff
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:573,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:574,1
    - Dst: tDeserializeTsdbRepOpts
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:577,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:578,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:581,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:581,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:582,1
    - Dst: vInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:587,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:587,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:592,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:592,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:592,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 39
    argCount: 2
    argNames:
    - pWriter
    - pParam
    argTypes:
    - SVSnapWriter*
    - SSnapshotParam*
    constantsTouched: []
    func_position:
      end: 595
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 595
    functionName: vnodeSnapWriterDealWithSnapInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - vnodeExtractSnapInfoDiff
    - tstrerror
    - vInfo
    - vError
    - TD_VID
    - tDeserializeTsdbRepOpts
    - vnodeSnapWriterGetTsdbRanges
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapWriterDealWithSnapInfo(SVSnapWriter *pWriter,
      SSnapshotParam *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbEnableBgTask
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 609
    functionName: vnodeEnableBgTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbEnableBgTask
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeEnableBgTask(SVnode *pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeSnapWriterGetTsdbRanges
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:658,1
    - Dst: tsdbTFileSetRangeArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:660,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - pWriter
    argTypes:
    - SVSnapWriter*
    constantsTouched: []
    func_position:
      end: 662
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 662
    functionName: vnodeSnapWriterDestroyTsdbRanges
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetRangeArrayDestroy
    - vnodeSnapWriterGetTsdbRanges
    linkageType: ''
    returnType: void
    signature: 'static void vnodeSnapWriterDestroyTsdbRanges(SVSnapWriter *pWriter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeDecodeInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:786,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:794,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:787,1
    - Dst: vnodeSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:800,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:799,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SVSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 805
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 805
    functionName: vnodeSnapWriteInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - vDebug
    - TSDB_CHECK_CODE
    - vnodeDecodeInfo
    - vnodeSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vnodeSnapWriteInfo(SVSnapWriter *pWriter, uint8_t *pData,
      uint32_t nData) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:818,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:820,1
    - Dst: vnodeSnapWriteInfo
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:830,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:831,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:837,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:841,1
    - Dst: tqSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:869,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:870,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:874,1
    - Dst: streamTaskSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:904,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:937,1
    - Dst: streamStateSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:909,1
    - Dst: vDebug
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:825,1
    - Dst: tqSnapCheckInfoWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:883,1
    - Dst: tqSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:889,1
    - Dst: streamTaskSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:901,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:902,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:905,1
    - Dst: streamStateSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:912,1
    - Dst: rsmaSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:928,1
    - Dst: tqSnapOffsetWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:893,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:925,1
    - Dst: metaSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:836,1
    - Dst: tsdbSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:847,1
    - Dst: tsdbSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:852,1
    - Dst: tsdbSnapRAWWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:858,1
    - Dst: tsdbSnapRAWWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:862,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:849,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:859,1
    - Dst: tqSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:879,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:880,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:884,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:913,1
    - Dst: vError
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:937,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:929,1
    - Dst: rsmaSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:923,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:818,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:825,1
    - Dst: metaSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:840,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:853,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:863,1
    - Dst: tqSnapHandleWrite
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:873,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:890,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:894,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:938,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c:910,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 106
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SVSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 941
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 941
    functionName: vnodeSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/vnd/vnodeSnapshot.c
    functionUses: []
    functionsReached:
    - rsmaSnapWrite
    - streamStateSnapWrite
    - tsdbSnapWriterOpen
    - streamTaskSnapWrite
    - tqSnapCheckInfoWrite
    - rsmaSnapWriterOpen
    - vnodeSnapWriteInfo
    - tqSnapOffsetWrite
    - streamTaskSnapWriterOpen
    - TSDB_CHECK_CODE
    - tsdbSnapWrite
    - tqSnapHandleWrite
    - metaSnapWrite
    - tqSnapWriterOpen
    - tsdbSnapRAWWrite
    - TD_VID
    - tsdbSnapRAWWriterOpen
    - vDebug
    - metaSnapWriterOpen
    - tstrerror
    - vError
    - streamStateSnapWriterOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vnodeSnapWrite(SVSnapWriter *pWriter, uint8_t *pData, uint32_t
      nData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:259,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:279,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:271,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pCache
    - expand
    argTypes:
    - SMetaCache*
    - int8_t
    constantsTouched: []
    func_position:
      end: 283
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 283
    functionName: metaRehashCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - TABS
    linkageType: ''
    returnType: void
    signature: 'static void metaRehashCache(SMetaCache* pCache, int8_t expand) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:343,1
    - Dst: metaRehashCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:347,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - pMeta
    - uid
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 355
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 355
    functionName: metaCacheDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRehashCache
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCacheDrop(SMeta* pMeta, int64_t uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:606,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:610,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:610,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:607,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:611,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:612,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:613,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:614,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:615,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:619,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:624,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:622,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pTableEntry
    - pKey
    - keyLen
    - suid
    argTypes:
    - SHashObj*
    - void*
    - int32_t
    - uint64_t
    constantsTouched: []
    func_position:
      end: 628
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 628
    functionName: addNewEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - taosMemoryFree
    - tstrerror
    - TSDB_CHECK_NULL
    - metaError
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNewEntry(SHashObj* pTableEntry, const void* pKey,
      int32_t keyLen, uint64_t suid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:992,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:994,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1002,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:997,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:995,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1003,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1004,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1005,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1006,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1007,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1013,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1008,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1015,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1007,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1013,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pVnode
    - suid
    - pList
    argTypes:
    - void*
    - tb_uid_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1017
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1017
    functionName: metaGetCachedRefDbs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosMemoryMalloc
    - taosHashIterate
    - taosHashGet
    - tstrncpy
    - tstrerror
    - TSDB_CHECK_NULL
    - taosHashGetKey
    - taosArrayPush
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetCachedRefDbs(void* pVnode, tb_uid_t suid, SArray* pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:292,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:300,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:311,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:314,1
    - Dst: metaRehashCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:309,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 2
    argNames:
    - pMeta
    - pInfo
    argTypes:
    - SMeta*
    - SMetaInfo*
    constantsTouched: []
    func_position:
      end: 328
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 328
    functionName: metaCacheUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - metaRehashCache
    - taosMemoryMalloc
    - metaError
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCacheUpsert(SMeta* pMeta, SMetaInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pMeta
    - uid
    - pInfo
    argTypes:
    - SMeta*
    - int64_t
    - SMetaInfo*
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: metaCacheGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCacheGet(SMeta* pMeta, int64_t uid, SMetaInfo* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1024,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1027,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1024,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1028,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1025,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1034,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pRefDbs
    - suid
    - pEntry
    argTypes:
    - SHashObj*
    - uint64_t
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1037
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1037
    functionName: addRefDbsCacheNewEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - metaError
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addRefDbsCacheNewEntry(SHashObj* pRefDbs, uint64_t
      suid, SHashObj **pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:94,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 100
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 100
    functionName: entryCacheClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void entryCacheClose(SMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:389,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:410,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:403,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - pCache
    - expand
    argTypes:
    - SMetaCache*
    - int8_t
    constantsTouched: []
    func_position:
      end: 416
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 416
    functionName: metaRehashStatsCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaRehashStatsCache(SMetaCache* pCache, int8_t expand) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:889,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:893,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:893,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pMeta
    - key
    - type
    argTypes:
    - SMeta*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 898
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 898
    functionName: metaTbInFilterCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool metaTbInFilterCache(SMeta* pMeta, const void* key, int8_t type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: statsCacheClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void statsCacheClose(SMeta* pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:425,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:442,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:438,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:439,1
    - Dst: metaRehashStatsCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:438,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pMeta
    - pInfo
    argTypes:
    - SMeta*
    - SMetaStbStats*
    constantsTouched: []
    func_position:
      end: 456
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 456
    functionName: metaStatsCacheUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - metaRehashStatsCache
    - TAOS_UNUSED
    - taosMemoryMalloc
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaStatsCacheUpsert(SMeta* pMeta, SMetaStbStats* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setMD5DigestInKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - buf
    - pHashMap
    - suid
    - key
    - keyLen
    argTypes:
    - uint64_t*
    - SHashObj*
    - uint64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 517
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 517
    functionName: initCacheKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - setMD5DigestInKey
    linkageType: ''
    returnType: void
    signature: 'static void initCacheKey(uint64_t* buf, const SHashObj* pHashMap,
      uint64_t suid, const char* key, int32_t keyLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:902,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:906,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:906,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pMeta
    - key
    - type
    argTypes:
    - SMeta*
    - void*
    - int8_t
    constantsTouched: []
    func_position:
      end: 910
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 910
    functionName: metaPutTbToFilterCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaPutTbToFilterCache(SMeta* pMeta, const void* key, int8_t
      type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pBuf
    - key
    - keyLen
    argTypes:
    - uint64_t*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: setMD5DigestInKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void setMD5DigestInKey(uint64_t* pBuf, const char*
      key, int32_t keyLen) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:144,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:153,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:180,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:190,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:196,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:203,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:205,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:208,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:214,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:217,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:157,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:159,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:164,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:169,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:180,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:190,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:192,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:198,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:209,1
    - Dst: metaCacheClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:215,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:217,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:133,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:142,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:135,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:164,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:170,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:185,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:182,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:173,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:175,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:214,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:166,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:186,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:196,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:203,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 90
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 220
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 220
    functionName: metaCacheOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosLRUCacheInit
    - metaCacheClose
    - taosMemoryCalloc
    - taosThreadMutexInit
    - metaDebug
    - tstrerror
    - metaError
    - TD_VID
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCacheOpen(SMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:462,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:475,1
    - Dst: metaRehashStatsCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:471,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pMeta
    - uid
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: metaStatsCacheDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - metaRehashStatsCache
    - taosMemoryFree
    - TAOS_UNUSED
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaStatsCacheDrop(SMeta* pMeta, int64_t uid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:522,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:533,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:538,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:531,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:536,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:543,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:545,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:551,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:555,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:563,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:570,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:567,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 6
    argNames:
    - pVnode
    - suid
    - pKey
    - keyLen
    - pList1
    - acquireRes
    argTypes:
    - void*
    - tb_uid_t
    - uint8_t*
    - int32_t
    - SArray*
    - bool*
    constantsTouched: []
    func_position:
      end: 572
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 572
    functionName: metaGetCachedTableUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUCacheValue
    - taosThreadMutexLock
    - taosLRUCacheLookup
    - metaInfo
    - taosHashGet
    - taosLRUCacheRelease
    - TD_VID
    - metaError
    - taosArrayAddBatch
    - initCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetCachedTableUidList(void* pVnode, tb_uid_t suid, const
      uint8_t* pKey, int32_t keyLen, SArray* pList1, bool* acquireRes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaStatsCacheGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:946,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:956,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pMeta
    - uid
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 961
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 961
    functionName: metaGetStbKeep
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - metaStatsCacheGet
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t metaGetStbKeep(SMeta* pMeta, int64_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: entryCacheClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:224,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:229,1
    - Dst: statsCacheClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:225,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:228,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:227,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:230,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:232,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:233,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:234,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:235,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:237,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:238,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:244,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:240,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:242,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: metaCacheClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosHashClear
    - statsCacheClose
    - entryCacheClose
    - taosHashCleanup
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void metaCacheClose(SMeta* pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:489,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pMeta
    - uid
    - pInfo
    argTypes:
    - SMeta*
    - int64_t
    - SMetaStbStats*
    constantsTouched: []
    func_position:
      end: 505
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 505
    functionName: metaStatsCacheGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaStatsCacheGet(SMeta* pMeta, int64_t uid, SMetaStbStats*
      pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:582,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:588,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:591,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:592,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:594,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:595,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:595,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:600,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 601
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 601
    functionName: freeUidCachePayload
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaInfo
    - taosHashGet
    - taosHashRemove
    - taosHashGetSize
    - taosGetTimestampUs
    - metaError
    linkageType: ''
    returnType: void
    signature: 'static void freeUidCachePayload(const void* key, size_t keyLen, void*
      value, void* ud) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:965,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:978,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:971,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:976,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:969,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - pMeta
    - suid
    argTypes:
    - SMeta*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 983
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 983
    functionName: metaRefDbsCacheClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - metaDebug
    - taosHashGet
    - taosHashRemove
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaRefDbsCacheClear(SMeta* pMeta, uint64_t suid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1046,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1049,1
    - Dst: addRefDbsCacheNewEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1051,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1057,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1052,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1058,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1059,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1059,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1061,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1061,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1062,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1068,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:1068,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - pVnode
    - suid
    - pList
    argTypes:
    - void*
    - tb_uid_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1073
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1073
    functionName: metaPutRefDbsToCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - addRefDbsCacheNewEntry
    - taosThreadMutexLock
    - taosHashGet
    - tstrerror
    - strlen
    - metaError
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaPutRefDbsToCache(void* pVnode, tb_uid_t suid, SArray*
      pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:858,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:862,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:867,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:865,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:868,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:869,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:875,1
    - Dst: setMD5DigestInKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:877,1
    - Dst: taosLRUCacheErase
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:878,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:879,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:881,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:882,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:884,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - suid
    argTypes:
    - SMeta*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 886
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 886
    functionName: metaTbGroupCacheClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUCacheErase
    - taosThreadMutexLock
    - setMD5DigestInKey
    - taosHashClear
    - metaDebug
    - taosHashIterate
    - taosHashGet
    - taosHashGetSize
    - TD_VID
    - initCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaTbGroupCacheClear(SMeta* pMeta, uint64_t suid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:119,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: freeCacheEntryFp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void freeCacheEntryFp(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:700,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:704,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:707,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:709,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:710,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:711,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:717,1
    - Dst: setMD5DigestInKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:719,1
    - Dst: taosLRUCacheErase
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:720,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:721,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:724,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:726,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:723,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - suid
    argTypes:
    - SMeta*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 728
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 728
    functionName: metaUidCacheClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUCacheErase
    - taosThreadMutexLock
    - setMD5DigestInKey
    - taosHashClear
    - metaDebug
    - taosHashIterate
    - taosHashGet
    - taosHashGetSize
    - TD_VID
    - initCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUidCacheClear(SMeta* pMeta, uint64_t suid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:732,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:746,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:741,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:743,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:748,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:752,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:754,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:758,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:758,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:764,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:768,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:771,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 5
    argNames:
    - pVnode
    - suid
    - pKey
    - keyLen
    - pList
    argTypes:
    - void*
    - tb_uid_t
    - uint8_t*
    - int32_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 773
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 773
    functionName: metaGetCachedTbGroup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUCacheValue
    - taosThreadMutexLock
    - taosLRUCacheLookup
    - metaDebug
    - metaInfo
    - taosHashGet
    - taosLRUCacheRelease
    - taosArrayDup
    - TD_VID
    - initCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetCachedTbGroup(void* pVnode, tb_uid_t suid, const uint8_t*
      pKey, int32_t keyLen, SArray** pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:808,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:823,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:814,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:825,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:811,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:826,1
    - Dst: addNewEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:828,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:833,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:836,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:845,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:848,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:850,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:849,1
    - Dst: taosLRUCacheGetUsage
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:850,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 6
    argNames:
    - pVnode
    - suid
    - pKey
    - keyLen
    - pPayload
    - payloadLen
    argTypes:
    - void*
    - uint64_t
    - void*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 853
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 853
    functionName: metaPutTbGroupToCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayDestroy
    - taosLRUCacheInsert
    - metaDebug
    - taosHashGet
    - taosHashGetSize
    - addNewEntry
    - TD_VID
    - taosHashPut
    - initCacheKey
    - taosLRUCacheGetUsage
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaPutTbGroupToCache(void* pVnode, uint64_t suid, const void*
      pKey, int32_t keyLen, void* pPayload, int32_t payloadLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pMeta
    - type
    argTypes:
    - SMeta*
    - int8_t
    constantsTouched: []
    func_position:
      end: 917
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 917
    functionName: metaSizeOfTbFilterCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSizeOfTbFilterCache(SMeta* pMeta, int8_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: freeRefDbFp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void freeRefDbFp(void* param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:783,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:793,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:792,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:789,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:795,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:796,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:797,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 802
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 802
    functionName: freeTbGroupCachePayload
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - metaDebug
    - taosHashGet
    - taosHashRemove
    - taosHashGetSize
    - taosGetTimestampUs
    - metaError
    linkageType: ''
    returnType: void
    signature: 'static void freeTbGroupCachePayload(const void* key, size_t keyLen,
      void* value, void* ud) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:925,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:929,1
    - Dst: metaPutTbToFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:935,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:926,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 941
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 941
    functionName: metaInitTbFilterCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - strchr
    - TAOS_CHECK_RETURN
    - strncmp
    - metaPutTbToFilterCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaInitTbFilterCache(SMeta* pMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:635,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:649,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:641,1
    - Dst: initCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:658,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:660,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:661,1
    - Dst: addNewEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:663,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:668,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:683,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:671,1
    - Dst: taosLRUCacheGetUsage
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:685,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:680,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:684,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:685,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 7
    argNames:
    - pVnode
    - suid
    - pKey
    - keyLen
    - pPayload
    - payloadLen
    - selectivityRatio
    argTypes:
    - void*
    - uint64_t
    - void*
    - int32_t
    - void*
    - int32_t
    - double
    constantsTouched: []
    func_position:
      end: 688
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 688
    functionName: metaUidFilterCachePut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosLRUCacheInsert
    - metaDebug
    - taosHashGet
    - taosHashGetSize
    - addNewEntry
    - TD_VID
    - taosHashPut
    - initCacheKey
    - taosLRUCacheGetUsage
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUidFilterCachePut(void* pVnode, uint64_t suid, const void*
      pKey, int32_t keyLen, void* pPayload, int32_t payloadLen, double selectivityRatio) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:691,1
    - Dst: metaCacheOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:693,1
    - Dst: metaCacheClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:692,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c:694,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: metaCacheClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCache.c
    functionUses: []
    functionsReached:
    - metaULock
    - metaWLock
    - metaCacheOpen
    - metaCacheClose
    linkageType: ''
    returnType: void
    signature: 'void metaCacheClear(SMeta* pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: metaGetTxn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TXN*
    signature: 'TXN *metaGetTxn(SMeta *pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:50,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:58,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:53,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:51,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:54,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:58,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:59,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:61,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:61,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:64,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pMeta
    - heap
    argTypes:
    - SMeta*
    - int8_t
    constantsTouched: []
    func_position:
      end: 65
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 65
    functionName: metaBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tdbCommit
    - metaDebug
    - tstrerror
    - TAOS_RETURN
    - metaError
    - TD_VID
    - tdbBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaBegin(SMeta *pMeta, int8_t heap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - txn
    argTypes:
    - SMeta*
    - TXN*
    constantsTouched: []
    func_position:
      end: 70
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 70
    functionName: metaFinishCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - tdbPostCommit
    linkageType: ''
    returnType: int
    signature: 'int metaFinishCommit(SMeta *pMeta, TXN *txn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolMallocAligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:26,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - pPool
    - size
    argTypes:
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 27
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 27
    functionName: metaMalloc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - vnodeBufPoolMallocAligned
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE void *metaMalloc(void *pPool, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - txn
    argTypes:
    - SMeta*
    - TXN*
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: metaCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - tdbCommit
    linkageType: ''
    returnType: int
    signature: 'int metaCommit(SMeta *pMeta, TXN *txn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:77,1
    - Dst: ttlMgrFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:78,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:80,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:80,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:82,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:84,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:85,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:92,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:93,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:95,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:98,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 99
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 99
    functionName: metaPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - ttlMgrFlush
    - tdbCommit
    - TSDB_CHECK_CODE
    - metaDebug
    - metaWLock
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    - metaULock
    linkageType: ''
    returnType: int
    signature: 'int metaPrepareAsyncCommit(SMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pPool
    - p
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: metaFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - vnodeBufPoolFree
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void metaFree(void *pPool, void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:107,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: metaAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaCommit.c
    functionUses: []
    functionsReached:
    - tdbAbort
    - metaCacheClear
    linkageType: ''
    returnType: int
    signature: 'int metaAbort(SMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaSchemaTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: metaSchemaTableInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaSchemaTableUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSchemaTableInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaTtlIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1084,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1085
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1085
    functionName: metaTtlIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaTtlIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTtlIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2317,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2319,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2319,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2328,1
    - Dst: metaHandleVirtualNormalTableUpdateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2329,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2330,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2332,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2332,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2333,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2337,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2338,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2340
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2340
    functionName: metaHandleVirtualNormalTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaTimeSeriesNotifyCheck
    - metaFetchEntryFree
    - metaHandleVirtualNormalTableUpdateImpl
    - metaWLock
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableUpdate(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:291,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:308,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:331,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:339,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:342,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:348,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:358,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:346,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:364,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:285,1
    - Dst: metaGetChildUidsOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:306,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:321,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:320,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:313,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:332,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:337,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:340,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:348,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:356,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:357,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:314,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:329,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:320,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:333,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:341,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:349,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:356,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:359,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:365,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:368,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:350,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:281,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:283,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:283,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:281,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:285,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:297,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:318,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:308,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:331,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:339,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:354,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 81
    argCount: 4
    argNames:
    - pMeta
    - pParam
    - pOldColumn
    - pNewColumn
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - SSchema*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 370
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 370
    functionName: metaAddOrDropTagIndexOfSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaGetChildUidsOfSuperTable
    - metaFetchEntryByUid
    - tdbTbDelete
    - taosArrayGet
    - IS_IDX_ON
    - taosArrayDestroy
    - metaFetchEntryFree
    - metaErr
    - metaFetchTagIdxKey
    - tdbTbInsert
    - TD_VID
    - taosArrayGetSize
    - metaFetchTagIdxKeyFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaAddOrDropTagIndexOfSuperTable(SMeta *pMeta, const
      SMetaHandleParam *pParam, const SSchema *pOldColumn, const SSchema *pNewColumn) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2348,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2354,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2350,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2356,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2350,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2356,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2357,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2367,1
    - Dst: metaHandleVirtualChildTableUpdateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2368,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2369,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2371,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2377,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2373,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2372,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2371,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2380
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2380
    functionName: metaHandleVirtualChildTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaHandleVirtualChildTableUpdateImpl
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - metaWLock
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableUpdate(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaSaveJsonVarToIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:855,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:857,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:857,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:865,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:869,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:871,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:871,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:875,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:877,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:877,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:878,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:881,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 885
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 885
    functionName: metaTagIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - IS_IDX_ON
    - metaErr
    - metaFetchTagIdxKey
    - tdbTbInsert
    - TD_VID
    - metaSaveJsonVarToIdx
    - metaFetchTagIdxKeyFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTagIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaTtlIdxDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1097,1
    - Dst: metaTtlIdxInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1102,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1104,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1099,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1099,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1109
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1109
    functionName: metaTtlIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaTtlIdxInsert
    - metaTtlIdxDelete
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTtlIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:910,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:917,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:942,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:928,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:932,1
    - Dst: tagIdxKeyCmpr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:939,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:943,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:950,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:951,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:958,1
    - Dst: metaDelJsonVarFromIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:902,1
    - Dst: metaSaveJsonVarToIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:908,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:928,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:944,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:948,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:952,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:904,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:926,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:940,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:934,1
    - Dst: memcmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:897,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:904,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:910,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:934,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:935,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:942,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:950,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:957,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 962
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 962
    functionName: metaTagIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - IS_IDX_ON
    - memcmp
    - metaDelJsonVarFromIdx
    - metaErr
    - metaFetchTagIdxKey
    - tdbTbInsert
    - TD_VID
    - metaSaveJsonVarToIdx
    - tdbTbDelete
    - metaFetchTagIdxKeyFree
    - tagIdxKeyCmpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTagIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrDeleteTtl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1132,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1131,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1136
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1136
    functionName: metaTtlIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - ttlMgrDeleteTtl
    - metaError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTtlIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:756,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 765
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 765
    functionName: metaChildIdxUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tdbTbInsert
    - tdbTbUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaChildIdxUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:808,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:825,1
    - Dst: metaCreateTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:822,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:817,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:809,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:825,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 5
    argNames:
    - pMeta
    - pEntry
    - pTagColumn
    - ppTagIdxKey
    - pTagIdxKeySize
    argTypes:
    - SMeta*
    - SMetaEntry*
    - SSchema*
    - STagIdxKey**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 832
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 832
    functionName: metaFetchTagIdxKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tTagGet
    - metaErr
    - metaCreateTagIdxKey
    - TD_VID
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaFetchTagIdxKey(SMeta *pMeta, const SMetaEntry *pEntry,
      const SSchema *pTagColumn, STagIdxKey **ppTagIdxKey, int32_t *pTagIdxKeySize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1415,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1421
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1421
    functionName: metaHandleVirtualNormalTableCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableCreateImpl(SMeta *pMeta,
      const SMetaEntry *pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaChildIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: metaChildIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaChildIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaChildIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaDestroyTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - ppTagIdxKey
    argTypes:
    - STagIdxKey**
    constantsTouched: []
    func_position:
      end: 837
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 837
    functionName: metaFetchTagIdxKeyFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaDestroyTagIdxKey
    linkageType: ''
    returnType: void
    signature: 'static void metaFetchTagIdxKeyFree(STagIdxKey **ppTagIdxKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1427,1
    - Dst: metaHandleVirtualNormalTableCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1428,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1435,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1435,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1429,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1438
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1438
    functionName: metaHandleVirtualNormalTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaWLock
    - metaHandleVirtualNormalTableCreateImpl
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableCreate(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1032,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1034,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1041,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1036,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1041,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 1044
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1044
    functionName: metaBtimeIdxUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaErr
    - tdbTbInsert
    - TD_VID
    - tdbTbUpsert
    - tdbTbDelete
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBtimeIdxUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2215,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2223,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2217,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2217,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2221,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2223,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2224,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2234,1
    - Dst: metaHandleChildTableUpdateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2235,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2236,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2240,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2244,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2239,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2238,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2245,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2247
      start: 2209
    functionDepth: 0
    functionLinenumber: 2209
    functionLinenumberEnd: 2247
    functionName: metaHandleChildTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - metaHandleChildTableUpdateImpl
    - metaWLock
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableUpdate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaNameIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 710
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 710
    functionName: metaNameIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaNameIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaNameIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaDelJsonVarFromIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:976,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:983,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:978,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:978,1
    - Dst: metaFetchTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:990,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:992,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:992,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:996,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:998,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:998,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:999,1
    - Dst: metaFetchTagIdxKeyFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1002,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1006
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 1006
    functionName: metaTagIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - IS_IDX_ON
    - metaDelJsonVarFromIdx
    - metaErr
    - metaFetchTagIdxKey
    - TD_VID
    - tdbTbDelete
    - metaFetchTagIdxKeyFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTagIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrInsertTtl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1076,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1078,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1078,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1078,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 1081
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1081
    functionName: metaTtlIdxUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - ttlMgrInsertTtl
    - metaError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaTtlIdxUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:716,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:716,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:718,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 721
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 721
    functionName: metaNameIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - strlen
    - tdbTbDelete
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaNameIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2254,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2275,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2293,1
    - Dst: tsdbCacheInvalidateSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2302,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2308,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2265,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2256,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2269,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2270,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2289,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2293,1
    - Dst: tsdbCacheNewNTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2281,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2307,1
    - Dst: metaHandleNormalTableUpdateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2266,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2256,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2267,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2269,1
    - Dst: tsdbCacheDropNTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2292,1
    - Dst: tsdbCacheInvalidateSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2310
      start: 2249
    functionDepth: 0
    functionLinenumber: 2249
    functionLinenumberEnd: 2310
    functionName: metaHandleNormalTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaTimeSeriesNotifyCheck
    - metaFetchEntryFree
    - tsdbCacheDropNTableColumn
    - metaWLock
    - TSDB_CACHE_NO
    - metaErr
    - TD_VID
    - metaError
    - metaULock
    - tsdbCacheInvalidateSchema
    - tsdbCacheNewNTableColumn
    - metaHandleNormalTableUpdateImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableUpdate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaBtimeIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1056
    functionName: metaBtimeIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaBtimeIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBtimeIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:71,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:86,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:86,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:86,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:107,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:107,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:100,1
    - Dst: metaCloneEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:108,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:109,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:82,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:95,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:84,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:99,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:96,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:98,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:98,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:110,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:73,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:73,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:73,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:114,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:115,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - pMeta
    - uid
    - ppEntry
    argTypes:
    - SMeta*
    - int64_t
    - SMetaEntry**
    constantsTouched: []
    func_position:
      end: 117
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 117
    functionName: metaFetchEntryByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaCloneEntry
    - tdbFreeClear
    - metaDecodeEntry
    - tstrerror
    - TD_VID
    - metaError
    - tdbTbGet
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFetchEntryByUid(SMeta *pMeta, int64_t uid, SMetaEntry
      **ppEntry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaUidIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 667
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 667
    functionName: metaUidIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUidIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUidIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:692,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:695,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:695,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:692,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 701
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 701
    functionName: metaNameIdxUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - strlen
    - tdbTbInsert
    - tdbTbUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaNameIdxUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1469,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1463,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1463,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1470,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1472,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1472,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1475,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1477,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1477,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1482,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1482,1
    - Dst: metaRefDbsCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1480,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - pSuperEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1487
      start: 1440
    functionDepth: 0
    functionLinenumber: 1440
    functionLinenumberEnd: 1487
    functionName: metaHandleVirtualChildTableCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateStbStats
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - metaRefDbsCacheClear
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableCreateImpl(SMeta *pMeta,
      const SMetaEntry *pEntry, const SMetaEntry *pSuperEntry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2395,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2389,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2396,1
    - Dst: tsdbCacheDropSubTables
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2400,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2415,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2428,1
    - Dst: metaGetChildUidsOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2393,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2389,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2406,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2429,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2439,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2387,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2401,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2409,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2424,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2428,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2430,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2395,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2401,1
    - Dst: metaHandleChildTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2413,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2402,1
    - Dst: metaHandleSuperTableDropImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2425,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2415,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2438,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2441
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2441
    functionName: metaHandleSuperTableDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaGetChildUidsOfSuperTable
    - metaFetchEntryByUid
    - metaHandleChildTableDrop
    - taosArrayGet
    - metaHandleSuperTableDropImpl
    - taosArrayDestroy
    - metaFetchEntryFree
    - metaWLock
    - metaErr
    - tstrerror
    - tsdbCacheDropSubTables
    - TD_VID
    - metaError
    - metaULock
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableDrop(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:124,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:126,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:124,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:126,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:130,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:132,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:134,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pMeta
    - name
    - ppEntry
    argTypes:
    - SMeta*
    - char*
    - SMetaEntry**
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: metaFetchEntryByName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - tdbFreeClear
    - tstrerror
    - strlen
    - TD_VID
    - metaError
    - tdbTbGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFetchEntryByName(SMeta *pMeta, const char *name, SMetaEntry
      **ppEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:675,1
    - Dst: metaCacheDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:681,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:677,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 683
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 683
    functionName: metaUidIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tdbTbDelete
    - metaCacheDrop
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUidIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaNameIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 706
    functionName: metaNameIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaNameIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaNameIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1494,1
    - Dst: metaHandleVirtualChildTableCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1502,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1501,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1496,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1496,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1503,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1509,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1509,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1512,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1514
      start: 1489
    functionDepth: 0
    functionLinenumber: 1489
    functionLinenumberEnd: 1514
    functionName: metaHandleVirtualChildTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaHandleVirtualChildTableCreateImpl
    - metaFetchEntryFree
    - metaWLock
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableCreate(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2456,1
    - Dst: metaHandleNormalTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2481,1
    - Dst: metaHandleChildTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2513,1
    - Dst: metaHandleVirtualChildTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2525,1
    - Dst: metaHandleVirtualChildTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2497,1
    - Dst: metaHandleSuperTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2463,1
    - Dst: metaHandleChildTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2471,1
    - Dst: metaHandleVirtualNormalTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2489,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2445,1
    - Dst: metaHandleNormalTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2479,1
    - Dst: metaHandleVirtualNormalTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2521,1
    - Dst: metaHandleVirtualChildTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2542,1
    - Dst: metaHandleSuperTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2465,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2450,1
    - Dst: metaHandleChildTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2473,1
    - Dst: metaHandleVirtualNormalTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2487,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2537,1
    - Dst: metaHandleSuperTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2509,1
    - Dst: metaHandleNormalTableDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2517,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2540,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2543
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2543
    functionName: metaHandleEntry2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaHandleVirtualChildTableUpdate
    - metaHandleVirtualNormalTableCreate
    - metaError
    - metaHandleVirtualChildTableDrop
    - metaHandleVirtualNormalTableUpdate
    - metaGetInfo
    - metaHandleChildTableDrop
    - metaDebug
    - metaHandleSuperTableUpdate
    - metaErr
    - metaHandleChildTableCreate
    - metaHandleSuperTableCreate
    - TD_VID
    - metaHandleNormalTableCreate
    - metaHandleVirtualNormalTableDrop
    - metaHandleNormalTableUpdate
    - metaHandleChildTableUpdate
    - metaHandleNormalTableDrop
    - TAOS_RETURN
    - metaHandleSuperTableDrop
    - metaHandleVirtualChildTableCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaHandleEntry2(SMeta *pMeta, const SMetaEntry *pEntry) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaUpdateChangeTime
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1976,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1977,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1971,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1971,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1977,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1981
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1981
    functionName: metaHandleNormalTableUpdateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaError
    - metaUpdateChangeTime
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableUpdateImpl(SMeta *pMeta, const
      SMetaHandleParam *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2003,1
    - Dst: metaUpdateChangeTime
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2002,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1997,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1997,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2003,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 2007
      start: 1983
    functionDepth: 0
    functionLinenumber: 1983
    functionLinenumberEnd: 2007
    functionName: metaHandleVirtualNormalTableUpdateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaError
    - metaUpdateChangeTime
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableUpdateImpl(SMeta *pMeta,
      const SMetaHandleParam *pParam) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaAddOrDropColumnIndexOfVirtualSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:525,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:536,1
    - Dst: metaAddOrDropColumnIndexOfVirtualSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:534,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:527,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:527,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:536,1
    - Dst: metaAddOrDropColumnIndexOfVirtualSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:542,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:544,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:544,1
    - Dst: metaAddOrDropColumnIndexOfVirtualSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:554,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:556,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:556,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:565,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:565,1
    - Dst: metaAddOrDropColumnIndexOfVirtualSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:563,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 571
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 571
    functionName: metaUpdateSuperTableRowSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    - metaAddOrDropColumnIndexOfVirtualSuperTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUpdateSuperTableRowSchema(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaSchemaTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:580,1
    - Dst: metaSchemaTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:586,1
    - Dst: metaSchemaTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:594,1
    - Dst: metaUpdateSuperTableRowSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:592,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:591,1
    - Dst: metaUpdateSuperTableTagSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:599,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:601,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:601,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 610
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 610
    functionName: metaSchemaTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateSuperTableRowSchema
    - TABLE_IS_VIRTUAL
    - metaErr
    - metaSchemaTableUpsert
    - metaUpdateSuperTableTagSchema
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSchemaTableUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:147,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:159,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:165,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:157,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:163,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:169,1
    - Dst: metaEncodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:170,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:172,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:173,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:174,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:177,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:181,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:183,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:185,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:190,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 194
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 194
    functionName: metaEntryTableUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - taosMemoryFree
    - metaEncodeEntry
    - metaErr
    - tdbTbInsert
    - tEncodeSize
    - TD_VID
    - tdbTbUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaEntryTableUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pEntry
    - pInfo
    argTypes:
    - SMetaEntry*
    - SMetaInfo*
    constantsTouched: []
    func_position:
      end: 631
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 631
    functionName: metaBuildEntryInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void metaBuildEntryInfo(const SMetaEntry *pEntry, SMetaInfo
      *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaEntryTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: metaEntryTableInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaEntryTableUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaEntryTableInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ppEntry
    argTypes:
    - SMetaEntry**
    constantsTouched: []
    func_position:
      end: 140
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 140
    functionName: metaFetchEntryFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaCloneEntryFree
    linkageType: ''
    returnType: void
    signature: 'void metaFetchEntryFree(SMetaEntry **ppEntry) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: metaGetChildUidsOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:390,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:397,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:404,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:405,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:414,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:422,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:431,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:438,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:398,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:404,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:423,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:414,1
    - Dst: metaEntryTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:420,1
    - Dst: updataTableColRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:428,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:432,1
    - Dst: metaEntryTableUpdate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:436,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:439,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:392,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:402,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:424,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:415,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:430,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:440,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:447,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:392,1
    - Dst: updataTableColRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:412,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:416,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:422,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:430,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:438,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - pMeta
    - pParam
    - pOldColumn
    - pNewColumn
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - SSchema*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 449
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 449
    functionName: metaAddOrDropColumnIndexOfVirtualSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaGetChildUidsOfSuperTable
    - metaFetchEntryByUid
    - taosArrayGet
    - taosArrayDestroy
    - metaFetchEntryFree
    - metaEntryTableUpdate
    - metaErr
    - TD_VID
    - taosArrayGetSize
    - updataTableColRef
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaAddOrDropColumnIndexOfVirtualSuperTable(SMeta *pMeta,
      const SMetaHandleParam *pParam, const SSchema *pOldColumn, const SSchema *pNewColumn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 615
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 615
    functionName: metaSchemaTableDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSchemaTableDelete(SMeta *pMeta, const SMetaHandleParam
      *pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:778,1
    - Dst: metaChildIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 782
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 782
    functionName: metaChildIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaChildIdxUpsert
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaChildIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1274,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1274,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1280
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1280
    functionName: metaHandleNormalTableCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableCreateImpl(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1804,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1811,1
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1810,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1804,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1813,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1813,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1816,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1818,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1818,1
    - Dst: metaRefDbsCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1821,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1823,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1823,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - superDropped
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - bool
    constantsTouched: []
    func_position:
      end: 1827
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1827
    functionName: metaHandleVirtualChildTableDropImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateStbStats
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - metaRefDbsCacheClear
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableDropImpl(SMeta *pMeta, const
      SMetaHandleParam *pParam, bool superDropped) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaEntryTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: metaEntryTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaEntryTableUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaEntryTableUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaAddOrDropTagIndexOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:464,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:466,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:466,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:475,1
    - Dst: metaAddOrDropTagIndexOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:473,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:475,1
    - Dst: metaAddOrDropTagIndexOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:481,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:483,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:483,1
    - Dst: metaAddOrDropTagIndexOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:493,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:495,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:495,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:504,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:504,1
    - Dst: metaAddOrDropTagIndexOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:502,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 43
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 510
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 510
    functionName: metaUpdateSuperTableTagSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaAddOrDropTagIndexOfSuperTable
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUpdateSuperTableTagSchema(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: metaChildIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tdbTbDelete
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaChildIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1285,1
    - Dst: tsdbCacheNewTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1295,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1287,1
    - Dst: metaHandleNormalTableCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1286,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1294,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1297,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1297,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1300,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1302,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1305
    functionName: metaHandleNormalTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaTimeSeriesNotifyCheck
    - metaWLock
    - tsdbCacheNewTable
    - TSDB_CACHE_NO
    - metaErr
    - tstrerror
    - metaError
    - TD_VID
    - metaULock
    - metaHandleNormalTableCreateImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableCreate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1835,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1837,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1837,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1842,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1844,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1844,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1845,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1856,1
    - Dst: metaHandleVirtualChildTableDropImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1857,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1858,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1860,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1866,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1862,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1861,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1860,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1867,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - superDropped
    argTypes:
    - SMeta*
    - SMetaEntry*
    - bool
    constantsTouched: []
    func_position:
      end: 1869
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1869
    functionName: metaHandleVirtualChildTableDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - metaWLock
    - metaErr
    - metaHandleVirtualChildTableDropImpl
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableDrop(SMeta *pMeta, const
      SMetaEntry *pEntry, bool superDropped) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaBtimeIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1048
      start: 1046
    functionDepth: 0
    functionLinenumber: 1046
    functionLinenumberEnd: 1048
    functionName: metaBtimeIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaBtimeIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBtimeIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1624,1
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1623,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1617,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1617,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1626,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1626,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1629,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1631,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1631,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - superDropped
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - bool
    constantsTouched: []
    func_position:
      end: 1634
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1634
    functionName: metaHandleChildTableDropImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateStbStats
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableDropImpl(SMeta *pMeta, const SMetaHandleParam
      *pParam, bool superDropped) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaBtimeIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1052
      start: 1050
    functionDepth: 0
    functionLinenumber: 1050
    functionLinenumberEnd: 1052
    functionName: metaBtimeIdxUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaBtimeIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBtimeIdxUpdate(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1649,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1652,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1685,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1701,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1642,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1651,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1663,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1668,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1667,1
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1674,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1691,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1702,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1651,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1644,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1665,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1669,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1644,1
    - Dst: metaHandleChildTableDropImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1664,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1667,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1682,1
    - Dst: metaGetStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1677,1
    - Dst: tsdbCacheDropTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1683,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1685,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - superDropped
    argTypes:
    - SMeta*
    - SMetaEntry*
    - bool
    constantsTouched: []
    func_position:
      end: 1704
      start: 1636
    functionDepth: 0
    functionLinenumber: 1636
    functionLinenumberEnd: 1704
    functionName: metaHandleChildTableDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - metaWLock
    - TSDB_CACHE_NO
    - metaErr
    - taosArrayPush
    - TD_VID
    - tsdbCacheDropTable
    - metaTbInFilterCache
    - metaULock
    - metaGetStbStats
    - metaHandleChildTableDropImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableDrop(SMeta *pMeta, const SMetaEntry
      *pEntry, bool superDropped) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2547,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2549,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2552
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2552
    functionName: metaHandleSyncEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: void
    signature: 'void metaHandleSyncEntry(SMeta *pMeta, const SMetaEntry *pEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:727,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:729,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 732
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 732
    functionName: metaSUidIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tdbTbInsert
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSUidIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1723,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1723,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1728
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1728
    functionName: metaHandleVirtualNormalTableDropImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableDropImpl(SMeta *pMeta,
      SMetaHandleParam *pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:737,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:739,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: metaSUidIdxDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tdbTbDelete
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSUidIdxDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1735,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1737,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1747,1
    - Dst: metaHandleVirtualNormalTableDropImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1748,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1737,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1749,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1751,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1751,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1752,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1761,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1775,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1768,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1771,1
    - Dst: tsdbCacheDropTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1769,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1771,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1730
    functionDepth: 0
    functionLinenumber: 1730
    functionLinenumberEnd: 1777
    functionName: metaHandleVirtualNormalTableDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaHandleVirtualNormalTableDropImpl
    - metaFetchEntryFree
    - metaWLock
    - TSDB_CACHE_NO
    - metaErr
    - taosArrayPush
    - TD_VID
    - tsdbCacheDropTable
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualNormalTableDrop(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1877,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1883,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1897,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1890,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1885,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1902,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1912,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1913,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1914,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1915,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1922,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1921,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - pMeta
    - suid
    - childList
    argTypes:
    - SMeta*
    - tb_uid_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 1924
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1924
    functionName: metaGetChildUidsOfSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - tdbTbcNext
    - tdbFreeClear
    - tdbTbcMoveTo
    - taosArrayPush
    - tdbTbcOpen
    - tdbTbcClose
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaGetChildUidsOfSuperTable(SMeta *pMeta, tb_uid_t
      suid, SArray **childList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1944,1
    - Dst: metaStatsCacheDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1949,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1944,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1951,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1951,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1954
      start: 1926
    functionDepth: 0
    functionLinenumber: 1926
    functionLinenumberEnd: 1954
    functionName: metaHandleSuperTableDropImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaStatsCacheDrop
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableDropImpl(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1228,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1234
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1234
    functionName: metaHandleSuperTableCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableCreateImpl(SMeta *pMeta, const
      SMetaEntry *pEntry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1336,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1337,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1330,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1330,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1339,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1339,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1342,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1344,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - pSuperEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1348
    functionName: metaHandleChildTableCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateStbStats
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableCreateImpl(SMeta *pMeta, const
      SMetaEntry *pEntry, const SMetaEntry *pSuperEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1534,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1534,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 1539
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1539
    functionName: metaHandleNormalTableDropImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableDropImpl(SMeta *pMeta, SMetaHandleParam
      *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2101,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2101,1
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2107,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 2112
      start: 2085
    functionDepth: 0
    functionLinenumber: 2085
    functionLinenumberEnd: 2112
    functionName: metaHandleSuperTableUpdateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUpdateStbStats
    - TD_VID
    - metaErr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableUpdateImpl(SMeta *pMeta, SMetaHandleParam
      *pParam) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1238,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1245,1
    - Dst: metaHandleSuperTableCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1239,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1245,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1240,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1248,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1251
    functionName: metaHandleSuperTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaHandleSuperTableCreateImpl
    - metaInfo
    - metaWLock
    - metaErr
    - TD_VID
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableCreate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1388,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1391,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1382,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1355,1
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1370,1
    - Dst: metaGetStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1372,1
    - Dst: tsdbCacheNewTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1380,1
    - Dst: metaHandleChildTableCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1363,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1362,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1357,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1374,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1383,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1379,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1382,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1357,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1364,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1374,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1390,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1393
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1393
    functionName: metaHandleChildTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaTimeSeriesNotifyCheck
    - metaFetchEntryFree
    - metaWLock
    - tsdbCacheNewTable
    - TSDB_CACHE_NO
    - metaErr
    - tstrerror
    - TD_VID
    - metaError
    - metaTbInFilterCache
    - metaULock
    - metaHandleChildTableCreateImpl
    - metaGetStbStats
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableCreate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1546,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1548,1
    - Dst: metaHandleNormalTableDropImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1559,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1558,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1548,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1560,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1562,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1562,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1563,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1573,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1583,1
    - Dst: tsdbCacheDropTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1581,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1583,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1587,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1580,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 1589
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1589
    functionName: metaHandleNormalTableDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaHandleNormalTableDropImpl
    - metaFetchEntryFree
    - metaWLock
    - TSDB_CACHE_NO
    - metaErr
    - taosArrayPush
    - TD_VID
    - tsdbCacheDropTable
    - metaULock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleNormalTableDrop(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2129,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2121,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2133,1
    - Dst: metaGetChildUidsOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2155,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2143,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2180,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2181,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2203,1
    - Dst: metaHandleSuperTableUpdateImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2130,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2121,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2141,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2162,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2199,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2205,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2133,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2134,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2157,1
    - Dst: tsdbCacheNewSTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2162,1
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2141,1
    - Dst: metaGetChildUidsOfSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2178,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2185,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2189,1
    - Dst: metaGetStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2197,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2199,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2200,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2119,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2131,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2158,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2157,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2180,1
    - Dst: tsdbCacheDropSTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2185,1
    - Dst: tsdbCacheInvalidateSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2192,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 77
    argCount: 2
    argNames:
    - pMeta
    - pEntry
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 2207
      start: 2114
    functionDepth: 0
    functionLinenumber: 2114
    functionLinenumberEnd: 2207
    functionName: metaHandleSuperTableUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaGetChildUidsOfSuperTable
    - metaFetchEntryByUid
    - metaFetchEntryFree
    - TABLE_IS_VIRTUAL
    - metaError
    - metaGetStbStats
    - taosArrayDestroy
    - tsdbCacheNewSTableColumn
    - TAOS_CHECK_RETURN
    - metaULock
    - metaHandleSuperTableUpdateImpl
    - metaWLock
    - TSDB_CACHE_NO
    - metaErr
    - TD_VID
    - tsdbCacheDropSTableColumn
    - metaTimeSeriesNotifyCheck
    - tstrerror
    - metaTbInFilterCache
    - tsdbCacheInvalidateSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleSuperTableUpdate(SMeta *pMeta, const SMetaEntry
      *pEntry) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:211,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:237,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:231,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:239,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:233,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:243,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:244,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:246,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:248,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:264,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:262,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:257,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:255,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:251,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 266
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 266
    functionName: metaSchemaTableUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - tEncodeSSchemaWrapper
    - taosMemoryFree
    - metaErr
    - tdbTbInsert
    - tEncodeSize
    - TD_VID
    - tdbTbUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaSchemaTableUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:635,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:644,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:654,1
    - Dst: metaCacheUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:642,1
    - Dst: metaBuildEntryInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:641,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pMeta
    - pParam
    - op
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    - EMetaTableOp
    constantsTouched: []
    func_position:
      end: 659
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 659
    functionName: metaUidIdxUpsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaErr
    - tdbTbInsert
    - TD_VID
    - tdbTbUpsert
    - metaBuildEntryInfo
    - metaCacheUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUidIdxUpsert(SMeta *pMeta, const SMetaHandleParam
      *pParam, EMetaTableOp op) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaUidIdxUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 663
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 663
    functionName: metaUidIdxInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUidIdxUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaUidIdxInsert(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaEntryTableUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: metaEntryTableDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaEntryTableUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaEntryTableDelete(SMeta *pMeta, const SMetaHandleParam
      *pParam) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2027,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2027,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2032,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2033,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2033,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2036,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2037,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2037,1
    - Dst: metaRefDbsCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2040,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2041,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2041,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 2044
      start: 2009
    functionDepth: 0
    functionLinenumber: 2009
    functionLinenumberEnd: 2044
    functionName: metaHandleVirtualChildTableUpdateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - metaRefDbsCacheClear
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleVirtualChildTableUpdateImpl(SMeta *pMeta,
      const SMetaHandleParam *pParam) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTimeSeriesNum
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1145,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1143,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1144,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:1145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1150
    functionName: metaTimeSeriesNotifyCheck
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    - TD_VID
    - metaError
    - metaGetTimeSeriesNum
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void metaTimeSeriesNotifyCheck(SMeta *pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2070,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2071,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2065,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2065,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2071,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2074,1
    - Dst: metaErr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2075,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2075,1
    - Dst: metaUpdateChangeTime
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2079,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c:2080,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pParam
    argTypes:
    - SMeta*
    - SMetaHandleParam*
    constantsTouched: []
    func_position:
      end: 2083
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2083
    functionName: metaHandleChildTableUpdateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry2.c
    functionUses: []
    functionsReached:
    - metaUidCacheClear
    - metaTbGroupCacheClear
    - metaErr
    - TD_VID
    - metaError
    - metaUpdateChangeTime
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaHandleChildTableUpdateImpl(SMeta *pMeta, const
      SMetaHandleParam *pParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:149,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:156,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - uid
    - tbName
    - pSchema
    - pMetaRsp
    argTypes:
    - tb_uid_t
    - char*
    - SSchemaWrapper*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: metaUpdateMetaRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - tstrncpy
    - memcpy
    linkageType: ''
    returnType: int
    signature: 'int metaUpdateMetaRsp(tb_uid_t uid, char *tbName, SSchemaWrapper *pSchema,
      STableMetaRsp *pMetaRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:883,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pTagIdxKey
    argTypes:
    - STagIdxKey*
    constantsTouched: []
    func_position:
      end: 884
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 884
    functionName: metaDestroyTagIdxKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void metaDestroyTagIdxKey(STagIdxKey *pTagIdxKey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:180,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:201,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:194,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:196,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:186,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:202,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:211,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:212,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:213,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - uid
    - tbName
    - pSchema
    - pRef
    - pMetaRsp
    - tableType
    argTypes:
    - tb_uid_t
    - char*
    - SSchemaWrapper*
    - SColRefWrapper*
    - STableMetaRsp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 215
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 215
    functionName: metaUpdateVtbMetaRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryFreeClear
    - taosMemoryMalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpdateVtbMetaRsp(tb_uid_t uid, char *tbName, SSchemaWrapper
      *pSchema, SColRefWrapper *pRef, STableMetaRsp *pMetaRsp, int8_t tableType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:887,1
    - Dst: columnEncodeStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:896,1
    - Dst: tcompressDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:894,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:891,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:890,1
    - Dst: columnCompressStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:897,1
    - Dst: columnLevelStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:898,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pColCmprObj
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 902
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 902
    functionName: colCompressDebug
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - columnEncodeStr
    - metaDebug
    - taosHashIterate
    - columnLevelStr
    - taosHashGetKey
    - columnCompressStr
    - tcompressDebug
    linkageType: ''
    returnType: void
    signature: 'static void colCompressDebug(SHashObj *pColCmprObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 976
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 976
    functionName: metaGetIvtIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *metaGetIvtIdx(SMeta *pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:43,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:60,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pWp
    - pSchema
    - add
    - compress
    argTypes:
    - SColCmprWrapper*
    - SSchema*
    - int8_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: updataTableColCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updataTableColCmpr(SColCmprWrapper *pWp, SSchema *pSchema,
      int8_t add, uint32_t compress) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:96,1
    - Dst: hasExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:100,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - pEntry
    - dropColId
    - newColNum
    argTypes:
    - SMetaEntry*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: dropTableExtSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - hasExtSchema
    - memmove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dropTableExtSchema(SMetaEntry *pEntry, int32_t dropColId,
      int32_t newColNum) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:258,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:262,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:274,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:284,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:266,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:293,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:243,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:249,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:264,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:267,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:282,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:245,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:256,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:260,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:269,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:298,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:233,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:253,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:285,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:278,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:299,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 3
    argNames:
    - pMeta
    - pCtbEntry
    - pSchema
    argTypes:
    - SMeta*
    - SMetaEntry*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 302
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 302
    functionName: metaSaveJsonVarToIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - indexMultiTermCreate
    - taosMemoryFree
    - taosArrayGet
    - tTagToValArray
    - indexTermCreate
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - taosArrayDestroy
    - indexMultiTermAdd
    - strlen
    - metaError
    - TD_VID
    - indexMultiTermDestroy
    - memcpy
    - taosArrayGetSize
    - indexJsonPut
    linkageType: ''
    returnType: int
    signature: 'int metaSaveJsonVarToIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry,
      const SSchema *pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - btimeKey
    - pME
    argTypes:
    - SBtimeIdxKey*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: metaBuildBtimeIdxKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int metaBuildBtimeIdxKey(SBtimeIdxKey *btimeKey, const SMetaEntry
      *pME) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrDeleteTtl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:576,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:578,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:579,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 582
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 582
    functionName: metaDeleteTtl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - TD_VID
    - ttlMgrDeleteTtl
    - metaError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void metaDeleteTtl(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: HAS_TYPE_MOD
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:74,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:78,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pEntry
    - pColumn
    - newColNum
    - pExtSchema
    argTypes:
    - SMetaEntry*
    - SSchema*
    - int32_t
    - SExtSchema*
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: addTableExtSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - HAS_TYPE_MOD
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t addTableExtSchema(SMetaEntry *pEntry, const SSchema *pColumn,
      int32_t newColNum, SExtSchema *pExtSchema) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:109,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:124,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:123,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:125,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:136,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 4
    argNames:
    - pWp
    - pSchema
    - add
    - pColRef
    argTypes:
    - SColRefWrapper*
    - SSchema*
    - int8_t
    - SColRef*
    constantsTouched: []
    func_position:
      end: 146
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 146
    functionName: updataTableColRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - memmove
    - taosMemoryRealloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t updataTableColRef(SColRefWrapper *pWp, const SSchema *pSchema,
      int8_t add, SColRef *pColRef) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:330,1
    - Dst: indexMultiTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:343,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:347,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:368,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:351,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:359,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:377,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:334,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:363,1
    - Dst: indexMultiTermAdd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:366,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:352,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:378,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:341,1
    - Dst: taosUcs4ToMbs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:345,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:354,1
    - Dst: indexMultiTermDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:381,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:318,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:328,1
    - Dst: indexTermCreate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:338,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:349,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:369,1
    - Dst: indexJsonPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:376,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:382,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 66
    argCount: 3
    argNames:
    - pMeta
    - pCtbEntry
    - pSchema
    argTypes:
    - SMeta*
    - SMetaEntry*
    - SSchema*
    constantsTouched: []
    func_position:
      end: 385
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 385
    functionName: metaDelJsonVarFromIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - indexMultiTermCreate
    - taosMemoryFree
    - taosArrayGet
    - tTagToValArray
    - indexTermCreate
    - taosUcs4ToMbs
    - taosMemoryCalloc
    - taosArrayDestroy
    - indexMultiTermAdd
    - strlen
    - metaError
    - TD_VID
    - indexMultiTermDestroy
    - memcpy
    - taosArrayGetSize
    - indexJsonPut
    linkageType: ''
    returnType: int
    signature: 'int metaDelJsonVarFromIdx(SMeta *pMeta, const SMetaEntry *pCtbEntry,
      const SSchema *pSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - ncolKey
    - pME
    argTypes:
    - SNcolIdxKey*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 564
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 564
    functionName: metaBuildNColIdxKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int metaBuildNColIdxKey(SNcolIdxKey *ncolKey, const SMetaEntry
      *pME) '
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:600,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:656,1
    - Dst: metaDestroyTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:677,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:689,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:748,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:699,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:710,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:721,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:628,1
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:655,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:764,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:607,1
    - Dst: metaDelJsonVarFromIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:639,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:745,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:642,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:687,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:772,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:777,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:604,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:673,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:690,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:725,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:700,1
    - Dst: metaDeleteNcolIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:704,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:723,1
    - Dst: metaDeleteTtl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:706,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:759,1
    - Dst: metaDeleteBtimeIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:703,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:764,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:754,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:620,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:627,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:772,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:720,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:712,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:628,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:673,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:759,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:624,1
    - Dst: metaTbGroupCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:762,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:726,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:765,1
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:633,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:754,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:747,1
    - Dst: metaCacheDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:770,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:776,1
    - Dst: metaUpdateStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:717,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:592,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:598,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:618,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:681,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:712,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:757,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:773,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:760,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:629,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:674,1
    - Dst: metaUidCacheClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:718,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:694,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:641,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:747,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:699,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:720,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:755,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:664,1
    - Dst: metaCreateTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:669,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:671,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:683,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:689,1
    - Dst: metaStatsCacheDrop
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:752,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:725,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:692,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:695,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:625,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:641,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:647,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 181
    argCount: 5
    argNames:
    - pMeta
    - uid
    - type
    - pSuid
    - pSysTbl
    argTypes:
    - SMeta*
    - tb_uid_t
    - int*
    - tb_uid_t*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 780
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 780
    functionName: metaDropTableByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - tTagGet
    - metaDeleteTtl
    - metaDelJsonVarFromIdx
    - metaError
    - IS_VAR_DATA_TYPE
    - tdbTbDelete
    - metaUpdateStbStats
    - metaDestroyTagIdxKey
    - metaDeleteBtimeIdx
    - metaUidCacheClear
    - metaDeleteNcolIdx
    - metaDecodeEntry
    - metaCacheDrop
    - TD_VID
    - tdbTbGet
    - tDecoderInit
    - IS_IDX_ON
    - metaTbGroupCacheClear
    - metaStatsCacheDrop
    - tdbFree
    - tstrerror
    - metaCreateTagIdxKey
    - strlen
    - metaTbInFilterCache
    - tDecoderClear
    linkageType: ''
    returnType: int
    signature: 'static int metaDropTableByUid(SMeta *pMeta, tb_uid_t uid, int *type,
      tb_uid_t *pSuid, int8_t *pSysTbl) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:389,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:392,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:397,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:398,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:399,1
    - Dst: metaDropTableByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:403,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:406,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:412,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:420,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:427,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:433,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:422,1
    - Dst: metaGetStbStats
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:432,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:428,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:438,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 2
    argNames:
    - pMeta
    - tbUids
    argTypes:
    - SMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 442
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 442
    functionName: metaDropTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - taosArrayGet
    - tSimpleHashCleanup
    - TABLE_IS_VIRTUAL
    - metaDebug
    - metaWLock
    - taosGetDefaultHashFunction
    - tSimpleHashGet
    - tSimpleHashInit
    - metaDropTableByUid
    - tSimpleHashIterate
    - tSimpleHashPut
    - metaULock
    - taosArrayGetSize
    - metaGetStbStats
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaDropTables(SMeta *pMeta, SArray *tbUids) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:504,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:513,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:517,1
    - Dst: metaFilterTableByHash
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:509,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:517,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:517,1
    - Dst: metaDropTables
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:518,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:522,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pMeta
    - version
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 525
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 525
    functionName: metaTrimTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaFilterTableByHash
    - taosArrayDestroy
    - metaInfo
    - metaDropTables
    - TD_VID
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaTrimTables(SMeta *pMeta, int64_t version) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: metaAddTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:804,1
    - Dst: metaDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:806,1
    - Dst: metaAlterTableColumnName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:810,1
    - Dst: metaAlterTableColumnBytes
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:808,1
    - Dst: metaUpdateTableTagValue
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:812,1
    - Dst: metaUpdateTableMultiTagValue
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:814,1
    - Dst: metaUpdateTableOptions2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:816,1
    - Dst: metaUpdateTableColCompress2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:818,1
    - Dst: metaAlterTableColumnRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:820,1
    - Dst: metaRemoveTableColumnRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:822,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pMetaRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 827
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 827
    functionName: metaAlterTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaUpdateTableOptions2
    - metaAlterTableColumnRef
    - metaAlterTableColumnBytes
    - metaAddTableColumn
    - metaUpdateTableColCompress2
    - metaUpdateTableTagValue
    - metaAlterTableColumnName
    - metaDropTableColumn
    - metaUpdateTableMultiTagValue
    - metaRemoveTableColumnRef
    linkageType: ''
    returnType: int
    signature: 'int metaAlterTable(SMeta *pMeta, int64_t version, SVAlterTbReq *pReq,
      STableMetaRsp *pMetaRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaBuildBtimeIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:784,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:787,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 788
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 788
    functionName: metaDeleteBtimeIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - tdbTbDelete
    - metaBuildBtimeIdxKey
    linkageType: ''
    returnType: int
    signature: 'static int metaDeleteBtimeIdx(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:936,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:941,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:939,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:949,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:961,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:965,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:921,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:907,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:924,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:928,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:931,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:937,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:942,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:952,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:962,1
    - Dst: colCompressDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:970,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:920,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:932,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:951,1
    - Dst: withExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:945,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:953,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:959,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:966,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:907,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:923,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:930,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:940,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:954,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:960,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:967,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 3
    argNames:
    - pMeta
    - uid
    - ppColCmprObj
    argTypes:
    - SMeta*
    - tb_uid_t
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 973
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 973
    functionName: metaGetColCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - withExtSchema
    - tDecoderInit
    - metaRLock
    - taosHashClear
    - metaDecodeEntry
    - tdbFree
    - metaError
    - tdbTbGet
    - metaULock
    - taosHashPut
    - taosGetDefaultHashFunction
    - colCompressDebug
    - tDecoderClear
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetColCmpr(SMeta *pMeta, tb_uid_t uid, SHashObj **ppColCmprObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:451,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:456,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:458,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:473,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:466,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:474,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:476,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:482,1
    - Dst: vnodeValidateTableHash
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:484,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:486,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:495,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:494,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:496,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:492,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - pMeta
    - uidList
    argTypes:
    - SMeta*
    - SArray*
    constantsTouched: []
    func_position:
      end: 499
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 499
    functionName: metaFilterTableByHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tDecoderInit
    - snprintf
    - tdbTbcNext
    - metaDecodeEntry
    - tdbFree
    - taosArrayPush
    - tdbTbcOpen
    - tdbTbcClose
    - tDecoderClear
    - vnodeValidateTableHash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaFilterTableByHash(SMeta *pMeta, SArray *uidList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:528,1
    - Dst: ttlMgrFindExpired
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:530,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:535,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pMeta
    - timePointMs
    - tbUids
    - ttlDropMaxCount
    argTypes:
    - SMeta*
    - int64_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 539
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 539
    functionName: metaTtlFindExpired
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaULock
    - metaError
    - metaRLock
    - ttlMgrFindExpired
    linkageType: ''
    returnType: int
    signature: 'int metaTtlFindExpired(SMeta *pMeta, int64_t timePointMs, SArray *tbUids,
      int32_t ttlDropMaxCount) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaBuildNColIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:792,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 796
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 796
    functionName: metaDeleteNcolIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaBuildNColIdxKey
    - tdbTbDelete
    linkageType: ''
    returnType: int
    signature: 'int metaDeleteNcolIdx(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaWarn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:833,1
    - Dst: ttlMgrUpdateChangeTime
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:839,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pMeta
    - uid
    - changeTimeMs
    argTypes:
    - SMeta*
    - tb_uid_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 840
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 840
    functionName: metaUpdateChangeTime
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaWarn
    - ttlMgrUpdateChangeTime
    linkageType: ''
    returnType: int
    signature: 'static int metaUpdateChangeTime(SMeta *pMeta, tb_uid_t uid, int64_t
      changeTimeMs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:845,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:847,1
    - Dst: metaUpdateChangeTime
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pMeta
    - uid
    - changeTimeMs
    argTypes:
    - SMeta*
    - tb_uid_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 849
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 849
    functionName: metaUpdateChangeTimeWithLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - metaULock
    - metaWLock
    - metaUpdateChangeTime
    linkageType: ''
    returnType: int
    signature: 'int metaUpdateChangeTimeWithLock(SMeta *pMeta, tb_uid_t uid, int64_t
      changeTimeMs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:853,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:859,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:870,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:864,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:871,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:872,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:873,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:875,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c:876,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 8
    argNames:
    - suid
    - cid
    - pTagData
    - nTagData
    - type
    - uid
    - ppTagIdxKey
    - nTagIdxKey
    argTypes:
    - tb_uid_t
    - int32_t
    - void*
    - int32_t
    - int8_t
    - tb_uid_t
    - STagIdxKey**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 880
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 880
    functionName: metaCreateTagIdxKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached:
    - taosSetInt64Aligned
    - IS_VAR_DATA_TYPE
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int
    signature: 'int metaCreateTagIdxKey(tb_uid_t suid, int32_t cid, const void *pTagData,
      int32_t nTagData, int8_t type, tb_uid_t uid, STagIdxKey **ppTagIdxKey, int32_t
      *nTagIdxKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 975
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 975
    functionName: metaGetIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *metaGetIdx(SMeta *pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:39,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:40,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:45,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:49,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:42,1
    - Dst: metaHandleSmaEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:58,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:61,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:61,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:66,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pMeta
    - version
    - pCfg
    argTypes:
    - SMeta*
    - int64_t
    - SSmaCfg*
    constantsTouched: []
    func_position:
      end: 69
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 69
    functionName: metaCreateTSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - metaDebug
    - metaReaderGetTableEntryByUidCache
    - metaHandleSmaEntry
    - tstrerror
    - metaReaderClear
    - TD_VID
    - metaError
    - metaReaderDoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCreateTSma(SMeta *pMeta, int64_t version, SSmaCfg *pCfg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:101,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:118,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:112,1
    - Dst: metaEncodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:114,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:106,1
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:121,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:125,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:129,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 131
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 131
    functionName: metaSaveSmaToDB
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryFree
    - metaEncodeEntry
    - tdbTbInsert
    - tEncodeSize
    linkageType: ''
    returnType: int
    signature: 'static int metaSaveSmaToDB(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:139,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: metaUpdateNameIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - strlen
    - tdbTbInsert
    linkageType: ''
    returnType: int
    signature: 'static int metaUpdateNameIdx(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: metaUpdateUidIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - tdbTbInsert
    linkageType: ''
    returnType: int
    signature: 'static int metaUpdateUidIdx(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaRemoveSmaFromDb
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pMeta
    - indexUid
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: metaDropTSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - metaRemoveSmaFromDb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropTSma(SMeta *pMeta, int64_t indexUid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbInsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:145,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: metaUpdateSmaIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - tdbTbInsert
    linkageType: ''
    returnType: int
    signature: 'static int metaUpdateSmaIdx(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:150,1
    - Dst: metaUpdateNameIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:159,1
    - Dst: metaUpdateSmaIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:162,1
    - Dst: metaUpdateUidIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:156,1
    - Dst: metaSaveSmaToDB
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:153,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:164,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - pMeta
    - pME
    argTypes:
    - SMeta*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 170
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 170
    functionName: metaHandleSmaEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSma.c
    functionUses: []
    functionsReached:
    - metaUpdateNameIdx
    - metaWLock
    - metaUpdateUidIdx
    - metaSaveSmaToDB
    - metaUpdateSmaIdx
    - metaULock
    linkageType: ''
    returnType: int
    signature: 'static int metaHandleSmaEntry(SMeta *pMeta, const SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pColRef
    argTypes:
    - SColRefWrapper*
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: metaCloneColRefFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void metaCloneColRefFree(SColRefWrapper *pColRef) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:245,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:258,1
    - Dst: tEncodeSRSmaParam
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:262,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:266,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:266,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:267,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:267,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:269,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:271,1
    - Dst: tEncodeTag
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:272,1
    - Dst: tEncodeTSma
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:283,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:296,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:299,1
    - Dst: meteEncodeColCmprEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:291,1
    - Dst: metaEncodeExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:246,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:248,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:255,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:259,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:260,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:272,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:276,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:276,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:281,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:283,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:271,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:278,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:262,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:258,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:274,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:274,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:275,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:278,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:285,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:289,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:275,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:291,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:269,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:245,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:247,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:246,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:247,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:248,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:255,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:260,1
    - Dst: TABLE_IS_ROLLUP
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:261,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:259,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:265,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:280,1
    - Dst: meteEncodeColRefEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:289,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:265,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:280,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:281,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 85
    argCount: 2
    argNames:
    - pCoder
    - pME
    argTypes:
    - SEncoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 301
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 301
    functionName: metaEncodeEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - meteEncodeColRefEntry
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - meteEncodeColCmprEntry
    - tEncodeSRSmaParam
    - tEndEncode
    - tEncodeI32v
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - metaEncodeExtSchema
    - tEncodeTag
    - metaError
    - tEncodeI64
    - tEncodeTSma
    - TABLE_IS_ROLLUP
    linkageType: ''
    returnType: int
    signature: 'int metaEncodeEntry(SEncoder *pCoder, const SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HAS_TYPE_MOD
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:19,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSchema
    - nCols
    argTypes:
    - SSchema*
    - int32_t
    constantsTouched: []
    func_position:
      end: 24
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 24
    functionName: schemasHasTypeMod
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - HAS_TYPE_MOD
    linkageType: ''
    returnType: bool
    signature: 'static bool schemasHasTypeMod(const SSchema *pSchema, int32_t nCols) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: schemasHasTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:37,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:40,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:40,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pCoder
    - pME
    argTypes:
    - SEncoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: metaEncodeExtSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - schemasHasTypeMod
    - tEncodeI32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaEncodeExtSchema(SEncoder* pCoder, const SMetaEntry*
      pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:240,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pCmpr
    argTypes:
    - SColCmprWrapper*
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: metaCloneColCmprFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void metaCloneColCmprFree(SColCmprWrapper *pCmpr) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:305,1
    - Dst: TABLE_IS_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:353,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:392,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:334,1
    - Dst: metatInitDefaultSColRefWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:382,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:304,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:307,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:315,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:326,1
    - Dst: meteDecodeColCmprEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:354,1
    - Dst: metatInitDefaultSColCmprWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:368,1
    - Dst: tDecodeSRSmaParam
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:322,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:365,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:360,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:392,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:397,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:341,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:368,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:336,1
    - Dst: meteDecodeColRefEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:378,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:366,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:332,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:386,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:306,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:376,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:334,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:340,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:325,1
    - Dst: tDecodeTSma
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:347,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:349,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:380,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:387,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:364,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:377,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:307,1
    - Dst: TABLE_IS_ROLLUP
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:321,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:327,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:391,1
    - Dst: meteDecodeColCmprEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:366,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:336,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:340,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:304,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:318,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:331,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:347,1
    - Dst: TABLE_SET_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:374,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:343,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:371,1
    - Dst: TABLE_SET_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:361,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:372,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:306,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:310,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:322,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:315,1
    - Dst: tDecodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:329,1
    - Dst: metatInitDefaultSColCmprWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:360,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:354,1
    - Dst: metatInitDefaultSColCmprWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:372,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:319,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:341,1
    - Dst: metaDecodeExtSchemas
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:387,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:378,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:325,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:326,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:329,1
    - Dst: metatInitDefaultSColCmprWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:318,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:319,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:327,1
    - Dst: tDecodeTag
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:332,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:382,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 133
    argCount: 3
    argNames:
    - pCoder
    - pME
    - headerOnly
    argTypes:
    - SDecoder*
    - SMetaEntry*
    - bool
    constantsTouched: []
    func_position:
      end: 399
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 399
    functionName: metaDecodeEntryImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tDecodeSRSmaParam
    - tDecodeI32
    - metaError
    - tDecoderMalloc
    - tDecodeIsEnd
    - TABLE_SET_COL_COMPRESSED
    - tDecodeI32v
    - tDecodeTag
    - metatInitDefaultSColCmprWrapper
    - tDecodeSSchemaWrapperEx
    - TABLE_IS_COL_COMPRESSED
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeI64
    - tDecodeI8
    - metatInitDefaultSColRefWrapper
    - tDecodeCStr
    - tStartDecode
    - metaDecodeExtSchemas
    - meteDecodeColCmprEntry
    - uDebug
    - meteDecodeColRefEntry
    - TABLE_IS_ROLLUP
    - tDecodeTSma
    linkageType: ''
    returnType: int
    signature: 'int metaDecodeEntryImpl(SDecoder *pCoder, SMetaEntry *pME, bool headerOnly) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schemasHasTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:101,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:104,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - pME
    argTypes:
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 111
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 111
    functionName: metaGetSExtSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - memcpy
    - schemasHasTypeMod
    - taosMemoryMalloc
    linkageType: ''
    returnType: SExtSchema*
    signature: 'SExtSchema * metaGetSExtSchema(const SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pDecoder
    - pRef
    - pSchema
    argTypes:
    - SDecoder*
    - SColRefWrapper*
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 154
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: metatInitDefaultSColRefWrapper
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tDecoderMalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t metatInitDefaultSColRefWrapper(SDecoder
      *pDecoder, SColRefWrapper *pRef, SSchemaWrapper *pSchema) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:115,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:115,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:120,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:121,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:120,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:122,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:129,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:129,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:130,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:130,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:133,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:132,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:134,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:133,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pDecoder
    - pME
    argTypes:
    - SDecoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 138
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 138
    functionName: meteDecodeColRefEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tDecodeCStrTo
    - tDecodeI32v
    - tDecodeI16v
    - TAOS_CHECK_RETURN
    - uDebug
    - tDecodeI8
    - tDecoderMalloc
    linkageType: ''
    returnType: int
    signature: 'int meteDecodeColRefEntry(SDecoder *pDecoder, SMetaEntry *pME) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:160,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:164,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColRefWrapper*
    - SColRefWrapper*
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: metaCloneColRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCloneColRef(const SColRefWrapper*pSrc, SColRefWrapper
      *pDst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:171,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:172,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:172,1
    - Dst: uTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:173,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:171,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:177,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:177,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:178,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pCoder
    - pME
    argTypes:
    - SEncoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: meteEncodeColCmprEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - uTrace
    - tEncodeI32v
    - TAOS_CHECK_RETURN
    - tEncodeU32
    - tEncodeI16v
    linkageType: ''
    returnType: int
    signature: 'int meteEncodeColCmprEntry(SEncoder *pCoder, const SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:206,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:214,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pDecoder
    - pCmpr
    - pSchema
    argTypes:
    - SDecoder*
    - SColCmprWrapper*
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 217
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 217
    functionName: metatInitDefaultSColCmprWrapper
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - createDefaultColCmprByType
    - tDecoderMalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t metatInitDefaultSColCmprWrapper(SDecoder
      *pDecoder, SColCmprWrapper *pCmpr, SSchemaWrapper *pSchema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaDecodeEntryImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCoder
    - pME
    argTypes:
    - SDecoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 401
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 401
    functionName: metaDecodeEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - metaDecodeEntryImpl
    linkageType: ''
    returnType: int
    signature: 'int metaDecodeEntry(SDecoder *pCoder, SMetaEntry *pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pSchema
    argTypes:
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 422
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 422
    functionName: metaCloneSchemaFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void metaCloneSchemaFree(SSchemaWrapper *pSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:184,1
    - Dst: uDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:190,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:189,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:189,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:184,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:191,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:198,1
    - Dst: tDecodeI16v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:198,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:199,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:199,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pDecoder
    - pME
    argTypes:
    - SDecoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: meteDecodeColCmprEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tDecodeI32v
    - tDecodeI16v
    - tDecodeU32
    - TAOS_CHECK_RETURN
    - uDebug
    - tDecoderMalloc
    linkageType: ''
    returnType: int
    signature: 'int meteDecodeColCmprEntry(SDecoder *pDecoder, SMetaEntry *pME) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:223,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SColCmprWrapper*
    - SColCmprWrapper*
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: metaCloneColCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCloneColCmpr(const SColCmprWrapper *pSrc, SColCmprWrapper
      *pDst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:410,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:414,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pSrc
    - pDst
    argTypes:
    - SSchemaWrapper*
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 416
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 416
    functionName: metaCloneSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCloneSchema(const SSchemaWrapper *pSrc, SSchemaWrapper
      *pDst) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:429,1
    - Dst: metaCloneSchemaFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:432,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:440,1
    - Dst: metaCloneSchemaFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:437,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:441,1
    - Dst: metaCloneSchemaFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:443,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:444,1
    - Dst: metaCloneColCmprFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:448,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:449,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:452,1
    - Dst: metaCloneColRefFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ppEntry
    argTypes:
    - SMetaEntry**
    constantsTouched: []
    func_position:
      end: 454
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 454
    functionName: metaCloneEntryFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - metaCloneSchemaFree
    - taosMemoryFreeClear
    - metaCloneColCmprFree
    - metaCloneColRefFree
    linkageType: ''
    returnType: void
    signature: 'void metaCloneEntryFree(SMetaEntry **ppEntry) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tstrdup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:477,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:508,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:544,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:567,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:573,1
    - Dst: metaCloneSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:488,1
    - Dst: metaCloneSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:494,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:496,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:525,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:534,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:541,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:570,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:463,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:480,1
    - Dst: metaCloneSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:532,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:547,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:519,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:522,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:556,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:562,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:490,1
    - Dst: metaCloneEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:511,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:514,1
    - Dst: metaCloneColRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:554,1
    - Dst: metaCloneColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:560,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 2
    argNames:
    - pEntry
    - ppEntry
    argTypes:
    - SMetaEntry*
    - SMetaEntry**
    constantsTouched: []
    func_position:
      end: 577
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 577
    functionName: metaCloneEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tstrdup
    - taosMemoryMalloc
    - taosMemoryCalloc
    - metaCloneSchema
    - metaCloneColRef
    - metaCloneColCmpr
    - metaCloneEntryFree
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCloneEntry(const SMetaEntry *pEntry, SMetaEntry **ppEntry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:48,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:49,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:48,1
    - Dst: uTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:50,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:49,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:54,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:54,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:55,1
    - Dst: tEncodeI16v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:55,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:57,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:59,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:58,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:57,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:59,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:58,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pCoder
    - pME
    argTypes:
    - SEncoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: meteEncodeColRefEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - uTrace
    - tEncodeI32v
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tEncodeI16v
    linkageType: ''
    returnType: int
    signature: 'int meteEncodeColRefEntry(SEncoder *pCoder, const SMetaEntry *pME) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: schemasHasTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:76,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:78,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:84,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c:84,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 2
    argNames:
    - pDecoder
    - pME
    argTypes:
    - SDecoder*
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 89
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 89
    functionName: metaDecodeExtSchemas
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaEntry.c
    functionUses: []
    functionsReached:
    - tDecoderMalloc
    - schemasHasTypeMod
    - tDecodeI32v
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaDecodeExtSchemas(SDecoder* pDecoder, SMetaEntry*
      pME) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:26,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:30,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pReader
    - pMeta
    - flags
    argTypes:
    - SMetaReader*
    - SMeta*
    - int32_t
    constantsTouched: []
    func_position:
      end: 32
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 32
    functionName: metaReaderDoInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaRLock
    - memset
    linkageType: ''
    returnType: void
    signature: 'void metaReaderDoInit(SMetaReader *pReader, SMeta *pMeta, int32_t
      flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:75,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:77,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:78,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pVnode
    - uid
    argTypes:
    - void*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: metaIsTableExist
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - metaRLock
    - tdbTbGet
    linkageType: ''
    returnType: bool
    signature: 'bool metaIsTableExist(void *pVnode, tb_uid_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:129,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:131,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:131,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:136,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pMeta
    - name
    argTypes:
    - SMeta*
    - char*
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: metaGetTableEntryUidByName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaRLock
    - tdbFree
    - strlen
    - tdbTbGet
    - metaULock
    linkageType: ''
    returnType: tb_uid_t
    signature: 'tb_uid_t metaGetTableEntryUidByName(SMeta *pMeta, const char *name) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:423,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:428,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:440,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:451,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:388,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:397,1
    - Dst: metaGetSExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:411,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:444,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:391,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:410,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:412,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:417,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:439,1
    - Dst: tDecodeSSchemaWrapperEx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:436,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:421,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:453,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:403,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:402,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:405,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:431,1
    - Dst: metaGetSExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:422,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:435,1
    - Dst: metaGetSExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:427,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:446,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 5
    argNames:
    - pMeta
    - uid
    - sver
    - lock
    - extSchema
    argTypes:
    - SMeta*
    - tb_uid_t
    - int32_t
    - int
    - SExtSchema**
    constantsTouched: []
    func_position:
      end: 455
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 455
    functionName: metaGetTableSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaRLock
    - metaDecodeEntry
    - tDecodeSSchemaWrapperEx
    - tdbFree
    - tdbTbGet
    - tCloneSSchemaWrapper
    - metaULock
    - metaGetSExtSchema
    - tDecoderClear
    linkageType: ''
    returnType: SSchemaWrapper*
    signature: 'SSchemaWrapper *metaGetTableSchema(SMeta *pMeta, tb_uid_t uid, int32_t
      sver, int lock, SExtSchema** extSchema) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:504,1
    - Dst: metaResumeCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:514,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pVnode
    - uid
    - lock
    argTypes:
    - void*
    - tb_uid_t
    - int
    constantsTouched: []
    func_position:
      end: 519
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 519
    functionName: metaOpenCtbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - metaResumeCtbCursor
    linkageType: ''
    returnType: SMCtbCursor*
    signature: 'SMCtbCursor *metaOpenCtbCursor(void *pVnode, tb_uid_t uid, int lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 804
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 804
    functionName: metaGetTbNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t metaGetTbNum(SMeta *pMeta) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1120,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1130,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1129,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1151,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1140,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1164,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1174,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1174,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1179,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1181,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1180,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 44
    argCount: 3
    argNames:
    - pVnode
    - arg
    - pUids
    argTypes:
    - void*
    - SMetaFltParam*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1183
    functionName: metaFilterCreateTime
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRLock
    - taosMemoryCalloc
    - tdbTbcMoveTo
    - taosArrayPush
    - tdbTbcMoveToPrev
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - metaULock
    - tdbTbcClose
    - tdbTbcGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFilterCreateTime(void *pVnode, SMetaFltParam *arg, SArray
      *pUids) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SMetaReader*
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: metaReaderReleaseLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    linkageType: ''
    returnType: void
    signature: 'void metaReaderReleaseLock(SMetaReader *pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:91,1
    - Dst: metaGetTableEntryByVersion
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - SMetaReader*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 97
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 97
    functionName: metaReaderGetTableEntryByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTableEntryByVersion
    - tdbTbGet
    linkageType: ''
    returnType: int
    signature: 'int metaReaderGetTableEntryByUid(SMetaReader *pReader, tb_uid_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:144,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:152,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:147,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:145,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pVnode
    - uid
    - tbName
    argTypes:
    - void*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 155
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 155
    functionName: metaGetTableNameByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - STR_TO_VARSTR
    - metaReaderDoInit
    - metaReaderGetTableEntryByUid
    - metaReaderClear
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableNameByUid(void *pVnode, uint64_t uid, char *tbName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:464,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:479,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:478,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:473,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:467,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:481,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:487,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:491,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:493,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 3
    argNames:
    - pMeta
    - uid
    - lock
    argTypes:
    - SMeta*
    - tb_uid_t
    - int
    constantsTouched: []
    func_position:
      end: 495
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 495
    functionName: metaGetTableCreateTime
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaRLock
    - metaDecodeEntry
    - tdbFree
    - tdbTbGet
    - metaULock
    - tDecoderClear
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t metaGetTableCreateTime(SMeta *pMeta, tb_uid_t uid, int lock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:524,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:526,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:529,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:532,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:530,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pCtbCur
    argTypes:
    - SMCtbCursor*
    constantsTouched: []
    func_position:
      end: 533
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 533
    functionName: metaCloseCtbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - tdbTbcClose
    - tdbFree
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void metaCloseCtbCursor(SMCtbCursor *pCtbCur) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:715,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:718,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:726,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:762,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:738,1
    - Dst: tDecodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:775,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:777,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:717,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:728,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:741,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:733,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:784,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:790,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:704,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:714,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:719,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:725,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:749,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:776,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:713,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:742,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:761,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:763,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:750,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:767,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:779,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 65
    argCount: 5
    argNames:
    - pMeta
    - suid
    - uid
    - sver
    - ppTSchema
    argTypes:
    - SMeta*
    - tb_uid_t
    - tb_uid_t
    - int32_t
    - STSchema**
    constantsTouched: []
    func_position:
      end: 794
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 794
    functionName: metaGetTbTSchemaEx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TSDB_CHECK_CODE
    - metaRLock
    - taosMemoryFree
    - tBuildTSchema
    - tDecodeSSchemaWrapper
    - tdbFree
    - tDecoderClear
    - tdbTbcMoveTo
    - metaError
    - tdbTbcMoveToPrev
    - tdbTbcOpen
    - metaULock
    - tdbTbGet
    - tdbTbcClose
    - tdbTbcGet
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetTbTSchemaEx(SMeta *pMeta, tb_uid_t suid, tb_uid_t uid,
      int32_t sver, STSchema **ppTSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:160,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:163,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:166,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:167,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - meta
    - uid
    - tbName
    argTypes:
    - void*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 170
    functionName: metaGetTableSzNameByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    - metaReaderGetTableEntryByUid
    - metaReaderClear
    - tstrncpy
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableSzNameByUid(void *meta, uint64_t uid, char *tbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:332,1
    - Dst: metaGetTableEntryByVersion
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:339,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pTbCur
    - jumpTableType
    argTypes:
    - SMTbCursor*
    - ETableType
    constantsTouched: []
    func_position:
      end: 350
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 350
    functionName: metaTbCursorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTableEntryByVersion
    - tDecoderClear
    - tdbTbcNext
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaTbCursorNext(SMTbCursor *pTbCur, ETableType jumpTableType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:614,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:624,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:628,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:627,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:622,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:633,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - pMeta
    - suid
    argTypes:
    - SMeta*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 639
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 639
    functionName: metaOpenStbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRLock
    - taosMemoryCalloc
    - tdbTbcMoveTo
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - metaULock
    linkageType: ''
    returnType: SMStbCursor*
    signature: 'SMStbCursor *metaOpenStbCursor(SMeta *pMeta, tb_uid_t suid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTimeSeriesNumImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:825,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pMeta
    - type
    argTypes:
    - SMeta*
    - int
    constantsTouched: []
    func_position:
      end: 830
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 830
    functionName: metaGetTimeSeriesNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTimeSeriesNumImpl
    - atomic_store_64
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t metaGetTimeSeriesNum(SMeta *pMeta, int type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1093,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 3
    argNames:
    - pTag
    - type
    - val
    argTypes:
    - void*
    - int16_t
    - STagVal*
    constantsTouched: []
    func_position:
      end: 1100
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1100
    functionName: metaGetTableTagVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tTagGet
    linkageType: ''
    returnType: void*
    signature: 'const void *metaGetTableTagVal(const void *pTag, int16_t type, STagVal
      *val) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1623,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1632,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1634,1
    - Dst: metaCacheGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1626,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1627,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1638,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1646,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1650,1
    - Dst: metaCacheUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1651,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1653,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1662,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1653,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1655,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1658,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - pMeta
    - uid
    - pInfo
    - pReader
    argTypes:
    - SMeta*
    - int64_t
    - SMetaInfo*
    - SMetaReader*
    constantsTouched: []
    func_position:
      end: 1664
      start: 1613
    functionDepth: 0
    functionLinenumber: 1613
    functionLinenumberEnd: 1664
    functionName: metaGetInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaRLock
    - metaWLock
    - tdbFree
    - metaError
    - tdbTbGet
    - TD_VID
    - metaCacheGet
    - metaULock
    - metaCacheUpsert
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetInfo(SMeta *pMeta, int64_t uid, SMetaInfo *pInfo, SMetaReader
      *pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:175,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:187,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:181,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:180,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pVnode
    - tbName
    - uid
    argTypes:
    - void*
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: metaGetTableUidByName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - strlen
    - metaReaderDoInit
    - metaReaderClear
    - tdbTbGet
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableUidByName(void *pVnode, char *tbName, uint64_t *uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:358,1
    - Dst: metaGetTableEntryByVersion
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:365,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pTbCur
    - jumpTableType
    argTypes:
    - SMTbCursor*
    - ETableType
    constantsTouched: []
    func_position:
      end: 378
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 378
    functionName: metaTbCursorPrev
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTableEntryByVersion
    - tdbTbcPrev
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaTbCursorPrev(SMTbCursor *pTbCur, ETableType jumpTableType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:643,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:647,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:645,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:651,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pStbCur
    argTypes:
    - SMStbCursor*
    constantsTouched: []
    func_position:
      end: 653
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 653
    functionName: metaCloseStbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - tdbTbcClose
    - tdbFree
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void metaCloseStbCursor(SMStbCursor *pStbCur) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1672,1
    - Dst: vnodeGetCtbNum
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1690,1
    - Dst: metaStatsCacheGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1676,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1677,1
    - Dst: vnodeGetStbColumnNum
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1692,1
    - Dst: vnodeGetStbInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1695,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1697,1
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1712,1
    - Dst: metaStatsCacheUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1714,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1716,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1720,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 5
    argNames:
    - pVnode
    - uid
    - numOfTables
    - numOfCols
    - flags
    argTypes:
    - void*
    - int64_t
    - int64_t*
    - int32_t*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 1724
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1724
    functionName: metaGetStbStats
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaRLock
    - vnodeGetCtbNum
    - metaWLock
    - metaStatsCacheUpsert
    - metaError
    - metaULock
    - vnodeGetStbColumnNum
    - vnodeGetStbInfo
    - metaStatsCacheGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetStbStats(void *pVnode, int64_t uid, int64_t *numOfTables,
      int32_t *numOfCols, int8_t *flags) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1195,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1207,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1213,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1206,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1213,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1223,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1237,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1247,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1247,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1254,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1255,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1259,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1256,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 50
    argCount: 3
    argNames:
    - pVnode
    - arg
    - pUids
    argTypes:
    - void*
    - SMetaFltParam*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1262
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1262
    functionName: metaFilterTableName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRLock
    - taosMemoryCalloc
    - tdbTbcMoveTo
    - strlen
    - taosArrayPush
    - tdbTbcMoveToPrev
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - metaULock
    - tdbTbcClose
    - tdbTbcGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFilterTableName(void *pVnode, SMetaFltParam *arg, SArray
      *pUids) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaStatsCacheGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1729,1
    - Dst: metaStatsCacheUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1736,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1738,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1739,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - pMeta
    - uid
    - deltaCtb
    - deltaCol
    - deltaKeep
    argTypes:
    - SMeta*
    - int64_t
    - int64_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1742
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1742
    functionName: metaUpdateStbStats
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaStatsCacheUpsert
    - metaError
    - metaStatsCacheGet
    linkageType: ''
    returnType: void
    signature: 'void metaUpdateStbStats(SMeta *pMeta, int64_t uid, int64_t deltaCtb,
      int32_t deltaCol, int64_t deltaKeep) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:986,1
    - Dst: metaWarn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:988,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:989,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:988,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:987,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:992,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:995,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:999,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1001,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pMeta
    - indexUid
    argTypes:
    - SMeta*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1003
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 1003
    functionName: metaGetSmaInfoByIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - metaReaderGetTableEntryByUid
    - metaWarn
    - metaReaderClear
    - TD_VID
    - memcpy
    - metaReaderDoInit
    linkageType: ''
    returnType: STSma*
    signature: 'STSma *metaGetSmaInfoByIndex(SMeta *pMeta, int64_t indexUid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:43,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:46,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:45,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SMetaReader*
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: metaReaderClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - tdbFree
    - tDecoderClear
    linkageType: ''
    returnType: void
    signature: 'void metaReaderClear(SMetaReader *pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:222,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:223,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - meta
    - uid
    - ttlDays
    argTypes:
    - void*
    - uint64_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 240
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 240
    functionName: metaGetTableTtlByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    - metaReaderGetTableEntryByUid
    - metaReaderClear
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableTtlByUid(void *meta, uint64_t uid, int64_t *ttlDays) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:281,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pTbCur
    argTypes:
    - SMTbCursor*
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: metaPauseTbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaReaderClear
    - tdbTbcClose
    linkageType: ''
    returnType: void
    signature: 'void metaPauseTbCursor(SMTbCursor *pTbCur) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:247,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:259,1
    - Dst: metaResumeTbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 263
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 263
    functionName: metaOpenTbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - metaResumeTbCursor
    linkageType: ''
    returnType: SMTbCursor*
    signature: 'SMTbCursor *metaOpenTbCursor(void *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1273,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1282,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1286,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1287,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1288,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1289,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1291,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 3
    argNames:
    - pVnode
    - arg
    - pUids
    argTypes:
    - void*
    - SMetaFltParam*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1296
    functionName: metaFilterTtl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRLock
    - taosMemoryCalloc
    - metaULock
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFilterTtl(void *pVnode, SMetaFltParam *arg, SArray *pUids) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1484,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1490,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1488,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 6
    argNames:
    - pMeta
    - suid
    - uid
    - tag
    - len
    - lock
    argTypes:
    - SMeta*
    - int64_t
    - int64_t
    - void**
    - int32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 1494
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1494
    functionName: metaGetTableTagByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - metaRLock
    - tdbTbGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaGetTableTagByUid(SMeta *pMeta, int64_t suid, int64_t
      uid, void **tag, int32_t *len, bool lock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:21,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pReader
    - pVnode
    - flags
    - pAPI
    argTypes:
    - SMetaReader*
    - void*
    - int32_t
    - SStoreMeta*
    constantsTouched: []
    func_position:
      end: 23
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 23
    functionName: _metaReaderInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    linkageType: ''
    returnType: void
    signature: 'void _metaReaderInit(SMetaReader *pReader, void *pVnode, int32_t flags,
      SStoreMeta *pAPI) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:56,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:63,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:61,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:65,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pReader
    - version
    - uid
    argTypes:
    - SMetaReader*
    - int64_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 71
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 71
    functionName: metaGetTableEntryByVersion
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaDecodeEntry
    - tDecoderClear
    - tdbTbGet
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableEntryByVersion(SMetaReader *pReader, int64_t version,
      tb_uid_t uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:275,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:272,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:270,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:268,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pTbCur
    argTypes:
    - SMTbCursor*
    constantsTouched: []
    func_position:
      end: 277
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 277
    functionName: metaCloseTbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaReaderClear
    - tdbTbcClose
    - tdbFree
    linkageType: ''
    returnType: void
    signature: 'void metaCloseTbCursor(SMTbCursor *pTbCur) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:291,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:293,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:295,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:299,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:300,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:303,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:304,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:306,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:308,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:309,1
    - Dst: metaReaderReleaseLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:321,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:311,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:312,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - pTbCur
    - first
    - move
    argTypes:
    - SMTbCursor*
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 324
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 324
    functionName: metaResumeTbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - TSDB_CHECK_CODE
    - metaReaderReleaseLock
    - tdbTbcMoveTo
    - tdbTbcMoveToPrev
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - metaReaderDoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaResumeTbCursor(SMTbCursor *pTbCur, int8_t first, int8_t
      move) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1048,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1066,1
    - Dst: metaSmaCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1054,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1069,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1074,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1076,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1077,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1082,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 1084
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1084
    functionName: metaGetSmaTbUids
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - metaSmaCursorNext
    - metaOpenSmaCursor
    - metaCloseSmaCursor
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *metaGetSmaTbUids(SMeta *pMeta) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1329,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1329,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1340,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1349,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1372,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1426,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1438,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1444,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1467,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1468,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1476,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1474,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1333,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1346,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1390,1
    - Dst: metaCreateTagIdxKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1390,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1395,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1445,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1469,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1471,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1322,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1331,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1335,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1355,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1367,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1368,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1363,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1374,1
    - Dst: taosMbsToUcs4
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1377,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1395,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1470,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1313,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1324,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1324,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1366,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1353,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1363,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1378,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1410,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1426,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1449,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1473,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 140
    argCount: 3
    argNames:
    - pVnode
    - arg
    - pUids
    argTypes:
    - void*
    - SMetaFltParam*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1479
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1479
    functionName: metaFilterTableIds
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - taosMemoryFree
    - varDataLen
    - taosMemoryCalloc
    - tdbTbcMoveTo
    - metaError
    - IS_VAR_DATA_TYPE
    - varDataVal
    - taosArrayPush
    - tdbTbcMoveToPrev
    - tdbTbcMoveToNext
    - metaULock
    - TAOS_CHECK_GOTO
    - metaRLock
    - metaDecodeEntry
    - TD_VID
    - tdbTbGet
    - tdbTbcOpen
    - tDecoderInit
    - IS_IDX_ON
    - tdbFree
    - metaCreateTagIdxKey
    - taosMbsToUcs4
    - tdbTbcClose
    - tdbTbcGet
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaFilterTableIds(void *pVnode, SMetaFltParam *arg, SArray
      *pUids) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1503,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1508,1
    - Dst: metaGetTableTagByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1515,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1506,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1516,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1518,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1520,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1522,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1523,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1530,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1525,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - pVnode
    - suid
    - uidList
    argTypes:
    - void*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1532
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1532
    functionName: metaGetTableTagsByUids
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - metaRLock
    - taosMemoryMalloc
    - tdbFree
    - metaGetTableTagByUid
    - TAOS_RETURN
    - metaError
    - TD_VID
    - metaULock
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetTableTagsByUids(void *pVnode, int64_t suid, SArray
      *uidList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:103,1
    - Dst: metaGetTableEntryByVersion
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - SMetaReader*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: metaReaderGetTableEntryByUidCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTableEntryByVersion
    - metaGetInfo
    linkageType: ''
    returnType: int
    signature: 'int metaReaderGetTableEntryByUidCache(SMetaReader *pReader, tb_uid_t
      uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:195,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:207,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:197,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - pVnode
    - tbName
    - tbType
    - suid
    argTypes:
    - void*
    - char*
    - ETableType*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: metaGetTableTypeSuidByName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    - metaReaderClear
    - metaGetTableEntryByName
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableTypeSuidByName(void *pVnode, char *tbName, ETableType
      *tbType, uint64_t* suid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:537,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pCtbCur
    argTypes:
    - SMCtbCursor*
    constantsTouched: []
    func_position:
      end: 543
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 543
    functionName: metaPauseCtbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - tdbTbcClose
    linkageType: ''
    returnType: void
    signature: 'void metaPauseCtbCursor(SMCtbCursor *pCtbCur) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pCtbCur
    argTypes:
    - SMCtbCursor*
    constantsTouched: []
    func_position:
      end: 597
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 597
    functionName: metaCtbCursorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tdbTbcNext
    linkageType: ''
    returnType: tb_uid_t
    signature: 'tb_uid_t metaCtbCursorNext(SMCtbCursor *pCtbCur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:658,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pStbCur
    argTypes:
    - SMStbCursor*
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: metaStbCursorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tdbTbcNext
    linkageType: ''
    returnType: tb_uid_t
    signature: 'tb_uid_t metaStbCursorNext(SMStbCursor *pStbCur) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTbTSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 5
    argNames:
    - pMeta
    - uid
    - sver
    - lock
    - ppTSchema
    argTypes:
    - SMeta*
    - tb_uid_t
    - int32_t
    - int
    - STSchema**
    constantsTouched: []
    func_position:
      end: 685
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 685
    functionName: metaGetTbTSchemaNotNull
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTbTSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetTbTSchemaNotNull(SMeta *pMeta, tb_uid_t uid, int32_t
      sver, int lock, STSchema **ppTSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetTimeSeriesNum
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:808,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 811
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 811
    functionName: metaUpdTimeSeriesNum
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - vnodeGetTimeSeriesNum
    - atomic_store_64
    linkageType: ''
    returnType: void
    signature: 'void metaUpdTimeSeriesNum(SMeta *pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:848,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:858,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:861,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:860,1
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:856,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:868,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:870,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pMeta
    - uid
    argTypes:
    - SMeta*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 874
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 874
    functionName: metaOpenSmaCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaRLock
    - taosMemoryCalloc
    - tdbTbcMoveTo
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - metaULock
    linkageType: ''
    returnType: SMSmaCursor*
    signature: 'SMSmaCursor *metaOpenSmaCursor(SMeta *pMeta, tb_uid_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:116,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:121,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pReader
    - name
    argTypes:
    - SMetaReader*
    - char*
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: metaGetTableEntryByName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - strlen
    - metaReaderGetTableEntryByUid
    - tdbTbGet
    linkageType: ''
    returnType: int
    signature: 'int metaGetTableEntryByName(SMetaReader *pReader, const char *name) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SMetaReader*
    constantsTouched: []
    func_position:
      end: 217
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 217
    functionName: metaReadNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int metaReadNext(SMetaReader *pReader) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaRLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:550,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:567,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:565,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:553,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:555,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:571,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:573,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pCtbCur
    - first
    argTypes:
    - SMCtbCursor*
    - int8_t
    constantsTouched: []
    func_position:
      end: 580
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 580
    functionName: metaResumeCtbCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaRLock
    - metaCloseCtbCursor
    - tdbTbcMoveTo
    - tdbTbcMoveToPrev
    - tdbTbcMoveToNext
    - tdbTbcOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaResumeCtbCursor(SMCtbCursor *pCtbCur, int8_t first) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:669,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:672,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:674,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:675,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - pMeta
    - uid
    - sver
    - lock
    argTypes:
    - SMeta*
    - tb_uid_t
    - int32_t
    - int
    constantsTouched: []
    func_position:
      end: 677
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 677
    functionName: metaGetTbTSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - taosMemoryFree
    - metaGetTableSchema
    linkageType: ''
    returnType: STSchema*
    signature: 'STSchema *metaGetTbTSchema(SMeta *pMeta, tb_uid_t uid, int32_t sver,
      int lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTbTSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 5
    argNames:
    - pMeta
    - uid
    - sver
    - lock
    - ppTSchema
    argTypes:
    - SMeta*
    - tb_uid_t
    - int32_t
    - int
    - STSchema**
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: metaGetTbTSchemaMaybeNull
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaGetTbTSchema
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetTbTSchemaMaybeNull(SMeta *pMeta, tb_uid_t uid, int32_t
      sver, int lock, STSchema **ppTSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaUpdTimeSeriesNum
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pMeta
    - forceUpd
    argTypes:
    - SMeta*
    - bool
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: metaGetTimeSeriesNumImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaUpdTimeSeriesNum
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int64_t metaGetTimeSeriesNumImpl(SMeta *pMeta,
      bool forceUpd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:878,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:880,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:887,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:884,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pSmaCur
    argTypes:
    - SMSmaCursor*
    constantsTouched: []
    func_position:
      end: 889
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 889
    functionName: metaCloseSmaCursor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - metaULock
    - tdbTbcClose
    - tdbFree
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void metaCloseSmaCursor(SMSmaCursor *pSmaCur) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pSmaCur
    argTypes:
    - SMSmaCursor*
    constantsTouched: []
    func_position:
      end: 906
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 906
    functionName: metaSmaCursorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - tdbTbcNext
    linkageType: ''
    returnType: tb_uid_t
    signature: 'tb_uid_t metaSmaCursorNext(SMSmaCursor *pSmaCur) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaGetSmaIdsByTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:912,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:937,1
    - Dst: metaWarn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:939,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:959,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:942,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:973,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:931,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:922,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:939,1
    - Dst: tFreeTSmaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:979,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:916,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:923,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:936,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:974,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:947,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:951,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:977,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:978,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:938,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:954,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:944,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 3
    argNames:
    - pMeta
    - uid
    - deepCopy
    argTypes:
    - SMeta*
    - tb_uid_t
    - bool
    constantsTouched: []
    func_position:
      end: 981
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 981
    functionName: metaGetSmaInfoByTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tFreeTSmaWrapper
    - taosMemoryCalloc
    - metaReaderGetTableEntryByUid
    - taosArrayGetSize
    - metaWarn
    - metaReaderClear
    - TD_VID
    - memcpy
    - metaReaderDoInit
    - metaGetSmaIdsByTable
    - tDecoderClear
    linkageType: ''
    returnType: STSmaWrapper*
    signature: 'STSmaWrapper *metaGetSmaInfoByTable(SMeta *pMeta, tb_uid_t uid, bool
      deepCopy) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: metaOpenSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1009,1
    - Dst: metaSmaCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1015,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1031,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1021,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1024,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1033,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1034,1
    - Dst: metaCloseSmaCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1039,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pMeta
    - uid
    argTypes:
    - SMeta*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 1041
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1041
    functionName: metaGetSmaIdsByTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - metaSmaCursorNext
    - metaOpenSmaCursor
    - metaCloseSmaCursor
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *metaGetSmaIdsByTable(SMeta *pMeta, tb_uid_t uid) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1574,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1577,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1575,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1595,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1598,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1601,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1607,1
    - Dst: metaOpenCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1535,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1547,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1552,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1553,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1573,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1570,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1593,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1537,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1547,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1544,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1549,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1550,1
    - Dst: metaCtbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1561,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1567,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1597,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1569,1
    - Dst: metaCloseCtbCursor
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1576,1
    - Dst: metaCtbCursorNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1583,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c:1606,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - pVnode
    - suid
    - pUidTagInfo
    argTypes:
    - void*
    - uint64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1609
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1609
    functionName: metaGetTableTags
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaQuery.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosMemoryMalloc
    - metaOpenCtbCursor
    - taosHashGet
    - taosArrayGetSize
    - metaCloseCtbCursor
    - metaCtbCursorNext
    - TAOS_RETURN
    - memcpy
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaGetTableTags(void *pVnode, uint64_t suid, SArray *pUidTagInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 798
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 798
    functionName: ncolIdxCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int ncolIdxCmpr(const void *pKey1, int kLen1, const void *pKey2,
      int kLen2) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:301,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:331,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:352,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:355,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:360,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:439,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:467,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:351,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:354,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:408,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:333,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:349,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:355,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:363,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:428,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:409,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:417,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:404,1
    - Dst: metaBegin
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:439,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:402,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:303,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:353,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:467,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:303,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:309,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:377,1
    - Dst: metaOpenImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:284,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:340,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:375,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:434,1
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:449,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:413,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:442,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:383,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:454,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:303,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:307,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:377,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:381,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:455,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:461,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:471,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:309,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:320,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:365,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:394,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:455,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:461,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:409,1
    - Dst: metaBegin
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:289,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:331,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:434,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:428,1
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:450,1
    - Dst: metaCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:426,1
    - Dst: metaFinishCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:432,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:281,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:383,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:410,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:403,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:309,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:348,1
    - Dst: metaClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:453,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:383,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:461,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:333,1
    - Dst: metaClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:441,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:365,1
    - Dst: metaOpenImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:465,1
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:451,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:281,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:358,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:417,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:460,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:415,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:434,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:370,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:442,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:471,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:422,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:384,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:439,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:310,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:467,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 156
    argCount: 1
    argNames:
    - ppMeta
    argTypes:
    - SMeta**
    constantsTouched: []
    func_position:
      end: 474
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 474
    functionName: metaGenerateNewMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - metaHandleEntry2
    - vnodeGetMetaPath
    - metaCommit
    - metaError
    - metaClose
    - metaOpenImpl
    - metaInfo
    - metaBegin
    - tdbTbcMoveToNext
    - metaDecodeEntry
    - metaFinishCommit
    - taosRenameFile
    - TD_VID
    - tdbTbGet
    - tdbTbcOpen
    - tDecoderInit
    - tdbFree
    - tstrerror
    - tdbTbcClose
    - tdbTbcGet
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaGenerateNewMeta(SMeta **ppMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 819
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 819
    functionName: smaIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int smaIdxKeyCmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 832
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 832
    functionName: taskIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int taskIdxKeyCmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:622,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: tbDbKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int tbDbKeyCmpr(const void *pKey1, int kLen1, const void *pKey2,
      int kLen2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:661,1
    - Dst: taosGetInt64Aligned
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:662,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: uidIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - taosGetInt64Aligned
    linkageType: ''
    returnType: int
    signature: 'static int uidIdxKeyCmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:643,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 658
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 658
    functionName: skmDbKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int skmDbKeyCmpr(const void *pKey1, int kLen1, const void *pKey2,
      int kLen2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 692
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 692
    functionName: ctbIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int ctbIdxKeyCmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:161,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:168,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:169,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:176,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:192,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:177,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:191,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:195,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:196,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:203,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:208,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:212,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:219,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:236,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:249,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:262,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:170,1
    - Dst: metaInitLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:173,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:199,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:200,1
    - Dst: indexOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:218,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:221,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:242,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:231,1
    - Dst: metaCacheOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:245,1
    - Dst: metaInitTbFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:248,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:265,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:215,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:240,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:214,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:243,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:160,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:162,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:165,1
    - Dst: taosRealPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:177,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:188,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:182,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:183,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:186,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:204,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:207,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:228,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:232,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:258,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:258,1
    - Dst: doScan
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:253,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:222,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:258,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:164,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:164,1
    - Dst: ttlMgrOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:227,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:262,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:211,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:235,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:239,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:246,1
    - Dst: metaCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:259,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:226,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 100
    argCount: 4
    argNames:
    - pVnode
    - ppMeta
    - metaDir
    - rollback
    argTypes:
    - SVnode*
    - SMeta**
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 266
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 266
    functionName: metaOpenImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - metaError
    - taosRemoveDir
    - doScan
    - tsnprintf
    - tdbTbOpen
    - taosRealPath
    - metaCleanup
    - metaInitLock
    - TSDB_CHECK_CODE
    - strncmp
    - metaDebug
    - metaCacheOpen
    - tstrncpy
    - TD_VID
    - metaInitTbFilterCache
    - ttlMgrOpen
    - taosMkDir
    - vnodeGetPrimaryDir
    - snprintf
    - tdbOpen
    - tstrerror
    - strlen
    - TAOS_RETURN
    - indexOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaOpenImpl(SVnode *pVnode, SMeta **ppMeta, const char *metaDir,
      int8_t rollback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: metaCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:552,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ppMeta
    argTypes:
    - SMeta**
    constantsTouched: []
    func_position:
      end: 554
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 554
    functionName: metaClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - metaCleanup
    linkageType: ''
    returnType: void
    signature: 'void metaClose(SMeta **ppMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:569,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:570,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:571,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:571,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 573
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 573
    functionName: metaRLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaTrace
    - taosThreadRwlockRdlock
    - metaError
    linkageType: ''
    returnType: void
    signature: 'void metaRLock(SMeta *pMeta) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:700,1
    - Dst: getComparFunc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:728,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:730,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:717,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:730,1
    - Dst: func
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:733,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:738,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:739,1
    - Dst: varDataTLen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:740,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 756
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 756
    functionName: tagIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - varDataTLen
    - func
    - getComparFunc
    - terrstr
    - metaError
    - TDB_KEY_ALIGN
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int
    signature: 'int tagIdxKeyCmpr(const void *pKey1, int kLen1, const void *pKey2,
      int kLen2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:269,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:270,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pVnode
    - metaDir
    - fname
    argTypes:
    - SVnode*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: vnodeGetMetaPath
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void vnodeGetMetaPath(SVnode *pVnode, const char *metaDir, char *fname) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:74,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:78,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:103,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:104,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:142,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:146,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:69,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:74,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:84,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:93,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:101,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:145,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:121,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:139,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:62,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:65,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:65,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:63,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:81,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:84,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:81,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:113,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:117,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:125,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:132,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:125,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:72,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:83,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:109,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:126,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:127,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:134,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:143,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:143,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 148
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 148
    functionName: doScan
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - tdbTbcMoveToFirst
    - snprintf
    - tDecoderInit
    - taosCloseFile
    - metaDecodeEntry
    - taosWriteFile
    - tstrerror
    - strlen
    - metaError
    - tdbTbGet
    - tdbTbcOpen
    - tdbTbcMoveToNext
    - tdbTbcClose
    - tdbTbcGet
    - tDecoderClear
    linkageType: ''
    returnType: void
    signature: 'static void doScan(SMeta *pMeta) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaWLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:558,1
    - Dst: tdbAlter
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:559,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:563,1
    - Dst: metaULock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:560,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pMeta
    - nPage
    argTypes:
    - SMeta*
    - int32_t
    constantsTouched: []
    func_position:
      end: 566
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 566
    functionName: metaAlterCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - metaWLock
    - tstrerror
    - TD_VID
    - metaError
    - metaULock
    - tdbAlter
    linkageType: ''
    returnType: int
    signature: 'int metaAlterCache(SMeta *pMeta, int32_t nPage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:576,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:578,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:577,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: metaWLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaTrace
    - metaError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void metaWLock(SMeta *pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TDB_KEY_ALIGN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:762,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 777
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 777
    functionName: btimeIdxCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TDB_KEY_ALIGN
    linkageType: ''
    returnType: int
    signature: 'static int btimeIdxCmpr(const void *pKey1, int kLen1, const void *pKey2,
      int kLen2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockAttrInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:46,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:48,1
    - Dst: taosThreadRwlockAttrDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:49,1
    - Dst: taosThreadRwlockAttrSetKindNP
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: metaInitLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockInit
    - taosThreadRwlockAttrInit
    - taosThreadRwlockAttrDestroy
    - taosThreadRwlockAttrSetKindNP
    linkageType: ''
    returnType: void
    signature: 'static void metaInitLock(SMeta *pMeta) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:482,1
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:483,1
    - Dst: vnodeGetMetaPath
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:484,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:495,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:512,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:504,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:512,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:519,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:497,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:506,1
    - Dst: metaOpenImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:510,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:501,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:487,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:486,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:488,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:494,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:502,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:512,1
    - Dst: metaGenerateNewMeta
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:517,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:519,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:501,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:501,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:513,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:520,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 60
    argCount: 3
    argNames:
    - pVnode
    - ppMeta
    - rollback
    argTypes:
    - SVnode*
    - SMeta**
    - int8_t
    constantsTouched: []
    func_position:
      end: 525
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 525
    functionName: metaOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - vnodeGetMetaPath
    - taosRenameFile
    - tstrerror
    - metaGenerateNewMeta
    - TAOS_RETURN
    - TD_VID
    - metaError
    - taosCheckExistFile
    - taosRemoveDir
    - metaOpenImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaOpen(SVnode *pVnode, SMeta **ppMeta, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:583,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:584,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:585,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 587
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 587
    functionName: metaULock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - TD_VID
    - metaTrace
    - taosThreadRwlockUnlock
    - metaError
    linkageType: ''
    returnType: void
    signature: 'void metaULock(SMeta *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SMeta*
    constantsTouched: []
    func_position:
      end: 52
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 52
    functionName: metaDestroyLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: 'static void metaDestroyLock(SMeta *pMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrNeedUpgrade
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:532,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:534,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:537,1
    - Dst: ttlMgrUpgrade
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:536,1
    - Dst: metaBegin
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:533,1
    - Dst: metaCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:539,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:540,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:545,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:545,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:545,1
    - Dst: metaCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pVnode
    - ppMeta
    argTypes:
    - SVnode*
    - SMeta**
    constantsTouched: []
    func_position:
      end: 549
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 549
    functionName: metaUpgrade
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - ttlMgrUpgrade
    - TSDB_CHECK_CODE
    - metaCommit
    - metaBegin
    - tstrerror
    - metaError
    - TD_VID
    - metaCleanup
    - ttlMgrNeedUpgrade
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpgrade(SVnode *pVnode, SMeta **ppMeta) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: metaAbort
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:593,1
    - Dst: metaCloseIdx
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:596,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:601,1
    - Dst: tdbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:611,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:609,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:605,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:592,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:598,1
    - Dst: ttlMgrClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:602,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:610,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:606,1
    - Dst: metaDestroyLock
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:612,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:614,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:592,1
    - Dst: metaCacheClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:594,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:599,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:607,1
    - Dst: indexClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:603,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:600,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:608,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c:604,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 1
    argNames:
    - ppMeta
    argTypes:
    - SMeta**
    constantsTouched: []
    func_position:
      end: 616
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 616
    functionName: metaCleanup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaOpen.c
    functionUses: []
    functionsReached:
    - metaCacheClose
    - metaInfo
    - tdbClose
    - ttlMgrClose
    - tdbTbClose
    - TD_VID
    - metaDestroyLock
    - metaAbort
    - indexClose
    - taosMemoryFreeClear
    - metaCloseIdx
    linkageType: ''
    returnType: void
    signature: 'static void metaCleanup(SMeta **ppMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:304,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:307,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:305,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:309,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSnapContext*
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: MoveToFirst
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tdbTbcClose
    - TAOS_GET_TERRNO
    - tdbTbcOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t MoveToFirst(SSnapContext* ctx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSnapContext*
    constantsTouched: []
    func_position:
      end: 617
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 617
    functionName: taosXGetTablePrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosXGetTablePrimaryKey(SSnapContext* ctx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:317,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:333,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:338,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:323,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:328,1
    - Dst: destroySTableInfoForChildTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:345,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:346,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 2
    argNames:
    - me
    - suidInfo
    argTypes:
    - SMetaEntry*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 348
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 348
    functionName: saveSuperTableInfoForChildTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - TAOS_GET_TERRNO
    - taosStrdup
    - tCloneSSchemaWrapper
    - taosHashPut
    - destroySTableInfoForChildTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveSuperTableInfoForChildTable(SMetaEntry* me, SHashObj*
      suidInfo) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:635,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:639,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:642,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:662,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:684,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:704,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:712,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:722,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:728,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:734,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:733,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:626,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:650,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:660,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:686,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:701,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:721,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:723,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:732,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:735,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:747,1
    - Dst: tTagToValArray
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:719,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:741,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:636,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:633,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:641,1
    - Dst: MoveToPosition
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:646,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:663,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:653,1
    - Dst: buildSuperTableInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:679,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:659,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:703,1
    - Dst: tTagIsJson
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:708,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:759,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:627,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:655,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:666,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:687,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:711,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:726,1
    - Dst: buildNormalChildTableInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:745,1
    - Dst: buildNormalChildTableInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:756,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:764,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:713,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 144
    argCount: 5
    argNames:
    - ctx
    - pBuf
    - contLen
    - type
    - uid
    argTypes:
    - SSnapContext*
    - void**
    - int32_t*
    - int16_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 766
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 766
    functionName: getTableInfoFromSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - taosArrayGet
    - taosArrayDestroy
    - tTagToValArray
    - metaDebug
    - tTagIsJson
    - metaDecodeEntry
    - taosHashGet
    - TAOS_GET_TERRNO
    - buildSuperTableInfo
    - taosArrayPush
    - MoveToPosition
    - metaError
    - buildNormalChildTableInfo
    - taosArrayGetSize
    - tdbTbcGet
    - tDecoderClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableInfoFromSnapshot(SSnapContext* ctx, void** pBuf, int32_t*
      contLen, int16_t* type, int64_t* uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:62,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - SMetaSnapReader**
    constantsTouched: []
    func_position:
      end: 66
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 66
    functionName: metaSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tdbTbcClose
    linkageType: ''
    returnType: void
    signature: 'void metaSnapReaderClose(SMetaSnapReader** ppReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - uid
    argTypes:
    - SSnapContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 605
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 605
    functionName: setForSnapShot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setForSnapShot(SSnapContext* ctx, int64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:33,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:42,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:35,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:43,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:45,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:46,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:50,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:50,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:50,1
    - Dst: metaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:51,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:54,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - pMeta
    - sver
    - ever
    - ppReader
    argTypes:
    - SMeta*
    - int64_t
    - int64_t
    - SMetaSnapReader**
    constantsTouched: []
    func_position:
      end: 58
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 58
    functionName: metaSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - metaSnapReaderClose
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - metaInfo
    - tdbTbcMoveTo
    - tstrerror
    - metaError
    - TD_VID
    - tdbTbcOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSnapReaderOpen(SMeta* pMeta, int64_t sver, int64_t ever,
      SMetaSnapReader** ppReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:609,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - uid
    argTypes:
    - SSnapContext*
    - int64_t
    constantsTouched: []
    func_position:
      end: 615
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 615
    functionName: taosXSetTablePrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tDeleteSchemaWrapper
    - metaGetTableSchema
    linkageType: ''
    returnType: void
    signature: 'void taosXSetTablePrimaryKey(SSnapContext* ctx, int64_t uid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:780,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:797,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:802,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:819,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:822,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:774,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:778,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:785,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:805,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:814,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:801,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:791,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:815,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:812,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:824,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:825,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:775,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:783,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:786,1
    - Dst: MoveToPosition
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:789,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:795,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:804,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:807,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:816,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:830,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:832,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 2
    argNames:
    - ctx
    - result
    argTypes:
    - SSnapContext*
    - SMetaTableInfo*
    constantsTouched: []
    func_position:
      end: 837
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 837
    functionName: getMetaTableInfoFromSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - taosArrayGet
    - metaDebug
    - metaDecodeEntry
    - taosHashGet
    - TAOS_GET_TERRNO
    - tstrncpy
    - MoveToPosition
    - metaError
    - tCloneSSchemaWrapper
    - taosArrayGetSize
    - tdbTbcGet
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getMetaTableInfoFromSnapshot(SSnapContext* ctx, SMetaTableInfo*
      result) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:72,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:80,1
    - Dst: metaDecodeEntryImpl
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:74,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - data
    - size
    - entry
    argTypes:
    - void*
    - int32_t
    - SMetaEntry*
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: metaDecodeEntryHeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - metaDecodeEntryImpl
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaDecodeEntryHeader(void* data, int32_t size, SMetaEntry*
      entry) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:269,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:270,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:272,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:278,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:276,1
    - Dst: tdbTbcMoveToPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:281,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:282,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSnapContext*
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: MoveToSnapShotVersion
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_GET_TERRNO
    - tdbTbcMoveTo
    - tdbTbcMoveToPrev
    - TD_VID
    - tdbTbcOpen
    - metaTrace
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t MoveToSnapShotVersion(SSnapContext* ctx) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:95,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:108,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:132,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:122,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:129,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:154,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:157,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:165,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:166,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:103,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:133,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:158,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:165,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:110,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:111,1
    - Dst: metaDecodeEntryHeader
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:120,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:122,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:123,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:130,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:155,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:158,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:101,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:99,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:104,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:139,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:143,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:152,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 2
    argNames:
    - pReader
    - ppData
    argTypes:
    - SMetaSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 169
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 169
    functionName: metaSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - TABS
    - taosMemoryMalloc
    - metaDebug
    - metaDecodeEntryHeader
    - tstrerror
    - tdbTbcMoveTo
    - TD_VID
    - metaError
    - tdbTbcOpen
    - tdbTbcMoveToNext
    - memcpy
    - metaTrace
    - tdbTbcClose
    - tdbTbcGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSnapRead(SMetaSnapReader* pReader, uint8_t** ppData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:289,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:298,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:292,1
    - Dst: tdbTbcMoveTo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:296,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:290,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - ver
    - uid
    argTypes:
    - SSnapContext*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 301
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 301
    functionName: MoveToPosition
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveTo
    - tdbTbcClose
    - TAOS_GET_TERRNO
    - tdbTbcOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t MoveToPosition(SSnapContext* ctx, int64_t ver, int64_t
      uid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:212,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:214,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:212,1
    - Dst: metaAbort
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:213,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:214,1
    - Dst: metaCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:218,1
    - Dst: metaFinishCommit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:223,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:229,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - ppWriter
    - rollback
    argTypes:
    - SMetaSnapWriter**
    - int8_t
    constantsTouched: []
    func_position:
      end: 231
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 231
    functionName: metaSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - metaInfo
    - metaFinishCommit
    - metaCommit
    - tstrerror
    - TD_VID
    - metaError
    - metaAbort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSnapWriterClose(SMetaSnapWriter** ppWriter, int8_t rollback) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:363,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:372,1
    - Dst: MoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:385,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:410,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:423,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:437,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:440,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:464,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:473,1
    - Dst: saveSuperTableInfoForChildTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:487,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:489,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:497,1
    - Dst: tdbTbcPrev
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:447,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:456,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:352,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:370,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:377,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:408,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:422,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:429,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:433,1
    - Dst: MoveToSnapShotVersion
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:442,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:463,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:467,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:458,1
    - Dst: TABLE_IS_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:479,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:365,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:368,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:375,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:384,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:390,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:400,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:407,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:411,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:428,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:432,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:496,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:504,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:363,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:368,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:395,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:416,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:430,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:436,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:451,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:466,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:480,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:493,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:508,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:513,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:501,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:503,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:499,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 153
    argCount: 6
    argNames:
    - pVnode
    - snapVersion
    - suid
    - subType
    - withMeta
    - ctxRet
    argTypes:
    - SVnode*
    - int64_t
    - int64_t
    - int8_t
    - int8_t
    - SSnapContext**
    constantsTouched: []
    func_position:
      end: 515
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 515
    functionName: buildSnapContext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosHashClear
    - TABLE_IS_VIRTUAL
    - taosMemoryCalloc
    - metaError
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    - tdbTbcPrev
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - MoveToSnapShotVersion
    - taosHashSetFreeFp
    - taosArrayGet
    - metaDebug
    - metaDecodeEntry
    - taosHashGet
    - TAOS_GET_TERRNO
    - tdbTbGet
    - tDecoderInit
    - tdbTbcNext
    - tdbFree
    - MoveToFirst
    - saveSuperTableInfoForChildTable
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSnapContext(SVnode* pVnode, int64_t snapVersion, int64_t
      suid, int8_t subType, int8_t withMeta, SSnapContext** ctxRet) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:529,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:535,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:531,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:534,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:540,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:542,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:546,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:548,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:552,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:552,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:557,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:558,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:563,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:553,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:554,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - req
    - pBuf
    - contLen
    argTypes:
    - SVCreateTbReq*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 565
    functionName: buildNormalChildTableInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tEncodeSVCreateTbBatchReq
    - taosArrayDestroy
    - TAOS_GET_TERRNO
    - taosArrayPush
    - POINTER_SHIFT
    - tEncodeSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildNormalChildTableInfo(SVCreateTbReq* req, void**
      pBuf, int32_t* contLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:184,1
    - Dst: metaBegin
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:192,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:193,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:197,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:186,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:198,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:201,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - pMeta
    - sver
    - ever
    - ppWriter
    argTypes:
    - SMeta*
    - int64_t
    - int64_t
    - SMetaSnapWriter**
    constantsTouched: []
    func_position:
      end: 205
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 205
    functionName: metaSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - metaDebug
    - metaBegin
    - tstrerror
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSnapWriterOpen(SMeta* pMeta, int64_t sver, int64_t ever,
      SMetaSnapWriter** ppWriter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:240,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:242,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:248,1
    - Dst: metaHandleSyncEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:244,1
    - Dst: metaDecodeEntry
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:241,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:248,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:248,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:250,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SMetaSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 252
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 252
    functionName: metaSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TSDB_CHECK_CODE
    - metaDecodeEntry
    - tstrerror
    - metaHandleSyncEntry
    - metaError
    - TD_VID
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaSnapWrite(SMetaSnapWriter* pWriter, uint8_t* pData, uint32_t
      nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:262,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:263,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: destroySTableInfoForChildTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDeleteSchemaWrapper
    linkageType: ''
    returnType: void
    signature: 'static void destroySTableInfoForChildTable(void* data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:518,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:522,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:519,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:521,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - SSnapContext*
    constantsTouched: []
    func_position:
      end: 523
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 523
    functionName: destroySnapContext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tdbTbcClose
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroySnapContext(SSnapContext* ctx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:569,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:575,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:571,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:581,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:577,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:581,1
    - Dst: tEncodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:582,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:583,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:585,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - req
    - pBuf
    - contLen
    argTypes:
    - SVCreateStbReq*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 589
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 589
    functionName: buildSuperTableInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaSnapshot.c
    functionUses: []
    functionsReached:
    - tEncodeSVCreateStbReq
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - TAOS_GET_TERRNO
    - POINTER_SHIFT
    - tEncodeSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSuperTableInfo(SVCreateStbReq* req, void** pBuf,
      int32_t* contLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbOsFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:61,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:70,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:70,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:72,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:89,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:59,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:75,1
    - Dst: ttlMgrFillCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:78,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:76,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:85,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:50,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:58,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:56,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:62,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:64,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:68,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:76,1
    - Dst: ttlMgrCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:80,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:84,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:86,1
    - Dst: tdbOsCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:55,1
    - Dst: tdbOsFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:71,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:75,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:79,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 5
    argNames:
    - ppTtlMgr
    - pEnv
    - rollback
    - logPrefix
    - flushThreshold
    argTypes:
    - STtlManger**
    - TDB*
    - int8_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 90
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 90
    functionName: ttlMgrOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrCleanup
    - tdbTbOpen
    - metaInfo
    - ttlMgrFillCache
    - taosGetTimestampNs
    - tstrncpy
    - tdbOsFree
    - strlen
    - tstrerror
    - TAOS_RETURN
    - taosHashGetSize
    - metaError
    - taosGetDefaultHashFunction
    - tdbOsCalloc
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrOpen(STtlManger **ppTtlMgr, TDB *pEnv, int8_t rollback,
      const char *logPrefix, int32_t flushThreshold) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:145,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:149,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:148,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:147,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pTtlMgr
    argTypes:
    - STtlManger*
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: ttlMgrCleanup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - tdbTbClose
    - taosMemoryFree
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void ttlMgrCleanup(STtlManger *pTtlMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbTraversal
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTtlMgr
    argTypes:
    - STtlManger*
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: ttlMgrFillCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - tdbTbTraversal
    linkageType: ''
    returnType: int
    signature: 'static int ttlMgrFillCache(STtlManger *pTtlMgr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTtlMgr
    argTypes:
    - STtlManger*
    constantsTouched: []
    func_position:
      end: 92
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 92
    functionName: ttlMgrClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrCleanup
    linkageType: ''
    returnType: void
    signature: 'void ttlMgrClose(STtlManger *pTtlMgr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - pTtlKey
    - ttlDays
    - changeTimeMs
    - uid
    argTypes:
    - STtlIdxKeyV1*
    - int64_t
    - int64_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: ttlMgrBuildKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void ttlMgrBuildKey(STtlIdxKeyV1 *pTtlKey, int64_t ttlDays,
      int64_t changeTimeMs, tb_uid_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - pKey
    - keyLen
    - pVal
    - valLen
    - pTtlCache
    argTypes:
    - void*
    - int
    - void*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: ttlMgrFillCacheOneEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ttlMgrFillCacheOneEntry(const void *pKey, int keyLen,
      const void *pVal, int valLen, void *pTtlCache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaGetTableTtlByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:223,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:224,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:231,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:231,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:238,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - pKey
    - keyLen
    - pVal
    - valLen
    - pConvertData
    argTypes:
    - void*
    - int
    - void*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: ttlMgrConvertOneEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - tstrerror
    - metaGetTableTtlByUid
    - tdbTbUpsert
    - metaError
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ttlMgrConvertOneEntry(const void *pKey, int keyLen,
      const void *pVal, int valLen, void *pConvertData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:277,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:277,1
    - Dst: tdbTbTraversal
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:276,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:280,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pOldTtlIdx
    - pNewTtlIdx
    - pMeta
    argTypes:
    - TTB*
    - TTB*
    - void*
    constantsTouched: []
    func_position:
      end: 282
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 282
    functionName: ttlMgrConvert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - metaInfo
    - tstrerror
    - tdbTbTraversal
    - TAOS_RETURN
    - metaError
    linkageType: ''
    returnType: int
    signature: 'static int ttlMgrConvert(TTB *pOldTtlIdx, TTB *pNewTtlIdx, void *pMeta) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttlIdxKeyV1Cmpr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:246,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:249,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:248,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 5
    argNames:
    - pKey
    - keyLen
    - pVal
    - valLen
    - pExpiredCtx
    argTypes:
    - void*
    - int
    - void*
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 256
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 256
    functionName: ttlMgrFindExpiredOneEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosArrayPush
    - metaError
    - ttlIdxKeyV1Cmpr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ttlMgrFindExpiredOneEntry(const void *pKey, int keyLen,
      const void *pVal, int valLen, void *pExpiredCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:293,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:295,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:299,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:295,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:301,1
    - Dst: ttlMgrNeedFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:305,1
    - Dst: ttlMgrFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:306,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:318,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:315,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - pTtlMgr
    - updCtx
    argTypes:
    - STtlManger*
    - STtlUpdTtlCtx*
    constantsTouched: []
    func_position:
      end: 319
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: ttlMgrInsertTtl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrFlush
    - tstrerror
    - ttlMgrNeedFlush
    - TAOS_RETURN
    - metaError
    - taosHashPut
    - metaTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrInsertTtl(STtlManger *pTtlMgr, const STtlUpdTtlCtx *updCtx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbExist
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:95,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pEnv
    argTypes:
    - TDB*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: ttlMgrNeedUpgrade
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - metaInfo
    - tdbTbExist
    linkageType: ''
    returnType: bool
    signature: 'bool ttlMgrNeedUpgrade(TDB *pEnv) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: ttlIdxKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ttlIdxKeyCmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:326,1
    - Dst: ttlMgrFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:328,1
    - Dst: ttlMgrNeedFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:332,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:328,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:335,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:343,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pTtlMgr
    - delCtx
    argTypes:
    - STtlManger*
    - STtlDelTtlCtx*
    constantsTouched: []
    func_position:
      end: 344
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 344
    functionName: ttlMgrDeleteTtl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrFlush
    - tstrerror
    - ttlMgrNeedFlush
    - TAOS_RETURN
    - metaError
    - taosHashPut
    - metaTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrDeleteTtl(STtlManger *pTtlMgr, const STtlDelTtlCtx *delCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbExist
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:106,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:110,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:141,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:119,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:119,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:124,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:124,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:106,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:133,1
    - Dst: ttlMgrFillCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:128,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:134,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:138,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:112,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:114,1
    - Dst: ttlMgrConvert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:118,1
    - Dst: tdbTbDropByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:123,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 2
    argNames:
    - pTtlMgr
    - pMeta
    argTypes:
    - STtlManger*
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 142
    functionName: ttlMgrUpgrade
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - tdbTbOpen
    - metaInfo
    - ttlMgrFillCache
    - ttlMgrConvert
    - taosGetTimestampNs
    - tdbTbExist
    - taosHashGetSize
    - tstrerror
    - tdbTbClose
    - TAOS_RETURN
    - metaError
    - tdbTbDropByName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrUpgrade(STtlManger *pTtlMgr, void *pMeta) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - pKey1
    - kLen1
    - pKey2
    - kLen2
    argTypes:
    - void*
    - int
    - void*
    - int
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: ttlIdxKeyV1Cmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int ttlIdxKeyV1Cmpr(const void *pKey1, int kLen1, const void
      *pKey2, int kLen2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:363,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:361,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:363,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:367,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:370,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:370,1
    - Dst: ttlMgrNeedFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:374,1
    - Dst: ttlMgrFlush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:375,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:377,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:377,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:386,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - pTtlMgr
    - pUpdCtimeCtx
    argTypes:
    - STtlManger*
    - STtlUpdCtimeCtx*
    constantsTouched: []
    func_position:
      end: 387
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 387
    functionName: ttlMgrUpdateChangeTime
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrFlush
    - taosHashGet
    - tstrerror
    - ttlMgrNeedFlush
    - TAOS_RETURN
    - metaError
    - taosHashPut
    - metaTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrUpdateChangeTime(STtlManger *pTtlMgr, const STtlUpdCtimeCtx
      *pUpdCtimeCtx) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ttlMgrBuildKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:441,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:472,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:482,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:504,1
    - Dst: ttlMgrBuildKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:438,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:450,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:462,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:460,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:462,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:468,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:480,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:487,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:418,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:421,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:428,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:453,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:466,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:453,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:477,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:499,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:501,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:426,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:430,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:432,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:447,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:447,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:476,1
    - Dst: metaDebug
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:478,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:490,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:502,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 74
    argCount: 2
    argNames:
    - pTtlMgr
    - pTxn
    argTypes:
    - STtlManger*
    - TXN*
    constantsTouched: []
    func_position:
      end: 505
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 505
    functionName: ttlMgrFlush
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - ttlMgrBuildKey
    - taosHashClear
    - metaDebug
    - taosHashIterate
    - taosGetTimestampNs
    - taosHashGet
    - taosHashGetSize
    - tstrerror
    - taosHashRemove
    - taosHashGetKey
    - tdbTbUpsert
    - metaError
    - taosHashCancelIterate
    - TAOS_RETURN
    - metaTrace
    - tdbTbDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrFlush(STtlManger *pTtlMgr, TXN *pTxn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:395,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:400,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:399,1
    - Dst: tdbTbTraversal
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:395,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:402,1
    - Dst: taosArrayPopTailBatch
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:407,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 4
    argNames:
    - pTtlMgr
    - timePointMs
    - pTbUids
    - ttlDropMaxCount
    argTypes:
    - STtlManger*
    - int64_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 411
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 411
    functionName: ttlMgrFindExpired
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - taosArraySet
    - taosHashGet
    - taosArrayPopTailBatch
    - tdbTbTraversal
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ttlMgrFindExpired(STtlManger *pTtlMgr, int64_t timePointMs,
      SArray *pTbUids, int32_t ttlDropMaxCount) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c:414,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pTtlMgr
    argTypes:
    - STtlManger*
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: ttlMgrNeedFlush
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTtl.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool ttlMgrNeedFlush(STtlManger *pTtlMgr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1970,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1977,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1979,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1986,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2008,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1999,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2019,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2033,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2035,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2039,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2060,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2053,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1979,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1981,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2034,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2036,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2037,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2039,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2045,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2061,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2062,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2045,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1998,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1996,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1994,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1997,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2020,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2046,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2054,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1972,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1985,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1988,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2016,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2017,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2018,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2031,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2055,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 2063
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 2063
    functionName: metaRemoveTableColumnRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByUid
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - metaInfo
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - metaError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaRemoveTableColumnRef(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2069,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2075,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2093,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2090,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2113,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2119,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2150,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2159,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2161,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2162,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2170,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2174,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2071,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2069,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2083,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2092,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2085,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2122,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2141,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2143,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2147,1
    - Dst: SSCHMEA_SET_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2149,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2175,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2177,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2172,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2181,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2068,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2077,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2083,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2110,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2112,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2094,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2140,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2147,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2153,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2182,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2177,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2152,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2154,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2077,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2079,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2086,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2110,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2117,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2121,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2142,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2144,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2150,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2151,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2172,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2173,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 2183
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2183
    functionName: metaAddIndexToSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByName
    - metaHandleEntry2
    - IS_IDX_ON
    - metaFetchEntryFree
    - strncmp
    - metaInfo
    - tstrerror
    - strlen
    - TAOS_RETURN
    - SSCHMEA_SET_IDX_ON
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAddIndexToSuperTable(SMeta *pMeta, int64_t version, SVCreateStbReq
      *pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:265,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:292,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:293,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:299,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:305,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:309,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:340,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:250,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:258,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:258,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:333,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:337,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:252,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:252,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:260,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:262,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:271,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:298,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:300,1
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:322,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:250,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:263,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:278,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:280,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:290,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:272,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:307,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:324,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:326,1
    - Dst: metaTbInFilterCache
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:336,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 344
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 344
    functionName: metaCheckCreateChildTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByName
    - tTagGet
    - tdbFreeClear
    - metaFetchEntryFree
    - metaTbInFilterCache
    - tstrerror
    - strlen
    - TD_VID
    - metaError
    - tdbTbGet
    - grantCheck
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckCreateChildTableReq(SMeta *pMeta, int64_t
      version, SVCreateTbReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckDropSuperTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:219,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:221,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:230,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:233,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:235,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:235,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pMeta
    - verison
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVDropStbReq*
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: metaDropSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaCheckDropSuperTableReq
    - metaInfo
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropSuperTable(SMeta *pMeta, int64_t verison, SVDropStbReq
      *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckCreateNormalTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:479,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:483,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:482,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:485,1
    - Dst: TABLE_SET_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:502,1
    - Dst: metaBuildCreateNormalTableRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:505,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:507,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:508,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:514,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:518,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:512,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:517,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:514,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:520,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:517,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - ppRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 521
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 521
    functionName: metaCreateNormalTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaInfo
    - metaCheckCreateNormalTableReq
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    - TABLE_SET_COL_COMPRESSED
    - metaBuildCreateNormalTableRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCreateNormalTable(SMeta *pMeta, int64_t version,
      SVCreateTbReq *pReq, STableMetaRsp **ppRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckCreateNormalTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:546,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:549,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:549,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:550,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:552,1
    - Dst: metaBuildCreateVirtualNormalTableRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:569,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:571,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:571,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:572,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:576,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:581,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:584,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:578,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:582,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:581,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:578,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - ppRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 588
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 588
    functionName: metaCreateVirtualNormalTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaTimeSeriesNotifyCheck
    - metaInfo
    - metaCheckCreateNormalTableReq
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    - metaBuildCreateVirtualNormalTableRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCreateVirtualNormalTable(SMeta *pMeta, int64_t
      version, SVCreateTbReq *pReq, STableMetaRsp **ppRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckDropTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:688,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:685,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:685,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:693,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:693,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:694,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:695,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:716,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:721,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:718,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:721,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:718,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVDropTbReq*
    constantsTouched: []
    func_position:
      end: 725
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 725
    functionName: metaDropTable2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaInfo
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    - metaCheckDropTableReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropTable2(SMeta *pMeta, int64_t version, SVDropTbReq
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:530,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:537,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - ppRsp
    argTypes:
    - SMeta*
    - SMetaEntry*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 542
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 542
    functionName: metaBuildCreateVirtualNormalTableRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - metaUpdateVtbMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBuildCreateVirtualNormalTableRsp(SMeta *pMeta,
      SMetaEntry *pEntry, STableMetaRsp **ppRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:597,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:602,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:604,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - ppRsp
    argTypes:
    - SMeta*
    - SMetaEntry*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 610
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 610
    functionName: metaBuildCreateVirtualChildTableRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - metaUpdateVtbMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBuildCreateVirtualChildTableRsp(SMeta *pMeta, SMetaEntry
      *pEntry, STableMetaRsp **ppRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:731,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:733,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:747,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:754,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:756,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:730,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:762,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:760,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:768,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:772,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:739,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:739,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:741,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:744,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:751,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:752,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:768,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:731,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:741,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:759,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:766,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:769,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:770,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 773
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 773
    functionName: metaCheckAlterTableColumnReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFreeClear
    - tstrerror
    - strlen
    - TAOS_RETURN
    - TD_VID
    - metaError
    - tdbTbGet
    - grantCheck
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckAlterTableColumnReq(SMeta *pMeta, int64_t
      version, SVAlterTbReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:422,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:429,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:423,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:423,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:429,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:432,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:437,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:439,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:439,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 443
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 443
    functionName: metaCheckCreateNormalTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFree
    - tstrerror
    - strlen
    - TD_VID
    - metaError
    - tdbTbGet
    - grantCheck
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckCreateNormalTableReq(SMeta *pMeta, int64_t
      version, SVCreateTbReq *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1311,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1317,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1309,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1309,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1317,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1319,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1319,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1322,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1324,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1326,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1327
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1327
    functionName: metaCheckUpdateTableTagValReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFreeClear
    - strlen
    - TAOS_RETURN
    - TD_VID
    - metaError
    - tdbTbGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckUpdateTableTagValReq(SMeta *pMeta, int64_t
      version, SVAlterTbReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1477,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1478,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1480,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1486,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1478,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1486,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1488,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1488,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1491,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1493,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1495,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1496,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1496,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1498,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1502
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1502
    functionName: metaCheckUpdateTableMultiTagValueReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFreeClear
    - strlen
    - TAOS_RETURN
    - TD_VID
    - metaError
    - tdbTbGet
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckUpdateTableMultiTagValueReq(SMeta *pMeta,
      int64_t version, SVAlterTbReq *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1674,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1675,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1675,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1681
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1681
    functionName: metaCheckUpdateTableOptionsReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - strlen
    - TAOS_RETURN
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckUpdateTableOptionsReq(SMeta *pMeta, int64_t
      version, SVAlterTbReq *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1781,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1815,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1788,1
    - Dst: tUpdateCompress
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1805,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1792,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1830,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1832,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1842,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1777,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1771,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1795,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1816,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1817,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1832,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1834,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1771,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1773,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1779,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1785,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1787,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1821,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1833,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1837,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1841,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1770,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1779,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1786,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1792,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1794,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1818,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1822,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1823,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1824,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1835,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1837,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1843
      start: 1767
    functionDepth: 0
    functionLinenumber: 1767
    functionLinenumberEnd: 1843
    functionName: metaUpdateTableColCompress2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - metaInfo
    - tstrerror
    - strlen
    - tUpdateCompress
    - TAOS_RETURN
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpdateTableColCompress2(SMeta *pMeta, int64_t version,
      SVAlterTbReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:452,1
    - Dst: metaUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:457,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - ppRsp
    argTypes:
    - SMeta*
    - SMetaEntry*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 473
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 473
    functionName: metaBuildCreateNormalTableRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - metaUpdateMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBuildCreateNormalTableRsp(SMeta *pMeta, SMetaEntry
      *pEntry, STableMetaRsp **ppRsp) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1351,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1377,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1379,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1361,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1396,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1402,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1404,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1402,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1430,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1435,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1450,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1469,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1419,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1457,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1463,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1461,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1470,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1468,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1335,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1356,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1380,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1387,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1389,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1403,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1405,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1430,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1434,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1432,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1444,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1458,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1423,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1442,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1447,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1463,1
    - Dst: metaCheckUpdateTableTagValReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1333,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1342,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1340,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1348,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1350,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1360,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1359,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1358,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1389,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1391,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1429,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1457,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1442,1
    - Dst: tTagNew
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1440,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1344,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1349,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1369,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1377,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1390,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1392,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1400,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1406,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1443,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1445,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1449,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1455,1
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1431,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1446,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1459,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 118
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1471
    functionName: metaUpdateTableTagValue
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - taosMemoryFree
    - metaHandleEntry2
    - tTagGet
    - metaFetchEntryFree
    - taosMemoryRealloc
    - metaError
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    - metaCheckUpdateTableTagValReq
    - taosArrayDestroy
    - metaInfo
    - taosArrayPush
    - memcpy
    - metaFetchEntryByName
    - strncmp
    - TD_VID
    - tTagNew
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpdateTableTagValue(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1514,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1516,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1593,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1631,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1562,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1557,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1629,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1606,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1661,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1566,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1583,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1578,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1568,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1639,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1627,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1606,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1643,1
    - Dst: metaCheckUpdateTableMultiTagValueReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1507,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1556,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1655,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1567,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1641,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1522,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1542,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1535,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1626,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1630,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1645,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1626,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1546,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1561,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1565,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1625,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1667,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1532,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1553,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1647,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1648,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1654,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1661,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1665,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1523,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1545,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1579,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1590,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1617,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1642,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1656,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1574,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1516,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1518,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1551,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1595,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1640,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1597,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1582,1
    - Dst: tTagNew
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1637,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1564,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1592,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1652,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1657,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1592,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1579,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1525,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1533,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1554,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1562,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1563,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1594,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1639,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1581,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1621,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1666,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1668,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1574,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1524,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1544,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1563,1
    - Dst: tTagGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1608,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1658,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1542,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1654,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1509,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1628,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1584,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1632,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1534,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1551,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1555,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1560,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1644,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 143
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1669
      start: 1504
    functionDepth: 0
    functionLinenumber: 1504
    functionLinenumberEnd: 1669
    functionName: metaUpdateTableMultiTagValue
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - taosMemoryFree
    - metaHandleEntry2
    - tTagGet
    - metaFetchEntryFree
    - metaError
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayInit
    - taosHashCleanup
    - taosHashInit
    - taosArrayDestroy
    - metaInfo
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - memcpy
    - metaCheckUpdateTableMultiTagValueReq
    - metaFetchEntryByName
    - taosArrayGet
    - taosHashGet
    - TD_VID
    - tTagNew
    - taosHashGetSize
    - tstrerror
    - strlen
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpdateTableMultiTagValue(SMeta *pMeta, int64_t version,
      SVAlterTbReq *pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1711,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1718,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1713,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1739,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1745,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1747,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1755,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1764,1
    - Dst: metaCheckUpdateTableOptionsReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1688,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1711,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1712,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1732,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1745,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1754,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1763,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1695,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1693,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1709,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1734,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1716,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1730,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1714,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1732,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1735,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1737,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1752,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1759,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1733,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1754,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1756,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1757,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1759,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1748,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    constantsTouched: []
    func_position:
      end: 1765
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1765
    functionName: metaUpdateTableOptions2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - metaInfo
    - taosMemoryRealloc
    - tstrerror
    - taosMemoryFreeClear
    - TAOS_RETURN
    - TD_VID
    - metaError
    - memcpy
    - metaCheckUpdateTableOptionsReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaUpdateTableOptions2(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1875,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1925,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1914,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1935,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1937,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1946,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1956,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1934,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1896,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1855,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1861,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1867,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1877,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1885,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1883,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1918,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1947,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1961,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1932,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1894,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1963,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1906,1
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1849,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1855,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1857,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1861,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1863,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1867,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1877,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1884,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1869,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1892,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1940,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1938,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1851,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1886,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1879,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1915,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1917,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1934,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1936,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1945,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1946,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1954,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1895,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1916,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1927,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1955,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1964
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1964
    functionName: metaAlterTableColumnRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByUid
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - metaInfo
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAlterTableColumnRef(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaCreateChildTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:665,1
    - Dst: metaCreateNormalTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:667,1
    - Dst: metaCreateVirtualNormalTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:669,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:675,1
    - Dst: metaCreateVirtualChildTable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:671,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - ppRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 676
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 676
    functionName: metaCreateTable2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaCreateVirtualChildTable
    - metaCreateChildTable
    - metaCreateVirtualNormalTable
    - TAOS_RETURN
    - metaCreateNormalTable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCreateTable2(SMeta *pMeta, int64_t version, SVCreateTbReq
      *pReq, STableMetaRsp **ppRsp) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:29,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:41,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:35,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:41,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:36,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:44,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:47,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:53,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:54,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:63,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:72,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:71,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 78
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 78
    functionName: metaCheckCreateSuperTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFree
    - strlen
    - metaError
    - TD_VID
    - tdbTbGet
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckCreateSuperTableReq(SMeta *pMeta, int64_t
      version, SVCreateStbReq *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckCreateSuperTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:167,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:172,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:170,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:174,1
    - Dst: metaWarn
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:170,1
    - Dst: TABLE_SET_ROLLUP
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:189,1
    - Dst: TABLE_SET_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:193,1
    - Dst: TABLE_SET_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:200,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:203,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:205,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:209,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:211,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:205,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:208,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: metaCreateSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - TABLE_SET_VIRTUAL
    - metaInfo
    - TABLE_SET_ROLLUP
    - metaWarn
    - metaCheckCreateSuperTableReq
    - TAOS_RETURN
    - tstrerror
    - TD_VID
    - metaError
    - TABLE_SET_COL_COMPRESSED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaCreateSuperTable(SMeta *pMeta, int64_t version, SVCreateStbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:353,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMeta
    - pEntry
    - ppRsp
    argTypes:
    - SMeta*
    - SMetaEntry*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 364
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 364
    functionName: metaBuildCreateChildTableRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaBuildCreateChildTableRsp(SMeta *pMeta, const SMetaEntry
      *pEntry, STableMetaRsp **ppRsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckCreateChildTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:614,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:620,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:617,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:618,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:617,1
    - Dst: metaBuildCreateVirtualChildTableRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:637,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:639,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:640,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:644,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:646,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:649,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:650,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:652,1
    - Dst: metaTimeSeriesNotifyCheck
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:654,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:649,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - ppRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 656
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 656
    functionName: metaCreateVirtualChildTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaCheckCreateChildTableReq
    - metaTimeSeriesNotifyCheck
    - metaInfo
    - tstrerror
    - TAOS_RETURN
    - metaBuildCreateVirtualChildTableRsp
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCreateVirtualChildTable(SMeta *pMeta, int64_t version,
      SVCreateTbReq *pReq, STableMetaRsp **ppRsp) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:788,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:793,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:795,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:817,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:819,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:807,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:825,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:827,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:855,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:869,1
    - Dst: addTableExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:874,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:883,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:924,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:886,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:879,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:904,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:876,1
    - Dst: updataTableColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:866,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:794,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:810,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:811,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:808,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:826,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:839,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:849,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:857,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:862,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:896,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:887,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:913,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:897,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:890,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:781,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:790,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:796,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:820,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:809,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:828,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:854,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:868,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:876,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:885,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:888,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:895,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:906,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:877,1
    - Dst: metaUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:911,1
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:779,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:786,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:788,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:817,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:825,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:848,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:850,1
    - Dst: updataTableColRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:852,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:854,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:856,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:890,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:905,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:870,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:896,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:912,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:912,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:878,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:871,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:923,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:868,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:885,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 140
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 925
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 925
    functionName: metaAddTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - metaInfo
    - taosMemoryRealloc
    - addTableExtSchema
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - createDefaultColCmprByType
    - updataTableColCmpr
    - TAOS_RETURN
    - metaError
    - TD_VID
    - metaUpdateMetaRsp
    - updataTableColRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAddTableColumn(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1102,1
    - Dst: tqCheckColModifiable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1127,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1124,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1136,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1142,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1153,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1155,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1087,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1094,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1096,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1103,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1128,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1130,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1142,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1144,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1154,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1162,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1083,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1087,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1098,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1123,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1121,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1105,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1143,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1147,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1170,1
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1081,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1089,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1113,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1122,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1145,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1147,1
    - Dst: metaUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1171,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1182,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1181,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1164,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1163,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1170,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1183
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1183
    functionName: metaAlterTableColumnName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - tqCheckColModifiable
    - metaInfo
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - metaError
    - metaUpdateMetaRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAlterTableColumnName(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2190,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2191,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2197,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2199,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2203,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2205,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2221,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2211,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2223,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2225,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2255,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2235,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2214,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2222,1
    - Dst: SSCHMEA_SET_IDX_OFF
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2229,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2236,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2246,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2248,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2249,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2251,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2251,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2206,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2226,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2247,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2256,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2189,1
    - Dst: metaFetchEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2195,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2197,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2211,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2213,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2203,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2224,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2244,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2237,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SDropIndexReq*
    constantsTouched: []
    func_position:
      end: 2257
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2257
    functionName: metaDropIndexFromSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByUid
    - metaHandleEntry2
    - IS_IDX_ON
    - metaFetchEntryFree
    - strncmp
    - metaInfo
    - tstrerror
    - strlen
    - TAOS_RETURN
    - TD_VID
    - metaError
    - SSCHMEA_SET_IDX_OFF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropIndexFromSuperTable(SMeta *pMeta, int64_t version,
      SDropIndexReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:86,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:92,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:87,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:92,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:87,1
    - Dst: metaTrace
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:95,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:95,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:98,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:98,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:104,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:110,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:106,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVDropTbReq*
    constantsTouched: []
    func_position:
      end: 117
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 117
    functionName: metaCheckDropTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFreeClear
    - strlen
    - TD_VID
    - metaError
    - tdbTbGet
    - metaTrace
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckDropTableReq(SMeta *pMeta, int64_t version,
      SVDropTbReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckCreateChildTableReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:370,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:373,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:374,1
    - Dst: metaBuildCreateChildTableRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:393,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:395,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:395,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:396,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:400,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:402,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:403,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:406,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:406,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - ppRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateTbReq*
    - STableMetaRsp**
    constantsTouched: []
    func_position:
      end: 410
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 410
    functionName: metaCreateChildTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - metaCheckCreateChildTableReq
    - metaInfo
    - tstrerror
    - metaBuildCreateChildTableRsp
    - TD_VID
    - metaError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCreateChildTable(SMeta *pMeta, int64_t version,
      SVCreateTbReq *pReq, STableMetaRsp **ppRsp) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:931,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:974,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:966,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:972,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:959,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:979,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:999,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1005,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1013,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1016,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1019,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1046,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1011,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1074,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1026,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1037,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:946,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:948,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:968,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:972,1
    - Dst: updataTableColRef
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:994,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:996,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1002,1
    - Dst: updataTableColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1008,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1010,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1016,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1035,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1027,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1054,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1056,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1062,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1046,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1039,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:938,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:940,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:947,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:975,1
    - Dst: tqCheckColModifiable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:978,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:989,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:996,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:998,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1002,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1004,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1012,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1063,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1047,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1028,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1045,1
    - Dst: metaUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1061,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1010,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:933,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:940,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:949,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:965,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:967,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:979,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:981,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:982,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:997,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1018,1
    - Dst: dropTableExtSchema
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1024,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1035,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1033,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1039,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1073,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1029,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1026,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1036,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1055,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 135
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1075
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 1075
    functionName: metaDropTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByName
    - dropTableExtSchema
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - tqCheckColModifiable
    - metaInfo
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - updataTableColCmpr
    - TAOS_RETURN
    - metaError
    - TD_VID
    - memmove
    - metaUpdateMetaRsp
    - updataTableColRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropTableColumn(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1191,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1200,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1207,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1234,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1231,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1225,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1216,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1239,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1246,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1249,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1262,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1281,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1273,1
    - Dst: metaCheckAlterTableColumnReq
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1189,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1196,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1227,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1264,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1266,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1283,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1274,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1198,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1204,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1206,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1235,1
    - Dst: tqCheckColModifiable
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1238,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1250,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1259,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1261,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1266,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1300,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1282,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1301,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1289,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1198,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1205,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1226,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1224,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1239,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1241,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1242,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1246,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1261,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1263,1
    - Dst: metaUpdateMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1288,1
    - Dst: metaUpdateVtbMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:1272,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 99
    argCount: 4
    argNames:
    - pMeta
    - version
    - pReq
    - pRsp
    argTypes:
    - SMeta*
    - int64_t
    - SVAlterTbReq*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 1302
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1302
    functionName: metaAlterTableColumnBytes
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaUpdateVtbMetaRsp
    - metaFetchEntryByName
    - metaHandleEntry2
    - metaFetchEntryFree
    - strncmp
    - tqCheckColModifiable
    - metaInfo
    - metaCheckAlterTableColumnReq
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - metaError
    - TD_VID
    - metaUpdateMetaRsp
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAlterTableColumnBytes(SMeta *pMeta, int64_t version, SVAlterTbReq
      *pReq, STableMetaRsp *pRsp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2265,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2271,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2277,1
    - Dst: TABLE_SET_COL_COMPRESSED
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2294,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2279,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2305,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2307,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2262,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2271,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2277,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2312,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2273,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2280,1
    - Dst: TABLE_SET_VIRTUAL
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2296,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2302,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2304,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2263,1
    - Dst: metaFetchEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2269,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2300,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2303,1
    - Dst: metaInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2307,1
    - Dst: metaFetchEntryFree
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2311,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 2313
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2313
    functionName: metaAlterSuperTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaFetchEntryByName
    - metaHandleEntry2
    - TABLE_SET_VIRTUAL
    - metaFetchEntryFree
    - metaInfo
    - tstrerror
    - strlen
    - TAOS_RETURN
    - TD_VID
    - metaError
    - TABLE_SET_COL_COMPRESSED
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaAlterSuperTable(SMeta *pMeta, int64_t version, SVCreateStbReq
      *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2323,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2325,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2327,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2322,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2327,1
    - Dst: metaHandleEntry2
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2344,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2346,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:2347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - version
    - uidArray
    argTypes:
    - SMeta*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2352
    functionName: metaDropMultipleTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - metaHandleEntry2
    - taosArrayGet
    - tstrerror
    - TD_VID
    - metaError
    - taosArrayGetSize
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t metaDropMultipleTables(SMeta *pMeta, int64_t version, SArray
      *uidArray) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:125,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:131,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:126,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:126,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:131,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:133,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:133,1
    - Dst: tdbFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:138,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:141,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:142,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:147,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:155,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:151,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:156,1
    - Dst: metaError
      Src: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c:149,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - pMeta
    - version
    - pReq
    argTypes:
    - SMeta*
    - int64_t
    - SVDropStbReq*
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: metaCheckDropSuperTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/meta/metaTable2.c
    functionUses: []
    functionsReached:
    - tdbFreeClear
    - strlen
    - TD_VID
    - metaError
    - tdbTbGet
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t metaCheckDropSuperTableReq(SMeta *pMeta, int64_t version,
      SVDropStbReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdRSmaGetDirName
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:19,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:20,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - pVnode
    - suid
    - level
    - pTfs
    - outputName
    argTypes:
    - SVnode*
    - tb_uid_t
    - int8_t
    - STfs*
    - char*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: tdRSmaQTaskInfoGetFullPath
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c
    functionUses: []
    functionsReached:
    - tdRSmaGetDirName
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void tdRSmaQTaskInfoGetFullPath(SVnode *pVnode, tb_uid_t suid, int8_t
      level, STfs *pTfs, char *outputName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:40,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:42,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:46,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:42,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - rsetId
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: tdReleaseSmaRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c
    functionUses: []
    functionsReached:
    - tstrerror
    - taosReleaseRef
    - TAOS_RETURN
    - smaWarn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdReleaseSmaRef(int32_t rsetId, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:28,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:32,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - pVnode
    - pTfs
    - endWithSep
    - outputName
    argTypes:
    - SVnode*
    - STfs*
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 34
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 34
    functionName: tdRSmaGetDirName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void tdRSmaGetDirName(SVnode *pVnode, STfs *pTfs, bool endWithSep,
      char *outputName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - rsetId
    - refId
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: tdAcquireSmaRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaUtil.c
    functionUses: []
    functionsReached:
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void *tdAcquireSmaRef(int32_t rsetId, int64_t refId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessRSmaAsyncPreCommitImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: smaPreClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tdProcessRSmaAsyncPreCommitImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaPreClose(SSma *pSma) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessRSmaAsyncCommitImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSma
    - pInfo
    argTypes:
    - SSma*
    - SCommitInfo*
    constantsTouched: []
    func_position:
      end: 46
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 46
    functionName: smaCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tdProcessRSmaAsyncCommitImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaCommit(SSma *pSma, SCommitInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessRSmaAsyncPostCommitImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: smaPostCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tdProcessRSmaAsyncPostCommitImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaPostCommit(SSma *pSma) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:110,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:111,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:113,1
    - Dst: tsdbCommitCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:110,1
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:110,1
    - Dst: tsdbCommitCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:113,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:113,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:114,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:118,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:118,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:120,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 121
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 121
    functionName: smaFinishCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - smaError
    - VND_RSMA1
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCommitCommit
    - VND_RSMA2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaFinishCommit(SSma *pSma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:137,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:147,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:147,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:156,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:170,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:176,1
    - Dst: tsdbPreCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:191,1
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:190,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:201,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:203,1
    - Dst: RSMA_COMMIT_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:149,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:173,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:176,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:176,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:180,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:186,1
    - Dst: tsdbPreCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:195,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:196,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:186,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:142,1
    - Dst: SMA_STAT_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:143,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:149,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:157,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:157,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:171,1
    - Dst: TD_SMA_LOOPS_CHECK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:162,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:160,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:181,1
    - Dst: tdRSmaPersistExecImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:183,1
    - Dst: TD_SMA_LOOPS_CHECK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:150,1
    - Dst: TD_SMA_LOOPS_CHECK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:174,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:170,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:160,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:183,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:184,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:186,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:194,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:201,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:201,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - pSma
    - isCommit
    argTypes:
    - SSma*
    - bool
    constantsTouched: []
    func_position:
      end: 204
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 204
    functionName: tdProcessRSmaAsyncPreCommitImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tdRSmaPersistExecImpl
    - atomic_load_64
    - SMA_VID
    - smaError
    - smaInfo
    - SMA_RSMA_ENV
    - atomic_val_compare_exchange_8
    - RSMA_COMMIT_STAT
    - SMA_STAT_RSMA
    - SMA_ENV_STAT
    - smaDebug
    - VND_RSMA2
    - RSMA_INFO_HASH
    - TSDB_CHECK_CODE
    - atomic_store_8
    - VND_RSMA1
    - RSMA_TRIGGER_STAT
    - TD_SMA_LOOPS_CHECK
    - taosGetSelfPthreadId
    - tsdbPreCommit
    - atomic_load_32
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessRSmaAsyncPreCommitImpl(SSma *pSma, bool isCommit) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:218,1
    - Dst: tsdbCommitBegin
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:220,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:221,1
    - Dst: tsdbCommitBegin
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:223,1
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:220,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:223,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:224,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:228,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:228,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:230,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pSma
    - pInfo
    argTypes:
    - SSma*
    - SCommitInfo*
    constantsTouched: []
    func_position:
      end: 231
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 231
    functionName: tdProcessRSmaAsyncCommitImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - smaError
    - VND_RSMA1
    - tsdbCommitBegin
    - SMA_RSMA_ENV
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - VND_RSMA2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessRSmaAsyncCommitImpl(SSma *pSma, SCommitInfo
      *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessRSmaAsyncPreCommitImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: smaPrepareAsyncCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tdProcessRSmaAsyncPreCommitImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaPrepareAsyncCommit(SSma *pSma) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:66,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:72,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:83,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:81,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:95,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:95,1
    - Dst: tsdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:71,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:72,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:86,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:83,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:96,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:96,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:67,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:77,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:86,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:91,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:101,1
    - Dst: tsdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:67,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:67,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:71,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:91,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:90,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:90,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: smaBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - tsdbBegin
    - smaError
    - VND_RSMA1
    - atomic_store_8
    - smaWarn
    - RSMA_TRIGGER_STAT
    - tstrerror
    - SMA_RSMA_ENV
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - TD_VID
    - SMA_ENV_STAT
    - smaDebug
    - VND_RSMA2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaBegin(SSma *pSma) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_REF_VAL_GET
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:257,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:259,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:242,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:245,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:253,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:254,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:279,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:240,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:250,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:253,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:256,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:274,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:266,1
    - Dst: RSMA_COMMIT_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:277,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:249,1
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:250,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:260,1
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:274,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:260,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c:277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 280
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 280
    functionName: tdProcessRSmaAsyncPostCommitImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaCommit.c
    functionUses: []
    functionsReached:
    - RSMA_INFO_HASH
    - SMA_VID
    - smaError
    - atomic_store_8
    - SMA_ENV_LOCK
    - taosHashIterate
    - taosHashRemove
    - SMA_RSMA_ENV
    - RSMA_INFO_IS_DEL
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - taosHashGetKey
    - T_REF_VAL_GET
    - taosWUnLockLatch
    - RSMA_COMMIT_STAT
    - SMA_ENV_STAT
    - taosWLockLatch
    - smaDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessRSmaAsyncPostCommitImpl(SSma *pSma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:89,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:92,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:92,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:89,1
    - Dst: taosTmrStopA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:91,1
    - Dst: streamStateClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:98,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:102,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:104,1
    - Dst: tdRSmaQTaskInfoFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:105,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:105,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:119,1
    - Dst: taosCloseQueue
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:111,1
    - Dst: taosFreeQall
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:115,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 2
    argNames:
    - pSma
    - pInfo
    argTypes:
    - SSma*
    - SRSmaInfo*
    constantsTouched: []
    func_position:
      end: 123
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 123
    functionName: tdFreeRSmaInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosCloseQueue
    - tdRSmaQTaskInfoFree
    - taosMemoryFree
    - SMA_VID
    - taosArrayDestroy
    - smaError
    - streamStateClose
    - tFreeStreamTask
    - taosMemoryFreeClear
    - taosFreeQall
    - smaDebug
    - taosTmrStopA
    linkageType: ''
    returnType: void*
    signature: 'void *tdFreeRSmaInfo(SSma *pSma, SRSmaInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:599,1
    - Dst: tsdbInsertData
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pTsdb
    - version
    - pReq
    argTypes:
    - STsdb*
    - int64_t
    - void*
    constantsTouched: []
    func_position:
      end: 603
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 603
    functionName: tdProcessSubmitReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tsdbInsertData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessSubmitReq(STsdb *pTsdb, int64_t version, void
      *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1052,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1056,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1056,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1055,1
    - Dst: SMA_RSMA_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1055,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1056,1
    - Dst: tdExecuteRSmaAsync
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1061,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1062,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1062,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1066,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pSma
    - version
    - pReq
    - pMsg
    - len
    argTypes:
    - SSma*
    - int64_t
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1067
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1067
    functionName: tdProcessRSmaDelete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdExecuteRSmaAsync
    - SMA_VID
    - smaError
    - atomic_load_32
    - SMA_RSMA_STAT
    - SMA_RSMA_ENV
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessRSmaDelete(SSma *pSma, int64_t version, void *pReq,
      void *pMsg, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1177,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1184,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1180,1
    - Dst: tdCheckAndInitSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1177,1
    - Dst: tdRSmaRestoreQTaskInfoInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1180,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1184,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1185,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1187,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1187,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - pSma
    - type
    - qtaskFileVer
    - rollback
    argTypes:
    - SSma*
    - int8_t
    - int64_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1192
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1192
    functionName: tdRSmaProcessRestoreImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - smaError
    - tdCheckAndInitSmaEnv
    - TAOS_CHECK_EXIT
    - smaInfo
    - tstrerror
    - TAOS_RETURN
    - tdRSmaRestoreQTaskInfoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdRSmaProcessRestoreImpl(SSma *pSma, int8_t type, int64_t
      qtaskFileVer, int8_t rollback) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:69,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:70,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:71,1
    - Dst: qDestroyTask
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - taskHandle
    - vgId
    - level
    argTypes:
    - qTaskInfo_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: tdRSmaQTaskInfoFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - qDestroyTask
    - atomic_val_compare_exchange_ptr
    - smaDebug
    - atomic_load_ptr
    linkageType: ''
    returnType: void
    signature: 'static void tdRSmaQTaskInfoFree(qTaskInfo_t *taskHandle, int32_t vgId,
      int32_t level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - STbUidStore**
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: tdUidStoreInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tdUidStoreInit(STbUidStore **pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:607,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:610,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:611,1
    - Dst: tdUidStorePut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:611,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMsg
    - pStore
    argTypes:
    - SSubmitReq2*
    - STbUidStore*
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: tdFetchSubmitReqSuids
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdUidStorePut
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdFetchSubmitReqSuids(SSubmitReq2 *pMsg, STbUidStore
      *pStore) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1245,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1307,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1326,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1331,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1331,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1244,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1251,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1262,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1310,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1312,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1317,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1321,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1323,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1334,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1306,1
    - Dst: streamMetaSaveTaskInMeta
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1304,1
    - Dst: qSetSMAInput
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1215,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1210,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1217,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1208,1
    - Dst: tdRSmaExecAndSubmitResult
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1241,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1274,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1276,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1281,1
    - Dst: streamTaskSetActiveCheckpointInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1285,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1297,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1319,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1331,1
    - Dst: streamTaskBuildCheckpoint
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1294,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1309,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1201,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1218,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1233,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1235,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1260,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1262,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1271,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1251,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1253,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1285,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1296,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1303,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1318,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1326,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 106
    argCount: 2
    argNames:
    - pRSmaStat
    - pInfoHash
    argTypes:
    - SRSmaStat*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 1335
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1335
    functionName: tdRSmaPersistExecImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - streamTaskSetActiveCheckpointInfo
    - tdRSmaExecAndSubmitResult
    - smaError
    - smaInfo
    - smaDebug
    - RSMA_INFO_ITEM
    - TSDB_CHECK_CODE
    - taosGetTimestampNs
    - streamMetaSaveTaskInMeta
    - qSetSMAInput
    - streamMetaWUnLock
    - TD_VID
    - streamMetaWLock
    - taosUsleep
    - streamMetaCommit
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - streamTaskBuildCheckpoint
    - TAOS_RETURN
    - taosHashCancelIterate
    - RSMA_INFO_IS_DEL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdRSmaPersistExecImpl(SRSmaStat *pRSmaStat, SHashObj *pInfoHash) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:525,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:550,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:542,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:521,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:532,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:538,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:556,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:547,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:553,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:549,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:522,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:532,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:541,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:545,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:553,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:551,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:534,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:540,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:556,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - pStore
    - suid
    - uid
    argTypes:
    - STbUidStore*
    - tb_uid_t
    - tb_uid_t*
    constantsTouched: []
    func_position:
      end: 560
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 560
    functionName: tdUidStorePut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashGet
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdUidStorePut(STbUidStore *pStore, tb_uid_t suid, tb_uid_t
      *uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:855,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:858,1
    - Dst: tInitSubmitMsgIter
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:855,1
    - Dst: tInitSubmitBlkIter
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:860,1
    - Dst: tGetSubmitMsgNext
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:858,1
    - Dst: tGetSubmitBlkNext
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:861,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:862,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:863,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pSma
    - pReq
    argTypes:
    - SSma*
    - SSubmitReq*
    constantsTouched: []
    func_position:
      end: 867
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 867
    functionName: tdRsmaPrintSubmitReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tInitSubmitMsgIter
    - SMA_VID
    - tInitSubmitBlkIter
    - tGetSubmitMsgNext
    - TAOS_CHECK_RETURN
    - tGetSubmitBlkNext
    - smaDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRsmaPrintSubmitReq(SSma *pSma, SSubmitReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:208,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:218,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:219,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:223,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:216,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:228,1
    - Dst: tdUidStoreInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:228,1
    - Dst: tdUidStorePut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:231,1
    - Dst: tdUidStoreFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:232,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:233,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - pSma
    - ppStore
    - suid
    - uid
    argTypes:
    - SSma*
    - STbUidStore**
    - tb_uid_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 237
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 237
    functionName: tdFetchTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - RSMA_INFO_HASH
    - tdUidStoreInit
    - taosHashGet
    - SMA_RSMA_ENV
    - TAOS_CHECK_RETURN
    - tdUidStorePut
    - TAOS_RETURN
    - tdUidStoreFree
    - SMA_ENV_STAT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdFetchTbUidList(SSma *pSma, STbUidStore **ppStore, tb_uid_t
      suid, tb_uid_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:256,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:260,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:260,1
    - Dst: streamMetaUnregisterTask
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:258,1
    - Dst: streamMetaGetNumOfTasks
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:262,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:263,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:266,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:267,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pMeta
    - streamId
    - taskId
    argTypes:
    - SStreamMeta*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: tdRSmaTaskRemove
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - streamMetaGetNumOfTasks
    - streamMetaCommit
    - smaError
    - tstrerror
    - streamMetaUnregisterTask
    - streamMetaWUnLock
    - streamMetaWLock
    - smaDebug
    linkageType: ''
    returnType: void
    signature: 'static void tdRSmaTaskRemove(SStreamMeta *pMeta, int64_t streamId,
      int32_t taskId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:568,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:575,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:573,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - STbUidStore*
    constantsTouched: []
    func_position:
      end: 577
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 577
    functionName: tdUidStoreDestory
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void tdUidStoreDestory(STbUidStore *pStore) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:813,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:815,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:819,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:821,1
    - Dst: SMA_RSMA_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:830,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:829,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:829,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:828,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:808,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:817,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:842,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:843,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:817,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:819,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:827,1
    - Dst: atomic_fetch_add_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:825,1
    - Dst: taosQueueMemorySize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:843,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:808,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:842,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:840,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 7
    argNames:
    - pSma
    - version
    - pMsg
    - len
    - inputType
    - pInfo
    - suid
    argTypes:
    - SSma*
    - int64_t
    - void*
    - int32_t
    - int32_t
    - SRSmaInfo*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 848
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 848
    functionName: tdExecuteRSmaImplAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - atomic_fetch_add_64
    - taosGetTimestampMs
    - SMA_VID
    - taosWriteQitem
    - taosQueueItemSize
    - smaError
    - SMA_RSMA_STAT
    - smaWarn
    - tstrerror
    - TAOS_CHECK_RETURN
    - POINTER_SHIFT
    - tsem_post
    - atomic_load_8
    - memcpy
    - taosMsleep
    - taosQueueMemorySize
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdExecuteRSmaImplAsync(SSma *pSma, int64_t version,
      const void *pMsg, int32_t len, int32_t inputType, SRSmaInfo *pInfo, tb_uid_t
      suid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:243,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:252,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:245,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pMeta
    - pItem
    - pId
    argTypes:
    - SStreamMeta*
    - SRSmaInfoItem*
    - SStreamTaskId*
    constantsTouched: []
    func_position:
      end: 253
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 253
    functionName: tdRSmaTaskInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - streamMetaRUnLock
    - streamMetaRLock
    - streamMetaAcquireTaskUnsafe
    - streamMetaReleaseTask
    linkageType: ''
    returnType: void
    signature: 'static void tdRSmaTaskInit(SStreamMeta *pMeta, SRSmaInfoItem *pItem,
      SStreamTaskId *pId) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tdRSmaQTaskInfoGetFullPath
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:282,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:308,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:297,1
    - Dst: tdRSmaTaskInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:312,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:329,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:368,1
    - Dst: SMA_RETENTION
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:275,1
    - Dst: SMA_TSDB_CFG
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:276,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:287,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:290,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:310,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:310,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:304,1
    - Dst: streamMetaGetLatestCheckpointId
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:311,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:316,1
    - Dst: streamStateOpen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:318,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:374,1
    - Dst: tdRSmaTaskRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:324,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:284,1
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:289,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:294,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:306,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:306,1
    - Dst: streamCreateStateMachine
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:314,1
    - Dst: streamTaskCreateActiveChkptInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:316,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:327,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:334,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:285,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:291,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:310,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:331,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:345,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:359,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:362,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:371,1
    - Dst: qCreateStreamExecTaskInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:329,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:358,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:345,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:364,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 102
    argCount: 5
    argNames:
    - pSma
    - param
    - pStat
    - pRSmaInfo
    - idx
    argTypes:
    - SSma*
    - SRSmaParam*
    - SRSmaStat*
    - SRSmaInfo*
    - int8_t
    constantsTouched: []
    func_position:
      end: 375
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 375
    functionName: tdSetRSmaInfoItemParams
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - tdRSmaQTaskInfoGetFullPath
    - taosMemoryCalloc
    - SMA_RETENTION
    - taosArrayInit
    - taosGetTimestampMs
    - taosTmrReset
    - taosMemoryMalloc
    - qCreateStreamExecTaskInfo
    - smaError
    - streamCreateStateMachine
    - tdRSmaTaskInit
    - initStorageAPI
    - smaInfo
    - SMA_TSDB_CFG
    - TAOS_CHECK_RETURN
    - taosHashPut
    - streamMetaGetLatestCheckpointId
    - convertTimeFromPrecisionToUnit
    - taosMulMkDir
    - taosCheckExistFile
    - TD_VID
    - snprintf
    - streamStateOpen
    - streamTaskCreateActiveChkptInfo
    - tdRSmaTaskRemove
    - strlen
    - TAOS_RETURN
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdSetRSmaInfoItemParams(SSma *pSma, SRSmaParam *param,
      SRSmaStat *pStat, SRSmaInfo *pRSmaInfo, int8_t idx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdUidStoreDestory
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:581,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:582,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - STbUidStore*
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: tdUidStoreFree
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdUidStoreDestory
    - taosMemoryFree
    linkageType: ''
    returnType: void*
    signature: 'void *tdUidStoreFree(STbUidStore *pStore) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:706,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:712,1
    - Dst: buildSubmitReqFromDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:751,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:726,1
    - Dst: qCleanExecTaskBlockBuf
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:785,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:783,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:783,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:699,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:715,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:718,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:724,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:778,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:705,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:701,1
    - Dst: tqBuildDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:717,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:750,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:720,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:741,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:763,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:766,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:768,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:771,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:780,1
    - Dst: qExecTaskOpt
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:694,1
    - Dst: tdRSmaProcessDelReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:719,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:738,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:751,1
    - Dst: tdProcessSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:753,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:757,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:758,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:759,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:780,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 6
    argNames:
    - pSma
    - taskInfo
    - pItem
    - pInfo
    - execType
    - streamFlushed
    argTypes:
    - SSma*
    - qTaskInfo_t
    - SRSmaInfoItem*
    - SRSmaInfo*
    - int32_t
    - int8_t*
    constantsTouched: []
    func_position:
      end: 787
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 787
    functionName: tdRSmaExecAndSubmitResult
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - qExecTaskOpt
    - taosMemoryFree
    - SMA_VID
    - taosArrayGetSize
    - taosArrayInit
    - buildSubmitReqFromDataBlock
    - smaError
    - smaDebug
    - TSDB_CHECK_CODE
    - qCleanExecTaskBlockBuf
    - smaWarn
    - atomic_store_64
    - taosMemoryFreeClear
    - tdRSmaProcessDelReq
    - tDestroySubmitReq
    - TAOS_CHECK_EXIT
    - tqBuildDeleteReq
    - tstrerror
    - tdProcessSubmitReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRSmaExecAndSubmitResult(SSma *pSma, qTaskInfo_t taskInfo,
      SRSmaInfoItem *pItem, SRSmaInfo *pInfo, int32_t execType, int8_t *streamFlushed) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1092,1
    - Dst: vnodeGetStbIdList
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1090,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1098,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1111,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1107,1
    - Dst: tdUpdateTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1143,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1165,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1087,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1120,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1105,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1112,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1124,1
    - Dst: TABLE_IS_ROLLUP
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1126,1
    - Dst: tdRSmaProcessCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1134,1
    - Dst: vnodeGetCtbIdList
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1138,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1145,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1150,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1162,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1085,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1090,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1099,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1104,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1117,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1113,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1130,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1140,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1148,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1159,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1159,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1099,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1112,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1115,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1134,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1160,1
    - Dst: tdUidStoreDestory
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1164,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 2
    argNames:
    - pSma
    - nTables
    argTypes:
    - SSma*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1166
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1166
    functionName: tdRSmaRestoreQTaskInfoInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - vnodeGetStbIdList
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - smaError
    - tdUidStoreDestory
    - tdRSmaProcessCreateImpl
    - metaReaderDoInit
    - smaDebug
    - TSDB_CHECK_CODE
    - taosArrayGet
    - metaReaderGetTableEntryByUidCache
    - SMA_META
    - metaReaderClear
    - vnodeGetCtbIdList
    - TD_VID
    - tdUpdateTbUidList
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - TABLE_IS_ROLLUP
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRSmaRestoreQTaskInfoInit(SSma *pSma, int64_t *nTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:626,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:638,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pSma
    - now
    argTypes:
    - SSma*
    - int64_t
    constantsTouched: []
    func_position:
      end: 639
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 639
    functionName: smaRetention
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - VND_IS_RSMA
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaRetention(SSma *pSma, int64_t now) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tdAcquireRSmaInfoBySuid
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:981,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:983,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:984,1
    - Dst: tdExecuteRSmaImplAsync
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:988,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:983,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:989,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:990,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:993,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:995,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1006,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1004,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1005,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1005,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:999,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1010,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1007,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 6
    argNames:
    - pSma
    - version
    - pMsg
    - len
    - inputType
    - suid
    argTypes:
    - SSma*
    - int64_t
    - void*
    - int32_t
    - int32_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 1012
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 1012
    functionName: tdExecuteRSmaAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - atomic_store_8
    - tdReleaseRSmaInfo
    - smaError
    - tstrerror
    - TAOS_RETURN
    - tdExecuteRSmaImplAsync
    - tdAcquireRSmaInfoBySuid
    - smaDebug
    - RSMA_INFO_ITEM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdExecuteRSmaAsync(SSma *pSma, int64_t version, const
      void *pMsg, int32_t len, int32_t inputType, tb_uid_t suid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1485,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1495,1
    - Dst: qSetSMAInput
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1502,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1508,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1496,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1502,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1513,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1476,1
    - Dst: RSMA_INFO_QTASK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1479,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1486,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1478,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1488,1
    - Dst: smaTrace
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1490,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1509,1
    - Dst: SMA_RSMA_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1504,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1518,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1491,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1492,1
    - Dst: tdRSmaExecAndSubmitResult
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1503,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1511,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1504,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - pSma
    - pInfo
    argTypes:
    - SSma*
    - SRSmaInfo*
    constantsTouched: []
    func_position:
      end: 1519
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1519
    functionName: tdRSmaFetchAllResult
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_store_32
    - SMA_VID
    - atomic_store_8
    - TAOS_CHECK_EXIT
    - SMA_RSMA_STAT
    - qSetSMAInput
    - RSMA_INFO_QTASK
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - smaTrace
    - smaDebug
    - tdRSmaExecAndSubmitResult
    - RSMA_INFO_ITEM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRSmaFetchAllResult(SSma *pSma, SRSmaInfo *pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:657,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:676,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:675,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:679,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:645,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:653,1
    - Dst: tEncodeSBatchDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:658,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:663,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:650,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:657,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:660,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:676,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:661,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:669,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:647,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:648,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:659,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:668,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:673,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - pSma
    - suid
    - level
    - pDelReq
    argTypes:
    - SSma*
    - int64_t
    - int8_t
    - SBatchDeleteReq*
    constantsTouched: []
    func_position:
      end: 680
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 680
    functionName: tdRSmaProcessDelReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tEncoderInit
    - tEncoderClear
    - taosArrayDestroy
    - SMA_VID
    - smaError
    - tstrerror
    - tEncodeSBatchDeleteReq
    - POINTER_SHIFT
    - TAOS_RETURN
    - tEncodeSize
    - TD_VID
    - rpcFreeCont
    - taosArrayGetSize
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRSmaProcessDelReq(SSma *pSma, int64_t suid, int8_t
      level, SBatchDeleteReq *pDelReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1019,1
    - Dst: tdFetchSubmitReqSuids
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1025,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1026,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1026,1
    - Dst: tdExecuteRSmaAsync
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1031,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1032,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1032,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1038,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1048,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1019,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1026,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1032,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1041,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1015,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1018,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1040,1
    - Dst: tdExecuteRSmaAsync
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1040,1
    - Dst: SMA_RSMA_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1018,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1037,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1040,1
    - Dst: tdUidStoreDestory
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1047,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - pSma
    - version
    - pReq
    - pMsg
    - len
    argTypes:
    - SSma*
    - int64_t
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1049
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1049
    functionName: tdProcessRSmaSubmit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdExecuteRSmaAsync
    - SMA_VID
    - smaError
    - atomic_load_32
    - SMA_RSMA_STAT
    - taosHashIterate
    - SMA_RSMA_ENV
    - tstrerror
    - tdUidStoreDestory
    - taosHashGetKey
    - TAOS_RETURN
    - taosHashCancelIterate
    - tdFetchSubmitReqSuids
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessRSmaSubmit(SSma *pSma, int64_t version, void *pReq,
      void *pMsg, int32_t len) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1536,1
    - Dst: RSMA_EXEC_MSG_BODY
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1543,1
    - Dst: RSMA_EXEC_MSG_VER
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1552,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1555,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1563,1
    - Dst: tdFreeRSmaSubmitItems
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1580,1
    - Dst: SMA_RSMA_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1596,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1609,1
    - Dst: RSMA_EXEC_MSG_VER
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1542,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1546,1
    - Dst: tqExtractDelDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1561,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1578,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1596,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1598,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1602,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1602,1
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1536,1
    - Dst: RSMA_EXEC_MSG_LEN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1541,1
    - Dst: RSMA_EXEC_MSG_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1538,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1545,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1556,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1597,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1598,1
    - Dst: tdFreeRSmaSubmitItems
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1599,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1604,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1532,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1547,1
    - Dst: RSMA_EXEC_MSG_BODY
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1553,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1559,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1560,1
    - Dst: RSMA_EXEC_MSG_LEN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1553,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1569,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1575,1
    - Dst: tdExecuteRSmaImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1578,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1597,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 5
    argNames:
    - pSma
    - pInfo
    - qall
    - pSubmitArr
    - type
    argTypes:
    - SSma*
    - SRSmaInfo*
    - STaosQall*
    - SArray*
    - ERsmaExecType
    constantsTouched: []
    func_position:
      end: 1610
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1610
    functionName: tdRSmaBatchExec
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - RSMA_EXEC_MSG_BODY
    - TAOS_UNUSED
    - SMA_VID
    - terrstr
    - tdExecuteRSmaImpl
    - SMA_RSMA_STAT
    - RSMA_EXEC_MSG_LEN
    - taosArrayGetSize
    - taosArrayClear
    - taosFreeQitem
    - tqExtractDelDataBlock
    - smaError
    - RSMA_EXEC_MSG_VER
    - taosArrayPush
    - RSMA_EXEC_MSG_TYPE
    - tdFreeRSmaSubmitItems
    - smaWarn
    - TARRAY_SIZE
    - taosGetQitem
    - TAOS_CHECK_EXIT
    - TAOS_RETURN
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRSmaBatchExec(SSma *pSma, SRSmaInfo *pInfo, STaosQall
      *qall, SArray *pSubmitArr, ERsmaExecType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:890,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:896,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:899,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:912,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:910,1
    - Dst: RSMA_INFO_QTASK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:886,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:895,1
    - Dst: RSMA_INFO_QTASK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:901,1
    - Dst: qSetSMAInput
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:903,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:887,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:890,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:905,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:908,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:895,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:901,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:904,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:904,1
    - Dst: tdRSmaExecAndSubmitResult
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:910,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:904,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 8
    argNames:
    - pSma
    - pMsg
    - msgSize
    - version
    - inputType
    - pInfo
    - type
    - level
    argTypes:
    - SSma*
    - void*
    - int32_t
    - int64_t
    - int32_t
    - SRSmaInfo*
    - ERsmaExecType
    - int8_t
    constantsTouched: []
    func_position:
      end: 913
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 913
    functionName: tdExecuteRSmaImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - smaError
    - smaWarn
    - atomic_store_64
    - qSetSMAInput
    - RSMA_INFO_QTASK
    - tstrerror
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    - smaDebug
    - tdRSmaExecAndSubmitResult
    - RSMA_INFO_ITEM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdExecuteRSmaImpl(SSma *pSma, const void *pMsg, int32_t
      msgSize, int64_t version, int32_t inputType, SRSmaInfo *pInfo, ERsmaExecType
      type, int8_t level) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1636,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1638,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1648,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1661,1
    - Dst: tdRSmaBatchExec
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1660,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1664,1
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1671,1
    - Dst: RSMA_COMMIT_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1685,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1691,1
    - Dst: RSMA_NEED_FETCH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1694,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1721,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1731,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1636,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1630,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1657,1
    - Dst: RSMA_NEED_FETCH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1648,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1650,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1662,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1664,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1670,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1675,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1705,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1729,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1731,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1701,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1624,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1625,1
    - Dst: RSMA_NEED_FETCH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1667,1
    - Dst: RSMA_COMMIT_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1668,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1681,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1684,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1685,1
    - Dst: atomic_fetch_sub_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1691,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1701,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1707,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1716,1
    - Dst: tdRSmaFetchAllResult
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1679,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1710,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1733,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1716,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1731,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1716,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1632,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1636,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1645,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1647,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1654,1
    - Dst: taosReadAllQitems
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1657,1
    - Dst: taosQallItemSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1658,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1668,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1670,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1676,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1680,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1715,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1719,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1720,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1720,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 124
    argCount: 2
    argNames:
    - pSma
    - type
    argTypes:
    - SSma*
    - ERsmaExecType
    constantsTouched: []
    func_position:
      end: 1734
      start: 1620
    functionDepth: 0
    functionLinenumber: 1620
    functionLinenumberEnd: 1734
    functionName: tdRSmaProcessExecImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - TAOS_UNUSED
    - SMA_VID
    - tdRSmaFetchAllResult
    - atomic_fetch_add_32
    - taosArrayInit
    - taosArrayDestroy
    - smaError
    - tdRSmaBatchExec
    - SMA_RSMA_ENV
    - taosReadAllQitems
    - atomic_fetch_sub_64
    - atomic_sub_fetch_32
    - atomic_val_compare_exchange_8
    - RSMA_COMMIT_STAT
    - atomic_load_8
    - SMA_ENV_STAT
    - smaDebug
    - RSMA_INFO_HASH
    - TSDB_CHECK_CODE
    - taosQallItemSize
    - atomic_store_8
    - smaWarn
    - RSMA_TRIGGER_STAT
    - RSMA_NEED_FETCH
    - tsem_wait
    - TD_VID
    - TMAX
    - taosQueueItemSize
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - TAOS_RETURN
    - taosHashCancelIterate
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdRSmaProcessExecImpl(SSma *pSma, ERsmaExecType type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tdAcquireRSmaInfoBySuid
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:152,1
    - Dst: qUpdateTableListForStreamScanner
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:161,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:162,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:174,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:164,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:156,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:140,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:145,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:155,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:155,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:163,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:169,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:167,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:173,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:142,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:148,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:165,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:169,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 4
    argNames:
    - pSma
    - suid
    - tbUids
    - isAdd
    argTypes:
    - SSma*
    - tb_uid_t*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 175
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 175
    functionName: tdUpdateTbUidListImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - smaError
    - tdReleaseRSmaInfo
    - qUpdateTableListForStreamScanner
    - tstrerror
    - TAOS_RETURN
    - tdAcquireRSmaInfoBySuid
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - smaDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdUpdateTbUidListImpl(SSma *pSma, tb_uid_t *suid, SArray
      *tbUids, bool isAdd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: smaTrace
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:447,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:453,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:452,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:453,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:447,1
    - Dst: tdRSmaProcessCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pSma
    - pReq
    argTypes:
    - SSma*
    - SVCreateStbReq*
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: tdProcessRSmaCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - VND_IS_RSMA
    - smaWarn
    - tdRSmaProcessCreateImpl
    - TD_VID
    - smaTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessRSmaCreate(SSma *pSma, SVCreateStbReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:470,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:482,1
    - Dst: smaTrace
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:471,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:476,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:471,1
    - Dst: tdAcquireRSmaInfoBySuid
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:485,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:488,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:488,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:494,1
    - Dst: RSMA_INFO_SET_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:495,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:501,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:498,1
    - Dst: tdUnRefRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:496,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:501,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pSma
    - pReq
    argTypes:
    - SSma*
    - SVDropStbReq*
    constantsTouched: []
    func_position:
      end: 503
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 503
    functionName: tdProcessRSmaDrop
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdUnRefRSmaInfo
    - RSMA_INFO_SET_DEL
    - atomic_store_8
    - tdReleaseRSmaInfo
    - VND_IS_RSMA
    - smaWarn
    - SMA_RSMA_ENV
    - TD_VID
    - smaTrace
    - SMA_ENV_STAT
    - tdAcquireRSmaInfoBySuid
    - smaDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessRSmaDrop(SSma *pSma, SVDropStbReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:939,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:953,1
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:948,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:924,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:936,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:931,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:939,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:940,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:942,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:943,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:944,1
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:955,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:957,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:935,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:934,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:940,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:950,1
    - Dst: SMA_ENV_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:943,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:955,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:948,1
    - Dst: tdRefRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:947,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - pSma
    - suid
    - ppRSmaInfo
    argTypes:
    - SSma*
    - int64_t
    - SRSmaInfo**
    constantsTouched: []
    func_position:
      end: 958
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 958
    functionName: tdAcquireRSmaInfoBySuid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - RSMA_INFO_HASH
    - taosRUnLockLatch
    - SMA_ENV_LOCK
    - taosHashGet
    - SMA_RSMA_ENV
    - taosRLockLatch
    - RSMA_INFO_IS_DEL
    - TAOS_RETURN
    - tdRefRSmaInfo
    - SMA_ENV_STAT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdAcquireRSmaInfoBySuid(SSma *pSma, int64_t suid, SRSmaInfo
      **ppRSmaInfo) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1351,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1360,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1369,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1379,1
    - Dst: tdReleaseSmaRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1378,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1392,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1396,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1401,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1402,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1410,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1436,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1427,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1431,1
    - Dst: tdAcquireSmaRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1357,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1358,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1352,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1367,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1370,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1377,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1386,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1394,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1414,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1420,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1421,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1360,1
    - Dst: tdAcquireRSmaInfoBySuid
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1366,1
    - Dst: tdReleaseSmaRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1369,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1379,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1378,1
    - Dst: RSMA_INFO_IS_DEL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1374,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1390,1
    - Dst: tdReleaseSmaRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1402,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1413,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1418,1
    - Dst: tdReleaseSmaRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1443,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1419,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1430,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1370,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1375,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1386,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1398,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1416,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1426,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1434,1
    - Dst: taosTmrReset
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1441,1
    - Dst: tdReleaseRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1442,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1443,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 75
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1444
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1444
    functionName: tdRSmaFetchTrigger
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosTmrReset
    - TAOS_UNUSED
    - SMA_VID
    - tdReleaseSmaRef
    - tdAcquireSmaRef
    - tdReleaseRSmaInfo
    - atomic_store_8
    - smaError
    - smaWarn
    - taosHashGet
    - RSMA_TRIGGER_STAT
    - taosHashRemove
    - atomic_val_compare_exchange_8
    - tsem_post
    - atomic_load_8
    - RSMA_INFO_IS_DEL
    - tdAcquireRSmaInfoBySuid
    - smaDebug
    linkageType: ''
    returnType: void
    signature: 'static void tdRSmaFetchTrigger(void *param, void *tmrId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:179,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:183,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:186,1
    - Dst: tdUpdateTbUidListImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:183,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:187,1
    - Dst: tdUpdateTbUidListImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:190,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:191,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:192,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pSma
    - pStore
    - isAdd
    argTypes:
    - SSma*
    - STbUidStore*
    - bool
    constantsTouched: []
    func_position:
      end: 196
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 196
    functionName: tdUpdateTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - tdUpdateTbUidListImpl
    - TAOS_CHECK_RETURN
    - taosHashGetKey
    - TAOS_RETURN
    - taosHashCancelIterate
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdUpdateTbUidList(SSma *pSma, STbUidStore *pStore, bool isAdd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdUnRefRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pSma
    - pInfo
    argTypes:
    - SSma*
    - SRSmaInfo*
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: tdReleaseRSmaInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - tdUnRefRSmaInfo
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tdReleaseRSmaInfo(SSma *pSma, SRSmaInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1447,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1451,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1455,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1450,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1451,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1456,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1459,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:1461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pItems
    - type
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1462
      start: 1446
    functionDepth: 0
    functionLinenumber: 1446
    functionLinenumberEnd: 1462
    functionName: tdFreeRSmaSubmitItems
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosFreeQitem
    - smaWarn
    - blockDataDestroy
    - POINTER_SHIFT
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void tdFreeRSmaSubmitItems(SArray *pItems, int32_t type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:391,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:401,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:413,1
    - Dst: taosAllocateQall
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:421,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:424,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:434,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:401,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:406,1
    - Dst: taosOpenQueue
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:419,1
    - Dst: tdFreeRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:430,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:399,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:399,1
    - Dst: T_REF_INIT_VAL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:417,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:412,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:421,1
    - Dst: tdSetRSmaInfoItemParams
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:424,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:426,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:426,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:430,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:391,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:396,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:395,1
    - Dst: metaGetTbTSchemaNotNull
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:412,1
    - Dst: tdSetRSmaInfoItemParams
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:423,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:419,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:426,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:432,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c:432,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 4
    argNames:
    - pSma
    - param
    - suid
    - tbName
    argTypes:
    - SSma*
    - SRSmaParam*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 435
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 435
    functionName: tdRSmaProcessCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaRollup.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - SMA_VID
    - taosMemoryCalloc
    - tdSetRSmaInfoItemParams
    - taosOpenQueue
    - metaGetTbTSchemaNotNull
    - T_REF_INIT_VAL
    - smaInfo
    - SMA_RSMA_ENV
    - taosHashPut
    - SMA_ENV_STAT
    - smaDebug
    - RSMA_INFO_HASH
    - taosHashGet
    - SMA_META
    - tdFreeRSmaInfo
    - TAOS_CHECK_EXIT
    - taosAllocateQall
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdRSmaProcessCreateImpl(SSma *pSma, SRSmaParam *param, int64_t
      suid, const char *tbName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:71,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:79,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:71,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:79,1
    - Dst: tsdbSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:81,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:88,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:88,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:94,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:94,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:97,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:97,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:99,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:94,1
    - Dst: rsmaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:95,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pReader
    - ppData
    argTypes:
    - SRSmaSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 100
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 100
    functionName: rsmaSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - SMA_VID
    - tsdbSnapRead
    - smaError
    - smaInfo
    - tstrerror
    - rsmaSnapReaderClose
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapRead(SRSmaSnapReader* pReader, uint8_t** ppData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWriterPrepareClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:171,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:170,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:170,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:172,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pWriter
    - rollback
    argTypes:
    - SRSmaSnapWriter*
    - bool
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: rsmaSnapWriterPrepareClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - smaError
    - tstrerror
    - TAOS_RETURN
    - tsdbSnapWriterPrepareClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapWriterPrepareClose(SRSmaSnapWriter* pWriter, bool
      rollback) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:34,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:38,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:40,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:35,1
    - Dst: tsdbSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:49,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:51,1
    - Dst: rsmaSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:58,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:60,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:60,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:60,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:62,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 4
    argNames:
    - pSma
    - sver
    - ever
    - ppReader
    argTypes:
    - SSma*
    - int64_t
    - int64_t
    - SRSmaSnapReader**
    constantsTouched: []
    func_position:
      end: 63
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 63
    functionName: rsmaSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryCalloc
    - smaError
    - tsdbSnapReaderOpen
    - SMA_RSMA_ENV
    - tstrerror
    - rsmaSnapReaderClose
    - TAOS_RETURN
    - TD_VID
    - SMA_ENV_STAT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapReaderOpen(SSma* pSma, int64_t sver, int64_t ever,
      SRSmaSnapReader** ppReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:107,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:111,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:111,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - SRSmaSnapReader**
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: rsmaSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tsdbSnapReaderClose
    - SMA_VID
    - smaInfo
    linkageType: ''
    returnType: void
    signature: 'void rsmaSnapReaderClose(SRSmaSnapReader** ppReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:147,1
    - Dst: tsdbSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:146,1
    - Dst: rsmaSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:155,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:137,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:157,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:157,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:159,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:159,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 5
    argNames:
    - pSma
    - sver
    - ever
    - ppRanges
    - ppWriter
    argTypes:
    - SSma*
    - int64_t
    - int64_t
    - void**
    - SRSmaSnapWriter**
    constantsTouched: []
    func_position:
      end: 162
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 162
    functionName: rsmaSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryCalloc
    - smaError
    - rsmaSnapWriterClose
    - tsdbSnapWriterOpen
    - smaInfo
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapWriterOpen(SSma* pSma, int64_t sver, int64_t ever,
      void** ppRanges, SRSmaSnapWriter** ppWriter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:198,1
    - Dst: tdRSmaRestore
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:210,1
    - Dst: tsdbSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:204,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:199,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:205,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:211,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:212,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:215,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:218,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:219,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:220,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:221,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:223,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:220,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:226,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - ppWriter
    - rollback
    argTypes:
    - SRSmaSnapWriter**
    - int8_t
    constantsTouched: []
    func_position:
      end: 227
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 227
    functionName: rsmaSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - SMA_VID
    - taosCloseFile
    - smaError
    - tdRSmaRestore
    - smaInfo
    - SMA_RSMA_ENV
    - tstrerror
    - tsdbSnapWriterClose
    - TAOS_RETURN
    - SMA_ENV_STAT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapWriterClose(SRSmaSnapWriter** ppWriter, int8_t rollback) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:237,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:244,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:248,1
    - Dst: tsdbSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:240,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:248,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:249,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:251,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:251,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SRSmaSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: rsmaSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaSnapshot.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbSnapWrite
    - SMA_VID
    - smaError
    - smaInfo
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t rsmaSnapWrite(SRSmaSnapWriter* pWriter, uint8_t* pData, uint32_t
      nData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:124,1
    - Dst: metaCreateTSma
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:126,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:129,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:129,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:130,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:135,1
    - Dst: metaCreateSuperTable
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:135,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:135,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:145,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:149,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:152,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:144,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:142,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - pSma
    - ver
    - pMsg
    argTypes:
    - SSma*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 153
    functionName: tdProcessTSmaCreateImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - tNameGetTableName
    - smaError
    - TAOS_CHECK_EXIT
    - tNameFromString
    - tstrerror
    - SMA_META
    - TAOS_RETURN
    - TD_VID
    - metaCreateTSma
    - smaDebug
    - metaCreateSuperTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessTSmaCreateImpl(SSma *pSma, int64_t ver, const
      char *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessTSmaCreateImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:39,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pSma
    - ver
    - msg
    argTypes:
    - SSma*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: tdProcessTSmaCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tdProcessTSmaCreateImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessTSmaCreate(SSma *pSma, int64_t ver, const char *msg) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:174,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:171,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:176,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:181,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:196,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:217,1
    - Dst: tqSetDstTableDataPayload
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:219,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:224,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:246,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:255,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:189,1
    - Dst: tqBuildDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:190,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:204,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:217,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:240,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:243,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:244,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:246,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:248,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:256,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:263,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:259,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:258,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:251,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:264,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:168,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:186,1
    - Dst: tqSetDstTableDataPayload
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:206,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:211,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:198,1
    - Dst: doMergeExistedRows
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:225,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:234,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:238,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:245,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:249,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:265,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:165,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:167,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:179,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:190,1
    - Dst: buildAutoCreateTableReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:198,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:216,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:247,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:265,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:265,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:270,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 104
    argCount: 8
    argNames:
    - pVnode
    - pBlocks
    - pTSchema
    - suid
    - stbFullName
    - pDeleteReq
    - ppData
    - pLen
    argTypes:
    - SVnode*
    - SArray*
    - STSchema*
    - int64_t
    - char*
    - SBatchDeleteReq*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 271
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 271
    functionName: smaBlockToSubmit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tEncoderInit
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    - taosHashCleanup
    - taosArrayDestroy
    - taosArrayPush
    - tqSetDstTableDataPayload
    - tEncodeSize
    - rpcFreeCont
    - taosHashPut
    - taosGetDefaultHashFunction
    - buildAutoCreateTableReq
    - htobe64
    - htonl
    - TSDB_CHECK_CODE
    - taosArrayGet
    - smaWarn
    - taosHashGet
    - tEncodeSubmitReq
    - TD_VID
    - rpcMallocCont
    - doMergeExistedRows
    - tDestroySubmitReq
    - tEncoderClear
    - TAOS_CHECK_EXIT
    - tqBuildDeleteReq
    - tstrerror
    - POINTER_SHIFT
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaBlockToSubmit(SVnode *pVnode, const SArray *pBlocks, const
      STSchema *pTSchema, int64_t suid, const char *stbFullName, SBatchDeleteReq *pDeleteReq,
      void **ppData, int32_t *pLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessTSmaInsertImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:30,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:31,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:31,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:31,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:34,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pSma
    - indexUid
    - msg
    argTypes:
    - SSma*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: tdProcessTSmaInsert
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - tdProcessTSmaInsertImpl
    - SMA_VID
    - smaError
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdProcessTSmaInsert(SSma *pSma, int64_t indexUid, const char
      *msg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdProcessTSmaGetDaysImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:48,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 4
    argNames:
    - pCfg
    - pCont
    - contLen
    - days
    argTypes:
    - SVnodeCfg*
    - void*
    - uint32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: smaGetTSmaDays
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - tdProcessTSmaGetDaysImpl
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaGetTSmaDays(SVnodeCfg *pCfg, void *pCont, uint32_t contLen,
      int32_t *days) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:282,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:289,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:292,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:304,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:310,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:294,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:299,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:279,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:280,1
    - Dst: tEncodeSBatchDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:290,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:296,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:306,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:307,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:277,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:285,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:291,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - pSma
    - indexUid
    - pDelReq
    argTypes:
    - SSma*
    - int64_t
    - SBatchDeleteReq*
    constantsTouched: []
    func_position:
      end: 311
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 311
    functionName: tsmaProcessDelReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tEncoderInit
    - tEncoderClear
    - taosArrayDestroy
    - SMA_VID
    - smaError
    - tstrerror
    - tEncodeSBatchDeleteReq
    - POINTER_SHIFT
    - TAOS_RETURN
    - tEncodeSize
    - TD_VID
    - taosArrayGetSize
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsmaProcessDelReq(SSma *pSma, int64_t indexUid, SBatchDeleteReq
      *pDelReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:66,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:76,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:76,1
    - Dst: tDecodeSVCreateTSmaReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:69,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:71,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:86,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:86,1
    - Dst: smaWarn
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:101,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:103,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:105,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - pCfg
    - pCont
    - contLen
    - days
    argTypes:
    - SVnodeCfg*
    - void*
    - uint32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 107
    functionName: tdProcessTSmaGetDaysImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSVCreateTSmaReq
    - TSDB_CHECK_CODE
    - convertTimeFromPrecisionToUnit
    - TAOS_CHECK_EXIT
    - smaWarn
    - tstrerror
    - TAOS_RETURN
    - smaDebug
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessTSmaGetDaysImpl(SVnodeCfg *pCfg, void *pCont,
      uint32_t contLen, int32_t *days) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdCheckAndInitSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:330,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:327,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:341,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:347,1
    - Dst: smaBlockToSubmit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:366,1
    - Dst: tsmaProcessDelReq
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:370,1
    - Dst: metaGetTbTSchemaNotNull
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:353,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:388,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:395,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:332,1
    - Dst: SMA_META
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:353,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:375,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:387,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:392,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:339,1
    - Dst: SMA_STAT_TSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:344,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:350,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:325,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:335,1
    - Dst: metaGetSmaInfoByIndex
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:347,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:359,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:370,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:354,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:368,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:373,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:375,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c:392,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 3
    argNames:
    - pSma
    - indexUid
    - msg
    argTypes:
    - SSma*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 396
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 396
    functionName: tdProcessTSmaInsertImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaTimeRange.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - strncasecmp
    - SMA_VID
    - metaGetTbTSchemaNotNull
    - tsmaProcessDelReq
    - smaError
    - tdCheckAndInitSmaEnv
    - metaGetSmaInfoByIndex
    - TAOS_CHECK_EXIT
    - tstrerror
    - SMA_META
    - TAOS_RETURN
    - SMA_STAT_TSMA
    - smaBlockToSubmit
    - SMA_ENV_STAT
    - taosArrayGetSize
    - tmsgPutToQueue
    - SMA_TSMA_ENV
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdProcessTSmaInsertImpl(SSma *pSma, int64_t indexUid,
      const char *msg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:67,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:69,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:85,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:70,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:68,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:85,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:86,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:86,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:95,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:102,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:102,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:102,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:106,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 6
    argNames:
    - pVnode
    - r
    - level
    - precision
    - duration
    - days
    argTypes:
    - SVnode*
    - SRetention*
    - int8_t
    - int8_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 107
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 107
    functionName: smaEvalDays
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c
    functionUses: []
    functionsReached:
    - convertTimeFromPrecisionToUnit
    - smaError
    - TAOS_CHECK_EXIT
    - smaInfo
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smaEvalDays(SVnode *pVnode, SRetention *r, int8_t level,
      int8_t precision, int32_t duration, int32_t *days) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:139,1
    - Dst: SMA_OPEN_RSMA_IMPL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:154,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:150,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:147,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:141,1
    - Dst: SMA_OPEN_RSMA_IMPL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:156,1
    - Dst: SMA_OPEN_RSMA_IMPL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:163,1
    - Dst: tdRSmaRestore
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:163,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:170,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:168,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - pVnode
    - rollback
    - force
    argTypes:
    - SVnode*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 171
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 171
    functionName: smaOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    - VND_IS_RSMA
    - TAOS_CHECK_EXIT
    - tdRSmaRestore
    - smaError
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - SMA_OPEN_RSMA_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaOpen(SVnode *pVnode, int8_t rollback, bool force) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:175,1
    - Dst: smaPreClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:175,1
    - Dst: tdFreeSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:177,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:176,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:177,1
    - Dst: tdFreeSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:178,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:178,1
    - Dst: tsdbClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:179,1
    - Dst: SMA_RSMA_TSDB0
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:179,1
    - Dst: tsdbClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:180,1
    - Dst: SMA_RSMA_TSDB1
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:180,1
    - Dst: tsdbClose
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:181,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:177,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:178,1
    - Dst: SMA_RSMA_TSDB2
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:181,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 185
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 185
    functionName: smaClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c
    functionUses: []
    functionsReached:
    - SMA_RSMA_TSDB1
    - TAOS_UNUSED
    - taosThreadMutexDestroy
    - tdFreeSmaEnv
    - smaPreClose
    - SMA_RSMA_TSDB2
    - SMA_RSMA_ENV
    - tsdbClose
    - SMA_RSMA_TSDB0
    - taosMemoryFreeClear
    - SMA_TSMA_ENV
    linkageType: ''
    returnType: void
    signature: 'void smaClose(SSma *pSma) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SMA_SET_KEEP_CFG
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:115,1
    - Dst: SMA_SET_KEEP_CFG
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:118,1
    - Dst: SMA_SET_KEEP_CFG
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:121,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:129,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:131,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - pVnode
    - pKeepCfg
    - pCfg
    - type
    argTypes:
    - SVnode*
    - STsdbKeepCfg*
    - STsdbCfg*
    - int
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: smaSetKeepCfg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c
    functionUses: []
    functionsReached:
    - smaError
    - SMA_SET_KEEP_CFG
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    linkageType: ''
    returnType: int
    signature: 'int smaSetKeepCfg(SVnode *pVnode, STsdbKeepCfg *pKeepCfg, STsdbCfg
      *pCfg, int type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:196,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:197,1
    - Dst: tdRSmaProcessRestoreImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - pSma
    - type
    - committedVer
    - rollback
    argTypes:
    - SSma*
    - int8_t
    - int64_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 201
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 201
    functionName: tdRSmaRestore
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaOpen.c
    functionUses: []
    functionsReached:
    - VND_IS_RSMA
    - TAOS_RETURN
    - tdRSmaProcessRestoreImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdRSmaRestore(SSma *pSma, int8_t type, int64_t committedVer,
      int8_t rollback) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sched_yield
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:48,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:55,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:60,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:73,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:77,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:60,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:65,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:76,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:45,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:58,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:48,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:65,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:71,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:81,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:78,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:85,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:61,1
    - Dst: taosTmrInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:77,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:82,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: smaInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - atomic_store_8
    - smaError
    - taosTmrInit
    - taosGetDefaultHashFunction
    - taosCloseRef
    - smaInfo
    - tstrerror
    - TAOS_RETURN
    - atomic_val_compare_exchange_8
    - sched_yield
    - taosOpenRef
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smaInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdFreeSmaState
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:158,1
    - Dst: SMA_ENV_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSmaEnv
    argTypes:
    - SSmaEnv*
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: tdDestroySmaEnv
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - SMA_ENV_TYPE
    - tdFreeSmaState
    linkageType: ''
    returnType: void
    signature: 'void tdDestroySmaEnv(SSmaEnv *pSmaEnv) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:96,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:106,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:99,1
    - Dst: sched_yield
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:99,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:105,1
    - Dst: taosTmrCleanUp
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:108,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:109,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: smaCleanUp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - atomic_store_8
    - taosCloseRef
    - smaInfo
    - atomic_val_compare_exchange_8
    - sched_yield
    - taosTmrCleanUp
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void smaCleanUp() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdDestroySmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pSmaEnv
    argTypes:
    - SSmaEnv*
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: tdFreeSmaEnv
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tdDestroySmaEnv
    linkageType: ''
    returnType: void*
    signature: 'void *tdFreeSmaEnv(SSmaEnv *pSmaEnv) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:206,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:219,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:230,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:222,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:241,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:244,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:203,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:231,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:225,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:234,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:248,1
    - Dst: tdRsmaStartExecutor
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:248,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:257,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:257,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:259,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:234,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:227,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:240,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:242,1
    - Dst: RSMA_FS_LOCK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:250,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:261,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:250,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:194,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:212,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:212,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:215,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:217,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:222,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:232,1
    - Dst: smaInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:225,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:246,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:246,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:240,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 3
    argNames:
    - pSmaStat
    - smaType
    - pSma
    argTypes:
    - SSmaStat**
    - int8_t
    - SSma*
    constantsTouched: []
    func_position:
      end: 262
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 262
    functionName: tdInitSmaStat
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - SMA_VID
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosInitRWLatch
    - taosArrayInit
    - taosHashInit
    - smaInit
    - smaError
    - taosArrayPush
    - taosAddRef
    - taosGetDefaultHashFunction
    - smaDebug
    - taosHashSetFreeFp
    - TAOS_CHECK_GOTO
    - RSMA_INFO_HASH
    - atomic_store_8
    - RSMA_TRIGGER_STAT
    - RSMA_FS_LOCK
    - tdRsmaStartExecutor
    - tsem_init
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdInitSmaStat(SSmaStat **pSmaStat, int8_t smaType,
      const SSma *pSma) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:285,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:288,1
    - Dst: TD_SMA_LOOPS_CHECK
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:290,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:294,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:300,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:305,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:277,1
    - Dst: T_REF_VAL_GET
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:284,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:277,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:285,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:288,1
    - Dst: RSMA_INFO_HASH
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:297,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:301,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:304,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:279,1
    - Dst: RSMA_TRIGGER_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:279,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:302,1
    - Dst: tdRsmaStopExecutor
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:294,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - pRSmaStat
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 307
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 307
    functionName: tdDestroyRSmaStat
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - RSMA_INFO_HASH
    - TAOS_UNUSED
    - SMA_VID
    - taosArrayDestroy
    - atomic_store_8
    - smaError
    - RSMA_TRIGGER_STAT
    - tstrerror
    - TD_SMA_LOOPS_CHECK
    - taosMemoryFreeClear
    - T_REF_VAL_GET
    - tsem_destroy
    - smaDebug
    - tdRsmaStopExecutor
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void tdDestroyRSmaStat(void *pRSmaStat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdDestroyTSmaStat
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:329,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:332,1
    - Dst: RSMA_REF_ID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:333,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:334,1
    - Dst: SMA_STAT_TSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:329,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:335,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:336,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:338,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pSmaStat
    - smaType
    argTypes:
    - SSmaStat*
    - int8_t
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: tdDestroySmaState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - RSMA_REF_ID
    - SMA_VID
    - smaError
    - terrstr
    - taosRemoveRef
    - SMA_STAT_TSMA
    - smaDebug
    - tdDestroyTSmaStat
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdDestroySmaState(SSmaStat *pSmaStat, int8_t smaType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:360,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:363,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:362,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:363,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:363,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 367
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 367
    functionName: tdUnLockSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TAOS_SYSTEM_ERROR
    - SMA_VID
    - smaError
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdUnLockSma(SSma *pSma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:118,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:128,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:126,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:128,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:129,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:129,1
    - Dst: tdInitSmaStat
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:131,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:131,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:132,1
    - Dst: tdFreeSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:132,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:134,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:139,1
    - Dst: SMA_ENV_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:124,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:134,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:136,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:135,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pSma
    - smaType
    - ppEnv
    argTypes:
    - SSma*
    - int8_t
    - SSmaEnv**
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: tdNewSmaEnv
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - tdFreeSmaEnv
    - taosMemoryCalloc
    - SMA_ENV_TYPE
    - SMA_RSMA_ENV
    - atomic_store_ptr
    - TAOS_RETURN
    - tdInitSmaStat
    - SMA_ENV_STAT
    - taosInitRWLatch
    - SMA_TSMA_ENV
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdNewSmaEnv(SSma *pSma, int8_t smaType, SSmaEnv **ppEnv) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:175,1
    - Dst: RSMA_INFO_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:180,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:177,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:181,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:176,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:182,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:185,1
    - Dst: tdFreeRSmaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 187
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 187
    functionName: tRSmaInfoHashFreeNode
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - smaError
    - taosHashRemove
    - tdFreeRSmaInfo
    - RSMA_INFO_ITEM
    linkageType: ''
    returnType: void
    signature: 'static void tRSmaInfoHashFreeNode(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:266,1
    - Dst: tDestroyTSma
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:267,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:269,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - STSmaStat*
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: tdDestroyTSmaStat
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - tDestroyTSma
    - smaDebug
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void tdDestroyTSmaStat(STSmaStat *pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:310,1
    - Dst: tdDestroySmaState
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:310,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSmaStat
    - smaType
    argTypes:
    - SSmaStat*
    - int8_t
    constantsTouched: []
    func_position:
      end: 317
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 317
    functionName: tdFreeSmaState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tdDestroySmaState
    - TAOS_UNUSED
    linkageType: ''
    returnType: void*
    signature: 'static void *tdFreeSmaState(SSmaStat *pSmaStat, int8_t smaType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:351,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:351,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:350,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:351,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:352,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: tdLockSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosThreadMutexLock
    - TAOS_SYSTEM_ERROR
    - SMA_VID
    - smaError
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdLockSma(SSma *pSma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:380,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:380,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:396,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:395,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:376,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:385,1
    - Dst: tdLockSma
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:390,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:392,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:391,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:391,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:381,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:386,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:390,1
    - Dst: tdInitSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:394,1
    - Dst: tdUnLockSma
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:399,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:375,1
    - Dst: SMA_TSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:375,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:385,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:392,1
    - Dst: tdUnLockSma
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:395,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:399,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pSma
    - smaType
    argTypes:
    - SSma*
    - int8_t
    constantsTouched: []
    func_position:
      end: 402
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 402
    functionName: tdCheckAndInitSmaEnv
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - SMA_VID
    - tdLockSma
    - tdInitSmaEnv
    - smaError
    - atomic_load_ptr
    - SMA_RSMA_ENV
    - TAOS_RETURN
    - tdUnLockSma
    - SMA_TSMA_ENV
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdCheckAndInitSmaEnv(SSma *pSma, int8_t smaType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:416,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:417,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:424,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:420,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:419,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:425,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:426,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:427,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:432,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:429,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:433,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: tdRsmaStartExecutor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - SMA_VID
    - smaError
    - taosThreadAttrInit
    - taosThreadCreate
    - SMA_RSMA_ENV
    - tstrerror
    - TAOS_RETURN
    - SMA_ENV_STAT
    - smaDebug
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRsmaStartExecutor(const SSma *pSma) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:437,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:452,1
    - Dst: SMA_ENV_STAT
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:443,1
    - Dst: SMA_RSMA_ENV
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:443,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:444,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:453,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:453,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:458,1
    - Dst: smaDebug
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:459,1
    - Dst: taosGetPthreadId
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:459,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:464,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:466,1
    - Dst: smaInfo
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:464,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:460,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSma*
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: tdRsmaStopExecutor
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - taosGetPthreadId
    - SMA_VID
    - smaError
    - VND_IS_RSMA
    - smaInfo
    - SMA_RSMA_ENV
    - tstrerror
    - taosThreadJoin
    - TAOS_RETURN
    - tsem_post
    - SMA_ENV_STAT
    - smaDebug
    - taosCheckPthreadValid
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdRsmaStopExecutor(const SSma *pSma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:144,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:147,1
    - Dst: tdNewSmaEnv
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pSma
    - smaType
    - ppEnv
    argTypes:
    - SSma*
    - int8_t
    - SSmaEnv**
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: tdInitSmaEnv
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tdNewSmaEnv
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tdInitSmaEnv(SSma *pSma, int8_t smaType, SSmaEnv **ppEnv) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:405,1
    - Dst: tdRSmaProcessExecImpl
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:407,1
    - Dst: smaError
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:408,1
    - Dst: SMA_VID
      Src: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c:408,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 411
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 411
    functionName: tdRSmaExecutorFunc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/sma/smaEnv.c
    functionUses: []
    functionsReached:
    - smaError
    - tdRSmaProcessExecImpl
    - setThreadName
    - SMA_VID
    linkageType: ''
    returnType: void*
    signature: 'void *tdRSmaExecutorFunc(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:25,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:31,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:28,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:26,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:29,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:32,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:34,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:35,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:41,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:41,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pRsp
    - pOffset
    argTypes:
    - SMqDataRsp*
    - STqOffsetVal
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: tqInitDataRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tOffsetCopy
    - tqDebug
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqInitDataRsp(SMqDataRsp* pRsp, STqOffsetVal pOffset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:177,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:187,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:193,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:158,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:176,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:195,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:180,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:156,1
    - Dst: tqInitDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:162,1
    - Dst: qSetTaskId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:165,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:183,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:198,1
    - Dst: tDeleteMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:202,1
    - Dst: tqSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:196,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:163,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:166,1
    - Dst: tqScanData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:168,1
    - Dst: tqRegisterPushHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:179,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 5
    argNames:
    - pTq
    - pHandle
    - pRequest
    - pMsg
    - pOffset
    argTypes:
    - STQ*
    - STqHandle*
    - SMqPollReq*
    - SRpcMsg*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 205
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 205
    functionName: extractDataAndRspForNormalSubscribe
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRsp
    - TSDB_CHECK_CODE
    - tqDebug
    - tqInitDataRsp
    - tOffsetCopy
    - tqSendDataRsp
    - walGetCommittedVer
    - tqError
    - tstrerror
    - qSetTaskId
    - taosWUnLockLatch
    - TD_VID
    - tFormatOffset
    - tqScanData
    - taosWLockLatch
    - tqRegisterPushHandle
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractDataAndRspForNormalSubscribe(STQ* pTq, STqHandle*
      pHandle, const SMqPollReq* pRequest, SRpcMsg* pMsg, STqOffsetVal* pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:58,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:61,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:65,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:59,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:60,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:66,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:68,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:69,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:71,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:72,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:81,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:82,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:79,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:80,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:75,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:83,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:79,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - pRsp
    - pOffset
    argTypes:
    - SMqDataRsp*
    - STqOffsetVal
    constantsTouched: []
    func_position:
      end: 86
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 86
    functionName: tqInitTaosxRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tOffsetCopy
    - tqDebug
    - taosArrayDestroy
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqInitTaosxRsp(SMqDataRsp* pRsp, STqOffsetVal pOffset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - parm
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: tDeleteCommon
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tDeleteCommon(void* parm) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:235,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:236,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:238,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:246,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:237,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:248,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:252,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:253,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:254,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:256,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:258,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:257,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:261,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:265,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:264,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:265,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:264,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - btMetaRsp
    - type
    - bodyLen
    - body
    argTypes:
    - SMqBatchMetaRsp*
    - int16_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 269
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 269
    functionName: buildBatchMeta
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tEncodeMqMetaRsp
    - tEncoderClear
    - tEncoderInit
    - taosMemoryCalloc
    - tqError
    - POINTER_SHIFT
    - taosArrayPush
    - tEncodeSize
    - TQ_NULL_GO_TO_END
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBatchMeta(SMqBatchMetaRsp *btMetaRsp, int16_t
      type, int32_t bodyLen, void* body) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - pMsgHead
    - type
    - epoch
    - consumerId
    - sver
    - ever
    argTypes:
    - SMqRspHead*
    - int32_t
    - int32_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: initMqRspHead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initMqRspHead(SMqRspHead* pMsgHead, int32_t type, int32_t
      epoch, int64_t consumerId, int64_t sver, int64_t ever) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:564,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:575,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:566,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:571,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:569,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:576,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:578,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:581,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:582,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:583,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:585,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:592,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:591,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:586,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - pHandle
    - pMsg
    - pReq
    - pRsp
    - vgId
    argTypes:
    - STqHandle*
    - SRpcMsg*
    - SMqPollReq*
    - SMqMetaRsp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 596
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 596
    functionName: tqSendMetaPollRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tEncodeMqMetaRsp
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - initMqRspHead
    - tqDebug
    - walReaderValidVersionRange
    - TAOS_GET_TERRNO
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSendMetaPollRsp(STqHandle* pHandle, const SRpcMsg* pMsg,
      const SMqPollReq* pReq, const SMqMetaRsp* pRsp, int32_t vgId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeDeleteRes
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:665,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:668,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:703,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:707,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:718,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:666,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:674,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:688,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:700,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:710,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:711,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:717,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:727,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:690,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:705,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:661,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:662,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:694,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:701,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:709,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:715,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:735,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:706,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:708,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:733,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:664,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:677,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:687,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:686,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:691,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:695,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:698,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:699,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:702,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:704,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 6
    argNames:
    - pData
    - len
    - ver
    - pRefBlock
    - type
    - blockType
    argTypes:
    - void*
    - int32_t
    - int64_t
    - void**
    - int32_t
    - EStreamType
    constantsTouched: []
    func_position:
      end: 738
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 738
    functionName: tqExtractDelDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - tDecoderInit
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosMemoryFree
    - taosAllocateQitem
    - colDataSetNULL
    - blockDataEnsureCapacity
    - colDataSetVal
    - taosArrayDestroy
    - tqError
    - TSDB_CHECK_NULL
    - createSpecialDataBlock
    - taosArrayGetSize
    - tDecoderClear
    - tDecodeDeleteRes
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqExtractDelDataBlock(const void* pData, int32_t len, int64_t
      ver, void** pRefBlock, int32_t type, EStreamType blockType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:47,1
    - Dst: streamMetaUpdateStageRole
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:48,1
    - Dst: tqScanWalAsync
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pTq
    - isLeader
    argTypes:
    - STQ*
    - bool
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: tqUpdateNodeStage
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tqScanWalAsync
    - syncGetState
    - streamMetaUpdateStageRole
    linkageType: ''
    returnType: void
    signature: 'void tqUpdateNodeStage(STQ* pTq, bool isLeader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tqMetaGetOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:95,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:101,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:104,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:105,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:96,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:113,1
    - Dst: tqOffsetResetToMeta
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:116,1
    - Dst: tqOffsetResetToData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:119,1
    - Dst: walRefFirstVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:122,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:123,1
    - Dst: walRefLastVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:126,1
    - Dst: tDeleteMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:137,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:128,1
    - Dst: tqSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:136,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:134,1
    - Dst: tqInitDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:130,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:142,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 6
    argNames:
    - pOffsetVal
    - pTq
    - pHandle
    - pRequest
    - pMsg
    - pBlockReturned
    argTypes:
    - STqOffsetVal*
    - STQ*
    - STqHandle*
    - SMqPollReq*
    - SRpcMsg*
    - bool*
    constantsTouched: []
    func_position:
      end: 150
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 150
    functionName: extractResetOffsetVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRsp
    - tOffsetCopy
    - tqDebug
    - tqOffsetResetToMeta
    - tqInitDataRsp
    - walRefFirstVer
    - tqSendDataRsp
    - tqError
    - TD_VID
    - tqOffsetResetToData
    - tqOffsetResetToLog
    - tFormatOffset
    - tqMetaGetOffset
    - walRefLastVer
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractResetOffsetVal(STqOffsetVal* pOffsetVal, STQ*
      pTq, STqHandle* pHandle, const SMqPollReq* pRequest, SRpcMsg* pMsg, bool* pBlockReturned) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:274,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:276,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:277,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:278,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:275,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:279,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:279,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:281,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:286,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:287,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:289,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:294,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:289,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:291,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - taosxRsp
    - pBuf
    - len
    argTypes:
    - SMqDataRsp*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 296
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 296
    functionName: buildCreateTbBatchReqBinary
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tEncodeSVCreateTbBatchReq
    - taosArrayDestroy
    - taosArrayPush
    - POINTER_SHIFT
    - tEncodeSize
    - taosArrayGetSize
    - TQ_NULL_GO_TO_END
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTbBatchReqBinary(SMqDataRsp *taosxRsp, void**
      pBuf, int32_t *len) '
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:359,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:622,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:633,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:758,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:824,1
    - Dst: tDecodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:839,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:868,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:855,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:861,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:431,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:486,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:314,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:316,1
    - Dst: tqTaosxScanLog
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:414,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:536,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:630,1
    - Dst: tEncodeSTaosxRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:640,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:688,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:692,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:868,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:690,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:424,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:581,1
    - Dst: tEncodeMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:709,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:736,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:848,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:844,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:571,1
    - Dst: tDeleteSTaosxRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:461,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:578,1
    - Dst: tDeleteMqBatchMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:460,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:566,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:583,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:614,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:645,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:691,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:698,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:825,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:847,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:318,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:360,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:409,1
    - Dst: extractResetOffsetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:476,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:551,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:585,1
    - Dst: tDecodeDeleteRes
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:665,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:774,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:860,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:799,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:457,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:339,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:397,1
    - Dst: tEncodeMqMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:582,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:564,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:649,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:674,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:697,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:727,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:869,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:569,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:531,1
    - Dst: walReaderVerifyOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:336,1
    - Dst: IS_OFFSET_RESET_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:474,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:526,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:543,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:592,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:662,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:735,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:742,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:664,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:708,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:733,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:575,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:343,1
    - Dst: PROCESS_EXCLUDED_MSG
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:370,1
    - Dst: PROCESS_EXCLUDED_MSG
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:374,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:414,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:499,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:677,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:702,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:718,1
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:756,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:794,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:687,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:320,1
    - Dst: buildBatchMeta
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:421,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:538,1
    - Dst: tEncodeMqBatchMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:542,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:524,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:591,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:628,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:703,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:854,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:870,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:814,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:432,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:541,1
    - Dst: buildBatchMeta
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:391,1
    - Dst: buildCreateTbBatchReqBinary
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:700,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:711,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:779,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:784,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:796,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:705,1
    - Dst: tqFetchLog
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:351,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:331,1
    - Dst: PROCESS_EXCLUDED_MSG
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:372,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:440,1
    - Dst: extractDataAndRspForNormalSubscribe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:492,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:535,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:576,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:675,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:694,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:701,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:798,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:806,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:840,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:828,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:772,1
    - Dst: extractDataAndRspForDbStbSubscribe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:494,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:501,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:552,1
    - Dst: tqScanTaosx
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:316,1
    - Dst: tqInitTaosxRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:314,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:345,1
    - Dst: tqSendMetaPollRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:388,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:586,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:642,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:325,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:381,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:499,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:644,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:668,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:678,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:707,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:761,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:845,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:309,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:397,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:423,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:529,1
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:471,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:612,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:618,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:666,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:710,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:717,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:786,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:857,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:546,1
    - Dst: tqOffsetResetToLog
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:384,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:661,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:715,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:856,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:706,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:416,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:550,1
    - Dst: tqSendBatchMetaPollRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:319,1
    - Dst: tqSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:328,1
    - Dst: PROCESS_EXCLUDED_MSG
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:376,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:380,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:686,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:695,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:699,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:704,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:838,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 466
    argCount: 5
    argNames:
    - pTq
    - pHandle
    - pRequest
    - pMsg
    - offset
    argTypes:
    - STQ*
    - STqHandle*
    - SMqPollReq*
    - SRpcMsg*
    - STqOffsetVal*
    constantsTouched: []
    func_position:
      end: 873
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 873
    functionName: extractDataAndRspForDbStbSubscribe
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - walReaderGetCurrentVer
    - tqSendBatchMetaPollRsp
    - taosMemoryFree
    - IS_OFFSET_RESET_TYPE
    - tEncoderInit
    - colDataSetVal
    - walCloseReader
    - uError
    - TSDB_CHECK_NULL
    - walReaderVerifyOffset
    - taosArrayGetSize
    - tDecodeSVDropTbBatchReq
    - taosArrayInit
    - buildBatchMeta
    - taosGetTimestampMs
    - tEncodeMqMetaRsp
    - tqDebug
    - taosArrayDestroy
    - tOffsetDestroy
    - colDataSetNULL
    - extractDataAndRspForDbStbSubscribe
    - taosArrayDestroyP
    - HAS_RELATED_FILLHISTORY_TASK
    - walOpenReader
    - walFetchHead
    - tqScanTaosx
    - extractDataAndRspForNormalSubscribe
    - buildCreateTbBatchReqBinary
    - tEncodeSize
    - rpcFreeCont
    - tqSendMetaPollRsp
    - tqFetchLog
    - TMSG_INFO
    - TSDB_CHECK_CODE
    - tOffsetCopy
    - tmsgSendRsp
    - taosArrayGet
    - blockDataEnsureCapacity
    - tqSendDataRsp
    - streamMetaRLock
    - tqInitTaosxRsp
    - TQ_ERR_GO_TO_END
    - TAOS_GET_TERRNO
    - walReaderValidVersionRange
    - tEncodeMqBatchMetaRsp
    - createSpecialDataBlock
    - TD_VID
    - tqOffsetResetToLog
    - streamMetaRUnLock
    - extractResetOffsetVal
    - rpcMallocCont
    - tDecodeDeleteRes
    - taosAllocateQitem
    - blockDataCleanup
    - tDecoderInit
    - tEncoderClear
    - initMqRspHead
    - tEncodeMqDataRsp
    - atomic_load_32
    - tEncodeSTaosxRsp
    - tDeleteMqBatchMetaRsp
    - tqError
    - tDeleteSTaosxRsp
    - tstrerror
    - POINTER_SHIFT
    - streamMetaAcquireTaskUnsafe
    - PROCESS_EXCLUDED_MSG
    - streamMetaReleaseTask
    - tqTaosxScanLog
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractDataAndRspForDbStbSubscribe(STQ* pTq, STqHandle*
      pHandle, const SMqPollReq* pRequest, SRpcMsg* pMsg, STqOffsetVal* offset) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tOffsetCopy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:471,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:486,1
    - Dst: extractDataAndRspForNormalSubscribe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:492,1
    - Dst: extractResetOffsetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:476,1
    - Dst: IS_OFFSET_RESET_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:474,1
    - Dst: extractDataAndRspForDbStbSubscribe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:494,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:499,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:501,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 33
    argCount: 4
    argNames:
    - pTq
    - pHandle
    - pRequest
    - pMsg
    argTypes:
    - STQ*
    - STqHandle*
    - SMqPollReq*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 503
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 503
    functionName: tqExtractDataForMq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - IS_OFFSET_RESET_TYPE
    - tOffsetCopy
    - tOffsetDestroy
    - extractDataAndRspForDbStbSubscribe
    - tstrerror
    - uError
    - extractDataAndRspForNormalSubscribe
    - extractResetOffsetVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqExtractDataForMq(STQ* pTq, STqHandle* pHandle, const SMqPollReq*
      pRequest, SRpcMsg* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:524,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:531,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:535,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:529,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:526,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:536,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:538,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:541,1
    - Dst: tEncodeMqBatchMetaRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:542,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:543,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:545,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:550,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:551,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:552,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:546,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - pHandle
    - pMsg
    - pReq
    - pRsp
    - vgId
    argTypes:
    - STqHandle*
    - SRpcMsg*
    - SMqPollReq*
    - SMqBatchMetaRsp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 555
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 555
    functionName: tqSendBatchMetaPollRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - initMqRspHead
    - tqDebug
    - walReaderValidVersionRange
    - TAOS_GET_TERRNO
    - tEncodeMqBatchMetaRsp
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - taosArrayGetSize
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSendBatchMetaPollRsp(STqHandle* pHandle, const SRpcMsg*
      pMsg, const SMqPollReq* pReq, const SMqBatchMetaRsp* pRsp, int32_t vgId) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:612,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:622,1
    - Dst: initMqRspHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:628,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:614,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:618,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:630,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:633,1
    - Dst: tEncodeMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:638,1
    - Dst: tEncodeSTaosxRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:640,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:642,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:645,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:649,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:644,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 7
    argNames:
    - pRpcHandleInfo
    - pRsp
    - epoch
    - consumerId
    - type
    - sver
    - ever
    argTypes:
    - SRpcHandleInfo*
    - SMqDataRsp*
    - int32_t
    - int64_t
    - int32_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 651
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 651
    functionName: tqDoSendDataRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - initMqRspHead
    - tEncodeMqDataRsp
    - tEncodeSTaosxRsp
    - TAOS_GET_TERRNO
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqDoSendDataRsp(const SRpcHandleInfo* pRpcHandleInfo, SMqDataRsp*
      pRsp, int32_t epoch, int64_t consumerId, int32_t type, int64_t sver, int64_t
      ever) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:742,1
    - Dst: streamMetaRLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:756,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:772,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:761,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:758,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:774,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:779,1
    - Dst: HAS_RELATED_FILLHISTORY_TASK
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:784,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:786,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:794,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:796,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:798,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:806,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:814,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:824,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:799,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:825,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:828,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 4
    argNames:
    - pVnode
    - streamId
    - pDelay
    - fhFinished
    argTypes:
    - SVnode*
    - int64_t
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 831
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 831
    functionName: tqGetStreamExecInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - walReaderGetCurrentVer
    - taosArrayGet
    - streamMetaRLock
    - HAS_RELATED_FILLHISTORY_TASK
    - walReaderValidVersionRange
    - walOpenReader
    - walCloseReader
    - tqError
    - walFetchHead
    - streamMetaAcquireTaskUnsafe
    - streamMetaRUnLock
    - taosArrayGetSize
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqGetStreamExecInfo(SVnode* pVnode, int64_t streamId, int64_t*
      pDelay, bool* fhFinished) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:838,1
    - Dst: tDecodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:839,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:840,1
    - Dst: createSpecialDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:844,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:845,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:847,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:854,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:855,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:856,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:868,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:870,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:868,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:866,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:860,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:869,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:857,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c:861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 5
    argNames:
    - data
    - len
    - ver
    - pRefBlock
    - type
    argTypes:
    - void*
    - int32_t
    - int64_t
    - void**
    - int32_t
    constantsTouched: []
    func_position:
      end: 873
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 873
    functionName: tqExtractDropCtbDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqUtil.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - tDecoderInit
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosMemoryFree
    - blockDataEnsureCapacity
    - colDataSetVal
    - tqError
    - tstrerror
    - createSpecialDataBlock
    - TSDB_CHECK_NULL
    - tDecodeSVDropTbBatchReq
    - tDecoderClear
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqExtractDropCtbDataBlock(const void* data, int32_t len, int64_t
      ver, void** pRefBlock, int32_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:120,1
    - Dst: tDeleteSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:125,1
    - Dst: tDecodeSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:121,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - pVal
    - vLen
    argTypes:
    - STqOffset*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: tqMetaDecodeOffsetInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tDecodeSTqOffset
    - tDecoderInit
    - tDeleteSTqOffset
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaDecodeOffsetInfo(STqOffset* info, void* pVal, uint32_t
      vLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:171,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:173,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:174,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:172,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:173,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:174,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:175,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:175,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:180,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - pTq
    - ttb
    - key
    - kLen
    - value
    - vLen
    argTypes:
    - STQ*
    - TTB*
    - void*
    - uint32_t
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: tqMetaSaveInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - TQ_ERR_GO_TO_END
    - tdbPostCommit
    - tdbAbort
    - tdbTbUpsert
    - tdbBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaSaveInfo(STQ* pTq, TTB* ttb, const void* key, uint32_t
      kLen, const void* value, uint32_t vLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:24,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:27,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:29,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:35,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:40,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:44,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:46,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:26,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:25,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:28,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:49,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:27,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:32,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:34,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:29,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:39,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:41,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:46,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:44,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:25,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:24,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:26,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:28,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:30,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:32,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:35,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:30,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:37,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:40,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - pEncoder
    - pHandle
    argTypes:
    - SEncoder*
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 56
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 56
    functionName: tEncodeSTqHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - taosHashIterate
    - tEndEncode
    - taosHashGetSize
    - tEncodeCStr
    - tStartEncode
    - taosHashGetKey
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSTqHandle(SEncoder* pEncoder, const STqHandle* pHandle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:139,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:150,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:156,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:144,1
    - Dst: tEncodeSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:151,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:156,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:156,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - pTq
    - pOffset
    argTypes:
    - STQ*
    - STqOffset*
    constantsTouched: []
    func_position:
      end: 162
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 162
    functionName: tqMetaSaveOffset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeSTqOffset
    - taosMemoryFree
    - taosMemoryCalloc
    - TQ_ERR_GO_TO_END
    - strlen
    - tEncodeSize
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaSaveOffset(STQ* pTq, STqOffset* pOffset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:191,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:193,1
    - Dst: tdbTbDelete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:193,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:194,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:192,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:194,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:195,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:195,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pTq
    - ttb
    - key
    - kLen
    argTypes:
    - STQ*
    - TTB*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: tqMetaDeleteInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - TQ_ERR_GO_TO_END
    - tdbPostCommit
    - tdbAbort
    - tdbBegin
    - tdbTbDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaDeleteInfo(STQ* pTq, TTB* ttb, const void* key, uint32_t
      kLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:607,1
    - Dst: tdbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:615,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:610,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: tqMetaClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbTbClose
    - tdbClose
    linkageType: ''
    returnType: void
    signature: 'void tqMetaClose(STQ* pTq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:447,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:451,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:450,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:447,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:450,1
    - Dst: tqMetaRestoreHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:455,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:457,1
    - Dst: tqDestroyTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:458,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:461,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:462,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:462,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - pTq
    - key
    - pHandle
    argTypes:
    - STQ*
    - char*
    - STqHandle**
    constantsTouched: []
    func_position:
      end: 470
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 470
    functionName: tqMetaGetHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tqDestroyTqHandle
    - tdbFree
    - taosHashGet
    - strlen
    - tdbTbGet
    - tqMetaRestoreHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaGetHandle(STQ* pTq, const char* key, STqHandle** pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqBuildFName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:491,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 498
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 498
    functionName: replaceTqPath
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqBuildFName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t replaceTqPath(char** path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:477,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:479,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:478,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:477,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:478,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:479,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:480,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: tqMetaOpenTdb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbOpen
    - TQ_ERR_GO_TO_END
    - tdbTbOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaOpenTdb(STQ* pTq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:512,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:515,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:512,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:513,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:513,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:516,1
    - Dst: tqMetaDecodeCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:516,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:517,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:517,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:517,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:522,1
    - Dst: tDeleteSTqCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:525,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:524,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 527
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 527
    functionName: tqMetaRestoreCheckInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tdbTbcNext
    - TQ_ERR_GO_TO_END
    - tdbFree
    - strlen
    - tdbTbcOpen
    - taosHashPut
    - tdbTbcClose
    - tDeleteSTqCheckInfo
    - tqMetaDecodeCheckInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqMetaRestoreCheckInfo(STQ* pTq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: walOpenRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:284,1
    - Dst: qCreateQueueExecTaskInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:297,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:302,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:304,1
    - Dst: tqReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:308,1
    - Dst: buildSnapContext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:310,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:323,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:333,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:339,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:343,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:307,1
    - Dst: qCreateQueueExecTaskInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:312,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:306,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:319,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:327,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:332,1
    - Dst: tqReaderSetTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:340,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:343,1
    - Dst: qExtractStreamScanner
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:301,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:310,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:309,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:315,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:316,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:318,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:319,1
    - Dst: buildSnapContext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:323,1
    - Dst: qGetTableList
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:329,1
    - Dst: tqReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:338,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:282,1
    - Dst: initStorageAPI
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:294,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:285,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:299,1
    - Dst: qExtractReaderFromStreamScanner
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:303,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:313,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:317,1
    - Dst: qCreateQueueExecTaskInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:326,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:336,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:341,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - pTq
    - handle
    argTypes:
    - STQ*
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 347
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 347
    functionName: tqMetaInitHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - terrstr
    - buildSnapContext
    - tqReaderSetTbUidList
    - taosHashInit
    - qExtractReaderFromStreamScanner
    - taosArrayDestroy
    - initStorageAPI
    - walOpenReader
    - qGetTableList
    - tqInfo
    - qCreateQueueExecTaskInfo
    - walOpenRef
    - taosGetDefaultHashFunction
    - qExtractStreamScanner
    - tqReaderOpen
    - TQ_ERR_GO_TO_END
    - TD_VID
    - TQ_NULL_GO_TO_END
    - strcmp
    - tqError
    - nodesStringToNode
    linkageType: ''
    returnType: int
    signature: 'static int tqMetaInitHandle(STQ* pTq, STqHandle* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:536,1
    - Dst: tqMetaOpenTdb
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:539,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:548,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:545,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:537,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:538,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:539,1
    - Dst: tqBuildFName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:545,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:546,1
    - Dst: tqMetaRestoreCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:551,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:554,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:555,1
    - Dst: tqBuildFName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:536,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:541,1
    - Dst: tqMetaTransform
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:541,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:542,1
    - Dst: tqOffsetRestoreFromFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:547,1
    - Dst: replaceTqPath
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:538,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:542,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:551,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:547,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:548,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 557
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 557
    functionName: tqMetaOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqOffsetRestoreFromFile
    - TQ_ERR_GO_TO_END
    - replaceTqPath
    - taosCheckExistFile
    - tqMetaTransform
    - tqBuildFName
    - tqMetaRestoreCheckInfo
    - tqMetaOpenTdb
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaOpen(STQ* pTq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:353,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:359,1
    - Dst: tDecodeSTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:358,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:358,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:357,1
    - Dst: tqMetaInitHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:359,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:360,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:361,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:361,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - pTq
    - pVal
    - vLen
    - handle
    argTypes:
    - STQ*
    - void*
    - uint32_t
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 366
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 366
    functionName: tqMetaRestoreHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSTqHandle
    - TQ_ERR_GO_TO_END
    - tqMetaInitHandle
    - strlen
    - TD_VID
    - tqInfo
    - taosHashPut
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqMetaRestoreHandle(STQ* pTq, void* pVal, uint32_t
      vLen, STqHandle* handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:571,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:573,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:584,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:587,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:593,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:569,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:572,1
    - Dst: replaceTqPath
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:575,1
    - Dst: tqMetaOpenTdb
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:576,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:578,1
    - Dst: tqMetaTransformInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:579,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:581,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:585,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:595,1
    - Dst: tdbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:571,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:573,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:576,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:583,1
    - Dst: tdbTbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:596,1
    - Dst: tqBuildFName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:569,1
    - Dst: tdbTbOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:572,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:575,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:579,1
    - Dst: tqBuildFName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:581,1
    - Dst: tqMetaTransformInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:578,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:587,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:592,1
    - Dst: tdbClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 599
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 599
    functionName: tqMetaTransform
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tdbTbOpen
    - tdbOpen
    - TQ_ERR_GO_TO_END
    - replaceTqPath
    - tqError
    - taosRemoveFile
    - tdbTbClose
    - taosCheckExistFile
    - taosCopyFile
    - tqBuildFName
    - tqMetaOpenTdb
    - tqMetaTransformInfo
    - tdbClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaTransform(STQ* pTq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:65,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:68,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:69,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:71,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:85,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:89,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:66,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:69,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:70,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:73,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:88,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:90,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:93,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:67,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:67,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:71,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:76,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:70,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:81,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:84,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:85,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:65,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:66,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:68,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:76,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:78,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:73,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:81,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:84,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:88,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:90,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 2
    argNames:
    - pDecoder
    - pHandle
    argTypes:
    - SDecoder*
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: tDecodeSTqHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tDecodeIsEnd
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - taosHashPut
    - taosGetDefaultHashFunction
    - tDecodeCStrAlloc
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSTqHandle(SDecoder* pDecoder, STqHandle* pHandle) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:208,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:211,1
    - Dst: tdbTbGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:211,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:208,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:212,1
    - Dst: tqMetaDecodeOffsetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:217,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:218,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:222,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:222,1
    - Dst: tDeleteSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:223,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:224,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:229,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:227,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:229,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - pTq
    - subkey
    - pOffset
    argTypes:
    - STQ*
    - char*
    - STqOffset**
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: tqMetaGetOffset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tqMetaDecodeOffsetInfo
    - tdbFree
    - taosHashGet
    - strlen
    - tdbTbGet
    - taosHashPut
    - tDeleteSTqOffset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaGetOffset(STQ* pTq, const char* subkey, STqOffset**
      pOffset) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:372,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:380,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:387,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:387,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:374,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:393,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:400,1
    - Dst: tqMetaInitHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:402,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:406,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:408,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:408,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - pTq
    - req
    - handle
    argTypes:
    - STQ*
    - SMqRebVgReq*
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 409
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 409
    functionName: tqMetaCreateHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tqMetaInitHandle
    - walGetCommittedVer
    - taosHashPut
    - strlen
    - TD_VID
    - taosStrdup
    - tqInfo
    - memcpy
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaCreateHandle(STQ* pTq, SMqRebVgReq* req, STqHandle*
      handle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:104,1
    - Dst: tDeleteSTqCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:109,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:106,1
    - Dst: tDecodeSTqCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - info
    - pVal
    - vLen
    argTypes:
    - STqCheckInfo*
    - void*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 113
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 113
    functionName: tqMetaDecodeCheckInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeSTqCheckInfo
    - tDeleteSTqCheckInfo
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaDecodeCheckInfo(STqCheckInfo* info, void* pVal, uint32_t
      vLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:247,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:252,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:253,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:255,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:253,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:261,1
    - Dst: tEncodeSTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:262,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:267,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:267,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:267,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:271,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 3
    argNames:
    - pTq
    - key
    - pHandle
    argTypes:
    - STQ*
    - char*
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 273
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 273
    functionName: tqMetaSaveHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tqDebug
    - tEncoderInit
    - taosMemoryFree
    - taosMemoryCalloc
    - TQ_ERR_GO_TO_END
    - strlen
    - tEncodeSTqHandle
    - TD_VID
    - tEncodeSize
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMetaSaveHandle(STQ* pTq, const char* key, const STqHandle*
      pHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:424,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:425,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:426,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:428,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:424,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:428,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:429,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:430,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:430,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:433,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:437,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:434,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:434,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:438,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:433,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c:439,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - pMetaDB
    - pOld
    - pNew
    argTypes:
    - TDB*
    - TTB*
    - TTB*
    constantsTouched: []
    func_position:
      end: 441
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 441
    functionName: tqMetaTransformInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqMeta.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - tdbCommit
    - tdbTbcNext
    - TQ_ERR_GO_TO_END
    - tdbFree
    - tdbPostCommit
    - tdbTbUpsert
    - tdbTbcOpen
    - tdbBegin
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqMetaTransformInfo(TDB* pMetaDB, TTB* pOld, TTB* pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:205,1
    - Dst: encoder
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:207,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:209,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:209,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:214,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:216,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 4
    argNames:
    - pVnode
    - pReqs
    - (*encoder)
    - msgType
    argTypes:
    - SVnode*
    - void*
    - int32_t
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: tqPutReqToQueue
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - encoder
    - tqError
    - tstrerror
    - TD_VID
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqPutReqToQueue(SVnode* pVnode, void* pReqs, int32_t(*encoder)(void*
      pReqs, int32_t vgId, void** ppBuf, int32_t *contLen), tmsg_t msgType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:491,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:498,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:498,1
    - Dst: buildSubmitMsgImpl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:496,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:503,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:505,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:508,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:508,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:515,1
    - Dst: SIZE_IN_MiB
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:518,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:516,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 4
    argNames:
    - pVnode
    - pTask
    - pReq
    - numOfBlocks
    argTypes:
    - SVnode*
    - SStreamTask*
    - SSubmitReq2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 522
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 522
    functionName: doBuildAndSendSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tqDebug
    - terrstr
    - buildSubmitMsgImpl
    - tqError
    - tstrerror
    - SIZE_IN_MiB
    - TD_VID
    - tqInfo
    - taosArrayGetSize
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doBuildAndSendSubmitMsg(SVnode* pVnode, SStreamTask* pTask,
      SSubmitReq2* pReq, int32_t numOfBlocks) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:696,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:703,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:708,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:709,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:701,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:711,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:711,1
    - Dst: tEncodeSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:712,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:714,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:714,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:715,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:721,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:722,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:716,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - pSubmitReq
    - vgId
    - pMsg
    - msgLen
    argTypes:
    - SSubmitReq2*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 727
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 727
    functionName: buildSubmitMsgImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - htonl
    - tDestroySubmitReq
    - tEncoderClear
    - tEncoderInit
    - terrstr
    - tEncodeSubmitReq
    - tqError
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildSubmitMsgImpl(SSubmitReq2* pSubmitReq, int32_t vgId,
      void** pMsg, int32_t* msgLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:907,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:917,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:918,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:912,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:913,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:920,1
    - Dst: isValidDstChildTable
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:923,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:924,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:925,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:926,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:932,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:933,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - pVnode
    - pTask
    - dstTableName
    argTypes:
    - SVnode*
    - SStreamTask*
    - char*
    constantsTouched: []
    func_position:
      end: 938
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 938
    functionName: doWaitForDstTableDropped
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqDebug
    - metaGetTableEntryByName
    - isValidDstChildTable
    - tqError
    - metaReaderClear
    - TD_VID
    - metaReaderDoInit
    - taosMsleep
    - streamTaskShouldStop
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doWaitForDstTableDropped(SVnode* pVnode, SStreamTask*
      pTask, const char* dstTableName) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:58,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:68,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:69,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:88,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:90,1
    - Dst: metaGetTableNameByUid
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:106,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:120,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:57,1
    - Dst: isAutoTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:88,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:81,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:80,1
    - Dst: buildCtbNameByGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:96,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:112,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:116,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:56,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:65,1
    - Dst: colDataIsNull
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:75,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:76,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:80,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:86,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:101,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:107,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:131,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:59,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:70,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:86,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:87,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:86,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:121,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 81
    argCount: 6
    argNames:
    - pTq
    - stbFullName
    - pDataBlock
    - deleteReq
    - pIdStr
    - newSubTableRule
    argTypes:
    - STQ*
    - char*
    - SSDataBlock*
    - SBatchDeleteReq*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 135
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 135
    functionName: tqBuildDeleteReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - colDataIsNull
    - varDataLen
    - isAutoTableName
    - taosMemoryCalloc
    - tqDebug
    - taosMemoryMalloc
    - colDataGetData
    - varDataVal
    - buildCtbNameByGroupId
    - taosArrayPush
    - memcpy
    - metaGetTableNameByUid
    - taosArrayGet
    - alreadyAddGroupId
    - tqWarn
    - tstrncpy
    - buildCtbNameAddGroupId
    - TMAX
    - taosMemoryFreeClear
    - colDataGetVarData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqBuildDeleteReq(STQ* pTq, const char* stbFullName, const
      SSDataBlock* pDataBlock, SBatchDeleteReq* deleteReq, const char* pIdStr, bool
      newSubTableRule) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:230,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:232,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:232,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:234,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - pCreateTableReq
    - suid
    - stbFullName
    - numOfTags
    argTypes:
    - SVCreateTbReq*
    - uint64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: initCreateTableMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqError
    - taosStrdup
    - tNameFromString
    - tNameGetTableName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCreateTableMsg(SVCreateTbReq* pCreateTableReq, uint64_t
      suid, const char* stbFullName, int32_t numOfTags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 738
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 738
    functionName: tsAscendingSortFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsAscendingSortFn(const void* p1, const void* p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:941,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:942,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:948,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pDstTableName
    - pInfo
    argTypes:
    - char*
    - STableSinkInfo**
    constantsTouched: []
    func_position:
      end: 950
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 950
    functionName: doCreateSinkTableInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCreateSinkTableInfo(const char* pDstTableName, STableSinkInfo**
      pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1421,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1428,1
    - Dst: setDstTableDataUid
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1426,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1435,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1436,1
    - Dst: tqSetDstTableDataPayload
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1440,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1443,1
    - Dst: doRemoveSinkTableInfoInCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1444,1
    - Dst: doBuildAndSendSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1459,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1461,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1452,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1454,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1455,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1448,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1454,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - pTask
    - pDataBlock
    - index
    - pVnode
    - earlyTs
    argTypes:
    - SStreamTask*
    - SSDataBlock*
    - int32_t
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1465
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1465
    functionName: handleResultBlockMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tDestroySubmitReq
    - tqDebug
    - tqError
    - tstrerror
    - taosArrayPush
    - doBuildAndSendSubmitMsg
    - TD_VID
    - tqSetDstTableDataPayload
    - tdDestroySVCreateTbReq
    - doRemoveSinkTableInfoInCache
    - setDstTableDataUid
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t handleResultBlockMsg(SStreamTask* pTask, SSDataBlock* pDataBlock,
      int32_t index, SVnode* pVnode, int64_t earlyTs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:629,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:635,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pReader
    - vgId
    - ctbName
    - suid
    argTypes:
    - SMetaReader*
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: isValidDstChildTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqError
    linkageType: ''
    returnType: bool
    signature: 'bool isValidDstChildTable(SMetaReader* pReader, int32_t vgId, const
      char* ctbName, int64_t suid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1117,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1122,1
    - Dst: metaReaderGetTableEntryByUid
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1119,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1121,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1126,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1127,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1130,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pTask
    - pVnode
    argTypes:
    - SStreamTask*
    - SVnode*
    constantsTouched: []
    func_position:
      end: 1144
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1144
    functionName: checkTagSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - metaReaderGetTableEntryByUid
    - strcmp
    - tqError
    - tstrerror
    - metaReaderClear
    - tCloneSSchemaWrapper
    - metaReaderDoInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkTagSchema(SStreamTask* pTask, SVnode* pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1238,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - pTableInfoMap
    - groupId
    - pInfo
    argTypes:
    - SSHashObj*
    - uint64_t
    - STableSinkInfo**
    constantsTouched: []
    func_position:
      end: 1245
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1245
    functionName: doGetSinkTableInfoFromCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool doGetSinkTableInfoFromCache(SSHashObj* pTableInfoMap, uint64_t
      groupId, STableSinkInfo** pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:649,1
    - Dst: tTagNew
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:666,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:661,1
    - Dst: initCreateTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:655,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:654,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:668,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:669,1
    - Dst: createDefaultTagColName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:673,1
    - Dst: setCreateTableMsgTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:679,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 8
    argNames:
    - stbFullName
    - suid
    - numOfCols
    - pDataBlock
    - pTagArray
    - newSubTableRule
    - pReq
    - id
    argTypes:
    - char*
    - int64_t
    - int32_t
    - SSDataBlock*
    - SArray*
    - bool
    - SVCreateTbReq**
    - char*
    constantsTouched: []
    func_position:
      end: 687
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 687
    functionName: buildAutoCreateTableReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosMemoryCalloc
    - createDefaultTagColName
    - tTagNew
    - initCreateTableMsg
    - taosArrayPush
    - tdDestroySVCreateTbReq
    - setCreateTableMsgTableName
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildAutoCreateTableReq(const char* stbFullName, int64_t suid,
      int32_t numOfCols, SSDataBlock* pDataBlock, SArray* pTagArray, bool newSubTableRule,
      SVCreateTbReq** pReq, const char* id) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1152,1
    - Dst: tqSendAllNotifyEvents
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1164,1
    - Dst: checkTagSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1159,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1153,1
    - Dst: tsdbGetEarliestTs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1156,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1166,1
    - Dst: hasOnlySubmitData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1170,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1172,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1176,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1180,1
    - Dst: doBuildAndSendCreateTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1188,1
    - Dst: doBuildAndSendDropTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1192,1
    - Dst: rebuildAndSendMultiResBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1205,1
    - Dst: handleResultBlockMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1196,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1200,1
    - Dst: doBuildAndSendDeleteMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1186,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1201,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 3
    argNames:
    - pTask
    - vnode
    - data
    argTypes:
    - SStreamTask*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1146
    functionDepth: 0
    functionLinenumber: 1146
    functionLinenumberEnd: 1207
    functionName: tqSinkDataIntoDstTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqDebug
    - streamTaskShouldStop
    - taosArrayGet
    - doBuildAndSendCreateTableMsg
    - rebuildAndSendMultiResBlock
    - doBuildAndSendDropTableMsg
    - tqError
    - tqSendAllNotifyEvents
    - TD_VID
    - doBuildAndSendDeleteMsg
    - handleResultBlockMsg
    - taosArrayGetSize
    - hasOnlySubmitData
    - checkTagSchema
    - tsdbGetEarliestTs
    linkageType: ''
    returnType: void
    signature: 'void tqSinkDataIntoDstTable(SStreamTask* pTask, void* vnode, void*
      data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1248,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1256,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1252,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pSinkTableMap
    - groupId
    - id
    argTypes:
    - SSHashObj*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1259
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1259
    functionName: doRemoveSinkTableInfoInCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqError
    - tSimpleHashRemove
    - tqDebug
    - tSimpleHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doRemoveSinkTableInfoInCache(SSHashObj* pSinkTableMap, uint64_t
      groupId, const char* id) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:539,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:540,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:599,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:587,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:607,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:618,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:619,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:623,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:527,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:532,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:549,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:558,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:565,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:575,1
    - Dst: tRowDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:584,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:570,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:534,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:534,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:543,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:573,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:600,1
    - Dst: tRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:571,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:608,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:614,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:615,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 77
    argCount: 3
    argNames:
    - pExisted
    - pNew
    - id
    argTypes:
    - SSubmitTbData*
    - SSubmitTbData*
    - char*
    constantsTouched: []
    func_position:
      end: 625
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 625
    functionName: doMergeExistedRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tRowDestroy
    - tqTrace
    - tRowGetKey
    - tqError
    - tstrerror
    - taosArrayPush
    - tRowKeyCompare
    - tdDestroySVCreateTbReq
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeExistedRows(SSubmitTbData* pExisted, const SSubmitTbData*
      pNew, const char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:246,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:252,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pColNameList
    argTypes:
    - SArray**
    constantsTouched: []
    func_position:
      end: 260
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 260
    functionName: createDefaultTagColName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDefaultTagColName(SArray** pColNameList) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:306,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:309,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:308,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:320,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:324,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:360,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:369,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:373,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:386,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:399,1
    - Dst: doCreateSinkTableInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:407,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:319,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:328,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:345,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:355,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:356,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:358,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:334,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:380,1
    - Dst: setCreateTableMsgTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:393,1
    - Dst: doGetSinkTableInfoFromCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:405,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:425,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:311,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:351,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:354,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:379,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:388,1
    - Dst: IS_NEW_SUBTB_RULE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:393,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:409,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:429,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:415,1
    - Dst: initCreateTableMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:322,1
    - Dst: createDefaultTagColName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:339,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:352,1
    - Dst: tTagNew
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:368,1
    - Dst: doPutSinkTableInfoIntoCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:413,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:422,1
    - Dst: tqPutReqToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:423,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:430,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 105
    argCount: 5
    argNames:
    - pVnode
    - stbFullName
    - pDataBlock
    - pTask
    - suid
    argTypes:
    - SVnode*
    - char*
    - SSDataBlock*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 432
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 432
    functionName: doBuildAndSendCreateTableMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - varDataLen
    - initCreateTableMsg
    - doGetSinkTableInfoFromCache
    - tdDestroySVCreateTbReq
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayClear
    - tqDebug
    - taosArrayDestroy
    - createDefaultTagColName
    - colDataGetData
    - varDataVal
    - IS_NEW_SUBTB_RULE
    - taosArrayPush
    - taosArrayDestroyEx
    - memcpy
    - doCreateSinkTableInfo
    - taosArrayGet
    - tqPutReqToQueue
    - TMAX
    - setCreateTableMsgTableName
    - doPutSinkTableInfoIntoCache
    - colDataIsNull_s
    - tTagNew
    - tqError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildAndSendCreateTableMsg(SVnode* pVnode, char*
      stbFullName, SSDataBlock* pDataBlock, SStreamTask* pTask, int64_t suid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:746,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:781,1
    - Dst: IS_SET_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:786,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:805,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:811,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:821,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:822,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:845,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:745,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:749,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:753,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:753,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:768,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:773,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:792,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:798,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:819,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:830,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:774,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:777,1
    - Dst: colDataIsNull_s
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:803,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:810,1
    - Dst: colDataGetData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:818,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:821,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:823,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:829,1
    - Dst: tRowBuild
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:842,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:751,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:758,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:793,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:779,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:788,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:831,1
    - Dst: tDestroySubmitTbData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:844,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:846,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:850,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:856,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 82
    argCount: 5
    argNames:
    - pTableData
    - pTSchema
    - pDataBlock
    - earlyTs
    - id
    argTypes:
    - SSubmitTbData*
    - STSchema*
    - SSDataBlock*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 858
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 858
    functionName: doConvertRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tDestroySubmitTbData
    - varDataLen
    - tqTrace
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    - taosArrayClear
    - taosArrayDestroy
    - colDataGetData
    - varDataVal
    - taosArrayPush
    - taosArrayGet
    - qError
    - IS_SET_NULL
    - tRowBuild
    - COL_VAL_NULL
    - colDataIsNull_s
    - tqError
    - tstrerror
    - COL_VAL_VALUE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doConvertRows(SSubmitTbData* pTableData, const STSchema* pTSchema,
      SSDataBlock* pDataBlock, int64_t earlyTs, const char* id) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:969,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:977,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:983,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:989,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:998,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1031,1
    - Dst: buildAutoCreateTableReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1048,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1053,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1053,1
    - Dst: doPutSinkTableInfoIntoCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1059,1
    - Dst: isValidDstChildTable
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1066,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1050,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:960,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:972,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:968,1
    - Dst: doGetSinkTableInfoFromCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:964,1
    - Dst: buildCtbNameByGroupIdImpl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:984,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1019,1
    - Dst: doWaitForDstTableCreated
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1020,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1034,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1035,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1038,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1043,1
    - Dst: IS_NEW_SUBTB_RULE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1049,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:974,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:993,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1061,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1068,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1070,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1077,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1042,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:986,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:996,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:994,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1010,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1008,1
    - Dst: isAutoTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:992,1
    - Dst: doCreateSinkTableInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1006,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1022,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1040,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1054,1
    - Dst: doPutSinkTableInfoIntoCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1078,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1069,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 107
    argCount: 5
    argNames:
    - pVnode
    - pTask
    - pDataBlock
    - stbFullName
    - pTableData
    argTypes:
    - SVnode*
    - SStreamTask*
    - SSDataBlock*
    - char*
    - SSubmitTbData*
    constantsTouched: []
    func_position:
      end: 1084
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1084
    functionName: setDstTableDataUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - isAutoTableName
    - tqTrace
    - isValidDstChildTable
    - doGetSinkTableInfoFromCache
    - doWaitForDstTableCreated
    - taosArrayInit
    - tqDebug
    - taosArrayDestroy
    - buildCtbNameByGroupIdImpl
    - IS_NEW_SUBTB_RULE
    - metaReaderDoInit
    - buildAutoCreateTableReq
    - doCreateSinkTableInfo
    - alreadyAddGroupId
    - metaGetTableEntryByName
    - memset
    - tstrncpy
    - buildCtbNameAddGroupId
    - metaReaderClear
    - TD_VID
    - doPutSinkTableInfoIntoCache
    - tqError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setDstTableDataUid(SVnode* pVnode, SStreamTask* pTask, SSDataBlock*
      pDataBlock, char* stbFullName, SSubmitTbData* pTableData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1212,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pBlocks
    - numOfBlocks
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1223
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1223
    functionName: hasOnlySubmitData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool hasOnlySubmitData(const SArray* pBlocks, int32_t numOfBlocks) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1263,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1274,1
    - Dst: tqBuildDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1269,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1275,1
    - Dst: IS_NEW_SUBTB_RULE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1269,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1280,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1282,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1287,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1288,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1289,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1292,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1302,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1298,1
    - Dst: tEncodeSBatchDeleteReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1290,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1301,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1302,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - pVnode
    - stbFullName
    - pDataBlock
    - pTask
    - suid
    argTypes:
    - SVnode*
    - char*
    - SSDataBlock*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1306
      start: 1261
    functionDepth: 0
    functionLinenumber: 1261
    functionLinenumberEnd: 1306
    functionName: doBuildAndSendDeleteMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - taosArrayDestroy
    - tqDebug
    - terrstr
    - IS_NEW_SUBTB_RULE
    - tqBuildDeleteReq
    - qError
    - tEncodeSBatchDeleteReq
    - POINTER_SHIFT
    - tEncodeSize
    - TD_VID
    - taosArrayGetSize
    - tmsgPutToQueue
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doBuildAndSendDeleteMsg(SVnode* pVnode, char* stbFullName,
      SSDataBlock* pDataBlock, SStreamTask* pTask, int64_t suid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isAutoTableName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:265,1
    - Dst: buildCtbNameAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:273,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:267,1
    - Dst: alreadyAddGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:266,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:272,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:277,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:279,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:283,1
    - Dst: buildCtbNameByGroupId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:286,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:287,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 6
    argNames:
    - pCreateTableReq
    - pDataBlock
    - stbFullName
    - gid
    - newSubTableRule
    - id
    argTypes:
    - SVCreateTbReq*
    - SSDataBlock*
    - char*
    - int64_t
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: setCreateTableMsgTableName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqDebug
    - alreadyAddGroupId
    - isAutoTableName
    - taosMemoryCalloc
    - tstrncpy
    - buildCtbNameAddGroupId
    - buildCtbNameByGroupId
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setCreateTableMsgTableName(SVCreateTbReq* pCreateTableReq,
      SSDataBlock* pDataBlock, const char* stbFullName, int64_t gid, bool newSubTableRule,
      const char* id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doGetSinkTableInfoFromCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:468,1
    - Dst: tqPutReqToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:475,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:484,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:458,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:459,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:451,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:455,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:473,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:465,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:480,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:445,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:454,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:455,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:455,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:456,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:463,1
    - Dst: isValidDstChildTable
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:466,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:466,1
    - Dst: doWaitForDstTableDropped
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:479,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:476,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 5
    argNames:
    - pVnode
    - pStbFullname
    - pDataBlock
    - pTask
    - suid
    argTypes:
    - SVnode*
    - char*
    - SSDataBlock*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 487
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 487
    functionName: doBuildAndSendDropTableMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tqDebug
    - metaGetTableEntryByName
    - varDataLen
    - taosArrayDestroy
    - isValidDstChildTable
    - varDataVal
    - colDataGetVarData
    - tqPutReqToQueue
    - doWaitForDstTableDropped
    - metaReaderClear
    - taosArrayPush
    - doGetSinkTableInfoFromCache
    - TD_VID
    - memcpy
    - metaReaderDoInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildAndSendDropTableMsg(SVnode* pVnode, char* pStbFullname,
      SSDataBlock* pDataBlock, SStreamTask* pTask, int64_t suid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:862,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:866,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:870,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:869,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:874,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:876,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:882,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:884,1
    - Dst: isValidDstChildTable
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:886,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:888,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:897,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:894,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:899,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:898,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - pVnode
    - pTask
    - pTableSinkInfo
    - dstTableName
    - uid
    argTypes:
    - SVnode*
    - SStreamTask*
    - STableSinkInfo*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 904
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 904
    functionName: doWaitForDstTableCreated
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqDebug
    - metaGetTableEntryByName
    - isValidDstChildTable
    - tqError
    - taosGetTimestampSec
    - metaReaderClear
    - TD_VID
    - metaReaderDoInit
    - taosMsleep
    - streamTaskShouldStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doWaitForDstTableCreated(SVnode* pVnode, SStreamTask* pTask,
      STableSinkInfo* pTableSinkInfo, const char* dstTableName, int64_t* uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1091,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1097,1
    - Dst: doConvertRows
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1095,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1097,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1102,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1103,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 7
    argNames:
    - suid
    - pTSchema
    - blockIndex
    - pDataBlock
    - pTableData
    - earlyTs
    - id
    argTypes:
    - uint64_t
    - STSchema*
    - int32_t
    - SSDataBlock*
    - SSubmitTbData*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1107
    functionName: tqSetDstTableDataPayload
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tqDebug
    - tqTrace
    - doConvertRows
    - tqError
    - tstrerror
    - taosArraySort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSetDstTableDataPayload(uint64_t suid, const STSchema* pTSchema,
      int32_t blockIndex, SSDataBlock* pDataBlock, SSubmitTbData* pTableData, int64_t
      earlyTs, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1226,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1231,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1230,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - pSinkTableMap
    - pTableSinkInfo
    - groupId
    - id
    argTypes:
    - SSHashObj*
    - STableSinkInfo*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1235
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1235
    functionName: doPutSinkTableInfoIntoCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetSize
    - taosMemoryFreeClear
    - tqDebug
    - tSimpleHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doPutSinkTableInfoIntoCache(SSHashObj* pSinkTableMap, STableSinkInfo*
      pTableSinkInfo, uint64_t groupId, const char* id) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1323,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1353,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1360,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1369,1
    - Dst: doRemoveSinkTableInfoInCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1361,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1376,1
    - Dst: tdDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1383,1
    - Dst: doMergeExistedRows
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1394,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1312,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1330,1
    - Dst: tqSetDstTableDataPayload
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1357,1
    - Dst: doBuildAndSendSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1406,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1320,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1324,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1349,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1373,1
    - Dst: tqSetDstTableDataPayload
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1380,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1389,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1408,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1412,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1318,1
    - Dst: setDstTableDataUid
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1351,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1367,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1403,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:1411,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 4
    argNames:
    - pTask
    - pBlocks
    - pVnode
    - earlyTs
    argTypes:
    - SStreamTask*
    - SArray*
    - SVnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1414
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1414
    functionName: rebuildAndSendMultiResBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - tdDestroySVCreateTbReq
    - taosArrayGetSize
    - taosHashInit
    - taosHashCleanup
    - taosArrayInit
    - tqDebug
    - taosArrayPush
    - tqSetDstTableDataPayload
    - taosHashPut
    - taosGetDefaultHashFunction
    - doRemoveSinkTableInfoInCache
    - taosArrayGet
    - taosHashGet
    - doBuildAndSendSubmitMsg
    - setDstTableDataUid
    - doMergeExistedRows
    - tDestroySubmitReq
    - tqError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'void rebuildAndSendMultiResBlock(SStreamTask* pTask, const SArray*
      pBlocks, SVnode* pVnode, int64_t earlyTs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:140,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:152,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:146,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:154,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:154,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:155,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:156,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:159,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pReqs
    - vgId
    - pBuf
    - contLen
    argTypes:
    - void*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 167
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 167
    functionName: encodeCreateChildTableForRPC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - tEncodeSVCreateTbBatchReq
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t encodeCreateChildTableForRPC(void* pReqs, int32_t vgId,
      void** pBuf, int32_t* contLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:172,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:178,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:188,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:188,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:186,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:189,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:190,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pReqs
    - vgId
    - ppBuf
    - contLen
    argTypes:
    - void*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 200
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 200
    functionName: encodeDropChildTableForRPC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSink.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - POINTER_SHIFT
    - tEncodeSize
    - tEncodeSVDropTbBatchReq
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t encodeDropChildTableForRPC(void* pReqs, int32_t vgId,
      void** ppBuf, int32_t *contLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:48,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:51,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:50,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:57,1
    - Dst: blockEncode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:59,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:60,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:63,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:63,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:64,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:64,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:71,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:71,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:70,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - pBlock
    - pRsp
    - numOfCols
    - precision
    argTypes:
    - SSDataBlock*
    - SMqDataRsp*
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 74
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 74
    functionName: tqAddBlockDataToRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryFree
    - taosMemoryCalloc
    - tqTrace
    - blockEncode
    - blockGetEncodeSize
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - htobe64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqAddBlockDataToRsp(const SSDataBlock* pBlock, SMqDataRsp*
      pRsp, int32_t numOfCols, int8_t precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qStreamSetOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:117,1
    - Dst: qExecTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:115,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:114,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:117,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - task
    - pHandle
    - vgId
    - res
    argTypes:
    - qTaskInfo_t
    - STqHandle*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 123
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 123
    functionName: getDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - tqDebug
    - qExecTask
    - qStreamSetOpen
    - tqError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getDataBlock(qTaskInfo_t task, const STqHandle* pHandle, int32_t
      vgId, SSDataBlock** res) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:185,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:198,1
    - Dst: qStreamSetSourceExcluded
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:200,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:201,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:205,1
    - Dst: tqAddBlockDataToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:215,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:197,1
    - Dst: tqProcessReplayRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:208,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:209,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:220,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:188,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:189,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:186,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:225,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:226,1
    - Dst: getDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:204,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:191,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:216,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:230,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:230,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - pTq
    - pHandle
    - pRsp
    - pOffset
    - pRequest
    argTypes:
    - STQ*
    - STqHandle*
    - SMqDataRsp*
    - STqOffsetVal*
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 233
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 233
    functionName: tqScanData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - TSDB_CHECK_CODE
    - tqDebug
    - tqProcessReplayRsp
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - qStreamSetSourceExcluded
    - TD_VID
    - qStreamPrepareScan
    - qStreamExtractOffset
    - tqAddBlockDataToRsp
    - getDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqScanData(STQ* pTq, STqHandle* pHandle, SMqDataRsp* pRsp,
      STqOffsetVal* pOffset, const SMqPollReq* pRequest) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tqRetrieveTaosxBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:336,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:345,1
    - Dst: tqAddBlockDataToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:370,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:371,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:339,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:355,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:349,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:354,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:385,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:388,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:332,1
    - Dst: tqAddTbNameToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:348,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:352,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:365,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:379,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:390,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:391,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:330,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:333,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:331,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:337,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:345,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:370,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:360,1
    - Dst: tqAddRawDataToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:359,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:377,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:378,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 63
    argCount: 6
    argNames:
    - pTq
    - pHandle
    - pRsp
    - totalRows
    - pRequest
    - rawList
    argTypes:
    - STQ*
    - STqHandle*
    - SMqDataRsp*
    - int32_t*
    - SMqPollReq*
    - SArray*
    constantsTouched: []
    func_position:
      end: 392
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 392
    functionName: tqProcessSubData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - tqAddTbNameToRsp
    - taosArrayGet
    - tqTrace
    - taosArrayDestroyP
    - tqRetrieveTaosxBlock
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - taosArrayDestroyEx
    - taosArrayGetSize
    - tqAddBlockDataToRsp
    - taosArrayInit
    - tqAddRawDataToRsp
    linkageType: ''
    returnType: void
    signature: 'static void tqProcessSubData(STQ* pTq, STqHandle* pHandle, SMqDataRsp*
      pRsp, int32_t* totalRows, const SMqPollReq* pRequest, SArray* rawList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:22,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:30,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:23,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:31,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:31,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:32,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:32,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:38,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:39,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - rawData
    - pRsp
    - precision
    argTypes:
    - void*
    - SMqDataRsp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 42
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 42
    functionName: tqAddRawDataToRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tqTrace
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqAddRawDataToRsp(const void* rawData, SMqDataRsp*
      pRsp, int8_t precision) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:81,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:82,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:84,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:87,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:86,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:90,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:91,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:92,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:93,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:96,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:101,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - pTq
    - uid
    - pRsp
    - n
    argTypes:
    - STQ*
    - int64_t
    - SMqDataRsp*
    - int32_t
    constantsTouched: []
    func_position:
      end: 105
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 105
    functionName: tqAddTbNameToRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tqTrace
    - metaReaderGetTableEntryByUidCache
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - metaReaderClear
    - taosStrdup
    - metaReaderDoInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqAddTbNameToRsp(const STQ* pTq, int64_t uid, SMqDataRsp*
      pRsp, int32_t n) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:149,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:151,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:156,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:167,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:164,1
    - Dst: copyDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:163,1
    - Dst: IS_OFFSET_RESET_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:129,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:139,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:145,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:148,1
    - Dst: getDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:150,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:177,1
    - Dst: tqAddBlockDataToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:155,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:160,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:177,1
    - Dst: createOneDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:144,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:130,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:168,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:172,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - pTq
    - pHandle
    - pRsp
    - pRequest
    - pDataBlock
    - task
    argTypes:
    - STQ*
    - STqHandle*
    - SMqDataRsp*
    - SMqPollReq*
    - SSDataBlock*
    - qTaskInfo_t
    constantsTouched: []
    func_position:
      end: 180
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 180
    functionName: tqProcessReplayRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - IS_OFFSET_RESET_TYPE
    - createOneDataBlock
    - tOffsetDestroy
    - blockDataDestroy
    - tqError
    - copyDataBlock
    - tstrerror
    - TD_VID
    - qStreamExtractOffset
    - tqAddBlockDataToRsp
    - getDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqProcessReplayRsp(STQ* pTq, STqHandle* pHandle, SMqDataRsp*
      pRsp, const SMqPollReq* pRequest, SSDataBlock* pDataBlock, qTaskInfo_t task) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:250,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:253,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:257,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:260,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:264,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:266,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:259,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:285,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:292,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:293,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:243,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:266,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:259,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:272,1
    - Dst: qStreamExtractMetaMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:282,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:299,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:300,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:313,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:313,1
    - Dst: qStreamPrepareScan
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:242,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:246,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:252,1
    - Dst: qExtractTbnameFromTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:257,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:258,1
    - Dst: tqAddBlockDataToRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:270,1
    - Dst: qExtractSchemaFromTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:264,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:265,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:305,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:299,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:316,1
    - Dst: qExecTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:251,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:270,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:276,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:283,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:287,1
    - Dst: qStreamExtractOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:306,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:315,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:310,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 6
    argNames:
    - pTq
    - pHandle
    - pRsp
    - pBatchMetaRsp
    - pOffset
    - pRequest
    argTypes:
    - STQ*
    - STqHandle*
    - SMqDataRsp*
    - SMqBatchMetaRsp*
    - STqOffsetVal*
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 318
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 318
    functionName: tqScanTaosx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TSDB_CHECK_NULL
    - qStreamPrepareScan
    - taosArrayGetSize
    - taosGetTimestampMs
    - tqDebug
    - qStreamExtractMetaMsg
    - qExecTask
    - taosArrayPush
    - TSDB_CHECK_CODE
    - tDeleteSchemaWrapper
    - TD_VID
    - qExtractSchemaFromTask
    - qStreamExtractOffset
    - tqError
    - tstrerror
    - taosStrdup
    - tCloneSSchemaWrapper
    - qExtractTbnameFromTask
    - tqAddBlockDataToRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqScanTaosx(STQ* pTq, const STqHandle* pHandle, SMqDataRsp*
      pRsp, SMqBatchMetaRsp* pBatchMetaRsp, STqOffsetVal* pOffset, const SMqPollReq*
      pRequest) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:397,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:408,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:409,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:399,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:401,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:413,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:415,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:425,1
    - Dst: metaGetTableCreateTime
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:429,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:431,1
    - Dst: tDestroySVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:438,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:441,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:433,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 3
    argNames:
    - pHandle
    - pRequest
    - rawList
    argTypes:
    - STqHandle*
    - SMqPollReq*
    - SArray**
    constantsTouched: []
    func_position:
      end: 445
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 445
    functionName: preProcessSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tqDebug
    - metaGetTableCreateTime
    - taosHashGet
    - tqError
    - tDestroySVCreateTbReq
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void preProcessSubmitMsg(STqHandle* pHandle, const SMqPollReq*
      pRequest, SArray** rawList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:454,1
    - Dst: tqReaderSetSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:457,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:458,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:455,1
    - Dst: preProcessSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:459,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:467,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:474,1
    - Dst: tqNextBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:480,1
    - Dst: tqProcessSubData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:481,1
    - Dst: tqNextDataBlockFilterOut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:484,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:493,1
    - Dst: tqReaderClearSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:490,1
    - Dst: tqProcessSubData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:485,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:491,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c:493,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 6
    argNames:
    - pTq
    - pHandle
    - submit
    - pRsp
    - totalRows
    - pRequest
    argTypes:
    - STQ*
    - STqHandle*
    - SPackedData
    - SMqDataRsp*
    - int32_t*
    - SMqPollReq*
    constantsTouched: []
    func_position:
      end: 496
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 496
    functionName: tqTaosxScanLog
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqScan.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - preProcessSubmitMsg
    - tqDebug
    - taosArrayDestroy
    - tqProcessSubData
    - tqReaderClearSubmitMsg
    - tqNextBlockImpl
    - tqError
    - TSDB_CHECK_NULL
    - tstrerror
    - tqNextDataBlockFilterOut
    - taosArrayInit
    - tqReaderSetSubmitMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqTaosxScanLog(STQ* pTq, STqHandle* pHandle, SPackedData submit,
      SMqDataRsp* pRsp, int32_t* totalRows, const SMqPollReq* pRequest) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:211,1
    - Dst: walGetLastVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:215,1
    - Dst: walGetCommittedVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:216,1
    - Dst: walGetAppliedVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:217,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:219,1
    - Dst: walFetchHead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:224,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:225,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:231,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:232,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:235,1
    - Dst: walFetchBody
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:241,1
    - Dst: walSkipFetchBody
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:257,1
    - Dst: IS_META_MSG
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:240,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:268,1
    - Dst: isValValidForTable
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:247,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 4
    argNames:
    - pTq
    - pHandle
    - fetchOffset
    - reqId
    argTypes:
    - STQ*
    - STqHandle*
    - int64_t*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 272
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 272
    functionName: tqFetchLog
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - IS_META_MSG
    - tqDebug
    - walGetCommittedVer
    - isValValidForTable
    - walGetLastVer
    - walFetchHead
    - TD_VID
    - walSkipFetchBody
    - walFetchBody
    - walGetAppliedVer
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqFetchLog(STQ* pTq, STqHandle* pHandle, int64_t* fetchOffset,
      uint64_t reqId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:329,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:343,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:338,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:334,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:341,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:347,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:348,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:349,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:351,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:352,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:353,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 355
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 355
    functionName: tqReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tDestroySubmitReq
    - taosMemoryFree
    - tqDebug
    - tDeleteSchemaWrapper
    - taosArrayDestroy
    - taosLRUCacheCleanup
    - walCloseReader
    - blockDataDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tqReaderClose(STqReader* pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:952,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:962,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:964,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:974,1
    - Dst: processBuildNew
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:969,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:981,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:976,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:988,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:996,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1000,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:947,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:954,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:948,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:973,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:985,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:961,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:964,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:983,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:984,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:986,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:988,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:951,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:955,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:977,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:994,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:997,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 4
    argNames:
    - pReader
    - pSubmitTbData
    - blocks
    - schemas
    argTypes:
    - STqReader*
    - SSubmitTbData*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1004
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 1004
    functionName: tqProcessColData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - tqTrace
    - TQ_ERR_GO_TO_END
    - tColDataGetValue
    - taosArrayGetLast
    - tqError
    - processBuildNew
    - taosArrayGetSize
    - TQ_NULL_GO_TO_END
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqProcessColData(STqReader* pReader, SSubmitTbData*
      pSubmitTbData, SArray* blocks, SArray* schemas) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1210,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1212,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1217,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1210,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1219,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1220,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1221,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pReader
    - pTableUidList
    argTypes:
    - STqReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1225
    functionName: tqReaderAddTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayGetSize
    - tqError
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void
    signature: 'void tqReaderAddTbUidList(STqReader* pReader, const SArray* pTableUidList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: tqGetTablePrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tqGetTablePrimaryKey(STqReader* pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:361,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pReader
    - ver
    - id
    argTypes:
    - STqReader*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: tqReaderSeek
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - walReaderSeekVer
    - tqDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqReaderSeek(STqReader* pReader, int64_t ver, const char*
      id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1020,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1025,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1029,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1038,1
    - Dst: processBuildNew
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1034,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1065,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1011,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1012,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1034,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1050,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1056,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1019,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1017,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1029,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1042,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1048,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1060,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1018,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1024,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1039,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1046,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1041,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1050,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1059,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1063,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1066,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 4
    argNames:
    - pReader
    - pSubmitTbData
    - blocks
    - schemas
    argTypes:
    - STqReader*
    - SSubmitTbData*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1068
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1068
    functionName: tqProcessRowData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tBuildTSchema
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - tqTrace
    - TQ_ERR_GO_TO_END
    - tRowGet
    - taosArrayGetLast
    - tqError
    - taosMemoryFreeClear
    - processBuildNew
    - taosArrayGetSize
    - TQ_NULL_GO_TO_END
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessRowData(STqReader* pReader, SSubmitTbData* pSubmitTbData,
      SArray* blocks, SArray* schemas) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - STqReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1232
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1232
    functionName: tqReaderIsQueriedTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool tqReaderIsQueriedTable(STqReader* pReader, uint64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:510,1
    - Dst: tDecodeSubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:514,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:518,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:515,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pReader
    - msgStr
    - msgLen
    - ver
    - rawList
    argTypes:
    - STqReader*
    - void*
    - int32_t
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 522
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 522
    functionName: tqReaderSetSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqTrace
    - tDecodeSubmitReq
    - tqError
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqReaderSetSubmitMsg(STqReader* pReader, void* msgStr, int32_t
      msgLen, int64_t ver, SArray* rawList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:584,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:585,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:588,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:590,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:586,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:591,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:593,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:594,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:595,1
    - Dst: tqReaderClearSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:598,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:599,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:602,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pReader
    - filterOutUids
    argTypes:
    - STqReader*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 604
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 604
    functionName: tqNextDataBlockFilterOut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tqTrace
    - taosHashGet
    - tqReaderClearSubmitMsg
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool tqNextDataBlockFilterOut(STqReader* pReader, SHashObj* filterOutUids) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:646,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:658,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:647,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:648,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:663,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:665,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:666,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:668,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:670,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:685,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:694,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:696,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:698,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:695,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 3
    argNames:
    - pReader
    - pSchema
    - pColIdList
    argTypes:
    - STqReader*
    - SSchemaWrapper*
    - SArray*
    constantsTouched: []
    func_position:
      end: 709
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 709
    functionName: buildResSDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - blockDataFreeRes
    - blockDataAppendColInfo
    - taosArrayGet
    - decimalFromTypeMod
    - blockDataGetNumOfCols
    - taosArrayGetSize
    - blockDataDestroy
    - IS_DECIMAL_TYPE
    - createDataBlock
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildResSDataBlock(STqReader* pReader, SSchemaWrapper*
      pSchema, const SArray* pColIdList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1078,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1075,1
    - Dst: tEncodeSVCreateTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1092,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1096,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1079,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1091,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1095,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1102,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1074,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1085,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1086,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1088,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1095,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1093,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1094,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1103,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1080,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1081,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1087,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1096,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pRsp
    - pCreateTbReq
    argTypes:
    - SMqDataRsp*
    - SVCreateTbReq*
    constantsTouched: []
    func_position:
      end: 1106
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1106
    functionName: buildCreateTbInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tEncoderInit
    - tEncoderClear
    - taosMemoryFree
    - taosMemoryCalloc
    - tEncodeSVCreateTbReq
    - tqTrace
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tEncodeSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCreateTbInfo(SMqDataRsp* pRsp, SVCreateTbReq*
      pCreateTbReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 1239
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1239
    functionName: tqCurrentBlockConsumed
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tqCurrentBlockConsumed(const STqReader* pReader) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1621,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1650,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1654,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1708,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1789,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1748,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1739,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1690,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1771,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1675,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1601,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1624,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1720,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1609,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1647,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1758,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1782,1
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1815,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1616,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1667,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1776,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1607,1
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1645,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1812,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1778,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1754,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1600,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1593,1
    - Dst: taosLRUCacheUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1662,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1671,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1730,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1737,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1791,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1727,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1668,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1630,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1659,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1773,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1777,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1792,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1698,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1805,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1812,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1696,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1719,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1790,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1691,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1738,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1598,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1755,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1683,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1751,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1788,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1590,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1611,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1632,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1676,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1681,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1744,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1610,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1622,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1638,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1801,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1749,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1613,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1633,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1772,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1816,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1606,1
    - Dst: taosLRUCacheUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1640,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1669,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1819,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1779,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1752,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1615,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1680,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1787,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1740,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1784,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 187
    argCount: 3
    argNames:
    - pReader
    - pRes
    - idstr
    argTypes:
    - STqReader*
    - SSDataBlock**
    - char*
    constantsTouched: []
    func_position:
      end: 1822
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1822
    functionName: tqRetrieveVTableDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosLRUCacheValue
    - tBuildTSchema
    - taosLRUCacheLookup
    - tqTrace
    - taosLRUCacheRelease
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - tqDebug
    - colDataSetNULL
    - doSetVal
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tDeleteSchemaWrapper
    - taosLRUCacheInsert
    - metaGetTableSchema
    - blockDataEnsureCapacity
    - taosHashGet
    - tqWarn
    - colDataSetNNULL
    - tColDataGetValue
    - taosMemoryFreeClear
    - blockDataCleanup
    - taosLRUCacheUpdate
    - tRowGet
    - tqError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqRetrieveVTableDataBlock(STqReader* pReader, SSDataBlock**
      pRes, const char* idstr) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:37,1
    - Dst: tDecodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:53,1
    - Dst: tDecodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:41,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:74,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:81,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:82,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:83,1
    - Dst: tEncodeSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:100,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:91,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:92,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:178,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:126,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:183,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:202,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:72,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:99,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:130,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:154,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:163,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:180,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:188,1
    - Dst: tDecodeDeleteRes
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:193,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:35,1
    - Dst: tDecodeSVDropStbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:47,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:101,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:95,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:94,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:110,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:111,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:114,1
    - Dst: tDecodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:134,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:174,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:171,1
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:123,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:103,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:104,1
    - Dst: tDeleteSVCreateTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:105,1
    - Dst: tDecodeSVAlterTbReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:118,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:179,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:186,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:189,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:200,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:172,1
    - Dst: metaGetTableEntryByName
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:125,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:182,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 158
    argCount: 2
    argNames:
    - pHandle
    - pHead
    argTypes:
    - STqHandle*
    - SWalCont*
    constantsTouched: []
    func_position:
      end: 204
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 204
    functionName: isValValidForTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tEncoderInit
    - tDeleteSVCreateTbBatchReq
    - tDecodeSVDropTbBatchReq
    - taosArrayInit
    - tDecodeSVAlterTbReq
    - taosMemoryMalloc
    - taosArrayDestroy
    - tqDebug
    - tDecodeSVCreateTbBatchReq
    - taosArrayPush
    - tEncodeSize
    - memcpy
    - metaReaderDoInit
    - tEncodeSVCreateTbBatchReq
    - metaGetTableEntryByName
    - tDecodeSVCreateStbReq
    - metaReaderClear
    - tDecodeDeleteRes
    - tDecoderInit
    - tEncoderClear
    - tDecodeSVDropStbReq
    - POINTER_SHIFT
    - tEncodeSVDropTbBatchReq
    - tDecoderClear
    linkageType: ''
    returnType: bool
    signature: 'bool isValValidForTable(STqHandle* pHandle, SWalCont* pHead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 528
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 528
    functionName: tqReaderClearSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tDestroySubmitReq
    linkageType: ''
    returnType: void
    signature: 'void tqReaderClearSubmitMsg(STqReader* pReader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:618,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:632,1
    - Dst: createColumnInfoData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:628,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:620,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:630,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 5
    argNames:
    - pDst
    - pBlock
    - pSrc
    - mask
    - extSrc
    argTypes:
    - SSchemaWrapper*
    - SSDataBlock*
    - SSchemaWrapper*
    - char*
    - SExtSchema*
    constantsTouched: []
    func_position:
      end: 639
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 639
    functionName: tqMaskBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - blockDataAppendColInfo
    - decimalFromTypeMod
    - taosMemoryCalloc
    - TAOS_GET_TERRNO
    - createColumnInfoData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqMaskBlock(SSchemaWrapper* pDst, SSDataBlock* pBlock, const
      SSchemaWrapper* pSrc, char* mask, SExtSchema* extSrc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:714,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:718,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:720,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:718,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:716,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:721,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:723,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:726,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:726,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:726,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pColumnInfoData
    - rowIndex
    - pColVal
    argTypes:
    - SColumnInfoData*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 730
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 730
    functionName: doSetVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - colDataSetNULL
    - colDataSetVal
    - VALUE_GET_DATUM
    - varDataVal
    - varDataSetLen
    - memcpy
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetVal(SColumnInfoData* pColumnInfoData, int32_t
      rowIndex, SColVal* pColVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:908,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:907,1
    - Dst: tqMaskBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:919,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:925,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:927,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:925,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:938,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:906,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:916,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:930,1
    - Dst: blockDataFreeRes
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:937,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:913,1
    - Dst: TQ_ERR_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:919,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:921,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:927,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:934,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:926,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:936,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:914,1
    - Dst: TQ_NULL_GO_TO_END
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:917,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:920,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:926,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 8
    argNames:
    - pReader
    - pSubmitTbData
    - blocks
    - schemas
    - assigned
    - numOfRows
    - curRow
    - lastRow
    argTypes:
    - STqReader*
    - SSubmitTbData*
    - SArray*
    - SArray*
    - char*
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 940
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 940
    functionName: processBuildNew
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - blockDataFreeRes
    - taosMemoryFree
    - tDeleteSchemaWrapper
    - taosMemoryCalloc
    - tqTrace
    - blockDataEnsureCapacity
    - TQ_ERR_GO_TO_END
    - taosArrayGetLast
    - tqError
    - taosMemoryFreeClear
    - taosArrayPush
    - taosArrayGetSize
    - TQ_NULL_GO_TO_END
    - tqMaskBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processBuildNew(STqReader* pReader, SSubmitTbData*
      pSubmitTbData, SArray* blocks, SArray* schemas, char* assigned, int32_t numOfRows,
      int32_t curRow, int32_t* lastRow) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1110,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1141,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1129,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1142,1
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1143,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1145,1
    - Dst: buildCreateTbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1152,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1157,1
    - Dst: tqProcessColData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1165,1
    - Dst: tqProcessRowData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1167,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    argCount: 7
    argNames:
    - pReader
    - pRsp
    - blocks
    - schemas
    - pSubmitTbDataRet
    - rawList
    - fetchMeta
    argTypes:
    - STqReader*
    - SMqDataRsp*
    - SArray*
    - SArray*
    - SSubmitTbData**
    - SArray*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1169
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1169
    functionName: tqRetrieveTaosxBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - tDeleteSchemaWrapper
    - tqProcessRowData
    - metaGetTableSchema
    - tqTrace
    - buildCreateTbInfo
    - tqWarn
    - tqProcessColData
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqRetrieveTaosxBlock(STqReader* pReader, SMqDataRsp* pRsp,
      SArray* blocks, SArray* schemas, SSubmitTbData** pSubmitTbDataRet, SArray* rawList,
      int8_t fetchMeta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1245,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1248,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1247,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1246,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pReader
    - tbUidList
    argTypes:
    - STqReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1251
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1251
    functionName: tqReaderRemoveTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tqError
    - taosArrayGetSize
    - taosArrayGet
    - taosHashRemove
    linkageType: ''
    returnType: void
    signature: 'void tqReaderRemoveTbUidList(STqReader* pReader, const SArray* tbUidList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1829,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1844,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1843,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1841,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1846,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1849,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1854,1
    - Dst: tqReaderClearSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1859,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1860,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1864,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 2
    argNames:
    - pReader
    - idstr
    argTypes:
    - STqReader*
    - char*
    constantsTouched: []
    func_position:
      end: 1867
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1867
    functionName: tqNextVTableSourceBlockImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tqTrace
    - taosHashGet
    - taosHashGetSize
    - tqReaderClearSubmitMsg
    - tqError
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool tqNextVTableSourceBlockImpl(STqReader* pReader, const char* idstr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: streamDataSubmitNew
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:396,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:416,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:377,1
    - Dst: tqExtractDelDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:405,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:412,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:428,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:435,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:372,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:393,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:398,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:402,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:421,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:385,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:382,1
    - Dst: walNextValidMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:372,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:389,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:408,1
    - Dst: tqExtractDropCtbDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:423,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - pReader
    - pItem
    - maxVer
    - id
    argTypes:
    - SWalReader*
    - void**
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 441
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 441
    functionName: extractMsgFromWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tqExtractDelDataBlock
    - tqExtractDropCtbDataBlock
    - tqDebug
    - taosMemoryMalloc
    - tqError
    - TAOS_CHECK_RETURN
    - tstrerror
    - POINTER_SHIFT
    - walNextValidMsg
    - memcpy
    - streamDataSubmitNew
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractMsgFromWal(SWalReader* pReader, void** pItem, int64_t
      maxVer, const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 549
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 549
    functionName: tqGetResultBlockTime
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tqGetResultBlockTime(STqReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqCollectPhysicalTables
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pReader
    - pColIdList
    - id
    argTypes:
    - STqReader*
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 1177
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1177
    functionName: tqReaderSetColIdList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tqCollectPhysicalTables
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqReaderSetColIdList(STqReader* pReader, SArray* pColIdList,
      const char* id) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1500,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1506,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1508,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1519,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1526,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1530,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1533,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1538,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1539,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1500,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1493,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1504,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1505,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1518,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1528,1
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1553,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1488,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1491,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1504,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1516,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1510,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1515,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1532,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1538,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1540,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1559,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1554,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1529,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1546,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1559,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1562,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1565,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 86
    argCount: 2
    argNames:
    - pReader
    - idstr
    argTypes:
    - STqReader*
    - char*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1479
    functionDepth: 0
    functionLinenumber: 1479
    functionLinenumberEnd: 1568
    functionName: tqCollectPhysicalTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - taosHashCleanup
    - taosHashInit
    - taosArrayDestroy
    - taosLRUCacheInit
    - taosArrayGetLast
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosHashGet
    - taosHashIterate
    - taosHashGetSize
    - tqError
    - tstrerror
    - taosHashGetKey
    - taosHashCancelIterate
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqCollectPhysicalTables(STqReader* pReader, const char*
      idstr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:449,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:458,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:453,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:456,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:466,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:467,1
    - Dst: tqRetrieveDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:469,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:475,1
    - Dst: tDestroySubmitReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:479,1
    - Dst: walNextValidMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:488,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:492,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:482,1
    - Dst: tqReaderSetSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:495,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 3
    argNames:
    - pReader
    - id
    - sourceExcluded
    argTypes:
    - STqReader*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 500
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 500
    functionName: tqNextBlockInWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tDestroySubmitReq
    - taosArrayGet
    - tqTrace
    - taosHashGet
    - tqError
    - POINTER_SHIFT
    - walNextValidMsg
    - taosArrayGetSize
    - tqRetrieveDataBlock
    - tqReaderSetSubmitMsg
    linkageType: ''
    returnType: bool
    signature: 'bool tqNextBlockInWal(STqReader* pReader, const char* id, int sourceExcluded) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:555,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:557,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:556,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:561,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:559,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:562,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:564,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:565,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:567,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:567,1
    - Dst: tqReaderClearSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:571,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:575,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pReader
    - idstr
    argTypes:
    - STqReader*
    - char*
    constantsTouched: []
    func_position:
      end: 577
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 577
    functionName: tqNextBlockImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosArrayGet
    - tqTrace
    - taosHashGet
    - taosHashGetSize
    - tqReaderClearSubmitMsg
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool tqNextBlockImpl(STqReader* pReader, const char* idstr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1184,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1188,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1193,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1186,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1194,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1195,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1196,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1201,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1201,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - pReader
    - tbUidList
    - id
    argTypes:
    - STqReader*
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 1203
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1203
    functionName: tqReaderSetTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tqDebug
    - taosHashClear
    - taosArrayGetSize
    - tqError
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqReaderSetTbUidList(STqReader* pReader, const SArray* tbUidList,
      const char* id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1573,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1575
    functionName: freeTableSchemaCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tDeleteSchemaWrapper
    linkageType: ''
    returnType: void
    signature: 'static void freeTableSchemaCache(const void* key, size_t keyLen, void*
      value, void* ud) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1873,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - STqReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1874
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1874
    functionName: tqReaderIsQueriedSourceTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'bool tqReaderIsQueriedSourceTable(STqReader* pReader, uint64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:282,1
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:288,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - STqReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: tqSetTablePrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tqDebug
    - tDeleteSchemaWrapper
    - metaGetTableSchema
    linkageType: ''
    returnType: void
    signature: 'void tqSetTablePrimaryKey(STqReader* pReader, int64_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: tqGetWalReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SWalReader*
    signature: 'SWalReader * tqGetWalReader(STqReader* pReader) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:740,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:759,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:794,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:779,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:815,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:825,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:831,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:839,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:851,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:859,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:875,1
    - Dst: tDeleteSchemaWrapper
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:758,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:741,1
    - Dst: blockDataGetNumOfCols
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:796,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:817,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:826,1
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:838,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:843,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:852,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:863,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:873,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:873,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:745,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:762,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:774,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:790,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:809,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:823,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:824,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:846,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:847,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:842,1
    - Dst: metaGetTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:760,1
    - Dst: buildResSDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:778,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:786,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:801,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:787,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:805,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:793,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:806,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:814,1
    - Dst: doSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:858,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 113
    argCount: 3
    argNames:
    - pReader
    - pRes
    - id
    argTypes:
    - STqReader*
    - SSDataBlock**
    - char*
    constantsTouched: []
    func_position:
      end: 877
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 877
    functionName: tqRetrieveDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tBuildTSchema
    - taosMemoryFree
    - tqTrace
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - tqDebug
    - colDataSetNULL
    - doSetVal
    - buildResSDataBlock
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tDeleteSchemaWrapper
    - metaGetTableSchema
    - blockDataEnsureCapacity
    - tqWarn
    - colDataSetNNULL
    - tColDataGetValue
    - taosMemoryFreeClear
    - blockDataCleanup
    - tRowGet
    - tqError
    - tstrerror
    - blockDataGetNumOfCols
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqRetrieveDataBlock(STqReader* pReader, SSDataBlock** pRes,
      const char* id) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: qUpdateTableListForStreamScanner
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1270,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1282,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1295,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1313,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1329,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1263,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1281,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1297,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1308,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1311,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1279,1
    - Dst: tqReaderSetTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1301,1
    - Dst: tqReaderRemoveTbUidList
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1304,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1296,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1302,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1319,1
    - Dst: qUpdateTableListForStreamScanner
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1324,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1331,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1336,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1258,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1272,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1261,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1277,1
    - Dst: qGetTableList
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1290,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1293,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1326,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 3
    argNames:
    - pTq
    - tbUidList
    - isAdd
    argTypes:
    - STQ*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1338
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1338
    functionName: tqUpdateTbUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - qUpdateTableListForStreamScanner
    - taosHashIterate
    - tqError
    - taosReleaseRef
    - streamMetaWUnLock
    - taosWUnLockLatch
    - TD_VID
    - qGetTableList
    - taosHashCancelIterate
    - tqReaderSetTbUidList
    - taosHashPut
    - taosArrayGetSize
    - taosWLockLatch
    - tqReaderRemoveTbUidList
    - streamMetaWLock
    - taosAcquireRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqUpdateTbUidList(STQ* pTq, const SArray* tbUidList, bool
      isAdd) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1358
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1358
    functionName: compareSVTColInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t compareSVTColInfo(const void* p1, const void* p2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:297,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:308,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:301,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:306,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 326
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 326
    functionName: tqReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqDebug
    - taosMemoryCalloc
    - walOpenReader
    - createDataBlock
    linkageType: ''
    returnType: STqReader*
    signature: 'STqReader * tqReaderOpen(SVnode* pVnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STqReader*
    constantsTouched: []
    func_position:
      end: 542
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 542
    functionName: tqGetResultBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSDataBlock*
    signature: 'SSDataBlock * tqGetResultBlock(STqReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1340
    functionDepth: 0
    functionLinenumber: 1340
    functionLinenumberEnd: 1346
    functionName: destroySourceScanTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroySourceScanTables(void* ptr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1383,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1391,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1390,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1433,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1437,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1446,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1447,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1458,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1470,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1426,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1372,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1379,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1383,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1388,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1393,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1398,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1470,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1385,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1394,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1400,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1404,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1437,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1439,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1440,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1450,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1424,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1414,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1371,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1376,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1373,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1384,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1431,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c:1474,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 6
    argNames:
    - pReader
    - vnode
    - ptr
    - pVtableInfos
    - ppResBlock
    - idstr
    argTypes:
    - STqReader*
    - void*
    - void*
    - SSHashObj*
    - SSDataBlock**
    - char*
    constantsTouched: []
    func_position:
      end: 1477
      start: 1360
    functionDepth: 0
    functionLinenumber: 1360
    functionLinenumberEnd: 1477
    functionName: tqReaderSetVtableInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqRead.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    - taosHashCleanup
    - taosArraySort
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - tSimpleHashGetKey
    - TSDB_CHECK_CODE
    - taosArrayGet
    - strncmp
    - blockDataDestroy
    - tqError
    - strlen
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqReaderSetVtableInfo(STqReader* pReader, void* vnode, void*
      ptr, SSHashObj* pVtableInfos, SSDataBlock** ppResBlock, const char* idstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:76,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - STqSnapReader**
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: tqSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - tdbTbcClose
    linkageType: ''
    returnType: void
    signature: 'void tqSnapReaderClose(STqSnapReader** ppReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:152,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:157,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:153,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:160,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:159,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:162,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:163,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:165,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:165,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:166,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - ppWriter
    - rollback
    argTypes:
    - STqSnapWriter**
    - int8_t
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: tqSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - TSDB_CHECK_CODE
    - tdbPostCommit
    - tdbAbort
    - tqError
    - TSDB_CHECK_NULL
    - tstrerror
    - tqInfo
    - TD_VID
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapWriterClose(STqSnapWriter** ppWriter, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqWriteCheck
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:193,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:194,1
    - Dst: tDecodeSTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:198,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:197,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:199,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:201,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:202,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:202,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:204,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:205,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:206,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:206,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:212,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:209,1
    - Dst: tqDestroyTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - STqSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 215
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 215
    functionName: tqSnapHandleWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - TSDB_CHECK_CODE
    - tqDestroyTqHandle
    - tDecodeSTqHandle
    - tqError
    - strlen
    - tstrerror
    - taosWUnLockLatch
    - tqInfo
    - TD_VID
    - taosWLockLatch
    - tqWriteCheck
    - tDecoderClear
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapHandleWrite(STqSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:32,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:37,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:33,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:36,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:56,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:57,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:58,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:59,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:60,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:60,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:66,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:65,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - pTq
    - sver
    - ever
    - type
    - ppReader
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - int8_t
    - STqSnapReader**
    constantsTouched: []
    func_position:
      end: 70
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 70
    functionName: tqSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - tqInfo
    - TD_VID
    - tdbTbcOpen
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapReaderOpen(STQ* pTq, int64_t sver, int64_t ever, int8_t
      type, STqSnapReader** ppReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:87,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:93,1
    - Dst: tdbTbcNext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:90,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:91,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:88,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:94,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:99,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:100,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:100,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:104,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:106,1
    - Dst: tdbFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:107,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pReader
    - ppData
    argTypes:
    - STqSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: tqSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryMalloc
    - tdbTbcNext
    - tdbFree
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - tqInfo
    - TD_VID
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapRead(STqSnapReader* pReader, uint8_t** ppData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:124,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:134,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:128,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:125,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:129,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:135,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:136,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:136,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:141,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pTq
    - sver
    - ever
    - ppWriter
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - STqSnapWriter**
    constantsTouched: []
    func_position:
      end: 145
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 145
    functionName: tqSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - tqInfo
    - TD_VID
    - tdbBegin
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapWriterOpen(STQ* pTq, int64_t sver, int64_t ever, STqSnapWriter**
      ppWriter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:178,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:183,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:179,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - STqSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: tqWriteCheck
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - tqError
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_NULL
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tqWriteCheck(STqSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqWriteCheck
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:221,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:229,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:227,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:222,1
    - Dst: tqMetaDecodeCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:226,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:229,1
    - Dst: tDeleteSTqCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:231,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:232,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:233,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:233,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:237,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - STqSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: tqSnapCheckInfoWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tqError
    - strlen
    - tstrerror
    - tDeleteSTqCheckInfo
    - tqInfo
    - TD_VID
    - tqWriteCheck
    - tqMetaDecodeCheckInfo
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapCheckInfoWrite(STqSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tqWriteCheck
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:245,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:253,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:246,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:251,1
    - Dst: tqMetaDecodeOffsetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:250,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:253,1
    - Dst: tDeleteSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:255,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:256,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:257,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:261,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c:261,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - STqSnapWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 264
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 264
    functionName: tqSnapOffsetWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tqMetaDecodeOffsetInfo
    - tqError
    - strlen
    - tstrerror
    - tqInfo
    - TD_VID
    - tDeleteSTqOffset
    - tqWriteCheck
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSnapOffsetWrite(STqSnapWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:22,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:25,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:25,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:23,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:24,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:26,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:27,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:28,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:35,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:35,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - data
    - path
    - name
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 39
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 39
    functionName: tqBuildFName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tqError
    - strlen
    - TSDB_CHECK_NULL
    - tstrerror
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqBuildFName(char** data, const char* path, char* name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:46,1
    - Dst: tqMetaSaveOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:48,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:51,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:54,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: tqCommitOffset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c
    functionUses: []
    functionsReached:
    - tqMetaSaveOffset
    - tqInfo
    - taosHashIterate
    - tqError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqCommitOffset(void* p) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:73,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:90,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:103,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:97,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:103,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:110,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:116,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:74,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:71,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:80,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:88,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:91,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:92,1
    - Dst: tqMetaDecodeOffsetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:96,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:99,1
    - Dst: tqCommitOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:117,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:105,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:114,1
    - Dst: tDeleteSTqOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:119,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:70,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:92,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:100,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:99,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c:120,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - pTq
    - name
    argTypes:
    - STQ*
    - char*
    constantsTouched: []
    func_position:
      end: 123
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 123
    functionName: tqOffsetRestoreFromFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqOffset.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryFree
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - taosOpenFile
    - tqCommitOffset
    - taosReadFile
    - tqMetaDecodeOffsetInfo
    - tqInfo
    - taosHashPut
    - htonl
    - TSDB_CHECK_CODE
    - taosCloseFile
    - taosHashGetSize
    - tqError
    - strlen
    - tstrerror
    - taosHashCancelIterate
    - tDeleteSTqOffset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqOffsetRestoreFromFile(STQ* pTq, char* name) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:43,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:49,1
    - Dst: curl_ws_send
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:44,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - SStreamNotifyHandle*
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: stopStreamNotifyConn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - tqWarn
    - htons
    - curl_easy_cleanup
    - curl_ws_send
    linkageType: ''
    returnType: void
    signature: 'static void stopStreamNotifyConn(SStreamNotifyHandle* pHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ppHandle
    argTypes:
    - SStreamNotifyHandle**
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: releaseStreamNotifyHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'static void releaseStreamNotifyHandle(SStreamNotifyHandle** ppHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:170,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:175,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:174,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:176,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:173,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:177,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:177,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:178,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:179,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:185,1
    - Dst: tqDestroyNotifyHandleMap
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ppMap
    argTypes:
    - SStreamNotifyHandleMap**
    constantsTouched: []
    func_position:
      end: 191
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 191
    functionName: tqInitNotifyHandleMap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - taosGetDefaultHashFunction
    - tqDestroyNotifyHandleMap
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqInitNotifyHandleMap(SStreamNotifyHandleMap** ppMap) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:276,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:291,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:307,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:355,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:349,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:289,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:321,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:314,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:317,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:336,1
    - Dst: cJSON_free
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:352,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:275,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:279,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:292,1
    - Dst: getStreamNotifyEventHeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:308,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:311,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:315,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:329,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:310,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:329,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:349,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:283,1
    - Dst: colDataGetVarData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:328,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:329,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:330,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:342,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 84
    argCount: 6
    argNames:
    - streamName
    - pBlocks
    - pMsg
    - nNotifyEvents
    - pNotifyEventStat
    - pBlockIdx
    argTypes:
    - char*
    - SArray*
    - char**
    - int32_t*
    - STaskNotifyEventStat*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 358
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 358
    functionName: packupStreamNotifyEvent
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - cJSON_free
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosGetMonoTimestampMs
    - taosMemoryMalloc
    - varDataLen
    - varDataVal
    - colDataGetVarData
    - tqError
    - strlen
    - TSDB_CHECK_NULL
    - tstrerror
    - taosArrayGetSize
    - taosMemoryFreeClear
    - getStreamNotifyEventHeader
    - TAOS_STRNCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t packupStreamNotifyEvent(const char* streamName, const
      SArray* pBlocks, char** pMsg, int32_t* nNotifyEvents, STaskNotifyEventStat*
      pNotifyEventStat, int32_t* pBlockIdx) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:94,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:100,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:103,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:103,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:111,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:119,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:102,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:120,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:123,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:124,1
    - Dst: releaseStreamNotifyHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:145,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:138,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:88,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:93,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:121,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:122,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:129,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:131,1
    - Dst: destroyStreamNotifyHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:153,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:99,1
    - Dst: curl_easy_init
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:118,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:127,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:128,1
    - Dst: curl_easy_perform
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:130,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:137,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:143,1
    - Dst: curl_easy_cleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:150,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:156,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:143,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:87,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:89,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:97,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:97,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:101,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:104,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:114,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:112,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:125,1
    - Dst: curl_easy_setopt
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:126,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:160,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 83
    argCount: 3
    argNames:
    - pMap
    - url
    - ppHandle
    argTypes:
    - SStreamNotifyHandleMap*
    - char*
    - SStreamNotifyHandle**
    constantsTouched: []
    func_position:
      end: 163
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 163
    functionName: acquireStreamNotifyHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryCalloc
    - TSDB_CHECK_NULL
    - curl_easy_cleanup
    - curl_easy_perform
    - taosHashPut
    - TSDB_CHECK_CODE
    - taosHashGet
    - destroyStreamNotifyHandle
    - releaseStreamNotifyHandle
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - curl_easy_setopt
    - taosThreadMutexInit
    - curl_easy_init
    - strlen
    - tqError
    - tstrerror
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t acquireStreamNotifyHandle(SStreamNotifyHandleMap* pMap,
      const char* url, SStreamNotifyHandle** ppHandle) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:62,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:64,1
    - Dst: stopStreamNotifyConn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:63,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:65,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: destroyStreamNotifyHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - stopStreamNotifyConn
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroyStreamNotifyHandle(void* ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:200,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - ppMap
    argTypes:
    - SStreamNotifyHandleMap**
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: tqDestroyNotifyHandleMap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosThreadMutexDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tqDestroyNotifyHandleMap(SStreamNotifyHandleMap** ppMap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:222,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:234,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:235,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:235,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:237,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:240,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:251,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:254,1
    - Dst: taosGetSystemUUIDLimit36
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:221,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:224,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:217,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:225,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:226,1
    - Dst: cJSON_CreateStringReference
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:226,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:227,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:227,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:236,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:230,1
    - Dst: JSON_CHECK_ADD_ITEM
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:236,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:230,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:241,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:216,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:229,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:233,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:236,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:245,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:248,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:245,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - streamName
    - pHeader
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 257
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 257
    functionName: getStreamNotifyEventHeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosGetTimestampMs
    - TSDB_CHECK_CODE
    - JSON_CHECK_ADD_ITEM
    - cJSON_Delete
    - taosGetSystemUUIDLimit36
    - cJSON_CreateObject
    - tqError
    - tstrerror
    - TSDB_CHECK_NULL
    - cJSON_CreateStringReference
    - cJSON_CreateArray
    - cJSON_AddItemToArray
    - cJSON_PrintUnformatted
    - cJSON_CreateNumber
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getStreamNotifyEventHeader(const char* streamName,
      char** pHeader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:369,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:376,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:370,1
    - Dst: curl_ws_send
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:375,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:372,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:380,1
    - Dst: curl_ws_send
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:382,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:383,1
    - Dst: curl_ws_send
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:385,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:386,1
    - Dst: stopStreamNotifyConn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:394,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:398,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:393,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:393,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - pHandle
    - msg
    argTypes:
    - SStreamNotifyHandle*
    - char*
    constantsTouched: []
    func_position:
      end: 401
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 401
    functionName: sendSingleStreamNotify
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - stopStreamNotifyConn
    - tqError
    - strlen
    - TSDB_CHECK_NULL
    - tstrerror
    - curl_ws_send
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendSingleStreamNotify(SStreamNotifyHandle* pHandle,
      char* msg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: packupStreamNotifyEvent
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:423,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:425,1
    - Dst: streamTaskShouldStop
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:435,1
    - Dst: sendSingleStreamNotify
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:453,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:455,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:455,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:471,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:481,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:481,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:414,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:430,1
    - Dst: acquireStreamNotifyHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:439,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:444,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:422,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:417,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:431,1
    - Dst: taosGetMonoTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:433,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:465,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:438,1
    - Dst: releaseStreamNotifyHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:468,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:476,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:484,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:415,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c:441,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 3
    argNames:
    - pBlocks
    - pTask
    - pVnode
    argTypes:
    - SArray*
    - SStreamTask*
    - SVnode*
    constantsTouched: []
    func_position:
      end: 487
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 487
    functionName: tqSendAllNotifyEvents
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamNotify.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CODE
    - tqDebug
    - taosGetMonoTimestampMs
    - packupStreamNotifyEvent
    - acquireStreamNotifyHandle
    - releaseStreamNotifyHandle
    - tqError
    - strlen
    - TSDB_CHECK_NULL
    - sendSingleStreamNotify
    - tstrerror
    - taosMemoryFreeClear
    - taosArrayGetSize
    - taosMsleep
    - streamTaskShouldStop
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSendAllNotifyEvents(const SArray* pBlocks, SStreamTask*
      pTask, SVnode* pVnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:694,1
    - Dst: tqMetaDeleteInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:697,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:694,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:697,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 698
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 698
    functionName: tqProcessDelCheckInfoReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqMetaDeleteInfo
    - strlen
    - taosHashRemove
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessDelCheckInfoReq(STQ* pTq, int64_t sversion, char*
      msg, int32_t msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessCheckReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 867
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 867
    functionName: tqProcessTaskCheckReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessCheckReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskCheckReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessDeployReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:874,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 876
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 876
    functionName: tqProcessTaskDeployReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - vnodeIsRoleLeader
    - tqStreamTaskProcessDeployReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskDeployReq(STQ* pTq, int64_t sversion, char* msg,
      int32_t msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessRetrieveReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1173
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1173
    functionName: tqProcessTaskRetrieveReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessRetrieveReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskRetrieveReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1179,1
    - Dst: tDeserializeStreamProgressReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1191,1
    - Dst: tqGetStreamExecInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1193,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1184,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1183,1
    - Dst: tSerializeStreamProgressRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1200,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1209,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1214,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1217
    functionName: tqStreamProgressRetrieveReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tmsgSendRsp
    - taosMemoryCalloc
    - tqGetStreamExecInfo
    - POINTER_SHIFT
    - tSerializeStreamProgressRsp
    - tDeserializeStreamProgressReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStreamProgressRetrieveReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessAllTaskStopReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1408,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1409
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1409
    functionName: tqProcessAllTaskStopReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessAllTaskStopReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessAllTaskStopReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:730,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:750,1
    - Dst: tqIsHandleExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:746,1
    - Dst: tqMetaSaveHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:741,1
    - Dst: tqUnregisterPushHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:762,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:771,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:708,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:717,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:740,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:757,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:760,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:761,1
    - Dst: tqMetaSaveHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:763,1
    - Dst: tDecodeSMqRebVgReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:709,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:726,1
    - Dst: tqMetaCreateHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:735,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:755,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:765,1
    - Dst: tqMetaGetHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:719,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:714,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:721,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:721,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:723,1
    - Dst: tqDestroyTqHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:737,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:745,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:748,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:742,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:751,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 773
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 773
    functionName: tqProcessSubscribeReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosWUnLockLatch
    - tqIsHandleExec
    - tqDestroyTqHandle
    - taosRUnLockLatch
    - tqMetaGetHandle
    - tqInfo
    - tDecodeSMqRebVgReq
    - tqUnregisterPushHandle
    - tqMetaCreateHandle
    - atomic_store_64
    - taosMsleep
    - tDecoderInit
    - tqMetaSaveHandle
    - taosRLockLatch
    - tstrerror
    - tqError
    - taosWLockLatch
    - atomic_store_32
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessSubscribeReq(STQ* pTq, int64_t sversion, char* msg,
      int32_t msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessCheckRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:870,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: tqProcessTaskCheckRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessCheckRsp
    - vnodeIsRoleLeader
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskCheckRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamHistoryTaskSetVerRangeStep2
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:885,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:889,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:893,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:886,1
    - Dst: streamTaskPutTranstateIntoInputQ
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:891,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:893,1
    - Dst: streamExecTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:895,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:898,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:903,1
    - Dst: streamSetParamForStreamScannerStep2
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:906,1
    - Dst: walReaderSetSkipToVersion
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:914,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:915,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:908,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:918,1
    - Dst: streamTaskHandleEvent
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:921,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - pTask
    - pStreamTask
    - pTq
    argTypes:
    - SStreamTask*
    - SStreamTask*
    - STQ*
    constantsTouched: []
    func_position:
      end: 923
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 923
    functionName: doStartFillhistoryStep2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tqDebug
    - streamTaskPutTranstateIntoInputQ
    - streamSetParamForStreamScannerStep2
    - qError
    - streamHistoryTaskSetVerRangeStep2
    - tstrerror
    - tqError
    - walReaderSetSkipToVersion
    - streamTaskHandleEvent
    - qDebug
    - streamTaskSetSchedStatusInactive
    - streamExecTask
    linkageType: ''
    returnType: void
    signature: 'static void doStartFillhistoryStep2(SStreamTask* pTask, SStreamTask*
      pStreamTask, STQ* pTq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1175
    functionName: tqProcessTaskRetrieveRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskRetrieveRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1412,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1414,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1417,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1421,1
    - Dst: tDecodeRetrieveChkptTriggerReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1422,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1423,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1424,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1427,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1429,1
    - Dst: tqStreamTaskProcessRetrieveTriggerReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1434,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1435
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1435
    functionName: tqProcessTaskRetrieveTriggerReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessRetrieveTriggerReq
    - tDecoderInit
    - vnodeIsRoleLeader
    - tqError
    - POINTER_SHIFT
    - TD_VID
    - tDecodeRetrieveChkptTriggerReq
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskRetrieveTriggerReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamProcessChkptReportRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1454
      start: 1452
    functionDepth: 0
    functionLinenumber: 1452
    functionLinenumberEnd: 1454
    functionName: tqProcessTaskChkptReportRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamProcessChkptReportRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskChkptReportRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:953,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:962,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:955,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:980,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:983,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1013,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:993,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1038,1
    - Dst: streamExecScanHistoryInFuture
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1041,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1043,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1070,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1092,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1107,1
    - Dst: streamCreateAddRecalculateEndBlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1100,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:982,1
    - Dst: streamTaskSetSchedStatusWait
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1020,1
    - Dst: streamScanHistoryData
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1031,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1047,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1077,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1082,1
    - Dst: streamBuildAndSendDropTaskMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1083,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1102,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1104,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1110,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1079,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1061,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:964,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:971,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:975,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:994,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1004,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1010,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1002,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:991,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:987,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1026,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1033,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1055,1
    - Dst: streamMetaAcquireTaskUnsafe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1073,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1063,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1087,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1109,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:974,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1007,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1014,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1021,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1025,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1030,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1050,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1075,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1086,1
    - Dst: streamTaskHandleEventAsync
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1097,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1065,1
    - Dst: streamTaskSetSchedStatusInactive
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1037,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 125
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1112
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 1112
    functionName: tqProcessTaskScanHistory
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - streamMutexUnlock
    - streamExecScanHistoryInFuture
    - taosGetTimestampMs
    - tqDebug
    - atomic_val_compare_exchange_32
    - streamMetaAcquireTask
    - tqWarn
    - streamCreateAddRecalculateEndBlock
    - streamTaskSetSchedStatusWait
    - streamBuildAndSendDropTaskMsg
    - taosMsleep
    - streamTaskHandleEventAsync
    - streamTaskGetStatus
    - tqError
    - tstrerror
    - streamScanHistoryData
    - streamTaskSetSchedStatusInactive
    - streamMetaAcquireTaskUnsafe
    - streamMetaReleaseTask
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskScanHistory(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pLeft
    - pRight
    argTypes:
    - STqOffset*
    - STqOffset*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tqOffsetEqual
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tqOffsetEqual(const STqOffset* pLeft, const STqOffset*
      pRight) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:220,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:225,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:224,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:227,1
    - Dst: tqDoSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:230,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 6
    argNames:
    - pHandle
    - pMsg
    - pReq
    - pRsp
    - type
    - vgId
    argTypes:
    - STqHandle*
    - SRpcMsg*
    - SMqPollReq*
    - SMqDataRsp*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: tqSendDataRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tFormatOffset
    - tqDoSendDataRsp
    - walReaderValidVersionRange
    - tqDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqSendDataRsp(STqHandle* pHandle, const SRpcMsg* pMsg, const
      SMqPollReq* pReq, SMqDataRsp* pRsp, int32_t type, int32_t vgId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:489,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:495,1
    - Dst: tqMetaGetOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:504,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:501,1
    - Dst: tDecodeMqVgOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:496,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:510,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:512,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:515,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:520,1
    - Dst: tEncodeMqVgOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:521,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:524,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:522,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:530,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 532
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 532
    functionName: tqProcessVgCommittedInfoReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tEncodeMqVgOffset
    - tDecoderInit
    - tEncoderClear
    - tEncoderInit
    - tmsgSendRsp
    - TAOS_GET_TERRNO
    - tDecodeMqVgOffset
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - tqMetaGetOffset
    - rpcMallocCont
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessVgCommittedInfoReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:931,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:939,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:933,1
    - Dst: doStartFillhistoryStep2
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:937,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pStreamTask
    - param
    argTypes:
    - SStreamTask*
    - void*
    constantsTouched: []
    func_position:
      end: 941
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 941
    functionName: handleStep2Async
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamMetaAcquireTask
    - streamMetaReleaseTask
    - tqWarn
    - doStartFillhistoryStep2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t handleStep2Async(SStreamTask* pStreamTask, void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1116,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1121,1
    - Dst: tDecodeStreamTaskRunReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1122,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1123,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1124,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1128,1
    - Dst: tqScanWal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1132,1
    - Dst: tqStreamTaskProcessRunReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1134,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1134,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1136,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1136,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1141
    functionName: tqProcessTaskRunReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqScanWal
    - tqStreamTaskProcessRunReq
    - vnodeIsRoleLeader
    - tqError
    - tstrerror
    - POINTER_SHIFT
    - tDecodeStreamTaskRunReq
    - TD_VID
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskRunReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessUpdateReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1401
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1401
    functionName: tqProcessTaskUpdateReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessUpdateReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskUpdateReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:74,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:87,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:91,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:93,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:82,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:95,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:100,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:100,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:104,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:106,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:106,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:110,1
    - Dst: tqInitialize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:112,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - path
    - pVnode
    argTypes:
    - char*
    - SVnode*
    constantsTouched: []
    func_position:
      end: 113
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 113
    functionName: tqOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosStrdup
    - tqInitialize
    - taosInitRWLatch
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqOpen(const char* path, SVnode* pVnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:238,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:248,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:253,1
    - Dst: tDecodeMqVgOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:243,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:242,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:256,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:259,1
    - Dst: tqMetaGetOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:265,1
    - Dst: tqOffsetEqual
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:266,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:267,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:273,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:273,1
    - Dst: tOffsetDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:280,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 282
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 282
    functionName: tqProcessOffsetCommitReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqOffsetEqual
    - tqDebug
    - tOffsetDestroy
    - tqError
    - strlen
    - TD_VID
    - tqInfo
    - taosHashPut
    - tDecodeMqVgOffset
    - tDecoderClear
    - tqMetaGetOffset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessOffsetCommitReq(STQ* pTq, int64_t sversion, char*
      msg, int32_t msgLen) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMqPollReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:540,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:560,1
    - Dst: tqMetaGetOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:588,1
    - Dst: tqInitDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:571,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:554,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:562,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:605,1
    - Dst: walReaderValidVersionRange
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:567,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:577,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:597,1
    - Dst: tDeleteMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:618,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:541,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:550,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:547,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:551,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:553,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:591,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:609,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:551,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:568,1
    - Dst: tqDoSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:615,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 620
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 620
    functionName: tqProcessVgWalInfoReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRsp
    - tDeserializeSMqPollReq
    - tqDebug
    - tqInitDataRsp
    - taosRUnLockLatch
    - tqDoSendDataRsp
    - walReaderValidVersionRange
    - taosHashGet
    - tqError
    - taosRLockLatch
    - strlen
    - TD_VID
    - tqInfo
    - tqMetaGetOffset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessVgWalInfoReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessDispatchReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1145
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1145
    functionName: tqProcessTaskDispatchReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessDispatchReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskDispatchReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessTaskResetReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1404,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1405
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1405
    functionName: tqProcessTaskResetReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessTaskResetReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskResetReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: tqIsHandleExec
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE bool tqIsHandleExec(STqHandle* pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaNotifyClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 181
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 181
    functionName: tqNotifyClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamMetaNotifyClose
    linkageType: ''
    returnType: void
    signature: 'void tqNotifyClose(STQ* pTq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:289,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:299,1
    - Dst: tDeserializeSMqSeekReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:293,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:298,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:301,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:301,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:303,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:305,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:311,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:313,1
    - Dst: tqUnregisterPushHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:320,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:321,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 327
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 327
    functionName: tqProcessSeekReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqDebug
    - tmsgSendRsp
    - tDeserializeSMqSeekReq
    - taosHashGet
    - tqWarn
    - tqError
    - strlen
    - taosWUnLockLatch
    - TD_VID
    - taosWLockLatch
    - tqUnregisterPushHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessSeekReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:366,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:367,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:369,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:373,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:368,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:376,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:377,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:384,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:385,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:387,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:396,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:391,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 398
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 398
    functionName: tqProcessPollPush
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqDebug
    - taosHashClear
    - taosHashIterate
    - taosHashGetSize
    - tqError
    - taosWUnLockLatch
    - TD_VID
    - taosHashCancelIterate
    - taosWLockLatch
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessPollPush(STQ* pTq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessDispatchRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1149
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1149
    functionName: tqProcessTaskDispatchRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessDispatchRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskDispatchRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessTaskPauseReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1165
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1165
    functionName: tqProcessTaskPauseReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessTaskPauseReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskPauseReq(STQ* pTq, int64_t sversion, char* msg,
      int32_t msgLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: tqSetHandleExec
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tqSetHandleExec(STqHandle* pHandle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMqPollReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:189,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:198,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:191,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:203,1
    - Dst: tqInitDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:196,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:204,1
    - Dst: tqSendDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:207,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:209,1
    - Dst: tDeleteMqDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pHandle
    - vgId
    argTypes:
    - STqHandle*
    - int32_t
    constantsTouched: []
    func_position:
      end: 212
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 212
    functionName: tqPushEmptyDataRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tDeleteMqDataRsp
    - tDeserializeSMqPollReq
    - tqInitDataRsp
    - tqSendDataRsp
    - tqError
    - tqInfo
    - tFormatOffset
    linkageType: ''
    returnType: void
    signature: 'void tqPushEmptyDataRsp(STqHandle* pHandle, int32_t vgId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:336,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:346,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:352,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - pTq
    - tbUid
    - colId
    argTypes:
    - STQ*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 360
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 360
    functionName: tqCheckColModifiable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosHashIterate
    - taosHashCancelIterate
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqCheckColModifiable(STQ* pTq, int64_t tbUid, int32_t colId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:412,1
    - Dst: tqIsHandleExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:445,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:464,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:412,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:414,1
    - Dst: tqMetaGetHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:428,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:459,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:471,1
    - Dst: tqSetHandleIdle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:475,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:477,1
    - Dst: tqExtractDataForMq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:474,1
    - Dst: tDeserializeSMqPollReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:405,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:407,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:422,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:430,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:437,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:439,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:449,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:441,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:451,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:470,1
    - Dst: tDestroySMqPollReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:481,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:426,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:431,1
    - Dst: tqSetHandleExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:447,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:454,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:456,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 483
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 483
    functionName: tqProcessPollReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tDestroySMqPollReq
    - tDeserializeSMqPollReq
    - tqDebug
    - taosMsleep
    - tqSetHandleIdle
    - tqExtractDataForMq
    - tqSetHandleExec
    - tqError
    - tqMetaGetHandle
    - tstrerror
    - taosWUnLockLatch
    - TD_VID
    - tqIsHandleExec
    - tFormatOffset
    - taosGetDefaultHashFunction
    - taosWLockLatch
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessPollReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessDropReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pTq
    - msg
    - msgLen
    argTypes:
    - STQ*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1153
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1153
    functionName: tqProcessTaskDropReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessDropReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskDropReq(STQ* pTq, char* msg, int32_t msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessTaskResumeReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1169
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1169
    functionName: tqProcessTaskResumeReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessTaskResumeReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskResumeReq(STQ* pTq, int64_t sversion, char* msg,
      int32_t msgLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1372,1
    - Dst: tDecodeStreamCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1382,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1374,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1375,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1381,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1384,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1387,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1389,1
    - Dst: tqStreamTaskProcessCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1396
    functionName: tqProcessTaskCheckpointReadyMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessCheckpointReadyMsg
    - tDecoderInit
    - tDecodeStreamCheckpointReadyMsg
    - vnodeIsRoleLeader
    - tqError
    - POINTER_SHIFT
    - TD_VID
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskCheckpointReadyMsg(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamProcessStreamHbRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1442
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1442
    functionName: tqProcessStreamHbRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamProcessStreamHbRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessStreamHbRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pHandle
    argTypes:
    - STqHandle*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: tqSetHandleIdle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void tqSetHandleIdle(STqHandle* pHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:119,1
    - Dst: streamMetaOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:120,1
    - Dst: tqMetaOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:127,1
    - Dst: streamMetaLoadAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: tqInitialize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamMetaOpen
    - streamMetaLoadAllTasks
    - tqMetaOpen
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqInitialize(STQ* pTq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:627,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:629,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:660,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:639,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:642,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:648,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:650,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:656,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:656,1
    - Dst: tqMetaDeleteInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:663,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:663,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:632,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:635,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:641,1
    - Dst: tqUnregisterPushHandle
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:645,1
    - Dst: tqMetaDeleteInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:659,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:646,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:646,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:659,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:632,1
    - Dst: tqIsHandleExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:636,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:655,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:657,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:664,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:666,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 669
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 669
    functionName: tqProcessDeleteSubReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - taosHashRemove
    - tqError
    - strlen
    - taosWUnLockLatch
    - tqInfo
    - TD_VID
    - tqIsHandleExec
    - tqMetaDeleteInfo
    - taosMsleep
    - taosWLockLatch
    - tqUnregisterPushHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessDeleteSubReq(STQ* pTq, int64_t sversion, char* msg,
      int32_t msgLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 775
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 775
    functionName: freePtr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freePtr(void* ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessUpdateCheckpointReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pTq
    - msg
    - msgLen
    argTypes:
    - STQ*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1157
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1157
    functionName: tqProcessTaskUpdateCheckpointReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessUpdateCheckpointReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskUpdateCheckpointReq(STQ* pTq, char* msg, int32_t
      msgLen) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1246,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1251,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1277,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1274,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1295,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1304,1
    - Dst: streamTaskGetActiveCheckpointInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1316,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1328,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1333,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1346,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1354,1
    - Dst: streamTaskSetCheckpointFailed
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1362,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1355,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1235,1
    - Dst: streamTaskSetFailedChkptInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1283,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1268,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1289,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1294,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1299,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1303,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1309,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1318,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1324,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1340,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1343,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1351,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1233,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1272,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1288,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1302,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1323,1
    - Dst: streamProcessCheckpointSourceReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1339,1
    - Dst: streamTaskGetPrevStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1354,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1344,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1334,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1249,1
    - Dst: tDecodeStreamCheckpointSourceReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1247,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1250,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1250,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1255,1
    - Dst: vnodeIsRoleLeader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1257,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1265,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1260,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1284,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1258,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1332,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1345,1
    - Dst: doSendChkptSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1363,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1322,1
    - Dst: streamAddCheckpointSourceRspMsg
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1360,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 89
    argCount: 3
    argNames:
    - pTq
    - pMsg
    - pRsp
    argTypes:
    - STQ*
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1368
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1368
    functionName: tqProcessTaskCheckPointSourceReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamTaskSetFailedChkptInfo
    - streamMutexLock
    - doSendChkptSourceRsp
    - tDecodeStreamCheckpointSourceReq
    - streamMutexUnlock
    - streamTaskSetCheckpointFailed
    - streamTaskGetActiveCheckpointInfo
    - tqDebug
    - vnodeIsRoleLeader
    - streamMetaAcquireTask
    - tqInfo
    - tqWarn
    - qError
    - TD_VID
    - streamProcessCheckpointSourceReq
    - streamAddCheckpointSourceRspMsg
    - tDecoderInit
    - streamTaskGetStatus
    - tqError
    - tstrerror
    - POINTER_SHIFT
    - streamTaskGetStatusStr
    - streamMetaReleaseTask
    - streamTaskGetPrevStatus
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskCheckPointSourceReq(STQ* pTq, SRpcMsg* pMsg,
      SRpcMsg* pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessRetrieveTriggerRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1439
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1439
    functionName: tqProcessTaskRetrieveTriggerRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessRetrieveTriggerRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskRetrieveTriggerRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamProcessReqCheckpointRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1445,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1446
      start: 1444
    functionDepth: 0
    functionLinenumber: 1444
    functionLinenumberEnd: 1446
    functionName: tqProcessStreamReqCheckpointRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamProcessReqCheckpointRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessStreamReqCheckpointRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: qDestroyTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:34,1
    - Dst: tqReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:39,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:40,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:41,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:37,1
    - Dst: walCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:43,1
    - Dst: tqReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:44,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:45,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:46,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:49,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:50,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:54,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:59,1
    - Dst: walCloseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:57,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: tqDestroyTqHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqReaderClose
    - nodesDestroyNode
    - walCloseReader
    - blockDataDestroy
    - rpcFreeCont
    - walCloseRef
    - qDestroyTask
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tqDestroyTqHandle(void* data) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:131,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:138,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:146,1
    - Dst: tqPushEmptyDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:150,1
    - Dst: streamMetaClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:144,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:152,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:155,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:158,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:159,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:162,1
    - Dst: tqMetaClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:163,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:170,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:160,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:164,1
    - Dst: streamMetaFreeTQDuringScanWalError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:167,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 171
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 171
    functionName: tqClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamMetaClose
    - tqMetaClose
    - taosHashIterate
    - tqPushEmptyDataRsp
    - TD_VID
    - qDebug
    - rpcFreeCont
    - streamMetaFreeTQDuringScanWalError
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tqClose(STQ* pTq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tqMetaDecodeCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:676,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:681,1
    - Dst: tqMetaSaveInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:687,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:681,1
    - Dst: tDeleteSTqCheckInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:683,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - pTq
    - sversion
    - msg
    - msgLen
    argTypes:
    - STQ*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 688
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 688
    functionName: tqProcessAddCheckInfoReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - strlen
    - taosHashPut
    - tDeleteSTqCheckInfo
    - tqMetaDecodeCheckInfo
    - tqMetaSaveInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessAddCheckInfoReq(STQ* pTq, int64_t sversion, char*
      msg, int32_t msgLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tBuildTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:808,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:849,1
    - Dst: walOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:825,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:838,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:802,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:815,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:815,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:819,1
    - Dst: tqSetRestoreVersionInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:835,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:837,1
    - Dst: streamTaskInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:784,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:813,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:827,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:827,1
    - Dst: streamTaskResetUpstreamStageInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:832,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:779,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:782,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:813,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:841,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:858,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - pTqObj
    - pTask
    - nextProcessVer
    argTypes:
    - void*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 865
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 865
    functionName: tqBuildStreamTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tBuildTSchema
    - streamTaskGetStatus
    - tqDebug
    - tqSetRestoreVersionInfo
    - walOpenReader
    - streamTaskInit
    - tqError
    - tSimpleHashInit
    - tstrerror
    - streamTaskResetUpstreamStageInfo
    - TD_VID
    - tqInfo
    - streamTaskGetStatusStr
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqBuildStreamTask(void* pTqObj, SStreamTask* pTask, int64_t
      nextProcessVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessConsenChkptIdReq
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1161
      start: 1159
    functionDepth: 0
    functionLinenumber: 1159
    functionLinenumberEnd: 1161
    functionName: tqProcessTaskConsenChkptIdReq
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessConsenChkptIdReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskConsenChkptIdReq(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamProcessCheckpointReadyRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTq
    - pMsg
    argTypes:
    - STQ*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: tqProcessTaskCheckpointReadyRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - tqStreamProcessCheckpointReadyRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessTaskCheckpointReadyRsp(STQ* pTq, SRpcMsg* pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskBuildCheckpointSourceRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1224,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1226,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tq.c:1226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - pReq
    - pRpcInfo
    - code
    - taskId
    argTypes:
    - SStreamCheckpointSourceReq*
    - SRpcHandleInfo*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1229
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1229
    functionName: doSendChkptSourceRsp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tq.c
    functionUses: []
    functionsReached:
    - streamTaskBuildCheckpointSourceRsp
    - tmsgSendRsp
    - tqError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void doSendChkptSourceRsp(SStreamCheckpointSourceReq* pReq,
      SRpcHandleInfo* pRpcInfo, int32_t code, int32_t taskId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:39,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:53,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:71,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:78,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:84,1
    - Dst: streamTaskSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:85,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:52,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:63,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:64,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:73,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:68,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:84,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:84,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:48,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:58,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:66,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:75,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:73,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:74,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:46,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:41,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:57,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:67,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - pTq
    - sver
    - ever
    - ppReader
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - SStreamTaskReader**
    constantsTouched: []
    func_position:
      end: 88
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 88
    functionName: streamTaskSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tdbTbcMoveToFirst
    - taosArrayGet
    - tqDebug
    - taosMemoryCalloc
    - tstrerror
    - TAOS_CHECK_RETURN
    - tqError
    - taosArrayPush
    - streamTaskSnapReaderClose
    - tqInfo
    - TD_VID
    - tdbTbcOpen
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapReaderOpen(STQ* pTq, int64_t sver, int64_t ever,
      SStreamTaskReader** ppReader) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:136,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:139,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:159,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:119,1
    - Dst: tdbTbcMoveToNext
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:143,1
    - Dst: tdbTbcOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:148,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:168,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:149,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:175,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:117,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:156,1
    - Dst: tdbTbcMoveToFirst
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:149,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:171,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:176,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:130,1
    - Dst: tdbTbcGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:126,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:117,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:144,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:147,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:169,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:171,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 2
    argNames:
    - pReader
    - ppData
    argTypes:
    - SStreamTaskReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 178
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 178
    functionName: streamTaskSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - tdbTbcMoveToFirst
    - taosMemoryFree
    - tqDebug
    - taosArrayGet
    - TAOS_UNUSED
    - taosMemoryMalloc
    - taosMemoryCalloc
    - tqError
    - tstrerror
    - TD_VID
    - tdbTbcMoveToNext
    - tdbTbcOpen
    - memcpy
    - taosArrayGetSize
    - tdbTbcClose
    - tdbTbcGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapRead(SStreamTaskReader* pReader, uint8_t** ppData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:192,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:201,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:201,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pTq
    - sver
    - ever
    - ppWriter
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - SStreamTaskWriter**
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: streamTaskSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_CHECK_RETURN
    - tqDebug
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapWriterOpen(STQ* pTq, int64_t sver, int64_t ever,
      SStreamTaskWriter** ppWriter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:209,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:212,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:210,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:210,1
    - Dst: tdbAbort
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:212,1
    - Dst: tdbCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:214,1
    - Dst: tdbPostCommit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:216,1
    - Dst: tdbBegin
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:221,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:224,1
    - Dst: streamMetaLoadAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:234,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:225,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:233,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:233,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - pWriter
    - rollback
    - loadTask
    argTypes:
    - SStreamTaskWriter*
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 237
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 237
    functionName: streamTaskSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - tdbCommit
    - TAOS_UNUSED
    - tqDebug
    - taosMemoryFree
    - tdbPostCommit
    - tdbAbort
    - streamMetaLoadAllTasks
    - tqError
    - tstrerror
    - streamMetaWUnLock
    - TD_VID
    - streamMetaWLock
    - tdbBegin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapWriterClose(SStreamTaskWriter* pWriter, int8_t
      rollback, int8_t loadTask) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:96,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:98,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:102,1
    - Dst: tdbTbcClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SStreamTaskReader*
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: streamTaskSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - tqInfo
    - TD_VID
    - tdbTbcClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapReaderClose(SStreamTaskReader* pReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:247,1
    - Dst: tDecodeStreamTaskId
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:248,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:250,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:253,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:256,1
    - Dst: tdbTbUpsert
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:258,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:260,1
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:263,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:267,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:267,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:272,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SStreamTaskWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 274
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 274
    functionName: streamTaskSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTaskSnap.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tqDebug
    - tqError
    - tstrerror
    - tdbTbUpsert
    - streamMetaWUnLock
    - TD_VID
    - streamMetaWLock
    - tDecoderClear
    - tDecodeStreamTaskId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskSnapWrite(SStreamTaskWriter* pWriter, uint8_t* pData,
      uint32_t nData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:38,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:56,1
    - Dst: streamSnapReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:53,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:61,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:61,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:67,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:68,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pTq
    - sver
    - ever
    - ppReader
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - SStreamStateReader**
    constantsTouched: []
    func_position:
      end: 71
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 71
    functionName: streamStateSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - streamSnapReaderOpen
    - taosMemoryFree
    - tqDebug
    - taosMemoryCalloc
    - tqError
    - tstrerror
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapReaderOpen(STQ* pTq, int64_t sver, int64_t
      ever, SStreamStateReader** ppReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:130,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:141,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:141,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:139,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:142,1
    - Dst: streamSnapWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:147,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:151,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:151,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:161,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - pTq
    - sver
    - ever
    - ppWriter
    argTypes:
    - STQ*
    - int64_t
    - int64_t
    - SStreamStateWriter**
    constantsTouched: []
    func_position:
      end: 164
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 164
    functionName: streamStateSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqDebug
    - TAOS_SYSTEM_ERROR
    - streamSnapWriterOpen
    - taosMemoryCalloc
    - tqError
    - tstrerror
    - TD_VID
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapWriterOpen(STQ* pTq, int64_t sver, int64_t
      ever, SStreamStateWriter** ppWriter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:172,1
    - Dst: streamSnapWrite
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:173,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pWriter
    - pData
    - nData
    argTypes:
    - SStreamStateWriter*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: streamStateSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - tqDebug
    - TD_VID
    - streamSnapWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapWrite(SStreamStateWriter* pWriter, uint8_t*
      pData, uint32_t nData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:75,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:75,1
    - Dst: streamSnapReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:76,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SStreamStateReader*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: streamStateSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - streamSnapReaderClose
    - taosMemoryFree
    - tqDebug
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapReaderClose(SStreamStateReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:167,1
    - Dst: streamSnapWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:168,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pWriter
    - rollback
    argTypes:
    - SStreamStateWriter*
    - int8_t
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: streamStateSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - tqDebug
    - TD_VID
    - streamSnapWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapWriterClose(SStreamStateWriter* pWriter, int8_t
      rollback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:176,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:176,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:178,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:178,1
    - Dst: streamStateLoadTasks
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:177,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pWriter
    - chkpId
    argTypes:
    - SStreamStateWriter*
    - int64_t
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: streamStateRebuildFromSnap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamStateLoadTasks
    - tqDebug
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateRebuildFromSnap(SStreamStateWriter* pWriter, int64_t
      chkpId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaLoadAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pWriter
    argTypes:
    - SStreamStateWriter*
    constantsTouched: []
    func_position:
      end: 186
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 186
    functionName: streamStateLoadTasks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - streamMetaLoadAllTasks
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateLoadTasks(SStreamStateWriter* pWriter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:82,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:104,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:95,1
    - Dst: streamSnapRead
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:91,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:82,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:105,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:106,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:106,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:110,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c:111,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pReader
    - ppData
    argTypes:
    - SStreamStateReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 113
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 113
    functionName: streamStateSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamStateSnap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqDebug
    - taosMemoryMalloc
    - tqError
    - streamSnapRead
    - tstrerror
    - TD_VID
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamStateSnapRead(SStreamStateReader* pReader, uint8_t**
      ppData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:36,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:43,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:51,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:41,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:45,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:52,1
    - Dst: doScanWalForAllTasks
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:57,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:59,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:63,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:64,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:66,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 71
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 71
    functionName: tqScanWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tqDebug
    - atomic_val_compare_exchange_32
    - tqError
    - tstrerror
    - doScanWalForAllTasks
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqScanWal(STQ* pTq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMeta
    - pMsgCb
    argTypes:
    - SStreamMeta*
    - SMsgCb*
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: tqStopStreamAllTasksAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - streamTaskSchedTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqStopStreamAllTasksAsync(SStreamMeta* pMeta, SMsgCb* pMsgCb) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:91,1
    - Dst: streamTimerGetInstance
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:96,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:129,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:130,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:147,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:151,1
    - Dst: streamMetaTryRlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:162,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:191,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:127,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:118,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:133,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:138,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:164,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:171,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:180,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:185,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:186,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:93,1
    - Dst: tqFatal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:104,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:110,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:123,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:115,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:114,1
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:142,1
    - Dst: waitEnoughDuration
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:145,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:153,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:95,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:105,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:112,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:125,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:155,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:156,1
    - Dst: streamMetaRUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:165,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:175,1
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:178,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:188,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 80
    argCount: 2
    argNames:
    - param
    - tmrId
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 193
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 193
    functionName: doStartScanWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - waitEnoughDuration
    - tqTrace
    - taosReleaseRef
    - taosArrayGetSize
    - taosMemFree
    - taosAcquireRef
    - tqDebug
    - streamMetaTryRlock
    - tqFatal
    - streamTimerGetInstance
    - tqInfo
    - tmsgGetQueueSize
    - streamTmrStart
    - streamMetaRUnLock
    - taosMsleep
    - streamTaskSchedTask
    - tqError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void doStartScanWal(void* param, void* tmrId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:283,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:287,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:292,1
    - Dst: streamTaskPutTranstateIntoInputQ
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:290,1
    - Dst: qDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:288,1
    - Dst: qWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pTask
    - ver
    argTypes:
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 304
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 304
    functionName: handleFillhistoryScanComplete
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - qWarn
    - streamTaskPutTranstateIntoInputQ
    - qError
    - qDebug
    linkageType: ''
    returnType: bool
    signature: 'bool handleFillhistoryScanComplete(SStreamTask* pTask, int64_t ver) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: extractMsgFromWal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:368,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:382,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:370,1
    - Dst: handleFillhistoryScanComplete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:371,1
    - Dst: streamTaskPutDataIntoInputQ
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:379,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:384,1
    - Dst: handleFillhistoryScanComplete
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:386,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:392,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:394,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:396,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:398,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - pTask
    - maxVer
    - numOfItems
    - pSucc
    argTypes:
    - SStreamTask*
    - int64_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 412
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 412
    functionName: doPutDataIntoInputQ
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - walReaderGetCurrentVer
    - streamTaskPutDataIntoInputQ
    - tqDebug
    - tqTrace
    - extractMsgFromWal
    - handleFillhistoryScanComplete
    - walReaderSeekVer
    - tqError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doPutDataIntoInputQ(SStreamTask* pTask, int64_t maxVer, int32_t*
      numOfItems, bool* pSucc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:211,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:205,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:211,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:209,1
    - Dst: streamTimerGetInstance
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:218,1
    - Dst: tqFatal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:220,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:221,1
    - Dst: streamTmrStart
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:223,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 226
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 226
    functionName: tqScanWalAsync
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - streamTmrStart
    - tqError
    - tstrerror
    - tqFatal
    - streamTimerGetInstance
    - tqInfo
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'void tqScanWalAsync(STQ* pTq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMeta
    argTypes:
    - SStreamMeta*
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: waitEnoughDuration
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool waitEnoughDuration(SStreamMeta* pMeta) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: walReaderGetValidFirstVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:234,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:242,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:248,1
    - Dst: tqWarn
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:236,1
    - Dst: walReaderGetCurrentVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:250,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:252,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:258,1
    - Dst: walReaderGetSkipToVersion
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:263,1
    - Dst: walReaderSeekVer
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:265,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pTask
    - vgId
    argTypes:
    - SStreamTask*
    - int32_t
    constantsTouched: []
    func_position:
      end: 274
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 274
    functionName: setWalReaderStartOffset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - walReaderGetCurrentVer
    - tqDebug
    - walReaderGetSkipToVersion
    - walReaderSeekVer
    - tqWarn
    - walReaderGetValidFirstVer
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setWalReaderStartOffset(SStreamTask* pTask, int32_t vgId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:322,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:338,1
    - Dst: tqTrace
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:324,1
    - Dst: streamQueueIsFull
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:337,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:331,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:339,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:341,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:348,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - pTask
    argTypes:
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 353
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 353
    functionName: taskReadyForDataFromWal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - streamQueueIsFull
    - streamTaskGetStatus
    - tqDebug
    - tqTrace
    - streamTrySchedExec
    - tqError
    linkageType: ''
    returnType: bool
    signature: 'bool taskReadyForDataFromWal(SStreamTask* pTask) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streamMetaWUnLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:422,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:475,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:477,1
    - Dst: streamTrySchedExec
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:480,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:424,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:421,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:429,1
    - Dst: setWalReaderStartOffset
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:454,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:463,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:469,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:467,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:449,1
    - Dst: doPutDataIntoInputQ
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:474,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:491,1
    - Dst: streamMetaWLock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:437,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:468,1
    - Dst: streamQueueGetNumOfItems
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:460,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:482,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:488,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:434,1
    - Dst: streamMetaAcquireTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:443,1
    - Dst: taskReadyForDataFromWal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:448,1
    - Dst: streamMetaReleaseTask
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:456,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:465,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:483,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - pStreamMeta
    - pNumOfTasks
    argTypes:
    - SStreamMeta*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 493
    functionName: doScanWalForAllTasks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - setWalReaderStartOffset
    - TAOS_UNUSED
    - streamMutexLock
    - streamTrySchedExec
    - taosArrayGetSize
    - streamMutexUnlock
    - tqDebug
    - taosArrayDestroy
    - streamQueueGetNumOfItems
    - streamMetaAcquireTask
    - taskReadyForDataFromWal
    - taosArrayGet
    - streamMetaWUnLock
    - streamMetaWLock
    - streamTaskGetStatus
    - tqError
    - taosArrayDup
    - tstrerror
    - doPutDataIntoInputQ
    - streamMetaReleaseTask
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doScanWalForAllTasks(SStreamMeta* pStreamMeta, int32_t* pNumOfTasks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:496,1
    - Dst: doStartScanWal
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 500
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 500
    functionName: streamMetaFreeTQDuringScanWalError
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqStreamTask.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - doStartScanWal
    linkageType: ''
    returnType: void
    signature: 'void streamMetaFreeTQDuringScanWalError(STQ* pTq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:22,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:28,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:32,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:34,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:26,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:36,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:36,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pTq
    argTypes:
    - STQ*
    constantsTouched: []
    func_position:
      end: 40
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 40
    functionName: tqProcessSubmitReqForSubscribe
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c
    functionUses: []
    functionsReached:
    - TAOS_GET_TERRNO
    - taosHashGetSize
    - tqError
    - TD_VID
    - rpcFreeCont
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqProcessSubmitReqForSubscribe(STQ* pTq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tqProcessSubmitReqForSubscribe
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:45,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:47,1
    - Dst: tqError
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pTq
    - msgType
    argTypes:
    - STQ*
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: tqPushMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c
    functionUses: []
    functionsReached:
    - tqError
    - tqProcessSubmitReqForSubscribe
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqPushMsg(STQ* pTq, tmsg_t msgType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:99,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:104,1
    - Dst: tqInfo
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:105,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:104,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:101,1
    - Dst: tqPushEmptyDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:108,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pTq
    - handle
    argTypes:
    - STQ*
    - void*
    constantsTouched: []
    func_position:
      end: 114
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 114
    functionName: tqUnregisterPushHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashRemove
    - taosHashGetSize
    - strlen
    - tqPushEmptyDataRsp
    - tqInfo
    - TD_VID
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'void tqUnregisterPushHandle(STQ* pTq, void *handle) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:58,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:64,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:67,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:62,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:69,1
    - Dst: TAOS_GET_TERRNO
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:71,1
    - Dst: tqPushEmptyDataRsp
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:74,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:77,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:81,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:83,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:83,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:87,1
    - Dst: tqDebug
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:84,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c:88,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pTq
    - handle
    - pMsg
    argTypes:
    - STQ*
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 92
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 92
    functionName: tqRegisterPushHandle
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tq/tqPush.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqDebug
    - taosMemoryCalloc
    - TAOS_GET_TERRNO
    - taosHashPut
    - strlen
    - tqPushEmptyDataRsp
    - TD_VID
    - rpcFreeCont
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tqRegisterPushHandle(STQ* pTq, void* handle, SRpcMsg* pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:60,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: tsdbSnapReadFileSetCloseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    - tsdbDataFileReaderClose
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSnapReadFileSetCloseReader(STsdbSnapReader* reader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:649,1
    - Dst: tsdbDataFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:653,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:654,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:650,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:659,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:661,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:669,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:678,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:679,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:681,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:698,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:698,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:690,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:691,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:682,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 701
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 701
    functionName: tsdbSnapWriteFileSetOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSttFileReaderOpen
    - TSDB_ERROR_LOG
    - tsdbDataFileReaderOpen
    - TD_VID
    - TARRAY2_SIZE
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetOpenReader(STsdbSnapWriter* writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1048,1
    - Dst: tsdbSnapWriteFileSetBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1057,1
    - Dst: tsdbSnapWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1075,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1079,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1051,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1058,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1072,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1073,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1050,1
    - Dst: tsdbSnapWriteTimeSeriesRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1067,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1071,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1083,1
    - Dst: tsdbSnapWriteDecmprTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1047,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1052,1
    - Dst: tsdbSnapWriteFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1054,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1055,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1068,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1083,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1076,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - writer
    - hdr
    argTypes:
    - STsdbSnapWriter*
    - SSnapDataHdr*
    constantsTouched: []
    func_position:
      end: 1086
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1086
    functionName: tsdbSnapWriteTombData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tTombBlockGet
    - tsdbSnapWriteFileSetEnd
    - tTombBlockDestroy
    - tsdbSnapWriteFileSetBegin
    - TOMB_BLOCK_SIZE
    - tsdbSnapWriteTimeSeriesRow
    - TD_VID
    - tsdbKeyFid
    - tsdbSnapWriteTombRecord
    - TSDB_ERROR_LOG
    - tsdbSnapWriteDecmprTombBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteTombData(STsdbSnapWriter* writer, SSnapDataHdr*
      hdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWriteFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1127,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1128,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1130,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1131,1
    - Dst: tsdbSnapWriteFileSetAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1133,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1134,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1136,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1137,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1142,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1142,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1144,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - writer
    - rollback
    argTypes:
    - STsdbSnapWriter*
    - bool
    constantsTouched: []
    func_position:
      end: 1147
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1147
    functionName: tsdbSnapWriterPrepareClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbSnapWriteFileSetEnd
    - TD_VID
    - tsdbFSEditBegin
    - tsdbSnapWriteFileSetAbort
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapWriterPrepareClose(STsdbSnapWriter* writer, bool rollback) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:85,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:86,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:91,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:102,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:93,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:103,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:105,1
    - Dst: tsdbSttFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:106,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:107,1
    - Dst: tsdbSnapReadFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:114,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:115,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 118
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 118
    functionName: tsdbSnapReadFileSetOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbSnapReadFileSetCloseReader
    - TSDB_CHECK_CODE
    - tsdbSttFileReaderClose
    - tsdbSttFileReaderOpen
    - TSDB_ERROR_LOG
    - tsdbDataFileReaderOpen
    - TD_VID
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadFileSetOpenReader(STsdbSnapReader* reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:704,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:705,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 707
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 707
    functionName: tsdbSnapWriteFileSetCloseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    - tsdbDataFileReaderClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetCloseReader(STsdbSnapWriter* writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1093,1
    - Dst: tsdbFSAllocEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1104,1
    - Dst: tsdbFSCreateCopyRangedSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1110,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1111,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1107,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1115,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1115,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1115,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1117,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 5
    argNames:
    - pTsdb
    - sver
    - ever
    - pRanges
    - writer
    argTypes:
    - STsdb*
    - int64_t
    - int64_t
    - void*
    - STsdbSnapWriter**
    constantsTouched: []
    func_position:
      end: 1120
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1120
    functionName: tsdbSnapWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tsdbInfo
    - tsdbFSCreateCopyRangedSnapshot
    - tstrerror
    - TD_VID
    - tsdbFSAllocEid
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapWriterOpen(STsdb* pTsdb, int64_t sver, int64_t ever,
      void* pRanges, STsdbSnapWriter** writer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSEditCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1163,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1176,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1181,1
    - Dst: tsdbFSEditAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1158,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1161,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1165,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1159,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1166,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1171,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1174,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1188,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1177,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1195,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1175,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1184,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1185,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1179,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1178,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1193,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1195,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1193,1
    - Dst: tsdbFSDestroyCopyRangedSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1182,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - writer
    - rollback
    argTypes:
    - STsdbSnapWriter**
    - int8_t
    constantsTouched: []
    func_position:
      end: 1198
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1198
    functionName: tsdbSnapWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbFSEditAbort
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbDataFileReaderClose
    - tsdbInfo
    - tsdbIterMergerClose
    - tsdbFSDestroyCopyRangedSnapshot
    - ARRAY_SIZE
    - TD_VID
    - tBufferDestroy
    - TSDB_ERROR_LOG
    - tsdbFSEditCommit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapWriterClose(STsdbSnapWriter** writer, int8_t rollback) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerGetData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:576,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:582,1
    - Dst: tRowInfoCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:595,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:583,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:584,1
    - Dst: tsdbFSetWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:597,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:598,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:600,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:601,1
    - Dst: tsdbFSetWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:611,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:612,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:616,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:616,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - STsdbSnapWriter*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 619
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 619
    functionName: tsdbSnapWriteTimeSeriesRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbIterMergerGetData
    - tRowInfoCmprFn
    - tsdbFSetWriteRow
    - tsdbIterMergerSkipTableData
    - TD_VID
    - tsdbIterMergerNext
    - TSDB_ERROR_LOG
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteTimeSeriesRow(STsdbSnapWriter* writer,
      SRowInfo* row) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:204,1
    - Dst: tsdbSnapReadFileSetOpenIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:212,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:210,1
    - Dst: tsdbSnapReadFileSetOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:209,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:205,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:213,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:218,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 221
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 221
    functionName: tsdbSnapReadRangeBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TARRAY2_GET
    - tsdbSnapReadFileSetOpenReader
    - TD_VID
    - TARRAY2_SIZE
    - tsdbSnapReadFileSetOpenIter
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadRangeBegin(STsdbSnapReader* reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:237,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:238,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:247,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:244,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:256,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:262,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:262,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 265
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 265
    functionName: tsdbSnapCmprData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - tBlockDataCompress
    - TD_VID
    - memcpy
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapCmprData(STsdbSnapReader* reader, uint8_t**
      data) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:375,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:383,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:382,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:384,1
    - Dst: tsdbIterMergerGetTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:378,1
    - Dst: tTombBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:389,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:390,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:392,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:393,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:395,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:400,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:407,1
    - Dst: tsdbSnapCmprTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:401,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:402,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:407,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 410
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 410
    functionName: tsdbSnapReadTombData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tTombBlockClear
    - TSDB_CHECK_CODE
    - tsdbSnapCmprTombData
    - tTombBlockPut
    - TOMB_BLOCK_SIZE
    - tsdbIterMergerGetTombRecord
    - tsdbIterMergerSkipTableData
    - TD_VID
    - tsdbIterMergerNext
    - TSDB_ERROR_LOG
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadTombData(STsdbSnapReader* reader, uint8_t**
      data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:836,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:845,1
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:839,1
    - Dst: tsdbSnapWriteFileSetOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:844,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:839,1
    - Dst: tsdbSnapWriteFileSetOpenIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:847,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:848,1
    - Dst: tsdbSnapWriteFileSetOpenWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:850,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:851,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:857,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:859,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:859,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - writer
    - fid
    argTypes:
    - STsdbSnapWriter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 862
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 862
    functionName: tsdbSnapWriteFileSetBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbSnapWriteFileSetOpenWriter
    - TSDB_CHECK_CODE
    - tsdbFidLevel
    - tsdbSnapWriteFileSetOpenReader
    - tsdbInfo
    - TARRAY2_SEARCH
    - tsdbSnapWriteFileSetOpenIter
    - taosGetTimestampSec
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetBegin(STsdbSnapWriter* writer,
      int32_t fid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapReadFileSetCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:224,1
    - Dst: tsdbSnapReadFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 228
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 228
    functionName: tsdbSnapReadRangeEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbSnapReadFileSetCloseReader
    - tsdbSnapReadFileSetCloseIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadRangeEnd(STsdbSnapReader* reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pBlockData
    argTypes:
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 274
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 274
    functionName: tBlockDataSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tBlockDataGetColDataByIdx
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t tBlockDataSize(SBlockData* pBlockData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:417,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:430,1
    - Dst: tsdbFSCreateRefRangedSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:425,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:426,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:431,1
    - Dst: tsdbTFileSetRangeArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:432,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:433,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:436,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - tsdb
    - sver
    - ever
    - type
    - pRanges
    - reader
    argTypes:
    - STsdb*
    - int64_t
    - int64_t
    - int8_t
    - void*
    - STsdbSnapReader**
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: tsdbSnapReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetRangeArrayDestroy
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - tsdbFSCreateRefRangedSnapshot
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapReaderOpen(STsdb* tsdb, int64_t sver, int64_t ever,
      int8_t type, void* pRanges, STsdbSnapReader** reader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerGetTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:869,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:883,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:878,1
    - Dst: tsdbFSetWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:877,1
    - Dst: tTombRecordCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:875,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:884,1
    - Dst: tsdbFSetWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:891,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:892,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:896,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:896,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - writer
    - record
    argTypes:
    - STsdbSnapWriter*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 899
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 899
    functionName: tsdbSnapWriteTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tTombRecordCompare
    - tsdbFSetWriteTombRecord
    - tsdbIterMergerGetTombRecord
    - TD_VID
    - tsdbIterMergerNext
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteTombRecord(STsdbSnapWriter* writer, const
      STombRecord* record) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWriteTimeSeriesData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1205,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1206,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1211,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1209,1
    - Dst: tsdbSnapWriteTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1208,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1216,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1217,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1219,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - writer
    - hdr
    argTypes:
    - STsdbSnapWriter*
    - SSnapDataHdr*
    constantsTouched: []
    func_position:
      end: 1223
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1223
    functionName: tsdbSnapWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbSnapWriteTimeSeriesData
    - tsdbSnapWriteTombData
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapWrite(STsdbSnapWriter* writer, SSnapDataHdr* hdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:148,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:179,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:140,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:151,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:174,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:164,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:187,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:137,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:141,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:150,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:156,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:161,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:171,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:180,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:175,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:165,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:182,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:147,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:138,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:172,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:162,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:183,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 190
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 190
    functionName: tsdbSnapReadFileSetOpenIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbIterOpen
    - TSDB_ERROR_LOG
    - tsdbIterMergerOpen
    - TD_VID
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadFileSetOpenIter(STsdbSnapReader* reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:451,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:456,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:454,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:452,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:455,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:457,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:458,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:459,1
    - Dst: tsdbFSDestroyRefRangedSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:461,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:462,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:464,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:465,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader**
    constantsTouched: []
    func_position:
      end: 472
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 472
    functionName: tsdbSnapReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    - tBlockDataDestroy
    - tsdbDataFileReaderClose
    - tsdbFSDestroyRefRangedSnapshot
    - tsdbIterMergerClose
    - tTombBlockDestroy
    - ARRAY_SIZE
    - tDestroyTSchema
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tsdbSnapReaderClose(STsdbSnapReader** reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:982,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:987,1
    - Dst: tBlockDataDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:984,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:985,1
    - Dst: tsdbSnapWriteFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:989,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:990,1
    - Dst: tsdbSnapWriteFileSetBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:992,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:993,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1000,1
    - Dst: tsdbSnapWriteTimeSeriesRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1003,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1011,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1004,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1014,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1009,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1011,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1009,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - writer
    - hdr
    argTypes:
    - STsdbSnapWriter*
    - SSnapDataHdr*
    constantsTouched: []
    func_position:
      end: 1016
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 1016
    functionName: tsdbSnapWriteTimeSeriesData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbRowFromBlockData
    - tsdbDebug
    - tBlockDataDestroy
    - tsdbSnapWriteFileSetEnd
    - tsdbSnapWriteFileSetBegin
    - BUFFER_READER_INITIALIZER
    - tsdbSnapWriteTimeSeriesRow
    - TD_VID
    - tsdbKeyFid
    - tBlockDataDecompress
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteTimeSeriesData(STsdbSnapWriter* writer,
      SSnapDataHdr* hdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:193,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:195,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:194,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapReader*
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: tsdbSnapReadFileSetCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbIterMergerClose
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSnapReadFileSetCloseIter(STsdbSnapReader* reader) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapReadRangeBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:482,1
    - Dst: tsdbSnapReadTimeSeriesData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:491,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:483,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:492,1
    - Dst: tsdbSnapReadTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:501,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:502,1
    - Dst: tsdbSnapReadRangeEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:510,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:511,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:516,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:516,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:518,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:518,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 521
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 521
    functionName: tsdbSnapRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbSnapReadTimeSeriesData
    - TSDB_CHECK_CODE
    - tsdbSnapReadRangeEnd
    - tsdbSnapReadTombData
    - tsdbDebug
    - tsdbSnapReadRangeBegin
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRead(STsdbSnapReader* reader, uint8_t** data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1022,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1032,1
    - Dst: tBufferPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:1031,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - hdr
    - tombBlock
    argTypes:
    - SSnapDataHdr*
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 1038
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1038
    functionName: tsdbSnapWriteDecmprTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tTombBlockClear
    - TSDB_CHECK_CODE
    - tBufferPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteDecmprTombBlock(SSnapDataHdr* hdr, STombBlock*
      tombBlock) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:290,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:291,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:333,1
    - Dst: tsdbIterMergerGetData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:284,1
    - Dst: tBlockDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:304,1
    - Dst: tBlockDataAppendRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:312,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:281,1
    - Dst: tsdbUpdateSkmTb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:297,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:298,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:305,1
    - Dst: TABLE_SAME_SCHEMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:308,1
    - Dst: tBlockDataSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:319,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:315,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:333,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:313,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:289,1
    - Dst: tsdbSnapCmprData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:327,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:316,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:328,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 336
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 336
    functionName: tsdbSnapReadTimeSeriesData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbIterMergerGetData
    - TABLE_SAME_SCHEMA
    - tsdbIterMergerNext
    - tBlockDataSize
    - tsdbSnapCmprData
    - tsdbIterMergerSkipTableData
    - tsdbUpdateSkmTb
    - TD_VID
    - tBlockDataAppendRow
    - tBlockDataInit
    - tBlockDataReset
    - TSDB_ERROR_LOG
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapReadTimeSeriesData(STsdbSnapReader* reader,
      uint8_t** data) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:723,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:726,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:741,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:752,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:770,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:732,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:735,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:762,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:750,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:753,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:759,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:771,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:775,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:775,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:722,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:725,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:733,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:736,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:749,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:760,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:767,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:763,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 778
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 778
    functionName: tsdbSnapWriteFileSetOpenIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbIterOpen
    - TSDB_ERROR_LOG
    - tsdbIterMergerOpen
    - TD_VID
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetOpenIter(STsdbSnapWriter* writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:815,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:820,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:816,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 823
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 823
    functionName: tsdbSnapWriteFileSetOpenWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TD_VID
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - tsdbFSetWriterOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetOpenWriter(STsdbSnapWriter* writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWriteTimeSeriesRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:913,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:914,1
    - Dst: tsdbSnapWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:922,1
    - Dst: tsdbSnapWriteFileSetCloseWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:926,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:923,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:927,1
    - Dst: tsdbSnapWriteFileSetCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:929,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:930,1
    - Dst: tsdbSnapWriteFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:932,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:933,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:939,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:941,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:941,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 944
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 944
    functionName: tsdbSnapWriteFileSetEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSnapWriteFileSetCloseWriter
    - tsdbSnapWriteFileSetCloseIter
    - tsdbInfo
    - tsdbSnapWriteTimeSeriesRow
    - tsdbSnapWriteFileSetCloseReader
    - TD_VID
    - tsdbSnapWriteTombRecord
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetEnd(STsdbSnapWriter* writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:343,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:358,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:359,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:350,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:347,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:365,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: tsdbSnapCmprTombData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - ARRAY_SIZE
    - TD_VID
    - memcpy
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapCmprTombData(STsdbSnapReader* reader, uint8_t**
      data) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:781,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:784,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:783,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:782,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 786
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 786
    functionName: tsdbSnapWriteFileSetCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbIterMergerClose
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetCloseIter(STsdbSnapWriter* writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 827
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 827
    functionName: tsdbSnapWriteFileSetCloseWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - tsdbFSetWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetCloseWriter(STsdbSnapWriter* writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapWriteFileSetCloseWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:953,1
    - Dst: tsdbSnapWriteFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:959,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:954,1
    - Dst: tsdbSnapWriteFileSetCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:956,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:957,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:960,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:966,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapWriter*
    constantsTouched: []
    func_position:
      end: 969
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 969
    functionName: tsdbSnapWriteFileSetAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshot.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSnapWriteFileSetCloseWriter
    - tsdbSnapWriteFileSetCloseIter
    - TD_VID
    - tsdbSnapWriteFileSetCloseReader
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapWriteFileSetAbort(STsdbSnapWriter* writer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6604,1
    - Dst: tsdbReaderResume2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6616,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6617,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6612,1
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6611,1
    - Dst: tsdbGetRowsInSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6630,1
    - Dst: ceil
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6638,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6642,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6657,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6658,1
    - Dst: tsdbGetRowsInSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6687,1
    - Dst: blockIteratorNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6677,1
    - Dst: initForFirstBlockInFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6679,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6699,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6680,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6702,1
    - Dst: getBucketIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6674,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6699,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 2
    argNames:
    - pReader
    - pTableBlockInfo
    argTypes:
    - STsdbReader*
    - STableBlockDistInfo*
    constantsTouched: []
    func_position:
      end: 6705
      start: 6598
    functionDepth: 0
    functionLinenumber: 6598
    functionLinenumberEnd: 6705
    functionName: tsdbGetFileBlocksDistInfo2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbAcquireReader
    - tsdbReleaseReader
    - tsdbReaderResume2
    - tSimpleHashGetSize
    - tsdbGetRowsInSttFiles
    - blockIteratorNext
    - getBucketIndex
    - tstrerror
    - getCurrentBlockInfo
    - TSDB_CHECK_NULL
    - tsdbError
    - ceil
    - initForFirstBlockInFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetFileBlocksDistInfo2(STsdbReader* pReader, STableBlockDistInfo*
      pTableBlockInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6714,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6733,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6745,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6720,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 3
    argNames:
    - pReader
    - pMaxKey
    - pMinKey
    argTypes:
    - STsdbReader*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 6750
      start: 6707
    functionDepth: 0
    functionLinenumber: 6707
    functionLinenumberEnd: 6750
    functionName: getMemTableTimeRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - tsdbGetTbDataFromMemTable
    linkageType: ''
    returnType: void
    signature: 'static void getMemTableTimeRange(STsdbReader* pReader, int64_t* pMaxKey,
      int64_t* pMinKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2035,1
    - Dst: getBlockToLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2038,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2046,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2056,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2056,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 5
    argNames:
    - pReader
    - pBlockInfo
    - pScanInfo
    - keyInBuf
    - load
    argTypes:
    - STsdbReader*
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - TSDBKEY
    - bool*
    constantsTouched: []
    func_position:
      end: 2059
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2059
    functionName: fileBlockShouldLoad
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - getBlockToLoadInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fileBlockShouldLoad(STsdbReader* pReader, SFileDataBlockInfo*
      pBlockInfo, STableBlockScanInfo* pScanInfo, TSDBKEY keyInBuf, bool* load) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pBlockData
    - pDumpInfo
    argTypes:
    - SBlockData*
    - SFileBlockDumpInfo*
    constantsTouched: []
    func_position:
      end: 3066
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3066
    functionName: hasDataInFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool hasDataInFileBlock(const SBlockData* pBlockData, const SFileBlockDumpInfo*
      pDumpInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SRowKey*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 112
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 112
    functionName: pkCompEx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tRowKeyCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t pkCompEx(SRowKey* p1, SRowKey* p2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6254,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6258,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6256,1
    - Dst: TARRAY2_INSERT_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6272,1
    - Dst: TARRAY2_INSERT_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6257,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6273,1
    - Dst: TARRAY2_INSERT_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6285,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6286,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6295,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6295,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - pSup
    - numOfRows
    - numOfCols
    - pTsAgg
    argTypes:
    - SBlockLoadSuppInfo*
    - int32_t
    - int32_t
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 6298
      start: 6246
    functionDepth: 0
    functionLinenumber: 6246
    functionLinenumberEnd: 6298
    functionName: doFillNullColSMA
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TARRAY2_INSERT_PTR
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doFillNullColSMA(SBlockLoadSuppInfo* pSup, int32_t
      numOfRows, int32_t numOfCols, SColumnDataAgg* pTsAgg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:120,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:131,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:125,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:126,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:121,1
    - Dst: valueCloneDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:132,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:135,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pBlock
    - irow
    - slotId
    - pKey
    argTypes:
    - SBlockData*
    - int32_t
    - int32_t
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 143
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 143
    functionName: tColRowGetPriamyKeyDeepCopy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - IS_NUMERIC_TYPE
    - tColDataGetValue
    - valueCloneDatum
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tColRowGetPriamyKeyDeepCopy(SBlockData* pBlock, int32_t
      irow, int32_t slotId, SRowKey* pKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3078,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3099,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3105,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3108,1
    - Dst: doMergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3102,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3085,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3097,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3106,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3110,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3077,1
    - Dst: tryCopyDistinctRowFromFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3084,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3079,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3111,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3112,1
    - Dst: initRowMergeIfNeeded
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3088,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3089,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3091,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3103,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3100,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3116,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3116,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - pBlockData
    - pBlockScanInfo
    - pKey
    - pReader
    argTypes:
    - SBlockData*
    - STableBlockScanInfo*
    - SRowKey*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3119
      start: 3068
    functionDepth: 0
    functionLinenumber: 3068
    functionLinenumberEnd: 3119
    functionName: mergeRowsInFileBlocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - TSDB_CHECK_CODE
    - tsdbRowMergerGetRow
    - tsdbRowFromBlockData
    - tRowKeyAssign
    - tstrerror
    - doAppendRowFromTSRow
    - initRowMergeIfNeeded
    - TSDB_CHECK_NULL
    - taosMemoryFreeClear
    - tsdbError
    - doMergeRowsInFileBlocks
    - tryCopyDistinctRowFromFileBlock
    - tsdbRowMergerAdd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeRowsInFileBlocks(SBlockData* pBlockData, STableBlockScanInfo*
      pBlockScanInfo, SRowKey* pKey, STsdbReader* pReader) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6323,1
    - Dst: blockInfoToRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6337,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6400,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6365,1
    - Dst: doFillNullColSMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6373,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6342,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6374,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6366,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6306,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6308,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6334,1
    - Dst: tsdbDataFileReadBlockSma
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6338,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6364,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6324,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6307,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6340,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6404,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 4
    argNames:
    - pReader
    - pDataBlock
    - allHave
    - hasNullSMA
    argTypes:
    - STsdbReader*
    - SSDataBlock*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 6407
      start: 6300
    functionDepth: 0
    functionLinenumber: 6300
    functionLinenumberEnd: 6407
    functionName: tsdbRetrieveDatablockSMA2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - taosMemoryCalloc
    - TARRAY2_CLEAR
    - tstrerror
    - getCurrentBlockInfo
    - TSDB_CHECK_NULL
    - tsdbDataFileReadBlockSma
    - tsdbError
    - taosArrayGetSize
    - blockInfoToRecord
    - doFillNullColSMA
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRetrieveDatablockSMA2(STsdbReader* pReader, SSDataBlock*
      pDataBlock, bool* allHave, bool* hasNullSMA) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:586,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:589,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:591,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:588,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:591,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:593,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:595,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 602
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 602
    functionName: tsdbAcquireReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - tstrerror
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbAcquireReader(STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pDumpInfo
    - maxKey
    - order
    argTypes:
    - SFileBlockDumpInfo*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1068
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1068
    functionName: setBlockAllDumped
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void setBlockAllDumped(SFileBlockDumpInfo* pDumpInfo, int64_t
      maxKey, int32_t order) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1732,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1747,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1763,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1765,1
    - Dst: getTableSchemaImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1738,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1735,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1759,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1756,1
    - Dst: blockInfoToRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1751,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1728,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1729,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1742,1
    - Dst: tsdbDataFileReadBlockDataByColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1753,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1760,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1775,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1775,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 4
    argNames:
    - pReader
    - pBlockIter
    - pBlockData
    - uid
    argTypes:
    - STsdbReader*
    - SDataBlockIter*
    - SBlockData*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1778
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1778
    functionName: doLoadFileBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - getTableSchemaImpl
    - tstrerror
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - getCurrentBlockInfo
    - tsdbDataFileReadBlockDataByColumn
    - tsdbError
    - blockInfoToRecord
    - tBlockDataReset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadFileBlockData(STsdbReader* pReader, SDataBlockIter*
      pBlockIter, SBlockData* pBlockData, uint64_t uid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1984,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1985,1
    - Dst: overlapWithNeighborBlock2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1997,1
    - Dst: getNeighborBlockOfTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1990,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1992,1
    - Dst: blockInfoToRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2000,1
    - Dst: overlapWithDelSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2004,1
    - Dst: dataBlockPartiallyRequired
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2013,1
    - Dst: keyOverlapFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2014,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2018,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2018,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - pInfo
    - pBlockInfo
    - pScanInfo
    - keyInBuf
    - pReader
    argTypes:
    - SDataBlockToLoadInfo*
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - TSDBKEY
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 2021
      start: 1973
    functionDepth: 0
    functionLinenumber: 1973
    functionLinenumberEnd: 2021
    functionName: getBlockToLoadInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - overlapWithNeighborBlock2
    - TSDB_CHECK_CODE
    - dataBlockPartiallyRequired
    - overlapWithDelSkyline
    - TSDB_CHECK_NULL
    - keyOverlapFileBlock
    - tstrerror
    - tsdbError
    - blockInfoToRecord
    - getNeighborBlockOfTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBlockToLoadInfo(SDataBlockToLoadInfo* pInfo, SFileDataBlockInfo*
      pBlockInfo, STableBlockScanInfo* pScanInfo, TSDBKEY keyInBuf, STsdbReader* pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3801,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3803,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3813,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3804,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3815,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3783,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3785,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3800,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3803,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3803,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3804,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3807,1
    - Dst: updateLastKeyInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3814,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3804,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3817,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3799,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3784,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3790,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3806,1
    - Dst: setComposedBlockFlag
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3812,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3825,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - pReader
    - pScanInfo
    - pBlockInfo
    - blockIndex
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - SFileDataBlockInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3828
      start: 3775
    functionDepth: 0
    functionLinenumber: 3775
    functionLinenumberEnd: 3828
    functionName: buildCleanBlockFromDataFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - setBlockAllDumped
    - IS_NUMERIC_TYPE
    - varDataLen
    - updateLastKeyInfo
    - tsdbDebug
    - varDataVal
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - memcpy
    - VALUE_SET_TRIVIAL_DATUM
    - setComposedBlockFlag
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCleanBlockFromDataFiles(STsdbReader* pReader,
      STableBlockScanInfo* pScanInfo, SFileDataBlockInfo* pBlockInfo, int32_t blockIndex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4289,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4290,1
    - Dst: doLoadSttBlockSequentially
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4300,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4301,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4297,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4308,1
    - Dst: initForFirstBlockInFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4310,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4311,1
    - Dst: buildFromPreFilesetBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4319,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4320,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4338,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4338,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4331,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4332,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 2
    argNames:
    - pReader
    - pReturnType
    argTypes:
    - STsdbReader*
    - ERetrieveType*
    constantsTouched: []
    func_position:
      end: 4341
      start: 4283
    functionDepth: 0
    functionLinenumber: 4283
    functionLinenumberEnd: 4341
    functionName: doReadDataFromSttFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - tsdbDebug
    - resetTableListIndex
    - buildFromPreFilesetBuffer
    - doLoadSttBlockSequentially
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - initForFirstBlockInFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doReadDataFromSttFiles(STsdbReader* pReader, ERetrieveType*
      pReturnType) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4816,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4817,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4832,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4821,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4822,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4833,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4834,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4840,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 6
    argNames:
    - pBlockData
    - rowIndex
    - pKey
    - pMerger
    - pVerRange
    - step
    argTypes:
    - SBlockData*
    - int32_t*
    - SRowKey*
    - SRowMerger*
    - SVersionRange*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4843
      start: 4811
    functionDepth: 0
    functionLinenumber: 4811
    functionLinenumberEnd: 4843
    functionName: doMergeRowsInFileBlockImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbRowFromBlockData
    - tstrerror
    - TSDB_CHECK_NULL
    - tColRowGetKey
    - tsdbError
    - pkCompEx
    - tsdbRowMergerAdd
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doMergeRowsInFileBlockImpl(SBlockData* pBlockData,
      int32_t* rowIndex, SRowKey* pKey, SRowMerger* pMerger, SVersionRange* pVerRange,
      int32_t step) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4949,1
    - Dst: nextRowFromSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4954,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4960,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4955,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4956,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4962,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4964,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4965,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4966,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4968,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4977,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4969,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4977,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 6
    argNames:
    - pSttBlockReader
    - pScanInfo
    - pMerger
    - pkSrcSlot
    - pVerRange
    - idStr
    argTypes:
    - SSttBlockReader*
    - STableBlockScanInfo*
    - SRowMerger*
    - int32_t
    - SVersionRange*
    - char*
    constantsTouched: []
    func_position:
      end: 4980
      start: 4942
    functionDepth: 0
    functionLinenumber: 4942
    functionLinenumberEnd: 4980
    functionName: doMergeRowsInSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGetSize
    - tstrerror
    - nextRowFromSttBlocks
    - TSDB_CHECK_NULL
    - tsdbRowMergerAdd
    - getCurrentKeyInSttBlock
    - tsdbError
    - pkCompEx
    - hasDataInSttBlock
    - tMergeTreeGetRow
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeRowsInSttBlock(SSttBlockReader* pSttBlockReader, STableBlockScanInfo*
      pScanInfo, SRowMerger* pMerger, int32_t pkSrcSlot, SVersionRange* pVerRange,
      const char* idStr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:608,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:621,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:615,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:613,1
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:610,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 624
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 624
    functionName: tsdbTryAcquireReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbWarn
    - taosThreadMutexTryLock
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbTryAcquireReader(STsdbReader* pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1075,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1085,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1076,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1086,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1084,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1089,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1089,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1090,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1095,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1095,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 5
    argNames:
    - pKey
    - pBlockInfo
    - pInfo
    - numOfPks
    - asc
    argTypes:
    - SRowKey*
    - SFileDataBlockInfo*
    - SDataBlockInfo*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1098
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1098
    functionName: updateLastKeyInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - IS_NUMERIC_TYPE
    - varDataLen
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TAOS_MEMCPY
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateLastKeyInfo(SRowKey* pKey, SFileDataBlockInfo*
      pBlockInfo, SDataBlockInfo* pInfo, int32_t numOfPks, bool asc) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3860,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3873,1
    - Dst: buildComposedDataBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3908,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3901,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3936,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3936,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3839,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3861,1
    - Dst: initSttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3881,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3853,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3855,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3845,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3871,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3904,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3885,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3928,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3853,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3883,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3909,1
    - Dst: buildCleanBlockFromSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3896,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3897,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3886,1
    - Dst: updateComposedBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3917,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3920,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3939
      start: 3830
    functionDepth: 0
    functionLinenumber: 3830
    functionLinenumberEnd: 3939
    functionName: doLoadSttBlockSequentially
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initSttBlockReader
    - updateComposedBlockInfo
    - TSDB_CHECK_CODE
    - tsdbWarn
    - tSimpleHashGetSize
    - moveToNextTable
    - buildCleanBlockFromSttFiles
    - tsdbDebug
    - taosHashGet
    - buildComposedDataBlockImpl
    - tstrerror
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - tsdbError
    - hasDataInSttBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadSttBlockSequentially(STsdbReader* pReader) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4355,1
    - Dst: fileBlockPartiallyRead
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4380,1
    - Dst: buildComposedDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4381,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4382,1
    - Dst: initBlockDumpInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4389,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4390,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4399,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4407,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4425,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4353,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4367,1
    - Dst: tBlockDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4395,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4403,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4398,1
    - Dst: doReadDataFromSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4406,1
    - Dst: doReadDataFromSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4366,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4373,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4400,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4402,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4415,1
    - Dst: doBuildDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4372,1
    - Dst: blockIteratorNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4387,1
    - Dst: resetDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4399,1
    - Dst: doBuildDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4414,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 4428
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4428
    functionName: buildBlockFromFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doReadDataFromSttFiles
    - TSDB_CHECK_CODE
    - shouldFreePkBuf
    - resetTableListIndex
    - tBlockDataClear
    - buildComposedDataBlock
    - blockIteratorNext
    - initBlockDumpInfo
    - resetDataBlockIterator
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tstrerror
    - fileBlockPartiallyRead
    - tsdbError
    - tBlockDataReset
    - doBuildDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBlockFromFiles(STsdbReader* pReader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4992,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4995,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5046,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5042,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5052,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5064,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5064,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5002,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5038,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5041,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4996,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4994,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4993,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5009,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5010,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5025,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5045,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5050,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5056,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5059,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5017,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5017,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5026,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5037,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5049,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5053,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5055,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 66
    argCount: 8
    argNames:
    - pRow
    - pKey
    - uid
    - pIter
    - pDelList
    - pResRow
    - pReader
    - freeTSRow
    argTypes:
    - TSDBROW*
    - SRowKey*
    - uint64_t
    - SIterInfo*
    - SArray*
    - TSDBROW*
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 5067
      start: 4982
    functionDepth: 0
    functionLinenumber: 4982
    functionLinenumberEnd: 5067
    functionName: doMergeMemTableMultiRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - TSDB_CHECK_CODE
    - tsdbRowMergerGetRow
    - doMergeRowsInBuf
    - tstrerror
    - TSDB_CHECK_NULL
    - TSDBROW_TS
    - pkCompEx
    - doGetSchemaForTSRow
    - tsdbRowMergerAdd
    - tsdbError
    - getValidMemRow
    - tsdbTbDataIterNext
    - tRowGetKeyEx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeMemTableMultiRows(TSDBROW* pRow, SRowKey* pKey, uint64_t
      uid, SIterInfo* pIter, SArray* pDelList, TSDBROW* pResRow, STsdbReader* pReader,
      bool* freeTSRow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5543
      start: 5535
    functionDepth: 0
    functionLinenumber: 5535
    functionLinenumberEnd: 5543
    functionName: clearSharedPtr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void clearSharedPtr(STsdbReader* p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1961,1
    - Dst: getBoarderKeyInFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1962,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - keyInBuf
    - pBlock
    - pScanInfo
    - order
    argTypes:
    - TSDBKEY
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1966
      start: 1959
    functionDepth: 0
    functionLinenumber: 1959
    functionLinenumberEnd: 1966
    functionName: bufferDataInFileBlockGap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - ASCENDING_TRAVERSE
    - getBoarderKeyInFiles
    linkageType: ''
    returnType: bool
    signature: 'static bool bufferDataInFileBlockGap(TSDBKEY keyInBuf, SFileDataBlockInfo*
      pBlock, STableBlockScanInfo* pScanInfo, int32_t order) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4437,1
    - Dst: VND_RSMA0
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4464,1
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4440,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4463,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4463,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4468,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4468,1
    - Dst: VND_RSMA1
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4469,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4473,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4473,1
    - Dst: VND_RSMA2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4474,1
    - Dst: VND_TSDB
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4479,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 6
    argNames:
    - pVnode
    - pCond
    - retentions
    - idStr
    - pLevel
    - pTsdb
    argTypes:
    - SVnode*
    - SQueryTableDataCond*
    - SRetention*
    - char*
    - int8_t*
    - STsdb**
    constantsTouched: []
    func_position:
      end: 4480
      start: 4430
    functionDepth: 0
    functionLinenumber: 4430
    functionLinenumberEnd: 4480
    functionName: getTsdbByRetentions
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbDebug
    - VND_RSMA1
    - VND_IS_RSMA
    - VND_RSMA0
    - VND_TSDB
    - TD_VID
    - VND_RSMA2
    - taosGetTimestamp
    linkageType: ''
    returnType: void
    signature: 'static void getTsdbByRetentions(SVnode* pVnode, SQueryTableDataCond*
      pCond, SRetention* retentions, const char* idStr, int8_t* pLevel, STsdb** pTsdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - key
    - pBlock
    - pVerRange
    argTypes:
    - TSDBKEY
    - SFileDataBlockInfo*
    - SVersionRange*
    constantsTouched: []
    func_position:
      end: 1971
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1971
    functionName: keyOverlapFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool keyOverlapFileBlock(TSDBKEY key, SFileDataBlockInfo* pBlock,
      SVersionRange* pVerRange) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pVnode
    - pCond
    - level
    argTypes:
    - SVnode*
    - SQueryTableDataCond*
    - int8_t
    constantsTouched: []
    func_position:
      end: 4494
      start: 4482
    functionDepth: 0
    functionLinenumber: 4482
    functionLinenumberEnd: 4494
    functionName: getQueryVerRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SVersionRange
    signature: 'SVersionRange getQueryVerRange(SVnode* pVnode, SQueryTableDataCond*
      pCond, int8_t level) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pWindow
    - pVerRange
    - pBlock
    argTypes:
    - STimeWindow*
    - SVersionRange*
    - SFileDataBlockInfo*
    constantsTouched: []
    func_position:
      end: 1788
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1788
    functionName: dataBlockPartiallyRequired
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dataBlockPartiallyRequired(STimeWindow* pWindow, SVersionRange*
      pVerRange, SFileDataBlockInfo* pBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:319,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:321,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:324,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:325,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:320,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:333,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:335,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:337,1
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:347,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:350,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:352,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:358,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:348,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:354,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - pIter
    - pFileSetArray
    - pReader
    argTypes:
    - SFilesetIter*
    - TFileSetArray*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 361
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 361
    functionName: initFilesetIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - taosMemoryCalloc
    - tMergeTreeClose
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - initRowKey
    - tsdbError
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initFilesetIterator(SFilesetIter* pIter, TFileSetArray*
      pFileSetArray, STsdbReader* pReader) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1495,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1510,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1523,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1582,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1598,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1552,1
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1612,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1620,1
    - Dst: copyNumericCols
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1623,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1624,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1685,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1628,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1639,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1509,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1506,1
    - Dst: getEndPosInDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1616,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1617,1
    - Dst: doCopyColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1629,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1648,1
    - Dst: tColRowGetKeyDeepCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1659,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1667,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1627,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1651,1
    - Dst: blockInfoToRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1512,1
    - Dst: findFirstPos
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1550,1
    - Dst: outOfTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1666,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1671,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1674,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1678,1
    - Dst: colDataSetNNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1641,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1630,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1505,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1517,1
    - Dst: doBinarySearchKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1538,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1541,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1591,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1599,1
    - Dst: copyPrimaryTsCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1602,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1547,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1603,1
    - Dst: IS_MATHABLE_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1622,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1649,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 183
    argCount: 2
    argNames:
    - pReader
    - pLastProcKey
    argTypes:
    - STsdbReader*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 1688
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1688
    functionName: copyBlockDataToSDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - setBlockAllDumped
    - TSDB_CHECK_NULL
    - tBlockDataGetColDataByIdx
    - copyNumericCols
    - doCopyColVal
    - tColRowGetKeyDeepCopy
    - doBinarySearchKey
    - outOfTimeWindow
    - ASCENDING_TRAVERSE
    - blockInfoToRecord
    - findFirstPos
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbWarn
    - tsdbDebug
    - colDataSetNNULL
    - tColDataGetValue
    - taosGetTimestampUs
    - getCurrentBlockInfo
    - getEndPosInDataBlock
    - copyPrimaryTsCol
    - tstrerror
    - tsdbError
    - IS_MATHABLE_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyBlockDataToSDataBlock(STsdbReader* pReader, SRowKey*
      pLastProcKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2787,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2791,1
    - Dst: doForwardDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2790,1
    - Dst: doForwardDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2792,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2788,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2793,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2797,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pKey
    - pBlockScanInfo
    - pReader
    argTypes:
    - SRowKey*
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 2800
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2800
    functionName: forwardDataIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - doForwardDataIter
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t forwardDataIter(SRowKey* pKey, STableBlockScanInfo*
      pBlockScanInfo, STsdbReader* pReader) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2942,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2952,1
    - Dst: initMemDataIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2994,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3016,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3024,1
    - Dst: INIT_KEYRANGE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3035,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3044,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2929,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2931,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2964,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2989,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2992,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3006,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2998,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3012,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3017,1
    - Dst: INIT_KEYRANGE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3056,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3030,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2965,1
    - Dst: tMergeTreeOpen2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2991,1
    - Dst: isCleanSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3001,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3007,1
    - Dst: initDelSkylineIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2997,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3013,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2930,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2934,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2988,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2995,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3021,1
    - Dst: nextRowFromSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3036,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3039,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3047,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3051,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3051,1
    - Dst: nextRowFromSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3027,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 92
    argCount: 3
    argNames:
    - pSttBlockReader
    - pScanInfo
    - pReader
    argTypes:
    - SSttBlockReader*
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3057
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 3057
    functionName: initSttBlockReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tMergeTreeClose
    - INIT_KEYRANGE
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - initDelSkylineIterator
    - taosArrayDestroy
    - tMergeTreeOpen2
    - ASCENDING_TRAVERSE
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbDebug
    - initMemDataIterator
    - taosGetTimestampUs
    - nextRowFromSttBlocks
    - isCleanSttBlock
    - tRowKeyAssign
    - tstrerror
    - tsdbError
    - pkCompEx
    linkageType: ''
    returnType: void
    signature: 'static void initSttBlockReader(SSttBlockReader* pSttBlockReader, STableBlockScanInfo*
      pScanInfo, STsdbReader* pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3137,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3143,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3158,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3163,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3159,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3166,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3176,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3176,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3129,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3130,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3142,1
    - Dst: doMergeRowsInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3162,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3165,1
    - Dst: tryCopyDistinctRowFromSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3148,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3156,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3170,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3131,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3137,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3139,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3149,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3155,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3160,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3168,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3171,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3172,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - pSttBlockReader
    - pScanInfo
    - pReader
    argTypes:
    - SSttBlockReader*
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3179
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3179
    functionName: mergeRowsInSttBlocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - doMergeRowsInSttBlock
    - tryCopyDistinctRowFromSttBlock
    - TSDB_CHECK_CODE
    - tsdbRowMergerGetRow
    - tRowKeyAssign
    - tstrerror
    - doAppendRowFromTSRow
    - TSDB_CHECK_NULL
    - tsdbRowMergerAdd
    - getCurrentKeyInSttBlock
    - tsdbError
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    - tMergeTreeGetRow
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mergeRowsInSttBlocks(SSttBlockReader* pSttBlockReader, STableBlockScanInfo*
      pScanInfo, STsdbReader* pReader) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5367,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5385,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5382,1
    - Dst: tsdbGetNextRowInMem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5374,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5375,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5387,1
    - Dst: tRowGetPrimaryKeyDeepCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5392,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5395,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5397,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5402,1
    - Dst: doAppendRowFromFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5405,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5423,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5406,1
    - Dst: tColRowGetKeyDeepCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5408,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5423,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - pBlockScanInfo
    - endKey
    - capacity
    - pReader
    argTypes:
    - STableBlockScanInfo*
    - int64_t
    - int32_t
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5426
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5426
    functionName: buildDataBlockFromBufImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doAppendRowFromFileBlock
    - tsdbGetNextRowInMem
    - TSDB_CHECK_CODE
    - tColRowGetKeyDeepCopy
    - tstrerror
    - doAppendRowFromTSRow
    - TSDB_CHECK_NULL
    - tsdbError
    - tRowGetPrimaryKeyDeepCopy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t buildDataBlockFromBufImpl(STableBlockScanInfo* pBlockScanInfo,
      int64_t endKey, int32_t capacity, STsdbReader* pReader) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5575,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5576,1
    - Dst: tsdbReaderCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5579,1
    - Dst: tsdbReaderCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5601,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5602,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5644,1
    - Dst: updateBlockSMAInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5646,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5647,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5654,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5657,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5622,1
    - Dst: metaGetTbTSchemaMaybeNull
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5626,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5641,1
    - Dst: createDataBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5652,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5656,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5663,1
    - Dst: isEmptyQueryTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5584,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5585,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5612,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5638,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5629,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5627,1
    - Dst: metaGetTbTSchemaMaybeNull
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5619,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5620,1
    - Dst: tsdbReaderClose2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5671,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5580,1
    - Dst: tsdbReaderCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5611,1
    - Dst: tsdbRowMergerInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5634,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5635,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5640,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5670,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 89
    argCount: 8
    argNames:
    - pVnode
    - pCond
    - pTableList
    - numOfTables
    - pResBlock
    - ppReader
    - idstr
    - pIgnoreTables
    argTypes:
    - void*
    - SQueryTableDataCond*
    - void*
    - int32_t
    - SSDataBlock*
    - void**
    - char*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 5675
      start: 5561
    functionDepth: 0
    functionLinenumber: 5561
    functionLinenumberEnd: 5675
    functionName: tsdbReaderOpen2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - isEmptyQueryTimeWindow
    - TSDB_CHECK_CODE
    - createDataBlockScanInfo
    - tsdbWarn
    - tsdbDebug
    - blockDataEnsureCapacity
    - tsdbReaderClose2
    - tstrerror
    - tsdbReaderCreate
    - tSimpleHashInit
    - tsdbRowMergerInit
    - TSDB_CHECK_NULL
    - tsdbError
    - tSimpleHashSetFreeFp
    - updateBlockSMAInfo
    - taosArrayInit
    - metaGetTbTSchemaMaybeNull
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderOpen2(void* pVnode, SQueryTableDataCond* pCond,
      void* pTableList, int32_t numOfTables, SSDataBlock* pResBlock, void** ppReader,
      const char* idstr, SHashObj** pIgnoreTables) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:371,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:372,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:373,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:387,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:375,1
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:389,1
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:390,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:392,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:393,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:400,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:433,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:443,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:458,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:467,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:439,1
    - Dst: tsdbDataFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:432,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:467,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:403,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 89
    argCount: 3
    argNames:
    - pIter
    - pReader
    - hasNext
    argTypes:
    - SFilesetIter*
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 470
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 470
    functionName: filesetIteratorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - tsdbDataFileReaderClose
    - tsdbDebug
    - tMergeTreeClose
    - tsdbFidKeyRange
    - tstrerror
    - destroySttBlockReader
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbDataFileReaderOpen
    - tsdbError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t filesetIteratorNext(SFilesetIter* pIter, STsdbReader*
      pReader, bool* hasNext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1694,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1696,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1701,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1699,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1702,1
    - Dst: tsdbRowMergerInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1704,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1705,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1709,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - STsdbReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 1714
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1714
    functionName: getTableSchemaImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - metaGetTbTSchemaEx
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbRowMergerInit
    - tsdbError
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE STSchema * getTableSchemaImpl(STsdbReader* pReader,
      uint64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3059
    functionDepth: 0
    functionLinenumber: 3059
    functionLinenumberEnd: 3059
    functionName: hasDataInSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasDataInSttBlock(STableBlockScanInfo* pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3205,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3206,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3217,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3233,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3192,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3197,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3191,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3210,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3211,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3235,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3199,1
    - Dst: doMergeMultiLevelRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3216,1
    - Dst: doMergeBufAndFileRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3224,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3225,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3190,1
    - Dst: hasDataInFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3196,1
    - Dst: primaryKeyDup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3198,1
    - Dst: doMergeBufAndFileRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3220,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3221,1
    - Dst: mergeFileBlockAndSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3228,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3229,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 4
    argNames:
    - pReader
    - pBlockScanInfo
    - pBlockData
    - pSttBlockReader
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - SBlockData*
    - SSttBlockReader*
    constantsTouched: []
    func_position:
      end: 3238
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3238
    functionName: buildComposedDataBlockImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doMergeMultiLevelRows
    - TSDB_CHECK_CODE
    - clearRowKey
    - mergeFileBlockAndSttBlock
    - doMergeBufAndFileRows
    - tstrerror
    - TSDB_CHECK_NULL
    - tColRowGetKey
    - tsdbError
    - getValidMemRow
    - primaryKeyDup
    - hasDataInFileBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildComposedDataBlockImpl(STsdbReader* pReader, STableBlockScanInfo*
      pBlockScanInfo, SBlockData* pBlockData, SSttBlockReader* pSttBlockReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2760,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2761,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2769,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2767,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2766,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2777,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2777,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - pKey
    - pIter
    - pBlockScanInfo
    - pReader
    argTypes:
    - SRowKey*
    - SIterInfo*
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 2780
      start: 2752
    functionDepth: 0
    functionLinenumber: 2752
    functionLinenumberEnd: 2780
    functionName: doForwardDataIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - tsdbError
    - getValidMemRow
    - tsdbTbDataIterNext
    - tRowGetKeyEx
    - pkCompEx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doForwardDataIter(SRowKey* pKey, SIterInfo* pIter,
      STableBlockScanInfo* pBlockScanInfo, STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowMergerInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pDst
    - pSrc
    argTypes:
    - STsdbReader*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5558
      start: 5545
    functionDepth: 0
    functionLinenumber: 5545
    functionLinenumberEnd: 5558
    functionName: setSharedPtr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setSharedPtr(STsdbReader* pDst, const STsdbReader*
      pSrc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:200,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:203,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:202,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:213,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:214,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:229,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:230,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:232,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:233,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:235,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:243,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - pSupInfo
    - pCols
    - pSlotIdList
    - numOfCols
    argTypes:
    - SBlockLoadSuppInfo*
    - SColumnInfo*
    - int32_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 246
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 246
    functionName: setColumnIdSlotList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setColumnIdSlotList(SBlockLoadSuppInfo* pSupInfo, SColumnInfo*
      pCols, const int32_t* pSlotIdList, int32_t numOfCols) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1910,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1915,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1914,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1917,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1915,1
    - Dst: tValueCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1919,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1930,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1931,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1931,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1933,1
    - Dst: tValueCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1935,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 5
    argNames:
    - pBlock
    - pRec
    - order
    - pkType
    - numOfPk
    argTypes:
    - SFileDataBlockInfo*
    - SBrinRecord*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1943
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1943
    functionName: overlapWithNeighborBlock2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - varDataLen
    - varDataVal
    - ASCENDING_TRAVERSE
    - IS_VAR_DATA_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - tValueCompare
    linkageType: ''
    returnType: bool
    signature: 'static bool overlapWithNeighborBlock2(SFileDataBlockInfo* pBlock,
      SBrinRecord* pRec, int32_t order, int32_t pkType, int32_t numOfPk) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3518,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3524,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3519,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3522,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3525,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3528,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3531,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3532,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3535,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3556,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3556,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - pScanInfo
    - pReader
    - pkey
    argTypes:
    - STableBlockScanInfo*
    - STsdbReader*
    - TSDBKEY*
    constantsTouched: []
    func_position:
      end: 3559
      start: 3507
    functionDepth: 0
    functionLinenumber: 3507
    functionLinenumberEnd: 3559
    functionName: getCurrentKeyInBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TSDBROW_KEY
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - getValidMemRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getCurrentKeyInBuf(STableBlockScanInfo* pScanInfo, STsdbReader*
      pReader, TSDBKEY* pkey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:254,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:255,1
    - Dst: IS_BSMA_ON
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:260,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:277,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:271,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:277,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - pSchema
    - pSupInfo
    argTypes:
    - STSchema*
    - SBlockLoadSuppInfo*
    constantsTouched: []
    func_position:
      end: 280
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 280
    functionName: updateBlockSMAInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - IS_BSMA_ON
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateBlockSMAInfo(STSchema* pSchema, SBlockLoadSuppInfo*
      pSupInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1946,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1951,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pBlock
    - pScanInfo
    - order
    argTypes:
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1957
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1957
    functionName: getBoarderKeyInFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TMAX
    - ASCENDING_TRAVERSE
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getBoarderKeyInFiles(SFileDataBlockInfo* pBlock, STableBlockScanInfo*
      pScanInfo, int32_t order) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3570,1
    - Dst: resetPreFilesetMemTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3583,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3572,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3581,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3597
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3597
    functionName: prepareDurationForNextFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbFidKeyRange
    - ASCENDING_TRAVERSE
    - resetPreFilesetMemTableListIndex
    - tsdbDebug
    linkageType: ''
    returnType: void
    signature: 'static void prepareDurationForNextFileSet(STsdbReader* pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5438,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5440,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5446,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5443,1
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5442,1
    - Dst: clearBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5447,1
    - Dst: tSimpleHashClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5450,1
    - Dst: ensureBlockScanInfoBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5453,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5454,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5456,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5474,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5479,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5479,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5457,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5482,1
    - Dst: getPosInBlockInfoBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5470,1
    - Dst: initTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5473,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5471,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - pReader
    - pTableList
    - num
    argTypes:
    - STsdbReader*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5485
      start: 5429
    functionDepth: 0
    functionLinenumber: 5429
    functionLinenumberEnd: 5485
    functionName: tsdbSetTableList2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - getPosInBlockInfoBuf
    - ensureBlockScanInfoBuf
    - TSDB_CHECK_CODE
    - tsdbAcquireReader
    - tsdbReleaseReader
    - tSimpleHashGetSize
    - tSimpleHashClear
    - taosMemoryRealloc
    - tstrerror
    - tSimpleHashIterate
    - TSDB_CHECK_NULL
    - initTableBlockScanInfo
    - tsdbError
    - clearBlockScanInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSetTableList2(STsdbReader* pReader, const void* pTableList,
      int32_t num) '
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 45
    argCount: 5
    argNames:
    - keyList
    - num
    - pos
    - key
    - order
    argTypes:
    - TSKEY*
    - int
    - int
    - TSKEY
    - int
    constantsTouched: []
    func_position:
      end: 1217
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1217
    functionName: doBinarySearchKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBinarySearchKey(const TSKEY* keyList, int num, int
      pos, TSKEY key, int order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2067,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2078,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2071,1
    - Dst: getBlockToLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2070,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2078,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - pReader
    - pBlockInfo
    - pScanInfo
    - keyInBuf
    - res
    argTypes:
    - STsdbReader*
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - TSDBKEY
    - bool*
    constantsTouched: []
    func_position:
      end: 2081
      start: 2061
    functionDepth: 0
    functionLinenumber: 2061
    functionLinenumberEnd: 2081
    functionName: isCleanFileDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - getBlockToLoadInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isCleanFileDataBlock(STsdbReader* pReader, SFileDataBlockInfo*
      pBlockInfo, STableBlockScanInfo* pScanInfo, TSDBKEY keyInBuf, bool* res) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6758,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6759,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6764,1
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6763,1
    - Dst: tsdbReaderResume2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6768,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6769,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6773,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6780,1
    - Dst: tsdbGetNRowsInTbData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6782,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6788,1
    - Dst: tsdbGetNRowsInTbData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6790,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6795,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6800,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6800,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6803,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - pReader
    - rows
    argTypes:
    - STsdbReader*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 6806
      start: 6752
    functionDepth: 0
    functionLinenumber: 6752
    functionLinenumberEnd: 6806
    functionName: tsdbGetNumOfRowsInMemTable2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbAcquireReader
    - tsdbReleaseReader
    - tsdbReaderResume2
    - tsdbGetNRowsInTbData
    - tSimpleHashIterate
    - TSDB_CHECK_NULL
    - tstrerror
    - tsdbError
    - tsdbGetTbDataFromMemTable
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tsdbGetNumOfRowsInMemTable2(STsdbReader* pReader, uint32_t*
      rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2089,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2100,1
    - Dst: getTableSchemaImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2094,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2095,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2100,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - STsdbReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2103
      start: 2083
    functionDepth: 0
    functionLinenumber: 2083
    functionLinenumberEnd: 2103
    functionName: initRowMergeIfNeeded
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - getTableSchemaImpl
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initRowMergeIfNeeded(STsdbReader* pReader, int64_t
      uid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6810,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6824,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6814,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6811,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6822,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6827,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6833,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6833,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6834,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6838,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6841,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pMeta
    - uid
    - pSchema
    - suid
    argTypes:
    - SMeta*
    - int64_t
    - STSchema**
    - int64_t*
    constantsTouched: []
    func_position:
      end: 6843
      start: 6808
    functionDepth: 0
    functionLinenumber: 6808
    functionLinenumberEnd: 6843
    functionName: tsdbGetTableSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - metaGetTbTSchemaEx
    - metaReaderGetTableEntryByUidCache
    - tstrerror
    - metaReaderClear
    - tsdbError
    - metaReaderDoInit
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetTableSchema(SMeta* pMeta, int64_t uid, STSchema** pSchema,
      int64_t* suid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7097,1
    - Dst: tsdbEncodeLastProcKeys
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7102,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7104,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7099,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7098,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7105,1
    - Dst: tsdbEncodeLastProcKeys
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7107,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7108,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7113,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7116,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pReader
    - pBuf
    - pLen
    argTypes:
    - STsdbReader*
    - void**
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 7120
      start: 7090
    functionDepth: 0
    functionLinenumber: 7090
    functionLinenumberEnd: 7120
    functionName: tsdbReaderGetProgress
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - tsdbEncodeLastProcKeys
    - taosMemoryMalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderGetProgress(const STsdbReader* pReader, void** pBuf,
      uint64_t* pLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7131,1
    - Dst: tsdbDecodeLastProcKeys
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7134,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7139,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7132,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pReader
    - buf
    - len
    argTypes:
    - STsdbReader*
    - void*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 7143
      start: 7122
    functionDepth: 0
    functionLinenumber: 7122
    functionLinenumberEnd: 7143
    functionName: tsdbReaderSetProgress
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDecodeLastProcKeys
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderSetProgress(STsdbReader* pReader, const void* buf,
      uint64_t len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:630,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:632,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:636,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:634,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:638,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:642,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 645
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 645
    functionName: tsdbReleaseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReleaseReader(STsdbReader* pReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:662,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:680,1
    - Dst: createResBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:672,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:663,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:673,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:681,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:682,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:684,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:685,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:697,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:697,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - pResBlockInfo
    - capacity
    - pResBlock
    - pCond
    - pSup
    argTypes:
    - SResultBlockInfo*
    - int64_t
    - SSDataBlock*
    - SQueryTableDataCond*
    - SBlockLoadSuppInfo*
    constantsTouched: []
    func_position:
      end: 700
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 700
    functionName: initResBlockInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - IS_VAR_DATA_TYPE
    - createResBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initResBlockInfo(SResultBlockInfo* pResBlockInfo, int64_t
      capacity, SSDataBlock* pResBlock, SQueryTableDataCond* pCond, SBlockLoadSuppInfo*
      pSup) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1243,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1244,1
    - Dst: doBinarySearchKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1254,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1246,1
    - Dst: findFirstPos
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1259,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1285,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 4
    argNames:
    - pReader
    - pBlockData
    - pRecord
    - pos
    argTypes:
    - STsdbReader*
    - SBlockData*
    - SBrinRecord*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1288
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1288
    functionName: getEndPosInDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - doBinarySearchKey
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - findFirstPos
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getEndPosInDataBlock(STsdbReader* pReader, SBlockData*
      pBlockData, SBrinRecord* pRecord, int32_t pos) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1800,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1808,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1801,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1802,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1805,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1813,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1814,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1815,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1816,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1818,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1821,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1822,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1819,1
    - Dst: blockInfoToRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1824,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1832,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1832,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 8
    argNames:
    - pBlockIter
    - pBlockInfo
    - pScanInfo
    - nextIndex
    - order
    - pRecord
    - pSupInfo
    - res
    argTypes:
    - SDataBlockIter*
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - int32_t*
    - int32_t
    - SBrinRecord*
    - SBlockLoadSuppInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 1835
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1835
    functionName: getNeighborBlockOfTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - taosArrayGetSize
    - blockInfoToRecord
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getNeighborBlockOfTable(SDataBlockIter* pBlockIter,
      SFileDataBlockInfo* pBlockInfo, STableBlockScanInfo* pScanInfo, int32_t* nextIndex,
      int32_t order, SBrinRecord* pRecord, SBlockLoadSuppInfo* pSupInfo, bool* res) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2365,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2367,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2424,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2435,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2442,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2443,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2459,1
    - Dst: doMergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2428,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2450,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2375,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2382,1
    - Dst: hasDataInFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2386,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2387,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2432,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2434,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2446,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2452,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2461,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2454,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2441,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2456,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2461,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2366,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2402,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2410,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2389,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2421,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2425,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2426,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2429,1
    - Dst: doMergeRowsInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2436,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2445,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2449,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2438,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2374,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2378,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2381,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2381,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2394,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2398,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2406,1
    - Dst: primaryKeyDup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2388,1
    - Dst: initRowMergeIfNeeded
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2397,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2414,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 102
    argCount: 5
    argNames:
    - pReader
    - pBlockScanInfo
    - pRow
    - pIter
    - pSttBlockReader
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - TSDBROW*
    - SIterInfo*
    - SSttBlockReader*
    constantsTouched: []
    func_position:
      end: 2464
      start: 2352
    functionDepth: 0
    functionLinenumber: 2352
    functionLinenumberEnd: 2464
    functionName: doMergeBufAndFileRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - clearRowKey
    - TSDB_CHECK_NULL
    - tRowGetKeyEx
    - TSDBROW_SVERSION
    - doMergeRowsInBuf
    - tColRowGetKey
    - doGetSchemaForTSRow
    - primaryKeyDup
    - tsdbRowMergerAdd
    - tMergeTreeGetRow
    - doMergeRowsInSttBlock
    - TSDB_CHECK_CODE
    - doAppendRowFromTSRow
    - initRowMergeIfNeeded
    - doMergeRowsInFileBlocks
    - taosMemoryFreeClear
    - tsdbRowMergerGetRow
    - tsdbRowFromBlockData
    - tRowKeyAssign
    - tstrerror
    - getCurrentKeyInSttBlock
    - tsdbError
    - pkCompEx
    - hasDataInSttBlock
    - hasDataInFileBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doMergeBufAndFileRows(STsdbReader* pReader, STableBlockScanInfo*
      pBlockScanInfo, TSDBROW* pRow, SIterInfo* pIter, SSttBlockReader* pSttBlockReader) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4683,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4694,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4684,1
    - Dst: TSDBROW_INIT_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4696,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4692,1
    - Dst: outOfTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4697,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4704,1
    - Dst: hasBeenDropped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4709,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4711,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4720,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4725,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4752,1
    - Dst: TSDBROW_INIT_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4727,1
    - Dst: outOfTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4728,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4734,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4752,1
    - Dst: hasBeenDropped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4739,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4741,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 4
    argNames:
    - pIter
    - pDelList
    - pReader
    - pRes
    argTypes:
    - SIterInfo*
    - SArray*
    - STsdbReader*
    - TSDBROW**
    constantsTouched: []
    func_position:
      end: 4755
      start: 4676
    functionDepth: 0
    functionLinenumber: 4676
    functionLinenumberEnd: 4755
    functionName: getValidMemRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbTbDataIterGet
    - outOfTimeWindow
    - TSDB_CHECK_NULL
    - tstrerror
    - tsdbError
    - TSDBROW_INIT_KEY
    - hasBeenDropped
    - tsdbTbDataIterNext
    - TARRAY_SIZE
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE int32_t getValidMemRow(SIterInfo* pIter, const SArray*
      pDelList, STsdbReader* pReader, TSDBROW** pRes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2485,1
    - Dst: initRowMergeIfNeeded
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2484,1
    - Dst: hasDataInFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2487,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2488,1
    - Dst: mergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2512,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2513,1
    - Dst: mergeRowsInSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2515,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2516,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2532,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2543,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2550,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2559,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2475,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2477,1
    - Dst: mergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2492,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2493,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2506,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2505,1
    - Dst: mergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2521,1
    - Dst: mergeRowsInSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2523,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2524,1
    - Dst: doMergeRowsInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2548,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2558,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2553,1
    - Dst: mergeRowsInSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2496,1
    - Dst: mergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2500,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2501,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2497,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2508,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2537,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2538,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2541,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2552,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2555,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2564,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2476,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2510,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2503,1
    - Dst: doMergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2540,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2545,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2564,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2544,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 5
    argNames:
    - pReader
    - pSttBlockReader
    - pKey
    - pBlockScanInfo
    - pBlockData
    argTypes:
    - STsdbReader*
    - SSttBlockReader*
    - SRowKey*
    - STableBlockScanInfo*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 2567
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2567
    functionName: mergeFileBlockAndSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - mergeRowsInSttBlocks
    - TSDB_CHECK_NULL
    - mergeRowsInFileBlocks
    - ASCENDING_TRAVERSE
    - tsdbRowMergerAdd
    - tMergeTreeGetRow
    - doMergeRowsInSttBlock
    - TSDB_CHECK_CODE
    - doAppendRowFromTSRow
    - initRowMergeIfNeeded
    - doMergeRowsInFileBlocks
    - taosMemoryFreeClear
    - tsdbRowMergerGetRow
    - tsdbRowFromBlockData
    - tRowKeyAssign
    - tstrerror
    - getCurrentKeyInSttBlock
    - tsdbError
    - pkCompEx
    - hasDataInSttBlock
    - hasDataInFileBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeFileBlockAndSttBlock(STsdbReader* pReader, SSttBlockReader*
      pSttBlockReader, SRowKey* pKey, STableBlockScanInfo* pBlockScanInfo, SBlockData*
      pBlockData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 654
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 654
    functionName: tsdbReleaseDataBlock2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbReleaseReader
    linkageType: ''
    returnType: void
    signature: 'void tsdbReleaseDataBlock2(STsdbReader* pReader) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:715,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:711,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:716,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:719,1
    - Dst: initReaderStatus
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:722,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:734,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:742,1
    - Dst: setColumnIdSlotList
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:749,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:735,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:743,1
    - Dst: VND_IS_TSMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:718,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:729,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:753,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:756,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:760,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:764,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:769,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:759,1
    - Dst: tsdbInitReaderLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:774,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:710,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:712,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:719,1
    - Dst: updateQueryTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:728,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:742,1
    - Dst: initResBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:752,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:755,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:765,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:771,1
    - Dst: tsdbReaderClose2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:788,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:785,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:785,1
    - Dst: getTsdbByRetentions
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:723,1
    - Dst: getQueryVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:727,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:750,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:775,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:778,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:777,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 6
    argNames:
    - pVnode
    - pCond
    - ppReader
    - capacity
    - pResBlock
    - idstr
    argTypes:
    - SVnode*
    - SQueryTableDataCond*
    - void**
    - int32_t
    - SSDataBlock*
    - char*
    constantsTouched: []
    func_position:
      end: 791
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 791
    functionName: tsdbReaderCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - initResBlockInfo
    - taosMemoryCalloc
    - tsdbReaderClose2
    - TSDB_CHECK_NULL
    - tsdbInitReaderLock
    - updateQueryTimeWindow
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbDebug
    - VND_IS_TSMA
    - tBlockDataCreate
    - TD_VID
    - setColumnIdSlotList
    - getQueryVerRange
    - tsem_init
    - tstrerror
    - getTsdbByRetentions
    - taosStrdup
    - tsdbError
    - initReaderStatus
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReaderCreate(SVnode* pVnode, SQueryTableDataCond*
      pCond, void** ppReader, int32_t capacity, SSDataBlock* pResBlock, const char*
      idstr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1295,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1301,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1298,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1296,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1297,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1304,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1319,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 5
    argNames:
    - pBlockData
    - pDumpInfo
    - pColData
    - dumpedRows
    - asc
    argTypes:
    - SBlockData*
    - SFileBlockDumpInfo*
    - SColumnInfoData*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1322
      start: 1290
    functionDepth: 0
    functionLinenumber: 1290
    functionLinenumberEnd: 1322
    functionName: copyPrimaryTsCol
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyPrimaryTsCol(const SBlockData* pBlockData, SFileBlockDumpInfo*
      pDumpInfo, SColumnInfoData* pColData, int32_t dumpedRows, bool asc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1847,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1851,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1878,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1870,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1859,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1863,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1877,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1880,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1888,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1891,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1894,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1901,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1901,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1862,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1865,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1875,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1881,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1874,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1893,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1850,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1860,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1866,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1884,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 4
    argNames:
    - pReader
    - pBlockIter
    - index
    - step
    argTypes:
    - STsdbReader*
    - SDataBlockIter*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1904
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1904
    functionName: setFileBlockActiveInBlockIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosArraySet
    - getTableBlockScanInfo
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setFileBlockActiveInBlockIter(STsdbReader* pReader,
      SDataBlockIter* pBlockIter, int32_t index, int32_t step) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4762,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4768,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4776,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4763,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4775,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4782,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4788,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4789,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4796,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4796,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4806,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4797,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4800,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4806,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4801,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 5
    argNames:
    - pIter
    - uid
    - pCurKey
    - pDelList
    - pReader
    argTypes:
    - SIterInfo*
    - uint64_t
    - SRowKey*
    - SArray*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 4809
      start: 4757
    functionDepth: 0
    functionLinenumber: 4757
    functionLinenumberEnd: 4809
    functionName: doMergeRowsInBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - TSDBROW_TS
    - pkCompEx
    - doGetSchemaForTSRow
    - tsdbRowMergerAdd
    - tsdbError
    - getValidMemRow
    - tsdbTbDataIterNext
    - TSDBROW_SVERSION
    - tRowGetKeyEx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeRowsInBuf(SIterInfo* pIter, uint64_t uid, SRowKey*
      pCurKey, SArray* pDelList, STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - pTsList
    - num
    - startPos
    - asc
    argTypes:
    - int64_t*
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1234
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1234
    functionName: findFirstPos
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findFirstPos(const int64_t* pTsList, int32_t num, int32_t
      startPos, bool asc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4501,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4509,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4510,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4520,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4530,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4530,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - pDelList
    - index
    - key
    - asc
    - start
    argTypes:
    - SArray*
    - int32_t
    - int64_t
    - bool
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4533
      start: 4496
    functionDepth: 0
    functionLinenumber: 4496
    functionLinenumberEnd: 4533
    functionName: reverseSearchStartPos
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reverseSearchStartPos(const SArray* pDelList, int32_t
      index, int64_t key, bool asc, int32_t* start) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4576,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4577,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4545,1
    - Dst: reverseSearchStartPos
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4554,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4650,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4630,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4568,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4671,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4617,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4671,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4597,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4627,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4550,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4549,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4631,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4649,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 149
    argCount: 8
    argNames:
    - pDelList
    - index
    - key
    - ver
    - order
    - pVerRange
    - hasPk
    - dropped
    argTypes:
    - SArray*
    - int32_t*
    - int64_t
    - int64_t
    - int32_t
    - SVersionRange*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 4674
      start: 4535
    functionDepth: 0
    functionLinenumber: 4535
    functionLinenumberEnd: 4674
    functionName: hasBeenDropped
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - reverseSearchStartPos
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosArrayGetLast
    - tstrerror
    - ASCENDING_TRAVERSE
    - tsdbError
    - taosArrayGetSize
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t hasBeenDropped(const SArray* pDelList, int32_t* index, int64_t
      key, int64_t ver, int32_t order, SVersionRange* pVerRange, bool hasPk, bool*
      dropped) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3671,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3680,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3677,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3679,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3685,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pStatus
    - id
    argTypes:
    - SReaderStatus*
    - char*
    constantsTouched: []
    func_position:
      end: 3688
      start: 3666
    functionDepth: 0
    functionLinenumber: 3666
    functionLinenumberEnd: 3688
    functionName: resetTableListIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TSDB_CHECK_NULL
    - tSimpleHashGet
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t resetTableListIndex(SReaderStatus* pStatus, const char*
      id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2111,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2120,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2118,1
    - Dst: initRowMergeIfNeeded
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2117,1
    - Dst: buildDataBlockFromBufImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2122,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2123,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2125,1
    - Dst: updateComposedBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2126,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2128,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2137,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pReader
    - pBlockScanInfo
    - endKey
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2140
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2140
    functionName: buildDataBlockFromBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - updateComposedBlockInfo
    - TSDB_CHECK_CODE
    - tsdbDebug
    - buildDataBlockFromBufImpl
    - taosGetTimestampUs
    - initRowMergeIfNeeded
    - TSDB_CHECK_NULL
    - tstrerror
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDataBlockFromBuf(STsdbReader* pReader, STableBlockScanInfo*
      pBlockScanInfo, int64_t endKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2301,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2314,1
    - Dst: getTableSchemaImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2305,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2306,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2320,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2321,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2323,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2324,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2328,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - sversion
    - pReader
    - uid
    argTypes:
    - int32_t
    - STsdbReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2333
      start: 2295
    functionDepth: 0
    functionLinenumber: 2295
    functionLinenumberEnd: 2333
    functionName: doGetSchemaForTSRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - metaGetTbTSchemaEx
    - tSimpleHashGet
    - getTableSchemaImpl
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tSimpleHashPut
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE STSchema * doGetSchemaForTSRow(int32_t sversion,
      STsdbReader* pReader, uint64_t uid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2813,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2816,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2832,1
    - Dst: doInitMemDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2831,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2814,1
    - Dst: doInitMemDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2834,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2835,1
    - Dst: loadMemTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2837,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2838,1
    - Dst: forwardDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2841,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2842,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2849,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2849,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - pBlockScanInfo
    - pReader
    argTypes:
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 2852
      start: 2802
    functionDepth: 0
    functionLinenumber: 2802
    functionLinenumberEnd: 2852
    functionName: initMemDataIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - forwardDataIter
    - loadMemTombData
    - TSDB_CHECK_CODE
    - doInitMemDataIter
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initMemDataIterator(STableBlockScanInfo* pBlockScanInfo,
      STsdbReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pDumpInfo
    - asc
    argTypes:
    - SFileBlockDumpInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 4276
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4276
    functionName: fileBlockPartiallyRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool fileBlockPartiallyRead(SFileBlockDumpInfo* pDumpInfo,
      bool asc) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6089,1
    - Dst: doTsdbNextDataBlockFilesetDelimited
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6105,1
    - Dst: doTsdbNextDataBlockFilesFirst
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6103,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6098,1
    - Dst: blockDataCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6093,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6109,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pReader
    - hasNext
    argTypes:
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 6116
      start: 6084
    functionDepth: 0
    functionLinenumber: 6084
    functionLinenumberEnd: 6116
    functionName: doTsdbNextDataBlock2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - blockDataCleanup
    - TSDB_CHECK_CODE
    - tSimpleHashGetSize
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - doTsdbNextDataBlockFilesetDelimited
    - doTsdbNextDataBlockFilesFirst
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTsdbNextDataBlock2(STsdbReader* pReader, bool* hasNext) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6498,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6500,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6505,1
    - Dst: tsdbReaderResume2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6504,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6509,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6512,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6533,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6523,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6541,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6558,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6568,1
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6499,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6528,1
    - Dst: updateQueryTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6522,1
    - Dst: initFilesetIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6535,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6539,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6557,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6562,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6573,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6579,1
    - Dst: isEmptyQueryTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6508,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6510,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6536,1
    - Dst: resetDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6538,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6538,1
    - Dst: initForFirstBlockInFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6560,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6564,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6582,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6519,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6531,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6542,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6544,1
    - Dst: resetAllDataBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6552,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6575,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 76
    argCount: 2
    argNames:
    - pReader
    - pCond
    argTypes:
    - STsdbReader*
    - SQueryTableDataCond*
    constantsTouched: []
    func_position:
      end: 6585
      start: 6493
    functionDepth: 0
    functionLinenumber: 6493
    functionLinenumberEnd: 6585
    functionName: tsdbReaderReset2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbReleaseReader
    - tsdbDataFileReaderClose
    - tSimpleHashGetSize
    - TSDB_CHECK_NULL
    - initForFirstBlockInFile
    - tsdbTrace
    - isEmptyQueryTimeWindow
    - shouldFreePkBuf
    - tsdbReaderResume2
    - ASCENDING_TRAVERSE
    - updateQueryTimeWindow
    - TSDB_CHECK_CODE
    - tsdbDebug
    - initFilesetIterator
    - memset
    - tsdbAcquireReader
    - resetTableListIndex
    - resetAllDataBlockScanInfo
    - tstrerror
    - tsdbError
    - resetDataBlockIterator
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderReset2(STsdbReader* pReader, SQueryTableDataCond*
      pCond) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2151,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2161,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2158,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2152,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2153,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2162,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2164,1
    - Dst: doAppendRowFromFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2165,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2166,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - pReader
    - pBlockData
    - pKey
    - pDumpInfo
    - copied
    argTypes:
    - STsdbReader*
    - SBlockData*
    - SRowKey*
    - SFileBlockDumpInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 2177
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2177
    functionName: tryCopyDistinctRowFromFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doAppendRowFromFileBlock
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tColRowGetKey
    - tsdbError
    - pkCompEx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tryCopyDistinctRowFromFileBlock(STsdbReader* pReader,
      SBlockData* pBlockData, SRowKey* pKey, SFileBlockDumpInfo* pDumpInfo, bool*
      copied) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2859,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2872,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2894,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2886,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2860,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2895,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2901,1
    - Dst: hasBeenDropped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2903,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2905,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2916,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 7
    argNames:
    - pBlockData
    - rowIndex
    - pBlockScanInfo
    - asc
    - pInfo
    - pReader
    - valid
    argTypes:
    - SBlockData*
    - int32_t
    - STableBlockScanInfo*
    - bool
    - STsdbReaderInfo*
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 2919
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2919
    functionName: isValidFileBlockRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - tColRowGetKey
    - tsdbError
    - hasBeenDropped
    - pkCompEx
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isValidFileBlockRow(SBlockData* pBlockData, int32_t
      rowIndex, STableBlockScanInfo* pBlockScanInfo, bool asc, STsdbReaderInfo* pInfo,
      STsdbReader* pReader, bool* valid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6125,1
    - Dst: isEmptyQueryTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6132,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6144,1
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6148,1
    - Dst: tsdbReaderResume2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6155,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6156,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6168,1
    - Dst: doTsdbNextDataBlock2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6190,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6195,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6198,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6161,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6179,1
    - Dst: doTsdbNextDataBlock2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6160,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6211,1
    - Dst: doTsdbNextDataBlock2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6213,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6214,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6220,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6223,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6237,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6231,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6124,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6167,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6170,1
    - Dst: resetAllDataBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6184,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6185,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6196,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6206,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6233,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6240,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6237,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6130,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6149,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6152,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6180,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6191,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6205,1
    - Dst: resetAllDataBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6210,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6221,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6230,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6241,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 97
    argCount: 2
    argNames:
    - pReader
    - hasNext
    argTypes:
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 6244
      start: 6118
    functionDepth: 0
    functionLinenumber: 6118
    functionLinenumberEnd: 6244
    functionName: tsdbNextDataBlock2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - isEmptyQueryTimeWindow
    - TSDB_CHECK_CODE
    - tsdbAcquireReader
    - tsdbReleaseReader
    - tsdbReaderResume2
    - tSimpleHashGetSize
    - doOpenReaderImpl
    - doTsdbNextDataBlock2
    - tsem_wait
    - resetAllDataBlockScanInfo
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbNextDataBlock2(STsdbReader* pReader, bool* hasNext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - startRow
    - bucketRange
    - numOfRows
    - numOfBucket
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 6596
      start: 6587
    functionDepth: 0
    functionLinenumber: 6587
    functionLinenumberEnd: 6596
    functionName: getBucketIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getBucketIndex(int32_t startRow, int32_t bucketRange,
      int32_t numOfRows, int32_t numOfBucket) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1332,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1334,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1333,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1337,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1335,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1348,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1427,1
    - Dst: colDataSetNull_f
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1429,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1437,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 5
    argNames:
    - pData
    - pDumpInfo
    - pColData
    - dumpedRows
    - asc
    argTypes:
    - SColData*
    - SFileBlockDumpInfo*
    - SColumnInfoData*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 1440
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1440
    functionName: copyNumericCols
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TAOS_MEMCPY
    - tColDataGetBitValue
    - colDataSetNull_f
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t copyNumericCols(const SColData* pData, SFileBlockDumpInfo*
      pDumpInfo, SColumnInfoData* pColData, int32_t dumpedRows, bool asc) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6860,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6872,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6907,1
    - Dst: tsdbRefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6899,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6915,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6926,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6929,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6863,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6869,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6879,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6889,1
    - Dst: tsdbFSCreateRefSnapshotWithoutLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6904,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6914,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6919,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6922,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6922,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6926,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6853,1
    - Dst: tsdbRefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6878,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6884,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6930,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6862,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6855,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6855,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6871,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6892,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6900,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6911,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6931,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 4
    argNames:
    - pReader
    - reseek
    - ppSnap
    - id
    argTypes:
    - STsdbReader*
    - _query_reseek_func_t
    - STsdbReadSnap**
    - char*
    constantsTouched: []
    func_position:
      end: 6934
      start: 6845
    functionDepth: 0
    functionLinenumber: 6845
    functionLinenumberEnd: 6934
    functionName: tsdbTakeReadSnap2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - taosMemoryMalloc
    - taosMemoryFree
    - tsdbFSCreateRefSnapshotWithoutLock
    - taosMemoryCalloc
    - tsdbRefMemTable
    - tstrerror
    - tsdbUnrefMemTable
    - TSDB_CHECK_NULL
    - TD_VID
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTakeReadSnap2(STsdbReader* pReader, _query_reseek_func_t
      reseek, STsdbReadSnap** ppSnap, const char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1454,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1456,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1459,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1455,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1458,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1461,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - record
    - pBlockInfo
    - pSupp
    argTypes:
    - SBrinRecord*
    - SFileDataBlockInfo*
    - SBlockLoadSuppInfo*
    constantsTouched: []
    func_position:
      end: 1475
      start: 1442
    functionDepth: 0
    functionLinenumber: 1442
    functionLinenumberEnd: 1475
    functionName: blockInfoToRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - VALUE_SET_TRIVIAL_DATUM
    - varDataVal
    - varDataLen
    linkageType: ''
    returnType: void
    signature: 'static void blockInfoToRecord(SBrinRecord* record, SFileDataBlockInfo*
      pBlockInfo, SBlockLoadSuppInfo* pSupp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6941,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6945,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6949,1
    - Dst: tsdbFSDestroyRefSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6948,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6953,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6955,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6955,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - pReader
    - pSnap
    - proactive
    argTypes:
    - STsdbReader*
    - STsdbReadSnap*
    - bool
    constantsTouched: []
    func_position:
      end: 6956
      start: 6936
    functionDepth: 0
    functionLinenumber: 6936
    functionLinenumberEnd: 6956
    functionName: tsdbUntakeReadSnap2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsdbFSDestroyRefSnapshot
    - tsdbUnrefMemTable
    - TD_VID
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'void tsdbUntakeReadSnap2(STsdbReader* pReader, STsdbReadSnap* pSnap,
      bool proactive) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2187,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2188,1
    - Dst: tMergeTreeNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2196,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2191,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2198,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2200,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2209,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2210,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2212,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2247,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2218,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2247,1
    - Dst: hasBeenDropped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2232,1
    - Dst: tColRowGetKeyDeepCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2228,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2234,1
    - Dst: tColRowGetKeyDeepCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2225,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - pSttBlockReader
    - pScanInfo
    - pkSrcSlot
    - pVerRange
    argTypes:
    - SSttBlockReader*
    - STableBlockScanInfo*
    - int32_t
    - SVersionRange*
    constantsTouched: []
    func_position:
      end: 2250
      start: 2179
    functionDepth: 0
    functionLinenumber: 2179
    functionLinenumberEnd: 2250
    functionName: nextRowFromSttBlocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tColRowGetKeyDeepCopy
    - IS_NUMERIC_TYPE
    - memset
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - hasBeenDropped
    - tMergeTreeNext
    - VALUE_SET_TRIVIAL_DATUM
    - TARRAY_SIZE
    - tMergeTreeGetRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nextRowFromSttBlocks(SSttBlockReader* pSttBlockReader,
      STableBlockScanInfo* pScanInfo, int32_t pkSrcSlot, SVersionRange* pVerRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:148,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - index
    argTypes:
    - uint8_t*
    - SPrimaryKeyIndex*
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: tGetPrimaryKeyIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tGetI8
    - tGetU32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetPrimaryKeyIndex(uint8_t* p, SPrimaryKeyIndex* index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SReaderStatus*
    constantsTouched: []
    func_position:
      end: 509
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 509
    functionName: initReaderStatus
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void initReaderStatus(SReaderStatus* pStatus) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2594,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2613,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2613,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2609,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2628,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2633,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2667,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2669,1
    - Dst: doMergeRowsInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2671,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2677,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2681,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2703,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2663,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2703,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2693,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2673,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2582,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2584,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2592,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2593,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2596,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2597,1
    - Dst: hasDataInFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2601,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2645,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2666,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2668,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2686,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2697,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2699,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2591,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2614,1
    - Dst: initRowMergeIfNeeded
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2624,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2625,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2629,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2637,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2649,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2654,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2660,1
    - Dst: doMergeRowsInFileBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2662,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2688,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2689,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2678,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2698,1
    - Dst: doAppendRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2695,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2692,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2684,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2685,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2680,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2583,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2619,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2602,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2620,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2619,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2608,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2641,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2657,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2658,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2659,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2676,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 128
    argCount: 4
    argNames:
    - pReader
    - pBlockScanInfo
    - pBlockData
    - pSttBlockReader
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - SBlockData*
    - SSttBlockReader*
    constantsTouched: []
    func_position:
      end: 2706
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2706
    functionName: doMergeMultiLevelRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - TSDB_CHECK_NULL
    - tRowGetKeyEx
    - TSDBROW_SVERSION
    - doMergeRowsInBuf
    - ASCENDING_TRAVERSE
    - tColRowGetKey
    - doGetSchemaForTSRow
    - tsdbRowMergerAdd
    - tMergeTreeGetRow
    - doMergeRowsInSttBlock
    - TSDB_CHECK_CODE
    - doAppendRowFromTSRow
    - initRowMergeIfNeeded
    - doMergeRowsInFileBlocks
    - taosMemoryFreeClear
    - tsdbRowMergerGetRow
    - tsdbRowFromBlockData
    - tRowKeyAssign
    - tstrerror
    - getCurrentKeyInSttBlock
    - tsdbError
    - getValidMemRow
    - pkCompEx
    - hasDataInSttBlock
    - hasDataInFileBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doMergeMultiLevelRows(STsdbReader* pReader, STableBlockScanInfo*
      pBlockScanInfo, SBlockData* pBlockData, SSttBlockReader* pSttBlockReader) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3615,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3613,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3620,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3622,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3635,1
    - Dst: prepareDurationForNextFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3643,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3660,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3607,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3620,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3627,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3637,1
    - Dst: filesetIteratorNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3626,1
    - Dst: doLoadBlockIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3634,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3653,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3657,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3657,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3606,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3614,1
    - Dst: loadFileBlockBrinInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3638,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3639,1
    - Dst: loadDataFileTombDataForAll
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3652,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3633,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - pReader
    - pBlockNum
    - pTableList
    argTypes:
    - STsdbReader*
    - SBlockNumber*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3663
      start: 3599
    functionDepth: 0
    functionLinenumber: 3599
    functionLinenumberEnd: 3663
    functionName: moveToNextFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - loadFileBlockBrinInfo
    - tsdbWarn
    - tSimpleHashGetSize
    - doLoadBlockIndex
    - taosArrayDestroy
    - tstrerror
    - TSDB_CHECK_NULL
    - filesetIteratorNext
    - prepareDurationForNextFileSet
    - tsdbError
    - taosArrayGetSize
    - loadDataFileTombDataForAll
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t moveToNextFile(STsdbReader* pReader, SBlockNumber*
      pBlockNum, SArray* pTableList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SReaderStatus*
    constantsTouched: []
    func_position:
      end: 3696
      start: 3690
    functionDepth: 0
    functionLinenumber: 3690
    functionLinenumberEnd: 3696
    functionName: resetPreFilesetMemTableListIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: 'static void resetPreFilesetMemTableListIndex(SReaderStatus* pStatus) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6417,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6418,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6424,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6423,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6427,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6429,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6430,1
    - Dst: doLoadFileBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6434,1
    - Dst: copyBlockDataToSDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6436,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6437,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6443,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6443,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6445,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pReader
    - pBlock
    argTypes:
    - STsdbReader*
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 6449
      start: 6409
    functionDepth: 0
    functionLinenumber: 6409
    functionLinenumberEnd: 6449
    functionName: doRetrieveDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doLoadFileBlockData
    - TSDB_CHECK_CODE
    - getTableBlockScanInfo
    - tstrerror
    - getCurrentBlockInfo
    - TSDB_CHECK_NULL
    - tsdbError
    - tBlockDataReset
    - copyBlockDataToSDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doRetrieveDataBlock(STsdbReader* pReader, SSDataBlock**
      pBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6994,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6997,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6994,1
    - Dst: taosEncodeFixedU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7000,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6996,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7001,1
    - Dst: taosEncodeFixedU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7002,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7006,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7010,1
    - Dst: taosEncodeFixedU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7013,1
    - Dst: taosEncodeBinary
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7018,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pTableMap
    - buf
    argTypes:
    - SSHashObj*
    - void**
    constantsTouched: []
    func_position:
      end: 7023
      start: 6989
    functionDepth: 0
    functionLinenumber: 6989
    functionLinenumberEnd: 7023
    functionName: tsdbEncodeLastProcKeys
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedU32
    - tSimpleHashGetKey
    - tSimpleHashGetSize
    - taosEncodeBinary
    - taosEncodeFixedI8
    - taosEncodeFixedU64
    - tSimpleHashIterate
    - taosEncodeFixedU8
    - taosEncodeFixedI64
    - IS_VAR_DATA_TYPE
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbEncodeLastProcKeys(const SSHashObj* pTableMap,
      void** buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2714,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2716,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2719,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2717,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2715,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2723,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2724,1
    - Dst: tsdbTbDataIterCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2727,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2729,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2731,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2736,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2742,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2747,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2738,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2747,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 7
    argNames:
    - pReader
    - pData
    - pBlockScanInfo
    - pKey
    - pMem
    - pIter
    - type
    argTypes:
    - STsdbReader*
    - STbData**
    - STableBlockScanInfo*
    - STsdbRowKey*
    - SMemTable*
    - SIterInfo*
    - char*
    constantsTouched: []
    func_position:
      end: 2750
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2750
    functionName: doInitMemDataIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbTbDataIterCreate
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbTbDataIterGet
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - tsdbGetTbDataFromMemTable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doInitMemDataIter(STsdbReader* pReader, STbData** pData, STableBlockScanInfo*
      pBlockScanInfo, STsdbRowKey* pKey, SMemTable* pMem, SIterInfo* pIter, const
      char* type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreePinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSttBlockReader
    argTypes:
    - SSttBlockReader*
    constantsTouched: []
    func_position:
      end: 2252
      start: 2252
    functionDepth: 0
    functionLinenumber: 2252
    functionLinenumberEnd: 2252
    functionName: doPinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tMergeTreePinSttBlock
    linkageType: ''
    returnType: void
    signature: 'static void doPinSttBlock(SSttBlockReader* pSttBlockReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:160,1
    - Dst: tGetPrimaryKeyIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:168,1
    - Dst: tGetI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:177,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:163,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:162,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:180,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:181,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:182,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:184,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:190,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pRow
    - pKey
    argTypes:
    - SRow*
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 193
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 193
    functionName: tRowGetPrimaryKeyDeepCopy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - tGetU32v
    - tGetI16v
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TAOS_MEMCPY
    - IS_VAR_DATA_TYPE
    - tGetPrimaryKeyIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tRowGetPrimaryKeyDeepCopy(SRow* pRow, SRowKey* pKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:516,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:517,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:520,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:518,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:521,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:526,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:527,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:530,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:531,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:538,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:538,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:541,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:542,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pCond
    - capacity
    - pResBlock
    argTypes:
    - SQueryTableDataCond*
    - int32_t
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 545
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 545
    functionName: createResBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - blockDataAppendColInfo
    - taosArrayDestroy
    - blockDataEnsureCapacity
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - createDataBlock
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createResBlock(SQueryTableDataCond* pCond, int32_t
      capacity, SSDataBlock** pResBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3700,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pOrderedCheckInfo
    - pStatus
    argTypes:
    - STableUidList*
    - SReaderStatus*
    constantsTouched: []
    func_position:
      end: 3708
      start: 3698
    functionDepth: 0
    functionLinenumber: 3698
    functionLinenumberEnd: 3708
    functionName: moveToNextTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    - tSimpleHashGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool moveToNextTable(STableUidList* pOrderedCheckInfo, SReaderStatus*
      pStatus) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6456,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6457,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6481,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6480,1
    - Dst: doRetrieveDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6478,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6482,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6488,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6488,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - pReader
    - pBlock
    - pIdList
    argTypes:
    - STsdbReader*
    - SSDataBlock**
    - SArray*
    constantsTouched: []
    func_position:
      end: 6491
      start: 6451
    functionDepth: 0
    functionLinenumber: 6451
    functionLinenumberEnd: 6491
    functionName: tsdbRetrieveDataBlock2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbReleaseReader
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - doRetrieveDataBlock
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRetrieveDataBlock2(STsdbReader* pReader, SSDataBlock**
      pBlock, SArray* pIdList) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7040,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7044,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7062,1
    - Dst: taosDecodeBinary
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7076,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7030,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7036,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7036,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7053,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7084,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7042,1
    - Dst: taosDecodeFixedU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7051,1
    - Dst: taosDecodeFixedU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7069,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7067,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7059,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7034,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7031,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7045,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7049,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7054,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7061,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:7080,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - buf
    - len
    - pTableMap
    argTypes:
    - void*
    - int32_t
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 7087
      start: 7025
    functionDepth: 0
    functionLinenumber: 7025
    functionLinenumberEnd: 7087
    functionName: tsdbDecodeLastProcKeys
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - TSDB_CHECK_CONDITION
    - taosDecodeFixedI8
    - taosDecodeFixedU64
    - taosDecodeFixedU32
    - tSimpleHashGetSize
    - tSimpleHashGet
    - taosDecodeBinary
    - tstrerror
    - taosDecodeFixedI32
    - TSDB_CHECK_NULL
    - taosDecodeFixedU8
    - tsdbError
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDecodeLastProcKeys(const void* buf, int32_t len,
      SSHashObj* pTableMap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4085,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4089,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4094,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4094,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4096,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4101,1
    - Dst: moveToNextTableForPreFileSetMem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4102,1
    - Dst: initMemDataIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4109,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4110,1
    - Dst: initDelSkylineIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4112,1
    - Dst: buildDataBlockFromBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4115,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4116,1
    - Dst: moveToNextTableForPreFileSetMem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4123,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4131,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4131,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - pReader
    - endKey
    argTypes:
    - STsdbReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 4134
      start: 4080
    functionDepth: 0
    functionLinenumber: 4080
    functionLinenumberEnd: 4134
    functionName: buildBlockFromBufferSeqForPreFileset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initDelSkylineIterator
    - moveToNextTableForPreFileSetMem
    - TSDB_CHECK_CODE
    - tsdbWarn
    - tsdbDebug
    - initMemDataIterator
    - buildDataBlockFromBuf
    - taosHashGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBlockFromBufferSeqForPreFileset(STsdbReader* pReader,
      int64_t endKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4862,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4869,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4863,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4867,1
    - Dst: loadNeighborIfOverlap
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4872,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4873,1
    - Dst: doMergeRowsInFileBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4876,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4877,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4885,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4885,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 6
    argNames:
    - pReader
    - pScanInfo
    - pFBlock
    - pMerger
    - pKey
    - state
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    - SFileDataBlockInfo*
    - SRowMerger*
    - SRowKey*
    - CHECK_FILEBLOCK_STATE*
    constantsTouched: []
    func_position:
      end: 4888
      start: 4850
    functionDepth: 0
    functionLinenumber: 4850
    functionLinenumberEnd: 4888
    functionName: checkForNeighborFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - loadNeighborIfOverlap
    - doMergeRowsInFileBlockImpl
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkForNeighborFileBlock(STsdbReader* pReader, STableBlockScanInfo*
      pScanInfo, SFileDataBlockInfo* pFBlock, SRowMerger* pMerger, SRowKey* pKey,
      CHECK_FILEBLOCK_STATE* state) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5077,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5079,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5091,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5105,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5094,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5098,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5110,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5085,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5085,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5086,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5122,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5128,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5128,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5080,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5078,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5090,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5090,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5102,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5114,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5117,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5120,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5123,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5124,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5099,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5101,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5095,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5104,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5096,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5107,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5108,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5111,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5113,1
    - Dst: doMergeRowsInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 7
    argNames:
    - pRow
    - pRowKey
    - piRow
    - piRowKey
    - pBlockScanInfo
    - pReader
    - pTSRow
    argTypes:
    - TSDBROW*
    - SRowKey*
    - TSDBROW*
    - SRowKey*
    - STableBlockScanInfo*
    - STsdbReader*
    - SRow**
    constantsTouched: []
    func_position:
      end: 5131
      start: 5069
    functionDepth: 0
    functionLinenumber: 5069
    functionLinenumberEnd: 5131
    functionName: doMergeMemIMemRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - TSDB_CHECK_CODE
    - tsdbRowMergerGetRow
    - doMergeRowsInBuf
    - tRowKeyAssign
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - doGetSchemaForTSRow
    - tsdbError
    - TSDBROW_SVERSION
    - tsdbRowMergerAdd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeMemIMemRows(TSDBROW* pRow, SRowKey* pRowKey, TSDBROW*
      piRow, SRowKey* piRowKey, STableBlockScanInfo* pBlockScanInfo, STsdbReader*
      pReader, SRow** pTSRow) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5821,1
    - Dst: doSuspendCurrentReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5828,1
    - Dst: doSuspendCurrentReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5835,1
    - Dst: doSuspendCurrentReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5830,1
    - Dst: doSuspendCurrentReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5832,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5840,1
    - Dst: tsdbUntakeReadSnap2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5841,1
    - Dst: clearSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5852,1
    - Dst: clearSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5853,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5857,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5860,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5864,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5867
      start: 5817
    functionDepth: 0
    functionLinenumber: 5817
    functionLinenumberEnd: 5867
    functionName: tsdbReaderSuspend2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - tsdbDebug
    - clearSharedPtr
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbUntakeReadSnap2
    - tsem_post
    - tsdbError
    - doSuspendCurrentReader
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderSuspend2(STsdbReader* pReader) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4151,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4151,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4153,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4147,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4162,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4163,1
    - Dst: initMemDataIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4170,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4171,1
    - Dst: initDelSkylineIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4173,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4174,1
    - Dst: moveToNextTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4184,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4192,1
    - Dst: buildDataBlockFromBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4176,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4177,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - pReader
    - endKey
    argTypes:
    - STsdbReader*
    - int64_t
    constantsTouched: []
    func_position:
      end: 4195
      start: 4136
    functionDepth: 0
    functionLinenumber: 4136
    functionLinenumberEnd: 4195
    functionName: buildBlockFromBufferSequentially
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initDelSkylineIterator
    - TSDB_CHECK_CODE
    - tsdbWarn
    - tsdbDebug
    - moveToNextTable
    - initMemDataIterator
    - buildDataBlockFromBuf
    - taosHashGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildBlockFromBufferSequentially(STsdbReader* pReader,
      int64_t endKey) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4900,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4901,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4905,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4912,1
    - Dst: doMergeRowsInFileBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4911,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4919,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4920,1
    - Dst: checkForNeighborFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4927,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4928,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4937,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 43
    argCount: 4
    argNames:
    - pBlockData
    - pScanInfo
    - pKey
    - pReader
    argTypes:
    - SBlockData*
    - STableBlockScanInfo*
    - SRowKey*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 4940
      start: 4890
    functionDepth: 0
    functionLinenumber: 4890
    functionLinenumberEnd: 4940
    functionName: doMergeRowsInFileBlocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - checkForNeighborFileBlock
    - TSDB_CHECK_CODE
    - doMergeRowsInFileBlockImpl
    - tstrerror
    - getCurrentBlockInfo
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doMergeRowsInFileBlocks(SBlockData* pBlockData, STableBlockScanInfo*
      pScanInfo, SRowKey* pKey, STsdbReader* pReader) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5149,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5154,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5171,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5192,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5213,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5153,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5188,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5183,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5204,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5147,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5148,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5152,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5164,1
    - Dst: doMergeMemIMemRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5187,1
    - Dst: doMergeMemIMemRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5203,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5209,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5210,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5218,1
    - Dst: getValidMemRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5151,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5162,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5180,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5181,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5195,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5196,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5184,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5198,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5199,1
    - Dst: doMergeMemTableMultiRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5212,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 114
    argCount: 5
    argNames:
    - pBlockScanInfo
    - pReader
    - pResRow
    - endKey
    - freeTSRow
    argTypes:
    - STableBlockScanInfo*
    - STsdbReader*
    - TSDBROW*
    - int64_t
    - bool*
    constantsTouched: []
    func_position:
      end: 5221
      start: 5133
    functionDepth: 0
    functionLinenumber: 5133
    functionLinenumberEnd: 5221
    functionName: tsdbGetNextRowInMem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - doMergeMemIMemRows
    - tstrerror
    - doMergeMemTableMultiRows
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - getValidMemRow
    - pkCompEx
    - tRowGetKeyEx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbGetNextRowInMem(STableBlockScanInfo* pBlockScanInfo,
      STsdbReader* pReader, TSDBROW* pResRow, int64_t endKey, bool* freeTSRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTryAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5873,1
    - Dst: tsdbReaderSuspend2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5880,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5881,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5876,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pQHandle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5889
      start: 5869
    functionDepth: 0
    functionLinenumber: 5869
    functionLinenumberEnd: 5889
    functionName: tsdbSetQueryReseek
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbReleaseReader
    - tsdbTryAcquireReader
    - TAOS_SYSTEM_ERROR
    - tsdbReaderSuspend2
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSetQueryReseek(void* pQHandle) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:809,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:880,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:811,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:808,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:815,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:888,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:888,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:835,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:812,1
    - Dst: tsdbDataFileReadBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:814,1
    - Dst: tsdbCacheGetBlockIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:820,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:826,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:827,1
    - Dst: tsdbBICacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:829,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:841,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:852,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:865,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:879,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:866,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 3
    argNames:
    - pReader
    - pFileReader
    - pIndexList
    argTypes:
    - STsdbReader*
    - SDataFileReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 891
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 891
    functionName: doLoadBlockIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - tsdbCacheGetBlockIdx
    - tSimpleHashGetSize
    - tsdbBICacheRelease
    - tsdbDebug
    - tsdbDataFileReadBrinBlk
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tstrerror
    - tsdbError
    - TARRAY2_SIZE
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadBlockIndex(STsdbReader* pReader, SDataFileReader*
      pFileReader, SArray* pIndexList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1110,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1112,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1115,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1118,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1136,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1130,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1136,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1105,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1125,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1108,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1109,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1122,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1129,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1131,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1106,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1113,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1122,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 5
    argNames:
    - pColInfoData
    - rowIndex
    - colIndex
    - pColVal
    - pSup
    argTypes:
    - SColumnInfoData*
    - int32_t
    - int32_t
    - SColVal*
    - SBlockLoadSuppInfo*
    constantsTouched: []
    func_position:
      end: 1139
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1139
    functionName: doCopyColVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbWarn
    - colDataSetNULL
    - colDataSetVal
    - VALUE_GET_DATUM
    - varDataVal
    - tstrerror
    - TSDB_CHECK_NULL
    - varDataSetLen
    - memcpy
    - tsdbError
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCopyColVal(SColumnInfoData* pColInfoData, int32_t
      rowIndex, int32_t colIndex, SColVal* pColVal, SBlockLoadSuppInfo* pSup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3450,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pDelSkyline
    - order
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3451
      start: 3445
    functionDepth: 0
    functionLinenumber: 3445
    functionLinenumberEnd: 3451
    functionName: getInitialDelIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - ASCENDING_TRAVERSE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getInitialDelIndex(const SArray* pDelSkyline, int32_t order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3713,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3719,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pStatus
    argTypes:
    - SReaderStatus*
    constantsTouched: []
    func_position:
      end: 3721
      start: 3710
    functionDepth: 0
    functionLinenumber: 3710
    functionLinenumberEnd: 3721
    functionName: moveToNextTableForPreFileSetMem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tSimpleHashGet
    - tSimpleHashGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool moveToNextTableForPreFileSetMem(SReaderStatus* pStatus) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5268,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5269,1
    - Dst: doCopyColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5263,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5261,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5283,1
    - Dst: doGetSchemaForTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5242,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5235,1
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5260,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5280,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5281,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5292,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5243,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5257,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5258,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5233,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5236,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5234,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5246,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5247,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5271,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5264,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 4
    argNames:
    - pBlock
    - pReader
    - pTSRow
    - pScanInfo
    argTypes:
    - SSDataBlock*
    - STsdbReader*
    - SRow*
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 5295
      start: 5223
    functionDepth: 0
    functionLinenumber: 5223
    functionLinenumberEnd: 5295
    functionName: doAppendRowFromTSRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGet
    - doCopyColVal
    - colDataSetNULL
    - tRowGet
    - tstrerror
    - TSDB_CHECK_NULL
    - doGetSchemaForTSRow
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAppendRowFromTSRow(SSDataBlock* pBlock, STsdbReader* pReader,
      SRow* pTSRow, STableBlockScanInfo* pScanInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5487
      start: 5487
    functionDepth: 0
    functionLinenumber: 5487
    functionLinenumberEnd: 5487
    functionName: tsdbGetReaderMaxVersion2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: 'uint64_t tsdbGetReaderMaxVersion2(STsdbReader* pReader) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tsdbAcquireReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5682,1
    - Dst: tsdbReaderClose2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5696,1
    - Dst: clearSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5690,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5717,1
    - Dst: clearBlockScanInfoBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5724,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5736,1
    - Dst: destroyAllBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5722,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5737,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5718,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5742,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5772,1
    - Dst: clearSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5693,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5701,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5712,1
    - Dst: cleanupDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5718,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5727,1
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5734,1
    - Dst: tsdbRowMergerCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5771,1
    - Dst: tsdbReleaseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5752,1
    - Dst: tsdbReaderClose2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5695,1
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5740,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5744,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5751,1
    - Dst: tsdbUninitReaderLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5753,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5775,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5746,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5769,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5755,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5706,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5716,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5720,1
    - Dst: tsdbUntakeReadSnap2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5747,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5774,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5776
      start: 5677
    functionDepth: 0
    functionLinenumber: 5677
    functionLinenumberEnd: 5776
    functionName: tsdbReaderClose2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - clearRowKey
    - tsdbReleaseReader
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - tsdbDataFileReaderClose
    - tMergeTreeClose
    - tsdbReaderClose2
    - cleanupDataBlockIterator
    - tsdbTrace
    - shouldFreePkBuf
    - tsem_destroy
    - TARRAY2_DESTROY
    - tBlockDataDestroy
    - destroyAllBlockScanInfo
    - tsdbDebug
    - clearSharedPtr
    - clearBlockScanInfoBuf
    - blockDataDestroy
    - destroySttBlockReader
    - tsdbUntakeReadSnap2
    - tsdbUninitReaderLock
    - taosMemoryFreeClear
    - tsdbAcquireReader
    - atomic_val_compare_exchange_ptr
    - tsdbRowMergerCleanup
    linkageType: ''
    returnType: void
    signature: 'void tsdbReaderClose2(STsdbReader* pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:293,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:294,1
    - Dst: tsdbGetEarliestTs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:297,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:295,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pTsdb
    - pWindow
    - out
    argTypes:
    - STsdb*
    - STimeWindow*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 308
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 308
    functionName: updateQueryTimeWindow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbGetEarliestTs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateQueryTimeWindow(STsdb* pTsdb, STimeWindow* pWindow,
      STimeWindow* out) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:908,1
    - Dst: cleanupInfoForNextFileset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:916,1
    - Dst: getNextBrinRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:920,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:921,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1008,1
    - Dst: recordToBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1012,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1058,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1058,1
    - Dst: clearBrinBlockIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1060,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:910,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1002,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:957,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:991,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:987,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1007,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1011,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1030,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1033,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1034,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1037,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:906,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:907,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:913,1
    - Dst: initBrinRecordIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:917,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:956,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1003,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:952,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1047,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:911,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1013,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1016,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1017,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1029,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1031,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1038,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1046,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1050,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 130
    argCount: 4
    argNames:
    - pReader
    - pIndexList
    - pBlockNum
    - pTableScanInfoList
    argTypes:
    - STsdbReader*
    - SArray*
    - SBlockNumber*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1062
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 1062
    functionName: loadFileBlockBrinInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - tSimpleHashGetSize
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - getNextBrinRecord
    - taosArrayInit
    - getTableBlockScanInfo
    - taosArrayGetLast
    - ASCENDING_TRAVERSE
    - taosArrayPush
    - recordToBlockInfo
    - TSDB_CHECK_CODE
    - cleanupInfoForNextFileset
    - tsdbDebug
    - initBrinRecordIter
    - taosGetTimestampUs
    - tstrerror
    - clearBrinBlockIter
    - tsdbError
    - pkCompEx
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadFileBlockBrinInfo(STsdbReader* pReader, SArray*
      pIndexList, SBlockNumber* pBlockNum, SArray* pTableScanInfoList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1145,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1155,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1151,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1146,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1159,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1160,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:1164,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pBlockIter
    - pInfo
    - id
    argTypes:
    - SDataBlockIter*
    - SFileDataBlockInfo**
    - char*
    constantsTouched: []
    func_position:
      end: 1167
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1167
    functionName: getCurrentBlockInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosArrayGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getCurrentBlockInfo(SDataBlockIter* pBlockIter, SFileDataBlockInfo**
      pInfo, const char* id) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3460,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3462,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3464,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3471,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3468,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3473,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3474,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3481,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3482,1
    - Dst: tsdbBuildDeleteSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3485,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3502,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3487,1
    - Dst: getInitialDelIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3488,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3502,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3497,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3485,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - pBlockScanInfo
    - order
    - pCost
    argTypes:
    - STableBlockScanInfo*
    - int32_t
    - SReadCostSummary*
    constantsTouched: []
    func_position:
      end: 3505
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3505
    functionName: initDelSkylineIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - getInitialDelIndex
    - taosArrayAddAll
    - tstrerror
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - tsdbError
    - taosArrayGetSize
    - tsdbBuildDeleteSkyline
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initDelSkylineIterator(STableBlockScanInfo* pBlockScanInfo,
      int32_t order, SReadCostSummary* pCost) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3732,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3733,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3740,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3741,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3739,1
    - Dst: setComposedBlockFlag
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3750,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3756,1
    - Dst: tRowKeyAssign
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3758,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3764,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3770,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - pReader
    - pScanInfo
    argTypes:
    - STsdbReader*
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 3773
      start: 3723
    functionDepth: 0
    functionLinenumber: 3723
    functionLinenumberEnd: 3773
    functionName: buildCleanBlockFromSttFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - blockDataEnsureCapacity
    - tRowKeyAssign
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - setComposedBlockFlag
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildCleanBlockFromSttFiles(STsdbReader* pReader, STableBlockScanInfo*
      pScanInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5308,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5328,1
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5322,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5309,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5310,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5330,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5331,1
    - Dst: doCopyColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5332,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5333,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5356,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5345,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5347,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5344,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5356,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - pResBlock
    - pReader
    - pBlockData
    - rowIndex
    argTypes:
    - SSDataBlock*
    - STsdbReader*
    - SBlockData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 5359
      start: 5297
    functionDepth: 0
    functionLinenumber: 5297
    functionLinenumberEnd: 5359
    functionName: doAppendRowFromFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGet
    - doCopyColVal
    - colDataSetNULL
    - tColDataGetValue
    - tstrerror
    - TSDB_CHECK_NULL
    - tBlockDataGetColDataByIdx
    - tsdbError
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAppendRowFromFileBlock(SSDataBlock* pResBlock, STsdbReader*
      pReader, SBlockData* pBlockData, int32_t rowIndex) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5495,1
    - Dst: resetDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5508,1
    - Dst: getMemTableTimeRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5501,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5506,1
    - Dst: initFilesetIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5505,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5508,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5510,1
    - Dst: initForFirstBlockInFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5515,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5519,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5520,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5525,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5528
      start: 5489
    functionDepth: 0
    functionLinenumber: 5489
    functionLinenumberEnd: 5528
    functionName: doOpenReaderImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - getMemTableTimeRange
    - TSDB_CHECK_CODE
    - shouldFreePkBuf
    - initFilesetIterator
    - resetTableListIndex
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - resetDataBlockIterator
    - initForFirstBlockInFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doOpenReaderImpl(STsdbReader* pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5784,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5794,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5793,1
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5792,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5789,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5798,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5800,1
    - Dst: clearBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5802,1
    - Dst: initReaderStatus
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5808,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5812,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5812,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 1
    argNames:
    - pCurrentReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5815
      start: 5778
    functionDepth: 0
    functionLinenumber: 5778
    functionLinenumberEnd: 5815
    functionName: doSuspendCurrentReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tsdbDataFileReaderClose
    - tstrerror
    - destroySttBlockReader
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tSimpleHashIterate
    - tsdbError
    - clearBlockScanInfo
    - taosArrayInit
    - initReaderStatus
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSuspendCurrentReader(STsdbReader* pCurrentReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pWindow
    argTypes:
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: isEmptyQueryTimeWindow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isEmptyQueryTimeWindow(STimeWindow* pWindow) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:551,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:554,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:555,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:559,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 562
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 562
    functionName: tsdbInitReaderLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosThreadMutexInit
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbInitReaderLock(STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3943,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - pBlockInfo
    - pScanInfo
    - asc
    argTypes:
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 3949
      start: 3942
    functionDepth: 0
    functionLinenumber: 3942
    functionLinenumberEnd: 3949
    functionName: notOverlapWithFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - hasDataInSttBlock
    linkageType: ''
    returnType: bool
    signature: 'static bool notOverlapWithFiles(SFileDataBlockInfo* pBlockInfo, STableBlockScanInfo*
      pScanInfo, bool asc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4205,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4224,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4224,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pReader
    - pBlockIter
    argTypes:
    - STsdbReader*
    - SDataBlockIter*
    constantsTouched: []
    func_position:
      end: 4227
      start: 4198
    functionDepth: 0
    functionLinenumber: 4198
    functionLinenumberEnd: 4227
    functionName: initBlockDumpInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - getCurrentBlockInfo
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initBlockDumpInfo(STsdbReader* pReader, SDataBlockIter*
      pBlockIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 6981
      start: 6981
    functionDepth: 0
    functionLinenumber: 6981
    functionLinenumberEnd: 6981
    functionName: tsdbSetFilesetDelimited
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbSetFilesetDelimited(STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:568,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:572,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:573,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:570,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:571,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 580
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 580
    functionName: tsdbUninitReaderLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosThreadMutexDestroy
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUninitReaderLock(STsdbReader* pReader) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3969,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3967,1
    - Dst: initSttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3984,1
    - Dst: fileBlockShouldLoad
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3992,1
    - Dst: bufferDataInFileBlockGap
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4001,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4006,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4011,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4018,1
    - Dst: buildCleanBlockFromSttFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4020,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4035,1
    - Dst: updateComposedBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4059,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3962,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3973,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3981,1
    - Dst: doLoadFileBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3995,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3996,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3990,1
    - Dst: buildDataBlockFromBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4005,1
    - Dst: initSttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4033,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4038,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4043,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4062,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3980,1
    - Dst: buildComposedDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3999,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4000,1
    - Dst: getCurrentKeyInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3989,1
    - Dst: getBoarderKeyInFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4004,1
    - Dst: buildCleanBlockFromDataFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4015,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4016,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4029,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4039,1
    - Dst: buildComposedDataBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4042,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4050,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3972,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3970,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3978,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3986,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3993,1
    - Dst: notOverlapWithFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4008,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4021,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4025,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4030,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4052,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4058,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4075,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4075,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4071,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 105
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 4078
      start: 3951
    functionDepth: 0
    functionLinenumber: 3951
    functionLinenumberEnd: 4078
    functionName: doBuildDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initSttBlockReader
    - TSDB_CHECK_CONDITION
    - setBlockAllDumped
    - fileBlockShouldLoad
    - buildCleanBlockFromSttFiles
    - notOverlapWithFiles
    - TSDB_CHECK_NULL
    - buildComposedDataBlockImpl
    - getTableBlockScanInfo
    - buildDataBlockFromBuf
    - buildCleanBlockFromDataFiles
    - ASCENDING_TRAVERSE
    - getCurrentKeyInBuf
    - doLoadFileBlockData
    - updateComposedBlockInfo
    - TSDB_CHECK_CODE
    - tsdbDebug
    - taosHashGet
    - getCurrentBlockInfo
    - bufferDataInFileBlockGap
    - taosGetTimestampUs
    - tBlockDataReset
    - getBoarderKeyInFiles
    - buildComposedDataBlock
    - tstrerror
    - getCurrentKeyInSttBlock
    - tsdbError
    - hasDataInSttBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildDataBlock(STsdbReader* pReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4235,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4239,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4236,1
    - Dst: initBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4249,1
    - Dst: moveToNextFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4238,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4250,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4252,1
    - Dst: resetDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4253,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4253,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4254,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4256,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4257,1
    - Dst: initBlockDumpInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4265,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4268,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4261,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:4265,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - pReader
    - pBlockIter
    argTypes:
    - STsdbReader*
    - SDataBlockIter*
    constantsTouched: []
    func_position:
      end: 4271
      start: 4229
    functionDepth: 0
    functionLinenumber: 4229
    functionLinenumberEnd: 4271
    functionName: initForFirstBlockInFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initBlockIterator
    - TSDB_CHECK_CODE
    - shouldFreePkBuf
    - taosArrayDestroy
    - resetTableListIndex
    - resetDataBlockIterator
    - initBlockDumpInfo
    - TSDB_CHECK_NULL
    - tstrerror
    - moveToNextFile
    - tsdbError
    - tBlockDataReset
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initForFirstBlockInFile(STsdbReader* pReader, SDataBlockIter*
      pBlockIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pReader
    - notifyFn
    - param
    argTypes:
    - STsdbReader*
    - TsdReaderNotifyCbFn
    - void*
    constantsTouched: []
    func_position:
      end: 6986
      start: 6983
    functionDepth: 0
    functionLinenumber: 6983
    functionLinenumberEnd: 6986
    functionName: tsdbReaderSetNotifyCb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbReaderSetNotifyCb(STsdbReader* pReader, TsdReaderNotifyCbFn
      notifyFn, void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2338,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2339,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 2350
      start: 2336
    functionDepth: 0
    functionLinenumber: 2336
    functionLinenumberEnd: 2350
    functionName: primaryKeyDup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - taosMemoryMalloc
    - IS_NUMERIC_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t primaryKeyDup(SRowKey* pKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeUnpinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSttBlockReader
    argTypes:
    - SSttBlockReader*
    constantsTouched: []
    func_position:
      end: 2254
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2254
    functionName: doUnpinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tMergeTreeUnpinSttBlock
    linkageType: ''
    returnType: void
    signature: 'static void doUnpinSttBlock(SSttBlockReader* pSttBlockReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3252,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3253,1
    - Dst: getNeighborBlockOfTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3261,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3258,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3262,1
    - Dst: overlapWithNeighborBlock2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3273,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3274,1
    - Dst: setFileBlockActiveInBlockIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3278,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3279,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3283,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3293,1
    - Dst: doLoadFileBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3282,1
    - Dst: initBlockDumpInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3287,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pBlockInfo
    - pBlockScanInfo
    - pReader
    - loadNeighbor
    argTypes:
    - SFileDataBlockInfo*
    - STableBlockScanInfo*
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 3296
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3296
    functionName: loadNeighborIfOverlap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doLoadFileBlockData
    - overlapWithNeighborBlock2
    - setFileBlockActiveInBlockIter
    - TSDB_CHECK_CODE
    - taosArrayGet
    - initBlockDumpInfo
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - getNeighborBlockOfTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadNeighborIfOverlap(SFileDataBlockInfo* pBlockInfo,
      STableBlockScanInfo* pBlockScanInfo, STsdbReader* pReader, bool* loadNeighbor) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3336,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3346,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3350,1
    - Dst: isValidFileBlockRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3378,1
    - Dst: loadNeighborIfOverlap
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3395,1
    - Dst: buildComposedDataBlockImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3410,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3431,1
    - Dst: getCurrentKeyInBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3349,1
    - Dst: getCurrentBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3389,1
    - Dst: initSttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3367,1
    - Dst: isCleanFileDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3355,1
    - Dst: copyBlockDataToSDataBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3361,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3362,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3390,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3411,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3415,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3426,1
    - Dst: updateComposedBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3427,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3330,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3329,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3342,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3356,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3438,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3327,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3341,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3347,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3369,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3379,1
    - Dst: setBlockAllDumped
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3398,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 102
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 3441
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3441
    functionName: buildComposedDataBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - initSttBlockReader
    - setBlockAllDumped
    - TSDB_CHECK_NULL
    - buildComposedDataBlockImpl
    - copyBlockDataToSDataBlock
    - getTableBlockScanInfo
    - isValidFileBlockRow
    - ASCENDING_TRAVERSE
    - getCurrentKeyInBuf
    - updateComposedBlockInfo
    - TSDB_CHECK_CODE
    - loadNeighborIfOverlap
    - tsdbDebug
    - taosHashGet
    - taosGetTimestampUs
    - getCurrentBlockInfo
    - isCleanFileDataBlock
    - tstrerror
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildComposedDataBlock(STsdbReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:473,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pSupp
    argTypes:
    - SBlockLoadSuppInfo*
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: shouldFreePkBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: bool
    signature: 'bool shouldFreePkBuf(SBlockLoadSuppInfo* pSupp) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5897,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5906,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5902,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5913,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5914,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5922,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5941,1
    - Dst: tsdbTakeReadSnap2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5905,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5926,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5933,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5936,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5946,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5929,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5930,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5932,1
    - Dst: doOpenReaderImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5935,1
    - Dst: setSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5921,1
    - Dst: setSharedPtr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5925,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5946,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5904,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5950
      start: 5891
    functionDepth: 0
    functionLinenumber: 5891
    functionLinenumberEnd: 5950
    functionName: tsdbReaderResume2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tSimpleHashGetSize
    - setSharedPtr
    - tsdbDebug
    - doOpenReaderImpl
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbTakeReadSnap2
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderResume2(STsdbReader* pReader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5995,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6010,1
    - Dst: buildBlockFromFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6009,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6003,1
    - Dst: buildFromPreFilesetBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6002,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6012,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6028,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6029,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6031,1
    - Dst: buildBlockFromBufferSequentially
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6032,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6033,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6038,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6043,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6036,1
    - Dst: buildBlockFromBufferSequentially
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6037,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 6046
      start: 5989
    functionDepth: 0
    functionLinenumber: 5989
    functionLinenumberEnd: 6046
    functionName: doTsdbNextDataBlockFilesetDelimited
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - resetTableListIndex
    - buildFromPreFilesetBuffer
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - buildBlockFromFiles
    - tsdbError
    - buildBlockFromBufferSequentially
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTsdbNextDataBlockFilesetDelimited(STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6964,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6968,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6974,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6967,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6966,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - p
    - idstr
    argTypes:
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 6977
      start: 6959
    functionDepth: 0
    functionLinenumber: 6959
    functionLinenumberEnd: 6977
    functionName: tsdbReaderSetId
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TSDB_CHECK_NULL
    - taosStrdup
    - tsdbError
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReaderSetId(void* p, const char* idstr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2263,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2264,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2265,1
    - Dst: doPinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2270,1
    - Dst: nextRowFromSttBlocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2271,1
    - Dst: doUnpinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2272,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2273,1
    - Dst: hasDataInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2275,1
    - Dst: getCurrentKeyInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2276,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2290,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2290,1
    - Dst: doAppendRowFromFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2278,1
    - Dst: doAppendRowFromFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2283,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2280,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:2285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - fRow
    - pSttBlockReader
    - pScanInfo
    - pSttKey
    - pReader
    - copied
    argTypes:
    - TSDBROW*
    - SSttBlockReader*
    - STableBlockScanInfo*
    - SRowKey*
    - STsdbReader*
    - bool*
    constantsTouched: []
    func_position:
      end: 2293
      start: 2256
    functionDepth: 0
    functionLinenumber: 2256
    functionLinenumberEnd: 2293
    functionName: tryCopyDistinctRowFromSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - doAppendRowFromFileBlock
    - doUnpinSttBlock
    - TSDB_CHECK_CODE
    - tstrerror
    - nextRowFromSttBlocks
    - TSDB_CHECK_NULL
    - getCurrentKeyInSttBlock
    - tsdbError
    - pkCompEx
    - hasDataInSttBlock
    - doPinSttBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tryCopyDistinctRowFromSttBlock(TSDBROW* fRow, SSttBlockReader*
      pSttBlockReader, STableBlockScanInfo* pScanInfo, SRowKey* pSttKey, STsdbReader*
      pReader, bool* copied) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDataUpdateTsWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3305,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3306,1
    - Dst: setComposedBlockFlag
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3307,1
    - Dst: blockDataUpdatePkRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:3306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pReader
    - el
    - pBlockScanInfo
    argTypes:
    - STsdbReader*
    - double
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 3311
      start: 3298
    functionDepth: 0
    functionLinenumber: 3298
    functionLinenumberEnd: 3311
    functionName: updateComposedBlockInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - blockDataUpdatePkRange
    - ASCENDING_TRAVERSE
    - blockDataUpdateTsWindow
    - setComposedBlockFlag
    linkageType: ''
    returnType: void
    signature: 'void updateComposedBlockInfo(STsdbReader* pReader, double el, STableBlockScanInfo*
      pBlockScanInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pReader
    - composed
    argTypes:
    - STsdbReader*
    - bool
    constantsTouched: []
    func_position:
      end: 3443
      start: 3443
    functionDepth: 0
    functionLinenumber: 3443
    functionLinenumberEnd: 3443
    functionName: setComposedBlockFlag
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void setComposedBlockFlag(STsdbReader* pReader, bool composed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:480,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:489,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:491,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:489,1
    - Dst: clearDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:493,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - pIter
    - order
    - needFree
    - id
    argTypes:
    - SDataBlockIter*
    - int32_t
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 501
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 501
    functionName: resetDataBlockIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - clearDataBlockIterator
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t resetDataBlockIterator(SDataBlockIter* pIter, int32_t order,
      bool needFree, const char* id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5960,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5967,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5969,1
    - Dst: buildBlockFromBufferSeqForPreFileset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5968,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5965,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5971,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5978,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5984,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5984,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 5987
      start: 5952
    functionDepth: 0
    functionLinenumber: 5952
    functionLinenumberEnd: 5987
    functionName: buildFromPreFilesetBuffer
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbFidKeyRange
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - tsdbError
    - buildBlockFromBufferSeqForPreFileset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildFromPreFilesetBuffer(STsdbReader* pReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6054,1
    - Dst: buildBlockFromFiles
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6060,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6065,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6061,1
    - Dst: resetTableListIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6064,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6067,1
    - Dst: buildBlockFromBufferSequentially
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6068,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6069,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6072,1
    - Dst: buildBlockFromBufferSequentially
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6073,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6079,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6074,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:6079,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 6082
      start: 6048
    functionDepth: 0
    functionLinenumber: 6048
    functionLinenumberEnd: 6082
    functionName: doTsdbNextDataBlockFilesFirst
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - resetTableListIndex
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - buildBlockFromFiles
    - tsdbError
    - buildBlockFromBufferSequentially
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doTsdbNextDataBlockFilesFirst(STsdbReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 6979
      start: 6979
    functionDepth: 0
    functionLinenumber: 6979
    functionLinenumberEnd: 6979
    functionName: tsdbReaderSetCloseFlag
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbReaderSetCloseFlag(STsdbReader* pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c:5532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 5533
      start: 5530
    functionDepth: 0
    functionLinenumber: 5530
    functionLinenumberEnd: 5533
    functionName: freeSchemaFunc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRead2.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void freeSchemaFunc(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:302,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pKey
    argTypes:
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: clearRowKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void clearRowKey(SRowKey* pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:364,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:365,1
    - Dst: initLastProcKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:374,1
    - Dst: INIT_TIMEWINDOW
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:369,1
    - Dst: INIT_KEYRANGE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:368,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:375,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:378,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:379,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:381,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pScanInfo
    - uid
    - pTableMap
    - pReader
    argTypes:
    - STableBlockScanInfo*
    - uint64_t
    - SSHashObj*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 389
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 389
    functionName: initTableBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - INIT_TIMEWINDOW
    - TSDB_CHECK_CODE
    - INIT_KEYRANGE
    - initLastProcKey
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tSimpleHashPut
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initTableBlockScanInfo(STableBlockScanInfo* pScanInfo, uint64_t
      uid, SSHashObj* pTableMap, STsdbReader* pReader) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1184,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1186,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1200,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1205,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1213,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1259,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1259,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1263,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1245,1
    - Dst: loadNextStatisticsBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1248,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1231,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1187,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1191,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1185,1
    - Dst: tStatisBlockInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1208,1
    - Dst: loadNextStatisticsBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1244,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1211,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1249,1
    - Dst: tStatisBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1262,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1196,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1206,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1209,1
    - Dst: tsdbSttFileReadStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1212,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1215,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 7
    argNames:
    - pSttFileReader
    - pBlockLoadInfo
    - pStatisBlkArray
    - suid
    - pUidList
    - numOfTables
    - pNumOfRows
    argTypes:
    - SSttFileReader*
    - SSttBlockLoadInfo*
    - TStatisBlkArray*
    - uint64_t
    - uint64_t*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1266
    functionName: getNumOfRowsInSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tStatisBlockInit
    - tStatisBlockDestroy
    - tstrerror
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - loadNextStatisticsBlock
    - tsdbError
    - TARRAY2_SIZE
    - taosMemoryFreeClear
    - tsdbSttFileReadStatisBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNumOfRowsInSttBlock(SSttFileReader* pSttFileReader, SSttBlockLoadInfo*
      pBlockLoadInfo, TStatisBlkArray* pStatisBlkArray, uint64_t suid, const uint64_t*
      pUidList, int32_t numOfTables, int32_t* pNumOfRows) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:34,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:42,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:41,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:35,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:46,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:47,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:49,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:50,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:55,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:56,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:58,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:67,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:67,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:70,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - pBuf
    - numOfTables
    argTypes:
    - SBlockInfoBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 73
    functionName: initBlockScanInfoBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tsdbError
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initBlockScanInfoBuf(SBlockInfoBuf* pBuf, int32_t numOfTables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:317,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:330,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:321,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:318,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:331,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:333,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:334,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:339,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:340,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:342,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:349,1
    - Dst: initRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:346,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:354,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:350,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:343,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:347,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:354,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - pScanInfo
    - pReader
    argTypes:
    - STableBlockScanInfo*
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 357
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 357
    functionName: initLastProcKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - TSDB_CHECK_NULL
    - ASCENDING_TRAVERSE
    - initRowKey
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initLastProcKey(STableBlockScanInfo* pScanInfo, const
      STsdbReader* pReader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:569,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pIter
    - pReader
    - pList
    argTypes:
    - SBrinRecordIter*
    - SDataFileReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 576
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 576
    functionName: initBrinRecordIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void initBrinRecordIter(SBrinRecordIter* pIter, SDataFileReader* pReader,
      SArray* pList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: uidComparFunc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t uidComparFunc(const void* p1, const void* p2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:461,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:479,1
    - Dst: tsdbTbDataIterDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:476,1
    - Dst: tsdbTbDataIterDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:472,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pTableMap
    - ts
    - step
    argTypes:
    - SSHashObj*
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 485
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 485
    functionName: resetAllDataBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - taosArrayDestroy
    - tsdbTbDataIterDestroy
    linkageType: ''
    returnType: void
    signature: 'void resetAllDataBlockScanInfo(SSHashObj* pTableMap, int64_t ts, int32_t
      step) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:530,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:534,1
    - Dst: clearBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pTableMap
    argTypes:
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 536
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 536
    functionName: destroyAllBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - clearBlockScanInfo
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyAllBlockScanInfo(SSHashObj** pTableMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:558,1
    - Dst: doCleanupInfoForNextFileset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:559,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pTableMap
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 561
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 561
    functionName: cleanupInfoForNextFileset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - doCleanupInfoForNextFileset
    linkageType: ''
    returnType: void
    signature: 'void cleanupInfoForNextFileset(SSHashObj* pTableMap) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1025,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1043,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1026,1
    - Dst: tsdbDataFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1057,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1029,1
    - Dst: tsdbSttFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1058,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1059,1
    - Dst: doCheckTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1062,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1064,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1065,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1075,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1075,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - pTombBlkArray
    - pReader
    - pFileReader
    - isFile
    argTypes:
    - TTombBlkArray*
    - STsdbReader*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 1078
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1078
    functionName: doLoadTombDataFromTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - tsdbDataFileReadTombBlock
    - TSDB_CHECK_CODE
    - tSimpleHashGetSize
    - tTombBlockDestroy
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - doCheckTombBlock
    - tsdbSttFileReadTombBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadTombDataFromTombBlk(const TTombBlkArray* pTombBlkArray,
      STsdbReader* pReader, void* pFileReader, bool isFile) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1301,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1308,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1307,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1310,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1306,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1311,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1318,1
    - Dst: destroyLDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1319,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1325,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pLDIterList
    - numOfFileObj
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1328
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1328
    functionName: doAdjustValidDataIters
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - destroyLDataIter
    - taosArrayPop
    - tsdbError
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doAdjustValidDataIters(SArray* pLDIterList, int32_t numOfFileObj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: overlapHelper
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1473,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1488,1
    - Dst: overlapHelper
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1481,1
    - Dst: overlapWithDelSkylineWithoutVer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1494,1
    - Dst: overlapHelper
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1488,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 30
    argCount: 4
    argNames:
    - p1
    - pQueryWindow
    - pBlockScanInfo
    - order
    argTypes:
    - STimeWindow*
    - STimeWindow*
    - STableBlockScanInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1499
      start: 1447
    functionDepth: 0
    functionLinenumber: 1447
    functionLinenumberEnd: 1499
    functionName: overlapWithTimeWindow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - overlapWithDelSkylineWithoutVer
    - taosArrayGetSize
    - overlapHelper
    linkageType: ''
    returnType: bool
    signature: 'static bool overlapWithTimeWindow(STimeWindow* p1, STimeWindow* pQueryWindow,
      STableBlockScanInfo* pBlockScanInfo, int32_t order) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1606,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1597,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pBlockScanInfo
    - pRecord
    - startIndex
    argTypes:
    - STableBlockScanInfo*
    - SBrinRecord*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1621
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1621
    functionName: doCheckDatablockOverlapWithoutVersion
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool doCheckDatablockOverlapWithoutVersion(STableBlockScanInfo*
      pBlockScanInfo, const SBrinRecord* pRecord, int32_t startIndex) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:93,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:95,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:105,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:107,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:120,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:121,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:133,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:123,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:104,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:132,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:141,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:141,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:103,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:103,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:116,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:115,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:124,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:129,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:144,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - pBuf
    - numOfTables
    argTypes:
    - SBlockInfoBuf*
    - int32_t
    constantsTouched: []
    func_position:
      end: 147
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 147
    functionName: ensureBlockScanInfoBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - taosArrayPop
    - tsdbError
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ensureBlockScanInfoBuf(SBlockInfoBuf* pBuf, int32_t numOfTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTbDataIterDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:498,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:507,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:509,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:505,1
    - Dst: tsdbTbDataIterDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:502,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:511,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:513,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:516,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:517,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:518,1
    - Dst: clearRowKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - p
    argTypes:
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 520
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 520
    functionName: clearBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - clearRowKey
    - taosArrayDestroy
    - tsdbTbDataIterDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearBlockScanInfo(STableBlockScanInfo* p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:543,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:545,1
    - Dst: INIT_KEYRANGE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:549,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:544,1
    - Dst: INIT_TIMEWINDOW
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pScanInfo
    argTypes:
    - STableBlockScanInfo*
    constantsTouched: []
    func_position:
      end: 552
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 552
    functionName: doCleanupInfoForNextFileset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - INIT_KEYRANGE
    - INIT_TIMEWINDOW
    linkageType: ''
    returnType: void
    signature: 'static void doCleanupInfoForNextFileset(STableBlockScanInfo* pScanInfo) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:947,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:948,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:949,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:953,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:954,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:957,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:958,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:962,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:963,1
    - Dst: getTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:985,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:989,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:990,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:998,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1012,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1003,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:986,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1004,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1012,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 5
    argNames:
    - pBlock
    - pReader
    - numOfTables
    - j
    - pRet
    argTypes:
    - STombBlock*
    - STsdbReader*
    - int32_t
    - int32_t*
    - ETombBlkCheckEnum*
    constantsTouched: []
    func_position:
      end: 1015
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 1015
    functionName: doCheckTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - TSDB_CHECK_CODE
    - tTombBlockGet
    - getTableBlockScanInfo
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tsdbError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCheckTombBlock(STombBlock* pBlock, STsdbReader* pReader,
      int32_t numOfTables, int32_t* j, ETombBlkCheckEnum* pRet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1085,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1095,1
    - Dst: doLoadTombDataFromTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1094,1
    - Dst: tsdbDataFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1091,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1092,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1099,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - STsdbReader*
    constantsTouched: []
    func_position:
      end: 1102
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1102
    functionName: loadDataFileTombDataForAll
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDataFileReadTombBlk
    - doLoadTombDataFromTombBlk
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadDataFileTombDataForAll(STsdbReader* pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1337,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1344,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1343,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1342,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1345,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1347,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1348,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1354,1
    - Dst: doAdjustValidDataIters
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1355,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1355,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1361,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1356,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pSttFileBlockIterArray
    - pFileSet
    argTypes:
    - SArray*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1364
    functionName: adjustSttDataIters
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CODE
    - taosArrayDestroy
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - doAdjustValidDataIters
    - tsdbError
    - TARRAY2_SIZE
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t adjustSttDataIters(SArray* pSttFileBlockIterArray, STFileSet*
      pFileSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1507
    functionName: sortUidComparFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sortUidComparFn(const void* p1, const void* p2) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1624,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1630,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1640,1
    - Dst: doCheckDatablockOverlap
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1641,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1629,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1645,1
    - Dst: doCheckDatablockOverlap
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1660,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - pBlockScanInfo
    - pRecord
    - order
    argTypes:
    - STableBlockScanInfo*
    - SBrinRecord*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1662
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1662
    functionName: overlapWithDelSkyline
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - doCheckDatablockOverlap
    - taosArrayGet
    - taosArrayGetLast
    - ASCENDING_TRAVERSE
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool overlapWithDelSkyline(STableBlockScanInfo* pBlockScanInfo, const
      SBrinRecord* pRecord, int32_t order) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:582,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:593,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:589,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:583,1
    - Dst: tBrinBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:596,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:597,1
    - Dst: tsdbDataFileReadBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:598,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:600,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:600,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:601,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:610,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:614,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:614,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pIter
    - pRecord
    argTypes:
    - SBrinRecordIter*
    - SBrinRecord**
    constantsTouched: []
    func_position:
      end: 617
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 617
    functionName: getNextBrinRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tBrinBlockGet
    - tsdbDataFileReadBrinBlock
    - tBrinBlockClear
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getNextBrinRecord(SBrinRecordIter* pIter, SBrinRecord** pRecord) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:632,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:641,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:638,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pSup
    argTypes:
    - SBlockOrderSupporter*
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: cleanupBlockOrderSupporter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void cleanupBlockOrderSupporter(SBlockOrderSupporter* pSup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pLeft
    - pRight
    - param
    argTypes:
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 695
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 695
    functionName: fileDataBlockOrderCompar
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fileDataBlockOrderCompar(const void* pLeft, const void*
      pRight, void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:753,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: freePkItem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void freePkItem(void* pItem) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:923,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pBlockIter
    argTypes:
    - SDataBlockIter*
    constantsTouched: []
    func_position:
      end: 929
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 929
    functionName: blockIteratorNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - ASCENDING_TRAVERSE
    linkageType: ''
    returnType: bool
    signature: 'bool blockIteratorNext(SDataBlockIter* pBlockIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1109,1
    - Dst: tsdbSttFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1111,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1112,1
    - Dst: doLoadTombDataFromTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1114,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1115,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1119,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pReader
    - pSttFileReader
    - pLoadInfo
    argTypes:
    - STsdbReader*
    - SSttFileReader*
    - SSttBlockLoadInfo*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1122
    functionName: loadSttTombDataForAll
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - doLoadTombDataFromTombBlk
    - tsdbSttFileReadTombBlk
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadSttTombDataForAll(STsdbReader* pReader, SSttFileReader*
      pSttFileReader, SSttBlockLoadInfo* pLoadInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1387,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1390,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1401,1
    - Dst: tsdbSttFileReadStatisBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1416,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1418,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1401,1
    - Dst: tCreateSttBlockLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1407,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1438,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1438,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1373,1
    - Dst: adjustSttDataIters
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1382,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1383,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1409,1
    - Dst: getNumOfRowsInSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1418,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1389,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1431,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1431,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 5
    argNames:
    - pFileSet
    - pSttFileBlockIterArray
    - pTsdb
    - pConf
    - pstr
    argTypes:
    - STFileSet*
    - SArray*
    - STsdb*
    - SMergeTreeConf*
    - char*
    constantsTouched: []
    func_position:
      end: 1441
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1441
    functionName: tsdbGetRowsInSttFiles
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CODE
    - tSimpleHashGetSize
    - tsdbSttFileReaderOpen
    - tCreateSttBlockLoadInfo
    - adjustSttDataIters
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - tsdbSttFileReadStatisBlk
    - taosArrayGetSize
    - getNumOfRowsInSttBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetRowsInSttFiles(STFileSet* pFileSet, SArray* pSttFileBlockIterArray,
      STsdb* pTsdb, SMergeTreeConf* pConf, const char* pstr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SBrinRecordIter*
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: clearBrinBlockIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - tBrinBlockDestroy
    linkageType: ''
    returnType: void
    signature: 'void clearBrinBlockIter(SBrinRecordIter* pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:649,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:652,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:654,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:653,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:650,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:655,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:656,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:657,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:662,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - pSup
    - numOfTables
    argTypes:
    - SBlockOrderSupporter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 665
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 665
    functionName: initBlockOrderSupporter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initBlockOrderSupporter(SBlockOrderSupporter* pSup,
      int32_t numOfTables) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:703,1
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:723,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:704,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:724,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:721,1
    - Dst: VALUE_GET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:725,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:728,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:729,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:730,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:730,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:736,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:737,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:737,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:745,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:745,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:735,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:731,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pBlockInfo
    - record
    argTypes:
    - SFileDataBlockInfo*
    - SBrinRecord*
    constantsTouched: []
    func_position:
      end: 748
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 748
    functionName: recordToBlockInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosMemoryMalloc
    - IS_NUMERIC_TYPE
    - VALUE_GET_TRIVIAL_DATUM
    - varDataVal
    - tstrerror
    - TSDB_CHECK_NULL
    - varDataSetLen
    - tsdbError
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t recordToBlockInfo(SFileDataBlockInfo* pBlockInfo, SBrinRecord*
      record) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:767,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:769,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pIter
    - needFree
    argTypes:
    - SDataBlockIter*
    - bool
    constantsTouched: []
    func_position:
      end: 771
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 771
    functionName: clearDataBlockIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: 'void clearDataBlockIterator(SDataBlockIter* pIter, bool needFree) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1131,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1141,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1145,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1134,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1135,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1147,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1148,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1153,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1160,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1161,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1169,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1169,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - ppMemDelData
    - pMemTbData
    - piMemTbData
    - ver
    argTypes:
    - SArray**
    - STbData*
    - STbData*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1172
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1172
    functionName: loadMemTombData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosRUnLockLatch
    - taosRLockLatch
    - tstrerror
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tsdbError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t loadMemTombData(SArray** ppMemDelData, STbData* pMemTbData,
      STbData* piMemTbData, int64_t ver) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pLeft
    - minKey
    - maxKey
    argTypes:
    - STimeWindow*
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 1445
      start: 1443
    functionDepth: 0
    functionLinenumber: 1443
    functionLinenumberEnd: 1445
    functionName: overlapHelper
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool overlapHelper(const STimeWindow* pLeft, TSKEY minKey,
      TSKEY maxKey) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1665,1
    - Dst: doCheckDatablockOverlapWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1682,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1681,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1671,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1670,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1686,1
    - Dst: doCheckDatablockOverlapWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1701,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 36
    argCount: 3
    argNames:
    - pBlockScanInfo
    - pRecord
    - order
    argTypes:
    - STableBlockScanInfo*
    - SBrinRecord*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1703
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1703
    functionName: overlapWithDelSkylineWithoutVer
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayGetLast
    - ASCENDING_TRAVERSE
    - doCheckDatablockOverlapWithoutVersion
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool overlapWithDelSkylineWithoutVer(STableBlockScanInfo* pBlockScanInfo,
      const SBrinRecord* pRecord, int32_t order) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pBuf
    argTypes:
    - SBlockInfoBuf*
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: clearBlockScanInfoBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: 'void clearBlockScanInfoBuf(SBlockInfoBuf* pBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:187,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:192,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:193,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:190,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:188,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:195,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:198,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:202,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pTableMap
    - uid
    - pInfo
    - id
    argTypes:
    - SSHashObj*
    - uint64_t
    - STableBlockScanInfo**
    - char*
    constantsTouched: []
    func_position:
      end: 205
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 205
    functionName: getTableBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tSimpleHashGetSize
    - tSimpleHashGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableBlockScanInfo(SSHashObj* pTableMap, uint64_t uid,
      STableBlockScanInfo** pInfo, const char* id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:781,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pIter
    - needFree
    argTypes:
    - SDataBlockIter*
    - bool
    constantsTouched: []
    func_position:
      end: 786
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 786
    functionName: cleanupDataBlockIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void cleanupDataBlockIterator(SDataBlockIter* pIter, bool needFree) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1514,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1522,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1533,1
    - Dst: overlapWithTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1528,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1534,1
    - Dst: overlapWithTimeWindow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1544,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 4
    argNames:
    - pKeyRangeList
    - pQueryWindow
    - pScanInfo
    - order
    argTypes:
    - SArray*
    - STimeWindow*
    - STableBlockScanInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1551
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1551
    functionName: isCleanSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArraySort
    - overlapWithTimeWindow
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool isCleanSttBlock(SArray* pKeyRangeList, STimeWindow* pQueryWindow,
      STableBlockScanInfo* pScanInfo, int32_t order) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:163,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:171,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:164,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:170,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:165,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:177,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pBuf
    - index
    - pInfo
    argTypes:
    - SBlockInfoBuf*
    - int32_t
    - STableBlockScanInfo**
    constantsTouched: []
    func_position:
      end: 180
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 180
    functionName: getPosInBlockInfoBuf
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - taosArrayGet
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getPosInBlockInfoBuf(SBlockInfoBuf* pBuf, int32_t index, STableBlockScanInfo**
      pInfo) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: IS_NUMERIC_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:219,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:245,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:264,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:276,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:238,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:267,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:280,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:296,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:211,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:233,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:223,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:255,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:258,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:285,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:270,1
    - Dst: valueSetDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:228,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:250,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:261,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 47
    argCount: 6
    argNames:
    - pKey
    - ts
    - numOfPks
    - type
    - len
    - asc
    argTypes:
    - SRowKey*
    - int64_t
    - int32_t
    - int32_t
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 299
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 299
    functionName: initRowKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - valueSetDatum
    - TSDB_CHECK_CODE
    - IS_NUMERIC_TYPE
    - taosMemoryCalloc
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initRowKey(SRowKey* pKey, int64_t ts, int32_t numOfPks, int32_t
      type, int32_t len, bool asc) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:803,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:804,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:821,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:829,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:846,1
    - Dst: tMergeTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:866,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:875,1
    - Dst: tMergeTreeGetAdjustIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:889,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:890,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:894,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:877,1
    - Dst: tMergeTreeGetChosenIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:870,1
    - Dst: ASCENDING_TRAVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:806,1
    - Dst: clearDataBlockIterator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:807,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:813,1
    - Dst: initBlockOrderSupporter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:814,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:818,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:822,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:845,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:850,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:852,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:856,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:878,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:874,1
    - Dst: tMergeTreeDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:911,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:802,1
    - Dst: shouldFreePkBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:807,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:811,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:815,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:828,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:820,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:842,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:849,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:863,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:867,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:882,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:900,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:837,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:855,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:881,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:889,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:899,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:907,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:907,1
    - Dst: cleanupBlockOrderSupporter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:909,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:895,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 4
    argNames:
    - pReader
    - pBlockIter
    - numOfBlocks
    - pTableList
    argTypes:
    - STsdbReader*
    - SDataBlockIter*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 914
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 914
    functionName: initBlockIterator
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CONDITION
    - tMergeTreeDestroy
    - taosArrayAddAll
    - tMergeTreeAdjust
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - shouldFreePkBuf
    - taosMemoryMalloc
    - taosArrayDestroy
    - tMergeTreeCreate
    - tMergeTreeGetAdjustIndex
    - tMergeTreeGetChosenIndex
    - ASCENDING_TRAVERSE
    - taosArrayPush
    - cleanupBlockOrderSupporter
    - initBlockOrderSupporter
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbDebug
    - taosGetTimestampUs
    - clearDataBlockIterator
    - tstrerror
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initBlockIterator(STsdbReader* pReader, SDataBlockIter* pBlockIter,
      int32_t numOfBlocks, SArray* pTableList) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1570,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1558,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - pBlockScanInfo
    - pRecord
    - startIndex
    argTypes:
    - STableBlockScanInfo*
    - SBrinRecord*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1590
      start: 1553
    functionDepth: 0
    functionLinenumber: 1553
    functionLinenumberEnd: 1590
    functionName: doCheckDatablockOverlap
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - tsdbError
    linkageType: ''
    returnType: bool
    signature: 'static bool doCheckDatablockOverlap(STableBlockScanInfo* pBlockScanInfo,
      const SBrinRecord* pRecord, int32_t startIndex) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: initBlockScanInfoBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:410,1
    - Dst: taosSort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:441,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:406,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:400,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:416,1
    - Dst: getPosInBlockInfoBuf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:428,1
    - Dst: initTableBlockScanInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:434,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:418,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:406,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:409,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:412,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:413,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:419,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:444,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:443,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:399,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:407,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:452,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - pTsdbReader
    - pBuf
    - idList
    - pUidList
    - numOfTables
    - pHashObj
    argTypes:
    - STsdbReader*
    - SBlockInfoBuf*
    - STableKeyInfo*
    - STableUidList*
    - int32_t
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 455
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 455
    functionName: createDataBlockScanInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - getPosInBlockInfoBuf
    - taosSort
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - tSimpleHashCleanup
    - tsdbDebug
    - tstrerror
    - taosGetTimestampUs
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - initTableBlockScanInfo
    - tsdbError
    - taosGetDefaultHashFunction
    - initBlockScanInfoBuf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createDataBlockScanInfo(STsdbReader* pTsdbReader, SBlockInfoBuf*
      pBuf, const STableKeyInfo* idList, STableUidList* pUidList, int32_t numOfTables,
      SSHashObj** pHashObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1278,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1282,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1281,1
    - Dst: tsdbSttFileReadStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1281,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1289,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c:1289,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - pSttFileReader
    - pStatisBlock
    - pStatisBlkArray
    - numOfRows
    - i
    - j
    argTypes:
    - SSttFileReader*
    - STbStatisBlock*
    - TStatisBlkArray*
    - int32_t
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1292
    functionName: loadNextStatisticsBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReadUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tstrerror
    - tsdbError
    - TARRAY2_SIZE
    - tsdbSttFileReadStatisBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadNextStatisticsBlock(SSttFileReader* pSttFileReader,
      STbStatisBlock* pStatisBlock, const TStatisBlkArray* pStatisBlkArray, int32_t
      numOfRows, int32_t* i, int32_t* j) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:57,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - ppSP
    argTypes:
    - STsdbFSetPartition**
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: tsdbFSetPartitionClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSetPartitionClear(STsdbFSetPartition** ppSP) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:390,1
    - Dst: SMA_RSMA_GET_TSDB
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: tsdbSnapGetFsState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - VND_IS_RSMA
    - SMA_RSMA_GET_TSDB
    linkageType: ''
    returnType: ETsdbFsState
    signature: 'ETsdbFsState tsdbSnapGetFsState(SVnode* pVnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:512,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:520,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:515,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:518,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:514,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:522,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:523,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:527,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pOpts
    argTypes:
    - void*
    - int32_t
    - STsdbRepOpts*
    constantsTouched: []
    func_position:
      end: 529
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 529
    functionName: tDeserializeTsdbRepOpts
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - tDecodeI16
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeI8
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeTsdbRepOpts(void* buf, int32_t bufLen, STsdbRepOpts*
      pOpts) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - tsdb_ftype_t
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: tsdbFTypeToFRangeType
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFTypeToFRangeType(tsdb_ftype_t ftype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTsdbRepOptsDataLenCalc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pOpts
    argTypes:
    - STsdbRepOpts*
    constantsTouched: []
    func_position:
      end: 536
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 536
    functionName: tsdbRepOptsEstSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tTsdbRepOptsDataLenCalc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbRepOptsEstSize(STsdbRepOpts* pOpts) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:607,1
    - Dst: tsdbPartitionInfoEstSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:613,1
    - Dst: syncSnapInfoDataRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:615,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:627,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:634,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:634,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:616,1
    - Dst: tsdbRepOptsSerialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:632,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:644,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:644,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:604,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:604,1
    - Dst: tsdbSnapPrepDealWithSnapInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:603,1
    - Dst: tsdbRepOptsEstSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:614,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:634,1
    - Dst: tsdbPartitionInfoClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:648,1
    - Dst: tsdbPartitionInfoInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:594,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:604,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:616,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:627,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:627,1
    - Dst: tsdbPartitionInfoSerialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:625,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:644,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - pVnode
    - pSnap
    argTypes:
    - SVnode*
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 650
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 650
    functionName: tsdbSnapPrepDescription
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tsdbPartitionInfoClear
    - terrstr
    - tsdbPartitionInfoSerialize
    - tsdbInfo
    - tsdbPartitionInfoInit
    - tsdbPartitionInfoEstSize
    - tsdbRepOptsSerialize
    - TD_VID
    - tsdbError
    - tsdbSnapPrepDealWithSnapInfo
    - tsdbRepOptsEstSize
    - TMSG_INFO
    - TMIN
    - syncSnapInfoDataRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapPrepDescription(SVnode* pVnode, SSnapshot* pSnap) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetPartListCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:358,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:366,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:373,1
    - Dst: tsdbTFileSetToFSetPartition
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:368,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:364,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:379,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:382,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:383,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 387
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 387
    functionName: tsdbSnapGetFSetPartList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbTFileSetToFSetPartition
    - taosMemoryFree
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - TARRAY2_SORT_INSERT
    - tsdbFSetPartListCreate
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: STsdbFSetPartList*
    signature: 'static STsdbFSetPartList * tsdbSnapGetFSetPartList(STFileSystem* fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - STsdbFSetPartition*
    - STsdbFSetPartition*
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: tsdbFSetPartCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetPartCmprFn(STsdbFSetPartition* x, STsdbFSetPartition*
      y) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:412,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:421,1
    - Dst: SMA_RSMA_GET_TSDB
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:423,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:418,1
    - Dst: VND_IS_RSMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:413,1
    - Dst: tsdbSnapGetFSetPartList
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:424,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pVnode
    - pInfo
    argTypes:
    - SVnode*
    - STsdbPartitionInfo*
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: tsdbPartitionInfoInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tsdbSnapGetFSetPartList
    - VND_IS_RSMA
    - memset
    - TD_VID
    - SMA_RSMA_GET_TSDB
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbPartitionInfoInit(SVnode* pVnode, STsdbPartitionInfo*
      pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - SVersionRange*
    - SVersionRange*
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: tVersionRangeCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tVersionRangeCmprFn(SVersionRange* x, SVersionRange*
      y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetPartListDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STsdbPartitionInfo*
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: tsdbPartitionInfoClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tsdbFSetPartListDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tsdbPartitionInfoClear(STsdbPartitionInfo* pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - STFileSetRange*
    - STFileSetRange*
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: tsdbTFileSetRangeCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbTFileSetRangeCmprFn(STFileSetRange* x, STFileSetRange*
      y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:147,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: tsdbFSetPartListCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TARRAY2_INIT
    linkageType: ''
    returnType: STsdbFSetPartList*
    signature: 'STsdbFSetPartList * tsdbFSetPartListCreate() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTsdbFSetPartListDataLenCalc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STsdbPartitionInfo*
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: tsdbPartitionInfoEstSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tTsdbFSetPartListDataLenCalc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbPartitionInfoEstSize(STsdbPartitionInfo* pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - STsdbRepOpts*
    constantsTouched: []
    func_position:
      end: 480
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 480
    functionName: tTsdbRepOptsDataLenCalc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tTsdbRepOptsDataLenCalc(STsdbRepOpts* pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:42,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:47,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: tsdbFSetPartitionCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TARRAY2_INIT
    linkageType: ''
    returnType: STsdbFSetPartition*
    signature: 'STsdbFSetPartition * tsdbFSetPartitionCreate() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeTsdbFSetPartList
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:454,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:456,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pInfo
    - buf
    - bufLen
    argTypes:
    - STsdbPartitionInfo*
    - uint8_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 464
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 464
    functionName: tsdbPartitionInfoSerialize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tSerializeTsdbFSetPartList
    - terrstr
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbPartitionInfoSerialize(STsdbPartitionInfo* pInfo,
      uint8_t* buf, int32_t bufLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:488,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:491,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:490,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:493,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:494,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:496,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:498,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:502,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pOpts
    argTypes:
    - void*
    - int32_t
    - STsdbRepOpts*
    constantsTouched: []
    func_position:
      end: 504
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 504
    functionName: tSerializeTsdbRepOpts
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI8
    - tEncodeI16
    - tEndEncode
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeTsdbRepOpts(void* buf, int32_t bufLen, STsdbRepOpts*
      pOpts) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetPartitionCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:80,1
    - Dst: tsdbFTypeToFRangeType
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:93,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:104,1
    - Dst: tsdbFSetPartitionClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:106,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:97,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:113,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:115,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:119,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:126,1
    - Dst: tsdbFSetPartitionClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:128,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:135,1
    - Dst: tsdbFSetPartitionClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:137,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - fset
    - ppSP
    argTypes:
    - STFileSet*
    - STsdbFSetPartition**
    constantsTouched: []
    func_position:
      end: 143
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 143
    functionName: tsdbTFileSetToFSetPartition
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - TARRAY2_SORT_INSERT
    - tsdbFSetPartitionCreate
    - tsdbFSetPartitionClear
    - tsdbError
    - tsdbFTypeToFRangeType
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbTFileSetToFSetPartition(STFileSet* fset, STsdbFSetPartition**
      ppSP) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - ppList
    argTypes:
    - STsdbFSetPartList**
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: tsdbFSetPartListDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSetPartListDestroy(STsdbFSetPartList** ppList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:220,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:233,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pList
    argTypes:
    - STsdbFSetPartList*
    constantsTouched: []
    func_position:
      end: 242
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 242
    functionName: tTsdbFSetPartListDataLenCalc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - TARRAY2_GET
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTsdbFSetPartListDataLenCalc(STsdbFSetPartList* pList) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:302,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:306,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:322,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:334,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:335,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:345,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:311,1
    - Dst: tDecodeI16
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:323,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:336,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:344,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:340,1
    - Dst: tsdbFSetPartitionClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:350,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:352,1
    - Dst: tsdbFSetPartitionCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:314,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:337,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:331,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:305,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:320,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:321,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:326,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 50
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pList
    argTypes:
    - void*
    - int32_t
    - STsdbFSetPartList*
    constantsTouched: []
    func_position:
      end: 354
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 354
    functionName: tDeserializeTsdbFSetPartList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeI16
    - tStartDecode
    - tEndDecode
    - tsdbFSetPartitionCreate
    - tsdbFSetPartitionClear
    - tDecodeI64
    - tDecodeI8
    - TARRAY2_APPEND
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeTsdbFSetPartList(void* buf, int32_t bufLen, STsdbFSetPartList*
      pList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeTsdbRepOpts
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:573,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:575,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:575,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:581,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:575,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:581,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - pVnode
    - pSnap
    - pInfo
    argTypes:
    - SVnode*
    - SSnapshot*
    - STsdbRepOpts*
    constantsTouched: []
    func_position:
      end: 587
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 587
    functionName: tsdbSnapPrepDealWithSnapInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - TD_VID
    - terrstr
    - tDeserializeTsdbRepOpts
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapPrepDealWithSnapInfo(SVnode* pVnode, SSnapshot*
      pSnap, STsdbRepOpts* pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:166,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:174,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:171,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:185,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:175,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:189,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:195,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:196,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:198,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:204,1
    - Dst: tsdbTFileSetRangeArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:209,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - pList
    - ppRanges
    argTypes:
    - STsdbFSetPartList*
    - TFileSetRangeArray**
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: tsdbFSetPartListToRangeDiff
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetRangeArrayDestroy
    - TARRAY2_INIT
    - taosMemoryFree
    - tsdbDebug
    - taosMemoryCalloc
    - TARRAY2_SORT_INSERT
    - tsdbInfo
    - TARRAY2_SIZE
    - TMAX
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetPartListToRangeDiff(STsdbFSetPartList* pList, TFileSetRangeArray**
      ppRanges) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:256,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:276,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:255,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:253,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:260,1
    - Dst: tEncodeI16
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:263,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:272,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:250,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:254,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:262,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:275,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:259,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:261,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:270,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:282,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:289,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:274,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:266,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:277,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 40
    argCount: 4
    argNames:
    - buf
    - bufLen
    - pList
    - encodeSize
    argTypes:
    - void*
    - int32_t
    - STsdbFSetPartList*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 291
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 291
    functionName: tSerializeTsdbFSetPartList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - tEncodeI8
    - tEncodeI16
    - tEndEncode
    - TARRAY2_GET
    - tStartEncode
    - TARRAY2_SIZE
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tSerializeTsdbFSetPartList(void* buf, int32_t bufLen,
      STsdbFSetPartList* pList, int32_t* encodeSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeTsdbRepOpts
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c:542,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pOpts
    - buf
    - bufLen
    argTypes:
    - STsdbRepOpts*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 549
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 549
    functionName: tsdbRepOptsSerialize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapInfo.c
    functionUses: []
    functionsReached:
    - tSerializeTsdbRepOpts
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbRepOptsSerialize(STsdbRepOpts* pOpts, void* buf,
      int32_t bufLen) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:104,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:114,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:123,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:125,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:165,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:169,1
    - Dst: pow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:169,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:193,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:193,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:206,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:123,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:125,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:136,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:173,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:204,1
    - Dst: tsdbSttFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:205,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:218,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:219,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:107,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:103,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:92,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:137,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:152,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:138,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:202,1
    - Dst: tsdbMergeFileSetEndCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:220,1
    - Dst: TARRAY2_FOREACH_REVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:89,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:114,1
    - Dst: pow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:164,1
    - Dst: TARRAY2_FOREACH_REVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:151,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:138,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:182,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:186,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:202,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:218,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 92
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 223
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 223
    functionName: tsdbMergeFileSetBeginOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbSttFileReaderClose
    - TSDB_CHECK_CODE
    - tsdbSttFileReaderOpen
    - TARRAY2_GET
    - tstrerror
    - TARRAY2_FOREACH_REVERSE
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - TARRAY2_APPEND
    - tsdbMergeFileSetEndCloseReader
    - TARRAY2_FOREACH
    - pow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetBeginOpenReader(SMerger *merger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:72,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:73,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:75,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: tsdbMergerClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergerClose(SMerger *merger) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:265,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:294,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:298,1
    - Dst: tsdbFSetWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:294,1
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 301
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 301
    functionName: tsdbMergeFileSetBeginOpenWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFSetWriterOpen
    - tsdbFidLevel
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetBeginOpenWriter(SMerger *merger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: tsdbMergeFileSetEndCloseWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - tsdbFSetWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetEndCloseWriter(SMerger *merger) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:345,1
    - Dst: tsdbMergeFileSetEndCloseWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:347,1
    - Dst: tsdbMergeFileSetEndCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:349,1
    - Dst: tsdbMergeFileSetEndCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:347,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:352,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:352,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:354,1
    - Dst: tsdbFSEditCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:355,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:357,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:364,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:360,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:364,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:365,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:366,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: tsdbMergeFileSetEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - tstrerror
    - tsdbMergeFileSetEndCloseIter
    - TD_VID
    - tsdbFSEditBegin
    - tsdbMergeFileSetEndCloseWriter
    - tsdbError
    - tsdbMergeFileSetEndCloseReader
    - TSDB_ERROR_LOG
    - tsdbFSEditCommit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetEnd(SMerger *merger) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:433,1
    - Dst: tsdbMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:440,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:436,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:440,1
    - Dst: TARRAY2_FIRST
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:435,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:441,1
    - Dst: tsdbMergeFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:441,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:442,1
    - Dst: tsdbMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:442,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:446,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:449,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:449,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:447,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 452
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 452
    functionName: tsdbDoMerge
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDebug
    - tsdbMergerOpen
    - tstrerror
    - tsdbMergerClose
    - TARRAY2_FIRST
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - tsdbMergeFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoMerge(SMerger *merger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:56,1
    - Dst: tsdbFSAllocEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: tsdbMergerOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - taosGetTimestampSec
    - tsdbFSAllocEid
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergerOpen(SMerger *merger) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:228,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:231,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:239,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:240,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:239,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:240,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:246,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:246,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:248,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:248,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:251,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:257,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:257,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:253,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:251,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 260
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 260
    functionName: tsdbMergeFileSetBeginOpenIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbIterOpen
    - tsdbIterMergerOpen
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetBeginOpenIter(SMerger *merger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: tsdbMergeFileSetEndCloseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void tsdbMergeFileSetEndCloseReader(SMerger *merger) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:307,1
    - Dst: tsdbMergeFileSetBeginOpenIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:316,1
    - Dst: tsdbMergeFileSetBeginOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:319,1
    - Dst: tsdbMergeFileSetBeginOpenWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:319,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:323,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 327
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 327
    functionName: tsdbMergeFileSetBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbMergeFileSetBeginOpenReader
    - TARRAY2_CLEAR
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbMergeFileSetBeginOpenWriter
    - tsdbMergeFileSetBeginOpenIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetBegin(SMerger *merger) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:334,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:337,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:335,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 339
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 339
    functionName: tsdbMergeFileSetEndCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - tsdbIterMergerClose
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSetEndCloseIter(SMerger *merger) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:412,1
    - Dst: tsdbMergeFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:417,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:421,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:376,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:388,1
    - Dst: tsdbIterMergerGetData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:383,1
    - Dst: tsdbMergeFileSetBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:376,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:396,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:414,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:407,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:417,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:389,1
    - Dst: tsdbFSetWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:394,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:408,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:422,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:394,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:396,1
    - Dst: tsdbIterMergerGetTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:402,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - merger
    - fset
    argTypes:
    - SMerger*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 427
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 427
    functionName: tsdbMergeFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbMergeFileSetEnd
    - tsdbIterMergerGetData
    - tsdbDebug
    - tsdbMergeFileSetBegin
    - tsdbFSetWriteRow
    - tsdbFSetWriteTombRecord
    - tstrerror
    - tsdbIterMergerSkipTableData
    - tsdbIterMergerGetTombRecord
    - tsdbError
    - tsdbIterMergerNext
    - TD_VID
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSet(SMerger *merger, STFileSet *fset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:459,1
    - Dst: tsdbBeginTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:466,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:462,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:472,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:468,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:474,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:478,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SMerger*
    constantsTouched: []
    func_position:
      end: 480
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 480
    functionName: tsdbMergeGetFSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbTFileSetInitCopy
    - taosThreadMutexLock
    - tsdbBeginTaskOnFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeGetFSet(SMerger *merger) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:507,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:509,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:510,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:520,1
    - Dst: tsdbFatal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:521,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:521,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:526,1
    - Dst: tsdbMergeGetFSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:499,1
    - Dst: tsdbDoMerge
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:508,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:509,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:521,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:522,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:514,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:500,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:507,1
    - Dst: tsdbFinishTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:515,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:523,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:516,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c:527,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 529
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 529
    functionName: tsdbMerge
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMerge.c
    functionUses: []
    functionsReached:
    - tsdbMergeGetFSet
    - taosThreadMutexUnlock
    - exit
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - tsdbTFileSetClear
    - taosMemoryFree
    - tsdbInfo
    - terrstr
    - tstrerror
    - tsdbFatal
    - TD_VID
    - tsdbError
    - tsdbDoMerge
    - taosMsleep
    - tsdbFinishTaskOnFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbMerge(void *arg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:180,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:185,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:191,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:183,1
    - Dst: tsdbDataFileReadHeadFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:180,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:191,1
    - Dst: TARRAY2_INIT_EX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:196,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:198,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:207,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - reader
    - brinBlkArray
    argTypes:
    - SDataFileReader*
    - TBrinBlkArray**
    constantsTouched: []
    func_position:
      end: 212
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 212
    functionName: tsdbDataFileReadBrinBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TARRAY2_INIT
    - taosMemoryMalloc
    - taosMemoryFree
    - tstrerror
    - tsdbDataFileReadHeadFooter
    - TD_VID
    - tsdbError
    - tsdbReadFile
    - TARRAY2_INIT_EX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadBrinBlk(SDataFileReader *reader, const TBrinBlkArray
      **brinBlkArray) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:890,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:920,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:914,1
    - Dst: tValueColumnCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:919,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:905,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:904,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:929,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:938,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:860,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:889,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:903,1
    - Dst: tValueColumnCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:924,1
    - Dst: tValueColumnCompressInfoEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:925,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:932,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:860,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:890,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:891,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:904,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:913,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:919,1
    - Dst: tValueColumnCompressInfoEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:920,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:929,1
    - Dst: tBrinBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:940,1
    - Dst: tsdbWriterUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:879,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:924,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:925,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:932,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:938,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 9
    argNames:
    - fd
    - brinBlock
    - cmprAlg
    - fileSize
    - brinBlkArray
    - buffers
    - range
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - SBrinBlock*
    - uint32_t
    - int64_t*
    - TBrinBlkArray*
    - SBuffer*
    - SVersionRange*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 943
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 943
    functionName: tsdbFileWriteBrinBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - tBrinBlockGet
    - tValueColumnCompressInfoEncode
    - tBrinBlockClear
    - TAOS_CHECK_RETURN
    - tCompressDataToBuffer
    - tValueColumnCompress
    - tsdbWriterUpdVerRange
    - TARRAY2_APPEND_PTR
    - tsdbWriteFile
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteBrinBlock(STsdbFD *fd, SBrinBlock *brinBlock,
      uint32_t cmprAlg, int64_t *fileSize, TBrinBlkArray *brinBlkArray, SBuffer *buffers,
      SVersionRange *range, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileDoWriteTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1160,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1160,1
    - Dst: tsdbRowKeyCmprNullAsLargest
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1180,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1193,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1156,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1173,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1191,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1188,1
    - Dst: tsdbDataFileReadBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1217,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1226,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1227,1
    - Dst: tsdbRowKeyCmprNullAsLargest
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1159,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1174,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1184,1
    - Dst: tsdbDataFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1188,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1205,1
    - Dst: tsdbDataFileWriteBrinRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1191,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1217,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1158,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1185,1
    - Dst: tsdbDataFileReadBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1193,1
    - Dst: tsdbRowKeyCmprNullAsLargest
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1186,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1226,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - writer
    - key
    argTypes:
    - SDataFileWriter*
    - STsdbRowKey*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1230
    functionName: tsdbDataFileDoWriteTableOldData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tBrinBlockGet
    - tsdbRowGetKey
    - tsdbRowFromBlockData
    - tsdbDataFileReadBlockData
    - tsdbDataFileReadBrinBlock
    - tsdbDataFileDoWriteTSRow
    - tsdbRowKeyCmprNullAsLargest
    - tsdbDataFileDoWriteBlockData
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - tsdbDataFileWriteBrinRecord
    - TARRAY2_GET_PTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTableOldData(SDataFileWriter *writer,
      const STsdbRowKey *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1934
      start: 1925
    functionDepth: 0
    functionLinenumber: 1925
    functionLinenumberEnd: 1934
    functionName: tsdbDataFileFlush
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - tsdbDataFileDoWriteBlockData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileFlush(SDataFileWriter *writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:225,1
    - Dst: tBrinBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:231,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:242,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:242,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:253,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:253,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:279,1
    - Dst: tValueColumnDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:272,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:285,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:290,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:225,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:242,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:253,1
    - Dst: tValueColumnCompressInfoDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:266,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:272,1
    - Dst: tValueColumnCompressInfoDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:263,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:279,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:224,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:266,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:263,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:291,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:272,1
    - Dst: tValueColumnDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:279,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 3
    argNames:
    - reader
    - brinBlk
    - brinBlock
    argTypes:
    - SDataFileReader*
    - SBrinBlk*
    - SBrinBlock*
    constantsTouched: []
    func_position:
      end: 294
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 294
    functionName: tsdbDataFileReadBrinBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - BR_PTR
    - TSDB_CHECK_CODE
    - tsdbReadFileToBuffer
    - tBrinBlockClear
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - tValueColumnCompressInfoDecode
    - tsdbError
    - tDecompressDataToBuffer
    - TD_VID
    - tValueColumnDecompress
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadBrinBlock(SDataFileReader *reader, const SBrinBlk
      *brinBlk, SBrinBlock *brinBlock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:956,1
    - Dst: tsdbFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:956,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:963,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:963,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 967
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 967
    functionName: tsdbDataFileWriteBrinBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFileWriteBrinBlock
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteBrinBlock(SDataFileWriter *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1242,1
    - Dst: tsdbDataFileDoWriteTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1242,1
    - Dst: tsdbDataFileDoWriteTableOldData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1239,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1239,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1246,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1246,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - SDataFileWriter*
    - TSDBROW*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1250
    functionName: tsdbDataFileDoWriteTSData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbRowGetKey
    - tsdbDataFileDoWriteTSRow
    - tstrerror
    - tsdbDataFileDoWriteTableOldData
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTSData(SDataFileWriter *writer,
      TSDBROW *row) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1946,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1954,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1954,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1948,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1948,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1958,1
    - Dst: tsdbDataFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1958,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1960,1
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1965,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1971,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1972,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1975
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1975
    functionName: tsdbDataFileWriterOpenTombFD
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tTombBlockClear
    - tsdbDataFileReadTombBlk
    - tsdbOpenFile
    - tsdbTFileName
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterOpenTombFD(SDataFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1614,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1621,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1621,1
    - Dst: tsdbFileWriteBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1625
    functionName: tsdbDataFileWriteBrinBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFileWriteBrinBlk
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteBrinBlk(SDataFileWriter *writer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1647,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1646,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1648,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1702,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1703,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1711,1
    - Dst: tsdbDataFileDoWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1724,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1726,1
    - Dst: tsdbDataFileWriteTombFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1726,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1738,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1747,1
    - Dst: tsdbDataFileWriteTableDataBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1646,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1649,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1662,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1682,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1669,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1691,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1712,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1725,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1746,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1747,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1753,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1724,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1761,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1645,1
    - Dst: tsdbDataFileWriteTableDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1645,1
    - Dst: tsdbDataFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1647,1
    - Dst: tsdbDataFileWriteHeadFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1649,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1681,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1682,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1671,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1662,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1690,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1691,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1712,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1760,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1760,1
    - Dst: tsdbDataFileWriteBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1648,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1670,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1671,1
    - Dst: tsdbDataFileDoWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1723,1
    - Dst: tsdbDataFileDoWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1725,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1738,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1745,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1703,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1753,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1754,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1723,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 2
    argNames:
    - writer
    - opArr
    argTypes:
    - SDataFileWriter*
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 1764
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1764
    functionName: tsdbDataFileWriterCloseCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - tsdbDataFileWriteTombFooter
    - tsdbFsyncFile
    - tsdbDataFileWriteTableDataBegin
    - tsdbTFileUpdVerRange
    - tsdbDataFileWriteTableDataEnd
    - tsdbDataFileWriteHeadFooter
    - tsdbDataFileDoWriteTombRecord
    - tstrerror
    - tsdbDataFileDoWriteTombBlock
    - TD_VID
    - tsdbDataFileDoWriteTombBlk
    - tsdbError
    - TARRAY2_APPEND
    - tsdbDataFileWriteBrinBlock
    - tsdbDataFileWriteBrinBlk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterCloseCommit(SDataFileWriter *writer,
      TFileOpArray *opArr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:53,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:53,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:67,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:59,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:76,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:76,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:77,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SDataFileReader*
    constantsTouched: []
    func_position:
      end: 80
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 80
    functionName: tsdbDataFileReadHeadFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileReadHeadFooter(SDataFileReader *reader) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:112,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:113,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:117,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:130,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:116,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:130,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:139,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:139,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:146,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:147,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - fname
    - config
    - reader
    argTypes:
    - char*
    - SDataFileReaderConfig*
    - SDataFileReader**
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: tsdbDataFileReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tBufferInit
    - tsdbOpenFile
    - taosMemoryCalloc
    - tsdbTFileName
    - ARRAY_SIZE
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReaderOpen(const char *fname[], const SDataFileReaderConfig
      *config, SDataFileReader **reader) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:345,1
    - Dst: tGetDiskDataHdr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:351,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:370,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:365,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:456,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:470,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:492,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:502,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:350,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:345,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:409,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:381,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:475,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:487,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:493,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:509,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:487,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:344,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:354,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:357,1
    - Dst: tBlockDataDecompressKeyPart
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:363,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:397,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:409,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:382,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:431,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:460,1
    - Dst: tTSchemaSearchColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:474,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:510,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:509,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:503,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:363,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:390,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:382,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:431,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:470,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:493,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:503,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 122
    argCount: 6
    argNames:
    - reader
    - record
    - bData
    - pTSchema
    - cids
    - ncid
    argTypes:
    - SDataFileReader*
    - SBrinRecord*
    - SBlockData*
    - STSchema*
    - int16_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 513
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 513
    functionName: tsdbDataFileReadBlockDataByColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tGetBlockCol
    - tTSchemaSearchColumn
    - tGetDiskDataHdr
    - tBlockDataDecompressColData
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - TSDB_CHECK_NULL
    - TD_VID
    - tsdbError
    - tBlockDataGetColData
    - tBlockDataReset
    - tBlockDataDecompressKeyPart
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadBlockDataByColumn(SDataFileReader *reader,
      const SBrinRecord *record, SBlockData *bData, STSchema *pTSchema, int16_t cids[],
      int32_t ncid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:566,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:560,1
    - Dst: tsdbDataFileReadTombFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:561,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:566,1
    - Dst: TARRAY2_INIT_EX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:571,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:573,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:582,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:582,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:583,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:584,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - reader
    - tombBlkArray
    argTypes:
    - SDataFileReader*
    - TTombBlkArray**
    constantsTouched: []
    func_position:
      end: 587
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 587
    functionName: tsdbDataFileReadTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileReadTombFooter
    - TARRAY2_INIT
    - taosMemoryMalloc
    - taosMemoryFree
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadFile
    - TARRAY2_INIT_EX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadTombBlk(SDataFileReader *reader, const TTombBlkArray
      **tombBlkArray) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:749,1
    - Dst: tsdbDataFileWriterDoOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:749,1
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:753,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:754,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:753,1
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:770,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:770,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:771,1
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:789,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:789,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:824,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:804,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:825,1
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:804,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:824,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:805,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 828
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 828
    functionName: tsdbDataFileWriterDoOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFTypeLabel
    - TSDB_CHECK_CODE
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbAllocateDisk
    - tsdbDataFileWriterDoOpenReader
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterDoOpen(SDataFileWriter *writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tBrinBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:974,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:980,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:986,1
    - Dst: tsdbDataFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:977,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:977,1
    - Dst: tsdbDataFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:986,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:991,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - writer
    - record
    argTypes:
    - SDataFileWriter*
    - SBrinRecord*
    constantsTouched: []
    func_position:
      end: 995
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 995
    functionName: tsdbDataFileWriteBrinRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tBrinBlockPut
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbDataFileWriteBrinBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteBrinRecord(SDataFileWriter *writer,
      const SBrinRecord *record) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1346,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - fd
    - fileSize
    - footer
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t*
    - SHeadFooter*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1344
    functionDepth: 0
    functionLinenumber: 1344
    functionLinenumberEnd: 1350
    functionName: tsdbFileWriteHeadFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteHeadFooter(STsdbFD *fd, int64_t *fileSize, const
      SHeadFooter *footer, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DATA_LEN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1462,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1466,1
    - Dst: TARRAY2_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1466,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1466,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - fd
    - tombBlkArray
    - ptr
    - fileSize
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - TTombBlkArray*
    - SFDataPtr*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1472
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1472
    functionName: tsdbFileWriteTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TARRAY2_DATA_LEN
    - TARRAY2_DATA
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteTombBlk(STsdbFD *fd, const TTombBlkArray *tombBlkArray,
      SFDataPtr *ptr, int64_t *fileSize, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:157,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:158,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:167,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:166,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SDataFileReader**
    constantsTouched: []
    func_position:
      end: 172
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 172
    functionName: tsdbDataFileReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - taosMemoryFree
    - TARRAY2_DESTROY
    - ARRAY_SIZE
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tsdbDataFileReaderClose(SDataFileReader **reader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:94,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:103,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:94,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:102,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SDataFileReader*
    constantsTouched: []
    func_position:
      end: 106
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 106
    functionName: tsdbDataFileReadTombFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileReadTombFooter(SDataFileReader *reader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:521,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:526,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:531,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:526,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:523,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:535,1
    - Dst: tGetColumnDataAgg
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:535,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:536,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:536,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:539,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:546,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:545,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - reader
    - record
    - columnDataAggArray
    argTypes:
    - SDataFileReader*
    - SBrinRecord*
    - TColumnDataAggArray*
    constantsTouched: []
    func_position:
      end: 549
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 549
    functionName: tsdbDataFileReadBlockSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tsdbReadFileToBuffer
    - TARRAY2_CLEAR
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - TD_VID
    - tsdbError
    - tGetColumnDataAgg
    - TARRAY2_APPEND_PTR
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadBlockSma(SDataFileReader *reader, const SBrinRecord
      *record, TColumnDataAggArray *columnDataAggArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:596,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:599,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:599,1
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:605,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:604,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:607,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:614,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:614,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:614,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:620,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:620,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:621,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - reader
    - tombBlk
    - tData
    argTypes:
    - SDataFileReader*
    - STombBlk*
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 624
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 624
    functionName: tsdbDataFileReadTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tTombBlockClear
    - BR_PTR
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - ARRAY_SIZE
    - tstrerror
    - TD_VID
    - tsdbError
    - tDecompressDataToBuffer
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadTombBlock(SDataFileReader *reader, const STombBlk
      *tombBlk, STombBlock *tData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:831,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - range
    - minVer
    - maxVer
    argTypes:
    - SVersionRange*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 833
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 833
    functionName: tsdbWriterUpdVerRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'void tsdbWriterUpdVerRange(SVersionRange *range, int64_t minVer, int64_t
      maxVer) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1027,1
    - Dst: tsdbWriterUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1042,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1058,1
    - Dst: tPutColumnDataAgg
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1073,1
    - Dst: tBlockDataCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1050,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1028,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1031,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1031,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1047,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1058,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1073,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1078,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1085,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1091,1
    - Dst: tsdbRowCompareWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1031,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1028,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1047,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1050,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1065,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1078,1
    - Dst: tsdbDataFileWriteBrinRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1085,1
    - Dst: tBlockDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1087,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1094,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1027,1
    - Dst: metaGetColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1044,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1091,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1092,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - writer
    - bData
    argTypes:
    - SDataFileWriter*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1096
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1096
    functionName: tsdbDataFileDoWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - metaGetColCmpr
    - tsdbRowGetKey
    - tsdbRowFromBlockData
    - tsdbWarn
    - tBlockDataCompress
    - tPutColumnDataAgg
    - tsdbDataFileWriteBrinRecord
    - tBlockDataClear
    - tstrerror
    - tsdbRowCompareWithoutVersion
    - TD_VID
    - tsdbWriterUpdVerRange
    - tsdbError
    - tsdbWriteFile
    - tBufferClear
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteBlockData(SDataFileWriter *writer,
      SBlockData *bData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1357,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1370,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1373,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1375,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1375,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1383,1
    - Dst: tsdbWriterUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1395,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1397,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1398,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1405,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1413,1
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1415,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1406,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1406,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1405,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 9
    argNames:
    - fd
    - tombBlock
    - cmprAlg
    - fileSize
    - tombBlkArray
    - buffers
    - range
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - STombBlock*
    - int8_t
    - int64_t*
    - TTombBlkArray*
    - SBuffer*
    - SVersionRange*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1417
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1417
    functionName: tsdbFileWriteTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - tTombBlockClear
    - tTombBlockGet
    - ARRAY_SIZE
    - TAOS_CHECK_RETURN
    - TOMB_BLOCK_SIZE
    - tCompressDataToBuffer
    - tsdbWriterUpdVerRange
    - TARRAY2_APPEND_PTR
    - tsdbWriteFile
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteTombBlock(STsdbFD *fd, STombBlock *tombBlock,
      int8_t cmprAlg, int64_t *fileSize, TTombBlkArray *tombBlkArray, SBuffer *buffers,
      SVersionRange *range, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1475,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1485,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1492,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1492,1
    - Dst: tsdbFileWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1486,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1496
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1496
    functionName: tsdbDataFileDoWriteTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - tsdbFileWriteTombBlk
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTombBlk(SDataFileWriter *writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1500,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1501,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - fd
    - footer
    - fileSize
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - STombFooter*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1504
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1504
    functionName: tsdbFileWriteTombFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteTombFooter(STsdbFD *fd, const STombFooter *footer,
      int64_t *fileSize, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1513,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1519,1
    - Dst: tsdbFileWriteTombFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1513,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1520,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1523
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1523
    functionName: tsdbDataFileWriteTombFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFileWriteTombFooter
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteTombFooter(SDataFileWriter *writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1628,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - f
    - range
    argTypes:
    - STFile*
    - SVersionRange
    constantsTouched: []
    func_position:
      end: 1630
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1630
    functionName: tsdbTFileUpdVerRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileUpdVerRange(STFile *f, SVersionRange range) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1104,1
    - Dst: tsdbUpdateSkmRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1105,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1105,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1109,1
    - Dst: tsdbRowCompareWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1112,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1112,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1114,1
    - Dst: tBlockDataUpdateRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1114,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1117,1
    - Dst: tsdbDataFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1117,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1128,1
    - Dst: tBlockDataAppendRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1121,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1127,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - SDataFileWriter*
    - TSDBROW*
    constantsTouched: []
    func_position:
      end: 1131
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1131
    functionName: tsdbDataFileDoWriteTSRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbRowFromBlockData
    - tBlockDataUpdateRow
    - tsdbUpdateSkmRow
    - tsdbDataFileDoWriteBlockData
    - tstrerror
    - tsdbRowCompareWithoutVersion
    - tsdbError
    - tBlockDataAppendRow
    - TSDBROW_VERSION
    - TD_VID
    - TSDBROW_SVERSION
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTSRow(SDataFileWriter *writer, TSDBROW
      *row) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1261,1
    - Dst: tsdbDataFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1264,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1268,1
    - Dst: tsdbDataFileDoWriteTableOldData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1261,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1264,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1268,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1269,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1272
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1272
    functionName: tsdbDataFileWriteTableDataEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileDoWriteBlockData
    - tstrerror
    - tsdbDataFileDoWriteTableOldData
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteTableDataEnd(SDataFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1426,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1432,1
    - Dst: tsdbFileWriteHeadFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1426,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1433,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1436
      start: 1419
    functionDepth: 0
    functionLinenumber: 1419
    functionLinenumberEnd: 1436
    functionName: tsdbDataFileWriteHeadFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFileWriteHeadFooter
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteHeadFooter(SDataFileWriter *writer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1530,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1538,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1542,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1561,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1577,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1581,1
    - Dst: tsdbDataFileDoWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1581,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1532,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1550,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1559,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1575,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1580,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1587,1
    - Dst: tTombRecordCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1534,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1532,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1546,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1555,1
    - Dst: tTombBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1573,1
    - Dst: tsdbDataFileDoWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1546,1
    - Dst: tTombBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1538,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1540,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1545,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1549,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1573,1
    - Dst: tsdbDataFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1561,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1586,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - writer
    - record
    argTypes:
    - SDataFileWriter*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 1590
      start: 1525
    functionDepth: 0
    functionLinenumber: 1525
    functionLinenumberEnd: 1590
    functionName: tsdbDataFileDoWriteTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileReadTombBlock
    - tTombBlockGet
    - tTombRecordCompare
    - tstrerror
    - TOMB_BLOCK_SIZE
    - tTombBlockPut
    - tsdbDataFileDoWriteTombBlock
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - TARRAY2_GET_PTR
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTombRecord(SDataFileWriter *writer,
      const STombRecord *record) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1772,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1784,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1783,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1792,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1784,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1792,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1800,1
    - Dst: tsdbDataFileReadBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1800,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1805,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1805,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1806,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1809
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1809
    functionName: tsdbDataFileWriterOpenDataFD
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbOpenFile
    - tsdbTFileName
    - ARRAY_SIZE
    - tsdbDataFileReadBrinBlk
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterOpenDataFD(SDataFileWriter *writer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1851,1
    - Dst: tsdbDataFileWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1851,1
    - Dst: tsdbDataFileWriterOpenDataFD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1855,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1859,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1855,1
    - Dst: tsdbDataFileWriteTableDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1859,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1860,1
    - Dst: tsdbDataFileWriteTableDataBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1860,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1863,1
    - Dst: tsdbDataFileDoWriteTSData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1863,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1867,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1867,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1868,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - SDataFileWriter*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 1871
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1871
    functionName: tsdbDataFileWriteRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileWriterDoOpen
    - tsdbDataFileWriteTableDataBegin
    - tsdbDataFileWriteTableDataEnd
    - tstrerror
    - tsdbDataFileWriterOpenDataFD
    - TD_VID
    - tsdbError
    - tsdbDataFileDoWriteTSData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileWriteRow(SDataFileWriter *writer, SRowInfo *row) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowKeyCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - STsdbRowKey*
    - STsdbRowKey*
    constantsTouched: []
    func_position:
      end: 1141
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1141
    functionName: tsdbRowKeyCmprNullAsLargest
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - tsdbRowKeyCmpr
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tsdbRowKeyCmprNullAsLargest(const STsdbRowKey
      *key1, const STsdbRowKey *key2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1285,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1285,1
    - Dst: tsdbDataFileWriteBrinRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1308,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1296,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1308,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1312,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1316,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1318,1
    - Dst: tsdbDataFileReadBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1332,1
    - Dst: tBlockDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1333,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1338,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1339,1
    - Dst: tsdbUpdateSkmTb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1332,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1333,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - writer
    - tbid
    argTypes:
    - SDataFileWriter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 1342
      start: 1274
    functionDepth: 0
    functionLinenumber: 1274
    functionLinenumberEnd: 1342
    functionName: tsdbDataFileWriteTableDataBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tBrinBlockGet
    - tsdbDataFileReadBrinBlock
    - tstrerror
    - tsdbUpdateSkmTb
    - tsdbError
    - TARRAY2_SIZE
    - TD_VID
    - tBlockDataInit
    - tsdbDataFileWriteBrinRecord
    - TARRAY2_GET_PTR
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriteTableDataBegin(SDataFileWriter *writer,
      const TABLEID *tbid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1439,1
    - Dst: tsdbFileWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1447,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1447,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1454,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1454,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1455,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 1458
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1458
    functionName: tsdbDataFileDoWriteTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - TOMB_BLOCK_SIZE
    - TD_VID
    - tsdbError
    - tsdbFileWriteTombBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileDoWriteTombBlock(SDataFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1594,1
    - Dst: TARRAY2_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1601,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1600,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1601,1
    - Dst: TARRAY2_DATA_LEN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - fd
    - brinBlkArray
    - ptr
    - fileSize
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - TBrinBlkArray*
    - SFDataPtr*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1605
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1605
    functionName: tsdbFileWriteBrinBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TARRAY2_DATA
    - TAOS_CHECK_RETURN
    - TARRAY2_DATA_LEN
    - TARRAY2_SIZE
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteBrinBlk(STsdbFD *fd, TBrinBlkArray *brinBlkArray,
      SFDataPtr *ptr, int64_t *fileSize, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1886,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1894,1
    - Dst: tsdbDataFileWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1886,1
    - Dst: tsdbDataFileWriteTableDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1894,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1919,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1902,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1920,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1901,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1901,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1908,1
    - Dst: tsdbDataFileWriterOpenDataFD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1890,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1890,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1895,1
    - Dst: tsdbDataFileWriteTableDataBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1895,1
    - Dst: tsdbDataFileDoWriteTableOldData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1902,1
    - Dst: tsdbDataFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1908,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1913,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1919,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1912,1
    - Dst: tsdbDataFileDoWriteTSData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1913,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - writer
    - bData
    argTypes:
    - SDataFileWriter*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1923
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 1923
    functionName: tsdbDataFileWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileWriterDoOpen
    - tsdbRowGetKey
    - tsdbRowFromBlockData
    - tsdbDataFileWriteTableDataBegin
    - tsdbDataFileWriteTableDataEnd
    - tsdbDataFileDoWriteBlockData
    - tstrerror
    - tsdbDataFileDoWriteTableOldData
    - tsdbDataFileWriterOpenDataFD
    - TD_VID
    - tsdbError
    - tsdbDataFileDoWriteTSData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileWriteBlockData(SDataFileWriter *writer, SBlockData
      *bData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1982,1
    - Dst: tsdbDataFileWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1982,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1986,1
    - Dst: tsdbDataFileWriterOpenTombFD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1986,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1989,1
    - Dst: tsdbDataFileDoWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1989,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1993,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1993,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1994,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - writer
    - record
    argTypes:
    - SDataFileWriter*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 1997
      start: 1977
    functionDepth: 0
    functionLinenumber: 1977
    functionLinenumberEnd: 1997
    functionName: tsdbDataFileWriteTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileWriterDoOpen
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbDataFileWriterOpenTombFD
    - tsdbDataFileDoWriteTombRecord
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileWriteTombRecord(SDataFileWriter *writer, const
      STombRecord *record) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:682,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:685,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:687,1
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:688,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:686,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:689,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:691,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:692,1
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:693,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:695,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:700,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:696,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 701
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 701
    functionName: tsdbDataFileWriterDoClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TARRAY2_DESTROY
    - tBlockDataDestroy
    - tsdbDataFileReaderClose
    - tTombBlockDestroy
    - ARRAY_SIZE
    - tDestroyTSchema
    - tBufferDestroy
    - tBrinBlockDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tsdbDataFileWriterDoClose(SDataFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1812,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - config
    - writer
    argTypes:
    - SDataFileWriterConfig*
    - SDataFileWriter**
    constantsTouched: []
    func_position:
      end: 1819
      start: 1811
    functionDepth: 0
    functionLinenumber: 1811
    functionLinenumberEnd: 1819
    functionName: tsdbDataFileWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileWriterOpen(const SDataFileWriterConfig *config,
      SDataFileWriter **writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:309,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:316,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:310,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:310,1
    - Dst: tBlockDataDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:316,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:319,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:324,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - reader
    - record
    - bData
    argTypes:
    - SDataFileReader*
    - SBrinRecord*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 328
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 328
    functionName: tsdbDataFileReadBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - TD_VID
    - tsdbError
    - tBlockDataDecompress
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileReadBlockData(SDataFileReader *reader, const SBrinRecord
      *record, SBlockData *bData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:675,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: tsdbDataFileWriterCloseAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterCloseAbort(SDataFileWriter *writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:722,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:729,1
    - Dst: tsdbDataFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:722,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:729,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:730,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileWriter*
    constantsTouched: []
    func_position:
      end: 733
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 733
    functionName: tsdbDataFileWriterDoOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - tsdbDataFileReaderOpen
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileWriterDoOpenReader(SDataFileWriter *writer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1829,1
    - Dst: tsdbDataFileWriterCloseAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1829,1
    - Dst: tsdbDataFileWriterCloseCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1831,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1831,1
    - Dst: tsdbDataFileWriterDoClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1833,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1835,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1840,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c:1841,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - writer
    - abort
    - opArr
    argTypes:
    - SDataFileWriter**
    - bool
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 1844
      start: 1821
    functionDepth: 0
    functionLinenumber: 1821
    functionLinenumberEnd: 1844
    functionName: tsdbDataFileWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - tstrerror
    - tsdbDataFileWriterCloseCommit
    - tsdbDataFileWriterDoClose
    - TD_VID
    - tsdbError
    - tsdbDataFileWriterCloseAbort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileWriterClose(SDataFileWriter **writer, bool abort,
      TFileOpArray *opArr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:123,1
    - Dst: TARRAY2_INIT_EX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:137,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:139,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:133,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - reader
    - statisBlkArray
    argTypes:
    - SSttFileReader*
    - TStatisBlkArray**
    constantsTouched: []
    func_position:
      end: 147
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 147
    functionName: tsdbSttFileReadStatisBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TARRAY2_INIT
    - tsdbReadFile
    - TARRAY2_INIT_EX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadStatisBlk(SSttFileReader *reader, const TStatisBlkArray
      **statisBlkArray) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:257,1
    - Dst: tGetDiskDataHdr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:263,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:295,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:322,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:334,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:337,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:257,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:263,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:262,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:307,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:295,1
    - Dst: tTSchemaSearchColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:321,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:334,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:345,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:352,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:256,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:266,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:270,1
    - Dst: tBlockDataDecompressKeyPart
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:276,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:317,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:283,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:278,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:346,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:276,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:317,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:303,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:339,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:346,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:352,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:353,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 6
    argNames:
    - reader
    - sttBlk
    - bData
    - pTSchema
    - cids
    - ncid
    argTypes:
    - SSttFileReader*
    - SSttBlk*
    - SBlockData*
    - STSchema*
    - int16_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 356
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 356
    functionName: tsdbSttFileReadBlockDataByColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tGetBlockCol
    - tTSchemaSearchColumn
    - tGetDiskDataHdr
    - tBlockDataDecompressColData
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - TSDB_CHECK_NULL
    - TD_VID
    - tsdbError
    - tBlockDataGetColData
    - tBlockDataReset
    - tBlockDataDecompressKeyPart
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadBlockDataByColumn(SSttFileReader *reader, const
      SSttBlk *sttBlk, SBlockData *bData, STSchema *pTSchema, int16_t cids[], int32_t
      ncid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:412,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:420,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:443,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:461,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:466,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:429,1
    - Dst: tValueColumnDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:448,1
    - Dst: tValueColumnDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:454,1
    - Dst: tStatisBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:417,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:429,1
    - Dst: tValueColumnCompressInfoDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:439,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:448,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:454,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:466,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:467,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:411,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:412,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:421,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:429,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:439,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:448,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:454,1
    - Dst: tValueColumnCompressInfoDecode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:443,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - reader
    - statisBlk
    - statisBlock
    argTypes:
    - SSttFileReader*
    - SStatisBlk*
    - STbStatisBlock*
    constantsTouched: []
    func_position:
      end: 470
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 470
    functionName: tsdbSttFileReadStatisBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - BR_PTR
    - TSDB_CHECK_CODE
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - ARRAY_SIZE
    - tstrerror
    - tValueColumnCompressInfoDecode
    - tsdbError
    - tDecompressDataToBuffer
    - tStatisBlockClear
    - TD_VID
    - tValueColumnDecompress
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadStatisBlock(SSttFileReader *reader, const SStatisBlk
      *statisBlk, STbStatisBlock *statisBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:157,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:164,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:167,1
    - Dst: TARRAY2_INIT_EX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:171,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:173,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - reader
    - tombBlkArray
    argTypes:
    - SSttFileReader*
    - TTombBlkArray**
    constantsTouched: []
    func_position:
      end: 181
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 181
    functionName: tsdbSttFileReadTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TARRAY2_INIT
    - tsdbReadFile
    - TARRAY2_INIT_EX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadTombBlk(SSttFileReader *reader, const TTombBlkArray
      **tombBlkArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:368,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:369,1
    - Dst: tTombBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:376,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:375,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:369,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:378,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:385,1
    - Dst: tDecompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:385,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:385,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:390,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:395,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:396,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:395,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - reader
    - tombBlk
    - tombBlock
    argTypes:
    - SSttFileReader*
    - STombBlk*
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 399
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 399
    functionName: tsdbSttFileReadTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tTombBlockClear
    - BR_PTR
    - TSDB_CHECK_CODE
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - ARRAY_SIZE
    - tstrerror
    - TD_VID
    - tsdbError
    - tDecompressDataToBuffer
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadTombBlock(SSttFileReader *reader, const STombBlk
      *tombBlk, STombBlock *tombBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbWriterUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:525,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:526,1
    - Dst: tBlockDataCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:526,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:538,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:538,1
    - Dst: tBlockDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:540,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 9
    argNames:
    - fd
    - blockData
    - info
    - fileSize
    - sttBlkArray
    - buffers
    - range
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - SBlockData*
    - SColCompressInfo*
    - int64_t*
    - TSttBlkArray*
    - SBuffer*
    - SVersionRange*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 542
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 542
    functionName: tsdbFileDoWriteSttBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tBlockDataCompress
    - tBlockDataClear
    - TAOS_CHECK_RETURN
    - tsdbWriterUpdVerRange
    - TARRAY2_APPEND_PTR
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFileDoWriteSttBlockData(STsdbFD *fd, SBlockData
      *blockData, SColCompressInfo *info, int64_t *fileSize, TSttBlkArray *sttBlkArray,
      SBuffer *buffers, SVersionRange *range, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tStatisBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:597,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:606,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:613,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:614,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:615,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:629,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:632,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:633,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:642,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:598,1
    - Dst: tValueColumnCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:637,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:628,1
    - Dst: tValueColumnCompressInfoEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:638,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:641,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:660,1
    - Dst: tStatisBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:592,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:638,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:637,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:648,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:654,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:593,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:614,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:616,1
    - Dst: tValueColumnCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:632,1
    - Dst: tValueColumnCompressInfoEncode
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:633,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:647,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:654,1
    - Dst: tStatisBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:656,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:660,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:661,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 664
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 664
    functionName: tsdbSttFileDoWriteStatisBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tStatisBlockGet
    - tValueColumnCompressInfoEncode
    - ARRAY_SIZE
    - tCompressDataToBuffer
    - tValueColumnCompress
    - tStatisBlockClear
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND_PTR
    - tsdbWriteFile
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteStatisBlock(SSttFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DATA_LEN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:692,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:696,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:696,1
    - Dst: TARRAY2_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:696,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - fd
    - sttBlkArray
    - ptr
    - fileSize
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - TSttBlkArray*
    - SFDataPtr*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: tsdbFileWriteSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TARRAY2_DATA_LEN
    - TARRAY2_DATA
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteSttBlk(STsdbFD *fd, const TSttBlkArray *sttBlkArray,
      SFDataPtr *ptr, int64_t *fileSize, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DATA_LEN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:729,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:732,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:740,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:732,1
    - Dst: TARRAY2_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:732,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 744
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 744
    functionName: tsdbSttFileDoWriteStatisBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TARRAY2_DATA
    - tstrerror
    - TARRAY2_DATA_LEN
    - TD_VID
    - tsdbError
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteStatisBlk(SSttFileWriter *writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 856
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 856
    functionName: tsdbSttFileDoUpdateHeader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoUpdateHeader(SSttFileWriter *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: metaGetColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:552,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:563,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:556,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:563,1
    - Dst: tsdbFileDoWriteSttBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:564,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 568
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 568
    functionName: tsdbSttFileDoWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - metaGetColCmpr
    - tsdbFileDoWriteSttBlockData
    - tstrerror
    - TD_VID
    - tsdbError
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteBlockData(SSttFileWriter *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:667,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:684,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:677,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:684,1
    - Dst: tsdbFileWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:685,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 688
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 688
    functionName: tsdbSttFileDoWriteTombBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - TOMB_BLOCK_SIZE
    - TD_VID
    - tsdbError
    - tsdbFileWriteTombBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteTombBlock(SSttFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:711,1
    - Dst: tsdbFileWriteSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:711,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:717,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:717,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 721
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 721
    functionName: tsdbSttFileDoWriteSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFileWriteSttBlk
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteSttBlk(SSttFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:753,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:759,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:759,1
    - Dst: tsdbFileWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:753,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 763
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 763
    functionName: tsdbSttFileDoWriteTombBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - tsdbFileWriteTombBlk
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteTombBlk(SSttFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:863,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:865,1
    - Dst: tsdbSttFileDoWriteStatisBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:866,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:869,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:874,1
    - Dst: tsdbTFileUpdVerRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:883,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:885,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:866,1
    - Dst: tsdbSttFileDoWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:867,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:874,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:889,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:862,1
    - Dst: tsdbSttFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:862,1
    - Dst: tsdbSttFileDoWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:864,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:867,1
    - Dst: tsdbSttFileDoWriteFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:868,1
    - Dst: tsdbSttFileDoWriteStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:863,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:864,1
    - Dst: tsdbSttFileDoWriteSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:865,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:868,1
    - Dst: tsdbSttFileDoUpdateHeader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:869,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:876,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:885,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:890,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - writer
    - opArray
    argTypes:
    - SSttFileWriter*
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 893
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 893
    functionName: tsdbSttFWriterCloseCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - tsdbSttFileDoWriteStatisBlock
    - tsdbSttFileDoWriteSttBlk
    - tsdbSttFileDoUpdateHeader
    - tsdbFsyncFile
    - tsdbSttFileDoWriteBlockData
    - tsdbSttFileDoWriteFooter
    - tsdbTFileUpdVerRange
    - tstrerror
    - tsdbSttFileDoWriteTombBlock
    - tsdbSttFileDoWriteTombBlk
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND
    - tsdbSttFileDoWriteStatisBlk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFWriterCloseCommit(SSttFileWriter *writer, TFileOpArray
      *opArray) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:201,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:207,1
    - Dst: TARRAY2_INIT_EX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:205,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 2
    argNames:
    - reader
    - sttBlkArray
    argTypes:
    - SSttFileReader*
    - TSttBlkArray**
    constantsTouched: []
    func_position:
      end: 215
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 215
    functionName: tsdbSttFileReadSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TARRAY2_INIT
    - tsdbReadFile
    - TARRAY2_INIT_EX
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadSttBlk(SSttFileReader *reader, const TSttBlkArray
      **sttBlkArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:767,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 5
    argNames:
    - fd
    - footer
    - fileSize
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - SSttFooter*
    - int64_t*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 771
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 771
    functionName: tsdbFileWriteSttFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileWriteSttFooter(STsdbFD *fd, const SSttFooter *footer,
      int64_t *fileSize, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:795,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:816,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:795,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:796,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:817,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:817,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:823,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:823,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:833,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:833,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:834,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 837
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 837
    functionName: tsdbSttFWriterDoOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tsdbFTypeLabel
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tsdbOpenFile
    - tsdbTFileName
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbAllocateDisk
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFWriterDoOpen(SSttFileWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1017,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1024,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1019,1
    - Dst: tsdbSttFileWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1019,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1024,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1025,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - writer
    - bdata
    argTypes:
    - SSttFileWriter*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1028
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1028
    functionName: tsdbSttFileWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbRowFromBlockData
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbSttFileWriteRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileWriteBlockData(SSttFileWriter *writer, SBlockData
      *bdata) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:228,1
    - Dst: tsdbReadFileToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:228,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:233,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:232,1
    - Dst: tBlockDataDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:233,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:237,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:237,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - reader
    - sttBlk
    - bData
    argTypes:
    - SSttFileReader*
    - SSttBlk*
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: tsdbSttFileReadBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbReadFileToBuffer
    - BUFFER_READER_INITIALIZER
    - tstrerror
    - TD_VID
    - tsdbError
    - tBlockDataDecompress
    - tBufferClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReadBlockData(SSttFileReader *reader, const SSttBlk
      *sttBlk, SBlockData *bData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFileWriteSttFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: tsdbSttFileDoWriteFooter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tsdbFileWriteSttFooter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFileDoWriteFooter(SSttFileWriter *writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:840,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:843,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:841,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:844,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:845,1
    - Dst: tStatisBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:846,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:847,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:848,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:849,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 851
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 851
    functionName: tsdbSttFWriterDoClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TARRAY2_DESTROY
    - tBlockDataDestroy
    - tStatisBlockDestroy
    - tTombBlockDestroy
    - ARRAY_SIZE
    - tDestroyTSchema
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSttFWriterDoClose(SSttFileWriter *writer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1035,1
    - Dst: STATIS_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1041,1
    - Dst: tsdbSttFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1038,1
    - Dst: tsdbSttFWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1035,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1038,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1042,1
    - Dst: tsdbSttFileDoWriteStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1042,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1046,1
    - Dst: tTombBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1046,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1048,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1049,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1055,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1054,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1057,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1059,1
    - Dst: tsdbSttFileDoWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1049,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1054,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - writer
    - record
    argTypes:
    - SSttFileWriter*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 1063
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1063
    functionName: tsdbSttFileWriteTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbSttFileDoWriteStatisBlock
    - tsdbSttFileDoWriteBlockData
    - tstrerror
    - tTombBlockPut
    - TOMB_BLOCK_SIZE
    - tsdbSttFWriterDoOpen
    - tsdbSttFileDoWriteTombBlock
    - tsdbError
    - TD_VID
    - tsdbTrace
    - STATIS_BLOCK_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileWriteTombRecord(SSttFileWriter *writer, const STombRecord
      *record) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1065
    functionName: tsdbSttFileWriterIsOpened
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbSttFileWriterIsOpened(SSttFileWriter *writer) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:41,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:54,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:54,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:43,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:57,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:58,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:58,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:64,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:70,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:70,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:94,1
    - Dst: tsdbSttFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:95,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:87,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:93,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:93,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 3
    argNames:
    - fname
    - config
    - reader
    argTypes:
    - char*
    - SSttFileReaderConfig*
    - SSttFileReader**
    constantsTouched: []
    func_position:
      end: 98
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 98
    functionName: tsdbSttFileReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tsdbSttFileReaderClose
    - tsdbOpenFile
    - taosMemoryCalloc
    - tsdbTFileName
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileReaderOpen(const char *fname, const SSttFileReaderConfig
      *config, SSttFileReader **reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:897,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:898,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:899,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SSttFileWriter*
    constantsTouched: []
    func_position:
      end: 901
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 901
    functionName: tsdbSttFWriterCloseAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - tsdbTFileName
    - tsdbRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttFWriterCloseAbort(SSttFileWriter *writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:920,1
    - Dst: tsdbSttFWriterCloseAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:920,1
    - Dst: tsdbSttFWriterDoClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:924,1
    - Dst: tsdbSttFWriterCloseCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:922,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:922,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:926,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:931,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:932,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - writer
    - abort
    - opArray
    argTypes:
    - SSttFileWriter**
    - int8_t
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 935
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 935
    functionName: tsdbSttFileWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbSttFWriterCloseAbort
    - taosMemoryFree
    - tsdbSttFWriterCloseCommit
    - tsdbSttFWriterDoClose
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileWriterClose(SSttFileWriter **writer, int8_t abort,
      TFileOpArray *opArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:102,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:106,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:107,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:105,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:103,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:108,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SSttFileReader**
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: tsdbSttFileReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - taosMemoryFree
    - TARRAY2_DESTROY
    - ARRAY_SIZE
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tsdbSttFileReaderClose(SSttFileReader **reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - config
    - writer
    argTypes:
    - SSttFileWriterConfig*
    - SSttFileWriter**
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: tsdbSttFileWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileWriterOpen(const SSttFileWriterConfig *config,
      SSttFileWriter **writer) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:989,1
    - Dst: tsdbSttFileDoWriteStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:968,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:977,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:968,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:997,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:942,1
    - Dst: TABLE_SAME_SCHEMA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:945,1
    - Dst: tsdbSttFWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:942,1
    - Dst: tsdbRowCompareWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:988,1
    - Dst: tBlockDataUpdateRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:991,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1003,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1003,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:1004,1
    - Dst: tsdbSttFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:946,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:946,1
    - Dst: tsdbUpdateSkmTb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:948,1
    - Dst: tBlockDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:954,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:971,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:991,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:948,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:954,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:963,1
    - Dst: tsdbUpdateSkmRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:977,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:978,1
    - Dst: tStatisBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:966,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:994,1
    - Dst: tsdbSttFileDoWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:994,1
    - Dst: tBlockDataAppendRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c:997,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - SSttFileWriter*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 1007
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 1007
    functionName: tsdbSttFileWriteRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSttFileRW.c
    functionUses: []
    functionsReached:
    - tsdbSttFWriterDoOpen
    - tBlockDataAppendRow
    - TSDBROW_SVERSION
    - tsdbSttFileDoWriteStatisBlock
    - tsdbRowGetKey
    - tsdbSttFileDoWriteBlockData
    - tsdbUpdateSkmRow
    - tBlockDataInit
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tBlockDataUpdateRow
    - tsdbUpdateSkmTb
    - TD_VID
    - tsdbRowFromBlockData
    - TABLE_SAME_SCHEMA
    - tStatisBlockPut
    - tstrerror
    - tsdbRowCompareWithoutVersion
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttFileWriteRow(SSttFileWriter *writer, SRowInfo *row) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:32,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:35,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:34,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:42,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:41,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:43,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:47,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:47,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:50,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pCol
    - row
    argTypes:
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 53
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 53
    functionName: setFirstLastResColToNull
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - colDataSetVal
    - tstrerror
    - TSDB_CHECK_NULL
    - varDataSetLen
    - tsdbError
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setFirstLastResColToNull(SColumnInfoData* pCol, int32_t
      row) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:302,1
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:307,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:313,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:308,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:313,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - reader
    - pTableIdList
    - numOfTables
    argTypes:
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 316
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 316
    functionName: tsdbReuseCacherowsReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - tstrerror
    - destroySttBlockReader
    - TSDB_CHECK_NULL
    - tsdbError
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReuseCacherowsReader(void* reader, void* pTableIdList,
      int32_t numOfTables) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:99,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:122,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:127,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:163,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:183,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:184,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:201,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:160,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:219,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:227,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:166,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:206,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:103,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:108,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:121,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:126,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:166,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:169,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:182,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:188,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:179,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:198,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:200,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:247,1
    - Dst: saveOneRowForLastRaw
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:230,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:216,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:239,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:151,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:223,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:228,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:231,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:98,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:101,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:114,1
    - Dst: setFirstLastResColToNull
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:139,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:156,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:164,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:169,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:177,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:178,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:207,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:218,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:244,1
    - Dst: saveOneRowForLastRaw
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:150,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:209,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:102,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:117,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:118,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:123,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:130,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:129,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:135,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:145,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:244,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 136
    argCount: 7
    argNames:
    - pRow
    - pBlock
    - pReader
    - slotIds
    - dstSlotIds
    - pRes
    - idStr
    argTypes:
    - SArray*
    - SSDataBlock*
    - SCacheRowsReader*
    - int32_t*
    - int32_t*
    - void**
    - char*
    constantsTouched: []
    func_position:
      end: 250
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 250
    functionName: saveOneRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - TSDB_CHECK_NULL
    - varDataSetLen
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - colDataSetNULL
    - varDataVal
    - VALUE_GET_DATUM
    - memcpy
    - TSDB_CHECK_CODE
    - taosArrayGet
    - setFirstLastResColToNull
    - saveOneRowForLastRaw
    - tstrerror
    - HASTYPE
    - tsdbError
    - taosArrayInsert
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveOneRow(SArray* pRow, SSDataBlock* pBlock, SCacheRowsReader*
      pReader, const int32_t* slotIds, const int32_t* dstSlotIds, void** pRes, const
      char* idStr) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:414,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:415,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:423,1
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:429,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:434,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:438,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:439,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:446,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:453,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:456,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 457
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 457
    functionName: tsdbCacherowsReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosArrayDestroy
    - tsdbDataFileReaderClose
    - tSimpleHashCleanup
    - destroySttBlockReader
    - tSimpleHashIterate
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacherowsReaderClose(void* pReader) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:257,1
    - Dst: metaGetTbTSchemaNotNull
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:262,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:264,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:268,1
    - Dst: metaGetTbTSchemaMaybeNull
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:273,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:274,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:279,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:286,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:292,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - p
    - suid
    - idstr
    argTypes:
    - SCacheRowsReader*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 295
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 295
    functionName: setTableSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbWarn
    - tstrerror
    - TSDB_CHECK_NULL
    - tsdbError
    - metaGetTbTSchemaNotNull
    - metaGetTbTSchemaMaybeNull
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t setTableSchema(SCacheRowsReader* p, uint64_t suid,
      const char* idstr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:61,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:62,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:69,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:67,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:68,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:71,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:72,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:74,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:74,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:75,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:76,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:79,1
    - Dst: VALUE_GET_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:79,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:86,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:86,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - pColVal
    - pReader
    - slotId
    - pColInfoData
    - numOfRows
    argTypes:
    - SLastCol*
    - SCacheRowsReader*
    - int32_t
    - SColumnInfoData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 89
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 89
    functionName: saveOneRowForLastRaw
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - colDataSetNULL
    - colDataSetVal
    - VALUE_GET_DATUM
    - varDataVal
    - tstrerror
    - TSDB_CHECK_NULL
    - varDataSetLen
    - memcpy
    - tsdbError
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t saveOneRowForLastRaw(SLastCol* pColVal, SCacheRowsReader*
      pReader, const int32_t slotId, SColumnInfoData* pColInfoData, int32_t numOfRows) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:344,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:329,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:326,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:346,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:347,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:375,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:374,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:351,1
    - Dst: setTableSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:367,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:376,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:382,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:384,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:325,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:371,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:368,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:370,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:381,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:385,1
    - Dst: tsdbCacherowsReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:398,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:330,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:349,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:394,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 13
    argNames:
    - pVnode
    - type
    - pTableIdList
    - numOfTables
    - numOfCols
    - pCidList
    - pSlotIds
    - suid
    - pReader
    - idstr
    - pFuncTypeList
    - pPkCol
    - numOfPks
    argTypes:
    - void*
    - int32_t
    - void*
    - int32_t
    - int32_t
    - SArray*
    - int32_t*
    - uint64_t
    - void**
    - char*
    - SArray*
    - SColumnInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 401
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 401
    functionName: tsdbCacherowsReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tstrerror
    - TSDB_CHECK_NULL
    - taosStrdup
    - tsdbError
    - tsdbCacherowsReaderClose
    - setTableSchema
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacherowsReaderOpen(void* pVnode, int32_t type, void*
      pTableIdList, int32_t numOfTables, int32_t numOfCols, SArray* pCidList, int32_t*
      pSlotIds, uint64_t suid, void** pReader, const char* idstr, SArray* pFuncTypeList,
      SColumnInfo* pPkCol, int32_t numOfPks) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexTryLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:463,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pQHandle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 477
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 477
    functionName: tsdbCacheQueryReseek
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexTryLock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheQueryReseek(void* pQHandle) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:489,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:495,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:542,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:552,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:553,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:612,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:687,1
    - Dst: tsdbUntakeReadSnap2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:707,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:505,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:529,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:530,1
    - Dst: tsdbCacheGetBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:561,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:588,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:726,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:667,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:506,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:614,1
    - Dst: tsdbTakeReadSnap2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:513,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:523,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:722,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:514,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:540,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:565,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:680,1
    - Dst: saveOneRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:684,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:588,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:498,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:547,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:726,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:611,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:723,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:512,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:577,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:522,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:602,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:635,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:548,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:624,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:658,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:718,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:636,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:495,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:549,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:556,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:666,1
    - Dst: tsdbCacheGetBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:672,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:567,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:589,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:582,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:690,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:490,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:568,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:610,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:689,1
    - Dst: saveOneRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:662,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:679,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:496,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:499,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:714,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:651,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:632,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:521,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:541,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:685,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:567,1
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:627,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:679,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:703,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:663,1
    - Dst: HASTYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:618,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:508,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:567,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:587,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:601,1
    - Dst: valueCloneDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:605,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:676,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c:679,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 220
    argCount: 6
    argNames:
    - pReader
    - pResBlock
    - slotIds
    - dstSlotIds
    - pTableUidList
    - pGotAll
    argTypes:
    - void*
    - SSDataBlock*
    - int32_t*
    - int32_t*
    - SArray*
    - bool*
    constantsTouched: []
    func_position:
      end: 729
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 729
    functionName: tsdbRetrieveCacheRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCacheRead.c
    functionUses: []
    functionsReached:
    - tsdbCacheGetBatch
    - taosMemoryFree
    - TARRAY_DATA
    - taosMemoryCalloc
    - taosArraySet
    - valueCloneDatum
    - TSDB_CHECK_NULL
    - COL_VAL_IS_VALUE
    - IS_VAR_DATA_TYPE
    - taosArrayInit
    - taosArrayDestroy
    - COL_VAL_IS_NONE
    - varDataVal
    - taosArrayPush
    - tsdbTakeReadSnap2
    - taosArrayDestroyEx
    - saveOneRow
    - memcpy
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosGetTimestampUs
    - tRowKeyCompare
    - tsdbUntakeReadSnap2
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tstrerror
    - HASTYPE
    - taosArrayClearEx
    - tsdbError
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRetrieveCacheRows(void* pReader, SSDataBlock* pResBlock,
      const int32_t* slotIds, const int32_t* dstSlotIds, SArray* pTableUidList, bool*
      pGotAll) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: tsdbSnapRAWReadFileSetOpenIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadFileSetOpenIter(STsdbSnapRAWReader*
      reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:397,1
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:400,1
    - Dst: tsdbSnapRAWWriteFileSetOpenWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:402,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:403,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:400,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:409,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - writer
    - fid
    argTypes:
    - STsdbSnapRAWWriter*
    - int32_t
    constantsTouched: []
    func_position:
      end: 412
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 412
    functionName: tsdbSnapRAWWriteFileSetBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFidLevel
    - TARRAY2_SEARCH
    - taosGetTimestampSec
    - TD_VID
    - tsdbSnapRAWWriteFileSetOpenWriter
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteFileSetBegin(STsdbSnapRAWWriter* writer,
      int32_t fid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWWriteFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:437,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:440,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:441,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:445,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:438,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:445,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:447,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapRAWWriter*
    constantsTouched: []
    func_position:
      end: 450
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 450
    functionName: tsdbSnapRAWWriterPrepareClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - tsdbSnapRAWWriteFileSetEnd
    - TSDB_CHECK_CODE
    - tsdbDebug
    - TD_VID
    - tsdbFSEditBegin
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWWriterPrepareClose(STsdbSnapRAWWriter* writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 155
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 155
    functionName: tsdbSnapRAWReadFileSetCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSnapRAWReadFileSetCloseIter(STsdbSnapRAWReader* reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWWriteFileSetCloseWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:421,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:428,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:422,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:428,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapRAWWriter*
    constantsTouched: []
    func_position:
      end: 431
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 431
    functionName: tsdbSnapRAWWriteFileSetEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - TSDB_CHECK_CODE
    - tsdbSnapRAWWriteFileSetCloseWriter
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteFileSetEnd(STsdbSnapRAWWriter* writer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSEditAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:461,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:468,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:464,1
    - Dst: tsdbFSEditCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:466,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:462,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:469,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:474,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:477,1
    - Dst: tsdbFSDestroyCopySnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:478,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:480,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:485,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:485,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:487,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - writer
    - rollback
    argTypes:
    - STsdbSnapRAWWriter**
    - int8_t
    constantsTouched: []
    func_position:
      end: 490
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 490
    functionName: tsdbSnapRAWWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - tsdbFSEditAbort
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbInfo
    - TD_VID
    - tsdbFSDestroyCopySnapshot
    - TSDB_ERROR_LOG
    - tsdbFSEditCommit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWWriterClose(STsdbSnapRAWWriter** writer, int8_t
      rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetRAWWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:376,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:381,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:381,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapRAWWriter*
    constantsTouched: []
    func_position:
      end: 384
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 384
    functionName: tsdbSnapRAWWriteFileSetOpenWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbFSetRAWWriterOpen
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteFileSetOpenWriter(STsdbSnapRAWWriter*
      writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetRAWWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:499,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:504,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:500,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - writer
    - bHdr
    argTypes:
    - STsdbSnapRAWWriter*
    - STsdbDataRAWBlockHeader*
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: tsdbSnapRAWWriteTimeSeriesData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - TSDB_CHECK_CODE
    - tsdbFSetRAWWriteBlockData
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteTimeSeriesData(STsdbSnapRAWWriter*
      writer, STsdbDataRAWBlockHeader* bHdr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetRAWWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapRAWWriter*
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: tsdbSnapRAWWriteFileSetCloseWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - tsdbFSetRAWWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteFileSetCloseWriter(STsdbSnapRAWWriter*
      writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWWriteFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:516,1
    - Dst: tsdbSnapRAWWriteTimeSeriesData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:523,1
    - Dst: tsdbSnapRAWWriteFileSetBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:519,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:517,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:524,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:528,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - writer
    - hdr
    argTypes:
    - STsdbSnapRAWWriter*
    - SSnapDataHdr*
    constantsTouched: []
    func_position:
      end: 531
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 531
    functionName: tsdbSnapRAWWriteData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - tsdbSnapRAWWriteFileSetEnd
    - tsdbSnapRAWWriteFileSetBegin
    - TSDB_CHECK_CODE
    - tsdbSnapRAWWriteTimeSeriesData
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteData(STsdbSnapRAWWriter* writer, SSnapDataHdr*
      hdr) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWReadBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:268,1
    - Dst: tsdbSnapRAWReadEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:269,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:278,1
    - Dst: tsdbSnapRAWReadData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:277,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:287,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:292,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:292,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:294,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - reader
    - data
    argTypes:
    - STsdbSnapRAWReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 297
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 297
    functionName: tsdbSnapRAWRead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbSnapRAWReadBegin
    - TD_VID
    - tsdbSnapRAWReadEnd
    - TSDB_ERROR_LOG
    - tsdbSnapRAWReadData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWRead(STsdbSnapRAWReader* reader, uint8_t** data) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWReaderIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:179,1
    - Dst: tsdbDataFileRAWReadBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:201,1
    - Dst: tsdbSnapRAWReadPeek
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:185,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:190,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:202,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:210,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:212,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:212,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - reader
    - ppData
    argTypes:
    - STsdbSnapRAWReader*
    - SSnapDataHdr**
    constantsTouched: []
    func_position:
      end: 215
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 215
    functionName: tsdbSnapRAWReadNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDataFileRAWReadBlockData
    - taosMemoryFree
    - tsdbSnapRAWReadPeek
    - tsdbSnapRAWReaderIterNext
    - taosMemoryCalloc
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadNext(STsdbSnapRAWReader* reader, SSnapDataHdr**
      ppData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:235,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:236,1
    - Dst: tsdbSnapRAWReadFileSetOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:239,1
    - Dst: tsdbSnapRAWReadFileSetOpenIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:242,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:240,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:243,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:248,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 251
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 251
    functionName: tsdbSnapRAWReadBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSnapRAWReadFileSetOpenIter
    - TARRAY2_GET
    - tsdbSnapRAWReadFileSetOpenReader
    - TD_VID
    - TARRAY2_SIZE
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadBegin(STsdbSnapRAWReader* reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWReadNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:221,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:226,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:226,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - reader
    - ppData
    argTypes:
    - STsdbSnapRAWReader*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 229
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 229
    functionName: tsdbSnapRAWReadData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbSnapRAWReadNext
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadData(STsdbSnapRAWReader* reader, uint8_t**
      ppData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWReadFileSetCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:254,1
    - Dst: tsdbSnapRAWReadFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: tsdbSnapRAWReadEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - tsdbSnapRAWReadFileSetCloseReader
    - tsdbSnapRAWReadFileSetCloseIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadEnd(STsdbSnapRAWReader* reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSnapRAWWriteData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:537,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:543,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:538,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:543,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:542,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:545,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - writer
    - hdr
    argTypes:
    - STsdbSnapRAWWriter*
    - SSnapDataHdr*
    constantsTouched: []
    func_position:
      end: 549
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 549
    functionName: tsdbSnapRAWWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbDebug
    - tsdbSnapRAWWriteData
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWWrite(STsdbSnapRAWWriter* writer, SSnapDataHdr*
      hdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:53,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:65,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:61,1
    - Dst: tsdbFSCreateRefSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:60,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:65,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:66,1
    - Dst: tsdbFSDestroyRefSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:67,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:68,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:71,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - tsdb
    - ever
    - type
    - reader
    argTypes:
    - STsdb*
    - int64_t
    - int8_t
    - STsdbSnapRAWReader**
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: tsdbSnapRAWReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - taosMemoryCalloc
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbFSCreateRefSnapshot
    - tsdbFSDestroyRefSnapshot
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWReaderOpen(STsdb* tsdb, int64_t ever, int8_t type,
      STsdbSnapRAWReader** reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileRAWReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:108,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:109,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:117,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:111,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:112,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:119,1
    - Dst: tsdbDataFileRAWReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:126,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:127,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:129,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:130,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:137,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:137,1
    - Dst: tsdbSnapRAWReadFileSetCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:136,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 140
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 140
    functionName: tsdbSnapRAWReadFileSetOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSnapRAWReadFileSetCloseReader
    - TSDB_ERROR_LOG
    - tsdbDataFileRAWReaderOpen
    - TD_VID
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWReadFileSetOpenReader(STsdbSnapRAWReader*
      reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SDataFileRAWReader*
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: tsdbSnapRAWReadPeek
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t tsdbSnapRAWReadPeek(SDataFileRAWReader* reader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:334,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:347,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:350,1
    - Dst: tsdbFSAllocEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:344,1
    - Dst: tsdbFSCreateCopySnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:349,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:354,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:354,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:356,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pTsdb
    - ever
    - writer
    argTypes:
    - STsdb*
    - int64_t
    - STsdbSnapRAWWriter**
    constantsTouched: []
    func_position:
      end: 359
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 359
    functionName: tsdbSnapRAWWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbFSAllocEid
    - tsdbError
    - tsdbFSCreateCopySnapshot
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSnapRAWWriterOpen(STsdb* pTsdb, int64_t ever, STsdbSnapRAWWriter**
      writer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: tsdbSnapRAWReadFileSetCloseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSnapRAWReadFileSetCloseReader(STsdbSnapRAWReader*
      reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:85,1
    - Dst: tsdbFSDestroyRefSnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:86,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:87,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader**
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: tsdbSnapRAWReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    - tsdbFSDestroyRefSnapshot
    linkageType: ''
    returnType: void
    signature: 'void tsdbSnapRAWReaderClose(STsdbSnapRAWReader** reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c:164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 1
    argNames:
    - reader
    argTypes:
    - STsdbSnapRAWReader*
    constantsTouched: []
    func_position:
      end: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    functionName: tsdbSnapRAWReaderIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached:
    - TARRAY2_GET
    linkageType: ''
    returnType: SDataFileRAWReader*
    signature: 'static SDataFileRAWReader * tsdbSnapRAWReaderIterNext(STsdbSnapRAWReader*
      reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - STsdbSnapRAWWriter*
    constantsTouched: []
    func_position:
      end: 361
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 361
    functionName: tsdbSnapRAWWriteFileSetCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbSnapshotRAW.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSnapRAWWriteFileSetCloseIter(STsdbSnapRAWWriter*
      writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:211,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:228,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:219,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:228,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:217,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:230,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:230,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:238,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:238,1
    - Dst: tsdbCommitCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:244,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:245,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:246,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 249
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 249
    functionName: tsdbCommitOpenReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCommitCloseReader
    - tsdbSttFileReaderOpen
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitOpenReader(SCommitter2 *committer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: tFileSetCommitInfoCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tFileSetCommitInfoCompare(const void *arg1, const void
      *arg2) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:485,1
    - Dst: tsdbTbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:499,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:504,1
    - Dst: tsdbCommitInfoAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:513,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:535,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:544,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:545,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:584,1
    - Dst: tsdbCommitInfoDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:583,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:484,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:483,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:500,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:552,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:553,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:567,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:568,1
    - Dst: tsdbBeginTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:569,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:484,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:505,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:520,1
    - Dst: vHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:511,1
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:543,1
    - Dst: tsdbCommitInfoAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:551,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:571,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:579,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:584,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:480,1
    - Dst: tsdbCommitInfoInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:480,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:504,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:513,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:524,1
    - Dst: tsdbTFileSetIsEmpty
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:525,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:542,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:544,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:573,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:574,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 76
    argCount: 1
    argNames:
    - tsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 587
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 587
    functionName: tsdbCommitInfoBuild
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - tsdbCommitInfoAdd
    - taosArrayGetSize
    - tsdbTbDataIterGet
    - TSDBROW_TS
    - tsdbCommitInfoInit
    - tRBTreeIterCreate
    - tsdbCommitInfoDestroy
    - TARRAY2_FOREACH
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbFidKeyRange
    - tsdbTFileSetInitCopy
    - vHashGet
    - TD_VID
    - tsdbBeginTaskOnFileSet
    - tsdbKeyFid
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tRBTreeIterNext
    - tsdbTFileSetIsEmpty
    - tsdbTbDataIterOpen
    - tstrerror
    - tsdbError
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitInfoBuild(STsdb *tsdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:252,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:254,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:255,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 257
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 257
    functionName: tsdbCommitCloseIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - tsdbIterMergerClose
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCommitCloseIter(SCommitter2 *committer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFileSetCommitInfoCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: tFileSetCommitInfoPCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - tFileSetCommitInfoCompare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tFileSetCommitInfoPCompare(const void *arg1, const
      void *arg2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSAllocEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:602,1
    - Dst: tsdbCommitInfoBuild
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:605,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:609,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:605,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:609,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:609,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:611,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - tsdb
    - info
    - committer
    argTypes:
    - STsdb*
    - SCommitInfo*
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 614
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 614
    functionName: tsdbOpenCommitter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDebug
    - tsdbCommitInfoBuild
    - tstrerror
    - taosGetTimestampSec
    - TD_VID
    - tsdbError
    - tsdbFSAllocEid
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbOpenCommitter(STsdb *tsdb, SCommitInfo *info, SCommitter2
      *committer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:732,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:736,1
    - Dst: tsdbFSEditAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:732,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:735,1
    - Dst: tsdbFinishTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:738,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:741,1
    - Dst: tsdbCommitInfoDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:742,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:746,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:746,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:748,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:748,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 751
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 751
    functionName: tsdbCommitAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFSEditAbort
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayGet
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbCommitInfoDestroy
    - taosArrayGetSize
    - tsdbFinishTaskOnFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCommitAbort(STsdb *pTsdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: tsdbCommitCloseWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - tsdbFSetWriterClose
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitCloseWriter(SCommitter2 *committer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:275,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:299,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:306,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:282,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:283,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:299,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:282,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:283,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:301,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:293,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:292,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:305,1
    - Dst: tsdbIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:275,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:292,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:305,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:301,1
    - Dst: tsdbIterMergerOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:306,1
    - Dst: tsdbCommitCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:310,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 315
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 315
    functionName: tsdbCommitOpenIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCommitCloseIter
    - tsdbIterOpen
    - tsdbIterMergerOpen
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitOpenIter(SCommitter2 *committer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:93,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:97,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:98,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:97,1
    - Dst: tsdbFSetWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:93,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 101
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 101
    functionName: tsdbCommitOpenWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFSetWriterOpen
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitOpenWriter(SCommitter2 *committer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerGetData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:117,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:123,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:128,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:123,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:130,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:130,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:137,1
    - Dst: tsdbFSetWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:138,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:143,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:146,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:144,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:138,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:143,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 150
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 150
    functionName: tsdbCommitTSData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbIterMergerGetData
    - tsdbDebug
    - tsdbFSetWriteRow
    - tstrerror
    - TSDBROW_TS
    - tsdbIterMergerSkipTableData
    - TD_VID
    - tsdbError
    - tsdbIterMergerNext
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitTSData(SCommitter2 *committer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSCheckCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:323,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:326,1
    - Dst: tsdbCommitOpenReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:332,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:332,1
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:325,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:333,1
    - Dst: tsdbCommitOpenIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:333,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:334,1
    - Dst: tsdbCommitOpenWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:334,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:338,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:338,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:338,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:340,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 345
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 345
    functionName: tsdbCommitFileSetBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDebug
    - tsdbFidLevel
    - tsdbFidKeyRange
    - tstrerror
    - TD_VID
    - tsdbCommitOpenIter
    - tsdbCommitOpenWriter
    - tsdbError
    - tsdbCommitOpenReader
    - tsdbFSCheckCommit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitFileSetBegin(SCommitter2 *committer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:351,1
    - Dst: tsdbCommitCloseWriter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:351,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:357,1
    - Dst: tsdbCommitCloseReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:353,1
    - Dst: tsdbCommitCloseIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:352,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:358,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:360,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: tsdbCommitFileSetEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCommitCloseIter
    - tsdbDebug
    - tsdbCommitCloseReader
    - tsdbCommitCloseWriter
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitFileSetEnd(SCommitter2 *committer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:663,1
    - Dst: tsdbOpenCommitter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:670,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:670,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:666,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:665,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:672,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:673,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:674,1
    - Dst: tsdbCommitFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:674,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:677,1
    - Dst: tsdbCloseCommitter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:677,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:682,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:682,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:684,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:682,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:684,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - tsdb
    - info
    argTypes:
    - STsdb*
    - SCommitInfo*
    constantsTouched: []
    func_position:
      end: 687
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 687
    functionName: tsdbCommitBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayGet
    - tsdbOpenCommitter
    - tsdbInfo
    - tstrerror
    - tsdbUnrefMemTable
    - tsdbCloseCommitter
    - tsdbError
    - TD_VID
    - taosArrayGetSize
    - tsdbCommitFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCommitBegin(STsdb *tsdb, SCommitInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:369,1
    - Dst: tsdbCommitFileSetBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:369,1
    - Dst: tsdbCommitTSData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:370,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:370,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:371,1
    - Dst: tsdbCommitTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:371,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:372,1
    - Dst: tsdbCommitFileSetEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:372,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:376,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:376,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:379,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:377,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: tsdbCommitFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCommitTSData
    - tsdbDebug
    - tstrerror
    - tsdbCommitFileSetEnd
    - tsdbCommitFileSetBegin
    - tsdbError
    - TD_VID
    - tsdbCommitTombData
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitFileSet(SCommitter2 *committer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:696,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:699,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:704,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:700,1
    - Dst: tsdbFSEditCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:705,1
    - Dst: tsdbFinishTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:707,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:711,1
    - Dst: tsdbCommitInfoDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:713,1
    - Dst: tsdbUnrefMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:714,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:719,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:719,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:721,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:721,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:719,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - tsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 724
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 724
    functionName: tsdbCommitCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - taosArrayGet
    - tsdbFinishTaskOnFileSet
    - tsdbInfo
    - tstrerror
    - tsdbUnrefMemTable
    - TD_VID
    - tsdbError
    - tsdbCommitInfoDestroy
    - taosArrayGetSize
    - tsdbFSEditCommit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCommitCommit(STsdb *tsdb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterMergerGetTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:162,1
    - Dst: tsdbIterMergerSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:168,1
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:167,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:168,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:178,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:179,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:182,1
    - Dst: tsdbFSetWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:182,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:185,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:185,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:194,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:194,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:191,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:192,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 198
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 198
    functionName: tsdbCommitTombData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDebug
    - tsdbFSetWriteTombRecord
    - tstrerror
    - tsdbIterMergerGetTombRecord
    - tsdbIterMergerSkipTableData
    - tsdbError
    - tsdbIterMergerNext
    - TMAX
    - TD_VID
    - TMIN
    - metaGetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitTombData(SCommitter2 *committer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:403,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 404
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 404
    functionName: tFileSetCommitInfoHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - MurmurHash3_32
    linkageType: ''
    returnType: uint32_t
    signature: 'static uint32_t tFileSetCommitInfoHash(const void *arg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:427,1
    - Dst: vHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:432,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:429,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:434,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:432,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:436,1
    - Dst: tsdbCommitInfoDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:441,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:442,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:442,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 445
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 445
    functionName: tsdbCommitInfoInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbCommitInfoDestroy
    - taosArrayInit
    - vHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitInfoInit(STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:621,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:623,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:621,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:623,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:624,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:627,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:628,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:629,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:630,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:636,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:638,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:635,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:635,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - committer
    - eno
    argTypes:
    - SCommitter2*
    - int32_t
    constantsTouched: []
    func_position:
      end: 641
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 641
    functionName: tsdbCloseCommitter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - TARRAY2_DESTROY
    - tsdbDebug
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbFSEditBegin
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCloseCommitter(SCommitter2 *committer, int32_t
      eno) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - committer
    argTypes:
    - SCommitter2*
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: tsdbCommitCloseReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCommitCloseReader(SCommitter2 *committer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:412,1
    - Dst: vHashDrop
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:410,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:409,1
    - Dst: vHashDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:415,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:416,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: tsdbCommitInfoDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - vHashDestroy
    - vHashDrop
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCommitInfoDestroy(STsdb *pTsdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:453,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:459,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:461,1
    - Dst: vHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:459,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:454,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:462,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:464,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:468,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:468,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - tsdb
    - fid
    argTypes:
    - STsdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 471
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 471
    functionName: tsdbCommitInfoAdd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryMalloc
    - tstrerror
    - taosArraySort
    - taosArrayPush
    - TD_VID
    - tsdbError
    - vHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCommitInfoAdd(STsdb *tsdb, int32_t fid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:644,1
    - Dst: ASSERT_CORE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:645,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - tsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 650
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 650
    functionName: tsdbPreCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - ASSERT_CORE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbPreCommit(STsdb *tsdb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:36,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:44,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:39,1
    - Dst: tsdbScanAndConvertSubmitMsg
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:42,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:44,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:44,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:51,1
    - Dst: tsdbInsertTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:51,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:51,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pTsdb
    - version
    - pMsg
    - pRsp
    argTypes:
    - STsdb*
    - int64_t
    - SSubmitReq2*
    - SSubmitRsp2*
    constantsTouched: []
    func_position:
      end: 60
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 60
    functionName: tsdbInsertData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tsdbInsertTableData
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - taosArrayGetSize
    - tsdbScanAndConvertSubmitMsg
    linkageType: ''
    returnType: int
    signature: 'int tsdbInsertData(STsdb *pTsdb, int64_t version, SSubmitReq2 *pMsg,
      SSubmitRsp2 *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:76,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:79,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:85,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:84,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:82,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:90,1
    - Dst: tsdbCheckRowRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:90,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:94,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:96,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:97,1
    - Dst: tsdbCheckRowRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pTsdb
    - pMsg
    argTypes:
    - STsdb*
    - SSubmitReq2*
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: tsdbScanAndConvertSubmitMsg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tsdbCheckRowRange
    - TARRAY_DATA
    - TAOS_CHECK_RETURN
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosGetTimestamp
    linkageType: ''
    returnType: int
    signature: 'int tsdbScanAndConvertSubmitMsg(STsdb *pTsdb, SSubmitReq2 *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:65,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 6
    argNames:
    - pTsdb
    - uid
    - rowKey
    - minKey
    - maxKey
    - now
    argTypes:
    - STsdb*
    - tb_uid_t
    - TSKEY
    - TSKEY
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: tsdbCheckRowRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbWrite.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int tsdbCheckRowRange(STsdb *pTsdb, tb_uid_t uid,
      TSKEY rowKey, TSKEY minKey, TSKEY maxKey, TSKEY now) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileRAWWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:120,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:125,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:125,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SFSetRAWWriter*
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: tsdbFSetRAWWriteFileDataEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - TSDB_CHECK_CODE
    - tsdbDataFileRAWWriterClose
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetRAWWriteFileDataEnd(SFSetRAWWriter *writer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:59,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:61,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:67,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:64,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:60,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - writer
    - fopArr
    argTypes:
    - SFSetRAWWriter*
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: tsdbFSetRAWWriterFinish
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - TARRAY2_CLEAR
    - TD_VID
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetRAWWriterFinish(SFSetRAWWriter *writer, TFileOpArray
      *fopArr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:36,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:47,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:47,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - config
    - writer
    argTypes:
    - SFSetRAWWriterConfig*
    - SFSetRAWWriter**
    constantsTouched: []
    func_position:
      end: 50
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 50
    functionName: tsdbFSetRAWWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TD_VID
    - TARRAY2_INIT
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetRAWWriterOpen(SFSetRAWWriterConfig *config, SFSetRAWWriter
      **writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetRAWWriteFileDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:139,1
    - Dst: tsdbFSetRAWWriterFinish
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:145,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:143,1
    - Dst: tsdbDataFileRAWWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:142,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:140,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:146,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:149,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:154,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - writer
    - abort
    - fopArr
    argTypes:
    - SFSetRAWWriter**
    - bool
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 157
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 157
    functionName: tsdbFSetRAWWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbDataFileRAWWriterClose
    - tsdbFSetRAWWriteFileDataEnd
    - tsdbFSetRAWWriterFinish
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetRAWWriterClose(SFSetRAWWriter **writer, bool abort,
      TFileOpArray *fopArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbAllocateDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:77,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:77,1
    - Dst: tsdbDataFileRAWWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:106,1
    - Dst: tsdbFSUpdateEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:102,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:78,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:107,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:111,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - writer
    - bHdr
    argTypes:
    - SFSetRAWWriter*
    - STsdbDataRAWBlockHeader*
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: tsdbFSetRAWWriteFileDataBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - tsdbFTypeLabel
    - TSDB_CHECK_CODE
    - tsdbFSUpdateEid
    - tsdbDataFileRAWWriterOpen
    - TD_VID
    - tsdbAllocateDisk
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetRAWWriteFileDataBegin(SFSetRAWWriter *writer,
      STsdbDataRAWBlockHeader *bHdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetRAWWriteFileDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:165,1
    - Dst: tsdbDataFileRAWWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:172,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:166,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:169,1
    - Dst: tsdbFSetRAWWriteFileDataBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:168,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:173,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:179,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c:179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - writer
    - bHdr
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - SFSetRAWWriter*
    - STsdbDataRAWBlockHeader*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: tsdbFSetRAWWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRAW.c
    functionUses: []
    functionsReached:
    - tsdbDataFileRAWWriteBlockData
    - TSDB_CHECK_CODE
    - tsdbFSetRAWWriteFileDataBegin
    - tsdbFSetRAWWriteFileDataEnd
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetRAWWriteBlockData(SFSetRAWWriter *writer, STsdbDataRAWBlockHeader
      *bHdr, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - rtner
    - fobj
    argTypes:
    - SRTNer*
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: tsdbDoRemoveFileObject
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TARRAY2_APPEND
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoRemoveFileObject(SRTNer *rtner, const STFileObj
      *fobj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:166,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:189,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:194,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:189,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:166,1
    - Dst: tsdbDoCopyFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:194,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:196,1
    - Dst: tsdbDoCopyFileLC
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:196,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:201,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:201,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - rtner
    - fobj
    - did
    argTypes:
    - SRTNer*
    - STFileObj*
    - SDiskID*
    constantsTouched: []
    func_position:
      end: 205
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 205
    functionName: tsdbDoMigrateFileObj
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDoCopyFile
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND
    - tsdbDoCopyFileLC
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoMigrateFileObj(SRTNer *rtner, const STFileObj
      *fobj, const SDiskID *did) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileLastChunkName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:75,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:83,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:87,1
    - Dst: tsdbLogicToFileSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:92,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:104,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:107,1
    - Dst: tsdbTFileLastChunkName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:76,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:83,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:85,1
    - Dst: taosFSendFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:94,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:103,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:100,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:106,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:100,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:78,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:95,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:104,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:101,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - rtner
    - from
    - to
    argTypes:
    - SRTNer*
    - STFileObj*
    - STFile*
    constantsTouched: []
    func_position:
      end: 110
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 110
    functionName: tsdbDoCopyFileLC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - tsdbTFileLastChunkName
    - taosCloseFile
    - tsdbInfo
    - taosFSendFile
    - tstrerror
    - TD_VID
    - tsdbLogicToFileSize
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoCopyFileLC(SRTNer *rtner, const STFileObj *from,
      const STFile *to) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:218,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:221,1
    - Dst: tsdbFSEditBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:219,1
    - Dst: tsdbFSEditCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:223,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:219,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:225,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:226,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:229,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:231,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:236,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:239,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:239,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - rtner
    argTypes:
    - SRTNer*
    constantsTouched: []
    func_position:
      end: 242
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 242
    functionName: tsdbDoRetentionEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - tsdbDebug
    - tstrerror
    - TD_VID
    - tsdbFSEditBegin
    - TARRAY2_SIZE
    - tsdbError
    - tsdbFSEditCommit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoRetentionEnd(SRTNer *rtner) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:296,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:304,1
    - Dst: tsdbRemoveOrMoveFileObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:298,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:305,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:299,1
    - Dst: tsdbRemoveOrMoveFileObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:306,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:307,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:313,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - rtner
    argTypes:
    - SRTNer*
    constantsTouched: []
    func_position:
      end: 317
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 317
    functionName: tsdbDoRetention
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFidLevel
    - tsdbRemoveOrMoveFileObject
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoRetention(SRTNer *rtner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:393,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:398,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:399,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:393,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:401,1
    - Dst: vnodeAsync
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:412,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:413,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:419,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - tsdb
    - now
    - s3Migrate
    argTypes:
    - STsdb*
    - int64_t
    - bool
    constantsTouched: []
    func_position:
      end: 422
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 422
    functionName: tsdbAsyncRetentionImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - taosMemoryMalloc
    - TSDB_CHECK_CODE
    - tsdbInfo
    - tstrerror
    - vnodeAsync
    - TD_VID
    - tsdbError
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbAsyncRetentionImpl(STsdb *tsdb, int64_t now, bool
      s3Migrate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - fid
    - pKeepCfg
    - s3KeepLocal
    - nowSec
    argTypes:
    - int32_t
    - STsdbKeepCfg*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 455
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 455
    functionName: tsdbS3FidLevel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - tsdbKeyFid
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbS3FidLevel(int32_t fid, STsdbKeepCfg *pKeepCfg,
      int32_t s3KeepLocal, int64_t nowSec) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:600,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:607,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:617,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:632,1
    - Dst: taosFSendFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:646,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:653,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:654,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:657,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:600,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:577,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:627,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:629,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:629,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:636,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:657,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:660,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:577,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:609,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:612,1
    - Dst: tcsPutObjectFromFileOffset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:620,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:630,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:634,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:639,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:643,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:653,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:656,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:603,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:604,1
    - Dst: vnodeNodeId
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:606,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:611,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:611,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:620,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:639,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:641,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:648,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:659,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:660,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 78
    argCount: 4
    argNames:
    - rtner
    - fobj
    - size
    - chunksize
    argTypes:
    - SRTNer*
    - STFileObj*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 663
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 663
    functionName: tsdbMigrateDataFileS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - snprintf
    - taosCloseFile
    - strchr
    - tsdbInfo
    - tsdbTFileName
    - taosDirEntryBaseName
    - tcsPutObjectFromFileOffset
    - taosFSendFile
    - tstrerror
    - TD_VID
    - tsdbError
    - vnodeNodeId
    - strrchr
    - TARRAY2_APPEND
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMigrateDataFileS3(SRTNer *rtner, const STFileObj
      *fobj, int64_t size, int64_t chunksize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:135,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:147,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:148,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:120,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:127,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:131,1
    - Dst: tsdbCopyFileWithLimitedSpeed
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:135,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:141,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:145,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:148,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:124,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:127,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:129,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:145,1
    - Dst: tsdbLogicToFileSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:135,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:122,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:133,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:142,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:144,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - rtner
    - from
    - to
    argTypes:
    - SRTNer*
    - STFileObj*
    - STFile*
    constantsTouched: []
    func_position:
      end: 151
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 151
    functionName: tsdbDoCopyFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - TSDB_CHECK_CODE
    - taosCloseFile
    - tsdbInfo
    - tsdbTFileName
    - tstrerror
    - tsdbCopyFileWithLimitedSpeed
    - TD_VID
    - tsdbLogicToFileSize
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoCopyFile(SRTNer *rtner, const STFileObj *from,
      const STFile *to) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:50,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:58,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:52,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:51,1
    - Dst: taosFSendFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:51,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - from
    - to
    - size
    - limitMB
    argTypes:
    - TdFilePtr
    - TdFilePtr
    - int64_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: tsdbCopyFileWithLimitedSpeed
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosFSendFile
    - TAOS_CHECK_RETURN
    - taosMsleep
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCopyFileWithLimitedSpeed(TdFilePtr from, TdFilePtr
      to, int64_t size, uint32_t limitMB) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDoRemoveFileObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:254,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:255,1
    - Dst: tsdbFTypeLabel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:261,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:263,1
    - Dst: tsdbAllocateDiskAtLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:261,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:264,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:268,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:268,1
    - Dst: tsdbDoMigrateFileObj
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:271,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:283,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:274,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:274,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:272,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:283,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - rtner
    - expLevel
    - fobj
    argTypes:
    - SRTNer*
    - int32_t
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 287
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 287
    functionName: tsdbRemoveOrMoveFileObject
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - tsdbFTypeLabel
    - tsdbDoMigrateFileObj
    - TSDB_CHECK_CODE
    - tsdbDoRemoveFileObject
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbAllocateDiskAtLevel
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbRemoveOrMoveFileObject(SRTNer *rtner, int32_t expLevel,
      STFileObj *fobj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:319,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 319
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 319
    functionName: tsdbRetentionCancel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void tsdbRetentionCancel(void *arg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDoS3Migrate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:361,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:364,1
    - Dst: tsdbDoRetentionEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:367,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:382,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:344,1
    - Dst: tsdbBeginTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:349,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:355,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:372,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:367,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:361,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:378,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:380,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:382,1
    - Dst: tsdbFSAllocEid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:335,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:343,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:339,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:350,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:351,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:352,1
    - Dst: tsdbFinishTaskOnFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:373,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:374,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:343,1
    - Dst: tsdbDoRetention
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:364,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:379,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 385
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 385
    functionName: tsdbRetention
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - tsdbTFileSetClear
    - TSDB_CHECK_CODE
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbInfo
    - tsdbTFileSetInitCopy
    - tsdbDoRetentionEnd
    - tstrerror
    - TD_VID
    - tsdbFSAllocEid
    - tsdbBeginTaskOnFileSet
    - tsdbError
    - tsdbDoRetention
    - tsdbDoS3Migrate
    - tsdbFinishTaskOnFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbRetention(void *arg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:426,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:428,1
    - Dst: tsdbAsyncRetentionImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - tsdb
    - now
    argTypes:
    - STsdb*
    - int64_t
    constantsTouched: []
    func_position:
      end: 430
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 430
    functionName: tsdbAsyncRetention
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbAsyncRetentionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbAsyncRetention(STsdb *tsdb, int64_t now) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:471,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:494,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:503,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:511,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:511,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:538,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:545,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:554,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:557,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:553,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:494,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:498,1
    - Dst: vnodeNodeId
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:500,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:505,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:505,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:514,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:512,1
    - Dst: tcsPutObjectFromFileOffset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:521,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:528,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:532,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:501,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:518,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:506,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:530,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:535,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:558,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:558,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:497,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:471,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:509,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:521,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:535,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:537,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:540,1
    - Dst: taosFSendFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:543,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:550,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:554,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:551,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:550,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 87
    argCount: 4
    argNames:
    - rtner
    - fobj
    - size
    - chunksize
    argTypes:
    - SRTNer*
    - STFileObj*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 561
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 561
    functionName: tsdbMigrateDataFileLCS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - snprintf
    - taosCloseFile
    - strchr
    - tsdbInfo
    - tsdbTFileName
    - taosDirEntryBaseName
    - tcsPutObjectFromFileOffset
    - taosFSendFile
    - tstrerror
    - TD_VID
    - tsdbError
    - vnodeNodeId
    - strrchr
    - TARRAY2_APPEND
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMigrateDataFileLCS3(SRTNer *rtner, const STFileObj
      *fobj, int64_t size, int64_t chunksize) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:693,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:706,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:715,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:710,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:732,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:733,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:697,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:699,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:701,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:719,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:719,1
    - Dst: tsdbTFileLastChunkName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:713,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:690,1
    - Dst: tsdbAsyncCompact
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:700,1
    - Dst: tsdbMigrateDataFileS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:706,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:718,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:725,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:732,1
    - Dst: tsdbFidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:675,1
    - Dst: tsdbS3FidLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:682,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:699,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:701,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:722,1
    - Dst: tsdbMigrateDataFileLCS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:722,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:725,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - rtner
    argTypes:
    - SRTNer*
    constantsTouched: []
    func_position:
      end: 736
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 736
    functionName: tsdbDoS3Migrate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbMigrateDataFileS3
    - tsdbAsyncCompact
    - taosStatFile
    - tsdbTFileLastChunkName
    - tsdbS3FidLevel
    - tsdbFidLevel
    - tsdbFidKeyRange
    - tsdbInfo
    - tstrerror
    - taosCheckExistFile
    - TD_VID
    - tsdbError
    - tsdbMigrateDataFileLCS3
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoS3Migrate(SRTNer *rtner) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:741,1
    - Dst: tsdbAsyncRetentionImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:754,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:755,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:753,1
    - Dst: tsdbWarn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:743,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:758,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:758,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - tsdb
    - now
    argTypes:
    - STsdb*
    - int64_t
    constantsTouched: []
    func_position:
      end: 761
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 761
    functionName: tsdbAsyncS3Migrate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbRetention.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbWarn
    - tstrerror
    - TD_VID
    - tsdbError
    - grantCheck
    - tsdbAsyncRetentionImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbAsyncS3Migrate(STsdb *tsdb, int64_t now) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:79,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:90,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:88,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:89,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:84,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:91,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:92,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:93,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - pLoadInfo
    argTypes:
    - SSttBlockLoadInfo*
    constantsTouched: []
    func_position:
      end: 104
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 104
    functionName: destroySttBlockLoadInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyEx
    - taosArrayDestroy
    - tBlockDataDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroySttBlockLoadInfo(SSttBlockLoadInfo *pLoadInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - index
    - uid
    - pBlockList
    - num
    - backward
    argTypes:
    - int32_t
    - uint64_t
    - SSttBlk*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: findEarliestIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t findEarliestIndex(int32_t index, uint64_t
      uid, const SSttBlk *pBlockList, int32_t num, int32_t backward) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:554,1
    - Dst: tsdbSttFileReadSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:560,1
    - Dst: extractSttBlockInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:567,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:562,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:562,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:569,1
    - Dst: tsdbSttFileReadStatisBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:575,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:577,1
    - Dst: loadSttStatisticsBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:582,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:591,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:584,1
    - Dst: loadTombFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:588,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:590,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - pBlockLoadInfo
    - pIter
    - suid
    - loadTombFn
    - pReader1
    - idStr
    argTypes:
    - SSttBlockLoadInfo*
    - SLDataIter*
    - int64_t
    - _load_tomb_fn
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 593
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 593
    functionName: doLoadSttFilesBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - extractSttBlockInfo
    - tsdbDebug
    - tstrerror
    - taosGetTimestampUs
    - loadSttStatisticsBlockData
    - tsdbSttFileReadStatisBlk
    - loadTombFn
    - tsdbError
    - tsdbSttFileReadSttBlk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doLoadSttFilesBlk(SSttBlockLoadInfo *pBlockLoadInfo,
      SLDataIter *pIter, int64_t suid, _load_tomb_fn loadTombFn, void *pReader1, const
      char *idStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SLDataIter*
    constantsTouched: []
    func_position:
      end: 686
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 686
    functionName: tLDataIterClose2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tsdbSttFileReaderClose
    linkageType: ''
    returnType: void
    signature: 'void tLDataIterClose2(SLDataIter *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tLDataIterClose2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:107,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:109,1
    - Dst: destroySttBlockLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SLDataIter*
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: destroyLDataIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - destroySttBlockLoadInfo
    - tLDataIterClose2
    linkageType: ''
    returnType: void
    signature: 'void destroyLDataIter(SLDataIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: uidComparFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t uidComparFn(const void *p1, const void *p2) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:739,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:736,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:744,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:740,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 2
    argNames:
    - pIter
    - idStr
    argTypes:
    - SLDataIter*
    - char*
    constantsTouched: []
    func_position:
      end: 746
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 746
    functionName: tLDataIterNextBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tsdbDebug
    linkageType: ''
    returnType: void
    signature: 'void tLDataIterNextBlock(SLDataIter *pIter, const char *idStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMTree
    argTypes:
    - SMergeTree*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1163
    functionName: tMergeTreeClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreeClose(SMergeTree *pMTree) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:161,1
    - Dst: tsdbSttFileReadBlockDataByColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:191,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:188,1
    - Dst: updateBlockLoadSlot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:187,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:173,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:197,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:201,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:211,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - pIter
    - idStr
    - pResBlock
    argTypes:
    - SLDataIter*
    - char*
    - SBlockData**
    constantsTouched: []
    func_position:
      end: 216
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 216
    functionName: loadLastBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tsdbSttFileReadBlockDataByColumn
    - taosGetTimestampUs
    - updateBlockLoadSlot
    - tsdbDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadLastBlock(SLDataIter *pIter, const char *idStr,
      SBlockData **pResBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pLoadInfo
    argTypes:
    - SSttBlockLoadInfo*
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: updateBlockLoadSlot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void updateBlockLoadSlot(SSttBlockLoadInfo *pLoadInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: findEarliestIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:245,1
    - Dst: findEarliestIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:260,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 4
    argNames:
    - pBlockList
    - num
    - uid
    - backward
    argTypes:
    - SSttBlk*
    - int32_t
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 263
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 263
    functionName: binarySearchForStartBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - findEarliestIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t binarySearchForStartBlock(SSttBlk *pBlockList, int32_t
      num, uint64_t uid, int32_t backward) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:963,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:965,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:985,1
    - Dst: adjustSttDataIters
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:976,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:983,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:986,1
    - Dst: tsdbSttFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:997,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:999,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1000,1
    - Dst: tCreateSttBlockLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1005,1
    - Dst: tLDataIterNextRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1024,1
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1050,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1034,1
    - Dst: tMergeTreeAddIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1030,1
    - Dst: tLDataIterOpen2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1017,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1011,1
    - Dst: QUERY_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1035,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 59
    argCount: 3
    argNames:
    - pMTree
    - pConf
    - pSttDataInfo
    argTypes:
    - SMergeTree*
    - SMergeTreeConf*
    - SSttDataInfoForTable*
    constantsTouched: []
    func_position:
      end: 1052
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 1052
    functionName: tMergeTreeOpen2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tLDataIterOpen2
    - tMergeTreeAddIter
    - tMergeTreeClose
    - tsdbSttFileReaderOpen
    - tLDataIterNextRow
    - tCreateSttBlockLoadInfo
    - adjustSttDataIters
    - tstrerror
    - memset
    - taosArrayPush
    - QUERY_CHECK_NULL
    - tsdbError
    - TARRAY2_SIZE
    - tRBTreeCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMergeTreeOpen2(SMergeTree *pMTree, SMergeTreeConf *pConf,
      SSttDataInfoForTable *pSttDataInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMTree
    argTypes:
    - SMergeTree*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1058
    functionName: tMergeTreeIgnoreEarlierTs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tMergeTreeIgnoreEarlierTs(SMergeTree *pMTree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - index
    - uid
    - uidList
    - num
    - backward
    argTypes:
    - int32_t
    - uint64_t
    - uint64_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 273
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 273
    functionName: findEarliestRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t findEarliestRow(int32_t index, uint64_t
      uid, const uint64_t *uidList, int32_t num, int32_t backward) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMTree
    - pIter
    argTypes:
    - SMergeTree*
    - SLDataIter*
    constantsTouched: []
    func_position:
      end: 1056
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1056
    functionName: tMergeTreeAddIter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tRBTreePut
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreeAddIter(SMergeTree *pMTree, SLDataIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1065,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1071,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1075,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pIter
    - id
    argTypes:
    - SLDataIter*
    - char*
    constantsTouched: []
    func_position:
      end: 1076
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1076
    functionName: tLDataIterPinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'static void tLDataIterPinSttBlock(SLDataIter *pIter, const char *id) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:117,1
    - Dst: destroyLDataIter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:132,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:119,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:121,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:120,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:135,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:138,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pLDataIterArray
    - pLoadCost
    argTypes:
    - SArray*
    - SSttBlockLoadCostInfo*
    constantsTouched: []
    func_position:
      end: 139
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 139
    functionName: destroySttBlockReader
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - destroyLDataIter
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void destroySttBlockReader(SArray *pLDataIterArray, SSttBlockLoadCostInfo
      *pLoadCost) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:28,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:44,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:46,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:40,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:38,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:50,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 4
    argNames:
    - pSchema
    - colList
    - numOfCols
    - pInfo
    argTypes:
    - STSchema*
    - int16_t*
    - int32_t
    - SSttBlockLoadInfo**
    constantsTouched: []
    func_position:
      end: 62
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 62
    functionName: tCreateSttBlockLoadInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - taosArrayInit
    - tBlockDataCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCreateSttBlockLoadInfo(STSchema *pSchema, int16_t *colList,
      int32_t numOfCols, SSttBlockLoadInfo **pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pValue
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeItem(void *pValue) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: findEarliestRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:286,1
    - Dst: findEarliestRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:301,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - uidList
    - num
    - uid
    - backward
    argTypes:
    - uint64_t*
    - int32_t
    - uint64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 304
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 304
    functionName: binarySearchForStartRowIndex
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - findEarliestRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t binarySearchForStartRowIndex(uint64_t *uidList, int32_t
      num, uint64_t uid, int32_t backward) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:361,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:363,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - pVal
    argTypes:
    - SValue*
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: tValueDupPayload
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tValueDupPayload(SValue *pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:615,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:612,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:620,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:621,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - pLoadInfo
    - uid
    - pRange
    - numOfRows
    argTypes:
    - SSttBlockLoadInfo*
    - uint64_t
    - SSttKeyRange*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 624
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 624
    functionName: setSttInfoForCurrentTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosArrayGetSize
    - taosArrayGet
    - taosArraySearchIdx
    linkageType: ''
    returnType: void
    signature: 'static void setSttInfoForCurrentTable(SSttBlockLoadInfo *pLoadInfo,
      uint64_t uid, SSttKeyRange *pRange, int64_t *numOfRows) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: loadLastBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:754,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:756,1
    - Dst: binarySearchForStartRowIndex
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:762,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:756,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:794,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:795,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:811,1
    - Dst: pkCompEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:812,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 70
    argCount: 2
    argNames:
    - pIter
    - idStr
    argTypes:
    - SLDataIter*
    - char*
    constantsTouched: []
    func_position:
      end: 836
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 836
    functionName: findNextValidRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tsdbDebug
    - loadLastBlock
    - tstrerror
    - tColRowGetKey
    - tsdbError
    - pkCompEx
    - binarySearchForStartRowIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t findNextValidRow(SLDataIter *pIter, const char *idStr) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:928,1
    - Dst: tRowGetKeyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:929,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:931,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:938,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:937,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 948
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 948
    functionName: tLDataIterCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - TSDBROW_VERSION
    - tRowGetKeyEx
    - tRowKeyCompare
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tLDataIterCmprFn(const SRBTreeNode *p1,
      const SRBTreeNode *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1082,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1088,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1092,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pIter
    - id
    argTypes:
    - SLDataIter*
    - char*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1093
    functionName: tLDataIterUnpinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'static void tLDataIterUnpinSttBlock(SLDataIter *pIter, const char
      *id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tLDataIterUnpinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pMTree
    argTypes:
    - SMergeTree*
    constantsTouched: []
    func_position:
      end: 1113
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1113
    functionName: tMergeTreeUnpinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tLDataIterUnpinSttBlock
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreeUnpinSttBlock(SMergeTree *pMTree) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:310,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:325,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:315,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:320,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:324,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:331,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:331,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:336,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:343,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:353,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 4
    argNames:
    - pIter
    - pArray
    - pBlockLoadInfo
    - suid
    argTypes:
    - SLDataIter*
    - TSttBlkArray*
    - SSttBlockLoadInfo*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 358
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 358
    functionName: extractSttBlockInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayDestroy
    - taosArrayPush
    - TARRAY2_SIZE
    - taosArrayAddBatch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractSttBlockInfo(SLDataIter *pIter, const TSttBlkArray
      *pArray, SSttBlockLoadInfo *pBlockLoadInfo, uint64_t suid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tStatisBlockInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:405,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:430,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:448,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:451,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:454,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:459,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:460,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:463,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:465,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:473,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:499,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:485,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:547,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:529,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:513,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:383,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:406,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:427,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:444,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:447,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:450,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:447,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:453,1
    - Dst: tValueDupPayload
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:462,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:481,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:508,1
    - Dst: tValueDupPayload
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:512,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:516,1
    - Dst: tValueDupPayload
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:519,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:523,1
    - Dst: tStatisBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:540,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:505,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:507,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:522,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:530,1
    - Dst: tsdbSttFileReadStatisBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:411,1
    - Dst: QUERY_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:412,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:425,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:426,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:428,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:431,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:445,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:469,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:470,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:501,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:504,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:515,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:544,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:542,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:526,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:542,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:408,1
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:444,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:450,1
    - Dst: tBufferGetDataAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:453,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:466,1
    - Dst: tValueDupPayload
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:472,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:476,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:482,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:484,1
    - Dst: tStatisBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:491,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:498,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:502,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:520,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:492,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:475,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:527,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 165
    argCount: 5
    argNames:
    - pSttFileReader
    - pBlockLoadInfo
    - pStatisBlkArray
    - suid
    - id
    argTypes:
    - SSttFileReader*
    - SSttBlockLoadInfo*
    - TStatisBlkArray*
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 550
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 550
    functionName: loadSttStatisticsBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - QUERY_CHECK_CODE
    - tValueColumnGet
    - tBufferGetDataAt
    - TSDB_CHECK_CODE
    - tStatisBlockGet
    - tsdbDebug
    - tStatisBlockInit
    - tStatisBlockDestroy
    - tstrerror
    - taosGetTimestampUs
    - TSDB_CHECK_NULL
    - taosArrayPush
    - tsdbError
    - TARRAY2_SIZE
    - tValueDupPayload
    - taosArrayAddBatch
    - tsdbSttFileReadStatisBlock
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadSttStatisticsBlockData(SSttFileReader *pSttFileReader,
      SSttBlockLoadInfo *pBlockLoadInfo, TStatisBlkArray *pStatisBlkArray, uint64_t
      suid, const char *id) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:645,1
    - Dst: doLoadSttFilesBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:652,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:662,1
    - Dst: setSttInfoForCurrentTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:658,1
    - Dst: binarySearchForStartBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:663,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:665,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 9
    argNames:
    - pIter
    - pSttFileReader
    - cid
    - backward
    - pConf
    - pBlockLoadInfo
    - pKeyRange
    - numOfRows
    - idStr
    argTypes:
    - SLDataIter*
    - SSttFileReader*
    - int32_t
    - int8_t
    - SMergeTreeConf*
    - SSttBlockLoadInfo*
    - SSttKeyRange*
    - int64_t*
    - char*
    constantsTouched: []
    func_position:
      end: 681
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 681
    functionName: tLDataIterOpen2
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - doLoadSttFilesBlk
    - taosArrayGet
    - setSttInfoForCurrentTable
    - binarySearchForStartBlock
    - tsdbError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tLDataIterOpen2(SLDataIter *pIter, SSttFileReader *pSttFileReader,
      int32_t cid, int8_t backward, SMergeTreeConf *pConf, SSttBlockLoadInfo *pBlockLoadInfo,
      SSttKeyRange *pKeyRange, int64_t *numOfRows, const char *idStr) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: loadLastBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:852,1
    - Dst: findNextValidRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:862,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:863,1
    - Dst: loadLastBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:898,1
    - Dst: tLDataIterNextBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:889,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:911,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:915,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 65
    argCount: 3
    argNames:
    - pIter
    - idStr
    - hasNext
    argTypes:
    - SLDataIter*
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 920
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 920
    functionName: tLDataIterNextRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbRowFromBlockData
    - loadLastBlock
    - tstrerror
    - findNextValidRow
    - tLDataIterNextBlock
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tLDataIterNextRow(SLDataIter *pIter, const char *idStr, bool
      *hasNext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tLDataIterCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:951,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 952
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 952
    functionName: tLDataIterDescCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tLDataIterCmprFn
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tLDataIterDescCmprFn(const SRBTreeNode
      *p1, const SRBTreeNode *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tLDataIterPinSttBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pMTree
    argTypes:
    - SMergeTree*
    constantsTouched: []
    func_position:
      end: 1103
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1103
    functionName: tMergeTreePinSttBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tLDataIterPinSttBlock
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreePinSttBlock(SMergeTree *pMTree) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tLDataIterNextRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1125,1
    - Dst: tRBTreeMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1150,1
    - Dst: tRBTreeMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1135,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1139,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c:1152,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pMTree
    - pHasNext
    argTypes:
    - SMergeTree*
    - bool*
    constantsTouched: []
    func_position:
      end: 1158
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1158
    functionName: tMergeTreeNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMergeTree.c
    functionUses: []
    functionsReached:
    - tRBTreePut
    - tRBTreeDrop
    - tLDataIterNextRow
    - tRBTreeMin
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMergeTreeNext(SMergeTree *pMTree, bool *pHasNext) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileObjRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:112,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: tsdbSttLvlRemoveFObj
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileObjRemove
    - tsdbError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSttLvlRemoveFObj(void *data) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:360,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:369,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:373,1
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:366,1
    - Dst: tsdbTFileSetGetSttLvl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:364,1
    - Dst: tsdbTFileSetGetSttLvl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:381,1
    - Dst: TARRAY2_SEARCH_IDX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:385,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:386,1
    - Dst: tsdbTFileObjUnref
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:388,1
    - Dst: tsdbTFileSetGetSttLvl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:394,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:402,1
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:397,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 3
    argNames:
    - pTsdb
    - fset
    - op
    argTypes:
    - STsdb*
    - STFileSet*
    - STFileOp*
    constantsTouched: []
    func_position:
      end: 410
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 410
    functionName: tsdbTFileSetEdit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbSttLvlInit
    - TARRAY2_SORT_INSERT
    - TARRAY2_SEARCH_IDX
    - TARRAY2_SEARCH
    - tsdbTFileObjInit
    - TARRAY2_REMOVE
    - tsdbTFileObjUnref
    - tsdbError
    - tsdbTFileSetGetSttLvl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetEdit(STsdb *pTsdb, STFileSet *fset, const STFileOp
      *op) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:499,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:517,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:506,1
    - Dst: taosThreadCondInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - fid
    - fset
    argTypes:
    - int32_t
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 521
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 521
    functionName: tsdbTFileSetInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadCondInit
    - TARRAY2_INIT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetInit(int32_t fid, STFileSet **fset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileObjRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:697,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:705,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:699,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - fset
    argTypes:
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 706
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 706
    functionName: tsdbTFileSetRemove
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileObjRemove
    - TARRAY2_DESTROY
    - tsdbError
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileSetRemove(STFileSet *fset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - lvl
    argTypes:
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: tsdbSttLvlRemove
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSttLvlRemove(SSttLvl **lvl) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileObjRemoveUpdateLC
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:435,1
    - Dst: tsdbTFileObjRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:447,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:464,1
    - Dst: tsdbTFileObjRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:432,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:443,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:455,1
    - Dst: tsdbSttLvlInitEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:480,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:488,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:438,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:455,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:456,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:457,1
    - Dst: tsdbSttLvlInitEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:462,1
    - Dst: tsdbIsSameTFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:426,1
    - Dst: tsdbIsTFileChanged
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:427,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:456,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:457,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:482,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:470,1
    - Dst: tsdbSttLvlApplyEdit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:473,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 67
    argCount: 3
    argNames:
    - pTsdb
    - fset1
    - fset2
    argTypes:
    - STsdb*
    - STFileSet*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 496
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 496
    functionName: tsdbTFileSetApplyEdit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileObjRemoveUpdateLC
    - tsdbSttLvlInitEx
    - TARRAY2_SORT_INSERT
    - tsdbIsTFileChanged
    - tsdbTFileObjInit
    - TARRAY2_GET
    - tsdbTFileObjRemove
    - TARRAY2_REMOVE
    - TARRAY2_SIZE
    - tsdbSttLvlApplyEdit
    - tsdbIsSameTFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetApplyEdit(STsdb *pTsdb, const STFileSet *fset1,
      STFileSet *fset2) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:524,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:538,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:532,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:530,1
    - Dst: tsdbSttLvlInitEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:540,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:542,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:546,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 19
    argCount: 3
    argNames:
    - pTsdb
    - fset1
    - fset
    argTypes:
    - STsdb*
    - STFileSet*
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 554
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 554
    functionName: tsdbTFileSetInitCopy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - tsdbTFileSetInit
    - tsdbSttLvlInitEx
    - tsdbTFileObjInit
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetInitCopy(STsdb *pTsdb, const STFileSet *fset1,
      STFileSet **fset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 2
    argNames:
    - fset
    - level
    argTypes:
    - STFileSet*
    - int32_t
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: tsdbTFileSetGetSttLvl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - TARRAY2_SEARCH
    linkageType: ''
    returnType: SSttLvl*
    signature: 'SSttLvl *tsdbTFileSetGetSttLvl(STFileSet *fset, int32_t level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:739,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - fset
    argTypes:
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 740
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 740
    functionName: tsdbTFileSetIsEmpty
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - TARRAY2_SIZE
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbTFileSetIsEmpty(const STFileSet *fset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:61,1
    - Dst: tsdbTFileObjRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:66,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:71,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:68,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:65,1
    - Dst: tsdbTFileObjUnref
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:73,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:74,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:76,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pTsdb
    - lvl1
    - lvl
    argTypes:
    - STsdb*
    - SSttLvl*
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 81
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 81
    functionName: tsdbSttLvlInitRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileObjRef
    - tsdbSttLvlInit
    - tsdbTFileObjUnref
    - tsdbSttLvlClear
    - tsdbError
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlInitRef(STsdb *pTsdb, const SSttLvl *lvl1,
      SSttLvl **lvl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:185,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:192,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:195,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:193,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:189,1
    - Dst: tsdbTFileToJson
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - lvl
    - json
    argTypes:
    - SSttLvl*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: tsdbSttLvlToJson
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - tsdbTFileToJson
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlToJson(const SSttLvl *lvl, cJSON *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - fset1
    - fset2
    argTypes:
    - STFileSet**
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 719
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 719
    functionName: tsdbTFileSetCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetCmprFn(const STFileSet **fset1, const STFileSet
      **fset2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:85,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:98,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:92,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:94,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:89,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:98,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:105,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:105,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - pTsdb
    - lvl1
    - ever
    - lvl
    - fopArr
    argTypes:
    - STsdb*
    - SSttLvl*
    - int64_t
    - SSttLvl**
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: tsdbSttLvlFilteredInitEx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbSttLvlInit
    - tsdbTFileObjInit
    - TAOS_CHECK_RETURN
    - tsdbSttLvlClear
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlFilteredInitEx(STsdb *pTsdb, const SSttLvl
      *lvl1, int64_t ever, SSttLvl **lvl, TFileOpArray *fopArr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:208,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:219,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:218,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:209,1
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:215,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:220,1
    - Dst: cJSON_ArrayForEach
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:224,1
    - Dst: tsdbJsonToTFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:226,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:228,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:233,1
    - Dst: TARRAY2_SORT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:242,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:235,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - pTsdb
    - json
    - lvl
    argTypes:
    - STsdb*
    - cJSON*
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 244
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 244
    functionName: tsdbJsonToSttLvl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - cJSON_ArrayForEach
    - tsdbSttLvlInit
    - tsdbTFileObjInit
    - cJSON_IsArray
    - TARRAY2_SORT
    - tsdbSttLvlClear
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - TARRAY2_APPEND
    - tsdbJsonToTFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbJsonToSttLvl(STsdb *pTsdb, const cJSON *json, SSttLvl
      **lvl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:725,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:730,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:730,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:729,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - fset
    argTypes:
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: tsdbTFileSetMaxCid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - TMAX
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tsdbTFileSetMaxCid(const STFileSet *fset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:19,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:23,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - level
    - lvl
    argTypes:
    - int32_t
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 25
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 25
    functionName: tsdbSttLvlInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - TARRAY2_INIT
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbSttLvlInit(int32_t level, SSttLvl **lvl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:31,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - lvl
    argTypes:
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: tsdbSttLvlClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbSttLvlClear(SSttLvl **lvl) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:616,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:631,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:624,1
    - Dst: tsdbTFileObjRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:622,1
    - Dst: tsdbSttLvlInitRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:633,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:635,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:636,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:640,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:642,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:643,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pTsdb
    - fset1
    - fset
    argTypes:
    - STsdb*
    - STFileSet*
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 652
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 652
    functionName: tsdbTFileSetInitRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - tsdbTFileSetInit
    - tsdbTFileObjRef
    - tsdbSttLvlInitRef
    - tsdbSttLvlClear
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetInitRef(STsdb *pTsdb, const STFileSet *fset1,
      STFileSet **fset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:665,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:666,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - ppArr
    argTypes:
    - TFileSetRangeArray**
    constantsTouched: []
    func_position:
      end: 669
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 669
    functionName: tsdbTFileSetRangeArrayDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileSetRangeArrayDestroy(TFileSetRangeArray **ppArr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:38,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:50,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:42,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:44,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:46,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:52,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:53,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pTsdb
    - lvl1
    - lvl
    argTypes:
    - STsdb*
    - SSttLvl*
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 58
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 58
    functionName: tsdbSttLvlInitEx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsdbSttLvlInit
    - tsdbTFileObjInit
    - tsdbSttLvlClear
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlInitEx(STsdb *pTsdb, const SSttLvl *lvl1,
      SSttLvl **lvl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:27,1
    - Dst: tsdbTFileObjUnref
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:27,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 27
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 27
    functionName: tsdbSttLvlClearFObj
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileObjUnref
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void tsdbSttLvlClearFObj(void *data) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:657,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fsr
    argTypes:
    - STFileSetRange**
    constantsTouched: []
    func_position:
      end: 661
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 661
    functionName: tsdbTFileSetRangeClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileSetRangeClear(STFileSetRange **fsr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileObjUnref
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:675,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:684,1
    - Dst: taosThreadCondDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:686,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:677,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:682,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:688,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - fset
    argTypes:
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 690
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 690
    functionName: tsdbTFileSetClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosThreadCondDestroy
    - TARRAY2_DESTROY
    - tsdbTFileObjUnref
    - tsdbError
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileSetClear(STFileSet **fset) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:131,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:132,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:133,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:132,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:131,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:133,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:138,1
    - Dst: TARRAY2_INSERT_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:140,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:146,1
    - Dst: tsdbIsSameTFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:148,1
    - Dst: tsdbIsTFileChanged
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:149,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:164,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:172,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:154,1
    - Dst: TARRAY2_INSERT_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:166,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:156,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:153,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 45
    argCount: 3
    argNames:
    - pTsdb
    - lvl1
    - lvl2
    argTypes:
    - STsdb*
    - SSttLvl*
    - SSttLvl*
    constantsTouched: []
    func_position:
      end: 176
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 176
    functionName: tsdbSttLvlApplyEdit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - TARRAY2_INSERT_PTR
    - TARRAY2_SORT_INSERT
    - tsdbIsTFileChanged
    - tsdbTFileObjInit
    - TARRAY2_GET
    - TARRAY2_REMOVE
    - TARRAY2_SIZE
    - tsdbIsSameTFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlApplyEdit(STsdb *pTsdb, const SSttLvl *lvl1,
      SSttLvl *lvl2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:251,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:263,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:267,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:266,1
    - Dst: tsdbTFileToJson
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:258,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:269,1
    - Dst: tsdbSttLvlToJson
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:271,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:276,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - fset
    - json
    argTypes:
    - STFileSet*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 285
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 285
    functionName: tsdbTFileSetToJson
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbSttLvlToJson
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - tsdbTFileToJson
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetToJson(const STFileSet *fset, cJSON *json) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:558,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:565,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:582,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:567,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:576,1
    - Dst: tsdbSttLvlFilteredInitEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:584,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:586,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:590,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 22
    argCount: 5
    argNames:
    - pTsdb
    - fset1
    - ever
    - fset
    - fopArr
    argTypes:
    - STsdb*
    - STFileSet*
    - int64_t
    - STFileSet**
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 595
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 595
    functionName: tsdbTFileSetFilteredInitDup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - tsdbTFileSetInit
    - tsdbTFileObjInit
    - tsdbSttLvlFilteredInitEx
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetFilteredInitDup(STsdb *pTsdb, const STFileSet
      *fset1, int64_t ever, STFileSet **fset, TFileOpArray *fopArr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - lvl1
    - lvl2
    argTypes:
    - SSttLvl**
    - SSttLvl**
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: tsdbSttLvlCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttLvlCmprFn(const SSttLvl **lvl1, const SSttLvl
      **lvl2) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:294,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:295,1
    - Dst: tsdbJsonToTFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:305,1
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:301,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:309,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:312,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:318,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:319,1
    - Dst: cJSON_ArrayForEach
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:320,1
    - Dst: tsdbJsonToSttLvl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:322,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:328,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:343,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:336,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:337,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:324,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:344,1
    - Dst: TARRAY2_SORT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:331,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - pTsdb
    - json
    - fset
    argTypes:
    - STsdb*
    - cJSON*
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 351
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 351
    functionName: tsdbJsonToTFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - tsdbTFileSetInit
    - cJSON_ArrayForEach
    - tsdbJsonToSttLvl
    - tsdbTFileObjInit
    - cJSON_IsArray
    - TARRAY2_SORT
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - TARRAY2_APPEND
    - tsdbJsonToTFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbJsonToTFileSet(STsdb *pTsdb, const cJSON *json, STFileSet
      **fset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:599,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:609,1
    - Dst: tsdbTFileSetInitRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c:607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - pTsdb
    - fset1
    - sver
    - ever
    - fsr
    argTypes:
    - STsdb*
    - STFileSet*
    - int64_t
    - int64_t
    - STFileSetRange**
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: tsdbTFileSetRangeInitRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSet2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - tsdbTFileSetInitRef
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileSetRangeInitRef(STsdb *pTsdb, const STFileSet *fset1,
      int64_t sver, int64_t ever, STFileSetRange **fsr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:36,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tombBlock
    argTypes:
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: tTombBlockClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferClear
    linkageType: ''
    returnType: void
    signature: 'void tTombBlockClear(STombBlock *tombBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:106,1
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:110,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:107,1
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - statisBlock
    argTypes:
    - STbStatisBlock*
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: tStatisBlockClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - ARRAY_SIZE
    - tBufferClear
    - tValueColumnClear
    linkageType: ''
    returnType: void
    signature: 'void tStatisBlockClear(STbStatisBlock *statisBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:253,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:254,1
    - Dst: tValueColumnDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:257,1
    - Dst: tValueColumnDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - brinBlock
    argTypes:
    - SBrinBlock*
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: tBrinBlockDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - ARRAY_SIZE
    - tValueColumnDestroy
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tBrinBlockDestroy(SBrinBlock *brinBlock) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:42,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - tombBlock
    - record
    argTypes:
    - STombBlock*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: tTombBlockPut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferPutI64
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTombBlockPut(STombBlock *tombBlock, const STombRecord *record) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:132,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:133,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:133,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:134,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:134,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:135,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:135,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:136,1
    - Dst: tValueColumnAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:138,1
    - Dst: tValueColumnAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:139,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:136,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:138,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:139,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - block
    - row
    argTypes:
    - STbStatisBlock*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 144
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 144
    functionName: tStatisBlockAppend
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferPutI64
    - TAOS_CHECK_RETURN
    - tValueColumnAppend
    - tsdbRowGetKey
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tStatisBlockAppend(STbStatisBlock *block, SRowInfo
      *row) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:265,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:266,1
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:270,1
    - Dst: tValueColumnClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - brinBlock
    argTypes:
    - SBrinBlock*
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: tBrinBlockClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - ARRAY_SIZE
    - tBufferClear
    - tValueColumnClear
    linkageType: ''
    returnType: void
    signature: 'void tBrinBlockClear(SBrinBlock *brinBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:76,1
    - Dst: tValueColumnInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:81,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:77,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:80,1
    - Dst: tValueColumnInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:81,1
    - Dst: tStatisBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - statisBlock
    argTypes:
    - STbStatisBlock*
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: tStatisBlockInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tBufferInit
    - tStatisBlockDestroy
    - tValueColumnInit
    - ARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tStatisBlockInit(STbStatisBlock *statisBlock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:295,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:293,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:294,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:300,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:301,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:299,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:302,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:303,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:304,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:305,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:306,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:297,1
    - Dst: tValueColumnAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:311,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:293,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:294,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:295,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:299,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:300,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:302,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:298,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:301,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:303,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:304,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:306,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:307,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:296,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:297,1
    - Dst: tBufferPutI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:307,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:311,1
    - Dst: tValueColumnAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:315,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:305,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - brinBlock
    - record
    argTypes:
    - SBrinBlock*
    - SBrinRecord*
    constantsTouched: []
    func_position:
      end: 322
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 322
    functionName: tBrinBlockPut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferPutI64
    - TAOS_CHECK_RETURN
    - tValueColumnAppend
    - tBufferPutI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBrinBlockPut(SBrinBlock *brinBlock, const SBrinRecord *record) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:94,1
    - Dst: tValueColumnDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:99,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:95,1
    - Dst: tValueColumnDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - statisBlock
    argTypes:
    - STbStatisBlock*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: tStatisBlockDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - ARRAY_SIZE
    - tValueColumnDestroy
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tStatisBlockDestroy(STbStatisBlock *statisBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:344,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:341,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:346,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:343,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:370,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:379,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:385,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:356,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:371,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:358,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:373,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:365,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:335,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:332,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:337,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:338,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:349,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:347,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:350,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:353,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:356,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:359,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:374,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:368,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:361,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:362,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:344,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:341,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:379,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:385,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:371,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:364,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:365,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:332,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:334,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:335,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:338,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:340,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:347,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:350,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:352,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:353,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:359,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:367,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:374,1
    - Dst: tBufferGetI32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 90
    argCount: 3
    argNames:
    - brinBlock
    - idx
    - record
    argTypes:
    - SBrinBlock*
    - int32_t
    - SBrinRecord*
    constantsTouched: []
    func_position:
      end: 390
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 390
    functionName: tBrinBlockGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tValueColumnGet
    - tBufferGetI64
    - BUFFER_READER_INITIALIZER
    - TAOS_CHECK_RETURN
    - tBufferGetI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBrinBlockGet(SBrinBlock *brinBlock, int32_t idx, SBrinRecord
      *record) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:235,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:240,1
    - Dst: tBufferInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:236,1
    - Dst: tValueColumnInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:239,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:239,1
    - Dst: tValueColumnInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:240,1
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - brinBlock
    argTypes:
    - SBrinBlock*
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: tBrinBlockInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tBufferInit
    - tValueColumnInit
    - ARRAY_SIZE
    - tBrinBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBrinBlockInit(SBrinBlock *brinBlock) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:405,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pTsdb
    - tbid
    - pSkmTb
    argTypes:
    - STsdb*
    - TABLEID*
    - SSkmInfo*
    constantsTouched: []
    func_position:
      end: 407
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 407
    functionName: tsdbUpdateSkmTb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tDestroyTSchema
    - metaGetTbTSchemaEx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbUpdateSkmTb(STsdb *pTsdb, const TABLEID *tbid, SSkmInfo
      *pSkmTb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:29,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tombBlock
    argTypes:
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: tTombBlockDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferDestroy
    linkageType: ''
    returnType: void
    signature: 'void tTombBlockDestroy(STombBlock *tombBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:420,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:421,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 4
    argNames:
    - pTsdb
    - tbid
    - sver
    - pSkmRow
    argTypes:
    - STsdb*
    - TABLEID*
    - int32_t
    - SSkmInfo*
    constantsTouched: []
    func_position:
      end: 422
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 422
    functionName: tsdbUpdateSkmRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tDestroyTSchema
    - metaGetTbTSchemaEx
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbUpdateSkmRow(STsdb *pTsdb, const TABLEID *tbid, int32_t
      sver, SSkmInfo *pSkmRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 3
    argNames:
    - pTsdb
    - tbid
    - ppColCmpr
    argTypes:
    - STsdb*
    - TABLEID*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 423
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 423
    functionName: tsdbUpdateColCmprObj
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbUpdateColCmprObj(STsdb *pTsdb, const TABLEID *tbid, SHashObj
      **ppColCmpr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:200,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:203,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:201,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:204,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:207,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:213,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:210,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:222,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:217,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:201,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:204,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:207,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:210,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:212,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:213,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:206,1
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:209,1
    - Dst: tValueColumnGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:222,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 3
    argNames:
    - statisBlock
    - idx
    - record
    argTypes:
    - STbStatisBlock*
    - int32_t
    - STbStatisRecord*
    constantsTouched: []
    func_position:
      end: 227
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 227
    functionName: tStatisBlockGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tBufferGetI64
    - tValueColumnGet
    - BUFFER_READER_INITIALIZER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tStatisBlockGet(STbStatisBlock *statisBlock, int32_t idx,
      STbStatisRecord *record) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBufferInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:21,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - tombBlock
    argTypes:
    - STombBlock*
    constantsTouched: []
    func_position:
      end: 24
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 24
    functionName: tTombBlockInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferInit
    linkageType: ''
    returnType: void
    signature: 'void tTombBlockInit(STombBlock *tombBlock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:54,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:55,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - tombBlock
    - idx
    - record
    argTypes:
    - STombBlock*
    - int32_t
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: tTombBlockGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tBufferGetI64
    - BUFFER_READER_INITIALIZER
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTombBlockGet(STombBlock *tombBlock, int32_t idx, STombRecord
      *record) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:151,1
    - Dst: tStatisBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:151,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:152,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:154,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:159,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:164,1
    - Dst: tValueColumnUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:164,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:169,1
    - Dst: tBufferPutAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:169,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - block
    - row
    argTypes:
    - STbStatisBlock*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tStatisBlockUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tsdbRowGetKey
    - tStatisBlockGet
    - TAOS_CHECK_RETURN
    - tValueColumnUpdate
    - tRowKeyCompare
    - tBufferPutAt
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tStatisBlockUpdate(STbStatisBlock *block, SRowInfo
      *row) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - r1
    - r2
    argTypes:
    - STombRecord*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: tTombRecordCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTombRecordCompare(const STombRecord *r1, const STombRecord
      *r2) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BUFFER_READER_INITIALIZER
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:181,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:182,1
    - Dst: tStatisBlockAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:190,1
    - Dst: tStatisBlockUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:185,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - block
    - row
    - maxRecords
    argTypes:
    - STbStatisBlock*
    - SRowInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 191
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 191
    functionName: tStatisBlockPut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil2.c
    functionUses: []
    functionsReached:
    - tBufferGetI64
    - tStatisBlockUpdate
    - BUFFER_READER_INITIALIZER
    - TAOS_CHECK_RETURN
    - tStatisBlockAppend
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tStatisBlockPut(STbStatisBlock *block, SRowInfo *row, int32_t
      maxRecords) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:63,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:68,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:65,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:64,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem**
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: destroy_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    - tsem_destroy
    - tsdbError
    linkageType: ''
    returnType: void
    signature: 'static void destroy_fs(STFileSystem **fs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:86,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:91,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:96,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:88,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:93,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:96,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:97,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:100,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:101,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:106,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:106,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - json
    - fname
    argTypes:
    - cJSON*
    - char*
    constantsTouched: []
    func_position:
      end: 111
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 111
    functionName: save_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - taosWriteFile
    - tstrerror
    - strlen
    - tsdbError
    - cJSON_PrintUnformatted
    - taosCloseFileWithLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t save_json(const cJSON *json, const char *fname) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:255,1
    - Dst: tsdbTFileSetApplyEdit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:274,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:275,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:266,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:267,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:268,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:285,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:286,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:296,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:287,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:257,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:256,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:256,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:255,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:257,1
    - Dst: tsdbTFileSetRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:262,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:269,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:288,1
    - Dst: tsdbTFileSetRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:281,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:296,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 299
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 299
    functionName: apply_commit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetApplyEdit
    - TSDB_CHECK_CODE
    - TARRAY2_SORT_INSERT
    - tsdbTFileSetInitCopy
    - TARRAY2_GET
    - tsdbTFileSetRemove
    - TD_VID
    - TARRAY2_SIZE
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t apply_commit(STFileSystem *fs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:491,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:496,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - hash
    argTypes:
    - STFileHash*
    constantsTouched: []
    func_position:
      end: 497
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 497
    functionName: tsdbFSDestroyFileObjHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void tsdbFSDestroyFileObjHash(STFileHash *hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:847,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 851
    functionName: tsdbFSAllocEid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tsdbFSAllocEid(STFileSystem *fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort_edit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:981,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:983,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:982,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 986
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 986
    functionName: tsdbFSEditAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - abort_edit
    - TD_VID
    - tsdbError
    - tsem_post
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSEditAbort(STFileSystem *fs) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:118,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:124,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:129,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:126,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:120,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:131,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:134,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:135,1
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:139,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:141,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:146,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:146,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:149,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - fname
    - json
    argTypes:
    - char*
    - cJSON**
    constantsTouched: []
    func_position:
      end: 152
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 152
    functionName: load_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - taosMemoryFree
    - taosReadFile
    - cJSON_Parse
    - tstrerror
    - tsdbError
    - taosFStatFile
    - taosCloseFileWithLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t load_json(const char *fname, cJSON **json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:75,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:76,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pTsdb
    - fname
    - ftype
    argTypes:
    - STsdb*
    - char*
    - EFCurrentT
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: current_fname
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void current_fname(STsdb *pTsdb, char *fname, EFCurrentT ftype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:305,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:314,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:314,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:309,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:307,1
    - Dst: apply_commit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:316,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:317,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:321,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:322,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:324,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: commit_edit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - current_fname
    - tsdbInfo
    - taosRenameFile
    - tstrerror
    - TD_VID
    - tsdbError
    - apply_commit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t commit_edit(STFileSystem *fs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:513,1
    - Dst: tsdbFSDoScanAndFixFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:523,1
    - Dst: tfsOpendir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:543,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:553,1
    - Dst: taosIsDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:550,1
    - Dst: tsdbFSGetFileObjHashEntry
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:552,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:565,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:506,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:535,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:543,1
    - Dst: tfsClosedir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:560,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:522,1
    - Dst: tsdbFSDoScanAndFixFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:511,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:535,1
    - Dst: tsdbFSDestroyFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:557,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:565,1
    - Dst: tfsReaddir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:549,1
    - Dst: tsdbFSCreateFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:546,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:520,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:526,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 568
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 568
    functionName: tsdbFSDoSanAndFix
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFSGetFileObjHashEntry
    - tsdbRemoveFile
    - tfsReaddir
    - tsdbFSDoScanAndFixFile
    - tsdbFSCreateFileObjHash
    - TSDB_ERROR_LOG
    - tsdbFSDestroyFileObjHash
    - tfsClosedir
    - TD_VID
    - tsdbError
    - taosIsDir
    - tfsOpendir
    - TMIN
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSDoSanAndFix(STFileSystem *fs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:854,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:856,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - fs
    - cid
    argTypes:
    - STFileSystem*
    - int64_t
    constantsTouched: []
    func_position:
      end: 857
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 857
    functionName: tsdbFSUpdateEid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TMAX
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSUpdateEid(STFileSystem *fs, int64_t cid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:991,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 3
    argNames:
    - fs
    - fid
    - fset
    argTypes:
    - STFileSystem*
    - int32_t
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: tsdbFSGetFSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TARRAY2_SEARCH
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSGetFSet(STFileSystem *fs, int32_t fid, STFileSet **fset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1288,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1287,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - pVnode
    - ppReader
    argTypes:
    - void*
    - struct SFileSetReader**
    constantsTouched: []
    func_position:
      end: 1297
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1297
    functionName: tsdbFileSetReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TD_VID
    - tsdbError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileSetReaderOpen(void *pVnode, struct SFileSetReader
      **ppReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - pFileSet
    - vgId
    argTypes:
    - STFileSet*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1302
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1302
    functionName: tsdbShouldCompact
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbShouldCompact(const STFileSet *pFileSet, int32_t vgId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - fObj
    - szArr
    argTypes:
    - STFileObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1428
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1428
    functionName: getLevelSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void getLevelSize(const STFileObj *fObj, int64_t
      szArr[TFS_MAX_TIERS]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:337,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:346,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:344,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:345,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:339,1
    - Dst: apply_abort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:349,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:350,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:354,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:355,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:357,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 360
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 360
    functionName: abort_edit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TAOS_SYSTEM_ERROR
    - current_fname
    - tsdbInfo
    - tstrerror
    - TD_VID
    - tsdbError
    - apply_abort
    - taosRemoveFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t abort_edit(STFileSystem *fs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:620,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:622,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:621,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:628,1
    - Dst: load_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:636,1
    - Dst: tsdbFSDupState
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:649,1
    - Dst: tsdbFSScanAndFix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:652,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:646,1
    - Dst: save_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:655,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:656,1
    - Dst: load_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:625,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:626,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:650,1
    - Dst: commit_edit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:639,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:653,1
    - Dst: abort_edit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:633,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:634,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:642,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:640,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:637,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:663,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:661,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:624,1
    - Dst: abort_edit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:645,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:661,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:661,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:663,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - fs
    - rollback
    argTypes:
    - STFileSystem*
    - int8_t
    constantsTouched: []
    func_position:
      end: 666
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 666
    functionName: open_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFSScanAndFix
    - load_fs
    - current_fname
    - tsdbInfo
    - save_fs
    - tstrerror
    - abort_edit
    - taosCheckExistFile
    - tsdbError
    - TD_VID
    - tsdbFSDupState
    - commit_edit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t open_fs(STFileSystem *fs, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCheckAndUpgradeFileSystem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:759,1
    - Dst: create_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:762,1
    - Dst: open_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:765,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:760,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:763,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:766,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:770,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:770,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:770,1
    - Dst: destroy_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:771,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:773,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:773,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pTsdb
    - fs
    - rollback
    argTypes:
    - STsdb*
    - STFileSystem**
    - int8_t
    constantsTouched: []
    func_position:
      end: 776
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 776
    functionName: tsdbOpenFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - open_fs
    - TSDB_CHECK_CODE
    - create_fs
    - destroy_fs
    - tsdbInfo
    - tstrerror
    - tsdbCheckAndUpgradeFileSystem
    - tsdbError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbOpenFS(STsdb *pTsdb, STFileSystem **fs, int8_t rollback) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:828,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: tsdbEnableBgTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void tsdbEnableBgTask(STsdb *pTsdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:865,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:870,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:871,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:867,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:871,1
    - Dst: edit_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:876,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:877,1
    - Dst: save_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:880,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:881,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:885,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:888,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:888,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:886,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:885,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - fs
    - opArray
    - etype
    argTypes:
    - STFileSystem*
    - TFileOpArray*
    - EFEditT
    constantsTouched: []
    func_position:
      end: 891
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 891
    functionName: tsdbFSEditBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - current_fname
    - tsdbInfo
    - save_fs
    - tsem_wait
    - tstrerror
    - TD_VID
    - tsdbError
    - edit_fs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray,
      EFEditT etype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1000,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1003,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1006,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1005,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1007,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1010,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1013,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1016,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1017,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - fs
    - fsetArr
    argTypes:
    - STFileSystem*
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1021
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1021
    functionName: tsdbFSCreateCopySnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TARRAY2_INIT
    - taosThreadMutexLock
    - taosMemoryMalloc
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbTFileSetInitCopy
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreateCopySnapshot(STFileSystem *fs, TFileSetArray **fsetArr) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1096,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1108,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1098,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1109,1
    - Dst: tsdbFSetRangeArrayToHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1101,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1113,1
    - Dst: tsdbTFileSetFilteredInitDup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1119,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1122,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1125,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1130,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1134,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 4
    argNames:
    - fs
    - pRanges
    - fsetArr
    - fopArr
    argTypes:
    - STFileSystem*
    - TFileSetRangeArray*
    - TFileSetArray**
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1138
    functionName: tsdbFSCreateCopyRangedSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TARRAY2_INIT
    - taosThreadMutexLock
    - taosMemoryMalloc
    - TARRAY2_DESTROY
    - taosMemoryFree
    - tsdbTFileSetFilteredInitDup
    - taosHashGet
    - tsdbFSetRangeArrayToHash
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreateCopyRangedSnapshot(STFileSystem *fs, TFileSetRangeArray
      *pRanges, TFileSetArray **fsetArr, TFileOpArray *fopArr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSGetFSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1215,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1238,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1238,1
    - Dst: vnodeGetATaskName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1238,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - tsdb
    - fid
    - task
    - fset
    argTypes:
    - STsdb*
    - int32_t
    - EVATaskT
    - STFileSet**
    constantsTouched: []
    func_position:
      end: 1240
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1240
    functionName: tsdbBeginTaskOnFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadCondWait
    - tsdbInfo
    - tsdbFSGetFSet
    - TD_VID
    - vnodeGetATaskName
    linkageType: ''
    returnType: void
    signature: 'void tsdbBeginTaskOnFileSet(STsdb *tsdb, int32_t fid, EVATaskT task,
      STFileSet **fset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:367,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:373,1
    - Dst: tsdbTFileLastChunkName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:372,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:375,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:375,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:384,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:384,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - fs
    - fobj
    argTypes:
    - STFileSystem*
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 390
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 390
    functionName: tsdbFSDoScanAndFixFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbTFileLastChunkName
    - taosCheckExistFile
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSDoScanAndFixFile(STFileSystem *fs, const STFileObj
      *fobj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:669,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:670,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 671
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 671
    functionName: close_file_system
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TARRAY2_CLEAR
    linkageType: ''
    returnType: void
    signature: 'static void close_file_system(STFileSystem *fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDisableAndCancelAllBgTask
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:836,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:839,1
    - Dst: close_file_system
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:841,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:838,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:838,1
    - Dst: destroy_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:842,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem**
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: tsdbCloseFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbDisableAndCancelAllBgTask
    - destroy_fs
    - tstrerror
    - TD_VID
    - tsdbError
    - close_file_system
    linkageType: ''
    returnType: void
    signature: 'void tsdbCloseFS(STFileSystem **fs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadCondSignal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:899,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - fset
    - block
    argTypes:
    - STFileSet*
    - bool
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: tsdbFSSetBlockCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadCondSignal
    linkageType: ''
    returnType: void
    signature: 'static void tsdbFSSetBlockCommit(STFileSet *fset, bool block) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1025,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1026,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fsetArr
    argTypes:
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: tsdbFSDestroyCopySnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSDestroyCopySnapshot(TFileSetArray **fsetArr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSDestroyCopySnapshot
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fsetArr
    argTypes:
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1140
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1140
    functionName: tsdbFSDestroyCopyRangedSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbFSDestroyCopySnapshot
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSDestroyCopyRangedSnapshot(TFileSetArray **fsetArr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSGetFSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1247,1
    - Dst: vnodeGetATaskName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1264,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1264,1
    - Dst: taosThreadCondSignal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1261,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - tsdb
    - fid
    - task
    argTypes:
    - STsdb*
    - int32_t
    - EVATaskT
    constantsTouched: []
    func_position:
      end: 1266
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1266
    functionName: tsdbFinishTaskOnFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbInfo
    - tsdbFSGetFSet
    - taosThreadCondSignal
    - TD_VID
    - vnodeGetATaskName
    linkageType: ''
    returnType: void
    signature: 'void tsdbFinishTaskOnFileSet(STsdb *tsdb, int32_t fid, EVATaskT task) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1442,1
    - Dst: getLevelSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1444,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1448,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1447,1
    - Dst: getLevelSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1448,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - tsdb
    - pInfo
    argTypes:
    - STsdb*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 1465
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1465
    functionName: tsdbGetFsSizeImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - getLevelSize
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tsdbGetFsSizeImpl(STsdb *tsdb, SDbSizeStatisInfo
      *pInfo) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: commit_edit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:925,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:926,1
    - Dst: TARRAY2_FIRST
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:938,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:945,1
    - Dst: tsdbFSSetBlockCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:961,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:970,1
    - Dst: vnodeAsync
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:956,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:975,1
    - Dst: TARRAY2_FOREACH_REVERSE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:932,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:933,1
    - Dst: tsdbFSSetBlockCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:963,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:972,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:957,1
    - Dst: tsdbFSSetBlockCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:934,1
    - Dst: tsdbFSSetBlockCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:940,1
    - Dst: vnodeATaskValid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:946,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:970,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:950,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:970,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:972,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:974,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:975,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 978
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 978
    functionName: tsdbFSEditCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - vnodeATaskValid
    - TSDB_CHECK_CODE
    - tsdbFSSetBlockCommit
    - taosMemoryMalloc
    - tsdbInfo
    - tstrerror
    - TARRAY2_FOREACH_REVERSE
    - TARRAY2_FIRST
    - vnodeAsync
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - tsem_post
    - commit_edit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSEditCommit(STFileSystem *fs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1469,1
    - Dst: tsdbGetFsSizeImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1470,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - tsdb
    - pInfo
    argTypes:
    - STsdb*
    - SDbSizeStatisInfo*
    constantsTouched: []
    func_position:
      end: 1473
      start: 1466
    functionDepth: 0
    functionLinenumber: 1466
    functionLinenumberEnd: 1473
    functionName: tsdbGetFsSize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbGetFsSizeImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetFsSize(STsdb *tsdb, SDbSizeStatisInfo *pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:158,1
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:169,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:165,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:160,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:164,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:171,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:174,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:175,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:177,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:179,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:182,1
    - Dst: save_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:185,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:190,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:186,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:192,1
    - Dst: tsdbTFileSetToJson
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:181,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - arr
    - fname
    argTypes:
    - TFileSetArray*
    - char*
    constantsTouched: []
    func_position:
      end: 194
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 194
    functionName: save_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbTFileSetToJson
    - cJSON_Delete
    - cJSON_CreateObject
    - cJSON_AddNumberToObject
    - tstrerror
    - save_json
    - cJSON_AddArrayToObject
    - cJSON_AddItemToArray
    - tsdbError
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t save_fs(const TFileSetArray *arr, const char *fname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - pSet1
    - pSet2
    argTypes:
    - struct STFileSet*
    - struct STFileSet*
    constantsTouched: []
    func_position:
      end: 680
      start: 673
    functionDepth: 0
    functionLinenumber: 673
    functionLinenumberEnd: 680
    functionName: fset_cmpr_fn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t fset_cmpr_fn(const struct STFileSet *pSet1, const struct
      STFileSet *pSet2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:905,1
    - Dst: taosThreadCondWait
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:911,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:915,1
    - Dst: tsdbFSGetFSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - tsdb
    - fid
    argTypes:
    - STsdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 917
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 917
    functionName: tsdbFSCheckCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadCondWait
    - tsdbFSGetFSet
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSCheckCommit(STsdb *tsdb, int32_t fid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1032,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1034,1
    - Dst: tsdbFSCreateRefSnapshotWithoutLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - fs
    - fsetArr
    argTypes:
    - STFileSystem*
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1036
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1036
    functionName: tsdbFSCreateRefSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbFSCreateRefSnapshotWithoutLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreateRefSnapshot(STFileSystem *fs, TFileSetArray **fsetArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1066,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1067,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - fsetArr
    argTypes:
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1070
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1070
    functionName: tsdbFSDestroyRefSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - TARRAY2_DESTROY
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSDestroyRefSnapshot(TFileSetArray **fsetArr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1149,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1155,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1164,1
    - Dst: tsdbFSetRangeArrayToHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1157,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1155,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1165,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1171,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1174,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1179,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1183,1
    - Dst: tsdbTFileSetRangeInitRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1185,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1197,1
    - Dst: tsdbTFileSetRangeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1196,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1193,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1203,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1188,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 5
    argNames:
    - fs
    - sver
    - ever
    - pRanges
    - fsrArr
    argTypes:
    - STFileSystem*
    - int64_t
    - int64_t
    - TFileSetRangeArray*
    - TFileSetRangeArray**
    constantsTouched: []
    func_position:
      end: 1207
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1207
    functionName: tsdbFSCreateRefRangedSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TARRAY2_DESTROY
    - tsdbDebug
    - taosMemoryCalloc
    - tsdbInfo
    - taosHashGet
    - tsdbFSetRangeArrayToHash
    - tsdbTFileSetRangeClear
    - TARRAY2_SIZE
    - tsdbTFileSetRangeInitRef
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreateRefRangedSnapshot(STFileSystem *fs, int64_t sver,
      int64_t ever, TFileSetRangeArray *pRanges, TFileSetRangeArray **fsrArr) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1309,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1337,1
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1315,1
    - Dst: tsdbTFileSetInitRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1322,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1327,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1339,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 21
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - struct SFileSetReader*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1305
    functionDepth: 0
    functionLinenumber: 1305
    functionLinenumberEnd: 1343
    functionName: tsdbFileSetReaderNextNoLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - tsdbFidKeyRange
    - TARRAY2_SEARCH
    - tsdbTFileSetInitRef
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFileSetReaderNextNoLock(struct SFileSetReader *pReader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_ArrayForEach
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:224,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:240,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:227,1
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:200,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:212,1
    - Dst: load_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:204,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:240,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:205,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:211,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:217,1
    - Dst: cJSON_IsArray
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:222,1
    - Dst: tsdbJsonToTFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:226,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:235,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:230,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:243,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:214,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:221,1
    - Dst: TARRAY2_SORT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:232,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - pTsdb
    - fname
    - arr
    argTypes:
    - STsdb*
    - char*
    - TFileSetArray*
    constantsTouched: []
    func_position:
      end: 246
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 246
    functionName: load_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - cJSON_ArrayForEach
    - TSDB_CHECK_CODE
    - cJSON_Delete
    - tsdbJsonToTFileSet
    - TARRAY2_CLEAR
    - cJSON_IsArray
    - tstrerror
    - TARRAY2_SORT
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - tsdbError
    - TARRAY2_APPEND
    - load_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t load_fs(STsdb *pTsdb, const char *fname, TFileSetArray
      *arr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSDoSanAndFix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 331
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 331
    functionName: apply_abort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbFSDoSanAndFix
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t apply_abort(STFileSystem *fs) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:693,1
    - Dst: tsdbTFileSetEdit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:710,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:749,1
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:702,1
    - Dst: TARRAY2_FOREACH_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:694,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:703,1
    - Dst: TARRAY2_SORT_INSERT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:705,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:711,1
    - Dst: tsdbTFileSetIsEmpty
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:740,1
    - Dst: tsdbFSDupState
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:686,1
    - Dst: TARRAY2_SEARCH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:698,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:706,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:730,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:726,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:741,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:733,1
    - Dst: TARRAY2_REMOVE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:734,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:731,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:749,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:725,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 3
    argNames:
    - fs
    - opArray
    - etype
    argTypes:
    - STFileSystem*
    - TFileOpArray*
    - EFEditT
    constantsTouched: []
    func_position:
      end: 752
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 752
    functionName: edit_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tsdbTFileSetInit
    - TSDB_CHECK_CODE
    - TARRAY2_FOREACH_PTR
    - TARRAY2_SORT_INSERT
    - TARRAY2_SEARCH
    - tsdbTFileSetIsEmpty
    - tsdbTFileSetEdit
    - TARRAY2_GET
    - TARRAY2_REMOVE
    - TD_VID
    - TARRAY2_SIZE
    - tsdbFSDupState
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t edit_fs(STFileSystem *fs, const TFileOpArray *opArray,
      EFEditT etype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:783,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:796,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:788,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:795,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:797,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:798,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:799,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:800,1
    - Dst: tsdbFSSetBlockCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:803,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:806,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:810,1
    - Dst: vnodeACancel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:813,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:819,1
    - Dst: vnodeAWait
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:815,1
    - Dst: tsdbStopAllCompTask
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:822,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:811,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 825
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 825
    functionName: tsdbDisableAndCancelAllBgTask
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayDestroy
    - tsdbFSSetBlockCommit
    - taosArrayGet
    - vnodeAWait
    - tsdbStopAllCompTask
    - taosArrayPush
    - taosArrayGetSize
    - vnodeACancel
    - TARRAY2_FOREACH
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDisableAndCancelAllBgTask(STsdb *pTsdb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1042,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1045,1
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1051,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1049,1
    - Dst: tsdbTFileSetInitRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1046,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1057,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1058,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - fs
    - fsetArr
    argTypes:
    - STFileSystem*
    - TFileSetArray**
    constantsTouched: []
    func_position:
      end: 1062
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1062
    functionName: tsdbFSCreateRefSnapshotWithoutLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - taosMemoryFree
    - TARRAY2_DESTROY
    - taosMemoryCalloc
    - tsdbTFileSetInitRef
    - TARRAY2_APPEND
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreateRefSnapshotWithoutLock(STFileSystem *fs, TFileSetArray
      **fsetArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1073,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1074,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1074,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1081,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1080,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1083,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pRanges
    argTypes:
    - TFileSetRangeArray*
    constantsTouched: []
    func_position:
      end: 1087
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1087
    functionName: tsdbFSetRangeArrayToHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbDebug
    - TARRAY2_GET
    - TARRAY2_SIZE
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: SHashObj*
    signature: 'static SHashObj *tsdbFSetRangeArrayToHash(TFileSetRangeArray *pRanges) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetRangeArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - fsrArr
    argTypes:
    - TFileSetRangeArray**
    constantsTouched: []
    func_position:
      end: 1209
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1209
    functionName: tsdbFSDestroyRefRangedSnapshot
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetRangeArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSDestroyRefRangedSnapshot(TFileSetRangeArray **fsrArr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1347,1
    - Dst: tsdbFileSetReaderNextNoLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1348,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - struct SFileSetReader*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1351
    functionName: tsdbFileSetReaderNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbFileSetReaderNextNoLock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileSetReaderNext(struct SFileSetReader *pReader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:425,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:442,1
    - Dst: tsdbFSAddEntryToFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:458,1
    - Dst: tsdbFSAddEntryToFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:446,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:444,1
    - Dst: tsdbFSDestroyFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:467,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:423,1
    - Dst: tsdbFSAddEntryToFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:424,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:429,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:466,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:457,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:419,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:441,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:455,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:417,1
    - Dst: tsdbFSAddEntryToFileObjHash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:433,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:434,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:466,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:459,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:447,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 2
    argNames:
    - fs
    - hash
    argTypes:
    - STFileSystem*
    - STFileHash*
    constantsTouched: []
    func_position:
      end: 470
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 470
    functionName: tsdbFSCreateFileObjHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - snprintf
    - tsdbFSAddEntryToFileObjHash
    - taosMemoryCalloc
    - current_fname
    - TSDB_ERROR_LOG
    - tsdbFSDestroyFileObjHash
    - TD_VID
    - strrchr
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSCreateFileObjHash(STFileSystem *fs, STFileHash
      *hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:575,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:582,1
    - Dst: tsdbTFileSetMaxCid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:575,1
    - Dst: tsdbFSDoSanAndFix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:581,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:575,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:586,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 589
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 589
    functionName: tsdbFSScanAndFix
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - tsdbTFileSetMaxCid
    - TD_VID
    - TMAX
    - tsdbFSDoSanAndFix
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSScanAndFix(STFileSystem *fs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1361,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1367,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1361,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1367,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1373,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1373,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1379,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1379,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1385,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1385,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1397,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1391,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1397,1
    - Dst: tsdbShouldCompact
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1392,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1391,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 3
    argNames:
    - pReader
    - field
    - value
    argTypes:
    - struct SFileSetReader*
    - char*
    - void*
    constantsTouched: []
    func_position:
      end: 1403
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1403
    functionName: tsdbFileSetGetEntryField
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    - tsdbShouldCompact
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFileSetGetEntryField(struct SFileSetReader *pReader, const
      char *field, void *value) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:40,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:54,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:48,1
    - Dst: TARRAY2_INIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:55,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:46,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTsdb
    - fs
    argTypes:
    - STsdb*
    - STFileSystem**
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: create_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - TARRAY2_INIT
    - tsem_init
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t create_fs(STsdb *pTsdb, STFileSystem **fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:395,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:400,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:400,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:398,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - fname
    argTypes:
    - STFileHash*
    - char*
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: tsdbFSAddEntryToFileObjHash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemoryMalloc
    - MurmurHash3_32
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSAddEntryToFileObjHash(STFileHash *hash, const
      char *fname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:473,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:473,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:477,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - hash
    - fname
    argTypes:
    - STFileHash*
    - char*
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: tsdbFSGetFileObjHashEntry
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - strlen
    - strcmp
    - MurmurHash3_32
    linkageType: ''
    returnType: STFileHashEntry*
    signature: 'static const STFileHashEntry *tsdbFSGetFileObjHashEntry(STFileHash
      *hash, const char *fname) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_CLEAR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:597,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:604,1
    - Dst: tsdbTFileSetInitCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:602,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 1
    argNames:
    - fs
    argTypes:
    - STFileSystem*
    constantsTouched: []
    func_position:
      end: 609
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 609
    functionName: tsdbFSDupState
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetInitCopy
    - TARRAY2_APPEND
    - TARRAY2_CLEAR
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSDupState(STFileSystem *fs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileSetClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1410,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c:1411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - struct SFileSetReader**
    constantsTouched: []
    func_position:
      end: 1415
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1415
    functionName: tsdbFileSetReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS2.c
    functionUses: []
    functionsReached:
    - tsdbTFileSetClear
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbFileSetReaderClose(struct SFileSetReader **ppReader) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:96,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:129,1
    - Dst: tsdbDataFileFlush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:91,1
    - Dst: tsdbDataFileWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:87,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:97,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:100,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:110,1
    - Dst: tsdbDataFileWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:118,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:119,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:123,1
    - Dst: tsdbDataFileWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:109,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:81,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:92,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:88,1
    - Dst: tsdbDataFileWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:103,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:124,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:131,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:104,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:129,1
    - Dst: tsdbSttFileWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:115,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SFSetWriter*
    constantsTouched: []
    func_position:
      end: 135
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 135
    functionName: tsdbFSetWriteTableDataEnd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbRowFromBlockData
    - tsdbDataFileFlush
    - tsdbSttFileWriteBlockData
    - ARRAY_SIZE
    - tsdbDataFileWriteRow
    - TD_VID
    - tsdbDataFileWriteBlockData
    - tBlockDataReset
    - TSDB_ERROR_LOG
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetWriteTableDataEnd(SFSetWriter *writer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriteTableDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:209,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:210,1
    - Dst: tsdbSttFileWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:216,1
    - Dst: tsdbDataFileWriterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:212,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:213,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:217,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:220,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:221,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:223,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:224,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:226,1
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:227,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:228,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:233,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:233,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - writer
    - abort
    - fopArr
    argTypes:
    - SFSetWriter**
    - bool
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 236
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 236
    functionName: tsdbFSetWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFSetWriteTableDataEnd
    - tsdbSttFileWriterClose
    - tBlockDataDestroy
    - taosMemoryFree
    - ARRAY_SIZE
    - tDestroyTSchema
    - TD_VID
    - tBufferDestroy
    - tsdbDataFileWriterClose
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetWriterClose(SFSetWriter **writer, bool abort, TFileOpArray
      *fopArr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbUpdateSkmTb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:45,1
    - Dst: metaGetColCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:52,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:55,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:46,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:49,1
    - Dst: tBlockDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:56,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:57,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:62,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - writer
    - tbid
    argTypes:
    - SFSetWriter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: tsdbFSetWriteTableDataBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - metaGetColCmpr
    - ARRAY_SIZE
    - tsdbUpdateSkmTb
    - TD_VID
    - tBlockDataInit
    - TSDB_ERROR_LOG
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSetWriteTableDataBegin(SFSetWriter *writer, const
      TABLEID *tbid) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSetWriteTableDataBegin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:250,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:271,1
    - Dst: tBlockDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:273,1
    - Dst: tsdbDataFileWriteBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:270,1
    - Dst: tBlockDataAppendRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:279,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:251,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:259,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:280,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:248,1
    - Dst: tsdbFSetWriteTableDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:247,1
    - Dst: tsdbUpdateSkmRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:255,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:255,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:256,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:262,1
    - Dst: tBlockDataUpdateRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:264,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:265,1
    - Dst: tsdbSttFileWriteRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:243,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:244,1
    - Dst: tsdbRowCompareWithoutVersion
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - writer
    - row
    argTypes:
    - SFSetWriter*
    - SRowInfo*
    constantsTouched: []
    func_position:
      end: 289
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 289
    functionName: tsdbFSetWriteRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFSetWriteTableDataEnd
    - tsdbRowFromBlockData
    - tBlockDataUpdateRow
    - tBlockDataClear
    - tsdbUpdateSkmRow
    - tsdbFSetWriteTableDataBegin
    - TSDBROW_VERSION
    - tsdbRowCompareWithoutVersion
    - TD_VID
    - tBlockDataAppendRow
    - TSDBROW_SVERSION
    - tsdbDataFileWriteBlockData
    - tsdbSttFileWriteRow
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetWriteRow(SFSetWriter *writer, SRowInfo *row) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:141,1
    - Dst: tsdbDataFileWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:169,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:170,1
    - Dst: tsdbSttFileWriterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:189,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:190,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:194,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - config
    - writer
    argTypes:
    - SFSetWriterConfig*
    - SFSetWriter**
    constantsTouched: []
    func_position:
      end: 197
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 197
    functionName: tsdbFSetWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - tsdbSttFileWriterOpen
    - TSDB_CHECK_CODE
    - tsdbDataFileWriterOpen
    - taosMemoryCalloc
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetWriterOpen(SFSetWriterConfig *config, SFSetWriter
      **writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttFileWriterIsOpened
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:295,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:300,1
    - Dst: tsdbSttFileWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:296,1
    - Dst: tsdbDataFileWriteTombRecord
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:299,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:297,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:305,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c:305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - writer
    - tombRecord
    argTypes:
    - SFSetWriter*
    - STombRecord*
    constantsTouched: []
    func_position:
      end: 308
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 308
    functionName: tsdbFSetWriteTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFSetRW.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbSttFileWriterIsOpened
    - tsdbSttFileWriteTombRecord
    - tsdbDataFileWriteTombRecord
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSetWriteTombRecord(SFSetWriter *writer, const STombRecord
      *tombRecord) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pTsdb
    - suid
    - uid
    - sver
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 598
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 598
    functionName: tsdbCacheInvalidateSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacheInvalidateSchema(STsdb *pTsdb, tb_uid_t suid, tb_uid_t
      uid, int32_t sver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1304,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1306,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1311,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1309,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1307,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1312,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1314,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1316,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1317,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1322,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - pTsdb
    - uids
    - cid
    - col_type
    argTypes:
    - STsdb*
    - SArray*
    - int16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1324
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1324
    functionName: tsdbCacheNewSTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TARRAY_DATA
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - TARRAY_SIZE
    - tsdbCacheNewTableColumn
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheNewSTableColumn(STsdb *pTsdb, SArray *uids, int16_t
      cid, int8_t col_type) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1971,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1973,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1983,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1996,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1994,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2027,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2030,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2033,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2049,1
    - Dst: tsdbCacheLoadFromRaw
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2045,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2029,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1977,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1988,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2011,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2035,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2043,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2050,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2062,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2051,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1972,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1974,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1978,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2002,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1993,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2011,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2012,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2019,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2021,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2022,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2058,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2034,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1983,1
    - Dst: tsdbCacheGetValuesFromRocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1990,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2009,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1995,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2017,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2021,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2021,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2023,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2040,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2060,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2055,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 89
    argCount: 7
    argNames:
    - pTsdb
    - uid
    - pLastArray
    - remainCols
    - ignoreFromRocks
    - pr
    - ltype
    argTypes:
    - STsdb*
    - tb_uid_t
    - SArray*
    - SArray*
    - SArray*
    - SCacheRowsReader*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2063
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 2063
    functionName: tsdbCacheLoadFromRocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TARRAY_DATA
    - tsdbCacheDeserialize
    - taosArraySet
    - rocksdb_free
    - rocksMayWrite
    - tsdbCacheReallocSLastCol
    - taosMemoryMalloc
    - taosArrayRemove
    - memcpy
    - taosArrayGet
    - TD_VID
    - taosMemoryFreeClear
    - tsdbCachePutToLRU
    - TAOS_CHECK_EXIT
    - tstrerror
    - tsdbCacheLoadFromRaw
    - TAOS_RETURN
    - tsdbError
    - tsdbCacheGetValuesFromRocks
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheLoadFromRocks(STsdb *pTsdb, tb_uid_t uid,
      SArray *pLastArray, SArray *remainCols, SArray *ignoreFromRocks, SCacheRowsReader
      *pr, int8_t ltype) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2687,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2705,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2711,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2721,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2736,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2761,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2762,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2776,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2780,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2781,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2816,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2814,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2802,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2702,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2707,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2714,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2749,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2724,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2759,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2776,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2781,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2794,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2813,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2800,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2699,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2691,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2697,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2687,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2713,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2741,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2751,1
    - Dst: tsdbCacheGetValuesFromRocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2751,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2770,1
    - Dst: tsdbCachePutToRocksdb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2774,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2810,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2708,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2725,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2766,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2775,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2776,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2779,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2787,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2791,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2797,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2812,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2781,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2807,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 109
    argCount: 5
    argNames:
    - pTsdb
    - suid
    - uid
    - sKey
    - eKey
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 2817
      start: 2680
    functionDepth: 0
    functionLinenumber: 2680
    functionLinenumberEnd: 2817
    functionName: tsdbCacheDel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - taosMemoryFree
    - tsdbCacheDeserialize
    - taosLRUCacheLookup
    - taosMemoryCalloc
    - tsdbLRUCacheRelease
    - rocksdb_free
    - rocksMayWrite
    - taosArrayInit
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - tsdbCachePutToRocksdb
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - metaGetTbTSchemaEx
    - COL_VAL_NONE
    - tsdbDebug
    - TD_VID
    - taosMemoryFreeClear
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbCachePutToLRU
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - tsdbCacheGetValuesFromRocks
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheDel(STsdb *pTsdb, tb_uid_t suid, tb_uid_t uid, TSKEY
      sKey, TSKEY eKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3789,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3798,1
    - Dst: COL_VAL_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3797,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3799,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 4
    argNames:
    - pTSchema
    - ppColArray
    - slotIds
    - nCols
    argTypes:
    - STSchema*
    - SArray**
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3805
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 3805
    functionName: initLastColArrayPartial
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - taosArrayPush
    - taosArrayInit
    - COL_VAL_NULL
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initLastColArrayPartial(STSchema *pTSchema, SArray
      **ppColArray, int16_t *slotIds, int nCols) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDestroyTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:614,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:615,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pTsdb
    - suid
    - uid
    - sver
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 616
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 616
    functionName: tsdbUpdateSkm
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tDestroyTSchema
    - metaGetTbTSchemaEx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpdateSkm(STsdb *pTsdb, tb_uid_t suid, tb_uid_t
      uid, int32_t sver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1329,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1333,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1333,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1334,1
    - Dst: tsdbCacheCommitNoLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1331,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1337,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1338,1
    - Dst: tsdbCacheDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1340,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1342,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1342,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1343,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1351,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - pTsdb
    - uids
    - cid
    - hasPrimayKey
    argTypes:
    - STsdb*
    - SArray*
    - int16_t
    - bool
    constantsTouched: []
    func_position:
      end: 1352
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1352
    functionName: tsdbCacheDropSTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbCacheDropTableColumn
    - taosThreadMutexLock
    - TARRAY_DATA
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheCommitNoLock
    - rocksMayWrite
    - TARRAY_SIZE
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheDropSTableColumn(STsdb *pTsdb, SArray *uids, int16_t
      cid, bool hasPrimayKey) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2080,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2081,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2092,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2109,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2127,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2150,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2152,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2155,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2162,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2168,1
    - Dst: tsdbCacheLoadFromRocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2179,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2072,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2089,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2096,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2097,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2098,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2131,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2133,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2137,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2139,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2153,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2088,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2093,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2125,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2149,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2160,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2167,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2174,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2181,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2186,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2192,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2154,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2165,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2075,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2103,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2113,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2118,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2111,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2101,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2120,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2145,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2189,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 112
    argCount: 6
    argNames:
    - pTsdb
    - uid
    - pLastArray
    - pr
    - ltype
    - keyArray
    argTypes:
    - STsdb*
    - tb_uid_t
    - SArray*
    - SCacheRowsReader*
    - int8_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 2193
      start: 2065
    functionDepth: 0
    functionLinenumber: 2065
    functionLinenumberEnd: 2193
    functionName: tsdbCacheGetBatchFromLru
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - TARRAY_DATA
    - taosLRUCacheLookup
    - taosArraySet
    - tsdbLRUCacheRelease
    - taosArrayGetSize
    - taosArrayInit
    - tsdbCacheReallocSLastCol
    - taosArrayDestroy
    - taosArrayRemove
    - taosArrayPush
    - TAOS_CHECK_GOTO
    - COL_VAL_NONE
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_CHECK_EXIT
    - TAOS_RETURN
    - tsdbCacheLoadFromRocks
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheGetBatchFromLru(STsdb *pTsdb, tb_uid_t uid,
      SArray *pLastArray, SCacheRowsReader *pr, int8_t ltype, SArray *keyArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2823,1
    - Dst: tsdbOpenBCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2828,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2830,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2828,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2825,1
    - Dst: tsdbOpenPgCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2830,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2832,1
    - Dst: tsdbOpenRocksCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2832,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2834,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2836,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2840,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2840,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2845,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 2846
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2846
    functionName: tsdbOpenCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbOpenPgCache
    - taosLRUCacheInit
    - taosThreadMutexInit
    - tsdbOpenRocksCache
    - tsdbOpenBCache
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - taosLRUCacheSetStrictCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbOpenCache(STsdb *pTsdb) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3819,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3823,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3842,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3854,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3863,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3890,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3895,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3900,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3936,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3941,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3949,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3983,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3961,1
    - Dst: nextRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3972,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3979,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3821,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3846,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3856,1
    - Dst: nextRowIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3846,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3890,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3906,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3938,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3941,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3958,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3979,1
    - Dst: nextRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3966,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3825,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3830,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3832,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3886,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3887,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3898,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3908,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3931,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3939,1
    - Dst: tsdbCacheFreeSLastColItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3980,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3976,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3969,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3967,1
    - Dst: initLastColArrayPartial
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3819,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3829,1
    - Dst: nextRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3841,1
    - Dst: updateTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3856,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3846,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3892,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3898,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3944,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3945,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3947,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3975,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 127
    argCount: 7
    argNames:
    - uid
    - pTsdb
    - ppLastArray
    - pr
    - aCols
    - nCols
    - slotIds
    argTypes:
    - tb_uid_t
    - STsdb*
    - SArray**
    - SCacheRowsReader*
    - int16_t*
    - int
    - int16_t*
    constantsTouched: []
    func_position:
      end: 3984
      start: 3807
    functionDepth: 0
    functionLinenumber: 3807
    functionLinenumberEnd: 3984
    functionName: mergeLastCid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - nextRowIterGet
    - TARRAY_DATA
    - taosArraySet
    - COL_VAL_IS_VALUE
    - TSDBROW_SVERSION
    - taosArrayInit
    - tsdbCacheReallocSLastCol
    - taosArrayClear
    - taosArrayDestroy
    - tsdbRowGetKey
    - taosArrayRemove
    - initLastColArrayPartial
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - updateTSchema
    - taosArrayDestroyEx
    - nextRowIterOpen
    - TAOS_CHECK_GOTO
    - nextRowIterClose
    - taosArrayGet
    - tsdbCacheFreeSLastColItem
    - tsdbRowGetColVal
    - TD_VID
    - taosArraySearchIdx
    - COL_VAL_VALUE
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - VALUE_SET_TRIVIAL_DATUM
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeLastCid(tb_uid_t uid, STsdb *pTsdb, SArray **ppLastArray,
      SCacheRowsReader *pr, int16_t *aCols, int nCols, int16_t *slotIds) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:448,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:465,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:458,1
    - Dst: tsdbCacheSerializeV0
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:468,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:463,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:482,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:484,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:492,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - pLastCol
    - value
    - size
    argTypes:
    - SLastCol*
    - char**
    - size_t*
    constantsTouched: []
    func_position:
      end: 493
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 493
    functionName: tsdbCacheSerialize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbCacheSerializeV0
    - taosMemoryMalloc
    - memcpy
    - TAOS_RETURN
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheSerialize(SLastCol *pLastCol, char **value,
      size_t *size) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: getBCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4179,1
    - Dst: tsdbCacheLoadBlockS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4188,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4180,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4185,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4183,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4191,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4198,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4204,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4210,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4215,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - pCache
    - pFD
    - handle
    argTypes:
    - SLRUCache*
    - STsdbFD*
    - LRUHandle**
    constantsTouched: []
    func_position:
      end: 4216
      start: 4174
    functionDepth: 0
    functionLinenumber: 4174
    functionLinenumberEnd: 4216
    functionName: tsdbCacheGetBlockS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - getBCacheKey
    - tsdbCacheLoadBlockS3
    - taosLRUCacheInsert
    - taosLRUCacheLookup
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheGetBlockS3(SLRUCache *pCache, STsdbFD *pFD, LRUHandle
      **handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - value
    - pLastCol
    argTypes:
    - char*
    - SLastCol*
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: tsdbCacheDeserializeV0
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheDeserializeV0(char const *value, SLastCol
      *pLastCol) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1818,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1862,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1851,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1882,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1886,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1897,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1898,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1916,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1923,1
    - Dst: tsdbCachePutToRocksdb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1935,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1952,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1953,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1907,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1941,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1836,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1868,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1887,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1888,1
    - Dst: mergeLastRowCid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1896,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1900,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1911,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1937,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1948,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1899,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1956,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1957,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1943,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1954,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1804,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1812,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1819,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1847,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1867,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1880,1
    - Dst: mergeLastCid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1889,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1890,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1898,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1961,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1959,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1951,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1958,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1943,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1896,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1937,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1937,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1811,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1822,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1823,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1824,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1825,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1832,1
    - Dst: IS_LAST_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1843,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1845,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1864,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1888,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1938,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1965,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1963,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1944,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 166
    argCount: 6
    argNames:
    - pTsdb
    - uid
    - pLastArray
    - remainCols
    - pr
    - ltype
    argTypes:
    - STsdb*
    - tb_uid_t
    - SArray*
    - SArray*
    - SCacheRowsReader*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1966
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1966
    functionName: tsdbCacheLoadFromRaw
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArraySet
    - mergeLastRowCid
    - taosArrayGetSize
    - rocksMayWrite
    - taosArrayInit
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosArrayInsert
    - taosArrayPush
    - tsdbCachePutToRocksdb
    - taosArrayGet
    - COL_VAL_NONE
    - mergeLastCid
    - IS_LAST_KEY
    - TD_VID
    - tsdbCachePutToLRU
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheLoadFromRaw(STsdb *pTsdb, tb_uid_t uid, SArray
      *pLastArray, SArray *remainCols, SCacheRowsReader *pr, int8_t ltype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getBCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4223,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pCache
    - pFD
    - pgno
    - handle
    argTypes:
    - SLRUCache*
    - STsdbFD*
    - int64_t
    - LRUHandle**
    constantsTouched: []
    func_position:
      end: 4227
      start: 4218
    functionDepth: 0
    functionLinenumber: 4218
    functionLinenumberEnd: 4227
    functionName: tsdbCacheGetPageS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheLookup
    - getBCacheKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheGetPageS3(SLRUCache *pCache, STsdbFD *pFD, int64_t
      pgno, LRUHandle **handle) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getBCacheKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4234,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4240,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4235,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4244,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4236,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4247,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4253,1
    - Dst: tsdbCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pCache
    - pFD
    - pgno
    - pPage
    argTypes:
    - SLRUCache*
    - STsdbFD*
    - int64_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 4256
      start: 4229
    functionDepth: 0
    functionLinenumber: 4229
    functionLinenumberEnd: 4256
    functionName: tsdbCacheSetPageS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbCacheRelease
    - taosThreadMutexLock
    - getBCacheKey
    - taosMemoryMalloc
    - taosLRUCacheInsert
    - taosLRUCacheLookup
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacheSetPageS3(SLRUCache *pCache, STsdbFD *pFD, int64_t pgno,
      uint8_t *pPage) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 5
    argNames:
    - state
    - a
    - alen
    - b
    - blen
    argTypes:
    - void*
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 170
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 170
    functionName: myCmp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int myCmp(void *state, const char *a, size_t alen, const char
      *b, size_t blen) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:844,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:851,1
    - Dst: reallocVarDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:845,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:850,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:845,1
    - Dst: reallocVarData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:851,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:857,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:858,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:859,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:872,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:873,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:877,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:880,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - pCol
    - pCharge
    argTypes:
    - SLastCol*
    - size_t*
    constantsTouched: []
    func_position:
      end: 881
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 881
    functionName: tsdbCacheReallocSLastCol
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - reallocVarData
    - TAOS_CHECK_EXIT
    - memset
    - memcpy
    - TAOS_RETURN
    - IS_VAR_DATA_TYPE
    - reallocVarDataVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheReallocSLastCol(SLastCol *pCol, size_t *pCharge) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1456,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1483,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1469,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1502,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1504,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1505,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1515,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1527,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1536,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1537,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1551,1
    - Dst: tsdbCachePutToRocksdb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1574,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1577,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1594,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1562,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1593,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1611,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1439,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1451,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1449,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1465,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1474,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1497,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1482,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1499,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1521,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1528,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1611,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1601,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1575,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1583,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1461,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1477,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1509,1
    - Dst: tsdbCacheGetValuesFromRocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1517,1
    - Dst: IS_LAST_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1561,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1561,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1580,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1581,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1581,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1568,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1603,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1575,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1557,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1612,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1615,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1598,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1607,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1534,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1440,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1463,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1466,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1473,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1479,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1489,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1520,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1536,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1549,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1582,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1588,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1571,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1591,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1576,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 151
    argCount: 4
    argNames:
    - pTsdb
    - suid
    - uid
    - updCtxArray
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1616
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1616
    functionName: tsdbCacheUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - taosMemoryFree
    - TARRAY_DATA
    - tsdbCacheDeserialize
    - taosLRUCacheLookup
    - taosMemoryCalloc
    - tsdbLRUCacheRelease
    - COL_VAL_IS_VALUE
    - rocksdb_free
    - rocksMayWrite
    - taosArrayInit
    - taosArrayDestroy
    - COL_VAL_IS_NONE
    - taosArrayPush
    - tsdbCachePutToRocksdb
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - IS_LAST_KEY
    - tRowKeyCompare
    - TD_VID
    - taosMemoryFreeClear
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbCachePutToLRU
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - tsdbCacheGetValuesFromRocks
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t
      uid, SArray *updCtxArray) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3998,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4004,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4009,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4019,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4031,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4040,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4065,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4092,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4106,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4000,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4008,1
    - Dst: updateTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4033,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4023,1
    - Dst: nextRowIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4023,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4060,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4084,1
    - Dst: nextRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4089,1
    - Dst: nextRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4095,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4102,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4098,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4002,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4011,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4046,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4056,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4057,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4060,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4068,1
    - Dst: taosArraySearchIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4070,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4072,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4081,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4103,1
    - Dst: initLastColArrayPartial
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3998,1
    - Dst: nextRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4018,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4033,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4023,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4062,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4068,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4090,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4099,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4102,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 79
    argCount: 7
    argNames:
    - uid
    - pTsdb
    - ppLastArray
    - pr
    - aCols
    - nCols
    - slotIds
    argTypes:
    - tb_uid_t
    - STsdb*
    - SArray**
    - SCacheRowsReader*
    - int16_t*
    - int
    - int16_t*
    constantsTouched: []
    func_position:
      end: 4107
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 4107
    functionName: mergeLastRowCid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - nextRowIterGet
    - TARRAY_DATA
    - taosArraySet
    - TSDBROW_SVERSION
    - taosArrayInit
    - tsdbCacheReallocSLastCol
    - taosArrayClear
    - taosArrayDestroy
    - tsdbRowGetKey
    - taosArrayRemove
    - initLastColArrayPartial
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - updateTSchema
    - taosArrayDestroyEx
    - nextRowIterOpen
    - TAOS_CHECK_GOTO
    - nextRowIterClose
    - taosArrayGet
    - tsdbRowGetColVal
    - TD_VID
    - taosArraySearchIdx
    - COL_VAL_VALUE
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - VALUE_SET_TRIVIAL_DATUM
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mergeLastRowCid(tb_uid_t uid, STsdb *pTsdb, SArray
      **ppLastArray, SCacheRowsReader *pr, int16_t *aCols, int nCols, int16_t *slotIds) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_comparator_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:175,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:177,1
    - Dst: rocksdb_options_set_create_if_missing
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:188,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:213,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:225,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:240,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:243,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:256,1
    - Dst: rocksdb_block_based_options_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:180,1
    - Dst: rocksdb_options_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:183,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:185,1
    - Dst: rocksdb_options_set_info_log_level
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:191,1
    - Dst: rocksdb_writeoptions_disable_WAL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:199,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:212,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:212,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:215,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:225,1
    - Dst: rocksdb_close
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:250,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:252,1
    - Dst: rocksdb_writeoptions_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:254,1
    - Dst: rocksdb_options_set_block_based_table_factory
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:190,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:197,1
    - Dst: rocksdb_flushoptions_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:218,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:220,1
    - Dst: rocksdb_writebatch_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:223,1
    - Dst: rocksdb_block_based_options_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:257,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:261,1
    - Dst: rocksdb_options_set_comparator
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:189,1
    - Dst: rocksdb_writeoptions_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:195,1
    - Dst: rocksdb_readoptions_create
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:201,1
    - Dst: rocksdb_open
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:210,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:203,1
    - Dst: tsdbGetRocksPath
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:208,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:246,1
    - Dst: rocksdb_writebatch_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:248,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 262
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 262
    functionName: tsdbOpenRocksCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - rocksdb_flushoptions_create
    - tsdbGetRocksPath
    - rocksdb_options_create
    - rocksdb_readoptions_destroy
    - rocksdb_close
    - rocksdb_options_destroy
    - rocksdb_writebatch_destroy
    - rocksdb_options_set_comparator
    - rocksdb_free
    - rocksdb_writeoptions_destroy
    - rocksdb_writebatch_create
    - taosArrayInit
    - rocksdb_writeoptions_create
    - rocksdb_block_based_options_destroy
    - taosThreadMutexDestroy
    - rocksdb_options_set_create_if_missing
    - rocksdb_writeoptions_disable_WAL
    - TAOS_CHECK_GOTO
    - rocksdb_open
    - rocksdb_options_set_info_log_level
    - rocksdb_comparator_create
    - TD_VID
    - rocksdb_options_set_block_based_table_factory
    - taosThreadMutexInit
    - rocksdb_block_based_options_create
    - TAOS_RETURN
    - rocksdb_comparator_destroy
    - tsdbError
    - rocksdb_readoptions_create
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbOpenRocksCache(STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:886,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:891,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:893,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 895
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 895
    functionName: tsdbCacheFreeSLastColItem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacheFreeSLastColItem(void *pItem) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1638,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1643,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1643,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1646,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1663,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1677,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1711,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1629,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1645,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1652,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1670,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1681,1
    - Dst: tSimpleHashIterateRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1691,1
    - Dst: tsdbCacheUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1700,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1704,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1704,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1707,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1625,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1640,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1656,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1651,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1684,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1689,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1693,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1700,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1709,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1694,1
    - Dst: tsdbUpdateSkm
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1629,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1640,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1662,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1656,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1649,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1658,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1683,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1686,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1688,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1693,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1708,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 75
    argCount: 6
    argNames:
    - pTsdb
    - suid
    - uid
    - version
    - nRow
    - aRow
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - int64_t
    - int32_t
    - SRow**
    constantsTouched: []
    func_position:
      end: 1712
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1712
    functionName: tsdbCacheRowFormatUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - tSimpleHashIterate
    - COL_VAL_IS_VALUE
    - tsdbRowClose
    - TSDBROW_SVERSION
    - tsdbTrace
    - taosArrayClear
    - tsdbRowGetKey
    - tsdbUpdateSkm
    - taosArrayPush
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - COL_VAL_NONE
    - tsdbRowGetColVal
    - tsdbCacheUpdate
    - tSimpleHashInit
    - tSimpleHashIterateRemove
    - TD_VID
    - tSimpleHashPut
    - tsdbRowIterNext
    - tstrerror
    - TAOS_RETURN
    - tsdbRowIterOpen
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheRowFormatUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t
      uid, int64_t version, int32_t nRow, SRow **aRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pCache
    - h
    argTypes:
    - SLRUCache*
    - LRUHandle*
    constantsTouched: []
    func_position:
      end: 4109
      start: 4109
    functionDepth: 0
    functionLinenumber: 4109
    functionLinenumberEnd: 4109
    functionName: tsdbCacheRelease
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbLRUCacheRelease
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacheRelease(SLRUCache *pCache, LRUHandle *h) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_close
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:266,1
    - Dst: rocksdb_flushoptions_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:268,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:267,1
    - Dst: rocksdb_writebatch_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:269,1
    - Dst: rocksdb_readoptions_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:270,1
    - Dst: rocksdb_writeoptions_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:271,1
    - Dst: rocksdb_options_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:272,1
    - Dst: rocksdb_block_based_options_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:273,1
    - Dst: rocksdb_comparator_destroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:274,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:275,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: tsdbCloseRocksCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - rocksdb_block_based_options_destroy
    - taosMemoryFree
    - rocksdb_writeoptions_destroy
    - taosThreadMutexDestroy
    - taosArrayDestroy
    - rocksdb_readoptions_destroy
    - rocksdb_close
    - rocksdb_options_destroy
    - rocksdb_comparator_destroy
    - rocksdb_flushoptions_destroy
    - rocksdb_writebatch_destroy
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCloseRocksCache(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheApply
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:954,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:959,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:959,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:956,1
    - Dst: rocksdb_flush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:957,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:960,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:964,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 965
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 965
    functionName: tsdbCacheCommitNoLock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - rocksdb_flush
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - rocksdb_free
    - rocksMayWrite
    - taosLRUCacheApply
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheCommitNoLock(STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rocksdb_writebatch_count
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:284,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:290,1
    - Dst: rocksdb_write
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:288,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:292,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:290,1
    - Dst: rocksdb_writebatch_clear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pTsdb
    - force
    argTypes:
    - STsdb*
    - bool
    constantsTouched: []
    func_position:
      end: 298
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 298
    functionName: rocksMayWrite
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - rocksdb_write
    - rocksdb_writebatch_count
    - TD_VID
    - tsdbError
    - rocksdb_writebatch_clear
    - rocksdb_free
    linkageType: ''
    returnType: void
    signature: 'static void rocksMayWrite(STsdb *pTsdb, bool force) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:970,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:974,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:977,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:972,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:979,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:980,1
    - Dst: rocksdb_multi_get
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:983,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:986,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:988,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:993,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 20
    argCount: 6
    argNames:
    - pTsdb
    - numKeys
    - ppKeysList
    - pKeysListSizes
    - pppValuesList
    - ppValuesListSizes
    argTypes:
    - STsdb*
    - size_t
    - char**
    - size_t*
    - char***
    - size_t**
    constantsTouched: []
    func_position:
      end: 994
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 994
    functionName: tsdbCacheGetValuesFromRocks
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - rocksdb_multi_get
    - TAOS_RETURN
    - rocksdb_free
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheGetValuesFromRocks(STsdb *pTsdb, size_t numKeys,
      const char *const *ppKeysList, size_t *pKeysListSizes, char ***pppValuesList,
      size_t **ppValuesListSizes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:77,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:84,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:79,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:90,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:82,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:90,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:90,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: tsdbOpenPgCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosLRUCacheInit
    - taosThreadMutexInit
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - taosLRUCacheSetStrictCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbOpenPgCache(STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:35,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:37,1
    - Dst: taosLRUCacheSetStrictCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:40,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:42,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:48,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:48,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:49,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: tsdbOpenBCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosLRUCacheInit
    - taosThreadMutexInit
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - taosLRUCacheSetStrictCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbOpenBCache(STsdb *pTsdb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:763,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:767,1
    - Dst: tsdbMemTableSaveToCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:763,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:767,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:767,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:769,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:769,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 773
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 773
    functionName: tsdbCacheUpdateFromIMem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbInfo
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - tsdbMemTableSaveToCache
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheUpdateFromIMem(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCacheSerialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1394,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1394,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1394,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1395,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1399,1
    - Dst: rocksdb_writebatch_put
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1400,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1401,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1405,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pTsdb
    - pLastKey
    - pLastCol
    argTypes:
    - STsdb*
    - SLastKey*
    - SLastCol*
    constantsTouched: []
    func_position:
      end: 1406
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1406
    functionName: tsdbCachePutToRocksdb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - tsdbCacheSerialize
    - rocksdb_writebatch_put
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCachePutToRocksdb(STsdb *pTsdb, SLastKey *pLastKey,
      SLastCol *pLastCol) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2484,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2486,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2490,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pSrc
    - ppDst
    argTypes:
    - STSchema*
    - STSchema**
    constantsTouched: []
    func_position:
      end: 2491
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2491
    functionName: cloneTSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - memcpy
    - TAOS_RETURN
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cloneTSchema(STSchema *pSrc, STSchema **ppDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:59,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:60,1
    - Dst: taosLRUCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:62,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:60,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:61,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:63,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:63,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:65,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 70
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 70
    functionName: tsdbCloseBCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheGetElems
    - taosThreadMutexDestroy
    - taosLRUCacheEraseUnrefEntries
    - TD_VID
    - tsdbTrace
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCloseBCache(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:100,1
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:102,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:101,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:101,1
    - Dst: taosLRUCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:103,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:104,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:104,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:106,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: tsdbClosePgCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheGetElems
    - taosThreadMutexDestroy
    - taosLRUCacheEraseUnrefEntries
    - TD_VID
    - tsdbTrace
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'static void tsdbClosePgCache(STsdb *pTsdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCacheUpdateFromIMem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:784,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:786,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:786,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:788,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:786,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:796,1
    - Dst: taosLRUCacheApply
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:798,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:801,1
    - Dst: rocksdb_flush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:802,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:804,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:808,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:812,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:807,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 813
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 813
    functionName: tsdbCacheCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - rocksdb_flush
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - rocksdb_free
    - rocksMayWrite
    - tsdbCacheUpdateFromIMem
    - taosLRUCacheApply
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheCommit(STsdb *pTsdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1411,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1424,1
    - Dst: taosLRUCacheInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1421,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1419,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1419,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1424,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1431,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1432,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1435,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pTsdb
    - pLastKey
    - pLastCol
    - dirty
    argTypes:
    - STsdb*
    - SLastKey*
    - SLastCol*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1436
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1436
    functionName: tsdbCachePutToLRU
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbCacheReallocSLastCol
    - taosMemoryFree
    - taosLRUCacheInsert
    - taosMemoryCalloc
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCachePutToLRU(STsdb *pTsdb, SLastKey *pLastKey,
      SLastCol *pLastCol, int8_t dirty) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2499,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2502,1
    - Dst: cloneTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2503,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2504,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - sversion
    - pReader
    - uid
    argTypes:
    - int32_t
    - SCacheRowsReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2505
      start: 2493
    functionDepth: 0
    functionLinenumber: 2493
    functionLinenumberEnd: 2505
    functionName: updateTSchema
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - TAOS_RETURN
    - cloneTSchema
    - metaGetTbTSchemaEx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t updateTSchema(int32_t sversion, SCacheRowsReader *pReader,
      uint64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCachePutToRocksdb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:503,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:505,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:505,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:511,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:505,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 4
    argNames:
    - key
    - klen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: tsdbCacheFlushDirty
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TD_VID
    - tsdbError
    - rocksMayWrite
    - tsdbCachePutToRocksdb
    linkageType: ''
    returnType: int
    signature: 'int tsdbCacheFlushDirty(const void *key, size_t klen, void *value,
      void *ud) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1152,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1153,1
    - Dst: tsdbCacheDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1166,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1193,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1200,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1192,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1204,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1197,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1148,1
    - Dst: tsdbCacheCommitNoLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1150,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1169,1
    - Dst: tsdbCacheDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1190,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1152,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1176,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1202,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1192,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - pTsdb
    - uid
    - suid
    - pSchemaRow
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 1205
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1205
    functionName: tsdbCacheDropTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbCacheDropTableColumn
    - taosMemoryFree
    - taosThreadMutexLock
    - metaGetTbTSchemaEx
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheCommitNoLock
    - rocksMayWrite
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheDropTable(STsdb *pTsdb, tb_uid_t uid, tb_uid_t suid,
      SSchemaWrapper *pSchemaRow) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2520,1
    - Dst: updateTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2529,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2538,1
    - Dst: IS_LAST_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2553,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2541,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2552,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2554,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2556,1
    - Dst: tsdbCacheFreeSLastColItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2558,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2569,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2611,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2620,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2614,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2624,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2618,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2646,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2643,1
    - Dst: memRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2648,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2527,1
    - Dst: memRowIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2522,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2529,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2536,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2540,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2559,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2566,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2573,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2575,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2593,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2630,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2633,1
    - Dst: memRowIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2635,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2641,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2617,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2641,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2627,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2514,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2520,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2538,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2553,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2556,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2573,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2587,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2588,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2591,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2600,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2580,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2624,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2609,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2641,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2542,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2544,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2562,1
    - Dst: tsdbCacheReallocSLastCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2566,1
    - Dst: tsdbCacheFreeSLastColItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2568,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2579,1
    - Dst: memRowIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2594,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2596,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2602,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2611,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2630,1
    - Dst: updateTSchema
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2602,1
    - Dst: tsdbCacheFreeSLastColItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2626,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2615,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 128
    argCount: 5
    argNames:
    - pTsdb
    - uid
    - pLastArray
    - pr
    - keyArray
    argTypes:
    - STsdb*
    - tb_uid_t
    - SArray*
    - SCacheRowsReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2651
      start: 2507
    functionDepth: 0
    functionLinenumber: 2507
    functionLinenumberEnd: 2651
    functionName: tsdbCacheGetBatchFromMem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TARRAY_DATA
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - taosArraySet
    - COL_VAL_IS_VALUE
    - tsdbRowClose
    - TSDBROW_SVERSION
    - tsdbCacheReallocSLastCol
    - tsdbRowGetKey
    - COL_VAL_IS_NONE
    - tSimpleHashGet
    - updateTSchema
    - taosGetDefaultHashFunction
    - memRowIterGet
    - tsdbCacheFreeSLastColItem
    - IS_LAST_KEY
    - tSimpleHashInit
    - tRowKeyCompare
    - TD_VID
    - tSimpleHashPut
    - memRowIterClose
    - tSimpleHashRemove
    - memRowIterOpen
    - TAOS_CHECK_EXIT
    - tsdbRowIterNext
    - tstrerror
    - TAOS_RETURN
    - tsdbRowIterOpen
    - tsdbError
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheGetBatchFromMem(STsdb *pTsdb, tb_uid_t uid,
      SArray *pLastArray, SCacheRowsReader *pr, SArray *keyArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: metaReaderDoInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2877,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2879,1
    - Dst: metaReaderGetTableEntryByUidCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2878,1
    - Dst: metaReaderClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2891,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - uid
    - pTsdb
    argTypes:
    - tb_uid_t
    - STsdb*
    constantsTouched: []
    func_position:
      end: 2894
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2894
    functionName: getTableSuidByUid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - metaReaderDoInit
    - metaReaderGetTableEntryByUidCache
    - metaReaderClear
    linkageType: ''
    returnType: tb_uid_t
    signature: 'static tb_uid_t getTableSuidByUid(tb_uid_t uid, STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3125,1
    - Dst: tMergeTreeGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3132,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - iter
    - ppRow
    argTypes:
    - SFSLastIter*
    - TSDBROW**
    constantsTouched: []
    func_position:
      end: 3137
      start: 3121
    functionDepth: 0
    functionLinenumber: 3121
    functionLinenumberEnd: 3137
    functionName: lastIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tMergeTreeNext
    - TAOS_RETURN
    - tMergeTreeGetRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t lastIterNext(SFSLastIter *iter, TSDBROW **ppRow) '
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: clearLastFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3199,1
    - Dst: loadDataTomb
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3404,1
    - Dst: tsdbRowFromTSRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3480,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3471,1
    - Dst: tsdbRowMergerClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3484,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3497,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3242,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3291,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3323,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3480,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3465,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3249,1
    - Dst: clearLastFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3324,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3429,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3436,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3437,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3466,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3192,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3259,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3471,1
    - Dst: tBrinBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3360,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3448,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3496,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3500,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3354,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3454,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3240,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3263,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3309,1
    - Dst: lastIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3317,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3376,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3478,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3241,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3323,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3474,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3459,1
    - Dst: tsdbRowMergerGetRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3478,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3394,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3436,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3465,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3496,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3206,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3317,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3376,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3420,1
    - Dst: clearLastFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3491,1
    - Dst: lastIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3434,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3470,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3204,1
    - Dst: tsdbDataFileReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3234,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3273,1
    - Dst: clearLastFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3329,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3396,1
    - Dst: tsdbRowMergerInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3463,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3240,1
    - Dst: tsdbDataFileReadBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3245,1
    - Dst: lastIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3287,1
    - Dst: tsdbDataFileReadBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3363,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3234,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3251,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3264,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3394,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3449,1
    - Dst: tBrinBlockClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3372,1
    - Dst: tsdbDataFileReadBlockDataByColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3404,1
    - Dst: tsdbRowMergerAdd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3470,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3254,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3245,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3325,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3486,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3438,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3363,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3287,1
    - Dst: lastIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3291,1
    - Dst: clearLastFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3351,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3467,1
    - Dst: lastIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3321,1
    - Dst: lastIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3429,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 246
    argCount: 6
    argNames:
    - iter
    - ppRow
    - pIgnoreEarlierTs
    - isLast
    - aCols
    - nCols
    argTypes:
    - void*
    - TSDBROW**
    - bool*
    - bool
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3501
      start: 3185
    functionDepth: 0
    functionLinenumber: 3185
    functionLinenumberEnd: 3501
    functionName: getNextRowFromFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbRowMergerClear
    - taosMemoryFree
    - tsdbDataFileReadBrinBlk
    - taosArrayInit
    - taosArrayClear
    - lastIterClose
    - clearLastFileSet
    - TARRAY2_GET
    - lastIterOpen
    - tsdbDataFileReadBlockDataByColumn
    - taosArrayPush
    - TSDBROW_TS
    - tsdbRowMergerInit
    - TARRAY2_SIZE
    - tsdbRowMergerAdd
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - tBrinBlockGet
    - tsdbDataFileReadBrinBlock
    - tBlockDataCreate
    - tsdbRowFromTSRow
    - tsdbDataFileReaderOpen
    - TD_VID
    - loadDataTomb
    - tBlockDataReset
    - tsdbRowMergerGetRow
    - tsdbRowFromBlockData
    - lastIterNext
    - tBrinBlockClear
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - TSDBROW_VERSION
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getNextRowFromFS(void *iter, TSDBROW **ppRow, bool
      *pIgnoreEarlierTs, bool isLast, int16_t *aCols, int nCols) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:520,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:521,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 3
    argNames:
    - key
    - pSkyline
    - iSkyline
    argTypes:
    - TSDBKEY*
    - SArray*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 546
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 546
    functionName: tsdbKeyDeleted
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool tsdbKeyDeleted(TSDBKEY *key, SArray *pSkyline, int64_t
      *iSkyline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:936,1
    - Dst: tsdbCachePutToLRU
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:939,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:941,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:941,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:941,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:944,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - pTsdb
    - uid
    - cid
    - col_type
    - lflag
    argTypes:
    - STsdb*
    - int64_t
    - int16_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: tsdbCacheNewTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - tsdbCachePutToLRU
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheNewTableColumn(STsdb *pTsdb, int64_t uid,
      int16_t cid, int8_t col_type, int8_t lflag) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1210,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1215,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1214,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1214,1
    - Dst: tsdbCacheCommitNoLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1212,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1219,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1221,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1223,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1226,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1227,1
    - Dst: tsdbCacheDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1239,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1241,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1249,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1242,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1247,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1251,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - pTsdb
    - uids
    - suid
    argTypes:
    - STsdb*
    - SArray*
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 1254
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1254
    functionName: tsdbCacheDropSubTables
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbCacheDropTableColumn
    - taosMemoryFree
    - taosThreadMutexLock
    - TARRAY_DATA
    - metaGetTbTSchemaEx
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheCommitNoLock
    - rocksMayWrite
    - TARRAY_SIZE
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheDropSubTables(STsdb *pTsdb, SArray *uids, tb_uid_t
      suid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2657,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2659,1
    - Dst: tsdbCacheGetBatchFromLru
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2665,1
    - Dst: tsdbCacheGetBatchFromMem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2665,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2670,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2670,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2677,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - pTsdb
    - uid
    - pLastArray
    - pr
    - ltype
    argTypes:
    - STsdb*
    - tb_uid_t
    - SArray*
    - SCacheRowsReader*
    - int8_t
    constantsTouched: []
    func_position:
      end: 2678
      start: 2653
    functionDepth: 0
    functionLinenumber: 2653
    functionLinenumberEnd: 2678
    functionName: tsdbCacheGetBatch
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbCacheGetBatchFromLru
    - taosArrayDestroy
    - TAOS_CHECK_EXIT
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - tsdbCacheGetBatchFromMem
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheGetBatch(STsdb *pTsdb, tb_uid_t uid, SArray *pLastArray,
      SCacheRowsReader *pr, int8_t ltype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReadDelDatav1
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2900,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pDelReader
    - pDelIdx
    - aDelData
    argTypes:
    - SDelFReader*
    - SDelIdx*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2904
      start: 2896
    functionDepth: 0
    functionLinenumber: 2896
    functionLinenumberEnd: 2904
    functionName: getTableDelDataFromDelIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbReadDelDatav1
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableDelDataFromDelIdx(SDelFReader *pDelReader,
      SDelIdx *pDelIdx, SArray *aDelData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2346,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - MemNextRowIter*
    constantsTouched: []
    func_position:
      end: 2348
      start: 2334
    functionDepth: 0
    functionLinenumber: 2334
    functionLinenumberEnd: 2348
    functionName: memRowIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void memRowIterClose(MemNextRowIter *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheSetCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pVnode
    - capacity
    argTypes:
    - SVnode*
    - size_t
    constantsTouched: []
    func_position:
      end: 4113
      start: 4111
    functionDepth: 0
    functionLinenumber: 4111
    functionLinenumberEnd: 4113
    functionName: tsdbCacheSetCapacity
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheSetCapacity
    linkageType: ''
    returnType: void
    signature: 'void tsdbCacheSetCapacity(SVnode *pVnode, size_t capacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 2353
      start: 2350
    functionDepth: 0
    functionLinenumber: 2350
    functionLinenumberEnd: 2353
    functionName: freeTableInfoFunc
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void freeTableInfoFunc(void *param) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1011,1
    - Dst: tsdbCacheGetValuesFromRocks
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1031,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1041,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1057,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1068,1
    - Dst: taosLRUCacheErase
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1083,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1088,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1013,1
    - Dst: rocksdb_writebatch_delete
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1048,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1057,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1058,1
    - Dst: rocksdb_writebatch_delete
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1062,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1050,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1064,1
    - Dst: rocksdb_free
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1067,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1084,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1004,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1031,1
    - Dst: tsdbCacheDeserialize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1055,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1043,1
    - Dst: taosLRUCacheLookup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1072,1
    - Dst: tsdbLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1074,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1085,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1000,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1006,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1014,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1044,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1081,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1086,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 4
    argNames:
    - pTsdb
    - uid
    - cid
    - hasPrimaryKey
    argTypes:
    - STsdb*
    - int64_t
    - int16_t
    - bool
    constantsTouched: []
    func_position:
      end: 1089
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1089
    functionName: tsdbCacheDropTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosLRUCacheErase
    - taosMemoryFree
    - tsdbCacheDeserialize
    - taosMemoryCalloc
    - taosLRUCacheLookup
    - tstrerror
    - tsdbLRUCacheRelease
    - taosMemoryFreeClear
    - rocksdb_writebatch_delete
    - TAOS_RETURN
    - TD_VID
    - tsdbError
    - rocksdb_free
    - tsdbCacheGetValuesFromRocks
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheDropTableColumn(STsdb *pTsdb, int64_t uid,
      int16_t cid, bool hasPrimaryKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - fid
    - commitID
    - blkno
    - key
    - len
    argTypes:
    - int32_t
    - int64_t
    - int64_t
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 4152
      start: 4139
    functionDepth: 0
    functionLinenumber: 4139
    functionLinenumberEnd: 4152
    functionName: getBCacheKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void getBCacheKey(int32_t fid, int64_t commitID, int64_t blkno,
      char *key, int *len) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1103,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1114,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1127,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1104,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1103,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1106,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1127,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1128,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1130,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1132,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1133,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1140,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1108,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1137,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1142,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1101,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1109,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1125,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - pTsdb
    - uid
    - suid
    - pSchemaRow
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 1143
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1143
    functionName: tsdbCacheNewTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - metaGetTbTSchemaEx
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheNewTableColumn
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheNewTable(STsdb *pTsdb, tb_uid_t uid, tb_uid_t suid,
      const SSchemaWrapper *pSchemaRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4159,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4161,1
    - Dst: tcsGetObjectBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pFD
    - ppBlock
    argTypes:
    - STsdbFD*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 4165
      start: 4154
    functionDepth: 0
    functionLinenumber: 4154
    functionLinenumberEnd: 4165
    functionName: tsdbCacheLoadBlockS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tcsGetObjectBlock
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheLoadBlockS3(STsdbFD *pFD, uint8_t **ppBlock) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2223,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2225,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2236,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2239,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2240,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2242,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2246,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 6
    argNames:
    - iter
    - ppRow
    - pIgnoreEarlierTs
    - isLast
    - aCols
    - nCols
    argTypes:
    - void*
    - TSDBROW**
    - bool*
    - bool
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 2256
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2256
    functionName: getNextRowFromMem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbTbDataIterOpen
    - tsdbTbDataIterNext
    - tsdbTbDataIterGet
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getNextRowFromMem(void *iter, TSDBROW **ppRow, bool
      *pIgnoreEarlierTs, bool isLast, int16_t *aCols, int nCols) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getUidList
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2944,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2947,1
    - Dst: tsdbDataFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2965,1
    - Dst: tsdbSttFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2963,1
    - Dst: getTableLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2969,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2971,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2972,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2976,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2981,1
    - Dst: getTableLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3016,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3023,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3037,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3038,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3050,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3046,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3043,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2982,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 4
    argNames:
    - pTombBlkArray
    - pReader
    - pFileReader
    - isFile
    argTypes:
    - TTombBlkArray*
    - SCacheRowsReader*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 3051
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 3051
    functionName: loadTombFromBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbDataFileReadTombBlock
    - tTombBlockGet
    - tTombBlockDestroy
    - TOMB_BLOCK_SIZE
    - TAOS_RETURN
    - taosArrayPush
    - tsdbSttFileReadTombBlock
    - getUidList
    - taosArrayInit
    - getTableLoadInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadTombFromBlk(const TTombBlkArray *pTombBlkArray,
      SCacheRowsReader *pReader, void *pFileReader, bool isFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3056,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3058,1
    - Dst: loadTombFromBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3058,1
    - Dst: tsdbDataFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3056,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pReader
    - pFileReader
    argTypes:
    - SCacheRowsReader*
    - SDataFileReader*
    constantsTouched: []
    func_position:
      end: 3059
      start: 3053
    functionDepth: 0
    functionLinenumber: 3053
    functionLinenumberEnd: 3059
    functionName: loadDataTomb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - loadTombFromBlk
    - tsdbDataFileReadTombBlk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadDataTomb(SCacheRowsReader *pReader, SDataFileReader
      *pFileReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheGetCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 4116
      start: 4116
    functionDepth: 0
    functionLinenumber: 4116
    functionLinenumberEnd: 4116
    functionName: tsdbCacheGetCapacity
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheGetCapacity
    linkageType: ''
    returnType: size_t
    signature: 'size_t tsdbCacheGetCapacity(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3065,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3067,1
    - Dst: tsdbSttFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3065,1
    - Dst: loadTombFromBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3067,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pTsdbReader
    - pSttFileReader
    - pLoadInfo
    argTypes:
    - STsdbReader*
    - SSttFileReader*
    - SSttBlockLoadInfo*
    constantsTouched: []
    func_position:
      end: 3068
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3068
    functionName: loadSttTomb
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbSttFileReadTombBlk
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - loadTombFromBlk
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t loadSttTomb(STsdbReader *pTsdbReader, SSttFileReader
      *pSttFileReader, SSttBlockLoadInfo *pLoadInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:552,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:553,1
    - Dst: tsdbKeyDeleted
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:555,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pTbIter
    - pSkyline
    - piSkyline
    argTypes:
    - STbDataIter*
    - SArray*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 562
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 562
    functionName: tsdbImemGetNextRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbTbDataIterGet
    - tsdbTbDataIterNext
    - tsdbKeyDeleted
    - TSDBROW_KEY
    linkageType: ''
    returnType: TSDBROW*
    signature: 'static TSDBROW *tsdbImemGetNextRow(STbDataIter *pTbIter, SArray *pSkyline,
      int64_t *piSkyline) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCacheFlushDirty
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:901,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:903,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:910,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:903,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:909,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:914,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:916,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:919,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - key
    - klen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 920
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 920
    functionName: tsdbCacheDeleter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsdbCacheFlushDirty
    - TD_VID
    - IS_VAR_DATA_TYPE
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCacheDeleter(const void *key, size_t klen, void *value,
      void *ud) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:640,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:651,1
    - Dst: tsdbImemGetFirstRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:654,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:672,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:665,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:676,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:678,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:690,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:703,1
    - Dst: tsdbUpdateSkm
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:704,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:713,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:732,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:710,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:717,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:741,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:637,1
    - Dst: loadMemTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:640,1
    - Dst: tsdbBuildDeleteSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:650,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:667,1
    - Dst: tsdbUpdateSkm
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:661,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:660,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:694,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:708,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:710,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:716,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:737,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:720,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:728,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:734,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:744,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:647,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:685,1
    - Dst: tsdbImemGetNextRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:697,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:699,1
    - Dst: tsdbImemGetNextRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:725,1
    - Dst: tsdbCacheUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:728,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:747,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:704,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:689,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:713,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:732,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:732,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:645,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:643,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:650,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:670,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:661,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:670,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:667,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:673,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:679,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:683,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:714,1
    - Dst: tSimpleHashRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:720,1
    - Dst: COL_VAL_IS_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:714,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:723,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:739,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 108
    argCount: 3
    argNames:
    - imem
    - suid
    - uid
    argTypes:
    - SMemTable*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 748
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 748
    functionName: tsdbLoadFromImem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - COL_VAL_IS_VALUE
    - taosArrayGetSize
    - TSDBROW_SVERSION
    - tsdbBuildDeleteSkyline
    - tsdbRowClose
    - taosArrayInit
    - taosArrayClear
    - loadMemTombData
    - tsdbRowGetKey
    - tsdbImemGetFirstRow
    - taosArrayDestroy
    - tSimpleHashGet
    - tsdbUpdateSkm
    - taosArrayPush
    - tsdbImemGetNextRow
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - tsdbCacheUpdate
    - tSimpleHashInit
    - TD_VID
    - tSimpleHashPut
    - tSimpleHashRemove
    - TAOS_CHECK_EXIT
    - tsdbRowIterNext
    - tstrerror
    - TAOS_RETURN
    - tsdbRowIterOpen
    - tsdbError
    - tsdbGetTbDataFromMemTable
    - TARRAY_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbLoadFromImem(SMemTable *imem, int64_t suid, int64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - key
    - klen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 925
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 925
    functionName: tsdbCacheOverWriter
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCacheOverWriter(const void *key, size_t klen, void
      *value, void *ud) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2357,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2357,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2368,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2366,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2362,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2370,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pReader
    - uid
    argTypes:
    - SCacheRowsReader*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 2379
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2379
    functionName: getTableLoadInfo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tSimpleHashGet
    - tSimpleHashInit
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: STableLoadInfo*
    signature: 'static STableLoadInfo *getTableLoadInfo(SCacheRowsReader *pReader,
      uint64_t uid) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2431,1
    - Dst: getTableLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2438,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2453,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2455,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2413,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2442,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2387,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2410,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2434,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2450,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2443,1
    - Dst: tsdbBuildDeleteSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2452,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2476,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2476,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2435,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2439,1
    - Dst: tsdbKeyDeleted
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2447,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 4
    argNames:
    - pIter
    - isLast
    - aCols
    - nCols
    argTypes:
    - MemNextRowIter*
    - bool
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 2480
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2480
    functionName: memRowIterGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbRowGetKey
    - tsdbKeyDeleted
    - TSDBROW_KEY
    - taosArrayAddAll
    - tstrerror
    - TSDB_CHECK_NULL
    - tRowKeyCompare
    - tsdbError
    - taosArrayGetSize
    - tsdbBuildDeleteSkyline
    - TARRAY_SIZE
    - taosArrayInit
    - getTableLoadInfo
    linkageType: ''
    returnType: TSDBROW*
    signature: 'static TSDBROW *memRowIterGet(MemNextRowIter *pIter, bool isLast,
      int16_t *aCols, int nCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:131,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:134,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pTsdb
    - path
    argTypes:
    - STsdb*
    - char*
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: tsdbGetRocksPath
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void tsdbGetRocksPath(STsdb *pTsdb, char *path) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1364,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1365,1
    - Dst: valueClearDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1368,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1374,1
    - Dst: valueClearDatum
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1378,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - pLastCol
    - cacheStatus
    argTypes:
    - SLastCol*
    - ELastCacheStatus
    constantsTouched: []
    func_position:
      end: 1384
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1384
    functionName: tsdbCacheUpdateLastColToNone
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - IS_VAR_DATA_TYPE
    - taosMemoryFreeClear
    - valueClearDatum
    linkageType: ''
    returnType: void
    signature: 'static void tsdbCacheUpdateLastColToNone(SLastCol *pLastCol, ELastCacheStatus
      cacheStatus) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2291,1
    - Dst: loadMemTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2303,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2303,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2296,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2328,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2328,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2331,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - pIter
    - uid
    - pTsdb
    - pTSchema
    - suid
    - pReadSnap
    - pr
    argTypes:
    - MemNextRowIter*
    - tb_uid_t
    - STsdb*
    - STSchema*
    - tb_uid_t
    - STsdbReadSnap*
    - SCacheRowsReader*
    constantsTouched: []
    func_position:
      end: 2332
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2332
    functionName: memRowIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - loadMemTombData
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - tsdbGetTbDataFromMemTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t memRowIterOpen(MemNextRowIter *pIter, tb_uid_t uid,
      STsdb *pTsdb, STSchema *pTSchema, tb_uid_t suid, STsdbReadSnap *pReadSnap, SCacheRowsReader
      *pr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:569,1
    - Dst: tsdbImemGetNextRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:583,1
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:570,1
    - Dst: tsdbKeyDeleted
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:574,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 5
    argNames:
    - imem
    - pIMem
    - pTbIter
    - pSkyline
    - piSkyline
    argTypes:
    - SMemTable*
    - STbData*
    - STbDataIter*
    - SArray*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 584
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 584
    functionName: tsdbImemGetFirstRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TSDBROW_KEY
    - tsdbTbDataIterOpen
    - tsdbTbDataIterGet
    - tsdbImemGetNextRow
    - tsdbKeyDeleted
    linkageType: ''
    returnType: TSDBROW*
    signature: 'static TSDBROW *tsdbImemGetFirstRow(SMemTable *imem, STbData *pIMem,
      STbDataIter *pTbIter, SArray *pSkyline, int64_t *piSkyline) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1259,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1261,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1263,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1264,1
    - Dst: tsdbCacheNewTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1266,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1268,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1268,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1269,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pTsdb
    - uid
    - cid
    - col_type
    argTypes:
    - STsdb*
    - int64_t
    - int16_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 1275
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1275
    functionName: tsdbCacheNewNTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheNewTableColumn
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheNewNTableColumn(STsdb *pTsdb, int64_t uid, int16_t
      cid, int8_t col_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroySttBlockReader
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3078,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3105,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3101,1
    - Dst: tMergeTreeOpen2
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3101,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3079,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 10
    argNames:
    - iter
    - pFileSet
    - pTsdb
    - pTSchema
    - suid
    - uid
    - pr
    - lastTs
    - aCols
    - nCols
    argTypes:
    - SFSLastIter*
    - STFileSet*
    - STsdb*
    - STSchema*
    - tb_uid_t
    - tb_uid_t
    - SCacheRowsReader*
    - int64_t
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3106
      start: 3075
    functionDepth: 0
    functionLinenumber: 3075
    functionLinenumberEnd: 3106
    functionName: lastIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tMergeTreeOpen2
    - destroySttBlockReader
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t lastIterOpen(SFSLastIter *iter, STFileSet *pFileSet,
      STsdb *pTsdb, STSchema *pTSchema, tb_uid_t suid, tb_uid_t uid, SCacheRowsReader
      *pr, int64_t lastTs, int16_t *aCols, int nCols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1280,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1284,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1284,1
    - Dst: tsdbCacheCommitNoLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1285,1
    - Dst: tsdbCacheDropTableColumn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1288,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1290,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1291,1
    - Dst: rocksMayWrite
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1294,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - pTsdb
    - uid
    - cid
    - hasPrimayKey
    argTypes:
    - STsdb*
    - int64_t
    - int16_t
    - bool
    constantsTouched: []
    func_position:
      end: 1299
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1299
    functionName: tsdbCacheDropNTableColumn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - tsdbCacheDropTableColumn
    - taosThreadMutexLock
    - tstrerror
    - TAOS_RETURN
    - TD_VID
    - tsdbCacheCommitNoLock
    - rocksMayWrite
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheDropNTableColumn(STsdb *pTsdb, int64_t uid, int16_t
      cid, bool hasPrimayKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3112,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - SFSLastIter**
    constantsTouched: []
    func_position:
      end: 3119
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3119
    functionName: lastIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tMergeTreeClose
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t lastIterClose(SFSLastIter **iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:426,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:435,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - value
    - pLastCol
    argTypes:
    - char*
    - SLastCol*
    constantsTouched: []
    func_position:
      end: 444
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 444
    functionName: tsdbCacheSerializeV0
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheSerializeV0(char const *value, SLastCol *pLastCol) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3669,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3673,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - CacheNextRowIter*
    constantsTouched: []
    func_position:
      end: 3675
      start: 3661
    functionDepth: 0
    functionLinenumber: 3661
    functionLinenumberEnd: 3675
    functionName: nextRowIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void nextRowIterClose(CacheNextRowIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:25,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cache
    - handle
    - eraseIfLastRef
    argTypes:
    - SLRUCache*
    - LRUHandle*
    - bool
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: tsdbLRUCacheRelease
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheRelease
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'void tsdbLRUCacheRelease(SLRUCache *cache, LRUHandle *handle, bool
      eraseIfLastRef) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:351,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:365,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:361,1
    - Dst: tsdbCacheDeserializeV0
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:356,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:363,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:381,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:395,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:402,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - value
    - size
    - ppLastCol
    argTypes:
    - char*
    - size_t
    - SLastCol**
    constantsTouched: []
    func_position:
      end: 403
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 403
    functionName: tsdbCacheDeserialize
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - IS_VAR_DATA_TYPE
    - TAOS_RETURN
    - tsdbCacheDeserializeV0
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbCacheDeserialize(char const *value, size_t size,
      SLastCol **ppLastCol) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1720,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1741,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1756,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1764,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1761,1
    - Dst: tsdbRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1773,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1774,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1776,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1781,1
    - Dst: tsdbCacheUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1781,1
    - Dst: metaGetTbTSchemaEx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1723,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1736,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1761,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1777,1
    - Dst: tsdbRowClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1784,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1788,1
    - Dst: TSDBROW_SVERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1721,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1725,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1732,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1760,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1786,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1723,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1727,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1740,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1746,1
    - Dst: tColDataGetBitValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1758,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1765,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1742,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1773,1
    - Dst: tsdbRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1774,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:1785,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - pTsdb
    - suid
    - uid
    - pBlockData
    argTypes:
    - STsdb*
    - tb_uid_t
    - tb_uid_t
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1789
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1789
    functionName: tsdbCacheColFormatUpdate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - tsdbRowClose
    - TSDBROW_SVERSION
    - taosArrayInit
    - tsdbRowGetKey
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - TAOS_CHECK_GOTO
    - metaGetTbTSchemaEx
    - COL_VAL_NONE
    - tsdbCacheUpdate
    - tColDataGetValue
    - tColDataGetBitValue
    - taosMemoryFreeClear
    - tsdbRowFromBlockData
    - COL_VAL_VALUE
    - tsdbRowIterNext
    - TAOS_RETURN
    - tsdbRowIterOpen
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheColFormatUpdate(STsdb *pTsdb, tb_uid_t suid, tb_uid_t
      uid, SBlockData *pBlockData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheEraseUnrefEntries
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2851,1
    - Dst: tsdbCloseBCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2858,1
    - Dst: tsdbClosePgCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2859,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2855,1
    - Dst: taosLRUCacheCleanup
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2853,1
    - Dst: tsdbCloseRocksCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 2861
      start: 2848
    functionDepth: 0
    functionLinenumber: 2848
    functionLinenumberEnd: 2861
    functionName: tsdbCloseCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexDestroy
    - tsdbCloseRocksCache
    - tsdbClosePgCache
    - tsdbCloseBCache
    - taosLRUCacheEraseUnrefEntries
    - taosLRUCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void tsdbCloseCache(STsdb *pTsdb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lastIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3565,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3565,1
    - Dst: tsdbDataFileReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3576,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3571,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3583,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3588,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3593,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - state
    argTypes:
    - SFSNextRowIter*
    constantsTouched: []
    func_position:
      end: 3599
      start: 3561
    functionDepth: 0
    functionLinenumber: 3561
    functionLinenumberEnd: 3599
    functionName: clearLastFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - lastIterClose
    - taosArrayDestroy
    - tBlockDataDestroy
    - tsdbDataFileReaderClose
    - tstrerror
    - tSimpleHashIterate
    - tsdbError
    linkageType: ''
    returnType: void
    signature: 'static void clearLastFileSet(SFSNextRowIter *state) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - uid
    - cacheType
    - key
    - len
    argTypes:
    - tb_uid_t
    - int
    - char*
    - int*
    constantsTouched: []
    func_position:
      end: 2871
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2871
    functionName: getTableCacheKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void getTableCacheKey(tb_uid_t uid, int cacheType, char *key,
      int *len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3528,1
    - Dst: lastIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3529,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3528,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3534,1
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3539,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3544,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3549,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3558,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - iter
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 3559
      start: 3517
    functionDepth: 0
    functionLinenumber: 3517
    functionLinenumberEnd: 3559
    functionName: clearNextRowFromFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - lastIterClose
    - taosArrayDestroy
    - tBlockDataDestroy
    - tstrerror
    - TAOS_RETURN
    - tsdbError
    - tBrinBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t clearNextRowFromFS(void *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3608,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3658,1
    - Dst: tsdbGetTbDataFromMemTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3613,1
    - Dst: loadMemTombData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3620,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 9
    argNames:
    - pIter
    - uid
    - pTsdb
    - pTSchema
    - suid
    - pLDataIterArray
    - pReadSnap
    - lastTs
    - pr
    argTypes:
    - CacheNextRowIter*
    - tb_uid_t
    - STsdb*
    - STSchema*
    - tb_uid_t
    - SArray*
    - STsdbReadSnap*
    - int64_t
    - SCacheRowsReader*
    constantsTouched: []
    func_position:
      end: 3659
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3659
    functionName: nextRowIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - loadMemTombData
    - TAOS_RETURN
    - tsdbGetTbDataFromMemTable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nextRowIterOpen(CacheNextRowIter *pIter, tb_uid_t uid,
      STsdb *pTsdb, STSchema *pTSchema, tb_uid_t suid, SArray *pLDataIterArray, STsdbReadSnap
      *pReadSnap, int64_t lastTs, SCacheRowsReader *pr) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3716,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3735,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3754,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3757,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3747,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3759,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3776,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3785,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3713,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3743,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3751,1
    - Dst: tsdbKeyDeleted
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3762,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3782,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3782,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3701,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3738,1
    - Dst: getTableLoadInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3742,1
    - Dst: tsdbBuildDeleteSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3756,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3750,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3739,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:3746,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 82
    argCount: 6
    argNames:
    - pIter
    - ppRow
    - pIgnoreEarlierTs
    - isLast
    - aCols
    - nCols
    argTypes:
    - CacheNextRowIter*
    - TSDBROW**
    - bool*
    - bool
    - int16_t*
    - int
    constantsTouched: []
    func_position:
      end: 3786
      start: 3678
    functionDepth: 0
    functionLinenumber: 3678
    functionLinenumberEnd: 3786
    functionName: nextRowIterGet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbRowGetKey
    - tsdbKeyDeleted
    - TSDBROW_KEY
    - taosArrayAddAll
    - tstrerror
    - TSDB_CHECK_NULL
    - TAOS_RETURN
    - tRowKeyCompare
    - tsdbError
    - taosArrayGetSize
    - tsdbBuildDeleteSkyline
    - TARRAY_SIZE
    - taosArrayInit
    - getTableLoadInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t nextRowIterGet(CacheNextRowIter *pIter, TSDBROW **ppRow,
      bool *pIgnoreEarlierTs, bool isLast, int16_t *aCols, int nCols) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: myCmpName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *myCmpName(void *state) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:816,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:831,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:820,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:825,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pValue
    argTypes:
    - SValue*
    constantsTouched: []
    func_position:
      end: 832
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 832
    functionName: reallocVarDataVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - IS_VAR_DATA_TYPE
    - memcpy
    - TAOS_RETURN
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reallocVarDataVal(SValue *pValue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2911,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2912,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2916,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pTbData
    - aDelData
    argTypes:
    - STbData*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2917
      start: 2906
    functionDepth: 0
    functionLinenumber: 2906
    functionLinenumberEnd: 2917
    functionName: getTableDelDataFromTbData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTableDelDataFromTbData(STbData *pTbData, SArray
      *aDelData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheGetUsage
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 4126
      start: 4119
    functionDepth: 0
    functionLinenumber: 4119
    functionLinenumberEnd: 4126
    functionName: tsdbCacheGetUsage
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheGetUsage
    linkageType: ''
    returnType: size_t
    signature: 'size_t tsdbCacheGetUsage(SVnode *pVnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2923,1
    - Dst: taosSort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:2933,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pReader
    argTypes:
    - SCacheRowsReader*
    constantsTouched: []
    func_position:
      end: 2937
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2937
    functionName: getUidList
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosSort
    - taosMemoryMalloc
    linkageType: ''
    returnType: uint64_t*
    signature: 'static uint64_t *getUidList(SCacheRowsReader *pReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - state
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    functionName: myCmpDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void myCmpDestroy(void *state) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reallocVarDataVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:834,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pColVal
    argTypes:
    - SColVal*
    constantsTouched: []
    func_position:
      end: 834
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 834
    functionName: reallocVarData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - reallocVarDataVal
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t reallocVarData(SColVal *pColVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheGetElems
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnode*
    constantsTouched: []
    func_position:
      end: 4135
      start: 4128
    functionDepth: 0
    functionLinenumber: 4128
    functionLinenumberEnd: 4135
    functionName: tsdbCacheGetElems
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheGetElems
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCacheGetElems(SVnode *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c:4171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - key
    - keyLen
    - value
    - ud
    argTypes:
    - void*
    - size_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 4172
      start: 4167
    functionDepth: 0
    functionLinenumber: 4167
    functionLinenumberEnd: 4172
    functionName: deleteBCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void deleteBCache(const void *key, size_t keyLen, void *value,
      void *ud) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pTsdb
    - pCfg
    argTypes:
    - STsdb*
    - STsdbCfg*
    constantsTouched: []
    func_position:
      end: 30
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 30
    functionName: tsdbSetKeepCfg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbSetKeepCfg(STsdb *pTsdb, STsdbCfg *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestamp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:35,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: tsdbGetEarliestTs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c
    functionUses: []
    functionsReached:
    - taosGetTimestamp
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tsdbGetEarliestTs(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:108,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:111,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:108,1
    - Dst: tsdbMemTableDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:112,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:114,1
    - Dst: tsdbCloseFS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:116,1
    - Dst: tsdbCloseCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:117,1
    - Dst: tsdbCloseCompMonitor
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:119,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:121,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb**
    constantsTouched: []
    func_position:
      end: 125
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 125
    functionName: tsdbClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c
    functionUses: []
    functionsReached:
    - tsdbMemTableDestroy
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - tsdbDebug
    - tsdbCloseCompMonitor
    - tsdbCloseFS
    - TD_VID
    - taosMemoryFreeClear
    - tsdbCloseCache
    linkageType: ''
    returnType: void
    signature: 'void tsdbClose(STsdb **pTsdb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSetKeepCfg
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:61,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:69,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:84,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:95,1
    - Dst: tsdbDebug
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:97,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:47,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:47,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:50,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:56,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:59,1
    - Dst: tsdbOpenCache
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:83,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:77,1
    - Dst: tsdbOpenFS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:76,1
    - Dst: tsdbCloseFS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:93,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:94,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:52,1
    - Dst: tfsMkdir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:68,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:87,1
    - Dst: tsdbOpenCompMonitor
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:87,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:92,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:92,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:63,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:72,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:71,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 6
    argNames:
    - pVnode
    - ppTsdb
    - dir
    - pKeepCfg
    - rollback
    - force
    argTypes:
    - SVnode*
    - STsdb**
    - char*
    - STsdbKeepCfg*
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 103
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 103
    functionName: tsdbOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbOpen.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadMutexDestroy
    - tsdbCloseFS
    - tsdbSetKeepCfg
    - TAOS_CHECK_RETURN
    - tsdbOpenCompMonitor
    - memcpy
    - TAOS_CHECK_GOTO
    - TSDB_CHECK_CODE
    - tsdbDebug
    - TD_VID
    - tfsMkdir
    - taosMkDir
    - snprintf
    - taosThreadMutexInit
    - tstrerror
    - strlen
    - tsdbError
    - tsdbOpenFS
    - tsdbOpenCache
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbOpen(SVnode *pVnode, STsdb **ppTsdb, const char *dir,
      STsdbKeepCfg *pKeepCfg, int8_t rollback, bool force) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SL_GET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:252,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:259,1
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:254,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:262,1
    - Dst: SL_GET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:260,1
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:263,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - pTbData
    - pFrom
    - backward
    - pIter
    argTypes:
    - STbData*
    - STsdbRowKey*
    - int8_t
    - STbDataIter*
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: tsdbTbDataIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_GET_NODE_FORWARD
    - SL_GET_NODE_BACKWARD
    - tbDataMovePosTo
    linkageType: ''
    returnType: void
    signature: 'void tsdbTbDataIterOpen(STbData *pTbData, STsdbRowKey *pFrom, int8_t
      backward, STbDataIter *pIter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SL_GET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:471,1
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:500,1
    - Dst: tsdbRowKeyCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:475,1
    - Dst: SL_GET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:480,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:473,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:502,1
    - Dst: tsdbRowKeyCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:504,1
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:509,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - pTbData
    - pos
    - pKey
    - flags
    argTypes:
    - STbData*
    - SMemSkipListNode**
    - STsdbRowKey*
    - int32_t
    constantsTouched: []
    func_position:
      end: 517
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 517
    functionName: tbDataMovePosTo
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - tsdbRowKeyCmpr
    - SL_GET_NODE_FORWARD
    - tsdbRowGetKey
    - SL_GET_NODE_BACKWARD
    linkageType: ''
    returnType: void
    signature: 'static void tbDataMovePosTo(STbData *pTbData, SMemSkipListNode **pos,
      STsdbRowKey *pKey, int32_t flags) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SL_GET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:275,1
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:284,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - STbDataIter*
    constantsTouched: []
    func_position:
      end: 291
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 291
    functionName: tsdbTbDataIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_GET_NODE_FORWARD
    - SL_GET_NODE_BACKWARD
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbTbDataIterNext(STbDataIter *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:521,1
    - Dst: taosRandR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pSl
    argTypes:
    - SMemSkipList*
    constantsTouched: []
    func_position:
      end: 528
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 528
    functionName: tsdbMemSkipListRandLevel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosRandR
    - TMIN
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int8_t tsdbMemSkipListRandLevel(SMemSkipList *pSl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:54,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:59,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:74,1
    - Dst: vnodeBufPoolRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:77,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:71,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pTsdb
    - ppMemTable
    argTypes:
    - STsdb*
    - SMemTable**
    constantsTouched: []
    func_position:
      end: 86
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 86
    functionName: tsdbMemTableCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - vnodeBufPoolRef
    - taosInitRWLatch
    - tRBTreeCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbMemTableCreate(STsdb *pTsdb, SMemTable **ppMemTable) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:764,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:766,1
    - Dst: vnodeBufPoolRegisterQuery
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:769,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:766,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pMemTable
    - pQNode
    argTypes:
    - SMemTable*
    - SQueryNode*
    constantsTouched: []
    func_position:
      end: 773
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 773
    functionName: tsdbRefMemTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - vnodeBufPoolRegisterQuery
    - TD_VID
    - tsdbError
    - atomic_fetch_add_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRefMemTable(SMemTable *pMemTable, SQueryNode *pQNode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:41,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:42,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: tTbDataCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tTbDataCmprFn(const SRBTreeNode *n1, const SRBTreeNode
      *n2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolUnRef
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:90,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pMemTable
    - proactive
    argTypes:
    - SMemTable*
    - bool
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: tsdbMemTableDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - vnodeBufPoolUnRef
    linkageType: ''
    returnType: void
    signature: 'void tsdbMemTableDestroy(SMemTable *pMemTable, bool proactive) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeBufPoolDeregisterQuery
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:777,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:780,1
    - Dst: tsdbMemTableDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - pMemTable
    - pNode
    - proactive
    argTypes:
    - SMemTable*
    - SQueryNode*
    - bool
    constantsTouched: []
    func_position:
      end: 783
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 783
    functionName: tsdbUnrefMemTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - tsdbMemTableDestroy
    - vnodeBufPoolDeregisterQuery
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: void
    signature: 'void tsdbUnrefMemTable(SMemTable *pMemTable, SQueryNode *pNode, bool
      proactive) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 802
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 802
    functionName: tbDataPCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t tbDataPCmprFn(const void *p1, const void
      *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pMemTable
    - suid
    - uid
    argTypes:
    - SMemTable*
    - tb_uid_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 105
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 105
    functionName: tsdbGetTbDataFromMemTableImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - TABS
    linkageType: ''
    returnType: FORCE_INLINE*
    signature: 'static FORCE_INLINE STbData *tsdbGetTbDataFromMemTableImpl(SMemTable
      *pMemTable, tb_uid_t suid, tb_uid_t uid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetOrCreateTbData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:129,1
    - Dst: tsdbInsertRowDataToTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:138,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:144,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:143,1
    - Dst: tsdbInsertColDataToTable
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:136,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 4
    argNames:
    - pTsdb
    - version
    - pSubmitTbData
    - affectedRows
    argTypes:
    - STsdb*
    - int64_t
    - SSubmitTbData*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: tsdbInsertTableData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - tsdbInsertRowDataToTable
    - tsdbGetOrCreateTbData
    - tsdbInsertColDataToTable
    - TMAX
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbInsertTableData(STsdb *pTsdb, int64_t version, SSubmitTbData
      *pSubmitTbData, int32_t *affectedRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:220,1
    - Dst: tsdbTbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - pTbData
    - pFrom
    - backward
    - ppIter
    argTypes:
    - STbData*
    - STsdbRowKey*
    - int8_t
    - STbDataIter**
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: tsdbTbDataIterCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tsdbTbDataIterOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTbDataIterCreate(STbData *pTbData, STsdbRowKey *pFrom,
      int8_t backward, STbDataIter **ppIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SL_GET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pTbData
    argTypes:
    - STbData*
    constantsTouched: []
    func_position:
      end: 307
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 307
    functionName: tsdbCountTbDataRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_GET_NODE_FORWARD
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tsdbCountTbDataRows(STbData *pTbData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:352,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 1
    argNames:
    - pMemTable
    argTypes:
    - SMemTable*
    constantsTouched: []
    func_position:
      end: 378
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 378
    functionName: tsdbMemTableRehash
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - TABS
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTableRehash(SMemTable *pMemTable) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbMemSkipListRandLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:538,1
    - Dst: vnodeBufPoolMallocAligned
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:541,1
    - Dst: SL_NODE_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:539,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:554,1
    - Dst: vnodeBufPoolMallocAligned
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:543,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:560,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:561,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:566,1
    - Dst: SL_SET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:575,1
    - Dst: SL_SET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:576,1
    - Dst: SL_SET_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:585,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:560,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:565,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:566,1
    - Dst: SL_SET_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:584,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 5
    argNames:
    - pMemTable
    - pTbData
    - pos
    - pRow
    - forward
    argTypes:
    - SMemTable*
    - STbData*
    - SMemSkipListNode**
    - TSDBROW*
    - int8_t
    constantsTouched: []
    func_position:
      end: 598
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 598
    functionName: tbDataDoPut
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_NODE_BACKWARD
    - SL_NODE_FORWARD
    - vnodeBufPoolMallocAligned
    - tsdbMemSkipListRandLevel
    - SL_NODE_SIZE
    - memcpy
    - SL_SET_NODE_BACKWARD
    - SL_SET_NODE_FORWARD
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tbDataDoPut(SMemTable *pMemTable, STbData *pTbData,
      SMemSkipListNode **pos, TSDBROW *pRow, int8_t forward) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:704,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:713,1
    - Dst: tbDataDoPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:715,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:705,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:714,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:718,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:723,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:728,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:730,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:731,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:745,1
    - Dst: tsdbCacheRowFormatUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:745,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:744,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:749,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:750,1
    - Dst: tbDataDoPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:734,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 5
    argNames:
    - pMemTable
    - pTbData
    - version
    - pSubmitTbData
    - affectedRows
    argTypes:
    - SMemTable*
    - STbData*
    - int64_t
    - SSubmitTbData*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 757
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 757
    functionName: tsdbInsertRowDataToTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_NODE_BACKWARD
    - tsdbCacheRowFormatUpdate
    - TAOS_UNUSED
    - TARRAY_DATA
    - tsdbRowGetKey
    - tbDataMovePosTo
    - SL_NODE_FORWARD
    - TSDB_CACHE_NO
    - tbDataDoPut
    - TMIN
    - TARRAY_SIZE
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbInsertRowDataToTable(SMemTable *pMemTable, STbData
      *pTbData, int64_t version, SSubmitTbData *pSubmitTbData, int32_t *affectedRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:110,1
    - Dst: tsdbGetTbDataFromMemTableImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:111,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pMemTable
    - suid
    - uid
    argTypes:
    - SMemTable*
    - tb_uid_t
    - tb_uid_t
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: tsdbGetTbDataFromMemTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosRLockLatch
    - taosRUnLockLatch
    - tsdbGetTbDataFromMemTableImpl
    linkageType: ''
    returnType: STbData*
    signature: 'STbData *tsdbGetTbDataFromMemTable(SMemTable *pMemTable, tb_uid_t
      suid, tb_uid_t uid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: metaGetInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:161,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:193,1
    - Dst: vnodeBufPoolMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:177,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:186,1
    - Dst: tsdbGetOrCreateTbData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:171,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:196,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:197,1
    - Dst: tsdbCacheDel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:199,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:200,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:202,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:213,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:205,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:213,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 6
    argNames:
    - pTsdb
    - version
    - suid
    - uid
    - sKey
    - eKey
    argTypes:
    - STsdb*
    - int64_t
    - tb_uid_t
    - tb_uid_t
    - TSKEY
    - TSKEY
    constantsTouched: []
    func_position:
      end: 215
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 215
    functionName: tsdbDeleteTableData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - TMIN
    - tsdbCacheDel
    - tsdbGetOrCreateTbData
    - vnodeBufPoolMalloc
    - tstrerror
    - taosWUnLockLatch
    - TD_VID
    - tsdbError
    - TMAX
    - taosWLockLatch
    - metaGetInfo
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDeleteTableData(STsdb *pTsdb, int64_t version, tb_uid_t
      suid, tb_uid_t uid, TSKEY sKey, TSKEY eKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - STbDataIter*
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: tsdbTbDataIterDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void*
    signature: 'void *tsdbTbDataIterDestroy(STbDataIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:310,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:324,1
    - Dst: tsdbCountTbDataRows
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:320,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pMemTable
    - pTableMap
    - rowsNum
    argTypes:
    - SMemTable*
    - SSHashObj*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 325
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 325
    functionName: tsdbMemTableCountRows
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - taosRLockLatch
    - taosRUnLockLatch
    - tsdbCountTbDataRows
    - tSimpleHashGet
    linkageType: ''
    returnType: void
    signature: 'void tsdbMemTableCountRows(SMemTable *pMemTable, SSHashObj *pTableMap,
      int64_t *rowsNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pMemTable
    - func
    argTypes:
    - SMemTable*
    - void*
    constantsTouched: []
    func_position:
      end: 346
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 346
    functionName: tsdbMemTableSaveToCache
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbMemTableSaveToCache(SMemTable *pMemTable, void *func) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetTbDataFromMemTableImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:384,1
    - Dst: SL_NODE_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:391,1
    - Dst: taosRand
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:402,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:407,1
    - Dst: vnodeBufPoolMallocAligned
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:391,1
    - Dst: SL_NODE_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:407,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:411,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:412,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:414,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:415,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:435,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:424,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:419,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:440,1
    - Dst: tsdbMemTableRehash
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:422,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:434,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:417,1
    - Dst: TABS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:429,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 4
    argNames:
    - pMemTable
    - suid
    - uid
    - ppTbData
    argTypes:
    - SMemTable*
    - tb_uid_t
    - tb_uid_t
    - STbData**
    constantsTouched: []
    func_position:
      end: 449
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 449
    functionName: tsdbGetOrCreateTbData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - SL_NODE_BACKWARD
    - SL_NODE_FORWARD
    - vnodeBufPoolMallocAligned
    - tsdbGetTbDataFromMemTableImpl
    - tRBTreePut
    - SL_NODE_SIZE
    - POINTER_SHIFT
    - taosWUnLockLatch
    - TABS
    - taosRand
    - taosInitRWLatch
    - taosWLockLatch
    - tsdbMemTableRehash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbGetOrCreateTbData(SMemTable *pMemTable, tb_uid_t
      suid, tb_uid_t uid, STbData **ppTbData) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:605,1
    - Dst: TARRAY_DATA
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:606,1
    - Dst: vnodeBufPoolMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:619,1
    - Dst: vnodeBufPoolMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:609,1
    - Dst: tColDataCopy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:643,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:656,1
    - Dst: SL_NODE_BACKWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:662,1
    - Dst: SL_NODE_FORWARD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:668,1
    - Dst: tbDataDoPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:672,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:633,1
    - Dst: vnodeBufPoolMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:636,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:685,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:691,1
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:649,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:666,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:669,1
    - Dst: tsdbCacheColFormatUpdate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:683,1
    - Dst: vnodeBufPoolMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:628,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:653,1
    - Dst: tbDataMovePosTo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:654,1
    - Dst: tbDataDoPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:655,1
    - Dst: TSDB_CACHE_NO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:682,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:684,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c:690,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 79
    argCount: 5
    argNames:
    - pMemTable
    - pTbData
    - version
    - pSubmitTbData
    - affectedRows
    argTypes:
    - SMemTable*
    - STbData*
    - int64_t
    - SSubmitTbData*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 698
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 698
    functionName: tsdbInsertColDataToTable
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached:
    - tColDataCopy
    - SL_NODE_BACKWARD
    - TARRAY_DATA
    - tsdbRowFromBlockData
    - tsdbRowGetKey
    - tbDataMovePosTo
    - SL_NODE_FORWARD
    - tsdbCacheColFormatUpdate
    - TSDB_CACHE_NO
    - vnodeBufPoolMalloc
    - TD_VID
    - tsdbError
    - tbDataDoPut
    - memcpy
    - TMIN
    - TARRAY_SIZE
    - TMAX
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbInsertColDataToTable(SMemTable *pMemTable, STbData
      *pTbData, int64_t version, SSubmitTbData *pSubmitTbData, int32_t *affectedRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pTbData
    argTypes:
    - STbData*
    constantsTouched: []
    func_position:
      end: 759
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 759
    functionName: tsdbGetNRowsInTbData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbMemTable.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetNRowsInTbData(STbData *pTbData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileNamePrefix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:145,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pTsdb
    - did
    - fid
    - pSmaF
    - fname
    argTypes:
    - STsdb*
    - SDiskID
    - int32_t
    - SSmaFile*
    - char
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: tsdbSmaFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - getFileNamePrefix
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tsdbSmaFileName(STsdb *pTsdb, SDiskID did, int32_t fid, SSmaFile
      *pSmaF, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:155,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:157,1
    - Dst: tPutHeadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:160,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:156,1
    - Dst: tPutDataFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:161,1
    - Dst: tPutSmaFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:162,1
    - Dst: tPutU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:165,1
    - Dst: tPutSttFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - p
    - pSet
    argTypes:
    - uint8_t*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: tPutDFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutHeadFile
    - tPutI32v
    - tPutDataFile
    - tPutSttFile
    - tPutSmaFile
    - tPutU8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDFileSet(uint8_t *p, SDFileSet *pSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pDelFile1
    - pDelFile2
    argTypes:
    - SDelFile*
    - SDelFile*
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: tsdbDelFileIsSame
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbDelFileIsSame(SDelFile *pDelFile1, SDelFile *pDelFile2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:176,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:178,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:181,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:177,1
    - Dst: tGetHeadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:186,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:189,1
    - Dst: tGetDataFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:194,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:197,1
    - Dst: tGetSmaFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:202,1
    - Dst: tGetU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:205,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:207,1
    - Dst: tGetSttFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:212,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 2
    argNames:
    - p
    - pSet
    argTypes:
    - uint8_t*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 216
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 216
    functionName: tGetDFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetSttFile
    - tGetI32v
    - taosMemoryCalloc
    - tGetU8
    - tGetDataFile
    - tGetSmaFile
    - tGetHeadFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDFileSet(uint8_t *p, SDFileSet *pSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:21,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:23,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:22,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pHeadFile
    argTypes:
    - uint8_t*
    - SHeadFile*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: tPutHeadFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutHeadFile(uint8_t *p, SHeadFile *pHeadFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:31,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:33,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pHeadFile
    argTypes:
    - uint8_t*
    - SHeadFile*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: tGetHeadFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetHeadFile(uint8_t *p, SHeadFile *pHeadFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:59,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:61,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pSttFile
    argTypes:
    - uint8_t*
    - SSttFile*
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: tPutSttFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutSttFile(uint8_t *p, SSttFile *pSttFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:41,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pDataFile
    argTypes:
    - uint8_t*
    - SDataFile*
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: tPutDataFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDataFile(uint8_t *p, SDataFile *pDataFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfsGetDiskPath
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:96,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:99,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:97,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:103,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:105,1
    - Dst: titoa
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:111,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:111,1
    - Dst: titoa
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:117,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:119,1
    - Dst: titoa
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 5
    argNames:
    - pTsdb
    - did
    - fid
    - commitId
    - fname
    argTypes:
    - STsdb*
    - SDiskID
    - int32_t
    - uint64_t
    - char
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: getFileNamePrefix
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - titoa
    - strlen
    - TD_VID
    - tfsGetDiskPath
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'static char *getFileNamePrefix(STsdb *pTsdb, SDiskID did, int32_t
      fid, uint64_t commitId, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileNamePrefix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:133,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pTsdb
    - did
    - fid
    - pDataF
    - fname
    argTypes:
    - STsdb*
    - SDiskID
    - int32_t
    - SDataFile*
    - char
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: tsdbDataFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - getFileNamePrefix
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tsdbDataFileName(STsdb *pTsdb, SDiskID did, int32_t fid, SDataFile
      *pDataF, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:50,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pDataFile
    argTypes:
    - uint8_t*
    - SDataFile*
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: tGetDataFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetDataFile(uint8_t *p, SDataFile *pDataFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:69,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:70,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pSttFile
    argTypes:
    - uint8_t*
    - SSttFile*
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: tGetSttFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetSttFile(uint8_t *p, SSttFile *pSttFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileNamePrefix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:127,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pTsdb
    - did
    - fid
    - pHeadF
    - fname
    argTypes:
    - STsdb*
    - SDiskID
    - int32_t
    - SHeadFile*
    - char
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: tsdbHeadFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - getFileNamePrefix
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tsdbHeadFileName(STsdb *pTsdb, SDiskID did, int32_t fid, SHeadFile
      *pHeadF, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFileNamePrefix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:139,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 5
    argNames:
    - pTsdb
    - did
    - fid
    - pSttF
    - fname
    argTypes:
    - STsdb*
    - SDiskID
    - int32_t
    - SSttFile*
    - char
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: tsdbSttFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - getFileNamePrefix
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void tsdbSttFileName(STsdb *pTsdb, SDiskID did, int32_t fid, SSttFile
      *pSttF, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:242,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:243,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pDelFile
    argTypes:
    - uint8_t*
    - SDelFile*
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: tGetDelFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDelFile(uint8_t *p, SDelFile *pDelFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:79,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pSmaFile
    argTypes:
    - uint8_t*
    - SSmaFile*
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: tPutSmaFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutSmaFile(uint8_t *p, SSmaFile *pSmaFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:223,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:224,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:225,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pTsdb
    - pFile
    - fname
    argTypes:
    - STsdb*
    - SDelFile*
    - char
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: tsdbDelFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    - TD_VID
    linkageType: ''
    returnType: void
    signature: 'void tsdbDelFileName(STsdb *pTsdb, SDelFile *pFile, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:88,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - p
    - pSmaFile
    argTypes:
    - uint8_t*
    - SSmaFile*
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: tGetSmaFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tGetSmaFile(uint8_t *p, SSmaFile *pSmaFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:232,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:233,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - p
    - pDelFile
    argTypes:
    - uint8_t*
    - SDelFile*
    constantsTouched: []
    func_position:
      end: 237
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 237
    functionName: tPutDelFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile.c
    functionUses: []
    functionsReached:
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDelFile(uint8_t *p, SDelFile *pDelFile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:100,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:106,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:102,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:106,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:100,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:118,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - path
    - pTsdb
    - flag
    - ppFD
    - lcn
    argTypes:
    - char*
    - STsdb*
    - int32_t
    - STsdbFD**
    - int32_t
    constantsTouched: []
    func_position:
      end: 121
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 121
    functionName: tsdbOpenFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryCalloc
    - strlen
    - TD_VID
    - memcpy
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbOpenFile(const char *path, STsdb *pTsdb, int32_t flag,
      STsdbFD **ppFD, int32_t lcn) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:361,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:389,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:375,1
    - Dst: tcsGetObjectBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:391,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:405,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:357,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:362,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:362,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:365,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:382,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:394,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:384,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:395,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:404,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:354,1
    - Dst: vnodeNodeId
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:356,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:380,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:359,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:367,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:371,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:392,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:377,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:404,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 5
    argNames:
    - pFD
    - offset
    - size
    - check
    - ppBlock
    argTypes:
    - STsdbFD*
    - int64_t
    - int64_t
    - bool
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 410
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 410
    functionName: tsdbReadFileBlock
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - snprintf
    - TSDB_CHECK_CODE
    - TAOS_SYSTEM_ERROR
    - taosReadFile
    - taosMemoryFree
    - taosMemoryCalloc
    - tcsGetObjectBlock
    - taosDirEntryBaseName
    - TD_VID
    - tsdbError
    - vnodeNodeId
    - strrchr
    - memcpy
    - TMIN
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReadFileBlock(STsdbFD *pFD, int64_t offset, int64_t
      size, bool check, uint8_t **ppBlock) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:437,1
    - Dst: taosLRUCacheValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:446,1
    - Dst: tsdbCacheRelease
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:448,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:458,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:501,1
    - Dst: PAGE_CONTENT_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:417,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:423,1
    - Dst: tsdbCacheGetPageS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:434,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:491,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:452,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:479,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:513,1
    - Dst: LOGIC_TO_FILE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:418,1
    - Dst: PAGE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:469,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:451,1
    - Dst: tsdbReadFileBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:478,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:495,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:513,1
    - Dst: OFFSET_PGNO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:419,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:439,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:447,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:459,1
    - Dst: tsdbCacheSetPageS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:484,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:494,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:500,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:508,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 103
    argCount: 5
    argNames:
    - pFD
    - offset
    - pBuf
    - size
    - szHint
    argTypes:
    - STsdbFD*
    - int64_t
    - uint8_t*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 519
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 519
    functionName: tsdbReadFileS3
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosLRUCacheValue
    - OFFSET_PGNO
    - TSDB_CHECK_CODE
    - tsdbCacheRelease
    - PAGE_OFFSET
    - tsdbCacheSetPageS3
    - taosMemoryFree
    - tsdbCacheGetPageS3
    - tsdbReadFileBlock
    - PAGE_CONTENT_SIZE
    - LOGIC_TO_FILE_OFFSET
    - taosCheckChecksumWhole
    - TD_VID
    - memcpy
    - TMIN
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReadFileS3(STsdbFD *pFD, int64_t offset, uint8_t
      *pBuf, int64_t size, int64_t szHint) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:798,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:800,1
    - Dst: tsdbDelFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:807,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:808,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:809,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:814,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:814,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:815,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - ppReader
    - pFile
    - pTsdb
    argTypes:
    - SDelFReader**
    - SDelFile*
    - STsdb*
    constantsTouched: []
    func_position:
      end: 820
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 820
    functionName: tsdbDelFReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - tsdbOpenFile
    - taosMemoryCalloc
    - tsdbDelFileName
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDelFReaderOpen(SDelFReader **ppReader, SDelFile *pFile,
      STsdb *pTsdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbOpenFileImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:527,1
    - Dst: tsdbReadFileS3
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:532,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:528,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:533,1
    - Dst: tsdbReadFileImp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:535,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:536,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:541,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - pFD
    - offset
    - pBuf
    - size
    - szHint
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t
    - uint8_t*
    - int64_t
    - int64_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 544
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 544
    functionName: tsdbReadFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbReadFileS3
    - tsdbReadFileImp
    - tsdbOpenFileImpl
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadFile(STsdbFD *pFD, int64_t offset, uint8_t *pBuf,
      int64_t size, int64_t szHint, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:827,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:831,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:829,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - SDelFReader**
    constantsTouched: []
    func_position:
      end: 835
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 835
    functionName: tsdbDelFReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - taosMemoryFree
    - tFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbDelFReaderClose(SDelFReader **ppReader) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:42,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:42,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:60,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:48,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:80,1
    - Dst: sscanf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:37,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:62,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:44,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:86,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:33,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:31,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:39,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:54,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:55,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:75,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:29,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:31,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:36,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:41,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:50,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:51,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:46,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:74,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:86,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 77
    argCount: 1
    argNames:
    - pFD
    argTypes:
    - STsdbFD*
    constantsTouched: []
    func_position:
      end: 89
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 89
    functionName: tsdbOpenFileImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TSDB_CHECK_CODE
    - snprintf
    - TAOS_SYSTEM_ERROR
    - strrchr
    - taosStatFile
    - strncmp
    - tsdbInfo
    - taosMemoryCalloc
    - tstrncpy
    - strlen
    - TD_VID
    - tsdbError
    - taosDirEntryBaseName
    - sscanf
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbOpenFileImpl(STsdbFD *pFD) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:129,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:131,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:127,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:129,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - ppFD
    argTypes:
    - STsdbFD**
    constantsTouched: []
    func_position:
      end: 136
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 136
    functionName: tsdbCloseFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosCloseFile
    - tstrerror
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: void
    signature: 'void tsdbCloseFile(STsdbFD **ppFD) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsdbOpenFileImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:209,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:223,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:225,1
    - Dst: PAGE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:213,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:210,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:229,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:231,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:233,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:249,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:251,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:268,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:253,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:268,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:260,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:261,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 4
    argNames:
    - pFD
    - pgno
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 271
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 271
    functionName: tsdbReadFilePage
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosLSeekFile
    - TSDB_CHECK_CODE
    - PAGE_OFFSET
    - taosReadFile
    - tstrncpy
    - tsdbOpenFileImpl
    - CBC_Decrypt
    - TD_VID
    - taosCheckChecksumWhole
    - memcpy
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReadFilePage(STsdbFD *pFD, int64_t pgno, int32_t
      encryptAlgorithm, char *encryptKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tBufferEnsureCapacity
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:551,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:555,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:552,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:554,1
    - Dst: tBufferGetDataEnd
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:554,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:561,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:561,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 7
    argNames:
    - pFD
    - offset
    - size
    - buffer
    - szHint
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t
    - int64_t
    - SBuffer*
    - int64_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 564
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 564
    functionName: tsdbReadFileToBuffer
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tBufferEnsureCapacity
    - tBufferGetDataEnd
    - TD_VID
    - tsdbReadFile
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadFileToBuffer(STsdbFD *pFD, int64_t offset, int64_t
      size, SBuffer *buffer, int64_t szHint, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbHeadFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:601,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:602,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:625,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:625,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:629,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:631,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:593,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:608,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:613,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:618,1
    - Dst: tsdbDataFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:606,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:607,1
    - Dst: tsdbSmaFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:611,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:612,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:628,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:630,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:632,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:595,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:603,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:625,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:617,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 3
    argNames:
    - ppReader
    - pTsdb
    - pSet
    argTypes:
    - SDataFReader**
    - STsdb*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 638
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 638
    functionName: tsdbDataFReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - TSDB_CHECK_CODE
    - taosMemoryFree
    - tsdbOpenFile
    - taosMemoryCalloc
    - tsdbSmaFileName
    - tsdbSttFileName
    - tsdbDataFileName
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbHeadFileName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFReaderOpen(SDataFReader **ppReader, STsdb *pTsdb,
      SDFileSet *pSet) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbReadDelDatav1
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pReader
    - pDelIdx
    - aDelData
    argTypes:
    - SDelFReader*
    - SDelIdx*
    - SArray*
    constantsTouched: []
    func_position:
      end: 839
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 839
    functionName: tsdbReadDelData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - tsdbReadDelDatav1
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadDelData(SDelFReader *pReader, SDelIdx *pDelIdx, SArray
      *aDelData) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsdbOpenFileImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:143,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:157,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:159,1
    - Dst: PAGE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:148,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:144,1
    - Dst: taosCalcChecksumAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:162,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:163,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:176,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:178,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:180,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:186,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:188,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:199,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 3
    argNames:
    - pFD
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 202
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 202
    functionName: tsdbWriteFilePage
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - CBC_Encrypt
    - taosLSeekFile
    - TSDB_CHECK_CODE
    - PAGE_OFFSET
    - taosWriteFile
    - tstrncpy
    - tsdbOpenFileImpl
    - taosCalcChecksumAppend
    - TD_VID
    - memcpy
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbWriteFilePage(STsdbFD *pFD, int32_t encryptAlgorithm,
      char *encryptKey) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOGIC_TO_FILE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:277,1
    - Dst: tsdbReadFilePage
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:288,1
    - Dst: OFFSET_PGNO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:278,1
    - Dst: tsdbWriteFilePage
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:284,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:285,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:289,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:295,1
    - Dst: PAGE_CONTENT_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:295,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:296,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:305,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 6
    argNames:
    - pFD
    - offset
    - pBuf
    - size
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t
    - uint8_t*
    - int64_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 308
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 308
    functionName: tsdbWriteFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - OFFSET_PGNO
    - TSDB_CHECK_CODE
    - tsdbWriteFilePage
    - PAGE_CONTENT_SIZE
    - LOGIC_TO_FILE_OFFSET
    - TD_VID
    - tsdbReadFilePage
    - memcpy
    - TMIN
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbWriteFile(STsdbFD *pFD, int64_t offset, const uint8_t
      *pBuf, int64_t size, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbWriteFilePage
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:570,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:571,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:573,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:574,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:574,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:579,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pFD
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 582
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 582
    functionName: tsdbFsyncFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - TSDB_CHECK_CODE
    - TAOS_SYSTEM_ERROR
    - tsdbWriteFilePage
    - TD_VID
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFsyncFile(STsdbFD *pFD, int32_t encryptAlgorithm, char
      *encryptKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:644,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:647,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:655,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:660,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:650,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:662,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - ppReader
    argTypes:
    - SDataFReader**
    constantsTouched: []
    func_position:
      end: 664
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 664
    functionName: tsdbDataFReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - taosMemoryFree
    - tFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbDataFReaderClose(SDataFReader **ppReader) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:848,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:852,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:851,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:857,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:858,1
    - Dst: tGetDelData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:864,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:869,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:870,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:875,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:880,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:880,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pReader
    - pDelIdx
    - aDelData
    - maxVer
    argTypes:
    - SDelFReader*
    - SDelIdx*
    - SArray*
    - int64_t
    constantsTouched: []
    func_position:
      end: 883
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 883
    functionName: tsdbReadDelDatav1
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - taosArrayPush
    - TD_VID
    - tsdbReadFile
    - tGetDelData
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadDelDatav1(SDelFReader *pReader, SDelIdx *pDelIdx,
      SArray *aDelData, int64_t maxVer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOGIC_TO_FILE_OFFSET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:315,1
    - Dst: PAGE_CONTENT_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:317,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:321,1
    - Dst: tsdbReadFilePage
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:326,1
    - Dst: OFFSET_PGNO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:316,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:327,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:330,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:331,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:340,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - pFD
    - offset
    - pBuf
    - size
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - STsdbFD*
    - int64_t
    - uint8_t*
    - int64_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 343
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 343
    functionName: tsdbReadFileImp
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - OFFSET_PGNO
    - TSDB_CHECK_CODE
    - PAGE_CONTENT_SIZE
    - LOGIC_TO_FILE_OFFSET
    - TD_VID
    - tsdbReadFilePage
    - memcpy
    - TMIN
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbReadFileImp(STsdbFD *pFD, int64_t offset, uint8_t
      *pBuf, int64_t size, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:673,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:680,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:685,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:686,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:679,1
    - Dst: tGetBlockIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:692,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:694,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:695,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:699,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:704,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pReader
    - aBlockIdx
    argTypes:
    - SDataFReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 707
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 707
    functionName: tsdbReadBlockIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - tGetBlockIdx
    - taosArrayPush
    - TD_VID
    - tsdbReadFile
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadBlockIdx(SDataFReader *pReader, SArray *aBlockIdx) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:716,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:728,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:729,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:722,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:723,1
    - Dst: tGetSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:735,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:737,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:738,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:742,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:747,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - pReader
    - iStt
    - aSttBlk
    argTypes:
    - SDataFReader*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 750
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 750
    functionName: tsdbReadSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - TSDB_ERROR_LOG
    - taosArrayPush
    - tGetSttBlk
    - TD_VID
    - tsdbReadFile
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadSttBlk(SDataFReader *pReader, int32_t iStt, SArray
      *aSttBlk) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:892,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:901,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:895,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:896,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:902,1
    - Dst: tGetDelIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:909,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:911,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:912,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:917,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:922,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:922,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pReader
    - aDelIdx
    argTypes:
    - SDelFReader*
    - SArray*
    constantsTouched: []
    func_position:
      end: 925
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 925
    functionName: tsdbReadDelIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - TSDB_CHECK_CODE
    - tGetDelIdx
    - TSDB_ERROR_LOG
    - taosArrayPush
    - TD_VID
    - tsdbReadFile
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadDelIdx(SDelFReader *pReader, SArray *aDelIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:759,1
    - Dst: tGetMapData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:770,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:760,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:765,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:766,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:773,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:778,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c:778,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pReader
    - pBlockIdx
    - mDataBlk
    argTypes:
    - SDataFReader*
    - SBlockIdx*
    - SMapData*
    constantsTouched: []
    func_position:
      end: 781
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 781
    functionName: tsdbReadDataBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbReaderWriter.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tGetMapData
    - TSDB_ERROR_LOG
    - TD_VID
    - tsdbReadFile
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbReadDataBlk(SDataFReader *pReader, SBlockIdx *pBlockIdx,
      SMapData *mDataBlk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:46,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:48,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:48,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: tsdbRemoveFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tstrerror
    - tsdbInfo
    - taosRemoveFile
    - tsdbError
    linkageType: ''
    returnType: void
    signature: 'void tsdbRemoveFile(const char *fname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_from_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 183
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 183
    functionName: sma_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_from_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sma_from_json(const cJSON *json, STFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:248,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:251,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:258,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:257,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - fobj
    argTypes:
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: tsdbTFileObjRef
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjRef(STFileObj *fobj) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:56,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:71,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:66,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:76,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:61,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:81,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:87,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:92,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 97
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 97
    functionName: tfile_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfile_to_json(const STFile *file, cJSON *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_from_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 184
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 184
    functionName: tomb_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_from_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tomb_from_json(const cJSON *json, STFile *file) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:263,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:272,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:265,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:275,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - fobj
    argTypes:
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: tsdbTFileObjUnref
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - tsdbRemoveFile
    - taosThreadMutexLock
    - tsdbError
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjUnref(STFileObj *fobj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:186,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:192,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:191,1
    - Dst: tfile_from_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: stt_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    - tfile_from_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stt_from_json(const cJSON *json, STFile *file) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:217,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:220,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:221,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:219,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - json
    - ftype
    - f
    argTypes:
    - cJSON*
    - tsdb_ftype_t
    - STFile*
    constantsTouched: []
    func_position:
      end: 228
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 228
    functionName: tsdbJsonToTFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - cJSON_IsObject
    - TAOS_CHECK_RETURN
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbJsonToTFile(const cJSON *json, tsdb_ftype_t ftype, STFile
      *f) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:285,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:299,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:292,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:294,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:296,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:301,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:306,1
    - Dst: taosDirEntryBaseName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:308,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:311,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:313,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:325,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:315,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:323,1
    - Dst: tcsDeleteObjectsByPrefix
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:320,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:328,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:330,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - fobj
    - remove_all
    argTypes:
    - STFileObj*
    - bool
    constantsTouched: []
    func_position:
      end: 333
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 333
    functionName: tsdbTFileObjRemoveLC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - snprintf
    - tsdbRemoveFile
    - tcsDeleteObjectsByPrefix
    - tstrncpy
    - tsdbError
    - taosDirEntryBaseName
    - strrchr
    linkageType: ''
    returnType: void
    signature: 'static void tsdbTFileObjRemoveLC(STFileObj *fobj, bool remove_all) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:354,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:365,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:364,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:358,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:357,1
    - Dst: tsdbTFileObjRemoveLC
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:367,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fobj
    argTypes:
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 371
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 371
    functionName: tsdbTFileObjRemoveUpdateLC
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - tsdbError
    - tsdbTFileObjRemoveLC
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjRemoveUpdateLC(STFileObj *fobj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddObjectToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: tsdbTFileToJson
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - cJSON_AddObjectToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileToJson(const STFile *file, cJSON *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:231,1
    - Dst: vnodeNodeId
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:242,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:240,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pTsdb
    - f
    - fobj
    argTypes:
    - STsdb*
    - STFile*
    - STFileObj**
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: tsdbTFileObjInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - tsdbTFileName
    - taosMemoryMalloc
    - vnodeNodeId
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjInit(STsdb *pTsdb, const STFile *f, STFileObj
      **fobj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:336,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:338,1
    - Dst: tsdbTrace
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:345,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:339,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:344,1
    - Dst: tsdbTFileObjRemoveLC
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:347,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:348,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - fobj
    argTypes:
    - STFileObj*
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: tsdbTFileObjRemove
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - tsdbError
    - tsdbTFileObjRemoveLC
    - tsdbTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjRemove(STFileObj *fobj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:378,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:390,1
    - Dst: tfsGetDiskPath
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:381,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:395,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pTsdb
    - f
    - fname
    argTypes:
    - STsdb*
    - STFile*
    - char
    constantsTouched: []
    func_position:
      end: 400
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 400
    functionName: tsdbTFileName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - snprintf
    - TD_VID
    - tfsGetDiskPath
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileName(STsdb *pTsdb, const STFile *f, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - tsdb_ftype_t
    constantsTouched: []
    func_position:
      end: 459
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 459
    functionName: tsdbFTypeLabel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *tsdbFTypeLabel(tsdb_ftype_t ftype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_to_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 167
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 167
    functionName: data_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_to_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t data_to_json(const STFile *file, cJSON *json) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:103,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:104,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:111,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:119,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:112,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:120,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:127,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:128,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:135,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:136,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:144,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:153,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:159,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:160,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:143,1
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:152,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 164
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 164
    functionName: tfile_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - cJSON_IsNumber
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tfile_from_json(const cJSON *json, STFile *file) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_from_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 181
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 181
    functionName: head_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_from_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t head_from_json(const cJSON *json, STFile *file) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:407,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:425,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:414,1
    - Dst: tfsGetDiskPath
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:410,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:420,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pTsdb
    - f
    - fname
    argTypes:
    - STsdb*
    - STFile*
    - char
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: tsdbTFileLastChunkName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - snprintf
    - TD_VID
    - tfsGetDiskPath
    linkageType: ''
    returnType: void
    signature: 'void tsdbTFileLastChunkName(STsdb *pTsdb, const STFile *f, char fname[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_to_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 166
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 166
    functionName: head_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_to_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t head_to_json(const STFile *file, cJSON *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_to_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 168
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 168
    functionName: sma_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_to_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sma_to_json(const STFile *file, cJSON *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_from_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - json
    - file
    argTypes:
    - cJSON*
    - STFile*
    constantsTouched: []
    func_position:
      end: 182
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 182
    functionName: data_from_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_from_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t data_from_json(const cJSON *json, STFile *file) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - STFile*
    - STFile*
    constantsTouched: []
    func_position:
      end: 441
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 441
    functionName: tsdbIsSameTFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbIsSameTFile(const STFile *f1, const STFile *f2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfile_to_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:169,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    functionName: tomb_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_to_json
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tomb_to_json(const STFile *file, cJSON *json) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - f1
    - f2
    argTypes:
    - STFile*
    - STFile*
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: tsdbIsTFileChanged
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tsdbIsTFileChanged(const STFile *f1, const STFile *f2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:171,1
    - Dst: tfile_to_json
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:171,1
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - file
    - json
    argTypes:
    - STFile*
    - cJSON*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: stt_to_json
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached:
    - tfile_to_json
    - TAOS_CHECK_RETURN
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t stt_to_json(const STFile *file, cJSON *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - fobj1
    - fobj2
    argTypes:
    - STFileObj**
    - STFileObj**
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: tsdbTFileObjCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFile2.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbTFileObjCmpr(const STFileObj **fobj1, const STFileObj
      **fobj2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:22,1
    - Dst: tPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:28,1
    - Dst: tPutDelFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:30,1
    - Dst: tPutU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:34,1
    - Dst: tPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:25,1
    - Dst: tPutDFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:36,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - p
    - pFS
    argTypes:
    - uint8_t*
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: tsdbFSToBinary
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - tPutI8
    - tPutDelFile
    - taosArrayGet
    - tPutDFileSet
    - taosArrayGetSize
    - tPutU32v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSToBinary(uint8_t *p, STsdbFS *pFS) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSToBinary
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:101,1
    - Dst: taosCalcChecksumAppend
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:109,1
    - Dst: tsdbFSToBinary
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:107,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:105,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:102,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:110,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:113,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:115,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:118,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:120,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:123,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:129,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:124,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:132,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:131,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:129,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - pFS
    - fname
    argTypes:
    - STsdbFS*
    - char*
    constantsTouched: []
    func_position:
      end: 134
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 134
    functionName: tsdbSaveFSToFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosMemoryFree
    - taosWriteFile
    - tstrerror
    - tsdbFSToBinary
    - taosCalcChecksumAppend
    - tsdbError
    - taosCloseFileWithLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSaveFSToFile(STsdbFS *pFS, const char *fname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:157,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:158,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pFS
    argTypes:
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: tsdbFSDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void tsdbFSDestroy(STsdbFS *pFS) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: tDFileSetCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDFileSetCmprFn(const void *p1, const void *p2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:300,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:303,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:309,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:310,1
    - Dst: tsdbBinaryToFS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:325,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:330,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:313,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:296,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:306,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:333,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:293,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:302,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:315,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:316,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:330,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:322,1
    - Dst: taosCloseFileWithLog
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:321,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:319,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - fname
    - pFS
    argTypes:
    - char*
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 335
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 335
    functionName: load_fs
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - taosMemoryFree
    - taosReadFile
    - tsdbBinaryToFS
    - tstrerror
    - taosCheckChecksumWhole
    - tsdbError
    - taosFStatFile
    - taosCloseFileWithLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t load_fs(const char *fname, STsdbFS *pFS) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:386,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:395,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:389,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:404,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:398,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:407,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:414,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:417,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:427,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - pTsdb
    - pSetTo
    - pSetFrom
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 430
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 430
    functionName: tsdbNewFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbNewFileSet(STsdb *pTsdb, SDFileSet *pSetTo, SDFileSet
      *pSetFrom) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetCurrentFName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:710,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:715,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:712,1
    - Dst: tsdbFSCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:718,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:715,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:719,1
    - Dst: load_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:721,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:722,1
    - Dst: tsdbFSApplyChange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:725,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:726,1
    - Dst: tsdbFSDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:729,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:731,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:731,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 734
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 734
    functionName: tsdbFSCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFSApplyChange
    - load_fs
    - tsdbFSDestroy
    - tsdbGetCurrentFName
    - taosRenameFile
    - tstrerror
    - taosCheckExistFile
    - tsdbError
    - TD_VID
    - tsdbFSCreate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSCommit(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetCurrentFName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:741,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:742,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:746,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:746,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 749
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 749
    functionName: tsdbFSRollback
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - tsdbRemoveFile
    - tsdbGetCurrentFName
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSRollback(STsdb *pTsdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pFS
    argTypes:
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: tsdbFSCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSCreate(STsdbFS *pFS) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:47,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:66,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:53,1
    - Dst: tGetDelFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:59,1
    - Dst: tGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:51,1
    - Dst: tGetU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:68,1
    - Dst: tGetDFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:72,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:79,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - pData
    - nData
    - pFS
    argTypes:
    - uint8_t*
    - int64_t
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 92
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 92
    functionName: tsdbBinaryToFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - tGetDelFile
    - taosArrayClear
    - tGetU32v
    - taosMemoryCalloc
    - tGetI8
    - taosArrayPush
    - tGetDFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbBinaryToFS(uint8_t *pData, int64_t nData, STsdbFS
      *pFS) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDelFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:178,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:193,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:235,1
    - Dst: tsdbSmaFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:218,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:219,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:206,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:181,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:204,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:187,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:188,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:179,1
    - Dst: tsdbHeadFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:192,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:234,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:252,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:195,1
    - Dst: tsdbDataFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:203,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:237,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:252,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 256
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 256
    functionName: tsdbScanAndTryFixFS
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosArrayGet
    - taosStatFile
    - tsdbSmaFileName
    - tsdbSttFileName
    - tsdbDataFileName
    - tstrerror
    - tsdbDelFileName
    - TD_VID
    - tsdbError
    - taosArrayGetSize
    - tsdbHeadFileName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbScanAndTryFixFS(STsdb *pTsdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:274,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:282,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:275,1
    - Dst: vnodeGetPrimaryDir
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:281,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:276,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:283,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pTsdb
    - current
    - current_t
    argTypes:
    - STsdb*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 285
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 285
    functionName: tsdbGetCurrentFName
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - vnodeGetPrimaryDir
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void tsdbGetCurrentFName(STsdb *pTsdb, char *current, char *current_t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:341,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:345,1
    - Dst: tsdbHeadFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:343,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:348,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:344,1
    - Dst: tsdbDataFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:350,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:352,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:355,1
    - Dst: tsdbSmaFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:359,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:365,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:366,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:358,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:363,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:367,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - pTsdb
    - pSet
    argTypes:
    - STsdb*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 373
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 373
    functionName: tsdbRemoveFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsdbRemoveFile
    - tsdbSmaFileName
    - tsdbSttFileName
    - tsdbDataFileName
    - atomic_sub_fetch_32
    - tsdbHeadFileName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbRemoveFileSet(STsdb *pTsdb, SDFileSet *pSet) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:442,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:468,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:498,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:486,1
    - Dst: tsdbSmaFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:496,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:546,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:549,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:564,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:568,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:556,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:453,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:465,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:521,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:542,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:567,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:574,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:593,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:593,1
    - Dst: tsdbHeadFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:452,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:450,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:454,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:476,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:518,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:520,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:522,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:539,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:541,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:543,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:531,1
    - Dst: tsdbSttFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:566,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:445,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:458,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:473,1
    - Dst: tsdbDataFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:477,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:489,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:497,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:507,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:510,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:528,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:577,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 159
    argCount: 3
    argNames:
    - pTsdb
    - pSetOld
    - pSetNew
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDFileSet*
    constantsTouched: []
    func_position:
      end: 596
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 596
    functionName: tsdbMergeFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - tsdbRemoveFile
    - taosMemoryFree
    - tsdbSmaFileName
    - tsdbSttFileName
    - tsdbDataFileName
    - tstrerror
    - atomic_sub_fetch_32
    - TD_VID
    - tsdbError
    - tsdbHeadFileName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMergeFileSet(STsdb *pTsdb, SDFileSet *pSetOld,
      SDFileSet *pSetNew) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbFSCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:757,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:758,1
    - Dst: load_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:766,1
    - Dst: tsdbGetCurrentFName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:763,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:765,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:767,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:769,1
    - Dst: tsdbFSRollback
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:771,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:772,1
    - Dst: tsdbFSCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:774,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:781,1
    - Dst: tsdbScanAndTryFixFS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:785,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:775,1
    - Dst: tsdbSaveFSToFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:780,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:786,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:790,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:790,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:790,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - pTsdb
    - rollback
    argTypes:
    - STsdb*
    - int8_t
    constantsTouched: []
    func_position:
      end: 793
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 793
    functionName: tsdbFSOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tsdbFSCommit
    - tsdbFSRollback
    - load_fs
    - tsdbSaveFSToFile
    - tsdbScanAndTryFixFS
    - tsdbGetCurrentFName
    - tstrerror
    - taosCheckExistFile
    - tsdbError
    - TD_VID
    - tsdbFSCreate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSOpen(STsdb *pTsdb, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:799,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:806,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:809,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:812,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:816,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:820,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 823
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 823
    functionName: tsdbFSClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFSClose(STsdb *pTsdb) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDelFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:622,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:624,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:630,1
    - Dst: tsdbMergeFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:656,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:657,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:645,1
    - Dst: tsdbNewFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:682,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:683,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:685,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:687,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:634,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:663,1
    - Dst: tsdbRemoveFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:662,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:667,1
    - Dst: taosArrayInsert
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:669,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:697,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:633,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:664,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:644,1
    - Dst: tsdbRemoveFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:678,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:679,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:697,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:610,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:623,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:620,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:613,1
    - Dst: tsdbDelFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:651,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:652,1
    - Dst: tsdbNewFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:666,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:680,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c:697,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 82
    argCount: 2
    argNames:
    - pTsdb
    - pFS
    argTypes:
    - STsdb*
    - STsdbFS*
    constantsTouched: []
    func_position:
      end: 700
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 700
    functionName: tsdbFSApplyChange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbFS.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - taosMemoryMalloc
    - tsdbRemoveFile
    - taosMemoryFree
    - taosArrayGet
    - taosArrayRemove
    - tsdbNewFileSet
    - tstrerror
    - tsdbDelFileName
    - atomic_sub_fetch_32
    - tsdbRemoveFileSet
    - tsdbError
    - TD_VID
    - taosArrayGetSize
    - taosArrayInsert
    - tsdbMergeFileSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbFSApplyChange(STsdb *pTsdb, STsdbFS *pFS) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tPutItemFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:45,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:48,1
    - Dst: tPutItemFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:55,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:50,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - pMapData
    - pItem
    - (*tPutItemFn)
    argTypes:
    - SMapData*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 59
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 59
    functionName: tMapDataPutItem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRealloc
    - tPutItemFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMapDataPutItem(SMapData *pMapData, void *pItem, int32_t (*tPutItemFn)(uint8_t
      *, void *)) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: tCmprBlockIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCmprBlockIdx(void const *lhs, void const *rhs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbKeyCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:342,1
    - Dst: tsdbKeyCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:344,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 349
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 349
    functionName: tDataBlkCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tsdbKeyCmprFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDataBlkCmprFn(const void *p1, const void *p2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRowIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - STSDBRowIter*
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: tsdbRowClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowIterClose
    linkageType: ''
    returnType: void
    signature: 'void tsdbRowClose(STSDBRowIter *pIter) '
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:752,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:772,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:780,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:801,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:794,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:827,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:848,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:845,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:772,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:780,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:801,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:826,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:832,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:840,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:844,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:845,1
    - Dst: COL_VAL_IS_NULL
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:847,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:853,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:757,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:758,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:824,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:837,1
    - Dst: TSDBROW_KEY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:743,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:759,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:778,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:779,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:790,1
    - Dst: COL_VAL_IS_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:822,1
    - Dst: tsdbRowGetColVal
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:819,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:823,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:784,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:836,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:846,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:857,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 121
    argCount: 3
    argNames:
    - pMerger
    - pRow
    - pTSchema
    argTypes:
    - SRowMerger*
    - TSDBROW*
    - STSchema*
    constantsTouched: []
    func_position:
      end: 868
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 868
    functionName: tsdbRowMergerAdd
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - COL_VAL_IS_NONE
    - COL_VAL_NONE
    - taosArraySet
    - TSDBROW_KEY
    - tsdbRowGetColVal
    - tFree
    - COL_VAL_VALUE
    - COL_VAL_IS_NULL
    - taosArrayPush
    - memcpy
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    - VALUE_SET_TRIVIAL_DATUM
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowMergerAdd(SRowMerger *pMerger, TSDBROW *pRow, STSchema
      *pTSchema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRowBuild
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:904,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMerger
    - ppRow
    argTypes:
    - SRowMerger*
    - SRow**
    constantsTouched: []
    func_position:
      end: 905
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 905
    functionName: tsdbRowMergerGetRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowBuild
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowMergerGetRow(SRowMerger *pMerger, SRow **ppRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1130,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1140,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1133,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pBlockData
    - nColData
    argTypes:
    - SBlockData*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1146
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1146
    functionName: tBlockDataAdjustColData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataDestroy
    - taosMemoryRealloc
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tBlockDataAdjustColData(SBlockData *pBlockData, int32_t
      nColData) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tBufferPutU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1513,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1516,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1515,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1517,1
    - Dst: tBufferPutU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1514,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1518,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1519,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1520,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1521,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1523,1
    - Dst: tPutBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1532,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1530,1
    - Dst: tBufferPutU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1525,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 2
    argNames:
    - buffer
    - pHdr
    argTypes:
    - SBuffer*
    - SDiskDataHdr*
    constantsTouched: []
    func_position:
      end: 1537
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1537
    functionName: tPutDiskDataHdr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutBlockCol
    - tBufferPutU32v
    - tBufferPutI64
    - tBufferPutU32
    - tBufferPutI8
    - tBufferPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDiskDataHdr(SBuffer *buffer, const SDiskDataHdr *pHdr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:66,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:71,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:70,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:68,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pFrom
    - pTo
    argTypes:
    - SMapData*
    - SMapData*
    constantsTouched: []
    func_position:
      end: 75
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 75
    functionName: tMapDataCopy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMapDataCopy(SMapData *pFrom, SMapData *pTo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tMapDataGetItemByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:88,1
    - Dst: tItemCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:90,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - pMapData
    - pSearchItem
    - (*tGetItemFn)
    - (*tItemCmprFn)
    - pItem
    argTypes:
    - SMapData*
    - void*
    - int32_t
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 104
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 104
    functionName: tMapDataSearch
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tMapDataGetItemByIdx
    - tItemCmprFn
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMapDataSearch(SMapData *pMapData, void *pSearchItem, int32_t
      (*tGetItemFn)(uint8_t *, void *), int32_t (*tItemCmprFn)(const void *, const
      void *), void *pItem) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 274
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 274
    functionName: tCmprBlockL
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCmprBlockL(void const *lhs, void const *rhs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - pDataBlk
    argTypes:
    - SDataBlk*
    constantsTouched: []
    func_position:
      end: 356
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 356
    functionName: tDataBlkHasSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool tDataBlkHasSma(SDataBlk *pDataBlk) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRowIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:714,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:725,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:718,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:735,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:719,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - STSDBRowIter*
    constantsTouched: []
    func_position:
      end: 738
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 738
    functionName: tsdbRowIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowIterNext
    - tColDataGetValue
    - COL_VAL_VALUE
    - tsdbError
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: SColVal*
    signature: 'SColVal *tsdbRowIterNext(STSDBRowIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:872,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pMerger
    - pSchema
    argTypes:
    - SRowMerger*
    - STSchema*
    constantsTouched: []
    func_position:
      end: 878
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 878
    functionName: tsdbRowMergerInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowMergerInit(SRowMerger *pMerger, STSchema *pSchema) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataAdjustColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1159,1
    - Dst: tBlockDataAdjustColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1189,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1194,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1183,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 5
    argNames:
    - pBlockData
    - pId
    - pTSchema
    - aCid
    - nCid
    argTypes:
    - SBlockData*
    - TABLEID*
    - STSchema*
    - int16_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1200
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1200
    functionName: tBlockDataInit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - tBlockDataAdjustColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataInit(SBlockData *pBlockData, TABLEID *pId, STSchema
      *pTSchema, int16_t *aCid, int32_t nCid) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tBufferGetU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1542,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1546,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1544,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1545,1
    - Dst: tBufferGetU32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1543,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1547,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1548,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1549,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1550,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1553,1
    - Dst: tBufferGetU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1556,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1563,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1561,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - br
    - pHdr
    argTypes:
    - SBufferReader*
    - SDiskDataHdr*
    constantsTouched: []
    func_position:
      end: 1572
      start: 1539
    functionDepth: 0
    functionLinenumber: 1539
    functionLinenumberEnd: 1572
    functionName: tGetDiskDataHdr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBufferGetU32
    - tBufferGetI64
    - tGetBlockCol
    - tBufferGetU32v
    - tBufferGetI32v
    - tBufferGetI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDiskDataHdr(SBufferReader *br, SDiskDataHdr *pHdr) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tRowGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:611,1
    - Dst: VALUE_SET_TRIVIAL_DATUM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:618,1
    - Dst: COL_VAL_VALUE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:619,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:613,1
    - Dst: tBlockDataGetColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:621,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:624,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:625,1
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:628,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - pRow
    - pTSchema
    - iCol
    - pColVal
    argTypes:
    - TSDBROW*
    - STSchema*
    - int32_t
    - SColVal*
    constantsTouched: []
    func_position:
      end: 632
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 632
    functionName: tsdbRowGetColVal
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - tRowGet
    - tColDataGetValue
    - COL_VAL_VALUE
    - tsdbError
    - tBlockDataGetColData
    - VALUE_SET_TRIVIAL_DATUM
    linkageType: ''
    returnType: void
    signature: 'void tsdbRowGetColVal(TSDBROW *pRow, STSchema *pTSchema, int32_t iCol,
      SColVal *pColVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1818,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - set
    - colId
    - alg
    argTypes:
    - SHashObj*
    - int16_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1825
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1825
    functionName: tsdbGetColCmprAlgFromSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbGetColCmprAlgFromSet(SHashObj *set, int16_t colId, uint32_t
      *alg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pBlockData
    - pRow
    - uid
    argTypes:
    - SBlockData*
    - TSDBROW*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1359
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1359
    functionName: tBlockDataTryUpsertRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - TSDBROW_TS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataTryUpsertRow(SBlockData *pBlockData, TSDBROW *pRow,
      int64_t uid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:535,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:536,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 540
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 540
    functionName: tPutDelData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutI64
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDelData(uint8_t *p, void *ph) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1635,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1647,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1657,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1636,1
    - Dst: tCompressDataToBuffer
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1646,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1658,1
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1668,1
    - Dst: tsdbGetColCmprAlgFromSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1677,1
    - Dst: tColDataCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1683,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1684,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 5
    argNames:
    - bData
    - hdr
    - buffer
    - assist
    - compressInfo
    argTypes:
    - SBlockData*
    - SDiskDataHdr*
    - SBuffer*
    - SBuffer*
    - SColCompressInfo*
    constantsTouched: []
    func_position:
      end: 1702
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1702
    functionName: tBlockDataCompressKeyPart
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tCompressDataToBuffer
    - tBlockDataGetColDataByIdx
    - tColDataCompress
    - tsdbGetColCmprAlgFromSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tBlockDataCompressKeyPart(SBlockData *bData, SDiskDataHdr
      *hdr, SBuffer *buffer, SBuffer *assist, SColCompressInfo *compressInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMapData
    argTypes:
    - SMapData*
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: tMapDataReset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tMapDataReset(SMapData *pMapData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetItemFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pMapData
    - idx
    - pItem
    - (*tGetItemFn)
    argTypes:
    - SMapData*
    - int32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: tMapDataGetItemByIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetItemFn
    linkageType: ''
    returnType: void
    signature: 'void tMapDataGetItemByIdx(SMapData *pMapData, int32_t idx, void *pItem,
      int32_t (*tGetItemFn)(uint8_t *, void *)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:312,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:316,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:315,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:314,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:313,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:317,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:318,1
    - Dst: tGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:319,1
    - Dst: tGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:320,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:322,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:324,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:327,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:323,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:328,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 335
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 335
    functionName: tGetDataBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI32v
    - tGetI8
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDataBlk(uint8_t *p, void *ph) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - lhs
    - rhs
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: tCmprDelIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCmprDelIdx(void const *lhs, void const *rhs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:882,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:888,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:884,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:883,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SRowMerger*
    constantsTouched: []
    func_position:
      end: 889
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 889
    functionName: tsdbRowMergerClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - IS_VAR_DATA_TYPE
    - tFree
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void tsdbRowMergerClear(SRowMerger *pMerger) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:967,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:970,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:975,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:969,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:971,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:983,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:987,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:989,1
    - Dst: tsdbBuildDeleteSkylineImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:993,1
    - Dst: tsdbBuildDeleteSkylineImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:996,1
    - Dst: tsdbMergeSkyline
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:999,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1002,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1003,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 4
    argNames:
    - aSkyline
    - sidx
    - eidx
    - pSkyline
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1007
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 1007
    functionName: tsdbBuildDeleteSkylineImpl
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - tsdbMergeSkyline
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayPush
    - tsdbBuildDeleteSkylineImpl
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbBuildDeleteSkylineImpl(SArray *aSkyline, int32_t sidx,
      int32_t eidx, SArray *pSkyline) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pBlockData
    argTypes:
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1108
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1108
    functionName: tBlockDataCreate
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataCreate(SBlockData *pBlockData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - alg
    argTypes:
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1830
      start: 1826
    functionDepth: 0
    functionLinenumber: 1826
    functionLinenumberEnd: 1830
    functionName: tsdbCvtTimestampAlg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t tsdbCvtTimestampAlg(uint32_t alg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:508,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:511,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:509,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: tPutDelIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutI64
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDelIdx(uint8_t *p, void *ph) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:892,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:896,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:895,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:900,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:894,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pMerger
    argTypes:
    - SRowMerger*
    constantsTouched: []
    func_position:
      end: 901
      start: 891
    functionDepth: 0
    functionLinenumber: 891
    functionLinenumberEnd: 901
    functionName: tsdbRowMergerCleanup
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tFree
    - IS_VAR_DATA_TYPE
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void tsdbRowMergerCleanup(SRowMerger *pMerger) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1013,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1026,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1020,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1018,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1024,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1027,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1032,1
    - Dst: tsdbBuildDeleteSkylineImpl
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1038,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1041,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1043,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1044,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1051,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1052,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 4
    argNames:
    - aDelData
    - sidx
    - eidx
    - aSkyline
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1055
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1055
    functionName: tsdbBuildDeleteSkyline
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGetP
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayPush
    - tsdbBuildDeleteSkylineImpl
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbBuildDeleteSkyline(SArray *aDelData, int32_t sidx, int32_t
      eidx, SArray *aSkyline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1111,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1113,1
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1116,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1112,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pBlockData
    argTypes:
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1110
    functionDepth: 0
    functionLinenumber: 1110
    functionLinenumberEnd: 1123
    functionName: tBlockDataDestroy
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataDestroy
    - taosMemoryFree
    - tFree
    linkageType: ''
    returnType: void
    signature: 'void tBlockDataDestroy(SBlockData *pBlockData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfsAllocDiskAtLevel
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1861,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1866,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1867,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1867,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1868,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 4
    argNames:
    - tsdb
    - level
    - label
    - diskId
    argTypes:
    - STsdb*
    - int32_t
    - char*
    - SDiskID*
    constantsTouched: []
    func_position:
      end: 1875
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1875
    functionName: tsdbAllocateDiskAtLevel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tfsAllocDiskAtLevel
    - tstrerror
    - tfsMkdirRecurAt
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbAllocateDiskAtLevel(STsdb *tsdb, int32_t level, const
      char *label, SDiskID *diskId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetColCmprAlgFromSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1401,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1402,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1421,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1419,1
    - Dst: tBlockDataCompressKeyPart
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1420,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1424,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1425,1
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1427,1
    - Dst: tsdbGetColCmprAlgFromSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1439,1
    - Dst: tColDataCompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1445,1
    - Dst: tPutDiskDataHdr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1466,1
    - Dst: tBufferClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1465,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1460,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1467,1
    - Dst: tPutBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1459,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1446,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - bData
    - pCompr
    - buffers
    - assist
    argTypes:
    - SBlockData*
    - void*
    - SBuffer*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 1471
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1471
    functionName: tBlockDataCompress
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - TAOS_UNUSED
    - tPutBlockCol
    - tBlockDataCompressKeyPart
    - tBlockDataGetColDataByIdx
    - tColDataCompress
    - tsdbGetColCmprAlgFromSet
    - tBufferClear
    - tPutDiskDataHdr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataCompress(SBlockData *bData, void *pCompr, SBuffer
      *buffers, SBuffer *assist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:363,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:365,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:364,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:367,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:366,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:368,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:369,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:370,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:371,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:372,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 376
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 376
    functionName: tPutSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutI64
    - tPutI64v
    - tPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutSttBlk(uint8_t *p, void *ph) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 482
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 482
    functionName: tBlockColCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockColCmprFn(const void *p1, const void *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:910,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:919,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:912,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:922,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:918,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:923,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:941,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:946,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:953,1
    - Dst: TARRAY_ELEM_IDX
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:959,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - pSkyline1
    - pSkyline2
    - pSkyline
    argTypes:
    - SArray*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 960
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 960
    functionName: tsdbMergeSkyline
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayGetP
    - TARRAY_ELEM_IDX
    - TMAX
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void tsdbMergeSkyline(SArray *pSkyline1, SArray *pSkyline2,
      SArray *pSkyline) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:116,1
    - Dst: tMapDataGetItemByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:123,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:123,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - pMapData
    - itemSize
    - (*tGetItemFn)
    - ppArray
    argTypes:
    - SMapData*
    - int32_t
    - int32_t
    - SArray**
    constantsTouched: []
    func_position:
      end: 129
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 129
    functionName: tMapDataToArray
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tMapDataGetItemByIdx
    - taosArrayReserve
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMapDataToArray(SMapData *pMapData, int32_t itemSize, int32_t
      (*tGetItemFn)(uint8_t *, void *), SArray **ppArray) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 209
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 209
    functionName: tTABLEIDCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tTABLEIDCmprFn(const void *p1, const void *p2) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:229,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:231,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:230,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: tGetBlockIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI64
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetBlockIdx(uint8_t *p, void *ph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:383,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:386,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:387,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:384,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:385,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:388,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:389,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:390,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:391,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:392,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 396
    functionName: tGetSttBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI64
    - tGetI32v
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetSttBlk(uint8_t *p, void *ph) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRowIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:695,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - pIter
    - pRow
    - pTSchema
    argTypes:
    - STSDBRowIter*
    - TSDBROW*
    - STSchema*
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: tsdbRowIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowIterOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowIterOpen(STSDBRowIter *pIter, TSDBROW *pRow, STSchema
      *pTSchema) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1207,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pBlockData
    argTypes:
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1211
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1211
    functionName: tBlockDataReset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataDestroy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tBlockDataReset(SBlockData *pBlockData) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: COL_VAL_NONE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1260,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1269,1
    - Dst: tColDataAppendValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1261,1
    - Dst: tColDataUpdateValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1267,1
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1263,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 4
    argNames:
    - pBlockData
    - pBlockDataFrom
    - iRow
    - flag
    argTypes:
    - SBlockData*
    - SBlockData*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1279
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1279
    functionName: tBlockDataUpsertBlockRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - COL_VAL_NONE
    - tColDataAppendValue
    - tColDataGetValue
    - tColDataUpdateValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tBlockDataUpsertBlockRow(SBlockData *pBlockData, SBlockData
      *pBlockDataFrom, int32_t iRow, int32_t flag) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1293,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1302,1
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1304,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1298,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1300,1
    - Dst: tRowUpsertColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1307,1
    - Dst: tBlockDataUpsertBlockRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1310,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 4
    argNames:
    - pBlockData
    - pRow
    - pTSchema
    - uid
    argTypes:
    - SBlockData*
    - TSDBROW*
    - STSchema*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1319
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1319
    functionName: tBlockDataAppendRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowUpsertColData
    - tBlockDataUpsertBlockRow
    - TSDBROW_TS
    - TSDBROW_VERSION
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataAppendRow(SBlockData *pBlockData, TSDBROW *pRow,
      STSchema *pTSchema, int64_t uid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:134,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:138,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:144,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - p
    - pMapData
    argTypes:
    - uint8_t*
    - SMapData*
    constantsTouched: []
    func_position:
      end: 150
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 150
    functionName: tPutMapData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - memcpy
    - tPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutMapData(uint8_t *p, SMapData *pMapData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:521,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:522,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:523,1
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:524,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 527
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 527
    functionName: tGetDelIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI64
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDelIdx(uint8_t *p, void *ph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tColDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1216,1
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pBlockData
    argTypes:
    - SBlockData*
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: tBlockDataClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataClear
    - tBlockDataGetColDataByIdx
    linkageType: ''
    returnType: void
    signature: 'void tBlockDataClear(SBlockData *pBlockData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1325,1
    - Dst: tBlockDataUpsertBlockRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1339,1
    - Dst: tRowUpsertColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1335,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 3
    argNames:
    - pBlockData
    - pRow
    - pTSchema
    argTypes:
    - SBlockData*
    - TSDBROW*
    - STSchema*
    constantsTouched: []
    func_position:
      end: 1348
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1348
    functionName: tBlockDataUpdateRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - TSDBROW_VERSION
    - tBlockDataUpsertBlockRow
    - tRowUpsertColData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataUpdateRow(SBlockData *pBlockData, TSDBROW *pRow,
      STSchema *pTSchema) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDBROW_TS
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1362,1
    - Dst: tBlockDataUpdateRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1363,1
    - Dst: tBlockDataAppendRow
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pBlockData
    - pRow
    - pTSchema
    - uid
    argTypes:
    - SBlockData*
    - TSDBROW*
    - STSchema*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1367
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1367
    functionName: tBlockDataUpsertRow
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBlockDataUpdateRow
    - TSDBROW_TS
    - tBlockDataAppendRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataUpsertRow(SBlockData *pBlockData, TSDBROW *pRow,
      STSchema *pTSchema, int64_t uid) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tGetDiskDataHdr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1480,1
    - Dst: tBlockDataDecompressKeyPart
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1489,1
    - Dst: tBlockDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1483,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1481,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1490,1
    - Dst: tGetBlockCol
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1498,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1499,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1501,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - br
    - blockData
    - assist
    argTypes:
    - SBufferReader*
    - SBlockData*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 1507
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1507
    functionName: tBlockDataDecompress
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - tGetBlockCol
    - tGetDiskDataHdr
    - tBlockDataDecompressColData
    - tBlockDataReset
    - tBlockDataDecompressKeyPart
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataDecompress(SBufferReader *br, SBlockData *blockData,
      SBuffer *assist) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tfsAllocDisk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1838,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1840,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1841,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1840,1
    - Dst: tfsMkdirRecurAt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1845,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1846,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - tsdb
    - label
    - expLevel
    - diskId
    argTypes:
    - STsdb*
    - char*
    - int32_t
    - SDiskID*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1854
    functionName: tsdbAllocateDisk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tfsAllocDisk
    - tstrerror
    - tfsMkdirRecurAt
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbAllocateDisk(STsdb *tsdb, const char *label, int32_t expLevel,
      SDiskID *diskId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:686,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:687,1
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: tsdbRowCompareWithoutVersion
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowKeyCompare
    - tsdbRowGetKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowCompareWithoutVersion(const void *p1, const void *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1225,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1234,1
    - Dst: tColDataInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 5
    argNames:
    - pBlockData
    - cid
    - type
    - cflag
    - ppColData
    argTypes:
    - SBlockData*
    - int16_t
    - int8_t
    - int8_t
    - SColData**
    constantsTouched: []
    func_position:
      end: 1238
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1238
    functionName: tBlockDataAddColData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataInit
    - taosMemoryRealloc
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataAddColData(SBlockData *pBlockData, int16_t cid,
      int8_t type, int8_t cflag, SColData **ppColData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDecompressData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1765,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1777,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1779,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1804,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1792,1
    - Dst: tBlockDataDecompressColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1807,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1791,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1765,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1764,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1790,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1763,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1793,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1801,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1766,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1778,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1779,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1780,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1808,1
    - Dst: tDecompressData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 4
    argNames:
    - hdr
    - br
    - blockData
    - assist
    argTypes:
    - SDiskDataHdr*
    - SBufferReader*
    - SBlockData*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 1813
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1813
    functionName: tBlockDataDecompressKeyPart
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - BR_PTR
    - TSDB_CHECK_CODE
    - tBlockDataDecompressColData
    - tRealloc
    - tDecompressData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataDecompressKeyPart(const SDiskDataHdr *hdr, SBufferReader
      *br, SBlockData *blockData, SBuffer *assist) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1579,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1581,1
    - Dst: tBufferPutI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1580,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1582,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1583,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1584,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1585,1
    - Dst: tBufferPutU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1586,1
    - Dst: tBufferPutU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1587,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1589,1
    - Dst: tBufferPutI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1590,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1591,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1593,1
    - Dst: tBufferPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1592,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 2
    argNames:
    - buffer
    - pColAgg
    argTypes:
    - SBuffer*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 1597
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1597
    functionName: tPutColumnDataAgg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBufferPutU64
    - tBufferPutI64
    - tBufferPutI16v
    - tBufferPutU8
    - tBufferPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutColumnDataAgg(SBuffer *buffer, SColumnDataAgg *pColAgg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:32,1
    - Dst: tFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:33,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMapData
    argTypes:
    - SMapData*
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: tMapDataClear
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tFree
    linkageType: ''
    returnType: void
    signature: 'void tMapDataClear(SMapData *pMapData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tMapDataReset
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:158,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:169,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:174,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:162,1
    - Dst: tGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:160,1
    - Dst: tRealloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:175,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:179,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - p
    - pMapData
    - decodedSize
    argTypes:
    - uint8_t*
    - SMapData*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 188
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 188
    functionName: tGetMapData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI32v
    - memcpy
    - tMapDataReset
    - tRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetMapData(uint8_t *p, SMapData *pMapData, int32_t *decodedSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pDataBlk
    argTypes:
    - SDataBlk*
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: tDataBlkReset
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tDataBlkReset(SDataBlk *pDataBlk) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tBufferPutI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:405,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:409,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:406,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:408,1
    - Dst: tBufferPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:407,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:413,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:416,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:417,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:421,1
    - Dst: tBufferPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:424,1
    - Dst: tBufferPutU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:429,1
    - Dst: tBufferPutU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:427,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 35
    argCount: 4
    argNames:
    - buffer
    - pBlockCol
    - ver
    - defaultCmprAlg
    argTypes:
    - SBuffer*
    - SBlockCol*
    - int32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 432
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 432
    functionName: tPutBlockCol
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBufferPutU32
    - IS_VAR_DATA_TYPE
    - tBufferPutI16v
    - tBufferPutI8
    - tBufferPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutBlockCol(SBuffer *buffer, const SBlockCol *pBlockCol,
      int32_t ver, uint32_t defaultCmprAlg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - key
    - minutes
    - precision
    argTypes:
    - TSKEY
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: tsdbKeyFid
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbKeyFid(TSKEY key, int32_t minutes, int8_t precision) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:581,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:590,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:588,1
    - Dst: tsdbKeyFid
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - fid
    - pKeepCfg
    - nowSec
    argTypes:
    - int32_t
    - STsdbKeepCfg*
    - int64_t
    constantsTouched: []
    func_position:
      end: 603
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 603
    functionName: tsdbFidLevel
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tsdbKeyFid
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbFidLevel(int32_t fid, STsdbKeepCfg *pKeepCfg, int64_t
      nowSec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:637,1
    - Dst: tColRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - row
    - key
    argTypes:
    - TSDBROW*
    - STsdbRowKey*
    constantsTouched: []
    func_position:
      end: 642
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 642
    functionName: tsdbRowGetKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowGetKey
    - tColRowGetKey
    linkageType: ''
    returnType: void
    signature: 'void tsdbRowGetKey(TSDBROW *row, STsdbRowKey *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tRowKeyCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:661,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - STsdbRowKey*
    - STsdbRowKey*
    constantsTouched: []
    func_position:
      end: 673
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 673
    functionName: tsdbRowKeyCmpr
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tRowKeyCompare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowKeyCmpr(const STsdbRowKey *key1, const STsdbRowKey
      *key2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:285,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:289,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:287,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:286,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:288,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:290,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:291,1
    - Dst: tPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:292,1
    - Dst: tPutI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:293,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:295,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:296,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:301,1
    - Dst: tPutI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:297,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 49
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 305
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 305
    functionName: tPutDataBlk
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutI8
    - tPutI64v
    - tPutI32v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutDataBlk(uint8_t *p, void *ph) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tBufferGetI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:437,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:438,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:439,1
    - Dst: tBufferGetI8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:440,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:441,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:450,1
    - Dst: IS_VAR_DATA_TYPE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:453,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:454,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:458,1
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:461,1
    - Dst: tBufferGetU32
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:465,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 4
    argNames:
    - br
    - pBlockCol
    - ver
    - defaultCmprAlg
    argTypes:
    - SBufferReader*
    - SBlockCol*
    - int32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: tGetBlockCol
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBufferGetU32
    - tBufferGetI16v
    - tBufferGetI32v
    - IS_VAR_DATA_TYPE
    - tBufferGetI8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetBlockCol(SBufferReader *br, SBlockCol *pBlockCol, int32_t
      ver, uint32_t defaultCmprAlg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tGetI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:547,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:549,1
    - Dst: tGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:548,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: tGetDelData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tGetI64
    - tGetI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetDelData(uint8_t *p, void *ph) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - fid
    - minutes
    - precision
    - minKey
    - maxKey
    argTypes:
    - int32_t
    - int32_t
    - int8_t
    - TSKEY*
    - TSKEY*
    constantsTouched: []
    func_position:
      end: 568
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 568
    functionName: tsdbFidKeyRange
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tsdbFidKeyRange(int32_t fid, int32_t minutes, int8_t precision,
      TSKEY *minKey, TSKEY *maxKey) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tColDataGetValue
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pBlock
    - irow
    - key
    argTypes:
    - SBlockData*
    - int32_t
    - SRowKey*
    constantsTouched: []
    func_position:
      end: 658
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 658
    functionName: tColRowGetPrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tColDataGetValue
    linkageType: ''
    returnType: void
    signature: 'void tColRowGetPrimaryKey(SBlockData *pBlock, int32_t irow, SRowKey
      *key) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:678,1
    - Dst: tsdbRowKeyCmpr
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:680,1
    - Dst: tsdbRowGetKey
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: tsdbRowCompare
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tsdbRowKeyCmpr
    - tsdbRowGetKey
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbRowCompare(const void *p1, const void *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataGetColDataByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pBlockData
    - cid
    argTypes:
    - SBlockData*
    - int16_t
    constantsTouched: []
    func_position:
      end: 1389
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1389
    functionName: tBlockDataGetColData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBlockDataGetColDataByIdx
    linkageType: ''
    returnType: SColData*
    signature: 'SColData *tBlockDataGetColData(SBlockData *pBlockData, int16_t cid) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tBufferGetI32v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1602,1
    - Dst: tBufferGetI16v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1603,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1607,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1606,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1608,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1609,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1610,1
    - Dst: tBufferGetU64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1611,1
    - Dst: tBufferGetU8
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1612,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1614,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1616,1
    - Dst: tBufferGetI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1615,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - br
    - pColAgg
    argTypes:
    - SBufferReader*
    - SColumnDataAgg*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1620
    functionName: tGetColumnDataAgg
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tBufferGetI64
    - tBufferGetI16v
    - tBufferGetU64
    - tBufferGetI32v
    - tBufferGetU8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetColumnDataAgg(SBufferReader *br, SColumnDataAgg *pColAgg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:216,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:219,1
    - Dst: tPutI64v
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:218,1
    - Dst: tPutI64
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - p
    - ph
    argTypes:
    - uint8_t*
    - void*
    constantsTouched: []
    func_position:
      end: 222
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 222
    functionName: tPutBlockIdx
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - tPutI64
    - tPutI64v
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tPutBlockIdx(uint8_t *p, void *ph) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataAddColData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1711,1
    - Dst: tColDataDecompress
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1740,1
    - Dst: BIT1_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1736,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1712,1
    - Dst: BIT2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1731,1
    - Dst: BR_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1740,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c:1741,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - hdr
    - blockCol
    - br
    - blockData
    - assist
    argTypes:
    - SDiskDataHdr*
    - SBlockCol*
    - SBufferReader*
    - SBlockData*
    - SBuffer*
    constantsTouched: []
    func_position:
      end: 1746
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1746
    functionName: tBlockDataDecompressColData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUtil.c
    functionUses: []
    functionsReached:
    - BR_PTR
    - TSDB_CHECK_CODE
    - tColDataDecompress
    - BIT2_SIZE
    - tBlockDataAddColData
    - BIT1_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tBlockDataDecompressColData(const SDiskDataHdr *hdr, const
      SBlockCol *blockCol, SBufferReader *br, SBlockData *blockData, SBuffer *assist) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:195,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:199,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:199,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:199,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:195,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - tsdb
    - pDFileSet
    - reader
    - fset
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDataFReader*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 202
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 202
    functionName: tsdbUpgradeData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbTFileObjInit
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeData(STsdb *tsdb, SDFileSet *pDFileSet,
      SDataFReader *reader, STFileSet *fset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:236,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:243,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:271,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:273,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:285,1
    - Dst: tsdbReadSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:241,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:271,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:285,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:279,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:281,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:297,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:269,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:269,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:274,1
    - Dst: TARRAY2_APPEND_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:274,1
    - Dst: tsdbFileWriteSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:277,1
    - Dst: tsdbFileWriteSttFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:282,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:287,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:289,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:299,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:238,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:241,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:274,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:289,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:292,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:297,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:297,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 6
    argNames:
    - tsdb
    - pDFileSet
    - reader
    - fset
    - iStt
    - lvl
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDataFReader*
    - STFileSet*
    - int32_t
    - SSttLvl*
    constantsTouched: []
    func_position:
      end: 301
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 301
    functionName: tsdbUpgradeSttFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - tsdbFsyncFile
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - tsdbOpenFile
    - tsdbTFileObjInit
    - tsdbReadSttBlk
    - TARRAY2_APPEND_PTR
    - TARRAY2_APPEND
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - TSDB_CHECK_CODE
    - taosArrayGet
    - tsdbFileWriteSttBlk
    - TARRAY2_DESTROY
    - tsdbFileWriteSttFooter
    - TD_VID
    - tstrerror
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeSttFile(STsdb *tsdb, SDFileSet *pDFileSet,
      SDataFReader *reader, STFileSet *fset, int32_t iStt, SSttLvl *lvl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:335,1
    - Dst: tsdbTFileSetInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:340,1
    - Dst: tsdbDataFReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:342,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:362,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:335,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:342,1
    - Dst: tsdbUpgradeHead
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:345,1
    - Dst: tsdbUpgradeData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:348,1
    - Dst: tsdbUpgradeSma
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:351,1
    - Dst: tsdbUpgradeStt
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:355,1
    - Dst: tsdbInfo
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:362,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:366,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:366,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:366,1
    - Dst: tsdbDataFReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:358,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:360,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:340,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:348,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:360,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - tsdb
    - pDFileSet
    - fileSetArray
    argTypes:
    - STsdb*
    - SDFileSet*
    - TFileSetArray*
    constantsTouched: []
    func_position:
      end: 369
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 369
    functionName: tsdbUpgradeFileSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbTFileSetInit
    - tsdbDataFReaderOpen
    - tsdbInfo
    - tsdbUpgradeSma
    - tstrerror
    - tsdbDataFReaderClose
    - TD_VID
    - tsdbUpgradeData
    - tsdbError
    - tsdbUpgradeStt
    - TARRAY2_APPEND
    - tsdbUpgradeHead
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeFileSet(STsdb *tsdb, SDFileSet *pDFileSet,
      TFileSetArray *fileSetArray) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:462,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:461,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:496,1
    - Dst: tsdbUpgradeOpenTombFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:498,1
    - Dst: tsdbUpgradeOpenTombFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:485,1
    - Dst: tsdbFileWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:502,1
    - Dst: tsdbFileWriteSttFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:514,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:523,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:526,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:540,1
    - Dst: tsdbFidKeyRange
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:459,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:481,1
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:483,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:488,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:526,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:533,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:533,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:535,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:538,1
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:539,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:466,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:465,1
    - Dst: tsdbReadDelData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:468,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:471,1
    - Dst: tsdbFileWriteTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:489,1
    - Dst: tTombBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:481,1
    - Dst: tsdbFileWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:517,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:519,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:528,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:536,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:468,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:470,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:485,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:498,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:501,1
    - Dst: tsdbFileWriteTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:509,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:511,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:515,1
    - Dst: tsdbFileWriteTombFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:521,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:533,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 4
    argNames:
    - tsdb
    - reader
    - aDelIdx
    - fset
    argTypes:
    - STsdb*
    - SDelFReader*
    - SArray*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 542
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 542
    functionName: tsdbDumpTombDataToFSet
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - tsdbFsyncFile
    - tTombBlockDestroy
    - tTombBlockPut
    - tsdbReadDelData
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - tsdbFileWriteTombFooter
    - TOMB_BLOCK_SIZE
    - tsdbFileWriteTombBlock
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - TSDB_CHECK_CODE
    - taosArrayGet
    - TARRAY2_DESTROY
    - tsdbFidKeyRange
    - tsdbFileWriteSttFooter
    - TD_VID
    - tBufferDestroy
    - tstrerror
    - ARRAY_SIZE
    - tsdbFileWriteTombBlk
    - tsdbError
    - tsdbUpgradeOpenTombFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDumpTombDataToFSet(STsdb *tsdb, SDelFReader *reader,
      SArray *aDelIdx, STFileSet *fset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:581,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:586,1
    - Dst: tsdbUpgradeFileSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:581,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:581,1
    - Dst: tsdbUpgradeTombFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:586,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:591,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:591,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:591,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - tsdb
    - fileSetArray
    argTypes:
    - STsdb*
    - TFileSetArray*
    constantsTouched: []
    func_position:
      end: 594
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 594
    functionName: tsdbDoUpgradeFileSystem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - tsdbUpgradeFileSet
    - tstrerror
    - TD_VID
    - tsdbError
    - taosArrayGetSize
    - tsdbUpgradeTombFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDoUpgradeFileSystem(STsdb *tsdb, TFileSetArray
      *fileSetArray) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:57,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:58,1
    - Dst: tsdbReadBlockIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:61,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:75,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:79,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:81,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:149,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:164,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:166,1
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:167,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:168,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:63,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:129,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:87,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:143,1
    - Dst: tsdbFileWriteBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:149,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:157,1
    - Dst: ARRAY_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:171,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:170,1
    - Dst: tMapDataClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:169,1
    - Dst: tsdbReadDataBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:87,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:136,1
    - Dst: tMapDataGetItemByIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:91,1
    - Dst: tBrinBlockPut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:129,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:84,1
    - Dst: tsdbFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:144,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:155,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:157,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:164,1
    - Dst: tBufferDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:172,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:61,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:75,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:81,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:85,1
    - Dst: tsdbFileWriteBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:134,1
    - Dst: tsdbFileWriteHeadFooter
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:153,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:159,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 4
    argNames:
    - tsdb
    - pDFileSet
    - reader
    - fset
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDataFReader*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 175
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 175
    functionName: tsdbUpgradeHead
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - tsdbFsyncFile
    - tMapDataGetItemByIdx
    - tsdbTFileName
    - tsdbFileWriteHeadFooter
    - tsdbReadDataBlk
    - taosArrayGetSize
    - tsdbReadBlockIdx
    - taosArrayInit
    - tMapDataClear
    - tsdbFileWriteBrinBlock
    - taosArrayDestroy
    - tsdbOpenFile
    - tBrinBlockPut
    - tsdbTFileObjInit
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - TSDB_CHECK_CODE
    - taosArrayGet
    - TARRAY2_DESTROY
    - tBlockDataDestroy
    - tsdbFileWriteBrinBlk
    - TD_VID
    - tBufferDestroy
    - tstrerror
    - ARRAY_SIZE
    - tsdbError
    - tBrinBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeHead(STsdb *tsdb, SDFileSet *pDFileSet,
      SDataFReader *reader, STFileSet *fset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:315,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:318,1
    - Dst: tsdbSttLvlInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:312,1
    - Dst: tsdbUpgradeSttFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:319,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:319,1
    - Dst: tsdbSttLvlClear
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:321,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:326,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:326,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:326,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - tsdb
    - pDFileSet
    - reader
    - fset
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDataFReader*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 329
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 329
    functionName: tsdbUpgradeStt
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbSttLvlInit
    - tsdbUpgradeSttFile
    - tstrerror
    - tsdbSttLvlClear
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - TARRAY2_APPEND
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeStt(STsdb *tsdb, SDFileSet *pDFileSet, SDataFReader
      *reader, STFileSet *fset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:226,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:222,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:226,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:226,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 4
    argNames:
    - tsdb
    - pDFileSet
    - reader
    - fset
    argTypes:
    - STsdb*
    - SDFileSet*
    - SDataFReader*
    - STFileSet*
    constantsTouched: []
    func_position:
      end: 229
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 229
    functionName: tsdbUpgradeSma
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbTFileObjInit
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeSma(STsdb *tsdb, SDFileSet *pDFileSet, SDataFReader
      *reader, STFileSet *fset) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:375,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:388,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:397,1
    - Dst: TARRAY2_GET
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:393,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:388,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:405,1
    - Dst: tsdbTFileObjInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:407,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:407,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:411,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:419,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:424,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:424,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:419,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - tsdb
    - fset
    - fd
    - fobj
    - toStt
    argTypes:
    - STsdb*
    - STFileSet*
    - STsdbFD**
    - STFileObj**
    - bool*
    constantsTouched: []
    func_position:
      end: 427
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 427
    functionName: tsdbUpgradeOpenTombFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbOpenFile
    - TARRAY2_GET
    - tsdbTFileObjInit
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_SIZE
    - TARRAY2_APPEND
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeOpenTombFile(STsdb *tsdb, STFileSet *fset,
      STsdbFD **fd, STFileObj **fobj, bool *toStt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:551,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:552,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:555,1
    - Dst: tsdbDelFReaderOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:555,1
    - Dst: tsdbReadDelIdx
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:557,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:559,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:561,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:562,1
    - Dst: tsdbDumpTombDataToFSet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:562,1
    - Dst: tsdbDelFReaderClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:570,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:568,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:571,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:568,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:568,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - tsdb
    - pDelFile
    - fileSetArray
    argTypes:
    - STsdb*
    - SDelFile*
    - TFileSetArray*
    constantsTouched: []
    func_position:
      end: 573
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 573
    functionName: tsdbUpgradeTombFile
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayDestroy
    - tsdbDelFReaderClose
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadDelIdx
    - taosArrayGetSize
    - tsdbDelFReaderOpen
    - TARRAY2_FOREACH
    - taosArrayInit
    - tsdbDumpTombDataToFSet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeTombFile(STsdb *tsdb, SDelFile *pDelFile,
      TFileSetArray *fileSetArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:608,1
    - Dst: tsdbFSOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:603,1
    - Dst: tsdbDoUpgradeFileSystem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:605,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:605,1
    - Dst: tsdbFSClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:608,1
    - Dst: current_fname
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:612,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:613,1
    - Dst: save_fs
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:613,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:617,1
    - Dst: TSDB_ERROR_LOG
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:618,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:617,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:617,1
    - Dst: TARRAY2_DESTROY
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tsdb
    - rollback
    argTypes:
    - STsdb*
    - int8_t
    constantsTouched: []
    func_position:
      end: 622
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 622
    functionName: tsdbUpgradeFileSystem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbFSOpen
    - TARRAY2_DESTROY
    - tsdbFSClose
    - current_fname
    - tsdbDoUpgradeFileSystem
    - save_fs
    - tstrerror
    - TD_VID
    - tsdbError
    - TSDB_ERROR_LOG
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbUpgradeFileSystem(STsdb *tsdb, int8_t rollback) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsdbGetCurrentFName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:627,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:628,1
    - Dst: tsdbUpgradeFileSystem
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:630,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:630,1
    - Dst: tsdbRemoveFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tsdb
    - rollback
    argTypes:
    - STsdb*
    - int8_t
    constantsTouched: []
    func_position:
      end: 634
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 634
    functionName: tsdbCheckAndUpgradeFileSystem
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbUpgrade.c
    functionUses: []
    functionsReached:
    - tsdbUpgradeFileSystem
    - tsdbRemoveFile
    - tsdbGetCurrentFName
    - TAOS_CHECK_RETURN
    - taosCheckExistFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbCheckAndUpgradeFileSystem(STsdb *tsdb, int8_t rollback) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:143,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:183,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:178,1
    - Dst: tBrinBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:155,1
    - Dst: tsdbDataFileReadBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:169,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:185,1
    - Dst: tsdbDataFileReadBrinBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:195,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 61
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 206
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 206
    functionName: tsdbDataIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tBrinBlockGet
    - tsdbRowFromBlockData
    - tsdbDataFileReadBlockData
    - tsdbDataFileReadBrinBlock
    - TARRAY2_SIZE
    - TARRAY2_GET_PTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataIterNext(STsdbIter *iter, const TABLEID *tbid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttFileReadSttBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:345,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:348,1
    - Dst: tsdbSttIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:358,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 359
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 359
    functionName: tsdbSttIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbSttIterNext
    - tBlockDataCreate
    - tsdbSttFileReadSttBlk
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttIterOpen(STsdbIter *iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:443,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:464,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:466,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:444,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:459,1
    - Dst: tsdbSttFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:477,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 41
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 488
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 488
    functionName: tsdbSttTombIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tTombBlockGet
    - TOMB_BLOCK_SIZE
    - TARRAY2_SIZE
    - tsdbSttFileReadTombBlock
    - TARRAY2_GET_PTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttTombIterNext(STsdbIter *iter, const TABLEID
      *tbid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:639,1
    - Dst: tRowInfoCmprFn
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:641,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: tsdbIterCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - TCONTAINER_OF
    - tRowInfoCmprFn
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbIterCmprFn(const SRBTreeNode *n1, const SRBTreeNode
      *n2) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SIterMerger**
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: tsdbIterMergerClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tsdbIterMergerClose(SIterMerger **merger) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowFromBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:92,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:102,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:97,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:103,1
    - Dst: tsdbSttFileReadBlockData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:113,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 124
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 124
    functionName: tsdbSttIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbSttFileReadBlockData
    - TARRAY2_GET_PTR
    - tsdbRowFromBlockData
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttIterNext(STsdbIter *iter, const TABLEID *tbid) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTbDataIterGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:212,1
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:232,1
    - Dst: tsdbTbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:227,1
    - Dst: TSDBROW_VERSION
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:219,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:238,1
    - Dst: tsdbTbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 38
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 252
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 252
    functionName: tsdbMemTableIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tRBTreeIterNext
    - tsdbTbDataIterGet
    - tsdbTbDataIterOpen
    - TSDBROW_VERSION
    - tsdbTbDataIterNext
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTableIterNext(STsdbIter *iter, const TABLEID
      *tbid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileReadBrinBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:365,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:368,1
    - Dst: tsdbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:385,1
    - Dst: tBlockDataCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:381,1
    - Dst: tBrinBlockInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 386
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 386
    functionName: tsdbDataIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tBrinBlockInit
    - tBlockDataCreate
    - tsdbDataFileReadBrinBlk
    - tsdbDataIterNext
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataIterOpen(STsdbIter *iter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:493,1
    - Dst: tsdbSttTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:505,1
    - Dst: tTombBlockInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:502,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 506
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 506
    functionName: tsdbSttTombIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbSttFileReadTombBlk
    - tsdbSttTombIterNext
    - tTombBlockInit
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttTombIterOpen(STsdbIter *iter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:645,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - n1
    - n2
    argTypes:
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 667
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 667
    functionName: tsdbTombIterCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbTombIterCmprFn(const SRBTreeNode *n1, const SRBTreeNode
      *n2) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:721,1
    - Dst: tRBTreeDropMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:738,1
    - Dst: tRBTreeMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:726,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:729,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:739,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SIterMerger*
    constantsTouched: []
    func_position:
      end: 743
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 743
    functionName: tsdbIterMergerNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbIterNext
    - tRBTreeDropMin
    - tRBTreePut
    - tRBTreeMin
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterMergerNext(SIterMerger *merger) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbIterSkipTableData
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:755,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:764,1
    - Dst: tsdbIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:767,1
    - Dst: tRBTreeMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:761,1
    - Dst: tRBTreeDropMin
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:775,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:776,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - merger
    - tbid
    argTypes:
    - SIterMerger*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 781
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 781
    functionName: tsdbIterMergerSkipTableData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbIterSkipTableData
    - tsdbIterNext
    - tRBTreeDropMin
    - tRBTreePut
    - tRBTreeMin
    - TCONTAINER_OF
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterMergerSkipTableData(SIterMerger *merger, const TABLEID
      *tbid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TOMB_BLOCK_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:256,1
    - Dst: TARRAY2_GET_PTR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:278,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:271,1
    - Dst: tTombBlockGet
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:257,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:276,1
    - Dst: tsdbDataFileReadTombBlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:285,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 296
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 296
    functionName: tsdbDataTombIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbDataFileReadTombBlock
    - tTombBlockGet
    - TOMB_BLOCK_SIZE
    - TARRAY2_SIZE
    - TARRAY2_GET_PTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataTombIterNext(STsdbIter *iter, const TABLEID
      *tbid) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:511,1
    - Dst: tsdbMemTableIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:536,1
    - Dst: tsdbSttTombIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:540,1
    - Dst: tsdbDataIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:531,1
    - Dst: tsdbSttIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:527,1
    - Dst: tsdbDataTombIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:544,1
    - Dst: tsdbMemTombIterOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:548,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:555,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 2
    argNames:
    - config
    - iter
    argTypes:
    - STsdbIterConfig*
    - STsdbIter**
    constantsTouched: []
    func_position:
      end: 559
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 559
    functionName: tsdbIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - tsdbMemTableIterOpen
    - tsdbDataIterOpen
    - tsdbSttIterOpen
    - tsdbMemTombIterOpen
    - tsdbSttTombIterOpen
    - tsdbDataTombIterOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterOpen(const STsdbIterConfig *config, STsdbIter **iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:567,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 569
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 569
    functionName: tsdbDataTombIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tTombBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataTombIterClose(STsdbIter *iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:601,1
    - Dst: tsdbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:603,1
    - Dst: tsdbDataTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:609,1
    - Dst: tsdbSttTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:607,1
    - Dst: tsdbMemTableIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:605,1
    - Dst: tsdbMemTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:611,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 616
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 616
    functionName: tsdbIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbMemTombIterNext
    - tsdbSttTombIterNext
    - tsdbMemTableIterNext
    - tsdbSttIterNext
    - tsdbDataIterNext
    - tsdbDataTombIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterNext(STsdbIter *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:322,1
    - Dst: TCONTAINER_OF
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:328,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 340
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 340
    functionName: tsdbMemTombIterNext
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - TCONTAINER_OF
    - tRBTreeIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTombIterNext(STsdbIter *iter, const TABLEID
      *tbid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tTombBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: tsdbSttTombIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tTombBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttTombIterClose(STsdbIter *iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:574,1
    - Dst: tsdbSttTombIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:583,1
    - Dst: tsdbDataTombIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:586,1
    - Dst: tsdbMemTableIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:580,1
    - Dst: tsdbDataIterClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:577,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:593,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter**
    constantsTouched: []
    func_position:
      end: 596
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 596
    functionName: tsdbIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsdbDataTombIterClose
    - tsdbDataIterClose
    - tsdbMemTableIterClose
    - tsdbSttTombIterClose
    - tsdbSttIterClose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterClose(STsdbIter **iter) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tsdbSttIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:621,1
    - Dst: tsdbDataTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:629,1
    - Dst: tsdbMemTableIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:625,1
    - Dst: tsdbDataIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:623,1
    - Dst: tsdbSttTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:627,1
    - Dst: tsdbMemTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:631,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 8
    argCount: 2
    argNames:
    - iter
    - tbid
    argTypes:
    - STsdbIter*
    - TABLEID*
    constantsTouched: []
    func_position:
      end: 636
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 636
    functionName: tsdbIterSkipTableData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tsdbMemTombIterNext
    - tsdbSttTombIterNext
    - tsdbMemTableIterNext
    - tsdbSttIterNext
    - tsdbDataIterNext
    - tsdbDataTombIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbIterSkipTableData(STsdbIter *iter, const TABLEID
      *tbid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbDataFileReadTombBlk
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:406,1
    - Dst: tTombBlockInit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:415,1
    - Dst: TARRAY2_SIZE
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:409,1
    - Dst: tsdbDataTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:418,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 419
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 419
    functionName: tsdbDataTombIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tTombBlockInit
    - tsdbDataTombIterNext
    - tsdbDataFileReadTombBlk
    - TARRAY2_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataTombIterOpen(STsdbIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBrinBlockDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:434,1
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: tsdbDataIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tBlockDataDestroy
    - tBrinBlockDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataIterClose(STsdbIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SIterMerger*
    constantsTouched: []
    func_position:
      end: 745
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 745
    functionName: tsdbIterMergerGetData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRowInfo*
    signature: 'SRowInfo *tsdbIterMergerGetData(SIterMerger *merger) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:429,1
    - Dst: tsdbMemTombIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 431
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 431
    functionName: tsdbMemTombIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tRBTreeIterCreate
    - tsdbMemTombIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTombIterOpen(STsdbIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 439
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 439
    functionName: tsdbMemTableIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTableIterClose(STsdbIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - merger
    argTypes:
    - SIterMerger*
    constantsTouched: []
    func_position:
      end: 747
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 747
    functionName: tsdbIterMergerGetTombRecord
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: STombRecord*
    signature: 'STombRecord *tsdbIterMergerGetTombRecord(SIterMerger *merger) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeIterCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:394,1
    - Dst: tsdbMemTableIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 396
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 396
    functionName: tsdbMemTableIterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tRBTreeIterCreate
    - tsdbMemTableIterNext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbMemTableIterOpen(STsdbIter *iter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tBlockDataDestroy
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - iter
    argTypes:
    - STsdbIter*
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: tsdbSttIterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - tBlockDataDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbSttIterClose(STsdbIter *iter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:680,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:687,1
    - Dst: TARRAY2_FOREACH
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:691,1
    - Dst: tRBTreePut
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:693,1
    - Dst: tRBTreeCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:689,1
    - Dst: tsdbIterNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:694,1
    - Dst: tsdbIterMergerClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:696,1
    - Dst: tsdbIterMergerNext
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c:705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - iterArray
    - merger
    - isTomb
    argTypes:
    - TTsdbIterArray*
    - SIterMerger**
    - bool
    constantsTouched: []
    func_position:
      end: 706
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 706
    functionName: tsdbIterMergerOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbIter.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tsdbIterNext
    - tsdbIterMergerClose
    - tRBTreePut
    - tsdbIterMergerNext
    - tRBTreeCreate
    - TARRAY2_FOREACH
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbIterMergerOpen(const TTsdbIterArray *iterArray, SIterMerger
      **merger, bool isTomb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:94,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:96,1
    - Dst: tsdbDataFileRAWWriterDoOpen
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:101,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:101,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:105,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:106,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - config
    - ppWriter
    argTypes:
    - SDataFileRAWWriterConfig*
    - SDataFileRAWWriter**
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: tsdbDataFileRAWWriterOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - taosMemoryCalloc
    - tsdbDataFileRAWWriterDoOpen
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWWriterOpen(const SDataFileRAWWriterConfig *config,
      SDataFileRAWWriter **ppWriter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:115,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileRAWWriter*
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: tsdbDataFileRAWWriterCloseAbort
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileRAWWriterCloseAbort(SDataFileRAWWriter
      *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:130,1
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:137,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:136,1
    - Dst: tsdbFsyncFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:136,1
    - Dst: TARRAY2_APPEND
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:130,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:142,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - writer
    - opArr
    argTypes:
    - SDataFileRAWWriter*
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: tsdbDataFileRAWWriterCloseCommit
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbCloseFile
    - tsdbFsyncFile
    - tstrerror
    - TD_VID
    - tsdbError
    - TARRAY2_APPEND
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileRAWWriterCloseCommit(SDataFileRAWWriter
      *writer, TFileOpArray *opArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:177,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:182,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:182,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:183,1
    - Dst: tsdbDataFileRAWWriterOpenDataFD
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileRAWWriter*
    constantsTouched: []
    func_position:
      end: 186
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 186
    functionName: tsdbDataFileRAWWriterDoOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbDataFileRAWWriterOpenDataFD
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWWriterDoOpen(SDataFileRAWWriter *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbCloseFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:55,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - reader
    argTypes:
    - SDataFileRAWReader**
    constantsTouched: []
    func_position:
      end: 61
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 61
    functionName: tsdbDataFileRAWReaderClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - tsdbCloseFile
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWReaderClose(SDataFileRAWReader **reader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileRAWWriter*
    constantsTouched: []
    func_position:
      end: 119
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 119
    functionName: tsdbDataFileRAWWriterDoClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tsdbDataFileRAWWriterDoClose(SDataFileRAWWriter *writer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:159,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:160,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:160,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:164,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:164,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - writer
    argTypes:
    - SDataFileRAWWriter*
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: tsdbDataFileRAWWriterOpenDataFD
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbOpenFile
    - tsdbTFileName
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsdbDataFileRAWWriterOpenDataFD(SDataFileRAWWriter
      *writer) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:198,1
    - Dst: tsdbDataFileRAWWriterDoClose
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:202,1
    - Dst: tsdbDataFileRAWWriterCloseCommit
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:200,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:200,1
    - Dst: tsdbDataFileRAWWriterCloseAbort
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:204,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:209,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - writer
    - abort
    - opArr
    argTypes:
    - SDataFileRAWWriter**
    - bool
    - TFileOpArray*
    constantsTouched: []
    func_position:
      end: 213
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 213
    functionName: tsdbDataFileRAWWriterClose
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - tsdbDataFileRAWWriterCloseAbort
    - tstrerror
    - tsdbDataFileRAWWriterCloseCommit
    - tsdbDataFileRAWWriterDoClose
    - tsdbError
    - TD_VID
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWWriterClose(SDataFileRAWWriter **writer, bool
      abort, TFileOpArray *opArr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:220,1
    - Dst: tsdbWriteFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:220,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:228,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:228,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:229,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - writer
    - pDataBlock
    - encryptAlgorithm
    - encryptKey
    argTypes:
    - SDataFileRAWWriter*
    - STsdbDataRAWBlockHeader*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: tsdbDataFileRAWWriteBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWWriteBlockData(SDataFileRAWWriter *writer,
      const STsdbDataRAWBlockHeader *pDataBlock, int32_t encryptAlgorithm, char *encryptKey) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:23,1
    - Dst: tsdbTFileName
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:37,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:33,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:33,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:25,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:38,1
    - Dst: tsdbOpenFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:38,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:43,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:43,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - fname
    - config
    - reader
    argTypes:
    - char*
    - SDataFileRAWReaderConfig*
    - SDataFileRAWReader**
    constantsTouched: []
    func_position:
      end: 47
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 47
    functionName: tsdbDataFileRAWReaderOpen
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tsdbOpenFile
    - taosMemoryCalloc
    - tsdbTFileName
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWReaderOpen(const char *fname, const SDataFileRAWReaderConfig
      *config, SDataFileRAWReader **reader) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:84,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:83,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:83,1
    - Dst: tsdbReadFile
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - reader
    - pBlock
    argTypes:
    - SDataFileRAWReader*
    - STsdbDataRAWBlockHeader*
    constantsTouched: []
    func_position:
      end: 87
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 87
    functionName: tsdbDataFileRAWReadBlockData
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbDataFileRAW.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tstrerror
    - TD_VID
    - tsdbError
    - tsdbReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbDataFileRAWReadBlockData(SDataFileRAWReader *reader, STsdbDataRAWBlockHeader
      *pBlock) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsdbRowCompare
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 34
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 34
    functionName: tRowInfoCmprFn
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c
    functionUses: []
    functionsReached:
    - tsdbRowCompare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tRowInfoCmprFn(const void *p1, const void *p2) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:43,1
    - Dst: tsdbMemTableCreate
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:43,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:47,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:46,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:47,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:53,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:54,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:54,1
    - Dst: tsdbError
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:59,1
    - Dst: TD_VID
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:59,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c:59,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pTsdb
    argTypes:
    - STsdb*
    constantsTouched: []
    func_position:
      end: 62
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 62
    functionName: tsdbBegin
    functionSourceFile: /src/tdengine/source/dnode/vnode/src/tsdb/tsdbCommit.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_SYSTEM_ERROR
    - tsdbMemTableCreate
    - tstrerror
    - TD_VID
    - tsdbError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsdbBegin(STsdb *pTsdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initStateStoreAPI
      Src: /src/tdengine/source/dnode/snode/src/snodeInitApi.c:23,1
    - Dst: initFunctionStateStore
      Src: /src/tdengine/source/dnode/snode/src/snodeInitApi.c:24,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pAPI
    argTypes:
    - SStorageAPI*
    constantsTouched: []
    func_position:
      end: 25
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 25
    functionName: initStreamStateAPI
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snodeInitApi.c
    functionUses: []
    functionsReached:
    - initStateStoreAPI
    - initFunctionStateStore
    linkageType: ''
    returnType: void
    signature: 'void initStreamStateAPI(SStorageAPI* pAPI) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - SFunctionStateStore*
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: initFunctionStateStore
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initFunctionStateStore(SFunctionStateStore* pStore) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 107
    argCount: 1
    argNames:
    - pStore
    argTypes:
    - SStateStore*
    constantsTouched: []
    func_position:
      end: 151
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 151
    functionName: initStateStoreAPI
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snodeInitApi.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void initStateStoreAPI(SStateStore* pStore) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stopRsync
      Src: /src/tdengine/source/dnode/snode/src/snode.c:101,1
    - Dst: streamMetaClose
      Src: /src/tdengine/source/dnode/snode/src/snode.c:107,1
    - Dst: sndError
      Src: /src/tdengine/source/dnode/snode/src/snode.c:105,1
    - Dst: streamMetaNotifyClose
      Src: /src/tdengine/source/dnode/snode/src/snode.c:103,1
    - Dst: streamMetaCommit
      Src: /src/tdengine/source/dnode/snode/src/snode.c:104,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/snode/src/snode.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pSnode
    argTypes:
    - SSnode*
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: sndClose
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - streamMetaCommit
    - streamMetaNotifyClose
    - streamMetaClose
    - sndError
    - stopRsync
    linkageType: ''
    returnType: void
    signature: 'void sndClose(SSnode *pSnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/snode/src/snode.c:65,1
    - Dst: stopRsync
      Src: /src/tdengine/source/dnode/snode/src/snode.c:70,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/snode/src/snode.c:79,1
    - Dst: startRsync
      Src: /src/tdengine/source/dnode/snode/src/snode.c:71,1
    - Dst: streamMetaOpen
      Src: /src/tdengine/source/dnode/snode/src/snode.c:78,1
    - Dst: streamMetaLoadAllTasks
      Src: /src/tdengine/source/dnode/snode/src/snode.c:85,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/snode/src/snode.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - path
    - pOption
    argTypes:
    - char*
    - SSnodeOpt*
    constantsTouched: []
    func_position:
      end: 91
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 91
    functionName: sndOpen
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - streamMetaOpen
    - taosGetTimestampMs
    - taosMemoryFree
    - taosMemoryCalloc
    - stopRsync
    - streamMetaLoadAllTasks
    - startRsync
    linkageType: ''
    returnType: SSnode*
    signature: 'SSnode *sndOpen(const char *path, const SSnodeOpt *pOption) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: tqStreamTaskProcessRunReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:114,1
    - Dst: tqStreamTaskProcessDispatchReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:116,1
    - Dst: tqStreamTaskProcessRetrieveReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:120,1
    - Dst: tqStreamTaskProcessCheckReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:124,1
    - Dst: tqStreamTaskProcessDispatchRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:118,1
    - Dst: tqStreamTaskProcessCheckRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:126,1
    - Dst: tqStreamTaskProcessCheckpointReadyMsg
      Src: /src/tdengine/source/dnode/snode/src/snode.c:128,1
    - Dst: tqStreamProcessStreamHbRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:130,1
    - Dst: tqStreamProcessReqCheckpointRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:132,1
    - Dst: tqStreamProcessCheckpointReadyRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:134,1
    - Dst: tqStreamTaskProcessRunReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:142,1
    - Dst: tqStreamTaskProcessRetrieveTriggerRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:140,1
    - Dst: tqStreamTaskProcessRetrieveTriggerReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:138,1
    - Dst: sndError
      Src: /src/tdengine/source/dnode/snode/src/snode.c:144,1
    - Dst: tqStreamProcessChkptReportRsp
      Src: /src/tdengine/source/dnode/snode/src/snode.c:136,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 17
    argCount: 2
    argNames:
    - pSnode
    - pMsg
    argTypes:
    - SSnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 148
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 148
    functionName: sndProcessStreamMsg
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessCheckpointReadyMsg
    - tqStreamProcessCheckpointReadyRsp
    - tqStreamTaskProcessDispatchRsp
    - tqStreamTaskProcessRetrieveTriggerReq
    - tqStreamTaskProcessDispatchReq
    - tqStreamTaskProcessRetrieveTriggerRsp
    - tqStreamProcessReqCheckpointRsp
    - tqStreamTaskProcessRunReq
    - sndError
    - tqStreamTaskProcessCheckRsp
    - tqStreamTaskProcessCheckReq
    - tqStreamProcessChkptReportRsp
    - tqStreamTaskProcessRetrieveReq
    - tqStreamProcessStreamHbRsp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sndProcessStreamMsg(SSnode *pSnode, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamTaskSchedTask
      Src: /src/tdengine/source/dnode/snode/src/snode.c:94,1
    - Dst: sndError
      Src: /src/tdengine/source/dnode/snode/src/snode.c:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pSnode
    argTypes:
    - SSnode*
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: sndInit
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - streamTaskSchedTask
    - sndError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sndInit(SSnode *pSnode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/snode/src/snode.c:153,1
    - Dst: tqStreamTaskProcessUpdateReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:162,1
    - Dst: tqStreamTaskProcessDropReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:160,1
    - Dst: tqStreamTaskProcessTaskResetReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:164,1
    - Dst: tqStreamTaskProcessDeployReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:155,1
    - Dst: tqStreamTaskProcessAllTaskStopReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:166,1
    - Dst: tqStreamTaskProcessTaskPauseReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:168,1
    - Dst: tqStreamTaskProcessTaskResumeReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:170,1
    - Dst: tqStreamTaskProcessTaskPauseReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:172,1
    - Dst: tqStreamTaskProcessTaskPauseReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:174,1
    - Dst: tqStreamTaskProcessUpdateCheckpointReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:176,1
    - Dst: tqStreamTaskProcessConsenChkptIdReq
      Src: /src/tdengine/source/dnode/snode/src/snode.c:178,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 16
    argCount: 3
    argNames:
    - pSnode
    - pMsg
    - pRsp
    argTypes:
    - SSnode*
    - SRpcMsg*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 182
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 182
    functionName: sndProcessWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - tqStreamTaskProcessTaskResetReq
    - tqStreamTaskProcessDropReq
    - tqStreamTaskProcessTaskPauseReq
    - tqStreamTaskProcessAllTaskStopReq
    - tqStreamTaskProcessUpdateCheckpointReq
    - tqStreamTaskProcessConsenChkptIdReq
    - POINTER_SHIFT
    - tqStreamTaskProcessUpdateReq
    - tqStreamTaskProcessDeployReq
    - tqStreamTaskProcessTaskResumeReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sndProcessWriteMsg(SSnode *pSnode, SRpcMsg *pMsg, SRpcMsg
      *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/snode/src/snode.c:28,1
    - Dst: tqSetRestoreVersionInfo
      Src: /src/tdengine/source/dnode/snode/src/snode.c:42,1
    - Dst: streamTaskResetUpstreamStageInfo
      Src: /src/tdengine/source/dnode/snode/src/snode.c:39,1
    - Dst: streamTaskOpenAllUpstreamInput
      Src: /src/tdengine/source/dnode/snode/src/snode.c:37,1
    - Dst: streamTaskInit
      Src: /src/tdengine/source/dnode/snode/src/snode.c:31,1
    - Dst: streamTaskGetStatus
      Src: /src/tdengine/source/dnode/snode/src/snode.c:44,1
    - Dst: sndInfo
      Src: /src/tdengine/source/dnode/snode/src/snode.c:46,1
    - Dst: sndInfo
      Src: /src/tdengine/source/dnode/snode/src/snode.c:53,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pSnode
    - pTask
    - nextProcessVer
    argTypes:
    - SSnode*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 61
    functionName: sndBuildStreamTask
    functionSourceFile: /src/tdengine/source/dnode/snode/src/snode.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatus
    - streamTaskOpenAllUpstreamInput
    - tqSetRestoreVersionInfo
    - sndInfo
    - streamTaskInit
    - streamTaskResetUpstreamStageInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sndBuildStreamTask(SSnode *pSnode, SStreamTask *pTask, int64_t
      nextProcessVer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 69
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 69
    functionName: Testbase
    functionSourceFile: /src/tdengine/source/dnode/mgmt/test/sut/inc/sut.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class Testbase '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: TestServer
    functionSourceFile: /src/tdengine/source/dnode/mgmt/test/sut/inc/server.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class TestServer '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 35
    functionName: TestClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/test/sut/inc/client.h
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: class
    signature: 'class TestClient '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pMgmt
    - smInfo
    argTypes:
    - SSnodeMgmt*
    - SMonSmInfo*
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: smGetMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void smGetMonitorInfo(SSnodeMgmt *pMgmt, SMonSmInfo *smInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:23,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:31,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:30,1
    - Dst: dmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:36,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:30,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:37,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:37,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:38,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 44
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 44
    functionName: smProcessCreateReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - dmWriteFile
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smProcessCreateReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:49,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:57,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:57,1
    - Dst: dmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:63,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:58,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:64,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:65,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:69,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 71
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 71
    functionName: smProcessDropReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - dmWriteFile
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smProcessDropReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:97,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:80,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:78,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:82,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:84,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:91,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:87,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:93,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:89,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:96,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:98,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:75,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:110,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:105,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:103,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:102,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:79,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:81,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:83,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:85,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:86,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:88,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:94,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:92,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:95,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:90,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:101,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:100,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c:99,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 115
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 115
    functionName: smGetMsgHandles
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smHandle.c
    functionUses: []
    functionsReached:
    - dmSetMgmtHandle
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *smGetMsgHandles() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMsg
    - code
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: smSendRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: void
    signature: 'static inline void smSendRsp(SRpcMsg *pMsg, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:122,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:120,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:124,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:121,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:125,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SSnodeMgmt*
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: smStopWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - dDebug
    - taosMemoryFree
    - taosArrayDestroy
    - tMultiWorkerCleanup
    - taosArrayGetSize
    - tSingleWorkerCleanup
    linkageType: ''
    returnType: void
    signature: 'void smStopWorker(SSnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:58,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:61,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:61,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:61,1
    - Dst: sndProcessStreamMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:59,1
    - Dst: smSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:62,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:65,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:66,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: smProcessStreamQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - smSendRsp
    - taosFreeQitem
    - dGError
    - dTrace
    - tstrerror
    - sndProcessStreamMsg
    - rpcFreeCont
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void smProcessStreamQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:177,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:182,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SSnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 184
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 184
    functionName: smPutNodeMsgToMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosWriteQitem
    - dTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smPutNodeMsgToMgmtQueue(SSnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:33,1
    - Dst: sndProcessWriteMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:37,1
    - Dst: smSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:46,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:48,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:36,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:49,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:50,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 52
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 52
    functionName: smProcessWriteQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - smSendRsp
    - taosFreeQitem
    - dTrace
    - sndProcessWriteMsg
    - rpcFreeCont
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: 'static void smProcessWriteQueue(SQueueInfo *pInfo, STaosQall *qall,
      int32_t numOfMsgs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:72,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:92,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:92,1
    - Dst: tMultiWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:91,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:95,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:109,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:110,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SSnodeMgmt*
    constantsTouched: []
    func_position:
      end: 116
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 116
    functionName: smStartWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosMemoryMalloc
    - tSingleWorkerInit
    - tstrerror
    - taosArrayPush
    - dError
    - tMultiWorkerInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smStartWorker(SSnodeMgmt *pMgmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:133,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:143,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:144,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:135,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:143,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:145,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:146,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:152,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:154,1
    - Dst: smPutNodeMsgToStreamQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:159,1
    - Dst: smPutNodeMsgToWriteQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:162,1
    - Dst: smPutNodeMsgToStreamQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:165,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:169,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:170,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - pMgmt
    - qtype
    - pRpc
    argTypes:
    - SSnodeMgmt*
    - EQueueType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 174
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 174
    functionName: smPutMsgToQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - htonl
    - taosAllocateQitem
    - tstrerror
    - memcpy
    - smPutNodeMsgToWriteQueue
    - rpcFreeCont
    - dError
    - smPutNodeMsgToStreamQueue
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smPutMsgToQueue(SSnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg
      *pRpc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:187,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:193,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SSnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: smPutNodeMsgToWriteQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosWriteQitem
    - dTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smPutNodeMsgToWriteQueue(SSnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:199,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c:200,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SSnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: smPutNodeMsgToStreamQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smWorker.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - dTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smPutNodeMsgToStreamQueue(SSnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pInput
    - required
    argTypes:
    - SMgmtInputOpt*
    - bool*
    constantsTouched: []
    func_position:
      end: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    functionName: smRequire
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached:
    - dmReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smRequire(const SMgmtInputOpt *pInput, bool *required) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: smStopWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:30,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:35,1
    - Dst: sndClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SSnodeMgmt*
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: smClose
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - smStopWorker
    - sndClose
    linkageType: ''
    returnType: void
    signature: 'static void smClose(SSnodeMgmt *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:46,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:64,1
    - Dst: smInitOption
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:60,1
    - Dst: sndOpenWrapper
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:62,1
    - Dst: smClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:65,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:69,1
    - Dst: smStartWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:71,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:72,1
    - Dst: smClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:73,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:76,1
    - Dst: udfcOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:78,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:79,1
    - Dst: smClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SMgmtInputOpt*
    - SMgmtOutputOpt*
    constantsTouched: []
    func_position:
      end: 86
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 86
    functionName: smOpen
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached:
    - udfcOpen
    - smClose
    - sndOpenWrapper
    - smStartWorker
    - taosMemoryCalloc
    - tstrerror
    - tmsgReportStartup
    - dError
    - smInitOption
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t smOpen(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: smGetMgmtFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMgmtFunc
    signature: 'SMgmtFunc smGetMgmtFunc() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sndOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:38,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - path
    - pOption
    - pNode
    argTypes:
    - char*
    - SSnodeOpt*
    - SSnode**
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: sndOpenWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached:
    - sndOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sndOpenWrapper(const char *path, SSnodeOpt *pOption, SSnode
      **pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pOption
    argTypes:
    - SSnodeMgmt*
    - SSnodeOpt*
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: smInitOption
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void smInitOption(SSnodeMgmt *pMgmt, SSnodeOpt *pOption) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sndInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SSnodeMgmt*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: smStartSnodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_snode/src/smInt.c
    functionUses: []
    functionsReached:
    - sndInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t smStartSnodes(SSnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmUnRegisterCreatingState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: vmCleanPrimaryDisk
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmUnRegisterCreatingState
    linkageType: ''
    returnType: void
    signature: 'void vmCleanPrimaryDisk(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmAcquireVnodeImpl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: vmAcquireVnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmAcquireVnodeImpl
    linkageType: ''
    returnType: SVnodeObj*
    signature: 'SVnodeObj *vmAcquireVnode(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:304,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:316,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:321,1
    - Dst: vmAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:326,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:328,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:329,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:336,1
    - Dst: vmRegisterRunningState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:337,1
    - Dst: vmUnRegisterClosedState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:338,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:339,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pMgmt
    - pCfg
    - pImpl
    argTypes:
    - SVnodeMgmt*
    - SWrapperCfg*
    - SVnode*
    constantsTouched: []
    func_position:
      end: 342
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 342
    functionName: vmOpenVnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmAllocQueue
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - vmUnRegisterClosedState
    - vmRegisterRunningState
    - taosStrdup
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmOpenVnode(SVnodeMgmt *pMgmt, SWrapperCfg *pCfg, SVnode *pImpl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:874,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:876,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 878
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 878
    functionName: vmCleanupTimer
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'static void vmCleanupTimer(SVnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:207,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:213,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:208,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:214,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:216,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - pMgmt
    - vgId
    - strict
    argTypes:
    - SVnodeMgmt*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 219
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 219
    functionName: vmAcquireVnodeImpl
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosHashGetDup
    - taosThreadRwlockUnlock
    - dTrace
    - atomic_add_fetch_32
    linkageType: ''
    returnType: SVnodeObj*
    signature: 'SVnodeObj *vmAcquireVnodeImpl(SVnodeMgmt *pMgmt, int32_t vgId, bool
      strict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:227,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: vmReleaseVnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_32
    - dTrace
    linkageType: ''
    returnType: void
    signature: 'void vmReleaseVnode(SVnodeMgmt *pMgmt, SVnodeObj *pVnode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:352,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:356,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:362,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:367,1
    - Dst: vnodePreClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:368,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:405,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:406,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:407,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:410,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:412,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:422,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:444,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:449,1
    - Dst: tfsMkdir
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:443,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:400,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:360,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:370,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:374,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:381,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:379,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:373,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:382,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:385,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:386,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:389,1
    - Dst: tqNotifyClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:396,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:399,1
    - Dst: vnodeNodeId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:430,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:403,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:398,1
    - Dst: vnodeSyncCommit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:421,1
    - Dst: vnodeIsLeader
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:348,1
    - Dst: vnodeProposeCommitOnNeed
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:349,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:371,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:407,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:409,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:410,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:400,1
    - Dst: vmFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:417,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:402,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:425,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:414,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:435,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:390,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:454,1
    - Dst: vnodePostClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:415,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:441,1
    - Dst: tfsRmdir
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:440,1
    - Dst: vnodeClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:431,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:394,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:427,1
    - Dst: vmUnRegisterRunningState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:353,1
    - Dst: vmRegisterClosedState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:355,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:378,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:377,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:375,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:383,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:387,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:391,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:393,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:394,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:391,1
    - Dst: vnodeBegin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:424,1
    - Dst: taosQueueEmpty
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:403,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:420,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:450,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:439,1
    - Dst: vnodeDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:451,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:438,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 95
    argCount: 4
    argNames:
    - pMgmt
    - pVnode
    - commitAndRemoveWal
    - keepClosed
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 455
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 455
    functionName: vmCloseVnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vnodeBegin
    - tqNotifyClose
    - vnodePostClose
    - dInfo
    - vnodeDestroy
    - vmRegisterClosedState
    - taosThreadRwlockWrlock
    - vmFreeQueue
    - vnodeClose
    - vmFreeVnodeObj
    - tMultiWorkerCleanup
    - taosQueueGetThreadId
    - vnodePreClose
    - vnodeProposeCommitOnNeed
    - tfsRmdir
    - dTrace
    - tfsMkdir
    - vnodeNodeId
    - taosMsleep
    - taosQueueEmpty
    - vmUnRegisterRunningState
    - snprintf
    - taosQueueItemSize
    - taosThreadRwlockUnlock
    - vnodeIsLeader
    - vnodeSyncCommit
    - dError
    - vmReleaseVnode
    linkageType: ''
    returnType: void
    signature: 'void vmCloseVnode(SVnodeMgmt *pMgmt, SVnodeObj *pVnode, bool commitAndRemoveWal,
      bool keepClosed) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:897,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:905,1
    - Dst: vnodeInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:934,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:929,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:922,1
    - Dst: vmStartWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:940,1
    - Dst: vmOpenVnodes
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:946,1
    - Dst: udfcOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:952,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:963,1
    - Dst: vmCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:964,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:899,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:922,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:935,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:941,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:947,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:953,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:963,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:883,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:909,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:917,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:926,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:935,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:941,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:947,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:953,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:903,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:911,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:920,1
    - Dst: walInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:921,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:929,1
    - Dst: syncInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:928,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:938,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:944,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:950,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SMgmtInputOpt*
    - SMgmtOutputOpt*
    constantsTouched: []
    func_position:
      end: 968
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 968
    functionName: vmInit
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - udfcOpen
    - syncInit
    - vmCleanup
    - TAOS_SYSTEM_ERROR
    - vmOpenVnodes
    - taosMemoryCalloc
    - taosThreadMutexInit
    - vnodeInit
    - tstrerror
    - tmsgReportStartup
    - vmStartWorker
    - taosThreadRwlockInit
    - dError
    - walInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmInit(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:88,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:89,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:91,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:94,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:93,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:96,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:98,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:101,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:102,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:107,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: vmUnRegisterCreatingState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosHashGetDup
    - taosThreadRwlockUnlock
    - taosHashRemove
    - dTrace
    - vmFreeVnodeObj
    - tstrerror
    - dError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'static void vmUnRegisterCreatingState(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:257,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:259,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:262,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:259,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:271,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:273,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:276,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:278,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:279,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:281,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 285
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 285
    functionName: vmRegisterClosedState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - terrstr
    - taosHashGetDup
    - memset
    - vmFreeVnodeObj
    - dInfo
    - taosHashPut
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmRegisterClosedState(SVnodeMgmt *pMgmt, SVnodeObj
      *pVnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:500,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:511,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:509,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:501,1
    - Dst: vmOpenVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:546,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:557,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:520,1
    - Dst: vmRestoreVgroupId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:525,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:539,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:552,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:534,1
    - Dst: vnodeOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:536,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:539,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:507,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:547,1
    - Dst: vnodeDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:512,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:515,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:522,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:554,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 560
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 560
    functionName: vmOpenVnodeInThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - snprintf
    - vnodeOpen
    - terrstr
    - dInfo
    - vnodeDestroy
    - tmsgReportStartup
    - atomic_add_fetch_32
    - dError
    - vmOpenVnode
    - setThreadName
    - vmRestoreVgroupId
    linkageType: ''
    returnType: void*
    signature: 'static void *vmOpenVnodeInThread(void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:668,1
    - Dst: vmCloseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:679,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:669,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:677,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:675,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 684
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 684
    functionName: vmCloseVnodeInThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - snprintf
    - dInfo
    - tmsgReportStartup
    - vmCloseVnode
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *vmCloseVnodeInThread(void *param) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:121,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:141,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:190,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:148,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:150,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:178,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:127,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:125,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:124,1
    - Dst: vmGetAllVnodeListFromHashWithCreating
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:146,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:171,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:173,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:173,1
    - Dst: tfsSearch
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:131,1
    - Dst: tfsGetDisksAtLevel
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:161,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:194,1
    - Dst: vmRegisterCreatingState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:194,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:197,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 200
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 200
    functionName: vmAllocPrimaryDisk
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmGetAllVnodeListFromHashWithCreating
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - taosMemoryFree
    - vmRegisterCreatingState
    - tstrerror
    - dInfo
    - tfsGetDisksAtLevel
    - dError
    - tfsSearch
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmAllocPrimaryDisk(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:289,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:294,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:295,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:291,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:296,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: vmUnRegisterClosedState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosHashGetDup
    - taosHashRemove
    - vmFreeVnodeObj
    - dInfo
    - dError
    linkageType: ''
    returnType: void
    signature: 'static void vmUnRegisterClosedState(SVnodeMgmt *pMgmt, SVnodeObj *pVnode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:564,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:588,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:600,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:598,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:629,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:630,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:630,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:641,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:655,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:656,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:651,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:564,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:566,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:578,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:588,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:580,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:601,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:625,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:627,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:647,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:656,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:571,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:566,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:573,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:578,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:580,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:608,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:617,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:642,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:644,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:648,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:571,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:573,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:600,1
    - Dst: vmGetVnodeListFromFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:587,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:624,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:633,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:640,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:660,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 88
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 662
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 662
    functionName: vmOpenVnodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - terrstr
    - dInfo
    - taosThreadAttrInit
    - taosThreadJoin
    - taosHashInit
    - taosThreadAttrSetDetachState
    - vmWriteVnodeListToFile
    - taosThreadCreate
    - strerror
    - taosGetDefaultHashFunction
    - taosThreadClear
    - taosThreadAttrDestroy
    - vmGetVnodeListFromFile
    - taosThreadAttrSetStackSize
    - taosCheckPthreadValid
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmOpenVnodes(SVnodeMgmt *pMgmt) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:698,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:744,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:747,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:724,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:753,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:760,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:762,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:767,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:771,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:778,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:790,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:799,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:688,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:691,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:692,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:698,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:706,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:710,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:725,1
    - Dst: tqNotifyClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:730,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:750,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:758,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:787,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:795,1
    - Dst: vmGetVnodeListFromHash
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:696,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:722,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:745,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:759,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:791,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:779,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:689,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:690,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:737,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:736,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:749,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:750,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:764,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:775,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:783,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 97
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 800
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 800
    functionName: vmCloseVnodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tqNotifyClose
    - taosMemoryCalloc
    - dInfo
    - taosThreadAttrInit
    - taosThreadJoin
    - tSingleWorkerCleanup
    - taosHashCleanup
    - taosThreadAttrSetDetachState
    - taosGetTimestampMs
    - taosThreadCreate
    - vmFreeVnodeObj
    - strerror
    - taosThreadClear
    - taosThreadAttrDestroy
    - taosThreadAttrSetStackSize
    - taosCheckPthreadValid
    - vmGetVnodeListFromHash
    - taosHashIterate
    - tstrerror
    - dError
    linkageType: ''
    returnType: void
    signature: 'static void vmCloseVnodes(SVnodeMgmt *pMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:235,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:237,1
    - Dst: vmFreeVnodeObj
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:240,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 245
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 245
    functionName: vmRegisterRunningState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmFreeVnodeObj
    - dError
    - taosHashGetDup
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmRegisterRunningState(SVnodeMgmt *pMgmt, SVnodeObj
      *pVnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:459,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:466,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:461,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:461,1
    - Dst: vmUnRegisterRunningState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:464,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:468,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 470
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 470
    functionName: vmCloseFailedVnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmUnRegisterRunningState
    - taosThreadRwlockUnlock
    - tstrerror
    - dError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void vmCloseFailedVnode(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pInput
    - required
    argTypes:
    - SMgmtInputOpt*
    - bool*
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    functionName: vmRequire
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmRequire(const SMgmtInputOpt *pInput, bool *required) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:26,1
    - Dst: taosHashGetDup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:27,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: vmGetPrimaryDisk
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosHashGetDup
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetPrimaryDisk(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:248,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:251,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:249,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pMgmt
    - vgId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: vmUnRegisterRunningState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - dInfo
    - dError
    - tstrerror
    - taosHashRemove
    linkageType: ''
    returnType: void
    signature: 'static void vmUnRegisterRunningState(SVnodeMgmt *pMgmt, int32_t vgId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:480,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:486,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:481,1
    - Dst: vnodeRestoreVgroupId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pCfg
    - pTfs
    argTypes:
    - SWrapperCfg*
    - STfs*
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: vmRestoreVgroupId
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - dError
    - snprintf
    - vnodeRestoreVgroupId
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmRestoreVgroupId(SWrapperCfg *pCfg, STfs *pTfs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:979,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:992,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:980,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:990,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:985,1
    - Dst: vnodeStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:994,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:996,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:999,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1001,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1008
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1008
    functionName: vmRestoreVnodeInThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - snprintf
    - dInfo
    - vnodeStart
    - tmsgReportStartup
    - atomic_add_fetch_32
    - dError
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *vmRestoreVnodeInThread(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:40,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:43,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:47,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:44,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:42,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ppVnode
    argTypes:
    - SVnodeObj**
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: vmFreeVnodeObj
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - taosMsleep
    - dWarn
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void vmFreeVnodeObj(SVnodeObj **ppVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmCloseVnodes
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:803,1
    - Dst: vmStopWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:804,1
    - Dst: vnodeCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:805,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:807,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:806,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 810
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 810
    functionName: vmCleanup
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmCloseVnodes
    - taosMemoryFree
    - taosThreadMutexDestroy
    - vmStopWorker
    - vnodeCleanup
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: 'static void vmCleanup(SVnodeMgmt *pMgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:837,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:841,1
    - Dst: vmCheckSyncTimeout
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:847,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 852
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 852
    functionName: vmThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmCheckSyncTimeout
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *vmThreadFp(void *param) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: vmGetVnodeListFromHash
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1014,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1032,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1056,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1062,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1081,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1068,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1089,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1024,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1058,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1059,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1073,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1077,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1059,1
    - Dst: vmInitTimer
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1084,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1091,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1016,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1057,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1069,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1071,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1016,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1049,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1067,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 1093
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1093
    functionName: vmStartVnodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - vmReleaseVnode
    - vmGetVnodeListFromHash
    - taosMemoryFree
    - taosMemoryCalloc
    - tstrerror
    - dInfo
    - taosThreadAttrInit
    - taosThreadCreate
    - strerror
    - taosThreadJoin
    - taosThreadClear
    - dError
    - vmInitTimer
    - taosCheckPthreadValid
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmStartVnodes(SVnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1107
    functionName: vmGetMgmtFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMgmtFunc
    signature: 'SMgmtFunc vmGetMgmtFunc() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:54,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:59,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:56,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:64,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:56,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:66,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:70,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:71,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:73,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:74,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:77,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:79,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pMgmt
    - vgId
    - diskId
    argTypes:
    - SVnodeMgmt*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: vmRegisterCreatingState
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - terrstr
    - taosThreadRwlockUnlock
    - memset
    - dTrace
    - taosHashPut
    - tstrerror
    - dError
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmRegisterCreatingState(SVnodeMgmt *pMgmt, int32_t
      vgId, int32_t diskId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vmGetVnodeListFromHash
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:816,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:818,1
    - Dst: vnodeSyncCheckTimeout
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:826,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:828,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:818,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 832
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 832
    functionName: vmCheckSyncTimeout
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vnodeSyncCheckTimeout
    - vmGetVnodeListFromHash
    - taosMemoryFree
    - tstrerror
    - dError
    - vmReleaseVnode
    linkageType: ''
    returnType: void
    signature: 'static void vmCheckSyncTimeout(SVnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:857,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:863,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:858,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:862,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:860,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:864,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:864,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 870
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 870
    functionName: vmInitTimer
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - taosThreadAttrSetStackSize
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmInitTimer(SVnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmCleanupTimer
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 1095
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1095
    functionName: vmStop
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmInt.c
    functionUses: []
    functionsReached:
    - vmCleanupTimer
    linkageType: ''
    returnType: void
    signature: 'static void vmStop(SVnodeMgmt *pMgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:22,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:30,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:28,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:26,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:25,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:34,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:39,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:40,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:42,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:44,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:58,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:62,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:53,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:56,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:48,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:54,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 3
    argNames:
    - pMgmt
    - numOfVnodes
    - ppVnodes
    argTypes:
    - SVnodeMgmt*
    - int32_t*
    - SVnodeObj***
    constantsTouched: []
    func_position:
      end: 67
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 67
    functionName: vmGetAllVnodeListFromHash
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosHashGetSize
    - dTrace
    - atomic_add_fetch_32
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetAllVnodeListFromHash(SVnodeMgmt *pMgmt, int32_t *numOfVnodes,
      SVnodeObj ***ppVnodes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:118,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:122,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:121,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:124,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:128,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:133,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:134,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:136,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:138,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:142,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - pMgmt
    - numOfVnodes
    - ppVnodes
    argTypes:
    - SVnodeMgmt*
    - int32_t*
    - SVnodeObj***
    constantsTouched: []
    func_position:
      end: 147
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 147
    functionName: vmGetVnodeListFromHash
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosHashGetSize
    - dTrace
    - atomic_add_fetch_32
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetVnodeListFromHash(SVnodeMgmt *pMgmt, int32_t *numOfVnodes,
      SVnodeObj ***ppVnodes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:201,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:254,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:230,1
    - Dst: vmDecodeVnodeList
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:244,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:253,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:232,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:232,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:203,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:213,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:250,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:238,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:224,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:255,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:258,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:205,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:210,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:205,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:218,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:220,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:220,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 3
    argNames:
    - pMgmt
    - ppCfgs
    - numOfVnodes
    argTypes:
    - SVnodeMgmt*
    - SWrapperCfg**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 261
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 261
    functionName: vmGetVnodeListFromFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosFStatFile
    - snprintf
    - taosStatFile
    - taosMemoryMalloc
    - taosReadFile
    - vmDecodeVnodeList
    - taosMemoryFree
    - cJSON_Delete
    - taosCloseFile
    - tjsonParse
    - dInfo
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetVnodeListFromFile(SVnodeMgmt *pMgmt, SWrapperCfg **ppCfgs,
      int32_t *numOfVnodes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:70,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:73,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:76,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:74,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:78,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:82,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:87,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:88,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:90,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:92,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:106,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:101,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:104,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:102,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:96,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:109,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 3
    argNames:
    - pMgmt
    - numOfVnodes
    - ppVnodes
    argTypes:
    - SVnodeMgmt*
    - int32_t*
    - SVnodeObj***
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: vmGetAllVnodeListFromHashWithCreating
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosHashGetSize
    - dTrace
    - atomic_add_fetch_32
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetAllVnodeListFromHashWithCreating(SVnodeMgmt *pMgmt, int32_t
      *numOfVnodes, SVnodeObj ***ppVnodes) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:154,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:164,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:171,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:159,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:157,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:173,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:175,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:177,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:179,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:182,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:190,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 32
    argCount: 4
    argNames:
    - pJson
    - pMgmt
    - ppCfgs
    - numOfVnodes
    argTypes:
    - SJson*
    - SVnodeMgmt*
    - SWrapperCfg**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 192
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 192
    functionName: vmDecodeVnodeList
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - taosMemoryCalloc
    - cJSON_GetArraySize
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmDecodeVnodeList(SJson *pJson, SVnodeMgmt *pMgmt,
      SWrapperCfg **ppCfgs, int32_t *numOfVnodes) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:265,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:280,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:278,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:269,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:270,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:281,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:282,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:283,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:285,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:287,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 33
    argCount: 3
    argNames:
    - pJson
    - ppVnodes
    - numOfVnodes
    argTypes:
    - SJson*
    - SVnodeObj**
    - int32_t
    constantsTouched: []
    func_position:
      end: 291
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 291
    functionName: vmEncodeVnodeList
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonDelete
    - tjsonAddItemToObject
    - tjsonCreateObject
    - tjsonCreateArray
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmEncodeVnodeList(SJson *pJson, SVnodeObj **ppVnodes,
      int32_t numOfVnodes) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:304,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:309,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:359,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:352,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:345,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:368,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:388,1
    - Dst: vmGetAllVnodeListFromHash
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:323,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:332,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:338,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:370,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:374,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:381,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:388,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:318,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:325,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:363,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:365,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:346,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:351,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:370,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:376,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:384,1
    - Dst: vmEncodeVnodeList
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c:363,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 87
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 392
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 392
    functionName: vmWriteVnodeListToFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmFile.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - tjsonToString
    - dInfo
    - taosOpenFile
    - tjsonDelete
    - vmGetAllVnodeListFromHash
    - TAOS_CHECK_GOTO
    - taosCloseFile
    - taosRenameFile
    - vmEncodeVnodeList
    - tjsonCreateObject
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - taosWriteFile
    - tstrerror
    - strlen
    - dError
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmWriteVnodeListToFile(SVnodeMgmt *pMgmt) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:22,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:27,1
    - Dst: tfsUpdateSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:25,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:29,1
    - Dst: vnodeGetLoad
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:37,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:38,1
    - Dst: vnodeResetLoad
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:40,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:42,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:43,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:45,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:48,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 3
    argNames:
    - pMgmt
    - pInfo
    - isReset
    argTypes:
    - SVnodeMgmt*
    - SMonVloadInfo*
    - bool
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: vmGetVnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - tfsUpdateSize
    - vnodeResetLoad
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosArrayPush
    - vnodeGetLoad
    - dError
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void vmGetVnodeLoads(SVnodeMgmt *pMgmt, SMonVloadInfo *pInfo, bool
      isReset) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vmGetVnodeLoads
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:81,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:95,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:94,1
    - Dst: tfsGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:122,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:125,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pMgmt
    - pInfo
    argTypes:
    - SVnodeMgmt*
    - SMonVmInfo*
    constantsTouched: []
    func_position:
      end: 126
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 126
    functionName: vmGetMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - tfsGetMonitorInfo
    - dError
    - taosArrayGetSize
    - vmGetVnodeLoads
    linkageType: ''
    returnType: void
    signature: 'void vmGetMonitorInfo(SVnodeMgmt *pMgmt, SMonVmInfo *pInfo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:157,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:180,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:178,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:160,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:180,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:188,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:204,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:213,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:236,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:242,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:255,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:243,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:254,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 102
    argCount: 2
    argNames:
    - pCreate
    - pCfg
    argTypes:
    - SCreateVnodeReq*
    - SVnodeCfg*
    constantsTouched: []
    func_position:
      end: 262
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 262
    functionName: vmGenerateVnodeCfg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - memset
    - tstrncpy
    - tmsgUpdateDnodeInfo
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void vmGenerateVnodeCfg(SCreateVnodeReq *pCreate, SVnodeCfg
      *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:274,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:275,1
    - Dst: smaGetTSmaDays
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pCfg
    - pReq
    argTypes:
    - SVnodeCfg*
    - SCreateVnodeReq*
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: vmTsmaAdjustDays
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - htonl
    - POINTER_SHIFT
    - smaGetTSmaDays
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmTsmaAdjustDays(SVnodeCfg *pCfg, SCreateVnodeReq *pReq) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:342,1
    - Dst: vmAcquireVnodeImpl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:363,1
    - Dst: vmAllocPrimaryDisk
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:374,1
    - Dst: tFreeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:384,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:397,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:397,1
    - Dst: vnodeStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:411,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:417,1
    - Dst: vmCloseFailedVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:427,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:432,1
    - Dst: vmTsmaProcessCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:403,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:405,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:433,1
    - Dst: tDeserializeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:298,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:324,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:328,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:347,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:349,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:357,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:349,1
    - Dst: vmGetPrimaryDisk
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:372,1
    - Dst: tFreeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:436,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:314,1
    - Dst: vmGenerateVnodeCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:354,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:390,1
    - Dst: vmCleanPrimaryDisk
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:424,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:390,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:378,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:382,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:306,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:339,1
    - Dst: vmTsmaAdjustDays
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:356,1
    - Dst: vmGenerateWrapperCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:361,1
    - Dst: tFreeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:366,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:367,1
    - Dst: vnodeCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:380,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:381,1
    - Dst: vmCleanPrimaryDisk
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:383,1
    - Dst: vnodeOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:388,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:405,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:413,1
    - Dst: vmOpenVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:395,1
    - Dst: vnodeClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:429,1
    - Dst: vnodeDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:430,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:413,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:381,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 439
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 439
    functionName: vmProcessCreateVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - vmTsmaProcessCreate
    - vmCleanPrimaryDisk
    - vnodeOpen
    - vmCloseFailedVnode
    - terrstr
    - dInfo
    - vnodeDestroy
    - vnodeStart
    - tDeserializeSCreateVnodeReq
    - vnodeCreate
    - vmGetPrimaryDisk
    - vmGenerateWrapperCfg
    - vmWriteVnodeListToFile
    - vnodeClose
    - vmTsmaAdjustDays
    - vmAllocPrimaryDisk
    - vmOpenVnode
    - TMSG_INFO
    - vmAcquireVnodeImpl
    - snprintf
    - strcmp
    - tstrerror
    - strlen
    - vmGenerateVnodeCfg
    - dError
    - tFreeSCreateVnodeReq
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessCreateVnodeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:564,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:573,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:578,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:576,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:574,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:578,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:580,1
    - Dst: vnodeGetRole
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:584,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:585,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:587,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:593,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:589,1
    - Dst: vnodeIsCatchUp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:594,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:602,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:604,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:600,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:596,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:605,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 608
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 608
    functionName: vmProcessCheckLearnCatchupReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - terrstr
    - vnodeGetRole
    - tDeserializeSAlterVnodeReplicaReq
    - dInfo
    - vnodeIsCatchUp
    - vmAcquireVnode
    - dError
    - vmReleaseVnode
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessCheckLearnCatchupReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSAlterVnodeHashRangeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:634,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:666,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:670,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:709,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:650,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:645,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:654,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:654,1
    - Dst: vmCloseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:676,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:682,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:690,1
    - Dst: vnodeOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:691,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:699,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:699,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:642,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:652,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:681,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:684,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:675,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:686,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:686,1
    - Dst: vmOpenVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:698,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:704,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:704,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:710,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:710,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:644,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:656,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:671,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:671,1
    - Dst: vnodeAlterHashRange
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:685,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:694,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:694,1
    - Dst: vnodeStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:703,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:714,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 716
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 716
    functionName: vmProcessAlterHashRangeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - snprintf
    - vnodeOpen
    - terrstr
    - tstrncpy
    - dInfo
    - vmWriteVnodeListToFile
    - vnodeAlterHashRange
    - vnodeStart
    - vmAcquireVnode
    - tDeserializeSAlterVnodeHashRangeReq
    - dError
    - vmCloseVnode
    - vmOpenVnode
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessAlterHashRangeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSDropVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:825,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:841,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:835,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:831,1
    - Dst: vmAcquireVnodeImpl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:839,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:841,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:847,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:849,1
    - Dst: vmCloseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:853,1
    - Dst: vmWriteVnodeListToFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:854,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:855,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:858,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:855,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 860
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 860
    functionName: vmProcessDropVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSDropVnodeReq
    - vmAcquireVnodeImpl
    - terrstr
    - vmWriteVnodeListToFile
    - dInfo
    - dError
    - vmCloseVnode
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessDropVnodeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taos_counter_get_keys_size
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:129,1
    - Dst: taos_counter_get_vgroup_ids
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:134,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:136,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:142,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:139,1
    - Dst: taos_counter_delete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:144,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:146,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:150,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:151,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:152,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 154
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 154
    functionName: vmCleanExpriedSamples
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - taos_counter_get_vgroup_ids
    - taosHashGet
    - taos_counter_delete
    - dError
    - taos_counter_get_keys_size
    linkageType: ''
    returnType: void
    signature: 'void vmCleanExpriedSamples(SVnodeMgmt *pMgmt) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:52,1
    - Dst: vnodeGetLoadLite
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:65,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:66,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:57,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:55,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:67,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:73,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:76,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 2
    argNames:
    - pMgmt
    - pInfo
    argTypes:
    - SVnodeMgmt*
    - SMonVloadInfo*
    constantsTouched: []
    func_position:
      end: 77
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 77
    functionName: vmGetVnodeLoadsLite
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosArrayDestroy
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosArrayPush
    - vnodeGetLoadLite
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void vmGetVnodeLoadsLite(SVnodeMgmt *pMgmt, SMonVloadInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pMgmt
    - pCreate
    - pCfg
    argTypes:
    - SVnodeMgmt*
    - SCreateVnodeReq*
    - SWrapperCfg*
    constantsTouched: []
    func_position:
      end: 269
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 269
    functionName: vmGenerateWrapperCfg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void vmGenerateWrapperCfg(SVnodeMgmt *pMgmt, SCreateVnodeReq
      *pCreate, SWrapperCfg *pCfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSDisableVnodeWriteReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:612,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:617,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:619,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:621,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:621,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:623,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:628,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 630
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 630
    functionName: vmProcessDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - terrstr
    - tDeserializeSDisableVnodeWriteReq
    - dInfo
    - vmAcquireVnode
    - dError
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessDisableVnodeWriteReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:748,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:762,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:771,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:800,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:805,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:805,1
    - Dst: vnodeStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:809,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:720,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:738,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:733,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:775,1
    - Dst: vnodeAlterReplica
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:792,1
    - Dst: vnodeShouldRemoveWal
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:784,1
    - Dst: vmOpenVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:804,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:814,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:817,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:760,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:769,1
    - Dst: vmCloseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:785,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:789,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:782,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:769,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:797,1
    - Dst: vnodeOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:798,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:800,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:742,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:730,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:767,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:791,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:793,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:793,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:810,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:810,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 820
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 820
    functionName: vmProcessAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - vmOpenVnode
    - snprintf
    - vnodeOpen
    - terrstr
    - vnodeShouldRemoveWal
    - strcmp
    - tstrncpy
    - tDeserializeSAlterVnodeReplicaReq
    - dInfo
    - vnodeStart
    - vmAcquireVnode
    - dError
    - vmCloseVnode
    - vnodeAlterReplica
    - vmReleaseVnode
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessAlterVnodeReplicaReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:878,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:882,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:885,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:916,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:903,1
    - Dst: tSerializeSVArbHeartBeatRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:924,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:938,1
    - Dst: tFreeSVArbHeartBeatRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:948,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:872,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:892,1
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:893,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:895,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:910,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:914,1
    - Dst: vnodeUpdateArbTerm
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:908,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:876,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:915,1
    - Dst: vnodeGetArbToken
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:902,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:904,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:920,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:930,1
    - Dst: tFreeSVArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:947,1
    - Dst: tDeserializeSVArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:865,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:909,1
    - Dst: tSerializeSVArbHeartBeatRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:936,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 950
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 950
    functionName: vmProcessArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - vmReleaseVnode
    - tFreeSVArbHeartBeatRsp
    - taosArrayGet
    - rpcMallocCont
    - tFreeSVArbHeartBeatReq
    - tstrncpy
    - vnodeUpdateArbTerm
    - strlen
    - rpcFreeCont
    - taosArrayPush
    - vmAcquireVnode
    - tSerializeSVArbHeartBeatRsp
    - dError
    - taosArrayGetSize
    - vnodeGetArbToken
    - tDeserializeSVArbHeartBeatReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessArbHeartBeatReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 116
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1082,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1061,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1063,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:978,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1035,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1029,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:960,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:965,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:973,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1015,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:996,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:991,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1010,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1064,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1047,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1049,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1026,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:993,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1020,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:988,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:983,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1007,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:957,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:970,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:975,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1001,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1065,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1050,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1068,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1052,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1070,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:985,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1012,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:980,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:962,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:967,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1003,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1032,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:998,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1017,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1037,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1046,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1074,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:954,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1048,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1034,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1022,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1028,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:995,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:990,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1014,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:959,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:972,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1009,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:977,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1051,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1066,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1069,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1053,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1071,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1024,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1019,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:964,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:969,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:987,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:982,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1005,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1000,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1039,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1045,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1072,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1075,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1055,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1057,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1042,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:984,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1011,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:979,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1031,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:997,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:992,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:961,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:974,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:966,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1016,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1058,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1060,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1062,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1076,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1027,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:958,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:971,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:976,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:994,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1021,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:989,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1013,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1008,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1002,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1036,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1041,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1043,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1056,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1023,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:999,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1018,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:986,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:981,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1004,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1033,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:963,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:968,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1038,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1044,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:1059,1
    CyclomaticComplexity: 232
    EdgeCount: 232
    ICount: 234
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 1087
    functionName: vmGetMsgHandles
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - dmSetMgmtHandle
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *vmGetMsgHandles() '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:456,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:458,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:458,1
    - Dst: vnodeGetRole
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:464,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:465,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:491,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:487,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:498,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:512,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:540,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:467,1
    - Dst: vnodeIsCatchUp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:474,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:497,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:473,1
    - Dst: vnodeShouldRemoveWal
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:527,1
    - Dst: vnodeAlterReplica
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:535,1
    - Dst: vmOpenVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:547,1
    - Dst: vnodeStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:552,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:454,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:453,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:460,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:469,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:483,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:480,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:510,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:525,1
    - Dst: vmCloseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:528,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:532,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:548,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:548,1
    - Dst: tDeserializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:444,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:476,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:514,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:518,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:534,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:536,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:536,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:543,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:553,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:553,1
    - Dst: vnodeOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:541,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:543,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:558,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:557,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 95
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 560
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 560
    functionName: vmProcessAlterVnodeTypeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - vmOpenVnode
    - snprintf
    - vnodeOpen
    - terrstr
    - vnodeShouldRemoveWal
    - vnodeGetRole
    - strcmp
    - tstrncpy
    - tDeserializeSAlterVnodeReplicaReq
    - dInfo
    - vnodeIsCatchUp
    - vnodeStart
    - vmAcquireVnode
    - dError
    - vmCloseVnode
    - vnodeAlterReplica
    - vmReleaseVnode
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmProcessAlterVnodeTypeReq(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:284,1
    - Dst: vnodeProcessCreateTSma
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:285,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pVnode
    - pReq
    argTypes:
    - SVnode*
    - SCreateVnodeReq*
    constantsTouched: []
    func_position:
      end: 288
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 288
    functionName: vmTsmaProcessCreate
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmHandle.c
    functionUses: []
    functionsReached:
    - htonl
    - POINTER_SHIFT
    - vnodeProcessCreateTSma
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmTsmaProcessCreate(SVnode *pVnode, SCreateVnodeReq
      *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 402
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 402
    functionName: vmPutMsgToStreamChkQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToStreamChkQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:412,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 414
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 414
    functionName: vmPutMsgToMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - dGTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToMgmtQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:406,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:407,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 408
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 408
    functionName: vmPutMsgToMultiMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - dGTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToMultiMgmtQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:419,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:430,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:421,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:419,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:428,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:436,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:436,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:438,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:439,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:440,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:445,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:447,1
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:443,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:446,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pMgmt
    - qtype
    - pRpc
    argTypes:
    - SVnodeMgmt*
    - EQueueType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 451
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 451
    functionName: vmPutRpcMsgToQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - htonl
    - taosFreeQitem
    - dTrace
    - vmPutMsgToQueue
    - memcpy
    - TMSG_INFO
    - rpcFreeCont
    - dError
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutRpcMsgToQueue(SVnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg
      *pRpc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:27,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pMsg
    - code
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 28
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 28
    functionName: vmSendRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: void
    signature: 'static inline void vmSendRsp(SRpcMsg *pMsg, int32_t code) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:126,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:131,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:130,1
    - Dst: vnodeProcessStreamMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:127,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:130,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:132,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:135,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:136,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 139
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 139
    functionName: vmProcessStreamQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProcessStreamMsg
    - dGTrace
    - dGError
    - tstrerror
    - vmSendRsp
    - rpcFreeCont
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessStreamQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:285,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pMgt
    - vgId
    - pNode
    argTypes:
    - SVnodeMgmt*
    - int32_t
    - SVnodeObj**
    constantsTouched: []
    func_position:
      end: 290
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 290
    functionName: vmAcquireVnodeWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmAcquireVnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmAcquireVnodeWrapper(SVnodeMgmt *pMgt, int32_t vgId,
      SVnodeObj **pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:386,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: vmPutMsgToSyncRdQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToSyncRdQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 394
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 394
    functionName: vmPutMsgToFetchQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToFetchQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 398
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 398
    functionName: vmPutMsgToStreamCtrlQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToStreamCtrlQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: vmAcquireVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:455,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:462,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:459,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:468,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:465,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:471,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:474,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:477,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:480,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:483,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:490,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:490,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:488,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 3
    argNames:
    - pMgmt
    - vgId
    - qtype
    argTypes:
    - SVnodeMgmt*
    - int32_t
    - EQueueType
    constantsTouched: []
    func_position:
      end: 494
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 494
    functionName: vmGetQueueSize
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosQueueItemSize
    - terrstr
    - dTrace
    - vmAcquireVnode
    - vmReleaseVnode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmGetQueueSize(SVnodeMgmt *pMgmt, int32_t vgId, EQueueType
      qtype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:35,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:45,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:45,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:42,1
    - Dst: vmProcessCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:38,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:45,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:47,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:50,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:51,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 53
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 53
    functionName: vmProcessMultiMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - IsReq
    - dGTrace
    - dGError
    - tstrerror
    - vmSendRsp
    - rpcFreeCont
    - vmProcessCreateVnodeReq
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessMultiMgmtQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:148,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:160,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:155,1
    - Dst: vnodeProcessStreamCtrlMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:156,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:160,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:161,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:164,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:165,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pQall
    - numOfItems
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 169
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 169
    functionName: vmProcessStreamCtrlQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProcessStreamCtrlMsg
    - dGTrace
    - dGError
    - tstrerror
    - vmSendRsp
    - rpcFreeCont
    - taosGetQitem
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessStreamCtrlQueue(SQueueInfo *pInfo, STaosQall*
      pQall, int32_t numOfItems) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:309,1
    - Dst: vnodePreprocessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:315,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:320,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:317,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:352,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:353,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:370,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:370,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:375,1
    - Dst: vmReleaseVnode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:382,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:347,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:357,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:353,1
    - Dst: vmDataSpaceSufficient
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:344,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:358,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:295,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:295,1
    - Dst: vmAcquireVnodeWrapper
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:306,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:309,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:324,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:325,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:324,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:332,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:332,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:362,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:374,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:341,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:362,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:347,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:350,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:367,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:371,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:374,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:366,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:340,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:333,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:366,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:340,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:363,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:302,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:308,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:319,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:319,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:328,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:328,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:329,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:336,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:336,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:337,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:346,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 87
    argCount: 3
    argNames:
    - pMgmt
    - pMsg
    - qtype
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    - EQueueType
    constantsTouched: []
    func_position:
      end: 384
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 384
    functionName: vmPutMsgToQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - grantCheck
    - dDebug
    - taosWriteQitem
    - dGTrace
    - vmAcquireVnodeWrapper
    - dGError
    - ntohl
    - tstrerror
    - vnodePreprocessQueryMsg
    - dError
    - dGDebug
    - vmDataSpaceSufficient
    - vmReleaseVnode
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t vmPutMsgToQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg, EQueueType
      qtype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: vmPutMsgToSyncQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToSyncQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:396,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 396
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 396
    functionName: vmPutMsgToStreamQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToStreamQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 400
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 400
    functionName: vmPutMsgToStreamLongExecQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToStreamLongExecQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:521,1
    - Dst: tAutoQWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:529,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:547,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:549,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:550,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:553,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:554,1
    - Dst: tMultiWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:517,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:519,1
    - Dst: tQueryAutoQWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:525,1
    - Dst: tWWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:526,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:540,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:542,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:541,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:543,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:544,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:545,1
    - Dst: tMultiWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:502,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:513,1
    - Dst: tMultiWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:511,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:520,1
    - Dst: tAutoQWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:531,1
    - Dst: tWWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:532,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:548,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:552,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:555,1
    - Dst: taosQueueGetThreadId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:556,1
    - Dst: tMultiWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:506,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:508,1
    - Dst: tMultiWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:514,1
    - Dst: tWWorkerAllocQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:530,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:551,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:546,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 558
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 558
    functionName: vmAllocQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - tAutoQWorkerAllocQueue
    - dInfo
    - tWWorkerAllocQueue
    - tMultiWorkerCleanup
    - taosQueueGetThreadId
    - tMultiWorkerInit
    - tQueryAutoQWorkerAllocQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmAllocQueue(SVnodeMgmt *pMgmt, SVnodeObj *pVnode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:60,1
    - Dst: vmProcessCreateVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:63,1
    - Dst: vmProcessDisableVnodeWriteReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:72,1
    - Dst: vmProcessAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:69,1
    - Dst: vmProcessDropVnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:66,1
    - Dst: vmProcessAlterHashRangeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:75,1
    - Dst: vmProcessAlterVnodeTypeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:78,1
    - Dst: vmProcessCheckLearnCatchupReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:81,1
    - Dst: vmProcessArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:84,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:88,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:91,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:94,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:94,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:96,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:101,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:94,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:99,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:100,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 102
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 102
    functionName: vmProcessMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vmProcessAlterVnodeReplicaReq
    - IsReq
    - vmProcessArbHeartBeatReq
    - dGTrace
    - vmProcessAlterVnodeTypeReq
    - dGError
    - vmProcessDisableVnodeWriteReq
    - tstrerror
    - vmSendRsp
    - vmProcessCheckLearnCatchupReq
    - vmProcessDropVnodeReq
    - rpcFreeCont
    - vmProcessAlterHashRangeReq
    - vmProcessCreateVnodeReq
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessMgmtQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:561,1
    - Dst: tWWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:565,1
    - Dst: tAutoQWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:562,1
    - Dst: tAutoQWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:563,1
    - Dst: tWWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:564,1
    - Dst: tWWorkerFreeQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:566,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pMgmt
    - pVnode
    argTypes:
    - SVnodeMgmt*
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 577
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 577
    functionName: vmFreeQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - tWWorkerFreeQueue
    - tQueryAutoQWorkerFreeQueue
    - tAutoQWorkerFreeQueue
    - dDebug
    linkageType: ''
    returnType: void
    signature: 'void vmFreeQueue(SVnodeMgmt *pMgmt, SVnodeObj *pVnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:108,1
    - Dst: vnodeProcessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:109,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:112,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:113,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:112,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:116,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:117,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 119
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 119
    functionName: vmProcessQueryQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - dGTrace
    - dGError
    - vnodeProcessQueryMsg
    - tstrerror
    - vmSendRsp
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessQueryQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:586,1
    - Dst: tWWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:608,1
    - Dst: tAutoQWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:593,1
    - Dst: tAutoQWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:598,1
    - Dst: tWWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:603,1
    - Dst: tWWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:613,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:618,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:632,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:634,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 636
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 636
    functionName: vmStartWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - dDebug
    - tSingleWorkerInit
    - tWWorkerInit
    - tQueryAutoQWorkerInit
    - tAutoQWorkerInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmStartWorker(SVnodeMgmt *pMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:177,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:188,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:189,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:184,1
    - Dst: vnodeProcessStreamChkptMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:185,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:189,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:190,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:193,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:194,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 3
    argNames:
    - pInfo
    - pQall
    - numOfItems
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: vmProcessStreamChkptQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - dGTrace
    - dGError
    - vnodeProcessStreamChkptMsg
    - tstrerror
    - vmSendRsp
    - rpcFreeCont
    - taosGetQitem
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessStreamChkptQueue(SQueueInfo *pInfo, STaosQall*
      pQall, int32_t numOfItems) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:224,1
    - Dst: dGDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:236,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:236,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:226,1
    - Dst: vnodeProcessFetchMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:229,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:238,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:238,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:241,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:244,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:245,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:246,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 248
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 248
    functionName: vmProcessFetchQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProcessFetchMsg
    - dGTrace
    - terrstr
    - dGError
    - vmSendRsp
    - rpcFreeCont
    - dGDebug
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessFetchQueue(SQueueInfo *pInfo, STaosQall *qall,
      int32_t numOfMsgs) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:269,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:270,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 273
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 273
    functionName: vmSendResponse
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - dError
    - terrstr
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: 'static void vmSendResponse(SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 390
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 390
    functionName: vmPutMsgToWriteQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToWriteQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:204,1
    - Dst: vnodeProcessStreamLongExecMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:206,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:210,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:209,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:209,1
    - Dst: vmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:211,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:214,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:215,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 217
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 217
    functionName: vmProcessStreamLongExecQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - dGTrace
    - dGError
    - tstrerror
    - vmSendRsp
    - vnodeProcessStreamLongExecMsg
    - rpcFreeCont
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessStreamLongExecQueue(SQueueInfo *pInfo, SRpcMsg
      *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:255,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:257,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:261,1
    - Dst: vnodeProcessSyncMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:259,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:260,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:262,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pInfo
    - qall
    - numOfMsgs
    argTypes:
    - SQueueInfo*
    - STaosQall*
    - int32_t
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: vmProcessSyncQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - vnodeProcessSyncMsg
    - dGTrace
    - rpcFreeCont
    - taosGetQitem
    linkageType: ''
    returnType: void
    signature: 'static void vmProcessSyncQueue(SQueueInfo *pInfo, STaosQall *qall,
      int32_t numOfMsgs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfsDiskSpaceSufficient
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:278,1
    - Dst: osDataSpaceSufficient
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pVnode
    argTypes:
    - SVnodeObj*
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: vmDataSpaceSufficient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - tfsDiskSpaceSufficient
    - osDataSpaceSufficient
    linkageType: ''
    returnType: bool
    signature: 'static bool vmDataSpaceSufficient(SVnodeObj *pVnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vmPutMsgToQueue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SVnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 392
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 392
    functionName: vmPutMsgToQueryQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - vmPutMsgToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t vmPutMsgToQueryQueue(SVnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tQueryAutoQWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:639,1
    - Dst: tAutoQWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:640,1
    - Dst: tAutoQWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:641,1
    - Dst: tWWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:643,1
    - Dst: tWWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:642,1
    - Dst: tWWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:644,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c:645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SVnodeMgmt*
    constantsTouched: []
    func_position:
      end: 646
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 646
    functionName: vmStopWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_vnode/src/vmWorker.c
    functionUses: []
    functionsReached:
    - tAutoQWorkerCleanup
    - dDebug
    - tWWorkerCleanup
    - tQueryAutoQWorkerCleanup
    linkageType: ''
    returnType: void
    signature: 'void vmStopWorker(SVnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qndGetLoad
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - qmInfo
    argTypes:
    - SQnodeMgmt*
    - SMonQmInfo*
    constantsTouched: []
    func_position:
      end: 23
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 23
    functionName: qmGetMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c
    functionUses: []
    functionsReached:
    - qndGetLoad
    linkageType: ''
    returnType: void
    signature: 'void qmGetMonitorInfo(SQnodeMgmt *pMgmt, SMonQmInfo *qmInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:34,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:41,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:42,1
    - Dst: dmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:47,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:41,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:48,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:48,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:49,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:53,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: qmProcessCreateReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - dmWriteFile
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmProcessCreateReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:60,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:67,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:68,1
    - Dst: dmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:73,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:74,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:74,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:75,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:79,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 81
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 81
    functionName: qmProcessDropReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - dmWriteFile
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmProcessDropReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qndGetLoad
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pInfo
    argTypes:
    - SQnodeMgmt*
    - SQnodeLoad*
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: qmGetQnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c
    functionUses: []
    functionsReached:
    - qndGetLoad
    linkageType: ''
    returnType: void
    signature: 'void qmGetQnodeLoads(SQnodeMgmt *pMgmt, SQnodeLoad *pInfo) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:85,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:90,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:91,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:92,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:89,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:93,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:94,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:95,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:97,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:98,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:99,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c:104,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 109
    functionName: qmGetMsgHandles
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmHandle.c
    functionUses: []
    functionsReached:
    - dmSetMgmtHandle
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *qmGetMsgHandles() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pOption
    argTypes:
    - SQnodeMgmt*
    - SQnodeOpt*
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: qmInitOption
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void qmInitOption(SQnodeMgmt *pMgmt, SQnodeOpt *pOption) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qndOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:36,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pOption
    - pQnode
    argTypes:
    - SQnodeOpt*
    - SQnode**
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: qndOpenWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached:
    - qndOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qndOpenWrapper(SQnodeOpt *pOption, SQnode **pQnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: qmGetMgmtFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMgmtFunc
    signature: 'SMgmtFunc qmGetMgmtFunc() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:20,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pInput
    - required
    argTypes:
    - SMgmtInputOpt*
    - bool*
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: qmRequire
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached:
    - dmReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qmRequire(const SMgmtInputOpt *pInput, bool *required) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qmStopWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:32,1
    - Dst: qndClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SQnodeMgmt*
    constantsTouched: []
    func_position:
      end: 33
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 33
    functionName: qmClose
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached:
    - qndClose
    - taosMemoryFree
    - qmStopWorker
    linkageType: ''
    returnType: void
    signature: 'static void qmClose(SQnodeMgmt *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:41,1
    - Dst: qndOpenWrapper
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:57,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:59,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:59,1
    - Dst: qmInitOption
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:55,1
    - Dst: qmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:60,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:63,1
    - Dst: udfcOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:65,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:66,1
    - Dst: qmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:67,1
    - Dst: qmStartWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:71,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:72,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:76,1
    - Dst: qmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c:73,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SMgmtInputOpt*
    - SMgmtOutputOpt*
    constantsTouched: []
    func_position:
      end: 80
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 80
    functionName: qmOpen
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmInt.c
    functionUses: []
    functionsReached:
    - udfcOpen
    - qndOpenWrapper
    - taosMemoryCalloc
    - qmStartWorker
    - tstrerror
    - qmInitOption
    - tmsgReportStartup
    - qmClose
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qmOpen(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMsg
    - code
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: qmSendRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: void
    signature: 'static inline void qmSendRsp(SRpcMsg *pMsg, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:44,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:45,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pWorker
    - pMsg
    argTypes:
    - SSingleWorker*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: qmPutNodeMsgToWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - TMSG_INFO
    - taosWriteQitem
    - dTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t qmPutNodeMsgToWorker(SSingleWorker *pWorker, SRpcMsg
      *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qmPutNodeMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SQnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: qmPutNodeMsgToFetchQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - qmPutNodeMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmPutNodeMsgToFetchQueue(SQnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:91,1
    - Dst: taosQueueItemSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pMgmt
    - vgId
    - qtype
    argTypes:
    - SQnodeMgmt*
    - int32_t
    - EQueueType
    constantsTouched: []
    func_position:
      end: 101
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 101
    functionName: qmGetQueueSize
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - taosQueueItemSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmGetQueueSize(SQnodeMgmt *pMgmt, int32_t vgId, EQueueType
      qtype) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:30,1
    - Dst: qndProcessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:32,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:33,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:38,1
    - Dst: qmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:35,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:39,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:40,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 41
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 41
    functionName: qmProcessQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - IsReq
    - qndProcessQueryMsg
    - qmSendRsp
    - dTrace
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'static void qmProcessQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qndPreprocessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:49,1
    - Dst: qmPutNodeMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SQnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: qmPutNodeMsgToQueryQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - qmPutNodeMsgToWorker
    - qndPreprocessQueryMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmPutNodeMsgToQueryQueue(SQnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:62,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:64,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:75,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:69,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:70,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:76,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:80,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:81,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - pMgmt
    - qtype
    - pRpc
    argTypes:
    - SQnodeMgmt*
    - EQueueType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 84
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 84
    functionName: qmPutRpcMsgToQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosWriteQitem
    - dTrace
    - rpcFreeCont
    - memcpy
    - taosAllocateQitem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmPutRpcMsgToQueue(SQnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg
      *pRpc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:115,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:116,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:116,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:131,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SQnodeMgmt*
    constantsTouched: []
    func_position:
      end: 137
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 137
    functionName: qmStartWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - tstrerror
    - dError
    - tSingleWorkerInit
    - dDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qmStartWorker(SQnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:140,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:141,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SQnodeMgmt*
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: qmStopWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_qnode/src/qmWorker.c
    functionUses: []
    functionsReached:
    - dDebug
    - tSingleWorkerCleanup
    linkageType: ''
    returnType: void
    signature: 'void qmStopWorker(SQnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmStopDnode
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: dmStopDaemon
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - dmStopDnode
    linkageType: ''
    returnType: void
    signature: 'void dmStopDaemon() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 72
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 72
    functionName: dmSetAssert
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void dmSetAssert(int32_t signum, void *sigInfo, void *context) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:141,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:147,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:159,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:162,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:153,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:173,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:138,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:142,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:148,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:160,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:163,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:154,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:169,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:139,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:144,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:150,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:166,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:156,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:170,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:145,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:151,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:157,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:167,1
    - Dst: taosSetSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 176
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 176
    functionName: dmSetSignalHandle
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - dWarn
    - taosSetSignal
    linkageType: ''
    returnType: void
    signature: 'static void dmSetSignalHandle() '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:190,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:192,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:198,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:200,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:206,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:216,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:226,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:231,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:235,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:247,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:255,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:268,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:271,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:291,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:194,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:186,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:209,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:218,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:214,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:220,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:237,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:242,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:245,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:264,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:289,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:291,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:284,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:287,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:181,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:195,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:203,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:222,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:228,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:234,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:259,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:276,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:292,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:281,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:291,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:205,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:223,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:211,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:234,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:236,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:238,1
    - Dst: taosExpandDir
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:250,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:251,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:262,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:247,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:278,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 299
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 299
    functionName: dmParseArgs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMemoryMalloc
    - taosExpandDir
    - strncmp
    - strcmp
    - memset
    - printf
    - strlen
    - tstrncpy
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmParseArgs(int32_t argc, char const *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGenerateMachineCode
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: dmGenerateGrant
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - mndGenerateMachineCode
    linkageType: ''
    returnType: void
    signature: 'static void dmGenerateGrant() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:319,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:321,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:325,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 326
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 326
    functionName: dmPrintVersion
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dmPrintVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:330,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:331,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:332,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:334,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:333,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:335,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:336,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:337,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:339,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:341,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:345,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:343,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 346
    functionName: dmPrintHelp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'static void dmPrintHelp() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:349,1
    - Dst: cfgDumpCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 351
    functionName: dmDumpCfg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - taosGetCfg
    - cfgDumpCfg
    linkageType: ''
    returnType: void
    signature: 'static void dmDumpCfg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSetGlobalDebugFlag
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int32_t
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: dmSetDebugFlag
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - taosSetGlobalDebugFlag
    linkageType: ''
    returnType: void
    signature: 'static void dmSetDebugFlag(int32_t signum, void *sigInfo, void *context) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:114,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:119,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:121,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:115,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:118,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:122,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:124,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:125,1
    - Dst: writeCrashLogToFile
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:128,1
    - Dst: dmGetClusterId
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:128,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:133,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:131,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 135
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 135
    functionName: dmLogCrash
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - exit
    - dWarn
    - writeCrashLogToFile
    - dmGetClusterId
    - taosIgnSignal
    linkageType: ''
    returnType: void
    signature: 'void dmLogCrash(int signum, void *sigInfo, void *context) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:78,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:79,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:84,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:81,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:82,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:85,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:87,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:88,1
    - Dst: taosIgnSignal
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:90,1
    - Dst: dWarn
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:91,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:97,1
    - Dst: dmStop
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:102,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:94,1
    - Dst: taosGetCmdlineByPID
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:98,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - signum
    - sigInfo
    - context
    argTypes:
    - int
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 103
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 103
    functionName: dmStopDnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - dWarn
    - dInfo
    - taosGetCmdlineByPID
    - dmStop
    - taosIgnSignal
    linkageType: ''
    returnType: void
    signature: 'static void dmStopDnode(int signum, void *sigInfo, void *context) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCwd
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:303,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:307,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:309,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 314
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 314
    functionName: dmPrintArgs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - dInfo
    - tsnprintf
    - taosGetCwd
    linkageType: ''
    returnType: void
    signature: 'static void dmPrintArgs(int32_t argc, char const *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:355,1
    - Dst: tcsCheckCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:359,1
    - Dst: cfgDumpCfgS3
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: dmCheckS3
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - taosGetCfg
    - cfgDumpCfgS3
    - tcsCheckCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCheckS3() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: taosCleanupArgs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void taosCleanupArgs() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:367,1
    - Dst: taosCreateLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:369,1
    - Dst: taosInitLogOutput
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: dmInitLog
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - taosCreateLog
    - taosInitLogOutput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmInitLog() '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:443,1
    - Dst: taosConvInit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:484,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:486,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:454,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:457,1
    - Dst: dmPrintArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:467,1
    - Dst: taosMemoryPoolInit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:476,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:504,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:537,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:540,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:436,1
    - Dst: taosInitCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:469,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:477,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:550,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:541,1
    - Dst: taosMemoryDbgInit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:430,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:495,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:554,1
    - Dst: taosReadDataFolder
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:441,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:456,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:511,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:515,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:548,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:503,1
    - Dst: osSetProcPath
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:536,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:513,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:424,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:470,1
    - Dst: dmCheckRunning
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:522,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:432,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:449,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:485,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:524,1
    - Dst: dmRun
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:562,1
    - Dst: dmCleanup
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:565,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:418,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:412,1
    - Dst: dmCheckRunning
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:447,1
    - Dst: dmUpdateEncryptKey
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:452,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:471,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:442,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:462,1
    - Dst: dmInit
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:546,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:496,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:555,1
    - Dst: mndDeleteTrans
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:528,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:512,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:542,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:493,1
    - Dst: dmSetSignalHandle
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:560,1
    - Dst: dmPrintVersion
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:423,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:448,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:479,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:563,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:550,1
    - Dst: mndDumpSdb
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:511,1
    - Dst: dmInitLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:461,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:463,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:528,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:532,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:530,1
    - Dst: dmGenerateGrant
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:411,1
    - Dst: dmPrintHelp
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:417,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:472,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:478,1
    - Dst: dmCheckS3
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:492,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:559,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:487,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:531,1
    - Dst: dmDumpCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:501,1
    - Dst: dmGetEncryptKey
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:539,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:529,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:453,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:505,1
    - Dst: taosCleanupArgs
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:514,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:523,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/exe/dmMain.c:502,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 127
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    constantsTouched: []
    func_position:
      end: 567
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 567
    functionName: mainWindows
    functionSourceFile: /src/tdengine/source/dnode/mgmt/exe/dmMain.c
    functionUses: []
    functionsReached:
    - mndDumpSdb
    - dmPrintArgs
    - mndDeleteTrans
    - dmPrintHelp
    - dInfo
    - dmInitLog
    - taosInitCfg
    - dmRun
    - osSetProcPath
    - taosCloseLog
    - dmCheckS3
    - dmCheckRunning
    - taosReadDataFolder
    - TAOS_CHECK_RETURN
    - encryptError
    - taosCleanupCfg
    - taosConvDestroy
    - taosCloseFile
    - dmCleanup
    - dmDumpCfg
    - dmPrintVersion
    - dmGetEncryptKey
    - taosCleanupArgs
    - printf
    - dmInit
    - dmGenerateGrant
    - taosMemoryPoolInit
    - dmUpdateEncryptKey
    - dmSetSignalHandle
    - tstrerror
    - taosConvInit
    - dError
    - taosMemoryDbgInit
    linkageType: ''
    returnType: int
    signature: 'int mainWindows(int argc, char **argv) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmStopWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:102,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: dmCloseMgmt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - dmStopWorker
    linkageType: ''
    returnType: void
    signature: 'static void dmCloseMgmt(SDnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmStopMonitorThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:51,1
    - Dst: dmStopConfigThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:54,1
    - Dst: dmStopStatusInfoThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:55,1
    - Dst: dmStopAuditThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:52,1
    - Dst: dmStopStatusThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:53,1
    - Dst: dmStopNotifyThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:57,1
    - Dst: dmStopCrashReportThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: dmStopMgmt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached:
    - dmStopCrashReportThread
    - dmStopStatusInfoThread
    - dmStopNotifyThread
    - dmStopConfigThread
    - dmStopAuditThread
    - dmStopMonitorThread
    - dmStopStatusThread
    linkageType: ''
    returnType: void
    signature: 'static void dmStopMgmt(SDnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: dmGetMgmtFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMgmtFunc
    signature: 'SMgmtFunc dmGetMgmtFunc() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dmStartStatusThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:22,1
    - Dst: dmStartStatusInfoThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:29,1
    - Dst: dmStartConfigThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:26,1
    - Dst: dmStartNotifyThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:33,1
    - Dst: dmStartMonitorThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:37,1
    - Dst: dmStartAuditThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:40,1
    - Dst: dmStartCrashReportThread
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:43,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: dmStartMgmt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached:
    - dmStartCrashReportThread
    - dmStartMonitorThread
    - dmStartStatusInfoThread
    - dmStartConfigThread
    - dmStartAuditThread
    - dmStartStatusThread
    - dmStartNotifyThread
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmStartMgmt(SDnodeMgmt *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:90,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:90,1
    - Dst: dmStartWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:85,1
    - Dst: udfStartUdfd
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:89,1
    - Dst: taosAnalyticsInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:93,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:94,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SMgmtInputOpt*
    - SMgmtOutputOpt*
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: dmOpenMgmt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - dmStartWorker
    - udfStartUdfd
    - tstrerror
    - dError
    - taosAnalyticsInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmOpenMgmt(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pInput
    - required
    argTypes:
    - SMgmtInputOpt*
    - bool*
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: dmRequireMgmt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmRequireMgmt(const SMgmtInputOpt *pInput, bool *required) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:342,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:343,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:348,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:347,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:345,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:349,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:349,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:353,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 356
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 356
    functionName: dmStartStatusThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - taosThreadAttrSetStackSize
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartStatusThread(SDnodeMgmt *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:22,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:29,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:23,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:32,1
    - Dst: dmSendStatusReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:36,1
    - Dst: taosGetOsUptime
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:40,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:41,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 47
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 47
    functionName: dmStatusThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetOsUptime
    - taosGetTimestampMs
    - TMAX
    - taosMsleep
    - setThreadName
    - dmSendStatusReq
    linkageType: ''
    returnType: void*
    signature: 'static void *dmStatusThreadFp(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:361,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:367,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:364,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:366,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:362,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:368,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:372,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 375
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 375
    functionName: dmStartConfigThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - taosThreadAttrSetStackSize
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartConfigThread(SDnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:639,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: dmPutNodeMsgToMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosWriteQitem
    - dTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmPutNodeMsgToMgmtQueue(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:204,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:215,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:212,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:206,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:205,1
    - Dst: taosMemoryTrim
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:226,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:229,1
    - Dst: taosMemoryTrim
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:230,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: dmMonitorThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - atomic_val_compare_exchange_8
    - taosMsleep
    - setThreadName
    - taosMemoryTrim
    linkageType: ''
    returnType: void*
    signature: 'static void *dmMonitorThreadFp(void *param) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:276,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:264,1
    - Dst: initCrashLogWriter
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:281,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:330,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:278,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:266,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:283,1
    - Dst: taosReleaseCrashLogFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:302,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:314,1
    - Dst: reportThreadSetQuit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:289,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:310,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:278,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:283,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:305,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:300,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:317,1
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:333,1
    - Dst: checkAndPrepareCrashInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:288,1
    - Dst: taosReadCrashInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:297,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:299,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:293,1
    - Dst: taosReleaseCrashLogFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:325,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 336
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 336
    functionName: dmCrashReportThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosSendTelemReport
    - taosGetTimestampMs
    - snprintf
    - initCrashLogWriter
    - taosReleaseCrashLogFile
    - taosReadCrashInfo
    - taosMemoryFree
    - taosTelemetryDestroy
    - tstrerror
    - dInfo
    - dError
    - taosTelemetryMgtInit
    - taosMsleep
    - checkAndPrepareCrashInfo
    - setThreadName
    - reportThreadSetQuit
    linkageType: ''
    returnType: void*
    signature: 'static void *dmCrashReportThreadFp(void *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:51,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:54,1
    - Dst: dmSendConfigReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:61,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:57,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:52,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: dmConfigThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMsleep
    - setThreadName
    - dmSendConfigReq
    linkageType: ''
    returnType: void*
    signature: 'static void *dmConfigThreadFp(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:420,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:423,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:424,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:422,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:421,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:424,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:428,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 431
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 431
    functionName: dmStartNotifyThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartNotifyThread(SDnodeMgmt *pMgmt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:70,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:77,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:71,1
    - Dst: dmUpdateStatusInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:84,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:80,1
    - Dst: taosGetOsUptime
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:88,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: dmStatusInfoThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetOsUptime
    - taosGetTimestampMs
    - dmUpdateStatusInfo
    - TMAX
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *dmStatusInfoThreadFp(void *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:434,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:440,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:435,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:439,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:436,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:442,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 445
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 445
    functionName: dmStopNotifyThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - tsem_destroy
    - tsem_post
    - dError
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopNotifyThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:451,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:455,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:454,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:452,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:455,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:459,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: dmStartMonitorThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartMonitorThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:469,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:473,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:472,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:470,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:471,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:473,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:477,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: dmStartAuditThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartAuditThread(SDnodeMgmt *pMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:529,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:530,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 534
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 534
    functionName: dmStopCrashReportThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopCrashReportThread(SDnodeMgmt *pMgmt) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:102,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:124,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:103,1
    - Dst: dmSendNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:183,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:188,1
    - Dst: dmSendNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:176,1
    - Dst: tFreeSNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:187,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:156,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:149,1
    - Dst: taosGetTimestampNs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:163,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:190,1
    - Dst: grantRemain
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:126,1
    - Dst: dmGetDnodeSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:132,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:145,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:147,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:159,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:105,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:123,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:130,1
    - Dst: dmSendNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:179,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 93
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 198
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 198
    functionName: dmNotifyThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tsem_init
    - dmGetDnodeSize
    - atomic_store_8
    - tFreeSNotifyReq
    - dmSendNotifyReq
    - taosGetTimestampNs
    - tsem_wait
    - grantRemain
    - atomic_val_compare_exchange_8
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *dmNotifyThreadFp(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:485,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:487,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: dmStopMonitorThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopMonitorThread(SDnodeMgmt *pMgmt) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dmProcessGrantRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:550,1
    - Dst: dmProcessGrantReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:580,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:590,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:590,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:594,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:603,1
    - Dst: dmProcessGrantNotify
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:583,1
    - Dst: dmProcessServerRunStatus
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:574,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:605,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:609,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:610,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:540,1
    - Dst: dmProcessConfigReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:544,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:540,1
    - Dst: dmProcessAuthRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:547,1
    - Dst: dmProcessCreateEncryptKeyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:586,1
    - Dst: dmProcessRetrieve
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:577,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:605,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 612
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 612
    functionName: dmProcessMgmtQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - dmProcessGrantNotify
    - dmProcessAuthRsp
    - IsReq
    - dmProcessGrantRsp
    - taosFreeQitem
    - dGTrace
    - dGError
    - dmProcessServerRunStatus
    - dmProcessGrantReq
    - dmProcessRetrieve
    - tstrerror
    - rpcSendResponse
    - dTrace
    - rpcFreeCont
    - dError
    - dmProcessCreateEncryptKeyReq
    - dmProcessConfigReq
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void dmProcessMgmtQueue(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:380,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:385,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:381,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:383,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:386,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:387,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:387,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:391,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 394
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 394
    functionName: dmStartStatusInfoThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - taosThreadAttrSetStackSize
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartStatusInfoThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:404,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:406,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 408
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 408
    functionName: dmStopConfigThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopConfigThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:494,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:495,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 499
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 499
    functionName: dmStopAuditThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopAuditThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:623,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:624,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:624,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:628,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 630
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 630
    functionName: dmStartWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - tstrerror
    - dError
    - tSingleWorkerInit
    - dDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartWorker(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:397,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:398,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:399,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: dmStopStatusThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopStatusThread(SDnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:411,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:413,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: dmStopStatusInfoThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void dmStopStatusInfoThread(SDnodeMgmt *pMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:509,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:513,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:512,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:511,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:513,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:517,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 521
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 521
    functionName: dmStartCrashReportThread
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - tmsgReportStartup
    - dError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartCrashReportThread(SDnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:633,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: dmStopWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - dDebug
    - tSingleWorkerCleanup
    linkageType: ''
    returnType: void
    signature: 'void dmStopWorker(SDnodeMgmt *pMgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:240,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:247,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:244,1
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c:241,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 257
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 257
    functionName: dmAuditThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmWorker.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *dmAuditThreadFp(void *param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosAnalyGetVersion
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:96,1
    - Dst: tSerializeRetrieveAnalyticAlgoReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:101,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:103,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:103,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:107,1
    - Dst: tSerializeRetrieveAnalyticAlgoReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:108,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:110,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:111,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:130,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:130,1
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:126,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:128,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pMgmt
    - newVer
    argTypes:
    - SDnodeMgmt*
    - int64_t
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: dmMayShouldUpdateAnalyticsFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcSendRequest
    - taosAnalyGetVersion
    - tSerializeRetrieveAnalyticAlgoReq
    - tstrerror
    - rpcFreeCont
    - dError
    - rpcMallocCont
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'static void dmMayShouldUpdateAnalyticsFunc(SDnodeMgmt *pMgmt, int64_t
      newVer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSConfigReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:370,1
    - Dst: tSerializeSConfigReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:356,1
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:386,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:388,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:370,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:358,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:364,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:392,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:396,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:392,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:353,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:358,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:354,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:364,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:396,1
    - Dst: dmProcessConfigRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 400
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 400
    functionName: dmSendConfigReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmProcessConfigRsp
    - tSerializeSConfigReq
    - tstrerror
    - rpcSendRecvWithTimeout
    - taosGetGlobalCfg
    - rpcFreeCont
    - dError
    - rpcMallocCont
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'void dmSendConfigReq(SDnodeMgmt *pMgmt) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:451,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:453,1
    - Dst: tSerializeSNotifyReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:457,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:456,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:453,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:459,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:460,1
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:474,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:475,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pMgmt
    - pReq
    argTypes:
    - SDnodeMgmt*
    - SNotifyReq*
    constantsTouched: []
    func_position:
      end: 478
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 478
    functionName: dmSendNotifyReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - rpcSendRequest
    - tSerializeSNotifyReq
    - tstrerror
    - rpcFreeCont
    - dError
    - rpcMallocCont
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'void dmSendNotifyReq(SDnodeMgmt *pMgmt, SNotifyReq *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:136,1
    - Dst: dmWriteEps
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:143,1
    - Dst: dGInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:140,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:144,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:146,1
    - Dst: raise
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:147,1
    - Dst: tDeserializeSStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:152,1
    - Dst: dGInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:154,1
    - Dst: dmUpdateDnodeCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:157,1
    - Dst: dmUpdateEps
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:158,1
    - Dst: tFreeSStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:163,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:165,1
    - Dst: dmMayShouldUpdateIpWhiteList
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:160,1
    - Dst: dmMayShouldUpdateAnalyticsFunc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:161,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pMgmt
    - pRsp
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 166
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 166
    functionName: dmProcessStatusRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - raise
    - dmMayShouldUpdateAnalyticsFunc
    - dmMayShouldUpdateIpWhiteList
    - dGTrace
    - dGInfo
    - dError
    - tDeserializeSStatusRsp
    - dInfo
    - dmUpdateDnodeCfg
    - tFreeSStatusRsp
    - rpcFreeCont
    - dmWriteEps
    - dmUpdateEps
    linkageType: ''
    returnType: void
    signature: 'static void dmProcessStatusRsp(SDnodeMgmt *pMgmt, SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:403,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:412,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:414,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:405,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:411,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:418,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:422,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:432,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:444,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:438,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:445,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 448
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 448
    functionName: dmUpdateStatusInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosThreadRwlockRdlock
    - taosArrayDestroy
    - taosThreadRwlockUnlock
    - tstrncpy
    - dError
    linkageType: ''
    returnType: void
    signature: 'void dmUpdateStatusInfo(SDnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 483
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 483
    functionName: dmProcessAuthRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessAuthRsp(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:33,1
    - Dst: dmWriteEps
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:39,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:34,1
    - Dst: monSetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:37,1
    - Dst: auditSetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:38,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:41,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:42,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:44,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pMgmt
    - pCfg
    argTypes:
    - SDnodeMgmt*
    - SDnodeCfg*
    constantsTouched: []
    func_position:
      end: 46
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 46
    functionName: dmUpdateDnodeCfg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - auditSetDnodeId
    - dInfo
    - tstrerror
    - monSetDnodeId
    - dmWriteEps
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'static void dmUpdateDnodeCfg(SDnodeMgmt *pMgmt, SDnodeCfg *pCfg) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:50,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:55,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:53,1
    - Dst: rpcSetIpWhite
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:54,1
    - Dst: tSerializeRetrieveIpWhite
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:63,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:65,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:65,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:68,1
    - Dst: tSerializeRetrieveIpWhite
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:69,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:72,1
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:86,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:88,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:72,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:90,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:90,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pMgmt
    - ver
    argTypes:
    - SDnodeMgmt*
    - int64_t
    constantsTouched: []
    func_position:
      end: 92
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 92
    functionName: dmMayShouldUpdateIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcSetIpWhite
    - rpcSendRequest
    - tstrerror
    - tSerializeRetrieveIpWhite
    - rpcFreeCont
    - dError
    - rpcMallocCont
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'static void dmMayShouldUpdateIpWhiteList(SDnodeMgmt *pMgmt, int64_t
      ver) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:176,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:211,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:217,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:246,1
    - Dst: tFreeSStatusReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:250,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:268,1
    - Dst: dmRotateMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:277,1
    - Dst: dmProcessStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:287,1
    - Dst: dmEpSetToStr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:279,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:171,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:209,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:209,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:214,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:211,1
    - Dst: tSerializeSStatusReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:237,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:270,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:272,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:280,1
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:266,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:174,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:193,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:207,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:225,1
    - Dst: taosAnalyGetVersion
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:239,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:243,1
    - Dst: tSerializeSStatusReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:247,1
    - Dst: dmSetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:284,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:175,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:213,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:222,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:226,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:215,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:230,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:239,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:247,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:280,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:262,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 105
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SDnodeMgmt*
    constantsTouched: []
    func_position:
      end: 288
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 288
    functionName: dmSendStatusReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dInfo
    - taosGetTimestampMs
    - taosAnalyGetVersion
    - tFreeSStatusReq
    - dmRotateMnodeEpSet
    - dmSetMnodeEpSet
    - rpcFreeCont
    - memcpy
    - dmProcessStatusRsp
    - taosParseTime
    - tSerializeSStatusReq
    - tstrncpy
    - dTrace
    - rpcMallocCont
    - dDebug
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - dmEpSetToStr
    - tstrerror
    - strlen
    - rpcSendRecvWithTimeout
    - dError
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'void dmSendStatusReq(SDnodeMgmt *pMgmt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:542,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:549,1
    - Dst: dmUpdateEncryptKey
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:547,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:551,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:549,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 562
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 562
    functionName: dmProcessCreateEncryptKeyReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dmUpdateEncryptKey
    - tstrncpy
    - strlen
    - tDeserializeSDCfgDnodeReq
    - taosCalcChecksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessCreateEncryptKeyReq(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:594,1
    - Dst: tSerializeSServerStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:616,1
    - Dst: dmGetServerRunStatus
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:596,1
    - Dst: tSerializeSServerStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:602,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:609,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 624
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 624
    functionName: dmProcessServerRunStatus
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmGetServerRunStatus
    - tSerializeSServerStatusRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessServerRunStatus(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:301,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:316,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:335,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:329,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:341,1
    - Dst: dmStop
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:343,1
    - Dst: dGInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:298,1
    - Dst: raise
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:304,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:316,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:329,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:335,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:324,1
    - Dst: cfgUpdateFromArray
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:322,1
    - Dst: tFreeSConfigRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:340,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:303,1
    - Dst: taosPersistGlobalConfig
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:314,1
    - Dst: setAllConfigs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:327,1
    - Dst: taosPersistLocalConfig
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:333,1
    - Dst: dmWriteEps
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:300,1
    - Dst: tDeserializeSConfigRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:309,1
    - Dst: uInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:312,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 59
    argCount: 2
    argNames:
    - pMgmt
    - pRsp
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 345
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 345
    functionName: dmProcessConfigRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - raise
    - taosPersistLocalConfig
    - dGInfo
    - dError
    - cfgUpdateFromArray
    - setAllConfigs
    - dInfo
    - tstrerror
    - tDeserializeSConfigRsp
    - dmStop
    - tFreeSConfigRsp
    - rpcFreeCont
    - dmWriteEps
    - uInfo
    - taosPersistGlobalConfig
    linkageType: ''
    returnType: void
    signature: 'static void dmProcessConfigRsp(SDnodeMgmt *pMgmt, SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:573,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:579,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:573,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:580,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:583,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:584,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:589,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - pMgmt
    - pStatus
    argTypes:
    - SDnodeMgmt*
    - SServerStatusRsp*
    constantsTouched: []
    func_position:
      end: 590
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 590
    functionName: dmGetServerRunStatus
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - taosArrayDestroy
    - syncStr
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void dmGetServerRunStatus(SDnodeMgmt *pMgmt, SServerStatusRsp
      *pStatus) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:629,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:641,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:647,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:658,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:637,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:667,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - ppBlock
    argTypes:
    - SSDataBlock**
    constantsTouched: []
    func_position:
      end: 672
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 672
    functionName: dmBuildVariablesBlock
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    - taosMemoryCalloc
    - strcmp
    - blockDataDestroy
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmBuildVariablesBlock(SSDataBlock **ppBlock) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:766,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:773,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:772,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:775,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:774,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:776,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:777,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:778,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:779,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:780,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:785,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:787,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:782,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:781,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:793,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:786,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 798
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 798
    functionName: dmGetMsgHandles
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dmSetMgmtHandle
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *dmGetMsgHandles() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 488
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 488
    functionName: dmProcessGrantRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessGrantRsp(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dumpConfToDataBlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:675,1
    - Dst: colDataSetNItems
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:680,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pBlock
    - dnodeId
    argTypes:
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: dmAppendVariablesToBlock
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - colDataSetNItems
    - taosArrayGet
    - dumpConfToDataBlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmAppendVariablesToBlock(SSDataBlock *pBlock, int32_t dnodeId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:507,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:507,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:524,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:503,1
    - Dst: taosUpdateTfsItemDisable
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:500,1
    - Dst: tDeserializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:496,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:508,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:522,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:524,1
    - Dst: taosPersistGlobalConfig
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:529,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:499,1
    - Dst: cfgGetAndSetItem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:505,1
    - Dst: taosCfgDynamicOptions
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:508,1
    - Dst: isConifgItemLazyMode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:517,1
    - Dst: taosPersistLocalConfig
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:527,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:529,1
    - Dst: taosGetCfg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:493,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:518,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 536
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 536
    functionName: dmProcessConfigReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - strncasecmp
    - taosPersistLocalConfig
    - taosGetCfg
    - taosCfgDynamicOptions
    - isConifgItemLazyMode
    - dInfo
    - strlen
    - TAOS_CHECK_RETURN
    - tstrerror
    - strcasecmp
    - cfgGetAndSetItem
    - tDeserializeSDCfgDnodeReq
    - taosGetGlobalCfg
    - dError
    - taosPersistGlobalConfig
    - taosUpdateTfsItemDisable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessConfigReq(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSRetrieveTableReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:693,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:703,1
    - Dst: dmAppendVariablesToBlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:712,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:725,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:738,1
    - Dst: dmBuildVariablesBlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:708,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:696,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:718,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:719,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:722,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:725,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:747,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:748,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:753,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:760,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:714,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:731,1
    - Dst: blockEncode
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:745,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:747,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:749,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:698,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:726,1
    - Dst: htons
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:739,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c:758,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SDnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 762
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 762
    functionName: dmProcessRetrieve
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_dnode/src/dmHandle.c
    functionUses: []
    functionsReached:
    - dDebug
    - htonl
    - tDeserializeSRetrieveTableReq
    - taosArrayGet
    - blockEncode
    - strcmp
    - blockGetEncodeSize
    - dInfo
    - dmAppendVariablesToBlock
    - blockDataDestroy
    - tstrerror
    - strcasecmp
    - rpcFreeCont
    - dError
    - taosArrayGetSize
    - htons
    - dmBuildVariablesBlock
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessRetrieve(SDnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:25,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:27,1
    - Dst: dmBuildMgmtInputOpt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:32,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:34,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:27,1
    - Dst: tmsgSetDefault
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:35,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:37,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:37,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:40,1
    - Dst: dmReportStartup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 49
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 49
    functionName: dmOpenNode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dmBuildMgmtInputOpt
    - tstrerror
    - dInfo
    - tmsgSetDefault
    - dmReportStartup
    - dError
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmOpenNode(SMgmtWrapper *pWrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:68,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: dmStopNode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dDebug
    linkageType: ''
    returnType: void
    signature: 'void dmStopNode(SMgmtWrapper *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmOpenNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:97,1
    - Dst: dmGetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:103,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:98,1
    - Dst: auditSetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:103,1
    - Dst: monSetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:104,1
    - Dst: dmGetDnodeId
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:104,1
    - Dst: dmSetStatus
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 108
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 108
    functionName: dmOpenNodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - auditSetDnodeId
    - tstrerror
    - monSetDnodeId
    - dmGetDnodeId
    - dmOpenNode
    - dError
    - dmSetStatus
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmOpenNodes(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmStopNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: dmStopNodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dmStopNode
    linkageType: ''
    returnType: void
    signature: 'static void dmStopNodes(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:54,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:56,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:59,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:56,1
    - Dst: dmReportStartup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:62,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 64
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 64
    functionName: dmStartNode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dDebug
    - dError
    - dmReportStartup
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmStartNode(SMgmtWrapper *pWrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:75,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:82,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:87,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:79,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 90
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 90
    functionName: dmCloseNode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dInfo
    - taosMsleep
    - taosThreadRwlockUnlock
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void dmCloseNode(SMgmtWrapper *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmStartNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:115,1
    - Dst: dmReportStartup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:122,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:116,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:121,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: dmStartNodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dmStartNode
    - tstrerror
    - dInfo
    - dmReportStartup
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmStartNodes(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmCloseNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: dmCloseNodes
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - dmCloseNode
    linkageType: ''
    returnType: void
    signature: 'static void dmCloseNodes(SDnode *pDnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dmOpenNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:143,1
    - Dst: dmStartNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:149,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:150,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:178,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:144,1
    - Dst: dmCloseNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:145,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:150,1
    - Dst: dmSetStatus
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:151,1
    - Dst: dmStopNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:152,1
    - Dst: dmSetStatus
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:163,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:156,1
    - Dst: dmStopNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:164,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:144,1
    - Dst: dmCloseNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:153,1
    - Dst: osUpdate
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:170,1
    - Dst: taosGetOsUptime
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:158,1
    - Dst: dmCloseNodes
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:165,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:171,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 180
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 180
    functionName: dmRunDnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmNodes.c
    functionUses: []
    functionsReached:
    - taosGetOsUptime
    - taosGetTimestampMs
    - osUpdate
    - dmStopNodes
    - tstrerror
    - dInfo
    - dmOpenNodes
    - dmStartNodes
    - dError
    - taosMsleep
    - dmCloseNodes
    - dmSetStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmRunDnode(SDnode *pDnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mmGetMgmtFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:53,1
    - Dst: dmGetMgmtFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:52,1
    - Dst: vmGetMgmtFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:54,1
    - Dst: dmNodeName
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:61,1
    - Dst: dmInitStatusClient
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:87,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:66,1
    - Dst: dmInitModule
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:80,1
    - Dst: dmInitSyncClient
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:90,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:65,1
    - Dst: dmReportStartup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:94,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:63,1
    - Dst: dmRequireNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:72,1
    - Dst: dmCheckRunning
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:75,1
    - Dst: indexInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:84,1
    - Dst: dmClearVars
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:100,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:41,1
    - Dst: tsCompressInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:50,1
    - Dst: dmInitVarsWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:45,1
    - Dst: qmGetMgmtFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:55,1
    - Dst: smGetMgmtFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:56,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:95,1
    - Dst: streamMetaInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:85,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:102,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 106
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 106
    functionName: dmInitDnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - tsCompressInit
    - dmGetMgmtFunc
    - dmCheckRunning
    - mmGetMgmtFunc
    - dmNodeName
    - streamMetaInit
    - dmInitSyncClient
    - qmGetMgmtFunc
    - dmInitVarsWrapper
    - dmClearVars
    - taosThreadRwlockInit
    - vmGetMgmtFunc
    - dmRequireNode
    - dDebug
    - snprintf
    - dmInitStatusClient
    - tstrerror
    - smGetMgmtFunc
    - dmInitModule
    - taosStrdup
    - dmReportStartup
    - dError
    - indexInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitDnode(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmInitVars
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: dmInitVarsWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dmInitVars
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitVarsWrapper(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:284,1
    - Dst: dmStatStr
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:284,1
    - Dst: dmStatStr
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pDnode
    - status
    argTypes:
    - SDnode*
    - EDndRunStatus
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: dmSetStatus
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmStatStr
    linkageType: ''
    returnType: void
    signature: 'void dmSetStatus(SDnode *pDnode, EDndRunStatus status) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:308,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:310,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:331,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 334
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 334
    functionName: dmMarkWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmMarkWrapper(SMgmtWrapper *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pDnode
    - pStatus
    argTypes:
    - SDnode*
    - SServerStatusRsp*
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: dmGetServerStartupStatus
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void dmGetServerStartupStatus(SDnode *pDnode, SServerStatusRsp
      *pStatus) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmBuildMgmtInputOpt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:27,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:34,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:32,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pDnode
    - pWrapper
    argTypes:
    - SDnode*
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 38
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 38
    functionName: dmRequireNode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmBuildMgmtInputOpt
    linkageType: ''
    returnType: bool
    signature: 'static bool dmRequireNode(SDnode *pDnode, SMgmtWrapper *pWrapper) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:145,1
    - Dst: tGetMachineId
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:149,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:160,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:152,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:151,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:160,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:162,1
    - Dst: dmReadEps
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:166,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:167,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:217,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:216,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:218,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 220
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 220
    functionName: dmInitVars
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosThreadMutexInit
    - taosThreadRwlockInit
    - tstrncpy
    - tGetMachineId
    - tstrerror
    - dmReadEps
    - dError
    - taosGetDefaultHashFunction
    - taosMemoryFreeClear
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitVars(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmCleanupClient
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:113,1
    - Dst: dmCleanupSyncClient
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:115,1
    - Dst: dmCleanupStatusClient
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:114,1
    - Dst: dmClearVars
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:118,1
    - Dst: dmCleanupServer
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:116,1
    - Dst: rpcCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:119,1
    - Dst: streamMetaCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:120,1
    - Dst: indexCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:121,1
    - Dst: taosConvDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:122,1
    - Dst: tsCompressExit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:125,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 128
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 128
    functionName: dmCleanupDnode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - taosConvDestroy
    - dDebug
    - dmCleanupClient
    - dmCleanupSyncClient
    - tsCompressExit
    - indexCleanup
    - dmCleanupStatusClient
    - dmClearVars
    - streamMetaCleanup
    - rpcCleanup
    - dmCleanupServer
    linkageType: ''
    returnType: void
    signature: 'void dmCleanupDnode(SDnode *pDnode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:227,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:232,1
    - Dst: dmRemoveDnodePairs
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:243,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:245,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:262,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:270,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:253,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:235,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:231,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:228,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:261,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:269,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:256,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:276,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:278,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:279,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:240,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:249,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:266,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:258,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:274,1
    - Dst: dmWriteEps
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:242,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:260,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:273,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 280
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 280
    functionName: dmClearVars
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosCloseFile
    - taosArrayDestroy
    - dmRemoveDnodePairs
    - taosThreadMutexDestroy
    - taosThreadRwlockUnlock
    - taosUnLockFile
    - memset
    - taosHashCleanup
    - dmWriteEps
    - dError
    - taosMemoryFreeClear
    - taosThreadRwlockDestroy
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void dmClearVars(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:293,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:295,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:300,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pDnode
    - ntype
    argTypes:
    - SDnode*
    - EDndNodeType
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: dmAcquireWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    - atomic_add_fetch_32
    linkageType: ''
    returnType: SMgmtWrapper*
    signature: 'SMgmtWrapper *dmAcquireWrapper(SDnode *pDnode, EDndNodeType ntype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:339,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:340,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: dmReleaseWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_32
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'void dmReleaseWrapper(SMgmtWrapper *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:360,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:373,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:363,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:371,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:370,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pDnode
    - pMsg
    argTypes:
    - SDnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: dmProcessNetTestReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcSendResponse
    - rpcFreeCont
    - dError
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'void dmProcessNetTestReq(SDnode *pDnode, SRpcMsg *pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:377,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:387,1
    - Dst: tSerializeSServerStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:389,1
    - Dst: dmGetServerStartupStatus
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:380,1
    - Dst: tSerializeSServerStatusRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:383,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:397,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:398,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c:400,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pDnode
    - pMsg
    argTypes:
    - SDnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 401
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 401
    functionName: dmProcessServerStartupStatus
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMgmt.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmGetServerStartupStatus
    - rpcSendResponse
    - tSerializeSServerStatusRsp
    - rpcFreeCont
    - dError
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'void dmProcessServerStartupStatus(SDnode *pDnode, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcUtilSIpRangeToStr
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:110,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - forbidden
    - user
    - clientIp
    argTypes:
    - int8_t
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: dmIsForbiddenIp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - rpcUtilSIpRangeToStr
    - dError
    linkageType: ''
    returnType: bool
    signature: 'static bool dmIsForbiddenIp(int8_t forbidden, char *user, uint32_t
      clientIp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:332,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:341,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:334,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:341,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:341,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:346,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:347,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 351
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 351
    functionName: dmSendReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dmInstance
    - rpcSendRequest
    - tstrerror
    - rpcFreeCont
    - dError
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t dmSendReq(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcRegisterBrokenLinkArg
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 371
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 371
    functionName: dmRegisterBrokenLinkArg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - rpcRegisterBrokenLinkArg
    linkageType: ''
    returnType: void
    signature: 'static inline void dmRegisterBrokenLinkArg(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:527,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:528,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:539,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:538,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:542,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:544,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:544,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:548,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 550
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 550
    functionName: dmInitSyncClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcOpen
    - tstrerror
    - TMAX
    - dError
    - TMIN
    - taosVersionStrToInt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitSyncClient(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:563,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: dmCleanupStatusClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcClose
    linkageType: ''
    returnType: void
    signature: 'void dmCleanupStatusClient(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeRetrieveAnalyticAlgoRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:120,1
    - Dst: tFreeRetrieveAnalyticAlgoRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:124,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:125,1
    - Dst: taosAnalyUpdate
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pData
    - pTrans
    - pRpc
    argTypes:
    - SDnodeData*
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: dmUpdateAnalyticFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - tFreeRetrieveAnalyticAlgoRsp
    - rpcFreeCont
    - tDeserializeRetrieveAnalyticAlgoRsp
    - taosAnalyUpdate
    linkageType: ''
    returnType: void
    signature: 'static void dmUpdateAnalyticFunc(SDnodeData *pData, void *pTrans,
      SRpcMsg *pRpc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:354,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:363,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:363,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:363,1
    - Dst: rpcSendRequest
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 369
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 369
    functionName: dmSendSyncReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dmInstance
    - rpcSendRequest
    - tstrerror
    - rpcFreeCont
    - dError
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t dmSendSyncReq(const SEpSet *pEpSet, SRpcMsg
      *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcReleaseHandle
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - pHandle
    - type
    - status
    argTypes:
    - SRpcHandleInfo*
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    functionName: dmReleaseHandle
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - rpcReleaseHandle
    linkageType: ''
    returnType: void
    signature: 'static inline void dmReleaseHandle(SRpcHandleInfo *pHandle, int8_t
      type, int32_t status) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:555,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: dmCleanupClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcClose
    linkageType: ''
    returnType: void
    signature: 'void dmCleanupClient(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:571,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 575
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 575
    functionName: dmCleanupSyncClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcClose
    linkageType: ''
    returnType: void
    signature: 'void dmCleanupSyncClient(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 633
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 633
    functionName: dmGetMsgcb
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMsgCb
    signature: 'SMsgCb dmGetMsgcb(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:22,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:23,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: dmSendRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dError
    - rpcSendResponse
    linkageType: ''
    returnType: void
    signature: 'static inline void dmSendRsp(SRpcMsg *pMsg) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:136,1
    - Dst: dmIsForbiddenIp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:151,1
    - Dst: dmProcessNodeMsg
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:267,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:220,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:263,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:273,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:278,1
    - Dst: dmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:285,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:288,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:297,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:273,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:301,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:133,1
    - Dst: taosCheckVersionCompatible
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:145,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:146,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:211,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:216,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:211,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:216,1
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:250,1
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:260,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:275,1
    - Dst: dmConvertErrCode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:271,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:275,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:140,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:136,1
    - Dst: dmProcessNetTestReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:159,1
    - Dst: qWorkerProcessRspMsg
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:167,1
    - Dst: dmSetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:171,1
    - Dst: dmProcessServerStartupStatus
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:194,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:210,1
    - Dst: dmUpdateAnalyticFunc
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:178,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:216,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:220,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:244,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:264,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:294,1
    - Dst: rpcSendResponse
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:287,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:142,1
    - Dst: dmUpdateRpcIpWhite
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:175,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:258,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:264,1
    - Dst: dmBuildMnodeRedirectRsp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:281,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:295,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:273,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:244,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 131
    argCount: 3
    argNames:
    - pDnode
    - pRpc
    - pEpSet
    argTypes:
    - SDnode*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 302
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 302
    functionName: dmProcessRpcMsg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dmUpdateAnalyticFunc
    - dmIsForbiddenIp
    - dmProcessServerStartupStatus
    - ntohl
    - dError
    - dmReleaseWrapper
    - taosFreeQitem
    - dmConvertErrCode
    - dGTrace
    - rpcSendResponse
    - taosCheckVersionCompatible
    - dmSetMnodeEpSet
    - rpcFreeCont
    - memcpy
    - dmMarkWrapper
    - TMSG_INFO
    - dmUpdateRpcIpWhite
    - qWorkerProcessRspMsg
    - dGError
    - TMSG_INDEX
    - dmBuildMnodeRedirectRsp
    - taosAllocateQitem
    - IsReq
    - dmSendRsp
    - dmProcessNodeMsg
    - tstrerror
    - dmProcessNetTestReq
    - taosVersionStrToInt
    linkageType: ''
    returnType: void
    signature: 'static void dmProcessRpcMsg(SDnode *pDnode, SRpcMsg *pRpc, SEpSet
      *pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:426,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:440,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:427,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:439,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:443,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:445,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 49
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 451
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 451
    functionName: dmInitClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcOpen
    - tstrerror
    - TMAX
    - dError
    - TMIN
    - taosVersionStrToInt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitClient(SDnode *pDnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dmGetMnodeEpSetForRedirect
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:29,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:39,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:46,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:51,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:47,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - pDnode
    - pMsg
    argTypes:
    - SDnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 58
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 58
    functionName: dmBuildMnodeRedirectRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dmGetMnodeEpSetForRedirect
    - rpcMallocCont
    - strcmp
    - tSerializeSEpSet
    linkageType: ''
    returnType: void
    signature: 'static inline void dmBuildMnodeRedirectRsp(SDnode *pDnode, SRpcMsg
      *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:321,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:313,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:314,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:312,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:324,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 328
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 328
    functionName: dmInitMsgHandle
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - TMSG_INDEX
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitMsgHandle(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:477,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:488,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:489,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:492,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:478,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:494,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:494,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:498,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 500
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 500
    functionName: dmInitStatusClient
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcOpen
    - tstrerror
    - TMAX
    - dError
    - TMIN
    - taosVersionStrToInt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitStatusClient(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - msgType
    - code
    argTypes:
    - tmsg_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: dmConvertErrCode
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmConvertErrCode(tmsg_t msgType, int32_t code) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 2
    argNames:
    - code
    - msgType
    argTypes:
    - int32_t
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 390
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 390
    functionName: rpcRfp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool rpcRfp(int32_t code, tmsg_t msgType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSUpdateIpWhite
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:93,1
    - Dst: rpcSetIpWhite
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:98,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:95,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:101,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:95,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pData
    - pTrans
    - pRpc
    argTypes:
    - SDnodeData*
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: dmUpdateRpcIpWhite
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - rpcSetIpWhite
    - tFreeSUpdateIpWhiteReq
    - tstrerror
    - rpcFreeCont
    - tDeserializeSUpdateIpWhite
    - dError
    linkageType: ''
    returnType: void
    signature: 'static void dmUpdateRpcIpWhite(SDnodeData *pData, void *pTrans, SRpcMsg
      *pRpc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: rpcNoDelayMsg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool rpcNoDelayMsg(tmsg_t msgType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:63,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:66,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:70,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pWrapper
    - pMsg
    argTypes:
    - SMgmtWrapper*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: dmProcessNodeMsg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dGTrace
    - TMSG_INDEX
    - dGError
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessNodeMsg(SMgmtWrapper *pWrapper, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:581,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:594,1
    - Dst: taosVersionStrToInt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:593,1
    - Dst: rpcOpen
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:597,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:599,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:599,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:603,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 605
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 605
    functionName: dmInitServer
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcOpen
    - tstrncpy
    - tstrerror
    - dError
    - taosVersionStrToInt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInitServer(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - msgType
    argTypes:
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: dmFailFastFp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool dmFailFastFp(tmsg_t msgType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:610,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: dmCleanupServer
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmTransport.c
    functionUses: []
    functionsReached:
    - dDebug
    - rpcClose
    linkageType: ''
    returnType: void
    signature: 'void dmCleanupServer(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:24,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDnode
    - pInfo
    argTypes:
    - SDnode*
    - SMonBasicInfo*
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: dmGetMonitorBasicInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void dmGetMonitorBasicInfo(SDnode *pDnode, SMonBasicInfo *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:36,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:42,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:40,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pDnode
    - pInfo
    argTypes:
    - SDnode*
    - SMonDnodeInfo*
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: dmGetMonitorDnodeInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void dmGetMonitorDnodeInfo(SDnode *pDnode, SMonDnodeInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:56,1
    - Dst: vmCleanExpriedSamples
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:58,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: dmCleanExpriedSamples
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmReleaseWrapper
    - dmMarkWrapper
    - vmCleanExpriedSamples
    linkageType: ''
    returnType: void
    signature: 'void dmCleanExpriedSamples(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:73,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:78,1
    - Dst: monSetMmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:79,1
    - Dst: tFreeSMonMmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:80,1
    - Dst: mmGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: dmGetMmMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - monSetMmInfo
    - dmReleaseWrapper
    - tFreeSMonMmInfo
    - mmGetMonitorInfo
    - dmMarkWrapper
    linkageType: ''
    returnType: void
    signature: 'static void dmGetMmMonitorInfo(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:99,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:104,1
    - Dst: monSetQmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:105,1
    - Dst: tFreeSMonQmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:106,1
    - Dst: qmGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:102,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: dmGetQmMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - tFreeSMonQmInfo
    - qmGetMonitorInfo
    - dmReleaseWrapper
    - monSetQmInfo
    - dmMarkWrapper
    linkageType: ''
    returnType: void
    signature: 'static void dmGetQmMonitorInfo(SDnode *pDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:125,1
    - Dst: dmGetVmMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:130,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:127,1
    - Dst: dmGetDmMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:128,1
    - Dst: dmGetMmMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:129,1
    - Dst: dmGetQmMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:131,1
    - Dst: dmGetSmMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:132,1
    - Dst: monGenAndSendReport
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: dmSendMonitorReport
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - monGenAndSendReport
    - dmInstance
    - dmGetDmMonitorInfo
    - dmGetQmMonitorInfo
    - dmGetSmMonitorInfo
    - dTrace
    - dmGetVmMonitorInfo
    - dmGetMmMonitorInfo
    linkageType: ''
    returnType: void
    signature: 'void dmSendMonitorReport() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:138,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:140,1
    - Dst: dmCleanExpriedSamples
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: dmMonitorCleanExpiredSamples
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmCleanExpriedSamples
    - dmInstance
    - dTrace
    linkageType: ''
    returnType: void
    signature: 'void dmMonitorCleanExpiredSamples() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: auditSendRecordsInBatch
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 145
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 145
    functionName: dmSendAuditRecords
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - auditSendRecordsInBatch
    linkageType: ''
    returnType: void
    signature: 'void dmSendAuditRecords() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:31,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pDnode
    - pInfo
    argTypes:
    - SDnode*
    - SMonBasicInfo*
    constantsTouched: []
    func_position:
      end: 32
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 32
    functionName: dmGetMonitorBasicInfoBasic
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void dmGetMonitorBasicInfoBasic(SDnode *pDnode, SMonBasicInfo
      *pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmGetMonitorBasicInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:48,1
    - Dst: monSetDmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:51,1
    - Dst: dmGetMonitorDnodeInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:49,1
    - Dst: dmGetMonitorSystemInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: dmGetDmMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmGetMonitorSystemInfo
    - monSetDmInfo
    - dmGetMonitorBasicInfo
    - dmGetMonitorDnodeInfo
    linkageType: ''
    returnType: void
    signature: 'static void dmGetDmMonitorInfo(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmGetMonitorBasicInfoBasic
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:67,1
    - Dst: monSetDmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: dmGetDmMonitorInfoBasic
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - monSetDmInfo
    - dmGetMonitorBasicInfoBasic
    linkageType: ''
    returnType: void
    signature: 'static void dmGetDmMonitorInfoBasic(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:86,1
    - Dst: monSetVmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:92,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:91,1
    - Dst: vmGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:89,1
    - Dst: tFreeSMonVmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: dmGetVmMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmMarkWrapper
    - monSetVmInfo
    - dmReleaseWrapper
    - tFreeSMonVmInfo
    - vmGetMonitorInfo
    linkageType: ''
    returnType: void
    signature: 'static void dmGetVmMonitorInfo(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:112,1
    - Dst: monSetSmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:118,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:117,1
    - Dst: tFreeSMonSmInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:119,1
    - Dst: smGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: dmGetSmMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - tFreeSMonSmInfo
    - smGetMonitorInfo
    - dmReleaseWrapper
    - monSetSmInfo
    - dmMarkWrapper
    linkageType: ''
    returnType: void
    signature: 'static void dmGetSmMonitorInfo(SDnode *pDnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:148,1
    - Dst: vmGetVnodeLoads
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:152,1
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:150,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVloadInfo*
    constantsTouched: []
    func_position:
      end: 156
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 156
    functionName: dmGetVnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmReleaseWrapper
    - dmMarkWrapper
    - dmInstance
    - vmGetVnodeLoads
    linkageType: ''
    returnType: void
    signature: 'void dmGetVnodeLoads(SMonVloadInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:159,1
    - Dst: vmGetVnodeLoadsLite
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:163,1
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:161,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonVloadInfo*
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: dmGetVnodeLoadsLite
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - vmGetVnodeLoadsLite
    - dmMarkWrapper
    - dmInstance
    - dmReleaseWrapper
    linkageType: ''
    returnType: void
    signature: 'void dmGetVnodeLoadsLite(SMonVloadInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:170,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:176,1
    - Dst: mmGetMnodeLoads
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:174,1
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonMloadInfo*
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: dmGetMnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - mmGetMnodeLoads
    - dmReleaseWrapper
    - dmMarkWrapper
    - dmInstance
    linkageType: ''
    returnType: void
    signature: 'void dmGetMnodeLoads(SMonMloadInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:181,1
    - Dst: dmMarkWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:183,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:187,1
    - Dst: qmGetQnodeLoads
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SQnodeLoad*
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: dmGetQnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmMonitor.c
    functionUses: []
    functionsReached:
    - dmReleaseWrapper
    - dmMarkWrapper
    - qmGetQnodeLoads
    - dmInstance
    linkageType: ''
    returnType: void
    signature: 'void dmGetQnodeLoads(SQnodeLoad *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: monInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:71,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:72,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: dmInitMonitor
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - tstrerror
    - dError
    - monInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmInitMonitor() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:87,1
    - Dst: osDataSpaceAvailable
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:91,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:92,1
    - Dst: tfsDiskSpaceAvailable
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: dmDataSpaceAvailable
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dError
    - osDataSpaceAvailable
    - tfsDiskSpaceAvailable
    - dmInstance
    linkageType: ''
    returnType: bool
    signature: 'static bool dmDataSpaceAvailable() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:382,1
    - Dst: dmAcquireWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:366,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:386,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:382,1
    - Dst: dmBuildMgmtInputOpt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:387,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:389,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:392,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:392,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:394,1
    - Dst: dmCloseNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:403,1
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:404,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:406,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:399,1
    - Dst: dmStopNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:402,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 2
    argNames:
    - ntype
    - pMsg
    argTypes:
    - EDndNodeType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 408
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 408
    functionName: dmProcessDropNodeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - dmInstance
    - dmAcquireWrapper
    - dmBuildMgmtInputOpt
    - tstrerror
    - dInfo
    - dmReleaseWrapper
    - dmCloseNode
    - taosRemoveDir
    - dError
    - dmStopNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmProcessDropNodeReq(EDndNodeType ntype, SRpcMsg *pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:264,1
    - Dst: dmBuildMgmtInputOpt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:272,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:267,1
    - Dst: dmOpenNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:280,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:288,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:239,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:243,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:261,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:267,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:277,1
    - Dst: dmStartNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:282,1
    - Dst: dmAcquireWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:257,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:257,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:265,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:279,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:271,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:274,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - ntype
    - pMsg
    argTypes:
    - EDndNodeType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 290
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 290
    functionName: dmProcessCreateNodeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - dmInstance
    - dmAcquireWrapper
    - dmBuildMgmtInputOpt
    - dmStartNode
    - tstrerror
    - dmReleaseWrapper
    - dInfo
    - dmOpenNode
    - dError
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmProcessCreateNodeReq(EDndNodeType ntype, SRpcMsg
      *pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dmAcquireWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:296,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:331,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:335,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:344,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:349,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:358,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:303,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:298,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:336,1
    - Dst: dmStopNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:330,1
    - Dst: dmStartNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:352,1
    - Dst: dmReleaseWrapper
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:301,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:311,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:318,1
    - Dst: dmOpenNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:350,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:347,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:294,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:309,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:325,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:329,1
    - Dst: dmCloseNode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:332,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:327,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:338,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:338,1
    - Dst: dmBuildMgmtInputOpt
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:342,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:347,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - ntype
    - pMsg
    argTypes:
    - EDndNodeType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 360
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 360
    functionName: dmProcessAlterNodeTypeReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - dmInstance
    - dmAcquireWrapper
    - dmBuildMgmtInputOpt
    - dmStartNode
    - dInfo
    - dmReleaseWrapper
    - tstrerror
    - dmCloseNode
    - dmOpenNode
    - dError
    - taosMkDir
    - dmStopNode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmProcessAlterNodeTypeReq(EDndNodeType ntype, SRpcMsg
      *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmGetMsgcb
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SMgmtWrapper*
    constantsTouched: []
    func_position:
      end: 431
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 431
    functionName: dmBuildMgmtInputOpt
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmGetMsgcb
    linkageType: ''
    returnType: SMgmtInputOpt
    signature: 'SMgmtInputOpt dmBuildMgmtInputOpt(SMgmtWrapper *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosIgnSIGPIPE
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:51,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:56,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:52,1
    - Dst: taosResolveCRC
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:59,1
    - Dst: taosBlockSIGPIPE
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:55,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 61
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 61
    functionName: dmInitSystem
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - taosIgnSIGPIPE
    - taosResolveCRC
    - dError
    - taosBlockSIGPIPE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmInitSystem() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DM_INIT_AUDIT
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 84
    functionName: dmInitAudit
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - DM_INIT_AUDIT
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmInitAudit() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:124,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:126,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:136,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:136,1
    - Dst: tfsOpen
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:134,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 140
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 140
    functionName: dmDiskInit
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmInstance
    - tfsOpen
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmDiskInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:191,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 196
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 196
    functionName: dmCheckRepeatCleanup
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dError
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCheckRepeatCleanup(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:434,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:436,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:437,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pName
    - pDesc
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: dmReportStartup
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dDebug
    - dmInstance
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void dmReportStartup(const char *pName, const char *pDesc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 38
    functionName: dmInstance
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SDnode*
    signature: 'SDnode *dmInstance() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: osUpdate
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:101,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:103,1
    - Dst: dmDataSpaceAvailable
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:106,1
    - Dst: osLogSpaceAvailable
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:110,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:111,1
    - Dst: osTempSpaceAvailable
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:115,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 121
    functionName: dmCheckDiskSpace
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - osUpdate
    - dmDataSpaceAvailable
    - osLogSpaceAvailable
    - osTempSpaceAvailable
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCheckDiskSpace() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:143,1
    - Dst: tfsClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: dmDiskClose
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - tfsClose
    - dmInstance
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmDiskClose() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:151,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:152,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: dmCheckDataDirVersion
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dError
    - snprintf
    - taosCheckExistFile
    linkageType: ''
    returnType: bool
    signature: 'static bool dmCheckDataDirVersion() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: dmStop
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmInstance
    linkageType: ''
    returnType: void
    signature: 'void dmStop() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:199,1
    - Dst: auditCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:204,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:208,1
    - Dst: dmDiskClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:213,1
    - Dst: taosAnalyticsCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:211,1
    - Dst: DestroyRegexCache
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:214,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:200,1
    - Dst: monCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:203,1
    - Dst: syncCleanUp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:205,1
    - Dst: taosStopCacheRefreshWorker
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:212,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:220,1
    - Dst: taosMemPoolClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:222,1
    - Dst: tcsUninit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:217,1
    - Dst: dmCheckRepeatCleanup
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:201,1
    - Dst: walCleanUp
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:206,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:224,1
    - Dst: dmCleanupDnode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:202,1
    - Dst: udfcClose
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:207,1
    - Dst: taosCleanupCfg
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:223,1
    - Dst: udfStopUdfd
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: dmCleanup
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - monCleanup
    - tcsUninit
    - udfStopUdfd
    - DestroyRegexCache
    - dInfo
    - dmDiskClose
    - taosCloseLog
    - taosCleanupCfg
    - dmCheckRepeatCleanup
    - taosAnalyticsCleanup
    - syncCleanUp
    - udfcClose
    - walCleanUp
    - dmCleanupDnode
    - dDebug
    - dmInstance
    - taosMemPoolClose
    - taosStopCacheRefreshWorker
    - dError
    - auditCleanup
    linkageType: ''
    returnType: void
    signature: 'void dmCleanup() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:233,1
    - Dst: dmRunDnode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: dmRun
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmRunDnode
    - dmInstance
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmRun() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 440
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 440
    functionName: dmGetClusterId
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t dmGetClusterId() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:42,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnode*
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: dmCheckRepeatInit
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dError
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCheckRepeatInit(SDnode *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 442
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 442
    functionName: dmReadyForTest
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmInstance
    linkageType: ''
    returnType: bool
    signature: 'bool dmReadyForTest() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmCheckDataDirVersion
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: dmCheckDataDirVersionWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmCheckDataDirVersion
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCheckDataDirVersionWrapper() '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:168,1
    - Dst: dmCheckDataDirVersion
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:171,1
    - Dst: dmCheckRepeatInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:176,1
    - Dst: dmDiskInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:170,1
    - Dst: dmCheckDiskSpace
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:175,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:176,1
    - Dst: dmInitSystem
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:177,1
    - Dst: dmInitMonitor
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:178,1
    - Dst: dmInitAudit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:179,1
    - Dst: dmInitDnode
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:180,1
    - Dst: dmInstance
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:180,1
    - Dst: tcsInit
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:183,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:186,1
    - Dst: InitRegexCache
      Src: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 188
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 188
    functionName: dmInit
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_mgmt/src/dmEnv.c
    functionUses: []
    functionsReached:
    - dmInitDnode
    - dmInstance
    - dmInitMonitor
    - InitRegexCache
    - dmCheckDataDirVersion
    - dInfo
    - dmInitAudit
    - dmInitSystem
    - dmCheckRepeatInit
    - dmDiskInit
    - dmCheckDiskSpace
    - tcsInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmInit() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosPrintLog
      Src: /src/tdengine/source/dnode/mgmt/node_util/inc/dmUtil.h:66,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/node_util/inc/dmUtil.h:70,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mgmt/node_util/inc/dmUtil.h:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames:
    - '...'
    argTypes: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: encryptInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/inc/dmUtil.h
    functionUses: []
    functionsReached:
    - taosPrintLog
    - printf
    linkageType: ''
    returnType: printf
    signature: 'printf ("");} \ } \}#define encryptInfo(...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:31,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - deployed
    argTypes:
    - SJson*
    - bool*
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: dmDecodeFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - tjsonGetInt32ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmDecodeFile(SJson *pJson, bool *deployed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:186,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:188,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:191,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:191,1
    - Dst: taosLockFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:198,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:202,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:204,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:204,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:208,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:209,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - dataDir
    - pFile
    argTypes:
    - char*
    - TdFilePtr*
    constantsTouched: []
    func_position:
      end: 216
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 216
    functionName: dmCheckRunning
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosOpenFile
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - tstrerror
    - taosLockFile
    - dError
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmCheckRunning(const char *dataDir, TdFilePtr *pFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pJson
    - deployed
    argTypes:
    - SJson*
    - bool
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: dmEncodeFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - tjsonAddDoubleToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmEncodeFile(SJson *pJson, bool deployed) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:225,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:226,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:239,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:232,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:237,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:245,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:250,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:251,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:255,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:256,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:260,1
    - Dst: encryptDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:262,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:260,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:267,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:266,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - file
    - realfile
    - key
    - toLogFile
    argTypes:
    - char*
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 270
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 270
    functionName: dmWriteCheckCodeFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - CBC_Encrypt
    - taosOpenFile
    - taosFsyncFile
    - TAOS_CHECK_GOTO
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - taosMemoryFree
    - ENCRYPTED_LEN
    - taosWriteFile
    - encryptDebug
    - tstrncpy
    - taosRenameFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmWriteCheckCodeFile(char *file, char *realfile, char
      *key, bool toLogFile) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:315,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:334,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:356,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:342,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:369,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:318,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:318,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:343,1
    - Dst: encryptDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:364,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:367,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:328,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:346,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:346,1
    - Dst: encryptDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:368,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:324,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:322,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:324,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:336,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:358,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:351,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 3
    argNames:
    - file
    - key
    - toLogFile
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 372
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 372
    functionName: dmCompareEncryptKey
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosMemoryFree
    - taosMemoryMalloc
    - taosCloseFile
    - taosReadFile
    - ENCRYPTED_LEN
    - encryptDebug
    - strcmp
    - tstrncpy
    - tstrerror
    - encryptError
    - CBC_Decrypt
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmCompareEncryptKey(char *file, char *key, bool toLogFile) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:516,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:522,1
    - Dst: dmReadEncryptCodeFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:528,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:540,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:554,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:555,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:524,1
    - Dst: checkAndGetCryptKey
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:536,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:562,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:509,1
    - Dst: tGetMachineId
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:532,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:545,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:560,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:553,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:564,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:566,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:541,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:545,1
    - Dst: dmCompareEncryptKey
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:549,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:564,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 570
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 570
    functionName: dmGetEncryptKey
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosMemoryFree
    - dmCompareEncryptKey
    - tGetMachineId
    - dInfo
    - tstrerror
    - dmReadEncryptCodeFile
    - tstrncpy
    - strlen
    - taosCheckExistFile
    - checkAndGetCryptKey
    - TAOS_RETURN
    - dError
    - taosMemoryFreeClear
    - taosCalcChecksum
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmGetEncryptKey() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:59,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:59,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:76,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:101,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:104,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:104,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:64,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:66,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:66,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:99,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:44,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:50,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:70,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:100,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:96,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:84,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:51,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:56,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:78,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:78,1
    - Dst: dmDecodeFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:90,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 3
    argNames:
    - path
    - name
    - pDeployed
    argTypes:
    - char*
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 107
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 107
    functionName: dmReadFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosFStatFile
    - snprintf
    - taosStatFile
    - taosMemoryMalloc
    - taosReadFile
    - dmDecodeFile
    - taosMemoryFree
    - cJSON_Delete
    - taosCloseFile
    - tjsonParse
    - dInfo
    - tstrerror
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmReadFile(const char *path, const char *name, bool *pDeployed) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dmEncodeFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:140,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:155,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:164,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:175,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:134,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:128,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:173,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:178,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:168,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:122,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:148,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:154,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:170,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:178,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:165,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:174,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:142,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:159,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:168,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 3
    argNames:
    - path
    - name
    - deployed
    argTypes:
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 181
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 181
    functionName: dmWriteFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - TAOS_CHECK_GOTO
    - snprintf
    - taosMemoryFree
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - tjsonDelete
    - tjsonToString
    - strlen
    - taosRenameFile
    - dInfo
    - tstrerror
    - tjsonCreateObject
    - dmEncodeFile
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmWriteFile(const char *path, const char *name, bool deployed) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:276,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:282,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:292,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:287,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:283,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:297,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:297,1
    - Dst: encryptDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:299,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:303,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - file
    - realfile
    - encryptCode
    - toLogFile
    argTypes:
    - char*
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 306
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 306
    functionName: dmWriteEncryptCodeFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosOpenFile
    - TAOS_CHECK_GOTO
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - encryptDebug
    - taosRenameFile
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmWriteEncryptCodeFile(char *file, char *realfile,
      char *encryptCode, bool toLogFile) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:428,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:426,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:399,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:416,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:416,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:420,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:414,1
    - Dst: dmCompareEncryptKey
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:421,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:443,1
    - Dst: encryptError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:447,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:409,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:394,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:404,1
    - Dst: generateEncryptCode
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:428,1
    - Dst: dmWriteEncryptCodeFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:430,1
    - Dst: dmWriteCheckCodeFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:434,1
    - Dst: encryptInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:438,1
    - Dst: tGetMachineId
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:426,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:442,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 2
    argNames:
    - key
    - toLogFile
    argTypes:
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 451
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 451
    functionName: dmUpdateEncryptKey
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosMemoryFree
    - dmCompareEncryptKey
    - dmWriteCheckCodeFile
    - encryptInfo
    - tGetMachineId
    - tstrerror
    - encryptError
    - TAOS_RETURN
    - taosCheckExistFile
    - dmWriteEncryptCodeFile
    - taosMkDir
    - generateEncryptCode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmUpdateEncryptKey(char *key, bool toLogFile) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:460,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:463,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:468,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:463,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:470,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:470,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:474,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:480,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:482,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:491,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c:495,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 2
    argNames:
    - file
    - output
    argTypes:
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 498
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 498
    functionName: dmReadEncryptCodeFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmFile.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosFStatFile
    - taosMemoryFree
    - taosMemoryMalloc
    - taosCloseFile
    - taosReadFile
    - tstrerror
    - dInfo
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmReadEncryptCodeFile(char *file, char **output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:463,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:465,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - buf
    - len
    - epSet
    argTypes:
    - char*
    - int32_t
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: dmEpSetToStr
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'void dmEpSetToStr(char *buf, int32_t len, SEpSet *epSet) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:35,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:46,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:43,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:50,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:37,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 5
    argNames:
    - data
    - dnodeId
    - pEp
    - pFqdn
    - pPort
    argTypes:
    - void*
    - int32_t
    - char*
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: dmGetDnodeEp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - taosHashGet
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void dmGetDnodeEp(void *data, int32_t dnodeId, char *pEp, char *pFqdn,
      uint16_t *pPort) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:475,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:475,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:478,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:481,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:478,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:481,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - epLhs
    - epRhs
    argTypes:
    - SEp*
    - SEp*
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: dmSwapEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void dmSwapEps(SEp *epLhs, SEp *epRhs) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:615,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:630,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:644,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:644,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:698,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:702,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:713,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:715,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:718,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:617,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:617,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:625,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:625,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:636,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:650,1
    - Dst: dmDecodeEpPairs
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:663,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:672,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:676,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:703,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:720,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:613,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:622,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:632,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:632,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:656,1
    - Dst: strerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:659,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:664,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:675,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:687,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:688,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:716,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:714,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:659,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:642,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:677,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:680,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:680,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:686,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:700,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:717,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:690,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 113
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 728
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 728
    functionName: dmReadDnodePairs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cJSON_Delete
    - terrstr
    - dError
    - dInfo
    - taosArrayGetSize
    - taosArrayInit
    - taosOpenFile
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosReadFile
    - strerror
    - taosArrayGet
    - taosCloseFile
    - tjsonParse
    - tstrncpy
    - dmDecodeEpPairs
    - dDebug
    - snprintf
    - taosStatFile
    - strcmp
    - tstrerror
    - taosFStatFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmReadDnodePairs(SDnodeData *pData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:392,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:400,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:403,1
    - Dst: epsetSort
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:414,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:415,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:417,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:418,1
    - Dst: dmPrintEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:424,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - pData
    - dnodeEps
    argTypes:
    - SDnodeData*
    - SArray*
    constantsTouched: []
    func_position:
      end: 425
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 425
    functionName: dmResetEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - dError
    - dmPrintEps
    - tstrerror
    - taosArrayDup
    - epsetSort
    - taosHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void dmResetEps(SDnodeData *pData, SArray *dnodeEps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:439,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:444,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:447,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:445,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:441,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:451,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pData
    - dnodeId
    - ep
    argTypes:
    - SDnodeData*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 453
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 453
    functionName: dmIsEpChanged
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    - strcmp
    - taosHashGet
    - dError
    linkageType: ''
    returnType: bool
    signature: 'static bool dmIsEpChanged(SDnodeData *pData, int32_t dnodeId, const
      char *ep) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:428,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:429,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:432,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: dmPrintEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void dmPrintEps(SDnodeData *pData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:456,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pData
    - pEpSet
    argTypes:
    - SDnodeData*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 459
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 459
    functionName: dmGetMnodeEpSet
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    linkageType: ''
    returnType: void
    signature: 'void dmGetMnodeEpSet(SDnodeData *pData, SEpSet *pEpSet) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:286,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:288,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:290,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:287,1
    - Dst: tjsonAddIntegerToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:289,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:292,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:293,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:295,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:297,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:301,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:306,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:309,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:302,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:308,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:305,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:307,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 36
    argCount: 2
    argNames:
    - pJson
    - pData
    argTypes:
    - SJson*
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 313
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 313
    functionName: dmEncodeEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonAddItemToObject
    - tjsonCreateObject
    - tjsonCreateArray
    - taosArrayGetSize
    - tjsonAddStringToObject
    - tjsonAddIntegerToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmEncodeEps(SJson *pJson, SDnodeData *pData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:367,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:368,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: dmGetDnodeSize
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmGetDnodeSize(SDnodeData *pData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:506,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:513,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:507,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:509,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pData
    - pEpSet
    argTypes:
    - SDnodeData*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 515
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 515
    functionName: dmSetMnodeEpSet
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - dInfo
    - taosThreadRwlockUnlock
    - memcmp
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void dmSetMnodeEpSet(SDnodeData *pData, SEpSet *pEpSet) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:328,1
    - Dst: dmEncodeEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:333,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:345,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:347,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:345,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:343,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:350,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:351,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:356,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:357,1
    - Dst: dmInitDndInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:326,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:335,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:340,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:351,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:355,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:322,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:333,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:337,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:344,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:344,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:323,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:326,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:329,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:341,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:348,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:360,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:360,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 363
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 363
    functionName: dmWriteEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - taosMemoryFree
    - tjsonToString
    - dInfo
    - taosArrayGetSize
    - taosOpenFile
    - taosGetTimestampMs
    - tjsonDelete
    - TAOS_CHECK_GOTO
    - taosCloseFile
    - dmInitDndInfo
    - taosRenameFile
    - tjsonCreateObject
    - dmEncodeEps
    - snprintf
    - taosWriteFile
    - tstrerror
    - strlen
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmWriteEps(SDnodeData *pData) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:374,1
    - Dst: dmWriteEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:380,1
    - Dst: dmResetEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:379,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:378,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:375,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:381,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:384,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pData
    - eps
    argTypes:
    - SDnodeData*
    - SArray*
    constantsTouched: []
    func_position:
      end: 387
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 387
    functionName: dmUpdateEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosThreadRwlockUnlock
    - dmWriteEps
    - dError
    - dmResetEps
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void dmUpdateEps(SDnodeData *pData, SArray *eps) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:523,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:529,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:528,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:530,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:526,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:531,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:539,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:541,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:542,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:543,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:553,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:554,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:563,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:555,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:551,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 52
    argCount: 5
    argNames:
    - data
    - did
    - clusterId
    - fqdn
    - port
    argTypes:
    - void*
    - int32_t*
    - int64_t*
    - char*
    - uint16_t*
    constantsTouched: []
    func_position:
      end: 565
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 565
    functionName: dmUpdateDnodeInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - taosArrayGet
    - taosThreadRwlockUnlock
    - strcmp
    - taosHashGet
    - tstrncpy
    - dInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool dmUpdateDnodeInfo(void *data, int32_t *did, int64_t *clusterId,
      char *fqdn, uint16_t *port) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strsep
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:108,1
    - Dst: strsep
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:111,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - arr
    - str
    - del
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: dmSplitStr
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - strsep
    linkageType: ''
    returnType: void
    signature: 'void dmSplitStr(char **arr, char *str, const char *del) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:56,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:64,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:62,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:58,1
    - Dst: tjsonGetNumberValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:60,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:67,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:69,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:72,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:74,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:77,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:85,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:90,1
    - Dst: tjsonGetInt8ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:87,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:81,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:83,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 2
    argNames:
    - pJson
    - pData
    argTypes:
    - SJson*
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 94
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 94
    functionName: dmDecodeEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetNumberValue
    - taosArrayPush
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetInt8ValueFromDouble
    - tjsonGetObjectItem
    - tjsonGetUInt16ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmDecodeEps(SJson *pJson, SDnodeData *pData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:485,1
    - Dst: dmSwapEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:488,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 491
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 491
    functionName: dmRotateMnodeEpSet
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - dmSwapEps
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    linkageType: ''
    returnType: void
    signature: 'void dmRotateMnodeEpSet(SDnodeData *pData) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:570,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:572,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:579,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:581,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:575,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:583,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:585,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:590,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - pJson
    - pData
    argTypes:
    - SJson*
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 594
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 594
    functionName: dmDecodeEpPairs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - taosArrayPush
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    - tjsonGetUInt16ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t dmDecodeEpPairs(SJson *pJson, SDnodeData *pData) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - str
    - toSearch
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: dmOccurrences
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: int
    signature: 'int dmOccurrences(char *str, char *toSearch) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:135,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:151,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:153,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:161,1
    - Dst: dmSplitStr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:163,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:170,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:174,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:178,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:258,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:254,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:250,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:217,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:207,1
    - Dst: dmDecodeEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:241,1
    - Dst: dmResetEps
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:274,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:134,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:139,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:162,1
    - Dst: dmOccurrences
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:159,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:189,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:221,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:249,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:262,1
    - Dst: taosGetFqdnPortFromEp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:261,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:273,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:227,1
    - Dst: dmReadDnodePairs
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:269,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:251,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:126,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:123,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:143,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:144,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:156,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:157,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:190,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:210,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:215,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:217,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:210,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:264,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:199,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:235,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:229,1
    - Dst: dmIsEpChanged
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:276,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:277,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:121,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:126,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:131,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:147,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:170,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:174,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:178,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:182,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:191,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:196,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:229,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:246,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:197,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:254,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 165
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 283
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 283
    functionName: dmReadEps
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cJSON_Delete
    - terrstr
    - dError
    - dInfo
    - dmIsEpChanged
    - taosGetFqdnPortFromEp
    - taosArrayGetSize
    - taosArrayInit
    - taosOpenFile
    - taosMemoryMalloc
    - taosReadFile
    - taosArrayPush
    - strcasecmp
    - memcpy
    - taosCloseFile
    - tjsonParse
    - memset
    - dmSplitStr
    - dmOccurrences
    - dDebug
    - snprintf
    - taosStatFile
    - strcmp
    - dmReadDnodePairs
    - strlen
    - taosFStatFile
    - dmDecodeEps
    - dmResetEps
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmReadEps(SDnodeData *pData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:495,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:499,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:498,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pData
    - pMsg
    - pEpSet
    argTypes:
    - SDnodeData*
    - SRpcMsg*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 503
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 503
    functionName: dmGetMnodeEpSetForRedirect
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - strcmp
    - dTrace
    - dmGetMnodeEpSet
    linkageType: ''
    returnType: void
    signature: 'void dmGetMnodeEpSetForRedirect(SDnodeData *pData, SRpcMsg *pMsg,
      SEpSet *pEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:599,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:601,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:603,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:600,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:602,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c:603,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: dmRemoveDnodePairs
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmEps.c
    functionUses: []
    functionsReached:
    - snprintf
    - dInfo
    - tstrerror
    - taosRenameFile
    - dError
    linkageType: ''
    returnType: void
    signature: 'void dmRemoveDnodePairs(SDnodeData *pData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - stype
    argTypes:
    - EDndRunStatus
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: dmStatStr
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *dmStatStr(EDndRunStatus stype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pArray
    - msgType
    - nodeMsgFp
    - needCheckVgId
    argTypes:
    - SArray*
    - tmsg_t
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: dmSetMgmtHandle
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    linkageType: ''
    returnType: void*
    signature: 'void *dmSetMgmtHandle(SArray *pArray, tmsg_t msgType, void *nodeMsgFp,
      bool needCheckVgId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - ntype
    argTypes:
    - EDndNodeType
    constantsTouched: []
    func_position:
      end: 44
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 44
    functionName: dmNodeName
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *dmNodeName(EDndNodeType ntype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pData
    argTypes:
    - SDnodeData*
    constantsTouched: []
    func_position:
      end: 91
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 91
    functionName: dmGetDnodeId
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmGetDnodeId(SDnodeData *pData) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetCpuCores
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:62,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:68,1
    - Dst: taosGetSysMemory
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:70,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:80,1
    - Dst: taosSetDefaultProcIODelta
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:86,1
    - Dst: taosGetCpuUsage
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:58,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:64,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:68,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:72,1
    - Dst: taosSetDefaultCardInfoDelta
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:81,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:85,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:60,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:64,1
    - Dst: taosGetCardInfoDelta
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:78,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:72,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:85,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:60,1
    - Dst: taosGetProcMemory
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:66,1
    - Dst: taosGetProcIODelta
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:83,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMonSysInfo*
    constantsTouched: []
    func_position:
      end: 89
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 89
    functionName: dmGetMonitorSystemInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/node_util/src/dmUtil.c
    functionUses: []
    functionsReached:
    - taosGetCpuUsage
    - taosSetDefaultProcIODelta
    - taosGetCardInfoDelta
    - tstrerror
    - taosGetProcIODelta
    - taosGetCpuCores
    - taosSetDefaultCardInfoDelta
    - dError
    - taosGetProcMemory
    - taosGetSysMemory
    linkageType: ''
    returnType: void
    signature: 'void dmGetMonitorSystemInfo(SMonSysInfo *pInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:22,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:28,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: mmAcquire
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t mmAcquire(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:87,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:95,1
    - Dst: mndProcessSyncMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:93,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:90,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:91,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:96,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:97,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: mmProcessSyncMsg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - dGTrace
    - ntohl
    - rpcFreeCont
    - mndProcessSyncMsg
    linkageType: ''
    returnType: void
    signature: 'static void mmProcessSyncMsg(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMsg
    - code
    argTypes:
    - SRpcMsg*
    - int32_t
    constantsTouched: []
    func_position:
      end: 46
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 46
    functionName: mmSendRsp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - tmsgSendRsp
    linkageType: ''
    returnType: void
    signature: 'static inline void mmSendRsp(SRpcMsg *pMsg, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: mmPutMsgToWriteQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToWriteQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:124,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: mmPutMsgToSyncQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToSyncQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: mmPutMsgToReadQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToReadQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:144,1
    - Dst: mndPreProcessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:144,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:144,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:150,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:151,1
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 155
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 155
    functionName: mmPutMsgToQueryQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mndPreProcessQueryMsg
    - dGError
    - tstrerror
    - mmPutMsgToWorker
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToQueryQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosAllocateQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:197,1
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:205,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:200,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:203,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:203,1
    - Dst: dTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:207,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:208,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:209,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 3
    argNames:
    - pMgmt
    - qtype
    - pRpc
    argTypes:
    - SMnodeMgmt*
    - EQueueType
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 212
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 212
    functionName: mmPutMsgToQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - taosAllocateQitem
    - dTrace
    - rpcFreeCont
    - mmPutMsgToWorker
    - memcpy
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToQueue(SMnodeMgmt *pMgmt, EQueueType qtype, SRpcMsg
      *pRpc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:53,1
    - Dst: mndProcessRpcMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:55,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:53,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:58,1
    - Dst: dGWarn
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:60,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:61,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:65,1
    - Dst: mmSendRsp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:67,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:69,1
    - Dst: mndPostProcessQueryMsg
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:74,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:77,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:77,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:78,1
    - Dst: taosFreeQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:79,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 80
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 80
    functionName: mmProcessRpcMsg
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - taosFreeQitem
    - IsReq
    - dGTrace
    - mmSendRsp
    - mndPostProcessQueryMsg
    - dGWarn
    - tstrerror
    - taosGetTimestampUs
    - rpcFreeCont
    - mndProcessRpcMsg
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void mmProcessRpcMsg(SQueueInfo *pInfo, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:33,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:34,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 36
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 36
    functionName: mmRelease
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_32
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'static inline void mmRelease(SMnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmAcquire
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:103,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:104,1
    - Dst: taosWriteQitem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:105,1
    - Dst: mmRelease
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:106,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:104,1
    - Dst: dGTrace
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:109,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:109,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - pMgmt
    - pWorker
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SSingleWorker*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 113
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 113
    functionName: mmPutMsgToWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmAcquire
    - taosWriteQitem
    - dGTrace
    - mmRelease
    - tstrerror
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t mmPutMsgToWorker(SMnodeMgmt *pMgmt, SSingleWorker
      *pWorker, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: mmPutMsgToArbQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToArbQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: mmPutMsgToSyncRdQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToSyncRdQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: mmPutMsgToStatusQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToStatusQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mmPutMsgToWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMgmt
    - pMsg
    argTypes:
    - SMnodeMgmt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: mmPutMsgToFetchQueue
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - mmPutMsgToWorker
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmPutMsgToFetchQueue(SMnodeMgmt *pMgmt, SRpcMsg *pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:238,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:225,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:250,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:263,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:274,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:275,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:286,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:299,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:310,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:311,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:311,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:315,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:239,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:251,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:262,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:287,1
    - Dst: tSingleWorkerInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:298,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:287,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 317
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 317
    functionName: mmStartWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - tstrerror
    - dError
    - tSingleWorkerInit
    - dDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmStartWorker(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:320,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:322,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:323,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:325,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:324,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:326,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:327,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:328,1
    - Dst: tSingleWorkerCleanup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:329,1
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 331
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 331
    functionName: mmStopWorker
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmWorker.c
    functionUses: []
    functionsReached:
    - dDebug
    - taosMsleep
    - tSingleWorkerCleanup
    linkageType: ''
    returnType: void
    signature: 'void mmStopWorker(SMnodeMgmt *pMgmt) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:22,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:29,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:26,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:31,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:24,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:36,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:40,1
    - Dst: tjsonGetStringValue
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:42,1
    - Dst: tjsonGetUInt16ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:44,1
    - Dst: tjsonGetInt32ValueFromDouble
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:46,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 2
    argNames:
    - pJson
    - pOption
    argTypes:
    - SJson*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 57
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 57
    functionName: mmDecodeOption
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetInt32ValueFromDouble
    - tjsonGetArrayItem
    - tjsonGetStringValue
    - tjsonGetObjectItem
    - tjsonGetUInt16ValueFromDouble
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmDecodeOption(SJson *pJson, SMnodeOpt *pOption) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:176,1
    - Dst: mmEncodeOption
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:189,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:204,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:214,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:222,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:170,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:183,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:191,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:224,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:189,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:197,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:203,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:213,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:208,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:223,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:219,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:217,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 61
    argCount: 2
    argNames:
    - path
    - pOption
    argTypes:
    - char*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 230
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 230
    functionName: mmWriteFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - taosFsyncFile
    - snprintf
    - taosMemoryFree
    - taosCloseFile
    - TAOS_SYSTEM_ERROR
    - taosWriteFile
    - tjsonDelete
    - tjsonToString
    - mmEncodeOption
    - strlen
    - taosRenameFile
    - dInfo
    - tstrerror
    - tjsonCreateObject
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmWriteFile(const char *path, const SMnodeOpt *pOption) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:66,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:77,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:120,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:116,1
    - Dst: mmDecodeOption
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:111,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:72,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:97,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:91,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:119,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:73,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:73,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:85,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:87,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:87,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:99,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:99,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:121,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:124,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:124,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:80,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:80,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:105,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 2
    argNames:
    - path
    - pOption
    argTypes:
    - char*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 127
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 127
    functionName: mmReadFile
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosFStatFile
    - snprintf
    - taosStatFile
    - taosMemoryMalloc
    - taosReadFile
    - taosMemoryFree
    - cJSON_Delete
    - taosCloseFile
    - tjsonParse
    - dInfo
    - tstrerror
    - mmDecodeOption
    - dError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmReadFile(const char *path, SMnodeOpt *pOption) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:132,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:141,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:138,1
    - Dst: tjsonCreateArray
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:134,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:147,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:148,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:149,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:150,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:151,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:155,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c:157,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - pJson
    - pOption
    argTypes:
    - SJson*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 160
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 160
    functionName: mmEncodeOption
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmFile.c
    functionUses: []
    functionsReached:
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - tjsonAddItemToObject
    - tjsonCreateObject
    - tjsonCreateArray
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmEncodeOption(SJson *pJson, const SMnodeOpt *pOption) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mmReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:29,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:36,1
    - Dst: mmDeployRequired
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:34,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pInput
    - required
    argTypes:
    - SMgmtInputOpt*
    - bool*
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: mmRequire
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - dInfo
    - mmReadFile
    - mmDeployRequired
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmRequire(const SMgmtInputOpt *pInput, bool *required) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pMgmt
    - pOption
    argTypes:
    - SMnodeMgmt*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: mmBuildOptionForOpen
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mmBuildOptionForOpen(SMnodeMgmt *pMgmt, SMnodeOpt *pOption) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - path
    - opt
    - pMnode
    argTypes:
    - char*
    - SMnodeOpt*
    - SMnode**
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: mndOpenWrapper
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - mndOpen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndOpenWrapper(const char *path, SMnodeOpt *opt, SMnode
      **pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:158,1
    - Dst: mndStart
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 160
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 160
    functionName: mmStart
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - dDebug
    - mndStart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmStart(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndIsCatchUp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:172,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 172
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 172
    functionName: mmSyncIsCatchUp
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - mndIsCatchUp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmSyncIsCatchUp(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: mmGetMgmtFunc
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SMgmtFunc
    signature: 'SMgmtFunc mmGetMgmtFunc() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:22,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pInput
    argTypes:
    - SMgmtInputOpt*
    constantsTouched: []
    func_position:
      end: 24
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 24
    functionName: mmDeployRequired
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool mmDeployRequired(const SMgmtInputOpt *pInput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmStopWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:68,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:70,1
    - Dst: mndClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:69,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:74,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: mmClose
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - mndClose
    - taosMemoryFree
    - mmStopWorker
    - taosThreadRwlockDestroy
    linkageType: ''
    returnType: void
    signature: 'static void mmClose(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pMgmt
    - pInput
    - pOption
    argTypes:
    - SMnodeMgmt*
    - SMgmtInputOpt*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: mmBuildOptionForDeploy
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mmBuildOptionForDeploy(SMnodeMgmt *pMgmt, const SMgmtInputOpt
      *pInput, SMnodeOpt *pOption) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: syncInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:92,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:88,1
    - Dst: mmReadFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:112,1
    - Dst: mmStartWorker
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:135,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:97,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:113,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:123,1
    - Dst: mmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:129,1
    - Dst: mmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:130,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:136,1
    - Dst: mmClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:137,1
    - Dst: walInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:87,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:93,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:109,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:113,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:129,1
    - Dst: mmBuildOptionForDeploy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:121,1
    - Dst: dInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:119,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:136,1
    - Dst: mmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:88,1
    - Dst: mmBuildOptionForOpen
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:124,1
    - Dst: mndOpenWrapper
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:127,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:133,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:147,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 2
    argNames:
    - pInput
    - pOutput
    argTypes:
    - SMgmtInputOpt*
    - SMgmtOutputOpt*
    constantsTouched: []
    func_position:
      end: 155
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 155
    functionName: mmOpen
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - mmClose
    - mmWriteFile
    - syncInit
    - taosMemoryCalloc
    - mmBuildOptionForOpen
    - mmStartWorker
    - mmBuildOptionForDeploy
    - tstrerror
    - dInfo
    - mndOpenWrapper
    - tmsgReportStartup
    - taosThreadRwlockInit
    - dError
    - mmReadFile
    - walInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mmOpen(SMgmtInputOpt *pInput, SMgmtOutputOpt *pOutput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dDebug
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:163,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:165,1
    - Dst: mndStop
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:169,1
    - Dst: mndPreClose
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:164,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 170
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 170
    functionName: mmStop
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - dDebug
    - mndPreClose
    - taosThreadRwlockUnlock
    - mndStop
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'static void mmStop(SMnodeMgmt *pMgmt) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGetRole
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c:174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMgmt
    argTypes:
    - SMnodeMgmt*
    constantsTouched: []
    func_position:
      end: 174
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 174
    functionName: mmSyncGetRole
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmInt.c
    functionUses: []
    functionsReached:
    - mndGetRole
    linkageType: ''
    returnType: ESyncRole
    signature: 'static ESyncRole mmSyncGetRole(SMnodeMgmt *pMgmt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndGetMonitorInfo
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:19,1
    - Dst: dError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:20,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pMgmt
    - pInfo
    argTypes:
    - SMnodeMgmt*
    - SMonMmInfo*
    constantsTouched: []
    func_position:
      end: 22
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 22
    functionName: mmGetMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c
    functionUses: []
    functionsReached:
    - dError
    - mndGetMonitorInfo
    linkageType: ''
    returnType: void
    signature: 'void mmGetMonitorInfo(SMnodeMgmt *pMgmt, SMonMmInfo *pInfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:33,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:52,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:62,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:62,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:44,1
    - Dst: mmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:66,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:67,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: mmProcessCreateReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSDCreateMnodeReq
    - dGError
    - tstrerror
    - mmWriteFile
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmProcessCreateReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 188
    BranchProfiles: []
    Callsites:
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:252,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:259,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:245,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:217,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:203,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:291,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:210,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:131,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:157,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:111,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:126,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:162,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:139,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:144,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:149,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:175,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:180,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:202,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:209,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:235,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:256,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:242,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:299,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:195,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:283,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:104,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:198,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:286,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:231,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:271,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:238,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:190,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:263,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:216,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:278,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:223,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:165,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:170,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:147,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:152,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:183,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:109,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:114,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:120,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:129,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:134,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:215,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:222,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:290,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:267,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:187,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:275,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:253,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:260,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:211,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:237,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:218,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:197,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:285,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:204,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:293,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:133,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:164,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:108,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:113,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:128,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:169,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:182,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:146,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:151,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:177,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:208,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:298,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:248,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:255,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:194,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:282,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:234,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:201,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:289,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:241,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:274,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:189,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:277,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:230,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:172,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:154,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:167,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:159,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:122,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:116,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:136,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:141,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:185,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:188,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:276,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:261,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:181,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:269,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:254,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:226,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:305,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:212,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:219,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:249,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:205,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:295,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:257,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:243,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:171,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:115,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:121,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:130,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:148,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:153,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:166,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:184,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:135,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:140,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:207,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:297,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:240,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:281,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:247,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:200,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:288,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:225,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:233,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:273,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:156,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:161,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:138,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:143,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:110,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:125,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:119,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:174,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:179,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:193,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:262,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:270,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:220,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:228,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:206,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:296,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:213,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:258,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:265,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:244,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:251,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:178,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:118,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:124,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:155,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:160,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:137,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:142,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:173,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:186,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:192,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:196,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:284,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:199,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:287,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:239,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:246,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:272,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:224,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:279,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:232,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:264,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:127,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:163,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:132,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:158,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:168,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:145,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:150,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:107,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:112,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:176,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:221,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:236,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:229,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:214,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:266,1
    - Dst: dmSetMgmtHandle
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:250,1
    CyclomaticComplexity: 376
    EdgeCount: 376
    ICount: 378
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 310
    functionName: mmGetMsgHandles
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c
    functionUses: []
    functionsReached:
    - dmSetMgmtHandle
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *mmGetMsgHandles() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:79,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:87,1
    - Dst: mmWriteFile
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:92,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:86,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:86,1
    - Dst: dGError
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:93,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:93,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:94,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pInput
    - pMsg
    argTypes:
    - SMgmtInputOpt*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: mmProcessDropReq
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - dGError
    - tstrerror
    - mmWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mmProcessDropReq(const SMgmtInputOpt *pInput, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGetLoad
      Src: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c:26,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pMgmt
    - pInfo
    argTypes:
    - SMnodeMgmt*
    - SMonMloadInfo*
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: mmGetMnodeLoads
    functionSourceFile: /src/tdengine/source/dnode/mgmt/mgmt_mnode/src/mmHandle.c
    functionUses: []
    functionsReached:
    - mndGetLoad
    linkageType: ''
    returnType: void
    signature: 'void mmGetMnodeLoads(SMnodeMgmt *pMgmt, SMonMloadInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:23,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:32,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:25,1
    - Dst: qWorkerInit
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:30,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pOption
    - pQnode
    argTypes:
    - SQnodeOpt*
    - SQnode**
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: qndOpen
    functionSourceFile: /src/tdengine/source/dnode/qnode/src/qnode.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFreeClear
    - qWorkerInit
    - qError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qndOpen(const SQnodeOpt *pOption, SQnode **pQnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerGetStat
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pQnode
    - pLoad
    argTypes:
    - SQnode*
    - SQnodeLoad*
    constantsTouched: []
    func_position:
      end: 68
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 68
    functionName: qndGetLoad
    functionSourceFile: /src/tdengine/source/dnode/qnode/src/qnode.c
    functionUses: []
    functionsReached:
    - qWorkerGetStat
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qndGetLoad(SQnode *pQnode, SQnodeLoad *pLoad) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pQnode
    argTypes:
    - SQnode*
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: qndClose
    functionSourceFile: /src/tdengine/source/dnode/qnode/src/qnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - qWorkerDestroy
    linkageType: ''
    returnType: void
    signature: 'void qndClose(SQnode *pQnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerPreprocessQueryMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:75,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pQnode
    - pMsg
    argTypes:
    - SQnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: qndPreprocessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/qnode/src/qnode.c
    functionUses: []
    functionsReached:
    - qWorkerPreprocessQueryMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qndPreprocessQueryMsg(SQnode *pQnode, SRpcMsg *pMsg) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: qTrace
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:82,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:100,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:90,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:87,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:94,1
    - Dst: qWorkerProcessHbMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:106,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:109,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/qnode/src/qnode.c:112,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 20
    argCount: 3
    argNames:
    - pQnode
    - pInfo
    - pMsg
    argTypes:
    - SQnode*
    - SQueueInfo*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 121
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 121
    functionName: qndProcessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/qnode/src/qnode.c
    functionUses: []
    functionsReached:
    - qWorkerProcessCQueryMsg
    - qWorkerProcessDropMsg
    - qWorkerProcessFetchMsg
    - qTrace
    - qWorkerProcessNotifyMsg
    - qWorkerProcessQueryMsg
    - qError
    - qWorkerProcessHbMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t qndProcessQueryMsg(SQnode *pQnode, SQueueInfo *pInfo, SRpcMsg
      *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/inc/mndTrans.h:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: mndTrancCheckConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/inc/mndTrans.h
    functionUses: []
    functionsReached:
    - mndTransCheckConflict
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTrancCheckConflict(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pObj
    argTypes:
    - SMnode*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: mndReleaseMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseMnode(SMnode *pMnode, SMnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mndCleanupMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupMnode(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:133,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:137,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:140,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:138,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:139,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:141,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:148,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:148,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:149,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:153,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:142,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 155
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 155
    functionName: mndMnodeActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndMnodeActionEncode(SMnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:228,1
    - Dst: mndReloadSyncConfig
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SMnodeObj*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: mndMnodeActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - mndReloadSyncConfig
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndMnodeActionUpdate(SSdb *pSdb, SMnodeObj *pOld, SMnodeObj
      *pNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:521,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:532,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:541,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:525,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:537,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:546,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:554,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:556,1
    - Dst: mndBuildCreateMnodeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:556,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:558,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 559
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 559
    functionName: mndSetRestoreCreateMnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndBuildCreateMnodeRedoAction
    - TAOS_CHECK_RETURN
    - sdbFetch
    - TAOS_RETURN
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetRestoreCreateMnodeRedoActions(SMnode *pMnode, STrans
      *pTrans, SDnodeObj *pDnode, SMnodeObj *pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndReleaseMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:745,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:749,1
    - Dst: mndAcquireMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:705,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:724,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:737,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:737,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:700,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:700,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:713,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:719,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:724,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:742,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:742,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:735,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:747,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:703,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:702,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:703,1
    - Dst: mndCreateMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:729,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:733,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:746,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 750
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 750
    functionName: mndProcessCreateMnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDropMQSNodeReq
    - mndIsDnodeOnline
    - terrstr
    - mndCheckOperPrivilege
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - mError
    - sdbGetSize
    - auditRecord
    - mInfo
    - mndAcquireDnode
    - mndAcquireMnode
    - snprintf
    - tFreeSMCreateQnodeReq
    - mndReleaseMnode
    - mndReleaseDnode
    - tstrerror
    - TAOS_RETURN
    - mndCreateMnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateMnodeReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:72,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - mnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    functionName: mndAcquireMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SMnodeObj*
    signature: 'SMnodeObj *mndAcquireMnode(SMnode *pMnode, int32_t mnodeId) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:101,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:112,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:119,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:112,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:99,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:124,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:97,1
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:91,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:104,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:104,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:111,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:116,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:114,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:119,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:120,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:125,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:88,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:97,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:103,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:109,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:116,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:113,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 126
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 126
    functionName: mndCreateDefaultMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndMnodeActionEncode
    - mndTransAppendCommitlog
    - terrstr
    - mError
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultMnode(SMnode *pMnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:165,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:179,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:172,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:180,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:175,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:181,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:183,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:184,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:186,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:192,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:193,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:192,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:197,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: mndMnodeActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndMnodeActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:240,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: mndIsMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    - sdbRelease
    linkageType: ''
    returnType: bool
    signature: 'bool mndIsMnode(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:569,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:575,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:580,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:589,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:584,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:597,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:599,1
    - Dst: mndBuildAlterMnodeTypeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:599,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:601,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 602
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 602
    functionName: mndSetAlterMnodeTypeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndBuildAlterMnodeTypeRedoAction
    - TAOS_CHECK_RETURN
    - sdbFetch
    - TAOS_RETURN
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterMnodeTypeRedoActions(SMnode *pMnode, STrans
      *pTrans, SDnodeObj *pDnode, SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:754,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:761,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:760,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:760,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:758,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:761,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 763
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 763
    functionName: mndSetDropMnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropMnodeRedoLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1101,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1139,1
    - Dst: syncStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1140,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1157,1
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1083,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1090,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1086,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1090,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1086,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1100,1
    - Dst: mndGetClusterId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1097,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1105,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1124,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1151,1
    - Dst: sdbReleaseLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1126,1
    - Dst: syncReconfig
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1155,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1159,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1103,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1103,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1136,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1146,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1157,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1162
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1162
    functionName: mndReloadSyncConfig
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndGetClusterId
    - sdbReleaseLock
    - terrstr
    - mError
    - sdbStatusName
    - tstrncpy
    - syncStop
    - syncReconfig
    - tmsgUpdateDnodeInfo
    - sdbFetchAll
    linkageType: ''
    returnType: void
    signature: 'static void mndReloadSyncConfig(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:338,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:344,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:344,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:342,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:345,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:345,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 347
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 347
    functionName: mndSetCreateMnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateMnodeCommitLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:381,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:382,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:390,1
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:387,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:389,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:402,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pTrans
    - pAlterMnodeTypeReq
    - pAlterMnodeTypeEpSet
    argTypes:
    - STrans*
    - SDAlterMnodeTypeReq*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 407
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 407
    functionName: mndBuildAlterMnodeTypeRedoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - tSerializeSDCreateMnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildAlterMnodeTypeRedoAction(STrans *pTrans, SDAlterMnodeTypeReq
      *pAlterMnodeTypeReq, SEpSet *pAlterMnodeTypeEpSet) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:612,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:623,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:632,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:628,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:616,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:637,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:645,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:647,1
    - Dst: mndBuildAlterMnodeTypeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:647,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:649,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 650
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 650
    functionName: mndSetRestoreAlterMnodeTypeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndBuildAlterMnodeTypeRedoAction
    - TAOS_CHECK_RETURN
    - sdbFetch
    - TAOS_RETURN
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetRestoreAlterMnodeTypeRedoActions(SMnode *pMnode, STrans
      *pTrans, SDnodeObj *pDnode, SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:767,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:771,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:773,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:773,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:774,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:774,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: mndSetDropMnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropMnodeCommitLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:351,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:360,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:352,1
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:359,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:372,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:373,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:375,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pTrans
    - pCreateReq
    - pCreateEpSet
    argTypes:
    - STrans*
    - SDCreateMnodeReq*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 376
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 376
    functionName: mndBuildCreateMnodeRedoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - tSerializeSDCreateMnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildCreateMnodeRedoAction(STrans *pTrans, SDCreateMnodeReq
      *pCreateReq, SEpSet *pCreateEpSet) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:411,1
    - Dst: tSerializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:417,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:412,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:419,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:420,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:430,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:431,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:435,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pTrans
    - pAlterReq
    - pAlterEpSet
    argTypes:
    - STrans*
    - SDCreateMnodeReq*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 436
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 436
    functionName: mndBuildAlterMnodeRedoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - tSerializeSDCreateMnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildAlterMnodeRedoAction(STrans *pTrans, SDCreateMnodeReq
      *pAlterReq, SEpSet *pAlterEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:661,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:662,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:663,1
    - Dst: mndSetCreateMnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:673,1
    - Dst: mndSetAlterMnodeTypeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:682,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:684,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:689,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:682,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:690,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:663,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:667,1
    - Dst: mndSetCreateMnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:672,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:673,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:683,1
    - Dst: mndSetCreateMnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:683,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:684,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:677,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:655,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDnode
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDnodeObj*
    - SMCreateMnodeReq*
    constantsTouched: []
    func_position:
      end: 691
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 691
    functionName: mndCreateMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - taosGetTimestampMs
    - mndSetAlterMnodeTypeRedoActions
    - mndSetCreateMnodeCommitLogs
    - mndTransSetSerial
    - mndSetCreateMnodeRedoLogs
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndTransPrepare
    - mndSetCreateMnodeRedoActions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateMnode(SMnode *pMnode, SRpcMsg *pReq, SDnodeObj
      *pDnode, SMCreateMnodeReq *pCreate) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:789,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:796,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:794,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:798,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:791,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:799,1
    - Dst: mndSetDropMnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:799,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:801,1
    - Dst: mndBuildDropMnodeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:801,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:804,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:810,1
    - Dst: mndSetDropMnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:808,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:813,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:806,1
    - Dst: mndBuildDropMnodeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:806,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDnode
    - pObj
    - force
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SMnodeObj*
    - bool
    constantsTouched: []
    func_position:
      end: 814
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 814
    functionName: mndSetDropMnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - mndBuildDropMnodeRedoAction
    - sdbGetSize
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndSetDropMnodeRedoLogs
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropMnodeRedoActions(SMnode *pMnode, STrans *pTrans,
      SDnodeObj *pDnode, SMnodeObj *pObj, bool force) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:203,1
    - Dst: sdbAcquireNotReadyObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:204,1
    - Dst: mndReloadSyncConfig
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:213,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:206,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:206,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: mndMnodeActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbAcquireNotReadyObj
    - mTrace
    - mError
    - terrstr
    - TAOS_RETURN
    - mndReloadSyncConfig
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndMnodeActionInsert(SSdb *pSdb, SMnodeObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRetryEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - pEpSet
    argTypes:
    - SMnode*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 295
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 295
    functionName: mndGetMnodeEpSet
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - syncGetRetryEpSet
    linkageType: ''
    returnType: void
    signature: 'void mndGetMnodeEpSet(SMnode *pMnode, SEpSet *pEpSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:312,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:319,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:316,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:318,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:318,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:319,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 321
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 321
    functionName: mndSetRestoreCreateMnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetRestoreCreateMnodeRedoLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:440,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:441,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:449,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:448,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:446,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:460,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:461,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:462,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:464,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pTrans
    - pDropReq
    - pDroprEpSet
    argTypes:
    - STrans*
    - SDDropMnodeReq*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 465
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 465
    functionName: mndBuildDropMnodeRedoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildDropMnodeRedoAction(STrans *pTrans, SDDropMnodeReq
      *pDropReq, SEpSet *pDroprEpSet) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:819,1
    - Dst: mndSetDropMnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:820,1
    - Dst: mndSetDropMnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:819,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pObj
    - force
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    - bool
    constantsTouched: []
    func_position:
      end: 822
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 822
    functionName: mndSetDropMnodeInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndSetDropMnodeRedoActions
    - mndSetDropMnodeCommitLogs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropMnodeInfoToTrans(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj, bool force) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:854,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:854,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:856,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:857,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:857,1
    - Dst: mndAcquireMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:864,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:876,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:881,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:881,1
    - Dst: mndDropMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:886,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:896,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:896,1
    - Dst: mndReleaseMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:899,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:892,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:890,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:900,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:901,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 902
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 902
    functionName: mndProcessDropMnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - taosGetTimestampMs
    - tDeserializeSCreateDropMQSNodeReq
    - mndAcquireMnode
    - tFreeSMCreateQnodeReq
    - mndIsDnodeOnline
    - mndReleaseMnode
    - terrstr
    - mError
    - mndCheckOperPrivilege
    - sdbGetSize
    - mndDropMnode
    - TAOS_RETURN
    - auditRecord
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropMnodeReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1006
    functionName: mndCancelGetNextMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextMnode(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:54,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:58,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:55,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:57,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:56,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:59,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:60,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:62,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:63,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 66
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 66
    functionName: mndInitMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitMnode(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:218,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 225
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 225
    functionName: mndMnodeActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndMnodeActionDelete(SSdb *pSdb, SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:299,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:306,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:303,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:305,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:305,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:306,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:307,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 308
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 308
    functionName: mndSetCreateMnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateMnodeRedoLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndMnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:325,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:331,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:332,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:329,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:331,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:332,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: mndSetCreateMnodeUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndMnodeActionEncode
    - mndTransAppendUndolog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateMnodeUndoLogs(SMnode *pMnode, STrans *pTrans,
      SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:477,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:488,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:499,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:492,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:483,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:506,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:508,1
    - Dst: mndBuildCreateMnodeRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:510,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 511
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 511
    functionName: mndSetCreateMnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mndBuildCreateMnodeRedoAction
    - TAOS_CHECK_RETURN
    - sdbFetch
    - TAOS_RETURN
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateMnodeRedoActions(SMnode *pMnode, STrans
      *pTrans, SDnodeObj *pDnode, SMnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:828,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:836,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:834,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:836,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:835,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:838,1
    - Dst: mndSetDropMnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:838,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:839,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:839,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:844,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pObj
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMnodeObj*
    constantsTouched: []
    func_position:
      end: 846
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 846
    functionName: mndDropMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - mndSetDropMnodeInfoToTrans
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropMnode(SMnode *pMnode, SRpcMsg *pReq, SMnodeObj
      *pObj) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:923,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:928,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:931,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:942,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:950,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:942,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:944,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:954,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:957,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:961,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:997,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:986,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:918,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:918,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:939,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:943,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:937,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:940,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:952,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:956,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:971,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:927,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:950,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:954,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:992,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:996,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:996,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:998,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:973,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:962,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:982,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:913,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:916,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:930,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:932,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:956,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:963,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:999,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:977,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:981,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 89
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1001
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 1001
    functionName: mndRetrieveMnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - snprintf
    - taosArrayGet
    - mndIsDnodeOnline
    - colDataSetVal
    - terrstr
    - mError
    - sdbAcquire
    - syncStr
    - tstrncpy
    - tstrerror
    - sdbCancelFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveMnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1016,1
    - Dst: tDeserializeSDCreateMnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1016,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1019,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1027,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1027,1
    - Dst: mndWriteFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1031,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1032,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1032,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1039,1
    - Dst: syncReconfig
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1057,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1047,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1053,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1064,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1059,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1059,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1061,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c:1050,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1066
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1066
    functionName: mndProcessAlterMnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - tDeserializeSDCreateMnodeReq
    - terrstr
    - mError
    - tstrncpy
    - TAOS_CHECK_RETURN
    - syncReconfig
    - TAOS_RETURN
    - memcpy
    - mndWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterMnodeReq(SRpcMsg *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:120,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:130,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:136,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:140,1
    - Dst: mndStreamClearFinishedTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:118,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:120,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:129,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:134,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:139,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:146,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:127,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:128,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:141,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:136,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:138,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:112,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:123,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:128,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:137,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 3
    argNames:
    - pMnode
    - streamId
    - pTransName
    argTypes:
    - SMnode*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 150
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 150
    functionName: doStreamTransConflictCheck
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndStreamClearFinishedTrans
    - mError
    - taosHashGet
    - strcmp
    - taosHashGetSize
    - tstrerror
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamTransConflictCheck(SMnode *pMnode, int64_t
      streamId, const char *pTransName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:31,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pTrans
    - pTransName
    - streamId
    argTypes:
    - STrans*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: mndStreamRegisterTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamRegisterTrans(STrans *pTrans, const char *pTransName,
      int64_t streamId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:171,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:174,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:172,1
    - Dst: mndStreamClearFinishedTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:178,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:180,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:183,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:186,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:188,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:188,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:193,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:189,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pMnode
    - streamId
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: mndStreamGetRelTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - mndStreamClearFinishedTrans
    - mError
    - taosHashGet
    - strcmp
    - taosHashGetSize
    - tstrerror
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamGetRelTrans(SMnode *pMnode, int64_t streamId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:238,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:242,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:247,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:257,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:258,1
    - Dst: tEncodeSStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:232,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:231,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:234,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:245,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:250,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:256,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:253,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:263,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:270,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:233,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:241,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:244,1
    - Dst: tEncodeSStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:248,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:249,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:261,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:264,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 273
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 273
    functionName: mndStreamActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - TSDB_CHECK_CODE
    - tEncodeSStreamObj
    - tEncoderInit
    - tEncoderClear
    - taosMemoryMalloc
    - SDB_SET_INT32
    - mTrace
    - mError
    - tstrerror
    - TSDB_CHECK_NULL
    - SDB_SET_BINARY
    - sdbAllocRaw
    - sdbFreeRaw
    - taosMemoryFreeClear
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndStreamActionEncode(SStreamObj *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 7
    argNames:
    - pTrans
    - pCont
    - contLen
    - msgType
    - pEpset
    - retryCode
    - acceptCode
    argTypes:
    - STrans*
    - void*
    - int32_t
    - int32_t
    - SEpSet*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 309
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 309
    functionName: setTransAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setTransAction(STrans *pTrans, void *pCont, int32_t contLen,
      int32_t msgType, const SEpSet *pEpset, int32_t retryCode, int32_t acceptCode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:315,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:317,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:319,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:320,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:326,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 328
    functionName: isNodeUpdateTransActive
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosHashIterate
    - strcmp
    - mDebug
    - streamMutexUnlock
    linkageType: ''
    returnType: bool
    signature: 'bool isNodeUpdateTransActive() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:333,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:340,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:335,1
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:343,1
    - Dst: identicalName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:342,1
    - Dst: identicalName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:344,1
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:345,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 3
    argNames:
    - pMnode
    - pDBName
    - len
    argTypes:
    - SMnode*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 353
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 353
    functionName: doKillCheckpointTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - identicalName
    - mndGetStreamObj
    - taosHashIterate
    - strcmp
    - mndReleaseStream
    - mndKillTransImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doKillCheckpointTrans(SMnode *pMnode, const char *pDBName,
      size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:26,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pDb
    - pParam
    - len
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: identicalName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: 'static bool identicalName(const char *pDb, const char *pParam, int32_t
      len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:158,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:164,1
    - Dst: doStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:161,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pMnode
    - streamId
    - pTransName
    - lock
    argTypes:
    - SMnode*
    - int64_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: mndStreamTransConflictCheck
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - doStreamTransConflictCheck
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamTransConflictCheck(SMnode *pMnode, int64_t streamId,
      const char *pTransName, bool lock) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:50,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:61,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:87,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:92,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:81,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:40,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:56,1
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:54,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:99,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:59,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:66,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:72,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:77,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:77,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:100,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:38,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:75,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:94,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:85,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:102,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 3
    argNames:
    - pMnode
    - pNumOfActiveChkpt
    - pLongChkptTrans
    argTypes:
    - SMnode*
    - int32_t*
    - SArray*
    constantsTouched: []
    func_position:
      end: 109
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 109
    functionName: mndStreamClearFinishedTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndAcquireTrans
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - taosHashIterate
    - strcmp
    - mDebug
    - tstrerror
    - taosHashRemove
    - taosHashGetSize
    - taosHashGetKey
    - taosArrayPush
    - mndReleaseTrans
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamClearFinishedTrans(SMnode *pMnode, int32_t *pNumOfActiveChkpt,
      SArray*pLongChkptTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:205,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:207,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:211,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:207,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:215,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:216,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:216,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:217,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 7
    argNames:
    - pMnode
    - pStream
    - pReq
    - conflict
    - name
    - pMsg
    - pTrans1
    argTypes:
    - SMnode*
    - SStreamObj*
    - SRpcMsg*
    - ETrnConflct
    - char*
    - char*
    - STrans**
    constantsTouched: []
    func_position:
      end: 223
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: doCreateTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - tstrerror
    - mndTransCheckConflict
    - mndTransDrop
    - mndTransCreate
    - mndTransSetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doCreateTrans(SMnode *pMnode, SStreamObj *pStream, SRpcMsg
      *pReq, ETrnConflct conflict, const char *name, const char *pMsg, STrans **pTrans1) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStreamActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:276,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:283,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:278,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:278,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:279,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:284,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:284,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:285,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:286,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:290,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:291,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:293,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:291,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - pStream
    - pTrans
    - status
    argTypes:
    - SStreamObj*
    - STrans*
    - int32_t
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: mndPersistTransLog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - terrstr
    - mError
    - mndStreamActionEncode
    - sdbSetRawStatus
    - mndTransDrop
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPersistTransLog(SStreamObj *pStream, STrans *pTrans, int32_t
      status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:383,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:395,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:384,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:389,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:386,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:399,1
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:401,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:403,1
    - Dst: mndCreateStreamResetStatusTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:406,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:408,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pMnode
    - pLongChkpts
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 413
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 413
    functionName: killChkptAndResetStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayGet
    - mndGetStreamObj
    - mndCreateStreamResetStatusTrans
    - mError
    - mDebug
    - tstrerror
    - taosArrayGetSize
    - sdbRelease
    - mndKillTransImpl
    linkageType: ''
    returnType: void
    signature: 'void killChkptAndResetStreamTask(SMnode *pMnode, SArray* pLongChkpts) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:357,1
    - Dst: doKillCheckpointTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:370,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:365,1
    - Dst: TAOS_STRNCPY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:367,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:361,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:372,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:374,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pMnode
    - pChangeInfo
    argTypes:
    - SMnode*
    - SVgroupChangeInfo*
    constantsTouched: []
    func_position:
      end: 379
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 379
    functionName: killAllCheckpointTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTrans.c
    functionUses: []
    functionsReached:
    - mError
    - taosHashIterate
    - mDebug
    - taosHashGetKey
    - doKillCheckpointTrans
    - TAOS_STRNCPY
    linkageType: ''
    returnType: void
    signature: 'void killAllCheckpointTrans(SMnode *pMnode, SVgroupChangeInfo *pChangeInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:36,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:43,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:39,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:39,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:40,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:44,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: mndInitShow
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - mError
    - mndSetMsgHandle
    - tstrerror
    - TAOS_RETURN
    - taosCacheInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitShow(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:192,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pShow
    argTypes:
    - SShowObj*
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: mndFreeShowObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: void
    signature: 'static void mndFreeShowObj(SShowObj *pShow) '
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:104,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:110,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:134,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:116,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:140,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:148,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:58,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:68,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:60,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:66,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:70,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:72,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:74,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:76,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:78,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:80,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:114,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:138,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:120,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:128,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:144,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:82,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:151,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:118,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:126,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:142,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:108,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:124,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:132,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:90,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:84,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:88,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:92,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:94,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:98,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:96,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:86,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:100,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:102,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:106,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:122,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:130,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:146,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:112,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:136,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 178
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 155
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 155
    functionName: convertToRetrieveType
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - mError
    - strncasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t convertToRetrieveType(char *name, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:218,1
    - Dst: taosCacheRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pShow
    - forceRemove
    argTypes:
    - SShowObj*
    - bool
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: mndReleaseShowObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosCacheRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndReleaseShowObj(SShowObj *pShow, bool forceRemove) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pShow
    argTypes:
    - SShowObj*
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: mndCheckRetrieveFinished
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCheckRetrieveFinished(SShowObj *pShow) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:160,1
    - Dst: convertToRetrieveType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:169,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:169,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:161,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:170,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:171,1
    - Dst: taosCachePut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:174,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:177,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:177,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:181,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pMnode
    - pReq
    argTypes:
    - SMnode*
    - SRetrieveTableReq*
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: mndCreateShowObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - convertToRetrieveType
    - terrstr
    - mError
    - taosCachePut
    - mTrace
    - tstrncpy
    - atomic_add_fetch_64
    - memcpy
    - tListLen
    linkageType: ''
    returnType: SShowObj*
    signature: 'static SShowObj *mndCreateShowObj(SMnode *pMnode, SRetrieveTableReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: mndCleanupShow
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - taosCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupShow(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheAcquireByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:206,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:212,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - showId
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 214
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 214
    functionName: mndAcquireShowObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - taosCacheAcquireByKey
    - mTrace
    - mError
    linkageType: ''
    returnType: SShowObj*
    signature: 'static SShowObj *mndAcquireShowObj(SMnode *pMnode, int64_t showId) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:244,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:246,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:246,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:249,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:249,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:258,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:300,1
    - Dst: mndCheckRetrieveFinished
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:325,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:348,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:326,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:364,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:393,1
    - Dst: mndReleaseShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:396,1
    - Dst: blockEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:371,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:348,1
    - Dst: htobe64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:353,1
    - Dst: mndReleaseShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:333,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:236,1
    - Dst: tDeserializeSRetrieveTableReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:238,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:268,1
    - Dst: mndCreateShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:254,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:281,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:281,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:285,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:287,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:323,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:332,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:386,1
    - Dst: blockGetEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:342,1
    - Dst: mndCheckRetrieveFinished
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:335,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:359,1
    - Dst: mndReleaseShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:390,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:240,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:257,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:250,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:289,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:297,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:298,1
    - Dst: createDataBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:309,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:320,1
    - Dst: blockDataAppendColInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:320,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:323,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:346,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:379,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:334,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:339,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:399,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:238,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:244,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:267,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:267,1
    - Dst: mndAcquireShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:264,1
    - Dst: mndReleaseShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:279,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:282,1
    - Dst: mndCheckShowPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:293,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:294,1
    - Dst: htons
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:365,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:373,1
    - Dst: mndReleaseShowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:387,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:389,1
    - Dst: blockDataDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c:397,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 157
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 402
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 402
    functionName: mndProcessRetrieveSysTableReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached:
    - blockEncode
    - mDebug
    - mndCheckRetrieveFinished
    - mndAcquireShowObj
    - htons
    - tDeserializeSRetrieveTableReq
    - TAOS_CHECK_RETURN
    - rpcFreeCont
    - memcpy
    - htobe64
    - htonl
    - mndCreateShowObj
    - blockDataEnsureCapacity
    - mError
    - taosHashGet
    - blockDataDestroy
    - mndReleaseShowObj
    - createDataBlock
    - rpcMallocCont
    - blockDataAppendColInfo
    - mndCheckShowPrivilege
    - strcmp
    - blockGetEncodeSize
    - tstrerror
    - strlen
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessRetrieveSysTableReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pMnode
    - showType
    - fp
    argTypes:
    - SMnode*
    - EShowType
    - ShowRetrieveFp
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: mndAddShowRetrieveHandle
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndAddShowRetrieveHandle(SMnode *pMnode, EShowType showType,
      ShowRetrieveFp fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pMnode
    - showType
    - fp
    argTypes:
    - SMnode*
    - EShowType
    - ShowFreeIterFp
    constantsTouched: []
    func_position:
      end: 419
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 419
    functionName: mndAddShowFreeIterHandle
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndShow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndAddShowFreeIterHandle(SMnode *pMnode, EShowType showType,
      ShowFreeIterFp fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pStream
    argTypes:
    - SSdb*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: mndStreamActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStreamActionInsert(SSdb *pSdb, SStreamObj *pStream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pWrapper
    argTypes:
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: hasDestPrimaryKey
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool hasDestPrimaryKey(SSchemaWrapper *pWrapper) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:861,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:862,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:864,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:863,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:866,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:867,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:869,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:870,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 874
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 874
    functionName: mndProcessCheckStreamStatusReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - tstrncpy
    - sdbFetch
    - taosWUnLockLatch
    - taosWLockLatch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCheckStreamStatusReq(SRpcMsg *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1184,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1188,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1196,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1187,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1190,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1199,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1200,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1201,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1216,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1220,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1226,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 2
    argNames:
    - pMnode
    - lock
    argTypes:
    - SMnode*
    - bool
    constantsTouched: []
    func_position:
      end: 1228
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1228
    functionName: mndStreamGenChkptId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - streamMutexLock
    - taosHashGet
    - mDebug
    - sdbFetch
    - TMAX
    - taosArrayGetSize
    - sdbRelease
    - streamMutexUnlock
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndStreamGenChkptId(SMnode *pMnode, bool lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1398,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1403,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1412,1
    - Dst: getStreamTaskLastReadyState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1400,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - now
    - pStream
    argTypes:
    - int64_t
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 1414
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1414
    functionName: isStreamReadyHelp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - getStreamTaskLastReadyState
    - mInfo
    - streamMutexUnlock
    linkageType: ''
    returnType: bool
    signature: 'static bool isStreamReadyHelp(int64_t now, SStreamObj *pStream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2544,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2555,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2549,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2556
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2556
    functionName: mndProcessStatusCheck
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - rpcMallocCont
    - sdbGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStatusCheck(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2953,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2958,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2956,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pInfo
    - msgSize
    - vgId
    - code
    argTypes:
    - SRpcHandleInfo*
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2961
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2961
    functionName: doSendQuickRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - htonl
    - tmsgSendRsp
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'static void doSendQuickRsp(SRpcHandleInfo *pInfo, int32_t msgSize,
      int32_t vgId, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3216
    functionName: mndStreamResetInitTaskListLoadFlag
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: void
    signature: 'void mndStreamResetInitTaskListLoadFlag() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:108,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:110,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:111,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:109,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:117,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:112,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:113,1
    - Dst: mndInitExecInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:146,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:156,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:139,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:151,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:120,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:119,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:118,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:122,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:123,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:124,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:125,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:142,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:143,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:144,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:98,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:102,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:100,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:101,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:99,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:104,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:105,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:106,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:107,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:138,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:126,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:127,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:128,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:129,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:130,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:131,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:132,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:133,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:135,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:136,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:141,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 48
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 158
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 158
    functionName: mndInitStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    - mndAddShowFreeIterHandle
    - sdbSetTable
    - mndInitExecInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitStream(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:238,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:239,1
    - Dst: tFreeStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:240,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSdb
    - pStream
    argTypes:
    - SSdb*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: mndStreamActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosWLockLatch
    - taosWUnLockLatch
    - tFreeStreamObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStreamActionDelete(SSdb *pSdb, SStreamObj *pStream) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:343,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:356,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:376,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:377,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:411,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:420,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:446,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:468,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:496,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:529,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:501,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:382,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:384,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:454,1
    - Dst: hasDestPrimaryKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:482,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:485,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:489,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:491,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:493,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:507,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:492,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:345,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:344,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:359,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:361,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:372,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:394,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:402,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:442,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:461,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:525,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:530,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:356,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:359,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:361,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:389,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:390,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:397,1
    - Dst: createSchemaByFields
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:416,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:423,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:490,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:516,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 152
    argCount: 3
    argNames:
    - pMnode
    - pObj
    - pCreate
    argTypes:
    - SMnode*
    - SStreamObj*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 532
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 532
    functionName: mndBuildStreamObjFromCreateReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - hasDestPrimaryKey
    - taosMemoryFree
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosGetTimestampMs
    - createSchemaByFields
    - mndReleaseDb
    - nodesNodeToString
    - memcpy
    - tListLen
    - taosArrayGet
    - qDestroyQueryPlan
    - mndAcquireDb
    - mError
    - nodesDestroyNode
    - tstrncpy
    - memset
    - mInfo
    - mndGenerateUid
    - snprintf
    - strchr
    - tstrerror
    - strlen
    - nodesStringToNode
    - qCreateQueryPlan
    - mndAcquireDbByStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStreamObjFromCreateReq(SMnode *pMnode, SStreamObj
      *pObj, SCMCreateStreamReq *pCreate) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:882,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:882,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:889,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:882,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:891,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:893,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:893,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:897,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:899,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:899,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:901,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:903,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:900,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 906
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 906
    functionName: mndProcessFailedStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireStream
    - mError
    - mndReleaseStream
    - tstrncpy
    - tstrerror
    - POINTER_SHIFT
    - taosWUnLockLatch
    - memcpy
    - TMIN
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessFailedStreamReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1256,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1258,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1264,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1270,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1302,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1241,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1252,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1268,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1280,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1274,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1271,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1302,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1244,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1248,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1243,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1262,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1294,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1296,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1300,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1308,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1234,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1289,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1276,1
    - Dst: mndStreamSetCheckpointAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1277,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 5
    argNames:
    - pMnode
    - pStream
    - checkpointId
    - mndTrigger
    - lock
    argTypes:
    - SMnode*
    - SStreamObj*
    - int64_t
    - int8_t
    - bool
    constantsTouched: []
    func_position:
      end: 1310
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1310
    functionName: mndProcessStreamCheckpointTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - doCreateTrans
    - taosGetTimestampMs
    - mWarn
    - taosArrayGetP
    - mError
    - mndStreamRegisterTrans
    - tstrerror
    - mDebug
    - mndStreamTransConflictCheck
    - mndStreamSetCheckpointAction
    - taosWUnLockLatch
    - mndPersistTransLog
    - mndTransDrop
    - taosArrayGetSize
    - taosWLockLatch
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStreamCheckpointTrans(SMnode *pMnode, SStreamObj
      *pStream, int64_t checkpointId, int8_t mndTrigger, bool lock) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2359,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2364,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2368,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2365,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2364,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pDBMap
    - pSdb
    argTypes:
    - SHashObj*
    - SSdb*
    constantsTouched: []
    func_position:
      end: 2372
      start: 2354
    functionDepth: 0
    functionLinenumber: 2354
    functionLinenumberEnd: 2372
    functionName: addAllDbsIntoHashmap
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosHashGetSize
    - mDebug
    - strlen
    - sdbFetch
    - taosHashPut
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void addAllDbsIntoHashmap(SHashObj *pDBMap, SSdb *pSdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2964,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2967,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2972,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2973,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2975,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pList
    - pInfo
    argTypes:
    - SArray*
    - SCheckpointConsensusInfo*
    constantsTouched: []
    func_position:
      end: 2982
      start: 2963
    functionDepth: 0
    functionLinenumber: 2963
    functionLinenumberEnd: 2982
    functionName: doCleanReqList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayRemove
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCleanReqList(SArray *pList, SCheckpointConsensusInfo
      *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3190,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3202
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3202
    functionName: mndProcessDropStreamReqFromMNode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndProcessDropStreamReq
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropStreamReqFromMNode(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1392
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1392
    functionName: streamWaitComparFn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t streamWaitComparFn(const void *p1, const void *p2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3175,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3187
      start: 3174
    functionDepth: 0
    functionLinenumber: 3174
    functionLinenumberEnd: 3187
    functionName: mndProcessCreateStreamReqFromMNode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndProcessCreateStreamReq
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateStreamReqFromMNode(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:161,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:162,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:165,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:163,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:164,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:166,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:167,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:168,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:169,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: mndCleanupStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mDebug
    - taosThreadMutexDestroy
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupStream(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: mndStreamSeqActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndStreamSeqActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndPersistStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:627,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:631,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pTrans
    - pStream
    argTypes:
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 632
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 632
    functionName: mndPersistStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndPersistTransLog
    - mndPersistStreamTasks
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPersistStream(STrans *pTrans, SStreamObj *pStream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:792,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:793,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:799,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:796,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:795,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:799,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:800,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:801,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:802,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:803,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:804,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:808,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - createReq
    - pStream
    - pTask
    argTypes:
    - SCMCreateStreamReq*
    - SStreamObj*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 811
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 811
    functionName: addStreamTaskNotifyInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndGetDbStr
    - mError
    - tstrerror
    - taosArrayDup
    - TSDB_CHECK_NULL
    - taosStrdup
    - tCloneSSchemaWrapper
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addStreamTaskNotifyInfo(const SCMCreateStreamReq *createReq,
      const SStreamObj *pStream, SStreamTask *pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1760
      start: 1757
    functionDepth: 0
    functionLinenumber: 1757
    functionLinenumberEnd: 1760
    functionName: mndCancelGetNextStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextStream(SMnode *pMnode, void *pIter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMResumeStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1986,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1998,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2003,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2027,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2036,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2046,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2052,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2055,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2061,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1990,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1997,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2026,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2024,1
    - Dst: mndStreamSetResumeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2032,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2044,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2051,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2054,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2060,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2041,1
    - Dst: grantCheckExpire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1981,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1994,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2009,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2020,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2035,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2043,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2047,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2056,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1993,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1987,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2002,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2004,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2011,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2019,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2019,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2034,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2064
      start: 1976
    functionDepth: 0
    functionLinenumber: 1976
    functionLinenumberEnd: 2064
    functionName: mndProcessResumeStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - doCreateTrans
    - mndAcquireStream
    - tDeserializeSMResumeStreamReq
    - mndCheckDbPrivilegeByName
    - mError
    - mndStreamSetResumeAction
    - mndStreamRegisterTrans
    - tstrerror
    - mndPersistTransLog
    - mndStreamTransConflictCheck
    - TAOS_RETURN
    - taosWUnLockLatch
    - mndTransDrop
    - taosWLockLatch
    - grantCheckExpire
    - mndTransPrepare
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessResumeStreamReq(SRpcMsg *pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2418,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2424,1
    - Dst: extractStreamNodeList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2427,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2428,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2445,1
    - Dst: mndProcessVgroupChange
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2464,1
    - Dst: refreshNodeListFromExistedStreams
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2497,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2504,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2507,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2518,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2518,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2431,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2433,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2439,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2449,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2458,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2467,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2480,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2485,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2487,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2413,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2426,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2443,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2457,1
    - Dst: doProcessNodeCheckHelp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2450,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2463,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2471,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2498,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2501,1
    - Dst: mndDestroyVgroupChangeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2513,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2495,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2420,1
    - Dst: mndTakeVgroupSnapshot
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2437,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2444,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2451,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2461,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2469,1
    - Dst: mndClearConsensusCheckpointId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2472,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2474,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2475,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2481,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2490,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2507,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2516,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2519,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2522
      start: 2408
    functionDepth: 0
    functionLinenumber: 2408
    functionLinenumberEnd: 2522
    functionName: mndProcessNodeCheckReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - refreshNodeListFromExistedStreams
    - mDebug
    - taosArrayGetSize
    - taosArrayInit
    - streamMutexUnlock
    - extractStreamNodeList
    - taosGetTimestampMs
    - taosArrayDestroy
    - doProcessNodeCheckHelp
    - atomic_val_compare_exchange_32
    - mndProcessVgroupChange
    - taosArrayGet
    - mError
    - mndClearConsensusCheckpointId
    - mndTransDrop
    - mndTransPrepare
    - mWarn
    - mndTakeVgroupSnapshot
    - mndDestroyVgroupChangeInfo
    - tstrerror
    - atomic_store_32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessNodeCheckReq(SRpcMsg *pMsg) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2840,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2858,1
    - Dst: mndGetNumOfStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2879,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2874,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2868,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2906,1
    - Dst: doSendQuickRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2911,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2843,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2849,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2884,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2889,1
    - Dst: doAddReportStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2895,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2898,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2900,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2844,1
    - Dst: mndInitStreamExecInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2850,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2851,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2853,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2871,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2887,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2909,1
    - Dst: tDecodeStreamTaskChkptReport
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2842,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2847,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2870,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2863,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2882,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2861,1
    - Dst: doAddReportStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2886,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2892,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2913
      start: 2835
    functionDepth: 0
    functionLinenumber: 2835
    functionLinenumberEnd: 2913
    functionName: mndProcessCheckpointReport
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - streamMutexLock
    - doAddReportStreamTask
    - mndInitStreamExecInfo
    - mDebug
    - doSendQuickRsp
    - taosArrayGetSize
    - taosArrayInit
    - streamMutexUnlock
    - mndGetNumOfStreamTasks
    - taosHashPut
    - mError
    - taosHashGet
    - mInfo
    - mWarn
    - tDecoderInit
    - tDecodeStreamTaskChkptReport
    - mndReleaseStream
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessCheckpointReport(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:187,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:184,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:194,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:202,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:205,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:218,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:219,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:207,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:224,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:183,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:191,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:195,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:199,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:214,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:197,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:200,1
    - Dst: tDecodeSStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:206,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:192,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:218,1
    - Dst: tFreeStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:210,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 230
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 230
    functionName: mndStreamActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - tDecodeSStreamObj
    - SDB_GET_BINARY
    - TSDB_CHECK_CODE
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - tDecoderInit
    - mTrace
    - mError
    - tstrerror
    - TSDB_CHECK_NULL
    - tFreeStreamObj
    - taosMemoryFreeClear
    - sdbGetRowObj
    - tDecoderClear
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndStreamActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pSdb
    - pStream
    argTypes:
    - SSdb*
    - SStreamSeq*
    constantsTouched: []
    func_position:
      end: 284
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 284
    functionName: mndStreamSeqActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSeqActionInsert(SSdb *pSdb, SStreamSeq *pStream) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:649,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:650,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:656,1
    - Dst: extractDecimalTypeInfoFromBytes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:659,1
    - Dst: mndBuildStbFromReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:723,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:746,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:747,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:666,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:671,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:670,1
    - Dst: mndGetNumOfStbs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:712,1
    - Dst: mndFreeStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:735,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:737,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:641,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:644,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:652,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:660,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:683,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:691,1
    - Dst: mndCheckCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:695,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:734,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:736,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:743,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:742,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:645,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:657,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:679,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:667,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:680,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:673,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:699,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:705,1
    - Dst: mndAddStbToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:729,1
    - Dst: mndFreeStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:730,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:744,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:738,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 88
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pStream
    - user
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    - char*
    constantsTouched: []
    func_position:
      end: 749
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 749
    functionName: mndCreateStbForStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - mndReleaseStb
    - mndCheckCreateStbReq
    - mDebug
    - createDefaultColCmprByType
    - IS_DECIMAL_TYPE
    - TSDB_CHECK_NULL
    - mndGetNumOfStbs
    - extractDecimalTypeInfoFromBytes
    - mndAddStbToTrans
    - mndReleaseDb
    - decimalCalcTypeMod
    - mndFreeStb
    - mndAcquireStb
    - taosArrayGet
    - mndBuildStbFromReq
    - tstrncpy
    - tFreeSMCreateStbReq
    - tstrerror
    - mndAcquireDbByStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateStbForStream(SMnode *pMnode, STrans *pTrans,
      const SStreamObj *pStream, const char *user) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:820,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:821,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:823,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:827,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:830,1
    - Dst: addStreamTaskNotifyInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:832,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:832,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:833,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:838,1
    - Dst: addStreamTaskNotifyInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:843,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:844,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:851,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:851,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:843,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:840,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:841,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - createReq
    - pStream
    argTypes:
    - SCMCreateStreamReq*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 854
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 854
    functionName: addStreamNotifyInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - TSDB_CHECK_CODE
    - mError
    - tstrerror
    - TSDB_CHECK_NULL
    - addStreamTaskNotifyInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addStreamNotifyInfo(SCMCreateStreamReq *createReq,
      SStreamObj *pStream) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndInitStreamExecInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1770,1
    - Dst: mndGetNumOfStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1782,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1812,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1805,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1774,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1780,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1786,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1797,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1794,1
    - Dst: setTaskAttrInResBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1818,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1826,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1771,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1784,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1787,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1804,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1810,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1802,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1769,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1788,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1814,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1806,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1827,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1829,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rowsCapacity
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1834
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1834
    functionName: mndRetrieveStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndReleaseDb
    - streamMutexLock
    - blockDataEnsureCapacity
    - mError
    - taosRUnLockLatch
    - mndInitStreamExecInfo
    - mndAcquireDb
    - destroyStreamTaskIter
    - taosRLockLatch
    - mndGetNumOfStreamTasks
    - sdbFetch
    - createStreamTaskIter
    - streamTaskIterGetCurrent
    - setTaskAttrInResBlock
    - streamTaskIterNextTask
    - sdbRelease
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveStreamTask(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rowsCapacity) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: grantCheckExpire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2071,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2082,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2077,1
    - Dst: tDeserializeSMResetStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2076,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2080,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2085,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2088,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2089,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2094
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2094
    functionName: mndProcessResetStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireStream
    - mError
    - mDebug
    - TAOS_RETURN
    - tDeserializeSMResetStreamReq
    - grantCheckExpire
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessResetStreamReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2527,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2538,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2532,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2539
      start: 2524
    functionDepth: 0
    functionLinenumber: 2524
    functionLinenumberEnd: 2539
    functionName: mndProcessNodeCheck
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - rpcMallocCont
    - sdbGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessNodeCheck(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2574,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2581,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2584,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2606,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2608,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2611,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2608,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2589,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2594,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2604,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2560,1
    - Dst: streamTaskStatusInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2577,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2579,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2582,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2586,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2595,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2568,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2562,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2566,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2610,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2617,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 45
    argCount: 2
    argNames:
    - pStream
    - pExecNode
    argTypes:
    - SStreamObj*
    - SStreamExecInfo*
    constantsTouched: []
    func_position:
      end: 2618
      start: 2558
    functionDepth: 0
    functionLinenumber: 2558
    functionLinenumberEnd: 2618
    functionName: saveTaskAndNodeInfoIntoBuf
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - epsetAssign
    - taosArrayGet
    - destroyStreamTaskIter
    - mError
    - taosHashGet
    - createStreamTaskIter
    - taosArrayPush
    - streamTaskStatusInit
    - taosHashPut
    - taosArrayGetSize
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: void
    signature: 'void saveTaskAndNodeInfoIntoBuf(SStreamObj *pStream, SStreamExecInfo
      *pExecNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2921,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2922,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2932,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - streamId
    - numOfTasks
    - pExistedTasks
    - pAllSame
    argTypes:
    - int64_t
    - int32_t
    - int32_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 2949
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2949
    functionName: getConsensusId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosHashGet
    - mDebug
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getConsensusId(int64_t streamId, int32_t numOfTasks,
      int32_t *pExistedTasks, bool *pAllSame) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: addAllStreamTasksIntoBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - pExecInfo
    argTypes:
    - SMnode*
    - SStreamExecInfo*
    constantsTouched: []
    func_position:
      end: 3211
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3211
    functionName: mndInitStreamExecInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - addAllStreamTasksIntoBuf
    linkageType: ''
    returnType: void
    signature: 'void mndInitStreamExecInfo(SMnode *pMnode, SStreamExecInfo *pExecInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - pCreate
    argTypes:
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: mndCheckCreateStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckCreateStreamReq(SCMCreateStreamReq *pCreate) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1347,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1356,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1358,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1349,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1348,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1364,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1365,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1375,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pTaskList
    - streamId
    argTypes:
    - SArray*
    - int64_t
    constantsTouched: []
    func_position:
      end: 1377
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1377
    functionName: getStreamTaskLastReadyState
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - taosHashGet
    - mDebug
    - streamTaskGetStatusStr
    - taosArrayGetSize
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t getStreamTaskLastReadyState(SArray *pTaskList, int64_t streamId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1699,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1708,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1704,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1705,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1706,1
    - Dst: mndStreamGetRelTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1711,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1713,1
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1714,1
    - Dst: removeStreamTasksInBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1718,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1720,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1723,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1729,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1722,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1733
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1733
    functionName: mndDropStreamByDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndStreamGetRelTrans
    - mError
    - mDebug
    - mndPersistTransLog
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - removeStreamTasksInBuf
    - sdbRelease
    - mndKillTransImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropStreamByDb(SMnode *pMnode, STrans *pTrans, SDbObj *pDb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1839
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1839
    functionName: mndCancelGetNextStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextStreamTask(SMnode *pMnode, void *pIter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2621,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2633,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2623,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2634,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2636,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2638,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pList
    - taskId
    - uid
    - numOfTotal
    argTypes:
    - SArray*
    - int32_t
    - int64_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2641
      start: 2620
    functionDepth: 0
    functionLinenumber: 2620
    functionLinenumberEnd: 2641
    functionName: doAddTaskId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mError
    - mDebug
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doAddTaskId(SArray *pList, int32_t taskId, int64_t uid,
      int32_t numOfTotal) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2751,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2758,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2753,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2765,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pReport
    - reportChkptId
    argTypes:
    - SCheckpointReport*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2779
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2779
    functionName: validateChkptReport
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mError
    - taosHashGet
    linkageType: ''
    returnType: bool
    signature: 'static bool validateChkptReport(const SCheckpointReport *pReport,
      int64_t reportChkptId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3254,1
    - Dst: saveTaskAndNodeInfoIntoBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3259,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3260,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - pExecInfo
    argTypes:
    - SMnode*
    - SStreamExecInfo*
    constantsTouched: []
    func_position:
      end: 3262
      start: 3248
    functionDepth: 0
    functionLinenumber: 3248
    functionLinenumberEnd: 3262
    functionName: addAllStreamTasksIntoBuf
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - saveTaskAndNodeInfoIntoBuf
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void addAllStreamTasksIntoBuf(SMnode *pMnode, SStreamExecInfo *pExecInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:297,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:305,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:298,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pFields
    - pWrapper
    argTypes:
    - SArray*
    - SSchemaWrapper*
    constantsTouched: []
    func_position:
      end: 324
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 324
    functionName: createSchemaByFields
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayGetSize
    - taosArrayGet
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createSchemaByFields(const SArray *pFields, SSchemaWrapper
      *pWrapper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1743,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1750,1
    - Dst: setStreamAttrInResBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1755
      start: 1735
    functionDepth: 0
    functionLinenumber: 1735
    functionLinenumberEnd: 1755
    functionName: mndRetrieveStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbFetch
    - setStreamAttrInResBlock
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveStream(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1848,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1854,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1862,1
    - Dst: mndStreamNodeIsUpdated
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1876,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1878,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1889,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1912,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1921,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1930,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1964,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1965,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1962,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1971,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1858,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1864,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1870,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1879,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1873,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1915,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1920,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1927,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1929,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1944,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1964,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1936,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1944,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1857,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1851,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1865,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1872,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1914,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1922,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1937,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1946,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1952,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1954,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1960,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1951,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1934,1
    - Dst: tDeserializeSMPauseStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1847,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1880,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1888,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1894,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1904,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1905,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1916,1
    - Dst: mndStreamSetPauseAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1942,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1956,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1966,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1970,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1955,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1945,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 104
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1974
      start: 1841
    functionDepth: 0
    functionLinenumber: 1841
    functionLinenumberEnd: 1974
    functionName: mndProcessPauseStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - mndCheckDbPrivilegeByName
    - taosWUnLockLatch
    - taosArrayGetSize
    - streamMutexUnlock
    - mndStreamTransConflictCheck
    - mndStreamNodeIsUpdated
    - taosArrayGet
    - mError
    - taosHashGet
    - tDeserializeSMPauseStreamReq
    - mndStreamRegisterTrans
    - mndPersistTransLog
    - mndTransDrop
    - mndTransPrepare
    - mInfo
    - doCreateTrans
    - mndAcquireStream
    - tstrerror
    - TAOS_RETURN
    - mndStreamSetPauseAction
    - streamTaskGetStatusStr
    - taosWLockLatch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessPauseStreamReq(SRpcMsg *pReq) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2651,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2663,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2665,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2673,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2690,1
    - Dst: doAddTaskId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2687,1
    - Dst: doAddTaskId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2694,1
    - Dst: mndStreamGenChkptId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2699,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2717,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2726,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2652,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2660,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2671,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2674,1
    - Dst: mndGetNumOfStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2682,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2697,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2700,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2733,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2739,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2741,1
    - Dst: tDecodeStreamTaskCheckpointReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2650,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2655,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2684,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2688,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2692,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2721,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2729,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2648,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2657,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2686,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2677,1
    - Dst: mndProcessStreamCheckpointTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2703,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2705,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2706,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2715,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2717,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2720,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2746
      start: 2643
    functionDepth: 0
    functionLinenumber: 2643
    functionLinenumberEnd: 2746
    functionName: mndProcessStreamReqCheckpoint
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - streamMutexLock
    - mDebug
    - mndStreamGenChkptId
    - taosArrayGetSize
    - taosArrayInit
    - streamMutexUnlock
    - taosHashRemove
    - mndGetNumOfStreamTasks
    - taosHashPut
    - htonl
    - tmsgSendRsp
    - tDecodeStreamTaskCheckpointReq
    - doAddTaskId
    - mError
    - taosHashGet
    - mndProcessStreamCheckpointTrans
    - rpcMallocCont
    - mInfo
    - mWarn
    - tDecoderInit
    - mndReleaseStream
    - taosHashGetSize
    - tstrerror
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessStreamReqCheckpoint(SRpcMsg *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: validateChkptReport
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2782,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2788,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2798,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2795,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2787,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2808,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2825,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2827,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2829,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2830,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - pList
    - reportedChkptId
    - pReport
    argTypes:
    - SArray*
    - int64_t
    - SCheckpointReport*
    constantsTouched: []
    func_position:
      end: 2833
      start: 2781
    functionDepth: 0
    functionLinenumber: 2781
    functionLinenumberEnd: 2833
    functionName: doAddReportStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - validateChkptReport
    - mInfo
    - mWarn
    - taosArrayGet
    - mError
    - mDebug
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void doAddReportStreamTask(SArray *pList, int64_t reportedChkptId,
      const SCheckpointReport *pReport) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3224,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3235,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3226,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3233,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3240,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - pMnode
    - role
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3246
      start: 3218
    functionDepth: 0
    functionLinenumber: 3218
    functionLinenumberEnd: 3246
    functionName: mndUpdateStreamExecInfoRole
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: void
    signature: 'void mndUpdateStreamExecInfoRole(SMnode *pMnode, int32_t role) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3266,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3280,1
    - Dst: mndStreamSetUpdateChkptAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3278,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3272,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3274,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3284,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3286,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3290,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3292,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3292,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3297,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3293,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 3
    argNames:
    - pMnode
    - pStream
    - pChkptInfoList
    argTypes:
    - SMnode*
    - SStreamObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3299
      start: 3264
    functionDepth: 0
    functionLinenumber: 3264
    functionLinenumberEnd: 3299
    functionName: mndCreateStreamChkptInfoUpdateTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - doCreateTrans
    - mndStreamSetUpdateChkptAction
    - mError
    - mndStreamRegisterTrans
    - tstrerror
    - mndPersistTransLog
    - mndTransDrop
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCreateStreamChkptInfoUpdateTrans(SMnode *pMnode, SStreamObj
      *pStream, SArray *pChkptInfoList) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3317,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3324,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3343,1
    - Dst: mndStreamSetDropActionFromList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3353,1
    - Dst: tDestroyDropOrphanTaskMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3370,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3363,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3329,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3359,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3365,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3371,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3321,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3341,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3354,1
    - Dst: tDeserializeDropOrphanTaskMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3310,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3343,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3347,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3374,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3301
    functionDepth: 0
    functionLinenumber: 3301
    functionLinenumberEnd: 3377
    functionName: mndProcessDropOrphanTaskReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - doCreateTrans
    - taosArrayGet
    - mError
    - tDestroyDropOrphanTaskMsg
    - tDeserializeDropOrphanTaskMsg
    - mDebug
    - tstrerror
    - mndStreamRegisterTrans
    - mndStreamTransConflictCheck
    - mndStreamSetDropActionFromList
    - mndPersistTransLog
    - mndTransDrop
    - taosArrayGetSize
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropOrphanTaskReq(SRpcMsg *pReq) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2102,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2105,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2138,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2150,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2138,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2163,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2164,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2171,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2172,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2224,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2252,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2228,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2237,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2246,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2224,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2260,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2217,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2247,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2124,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2125,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2132,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2141,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2153,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2171,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2180,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2202,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2202,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2213,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2248,1
    - Dst: mndStreamSetUpdateEpsetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2242,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2216,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2233,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2257,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2123,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2139,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2149,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2139,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2158,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2162,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2173,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2206,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2225,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2218,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2225,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2105,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2119,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2120,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2123,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2142,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2152,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2154,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2160,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2174,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2179,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2227,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2239,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2261,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2268,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2254,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 115
    argCount: 5
    argNames:
    - pMnode
    - pChangeInfo
    - includeAllNodes
    - pUpdateTrans
    - pStreamList
    argTypes:
    - SMnode*
    - SVgroupChangeInfo*
    - bool
    - STrans**
    - SArray*
    constantsTouched: []
    func_position:
      end: 2270
      start: 2096
    functionDepth: 0
    functionLinenumber: 2096
    functionLinenumberEnd: 2270
    functionName: mndProcessVgroupChange
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mDebug
    - sdbFetch
    - taosWUnLockLatch
    - taosArrayGetSize
    - mndStreamSetUpdateEpsetAction
    - streamTaskIterGetCurrent
    - taosArrayInit
    - taosArrayDestroy
    - destroyStreamTaskIter
    - mndStreamTransConflictCheck
    - sdbCancelFetch
    - taosArrayPush
    - mError
    - taosHashGet
    - mndStreamRegisterTrans
    - mndPersistTransLog
    - streamTaskIterNextTask
    - mInfo
    - doCreateTrans
    - tstrerror
    - strlen
    - createStreamTaskIter
    - taosWLockLatch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessVgroupChange(SMnode *pMnode, SVgroupChangeInfo
      *pChangeInfo, bool includeAllNodes, STrans **pUpdateTrans, SArray* pStreamList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:246,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:263,1
    - Dst: atomic_exchange_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:247,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pSdb
    - pOldStream
    - pNewStream
    argTypes:
    - SSdb*
    - SStreamObj*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 265
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 265
    functionName: mndStreamActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mTrace
    - atomic_exchange_32
    - taosWLockLatch
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStreamActionUpdate(SSdb *pSdb, SStreamObj *pOldStream,
      SStreamObj *pNewStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pStream
    argTypes:
    - SMnode*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: mndReleaseStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseStream(SMnode *pMnode, SStreamObj *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pSdb
    - pStream
    argTypes:
    - SSdb*
    - SStreamSeq*
    constantsTouched: []
    func_position:
      end: 285
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 285
    functionName: mndStreamSeqActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSeqActionDelete(SSdb *pSdb, SStreamSeq *pStream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:536,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:550,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:544,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:542,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:552,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:557,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:559,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:560,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:561,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:562,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:565,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:565,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:570,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - pTrans
    - pTask
    argTypes:
    - STrans*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 577
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 577
    functionName: mndPersistTaskDeployReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - taosMemoryCalloc
    - mError
    - setTransAction
    - tEncodeStreamTask
    - tstrerror
    - POINTER_SHIFT
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPersistTaskDeployReq(STrans *pTrans, SStreamTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:758,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:773,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:765,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:768,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:767,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:775,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:776,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:779,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pMnode
    - pStreamObj
    argTypes:
    - SMnode*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 783
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 783
    functionName: doStreamCheck
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - mError
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doStreamCheck(SMnode *pMnode, SStreamObj *pStreamObj) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:928,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:967,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:970,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:957,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:971,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:993,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:997,1
    - Dst: doStreamCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1001,1
    - Dst: mndScheduleStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1006,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1008,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1047,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1079,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1016,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1054,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1008,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1065,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1070,1
    - Dst: tDeserializeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:920,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:930,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:930,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:939,1
    - Dst: mndBuildStreamObjFromCreateReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:982,1
    - Dst: addStreamNotifyInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1014,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1017,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1023,1
    - Dst: saveTaskAndNodeInfoIntoBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1025,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1037,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1074,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1029,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1086,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1073,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1052,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1059,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1079,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1064,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1074,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:921,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:934,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:940,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:956,1
    - Dst: mndCheckForSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:975,1
    - Dst: isNodeUpdateTransActive
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:961,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:962,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:951,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:976,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1016,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1026,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1041,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1085,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1081,1
    - Dst: mndCheckCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:929,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:938,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:983,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:983,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1002,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1009,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1024,1
    - Dst: mndCreateStbForStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1036,1
    - Dst: mndPersistStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1045,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1047,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1054,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1060,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1065,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1091,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1060,1
    - Dst: tFreeStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1088,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1073,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1037,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1087,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 169
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1095
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 1095
    functionName: mndProcessCreateStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - mndCheckDbPrivilegeByName
    - mDebug
    - TSDB_CHECK_NULL
    - doStreamCheck
    - streamMutexUnlock
    - mndReleaseDb
    - isNodeUpdateTransActive
    - mndCheckForSnode
    - tDeserializeSCMCreateStreamReq
    - mndBuildStreamObjFromCreateReq
    - tListLen
    - TSDB_CHECK_CODE
    - mndAcquireDb
    - mError
    - mndScheduleStream
    - mndTransDrop
    - grantCheck
    - saveTaskAndNodeInfoIntoBuf
    - mndPersistStream
    - auditRecord
    - tFreeSCMCreateStreamReq
    - mndTransPrepare
    - taosMemoryFreeClear
    - mInfo
    - doCreateTrans
    - mndAcquireStream
    - snprintf
    - mndReleaseStream
    - tNameFromString
    - tstrerror
    - strlen
    - tFreeStreamObj
    - taosStrdup
    - mndCreateStbForStream
    - mndCheckCreateStreamReq
    - addStreamNotifyInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateStreamReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1316,1
    - Dst: refreshNodeListFromExistedStreams
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1314,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1316,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1321,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1322
      start: 1312
    functionDepth: 0
    functionLinenumber: 1312
    functionLinenumberEnd: 1322
    functionName: extractStreamNodeList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - tstrerror
    - mError
    - taosArrayGetSize
    - refreshNodeListFromExistedStreams
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractStreamNodeList(SMnode *pMnode) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1458,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1481,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1498,1
    - Dst: mndStreamGenChkptId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1517,1
    - Dst: mndProcessStreamCheckpointTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1528,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1492,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1502,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1425,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1433,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1437,1
    - Dst: mndStreamClearFinishedTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1445,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1459,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1468,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1479,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1482,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1487,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1506,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1529,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1540,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1500,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1540,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1433,1
    - Dst: mndCheckTaskAndNodeStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1439,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1440,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1447,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1455,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1449,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1465,1
    - Dst: isStreamReadyHelp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1472,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1474,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1535,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1439,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1450,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1463,1
    - Dst: killChkptAndResetStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1456,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1447,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1489,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1520,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1526,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1545,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1511,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1547
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1547
    functionName: mndProcessStreamCheckpoint
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - isStreamReadyHelp
    - mDebug
    - mndStreamGenChkptId
    - sdbFetch
    - taosArrayGetSize
    - taosArrayInit
    - taosGetTimestampMs
    - taosArrayDestroy
    - mndStreamClearFinishedTrans
    - mndCheckTaskAndNodeStatus
    - taosArrayPush
    - taosArraySort
    - taosArrayGet
    - mError
    - mndProcessStreamCheckpointTrans
    - tstrerror
    - killChkptAndResetStreamTask
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStreamCheckpoint(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pMnode
    - streamName
    - pStream
    argTypes:
    - SMnode*
    - char*
    - SStreamObj**
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: mndAcquireStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAcquireStream(SMnode *pMnode, char *streamName, SStreamObj
      **pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 282
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 282
    functionName: mndStreamSeqActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndStreamSeqActionEncode(SStreamObj *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pSdb
    - pOldStream
    - pNewStream
    argTypes:
    - SSdb*
    - SStreamSeq*
    - SStreamSeq*
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: mndStreamSeqActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSeqActionUpdate(SSdb *pSdb, SStreamSeq *pOldStream,
      SStreamSeq *pNewStream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:581,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:591,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:589,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:587,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:583,1
    - Dst: mndPersistTaskDeployReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:595,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:597,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:602,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:606,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:609,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:613,1
    - Dst: mndPersistTaskDeployReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:614,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:611,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 2
    argNames:
    - pTrans
    - pStream
    argTypes:
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 623
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 623
    functionName: mndPersistStreamTasks
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - destroyStreamTaskIter
    - mError
    - mndPersistTaskDeployReq
    - createStreamTaskIter
    - taosArrayGetSize
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPersistStreamTasks(STrans *pTrans, SStreamObj *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 785
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 785
    functionName: notifyAddrDup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void*
    signature: 'static void *notifyAddrDup(void *p) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMPauseStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1103,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1114,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1119,1
    - Dst: mndStreamNodeIsUpdated
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1131,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1134,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1150,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1159,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1163,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1167,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1107,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1113,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1133,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1149,1
    - Dst: mndStreamSetStopAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1155,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1172,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1165,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1125,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1135,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1158,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1165,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1166,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1171,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1110,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1118,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1120,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1127,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1142,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1142,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1139,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1157,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1175
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1175
    functionName: mndProcessStopStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndStreamNodeIsUpdated
    - doCreateTrans
    - mndAcquireStream
    - mndCheckDbPrivilegeByName
    - mError
    - mndStreamSetStopAction
    - tDeserializeSMPauseStreamReq
    - mndStreamRegisterTrans
    - tstrerror
    - mndStreamTransConflictCheck
    - TAOS_RETURN
    - mndTransDrop
    - mndTransPrepare
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStopStreamReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStreamNodeIsUpdated
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1326,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1331,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1333,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1332,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1334,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1341
    functionName: mndCheckTaskAndNodeStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndStreamNodeIsUpdated
    - streamMutexLock
    - mError
    - mDebug
    - taosArrayGetSize
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckTaskAndNodeStatus(SMnode *pMnode) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1555,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1567,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1571,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1572,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1585,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1589,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1598,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1601,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1624,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1633,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1652,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1658,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1688,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1658,1
    - Dst: mndStreamGetRelTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1666,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1678,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1681,1
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1669,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1558,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1556,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1566,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1578,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1588,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1594,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1606,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1607,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1612,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1620,1
    - Dst: mndStreamSetDropAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1638,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1662,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1643,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1653,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1631,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1679,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1668,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1642,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1561,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1573,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1605,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1614,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1615,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1622,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1622,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1625,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1630,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1640,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1659,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1640,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1630,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1634,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1672,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1623,1
    - Dst: removeStreamTasksInBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1675,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1563,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1568,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1582,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1592,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1586,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1593,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1641,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1682,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1632,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1644,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1656,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1661,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1648,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1650,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1628,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:1660,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1690
    functionName: mndProcessDropStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mndCheckDbPrivilegeByName
    - tFreeMDropStreamReq
    - mDebug
    - sdbFetch
    - tDeserializeSMDropStreamReq
    - mndKillTransImpl
    - sdbCancelFetch
    - mndStreamTransConflictCheck
    - mError
    - mndStreamRegisterTrans
    - mndPersistTransLog
    - mndTransDrop
    - mndStreamSetDropAction
    - removeStreamTasksInBuf
    - auditRecord
    - mndTransPrepare
    - mInfo
    - doCreateTrans
    - mndStreamGetRelTrans
    - mndAcquireStream
    - tNameFromString
    - tstrerror
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropStreamReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2278,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2280,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2298,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2310,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2318,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2320,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2311,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2332,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2345,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2286,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2297,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2302,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2313,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2323,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2340,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2340,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2291,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2280,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2317,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2342,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2350,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2294,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2296,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2304,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2330,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2342,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2348,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2350,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 2
    argNames:
    - pMnode
    - pNodeList
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2352
      start: 2272
    functionDepth: 0
    functionLinenumber: 2272
    functionLinenumberEnd: 2352
    functionName: refreshNodeListFromExistedStreams
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mDebug
    - sdbFetch
    - taosWUnLockLatch
    - taosArrayGetSize
    - streamTaskIterGetCurrent
    - taosHashInit
    - taosArrayClear
    - taosHashCleanup
    - epsetAssign
    - destroyStreamTaskIter
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - tListLen
    - mError
    - streamTaskIterNextTask
    - taosHashIterate
    - tstrerror
    - createStreamTaskIter
    - epsetToStr
    - taosWLockLatch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t refreshNodeListFromExistedStreams(SMnode *pMnode, SArray
      *pNodeList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: removeExpiredNodeEntryAndTaskInBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2376,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2384,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2378,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2378,1
    - Dst: mndFindChangedNodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2384,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2390,1
    - Dst: addAllDbsIntoHashmap
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2393,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2397,1
    - Dst: killAllCheckpointTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2399,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2401,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - pNodeSnapshot
    - pMnode
    - pChangeInfo
    - pUpdateAllVgroups
    argTypes:
    - SArray*
    - SMnode*
    - SVgroupChangeInfo*
    - bool*
    constantsTouched: []
    func_position:
      end: 2405
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2405
    functionName: doProcessNodeCheckHelp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndFindChangedNodeInfo
    - removeExpiredNodeEntryAndTaskInBuf
    - addAllDbsIntoHashmap
    - mDebug
    - tstrerror
    - killAllCheckpointTrans
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doProcessNodeCheckHelp(SArray *pNodeSnapshot, SMnode
      *pMnode, SVgroupChangeInfo *pChangeInfo, bool *pUpdateAllVgroups) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2986,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2993,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2998,1
    - Dst: mndTakeVgroupSnapshot
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3019,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3022,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3043,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3044,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3060,1
    - Dst: getConsensusId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3068,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3077,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3156,1
    - Dst: mndClearConsensusCheckpointId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3162,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3108,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3115,1
    - Dst: mndClearConsensusRspEntry
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3135,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3000,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3006,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3013,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3027,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3020,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3032,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3041,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3070,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3083,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3091,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3100,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3111,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3151,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3120,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3114,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:2998,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3007,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3008,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3016,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3026,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3028,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3012,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3038,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3046,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3048,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3127,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3138,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3168,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3058,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3167,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3004,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3011,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3034,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3071,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3085,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3106,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3109,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3132,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3147,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3165,1
    - Dst: mndCreateSetConsensusChkptIdTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3130,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3157,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3170,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3143,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c:3136,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 138
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3172
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 3172
    functionName: mndProcessConsensusInTmr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStream.c
    functionUses: []
    functionsReached:
    - getConsensusId
    - mndGetStreamObj
    - streamMutexLock
    - mDebug
    - taosArrayGetSize
    - taosArrayInit
    - taosHashCleanup
    - streamMutexUnlock
    - taosGetTimestampMs
    - taosHashInit
    - taosArrayDestroy
    - mndCreateSetConsensusChkptIdTrans
    - mndStreamTransConflictCheck
    - taosArrayPush
    - taosGetDefaultHashFunction
    - taosArrayGet
    - mError
    - taosHashGet
    - mndClearConsensusCheckpointId
    - mInfo
    - mWarn
    - mndTakeVgroupSnapshot
    - mndClearConsensusRspEntry
    - taosHashIterate
    - mndReleaseStream
    - taosHashGetSize
    - tstrerror
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessConsensusInTmr(SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:46,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:48,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:50,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 51
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 51
    functionName: mndInitAcct
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitAcct(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:81,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:83,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:87,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:91,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:99,1
    - Dst: mndAcctActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:78,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:98,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:103,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:107,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:96,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:91,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:92,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:106,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:58,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:59,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:83,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:85,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:89,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:94,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:105,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:105,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 112
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 112
    functionName: mndCreateDefaultAcct
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - mndAcctActionEncode
    - mError
    - sdbSetRawStatus
    - tstrncpy
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultAcct(SMnode *pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:181,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:186,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:188,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:187,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:190,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:201,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:202,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:206,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:183,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:191,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:193,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:185,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:201,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:179,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:178,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:182,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:192,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:194,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:195,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:164,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:171,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:174,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:180,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:184,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:189,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 208
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 208
    functionName: mndAcctActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndAcctActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pAcct
    argTypes:
    - SSdb*
    - SAcctObj*
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: mndAcctActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAcctActionDelete(SSdb *pSdb, SAcctObj *pAcct) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:232,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:236,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:236,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:237,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 238
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 238
    functionName: mndProcessCreateAcctReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - tstrerror
    - mError
    - TAOS_RETURN
    - mndCheckOperPrivilege
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateAcctReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: mndCleanupAcct
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupAcct(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:128,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:138,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:136,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:140,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:132,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:147,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:119,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:131,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:135,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:152,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:147,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:130,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:134,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:126,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:123,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:125,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:124,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:127,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:129,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:133,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:139,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:137,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:141,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - pAcct
    argTypes:
    - SAcctObj*
    constantsTouched: []
    func_position:
      end: 154
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 154
    functionName: mndAcctActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndAcctActionEncode(SAcctObj *pAcct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pAcct
    argTypes:
    - SSdb*
    - SAcctObj*
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: mndAcctActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAcctActionInsert(SSdb *pSdb, SAcctObj *pAcct) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:221,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SAcctObj*
    - SAcctObj*
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: mndAcctActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - mTrace
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAcctActionUpdate(SSdb *pSdb, SAcctObj *pOld, SAcctObj
      *pNew) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:242,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:244,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:249,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:248,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 250
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 250
    functionName: mndProcessAlterAcctReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - tstrerror
    - mError
    - TAOS_RETURN
    - mndCheckOperPrivilege
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterAcctReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:255,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:259,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: mndProcessDropAcctReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAcct.c
    functionUses: []
    functionsReached:
    - tstrerror
    - mError
    - TAOS_RETURN
    - mndCheckOperPrivilege
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropAcctReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:145,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:150,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:149,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:146,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:149,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    functionName: mndQnodeActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - mError
    - terrstr
    - sdbAcquire
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndQnodeActionInsert(SSdb *pSdb, SQnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:410,1
    - Dst: mndSetDropQnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:411,1
    - Dst: mndSetDropQnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:410,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:411,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:413,1
    - Dst: mndSetDropQnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pObj
    - force
    argTypes:
    - SMnode*
    - STrans*
    - SQnodeObj*
    - bool
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: mndSetDropQnodeInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndSetDropQnodeCommitLogs
    - mndSetDropQnodeRedoActions
    - mndSetDropQnodeRedoLogs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropQnodeInfoToTrans(SMnode *pMnode, STrans *pTrans,
      SQnodeObj *pObj, bool force) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:449,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:449,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:446,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:448,1
    - Dst: mndAcquireQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:456,1
    - Dst: mndDropQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:463,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:467,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:469,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:473,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:473,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:478,1
    - Dst: tFreeSDDropQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:477,1
    - Dst: mndReleaseQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:476,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 479
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 479
    functionName: mndProcessDropQnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - tDeserializeSCreateDropMQSNodeReq
    - mndAcquireQnode
    - mndDropQnode
    - mError
    - mndCheckOperPrivilege
    - terrstr
    - mndReleaseQnode
    - TAOS_RETURN
    - auditRecord
    - tsnprintf
    - tFreeSDDropQnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropQnodeReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:157,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: mndQnodeActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndQnodeActionDelete(SSdb *pSdb, SQnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:421,1
    - Dst: mndSetDropQnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:430,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:427,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:430,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:429,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:431,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:431,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:436,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:437,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pObj
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: mndDropQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndSetDropQnodeInfoToTrans
    - mndTransSetSerial
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropQnode(SMnode *pMnode, SRpcMsg *pReq, SQnodeObj
      *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:488,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:496,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:492,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:502,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:490,1
    - Dst: QNODE_LOAD_VALUE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:504,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:506,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:507,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:508,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:514,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:517,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 3
    argNames:
    - pMnode
    - pList
    - limit
    argTypes:
    - SMnode*
    - SArray**
    - int32_t
    constantsTouched: []
    func_position:
      end: 525
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 525
    functionName: mndCreateQnodeList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - QNODE_LOAD_VALUE
    - sdbRelease
    - mError
    - tstrncpy
    - sdbFetch
    - TAOS_RETURN
    - taosArrayPush
    - sdbCancelFetch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCreateQnodeList(SMnode *pMnode, SArray **pList, int32_t
      limit) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 595
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 595
    functionName: mndCancelGetNextQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextQnode(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - qnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: mndAcquireQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SQnodeObj*
    signature: 'SQnodeObj *mndAcquireQnode(SMnode *pMnode, int32_t qnodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:81,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:87,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:86,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:85,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:94,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:94,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:95,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:99,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 101
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 101
    functionName: mndQnodeActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndQnodeActionEncode(SQnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SQnodeObj*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: mndQnodeActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndQnodeActionUpdate(SSdb *pSdb, SQnodeObj *pOld, SQnodeObj
      *pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndQnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:187,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:191,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:193,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:193,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:194,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:194,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:195,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: mndSetCreateQnodeUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendUndolog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndQnodeActionEncode
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateQnodeUndoLogs(STrans *pTrans, SQnodeObj
      *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:533,1
    - Dst: mndCreateQnodeList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:535,1
    - Dst: tDeserializeSQnodeListReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:533,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:537,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:535,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:538,1
    - Dst: tSerializeSQnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:544,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:546,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:546,1
    - Dst: tFreeSQnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 556
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 556
    functionName: mndProcessQnodeListReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tDeserializeSQnodeListReq
    - tSerializeSQnodeListRsp
    - terrstr
    - mError
    - TAOS_RETURN
    - mndCreateQnodeList
    - tFreeSQnodeListRsp
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessQnodeListReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pObj
    argTypes:
    - SMnode*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: mndReleaseQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseQnode(SMnode *pMnode, SQnodeObj *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:111,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:125,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:126,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:118,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:121,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:127,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:128,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:134,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:134,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:135,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:139,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 141
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 141
    functionName: mndQnodeActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndQnodeActionDecode(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndQnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:174,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:178,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:180,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:180,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:181,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:181,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 183
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 183
    functionName: mndSetCreateQnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndQnodeActionEncode
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateQnodeRedoLogs(STrans *pTrans, SQnodeObj
      *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndQnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:200,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:204,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:206,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:206,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:207,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:207,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: mndSetCreateQnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndQnodeActionEncode
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateQnodeCommitLogs(STrans *pTrans, SQnodeObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:567,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:575,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:571,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:576,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:577,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:577,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:579,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:580,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:580,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:584,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 590
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 590
    functionName: mndRetrieveQnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN_WITH_RELEASE
    - taosArrayGet
    - colDataSetVal
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveQnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:49,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:50,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:53,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:51,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:52,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:55,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:56,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 59
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 59
    functionName: mndInitQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitQnode(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pQnode
    - dnodeId
    argTypes:
    - SQnodeObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 211
    functionName: mndQnodeInDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mndQnodeInDnode(SQnodeObj *pQnode, int32_t dnodeId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:248,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:249,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:256,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:252,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:256,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:260,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:266,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:268,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 272
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 272
    functionName: mndSetCreateQnodeUndoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendUndoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateQnodeUndoActions(STrans *pTrans, SDnodeObj
      *pDnode, SQnodeObj *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:315,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:312,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:314,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:315,1
    - Dst: mndAcquireQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:317,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:325,1
    - Dst: mndCreateQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:331,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:335,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:337,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:340,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:340,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:346,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:344,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:345,1
    - Dst: mndReleaseQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:343,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 347
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 347
    functionName: mndProcessCreateQnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireDnode
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - mndAcquireQnode
    - mError
    - terrstr
    - mndCheckOperPrivilege
    - mndReleaseQnode
    - mndReleaseDnode
    - TAOS_RETURN
    - auditRecord
    - tsnprintf
    - mndCreateQnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateQnodeReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: mndCleanupQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupQnode(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:218,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:226,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:219,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:224,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:226,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:229,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:235,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:236,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:237,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 241
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 241
    functionName: mndSetCreateQnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateQnodeRedoActions(STrans *pTrans, SDnodeObj *pDnode,
      SQnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:279,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:288,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:282,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:290,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:291,1
    - Dst: mndSetCreateQnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:291,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:292,1
    - Dst: mndSetCreateQnodeUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:292,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:293,1
    - Dst: mndSetCreateQnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:295,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:301,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:296,1
    - Dst: mndSetCreateQnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:294,1
    - Dst: mndSetCreateQnodeUndoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDnode
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDnodeObj*
    - SMCreateQnodeReq*
    constantsTouched: []
    func_position:
      end: 303
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 303
    functionName: mndCreateQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - mndSetCreateQnodeCommitLogs
    - mndTransSetSerial
    - mndSetCreateQnodeUndoLogs
    - mndSetCreateQnodeRedoLogs
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndSetCreateQnodeRedoActions
    - mndSetCreateQnodeUndoActions
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateQnode(SMnode *pMnode, SRpcMsg *pReq, SDnodeObj
      *pDnode, SMCreateQnodeReq *pCreate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndQnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:351,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:357,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:355,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:357,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: mndSetDropQnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndQnodeActionEncode
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropQnodeRedoLogs(STrans *pTrans, SQnodeObj *pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndQnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:368,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:374,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:370,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 375
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 375
    functionName: mndSetDropQnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - mndQnodeActionEncode
    - sdbSetRawStatus
    - mndTransAppendCommitlog
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropQnodeCommitLogs(STrans *pTrans, SQnodeObj
      *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:382,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:383,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:388,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:386,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:390,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:390,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:394,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:400,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:401,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:402,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SQnodeObj*
    constantsTouched: []
    func_position:
      end: 406
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 406
    functionName: mndSetDropQnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropQnodeRedoActions(STrans *pTrans, SDnodeObj
      *pDnode, SQnodeObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerPreprocessQueryMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:23,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 24
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 24
    functionName: mndPreProcessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - qWorkerPreprocessQueryMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPreProcessQueryMsg(SRpcMsg *pMsg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:38,1
    - Dst: qWorkerProcessDropMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:52,1
    - Dst: qWorkerProcessCQueryMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:45,1
    - Dst: qWorkerProcessQueryMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:42,1
    - Dst: qWorkerProcessFetchMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:49,1
    - Dst: qWorkerProcessHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:55,1
    - Dst: qWorkerProcessNotifyMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:58,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:62,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 19
    argCount: 2
    argNames:
    - pMsg
    - pInfo
    argTypes:
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 67
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 67
    functionName: mndProcessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - qWorkerProcessCQueryMsg
    - qWorkerProcessDropMsg
    - qWorkerProcessFetchMsg
    - mTrace
    - mError
    - qWorkerProcessNotifyMsg
    - qWorkerProcessQueryMsg
    - qWorkerProcessHbMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessQueryMsg(SRpcMsg *pMsg, SQueueInfo *pInfo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:102,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:135,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:146,1
    - Dst: tSerializeSBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:151,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:136,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:137,1
    - Dst: tSerializeSBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:141,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:136,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:95,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:91,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:166,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:168,1
    - Dst: tDeserializeSBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:89,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:98,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:119,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:119,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:109,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:117,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:162,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:165,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 169
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 169
    functionName: mndProcessBatchMetaMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - tDeserializeSBatchReq
    - taosArrayGet
    - taosArrayDestroy
    - terrstr
    - mError
    - tSerializeSBatchRsp
    - tstrerror
    - TMSG_INDEX
    - taosArrayPush
    - TAOS_RETURN
    - taosArrayDestroyEx
    - taosArrayGetSize
    - rpcMallocCont
    - taosArrayInit
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessBatchMetaMsg(SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerAbortPreprocessQueryMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:29,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: mndPostProcessQueryMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - qWorkerAbortPreprocessQueryMsg
    linkageType: ''
    returnType: void
    signature: 'void mndPostProcessQueryMsg(SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: mnodeFreeSBatchRspMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE void mnodeFreeSBatchRspMsg(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:172,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:178,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:173,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:173,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:177,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:179,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:180,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:181,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:182,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:183,1
    - Dst: mndSetMsgHandleExt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:184,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 188
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 188
    functionName: mndInitQuery
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - terrstr
    - mError
    - mndSetMsgHandle
    - qWorkerInit
    - mndSetMsgHandleExt
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitQuery(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qWorkerDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 190
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 190
    functionName: mndCleanupQuery
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndQuery.c
    functionUses: []
    functionsReached:
    - qWorkerDestroy
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupQuery(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1330,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1342,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1347,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - pMnode
    - pDbInput
    - pVgroup
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1350
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1350
    functionName: mndGetVgroupMemory
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - mndReleaseDb
    - mDebug
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetVgroupMemory(SMnode *pMnode, SDbObj *pDbInput, SVgObj
      *pVgroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1769,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1781,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1783,1
    - Dst: mndBuildAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1772,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1776,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1784,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1787,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1788,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1790,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1799,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1797,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1802,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1798,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pOldVgroup
    - pNewVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1803
      start: 1765
    functionDepth: 0
    functionLinenumber: 1765
    functionLinenumberEnd: 1803
    functionName: mndAddChangeConfigAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - mndBuildAlterVnodeReplicaReq
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddChangeConfigAction(SMnode *pMnode, STrans *pTrans, SDbObj
      *pDb, SVgObj *pOldVgroup, SVgObj *pNewVgroup, int32_t dnodeId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3635,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3636,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3640,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3675,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3676,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3681,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3624,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3627,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3646,1
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3649,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3666,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3672,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3624,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3633,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3635,1
    - Dst: mndTransCheckConflictWithCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3636,1
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3643,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3642,1
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3650,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3641,1
    - Dst: mndBalanceVgroupBetweenDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3655,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3683,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3646,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3651,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3662,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3682,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pArray
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3684
      start: 3618
    functionDepth: 0
    functionLinenumber: 3618
    functionLinenumberEnd: 3684
    functionName: mndBalanceVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - mndTransSetSerial
    - mndBalanceVgroupBetweenDnode
    - taosArrayGetSize
    - taosArraySort
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndGetDnodeScore
    - mndTransCheckConflictWithCompact
    - taosGetDefaultHashFunction
    - mndTransPrepare
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBalanceVgroup(SMnode *pMnode, SRpcMsg *pReq, SArray
      *pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1359,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1364
    functionName: mndGetVnodeMemroyFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndGetVgroupMemory
    linkageType: ''
    returnType: bool
    signature: 'static bool mndGetVnodeMemroyFp(SMnode *pMnode, void *pObj, void *p1,
      void *p2, void *p3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1808,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1824,1
    - Dst: mndBuildAlterVnodeHashRangeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1811,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1823,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1815,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1825,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1828,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - srcVgId
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - int32_t
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1830
      start: 1805
    functionDepth: 0
    functionLinenumber: 1805
    functionLinenumberEnd: 1830
    functionName: mndAddAlterVnodeHashRangeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - mndBuildAlterVnodeHashRangeReq
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddAlterVnodeHashRangeAction(SMnode *pMnode, STrans
      *pTrans, int32_t srcVgId, SVgObj *pVgroup) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3709,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3726,1
    - Dst: mndBalanceVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3730,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3733,1
    - Dst: tFreeSBalanceVgroupReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3741,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3700,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3708,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3711,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3706,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3699,1
    - Dst: tDeserializeSBalanceVgroupReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3694,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3711,1
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3719,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3716,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3737,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3691,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3712,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3740,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3737,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3727,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3742,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3743
      start: 3686
    functionDepth: 0
    functionLinenumber: 3686
    functionLinenumberEnd: 3743
    functionName: mndProcessBalanceVgroupMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayDestroy
    - mndIsDnodeOnline
    - tDeserializeSBalanceVgroupReq
    - mError
    - terrstr
    - mndCheckOperPrivilege
    - mndBalanceVgroup
    - tstrerror
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - mndBuildDnodesArray
    - tFreeSBalanceVgroupReq
    - taosArrayGetSize
    - auditRecord
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessBalanceVgroupMsg(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 715
    functionName: mndResetDnodesArrayFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool mndResetDnodesArrayFp(SMnode *pMnode, void *pObj, void
      *p1, void *p2, void *p3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3761,1
    - Dst: tSerializeSCompactVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3764,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3771,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3763,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3778,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3779,1
    - Dst: tSerializeSCompactVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3781,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3782,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 7
    argNames:
    - pMnode
    - pDb
    - pVgroup
    - pContLen
    - compactTs
    - tw
    - metaOnly
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    - int32_t*
    - int64_t
    - STimeWindow
    - bool
    constantsTouched: []
    func_position:
      end: 3788
      start: 3754
    functionDepth: 0
    functionLinenumber: 3754
    functionLinenumberEnd: 3788
    functionName: mndBuildCompactVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - tSerializeSCompactVnodeReq
    - tstrncpy
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildCompactVnodeReq(SMnode *pMnode, SDbObj *pDb,
      SVgObj *pVgroup, int32_t *pContLen, int64_t compactTs, STimeWindow tw, bool
      metaOnly) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:728,1
    - Dst: mndIsMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:747,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:745,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:732,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:746,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:748,1
    - Dst: mndGetVnodesMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:749,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:751,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:759,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 31
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 762
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 762
    functionName: mndBuildDnodesArrayFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayGet
    - mndIsDnodeOnline
    - mndGetVnodesMemory
    - mndIsMnode
    - mndGetVnodesNum
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool mndBuildDnodesArrayFp(SMnode *pMnode, void *pObj, void
      *p1, void *p2, void *p3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3794,1
    - Dst: mndBuildCompactVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3797,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3801,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3809,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3808,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3810,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 7
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - compactTs
    - tw
    - metaOnly
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int64_t
    - STimeWindow
    - bool
    constantsTouched: []
    func_position:
      end: 3814
      start: 3790
    functionDepth: 0
    functionLinenumber: 3790
    functionLinenumberEnd: 3814
    functionName: mndAddCompactVnodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndBuildCompactVnodeReq
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddCompactVnodeAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int64_t compactTs, STimeWindow tw, bool metaOnly) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1713,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1720,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1728,1
    - Dst: mndBuildCreateVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1716,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1729,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1730,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1733,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pDnode
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 1734
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1734
    functionName: mndRestoreAddCreateVnodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndBuildCreateVnodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRestoreAddCreateVnodeAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, SDnodeObj *pDnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:874,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:878,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:888,1
    - Dst: mndBuildNodesCheckDualReplica
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:887,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:883,1
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:892,1
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:893,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:895,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:895,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:896,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:897,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:900,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:898,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pMnode
    - exceptDnodeId
    - dnodeList
    argTypes:
    - SMnode*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 902
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 902
    functionName: mndBuildDnodesArray
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbTraverse
    - taosArrayGet
    - taosArrayDestroy
    - mDebug
    - mndGetDnodeSize
    - mndBuildNodesCheckDualReplica
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *mndBuildDnodesArray(SMnode *pMnode, int32_t exceptDnodeId,
      SArray *dnodeList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pDnode
    - additionDnodes
    - ratio
    argTypes:
    - SDnodeObj*
    - int32_t
    - float
    constantsTouched: []
    func_position:
      end: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    functionName: mndGetDnodeScore
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'static float mndGetDnodeScore(SDnodeObj *pDnode, int32_t additionDnodes,
      float ratio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2318,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2316,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2320,1
    - Dst: mndAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2336,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2332,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2322,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2324,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2330,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2332,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2338,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2344,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2303,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2319,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2324,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2325,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2338,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2342,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2336,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2330,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2342,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - newDnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2345
      start: 2300
    functionDepth: 0
    functionLinenumber: 2300
    functionLinenumberEnd: 2345
    functionName: mndAddIncVgroupReplicaToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - mError
    - sdbSetRawStatus
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    - mndAddAlterVnodeConfirmAction
    - sdbFreeRaw
    - mndAddAlterVnodeTypeAction
    - mndAddAlterVnodeReplicaAction
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddIncVgroupReplicaToTrans(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup, int32_t newDnodeId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - dnode1Id
    - dnode2Id
    argTypes:
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: mndCompareDnodeId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompareDnodeId(int32_t *dnode1Id, int32_t *dnode2Id) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:917,1
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pDnode1
    - pDnode2
    argTypes:
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 923
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 923
    functionName: mndCompareDnodeVnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndGetDnodeScore
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompareDnodeVnodes(SDnodeObj *pDnode1, SDnodeObj
      *pDnode2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1739,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1741,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1743,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1745,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1748,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1749,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1758,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1759,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1763
      start: 1736
    functionDepth: 0
    functionLinenumber: 1736
    functionLinenumberEnd: 1763
    functionName: mndAddAlterVnodeConfirmAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddAlterVnodeConfirmAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2372,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2374,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2375,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2380,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2381,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2390,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2365,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2386,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2388,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2368,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2366,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2376,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2388,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2384,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2350,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2378,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2386,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2380,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - delDnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2391
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2391
    functionName: mndAddDecVgroupReplicaFromTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - mndAddDropVnodeAction
    - mError
    - sdbSetRawStatus
    - memset
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndAddAlterVnodeConfirmAction
    - sdbFreeRaw
    - memcpy
    - mndAddAlterVnodeReplicaAction
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddDecVgroupReplicaFromTrans(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup, int32_t delDnodeId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:929,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pVgroup
    argTypes:
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 933
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 933
    functionName: mndSortVnodeGid
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - TSWAP
    linkageType: ''
    returnType: void
    signature: 'void mndSortVnodeGid(SVgObj *pVgroup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2831,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2851,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2850,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2846,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2847,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2855,1
    - Dst: mndAddBalanceVgroupLeaderAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2857,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2858,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2859,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2862,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2870,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2876,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2872,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2866,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2867,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 3
    argNames:
    - pMnode
    - pVgroup
    - pTrans
    argTypes:
    - SMnode*
    - SVgObj*
    - STrans*
    constantsTouched: []
    func_position:
      end: 2877
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2877
    functionName: mndAddVgroupBalanceToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndAcquireDnode
    - mndReleaseDb
    - mndIsDnodeOnline
    - mndAddBalanceVgroupLeaderAction
    - mndAcquireDb
    - mError
    - mndReleaseDnode
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddVgroupBalanceToTrans(SMnode *pMnode, SVgObj *pVgroup,
      STrans *pTrans) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3114,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3124,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3156,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3158,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3202,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3071,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3126,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3128,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3142,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3183,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3083,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3073,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3111,1
    - Dst: mndAddChangeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3208,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3171,1
    - Dst: mndRemoveVnodeFromVgroupWithoutSave
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3164,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3169,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3139,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3154,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3057,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3083,1
    - Dst: mndAddChangeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3177,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3173,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3053,1
    - Dst: mndAddCheckLearnerCatchupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3097,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3103,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3114,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3150,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3171,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3137,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3185,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3081,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3210,1
    - Dst: mndCheckDnodeMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3057,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3146,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3056,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3073,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3166,1
    - Dst: mndRemoveVnodeFromVgroupWithoutSave
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3137,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3179,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3180,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3204,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3133,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3153,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3160,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3152,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3164,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3196,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3206,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3208,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3142,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3187,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3061,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3087,1
    - Dst: mndAddCheckLearnerCatchupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3095,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3096,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3116,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3128,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3144,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3071,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3086,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3094,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3106,1
    - Dst: mndAddChangeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3167,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3063,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3079,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3181,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3144,1
    - Dst: mndSortVnodeGid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3193,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3214,1
    - Dst: mndAddAlterVnodeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3056,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3086,1
    - Dst: mndAddChangeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3112,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3185,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3130,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3067,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3122,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3169,1
    - Dst: mndAddChangeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3080,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3084,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3200,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 160
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pOldDb
    - pNewDb
    - pVgroup
    - pArray
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    - SVgObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 3215
      start: 3049
    functionDepth: 0
    functionLinenumber: 3049
    functionLinenumberEnd: 3215
    functionName: mndBuildRaftAlterVgroupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAddCheckLearnerCatchupAction
    - mndAddAlterVnodeConfigAction
    - mndAddVnodeToVgroup
    - mndRemoveVnodeFromVgroupWithoutSave
    - mndTransAppendCommitlog
    - mndAddDropVnodeAction
    - TAOS_CHECK_RETURN
    - mndAddAlterVnodeConfirmAction
    - memcpy
    - mndTransAppendRedolog
    - mndSortVnodeGid
    - mndCheckDnodeMemory
    - mndTransSetSerial
    - mError
    - sdbFreeRaw
    - mInfo
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - tstrerror
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    - mndAddChangeConfigAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildRaftAlterVgroupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pOldDb, SDbObj *pNewDb, SVgObj *pVgroup, SArray *pArray) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:936,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:938,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:936,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:939,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:937,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:940,1
    - Dst: mndGetDnodeScore
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:940,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:943,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:945,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:947,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:954,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:964,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:976,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:960,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:952,1
    - Dst: mndSortVnodeGid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:981,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:957,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 4
    argNames:
    - pMnode
    - pDb
    - pVgroup
    - pArray
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 983
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 983
    functionName: mndGetAvailableDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndSortVnodeGid
    - taosArrayGet
    - mError
    - mDebug
    - mndGetVgroupMemory
    - taosArraySort
    - TAOS_RETURN
    - mndGetDnodeScore
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetAvailableDnode(SMnode *pMnode, SDbObj *pDb, SVgObj
      *pVgroup, SArray *pArray) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3223,1
    - Dst: mndRestoreAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3251,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3259,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3275,1
    - Dst: mndRestoreAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3275,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3287,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3289,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3221,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3233,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3242,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3258,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3281,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3283,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3268,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3284,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3290,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3251,1
    - Dst: mndRestoreAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3259,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3233,1
    - Dst: mndRestoreAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3242,1
    - Dst: mndRestoreAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3258,1
    - Dst: mndRestoreAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3268,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3277,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3285,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3293,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 81
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - db
    - pVgroup
    - pDnode
    - pAnotherDnode
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 3294
      start: 3217
    functionDepth: 0
    functionLinenumber: 3217
    functionLinenumberEnd: 3294
    functionName: mndBuildRestoreAlterVgroupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - mError
    - sdbSetRawStatus
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    - mndRestoreAddAlterVnodeTypeAction
    - sdbFreeRaw
    - memcpy
    - mndRestoreAddCreateVnodeAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildRestoreAlterVgroupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *db, SVgObj *pVgroup, SDnodeObj *pDnode, SDnodeObj *pAnotherDnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 5
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1319
      start: 1307
    functionDepth: 0
    functionLinenumber: 1307
    functionLinenumberEnd: 1319
    functionName: mndGetVnodesNumFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool mndGetVnodesNumFp(SMnode *pMnode, void *pObj, void *p1,
      void *p2, void *p3) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1884,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1893,1
    - Dst: mndBuildAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1896,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1892,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1888,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1900,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1907,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1908,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1909,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1912,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1913
      start: 1882
    functionDepth: 0
    functionLinenumber: 1882
    functionLinenumberEnd: 1913
    functionName: mndAddAlterVnodeReplicaAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildAlterVnodeReplicaReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddAlterVnodeReplicaAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3423,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3386,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3414,1
    - Dst: mndAddDisableVnodeWriteAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3423,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3436,1
    - Dst: mndAddDbStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3482,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3466,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3463,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3503,1
    - Dst: mndAddDbStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3504,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3416,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3372,1
    - Dst: mndBuildAlterVgroupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3487,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3512,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3455,1
    - Dst: mndAddAlterVnodeHashRangeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3461,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3451,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3496,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3416,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3376,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3397,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3413,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3460,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3468,1
    - Dst: mndAddNewVgPrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3460,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3382,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3405,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3426,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3437,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3480,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3499,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3414,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3365,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3406,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3409,1
    - Dst: mndRemoveVnodeFromVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3412,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3506,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3464,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3489,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3385,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3402,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3406,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3429,1
    - Dst: mndAddVgStatusAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3467,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3511,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3513,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3464,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3471,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3463,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3473,1
    - Dst: mndAddAlterVnodeHashRangeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3455,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3506,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3510,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3400,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3494,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3461,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3390,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3393,1
    - Dst: mndAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3405,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3397,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3413,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3426,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3439,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3442,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3444,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3489,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3467,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3447,1
    - Dst: mndGetNumOfStreams
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3353,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3383,1
    - Dst: mndAddNewVgPrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3454,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3487,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3454,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3466,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3468,1
    - Dst: mndBuildAlterVgroupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3494,1
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3350,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3400,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3482,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3504,1
    - Dst: mndTransCheckConflictWithCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3386,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3402,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3409,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3432,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3499,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 146
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 3514
      start: 3346
    functionDepth: 0
    functionLinenumber: 3346
    functionLinenumberEnd: 3514
    functionName: mndSplitVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbGetMaxId
    - mndAddVnodeToVgroup
    - mndRemoveVnodeFromVgroup
    - mndBuildAlterVgroupAction
    - taosGetTimestampMs
    - taosArrayDestroy
    - mndAddDropVnodeAction
    - mndAddAlterVnodeConfirmAction
    - mndTransCreate
    - memcpy
    - mndAddAlterVnodeTypeAction
    - mndTransCheckConflictWithCompact
    - mndAddAlterVnodeReplicaAction
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - mError
    - mndAddVgStatusAction
    - memset
    - mndAddAlterVnodeHashRangeAction
    - mndGetNumOfStreams
    - mndBuildDnodesArray
    - mndTransDrop
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - mndAddDisableVnodeWriteAction
    - mndAddNewVgPrepareAction
    - taosArrayDup
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    - mndAddDbStatusAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSplitVgroup(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb,
      SVgObj *pVgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessSplitVgroupMsgImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3518
      start: 3518
    functionDepth: 0
    functionLinenumber: 3518
    functionLinenumberEnd: 3518
    functionName: mndProcessSplitVgroupMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndProcessSplitVgroupMsgImp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessSplitVgroupMsg(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndIsMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:806,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:799,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 809
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 809
    functionName: mndBuildDnodesListFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndGetVnodesNum
    - taosArrayPush
    - mndIsMnode
    linkageType: ''
    returnType: bool
    signature: 'static bool mndBuildDnodesListFp(SMnode *pMnode, void *pObj, void
      *p1, void *p2, void *p3) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: mndGetVnodesNum
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbTraverse
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetVnodesNum(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1917,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1921,1
    - Dst: mndBuildCheckLearnCatchupReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1929,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1925,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1926,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1933,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1942,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1943,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1944,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1947,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1948
      start: 1915
    functionDepth: 0
    functionLinenumber: 1915
    functionLinenumberEnd: 1948
    functionName: mndAddCheckLearnerCatchupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildCheckLearnCatchupReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddCheckLearnerCatchupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessVgroupBalanceLeaderMsgImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2881
      start: 2881
    functionDepth: 0
    functionLinenumber: 2881
    functionLinenumberEnd: 2881
    functionName: mndProcessVgroupBalanceLeaderMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndProcessVgroupBalanceLeaderMsgImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessVgroupBalanceLeaderMsg(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:991,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:999,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:996,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:994,1
    - Dst: mndGetAvailableDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1003,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1004,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1006,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - pMnode
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1008
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 1008
    functionName: mndAllocSmaVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayDestroy
    - sdbGetMaxId
    - TAOS_RETURN
    - mndBuildDnodesArray
    - mndGetAvailableDnode
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAllocSmaVgroup(SMnode *pMnode, SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1370
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1370
    functionName: mndGetVnodesMemory
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbTraverse
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetVnodesMemory(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1015,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1028,1
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1021,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1028,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1032,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1042,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1052,1
    - Dst: mndGetAvailableDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1056,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1066,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1069,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1071,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1070,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - pMnode
    - pDb
    - ppVgroups
    - dnodeList
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj**
    - SArray*
    constantsTouched: []
    func_position:
      end: 1072
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1072
    functionName: mndAllocVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosMemoryFree
    - taosArrayDestroy
    - taosMemoryCalloc
    - sdbGetMaxId
    - TAOS_RETURN
    - mndBuildDnodesArray
    - mndGetAvailableDnode
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAllocVgroup(SMnode *pMnode, SDbObj *pDb, SVgObj **ppVgroups,
      SArray *dnodeList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1374,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - rate
    - applyCount
    - restoreStr
    - restoreStrSize
    argTypes:
    - double
    - int64_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 1385
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1385
    functionName: calculateRstoreFinishTime
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'void calculateRstoreFinishTime(double rate, int64_t applyCount, char
      *restoreStr, size_t restoreStrSize) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2889,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2894,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2906,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2899,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2890,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2911,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2916,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2918,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2920,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 6
    argNames:
    - pMnode
    - pOldDb
    - pNewDb
    - pOldVgroup
    - pNewVgroup
    - pArray
    argTypes:
    - SMnode*
    - SDbObj*
    - SDbObj*
    - SVgObj*
    - SVgObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 2926
      start: 2887
    functionDepth: 0
    functionLinenumber: 2887
    functionLinenumberEnd: 2926
    functionName: mndCheckDnodeMemory
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mError
    - mDebug
    - mndGetVgroupMemory
    - TAOS_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDnodeMemory(SMnode *pMnode, SDbObj *pOldDb,
      SDbObj *pNewDb, SVgObj *pOldVgroup, SVgObj *pNewVgroup, SArray *pArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:656,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:664,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:671,1
    - Dst: tSerializeSAlterVnodeHashRangeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:658,1
    - Dst: tSerializeSAlterVnodeHashRangeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:670,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:671,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:672,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - pMnode
    - srcVgId
    - pVgroup
    - pContLen
    argTypes:
    - SMnode*
    - int32_t
    - SVgObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 678
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 678
    functionName: mndBuildAlterVnodeHashRangeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSAlterVnodeHashRangeReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildAlterVnodeHashRangeReq(SMnode *pMnode, int32_t
      srcVgId, SVgObj *pVgroup, int32_t *pContLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2016,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2024,1
    - Dst: mndBuildDisableVnodeWriteReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2028,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2020,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2025,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2032,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2039,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2040,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2041,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2044,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2045
      start: 2013
    functionDepth: 0
    functionLinenumber: 2013
    functionLinenumberEnd: 2045
    functionName: mndAddDisableVnodeWriteAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndReleaseDnode
    - TAOS_RETURN
    - mndBuildDisableVnodeWriteReq
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddDisableVnodeWriteAction(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:684,1
    - Dst: tSerializeSDropVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:700,1
    - Dst: tSerializeSDropVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:688,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:687,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:694,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:701,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:701,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - pMnode
    - pDnode
    - pDb
    - pVgroup
    - pContLen
    argTypes:
    - SMnode*
    - SDnodeObj*
    - SDbObj*
    - SVgObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 708
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 708
    functionName: mndBuildDropVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosMemoryMalloc
    - tSerializeSDropVnodeReq
    - terrstr
    - mError
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void *mndBuildDropVnodeReq(SMnode *pMnode, SDnodeObj *pDnode, SDbObj
      *pDb, SVgObj *pVgroup, int32_t *pContLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2052,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2056,1
    - Dst: mndBuildDropVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2062,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2059,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2058,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2066,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2075,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2076,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2077,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2080,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2081,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2082,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2086,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pVgid
    - isRedo
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SVnodeGid*
    - bool
    constantsTouched: []
    func_position:
      end: 2087
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2087
    functionName: mndAddDropVnodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildDropVnodeReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendUndoAction
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddDropVnodeAction(SMnode *pMnode, STrans *pTrans, SDbObj
      *pDb, SVgObj *pVgroup, SVnodeGid *pVgid, bool isRedo) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckDnodeMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2935,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2942,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2956,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2962,1
    - Dst: mndAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2960,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2968,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2975,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2977,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2978,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2980,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2988,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3035,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3039,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3010,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2992,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3018,1
    - Dst: mndSortVnodeGid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3026,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3019,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2931,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2953,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2987,1
    - Dst: mndRemoveVnodeFromVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2987,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2993,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2996,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2997,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2998,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3005,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3017,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3011,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3021,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3041,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3046,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3021,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2999,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3041,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2947,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2956,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2960,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2964,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2974,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2978,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2988,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2989,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2993,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3013,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2995,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3033,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2990,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2999,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3029,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3037,1
    - Dst: mndAddAlterVnodeTypeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3017,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2996,1
    - Dst: mndRemoveVnodeFromVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2995,1
    - Dst: mndAddAlterVnodeConfigAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2934,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2935,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2939,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2947,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2961,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2954,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2968,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2976,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2980,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2991,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3001,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3005,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3036,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2982,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3042,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3013,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 109
    argCount: 7
    argNames:
    - pMnode
    - pTrans
    - pOldDb
    - pNewDb
    - pVgroup
    - pArray
    - pNewVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    - SVgObj*
    - SArray*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 3047
      start: 2928
    functionDepth: 0
    functionLinenumber: 2928
    functionLinenumberEnd: 3047
    functionName: mndBuildAlterVgroupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAddAlterVnodeConfigAction
    - mndAddVnodeToVgroup
    - mndRemoveVnodeFromVgroup
    - mndTransAppendCommitlog
    - mndAddDropVnodeAction
    - TAOS_CHECK_RETURN
    - mndAddAlterVnodeConfirmAction
    - memcpy
    - mndAddAlterVnodeTypeAction
    - mndAddAlterVnodeReplicaAction
    - mndSortVnodeGid
    - mndCheckDnodeMemory
    - mndTransSetSerial
    - mError
    - sdbFreeRaw
    - mInfo
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - tstrerror
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildAlterVgroupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pOldDb, SDbObj *pNewDb, SVgObj *pVgroup, SArray *pArray, SVgObj *pNewVgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: mndCleanupVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupVgroup(SMnode *pMnode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: grantCheckDualReplicaDnodes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:814,1
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:825,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:835,1
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:852,1
    - Dst: taosArrayRemoveBatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:850,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:839,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:863,1
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:824,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:815,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:829,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:855,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:861,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:863,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:820,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:827,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:833,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:818,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:831,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:847,1
    - Dst: isDnodeInList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:854,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:853,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:868,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 4
    argNames:
    - pMnode
    - nDnodes
    - dnodeList
    - ppDnodeList
    argTypes:
    - SMnode*
    - int32_t
    - SArray*
    - SArray**
    constantsTouched: []
    func_position:
      end: 869
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 869
    functionName: mndBuildNodesCheckDualReplica
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbTraverse
    - taosArrayGet
    - taosArrayRemoveBatch
    - isDnodeInList
    - taosArrayRemove
    - taosArraySort
    - TAOS_RETURN
    - grantCheckDualReplicaDnodes
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    - TARRAY_SIZE
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildNodesCheckDualReplica(SMnode *pMnode, int32_t
      nDnodes, SArray *dnodeList, SArray **ppDnodeList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1079,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1089,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1087,1
    - Dst: epsetSort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1091,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1086,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - pMnode
    - pVgroup
    argTypes:
    - SMnode*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1094
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1094
    functionName: mndGetVgroupEpset
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndAcquireDnode
    - mndReleaseDnode
    - epsetSort
    - addEpIntoEpSet
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet mndGetVgroupEpset(SMnode *pMnode, const SVgObj *pVgroup) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1956,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1961,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1960,1
    - Dst: mndBuildAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1964,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1968,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1977,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1978,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1979,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1982,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1983
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1983
    functionName: mndAddAlterVnodeTypeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildAlterVnodeReplicaReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddAlterVnodeTypeAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:111,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:114,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:121,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:95,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:105,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:106,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:107,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:108,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:122,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:126,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:121,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:115,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:100,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:101,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:102,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:99,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:103,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:104,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:113,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - pVgroup
    argTypes:
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 128
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 128
    functionName: mndVgroupActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndVgroupActionEncode(SVgObj *pVgroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1099,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1104,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1114,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1112,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1111,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 2
    argNames:
    - pMnode
    - vgId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1119
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1119
    functionName: mndGetVgroupEpsetById
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndAcquireVgroup
    - mndAcquireDnode
    - mndReleaseVgroup
    - mndReleaseDnode
    - addEpIntoEpSet
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet mndGetVgroupEpsetById(SMnode *pMnode, int32_t vgId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1989,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1996,1
    - Dst: mndBuildAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1992,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2005,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2006,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2007,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2010,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pDnode
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 2011
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 2011
    functionName: mndRestoreAddAlterVnodeTypeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndBuildAlterVnodeReplicaReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRestoreAddAlterVnodeTypeAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, SDnodeObj *pDnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:159,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:179,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:180,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:145,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:154,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:157,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:153,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:152,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:155,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:173,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:170,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:184,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:138,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:148,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:156,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:158,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:161,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:160,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:179,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 186
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 186
    functionName: mndVgroupActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndVgroupActionDecode(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1639,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1640,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1642,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1641,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1646,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1647,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1652,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1654,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1660,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1670,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1670,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1679,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1676,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1671,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 33
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - pArray
    - pDelVgid
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - SArray*
    - SVnodeGid*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1680
    functionName: mndRemoveVnodeFromVgroupWithoutSave
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mError
    - memset
    - mndGetVgroupMemory
    - tstrerror
    - taosArraySort
    - TAOS_RETURN
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRemoveVnodeFromVgroupWithoutSave(SMnode *pMnode,
      STrans *pTrans, SVgObj *pVgroup, SArray *pArray, SVnodeGid *pDelVgid) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2399,1
    - Dst: mndAddIncVgroupReplicaToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2439,1
    - Dst: mndAddDecVgroupReplicaFromTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2440,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2444,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2451,1
    - Dst: mndAddIncVgroupReplicaToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2460,1
    - Dst: mndAddDecVgroupReplicaFromTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2482,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2503,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2505,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2514,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2513,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2406,1
    - Dst: mndTransCheckConflictWithCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2407,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2409,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2410,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2423,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2431,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2461,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2467,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2481,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2492,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2496,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2413,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2414,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2416,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2417,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2429,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2421,1
    - Dst: mndAddDecVgroupReplicaFromTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2461,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2465,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2472,1
    - Dst: mndAddIncVgroupReplicaToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2481,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2512,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2407,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2440,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2439,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2446,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2453,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2460,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2482,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2486,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2493,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2498,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2508,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2498,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 113
    argCount: 10
    argNames:
    - pMnode
    - pReq
    - pDb
    - pVgroup
    - pNew1
    - pOld1
    - pNew2
    - pOld2
    - pNew3
    - pOld3
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SVgObj*
    - SDnodeObj*
    - SDnodeObj*
    - SDnodeObj*
    - SDnodeObj*
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 2515
      start: 2393
    functionDepth: 0
    functionLinenumber: 2393
    functionLinenumberEnd: 2515
    functionName: mndRedistributeVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - syncStr
    - mndGetVnodesNum
    - mndAddIncVgroupReplicaToTrans
    - mndTransAppendCommitlog
    - mndReleaseDb
    - mndTransCreate
    - memcpy
    - mndTransCheckConflictWithCompact
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - mError
    - mndTransDrop
    - sdbFreeRaw
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - mndGetVgroupMemory
    - tstrerror
    - TAOS_RETURN
    - mndAddDecVgroupReplicaFromTrans
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRedistributeVgroup(SMnode *pMnode, SRpcMsg *pReq,
      SDbObj *pDb, SVgObj *pVgroup, SDnodeObj *pNew1, SDnodeObj *pOld1, SDnodeObj
      *pNew2, SDnodeObj *pOld2, SDnodeObj *pNew3, SDnodeObj *pOld3) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:194,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:207,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:200,1
    - Dst: mndVgroupActionDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:215,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:209,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:216,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:217,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pRaw
    argTypes:
    - SMnode*
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 218
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 218
    functionName: mndNewVgActionValidate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndVgroupActionDelete
    - mError
    - sdbGetMaxId
    - TAOS_RETURN
    - taosMemoryFreeClear
    - sdbGetRowObj
    - mndVgroupActionDecode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndNewVgActionValidate(SMnode *pMnode, STrans *pTrans,
      SSdbRaw *pRaw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1686,1
    - Dst: mndBuildCreateVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1692,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1700,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1688,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1689,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1701,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1702,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1705,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pVgid
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SVnodeGid*
    constantsTouched: []
    func_position:
      end: 1706
      start: 1682
    functionDepth: 0
    functionLinenumber: 1682
    functionLinenumberEnd: 1706
    functionName: mndAddCreateVnodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildCreateVnodeReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddCreateVnodeAction(SMnode *pMnode, STrans *pTrans, SDbObj
      *pDb, SVgObj *pVgroup, SVnodeGid *pVgid) '
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2541,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2552,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2633,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2639,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2675,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2714,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2736,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2749,1
    - Dst: mndRedistributeVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2726,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2540,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2615,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2656,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2669,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2695,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2708,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2746,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2750,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2751,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2752,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2747,1
    - Dst: tDeserializeSRedistributeVgroupReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2535,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2571,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2577,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2621,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2609,1
    - Dst: mndRedistributeVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2593,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2649,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2627,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2662,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2688,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2756,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2753,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2528,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2545,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2582,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2588,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2643,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2682,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2738,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2742,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2743,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2748,1
    - Dst: tFreeSRedistributeVgroupReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2754,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2701,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 240
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2757
      start: 2517
    functionDepth: 0
    functionLinenumber: 2517
    functionLinenumberEnd: 2757
    functionName: mndProcessRedistributeVgroupMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndAcquireVgroup
    - mndAcquireDnode
    - tDeserializeSRedistributeVgroupReq
    - mndReleaseDb
    - mndIsDnodeOnline
    - mndReleaseVgroup
    - mndAcquireDb
    - mError
    - mndReleaseDnode
    - mndCheckOperPrivilege
    - tFreeSRedistributeVgroupReq
    - tstrerror
    - TAOS_RETURN
    - mndRedistributeVgroup
    - auditRecord
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessRedistributeVgroupMsg(SRpcMsg *pReq) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:563,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:585,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:569,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:568,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:582,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:588,1
    - Dst: tSerializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:596,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:602,1
    - Dst: tSerializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:608,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:609,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:609,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:610,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 5
    argNames:
    - pMnode
    - pDb
    - pVgroup
    - dnodeId
    - pContLen
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 616
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 616
    functionName: mndBuildCheckLearnCatchupReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireDnode
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - mndReleaseDnode
    - tSerializeSAlterVnodeReplicaReq
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildCheckLearnCatchupReq(SMnode *pMnode, SDbObj *pDb,
      SVgObj *pVgroup, int32_t dnodeId, int32_t *pContLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pVgroup
    - dbUid
    argTypes:
    - SVgObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3745
      start: 3745
    functionDepth: 0
    functionLinenumber: 3745
    functionLinenumberEnd: 3745
    functionName: mndVgroupInDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mndVgroupInDb(SVgObj *pVgroup, int64_t dbUid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:624,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:638,1
    - Dst: tSerializeSDisableVnodeWriteReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:625,1
    - Dst: tSerializeSDisableVnodeWriteReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:637,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:631,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - pMnode
    - pDb
    - vgId
    - pContLen
    argTypes:
    - SMnode*
    - SDbObj*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 645
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 645
    functionName: mndBuildDisableVnodeWriteReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSDisableVnodeWriteReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildDisableVnodeWriteReq(SMnode *pMnode, SDbObj *pDb,
      int32_t vgId, int32_t *pContLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pVgroup
    - dnodeId
    argTypes:
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3752
      start: 3747
    functionDepth: 0
    functionLinenumber: 3747
    functionLinenumberEnd: 3752
    functionName: mndVgroupInDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mndVgroupInDnode(SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3818,1
    - Dst: mndAddCompactVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 7
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - compactTs
    - tw
    - metaOnly
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int64_t
    - STimeWindow
    - bool
    constantsTouched: []
    func_position:
      end: 3820
      start: 3816
    functionDepth: 0
    functionLinenumber: 3816
    functionLinenumberEnd: 3820
    functionName: mndBuildCompactVgroupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndAddCompactVnodeAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildCompactVgroupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int64_t compactTs, STimeWindow tw, bool metaOnly) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2884
      start: 2884
    functionDepth: 0
    functionLinenumber: 2884
    functionLinenumberEnd: 2884
    functionName: mndProcessVgroupBalanceLeaderMsgImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessVgroupBalanceLeaderMsgImp(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3521
      start: 3521
    functionDepth: 0
    functionLinenumber: 3521
    functionLinenumberEnd: 3521
    functionName: mndProcessSplitVgroupMsgImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessSplitVgroupMsgImp(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pVgroup
    argTypes:
    - SMnode*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 274
    functionName: mndReleaseVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseVgroup(SMnode *pMnode, SVgObj *pVgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pDnode
    - additionDnodes
    - ratio
    argTypes:
    - SDnodeObj*
    - int32_t
    - float
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: mndGetDnodeScore1
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'static float mndGetDnodeScore1(SDnodeObj *pDnode, int32_t additionDnodes,
      float ratio) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3528,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3529,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3531,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3544,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3546,1
    - Dst: mndAddIncVgroupReplicaToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3534,1
    - Dst: mndAddDecVgroupReplicaFromTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3535,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3538,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3548,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3550,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3542,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3550,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3545,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3551,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3534,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3535,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3555,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3557,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3559,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pSrc
    - pDst
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 3560
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3560
    functionName: mndSetBalanceVgroupInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - mError
    - sdbSetRawStatus
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndAddIncVgroupReplicaToTrans
    - sdbFreeRaw
    - memcpy
    - mndAddDecVgroupReplicaFromTrans
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetBalanceVgroupInfoToTrans(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup, SDnodeObj *pSrc, SDnodeObj *pDst) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:279,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:370,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:343,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:336,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:344,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:376,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:379,1
    - Dst: tSerializeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:383,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:389,1
    - Dst: tSerializeSCreateVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:395,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:398,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:399,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:399,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 103
    argCount: 5
    argNames:
    - pMnode
    - pDnode
    - pDb
    - pVgroup
    - pContLen
    argTypes:
    - SMnode*
    - SDnodeObj*
    - SDbObj*
    - SVgObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 404
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 404
    functionName: mndBuildCreateVnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireDnode
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - mndReleaseDnode
    - tSerializeSCreateVnodeReq
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void *mndBuildCreateVnodeReq(SMnode *pMnode, SDnodeObj *pDnode, SDbObj
      *pDb, SVgObj *pVgroup, int32_t *pContLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeScore1
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:783,1
    - Dst: mndGetDnodeScore1
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:784,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pDnode1
    - pDnode2
    argTypes:
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 792
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 792
    functionName: mndCompareDnodeVnodes1
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndGetDnodeScore1
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompareDnodeVnodes1(SDnodeObj *pDnode1, SDnodeObj
      *pDnode2) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3570,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3586,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3590,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3573,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3572,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3594,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3599,1
    - Dst: mndSetBalanceVgroupInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3603,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3605,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3609,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3610,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3611,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 37
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pSrc
    - pDst
    - pBalancedVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDnodeObj*
    - SDnodeObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 3616
      start: 3562
    functionDepth: 0
    functionLinenumber: 3562
    functionLinenumberEnd: 3616
    functionName: mndBalanceVgroupBetweenDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndReleaseDb
    - mndAcquireDb
    - mError
    - taosHashGet
    - sdbFetch
    - mndSetBalanceVgroupInfoToTrans
    - sdbCancelFetch
    - taosHashPut
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBalanceVgroupBetweenDnode(SMnode *pMnode, STrans
      *pTrans, SDnodeObj *pSrc, SDnodeObj *pDst, SHashObj *pBalancedVgroups) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:231,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:257,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SVgObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: mndVgroupActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mTrace
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndVgroupActionUpdate(SSdb *pSdb, SVgObj *pOld, SVgObj
      *pNew) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1393,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1405,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1406,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1429,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1436,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1429,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1443,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1447,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1447,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1483,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1408,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1439,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1461,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1467,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1468,1
    - Dst: calculateRstoreFinishTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1478,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1480,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1481,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1495,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1463,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1463,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1397,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1411,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1412,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1419,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1426,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1444,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1453,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1460,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1470,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1490,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1487,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1414,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1434,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1427,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1424,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1443,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1452,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1455,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1455,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1498,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1483,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1490,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1488,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 109
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1503
      start: 1387
    functionDepth: 0
    functionLinenumber: 1387
    functionLinenumberEnd: 1503
    functionName: mndRetrieveVnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndAcquireDnode
    - calculateRstoreFinishTime
    - taosArrayGet
    - mndIsDnodeOnline
    - mndGetDbStr
    - colDataSetVal
    - mError
    - syncStr
    - tstrerror
    - STR_TO_VARSTR
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveVnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2109,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2185,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2237,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2093,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2109,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2114,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2137,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2245,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2173,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2111,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2112,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2139,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2191,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2225,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2250,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2254,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2252,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2139,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2154,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2168,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2111,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2141,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2148,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2106,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2095,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2127,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2219,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2241,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2202,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2186,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2214,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2243,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2097,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2126,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2152,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2233,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2165,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2187,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2245,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2137,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2124,1
    - Dst: mndAddAlterVnodeConfirmAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2112,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2189,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2141,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2179,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2191,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2146,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2156,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2183,1
    - Dst: mndAddAlterVnodeReplicaAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2198,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2206,1
    - Dst: mndAddVnodeToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2173,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2201,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2198,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2202,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2157,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2120,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2130,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2132,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2162,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2172,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2240,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2217,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2201,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2220,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2221,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2239,1
    - Dst: mndSetForceDropCreateStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2218,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2177,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2228,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2128,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2167,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 163
    argCount: 8
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - vnIndex
    - pArray
    - force
    - unsafe
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - int32_t
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 2255
      start: 2089
    functionDepth: 0
    functionLinenumber: 2089
    functionLinenumberEnd: 2255
    functionName: mndSetMoveVgroupInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAddVnodeToVgroup
    - sdbFetch
    - mndTransAppendCommitlog
    - mndAddDropVnodeAction
    - TAOS_CHECK_RETURN
    - sdbCancelFetch
    - mndAddAlterVnodeConfirmAction
    - memcpy
    - mndSetForceDropCreateStbRedoActions
    - mndAddAlterVnodeReplicaAction
    - mndTransAppendRedolog
    - mError
    - memset
    - sdbFreeRaw
    - mInfo
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - strcmp
    - tstrerror
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetMoveVgroupInfoToTrans(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup, int32_t vnIndex, SArray *pArray, bool force, bool
      unsafe) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - vgId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 269
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 269
    functionName: mndAcquireVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SVgObj*
    signature: 'SVgObj *mndAcquireVgroup(SMnode *pMnode, int32_t vgId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1508
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1508
    functionName: mndCancelGetNextVnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextVnode(SMnode *pMnode, void *pIter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2259,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2283,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2269,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2282,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2263,1
    - Dst: mndSetMoveVgroupInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2284,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2285,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2288,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2291,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2297,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - delDnodeId
    - force
    - unsafe
    argTypes:
    - SMnode*
    - STrans*
    - int32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 2298
      start: 2257
    functionDepth: 0
    functionLinenumber: 2257
    functionLinenumberEnd: 2298
    functionName: mndSetMoveVgroupsInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    - mndReleaseDb
    - taosArrayDestroy
    - mndAcquireDb
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndBuildDnodesArray
    - mndSetMoveVgroupInfoToTrans
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetMoveVgroupsInfoToTrans(SMnode *pMnode, STrans *pTrans,
      int32_t delDnodeId, bool force, bool unsafe) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSForceBecomeFollowerReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2764,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2778,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2771,1
    - Dst: tSerializeSForceBecomeFollowerReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2781,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2779,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2783,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - pMnode
    - pVgroup
    - dnodeId
    - pContLen
    argTypes:
    - SMnode*
    - SVgObj*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2788
      start: 2759
    functionDepth: 0
    functionLinenumber: 2759
    functionLinenumberEnd: 2788
    functionName: mndBuildSForceBecomeFollowerReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryMalloc
    - tSerializeSForceBecomeFollowerReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildSForceBecomeFollowerReq(SMnode *pMnode, SVgObj
      *pVgroup, int32_t dnodeId, int32_t *pContLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1835,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1842,1
    - Dst: mndBuildAlterVnodeConfigReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1838,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1849,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1850,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1851,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1854,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1855
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1855
    functionName: mndAddAlterVnodeConfigAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndBuildAlterVnodeConfigReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddAlterVnodeConfigAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3305,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3312,1
    - Dst: appendActionCb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3314,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3318,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - pTrans
    - pVg
    - vgStatus
    - stage
    argTypes:
    - STrans*
    - SVgObj*
    - ESdbStatus
    - ETrnStage
    constantsTouched: []
    func_position:
      end: 3322
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3322
    functionName: mndAddVgStatusAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mError
    - sdbSetRawStatus
    - tstrerror
    - appendActionCb
    - TAOS_RETURN
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddVgStatusAction(STrans *pTrans, SVgObj *pVg, ESdbStatus
      vgStatus, ETrnStage stage) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1859,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1868,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1866,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1867,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1866,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1871,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1872,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1875,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1878,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1879,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVg
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1880
      start: 1857
    functionDepth: 0
    functionLinenumber: 1857
    functionLinenumberEnd: 1880
    functionName: mndAddNewVgPrepareAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndVgroupActionEncode
    - mError
    - sdbSetRawStatus
    - tstrerror
    - TAOS_RETURN
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddNewVgPrepareAction(SMnode *pMnode, STrans *pTrans, SVgObj
      *pVg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2792,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2800,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2801,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2796,1
    - Dst: mndBuildSForceBecomeFollowerReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2804,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2808,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2815,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2816,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2817,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:2820,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - dnodeId
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2821
      start: 2790
    functionDepth: 0
    functionLinenumber: 2790
    functionLinenumberEnd: 2821
    functionName: mndAddBalanceVgroupLeaderAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndReleaseDnode
    - mndBuildSForceBecomeFollowerReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddBalanceVgroupLeaderAction(SMnode *pMnode, STrans *pTrans,
      SVgObj *pVgroup, int32_t dnodeId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3327,1
    - Dst: appendActionCb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3333,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3334,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3336,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3336,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3340,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:3343,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - pTrans
    - pDb
    - dbStatus
    - stage
    argTypes:
    - STrans*
    - SDbObj*
    - ESdbStatus
    - ETrnStage
    constantsTouched: []
    func_position:
      end: 3344
      start: 3324
    functionDepth: 0
    functionLinenumber: 3324
    functionLinenumberEnd: 3344
    functionName: mndAddDbStatusAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mError
    - sdbSetRawStatus
    - tstrerror
    - appendActionCb
    - TAOS_RETURN
    - sdbFreeRaw
    - mndDbActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddDbStatusAction(STrans *pTrans, SDbObj *pDb, ESdbStatus
      dbStatus, ETrnStage stage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:765,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:767,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - dnodeList
    - dnodeId
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 773
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 773
    functionName: isDnodeInList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool isDnodeInList(SArray *dnodeList, int32_t dnodeId) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1131,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1162,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1168,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1168,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1184,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1214,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1250,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1255,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1273,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1273,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1287,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1263,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1269,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1265,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1149,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1172,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1173,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1181,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1186,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1186,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1192,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1195,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1196,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1244,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1277,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1295,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1244,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1280,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1127,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1132,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1151,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1151,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1157,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1165,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1163,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1175,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1239,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1242,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1252,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1280,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1257,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1139,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1143,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1148,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1163,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1159,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1166,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1163,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1159,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1202,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1214,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1254,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1284,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1241,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1257,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1278,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1287,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1262,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1291,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1264,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1285,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 155
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1300
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1300
    functionName: mndRetrieveVgroups
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mndIsDnodeOnline
    - colDataSetVal
    - syncStr
    - sdbFetch
    - varDataSetLen
    - taosGetTimestampMs
    - sdbRelease
    - mndReleaseDb
    - colDataSetNULL
    - varDataVal
    - STR_WITH_MAXSIZE_TO_VARSTR
    - taosArrayGet
    - mndAcquireDb
    - mError
    - tstrncpy
    - mndAcquireDnode
    - snprintf
    - mndReleaseDnode
    - tNameFromString
    - tstrerror
    - strlen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveVgroups(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1513,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1532,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1540,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1563,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1555,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1520,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1538,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1542,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1549,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1567,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1565,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1569,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1514,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1535,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1559,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1562,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1561,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1567,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1519,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1515,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1573,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1573,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - pArray
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1575
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1575
    functionName: mndAddVnodeToVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - taosArrayGet
    - mError
    - sdbSetRawStatus
    - mndGetVgroupMemory
    - tstrerror
    - taosArraySort
    - TAOS_RETURN
    - sdbFreeRaw
    - taosArrayGetSize
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddVnodeToVgroup(SMnode *pMnode, STrans *pTrans,
      SVgObj *pVgroup, SArray *pArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1305
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1305
    functionName: mndCancelGetNextVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextVgroup(SMnode *pMnode, void *pIter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1579,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1586,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1600,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1611,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1629,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1616,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1631,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1581,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1626,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1631,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1582,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1587,1
    - Dst: mndGetVgroupMemory
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1592,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1594,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1610,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1610,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1580,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1623,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1627,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:1625,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - pArray
    - pDelVgid
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - SArray*
    - SVnodeGid*
    constantsTouched: []
    func_position:
      end: 1635
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1635
    functionName: mndRemoveVnodeFromVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndVgroupActionEncode
    - taosArrayGet
    - mError
    - sdbSetRawStatus
    - memset
    - mndGetVgroupMemory
    - tstrerror
    - taosArraySort
    - TAOS_RETURN
    - sdbFreeRaw
    - taosArrayGetSize
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRemoveVnodeFromVgroup(SMnode *pMnode, STrans *pTrans,
      SVgObj *pVgroup, SArray *pArray, SVnodeGid *pDelVgid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 1
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 3298
      start: 3296
    functionDepth: 0
    functionLinenumber: 3296
    functionLinenumberEnd: 3298
    functionName: mndAddAdjustVnodeHashRangeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddAdjustVnodeHashRangeAction(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pVgroup
    argTypes:
    - SSdb*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    functionName: mndVgroupActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndVgroupActionInsert(SSdb *pSdb, SVgObj *pVgroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:429,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:445,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:444,1
    - Dst: tSerializeSAlterVnodeConfigReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:430,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:437,1
    - Dst: tSerializeSAlterVnodeConfigReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:447,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:448,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:449,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:449,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - pMnode
    - pDb
    - pVgroup
    - pContLen
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 455
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 455
    functionName: mndBuildAlterVnodeConfigReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - tSerializeSAlterVnodeConfigReq
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildAlterVnodeConfigReq(SMnode *pMnode, SDbObj *pDb,
      SVgObj *pVgroup, int32_t *pContLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:85,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:72,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:61,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:62,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:64,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:63,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:65,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:66,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:67,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:68,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:69,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:70,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:80,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:78,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:82,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:81,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:83,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:75,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:74,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:77,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 86
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 86
    functionName: mndInitVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitVgroup(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pVgroup
    argTypes:
    - SSdb*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: mndVgroupActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndVgroupActionDelete(SSdb *pSdb, SVgObj *pVgroup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:481,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:506,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:487,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:500,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:486,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:509,1
    - Dst: tSerializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:518,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:524,1
    - Dst: tSerializeSAlterVnodeReplicaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:530,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:531,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:532,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c:531,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 51
    argCount: 5
    argNames:
    - pMnode
    - pDb
    - pVgroup
    - dnodeId
    - pContLen
    argTypes:
    - SMnode*
    - SDbObj*
    - SVgObj*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 538
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 538
    functionName: mndBuildAlterVnodeReplicaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndVgroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireDnode
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - mndReleaseDnode
    - tSerializeSAlterVnodeReplicaReq
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildAlterVnodeReplicaReq(SMnode *pMnode, SDbObj *pDb,
      SVgObj *pVgroup, int32_t dnodeId, int32_t *pContLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:19,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:23,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:20,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:21,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:24,1
    - Dst: initDynViewVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:27,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 43
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 43
    functionName: mndInitView
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - mndAddShowRetrieveHandle
    - initDynViewVersion
    - mndSetMsgHandle
    - mndAddShowFreeIterHandle
    - sdbSetTable
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitView(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSViewMetaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:83,1
    - Dst: mndProcessViewMetaReqImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:87,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: mndProcessGetViewMetaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tDeserializeSViewMetaReq
    - mndProcessViewMetaReqImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessGetViewMetaReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCMCreateViewReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:52,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:56,1
    - Dst: mndProcessCreateViewReqImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:58,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: mndProcessCreateViewReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_RETURN
    - tDeserializeSCMCreateViewReq
    - mndProcessCreateViewReqImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessCreateViewReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 45
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 45
    functionName: mndCleanupView
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - mDebug
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupView(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSCMDropViewReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:67,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:68,1
    - Dst: mndProcessDropViewReqImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:73,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: mndProcessDropViewReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - mInfo
    - tDeserializeSCMDropViewReq
    - mndProcessDropViewReqImpl
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessDropViewReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndRetrieveViewImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: mndRetrieveView
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - mndRetrieveViewImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRetrieveView(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndView.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 102
    functionName: mndCancelGetNextView
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndView.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'void mndCancelGetNextView(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 37
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 37
    functionName: mndCleanupCompactDetail
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mDebug
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupCompactDetail(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCompact
    argTypes:
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: tFreeCompactDetailObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tFreeCompactDetailObj(SCompactDetailObj *pCompact) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:152,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:154,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:156,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:158,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:160,1
    - Dst: tDecodeI32v
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:164,1
    - Dst: tDecodeI64v
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:165,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:153,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:155,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:159,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:157,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:161,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:174,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:150,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:152,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:156,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:158,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:160,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:163,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:164,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:165,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:171,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:153,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:155,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:159,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:157,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:161,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pObj
    argTypes:
    - void*
    - int32_t
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 176
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 176
    functionName: tDeserializeSCompactDetailObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeI64v
    - tDecodeI32v
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecodeIsEnd
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tDeserializeSCompactDetailObj(void *buf, int32_t bufLen,
      SCompactDetailObj *pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:237,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:261,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:243,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:247,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:253,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:262,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:267,1
    - Dst: tDeserializeSCompactDetailObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:269,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:274,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:276,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:281,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:277,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:276,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 283
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 283
    functionName: mndCompactDetailActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - tDeserializeSCompactDetailObj
    - terrstr
    - mError
    - mTrace
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndCompactDetailActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:291,1
    - Dst: tFreeCompactDetailObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pCompact
    argTypes:
    - SSdb*
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: mndCompactDetailActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mTrace
    - tFreeCompactDetailObj
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactDetailActionDelete(SSdb *pSdb, SCompactDetailObj
      *pCompact) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:22,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:34,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: mndInitCompactDetail
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowRetrieveHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitCompactDetail(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:50,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:84,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:87,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:91,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:95,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:107,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:52,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:49,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:83,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:86,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:87,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:90,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:91,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:94,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:95,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:98,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:47,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:55,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:61,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:71,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:75,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:79,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:100,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:103,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:52,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:70,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:71,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:79,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:82,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:78,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:75,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:74,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:99,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 109
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 109
    functionName: mndRetrieveCompactDetail
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_RETURN_WITH_RELEASE
    - taosArrayGet
    - mndReleaseDb
    - strchr
    - mndAcquireDb
    - colDataSetVal
    - strcmp
    - strlen
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRetrieveCompactDetail(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:118,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:120,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:122,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:124,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:126,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:128,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:131,1
    - Dst: tEncodeI64v
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:132,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:121,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:123,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:125,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:127,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:129,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:134,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:120,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:122,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:124,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:126,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:128,1
    - Dst: tEncodeI32v
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:131,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:132,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:142,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:121,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:123,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:125,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:127,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pObj
    argTypes:
    - void*
    - int32_t
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 144
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 144
    functionName: tSerializeSCompactDetailObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeI32v
    - tStartEncode
    - tEncodeI64
    - tEncodeI64v
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tSerializeSCompactDetailObj(void *buf, int32_t bufLen,
      const SCompactDetailObj *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCompactDetailObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:186,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:212,1
    - Dst: tSerializeSCompactDetailObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:205,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:199,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:193,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:213,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:214,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:217,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:219,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:219,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:224,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:220,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - pCompact
    argTypes:
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 226
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 226
    functionName: mndCompactDetailActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryMalloc
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - tSerializeSCompactDetailObj
    - sdbAllocRaw
    - sdbFreeRaw
    - taosMemoryFreeClear
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndCompactDetailActionEncode(SCompactDetailObj *pCompact) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:286,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pCompact
    argTypes:
    - SSdb*
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: mndCompactDetailActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactDetailActionInsert(SSdb *pSdb, SCompactDetailObj
      *pCompact) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pSdb
    - pOldCompact
    - pNewCompact
    argTypes:
    - SSdb*
    - SCompactDetailObj*
    - SCompactDetailObj*
    constantsTouched: []
    func_position:
      end: 304
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 304
    functionName: mndCompactDetailActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactDetailActionUpdate(SSdb *pSdb, SCompactDetailObj
      *pOldCompact, SCompactDetailObj *pNewCompact) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:314,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:325,1
    - Dst: mndCompactDetailActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:323,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:320,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:326,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:329,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:331,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pCompact
    - pVgroup
    - pVgid
    - index
    argTypes:
    - SMnode*
    - STrans*
    - SCompactObj*
    - SVgObj*
    - SVnodeGid*
    - int32_t
    constantsTouched: []
    func_position:
      end: 334
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 334
    functionName: mndAddCompactDetailToTran
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompactDetail.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_RETURN
    - mndCompactDetailActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddCompactDetailToTran(SMnode *pMnode, STrans *pTrans,
      SCompactObj *pCompact, SVgObj *pVgroup, SVnodeGid *pVgid, int32_t index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:250,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:258,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:254,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:251,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:256,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:258,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:262,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:268,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:273,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 274
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 274
    functionName: mndSetCreateSnodeUndoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendUndoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSnodeUndoActions(STrans *pTrans, SDnodeObj
      *pDnode, SSnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:281,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:284,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:290,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:292,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:294,1
    - Dst: mndSetCreateSnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:295,1
    - Dst: mndSetCreateSnodeUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:296,1
    - Dst: mndSetCreateSnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:296,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:304,1
    - Dst: mndSetCreateSnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:297,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:299,1
    - Dst: mndSetCreateSnodeUndoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:299,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:305,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:297,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDnode
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDnodeObj*
    - SMCreateSnodeReq*
    constantsTouched: []
    func_position:
      end: 306
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 306
    functionName: mndCreateSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - mndSetCreateSnodeRedoActions
    - mndSetCreateSnodeRedoLogs
    - TAOS_RETURN
    - mndSetCreateSnodeUndoLogs
    - mndTransDrop
    - mndTransCreate
    - mndSetCreateSnodeCommitLogs
    - mndSetCreateSnodeUndoActions
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateSnode(SMnode *pMnode, SRpcMsg *pReq, SDnodeObj
      *pDnode, SMCreateSnodeReq *pCreate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: mndCancelGetNextSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextSnode(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pMnode
    - pSnode
    argTypes:
    - SMnode*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: mndAcquireEpFromSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet mndAcquireEpFromSnode(SMnode *pMnode, const SSnodeObj *pSnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:177,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:184,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:183,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:181,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:183,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:184,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: mndSetCreateSnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndSnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSnodeRedoLogs(STrans *pTrans, SSnodeObj
      *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:375,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:373,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:375,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:376,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:376,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: mndSetDropSnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndSnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSnodeCommitLogs(STrans *pTrans, SSnodeObj
      *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:413,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:416,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:414,1
    - Dst: mndSetDropSnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:413,1
    - Dst: mndSetDropSnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:414,1
    - Dst: mndSetDropSnodeRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pObj
    - force
    argTypes:
    - SMnode*
    - STrans*
    - SSnodeObj*
    - bool
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: mndSetDropSnodeInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndSetDropSnodeCommitLogs
    - TAOS_CHECK_RETURN
    - mndSetDropSnodeRedoLogs
    - mndSetDropSnodeRedoActions
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropSnodeInfoToTrans(SMnode *pMnode, STrans *pTrans,
      SSnodeObj *pObj, bool force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:68,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - snodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: mndAcquireSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SSnodeObj*
    signature: 'SSnodeObj *mndAcquireSnode(SMnode *pMnode, int32_t snodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:190,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:197,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:194,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:196,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:196,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:197,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: mndSetCreateSnodeUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendUndolog
    - mndSnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSnodeUndoLogs(STrans *pTrans, SSnodeObj
      *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:385,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:386,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:393,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:389,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:391,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:393,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:397,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:403,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:405,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 409
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 409
    functionName: mndSetDropSnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSnodeRedoActions(STrans *pTrans, SDnodeObj
      *pDnode, SSnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:424,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:433,1
    - Dst: mndSetDropSnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:433,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:432,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:430,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:434,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:434,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:439,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:440,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pObj
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 441
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 441
    functionName: mndDropSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndSetDropSnodeInfoToTrans
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropSnode(SMnode *pMnode, SRpcMsg *pReq, SSnodeObj
      *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:47,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:50,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:48,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:52,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:49,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:53,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 56
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 56
    functionName: mndInitSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitSnode(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pObj
    argTypes:
    - SMnode*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: mndReleaseSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseSnode(SMnode *pMnode, SSnodeObj *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:115,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:130,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:129,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:125,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:122,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:131,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:132,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:138,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:138,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:139,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 145
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 145
    functionName: mndSnodeActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndSnodeActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:160,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: mndSnodeActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSnodeActionDelete(SSdb *pSdb, SSnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:207,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:209,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:210,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:209,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:210,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: mndSetCreateSnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndSnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSnodeCommitLogs(STrans *pTrans, SSnodeObj
      *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 58
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 58
    functionName: mndCleanupSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupSnode(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:85,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:91,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:90,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:89,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:98,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:98,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:99,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:103,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 105
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 105
    functionName: mndSnodeActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndSnodeActionEncode(SSnodeObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:148,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:152,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:149,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: mndSnodeActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - mError
    - sdbAcquire
    - terrstr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSnodeActionInsert(SSdb *pSdb, SSnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SSnodeObj*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 173
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 173
    functionName: mndSnodeActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSnodeActionUpdate(SSdb *pSdb, SSnodeObj *pOld, SSnodeObj
      *pNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:219,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:223,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:220,1
    - Dst: tSerializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:225,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:227,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:227,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:231,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:237,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:238,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:239,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - pTrans
    - pDnode
    - pObj
    argTypes:
    - STrans*
    - SDnodeObj*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 243
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 243
    functionName: mndSetCreateSnodeRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - terrstr
    - mError
    - tSerializeSCreateDropMQSNodeReq
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSnodeRedoActions(STrans *pTrans, SDnodeObj
      *pDnode, SSnodeObj *pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:315,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:317,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:315,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:318,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:328,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:333,1
    - Dst: mndCreateSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:339,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:344,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:344,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:345,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:349,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:351,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:350,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 352
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 352
    functionName: mndProcessCreateSnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireDnode
    - tDeserializeSCreateDropMQSNodeReq
    - mndCreateSnode
    - tFreeSMCreateQnodeReq
    - mError
    - mndReleaseDnode
    - mndCheckOperPrivilege
    - sdbGetSize
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateSnodeReq(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:449,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:451,1
    - Dst: tDeserializeSCreateDropMQSNodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:449,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:452,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:452,1
    - Dst: mndAcquireSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:459,1
    - Dst: mndDropSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:467,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:472,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:472,1
    - Dst: mndReleaseSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:475,1
    - Dst: tFreeSMCreateQnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:476,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:477,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 478
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 478
    functionName: mndProcessDropSnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - tDeserializeSCreateDropMQSNodeReq
    - tFreeSMCreateQnodeReq
    - mError
    - mndCheckOperPrivilege
    - mndDropSnode
    - tstrerror
    - TAOS_RETURN
    - mndReleaseSnode
    - mndAcquireSnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropSnodeReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:356,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:360,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:363,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:362,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:363,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: mndSetDropSnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - mndSnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSnodeRedoLogs(STrans *pTrans, SSnodeObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:488,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:492,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:496,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:493,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:498,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:499,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:501,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:502,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:502,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c:506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 512
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 512
    functionName: mndRetrieveSnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN_WITH_RELEASE
    - taosArrayGet
    - colDataSetVal
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveSnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:375,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:383,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:379,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:382,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:383,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:384,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:384,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:385,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:385,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:385,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:386,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:386,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:390,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:387,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:390,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:386,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: dumpSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpSubscribe(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:620,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:622,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:623,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:625,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:626,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:627,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:628,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:629,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:633,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:627,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:617,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:619,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:620,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:621,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:623,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:624,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:625,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:626,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:629,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:629,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:639,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:633,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:639,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:618,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:619,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:621,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:624,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:629,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:631,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:631,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:633,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:631,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:635,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:633,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:610,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:618,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:614,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:619,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:621,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:622,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:622,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:620,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:623,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:624,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:628,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:631,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:625,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 52
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 640
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 640
    functionName: dumpTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpTrans(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:679,1
    - Dst: syncInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:690,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:697,1
    - Dst: dumpVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:703,1
    - Dst: dumpStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:708,1
    - Dst: dumpAcct
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:709,1
    - Dst: dumpSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:713,1
    - Dst: dumpTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:717,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:728,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:730,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:729,1
    - Dst: tmsgSetDefault
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:687,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:690,1
    - Dst: mndOpen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:693,1
    - Dst: dumpTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:704,1
    - Dst: dumpAuth
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:710,1
    - Dst: dumpQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:714,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:724,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:724,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:727,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:731,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:732,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:676,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:689,1
    - Dst: dumpFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:699,1
    - Dst: dumpConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:705,1
    - Dst: dumpStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:701,1
    - Dst: dumpUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:711,1
    - Dst: dumpMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:715,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:719,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:720,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:727,1
    - Dst: walInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:689,1
    - Dst: dumpHeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:698,1
    - Dst: dumpDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:700,1
    - Dst: dumpSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:706,1
    - Dst: dumpSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:702,1
    - Dst: dumpDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:712,1
    - Dst: dumpCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:716,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:722,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:728,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:729,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 736
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 736
    functionName: mndDumpSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - taosFsyncFile
    - dumpTrans
    - syncInit
    - dumpUser
    - taosMemoryFree
    - dumpAcct
    - terrstr
    - dumpHeader
    - dumpSnode
    - tjsonToString
    - taosOpenFile
    - tjsonDelete
    - dumpDnode
    - TAOS_CHECK_RETURN
    - dumpStb
    - tmsgSetDefault
    - dumpStream
    - dumpFunc
    - walInit
    - mndOpen
    - taosCloseFile
    - dumpTopic
    - mError
    - dumpSubscribe
    - dumpMnode
    - tjsonCreateObject
    - dumpConsumer
    - dumpCluster
    - dumpAuth
    - mInfo
    - snprintf
    - dumpQnode
    - taosWriteFile
    - dumpDb
    - strlen
    - dumpVgroup
    - dumpSma
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDumpSdb() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:739,1
    - Dst: walInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:752,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:742,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:752,1
    - Dst: tmsgSetDefault
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:750,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:753,1
    - Dst: syncInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:753,1
    - Dst: mndOpen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:756,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:759,1
    - Dst: sdbWriteFileForDump
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:759,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 764
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 764
    functionName: mndDeleteTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - mInfo
    - syncInit
    - snprintf
    - mndOpen
    - sdbWriteFileForDump
    - TAOS_CHECK_RETURN
    - tmsgSetDefault
    - walInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDeleteTrans() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:406,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:408,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:410,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:411,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:413,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:414,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:414,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:415,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:416,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:416,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:421,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:423,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:413,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:421,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:420,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:397,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:405,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:406,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:407,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:409,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:408,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:411,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:412,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:413,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:414,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:418,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:431,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:420,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:419,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:425,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:416,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:415,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:405,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:407,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:409,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:412,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:419,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:420,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:422,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:423,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:426,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:428,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:423,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:426,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:426,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:418,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:419,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:401,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:404,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:406,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:407,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:408,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:410,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:409,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:410,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:411,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:412,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:422,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:422,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:425,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:415,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:431,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:421,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:425,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:418,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 432
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 432
    functionName: dumpStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - mndGetDbStr
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - mndGetStbStr
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpStream(SSdb *pSdb, SJson *json) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:645,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:645,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:646,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:647,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:658,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:658,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:661,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:668,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:672,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:645,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:646,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:648,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:650,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:658,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:668,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:672,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:647,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:658,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:651,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:648,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:662,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:646,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:647,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:648,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:651,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:662,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:668,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:668,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 673
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 673
    functionName: dumpHeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - i642str
    - mError
    - tstrerror
    - tjsonAddItemToObject
    - sdbTableName
    - tjsonCreateObject
    - tjsonAddStringToObject
    linkageType: ''
    returnType: void
    signature: 'void dumpHeader(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:34,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: sendReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sendReq(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:83,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:93,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:125,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:157,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:118,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:83,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:91,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:96,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:98,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:99,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:107,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:116,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:103,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:106,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:123,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:105,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:114,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:131,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:139,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:156,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:165,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:148,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:131,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:151,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:162,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:82,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:90,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:93,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:152,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:143,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:95,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:94,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:129,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:136,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:155,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:156,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:158,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:159,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:135,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:100,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:93,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:94,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:103,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:145,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:157,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:116,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:123,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:110,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:114,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:98,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:101,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:105,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:106,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:125,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:120,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:121,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:112,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:130,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:137,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:156,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:159,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:135,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:141,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:107,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:121,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:118,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:127,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:129,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:130,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:133,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:136,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:137,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:143,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:87,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:97,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:129,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:145,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:153,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:158,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:132,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:139,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:143,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:97,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:100,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:101,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:103,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:112,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:120,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:110,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:153,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:114,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:121,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:108,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:105,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:112,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:123,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:95,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:98,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:119,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:128,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:139,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:96,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:99,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:107,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:108,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:119,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:118,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:127,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:128,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:133,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:135,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:106,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:97,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:125,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:116,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:132,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:133,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:136,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:141,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:141,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:145,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:131,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:137,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:158,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:165,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:157,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:127,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:132,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:130,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:108,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:120,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:110,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:119,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:91,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:96,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:99,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:100,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:101,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:128,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:148,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 149
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 166
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 166
    functionName: dumpDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - mndGetDbStr
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - tjsonAddItemToObject
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpDb(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:563,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:567,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:570,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:571,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:571,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:572,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:572,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:572,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:573,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:573,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:578,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:574,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:578,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:574,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:574,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:573,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 579
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 579
    functionName: dumpMnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpMnode(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: sendSyncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sendSyncReq(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:179,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:200,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:215,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:218,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:228,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:229,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:230,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:209,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:180,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:188,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:195,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:198,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:210,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:213,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:214,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:215,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:226,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:193,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:194,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:202,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:183,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:182,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:185,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:186,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:191,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:196,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:192,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:226,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:218,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:229,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:236,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:181,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:182,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:185,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:191,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:192,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:193,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:190,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:194,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:195,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:222,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:200,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:212,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:218,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:228,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:230,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:202,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:198,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:209,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:197,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:172,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:184,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:188,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:187,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:213,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:225,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:182,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:185,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:233,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:225,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:183,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:186,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:187,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:190,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:192,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:206,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:203,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:193,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:197,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:194,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:181,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:199,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:189,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:180,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:200,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:212,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:227,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:228,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:196,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:184,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:187,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:197,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:209,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:213,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:225,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:188,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:189,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:199,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:210,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:198,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:195,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:206,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:214,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:227,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:183,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:186,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:196,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:221,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:222,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:205,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:176,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:181,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:184,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:190,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:202,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:229,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:189,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:199,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:212,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:214,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:219,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:227,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:236,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:191,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 123
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 237
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 237
    functionName: dumpStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - mndGetDbStr
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - mndGetStbStr
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpStb(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:598,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:597,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:586,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:593,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:595,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:598,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:597,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:594,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:595,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:590,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:594,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:595,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:596,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:596,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:597,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:603,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:596,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:603,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:599,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 604
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 604
    functionName: dumpCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpCluster(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - name
    - desc
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: reportStartup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void reportStartup(const char *name, const char *desc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:253,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:255,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:258,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:260,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:262,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:263,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:265,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:265,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:266,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:267,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:265,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:264,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:262,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:247,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:252,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:253,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:254,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:255,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:256,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:257,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:258,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:259,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:260,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:261,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:272,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:264,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:272,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:276,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:271,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:268,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:261,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:263,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:276,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:251,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:252,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:254,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:256,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:257,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:259,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:261,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:264,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:266,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:267,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:271,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:260,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:263,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:272,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:271,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:267,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:269,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:262,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:268,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:243,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:250,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:251,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:252,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:254,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:255,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:253,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:256,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:257,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:258,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:259,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:266,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:269,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:268,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:273,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 277
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 277
    functionName: dumpSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - mndGetDbStr
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - mndGetStbStr
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpSma(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:477,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:480,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:488,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:483,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:465,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:473,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:475,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:477,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:478,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:476,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:479,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:480,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:481,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:473,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:474,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:475,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:478,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:476,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:479,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:481,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:481,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:483,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:485,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:469,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:472,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:474,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:476,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:478,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:479,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:477,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:480,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:481,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:483,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 489
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 489
    functionName: dumpUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - taosHashGetSize
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpUser(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:519,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:527,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:527,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:523,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:526,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:528,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:528,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:528,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:529,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:529,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:530,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:531,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:534,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:530,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:529,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:530,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:534,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 535
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 535
    functionName: dumpSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpSnode(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:29,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: sendRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    linkageType: ''
    returnType: void
    signature: 'void sendRsp(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:283,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:290,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:292,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:293,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:294,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:294,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:295,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:296,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:297,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:298,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:305,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:309,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:306,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:291,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:292,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:295,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:294,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:297,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:299,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:303,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:305,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:306,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:300,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:291,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:287,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:292,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:293,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:295,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:296,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:297,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:298,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:299,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:300,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:312,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:293,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:296,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:298,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:300,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:301,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:304,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:306,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:301,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:299,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 313
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 313
    functionName: dumpVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - mndGetDbStr
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpVgroup(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:495,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:502,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:504,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:505,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:507,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:506,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:509,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:512,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:512,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:503,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:504,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:507,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:508,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:499,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:503,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:504,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:506,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:508,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:505,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:507,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:505,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:506,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 513
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 513
    functionName: dumpDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpDnode(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:541,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:549,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:545,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:548,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:549,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:550,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:550,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:550,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:551,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:551,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:553,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:556,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:552,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:552,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:552,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:556,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 557
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 557
    functionName: dumpQnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpQnode(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - val
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: i642str
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char*
    signature: 'char *i642str(int64_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:319,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:326,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:328,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:330,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:332,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:331,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:333,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:334,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:334,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:335,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:337,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:336,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:327,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:328,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:331,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:333,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:336,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:338,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:340,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:341,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:343,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:343,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:347,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:343,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:336,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:347,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:342,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:340,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:335,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:323,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:327,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:328,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:329,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:329,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:331,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:330,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:329,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:332,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:333,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:339,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:342,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:341,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:339,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:341,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:330,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:332,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:334,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:335,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:337,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:338,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:339,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:342,1
    - Dst: mndGetStableStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:338,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:337,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:340,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 61
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 348
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 348
    functionName: dumpTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - mndGetDbStr
    - i642str
    - mndGetStableStr
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpTopic(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:438,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:445,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:447,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:448,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:450,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:446,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:448,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:449,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:446,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:442,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:454,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:454,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:450,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:449,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:451,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:447,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:448,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:450,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: dumpAcct
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpAcct(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:52,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:62,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:63,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:65,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:65,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:66,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:67,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:68,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:69,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:70,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:56,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:64,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:64,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:64,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:63,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:66,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:68,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:70,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:71,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:72,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:70,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:61,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:65,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:63,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:66,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:67,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:68,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:69,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:71,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:71,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:60,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:59,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:60,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:61,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:62,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:62,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:67,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:69,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:75,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 76
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 76
    functionName: dumpFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpFunc(SSdb *pSdb, SJson *json) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:354,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:358,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:361,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:362,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:362,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:363,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:363,1
    - Dst: i642str
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:363,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:364,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:364,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:368,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:368,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 369
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 369
    functionName: dumpConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached:
    - i642str
    - tjsonAddItemToArray
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void dumpConsumer(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pSdb
    - json
    argTypes:
    - SSdb*
    - SJson*
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: dumpAuth
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDump.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void dumpAuth(SSdb *pSdb, SJson *json) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 21
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 21
    functionName: mndInitPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitPrivilege(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pOperUser
    - pUser
    - pAlter
    argTypes:
    - SUserObj*
    - SUserObj*
    - SAlterUserReq*
    constantsTouched: []
    func_position:
      end: 24
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 24
    functionName: mndCheckAlterUserPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckAlterUserPrivilege(SUserObj *pOperUser, SUserObj *pUser,
      SAlterUserReq *pAlter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pMnode
    - user
    - operType
    - pDb
    argTypes:
    - SMnode*
    - char*
    - EOperType
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 26
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 26
    functionName: mndCheckDbPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckDbPrivilege(SMnode *pMnode, const char *user, EOperType
      operType, SDbObj *pDb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pMnode
    - user
    - operType
    - pTopic
    argTypes:
    - SMnode*
    - char*
    - EOperType
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: mndCheckTopicPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckTopicPrivilege(SMnode *pMnode, const char *user, EOperType
      operType, SMqTopicObj *pTopic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pMnode
    - pUser
    - pRsp
    argTypes:
    - SMnode*
    - SUserObj*
    - SGetUserAuthRsp*
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: mndSetUserAuthRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetUserAuthRsp(SMnode *pMnode, SUserObj *pUser, SGetUserAuthRsp
      *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pMnode
    - user
    - showType
    - dbname
    argTypes:
    - SMnode*
    - char*
    - EShowType
    - char*
    constantsTouched: []
    func_position:
      end: 25
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 25
    functionName: mndCheckShowPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckShowPrivilege(SMnode *pMnode, const char *user, EShowType
      showType, const char *dbname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: mndCleanupPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupPrivilege(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - pMnode
    - user
    - operType
    argTypes:
    - SMnode*
    - char*
    - EOperType
    constantsTouched: []
    func_position:
      end: 23
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 23
    functionName: mndCheckOperPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckOperPrivilege(SMnode *pMnode, const char *user, EOperType
      operType) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pMnode
    - user
    - operType
    - dbname
    argTypes:
    - SMnode*
    - char*
    - EOperType
    - char*
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: mndCheckDbPrivilegeByName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckDbPrivilegeByName(SMnode *pMnode, const char *user,
      EOperType operType, const char *dbname) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c:34,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c:40,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pMnode
    - pUser
    - pWhiteListRsp
    argTypes:
    - SMnode*
    - SUserObj*
    - SGetUserWhiteListRsp*
    constantsTouched: []
    func_position:
      end: 43
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 43
    functionName: mndSetUserWhiteListRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosMemoryMalloc
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetUserWhiteListRsp(SMnode *pMnode, SUserObj *pUser, SGetUserWhiteListRsp
      *pWhiteListRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: mndEnableIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndEnableIpWhiteList(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - ipList
    - buf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: mndFetchIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPrivilege.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndFetchIpWhiteList(SIpWhiteList *ipList, char **buf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 51
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 51
    functionName: mndCleanupCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mDebug
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupCompact(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pSdb
    - pOldCompact
    - pNewCompact
    argTypes:
    - SSdb*
    - SCompactObj*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: mndCompactActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactActionUpdate(SSdb *pSdb, SCompactObj *pOldCompact,
      SCompactObj *pNewCompact) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:314,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:314,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:323,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:325,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:329,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:295,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:313,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:321,1
    - Dst: IS_SYS_DBNAME
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:318,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:325,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:326,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:328,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:333,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:337,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:298,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:293,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:320,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:325,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:323,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:321,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:329,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:339,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:292,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:320,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 341
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 341
    functionName: mndRetrieveCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - sdbFetch
    - varDataSetLen
    - mndReleaseDb
    - tNameGetDbName
    - varDataVal
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - mndAcquireDb
    - mError
    - RETRIEVE_CHECK_GOTO
    - tstrncpy
    - strchr
    - strcmp
    - tNameFromString
    - tstrerror
    - strlen
    - IS_SYS_DBNAME
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRetrieveCompact(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:550,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:562,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:559,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:565,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:560,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - compactId
    - rsp
    argTypes:
    - SMnode*
    - SRpcMsg*
    - int32_t
    - SQueryCompactProgressRsp*
    constantsTouched: []
    func_position:
      end: 569
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 569
    functionName: mndUpdateCompactProgress
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateCompactProgress(SMnode *pMnode, SRpcMsg *pReq,
      int32_t compactId, SQueryCompactProgressRsp *rsp) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:612,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:618,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:615,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:639,1
    - Dst: tSerializeSQueryCompactProgressReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:642,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:661,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:606,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:614,1
    - Dst: tSerializeSQueryCompactProgressReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:625,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:635,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:660,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:652,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:653,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:627,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:633,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:658,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:640,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:666,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:643,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:655,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 2
    argNames:
    - pMnode
    - pCompact
    argTypes:
    - SMnode*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 668
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 668
    functionName: mndCompactSendProgressReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - htonl
    - mndAcquireDnode
    - tmsgSendReq
    - mndReleaseDnode
    - tSerializeSQueryCompactProgressReq
    - mDebug
    - sdbFetch
    - addEpIntoEpSet
    - tsnprintf
    - rpcMallocCont
    - sdbRelease
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'void mndCompactSendProgressReq(SMnode *pMnode, SCompactObj *pCompact) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:32,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:33,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:36,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:34,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:35,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 49
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 49
    functionName: mndInitCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndSetMsgHandle
    - mndAddShowRetrieveHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitCompact(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pCompact
    argTypes:
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 53
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 53
    functionName: tFreeCompactObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tFreeCompactObj(SCompactObj *pCompact) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - compactId
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: mndAcquireCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SCompactObj*
    signature: 'SCompactObj *mndAcquireCompact(SMnode *pMnode, int64_t compactId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:575,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:575,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:580,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:576,1
    - Dst: tDeserializeSQueryCompactProgressRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:578,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:582,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:585,1
    - Dst: mndUpdateCompactProgress
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:590,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:592,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:594,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 598
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 598
    functionName: mndProcessQueryCompactRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - tDeserializeSQueryCompactProgressRsp
    - mndUpdateCompactProgress
    - mError
    - mDebug
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessQueryCompactRsp(SRpcMsg *pReq) '
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:704,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:819,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:816,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:848,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:810,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:851,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:861,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:814,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:741,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:753,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:758,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:855,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:691,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:725,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:864,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:808,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:676,1
    - Dst: mndDbIsExist
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:697,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:795,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:824,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:748,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:751,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:850,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:818,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:812,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:853,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:780,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:736,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:743,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:745,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:680,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:840,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:822,1
    - Dst: mndReleaseCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:838,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:847,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:815,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:820,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:716,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:746,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:781,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:832,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:860,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:707,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:737,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:750,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:811,1
    - Dst: mndCompactActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:837,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:827,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:846,1
    - Dst: mndDbIsExist
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:789,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:859,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:695,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:703,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:709,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:774,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:712,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:744,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:754,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:799,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:843,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:835,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:699,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:752,1
    - Dst: mndCompactDetailActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:803,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:852,1
    - Dst: mndCompactGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:695,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:714,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:775,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:786,1
    - Dst: mndAcquireCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:830,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:846,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:851,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:859,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:721,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:709,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:747,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:821,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:791,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:858,1
    - Dst: mndCompactDetailActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:734,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:738,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:744,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:769,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:845,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:805,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:765,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:813,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 184
    argCount: 2
    argNames:
    - pMnode
    - compactId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 866
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 866
    functionName: mndSaveCompactProgress
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - terrstr
    - mDebug
    - sdbFetch
    - mndDbIsExist
    - mndTransAppendCommitlog
    - TAOS_CHECK_RETURN
    - sdbCancelFetch
    - mndTransCreate
    - mndCompactDetailActionEncode
    - mndAcquireCompact
    - mError
    - mndCompactGetDbName
    - mndTransDrop
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - mWarn
    - mndCompactActionEncode
    - sdbSetRawStatus
    - mndReleaseCompact
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSaveCompactProgress(SMnode *pMnode, int32_t compactId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tGenIdPI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:254,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:256,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:264,1
    - Dst: mndCompactActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:260,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:258,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:266,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:268,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:271,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:272,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pCompact
    - pDb
    - rsp
    argTypes:
    - SMnode*
    - STrans*
    - SCompactObj*
    - SDbObj*
    - SCompactDbRsp*
    constantsTouched: []
    func_position:
      end: 279
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 279
    functionName: mndAddCompactToTran
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndCompactActionEncode
    - sdbSetRawStatus
    - tstrncpy
    - tGenIdPI32
    - TAOS_RETURN
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddCompactToTran(SMnode *pMnode, STrans *pTrans, SCompactObj
      *pCompact, SDbObj *pDb, SCompactDbRsp *rsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pMnode
    - pCompact
    argTypes:
    - SMnode*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: mndReleaseCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseCompact(SMnode *pMnode, SCompactObj *pCompact) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:420,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:420,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:427,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:453,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:457,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:467,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:472,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:490,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:494,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:423,1
    - Dst: mndCompactActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:429,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:433,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:449,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:443,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:455,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:461,1
    - Dst: mndAddKillCompactAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:464,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:485,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:488,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:425,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:434,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:436,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:438,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:456,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:458,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:466,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:468,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:418,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:437,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:439,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:437,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:442,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:441,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:455,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:465,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:465,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:469,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:491,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:489,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 73
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pCompact
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 496
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 496
    functionName: mndKillCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireVgroup
    - mndTransAppendCommitlog
    - mndReleaseVgroup
    - terrstr
    - mError
    - mndCompactActionEncode
    - sdbSetRawStatus
    - mndAddKillCompactAction
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndTransDrop
    - mndTransCreate
    - mndTransSetDbName
    - mndTransPrepare
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndKillCompact(SMnode *pMnode, SRpcMsg *pReq, SCompactObj
      *pCompact) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:871,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:871,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:879,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:880,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:877,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:882,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:885,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:886,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:887,1
    - Dst: mndAcquireCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:888,1
    - Dst: mndCompactSendProgressReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:891,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:893,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:898,1
    - Dst: mndReleaseCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:895,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:890,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:893,1
    - Dst: mndSaveCompactProgress
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:892,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 899
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 899
    functionName: mndCompactPullup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCompactSendProgressReq
    - sdbRelease
    - taosArrayGet
    - mndAcquireCompact
    - taosArrayDestroy
    - mError
    - mndReleaseCompact
    - sdbGetSize
    - tstrerror
    - sdbFetch
    - taosArrayPush
    - mndSaveCompactProgress
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void mndCompactPullup(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:239,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:243,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:248,1
    - Dst: mndReleaseCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:247,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:246,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pMnode
    - compactId
    - dbname
    - len
    argTypes:
    - SMnode*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 249
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 249
    functionName: mndCompactGetDbName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - mndAcquireCompact
    - mndReleaseCompact
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactGetDbName(SMnode *pMnode, int32_t compactId, char
      *dbname, int32_t len) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:514,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:517,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:526,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:524,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:529,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:529,1
    - Dst: tDeserializeSKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:503,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:507,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:519,1
    - Dst: mndKillCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:519,1
    - Dst: mndAcquireCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:510,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:504,1
    - Dst: tFreeSKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:513,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:533,1
    - Dst: tFreeSKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:536,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:533,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:517,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:539,1
    - Dst: mndReleaseCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:537,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 540
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 540
    functionName: mndProcessKillCompactReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - snprintf
    - mndAcquireCompact
    - tFreeSKillCompactReq
    - terrstr
    - mError
    - mndReleaseCompact
    - mndCheckOperPrivilege
    - tstrerror
    - TAOS_RETURN
    - mndKillCompact
    - tDeserializeSKillCompactReq
    - auditRecord
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessKillCompactReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:1007,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:1009,1
    - Dst: mndCompactDispatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:1009,1
    - Dst: mndCompactPullup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1012
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1012
    functionName: mndProcessCompactTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mndCompactDispatch
    - mTrace
    - mndCompactPullup
    - TAOS_UNUSED
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCompactTimer(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:60,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:62,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:63,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:62,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:63,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:64,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:64,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:65,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:65,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:67,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pObj
    argTypes:
    - void*
    - int32_t
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 77
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 77
    functionName: tSerializeSCompactObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - TAOS_CHECK_EXIT
    - tEndEncode
    - tEncodeCStr
    - tStartEncode
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeSCompactObj(void *buf, int32_t bufLen, const SCompactObj
      *pObj) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSCompactObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:105,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:131,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:118,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:112,1
    - Dst: tSerializeSCompactObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:124,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:132,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:133,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:136,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:138,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:138,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:139,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:143,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 1
    argNames:
    - pCompact
    argTypes:
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 145
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 145
    functionName: mndCompactActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryMalloc
    - SDB_SET_INT32
    - tSerializeSCompactObj
    - mError
    - terrstr
    - mTrace
    - SDB_SET_BINARY
    - sdbAllocRaw
    - sdbFreeRaw
    - taosMemoryFreeClear
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndCompactActionEncode(SCompactObj *pCompact) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:913,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:919,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:918,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:917,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:921,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:924,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDb
    - tw
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - STimeWindow*
    constantsTouched: []
    func_position:
      end: 927
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 927
    functionName: mndCompactDispatchAudit
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - auditRecord
    - taosFormatUtcTime
    - tNameFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompactDispatchAudit(SMnode *pMnode, SRpcMsg *pReq,
      SDbObj *pDb, STimeWindow *tw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:83,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:85,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:85,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:86,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:86,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:87,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:87,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:88,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:88,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:90,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufLen
    - pObj
    argTypes:
    - void*
    - int32_t
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: tDeserializeSCompactObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecoderInit
    - tDecodeCStrTo
    - TAOS_CHECK_EXIT
    - tStartDecode
    - tEndDecode
    - tDecodeI64
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDeserializeSCompactObj(void *buf, int32_t bufLen, SCompactObj
      *pObj) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:156,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:162,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:180,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:166,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:172,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:181,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:186,1
    - Dst: tDeserializeSCompactObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:188,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:193,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:195,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:196,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:200,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:195,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 202
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 202
    functionName: mndCompactActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - tDeserializeSCompactObj
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndCompactActionDecode(SSdbRaw *pRaw) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:935,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:942,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:959,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:970,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:951,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:977,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:982,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:986,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:997,1
    - Dst: convertTimePrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:983,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:943,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:961,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:967,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:991,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:994,1
    - Dst: mndCompactDispatchAudit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:997,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:999,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:949,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:940,1
    - Dst: mndCompactDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:985,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:975,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1002
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1002
    functionName: mndCompactDispatch
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mWarn
    - TAOS_UNUSED
    - mndCompactDb
    - convertTimePrecision
    - mDebug
    - tstrerror
    - sdbFetch
    - mndCompactDispatchAudit
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompactDispatch(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pCompact
    argTypes:
    - SSdb*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: mndCompactActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactActionInsert(SSdb *pSdb, SCompactObj *pCompact) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:352,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:360,1
    - Dst: tSerializeSVKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:353,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:367,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:368,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:370,1
    - Dst: tSerializeSVKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:372,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 5
    argNames:
    - pMnode
    - pVgroup
    - pContLen
    - compactId
    - dnodeid
    argTypes:
    - SMnode*
    - SVgObj*
    - int32_t*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: mndBuildKillCompactReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - taosMemoryMalloc
    - mTrace
    - tSerializeSVKillCompactReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildKillCompactReq(SMnode *pMnode, SVgObj *pVgroup,
      int32_t *pContLen, int32_t compactId, int32_t dnodeid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:210,1
    - Dst: tFreeCompactObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:211,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pCompact
    argTypes:
    - SSdb*
    - SCompactObj*
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: mndCompactActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mTrace
    - tFreeCompactObj
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCompactActionDelete(SSdb *pSdb, SCompactObj *pCompact) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:385,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:391,1
    - Dst: mndBuildKillCompactReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:395,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:392,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:389,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:399,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:406,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:408,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:409,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c:410,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - compactId
    - dnodeid
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 414
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 414
    functionName: mndAddKillCompactAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCompact.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildKillCompactReq
    - mTrace
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddKillCompactAction(SMnode *pMnode, STrans *pTrans,
      SVgObj *pVgroup, int32_t compactId, int32_t dnodeid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:150,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:157,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:154,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:155,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:156,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:158,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:159,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:160,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:166,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:166,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:171,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - pCluster
    argTypes:
    - SClusterObj*
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: mndClusterActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndClusterActionEncode(SClusterObj *pCluster) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:219,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:221,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pSdb
    - pCluster
    argTypes:
    - SSdb*
    - SClusterObj*
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: mndClusterActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndClusterActionInsert(SSdb *pSdb, SClusterObj *pCluster) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:376,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:367,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:380,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:391,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:393,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:399,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:403,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:409,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:365,1
    - Dst: mndClusterActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:383,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:385,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:385,1
    - Dst: mndAcquireCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:363,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:386,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:398,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:388,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:404,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:404,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:406,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:371,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:377,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:392,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:396,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:392,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:394,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:400,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:405,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 411
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 411
    functionName: mndProcessUptimeTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransAppendCommitlog
    - mndAcquireCluster
    - mndClusterActionEncode
    - terrstr
    - mError
    - sdbSetRawStatus
    - mndReleaseCluster
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - memcpy
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessUptimeTimer(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:183,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:197,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:193,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:190,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:198,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:199,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:200,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:201,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:202,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:208,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:209,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:210,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:214,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 216
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 216
    functionName: mndClusterActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndClusterActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pCluster
    argTypes:
    - SSdb*
    - SClusterObj*
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: mndClusterActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndClusterActionDelete(SSdb *pSdb, SClusterObj *pCluster) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMCfgClusterReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:417,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:422,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:419,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:423,1
    - Dst: mndAcquireCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:429,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:432,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:435,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:436,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:438,1
    - Dst: mndProcessConfigGrantReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:440,1
    - Dst: tFreeSMCfgClusterReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:457,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:459,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:453,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:459,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:461,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:463,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 464
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 464
    functionName: mndProcessConfigClusterReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mInfo
    - tFreeSMCfgClusterReq
    - mndAcquireCluster
    - TMIN
    - strncmp
    - mError
    - mndCheckOperPrivilege
    - mndProcessConfigGrantReq
    - tstrerror
    - TAOS_RETURN
    - mndReleaseCluster
    - memcpy
    - auditRecord
    - tDeserializeSMCfgClusterReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessConfigClusterReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:83,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - ppIter
    argTypes:
    - SMnode*
    - void**
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: mndAcquireCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - sdbFetch
    linkageType: ''
    returnType: SClusterObj*
    signature: 'static SClusterObj *mndAcquireCluster(SMnode *pMnode, void **ppIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:102,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 109
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 109
    functionName: mndGetClusterId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mndReleaseCluster
    - mndAcquireCluster
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetClusterId(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:51,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:52,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:55,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:53,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:54,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: mndInitCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitCluster(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:95,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 3
    argNames:
    - pMnode
    - pCluster
    - pIter
    argTypes:
    - SMnode*
    - SClusterObj*
    - void*
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: mndReleaseCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndReleaseCluster(SMnode *pMnode, SClusterObj *pCluster,
      void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:114,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 121
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 121
    functionName: mndGetClusterCreateTime
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mndReleaseCluster
    - mndAcquireCluster
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetClusterCreateTime(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 469
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 469
    functionName: mndProcessConfigClusterRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessConfigClusterRsp(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: mndCleanupCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupCluster(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pCluster
    argTypes:
    - SClusterObj*
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: mndGetClusterUpTimeImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - taosGetTimestampSec
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetClusterUpTimeImp(SClusterObj *pCluster) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:231,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SClusterObj*
    - SClusterObj*
    constantsTouched: []
    func_position:
      end: 236
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 236
    functionName: mndClusterActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndClusterActionUpdate(SSdb *pSdb, SClusterObj *pOld,
      SClusterObj *pNew) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:66,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:73,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:72,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pMnode
    - clusterName
    - len
    argTypes:
    - SMnode*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: mndGetClusterName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - sdbAcquire
    - sdbRelease
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetClusterName(SMnode *pMnode, char *clusterName, int32_t
      len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:136,1
    - Dst: mndGetClusterUpTimeImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:138,1
    - Dst: mndReleaseCluster
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: mndGetClusterUpTime
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mndReleaseCluster
    - mndGetClusterUpTimeImp
    - mndAcquireCluster
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetClusterUpTime(SMnode *pMnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:257,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:277,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:278,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:284,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:288,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:294,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:285,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:249,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:252,1
    - Dst: mndClusterActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:272,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:269,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:262,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:277,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:290,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:240,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:276,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:283,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:289,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:289,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:291,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:279,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:245,1
    - Dst: taosGetSystemUUIDLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:243,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:259,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:261,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:265,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:270,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:267,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:274,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:270,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 296
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 296
    functionName: mndCreateDefaultCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - mndGenerateUid
    - taosGetTimestampMs
    - taosGetSystemUUIDLen
    - mInfo
    - mndTransAppendCommitlog
    - mndClusterActionEncode
    - terrstr
    - mError
    - sdbSetRawStatus
    - tstrncpy
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultCluster(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:315,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:316,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:318,1
    - Dst: mndGetClusterUpTimeImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:321,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:308,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:313,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:323,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:325,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:330,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:340,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:329,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:326,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:348,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:319,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:333,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:331,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:348,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:349,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:312,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:337,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - pMsg
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 352
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 352
    functionName: mndRetrieveClusters
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetNULL
    - mError
    - COL_DATA_SET_VAL_GOTO
    - tstrerror
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - TAOS_RETURN
    - mndGetClusterUpTimeImp
    - tListLen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveClusters(SRpcMsg *pMsg, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: mndCancelGetNextCluster
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndCluster.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextCluster(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:44,1
    - Dst: mndInitPerfsTableSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:59,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:56,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:59,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:53,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:61,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:61,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:63,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - hash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 68
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 68
    functionName: mndPerfsInitMeta
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - mndInitPerfsTableSchema
    - tstrncpy
    - TAOS_CHECK_RETURN
    - strlen
    - TAOS_RETURN
    - getPerfDbMeta
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndPerfsInitMeta(SHashObj *hash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:101,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:104,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:104,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:108,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:111,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:112,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:113,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:119,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:127,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - pMnode
    - dbFName
    - tbName
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 128
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 128
    functionName: mndBuildPerfsTableCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mError
    - taosHashGet
    - tstrncpy
    - strlen
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildPerfsTableCfg(SMnode *pMnode, const char *dbFName,
      const char *tbName, STableCfgRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:74,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:77,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:79,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:77,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:86,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:90,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:93,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pMnode
    - dbFName
    - tbName
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: mndBuildPerfsTableSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mError
    - taosHashGet
    - strlen
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildPerfsTableSchema(SMnode *pMnode, const char *dbFName,
      const char *tbName, STableMetaRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:132,1
    - Dst: mndPerfsInitMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:138,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:135,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: mndInitPerfs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - taosGetDefaultHashFunction
    - TAOS_RETURN
    - taosHashInit
    - mndPerfsInitMeta
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitPerfs(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:146,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:152,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:150,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 157
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 157
    functionName: mndCleanupPerfs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupPerfs(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:22,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:29,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:25,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c:37,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - pSrc
    - colNum
    - pDst
    argTypes:
    - SSysDbTableSchema*
    - int32_t
    - SSchema**
    constantsTouched: []
    func_position:
      end: 38
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 38
    functionName: mndInitPerfsTableSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndPerfSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_RETURN
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitPerfsTableSchema(const SSysDbTableSchema *pSrc, int32_t
      colNum, SSchema **pDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:6,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:14,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pAction
    - traceId
    - signature
    argTypes:
    - STransAction*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 16
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 16
    functionName: createRpcMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c
    functionUses: []
    functionsReached:
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: SRpcMsg
    signature: 'static SRpcMsg createRpcMsg(STransAction* pAction, int64_t traceId,
      int64_t signature) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:38,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:42,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:49,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:64,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:53,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:23,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:33,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:52,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:31,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:45,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:55,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:57,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:56,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:65,1
    - Dst: exit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:36,1
    - Dst: taosRandR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:26,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:51,1
    - Dst: createRpcMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:60,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:59,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c:61,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 3
    argNames:
    - pAction
    - pTrans
    - signature
    argTypes:
    - STransAction*
    - STrans*
    - int64_t
    constantsTouched: []
    func_position:
      end: 71
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 71
    functionName: streamTransRandomErrorGen
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamErrorInjection.c
    functionUses: []
    functionsReached:
    - exit
    - tmsgSendReq
    - mError
    - taosRandR
    - taosGetTimestampSec
    - taosMsleep
    - createRpcMsg
    linkageType: ''
    returnType: void
    signature: 'void streamTransRandomErrorGen(STransAction *pAction, STrans *pTrans,
      int64_t signature) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: mndProcessGrantHB
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGrantHB(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: grantParseParameter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached:
    - mError
    linkageType: ''
    returnType: void
    signature: 'void grantParseParameter() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - grant
    - value
    argTypes:
    - EGrantType
    - uint64_t
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: grantRestore
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void grantRestore(EGrantType grant, uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 94
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 94
    functionName: dmProcessGrantReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessGrantReq(void *pInfo, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:74,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:75,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:77,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:76,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:78,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: mndInitGrant
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached:
    - mndSetMsgHandle
    - mndAddShowRetrieveHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitGrant(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - grant
    argTypes:
    - EGrantType
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: grantRemain
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t grantRemain(EGrantType grant) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pInfo
    - pMsg
    argTypes:
    - void*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: dmProcessGrantNotify
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dmProcessGrantNotify(void *pInfo, SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mndRetrieveMachines
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveMachines(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 83
    functionName: mndCleanupGrant
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupGrant() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: mndRetrieveEncryptions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveEncryptions(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 3
    argNames:
    - pMnode
    - grant
    - value
    argTypes:
    - SMnode*
    - EGrantType
    - uint64_t
    constantsTouched: []
    func_position:
      end: 85
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 85
    functionName: grantReset
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void grantReset(SMnode *pMnode, EGrantType grant, uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - result
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: tGetMachineId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGetMachineId(char **result) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:41,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:43,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:44,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:46,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:47,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:48,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:49,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:50,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:51,1
    - Dst: GRANT_ITEM_SHOW
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:52,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:61,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:60,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 64
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 64
    functionName: mndRetrieveGrant
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mError
    - COL_DATA_SET_VAL_GOTO
    - GRANT_ITEM_SHOW
    - tstrerror
    - STR_WITH_MAXSIZE_TO_VARSTR
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveGrant(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - grant
    - value
    argTypes:
    - EGrantType
    - uint64_t
    constantsTouched: []
    func_position:
      end: 86
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 86
    functionName: grantAdd
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void grantAdd(EGrantType grant, uint64_t value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 93
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 93
    functionName: grantCheckDualReplicaDnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool grantCheckDualReplicaDnodes(void *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: mndRetrieveGrantFull
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveGrantFull(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: grantParseParameter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: mndGenerateMachineCode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached:
    - grantParseParameter
    linkageType: ''
    returnType: void
    signature: 'void mndGenerateMachineCode() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 67
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 67
    functionName: mndRetrieveGrantLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveGrantLogs(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pCfg
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMCfgClusterReq*
    constantsTouched: []
    func_position:
      end: 96
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 96
    functionName: mndProcessConfigGrantReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndGrant.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessConfigGrantReq(SMnode *pMnode, SRpcMsg *pReq, SMCfgClusterReq
      *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:50,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:52,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:55,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:51,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:54,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:57,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 58
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 58
    functionName: mndInitFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitFunc(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:68,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:76,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:77,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:78,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:79,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:80,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:82,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:84,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:86,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:81,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:74,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:72,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:73,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:75,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:100,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:96,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:87,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:95,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:89,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:88,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:95,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - pFunc
    argTypes:
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: mndFuncActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndFuncActionEncode(SFuncObj *pFunc) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pFunc
    argTypes:
    - SSdb*
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: mndFuncActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFuncActionInsert(SSdb *pSdb, SFuncObj *pFunc) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:187,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:189,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:210,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:202,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:213,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:217,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:222,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:225,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:228,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SFuncObj*
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 237
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 237
    functionName: mndFuncActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - mTrace
    - taosWUnLockLatch
    - memcpy
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFuncActionUpdate(SSdb *pSdb, SFuncObj *pOld, SFuncObj
      *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pFunc
    argTypes:
    - SMnode*
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 252
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 252
    functionName: mndReleaseFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndReleaseFunc(SMnode *pMnode, SFuncObj *pFunc) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:385,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:394,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:403,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:391,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:383,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:392,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:400,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:409,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:401,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:412,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:410,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:417,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:376,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:391,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:392,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:400,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:409,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:401,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:410,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:412,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pFunc
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 419
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 419
    functionName: mndDropFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndTransAppendUndolog
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - mndTransDrop
    - mndTransCreate
    - mndFuncActionEncode
    - mndTransPrepare
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropFunc(SMnode *pMnode, SRpcMsg *pReq, SFuncObj
      *pFunc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:492,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:494,1
    - Dst: tDeserializeSDropFuncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:492,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:495,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:495,1
    - Dst: mndAcquireFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:502,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:505,1
    - Dst: mndDropFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:514,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:519,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:519,1
    - Dst: mndReleaseFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:522,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:523,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 524
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 524
    functionName: mndProcessDropFuncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndDropFunc
    - tDeserializeSDropFuncReq
    - mError
    - mndCheckOperPrivilege
    - mndAcquireFunc
    - tstrerror
    - mndReleaseFunc
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropFuncReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:642,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - buf
    - buflen
    - type
    - len
    argTypes:
    - char*
    - int32_t
    - uint8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 649
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 649
    functionName: mnodeGenTypeStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void*
    signature: 'static void *mnodeGenTypeStr(char *buf, int32_t buflen, uint8_t type,
      int32_t len) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:139,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:153,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:156,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:119,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:127,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:129,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:131,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:143,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:136,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:150,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:134,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:169,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:112,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:164,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:164,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:126,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:122,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:128,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:130,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:132,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:133,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:146,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:135,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:158,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:165,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 51
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 171
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 171
    functionName: mndFuncActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - taosMemoryCalloc
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosInitRWLatch
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndFuncActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: mndCleanupFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupFunc(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:179,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:180,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSdb
    - pFunc
    argTypes:
    - SSdb*
    - SFuncObj*
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: mndFuncActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFuncActionDelete(SSdb *pSdb, SFuncObj *pFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - funcName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: mndAcquireFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SFuncObj*
    signature: 'static SFuncObj *mndAcquireFunc(SMnode *pMnode, char *funcName) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:264,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:273,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:297,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:304,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:322,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:349,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:370,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:371,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:355,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:258,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:272,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:319,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:311,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:320,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:328,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:329,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:331,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:337,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:355,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:356,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:369,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:347,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:280,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:287,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:289,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:291,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:311,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:313,1
    - Dst: mndAcquireFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:299,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:337,1
    - Dst: mndFuncActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:340,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:368,1
    - Dst: mndReleaseFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:365,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:263,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:310,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:319,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:320,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:328,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:329,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:338,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:346,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:347,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:359,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:356,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:359,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:346,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 123
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCreateFuncReq*
    constantsTouched: []
    func_position:
      end: 372
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 372
    functionName: mndCreateFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndAcquireFunc
    - mndReleaseFunc
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - taosMemoryMalloc
    - mndTransCreate
    - memcpy
    - mndTransAppendRedolog
    - TAOS_CHECK_GOTO
    - mndTransAppendUndolog
    - mndTransDrop
    - grantCheck
    - mndTransPrepare
    - mInfo
    - sdbSetRawStatus
    - strlen
    - TAOS_RETURN
    - mndFuncActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateFunc(SMnode *pMnode, SRpcMsg *pReq, SCreateFuncReq
      *pCreate) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:427,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:434,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:433,1
    - Dst: tDeserializeSCreateFuncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:427,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:434,1
    - Dst: mndAcquireFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:436,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:439,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:443,1
    - Dst: mndCreateFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:473,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:478,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:483,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:478,1
    - Dst: tFreeSCreateFuncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:482,1
    - Dst: mndReleaseFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:481,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 48
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 484
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 484
    functionName: mndProcessCreateFuncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - tDeserializeSCreateFuncReq
    - mError
    - mndCheckOperPrivilege
    - mndAcquireFunc
    - tstrerror
    - mndReleaseFunc
    - TAOS_RETURN
    - mndCreateFunc
    - tFreeSCreateFuncReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateFuncReq(SRpcMsg *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:556,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:609,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:590,1
    - Dst: tFreeSRetrieveFuncRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:627,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:615,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:629,1
    - Dst: mndAcquireFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:558,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:543,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:578,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:583,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:585,1
    - Dst: tSerializeSRetrieveFuncRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:608,1
    - Dst: tDeserializeSRetrieveFuncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:532,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:549,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:565,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:593,1
    - Dst: mndReleaseFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:605,1
    - Dst: tFreeSRetrieveFuncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:626,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:600,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 83
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 630
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 630
    functionName: mndProcessRetrieveFuncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - tFreeSRetrieveFuncRsp
    - taosArrayGet
    - tFreeSRetrieveFuncReq
    - taosMemoryCalloc
    - tDeserializeSRetrieveFuncReq
    - mndAcquireFunc
    - mndReleaseFunc
    - taosArrayPush
    - TAOS_RETURN
    - memcpy
    - tSerializeSRetrieveFuncRsp
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessRetrieveFuncReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:670,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:674,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:676,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:683,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:688,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:696,1
    - Dst: mnodeGenTypeStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:698,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:702,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:728,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:742,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:673,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:677,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:689,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:685,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:695,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:696,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:702,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:724,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:725,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:732,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:746,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:740,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:753,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:661,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:681,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:705,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:708,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:709,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:712,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:713,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:725,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:748,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:749,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:738,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:738,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:667,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:666,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:669,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:670,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:686,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:680,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:686,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:701,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:705,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:713,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:743,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:749,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:724,1
    - Dst: TAOS_CHECK_RETURN_WITH_RELEASE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:726,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:726,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:744,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:709,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:739,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 758
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 758
    functionName: mndRetrieveFuncs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN_WITH_RELEASE
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryMalloc
    - colDataSetVal
    - taosMemoryCalloc
    - varDataVal
    - tstrncpy
    - strlen
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - TAOS_RETURN
    - varDataSetLen
    - memcpy
    - mnodeGenTypeStr
    - tListLen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveFuncs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c:762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: mndCancelGetNextFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndFunc.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextFunc(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - connObj
    - userApp
    - userIp
    argTypes:
    - SConnObj*
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 145
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 145
    functionName: setUserInfo2Conn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void setUserInfo2Conn(SConnObj *connObj, char *userApp, uint32_t
      userIp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheDestroyIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: mndCancelGetNextConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheDestroyIter
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextConn(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheDestroyIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 446
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 446
    functionName: mndCancelGetNextApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheDestroyIter
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextApp(SMnode *pMnode, void *pIter) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1227,1
    - Dst: mndGetNextApp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1216,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1233,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1244,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1235,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1254,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1258,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1259,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1273,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1282,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1286,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1289,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1303,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1310,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1301,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1293,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1331,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1317,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1227,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1232,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1233,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1237,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1249,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1251,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1261,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1266,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1275,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1289,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1331,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1275,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1315,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1300,1
    - Dst: taosCacheCreateIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1211,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1237,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1242,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1250,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1261,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1265,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1307,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1310,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1328,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1296,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1282,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1314,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1225,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1233,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1234,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1244,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1250,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1254,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1268,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1272,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1280,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1294,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1303,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1308,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1321,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1324,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1296,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 148
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1340
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1340
    functionName: mndRetrieveApps
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mndGetNextApp
    - taosArrayGet
    - taosInetNtoa
    - varDataLen
    - colDataSetVal
    - mError
    - varDataVal
    - tstrerror
    - strlen
    - tsnprintf
    - taosCacheCreateIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveApps(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:151,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:171,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:152,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:153,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:163,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:172,1
    - Dst: taosCachePut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:175,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:178,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:178,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 8
    argNames:
    - pMnode
    - user
    - connType
    - ip
    - port
    - pid
    - app
    - startTime
    argTypes:
    - SMnode*
    - char*
    - int8_t
    - uint32_t
    - uint16_t
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 184
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 184
    functionName: mndCreateConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mndGenerateUid
    - taosGetTimestampMs
    - terrstr
    - mError
    - taosCachePut
    - mTrace
    - tstrncpy
    - tsnprintf
    linkageType: ''
    returnType: SConnObj*
    signature: 'static SConnObj *mndCreateConn(SMnode *pMnode, const char *user, int8_t
      connType, uint32_t ip, uint16_t port, int32_t pid, const char *app, int64_t
      startTime) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSConnectReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:246,1
    - Dst: taosCheckVersionCompatibleFromStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:250,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:281,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:268,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:282,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:320,1
    - Dst: mGDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:342,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:349,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:351,1
    - Dst: mndReleaseConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:358,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:347,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:257,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:263,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:263,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:276,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:278,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:267,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:322,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:326,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:349,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:360,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:356,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:351,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:256,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:261,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:279,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:287,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:287,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:295,1
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:306,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:330,1
    - Dst: tSerializeSConnectRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:333,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:251,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:255,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:275,1
    - Dst: mndCreateConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:290,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:307,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:316,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:319,1
    - Dst: tSerializeSConnectRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:324,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:328,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:336,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:357,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:335,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 361
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 361
    functionName: mndProcessConnectReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosInetNtoa
    - mndCheckOperPrivilege
    - mndReleaseUser
    - mndReleaseConn
    - mndAcquireUser
    - mndReleaseDb
    - taosGetTimestampSec
    - taosCheckVersionCompatibleFromStr
    - rpcFreeCont
    - mndCreateConn
    - TAOS_CHECK_GOTO
    - mndGetMnodeEpSet
    - strncmp
    - mndAcquireDb
    - mError
    - tstrncpy
    - mGError
    - tSerializeSConnectRsp
    - auditRecord
    - rpcMallocCont
    - mndCheckDbPrivilege
    - snprintf
    - tDeserializeSConnectReq
    - strcmp
    - tstrerror
    - mndGetDnodeSize
    - strlen
    - TAOS_RETURN
    - mGDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessConnectReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - pMnode
    - pReq
    argTypes:
    - SMnode*
    - SClientHbReq*
    constantsTouched: []
    func_position:
      end: 451
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 451
    functionName: mndMqHbBuildRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SClientHbRsp*
    signature: 'static SClientHbRsp *mndMqHbBuildRsp(SMnode *pMnode, SClientHbReq
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheDestroyIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1346
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1346
    functionName: mndCancelGetNextQuery
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheDestroyIter
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextQuery(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pApp
    argTypes:
    - SAppObj*
    constantsTouched: []
    func_position:
      end: 403
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 403
    functionName: mndFreeApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: void
    signature: 'static void mndFreeApp(SAppObj *pApp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:772,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:775,1
    - Dst: tDeserializeSKillQueryReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:772,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:774,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:775,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:779,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:781,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:783,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:786,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:787,1
    - Dst: taosCacheAcquireByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:789,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:793,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:798,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:795,1
    - Dst: taosCacheRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:797,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 800
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 800
    functionName: mndProcessKillQueryReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mInfo
    - strchr
    - taosCacheAcquireByKey
    - mError
    - taosCacheRelease
    - mndCheckOperPrivilege
    - taosStr2Int32
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tDeserializeSKillQueryReq
    - taosStr2UInt64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessKillQueryReq(SRpcMsg *pReq) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:977,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1013,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1070,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1079,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1038,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1019,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1094,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1054,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1105,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1137,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1147,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1023,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1062,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1076,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1119,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:978,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:987,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1011,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1041,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1047,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1086,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1152,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:980,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1002,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1013,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1071,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1029,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1091,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1068,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1127,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1130,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1115,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:997,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1006,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1031,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1049,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1048,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1110,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1063,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1024,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1054,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1083,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1094,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1120,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1135,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1149,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1160,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1078,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1037,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1126,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1153,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:994,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1005,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1060,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1086,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1050,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1021,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1041,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1115,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1117,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1147,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1048,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:995,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:997,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1031,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1048,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1129,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1075,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1047,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1055,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1108,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1152,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1020,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1070,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1139,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:991,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1003,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1005,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1067,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1087,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1042,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1078,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1028,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1092,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1052,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1050,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1117,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1062,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:993,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1023,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1119,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1125,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1147,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:998,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1032,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1039,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1129,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:993,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1051,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1049,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1014,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1116,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1140,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1146,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 227
    argCount: 5
    argNames:
    - pShow
    - pConn
    - pBlock
    - offset
    - rowsToPack
    argTypes:
    - SShowObj*
    - SConnObj*
    - SSDataBlock*
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 1162
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 1162
    functionName: packQueriesIntoBlock
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosInetNtoa
    - varDataLen
    - colDataSetVal
    - taosRUnLockLatch
    - mError
    - varDataVal
    - taosRLockLatch
    - strlen
    - tstrerror
    - STR_TO_VARSTR
    - taosArrayGetSize
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t packQueriesIntoBlock(SShowObj *pShow, SConnObj *pConn,
      SSDataBlock *pBlock, uint32_t offset, uint32_t rowsToPack) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheAcquireByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:409,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:417,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:411,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - appId
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: mndAcquireApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheAcquireByKey
    - taosGetTimestampMs
    - mTrace
    - mDebug
    linkageType: ''
    returnType: SAppObj*
    signature: 'static SAppObj *mndAcquireApp(SMnode *pMnode, int64_t appId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:808,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:810,1
    - Dst: tDeserializeSKillConnReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:808,1
    - Dst: taosCacheAcquireByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:812,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:810,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:814,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:816,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:818,1
    - Dst: taosCacheRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:820,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:821,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 823
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 823
    functionName: mndProcessKillConnReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - tDeserializeSKillConnReq
    - mInfo
    - taosCacheAcquireByKey
    - taosCacheRelease
    - mError
    - mndCheckOperPrivilege
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessKillConnReq(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheCreateIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1172,1
    - Dst: mndGetNextConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1187,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1180,1
    - Dst: packQueriesIntoBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1181,1
    - Dst: taosCacheIterGetData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1179,1
    - Dst: packQueriesIntoBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1199
      start: 1164
    functionDepth: 0
    functionLinenumber: 1164
    functionLinenumberEnd: 1199
    functionName: mndRetrieveQueries
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - packQueriesIntoBlock
    - taosCacheIterGetData
    - mndGetNextConn
    - taosArrayGetSize
    - taosCacheCreateIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveQueries(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:96,1
    - Dst: taosCacheInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:103,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:99,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:106,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:121,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:118,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:100,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:123,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:117,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:99,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:106,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:107,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:110,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:111,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:112,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:113,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:116,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:119,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:120,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 124
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 124
    functionName: mndInitProfile
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - terrstr
    - mError
    - mndSetMsgHandle
    - mndAddShowRetrieveHandle
    - TAOS_RETURN
    - mndAddShowFreeIterHandle
    - taosCacheInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitProfile(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:187,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:191,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:189,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pConn
    argTypes:
    - SConnObj*
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: mndFreeConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosWLockLatch
    - taosWUnLockLatch
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'static void mndFreeConn(SConnObj *pConn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:423,1
    - Dst: taosCacheRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:426,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pApp
    argTypes:
    - SMnode*
    - SAppObj*
    constantsTouched: []
    func_position:
      end: 427
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 427
    functionName: mndReleaseApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosCacheRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndReleaseApp(SMnode *pMnode, SAppObj *pApp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:129,1
    - Dst: taosCacheCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: mndCleanupProfile
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupProfile(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheAcquireByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:197,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:203,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:199,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - connId
    argTypes:
    - SMnode*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 206
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 206
    functionName: mndAcquireConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheAcquireByKey
    - taosGetTimestampMs
    - mTrace
    - mDebug
    linkageType: ''
    returnType: SConnObj*
    signature: 'static SConnObj *mndAcquireConn(SMnode *pMnode, uint32_t connId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheIterNext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:431,1
    - Dst: taosCacheIterGetData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:434,1
    - Dst: taosCacheDestroyIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - SCacheIter*
    constantsTouched: []
    func_position:
      end: 440
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: mndGetNextApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheIterGetData
    - taosCacheIterNext
    - taosCacheDestroyIter
    linkageType: ''
    returnType: SAppObj*
    signature: 'SAppObj *mndGetNextApp(SMnode *pMnode, SCacheIter *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheGetNumOfObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:1350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1351
    functionName: mndGetNumOfConnections
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheGetNumOfObj
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetNumOfConnections(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:210,1
    - Dst: taosCacheRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:214,1
    - Dst: taosCacheTryExtendLifeSpan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - pMnode
    - pConn
    - extendLifespan
    argTypes:
    - SMnode*
    - SConnObj*
    - bool
    constantsTouched: []
    func_position:
      end: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: mndReleaseConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosCacheRelease
    - taosCacheTryExtendLifeSpan
    linkageType: ''
    returnType: void
    signature: 'static void mndReleaseConn(SMnode *pMnode, SConnObj *pConn, bool extendLifespan) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:364,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:372,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:369,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:366,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pConn
    - pBasic
    argTypes:
    - SConnObj*
    - SQueryHbReqBasic*
    constantsTouched: []
    func_position:
      end: 377
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 377
    functionName: mndSaveQueryList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mDebug
    - taosWUnLockLatch
    - taosArrayDestroyEx
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSaveQueryList(SConnObj *pConn, SQueryHbReqBasic
      *pBasic) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireApp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:456,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:463,1
    - Dst: mndCreateApp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:458,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:460,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:460,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:465,1
    - Dst: mndReleaseApp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:466,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:471,1
    - Dst: mndReleaseApp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:473,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pMnode
    - pHbReq
    - connInfo
    argTypes:
    - SMnode*
    - SClientHbReq*
    - SRpcConnInfo*
    constantsTouched: []
    func_position:
      end: 476
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 476
    functionName: mndUpdateAppInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mndAcquireApp
    - terrstr
    - mError
    - mndReleaseApp
    - mndCreateApp
    - mDebug
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateAppInfo(SMnode *pMnode, SClientHbReq *pHbReq,
      SRpcConnInfo *connInfo) '
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:513,1
    - Dst: mndReleaseConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:530,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:562,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:563,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:568,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:570,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:594,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:626,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:627,1
    - Dst: mndValidateStbInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:635,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:683,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:678,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:658,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:528,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:532,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:551,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:532,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:560,1
    - Dst: tFreeClientHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:572,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:583,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:587,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:602,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:614,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:615,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:659,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:672,1
    - Dst: mndValidateViewInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:655,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:639,1
    - Dst: mndCreateConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:515,1
    - Dst: mndUpdateAppInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:521,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:536,1
    - Dst: mndReleaseConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:553,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:580,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:592,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:596,1
    - Dst: mndValidateDbInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:623,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:638,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:671,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:507,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:518,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:518,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:523,1
    - Dst: setUserInfo2Conn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:527,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:557,1
    - Dst: mndSaveQueryList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:536,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:533,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:573,1
    - Dst: mndValidateDynViewVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:689,1
    - Dst: mndValidateUserAuthInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:610,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:686,1
    - Dst: mndValidateTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:668,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 152
    argCount: 5
    argNames:
    - pMnode
    - pMsg
    - pHbReq
    - pBatchRsp
    - pObj
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SClientHbReq*
    - SClientHbBatchRsp*
    - SConnPreparedObj*
    constantsTouched: []
    func_position:
      end: 690
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 690
    functionName: mndProcessQueryHeartBeat
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - mndValidateViewInfo
    - taosMemoryCalloc
    - terrstr
    - mndValidateUserAuthInfo
    - mDebug
    - mndValidateStbInfo
    - taosArrayInit
    - mndReleaseConn
    - mndValidateDbInfo
    - mndValidateDynViewVersion
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - mndValidateTSMAInfo
    - mndAcquireConn
    - mndCreateConn
    - mError
    - mndSaveQueryList
    - taosHashGet
    - setUserInfo2Conn
    - tFreeClientHbRsp
    - mTrace
    - taosHashIterate
    - taosHashGetSize
    - taosArrayDup
    - TAOS_RETURN
    - mndUpdateAppInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessQueryHeartBeat(SMnode *pMnode, SRpcMsg *pMsg,
      SClientHbReq *pHbReq, SClientHbBatchRsp *pBatchRsp, SConnPreparedObj *pObj) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:829,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:837,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:831,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:833,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:835,1
    - Dst: tSerializeSServerVerRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:839,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:841,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:842,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 851
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 851
    functionName: mndProcessSvrVerReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_EXIT
    - tSerializeSServerVerRsp
    - tstrncpy
    - TAOS_RETURN
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessSvrVerReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCacheIterNext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:219,1
    - Dst: taosCacheIterGetData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:222,1
    - Dst: taosCacheDestroyIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:224,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - SCacheIter*
    constantsTouched: []
    func_position:
      end: 228
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 228
    functionName: mndGetNextConn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosCacheIterGetData
    - taosCacheIterNext
    - taosCacheDestroyIter
    linkageType: ''
    returnType: void*
    signature: 'void *mndGetNextConn(SMnode *pMnode, SCacheIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:386,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:389,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:388,1
    - Dst: taosCachePut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:392,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:395,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:395,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pMnode
    - clientIp
    - pReq
    argTypes:
    - SMnode*
    - uint32_t
    - SAppHbReq*
    constantsTouched: []
    func_position:
      end: 401
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 401
    functionName: mndCreateApp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - terrstr
    - mError
    - taosCachePut
    - mTrace
    - tstrncpy
    - memcpy
    linkageType: ''
    returnType: SAppObj*
    signature: 'static SAppObj *mndCreateApp(SMnode *pMnode, uint32_t clientIp, SAppHbReq
      *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:481,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:488,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:493,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:485,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - num
    argTypes:
    - SMnode*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 497
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 497
    functionName: mndGetOnlineDnodeNum
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - sdbFetch
    - sdbRelease
    - mndIsDnodeOnline
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetOnlineDnodeNum(SMnode *pMnode, int32_t *num) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:699,1
    - Dst: mndCreateQnodeList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:709,1
    - Dst: mndMqHbBuildRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:732,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:726,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:741,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:745,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:712,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:715,1
    - Dst: mndProcessQueryHeartBeat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:730,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:737,1
    - Dst: tSerializeSClientHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:743,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:753,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:763,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:701,1
    - Dst: mndGetOnlineDnodeNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:707,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:708,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:728,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:734,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:735,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:749,1
    - Dst: tFreeClientHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:759,1
    - Dst: tDeserializeSClientHbBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:698,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:707,1
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:705,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:709,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:720,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:713,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:730,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:747,1
    - Dst: tSerializeSClientHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:751,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:754,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:761,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 764
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 764
    functionName: mndProcessHeartBeatReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - TAOS_CHECK_RETURN
    - taosGetTimestampSec
    - taosArrayPush
    - tFreeClientHbBatchRsp
    - taosArrayDestroyEx
    - rpcFreeCont
    - mndGetOnlineDnodeNum
    - taosArrayGet
    - mndGetMnodeEpSet
    - tDeserializeSClientHbBatchReq
    - mndProcessQueryHeartBeat
    - mError
    - tstrncpy
    - mndMqHbBuildRsp
    - rpcMallocCont
    - tSerializeSClientHbBatchRsp
    - TAOS_CHECK_EXIT
    - mndGetDnodeSize
    - TAOS_RETURN
    - mndCreateQnodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessHeartBeatReq(SRpcMsg *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:881,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:874,1
    - Dst: mndGetNextConn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:868,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:890,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:898,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:913,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:914,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:915,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:920,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:924,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:955,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:943,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:916,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:918,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:949,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:883,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:883,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:899,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:892,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:917,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:934,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:939,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:941,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:950,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:953,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:915,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:931,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:950,1
    - Dst: taosCacheCreateIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:863,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:880,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:897,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:892,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:901,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:908,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:908,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:914,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:914,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:914,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:925,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:952,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:916,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:955,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:949,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:940,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:888,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:889,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:901,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:905,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:906,1
    - Dst: taosInetNtoa
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:913,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:916,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:920,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:927,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:943,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:934,1
    - Dst: varDataLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:950,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:932,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c:927,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 126
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 964
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 964
    functionName: mndRetrieveConns
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndProfile.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - taosInetNtoa
    - varDataLen
    - colDataSetVal
    - mError
    - varDataVal
    - mndGetNextConn
    - tstrerror
    - STR_TO_VARSTR
    - strlen
    - tsnprintf
    - taosCacheCreateIter
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveConns(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - topHalf
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 66
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 66
    functionName: mndStrExecutionContext
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static inline char *mndStrExecutionContext(bool topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - ableToBeKilled
    argTypes:
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 836
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 836
    functionName: mndTransSetBeKilled
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetBeKilled(STrans *pTrans, bool ableToBeKilled) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1790,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1793,1
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1797,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1832,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1832,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1821,1
    - Dst: mndTransExecuteRedoActionsSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1782,1
    - Dst: mndTransExecuteRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1784,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1793,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1794,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1808,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1799,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1836,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1836,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1799,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1823,1
    - Dst: mndTransIsInSyncContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1787,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1798,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1811,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1818,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1811,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1842
      start: 1776
    functionDepth: 0
    functionLinenumber: 1776
    functionLinenumberEnd: 1842
    functionName: mndTransPerformRedoActionStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCannotExecuteTrans
    - taosArrayGet
    - mndTransExecuteRedoActionsSerial
    - mndTransExecuteRedoActions
    - mndStrExecutionContext
    - mError
    - terrstr
    - tstrerror
    - mndTransIsInSyncContext
    - taosMsleep
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformRedoActionStage(SMnode *pMnode, STrans
      *pTrans, bool topHalf, bool notSend) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1402,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1408,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1410,1
    - Dst: sdbWriteWithoutFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1413,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1409,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1418,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1418,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1419,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1419,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1421,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1424,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1424,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1425,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1425,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1425,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pAction
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    - bool
    constantsTouched: []
    func_position:
      end: 1430
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1430
    functionName: mndTransWriteSingleLog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbWriteWithoutFree
    - mError
    - sdbStatusName
    - mndTransStr
    - tstrerror
    - TAOS_RETURN
    - sdbTableName
    - mndSetTransLastAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransWriteSingleLog(SMnode *pMnode, STrans *pTrans,
      STransAction *pAction, bool topHalf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1940,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1947,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1951,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1951,1
    - Dst: mndTransPreFinish
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1956
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1956
    functionName: mndTransPerformPreFinishStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCannotExecuteTrans
    - terrstr
    - mError
    - mndTransPreFinish
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformPreFinishStage(SMnode *pMnode, STrans *pTrans,
      bool topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pTrans
    - killMode
    argTypes:
    - STrans*
    - ETrnKillMode
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: mndTransSetKillMode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetKillMode(STrans *pTrans, ETrnKillMode killMode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1378,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1381,1
    - Dst: mndTransResetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1392,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1393,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1393,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pArray
    argTypes:
    - SMnode*
    - STrans*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1396
      start: 1377
    functionDepth: 0
    functionLinenumber: 1377
    functionLinenumberEnd: 1396
    functionName: mndTransResetActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayGet
    - mndTransStr
    - mndTransResetAction
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void mndTransResetActions(SMnode *pMnode, STrans *pTrans, SArray
      *pArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1921,1
    - Dst: mndTransRollback
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1924,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1931,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1936
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1936
    functionName: mndTransPerformRollbackStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndCannotExecuteTrans
    - mError
    - terrstr
    - mndTransRollback
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformRollbackStage(SMnode *pMnode, STrans *pTrans,
      bool topHalf) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:263,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:282,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:299,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:260,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:267,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:271,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:272,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:277,1
    - Dst: tmsgUpdateDnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:281,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:280,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:275,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:289,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:292,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:261,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:264,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:262,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:265,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:269,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:288,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:276,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:273,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:284,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:283,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:285,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:286,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - pRaw
    - offset
    - pActions
    - actionNum
    argTypes:
    - SSdbRaw*
    - int32_t*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 301
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 301
    functionName: mndTransDecodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - taosMemoryMalloc
    - tmsgUpdateDnodeEpSet
    - mTrace
    - memset
    - SDB_GET_INT16
    - taosArrayPush
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransDecodeAction(SSdbRaw *pRaw, int32_t *offset,
      SArray *pActions, int32_t actionNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:726,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:730,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:728,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pArray
    - pAction
    argTypes:
    - SArray*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 734
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 734
    functionName: mndTransAppendAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayPush
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransAppendAction(SArray *pArray, STransAction *pAction) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1062,1
    - Dst: mndTransActionsOfSameType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1067,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1065,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1069,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1064,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1070,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1073,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1074
    functionName: mndTransCheckCommitActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mError
    - taosArrayGetSize
    - TAOS_RETURN
    - mndTransActionsOfSameType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransCheckCommitActions(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransWriteSingleLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1511,1
    - Dst: mndTransExecNullMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1515,1
    - Dst: mndTransSendSingleMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1513,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pAction
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1517
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1517
    functionName: mndTransExecSingleAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransSendSingleMsg
    - mndTransExecNullMsg
    - mndTransWriteSingleLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecSingleAction(SMnode *pMnode, STrans *pTrans,
      STransAction *pAction, bool topHalf, bool notSend) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSKillTransReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2080,1
    - Dst: mndKillTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2097,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2086,1
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2090,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2085,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2101,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2101,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2104,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2106
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2106
    functionName: mndProcessKillTransReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireTrans
    - tDeserializeSKillTransReq
    - terrstr
    - mError
    - mndCheckOperPrivilege
    - TAOS_RETURN
    - mndReleaseTrans
    - mndKillTrans
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessKillTransReq(SRpcMsg *pReq) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:341,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:381,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:391,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:391,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:397,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:413,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:382,1
    - Dst: mndTransDropData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:414,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:420,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:319,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:326,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:343,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:344,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:346,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:352,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:355,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:356,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:359,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:361,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:403,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:396,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:353,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:332,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:345,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:362,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:380,1
    - Dst: mndTransDecodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:375,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:402,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:415,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:354,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:384,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:329,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:342,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:363,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:365,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:366,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:367,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:368,1
    - Dst: mndTransDecodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:378,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:386,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:389,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:393,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:407,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:413,1
    - Dst: mndTransDecodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:376,1
    - Dst: mndTransDecodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:377,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 93
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 423
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 423
    functionName: mndTransDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - terrstr
    - sdbGetRowObj
    - taosHashInit
    - taosArrayInit
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - taosMemoryMalloc
    - sdbAllocRow
    - SDB_GET_INT16
    - SDB_GET_INT64
    - taosHashPut
    - taosGetDefaultHashFunction
    - mError
    - mndTransDropData
    - taosMemoryFreeClear
    - mndTransDecodeAction
    - SDB_GET_INT32
    - sdbGetRawSoftVer
    - mTrace
    - SDB_GET_RESERVE
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndTransDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - pRaw
    argTypes:
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: mndTransAppendRedolog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendRedolog(STrans *pTrans, SSdbRaw *pRaw) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1086,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1087,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1087,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1090,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1092,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1093,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1099,1
    - Dst: mndTransCheckParallelActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1117,1
    - Dst: mndTransCheckCommitActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1119,1
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1124,1
    - Dst: mndTransExecute
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1136,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1082,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1085,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1096,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1098,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1099,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1102,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1103,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1115,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1121,1
    - Dst: mndTransSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1122,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1126,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1149,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1091,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1106,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1115,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1119,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1125,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1127,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1129,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1147,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1123,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1084,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1093,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1097,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1105,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1106,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1109,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1110,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1110,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1123,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1135,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1135,1
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1131,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 79
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1152
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1152
    functionName: mndTransPrepare
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndAcquireTrans
    - mndTransCheckParallelActions
    - mndTransSync
    - taosArrayGetSize
    - mndTransExecute
    - sdbUnLock
    - sdbWriteLock
    - sdbStatusName
    - TAOS_CHECK_RETURN
    - TMSG_INFO
    - taosArrayGet
    - mError
    - TMAX
    - mInfo
    - mndTransStr
    - tstrerror
    - mndTransCheckCommitActions
    - mndTransCheckConflict
    - sdbTableName
    - TAOS_RETURN
    - mndReleaseTrans
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransPrepare(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1520,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1527,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1524,1
    - Dst: mndTransExecSingleAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1525,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pArray
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1534
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1534
    functionName: mndTransExecSingleActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndTransExecSingleAction
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecSingleActions(SMnode *pMnode, STrans *pTrans,
      SArray *pArray, bool topHalf, bool notSend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTransId1
    - pTransId2
    argTypes:
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2108
      start: 2108
    functionDepth: 0
    functionLinenumber: 2108
    functionLinenumberEnd: 2108
    functionName: mndCompareTransId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCompareTransId(int32_t *pTransId1, int32_t *pTransId2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1846,1
    - Dst: mndTransCommit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1849,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1859,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1854,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1859,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1864
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1864
    functionName: mndTransPerformCommitStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCannotExecuteTrans
    - terrstr
    - mError
    - mndTransCommit
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformCommitStage(SMnode *pMnode, STrans *pTrans,
      bool topHalf) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1636,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1642,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1637,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1640,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1643,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1680,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1686,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1697,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1702,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1710,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1655,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1658,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1664,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1671,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1664,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1685,1
    - Dst: mndTransSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1696,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1710,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1713,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1721,1
    - Dst: mndTransExecSingleAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1646,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1655,1
    - Dst: mndTransResetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1663,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1671,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1685,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1686,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1701,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1702,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1706,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1706,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1711,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1629,1
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1682,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1693,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1693,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1695,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1720,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1721,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pActions
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 1727
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1727
    functionName: mndTransExecuteActionsSerial
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndCannotExecuteTrans
    - taosThreadMutexUnlock
    - taosArrayGet
    - taosThreadMutexLock
    - mndStrExecutionContext
    - mndTransExecSingleAction
    - mError
    - terrstr
    - mndTransStr
    - tstrerror
    - mndSetTransLastAction
    - mndTransResetAction
    - mndTransSync
    - taosArrayGetSize
    - taosMsleep
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteActionsSerial(SMnode *pMnode, STrans
      *pTrans, SArray *pActions, bool topHalf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1731,1
    - Dst: mndTransExecuteActionsSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1733,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1737
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1737
    functionName: mndTransExecuteRedoActionsSerial
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteActionsSerial
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteRedoActionsSerial(SMnode *pMnode, STrans
      *pTrans, bool topHalf) '
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 2
    argCount: 1
    argNames:
    - stage
    argTypes:
    - ETrnStage
    constantsTouched: []
    func_position:
      end: 446
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 446
    functionName: mndTransStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *mndTransStr(ETrnStage stage) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:499,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:500,1
    - Dst: mndTransGetCbFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:505,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:502,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:514,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:519,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pSdb
    - pTrans
    argTypes:
    - SSdb*
    - STrans*
    constantsTouched: []
    func_position:
      end: 528
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 528
    functionName: mndTransActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexInit
    - mndTransGetCbFp
    - mndTransStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransActionInsert(SSdb *pSdb, STrans *pTrans) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - actionType
    argTypes:
    - ETrnAct
    constantsTouched: []
    func_position:
      end: 457
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 457
    functionName: mndTransTypeStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *mndTransTypeStr(ETrnAct actionType) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndTransDropActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:532,1
    - Dst: mndTransDropActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:544,1
    - Dst: mndTransDropActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:540,1
    - Dst: mndTransDropActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:536,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:548,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:551,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:560,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:564,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 565
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 565
    functionName: mndTransDropData
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosArrayDestroy
    - mndTransDropActions
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndTransDropData(STrans *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pMnode
    - param
    - paramLen
    argTypes:
    - SMnode*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: mndTransTestStopFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: void
    signature: 'static void mndTransTestStopFunc(SMnode *pMnode, void *param, int32_t
      paramLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:702,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:706,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:714,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:704,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:708,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 715
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 715
    functionName: mndTransDropActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void mndTransDropActions(SArray *pArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 745
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 745
    functionName: mndTransAppendNullLog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendNullLog(STrans *pTrans) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 1
    argNames:
    - ftype
    argTypes:
    - ETrnFunc
    constantsTouched: []
    func_position:
      end: 496
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 496
    functionName: mndTransGetCbFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TransCbFp
    signature: 'static TransCbFp mndTransGetCbFp(ETrnFunc ftype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndTransDropData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:719,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:721,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 723
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 723
    functionName: mndTransDrop
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFreeClear
    - mndTransDropData
    linkageType: ''
    returnType: void
    signature: 'void mndTransDrop(STrans *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - pRaw
    argTypes:
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    functionName: mndTransAppendUndolog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendUndolog(STrans *pTrans, SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 98
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 98
    functionName: mndCleanupTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupTrans(SMnode *pMnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2177,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2198,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2213,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2214,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2214,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2215,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2217,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2224,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2228,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2235,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2188,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2191,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2211,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2206,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2210,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2231,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2239,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2240,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2240,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2175,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2179,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2178,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2179,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2180,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2194,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2222,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2226,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2181,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2186,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2198,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2225,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2226,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2233,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2236,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2241,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2236,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2243,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 97
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 2246
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2246
    functionName: mndTransLogAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - formatTimestamp
    - snprintf
    - taosArrayGet
    - sdbStatusName
    - mndTransStr
    - mDebug
    - tstrerror
    - sdbTableName
    - taosArrayGetSize
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void mndTransLogAction(STrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2346,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2347,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2351,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2351,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2347,1
    - Dst: mndTransTypeStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2352,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2354,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2354,1
    - Dst: mndTransTypeStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2355,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2358,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2359,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2360,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2362,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2360,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 7
    argNames:
    - pShow
    - pBlock
    - pAction
    - transactionId
    - curActionId
    - numOfRows
    - cols
    argTypes:
    - SShowObj*
    - SSDataBlock*
    - STransAction*
    - int32_t
    - int32_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2364
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2364
    functionName: mndShowTransCommonColumns
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosArrayGet
    - mndTransTypeStr
    - colDataSetVal
    - mError
    - mndTransStr
    - tstrerror
    - STR_WITH_MAXSIZE_TO_VARSTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndShowTransCommonColumns(SShowObj *pShow, SSDataBlock
      *pBlock, STransAction *pAction, int32_t transactionId, int32_t curActionId,
      int32_t numOfRows, int32_t *cols) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:101,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:105,1
    - Dst: sdbGetRawTotalSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: mndTransGetActionsSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - sdbGetRawTotalSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransGetActionsSize(SArray *pArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2258,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2273,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2273,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2286,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2292,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2293,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2294,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2304,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2305,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2325,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2309,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2315,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2276,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2281,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2277,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2283,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2283,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2288,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2288,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2326,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2331,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2335,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2335,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2308,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2263,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2267,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2267,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2272,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2281,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2326,1
    - Dst: mndTransLogAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2328,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2324,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2309,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2266,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2264,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2264,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2271,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2282,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2278,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2278,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2286,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2287,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2305,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2314,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2321,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 85
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2338
      start: 2248
    functionDepth: 0
    functionLinenumber: 2248
    functionLinenumberEnd: 2338
    functionName: mndRetrieveTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArrayGet
    - mndGetDbStr
    - colDataSetVal
    - mError
    - RETRIEVE_CHECK_GOTO
    - mndTransStr
    - tstrerror
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - mndTransLogAction
    - tsnprintf
    - sdbRelease
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveTrans(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2381,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2381,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2386,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2394,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2414,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2416,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2417,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2421,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2429,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2436,1
    - Dst: mndVgroupActionDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2428,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2464,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2421,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2464,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2456,1
    - Dst: mndShowTransCommonColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2375,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2384,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2385,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2386,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2390,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2391,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2395,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2408,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2404,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2419,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2445,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2459,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2430,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2393,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2395,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2409,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2431,1
    - Dst: strcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2433,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2433,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2438,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2446,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2452,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2456,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2450,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2430,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2444,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2407,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2409,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2402,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2420,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2437,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2438,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2442,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2446,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2452,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2460,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 118
    argCount: 7
    argNames:
    - pShow
    - pBlock
    - pAction
    - transactionId
    - curActionId
    - rows
    - numOfRows
    argTypes:
    - SShowObj*
    - SSDataBlock*
    - STransAction*
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2465
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2465
    functionName: mndShowTransAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - formatTimestamp
    - mndShowTransCommonColumns
    - snprintf
    - taosArrayGet
    - mndVgroupActionDecode
    - colDataSetVal
    - strcpy
    - mError
    - sdbStatusName
    - tstrerror
    - STR_WITH_MAXSIZE_TO_VARSTR
    - sdbTableName
    - taosMemoryFreeClear
    - sdbGetRowObj
    - TMSG_INFO
    linkageType: ''
    returnType: void
    signature: 'static void mndShowTransAction(SShowObj *pShow, SSDataBlock *pBlock,
      STransAction *pAction, int32_t transactionId, int32_t curActionId, int32_t rows,
      int32_t numOfRows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pTrans
    - pCont
    - contLen
    argTypes:
    - STrans*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 779
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 779
    functionName: mndTransSetRpcRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetRpcRsp(STrans *pTrans, void *pCont, int32_t contLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:829,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pTrans
    - groupId
    argTypes:
    - STrans*
    - int32_t
    constantsTouched: []
    func_position:
      end: 832
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 832
    functionName: mndTransAddArbGroupId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - mError
    linkageType: ''
    returnType: void
    signature: 'void mndTransAddArbGroupId(STrans *pTrans, int32_t groupId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:968,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:970,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:971,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:968,1
    - Dst: mndCheckTransConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:975,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:977,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:977,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:978,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:981,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 982
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 982
    functionName: mndTransCheckConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mError
    - tstrerror
    - strlen
    - TAOS_RETURN
    - mndCheckTransConflict
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransCheckConflict(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndTransEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1962,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1967,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1964,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1967,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1964,1
    - Dst: sdbWrite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1969,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1971,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1971,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1974,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1977
      start: 1958
    functionDepth: 0
    functionLinenumber: 1958
    functionLinenumberEnd: 1977
    functionName: mndTransPerformFinishStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - terrstr
    - mError
    - sdbSetRawStatus
    - mndTransEncode
    - TAOS_CHECK_RETURN
    - sdbWrite
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformFinishStage(SMnode *pMnode, STrans *pTrans,
      bool topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - pTrans
    - startFunc
    - stopFunc
    - param
    - paramLen
    argTypes:
    - STrans*
    - ETrnFunc
    - ETrnFunc
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 786
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 786
    functionName: mndTransSetCb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetCb(STrans *pTrans, ETrnFunc startFunc, ETrnFunc stopFunc,
      void *param, int32_t paramLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 834
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 834
    functionName: mndTransSetSerial
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetSerial(STrans *pTrans) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:992,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1003,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:999,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1010,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1007,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1015,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1015,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1016,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1019,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1020
      start: 984
    functionDepth: 0
    functionLinenumber: 984
    functionLinenumberEnd: 1020
    functionName: mndTransCheckConflictWithCompact
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosStrcasecmp
    - mError
    - tstrerror
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransCheckConflictWithCompact(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1983,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1984,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1984,1
    - Dst: mndTransPerformPrepareStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1988,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1985,1
    - Dst: mndTransPerformRedoActionStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1991,1
    - Dst: mndTransPerformCommitStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1994,1
    - Dst: mndTransPerformCommitActionStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1997,1
    - Dst: mndTransPerformRollbackStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2000,1
    - Dst: mndTransPerformUndoActionStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2003,1
    - Dst: mndTransPerformPreFinishStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2006,1
    - Dst: mndTransSendRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2017,1
    - Dst: mndTransPerformFinishStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2009,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 2018
      start: 1979
    functionDepth: 0
    functionLinenumber: 1979
    functionLinenumberEnd: 2018
    functionName: mndTransExecuteImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mndTransPerformRedoActionStage
    - mndTransPerformPreFinishStage
    - mndTransPerformPrepareStage
    - mndTransPerformRollbackStage
    - mndTransPerformUndoActionStage
    - mndStrExecutionContext
    - mndTransPerformFinishStage
    - mndTransPerformCommitStage
    - mndTransStr
    - mndTransPerformCommitActionStage
    - mndTransSendRpcRsp
    linkageType: ''
    returnType: void
    signature: 'void mndTransExecuteImp(SMnode *pMnode, STrans *pTrans, bool topHalf,
      bool notSend) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1309,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1313,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1323,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1313,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1338,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1358,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1332,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1334,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1342,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1345,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1351,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1348,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1359,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1349,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1328,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1348,1
    - Dst: mndTransExecute
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1355,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1347,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1354,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1349,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1360
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1360
    functionName: mndTransProcessRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireTrans
    - taosGetTimestampMs
    - taosArrayGet
    - mError
    - mndTransStr
    - tstrerror
    - TAOS_RETURN
    - mndReleaseTrans
    - mndSetTransLastAction
    - taosArrayGetSize
    - mndTransExecute
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransProcessRsp(SRpcMsg *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1369,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1369,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1372,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pAction
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 1375
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1375
    functionName: mndTransResetAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransStr
    linkageType: ''
    returnType: void
    signature: 'static void mndTransResetAction(SMnode *pMnode, STrans *pTrans, STransAction
      *pAction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - pTrans
    - pAction
    argTypes:
    - STrans*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 768
    functionName: mndTransAppendRedoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendRedoAction(STrans *pTrans, STransAction *pAction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: mndTransSetParallel
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetParallel(STrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - conflict
    - pTrans
    argTypes:
    - char*
    - STrans*
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: mndCheckDbConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCheckDbConflict(const char *conflict, STrans *pTrans) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2112,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2118,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2112,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2121,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2120,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2123,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2128,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2129,1
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2130,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2132,1
    - Dst: mndTransExecute
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2133,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2135,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2137,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2138
    functionName: mndTransPullup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireTrans
    - sdbRelease
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - sdbGetSize
    - sdbFetch
    - taosArrayPush
    - taosArraySort
    - mndReleaseTrans
    - taosArrayGetSize
    - taosArrayInit
    - mndTransExecute
    linkageType: ''
    returnType: void
    signature: 'void mndTransPullup(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pTrans
    - pAction
    argTypes:
    - STrans*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 774
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 774
    functionName: mndTransAppendUndoAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendUndoAction(STrans *pTrans, STransAction *pAction) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 845
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 845
    functionName: mndTransSetChangeless
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetChangeless(STrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:883,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - conflict
    - pTrans
    argTypes:
    - char*
    - STrans*
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: mndCheckStbConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosStrcasecmp
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCheckStbConflict(const char *conflict, STrans *pTrans) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2152,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2153,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2156,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2159,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2161,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2163,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 2167
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2167
    functionName: formatTimestamp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mError
    - taosStrfTime
    - taosLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *formatTimestamp(char *buf, int64_t val, int precision) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - pRaw
    argTypes:
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 755
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 755
    functionName: mndTransAppendCommitlog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendCommitlog(STrans *pTrans, SSdbRaw *pRaw) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1436,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1457,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1465,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1437,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1441,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1468,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1468,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1471,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1475,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1480,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1482,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1482,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1484,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1489,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1492,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1495,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1489,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1489,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pAction
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1496
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1496
    functionName: mndTransSendSingleMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCannotExecuteTrans
    - taosGetTimestampMs
    - tmsgSendReq
    - terrstr
    - mError
    - mndTransStr
    - TAOS_RETURN
    - mndSetTransLastAction
    - memcpy
    - tsnprintf
    - rpcMallocCont
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransSendSingleMsg(SMnode *pMnode, STrans *pTrans,
      STransAction *pAction, bool topHalf, bool notSend) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1537,1
    - Dst: mndTransExecSingleActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1549,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1561,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1565,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1568,1
    - Dst: mndTransResetActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1569,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1577,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1578,1
    - Dst: mndTransResetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1590,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1591,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1586,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1579,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1591,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pArray
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1598
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1598
    functionName: mndTransExecuteActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayGet
    - mError
    - mDebug
    - mndTransStr
    - mndSetTransLastAction
    - mndTransResetAction
    - mndTransExecSingleActions
    - taosArrayGetSize
    - mndTransResetActions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteActions(SMnode *pMnode, STrans *pTrans,
      SArray *pArray, bool topHalf, bool notSend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteCommitActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1868,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1883,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1873,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1883,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1878,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1888
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1888
    functionName: mndTransPerformCommitActionStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - terrstr
    - mError
    - mndTransExecuteCommitActions
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformCommitActionStage(SMnode *pMnode, STrans
      *pTrans, bool topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - pRaw
    argTypes:
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 761
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 761
    functionName: mndTransAppendPrepareLog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransAppendAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTransAppendPrepareLog(STrans *pTrans, SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1502,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1502,1
    - Dst: mndSetTransLastAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pAction
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    - bool
    constantsTouched: []
    func_position:
      end: 1506
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1506
    functionName: mndTransExecNullMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndSetTransLastAction
    - mndTransStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecNullMsg(SMnode *pMnode, STrans *pTrans,
      STransAction *pAction, bool topHalf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1601,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1603,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1603,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1607
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1607
    functionName: mndTransExecuteRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteActions
    - terrstr
    - mError
    - mndStrExecutionContext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteRedoActions(SMnode *pMnode, STrans *pTrans,
      bool topHalf, bool notSend) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteUndoActionsSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1895,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1908,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1905,1
    - Dst: mndCannotExecuteTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1900,1
    - Dst: mndTransExecuteUndoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1897,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1908,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1912,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1912,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1917
      start: 1890
    functionDepth: 0
    functionLinenumber: 1890
    functionLinenumberEnd: 1917
    functionName: mndTransPerformUndoActionStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCannotExecuteTrans
    - mndTransExecuteUndoActions
    - terrstr
    - mError
    - tstrerror
    - mndTransExecuteUndoActionsSerial
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransPerformUndoActionStage(SMnode *pMnode, STrans
      *pTrans, bool topHalf, bool notSend) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1023,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pActions
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 1037
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1037
    functionName: mndTransActionsOfSameType
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool mndTransActionsOfSameType(SArray *pActions) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 2030
      start: 2027
    functionDepth: 0
    functionLinenumber: 2027
    functionLinenumberEnd: 2030
    functionName: mndTransRefresh
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteImp
    linkageType: ''
    returnType: void
    signature: 'void mndTransRefresh(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndTransActionsOfSameType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1042,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1051,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1045,1
    - Dst: mndTransActionsOfSameType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1049,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1044,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1052,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1057,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1058
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1058
    functionName: mndTransCheckParallelActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mError
    - mndTransActionsOfSameType
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransCheckParallelActions(SMnode *pMnode, STrans
      *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 2024
      start: 2021
    functionDepth: 0
    functionLinenumber: 2021
    functionLinenumberEnd: 2024
    functionName: mndTransExecute
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteImp
    linkageType: ''
    returnType: void
    signature: 'void mndTransExecute(SMnode *pMnode, STrans *pTrans, bool notSend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:89,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:92,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:93,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:94,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:90,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 96
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 96
    functionName: mndInitTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitTrans(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:127,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:131,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:128,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:129,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:130,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:132,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:133,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:134,1
    - Dst: sdbGetRawTotalSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:136,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:137,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:143,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:146,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:144,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:141,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:139,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:138,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:142,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pRaw
    - offset
    - pActions
    - actionsNum
    argTypes:
    - SSdbRaw*
    - int32_t*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 156
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 156
    functionName: mndTransEncodeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - SDB_SET_INT8
    - taosArrayGet
    - sdbGetRawTotalSize
    - SDB_SET_INT32
    - SDB_SET_BINARY
    - SDB_SET_INT16
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransEncodeAction(SSdbRaw *pRaw, int32_t *offset,
      SArray *pActions, int32_t actionsNum) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1156,1
    - Dst: mndTransSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1157,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1158,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1159,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1161,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: mndTransCommit
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - tstrerror
    - TAOS_RETURN
    - mndTransSync
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransCommit(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2492,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2493,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2496,1
    - Dst: mndShowTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2497,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2493,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2503,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 9
    argNames:
    - pSdb
    - pShowIter
    - pShow
    - pBlock
    - rows
    - numOfRows
    - pActions
    - end
    - start
    argTypes:
    - SSdb*
    - STransDetailIter*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    - int32_t*
    - SArray*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 2511
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2511
    functionName: mndTransShowActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndShowTransAction
    - taosArrayGet
    - mndTransStr
    - taosArrayGetSize
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndTransShowActions(SSdb *pSdb, STransDetailIter *pShowIter,
      SShowObj *pShow, SSDataBlock *pBlock, int32_t rows, int32_t *numOfRows, SArray
      *pActions, int32_t end, int32_t start) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mndTransGetActionsSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:165,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:170,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:172,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:172,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:187,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:185,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:184,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:183,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:188,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:191,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:239,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:238,1
    - Dst: mndTransGetActionsSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:168,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:186,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:190,1
    - Dst: mndTransEncodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:203,1
    - Dst: mndTransEncodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:205,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:207,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:208,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:209,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:217,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:231,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:244,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:222,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:227,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:240,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:228,1
    - Dst: mndTransGetActionsSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:167,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:193,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:196,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:198,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:199,1
    - Dst: mndTransEncodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:204,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:216,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:219,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:223,1
    - Dst: sdbGetRawTotalSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:238,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:232,1
    - Dst: mndTransGetActionsSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:166,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:177,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:178,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:179,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:181,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:180,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:182,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:192,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:200,1
    - Dst: mndTransEncodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:202,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:211,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:214,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 78
    argCount: 1
    argNames:
    - pTrans
    argTypes:
    - STrans*
    constantsTouched: []
    func_position:
      end: 246
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 246
    functionName: mndTransEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - sdbGetRawTotalSize
    - SDB_SET_INT32
    - mndTransGetActionsSize
    - mError
    - terrstr
    - taosHashIterate
    - sdbFreeRaw
    - mTrace
    - taosHashGetSize
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - mndTransEncodeAction
    - sdbAllocRaw
    - SDB_SET_INT16
    - taosArrayGetSize
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndTransEncode(STrans *pTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1167,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1169,1
    - Dst: mndTransSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1168,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1170,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1169,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1172,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1174
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1174
    functionName: mndTransRollback
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - tstrerror
    - TAOS_RETURN
    - mndTransSync
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransRollback(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2521,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2527,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2530,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2525,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2537,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2538,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2540,1
    - Dst: mndTransGetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2543,1
    - Dst: mndTransShowActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2545,1
    - Dst: mndTransGetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2550,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2562,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2564,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2562,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2567,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2548,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2553,1
    - Dst: mndTransShowActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2552,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2571
      start: 2513
    functionDepth: 0
    functionLinenumber: 2513
    functionLinenumberEnd: 2571
    functionName: mndRetrieveTransDetail
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransGetAction
    - taosMemoryFree
    - taosMemoryMalloc
    - mError
    - memset
    - mDebug
    - taosArrayGetSize
    - sdbFetch
    - tstrerror
    - mndTransShowActions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveTransDetail(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1610,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1612,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1612,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topHalf
    - notSend
    argTypes:
    - SMnode*
    - STrans*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1616
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1616
    functionName: mndTransExecuteUndoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteActions
    - terrstr
    - mError
    - mndStrExecutionContext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteUndoActions(SMnode *pMnode, STrans *pTrans,
      bool topHalf, bool notSend) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pTrans
    - oper
    argTypes:
    - STrans*
    - EOperType
    constantsTouched: []
    func_position:
      end: 847
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 847
    functionName: mndTransSetOper
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetOper(STrans *pTrans, EOperType oper) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndTransEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:851,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:855,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:856,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:858,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:855,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:858,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:860,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:860,1
    - Dst: mndSyncPropose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:862,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:864,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:870,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:871,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:865,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:867,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:866,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:872,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 873
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 873
    functionName: mndTransSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - sdbSetRawStatus
    - mndTransEncode
    - mndTransStr
    - tstrerror
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndSyncPropose
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransSync(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndTransExecuteActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1619,1
    - Dst: mndStrExecutionContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1622,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1621,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1621,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1625
      start: 1618
    functionDepth: 0
    functionLinenumber: 1618
    functionLinenumberEnd: 1625
    functionName: mndTransExecuteCommitActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteActions
    - terrstr
    - mError
    - mndStrExecutionContext
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteCommitActions(SMnode *pMnode, STrans
      *pTrans, bool topHalf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1178,1
    - Dst: mndTransSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1179,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1181,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1180,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1180,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1183,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1185
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1185
    functionName: mndTransPreFinish
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - tstrerror
    - TAOS_RETURN
    - mndTransSync
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransPreFinish(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - topHalf
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: mndTransIsInSyncContext
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static inline bool mndTransIsInSyncContext(bool topHalf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pAction
    argTypes:
    - STrans*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: mndSetTransLastAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mndSetTransLastAction(STrans *pTrans, STransAction *pAction) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:568,1
    - Dst: mndTransDropData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:579,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:569,1
    - Dst: mndTransGetCbFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:572,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pSdb
    - pTrans
    - callFunc
    argTypes:
    - SSdb*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 581
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 581
    functionName: mndTransDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransGetCbFp
    - mndTransDropData
    - mndTransStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransDelete(SSdb *pSdb, STrans *pTrans, bool callFunc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:794,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:799,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:802,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:800,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:798,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:804,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:807,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:809,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:814,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 4
    argNames:
    - pMnode
    - pMsg
    - oper
    - dbname
    argTypes:
    - SMnode*
    - SRpcMsg*
    - EOperType
    - char*
    constantsTouched: []
    func_position:
      end: 817
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 817
    functionName: mndSetRpcInfoForDbTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    - taosStrcasecmp
    - sdbFetch
    - taosArrayPush
    - taosWUnLockLatch
    - taosWLockLatch
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetRpcInfoForDbTrans(SMnode *pMnode, SRpcMsg *pMsg, EOperType
      oper, const char *dbname) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2033,1
    - Dst: mndTransPullup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2036
      start: 2032
    functionDepth: 0
    functionLinenumber: 2032
    functionLinenumberEnd: 2036
    functionName: mndProcessTransTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mTrace
    - mndTransPullup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTransTimer(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pTrans
    - stage
    argTypes:
    - STrans*
    - ETrnStage
    constantsTouched: []
    func_position:
      end: 2481
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2481
    functionName: mndTransGetAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray *mndTransGetAction(STrans *pTrans, ETrnStage stage) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndIsLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:60,1
    - Dst: mndTransIsInSyncContext
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:61,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - topHalf
    argTypes:
    - SMnode*
    - bool
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 64
    functionName: mndCannotExecuteTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransIsInSyncContext
    - mndIsLeader
    - mDebug
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCannotExecuteTrans(SMnode *pMnode, bool topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pMnode
    - param
    - paramLen
    argTypes:
    - SMnode*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: mndTransTestStartFunc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: void
    signature: 'static void mndTransTestStartFunc(SMnode *pMnode, void *param, int32_t
      paramLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:584,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:586,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pOldArray
    - pNewArray
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 592
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 592
    functionName: mndTransUpdateActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'static void mndTransUpdateActions(SArray *pOldArray, SArray *pNewArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:821,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:824,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pTrans
    - dbname
    - stbname
    argTypes:
    - STrans*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 826
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 826
    functionName: mndTransSetDbName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void mndTransSetDbName(STrans *pTrans, const char *dbname, const char
      *stbname) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1216,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1228,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1240,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1241,1
    - Dst: mndBuildSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1263,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1259,1
    - Dst: mndTransSetRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1270,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1280,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1215,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1220,1
    - Dst: mndIsDbReady
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1250,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1252,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1275,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1282,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1221,1
    - Dst: mndBuildSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1269,1
    - Dst: mndTransSetRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1264,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1247,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1275,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1288,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1290,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1291,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1295,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1219,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1223,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1246,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1253,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1246,1
    - Dst: mndRefreshUserIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1273,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1294,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 110
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1296
    functionName: mndTransSendRpcRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosArrayClear
    - mndReleaseDb
    - memcpy
    - mndRefreshUserIpWhiteList
    - TMSG_INFO
    - taosArrayGet
    - tmsgSendRsp
    - mndAcquireDb
    - mndBuildSMCreateStbRsp
    - taosMsleep
    - rpcMallocCont
    - mInfo
    - mWarn
    - mndIsDbReady
    - mndTransStr
    - tstrerror
    - taosWLockLatch
    - mndTransSetRpcRsp
    linkageType: ''
    returnType: void
    signature: 'static void mndTransSendRpcRsp(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2045,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2053,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2054,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2055,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2056,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2056,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2069,1
    - Dst: mndTransExecute
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2070,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 2072
      start: 2038
    functionDepth: 0
    functionLinenumber: 2038
    functionLinenumberEnd: 2072
    functionName: mndKillTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndTransStr
    - tstrerror
    - TAOS_RETURN
    - taosArrayGetSize
    - mndTransExecute
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndKillTrans(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:595,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:601,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:596,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:596,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:599,1
    - Dst: mndTransStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:601,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:604,1
    - Dst: mndTransUpdateActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:607,1
    - Dst: mndTransUpdateActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:608,1
    - Dst: mndTransUpdateActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:609,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:621,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:626,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:616,1
    - Dst: mndTransUpdateActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - STrans*
    - STrans*
    constantsTouched: []
    func_position:
      end: 630
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 630
    functionName: mndTransActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - mndTransStr
    - TAOS_RETURN
    - mndTransUpdateActions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransActionUpdate(SSdb *pSdb, STrans *pOld, STrans
      *pNew) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:642,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 644
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 644
    functionName: mndReleaseTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseTrans(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:889,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:893,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pNew
    - pTrans
    - conflict
    - globalConflict
    argTypes:
    - STrans*
    - STrans*
    - bool
    - bool*
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: mndTransLogConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    linkageType: ''
    returnType: void
    signature: 'static void mndTransLogConflict(STrans *pNew, STrans *pTrans, bool
      conflict, bool *globalConflict) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1741,1
    - Dst: mndTransExecuteActionsSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1743,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1747
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1747
    functionName: mndTransExecuteUndoActionsSerial
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mndTransExecuteActionsSerial
    - taosThreadMutexLock
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransExecuteUndoActionsSerial(SMnode *pMnode, STrans
      *pTrans, bool topHalf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pMnode
    - transId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: mndAcquireTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: STrans*
    signature: 'STrans *mndAcquireTrans(SMnode *pMnode, int32_t transId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:651,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:673,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:677,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:688,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:695,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:651,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:656,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:668,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:670,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:674,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:672,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:683,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:648,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:659,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:660,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:661,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:682,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:697,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:662,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:669,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:673,1
    - Dst: tGenIdPI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:675,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:676,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:675,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:671,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:682,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 62
    argCount: 5
    argNames:
    - pMnode
    - policy
    - conflict
    - pReq
    - opername
    argTypes:
    - SMnode*
    - ETrnPolicy
    - ETrnConflct
    - SRpcMsg*
    - char*
    constantsTouched: []
    func_position:
      end: 699
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 699
    functionName: mndTransCreate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - terrstr
    - sdbGetMaxId
    - sdbReadLock
    - taosInitRWLatch
    - taosArrayInit
    - tGenIdPI64
    - taosHashInit
    - sdbUnLock
    - taosGetTimestampMs
    - taosArrayPush
    - taosGetDefaultHashFunction
    - TRACE_GET_ROOTID
    - mError
    - tstrncpy
    - mndTransDrop
    - TMAX
    - mInfo
    - taosThreadMutexInit
    - mTrace
    linkageType: ''
    returnType: STrans*
    signature: 'STrans *mndTransCreate(SMnode *pMnode, ETrnPolicy policy, ETrnConflct
      conflict, const SRpcMsg *pReq, const char *opername) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:917,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:926,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:936,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:955,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:905,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:906,1
    - Dst: mndCheckDbConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:917,1
    - Dst: mndCheckDbConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:925,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:946,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:941,1
    - Dst: mndCheckStbConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:926,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:940,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:953,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:959,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:918,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:925,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:929,1
    - Dst: mndTransLogConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:944,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:909,1
    - Dst: mndCheckStbConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:918,1
    - Dst: mndCheckStbConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:929,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:939,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 2
    argNames:
    - pMnode
    - pNew
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 963
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 963
    functionName: mndCheckTransConflict
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransLogConflict
    - taosHashIterate
    - taosHashGet
    - sdbGetSize
    - sdbFetch
    - taosHashCancelIterate
    - mndCheckStbConflict
    - mndCheckDbConflict
    - sdbRelease
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCheckTransConflict(SMnode *pMnode, STrans *pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1754,1
    - Dst: mndTransExecSingleAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1761,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1764,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1757,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1765,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:1772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topHalf
    argTypes:
    - SMnode*
    - STrans*
    - bool
    constantsTouched: []
    func_position:
      end: 1774
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1774
    functionName: mndTransPerformPrepareStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mError
    - mndTransExecSingleAction
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool mndTransPerformPrepareStage(SMnode *pMnode, STrans *pTrans, bool
      topHalf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c:2575,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 2576
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2576
    functionName: mndCancelGetNextTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTrans.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextTrans(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:45,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:57,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:61,1
    - Dst: mndInitInfosTableSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:61,1
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:54,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:63,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:63,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:65,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - hash
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 70
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 70
    functionName: mndInsInitMeta
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    - tstrncpy
    - TAOS_CHECK_RETURN
    - strlen
    - TAOS_RETURN
    - taosHashPut
    - mndInitInfosTableSchema
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInsInitMeta(SHashObj *hash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:118,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:121,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:121,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:125,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:128,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:129,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:130,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:136,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:140,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:143,1
    - Dst: taosMemCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:146,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:145,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:147,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - pMnode
    - dbFName
    - tbName
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 148
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 148
    functionName: mndBuildInsTableCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mError
    - taosHashGet
    - tstrncpy
    - strlen
    - TAOS_RETURN
    - taosMemCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildInsTableCfg(SMnode *pMnode, const char *dbFName, const
      char *tbName, STableCfgRsp *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:21,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:24,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:38,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:28,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pSrc
    - colNum
    - pDst
    argTypes:
    - SSysDbTableSchema*
    - int32_t
    - SSchema**
    constantsTouched: []
    func_position:
      end: 39
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 39
    functionName: mndInitInfosTableSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_RETURN
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitInfosTableSchema(const SSysDbTableSchema *pSrc,
      int32_t colNum, SSchema **pDst) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:153,1
    - Dst: mndInsInitMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:156,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: mndInitInfos
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - mndInsInitMeta
    - taosGetDefaultHashFunction
    - TAOS_RETURN
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitInfos(SMnode *pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:77,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:84,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:81,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:82,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:82,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:84,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:88,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:90,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:93,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:93,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:98,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:96,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:103,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:111,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:110,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:107,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - pMnode
    - dbFName
    - tbName
    - sysinfo
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - bool
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: mndBuildInsTableSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mError
    - taosHashGet
    - strcmp
    - strlen
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildInsTableSchema(SMnode *pMnode, const char *dbFName,
      const char *tbName, bool sysinfo, STableMetaRsp *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:164,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:166,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:170,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 172
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 172
    functionName: mndCleanupInfos
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndInfoSchema.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupInfos(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:710,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:711,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:713,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:712,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:714,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:715,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:718,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:720,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:720,1
    - Dst: tDecodeSMqConsumerEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:723,1
    - Dst: taosDecodeArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:729,1
    - Dst: tDecodeOffRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:733,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:734,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:730,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:736,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:724,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - buf
    - pSub
    - sver
    argTypes:
    - void*
    - SMqSubscribeObj*
    - int8_t
    constantsTouched: []
    func_position:
      end: 739
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 739
    functionName: tDecodeSubscribeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - taosDecodeArray
    - tDecodeOffRows
    - taosDecodeString
    - tDecodeSMqConsumerEp
    - taosDecodeFixedI32
    - taosDecodeStringTo
    - taosStrdup
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeSubscribeObj(const void *buf, SMqSubscribeObj *pSub,
      int8_t sver) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:742,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:765,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:767,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 13
    argCount: 2
    argNames:
    - pItem
    - pObj
    argTypes:
    - SConfigItem*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 773
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 773
    functionName: mndInitConfigObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrdup
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitConfigObj(SConfigItem *pItem, SConfigObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pVgEp
    argTypes:
    - SMqVgEp*
    constantsTouched: []
    func_position:
      end: 255
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 255
    functionName: tCloneSMqVgEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: SMqVgEp*
    signature: 'SMqVgEp *tCloneSMqVgEp(const SMqVgEp *pVgEp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:531,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:535,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:536,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:534,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:532,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:537,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:539,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:540,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:542,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - buf
    - offsetRows
    argTypes:
    - void**
    - SArray*
    constantsTouched: []
    func_position:
      end: 550
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 550
    functionName: tEncodeOffRows
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosEncodeFixedI8
    - taosEncodeFixedI64
    - taosArrayGetSize
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeOffRows(void **buf, SArray *offsetRows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:599,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:600,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:603,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:602,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:605,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:605,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:606,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:607,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:608,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:615,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - key
    - ppSub
    argTypes:
    - char*
    - SMqSubscribeObj**
    constantsTouched: []
    func_position:
      end: 617
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 617
    functionName: tNewSubscribeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - MND_TMQ_NULL_CHECK
    - taosGetDefaultHashFunction
    - memcpy
    - taosInitRWLatch
    - taosHashInit
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNewSubscribeObj(const char *key, SMqSubscribeObj **ppSub) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:780,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:791,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:783,1
    - Dst: taosStrHumanToInt32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:791,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:797,1
    - Dst: taosStrHumanToInt64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:797,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:804,1
    - Dst: parseCfgReal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:804,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:813,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 3
    argNames:
    - pObjNew
    - name
    - value
    argTypes:
    - SConfigObj*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 827
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 827
    functionName: mndUpdateObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosStrHumanToInt64
    - taosStr2Int32
    - TAOS_CHECK_RETURN
    - taosStrHumanToInt32
    - strcasecmp
    - taosStrdup
    - parseCfgReal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUpdateObj(SConfigObj *pObjNew, const char *name, char *value) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pVgEp
    argTypes:
    - SMqVgEp*
    constantsTouched: []
    func_position:
      end: 262
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 262
    functionName: tDeleteSMqVgEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSMqVgEp(SMqVgEp *pVgEp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:554,1
    - Dst: tEncodeOffRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:557,1
    - Dst: taosEncodeArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:555,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - pConsumerEp
    argTypes:
    - void**
    - SMqConsumerEp*
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: tEncodeSMqConsumerEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI64
    - tEncodeOffRows
    - taosEncodeArray
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMqConsumerEp(void **buf, const SMqConsumerEp *pConsumerEp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:621,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:635,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:635,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:626,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:627,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:640,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:645,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:647,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:651,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:652,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:653,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:654,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - pSub
    - ppSub
    argTypes:
    - SMqSubscribeObj*
    - SMqSubscribeObj**
    constantsTouched: []
    func_position:
      end: 660
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 660
    functionName: tCloneSubscribeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - taosInitRWLatch
    - taosHashIterate
    - taosHashPut
    - taosArrayDup
    - taosStrdup
    - memcpy
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tCloneSubscribeObj(const SMqSubscribeObj *pSub, SMqSubscribeObj
      **ppSub) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:111,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:163,1
    - Dst: tDecodeStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:157,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:184,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:108,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:148,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:188,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:122,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:170,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:136,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:102,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:110,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:113,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:114,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:115,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:116,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:117,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:178,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:101,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:105,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:136,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:102,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:107,1
    - Dst: tDecodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:178,1
    - Dst: tDecodeIsEnd
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:183,1
    - Dst: freeStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:132,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:153,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:121,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:123,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:128,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:159,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:162,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:182,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:155,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:194,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:196,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:104,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:129,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:188,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:127,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:110,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:123,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:124,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:101,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:151,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:171,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:139,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:127,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:166,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:107,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:173,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:125,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:108,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:184,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:192,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:106,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:120,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:121,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:194,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:106,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:113,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:114,1
    - Dst: tDecodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:115,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:116,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:122,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:147,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:120,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:104,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:142,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:182,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:119,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:105,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:197,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:164,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:147,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:158,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:111,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:125,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 121
    argCount: 3
    argNames:
    - pDecoder
    - pObj
    - sver
    argTypes:
    - SDecoder*
    - SStreamObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 198
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 198
    functionName: tDecodeSStreamObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - taosMemoryFree
    - tDecodeCStrTo
    - taosArrayDestroy
    - taosMemoryCalloc
    - tDecodeSSchemaWrapper
    - tStartDecode
    - freeStreamTasks
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeStreamTask
    - TAOS_RETURN
    - taosArrayPush
    - tDecodeI64
    - tDecodeI8
    - tDecodeIsEnd
    - tDecodeCStrAlloc
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSStreamObj(SDecoder *pDecoder, SStreamObj *pObj, int32_t
      sver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:362,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:365,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:363,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pConsumer
    argTypes:
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: tClearSMqConsumerObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: 'void tClearSMqConsumerObj(SMqConsumerObj *pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:666,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:669,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:672,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:673,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:670,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:674,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:675,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pSub
    argTypes:
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 676
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 676
    functionName: tDeleteSubscribeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosArrayDestroyP
    - taosHashIterate
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSubscribeObj(SMqSubscribeObj *pSub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:831,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 837
    functionName: mndInitConfigVersion
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - memset
    linkageType: ''
    returnType: SConfigObj
    signature: 'SConfigObj mndInitConfigVersion() '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:841,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:849,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:864,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:852,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:866,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:843,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:846,1
    - Dst: tEncodeFloat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:856,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:841,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:840,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:843,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:849,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:852,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:872,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:864,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:840,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:846,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:866,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:856,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 24
    argCount: 2
    argNames:
    - pEncoder
    - pObj
    argTypes:
    - SEncoder*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 874
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 874
    functionName: tEncodeSConfigObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - tEncodeI8
    - tEncodeI32
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeFloat
    - tEncodeI64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSConfigObj(SEncoder *pEncoder, const SConfigObj *pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:25,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:48,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:79,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:46,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:65,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:57,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:40,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:24,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:25,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:37,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:37,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:48,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:93,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:29,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:53,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:57,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:30,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:33,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:36,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:39,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:42,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:69,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:44,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:71,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:90,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:51,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:44,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:68,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:46,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:65,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:90,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:33,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:38,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:73,1
    - Dst: tEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:83,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:24,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:28,1
    - Dst: tEncodeCStrWithLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:93,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:63,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:72,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:91,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:59,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:95,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:69,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:27,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:34,1
    - Dst: tEncodeCStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:45,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:47,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:59,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:86,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:91,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:51,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:28,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:30,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:42,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:40,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:86,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:73,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:47,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:83,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:36,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:39,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:75,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:29,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:31,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:43,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:87,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:53,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:27,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:38,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:63,1
    - Dst: tEncodeI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:87,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:31,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:34,1
    - Dst: tEncodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:43,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:45,1
    - Dst: tEncodeStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:79,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 95
    argCount: 2
    argNames:
    - pEncoder
    - pObj
    argTypes:
    - SEncoder*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 97
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 97
    functionName: tEncodeSStreamObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - tEncodeI8
    - tEncodeI32
    - tEncodeSSchemaWrapper
    - tEndEncode
    - tEncodeCStr
    - TAOS_CHECK_RETURN
    - tStartEncode
    - tEncodeStreamTask
    - tEncodeCStrWithLen
    - tEncodeI64
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSStreamObj(SEncoder *pEncoder, const SStreamObj *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:202,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:205,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:208,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:206,1
    - Dst: tFreeStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:209,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:212,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:215,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - pTaskLevel
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 218
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 218
    functionName: freeStreamTasks
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - tFreeStreamTask
    - taosArrayDestroy
    linkageType: ''
    returnType: void*
    signature: 'void *freeStreamTasks(SArray *pTaskLevel) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:221,1
    - Dst: freeStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:229,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:223,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:222,1
    - Dst: freeStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:230,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:234,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:237,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 242
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 242
    functionName: tFreeStreamObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - freeStreamTasks
    - tSimpleHashCleanup
    - qDestroyQueryPlan
    linkageType: ''
    returnType: void
    signature: 'void tFreeStreamObj(SStreamObj *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tClearSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:369,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pConsumer
    argTypes:
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 371
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 371
    functionName: tDeleteSMqConsumerObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tClearSMqConsumerObj
    linkageType: ''
    returnType: void
    signature: 'void tDeleteSMqConsumerObj(SMqConsumerObj *pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:680,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:683,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:682,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:681,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:684,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:685,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:688,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:689,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:693,1
    - Dst: tEncodeSMqConsumerEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:696,1
    - Dst: taosEncodeArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:700,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:701,1
    - Dst: tEncodeOffRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:703,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:704,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - buf
    - pSub
    argTypes:
    - void**
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 706
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 706
    functionName: tEncodeSubscribeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosEncodeFixedI8
    - taosHashIterate
    - tEncodeOffRows
    - taosHashGetSize
    - taosEncodeString
    - taosEncodeFixedI64
    - tEncodeSMqConsumerEp
    - taosEncodeArray
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSubscribeObj(void **buf, const SMqSubscribeObj *pSub) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:877,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:877,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:879,1
    - Dst: tDecodeCStrTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:878,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:878,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:879,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:884,1
    - Dst: tDecodeBool
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:884,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:887,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:887,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:890,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:894,1
    - Dst: tDecodeI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:890,1
    - Dst: tDecodeFloat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:894,1
    - Dst: tDecodeCStrAlloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:901,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:905,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:904,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:901,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - pDecoder
    - pObj
    argTypes:
    - SDecoder*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 906
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 906
    functionName: tDecodeSConfigObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - tDecodeCStrTo
    - tStartDecode
    - tDecodeFloat
    - tEndDecode
    - TAOS_CHECK_RETURN
    - tDecodeBool
    - TAOS_RETURN
    - tDecodeI64
    - tDecodeCStrAlloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDecodeSConfigObj(SDecoder *pDecoder, SConfigObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 916
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 916
    functionName: tFreeSConfigObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void tFreeSConfigObj(SConfigObj *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:266,1
    - Dst: taosEncodeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:268,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - pVgEp
    argTypes:
    - void**
    - SMqVgEp*
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: tEncodeSMqVgEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosEncodeSEpSet
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMqVgEp(void **buf, const SMqVgEp *pVgEp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 283
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 283
    functionName: topicNameDup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosStrdup
    linkageType: ''
    returnType: void*
    signature: 'static void *topicNameDup(void *p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:377,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:381,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:386,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:415,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:427,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:437,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:443,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:438,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:378,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:383,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:392,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:395,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:387,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:404,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:407,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:418,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:422,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:430,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:444,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:442,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:431,1
    - Dst: taosEncodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:379,1
    - Dst: taosEncodeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:384,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:403,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:391,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:434,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:439,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:441,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:440,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:376,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:380,1
    - Dst: taosEncodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:385,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:394,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:406,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:398,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:410,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:416,1
    - Dst: taosEncodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:419,1
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:428,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 91
    argCount: 2
    argNames:
    - buf
    - pConsumer
    argTypes:
    - void**
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 446
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 446
    functionName: tEncodeSMqConsumerObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosEncodeFixedI8
    - taosArrayGetSize
    - taosEncodeString
    - taosEncodeFixedI64
    - taosEncodeSEpSet
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tEncodeSMqConsumerObj(void **buf, const SMqConsumerObj *pConsumer) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:562,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:568,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:569,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:567,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:564,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:570,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:572,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:573,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:575,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - offsetRows
    - sver
    argTypes:
    - void*
    - SArray**
    - int8_t
    constantsTouched: []
    func_position:
      end: 585
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 585
    functionName: tDecodeOffRows
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - taosDecodeFixedI32
    - taosArrayReserve
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeOffRows(const void *buf, SArray **offsetRows, int8_t
      sver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:273,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:277,1
    - Dst: taosDecodeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:279,1
    - Dst: taosDecodeVariantU64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - pVgEp
    - sver
    argTypes:
    - void*
    - SMqVgEp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 281
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 281
    functionName: tDecodeSMqVgEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosDecodeSEpSet
    - taosDecodeFixedI32
    - POINTER_SHIFT
    - taosDecodeVariantU64
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeSMqVgEp(const void *buf, SMqVgEp *pVgEp, int8_t sver) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:288,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:303,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:302,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:307,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:295,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:313,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:314,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:319,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:324,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:325,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:330,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:356,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:330,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:337,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:338,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:340,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 6
    argNames:
    - consumerId
    - cgroup
    - updateType
    - topic
    - subscribe
    - ppConsumer
    argTypes:
    - int64_t
    - char*
    - int8_t
    - char*
    - SCMSubscribeReq*
    - SMqConsumerObj**
    constantsTouched: []
    func_position:
      end: 358
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 358
    functionName: tNewSMqConsumerObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMemoryCalloc
    - tstrncpy
    - taosArrayDup
    - taosArrayPush
    - taosStrdup
    - tDeleteSMqConsumerObj
    - memcpy
    - taosInitRWLatch
    - tListLen
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tNewSMqConsumerObj(int64_t consumerId, char *cgroup, int8_t
      updateType, char *topic, SCMSubscribeReq *subscribe, SMqConsumerObj **ppConsumer) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:452,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:459,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:465,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:493,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:504,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:520,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:455,1
    - Dst: taosDecodeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:458,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:472,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:483,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:478,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:489,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:501,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:514,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:519,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:450,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:454,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:457,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:464,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:482,1
    - Dst: taosDecodeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:471,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:461,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:513,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:517,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:518,1
    - Dst: taosDecodeStringTo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:451,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:453,1
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:460,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:479,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:490,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:494,1
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:500,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:505,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:511,1
    - Dst: taosDecodeFixedI8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:512,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 92
    argCount: 3
    argNames:
    - buf
    - pConsumer
    - sver
    argTypes:
    - void*
    - SMqConsumerObj*
    - int8_t
    constantsTouched: []
    func_position:
      end: 527
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 527
    functionName: tDecodeSMqConsumerObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - taosDecodeFixedI8
    - taosDecodeString
    - taosDecodeFixedI32
    - taosArrayPush
    - taosDecodeStringTo
    - taosDecodeSEpSet
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeSMqConsumerObj(const void *buf, SMqConsumerObj *pConsumer,
      int8_t sver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:588,1
    - Dst: taosDecodeArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:589,1
    - Dst: tDecodeOffRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c:591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - pConsumerEp
    - sver
    argTypes:
    - void*
    - SMqConsumerEp*
    - int8_t
    constantsTouched: []
    func_position:
      end: 595
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 595
    functionName: tDecodeSMqConsumerEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDef.c
    functionUses: []
    functionsReached:
    - taosDecodeFixedI64
    - tDecodeOffRows
    - taosDecodeArray
    linkageType: ''
    returnType: void*
    signature: 'void *tDecodeSMqConsumerEp(const void *buf, SMqConsumerEp *pConsumerEp,
      int8_t sver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:58,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:66,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:60,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pList
    - pInfo
    argTypes:
    - SArray*
    - SFailedCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 70
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 70
    functionName: addIntoFailedChkptList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mError
    - taosArrayGetSize
    - taosArrayPush
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void addIntoFailedChkptList(SArray *pList, const SFailedCheckpointInfo
      *pInfo) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:116,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:136,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:130,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:118,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:124,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:138,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:142,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:152,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:154,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:154,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - pMnode
    - streamId
    - transId
    - checkpointId
    argTypes:
    - SMnode*
    - int64_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 160
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 160
    functionName: mndSendResetFromCheckpointMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mError
    - taosArrayRemove
    - mDebug
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSendResetFromCheckpointMsg(SMnode *pMnode, int64_t streamId,
      int32_t transId, int64_t checkpointId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:183,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:196,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:189,1
    - Dst: tSerializeDropOrphanTaskMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:194,1
    - Dst: tSerializeDropOrphanTaskMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:184,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:196,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:200,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:202,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:204,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - pMnode
    - pList
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 208
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 208
    functionName: mndSendDropOrphanTasksMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mError
    - mDebug
    - tstrerror
    - taosArrayGetSize
    - tmsgPutToQueue
    - rpcMallocCont
    - tSerializeDropOrphanTaskMsg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSendDropOrphanTasksMsg(SMnode *pMnode, SArray *pList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:243,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:244,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:255,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:247,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:252,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:258,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:260,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:268,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - pNodeList
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 273
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 273
    functionName: setNodeEpsetExpiredFlag
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setNodeEpsetExpiredFlag(const SArray *pNodeList) '
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: grantCheckExpire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:330,1
    - Dst: tDecodeStreamHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:338,1
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:339,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:340,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:382,1
    - Dst: doSendHbMsgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:386,1
    - Dst: cleanupAfterProcessHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:389,1
    - Dst: setNodeEpsetExpiredFlag
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:400,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:410,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:430,1
    - Dst: mndResetChkptReportInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:465,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:523,1
    - Dst: cleanupAfterProcessHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:535,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:495,1
    - Dst: doSendHbMsgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:534,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:442,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:428,1
    - Dst: mndGetNumOfStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:435,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:336,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:358,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:352,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:362,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:356,1
    - Dst: doSendHbMsgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:364,1
    - Dst: cleanupAfterProcessHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:367,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:372,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:397,1
    - Dst: checkforOrphanTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:412,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:473,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:473,1
    - Dst: mndTakeVgroupSnapshot
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:484,1
    - Dst: mndSendResetFromCheckpointMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:505,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:516,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:519,1
    - Dst: mndSendDropOrphanTasksMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:517,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:467,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:457,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:501,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:341,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:343,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:345,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:348,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:353,1
    - Dst: mndInitStreamExecInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:360,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:371,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:388,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:399,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:431,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:485,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:496,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:479,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:528,1
    - Dst: suspendAllStreams
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:331,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:349,1
    - Dst: validateHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:361,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:351,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:366,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:368,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:405,1
    - Dst: mndGetConsensusInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:438,1
    - Dst: updateStageInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:449,1
    - Dst: streamTaskStatusCopy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:454,1
    - Dst: addIntoFailedChkptList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:462,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:532,1
    - Dst: mndAddConsensusTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:440,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:507,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:519,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:511,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:487,1
    - Dst: mndStreamSendUpdateChkptInfoMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:526,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 164
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 538
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 538
    functionName: mndProcessStreamHb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - streamMutexLock
    - mndInitStreamExecInfo
    - mDebug
    - taosArrayGetSize
    - mndGetConsensusInfo
    - tCleanupStreamHbMsg
    - taosArrayInit
    - streamMutexUnlock
    - suspendAllStreams
    - taosGetTimestampMs
    - validateHbMsg
    - taosArrayDestroy
    - mndResetChkptReportInfo
    - doSendHbMsgRsp
    - mndGetNumOfStreamTasks
    - setNodeEpsetExpiredFlag
    - cleanupAfterProcessHbMsg
    - tDecodeStreamHbMsg
    - checkforOrphanTask
    - taosArrayGet
    - mndGetMnodeEpSet
    - streamTaskStatusCopy
    - mError
    - taosHashGet
    - mndStreamSendUpdateChkptInfoMsg
    - mndSendDropOrphanTasksMsg
    - mInfo
    - addIntoFailedChkptList
    - tDecoderInit
    - mndTakeVgroupSnapshot
    - mndSendResetFromCheckpointMsg
    - updateStageInfo
    - mndAddConsensusTasks
    - mndReleaseStream
    - tstrerror
    - TAOS_RETURN
    - streamTaskGetStatusStr
    - grantCheckExpire
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessStreamHb(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tCleanupStreamHbMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:552,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:553,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:554,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pReq
    - pFailedChkptList
    - pOrphanTasks
    argTypes:
    - SStreamHbMsg*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: cleanupAfterProcessHbMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - tCleanupStreamHbMsg
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void cleanupAfterProcessHbMsg(SStreamHbMsg *pReq, SArray *pFailedChkptList,
      SArray *pOrphanTasks) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:39,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:47,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:41,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pTaskEntry
    - stage
    argTypes:
    - STaskStatusEntry*
    - int64_t
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: updateStageInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void updateStageInfo(STaskStatusEntry *pTaskEntry, int64_t stage) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:74,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:82,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:88,1
    - Dst: mndStreamSetResetTaskAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:86,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:80,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:92,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:94,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:98,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:100,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:101,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:105,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 3
    argNames:
    - pMnode
    - pStream
    - chkptId
    argTypes:
    - SMnode*
    - SStreamObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: mndCreateStreamResetStatusTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - doCreateTrans
    - mError
    - mndStreamRegisterTrans
    - tstrerror
    - mndPersistTransLog
    - mndStreamSetResetTaskAction
    - mndTransDrop
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCreateStreamResetStatusTrans(SMnode *pMnode, SStreamObj
      *pStream, int64_t chkptId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:164,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:170,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:174,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:172,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 178
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 178
    functionName: mndStreamSendUpdateChkptInfoMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mError
    - mDebug
    - tstrerror
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSendUpdateChkptInfoMsg(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndKillTransImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:216,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:222,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:218,1
    - Dst: mndResetChkptReportInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:219,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:220,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:225,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:227,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:229,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:232,1
    - Dst: mndCreateStreamResetStatusTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:234,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 240
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 240
    functionName: mndProcessResetStatusReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mndCreateStreamResetStatusTrans
    - mndGetStreamObj
    - mndResetChkptReportInfo
    - streamMutexLock
    - mError
    - mndReleaseStream
    - mDebug
    - mndKillTransImpl
    - mndStreamTransConflictCheck
    - streamMutexUnlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessResetStatusReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:282,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:291,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:287,1
    - Dst: tSerializeSMPauseStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:290,1
    - Dst: tSerializeSMPauseStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:298,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:300,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:311,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:312,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:313,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:316,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - pMnode
    - info
    argTypes:
    - SMnode*
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 319
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 319
    functionName: suspendAllStreams
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mInfo
    - tSerializeSMPauseStreamReq
    - tstrncpy
    - tstrerror
    - sdbFetch
    - tmsgPutToQueue
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t suspendAllStreams(SMnode *pMnode, SRpcHandleInfo *info) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:541,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pNodeList
    - vgId
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: validateHbMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'bool validateHbMsg(const SArray *pNodeList, int32_t vgId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:563,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:567,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:570,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:567,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:565,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:572,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:572,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:576,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:577,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:580,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:584,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:584,1
    - Dst: tmsgSendRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:591,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:583,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:582,1
    - Dst: tEncodeStreamHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:581,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - code
    - pRpcInfo
    - pMndEpset
    - vgId
    - msgId
    argTypes:
    - int32_t
    - SRpcHandleInfo*
    - SEpSet*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 593
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 593
    functionName: doSendHbMsgRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - htonl
    - epsetAssign
    - tEncoderClear
    - tEncoderInit
    - tEncodeStreamHbRsp
    - tmsgSendRsp
    - mError
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'void doSendHbMsgRsp(int32_t code, SRpcHandleInfo *pRpcInfo, SEpSet*
      pMndEpset, int32_t vgId, int32_t msgId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:598,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:606,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:600,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:604,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:606,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:610,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c:613,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 3
    argNames:
    - pMnode
    - p
    - pOrphanTasks
    argTypes:
    - SMnode*
    - STaskStatusEntry*
    - SArray*
    constantsTouched: []
    func_position:
      end: 616
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 616
    functionName: checkforOrphanTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamHb.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - mError
    - mndReleaseStream
    - tstrerror
    - taosArrayPush
    linkageType: ''
    returnType: void
    signature: 'void checkforOrphanTask(SMnode *pMnode, STaskStatusEntry *p, SArray
      *pOrphanTasks) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:388,1
    - Dst: mndFreeStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pStb
    argTypes:
    - SSdb*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: mndStbActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mTrace
    - mndFreeStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStbActionDelete(SSdb *pSdb, SStbObj *pStb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1903,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1907,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1910,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1915,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1904,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1915,1
    - Dst: validColCmprByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1916,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1918,1
    - Dst: tUpdateCompress
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1926,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1935,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1938,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1943,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 5
    argNames:
    - pMnode
    - pOld
    - pNew
    - pField
    - nCols
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1944
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1944
    functionName: mndUpdateSuperTableColumnCompress
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mndAllocStbSchemas
    - mndFindSuperTableColumnIndex
    - TAOS_CHECK_RETURN
    - tUpdateCompress
    - TAOS_RETURN
    - taosArrayGetSize
    - validColCmprByType
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateSuperTableColumnCompress(SMnode *pMnode, const
      SStbObj *pOld, SStbObj *pNew, SArray *pField, int32_t nCols) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:462,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:470,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:466,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:485,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:494,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:413,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:474,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:481,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:486,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:490,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:395,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:397,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:418,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:422,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:441,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:459,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:475,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:437,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:479,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:404,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:400,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:409,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:432,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:455,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 98
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SStbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 496
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 496
    functionName: mndStbActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosMemoryCalloc
    - mTrace
    - taosMemoryFreeClear
    - taosWUnLockLatch
    - memcpy
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStbActionUpdate(SSdb *pSdb, SStbObj *pOld, SStbObj
      *pNew) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mndValidateSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1957,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1964,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2002,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1996,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1997,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2004,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2016,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1950,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1959,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1968,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1999,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1994,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2029,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2031,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1973,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1974,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1979,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1981,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2017,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2035,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2041,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1954,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1953,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1964,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1976,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2010,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2025,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 95
    argCount: 5
    argNames:
    - pOld
    - pNew
    - pReq
    - ncols
    - withCompress
    argTypes:
    - SStbObj*
    - SStbObj*
    - SMAlterStbReq*
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 2042
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 2042
    functionName: mndAddSuperTableColumn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndAllocStbSchemas
    - mndValidateSchema
    - taosMemoryCalloc
    - mndFindSuperTableColumnIndex
    - createDefaultColCmprByType
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - memcpy
    - grantCheck
    - taosArrayGetSize
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddSuperTableColumn(const SStbObj *pOld, SStbObj
      *pNew, const SMAlterStbReq* pReq, int32_t ncols, int8_t withCompress) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:889,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 2
    argNames:
    - pStb
    - colName
    argTypes:
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 894
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 894
    functionName: mndFindStbColumns
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosStrncasecmp
    linkageType: ''
    returnType: SSchema*
    signature: 'static SSchema *mndFindStbColumns(const SStbObj *pStb, const char
      *colName) '
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1329,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1352,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1378,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1402,1
    - Dst: mndGetNumOfStbs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1421,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1430,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1438,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1446,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1447,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1448,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1477,1
    - Dst: tFreeSMCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1474,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1449,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1469,1
    - Dst: mndAlterStbImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1445,1
    - Dst: tDeserializeSMCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1324,1
    - Dst: mndCheckCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1330,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1339,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1358,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1360,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1401,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1456,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1465,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1469,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1473,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1441,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1343,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1349,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1383,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1391,1
    - Dst: mndCreateStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1451,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1456,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1461,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1463,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1463,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1472,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1480,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1335,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1392,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1402,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1383,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1365,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1410,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1416,1
    - Dst: mndBuildStbFromAlter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1437,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1439,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1440,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 171
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1481
      start: 1315
    functionDepth: 0
    functionLinenumber: 1315
    functionLinenumberEnd: 1481
    functionName: mndProcessCreateStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - mndCheckCreateStbReq
    - tsnprintf
    - taosHashInit
    - mndGetNumOfStbs
    - taosHashCleanup
    - mndReleaseDb
    - mndAlterStbImp
    - mndBuildStbFromAlter
    - TAOS_CHECK_RETURN
    - mndCreateStb
    - mndAcquireStb
    - taosHashPut
    - taosGetDefaultHashFunction
    - tDeserializeSMCreateStbReq
    - taosArrayGet
    - mError
    - grantCheck
    - taosMemoryFreeClear
    - auditRecord
    - tFreeSMCreateStbReq
    - mInfo
    - mndCheckDbPrivilege
    - tNameFromString
    - tstrerror
    - strlen
    - TAOS_RETURN
    - mndAcquireDbByStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateStbReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3800,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 3801
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3801
    functionName: mndCancelGetNextStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextStb(SMnode *pMnode, void *pIter) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:900,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:901,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:930,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:937,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:973,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:956,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:987,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:992,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1003,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1006,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:927,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:959,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1009,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1013,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:899,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:942,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:950,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:964,1
    - Dst: HAS_TYPE_MOD
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:976,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:980,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:994,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:905,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:932,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:940,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:955,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:968,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:947,1
    - Dst: SSCHMEA_SET_IDX_ON
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:985,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 122
    argCount: 4
    argNames:
    - pMnode
    - pDst
    - pCreate
    - pDb
    argTypes:
    - SMnode*
    - SStbObj*
    - SMCreateStbReq*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1014
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 1014
    functionName: mndBuildStbFromReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndGenerateUid
    - taosGetTimestampMs
    - taosArrayGet
    - taosMemoryCalloc
    - HAS_TYPE_MOD
    - TAOS_RETURN
    - SSCHMEA_SET_IDX_ON
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildStbFromReq(SMnode *pMnode, SStbObj *pDst, SMCreateStbReq
      *pCreate, SDbObj *pDb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1498,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1495,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1491,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 1
    argNames:
    - pAlter
    argTypes:
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 1503
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1503
    functionName: mndCheckAlterStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - TAOS_RETURN
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckAlterStbReq(SMAlterStbReq *pAlter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3804,1
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3808,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3812
      start: 3803
    functionDepth: 0
    functionLinenumber: 3803
    functionLinenumberEnd: 3812
    functionName: mndGetStbStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'const char *mndGetStbStr(const char *src) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2241,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2246,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2248,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2250,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2244,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2252,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2254,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2258,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2259,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2260,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2285,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2301,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2302,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2275,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 4
    argNames:
    - pDb
    - pStb
    - tbName
    - pRsp
    argTypes:
    - SDbObj*
    - SStbObj*
    - char*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 2303
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2303
    functionName: mndBuildStbSchemaImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosRUnLockLatch
    - tstrncpy
    - taosRLockLatch
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStbSchemaImp(SDbObj *pDb, SStbObj *pStb, const
      char *tbName, STableMetaRsp *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:822,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:838,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:826,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:837,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:831,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:839,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:842,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 843
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 843
    functionName: mndSetForceDropCreateStbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndBuildVCreateStbReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetForceDropCreateStbRedoActions(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup, SStbObj *pStb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1561,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1571,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1566,1
    - Dst: mndValidateSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1569,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1575,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1576,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1585,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1588,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1599,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1603,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1607,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1593,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1591,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 4
    argNames:
    - pOld
    - pNew
    - pFields
    - ntags
    argTypes:
    - SStbObj*
    - SStbObj*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1608
      start: 1557
    functionDepth: 0
    functionLinenumber: 1557
    functionLinenumberEnd: 1608
    functionName: mndAddSuperTableTag
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndAllocStbSchemas
    - mndValidateSchema
    - mndFindSuperTableColumnIndex
    - TAOS_RETURN
    - memcpy
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddSuperTableTag(const SStbObj *pOld, SStbObj *pNew,
      SArray *pFields, int32_t ntags) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3336,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3339,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3353,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3357,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3346,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3358,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - dbName
    - pNumOfStbs
    argTypes:
    - SMnode*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3359
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3359
    functionName: mndGetNumOfStbs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndReleaseDb
    - mndAcquireDb
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetNumOfStbs(SMnode *pMnode, char *dbName, int32_t *pNumOfStbs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:852,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:862,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:855,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:854,1
    - Dst: mndBuildVDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:860,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:863,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:865,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:869,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:874,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:875,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:883,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:877,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:878,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:880,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:876,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 884
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 884
    functionName: mndSetCreateStbUndoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - mndBuildVDropStbReq
    - sdbFetch
    - mndVgroupInDb
    - TAOS_RETURN
    - mndTransAppendUndoAction
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateStbUndoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1616,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1629,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1631,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1632,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1656,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1643,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1661,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1619,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1622,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1655,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1657,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1645,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1658,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1659,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1665,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1667,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1627,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1636,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1638,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1639,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1640,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1666,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1630,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1654,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1649,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1669,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 4
    argNames:
    - pMnode
    - stbFullName
    - suid
    - colId
    argTypes:
    - SMnode*
    - char*
    - int64_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 1670
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1670
    functionName: mndCheckAlterColForTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesStringToNode
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - FOREACH
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckAlterColForTopic(SMnode *pMnode, const char
      *stbFullName, int64_t suid, col_id_t colId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2307,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2310,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2314,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2312,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2317,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2318,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2319,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2331,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2337,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2347,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2373,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2355,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2358,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2372,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 4
    argNames:
    - pDb
    - pStb
    - tbName
    - pRsp
    argTypes:
    - SDbObj*
    - SStbObj*
    - char*
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 2374
      start: 2305
    functionDepth: 0
    functionLinenumber: 2305
    functionLinenumberEnd: 2374
    functionName: mndBuildStbCfgImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosRUnLockLatch
    - tstrncpy
    - taosRLockLatch
    - taosArrayDup
    - TAOS_RETURN
    - taosStrdup
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStbCfgImp(SDbObj *pDb, SStbObj *pStb, const
      char *tbName, STableCfgRsp *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3363,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3365,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3365,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stbFullName
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3368
      start: 3361
    functionDepth: 0
    functionLinenumber: 3361
    functionLinenumberEnd: 3368
    functionName: mndExtractDbNameFromStbFullName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tNameFromString
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndExtractDbNameFromStbFullName(const char *stbFullName, char
      *dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3039
      start: 3039
    functionDepth: 0
    functionLinenumber: 3039
    functionLinenumberEnd: 3039
    functionName: mndProcessTrimDbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTrimDbRsp(SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:758,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:762,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:765,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:764,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:766,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:768,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:768,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:770,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 771
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 771
    functionName: mndSetCreateStbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateStbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4001,1
    - Dst: mndDestroyDropTbsWithTsmaCtx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4012,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4004,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4004,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - ppCtx
    argTypes:
    - SMndDropTbsWithTsmaCtx**
    constantsTouched: []
    func_position:
      end: 4014
      start: 3999
    functionDepth: 0
    functionLinenumber: 3999
    functionLinenumberEnd: 4014
    functionName: mndInitDropTbsWithTsmaCtx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosGetDefaultHashFunction
    - taosHashInit
    - mndDestroyDropTbsWithTsmaCtx
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitDropTbsWithTsmaCtx(SMndDropTbsWithTsmaCtx **ppCtx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:781,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:783,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:790,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:784,1
    - Dst: mndBuildVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:788,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:794,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:799,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:805,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:806,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:808,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:809,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:814,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:811,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:807,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 815
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 815
    functionName: mndSetCreateStbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - mndBuildVCreateStbReq
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateStbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3040
      start: 3040
    functionDepth: 0
    functionLinenumber: 3040
    functionLinenumberEnd: 3040
    functionName: mndProcessS3MigrateDbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessS3MigrateDbRsp(SRpcMsg *pRsp) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4023,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4033,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4027,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4034,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4036,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4038,1
    - Dst: tEncodeSVDropTbBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4039,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4040,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - pMnode
    - pVgInfo
    - pReq
    - len
    argTypes:
    - SMnode*
    - SVgroupInfo*
    - SVDropTbBatchReq*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 4045
      start: 4016
    functionDepth: 0
    functionLinenumber: 4016
    functionLinenumberEnd: 4045
    functionName: mndBuildVDropTbsReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - POINTER_SHIFT
    - tEncodeSize
    - tEncodeSVDropTbBatchReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildVDropTbsReq(SMnode *pMnode, const SVgroupInfo
      *pVgInfo, const SVDropTbBatchReq *pReq, int32_t *len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3944,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3946,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3952
      start: 3943
    functionDepth: 0
    functionLinenumber: 3943
    functionLinenumberEnd: 3952
    functionName: mndProcessDropStbReqFromMNode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - mndProcessDropStbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropStbReqFromMNode(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:514,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:519,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:517,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pMnode
    - stbName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 520
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 520
    functionName: mndAcquireDbByStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - tNameFromString
    - tNameGetFullDbName
    linkageType: ''
    returnType: SDbObj*
    signature: 'SDbObj *mndAcquireDbByStb(SMnode *pMnode, const char *stbName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1131,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1136,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1143,1
    - Dst: tSerializeSVTrimDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1132,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1141,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1144,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1147,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1148,1
    - Dst: tSerializeSVTrimDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1149,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1150,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1150,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1159,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1157,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1161,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1155,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1165
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1165
    functionName: mndProcessTrimDbTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - tmsgSendReq
    - mError
    - mndGetVgroupEpset
    - tstrerror
    - taosGetTimestampSec
    - sdbFetch
    - sdbCancelFetch
    - tSerializeSVTrimDbReq
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTrimDbTimer(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2046,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2054,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2059,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2049,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2063,1
    - Dst: mndCheckColAndTagModifiable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2063,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2065,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2065,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2068,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2069,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2076,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2071,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2077,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - colName
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 2078
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2078
    functionName: mndDropSuperTableColumn
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAllocStbSchemas
    - mndFindSuperTableColumnIndex
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - memmove
    - mndCheckColAndTagModifiable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropSuperTableColumn(SMnode *pMnode, const SStbObj
      *pOld, SStbObj *pNew, const char *colName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3372,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3374,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3374,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - stbFullName
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3377
      start: 3370
    functionDepth: 0
    functionLinenumber: 3370
    functionLinenumberEnd: 3377
    functionName: mndExtractShortDbNameFromStbFullName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tNameFromString
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndExtractShortDbNameFromStbFullName(const char *stbFullName,
      char *dst) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateTagIndexReq*
    constantsTouched: []
    func_position:
      end: 3817
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3817
    functionName: mndCheckIndexReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckIndexReq(SCreateTagIndexReq *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pVgReqs
    - pCont
    - contLen
    - msgType
    argTypes:
    - SMnode*
    - STrans*
    - SVDropTbVgReqs*
    - void*
    - int32_t
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 4056
      start: 4047
    functionDepth: 0
    functionLinenumber: 4047
    functionLinenumberEnd: 4056
    functionName: mndSetDropTbsRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropTbsRedoActions(SMnode *pMnode, STrans *pTrans,
      const SVDropTbVgReqs *pVgReqs, void *pCont, int32_t contLen, tmsg_t msgType) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - colId
    - pSchema
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: schemaExColIdCompare
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'static FORCE_INLINE int32_t schemaExColIdCompare(const void *colId,
      const void *pSchema) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1172,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1182,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1177,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1184,1
    - Dst: tSerializeSVS3MigrateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1173,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1187,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1188,1
    - Dst: tSerializeSVS3MigrateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1189,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1190,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1201,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1199,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1203,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1197,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1196,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1207
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1207
    functionName: mndProcessS3MigrateDbTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - tSerializeSVS3MigrateDbReq
    - tmsgSendReq
    - mError
    - mndGetVgroupEpset
    - tstrerror
    - taosGetTimestampSec
    - sdbFetch
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessS3MigrateDbTimer(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2082,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2100,1
    - Dst: mndCheckColAndTagModifiable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2100,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2097,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2085,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2102,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2102,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2108,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2113,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2119,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2120,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - pField
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - SField*
    constantsTouched: []
    func_position:
      end: 2121
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2121
    functionName: mndAlterStbColumnBytes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAllocStbSchemas
    - mndFindSuperTableColumnIndex
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndCheckColAndTagModifiable
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStbColumnBytes(SMnode *pMnode, const SStbObj
      *pOld, SStbObj *pNew, const SField *pField) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3381,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3381,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3383,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - stbFullName
    - dst
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3386
      start: 3379
    functionDepth: 0
    functionLinenumber: 3379
    functionLinenumberEnd: 3386
    functionName: mndExtractShortDbNameFromDbFullName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - tNameFromString
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndExtractShortDbNameFromDbFullName(const char *stbFullName,
      char *dst) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getInfosDbMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3628,1
    - Dst: buildDbColsInfoBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3629,1
    - Dst: buildDbColsInfoBlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3634,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3633,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - p
    - buildWhichDBs
    - tb
    argTypes:
    - SSDataBlock*
    - int8_t
    - char*
    constantsTouched: []
    func_position:
      end: 3638
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3638
    functionName: buildSysDbColsInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - getInfosDbMeta
    - getPerfDbMeta
    - buildDbColsInfoBlock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSysDbColsInfo(SSDataBlock *p, int8_t buildWhichDBs,
      char *tb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4060,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4064,1
    - Dst: mndBuildVDropTbsReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4066,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4065,1
    - Dst: mndSetDropTbsRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4072,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4077,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4080,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pVgMap
    - msgType
    argTypes:
    - SMnode*
    - STrans*
    - SHashObj*
    - tmsg_t
    constantsTouched: []
    func_position:
      end: 4083
      start: 4058
    functionDepth: 0
    functionLinenumber: 4058
    functionLinenumberEnd: 4083
    functionName: mndBuildDropTbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mndSetDropTbsRedoActions
    - taosHashIterate
    - mndBuildVDropTbsReq
    - taosHashCancelIterate
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildDropTbRedoActions(SMnode *pMnode, STrans *pTrans,
      SHashObj *pVgMap, tmsg_t msgType) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4226,1
    - Dst: tDecodeVFetchTtlExpiredTbsRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4227,1
    - Dst: mndCreateDropTbsTxnPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4235,1
    - Dst: mndDropTbForSingleVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4233,1
    - Dst: mndInitDropTbsWithTsmaCtx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4230,1
    - Dst: mndDestroyDropTbsWithTsmaCtx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4238,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4239,1
    - Dst: tFreeFetchTtlExpiredTbsRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4240,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4241,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 4242
      start: 4211
    functionDepth: 0
    functionLinenumber: 4211
    functionLinenumberEnd: 4242
    functionName: mndProcessFetchTtlExpiredTbs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - tDecoderInit
    - mndDestroyDropTbsWithTsmaCtx
    - mndDropTbForSingleVg
    - mndInitDropTbsWithTsmaCtx
    - mndCreateDropTbsTxnPrepare
    - TAOS_RETURN
    - tFreeFetchTtlExpiredTbsRsp
    - tDecodeVFetchTtlExpiredTbsRsp
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessFetchTtlExpiredTbs(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1235,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - pSchemas
    - nSchema
    - pFields
    - maxLen
    argTypes:
    - SSchema*
    - int32_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1241
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1241
    functionName: mndValidateSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'static bool mndValidateSchema(SSchema *pSchemas, int32_t nSchema,
      SArray *pFields, int32_t maxLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1245,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1246,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1253,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1250,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1247,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1254,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1255,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1256,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1260,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1265,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1289,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1274,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1284,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1302,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1275,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1269,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1288,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1298,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 3
    argNames:
    - pStb
    - pDst
    - createReq
    argTypes:
    - SStbObj*
    - SStbObj*
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 1313
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1313
    functionName: mndBuildStbFromAlter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - taosMemoryCalloc
    - taosRUnLockLatch
    - mndFindSuperTableColumnIndex
    - taosRLockLatch
    - createDefaultColCmprByType
    - TAOS_RETURN
    - memcpy
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStbFromAlter(SStbObj *pStb, SStbObj *pDst,
      SMCreateStbReq *createReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3174,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3178,1
    - Dst: tDeserializeSTableCfgReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3174,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3180,1
    - Dst: mndBuildInsTableCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3180,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3182,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3186,1
    - Dst: mndBuildStbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3186,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3189,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3179,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3185,1
    - Dst: tFreeSTableCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3216,1
    - Dst: mndExtractShortDbNameFromDbFullName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3177,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3177,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3195,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3181,1
    - Dst: tSerializeSTableCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3201,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3209,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3183,1
    - Dst: mndBuildPerfsTableCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3183,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3213,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3217,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3218
      start: 3168
    functionDepth: 0
    functionLinenumber: 3168
    functionLinenumberEnd: 3218
    functionName: mndProcessTableCfgReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndBuildStbCfg
    - mTrace
    - tSerializeSTableCfgRsp
    - mError
    - strcmp
    - tDeserializeSTableCfgReq
    - tstrerror
    - TAOS_RETURN
    - mndExtractShortDbNameFromDbFullName
    - mndBuildInsTableCfg
    - tFreeSTableCfgRsp
    - rpcMallocCont
    - mndBuildPerfsTableCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTableCfgReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1816,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1827,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1822,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1821,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1818,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1830,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1834,1
    - Dst: mndCheckColAndTagModifiable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1834,1
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1836,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1838,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1852,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1843,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1853,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1846,1
    - Dst: mndFindSuperTableColumnIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1841,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1846,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1849,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - pFields
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1854
      start: 1814
    functionDepth: 0
    functionLinenumber: 1814
    functionLinenumberEnd: 1854
    functionName: mndAlterStbTagName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndAllocStbSchemas
    - mndFindSuperTableColumnIndex
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - memcpy
    - mndCheckColAndTagModifiable
    - taosArrayGetSize
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStbTagName(SMnode *pMnode, const SStbObj *pOld,
      SStbObj *pNew, SArray *pFields) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2166,1
    - Dst: mndBuildVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2173,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2169,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2168,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2175,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2176,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2179,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2182,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2186,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2187,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2192,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2188,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2195,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2189,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2190,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    - alterOriData
    - alterOriDataLen
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2196
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2196
    functionName: mndSetAlterStbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - mndBuildVCreateStbReq
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterStbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb, void *alterOriData, int32_t alterOriDataLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4159,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4169,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4163,1
    - Dst: createDropTbBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4166,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4172,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4173,1
    - Dst: createDropTbBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4178,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4180,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 6
    argNames:
    - pMnode
    - pVgHashMap
    - pVgInfo
    - name
    - suid
    - ignoreNotExists
    argTypes:
    - SMnode*
    - SHashObj*
    - SVgroupInfo*
    - char*
    - tb_uid_t
    - bool
    constantsTouched: []
    func_position:
      end: 4186
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4186
    functionName: mndDropTbAdd
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashGet
    - taosArrayPush
    - taosArrayDestroyEx
    - createDropTbBatchReq
    - taosHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropTbAdd(SMnode *pMnode, SHashObj *pVgHashMap,
      const SVgroupInfo *pVgInfo, char *name, tb_uid_t suid, bool ignoreNotExists) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3232,1
    - Dst: be64toh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3239,1
    - Dst: mndValidateStbVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3246,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3251,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3253,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3254,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3268,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3293,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3302,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3304,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3224,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3227,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3240,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3241,1
    - Dst: mndBuildStbSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3264,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3322,1
    - Dst: tFreeSSTbHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3326,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3234,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3263,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3267,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3269,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3252,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3270,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3277,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3287,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3290,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3301,1
    - Dst: tFreeSSTbHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3313,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3330,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3315,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3242,1
    - Dst: mndGetTableSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3294,1
    - Dst: tSerializeSSTbHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3311,1
    - Dst: tFreeSSTbHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3320,1
    - Dst: tSerializeSSTbHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3325,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3318,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 94
    argCount: 5
    argNames:
    - pMnode
    - pStbVersions
    - numOfStbs
    - ppRsp
    - pRspLen
    argTypes:
    - SMnode*
    - SSTableVersion*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 3331
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3331
    functionName: mndValidateStbInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryMalloc
    - taosArrayDestroy
    - mndValidateStbVersion
    - tSerializeSSTbHbRsp
    - ntohl
    - tstrncpy
    - mndBuildStbSchema
    - TAOS_RETURN
    - taosArrayPush
    - tFreeSSTbHbRsp
    - tsnprintf
    - mndGetTableSma
    - be64toh
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndValidateStbInfo(SMnode *pMnode, SSTableVersion *pStbVersions,
      int32_t numOfStbs, void **ppRsp, int32_t *pRspLen) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1858,1
    - Dst: mndCheckColAndTagModifiable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1865,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1874,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1865,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1861,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1877,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1877,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1884,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1889,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1895,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1896,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - pField
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - SField*
    constantsTouched: []
    func_position:
      end: 1897
      start: 1856
    functionDepth: 0
    functionLinenumber: 1856
    functionLinenumberEnd: 1897
    functionName: mndAlterStbTagBytes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAllocStbSchemas
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndCheckColAndTagModifiable
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStbTagBytes(SMnode *pMnode, const SStbObj *pOld,
      SStbObj *pNew, const SField *pField) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2207,1
    - Dst: mndBuildVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2214,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2210,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2209,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2216,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2217,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2220,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2223,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2227,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2228,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2233,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2229,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2236,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2231,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2230,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    - alterOriData
    - alterOriDataLen
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2237
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2237
    functionName: mndSetAlterStbRedoActions2
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - mndBuildVCreateStbReq
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterStbRedoActions2(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb, void *alterOriData, int32_t alterOriDataLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3988,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3996,1
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3991,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3992,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3994,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 1
    argNames:
    - p
    argTypes:
    - SMndDropTbsWithTsmaCtx*
    constantsTouched: []
    func_position:
      end: 3997
      start: 3984
    functionDepth: 0
    functionLinenumber: 3984
    functionLinenumberEnd: 3997
    functionName: mndDestroyDropTbsWithTsmaCtx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosArrayDestroyEx
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void mndDestroyDropTbsWithTsmaCtx(SMndDropTbsWithTsmaCtx *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4191,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4201,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4200,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4204,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4205,1
    - Dst: mndDropTbAdd
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4205,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pMnode
    - pCtx
    - pTbs
    - vgId
    argTypes:
    - SMnode*
    - SMndDropTbsWithTsmaCtx*
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 4209
      start: 4188
    functionDepth: 0
    functionLinenumber: 4188
    functionLinenumberEnd: 4209
    functionName: mndDropTbForSingleVg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndAcquireVgroup
    - taosArrayGet
    - mndDropTbAdd
    - mndReleaseVgroup
    - mndGetVgroupEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropTbForSingleVg(SMnode *pMnode, SMndDropTbsWithTsmaCtx
      *pCtx, SArray *pTbs, int32_t vgId) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:680,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:695,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:685,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:690,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:698,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:701,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:705,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:708,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:712,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:716,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:736,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:721,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:724,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:728,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:732,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 1
    argNames:
    - pCreate
    argTypes:
    - SMCreateStbReq*
    constantsTouched: []
    func_position:
      end: 737
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 737
    functionName: mndCheckCreateStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckCreateStbReq(SMCreateStbReq *pCreate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2912,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2922,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2907,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2909,1
    - Dst: mndSetDropStbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2911,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2913,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2917,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2914,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2915,1
    - Dst: mndDropSmasByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2915,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2921,1
    - Dst: mndSetDropStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2912,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2900,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2909,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2908,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2911,1
    - Dst: mndSetDropStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2913,1
    - Dst: mndDropIdxsByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2914,1
    - Dst: mndUserRemoveStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2916,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2917,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2916,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2923
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2923
    functionName: mndDropStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndDropSmasByStb
    - mndSetDropStbCommitLogs
    - mndSetDropStbPrepareLogs
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndTransSetDbName
    - mndUserRemoveStb
    - mndTransPrepare
    - mndDropIdxsByStb
    - mndSetDropStbRedoActions
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropStb(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb,
      SStbObj *pStb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:741,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:749,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:747,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:748,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:745,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:751,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:751,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:753,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 754
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 754
    functionName: mndSetCreateStbPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateStbPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2943,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2951,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2970,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2982,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2950,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2953,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2971,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2969,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2972,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2937,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2936,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2968,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2978,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2980,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2931,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2938,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2948,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2959,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2957,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2961,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2964,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2960,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2979,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 3
    argNames:
    - pMnode
    - stbFullName
    - suid
    argTypes:
    - SMnode*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 2983
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2983
    functionName: mndCheckDropStbForTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mError
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesStringToNode
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - FOREACH
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDropStbForTopic(SMnode *pMnode, const char
      *stbFullName, int64_t suid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1506,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1513,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1510,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1507,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1514,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1515,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1517,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1519,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1521,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1524,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pOld
    - pNew
    argTypes:
    - SStbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 1525
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1525
    functionName: mndAllocStbSchemas
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAllocStbSchemas(const SStbObj *pOld, SStbObj *pNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2125,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2129,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2133,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2131,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2132,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2135,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2138
    functionName: mndSetAlterStbPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterStbPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3645,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3648,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3646,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - db
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 3655
      start: 3640
    functionDepth: 0
    functionLinenumber: 3640
    functionLinenumberEnd: 3655
    functionName: determineBuildColForWhichDBs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - strchr
    - strcmp
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t determineBuildColForWhichDBs(const char *db) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4088,1
    - Dst: mndTransSetChangeless
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4089,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4090,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4097,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4097,1
    - Dst: mndBuildDropTbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4099,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4100,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4103,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 2
    argNames:
    - pRsp
    - pCtx
    argTypes:
    - SRpcMsg*
    - SMndDropTbsWithTsmaCtx*
    constantsTouched: []
    func_position:
      end: 4105
      start: 4085
    functionDepth: 0
    functionLinenumber: 4085
    functionLinenumberEnd: 4105
    functionName: mndCreateDropTbsTxnPrepare
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndTransSetSerial
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndBuildDropTbRedoActions
    - mndTransSetChangeless
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDropTbsTxnPrepare(SRpcMsg *pRsp, SMndDropTbsWithTsmaCtx
      *pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4139,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4141,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4142,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pReq
    - pBatchReq
    argTypes:
    - SVDropTbReq*
    - SVDropTbBatchReq*
    constantsTouched: []
    func_position:
      end: 4147
      start: 4137
    functionDepth: 0
    functionLinenumber: 4137
    functionLinenumberEnd: 4147
    functionName: createDropTbBatchReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - taosArrayDestroy
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDropTbBatchReq(const SVDropTbReq *pReq, SVDropTbBatchReq
      *pBatchReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1532,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1552,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1554,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1551,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - pOld
    - pNew
    - pComment
    - commentLen
    - ttl
    - keep
    argTypes:
    - SStbObj*
    - SStbObj*
    - char*
    - int32_t
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1555
      start: 1527
    functionDepth: 0
    functionLinenumber: 1527
    functionLinenumberEnd: 1555
    functionName: mndUpdateTableOptions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - TAOS_RETURN
    - mndAllocStbSchemas
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateTableOptions(const SStbObj *pOld, SStbObj
      *pNew, char *pComment, int32_t commentLen, int32_t ttl, int64_t keep) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2142,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2146,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2150,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2148,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2149,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2152,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2152,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2154,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2155
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2155
    functionName: mndSetAlterStbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterStbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3677,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3692,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3697,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3721,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3730,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3731,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3734,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3734,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3736,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3743,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3790,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3731,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3791,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3765,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3742,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3670,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3719,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3726,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3737,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3747,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3750,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3753,1
    - Dst: decimalFromTypeMod
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3762,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3763,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3773,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3786,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3733,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3737,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3753,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3766,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3687,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3691,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3705,1
    - Dst: mndExtractTbNameFromStbFullName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3703,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3712,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3719,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3725,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3725,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3726,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3726,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3759,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3741,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3782,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3757,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3769,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3757,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3766,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3750,1
    - Dst: determineBuildColForWhichDBs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3666,1
    - Dst: buildSysDbColsInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3669,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3676,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3682,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3704,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3715,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3724,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3724,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3725,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3743,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3763,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3768,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3778,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3769,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 140
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3796
      start: 3657
    functionDepth: 0
    functionLinenumber: 3657
    functionLinenumberEnd: 3796
    functionName: mndRetrieveStbCol
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sprintf
    - colDataSetVal
    - mDebug
    - IS_DECIMAL_TYPE
    - sdbFetch
    - varDataSetLen
    - determineBuildColForWhichDBs
    - tsnprintf
    - sdbRelease
    - mndReleaseDb
    - colDataSetNULL
    - varDataVal
    - mndExtractTbNameFromStbFullName
    - taosArrayGet
    - decimalFromTypeMod
    - strncmp
    - buildSysDbColsInfo
    - mndAcquireDb
    - mError
    - sdbAcquire
    - RETRIEVE_CHECK_GOTO
    - STR_TO_VARSTR
    - tNameFromString
    - tstrerror
    - strlen
    - taosHashGetKey
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveStbCol(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropTbsReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4114,1
    - Dst: mndInitDropTbsWithTsmaCtx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4120,1
    - Dst: mndDropTbForSingleVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4124,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4123,1
    - Dst: mndCreateDropTbsTxnPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4127,1
    - Dst: tFreeSMDropTbsReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4132,1
    - Dst: mndDestroyDropTbsWithTsmaCtx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4133,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4134,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 20
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 4135
      start: 4107
    functionDepth: 0
    functionLinenumber: 4107
    functionLinenumberEnd: 4135
    functionName: mndProcessDropTbWithTsma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - tFreeSMDropTbsReq
    - mndDestroyDropTbsWithTsmaCtx
    - mndDropTbForSingleVg
    - mndInitDropTbsWithTsmaCtx
    - mndCreateDropTbsTxnPrepare
    - tDeserializeSMDropTbsReq
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropTbWithTsma(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:4151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 4153
      start: 4149
    functionDepth: 0
    functionLinenumber: 4149
    functionLinenumberEnd: 4153
    functionName: destroySVDropTbBatchReqs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void destroySVDropTbBatchReqs(void *p) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3053,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3070,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3098,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3102,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3102,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3108,1
    - Dst: mndCheckDropStbForTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3080,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3095,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3056,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3051,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3076,1
    - Dst: mndDropStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3090,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3105,1
    - Dst: tFreeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3049,1
    - Dst: tDeserializeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3049,1
    - Dst: mndCheckDropStbForStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3085,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3096,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3096,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3106,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3109
      start: 3042
    functionDepth: 0
    functionLinenumber: 3042
    functionLinenumberEnd: 3109
    functionName: mndProcessDropStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndCheckDbPrivilege
    - mndReleaseStb
    - mndDropStb
    - mndReleaseDb
    - mndCheckDropStbForStream
    - mError
    - tDeserializeSMDropStbReq
    - mndCheckDropStbForTopic
    - tNameFromString
    - tstrerror
    - TAOS_RETURN
    - mndAcquireDbByStb
    - mndAcquireStb
    - auditRecord
    - tFreeSMDropStbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropStbReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:79,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:97,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:94,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:96,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:95,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:105,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:91,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:111,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:92,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:83,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:80,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:82,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:81,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:84,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:85,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:86,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:87,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:88,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:89,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:106,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:108,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:109,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:90,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 112
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 112
    functionName: mndInitStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitStb(SMnode *pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1682,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1691,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1699,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1685,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1708,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1721,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1678,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1686,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1687,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1693,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1694,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1695,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1710,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1715,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1720,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1712,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1713,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1703,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1709,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1711,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1723,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 4
    argNames:
    - pMnode
    - stbFullName
    - suid
    - colId
    argTypes:
    - SMnode*
    - char*
    - int64_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 1724
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1724
    functionName: mndCheckAlterColForStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesStringToNode
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - FOREACH
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckAlterColForStream(SMnode *pMnode, const char
      *stbFullName, int64_t suid, col_id_t colId) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2525,1
    - Dst: mndBuildStbSchemaImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2544,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2550,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2562,1
    - Dst: tFreeSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2566,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2582,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2518,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2536,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2536,1
    - Dst: tFreeSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2559,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2538,1
    - Dst: tFreeSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2552,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2563,1
    - Dst: tEncodeSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2563,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2579,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2556,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2522,1
    - Dst: tFreeSMCreateStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2546,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2564,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2575,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 48
    argCount: 5
    argNames:
    - pMnode
    - dbFName
    - stbFName
    - pCont
    - pLen
    argTypes:
    - SMnode*
    - char*
    - char*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2583
      start: 2516
    functionDepth: 0
    functionLinenumber: 2516
    functionLinenumberEnd: 2583
    functionName: mndBuildSMCreateStbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndReleaseStb
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - mndReleaseDb
    - taosMemoryCalloc
    - mndAcquireDb
    - mndBuildStbSchemaImp
    - tNameFromString
    - tFreeSMCreateStbRsp
    - TAOS_RETURN
    - tEncodeSMCreateStbRsp
    - tEncodeSize
    - mndAcquireStb
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndBuildSMCreateStbRsp(SMnode *pMnode, char *dbFName, char
      *stbFName, void **pCont, int32_t *pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 114
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 114
    functionName: mndCleanupStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupStb(SMnode *pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1732,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1743,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1744,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1765,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1767,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1769,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1768,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1775,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1777,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1735,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1741,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1739,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1751,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1776,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1748,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1750,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1756,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1759,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1764,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1779,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1754,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1771,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1766,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - pMnode
    - stbFullName
    - suid
    - colId
    argTypes:
    - SMnode*
    - char*
    - int64_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 1780
      start: 1726
    functionDepth: 0
    functionLinenumber: 1726
    functionLinenumberEnd: 1780
    functionName: mndCheckAlterColForTSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesStringToNode
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - FOREACH
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckAlterColForTSma(SMnode *pMnode, const char
      *stbFullName, int64_t suid, col_id_t colId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2588,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2597,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2596,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2595,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2597,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2602,1
    - Dst: mndBuildSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2602,1
    - Dst: mndTransSetRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2606,1
    - Dst: mndSetAlterStbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2606,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2607,1
    - Dst: mndSetAlterStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2607,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2609,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2614,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2609,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2608,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2615,1
    - Dst: mndSetAlterStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2608,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 7
    argNames:
    - pMnode
    - pReq
    - pDb
    - pStb
    - needRsp
    - alterOriData
    - alterOriDataLen
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SStbObj*
    - bool
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2616
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2616
    functionName: mndAlterStbImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndBuildSMAlterStbRsp
    - mndSetAlterStbCommitLogs
    - mndSetAlterStbRedoActions
    - mndSetAlterStbPrepareLogs
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndTransSetDbName
    - mndTransSetRpcRsp
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStbImp(SMnode *pMnode, SRpcMsg *pReq, SDbObj
      *pDb, SStbObj *pStb, bool needRsp, void *alterOriData, int32_t alterOriDataLen) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3125,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3162,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3132,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3141,1
    - Dst: mndBuildStbSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3132,1
    - Dst: mndBuildPerfsTableSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3129,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3118,1
    - Dst: tDeserializeSTableInfoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3122,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3126,1
    - Dst: mndBuildInsTableSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3126,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3127,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3129,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3147,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3155,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3159,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3159,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3124,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3128,1
    - Dst: tSerializeSTableMetaRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3135,1
    - Dst: tFreeSTableMetaRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3163,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3131,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3166
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3166
    functionName: mndProcessTableMetaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireUser
    - mndBuildInsTableSchema
    - mTrace
    - mError
    - tDeserializeSTableInfoReq
    - strcmp
    - mndBuildPerfsTableSchema
    - tSerializeSTableMetaRsp
    - mndBuildStbSchema
    - tstrerror
    - tFreeSTableMetaRsp
    - rpcMallocCont
    - mndReleaseUser
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTableMetaReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2448,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2458,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2453,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2456,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2450,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2460,1
    - Dst: mndBuildStbCfgImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2463,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2465,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2466,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - pMnode
    - dbFName
    - tbName
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - STableCfgRsp*
    constantsTouched: []
    func_position:
      end: 2468
      start: 2445
    functionDepth: 0
    functionLinenumber: 2445
    functionLinenumberEnd: 2468
    functionName: mndBuildStbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - snprintf
    - mndReleaseDb
    - mndBuildStbCfgImp
    - mndAcquireDb
    - TAOS_RETURN
    - mndAcquireStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStbCfg(SMnode *pMnode, const char *dbFName,
      const char *tbName, STableCfgRsp *pRsp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:129,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:153,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:165,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:166,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:171,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:191,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:194,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:203,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:204,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:210,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:184,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:211,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:198,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:136,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:137,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:140,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:142,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:144,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:143,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:145,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:138,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:154,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:157,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:202,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:210,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:124,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:125,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:148,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:155,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:156,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:164,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:176,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:180,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:190,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:149,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:163,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:131,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:130,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:132,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:133,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:134,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:135,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:141,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:139,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:146,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:147,1
    - Dst: HAS_TYPE_MOD
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:158,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:167,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:172,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:215,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 91
    argCount: 1
    argNames:
    - pStb
    argTypes:
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 217
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 217
    functionName: mndStbActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - taosArrayGet
    - SDB_SET_INT32
    - terrstr
    - HAS_TYPE_MOD
    - mError
    - sdbFreeRaw
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - SDB_SET_INT16
    - taosArrayGetSize
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndStbActionEncode(SStbObj *pStb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1017,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1020,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1020,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - fullname
    - dbname
    - stbname
    - tagname
    argTypes:
    - char*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1021
    functionName: mndGenIdxNameForFirstTag
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - snprintf
    - tNameFromString
    - tNameGetTableName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGenIdxNameForFirstTag(char *fullname, char *dbname,
      char *stbname, char *tagname) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2379,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2388,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2390,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2381,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2393,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2395,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2397,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2400,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2414,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2417,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2416,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - pMnode
    - pStbVer
    - schema
    - sma
    argTypes:
    - SMnode*
    - SSTableVersion*
    - bool*
    - bool*
    constantsTouched: []
    func_position:
      end: 2419
      start: 2376
    functionDepth: 0
    functionLinenumber: 2376
    functionLinenumberEnd: 2419
    functionName: mndValidateStbVersion
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - snprintf
    - mndReleaseDb
    - mndAcquireDb
    - taosRUnLockLatch
    - taosRLockLatch
    - TAOS_RETURN
    - mndAcquireStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndValidateStbVersion(SMnode *pMnode, SSTableVersion
      *pStbVer, bool *schema, bool *sma) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - stbFullName
    - dst
    - dstSize
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3399
      start: 3388
    functionDepth: 0
    functionLinenumber: 3388
    functionLinenumberEnd: 3399
    functionName: mndExtractTbNameFromStbFullName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void mndExtractTbNameFromStbFullName(const char *stbFullName, char
      *dst, int32_t dstSize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2476,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2476,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2481,1
    - Dst: mndBuildStbSchemaImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2484,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2478,1
    - Dst: tFreeSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2486,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2490,1
    - Dst: tFreeSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2492,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2496,1
    - Dst: tFreeSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2499,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2502,1
    - Dst: tEncodeSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2503,1
    - Dst: tFreeSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2506,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2504,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2500,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2513,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - pDb
    - pObj
    - pCont
    - pLen
    argTypes:
    - SDbObj*
    - SStbObj*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2514
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2514
    functionName: mndBuildSMAlterStbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryCalloc
    - mndBuildStbSchemaImp
    - tEncodeSMAlterStbRsp
    - tNameFromString
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tEncodeSize
    - tFreeSMAlterStbRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildSMAlterStbRsp(SDbObj *pDb, SStbObj *pObj, void
      **pCont, int32_t *pLen) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:242,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:244,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:254,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:255,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:256,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:250,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:258,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:260,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:273,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:275,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:287,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:355,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:277,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:283,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:339,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:359,1
    - Dst: createDefaultColCmprByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:322,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:314,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:235,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:243,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:245,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:251,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:262,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:265,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:266,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:276,1
    - Dst: HAS_TYPE_MOD
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:278,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:303,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:346,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:360,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:361,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:367,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:335,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:328,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:249,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:257,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:259,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:261,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:274,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:284,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:285,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:286,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:292,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:293,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:355,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:358,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:311,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:331,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:228,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:238,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:246,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:247,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:248,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:253,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:252,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:264,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:297,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:299,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:309,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:305,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:327,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:349,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:363,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:357,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 132
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 369
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 369
    functionName: mndStbActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - terrstr
    - createDefaultColCmprByType
    - sdbGetRowObj
    - taosArrayInit
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - sdbAllocRow
    - SDB_GET_INT64
    - SDB_GET_INT16
    - taosArrayPush
    - HAS_TYPE_MOD
    - mError
    - taosMemoryFreeClear
    - SDB_GET_INT32
    - sdbGetRawSoftVer
    - mTrace
    - SDB_GET_RESERVE
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndStbActionDecode(SSdbRaw *pRaw) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildStbFromReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1037,1
    - Dst: mndGenIdxNameForFirstTag
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1040,1
    - Dst: mndReleaseIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1046,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1069,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1037,1
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1044,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1051,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1053,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1056,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1062,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1063,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1067,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1068,1
    - Dst: mndAddStbToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1062,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1056,1
    - Dst: mndStbActionDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1068,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1029,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1036,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1052,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1054,1
    - Dst: mndSetCreateIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1060,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1060,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1055,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1063,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pCreate
    - pDb
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMCreateStbReq*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1070
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1070
    functionName: mndCreateStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndGenIdxNameForFirstTag
    - TAOS_CHECK_GOTO
    - mndAcquireGlobalIdx
    - taosGetTimestampMs
    - mndGenerateUid
    - mndAddStbToTrans
    - mndBuildStbFromReq
    - mError
    - mndReleaseIdx
    - strlen
    - mndSetCreateIdxCommitLogs
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndStbActionDelete
    - memcpy
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateStb(SMnode *pMnode, SRpcMsg *pReq, SMCreateStbReq
      *pCreate, SDbObj *pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2424,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2426,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2434,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2429,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2436,1
    - Dst: mndBuildStbSchemaImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2439,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2440,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2441,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - pMnode
    - dbFName
    - tbName
    - pRsp
    argTypes:
    - SMnode*
    - char*
    - char*
    - STableMetaRsp*
    constantsTouched: []
    func_position:
      end: 2443
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2443
    functionName: mndBuildStbSchema
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - snprintf
    - mndReleaseDb
    - mndAcquireDb
    - mndBuildStbSchemaImp
    - TAOS_RETURN
    - mndAcquireStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStbSchema(SMnode *pMnode, const char *dbFName,
      const char *tbName, STableMetaRsp *pRsp) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3437,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3443,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3466,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3484,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3486,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3442,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3445,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3476,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3478,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3508,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3455,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3492,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3505,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3456,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3444,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3459,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3470,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3502,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3537,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3417,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3451,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3470,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3489,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3508,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3436,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3441,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3486,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3452,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3503,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3505,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3421,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3456,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3478,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3497,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3443,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3472,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3481,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3536,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3442,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3448,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3512,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3522,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3452,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3462,1
    - Dst: isTsmaResSTb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3425,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3441,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3447,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3507,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3486,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3499,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3517,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3438,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3478,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3489,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3469,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3481,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3526,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3530,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3411,1
    - Dst: mndExtractTbNameFromStbFullName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3435,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3436,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3443,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3488,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3512,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3448,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3505,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3426,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3510,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3465,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3480,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3459,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3517,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3499,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3515,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3412,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3438,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3458,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3484,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3502,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3522,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3466,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3520,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 141
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3542
      start: 3401
    functionDepth: 0
    functionLinenumber: 3401
    functionLinenumberEnd: 3542
    functionName: mndRetrieveStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - colDataSetVal
    - sdbFetch
    - varDataSetLen
    - taosArrayGetSize
    - tsnprintf
    - sdbRelease
    - mndReleaseDb
    - colDataSetNULL
    - varDataVal
    - mndExtractTbNameFromStbFullName
    - taosArrayGet
    - mndAcquireDb
    - strncat
    - mError
    - RETRIEVE_CHECK_GOTO
    - STR_TO_VARSTR
    - isTsmaResSTb
    - tNameFromString
    - tstrerror
    - strlen
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveStb(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:500,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - stbName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 505
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 505
    functionName: mndAcquireStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SStbObj*
    signature: 'SStbObj *mndAcquireStb(SMnode *pMnode, char *stbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1073,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1075,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1074,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1074,1
    - Dst: mndSetCreateStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1075,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1076,1
    - Dst: mndSetCreateStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1076,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1077,1
    - Dst: mndSetCreateStbUndoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 1079
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1079
    functionName: mndAddStbToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndSetCreateStbCommitLogs
    - mndSetCreateStbRedoActions
    - mndSetCreateStbUndoActions
    - TAOS_CHECK_RETURN
    - mndTransCheckConflict
    - mndTransSetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddStbToTrans(SMnode *pMnode, STrans *pTrans, SDbObj *pDb,
      SStbObj *pStb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1783,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1785,1
    - Dst: mndCheckAlterColForStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1784,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1784,1
    - Dst: mndCheckAlterColForTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1783,1
    - Dst: mndCheckAlterColForTSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1785,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pMnode
    - stbFullName
    - suid
    - colId
    argTypes:
    - SMnode*
    - char*
    - int64_t
    - col_id_t
    constantsTouched: []
    func_position:
      end: 1787
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1787
    functionName: mndCheckColAndTagModifiable
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndCheckAlterColForStream
    - mndCheckAlterColForTopic
    - mndCheckAlterColForTSma
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckColAndTagModifiable(SMnode *pMnode, const char *stbFullName,
      int64_t suid, col_id_t colId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3553,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3569,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3573,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3583,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3577,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3597,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3600,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3601,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3561,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3565,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3576,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3587,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3554,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3570,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3583,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3590,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3603,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3604,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3607,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3615,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3582,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3577,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3590,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3593,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3593,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3597,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3601,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3604,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3606,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 72
    argCount: 5
    argNames:
    - p
    - pSysDbTableMeta
    - size
    - dbName
    - tbName
    argTypes:
    - SSDataBlock*
    - SSysTableMeta*
    - size_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 3617
      start: 3544
    functionDepth: 0
    functionLinenumber: 3544
    functionLinenumberEnd: 3617
    functionName: buildDbColsInfoBlock
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - colDataSetNULL
    - colDataSetVal
    - strncmp
    - mError
    - varDataVal
    - STR_TO_VARSTR
    - tstrerror
    - varDataSetLen
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDbColsInfoBlock(const SSDataBlock *p, const SSysTableMeta
      *pSysDbTableMeta, size_t size, const char *dbName, const char *tbName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pStb
    argTypes:
    - SMnode*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: mndReleaseStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseStb(SMnode *pMnode, SStbObj *pStb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1087,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1091,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1094,1
    - Dst: tSerializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1088,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1098,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1100,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1103,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1104,1
    - Dst: tSerializeSVDropTtlTableReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1105,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1106,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1113,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1114,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1118,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1120,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1106,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1107,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1116,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1124
      start: 1081
    functionDepth: 0
    functionLinenumber: 1081
    functionLinenumberEnd: 1124
    functionName: mndProcessTtlTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - htonl
    - tmsgSendReq
    - tSerializeSVDropTtlTableReq
    - mError
    - mndGetVgroupEpset
    - mDebug
    - tstrerror
    - taosGetTimestampSec
    - sdbFetch
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTtlTimer(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndFindSuperTableTagIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1791,1
    - Dst: mndCheckColAndTagModifiable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1798,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1798,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1800,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1794,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1800,1
    - Dst: memmove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1802,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1810,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1811,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - tagName
    argTypes:
    - SMnode*
    - SStbObj*
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 1812
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1812
    functionName: mndDropSuperTableTag
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAllocStbSchemas
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - memmove
    - mndCheckColAndTagModifiable
    - mndFindSuperTableTagIndex
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropSuperTableTag(SMnode *pMnode, const SStbObj
      *pOld, SStbObj *pNew, const char *tagName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2842,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2850,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2849,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2848,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2846,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2852,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2852,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2854,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2855
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2855
    functionName: mndSetDropStbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropStbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SStbObj *pStb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMAlterStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2777,1
    - Dst: mndCheckAlterStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2783,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2791,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2782,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2785,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2797,1
    - Dst: mndAlterStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2801,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2806,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2807,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2809,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2813,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2813,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2816,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2817,1
    - Dst: tFreeSMAltertbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2818,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2820,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2821
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2821
    functionName: mndProcessAlterStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCheckDbPrivilege
    - mndReleaseStb
    - mndReleaseDb
    - mndAlterStb
    - tFreeSMAltertbReq
    - mError
    - tNameFromString
    - tDeserializeSMAlterStbReq
    - mndCheckAlterStbReq
    - tstrerror
    - TAOS_RETURN
    - mndAcquireDbByStb
    - mndAcquireStb
    - auditRecord
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterStbReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2825,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2831,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2833,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2829,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2832,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2835,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2835,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2837,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2838
      start: 2823
    functionDepth: 0
    functionLinenumber: 2823
    functionLinenumberEnd: 2838
    functionName: mndSetDropStbPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropStbPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SStbObj *pStb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2864,1
    - Dst: mndBuildVDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2872,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2874,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2867,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2866,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2875,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2877,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2881,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2886,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2887,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2888,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2892,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2889,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2890,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2895,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2896
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2896
    functionName: mndSetDropStbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - mndBuildVDropStbReq
    - sdbFetch
    - mndVgroupInDb
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropStbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2621,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2631,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2628,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2642,1
    - Dst: mndSetAlterStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2648,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2651,1
    - Dst: mndSetAlterStbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2647,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2660,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2670,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2674,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2677,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2675,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2680,1
    - Dst: mndSetAlterStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2655,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2656,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2656,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2661,1
    - Dst: mndGetIdxsByTagName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2666,1
    - Dst: mndSetAlterStbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2670,1
    - Dst: mndSetAlterStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2671,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2674,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2676,1
    - Dst: mndSetAlterIdxPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2676,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2687,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2629,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2631,1
    - Dst: mndGetIdxsByTagName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2644,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2647,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2648,1
    - Dst: mndSetDropIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2652,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2652,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2681,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2681,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2686,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2636,1
    - Dst: mndBuildSMAlterStbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2636,1
    - Dst: mndTransSetRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2637,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2655,1
    - Dst: mndSetDropIdxPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2651,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2671,1
    - Dst: mndSetAlterIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2677,1
    - Dst: mndSetAlterStbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2680,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 8
    argNames:
    - pMnode
    - pReq
    - pDb
    - pStb
    - needRsp
    - alterOriData
    - alterOriDataLen
    - pAlter
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SStbObj*
    - bool
    - void*
    - int32_t
    - SMAlterStbReq*
    constantsTouched: []
    func_position:
      end: 2688
      start: 2618
    functionDepth: 0
    functionLinenumber: 2618
    functionLinenumberEnd: 2688
    functionName: mndAlterStbAndUpdateTagIdxImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mndSetDropIdxCommitLogs
    - mndBuildSMAlterStbRsp
    - mndSetAlterStbPrepareLogs
    - mndGetIdxsByTagName
    - mndSetAlterIdxPrepareLogs
    - mndTransCreate
    - memcpy
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - mndSetAlterIdxCommitLogs
    - mndSetAlterStbCommitLogs
    - mndSetDropIdxPrepareLogs
    - mndSetAlterStbRedoActions
    - mndTransDrop
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - strlen
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransSetRpcRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStbAndUpdateTagIdxImp(SMnode *pMnode, SRpcMsg
      *pReq, SDbObj *pDb, SStbObj *pStb, bool needRsp, void *alterOriData, int32_t
      alterOriDataLen, const SMAlterStbReq *pAlter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:372,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:374,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:375,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:373,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:376,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:377,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:378,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStb
    argTypes:
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: mndFreeStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void mndFreeStb(SStbObj *pStb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pStb
    - tagName
    argTypes:
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1217
    functionName: mndFindSuperTableTagIndex
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFindSuperTableTagIndex(const SStbObj *pStb, const
      char *tagName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pStb
    argTypes:
    - SSdb*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: mndStbActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndStbActionInsert(SSdb *pSdb, SStbObj *pStb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:1221,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pStb
    - colName
    argTypes:
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 1227
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1227
    functionName: mndFindSuperTableColumnIndex
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFindSuperTableColumnIndex(const SStbObj *pStb, const
      char *colName) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: mndAddSuperTableTag
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2710,1
    - Dst: mndAddSuperTableColumn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2744,1
    - Dst: mndUpdateTableOptions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2738,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2761,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2762,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2764,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2767,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2704,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2713,1
    - Dst: mndAlterStbTagName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2718,1
    - Dst: mndAddSuperTableColumn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2726,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2733,1
    - Dst: mndAlterStbColumnBytes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2734,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2698,1
    - Dst: mndDropSuperTableTag
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2714,1
    - Dst: mndDropSuperTableColumn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2730,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2766,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2696,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2722,1
    - Dst: mndAlterStbTagBytes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2723,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2729,1
    - Dst: mndAlterStbImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2754,1
    - Dst: mndUpdateSuperTableColumnCompress
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2741,1
    - Dst: mndAlterStbAndUpdateTagIdxImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2756,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2760,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 5
    argNames:
    - pMnode
    - pReq
    - pAlter
    - pDb
    - pOld
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMAlterStbReq*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 2768
      start: 2690
    functionDepth: 0
    functionLinenumber: 2690
    functionLinenumberEnd: 2768
    functionName: mndAlterStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndAlterStbAndUpdateTagIdxImp
    - taosArrayGet
    - mndAlterStbTagBytes
    - mndAlterStbColumnBytes
    - mndUpdateTableOptions
    - mndAlterStbImp
    - taosRUnLockLatch
    - mndDropSuperTableTag
    - mndUpdateSuperTableColumnCompress
    - taosRLockLatch
    - mndAlterStbTagName
    - mndAddSuperTableTag
    - mndAddSuperTableColumn
    - mndDropSuperTableColumn
    - TAOS_RETURN
    - memcpy
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterStb(SMnode *pMnode, SRpcMsg *pReq, const SMAlterStbReq
      *pAlter, SDbObj *pDb, SStbObj *pOld) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:538,1
    - Dst: mndConvertRsmaTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:580,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:614,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:616,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:546,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:567,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:597,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:604,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:610,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:617,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:623,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:613,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:628,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:629,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:624,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:630,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:542,1
    - Dst: mndConvertRsmaTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:587,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:611,1
    - Dst: tEncodeSVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:615,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:620,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:625,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 6
    argNames:
    - pMnode
    - pVgroup
    - pStb
    - pContLen
    - alterOriData
    - alterOriDataLen
    argTypes:
    - SMnode*
    - SVgObj*
    - SStbObj*
    - int32_t*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 632
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 632
    functionName: mndBuildVCreateStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncodeSVCreateStbReq
    - tEncoderClear
    - tEncoderInit
    - tNameGetTableName
    - taosMemoryCalloc
    - tNameFromString
    - POINTER_SHIFT
    - tEncodeSize
    - taosMemoryFreeClear
    - mndConvertRsmaTask
    - tNameGetFullDbName
    linkageType: ''
    returnType: void*
    signature: 'void *mndBuildVCreateStbReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj
      *pStb, int32_t *pContLen, void *alterOriData, int32_t alterOriDataLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3003,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3005,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3006,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3024,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3014,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2991,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3022,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3025,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3021,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3023,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3031,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3033,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3001,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2996,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2995,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3010,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3012,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3017,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3032,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:2997,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3004,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3013,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:3035,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 3
    argNames:
    - pMnode
    - stbFullName
    - suid
    argTypes:
    - SMnode*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3036
      start: 2985
    functionDepth: 0
    functionLinenumber: 2985
    functionLinenumberEnd: 3036
    functionName: mndCheckDropStbForStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - mError
    - nodesDestroyNode
    - nodesDestroyList
    - nodesCollectColumns
    - nodesStringToNode
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - FOREACH
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDropStbForStream(SMnode *pMnode, const char
      *stbFullName, int64_t suid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:642,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:649,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:659,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:646,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:653,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:660,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:662,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:664,1
    - Dst: tEncodeSVDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:665,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c:666,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - pMnode
    - pVgroup
    - pStb
    - pContLen
    argTypes:
    - SMnode*
    - SVgObj*
    - SStbObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 674
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 674
    functionName: mndBuildVDropStbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tNameGetTableName
    - tNameFromString
    - POINTER_SHIFT
    - tEncodeSize
    - tEncodeSVDropStbReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildVDropStbReq(SMnode *pMnode, SVgObj *pVgroup,
      SStbObj *pStb, int32_t *pContLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 3038
      start: 3038
    functionDepth: 0
    functionLinenumber: 3038
    functionLinenumberEnd: 3038
    functionName: mndProcessDropTtltbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropTtltbRsp(SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:109,1
    - Dst: tCloneSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:118,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pStream
    - pTask
    argTypes:
    - SStreamObj*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: mndSetSinkTaskInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - memcpy
    - tCloneSSchemaWrapper
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetSinkTaskInfo(SStreamObj* pStream, SStreamTask* pTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: needHistoryTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool needHistoryTask(SStreamObj* pStream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getVgroupLastVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:332,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:347,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - pTask
    - skey
    - pVerList
    - vgId
    argTypes:
    - SStreamTask*
    - int64_t
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 359
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 359
    functionName: streamTaskSetDataRange
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mDebug
    - getVgroupLastVer
    linkageType: ''
    returnType: void
    signature: 'static void streamTaskSetDataRange(SStreamTask* pTask, int64_t skey,
      SArray* pVerList, int32_t vgId) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:759,1
    - Dst: doAddSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:776,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:772,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:771,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:766,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:779,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:781,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:785,1
    - Dst: doAddSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:793,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:796,1
    - Dst: setHTasksId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:805,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:804,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:801,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 8
    argNames:
    - pMnode
    - plan
    - pStream
    - pEpset
    - nextWindowSkey
    - pVerList
    - useTriggerParam
    - hasAggTasks
    argTypes:
    - SMnode*
    - SSubplan*
    - SStreamObj*
    - SEpSet*
    - int64_t
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 809
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 809
    functionName: addSourceTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - setHTasksId
    - mndReleaseVgroup
    - mError
    - tstrerror
    - sdbFetch
    - mndVgroupInDb
    - addNewTaskList
    - doAddSourceTask
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSourceTask(SMnode* pMnode, SSubplan* plan, SStreamObj*
      pStream, SEpSet* pEpset, int64_t nextWindowSkey, SArray* pVerList, bool useTriggerParam,
      bool hasAggTasks) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:891,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:908,1
    - Dst: setHTasksId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:909,1
    - Dst: doAddShuffleSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:897,1
    - Dst: doAddSinkTaskToVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:902,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - pMnode
    - pStream
    - pEpset
    argTypes:
    - SMnode*
    - SStreamObj*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 913
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 913
    functionName: addSinkTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - setHTasksId
    - doAddSinkTaskToVg
    - doAddShuffleSinkTask
    - addNewTaskList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSinkTask(SMnode* pMnode, SStreamObj* pStream, SEpSet*
      pEpset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:133,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:144,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:138,1
    - Dst: mndExtractDbInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:138,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:141,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:147,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:152,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:155,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:167,1
    - Dst: streamTaskSetFixedDownstreamInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:164,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 31
    argCount: 4
    argNames:
    - pMnode
    - pStream
    - pSinkNodeList
    - pTask
    argTypes:
    - SMnode*
    - SStreamObj*
    - SArray*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 168
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 168
    functionName: mndAddDispatcherForInternalTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGet
    - mndAcquireDb
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndExtractDbInfo
    - streamTaskSetFixedDownstreamInfo
    - memcpy
    - taosArrayGetSize
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddDispatcherForInternalTask(SMnode* pMnode, SStreamObj*
      pStream, SArray* pSinkNodeList, SStreamTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doAddSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:273,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:278,1
    - Dst: doAddSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:281,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - pMnode
    - pStream
    - pEpset
    - vgObj
    argTypes:
    - SMnode*
    - SStreamObj*
    - SEpSet*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 287
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 287
    functionName: doAddSinkTaskToVg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - doAddSinkTask
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddSinkTaskToVg(SMnode* pMnode, SStreamObj* pStream,
      SEpSet* pEpset, SVgObj* vgObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isCountWindowStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:362,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:366,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:367,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pTask
    - pPlan
    - isFillhistoryTask
    argTypes:
    - SStreamTask*
    - SSubplan*
    - bool
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: haltInitialTaskStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - streamTaskGetStatusStr
    - isCountWindowStreamTask
    - mDebug
    linkageType: ''
    returnType: void
    signature: 'static void haltInitialTaskStatus(SStreamTask* pTask, SSubplan* pPlan,
      bool isFillhistoryTask) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamGetUidTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:817,1
    - Dst: tNewStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:820,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 5
    argNames:
    - pStream
    - pEpset
    - type
    - useTriggerParam
    - pAggTask
    argTypes:
    - SStreamObj*
    - SEpSet*
    - EStreamTaskType
    - bool
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 824
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 824
    functionName: buildAggTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tNewStreamTask
    - streamGetUidTaskList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAggTask(SStreamObj* pStream, SEpSet* pEpset, EStreamTaskType
      type, bool useTriggerParam, SStreamTask** pAggTask) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAddDispatcherForInternalTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:917,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:921,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:918,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:920,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:918,1
    - Dst: streamTaskSetUpstreamInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:922,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:923,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:923,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - pStream
    - pMnode
    - pSinkTaskList
    - task
    argTypes:
    - SStreamObj*
    - SMnode*
    - SArray*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 927
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 927
    functionName: bindTaskToSinkTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndAddDispatcherForInternalTask
    - taosArrayGetP
    - mError
    - mDebug
    - tstrerror
    - streamTaskSetUpstreamInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void bindTaskToSinkTask(SStreamObj* pStream, SMnode* pMnode,
      SArray* pSinkTaskList, SStreamTask* task) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qStringToQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1538,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1549,1
    - Dst: doScheduleStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1541,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pStream
    - pCreate
    argTypes:
    - SMnode*
    - SStreamObj*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 1550
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1550
    functionName: mndScheduleStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - qStringToQueryPlan
    - TAOS_RETURN
    - mndGetMnodeEpSet
    - doScheduleStream
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndScheduleStream(SMnode* pMnode, SStreamObj* pStream, SCMCreateStreamReq*
      pCreate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1071,1
    - Dst: destroyVSubtableVtb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1073,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1076,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pVg
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1077
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1077
    functionName: destroyVSubtableVgHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - destroyVSubtableVtb
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyVSubtableVgHash(SSHashObj *pVg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1013
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1013
    functionName: tableHashValueComp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tableHashValueComp(void const* lp, void const* rp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:174,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pMnode
    - pTask
    - plan
    - pVgroup
    argTypes:
    - SMnode*
    - SStreamTask*
    - SSubplan*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: mndAssignStreamTaskToVgroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndGetVgroupEpset
    - qSubPlanToString
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAssignStreamTaskToVgroup(SMnode* pMnode, SStreamTask* pTask,
      SSubplan* plan, const SVgObj* pVgroup) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streamGetUidTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:380,1
    - Dst: tNewStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:392,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 7
    argNames:
    - pStream
    - pEpset
    - type
    - useTriggerParam
    - hasAggTasks
    - pTask
    - pSourceTaskList
    argTypes:
    - SStreamObj*
    - SEpSet*
    - EStreamTaskType
    - bool
    - int8_t
    - SStreamTask**
    - SArray*
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: buildSourceTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tNewStreamTask
    - streamGetUidTaskList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSourceTask(SStreamObj* pStream, SEpSet* pEpset,
      EStreamTaskType type, bool useTriggerParam, int8_t hasAggTasks, SStreamTask**
      pTask, SArray* pSourceTaskList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:429,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:432,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:430,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:433,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:434,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:442,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: setHTasksId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosArrayGetLast
    - mDebug
    linkageType: ''
    returnType: void
    signature: 'static void setHTasksId(SStreamObj* pStream) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1033,1
    - Dst: taosGetTbHashVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1034,1
    - Dst: taosArraySearch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1042,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1034,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1038,1
    - Dst: qError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1044,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1045,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - dbInfo
    - acctId
    - dbFName
    - vgId
    - tbName
    argTypes:
    - SDBVgHashInfo*
    - int32_t
    - char*
    - int32_t*
    - char*
    constantsTouched: []
    func_position:
      end: 1054
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1054
    functionName: getTableVgId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosArraySearch
    - qError
    - strlen
    - taosArraySort
    - taosArrayGetSize
    - taosGetTbHashVal
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getTableVgId(SDBVgHashInfo* dbInfo, int32_t acctId, char*
      dbFName, int32_t* vgId, char *tbName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1122,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1143,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1108,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1113,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1118,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1140,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1151,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1152,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1160,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1113,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1144,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1142,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1151,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1103,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1108,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1110,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1114,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1121,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1121,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1132,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1149,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1149,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1153,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 2
    argNames:
    - pMnode
    - pDbVgroup
    argTypes:
    - SMnode*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1164
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1164
    functionName: buildDBVgroupsMap
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - sdbRelease
    - mndReleaseDb
    - taosArrayDestroy
    - mndAcquireDb
    - mError
    - tSimpleHashGet
    - tstrerror
    - strlen
    - sdbFetch
    - taosArrayPush
    - tSimpleHashPut
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildDBVgroupsMap(SMnode* pMnode, SSHashObj* pDbVgroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1323,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1332,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1348,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1317,1
    - Dst: buildDBVgroupsMap
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1321,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1323,1
    - Dst: addRefColToMap
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1340,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1315,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1315,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1317,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1326,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1335,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1329,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1334,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1340,1
    - Dst: destroyDbVgroupsHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1351,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 3
    argNames:
    - pMnode
    - pVSubTables
    - ppRes
    argTypes:
    - SMnode*
    - SArray*
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 1354
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1354
    functionName: buildVSubtableMap
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - addRefColToMap
    - taosArrayGet
    - mError
    - TAOS_CHECK_EXIT
    - buildDBVgroupsMap
    - taosArrayGetSize
    - tstrerror
    - tSimpleHashInit
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - destroyDbVgroupsHash
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildVSubtableMap(SMnode* pMnode, SArray* pVSubTables,
      SSHashObj** ppRes) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1568,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1585,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1612,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1619,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1628,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1632,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1602,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1596,1
    - Dst: qDestroyQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1647,1
    - Dst: qStringToQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1562,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1570,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1570,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1577,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1577,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1581,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1613,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1624,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1626,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1638,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1575,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1578,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1607,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1591,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1631,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1643,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 72
    argCount: 3
    argNames:
    - pMnode
    - pTopic
    - pSub
    argTypes:
    - SMnode*
    - SMqTopicObj*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1649
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1649
    functionName: mndSchedInitSubEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - terrstr
    - qStringToQueryPlan
    - sdbFetch
    - nodesListGetNode
    - taosMemoryMalloc
    - mndGetVgroupEpset
    - qSubPlanToString
    - taosArrayPush
    - mndVgroupInDb
    - qDestroyQueryPlan
    - mError
    - nodesDestroyNode
    - mInfo
    - LIST_LENGTH
    - nodesStringToNode
    - qCreateQueryPlan
    - taosStrdup
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSchedInitSubEp(SMnode* pMnode, const SMqTopicObj* pTopic,
      SMqSubscribeObj* pSub) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:185,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: mndSchedFetchOneSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    linkageType: ''
    returnType: SSnodeObj*
    signature: 'SSnodeObj * mndSchedFetchOneSnode(SMnode* pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:400,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:406,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:402,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:407,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:402,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:407,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:411,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:412,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:414,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:414,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:418,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:419,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: addNewTaskList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - mError
    - tstrerror
    - taosArrayPush
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addNewTaskList(SStreamObj* pStream) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:453,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:453,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:483,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:488,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:472,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:500,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:502,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:508,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:459,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:460,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:461,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:489,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:490,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:467,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:522,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:450,1
    - Dst: tSimpleHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:451,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:461,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:462,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:468,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:479,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:493,1
    - Dst: streamTaskSetUpstreamInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:506,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:512,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:519,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:454,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:474,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:491,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 3
    argNames:
    - pTask
    - pVgTasks
    - pVtables
    argTypes:
    - SStreamTask*
    - SSHashObj*
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 525
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 525
    functionName: addSourceTaskVTableOutput
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tSimpleHashGetKey
    - tSimpleHashCleanup
    - tSimpleHashGetSize
    - mError
    - tSimpleHashGet
    - taosArrayGetSize
    - mDebug
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - tSimpleHashIterate
    - taosArrayPush
    - streamTaskSetUpstreamInfo
    - tstrerror
    - tSimpleHashPut
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addSourceTaskVTableOutput(SStreamTask* pTask, SSHashObj*
      pVgTasks, SSHashObj* pVtables) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1060,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1061,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1064,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pVtable
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1065
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1065
    functionName: destroyVSubtableVtb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - taosArrayDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyVSubtableVtb(SSHashObj *pVtable) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1180,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1184,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1189,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1210,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1210,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1212,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1180,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1188,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1200,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1198,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1188,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1178,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1182,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1181,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1186,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1187,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1190,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1198,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1189,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1212,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1183,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1190,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1189,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1201,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1208,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1209,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1212,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1221,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1221,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 59
    argCount: 5
    argNames:
    - pVg
    - vvgId
    - vuid
    - pCol
    - pCtx
    argTypes:
    - SSHashObj*
    - int32_t
    - uint64_t
    - SRefColInfo*
    - SStreamVBuildCtx*
    constantsTouched: []
    func_position:
      end: 1225
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1225
    functionName: addVTableToVnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - mError
    - tSimpleHashGet
    - tstrerror
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - taosArrayPush
    - strlen
    - taosStrdup
    - tSimpleHashPut
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addVTableToVnode(SSHashObj* pVg, int32_t vvgId, uint64_t
      vuid, SRefColInfo* pCol, SStreamVBuildCtx* pCtx) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1382,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1389,1
    - Dst: buildVSubtableMap
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1387,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1415,1
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1423,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1439,1
    - Dst: addVTableSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1440,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1479,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1480,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1484,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1508,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1513,1
    - Dst: addAggTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1520,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1522,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1364,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1374,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1382,1
    - Dst: getVTbScanSubPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1413,1
    - Dst: addVTableMergeTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1427,1
    - Dst: addSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1450,1
    - Dst: bindSourceSink
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1457,1
    - Dst: bindVtableMergeSink
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1465,1
    - Dst: ceil
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1481,1
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1485,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1362,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1370,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1380,1
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1408,1
    - Dst: addSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1398,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1447,1
    - Dst: bindSourceSink
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1459,1
    - Dst: addAggTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1491,1
    - Dst: bindTwoLevel
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1496,1
    - Dst: bindTwoLevel
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1498,1
    - Dst: bindAggSink
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1529,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1530,1
    - Dst: getAggSubPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1471,1
    - Dst: bindTwoLevel
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1533,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1512,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1366,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1376,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1379,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1418,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1389,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1421,1
    - Dst: getScanSubPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1436,1
    - Dst: getScanSubPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1443,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1458,1
    - Dst: getAggSubPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1504,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1511,1
    - Dst: bindTwoLevel
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1524,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1475,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1525,1
    - Dst: bindAggSink
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1531,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1497,1
    - Dst: addNewTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1515,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 178
    argCount: 5
    argNames:
    - pStream
    - pMnode
    - pPlan
    - pEpset
    - pCreate
    argTypes:
    - SStreamObj*
    - SMnode*
    - SQueryPlan*
    - SEpSet*
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1534
    functionName: doScheduleStream
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - addVTableMergeTask
    - mDebug
    - getVTbScanSubPlan
    - taosArrayGetSize
    - taosArrayInit
    - bindTwoLevel
    - taosArrayGetLast
    - addNewTaskList
    - bindSourceSink
    - ceil
    - addSinkTask
    - addSourceTask
    - bindAggSink
    - mndAcquireDb
    - mError
    - getAggSubPlan
    - buildVSubtableMap
    - getScanSubPlan
    - needHistoryTask
    - LIST_LENGTH
    - strcmp
    - tstrerror
    - TAOS_RETURN
    - addVTableSourceTask
    - bindVtableMergeSink
    - addAggTask
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doScheduleStream(SStreamObj* pStream, SMnode* pMnode,
      SQueryPlan* pPlan, SEpSet* pEpset, SCMCreateStreamReq* pCreate) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1234,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1236,1
    - Dst: getTableVgId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1234,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1238,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1238,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1240,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1240,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1241,1
    - Dst: tSimpleHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1242,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1248,1
    - Dst: addVTableToVnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1248,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1251,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1251,1
    - Dst: destroyVSubtableVgHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1263,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1260,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1251,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1260,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 7
    argNames:
    - fDBName
    - vvgId
    - vuid
    - pCol
    - pDb
    - pRes
    - pCtx
    argTypes:
    - char*
    - int32_t
    - uint64_t
    - SRefColInfo*
    - SDBVgHashInfo*
    - SSHashObj*
    - SStreamVBuildCtx*
    constantsTouched: []
    func_position:
      end: 1266
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1266
    functionName: addVgroupToRes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - snprintf
    - mError
    - getTableVgId
    - tSimpleHashGet
    - tstrerror
    - strlen
    - tSimpleHashInit
    - TSDB_CHECK_NULL
    - addVTableToVnode
    - tSimpleHashPut
    - destroyVSubtableVgHash
    - tSimpleHashSetFreeFp
    - taosGetDefaultHashFunction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addVgroupToRes(char* fDBName, int32_t vvgId, uint64_t
      vuid, SRefColInfo* pCol, SDBVgHashInfo* pDb, SSHashObj* pRes, SStreamVBuildCtx*
      pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodeType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:30,1
    - Dst: hasCountWindowNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:37,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:33,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:36,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pNode
    argTypes:
    - SPhysiNode*
    constantsTouched: []
    func_position:
      end: 44
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 44
    functionName: hasCountWindowNode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - nodeType
    - LIST_LENGTH
    - hasCountWindowNode
    - nodesListGetNode
    linkageType: ''
    returnType: bool
    signature: 'static bool hasCountWindowNode(SPhysiNode* pNode) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:56,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:76,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:81,1
    - Dst: qSetSTableIdForRsma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:61,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:86,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:88,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:94,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:95,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:101,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:102,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:103,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 30
    argCount: 7
    argNames:
    - pDst
    - pDstLen
    - ast
    - uid
    - triggerType
    - watermark
    - deleteMark
    argTypes:
    - char**
    - int32_t*
    - char*
    - int64_t
    - int8_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 104
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 104
    functionName: mndConvertRsmaTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesDestroyNode
    - qSubPlanToString
    - nodesStringToNode
    - TAOS_RETURN
    - qCreateQueryPlan
    - nodesListGetNode
    - qSetSTableIdForRsma
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndConvertRsmaTask(char** pDst, int32_t* pDstLen, const char*
      ast, int64_t uid, int8_t triggerType, int64_t watermark, int64_t deleteMark) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireEpFromSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:194,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:200,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:198,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - pMnode
    - pTask
    - plan
    - pSnode
    argTypes:
    - SMnode*
    - SStreamTask*
    - SSubplan*
    - SSnodeObj*
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: mndAssignStreamTaskToSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndAcquireEpFromSnode
    - qSubPlanToString
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAssignStreamTaskToSnode(SMnode* pMnode, SStreamTask* pTask,
      SSubplan* plan, const SSnodeObj* pSnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:296,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:301,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:308,1
    - Dst: doAddSinkTaskToVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:306,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:302,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:312,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - pMnode
    - pStream
    - pEpset
    argTypes:
    - SMnode*
    - SStreamObj*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 316
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 316
    functionName: doAddShuffleSinkTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - sdbFetch
    - mndVgroupInDb
    - sdbRelease
    - doAddSinkTaskToVg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddShuffleSinkTask(SMnode* pMnode, SStreamObj* pStream,
      SEpSet* pEpset) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:531,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:538,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:536,1
    - Dst: haltInitialTaskStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:539,1
    - Dst: streamTaskSetDataRange
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:542,1
    - Dst: mndAssignStreamTaskToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:544,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:549,1
    - Dst: addSourceTaskVTableOutput
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:552,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 12
    argNames:
    - pMnode
    - plan
    - pStream
    - pEpset
    - skey
    - pVerList
    - pVgroup
    - type
    - useTriggerParam
    - hasAggTasks
    - pVgTasks
    - pSourceTaskList
    argTypes:
    - SMnode*
    - SSubplan*
    - SStreamObj*
    - SEpSet*
    - int64_t
    - SArray*
    - SVgObj*
    - EStreamTaskType
    - bool
    - int8_t
    - SSHashObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 556
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 556
    functionName: doAddSourceTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - mndAssignStreamTaskToVgroup
    - buildSourceTask
    - mTrace
    - haltInitialTaskStatus
    - streamTaskSetDataRange
    - mDebug
    - addSourceTaskVTableOutput
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddSourceTask(SMnode* pMnode, SSubplan* plan, SStreamObj*
      pStream, SEpSet* pEpset, int64_t skey, SArray* pVerList, SVgObj* pVgroup, EStreamTaskType
      type, bool useTriggerParam, int8_t hasAggTasks, SSHashObj* pVgTasks, SArray*
      pSourceTaskList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:577,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:590,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:587,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:586,1
    - Dst: tNewStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:579,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:596,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:599,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:601,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:605,1
    - Dst: mndAssignStreamTaskToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:609,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 9
    argNames:
    - pMnode
    - plan
    - pStream
    - pEpset
    - pVgroup
    - isHistoryTask
    - useTriggerParam
    - hasAggTasks
    - pVtables
    argTypes:
    - SMnode*
    - SSubplan*
    - SStreamObj*
    - SEpSet*
    - SVgObj*
    - bool
    - bool
    - int8_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 615
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 615
    functionName: doAddMergeTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndAssignStreamTaskToVgroup
    - taosArrayGet
    - mError
    - tNewStreamTask
    - taosArrayGetLast
    - mDebug
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddMergeTask(SMnode* pMnode, SSubplan* plan, SStreamObj*
      pStream, SEpSet* pEpset, SVgObj* pVgroup, bool isHistoryTask, bool useTriggerParam,
      int8_t hasAggTasks, SArray* pVtables) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:635,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:641,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:636,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pPlan
    - index
    argTypes:
    - SQueryPlan*
    - int
    constantsTouched: []
    func_position:
      end: 647
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 647
    functionName: getAggSubPlan
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: SSubplan*
    signature: 'static SSubplan * getAggSubPlan(const SQueryPlan* pPlan, int index) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:961,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:964,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:962,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:965,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:966,1
    - Dst: bindTaskToSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:969,1
    - Dst: mndSetSinkTaskInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:971,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:972,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:972,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pStream
    - pMnode
    - tasks
    - hasExtraSink
    argTypes:
    - SStreamObj*
    - SMnode*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 976
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 976
    functionName: bindVtableMergeSink
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - bindTaskToSinkTask
    - mError
    - mDebug
    - tstrerror
    - mndSetSinkTaskInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void bindVtableMergeSink(SStreamObj* pStream, SMnode* pMnode,
      SArray* tasks, bool hasExtraSink) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hasCountWindowNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: isCountWindowStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - hasCountWindowNode
    linkageType: ''
    returnType: bool
    signature: 'static bool isCountWindowStreamTask(SSubplan* pPlan) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:319,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:321,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pList
    - vgId
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: getVgroupLastVer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - mDebug
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getVgroupLastVer(const SArray* pList, int32_t vgId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:559,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:561,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:560,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:566,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: getScanSubPlan
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: SSubplan*
    signature: 'static SSubplan * getScanSubPlan(const SQueryPlan* pPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:618,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:620,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:619,1
    - Dst: nodesListGetNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:625,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pPlan
    argTypes:
    - SQueryPlan*
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: getVTbScanSubPlan
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - LIST_LENGTH
    - nodesListGetNode
    linkageType: ''
    returnType: SSubplan*
    signature: 'static SSubplan * getVTbScanSubPlan(const SQueryPlan* pPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:653,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:657,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:656,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:659,1
    - Dst: doAddMergeTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:663,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:665,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:667,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:671,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 7
    argNames:
    - pMnode
    - plan
    - pStream
    - pEpset
    - useTriggerParam
    - hasAggTasks
    - pCreate
    argTypes:
    - SMnode*
    - SSubplan*
    - SStreamObj*
    - SEpSet*
    - bool
    - bool
    - SCMCreateStreamReq*
    constantsTouched: []
    func_position:
      end: 675
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 675
    functionName: addVTableMergeTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndAcquireVgroup
    - taosArrayGet
    - mndReleaseVgroup
    - mError
    - doAddMergeTask
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addVTableMergeTask(SMnode* pMnode, SSubplan* plan,
      SStreamObj* pStream, SEpSet* pEpset, bool useTriggerParam, bool hasAggTasks,
      SCMCreateStreamReq* pCreate) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:981,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:989,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:987,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:986,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:983,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:990,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:990,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:992,1
    - Dst: streamTaskSetFixedDownstreamInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:994,1
    - Dst: streamTaskSetUpstreamInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:995,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:996,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:996,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:999,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - tasks
    - begin
    - end
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1000
    functionName: bindTwoLevel
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mError
    - taosArrayGetLast
    - mDebug
    - tstrerror
    - streamTaskSetUpstreamInfo
    - streamTaskSetFixedDownstreamInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void bindTwoLevel(SArray* tasks, int32_t begin, int32_t end) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - lp
    - rp
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1026
      start: 1016
    functionDepth: 0
    functionLinenumber: 1016
    functionLinenumberEnd: 1026
    functionName: dbVgInfoComp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'int dbVgInfoComp(const void* lp, const void* rp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1083,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1088,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pDbVgs
    argTypes:
    - SSHashObj*
    constantsTouched: []
    func_position:
      end: 1089
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1089
    functionName: destroyDbVgroupsHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - tSimpleHashIterate
    - taosArrayDestroy
    - tSimpleHashCleanup
    linkageType: ''
    returnType: void
    signature: 'static void destroyDbVgroupsHash(SSHashObj *pDbVgs) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1277,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1281,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1282,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1277,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1280,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1282,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1286,1
    - Dst: addVTableToVnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1286,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1290,1
    - Dst: tSimpleHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1291,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1298,1
    - Dst: addVgroupToRes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1298,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1305,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1291,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:1293,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 6
    argNames:
    - vvgId
    - vuid
    - pCol
    - pDbVgroups
    - pRes
    - pCtx
    argTypes:
    - int32_t
    - uint64_t
    - SRefColInfo*
    - SSHashObj*
    - SSHashObj*
    - SStreamVBuildCtx*
    constantsTouched: []
    func_position:
      end: 1309
      start: 1268
    functionDepth: 0
    functionLinenumber: 1268
    functionLinenumberEnd: 1309
    functionName: addRefColToMap
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CODE
    - snprintf
    - mError
    - tSimpleHashGet
    - strcmp
    - tstrerror
    - strlen
    - TSDB_CHECK_NULL
    - taosArrayPush
    - addVTableToVnode
    - taosStrdup
    - addVgroupToRes
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addRefColToMap(int32_t vvgId, uint64_t vuid, SRefColInfo*
      pCol, SSHashObj* pDbVgroups, SSHashObj* pRes, SStreamVBuildCtx* pCtx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:242,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:245,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pStream
    - type
    - pUid
    - pTaskList
    argTypes:
    - SStreamObj*
    - EStreamTaskType
    - uint64_t*
    - SArray***
    constantsTouched: []
    func_position:
      end: 247
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 247
    functionName: streamGetUidTaskList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetLast
    linkageType: ''
    returnType: void
    signature: 'static void streamGetUidTaskList(SStreamObj* pStream, EStreamTaskType
      type, uint64_t* pUid, SArray*** pTaskList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:679,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:689,1
    - Dst: tSimpleHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:681,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:684,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:681,1
    - Dst: tSimpleHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:691,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:693,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pMergeTaskList
    - ppVgTasks
    argTypes:
    - SArray*
    - SSHashObj**
    constantsTouched: []
    func_position:
      end: 699
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 699
    functionName: buildMergeTaskHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mError
    - taosGetDefaultHashFunction
    - tSimpleHashInit
    - tSimpleHashPut
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildMergeTaskHash(SArray* pMergeTaskList, SSHashObj**
      ppVgTasks) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: buildAggTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:832,1
    - Dst: mndAssignStreamTaskToVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:842,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:840,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:843,1
    - Dst: mndAssignStreamTaskToSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 8
    argNames:
    - pStream
    - pMnode
    - plan
    - pEpset
    - pVgroup
    - pSnode
    - type
    - useTriggerParam
    argTypes:
    - SStreamObj*
    - SMnode*
    - SSubplan*
    - SEpSet*
    - SVgObj*
    - SSnodeObj*
    - EStreamTaskType
    - bool
    constantsTouched: []
    func_position:
      end: 846
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 846
    functionName: doAddAggTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndAssignStreamTaskToVgroup
    - buildAggTask
    - mndAssignStreamTaskToSnode
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddAggTask(SStreamObj* pStream, SMnode* pMnode, SSubplan*
      plan, SEpSet* pEpset, SVgObj* pVgroup, SSnodeObj* pSnode, EStreamTaskType type,
      bool useTriggerParam) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:930,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:933,1
    - Dst: taosArrayGetLast
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:931,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:934,1
    - Dst: bindTaskToSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:935,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:936,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 3
    argNames:
    - pStream
    - pMnode
    - tasks
    argTypes:
    - SStreamObj*
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 938
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 938
    functionName: bindAggSink
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - bindTaskToSinkTask
    - taosArrayGetLast
    - mDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void bindAggSink(SStreamObj* pStream, SMnode* pMnode, SArray*
      tasks) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: streamGetUidTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:252,1
    - Dst: mndSetSinkTaskInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:265,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:261,1
    - Dst: tNewStreamTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:255,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:264,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - pStream
    - pMnode
    - pVgroup
    - pEpset
    - type
    argTypes:
    - SStreamObj*
    - SMnode*
    - SVgObj*
    - SEpSet*
    - EStreamTaskType
    constantsTouched: []
    func_position:
      end: 266
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 266
    functionName: doAddSinkTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - streamGetUidTaskList
    - tNewStreamTask
    - mndGetVgroupEpset
    - mDebug
    - mndSetSinkTaskInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doAddSinkTask(SStreamObj* pStream, SMnode* pMnode,
      SVgObj* pVgroup, SEpSet* pEpset, EStreamTaskType type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buildMergeTaskHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:712,1
    - Dst: tSimpleHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:719,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:714,1
    - Dst: tSimpleHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:718,1
    - Dst: strrchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:720,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:722,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:723,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:727,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:729,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:731,1
    - Dst: doAddSourceTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:736,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:740,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:742,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:747,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:750,1
    - Dst: tSimpleHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:743,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:740,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 12
    argNames:
    - pMnode
    - plan
    - pStream
    - pEpset
    - nextWindowSkey
    - pVerList
    - useTriggerParam
    - hasAggTasks
    - pCreate
    - pVTableMap
    - pSourceTaskList
    - pMergeTaskList
    argTypes:
    - SMnode*
    - SSubplan*
    - SStreamObj*
    - SEpSet*
    - int64_t
    - SArray*
    - bool
    - bool
    - SCMCreateStreamReq*
    - SSHashObj*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 753
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 753
    functionName: addVTableSourceTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mWarn
    - tSimpleHashGetKey
    - mndAcquireVgroup
    - tSimpleHashCleanup
    - mndReleaseVgroup
    - mError
    - taosStr2int32
    - tstrerror
    - tSimpleHashIterate
    - buildMergeTaskHash
    - doAddSourceTask
    - strrchr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addVTableSourceTask(SMnode* pMnode, SSubplan* plan,
      SStreamObj* pStream, SEpSet* pEpset, int64_t nextWindowSkey, SArray* pVerList,
      bool useTriggerParam, bool hasAggTasks, SCMCreateStreamReq* pCreate, SSHashObj*
      pVTableMap, SArray* pSourceTaskList, SArray* pMergeTaskList) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndSchedFetchOneSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:853,1
    - Dst: doAddAggTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:861,1
    - Dst: mndSchedFetchOneVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:855,1
    - Dst: needHistoryTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:866,1
    - Dst: mndSchedFetchOneVg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:858,1
    - Dst: doAddAggTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:873,1
    - Dst: setHTasksId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:878,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:883,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:885,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 5
    argNames:
    - pStream
    - pMnode
    - plan
    - pEpset
    - useTriggerParam
    argTypes:
    - SStreamObj*
    - SMnode*
    - SSubplan*
    - SEpSet*
    - bool
    constantsTouched: []
    func_position:
      end: 888
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 888
    functionName: addAggTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - needHistoryTask
    - mndSchedFetchOneVg
    - setHTasksId
    - doAddAggTask
    - mndSchedFetchOneSnode
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addAggTask(SStreamObj* pStream, SMnode* pMnode, SSubplan*
      plan, SEpSet* pEpset, bool useTriggerParam) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:942,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:943,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:945,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:947,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:946,1
    - Dst: bindTaskToSinkTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:950,1
    - Dst: mndSetSinkTaskInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:952,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:953,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:953,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 4
    argNames:
    - pStream
    - pMnode
    - tasks
    - hasExtraSink
    argTypes:
    - SStreamObj*
    - SMnode*
    - SArray*
    - bool
    constantsTouched: []
    func_position:
      end: 957
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 957
    functionName: bindSourceSink
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - bindTaskToSinkTask
    - mError
    - mDebug
    - tstrerror
    - mndSetSinkTaskInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void bindSourceSink(SStreamObj* pStream, SMnode* pMnode, SArray*
      tasks, bool hasExtraSink) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:205,1
    - Dst: taosSafeRand
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:212,1
    - Dst: taosRand
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:213,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:220,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:212,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:223,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:229,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:232,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c:234,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pMnode
    - pStream
    argTypes:
    - SMnode*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 237
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 237
    functionName: mndSchedFetchOneVg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndScheduler.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - sdbFetch
    - sdbCancelFetch
    - taosSeedRand
    - taosRand
    - taosSafeRand
    - sdbRelease
    linkageType: ''
    returnType: SVgObj*
    signature: 'SVgObj * mndSchedFetchOneVg(SMnode* pMnode, SStreamObj* pStream) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:60,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:61,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:65,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:63,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:62,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:66,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 69
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 69
    functionName: mndInitTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitTopic(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:77,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:79,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:81,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - fullTopic
    - topic
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: mndTopicGetShowName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - strchr
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'void mndTopicGetShowName(const char* fullTopic, char* topic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:307,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:309,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:310,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:308,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:311,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pSdb
    - pTopic
    argTypes:
    - SSdb*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: mndTopicActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTopicActionDelete(SSdb *pSdb, SMqTopicObj *pTopic) '
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - pCreate
    argTypes:
    - SCMCreateTopicReq*
    constantsTouched: []
    func_position:
      end: 356
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 356
    functionName: mndCheckCreateTopicReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckCreateTopicReq(SCMCreateTopicReq *pCreate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - tDeserializeSMDropTopicReq(pReq->pCont, pReq->contLen, &dropReq)
    - '!= 0'
    argTypes:
    - tDeserializeSMDropTopicReq(pReq->pCont, pReq->contLen, &dropReq)
    constantsTouched: []
    func_position:
      end: 750
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 750
    functionName: if
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PRINT_LOG_START
    signature: 'PRINT_LOG_START if (tDeserializeSMDropTopicReq(pReq->pCont, pReq->contLen,
      &dropReq) != 0) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: mndCleanupTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupTopic(SMnode *pMnode) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:103,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:107,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:137,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:139,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:152,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:153,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:156,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:168,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:171,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:115,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:116,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:117,1
    - Dst: taosEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:144,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:155,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:162,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:163,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:175,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:96,1
    - Dst: taosEncodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:101,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:114,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:126,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:128,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:125,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:127,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:131,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:147,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:160,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:113,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:118,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:120,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:122,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:124,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:121,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:119,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:133,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:135,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:170,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:170,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 1
    argNames:
    - pTopic
    argTypes:
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 177
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 177
    functionName: mndTopicActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryFree
    - SDB_SET_INT8
    - taosMemoryMalloc
    - taosArrayGet
    - taosEncodeSSchemaWrapper
    - SDB_SET_INT32
    - terrstr
    - mError
    - sdbFreeRaw
    - mTrace
    - strlen
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - SDB_SET_INT16
    - taosArrayGetSize
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndTopicActionEncode(SMqTopicObj *pTopic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:318,1
    - Dst: atomic_exchange_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:320,1
    - Dst: atomic_exchange_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:319,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pSdb
    - pOldTopic
    - pNewTopic
    argTypes:
    - SSdb*
    - SMqTopicObj*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 323
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 323
    functionName: mndTopicActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mTrace
    - atomic_exchange_32
    - atomic_exchange_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTopicActionUpdate(SSdb *pSdb, SMqTopicObj *pOldTopic,
      SMqTopicObj *pNewTopic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:362,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:369,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:373,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:373,1
    - Dst: nodesCollectColumns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:362,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:377,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pAst
    - pTopic
    argTypes:
    - SNode*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 381
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 381
    functionName: extractTopicTbInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - nodesDestroyList
    - nodesCollectColumns
    - FOREACH
    - taosArrayPush
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t extractTopicTbInfo(SNode *pAst, SMqTopicObj *pTopic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - tDeserializeSCMCreateTopicReq(pReq->pCont, pReq->contLen, &createTopicReq)
    - '!= 0'
    argTypes:
    - tDeserializeSCMCreateTopicReq(pReq->pCont, pReq->contLen, &createTopicReq)
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: if
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: PRINT_LOG_START
    signature: 'PRINT_LOG_START if (tDeserializeSCMCreateTopicReq(pReq->pCont, pReq->contLen,
      &createTopicReq) != 0) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:553,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:555,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:571,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:579,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:600,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:595,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:612,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:557,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:570,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:575,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:593,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:585,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:608,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:608,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:560,1
    - Dst: mndCheckCreateTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:555,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:585,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:598,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:581,1
    - Dst: mndCreateTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:586,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:602,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:603,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:611,1
    - Dst: tFreeSCMCreateTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:614,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 616
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 616
    functionName: mndProcessCreateTopicReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndCheckCreateTopicReq
    - mndReleaseDb
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - mndAcquireDb
    - mError
    - mndReleaseTopic
    - tNameFromString
    - sdbGetSize
    - tstrerror
    - strlen
    - tFreeSCMCreateTopicReq
    - mndAcquireTopic
    - grantCheck
    - auditRecord
    - mndCreateTopic
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateTopicReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:905,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:913,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:918,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:922,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:926,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:927,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:929,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:931,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:934,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:939,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:978,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:941,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:963,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:969,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:998,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:950,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:914,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:921,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:922,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:925,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:923,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:933,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:933,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:943,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:944,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:954,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:962,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:997,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:980,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:973,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:986,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:961,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:917,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:918,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:922,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:923,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:923,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:927,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:931,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:935,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:938,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:939,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:982,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:974,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:987,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:916,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:921,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:930,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:937,1
    - Dst: schemaToJson
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:953,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:957,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:960,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:962,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:972,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:974,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:985,1
    - Dst: schemaToJson
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:946,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:987,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:948,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:990,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:967,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:951,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 106
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rowsCapacity
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1000
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 1000
    functionName: mndRetrieveTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - colDataSetVal
    - sdbFetch
    - varDataSetLen
    - taosMemoryMalloc
    - MND_TMQ_NULL_CHECK
    - tNameGetDbName
    - varDataVal
    - mndAcquireStb
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - mError
    - STR_TO_VARSTR
    - schemaToJson
    - taosMemoryFreeClear
    - mndGetDbStr
    - tNameFromString
    - strlen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveTopic(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rowsCapacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:624,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:626,1
    - Dst: mndUserRemoveTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:624,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:627,1
    - Dst: mndTopicActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:625,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:629,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:632,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:632,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:633,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:633,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pReq
    - pTopic
    argTypes:
    - SMnode*
    - STrans*
    - SRpcMsg*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 637
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 637
    functionName: mndDropTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - sdbSetRawStatus
    - mndTopicActionEncode
    - mndUserRemoveTopic
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropTopic(SMnode *pMnode, STrans *pTrans, SRpcMsg
      *pReq, SMqTopicObj *pTopic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:1005,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1006
    functionName: mndCancelGetNextTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextTopic(SMnode *pMnode, void *pIter) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:196,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:210,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:212,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:217,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:219,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:221,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:227,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:214,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:268,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:271,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:278,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:292,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:222,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:231,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:240,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:284,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:291,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:291,1
    - Dst: taosDecodeSSchemaWrapper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:289,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:205,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:199,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:207,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:209,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:211,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:215,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:229,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:213,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:239,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:242,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:259,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:189,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:204,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:247,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:252,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:254,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:272,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:296,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:285,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:279,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 98
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 298
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 298
    functionName: mndTopicActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - taosMemoryCalloc
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_INT16
    - taosArrayPush
    - taosDecodeSSchemaWrapper
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    - taosArrayInit
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndTopicActionDecode(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - topicName
    - pTopic
    argTypes:
    - SMnode*
    - char*
    - SMqTopicObj**
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: mndAcquireTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAcquireTopic(SMnode *pMnode, const char *topicName, SMqTopicObj
      **pTopic) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:643,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:645,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - topics
    - topicName
    argTypes:
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 651
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 651
    functionName: checkTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'bool checkTopic(SArray *topics, char *topicName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pTopic
    argTypes:
    - SSdb*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: mndTopicActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTopicActionInsert(SSdb *pSdb, SMqTopicObj *pTopic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:340,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 2
    argNames:
    - pMnode
    - pTopic
    argTypes:
    - SMnode*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: mndReleaseTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseTopic(SMnode *pMnode, SMqTopicObj *pTopic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:664,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:670,1
    - Dst: mndSetConsumerDropLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:671,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:671,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:670,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:672,1
    - Dst: checkTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:675,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:677,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:684,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:688,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:689,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:690,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topicName
    - deleteConsumer
    argTypes:
    - SMnode*
    - STrans*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 692
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 692
    functionName: mndCheckConsumerByTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - checkTopic
    - MND_TMQ_RETURN_CHECK
    - mError
    - sdbFetch
    - sdbCancelFetch
    - tDeleteSMqConsumerObj
    - tNewSMqConsumerObj
    - mndSetConsumerDropLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckConsumerByTopic(SMnode *pMnode, STrans *pTrans,
      char *topicName, bool deleteConsumer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:1017,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:1024,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:1023,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:1028,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 2
    argNames:
    - pMnode
    - pDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1032
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1032
    functionName: mndTopicExistsForDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: bool
    signature: 'bool mndTopicExistsForDb(SMnode *pMnode, SDbObj *pDb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:430,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:422,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:438,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:407,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:400,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:416,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:431,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:437,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:430,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:413,1
    - Dst: tEncodeSTqCheckInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:417,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:426,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:386,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:401,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:398,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:412,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:414,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:423,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:436,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:419,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - pTrans
    - pMnode
    - topicObj
    argTypes:
    - STrans*
    - SMnode*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 440
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 440
    functionName: sendCheckInfoToVnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - tEncoderInit
    - taosMemoryFree
    - MND_TMQ_RETURN_CHECK
    - taosMemoryCalloc
    - MND_TMQ_NULL_CHECK
    - mndGetVgroupEpset
    - sdbFetch
    - POINTER_SHIFT
    - sdbCancelFetch
    - tEncodeSize
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - memcpy
    - tEncodeSTqCheckInfo
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendCheckInfoToVnode(STrans *pTrans, SMnode *pMnode,
      SMqTopicObj *topicObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:705,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:712,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:707,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:713,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:708,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:714,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:715,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:716,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:719,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:723,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:728,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:732,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:725,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pTopic
    argTypes:
    - SMnode*
    - STrans*
    - SMqTopicObj*
    constantsTouched: []
    func_position:
      end: 735
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 735
    functionName: mndDropCheckInfoByTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - MND_TMQ_NULL_CHECK
    - mndGetVgroupEpset
    - sdbFetch
    - POINTER_SHIFT
    - sdbCancelFetch
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropCheckInfoByTopic(SMnode *pMnode, STrans *pTrans,
      SMqTopicObj *pTopic) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:811,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:833,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:829,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:820,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 3
    argNames:
    - pMnode
    - dbName
    - pNumOfTopics
    argTypes:
    - SMnode*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 835
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 835
    functionName: mndGetNumOfTopics
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - sdbFetch
    - mndReleaseDb
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetNumOfTopics(SMnode *pMnode, char *dbName, int32_t *pNumOfTopics) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:445,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:455,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:459,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:462,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:469,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:476,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:466,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:464,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:477,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:480,1
    - Dst: mndTopicActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:508,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:509,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:531,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:525,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:516,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:532,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:529,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:520,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:454,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:455,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:460,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:466,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:470,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:478,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:482,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:493,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:497,1
    - Dst: qDebugL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:501,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:520,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:510,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:533,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:488,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:527,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:502,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:453,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:458,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:471,1
    - Dst: mndCheckTopicPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:462,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:480,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:485,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:486,1
    - Dst: qExtractResultSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:492,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:495,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:496,1
    - Dst: sendCheckInfoToVnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:518,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:492,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:526,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:452,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:456,1
    - Dst: qDebugL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:479,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:482,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:484,1
    - Dst: extractTopicTbInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:486,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:493,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:499,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:516,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:518,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:524,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:504,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:503,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:512,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 106
    argCount: 5
    argNames:
    - pMnode
    - pReq
    - pCreate
    - pDb
    - userName
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCMCreateTopicReq*
    - SDbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 535
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 535
    functionName: mndCreateTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - qExtractResultSchema
    - qDebugL
    - taosArrayInit
    - extractTopicTbInfo
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - taosArrayDestroy
    - MND_TMQ_NULL_CHECK
    - nodesNodeToString
    - mndTopicActionEncode
    - mndTransCreate
    - mndAcquireStb
    - MND_TMQ_RETURN_CHECK
    - nodesDestroyNode
    - tstrncpy
    - mndCheckTopicPrivilege
    - mndTransDrop
    - sdbFreeRaw
    - mndTransSetDbName
    - taosMemoryFreeClear
    - mndTransPrepare
    - mInfo
    - mndGenerateUid
    - sdbSetRawStatus
    - strlen
    - nodesStringToNode
    - mndTransCheckConflict
    - qCreateQueryPlan
    - taosStrdup
    - sendCheckInfoToVnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateTopic(SMnode *pMnode, SRpcMsg *pReq, SCMCreateTopicReq
      *pCreate, SDbObj *pDb, const char *userName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:752,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:768,1
    - Dst: mndCheckConsumerByTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:774,1
    - Dst: mndCheckTopicPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:772,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:773,1
    - Dst: mndDropSubByTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:775,1
    - Dst: mndDropCheckInfoByTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:778,1
    - Dst: mndDropTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:781,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:788,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:799,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:756,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:755,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:766,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:769,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:785,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:793,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:759,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:759,1
    - Dst: tFreeSMDropTopicReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:760,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:765,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:769,1
    - Dst: mndCheckDbPrivilegeByName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:773,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:772,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:787,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:787,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:770,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:775,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:774,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:778,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:784,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:795,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:795,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 802
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 802
    functionName: mndProcessDropTopicReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - mndCheckDbPrivilegeByName
    - tFreeSMDropTopicReq
    - mndCheckConsumerByTopic
    - MND_TMQ_NULL_CHECK
    - mndDropSubByTopic
    - mndAcquireTopic
    - mndTransCreate
    - mndReleaseTopic
    - mndDropCheckInfoByTopic
    - MND_TMQ_RETURN_CHECK
    - mError
    - mndCheckTopicPrivilege
    - mndTransDrop
    - mndTransSetDbName
    - auditRecord
    - mInfo
    - tNameFromString
    - tstrerror
    - mndTransCheckConflict
    - mndDropTopic
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropTopicReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:850,1
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:878,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:869,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:884,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:851,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:854,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:870,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:882,1
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:877,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:886,1
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:846,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:847,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:855,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:880,1
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:843,1
    - Dst: cJSON_CreateString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:849,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:844,1
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:856,1
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:873,1
    - Dst: cJSON_CreateNumber
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c:868,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - schema
    - nCols
    - schemaJson
    argTypes:
    - SSchema*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 890
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 890
    functionName: schemaToJson
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTopic.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cJSON_Delete
    - MND_TMQ_NULL_CHECK
    - mError
    - cJSON_CreateObject
    - cJSON_CreateString
    - STR_TO_VARSTR
    - strlen
    - cJSON_AddItemToArray
    - cJSON_CreateArray
    - cJSON_CreateNumber
    - cJSON_PrintUnformatted
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: void
    signature: 'static void schemaToJson(SSchema *schema, int32_t nCols, char *schemaJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:39,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:42,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:45,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:43,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:44,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:46,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:51,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:60,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pMnode
    - pStat
    argTypes:
    - SMnode*
    - SMnodeStat*
    constantsTouched: []
    func_position:
      end: 62
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 62
    functionName: mndGetStat
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - sdbFetch
    - sdbRelease
    - sdbGetSize
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mndGetStat(SMnode* pMnode, SMnodeStat* pStat) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:99,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:104,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:106,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:110,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:111,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:111,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:125,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:115,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:133,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:126,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:103,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:122,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:79,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:79,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:80,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:80,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:81,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:81,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:82,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:82,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:83,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:84,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:85,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:120,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:91,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:107,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:116,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:117,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:119,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:123,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:132,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:85,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:136,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:109,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:83,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:127,1
    - Dst: mndGetStat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:77,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:87,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:86,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:86,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:87,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:88,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:88,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:90,1
    - Dst: mndRetrieveAlgoList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:97,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:100,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:127,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:136,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:101,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:107,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:84,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - pMnode
    - pJson
    argTypes:
    - SMnode*
    - SJson*
    constantsTouched: []
    func_position:
      end: 138
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 138
    functionName: mndBuildRuntimeInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - taosArrayDestroy
    - tjsonAddItemToArray
    - tjsonAddDoubleToObject
    - mError
    - tstrerror
    - mndGetStat
    - TSDB_CHECK_NULL
    - tjsonAddArrayToObject
    - tjsonCreateObject
    - tjsonAddStringToObject
    - taosArrayGetSize
    - mndRetrieveAlgoList
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void mndBuildRuntimeInfo(SMnode* pMnode, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:195,1
    - Dst: mndBuildTelemetryReport
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:196,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:197,1
    - Dst: taosSendTelemReport
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:201,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:199,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:201,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:202,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:207,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:207,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:209,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 211
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 211
    functionName: mndProcessTelemTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - mError
    - tstrerror
    - strlen
    - TSDB_CHECK_NULL
    - mndBuildTelemetryReport
    - taosSendTelemReport
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTelemTimer(SRpcMsg* pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:151,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:152,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:166,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:167,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:161,1
    - Dst: tjsonAddDoubleToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:163,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:152,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:160,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:167,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:161,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:163,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:169,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:178,1
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:146,1
    - Dst: mndGetClusterName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:150,1
    - Dst: taosGetOsReleaseName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:154,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:155,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:169,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:170,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:171,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:172,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:172,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:178,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:151,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:155,1
    - Dst: taosGetCpuInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:159,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:160,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:170,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:171,1
    - Dst: mndBuildRuntimeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:174,1
    - Dst: tjsonToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:180,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:181,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 183
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 183
    functionName: mndBuildTelemetryReport
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosGetOsReleaseName
    - mndBuildRuntimeInfo
    - mError
    - tjsonAddDoubleToObject
    - taosGetCpuInfo
    - tjsonDelete
    - tstrerror
    - tjsonToString
    - tjsonCreateObject
    - tjsonAddStringToObject
    - mndGetClusterName
    linkageType: ''
    returnType: char*
    signature: 'static char * mndBuildTelemetryReport(SMnode* pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pObj
    - pJson
    argTypes:
    - void*
    - SJson*
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: algoToJson
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t algoToJson(const void* pObj, SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:217,1
    - Dst: taosTelemetryMgtInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:219,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:219,1
    - Dst: taosGetEmail
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:218,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:224,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:224,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 230
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 230
    functionName: mndInitTelem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - mWarn
    - taosThreadMutexInit
    - mError
    - mndSetMsgHandle
    - tstrerror
    - taosGetEmail
    - taosTelemetryMgtInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitTelem(SMnode* pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosTelemetryDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:234,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c:235,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 236
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 236
    functionName: mndCleanupTelem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndTelem.c
    functionUses: []
    functionsReached:
    - taosTelemetryDestroy
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupTelem(SMnode* pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:198,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:205,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:202,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:204,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:203,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:206,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:207,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:208,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:209,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:210,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:217,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:222,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:217,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:218,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:211,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 224
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 224
    functionName: mndDnodeActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT32
    - terrstr
    - mError
    - sdbFreeRaw
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - SDB_SET_INT16
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndDnodeActionEncode(SDnodeObj *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: mndGetDbSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetDbSize(SMnode *pMnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:693,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:710,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:708,1
    - Dst: tDeserializeSDnodeInfoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:684,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:691,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:686,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:702,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:705,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:702,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:720,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:688,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:696,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:705,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:703,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:714,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:719,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:684,1
    - Dst: mndDnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:698,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:699,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:701,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:709,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:709,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:716,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:716,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:718,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 721
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 721
    functionName: mndProcessUpdateDnodeInfoReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndAcquireDnode
    - mndTransAppendCommitlog
    - tDeserializeSDnodeInfoReq
    - mError
    - TAOS_CHECK_EXIT
    - sdbSetRawStatus
    - mndReleaseDnode
    - tstrerror
    - mndDnodeActionEncode
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessUpdateDnodeInfoReq(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1115,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1115,1
    - Dst: tDeserializeSCreateDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1119,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1121,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1119,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1122,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1122,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1130,1
    - Dst: mndAcquireDnodeByEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1131,1
    - Dst: mndCreateDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1137,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1144,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1146,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1150,1
    - Dst: tFreeSCreateDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1154,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1153,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1150,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1155,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1156
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1156
    functionName: mndProcessCreateDnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - snprintf
    - tFreeSCreateDnodeReq
    - mndCreateDnode
    - mError
    - mndReleaseDnode
    - mndCheckOperPrivilege
    - tDeserializeSCreateDnodeReq
    - tstrerror
    - TAOS_RETURN
    - mndAcquireDnodeByEp
    - grantCheck
    - auditRecord
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateDnodeReq(SRpcMsg *pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1271,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1271,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1269,1
    - Dst: mndAcquireQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1290,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1309,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1305,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1317,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1326,1
    - Dst: mndReleaseMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1336,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1278,1
    - Dst: mndAcquireDnodeByEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1283,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1294,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1309,1
    - Dst: mndDropDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1322,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1328,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1332,1
    - Dst: mndReleaseQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1337,1
    - Dst: mndAcquireMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1292,1
    - Dst: mndIsEmptyDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1314,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1304,1
    - Dst: mndReleaseSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1338,1
    - Dst: tFreeSDropDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1339,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1267,1
    - Dst: tDeserializeSDropDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1267,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1282,1
    - Dst: mndAcquireSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1291,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1305,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1335,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1340,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 76
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1341
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1341
    functionName: mndProcessDropDnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndIsDnodeOnline
    - mndAcquireQnode
    - mndCheckOperPrivilege
    - mndGetVnodesNum
    - tsnprintf
    - taosGetTimestampMs
    - mndIsEmptyDnode
    - mndDropDnode
    - TAOS_CHECK_GOTO
    - tDeserializeSDropDnodeReq
    - mError
    - mndReleaseQnode
    - sdbGetSize
    - mndReleaseSnode
    - mndAcquireDnodeByEp
    - mndAcquireSnode
    - auditRecord
    - tFreeSDropDnodeReq
    - mInfo
    - mndAcquireDnode
    - snprintf
    - mndAcquireMnode
    - mndReleaseMnode
    - mndReleaseDnode
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropDnodeReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1427,1
    - Dst: tDeserializeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1427,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1430,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1431,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1429,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1435,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1436,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1437,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1438,1
    - Dst: mndProcessCreateEncryptKeyReqImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1439,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1442,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1447,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1421
    functionDepth: 0
    functionLinenumber: 1421
    functionLinenumberEnd: 1449
    functionName: mndProcessCreateEncryptKeyReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndProcessCreateEncryptKeyReqImpl
    - strncasecmp
    - mndCheckOperPrivilege
    - tDeserializeSMCfgDnodeReq
    - tstrncpy
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tFreeSMCfgDnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateEncryptKeyReq(SRpcMsg *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:234,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:249,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:252,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:259,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:240,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:251,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:274,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:248,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:247,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:250,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:257,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:269,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:269,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:243,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:253,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:258,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:264,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:256,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:270,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:263,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 276
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 276
    functionName: mndDnodeActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_INT16
    - SDB_GET_RESERVE
    - tmsgUpdateDnodeInfo
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndDnodeActionDecode(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TABS
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pDnode
    - curMs
    argTypes:
    - SDnodeObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: mndIsDnodeOnline
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - TABS
    linkageType: ''
    returnType: bool
    signature: 'bool mndIsDnodeOnline(SDnodeObj *pDnode, int64_t curMs) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_MONITOR_PARA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:474,1
    - Dst: CHECK_MONITOR_PARA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:477,1
    - Dst: CHECK_MONITOR_PARA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:478,1
    - Dst: CHECK_MONITOR_PARA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:475,1
    - Dst: CHECK_MONITOR_PARA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:476,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:480,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:481,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:488,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:494,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:495,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:502,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:521,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:526,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:508,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:501,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:514,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:507,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:528,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - pMnode
    - pDnode
    - pCfg
    argTypes:
    - SMnode*
    - SDnodeObj*
    - SClusterCfg*
    constantsTouched: []
    func_position:
      end: 535
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 535
    functionName: mndCheckClusterCfgPara
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - atomic_load_8
    - mError
    - taosStrcasecmp
    - CHECK_MONITOR_PARA
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckClusterCfgPara(SMnode *pMnode, SDnodeObj *pDnode,
      const SClusterCfg *pCfg) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: mndGetClusterId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:731,1
    - Dst: mndAcquireDnodeByEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:751,1
    - Dst: sdbGetTableVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:771,1
    - Dst: mndGetIpWhiteVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:769,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:824,1
    - Dst: mndCheckClusterCfgPara
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:877,1
    - Dst: mndUpdateDnodeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:902,1
    - Dst: tSerializeSStatusRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:922,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:863,1
    - Dst: tSerializeSStatusRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:924,1
    - Dst: memcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:900,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:734,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:742,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:774,1
    - Dst: mGTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:786,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:796,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:798,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:826,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:830,1
    - Dst: mndUpdateMnodeState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:842,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:869,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:857,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:913,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:729,1
    - Dst: mndAcquireDnodeByEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:740,1
    - Dst: tDeserializeSStatusReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:729,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:748,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:758,1
    - Dst: mndAcquireDnodeAllStatusByEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:763,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:795,1
    - Dst: sdbGetTableVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:772,1
    - Dst: mndUpdateVnodeState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:819,1
    - Dst: mndAcquireMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:837,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:888,1
    - Dst: sdbGetTableVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:772,1
    - Dst: formatTimestampLocal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:785,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:773,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:834,1
    - Dst: mndReleaseMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:843,1
    - Dst: mndAcquireQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:846,1
    - Dst: mndReleaseQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:849,1
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:913,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:925,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:940,1
    - Dst: mndGetDnodeEps
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:919,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:901,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:885,1
    - Dst: mndUpdClusterInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:942,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:923,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:879,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:941,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 197
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 943
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 943
    functionName: mndProcessStatusReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndAcquireDnodeAllStatusByEp
    - mndIsDnodeOnline
    - memcmp
    - mndAcquireQnode
    - mndUpdateDnodeObj
    - mndCheckClusterCfgPara
    - mGTrace
    - taosArrayGetSize
    - taosArrayInit
    - taosGetTimestampMs
    - mndGetDnodeEps
    - mndReleaseDb
    - taosArrayDestroy
    - mndReleaseVgroup
    - mndUpdateMnodeState
    - formatTimestampLocal
    - sdbGetTableVer
    - TAOS_CHECK_GOTO
    - mndAcquireVgroup
    - taosArrayGet
    - mndAcquireDb
    - mError
    - tDeserializeSStatusReq
    - mndReleaseQnode
    - mndUpdClusterInfo
    - tstrncpy
    - tSerializeSStatusRsp
    - mndAcquireDnodeByEp
    - rpcMallocCont
    - mInfo
    - mWarn
    - mndGetClusterId
    - mndAcquireDnode
    - mndGetIpWhiteVer
    - mndAcquireMnode
    - mndReleaseMnode
    - mndReleaseDnode
    - mndGetDnodeSize
    - mndUpdateVnodeState
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStatusReq(SRpcMsg *pReq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mGWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1369,1
    - Dst: tSerializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1391,1
    - Dst: tSerializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1395,1
    - Dst: atomic_add_fetch_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1402,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1407,1
    - Dst: atomic_load_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1410,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1411,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1352,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1355,1
    - Dst: atomic_store_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1375,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1380,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1385,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1397,1
    - Dst: mGWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1362,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1369,1
    - Dst: atomic_store_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1374,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1392,1
    - Dst: atomic_store_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1376,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1362,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1360,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1367,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1390,1
    - Dst: mGWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1383,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1401,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 64
    argCount: 3
    argNames:
    - pReq
    - dnodeId
    - pDcfgReq
    argTypes:
    - SRpcMsg*
    - int32_t
    - SDCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 1419
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1419
    functionName: mndProcessCreateEncryptKeyReqImpl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - rpcMallocCont
    - tSerializeSDCfgDnodeReq
    - tmsgSendReq
    - atomic_load_16
    - atomic_store_8
    - mGWarn
    - tstrerror
    - strlen
    - sdbFetch
    - mGError
    - atomic_val_compare_exchange_8
    - mndGetDnodeEpset
    - atomic_add_fetch_16
    - atomic_store_16
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateEncryptKeyReqImpl(SRpcMsg *pReq, int32_t
      dnodeId, SDCfgDnodeReq *pDcfgReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1457,1
    - Dst: mGInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1470,1
    - Dst: atomic_load_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1462,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1466,1
    - Dst: atomic_add_fetch_16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1459,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1474
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1474
    functionName: mndProcessCreateEncryptKeyRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - atomic_add_fetch_16
    - atomic_load_16
    - mGInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateEncryptKeyRsp(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 137
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 137
    functionName: mndCleanupDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupDnode(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:334,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:339,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 341
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 341
    functionName: mndGetDnodeEpsetById
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndGetDnodeEpset
    - mndAcquireDnode
    - mndReleaseDnode
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet mndGetDnodeEpsetById(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:371,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:379,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:374,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:375,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 2
    argNames:
    - pMnode
    - pEpStr
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: mndAcquireDnodeAllStatusByEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - taosStrncasecmp
    - sdbCancelFetch
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: SDnodeObj*
    signature: 'static SDnodeObj *mndAcquireDnodeAllStatusByEp(SMnode *pMnode, char
      *pEpStr) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1180,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1188,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1189,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1199,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1208,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1198,1
    - Dst: mndSetDropSnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1214,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1218,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1222,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1229,1
    - Dst: mndDnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1182,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1203,1
    - Dst: mndDnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1192,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1209,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1213,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1228,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1222,1
    - Dst: mndSetMoveVgroupsInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1219,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1172,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1180,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1179,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1188,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1189,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1204,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1199,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1198,1
    - Dst: mndSetDropMnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1204,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1214,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1227,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1178,1
    - Dst: mndSetDropQnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1209,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1219,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 9
    argNames:
    - pMnode
    - pReq
    - pDnode
    - pMObj
    - pQObj
    - pSObj
    - numOfVnodes
    - force
    - unsafe
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDnodeObj*
    - SMnodeObj*
    - SQnodeObj*
    - SSnodeObj*
    - int32_t
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1230
      start: 1166
    functionDepth: 0
    functionLinenumber: 1166
    functionLinenumberEnd: 1230
    functionName: mndDropDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndTransAppendCommitlog
    - mndSetMoveVgroupsInfoToTrans
    - mndTransPrepare
    - mndSetDropQnodeInfoToTrans
    - mndTransSetSerial
    - sdbSetRawStatus
    - mndSetDropMnodeInfoToTrans
    - mndTransCheckConflict
    - mndDnodeActionEncode
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndSetDropSnodeInfoToTrans
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropDnode(SMnode *pMnode, SRpcMsg *pReq, SDnodeObj
      *pDnode, SMnodeObj *pMObj, SQnodeObj *pQObj, SSnodeObj *pSObj, int32_t numOfVnodes,
      bool force, bool unsafe) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1563,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1575,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1582,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1582,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1599,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1601,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1609,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1613,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1617,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1618,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1557,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1565,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1574,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1575,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1597,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1599,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1602,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1619,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1627,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1627,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1577,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1578,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1606,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1606,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1619,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1613,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1570,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1570,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1581,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1598,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1579,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1579,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1609,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1612,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1614,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1631
      start: 1550
    functionDepth: 0
    functionLinenumber: 1550
    functionLinenumberEnd: 1631
    functionName: mndRetrieveDnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosArrayGet
    - mndIsDnodeOnline
    - colDataSetVal
    - taosMemoryCalloc
    - mError
    - RETRIEVE_CHECK_GOTO
    - mndGetVnodesNum
    - STR_TO_VARSTR
    - strlen
    - STR_WITH_MAXSIZE_TO_VARSTR
    - tstrerror
    - taosMemoryFreeClear
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveDnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 99
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 99
    functionName: mndUpdClusterInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdClusterInfo(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:146,1
    - Dst: tGetMachineId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:153,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:155,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:149,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:156,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:164,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:170,1
    - Dst: mndDnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:172,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:178,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:179,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:188,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:179,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:182,1
    - Dst: mndUpdateIpWhiteForAllUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:184,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:189,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:182,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:178,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 191
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 191
    functionName: mndCreateDefaultDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - snprintf
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - tGetMachineId
    - tstrncpy
    - mndUpdateIpWhiteForAllUser
    - mndDnodeActionEncode
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - memcpy
    - taosMemoryFreeClear
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultDnode(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:349,1
    - Dst: taosStrncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:352,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:353,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pEpStr
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: mndAcquireDnodeByEp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - taosStrncasecmp
    - sdbRelease
    linkageType: ''
    returnType: SDnodeObj*
    signature: 'static SDnodeObj *mndAcquireDnodeByEp(SMnode *pMnode, char *pEpStr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: mndGetDnodeSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetDnodeSize(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1238,1
    - Dst: mndAcquireMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1244,1
    - Dst: mndReleaseMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1252,1
    - Dst: mndGetVnodesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1247,1
    - Dst: mndAcquireSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1241,1
    - Dst: mndReleaseQnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1253,1
    - Dst: mndReleaseSnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1254,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 13
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1256
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1256
    functionName: mndIsEmptyDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndAcquireMnode
    - mndReleaseMnode
    - mndAcquireQnode
    - mndReleaseQnode
    - mndGetVnodesNum
    - mndReleaseSnode
    - mndAcquireSnode
    linkageType: ''
    returnType: bool
    signature: 'static bool mndIsEmptyDnode(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1636
      start: 1633
    functionDepth: 0
    functionLinenumber: 1633
    functionLinenumberEnd: 1636
    functionName: mndCancelGetNextDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextDnode(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:279,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:283,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pDnode
    argTypes:
    - SSdb*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: mndDnodeActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - snprintf
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDnodeActionInsert(SSdb *pSdb, SDnodeObj *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:323,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pDnode
    argTypes:
    - SMnode*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: mndReleaseDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseDnode(SMnode *pMnode, SDnodeObj *pDnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:414,1
    - Dst: mndIsMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:424,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:420,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:421,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:427,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:428,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pMnode
    - pDnodeEps
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 431
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 431
    functionName: mndGetDnodeEps
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mError
    - mndIsMnode
    - tstrncpy
    - taosArrayPush
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndGetDnodeEps(SMnode *pMnode, SArray *pDnodeEps) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSNotifyReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:950,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:959,1
    - Dst: mndGetClusterId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:955,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:958,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:963,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:965,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:967,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:970,1
    - Dst: mndUpdClusterInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:973,1
    - Dst: tFreeSNotifyReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:975,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 977
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 977
    functionName: mndProcessNotifyReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndGetClusterId
    - mndAcquireVgroup
    - taosArrayGet
    - mndReleaseVgroup
    - tFreeSNotifyReq
    - mndUpdClusterInfo
    - tstrerror
    - tDeserializeSNotifyReq
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessNotifyReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1163
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1163
    functionName: mndProcessRestoreDnodeReqImpl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessRestoreDnodeReqImpl(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1500,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1492,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1516,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1488,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1512,1
    - Dst: getSlowLogScopeString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1520,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1522,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1535,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1536,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1537,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1508,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1533,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1537,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1532,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1531,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1543,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1543,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1504,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1533,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1546
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1546
    functionName: mndRetrieveConfigs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - snprintf
    - taosArrayGet
    - colDataSetVal
    - getSlowLogScopeString
    - mError
    - tstrerror
    - STR_WITH_MAXSIZE_TO_VARSTR
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveConfigs(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pDnode
    argTypes:
    - SSdb*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: mndDnodeActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDnodeActionDelete(SSdb *pSdb, SDnodeObj *pDnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pDnode
    argTypes:
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: mndGetDnodeEpset
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - addEpIntoEpSet
    linkageType: ''
    returnType: SEpSet
    signature: 'SEpSet mndGetDnodeEpset(SDnodeObj *pDnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:442,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:457,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:450,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:449,1
    - Dst: mndIsMnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:451,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:463,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 2
    argNames:
    - pMnode
    - pDnodeInfo
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 464
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 464
    functionName: mndGetDnodeData
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndIsMnode
    - tstrncpy
    - sdbCancelFetch
    - taosArrayPush
    - TAOS_RETURN
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetDnodeData(SMnode *pMnode, SArray *pDnodeInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:611,1
    - Dst: tDeserializeSStatisReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:611,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:614,1
    - Dst: monSendContent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:620,1
    - Dst: monSendContent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:618,1
    - Dst: tFreeSStatisReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 625
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 625
    functionName: mndProcessStatisReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - tFreeSStatisReq
    - tDeserializeSStatisReq
    - monSendContent
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessStatisReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:985,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:990,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:989,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:986,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:992,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:998,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:999,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:999,1
    - Dst: mndDnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1001,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1007,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1008,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1008,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1011,1
    - Dst: mndUpdateIpWhiteForAllUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1014,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1018,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1011,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1007,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1017,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCreateDnodeReq*
    constantsTouched: []
    func_position:
      end: 1020
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1020
    functionName: mndCreateDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - snprintf
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - tstrncpy
    - sdbGetMaxId
    - mndUpdateIpWhiteForAllUser
    - mndTransCheckConflict
    - mndDnodeActionEncode
    - mndTransDrop
    - mndTransCreate
    - sdbFreeRaw
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDnode(SMnode *pMnode, SRpcMsg *pReq, SCreateDnodeReq
      *pCreate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1548
      start: 1548
    functionDepth: 0
    functionLinenumber: 1548
    functionLinenumberEnd: 1548
    functionName: mndCancelGetNextConfig
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextConfig(SMnode *pMnode, void *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1642,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1647,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1648,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1644,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1649,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1651,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1654
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1654
    functionName: mndGetAllDnodeFqdns
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    - mError
    - sdbFetch
    - taosArrayPush
    - taosStrdup
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *mndGetAllDnodeFqdns(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:114,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:116,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:118,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:117,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:115,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:119,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:120,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:121,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:122,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:123,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:124,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:126,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:127,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:128,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:131,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:129,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 132
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 132
    functionName: mndInitDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitDnode(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:294,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SDnodeObj*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: mndDnodeActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDnodeActionUpdate(SSdb *pSdb, SDnodeObj *pOld, SDnodeObj
      *pNew) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - currentCount
    - lastCount
    - currentTimeMs
    - lastTimeMs
    argTypes:
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 546
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 546
    functionName: calcAppliedRate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: 'double calcAppliedRate(int64_t currentCount, int64_t lastCount, int64_t
      currentTimeMs, int64_t lastTimeMs) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:592,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:593,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:593,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - pObj
    - pMload
    argTypes:
    - SMnodeObj*
    - SMnodeLoad*
    constantsTouched: []
    func_position:
      end: 602
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 602
    functionName: mndUpdateMnodeState
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - syncStr
    linkageType: ''
    returnType: bool
    signature: 'static bool mndUpdateMnodeState(SMnodeObj *pObj, SMnodeLoad *pMload) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:628,1
    - Dst: tDeserializeSAuditReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:633,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:635,1
    - Dst: auditAddRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:633,1
    - Dst: tFreeSAuditReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 643
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 643
    functionName: mndProcessAuditReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - tDeserializeSAuditReq
    - mTrace
    - mDebug
    - TAOS_CHECK_RETURN
    - tFreeSAuditReq
    - auditAddRecord
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAuditReq(SRpcMsg *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1030,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1032,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1043,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1046,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1038,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1048,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1049,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1053,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1056,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1057,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1080,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1075,1
    - Dst: tSerializeSDnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1063,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1075,1
    - Dst: tFreeSDnodeListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1078,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1081
    functionName: mndProcessDnodeListReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - tSerializeSDnodeListRsp
    - sdbRelease
    - mError
    - tstrncpy
    - tstrerror
    - sdbFetch
    - taosArrayPush
    - sdbCancelFetch
    - TAOS_RETURN
    - tFreeSDnodeListRsp
    - rpcMallocCont
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDnodeListReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessRestoreDnodeReqImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1160
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1160
    functionName: mndProcessRestoreDnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mndProcessRestoreDnodeReqImpl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessRestoreDnodeReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:304,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:314,1
    - Dst: mFatal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pMnode
    - dnodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 319
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 319
    functionName: mndAcquireDnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - terrstr
    - sdbAcquire
    - mFatal
    linkageType: ''
    returnType: SDnodeObj*
    signature: 'SDnodeObj *mndAcquireDnode(SMnode *pMnode, int32_t dnodeId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:556,1
    - Dst: calcAppliedRate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:559,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:558,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:570,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:573,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - vgId
    - pGid
    - pVload
    argTypes:
    - int32_t
    - SVnodeGid*
    - SVnodeLoad*
    constantsTouched: []
    func_position:
      end: 584
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 584
    functionName: mndUpdateVnodeState
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - syncStr
    - calcAppliedRate
    linkageType: ''
    returnType: bool
    signature: 'static bool mndUpdateVnodeState(int32_t vgId, SVnodeGid *pGid, SVnodeLoad
      *pVload) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:652,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:657,1
    - Dst: tSerializeSDnodeInfoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:654,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:655,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:659,1
    - Dst: tSerializeSDnodeInfoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:662,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:668,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:668,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:671,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pMnode
    - pDnode
    argTypes:
    - SMnode*
    - SDnodeObj*
    constantsTouched: []
    func_position:
      end: 674
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 674
    functionName: mndUpdateDnodeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - tSerializeSDnodeInfoReq
    - mError
    - TAOS_CHECK_EXIT
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateDnodeObj(SMnode *pMnode, SDnodeObj *pDnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1085,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1093,1
    - Dst: printf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1099,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1096,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1090,1
    - Dst: strncat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c:1104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - scope
    - result
    argTypes:
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1107
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1107
    functionName: getSlowLogScopeString
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDnode.c
    functionUses: []
    functionsReached:
    - strncat
    - printf
    linkageType: ''
    returnType: void
    signature: 'void getSlowLogScopeString(int32_t scope, char *result) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:190,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:203,1
    - Dst: checkStatusForEachReplica
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:225,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:231,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:211,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:247,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:249,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:249,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:253,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:257,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:190,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:192,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:207,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:229,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:229,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:210,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:236,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:239,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:192,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:209,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:234,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:216,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:238,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:242,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:205,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:209,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:231,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 4
    argNames:
    - pMnode
    - pVgroupList
    - allReady
    - pTermMap
    argTypes:
    - SMnode*
    - SArray*
    - bool*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 259
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 259
    functionName: mndCheckAndAddVgroupsInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    - mError
    - mndGetVgroupEpset
    - taosHashGet
    - mDebug
    - tstrerror
    - sdbFetch
    - sdbCancelFetch
    - checkStatusForEachReplica
    - taosArrayPush
    - epsetToStr
    - taosHashPut
    - taosGetDefaultHashFunction
    - tListLen
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckAndAddVgroupsInfo(SMnode *pMnode, SArray *pVgroupList,
      bool* allReady, SHashObj* pTermMap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:404,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:405,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:406,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pStream
    argTypes:
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: mndGetNumOfStreamTasks
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetNumOfStreamTasks(const SStreamObj *pStream) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:477,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:483,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:482,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:486,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:492,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:500,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:502,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:504,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:511,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:514,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 1
    argNames:
    - pNodeSnapshot
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 516
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 516
    functionName: removeExpiredNodeInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - mDebug
    - taosArrayPush
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void removeExpiredNodeInfo(const SArray *pNodeSnapshot) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:840,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:840,1
    - Dst: mndStreamSetChkptIdAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:852,1
    - Dst: mndStreamRegisterTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:847,1
    - Dst: doCreateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:842,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:854,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:858,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:860,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:864,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:867,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:868,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:873,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 4
    argNames:
    - pMnode
    - pStream
    - checkpointId
    - pList
    argTypes:
    - SMnode*
    - SStreamObj*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 875
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 875
    functionName: mndCreateSetConsensusChkptIdTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - doCreateTrans
    - snprintf
    - mError
    - mndStreamRegisterTrans
    - tstrerror
    - mndPersistTransLog
    - mndTransDrop
    - mndStreamSetChkptIdAction
    - tListLen
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCreateSetConsensusChkptIdTrans(SMnode *pMnode, SStreamObj
      *pStream, int64_t checkpointId, SArray* pList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1624,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1625,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1651,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1653,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1661,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1664,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1665,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1625,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1634,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1639,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1653,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1662,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1672,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1673,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1684,1
    - Dst: mndDestroyVgroupChangeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1628,1
    - Dst: isNodeEpsetChanged
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1647,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1654,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1657,1
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1648,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1670,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1671,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1684,1
    - Dst: mndDestroyVgroupChangeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1685,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1629,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1641,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1671,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 4
    argNames:
    - pMnode
    - pPrevNodeList
    - pNodeList
    - pInfo
    argTypes:
    - SMnode*
    - SArray*
    - SArray*
    - SVgroupChangeInfo*
    constantsTouched: []
    func_position:
      end: 1687
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1687
    functionName: mndFindChangedNodeInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mDebug
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - taosHashInit
    - epsetAssign
    - mndReleaseVgroup
    - GET_ACTIVE_EP
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - tListLen
    - mndAcquireVgroup
    - TSDB_CHECK_CODE
    - taosArrayGet
    - mError
    - mndDestroyVgroupChangeInfo
    - isNodeEpsetChanged
    - tstrerror
    - strlen
    - epsetToStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndFindChangedNodeInfo(SMnode *pMnode, const SArray *pPrevNodeList,
      const SArray *pNodeList, SVgroupChangeInfo *pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:268,1
    - Dst: mndCheckAndAddVgroupsInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:276,1
    - Dst: mndAddSnodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:282,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:270,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:270,1
    - Dst: mndCheckMnodeStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:288,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:298,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - pMnode
    - allReady
    - pList
    - pTermMap
    argTypes:
    - SMnode*
    - bool*
    - SArray**
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 300
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 300
    functionName: mndTakeVgroupSnapshot
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndCheckMnodeStatus
    - taosArrayDestroy
    - mError
    - tstrerror
    - mndAddSnodeInfo
    - mndCheckAndAddVgroupsInfo
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndTakeVgroupSnapshot(SMnode *pMnode, bool *allReady, SArray
      **pList, SHashObj* pTermMap) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:414,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:434,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:423,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:416,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:430,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 3
    argNames:
    - pMnode
    - dbName
    - pNumOfStreams
    argTypes:
    - SMnode*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 436
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 436
    functionName: mndGetNumOfStreams
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndReleaseDb
    - mndAcquireDb
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetNumOfStreams(SMnode *pMnode, char *dbName, int32_t *pNumOfStreams) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:519,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:529,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:530,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:524,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:536,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:538,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:539,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pExecNode
    - pRemovedId
    argTypes:
    - SStreamExecInfo*
    - STaskId*
    constantsTouched: []
    func_position:
      end: 545
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 545
    functionName: doRemoveTasks
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - taosArrayRemove
    - taosHashGet
    - taosHashRemove
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doRemoveTasks(SStreamExecInfo *pExecNode, STaskId *pRemovedId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:880,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:896,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:887,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pHash
    - streamId
    - numOfTasks
    - pInfo
    argTypes:
    - SHashObj*
    - int64_t
    - int32_t
    - SCheckpointConsensusInfo**
    constantsTouched: []
    func_position:
      end: 905
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 905
    functionName: mndGetConsensusInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosHashGet
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetConsensusInfo(SHashObj *pHash, int64_t streamId, int32_t
      numOfTasks, SCheckpointConsensusInfo **pInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: freeTaskList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeTaskList(void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:610,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - pList
    - nodeId
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 624
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 624
    functionName: taskNodeExists
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: bool
    signature: 'static bool taskNodeExists(SArray *pList, int32_t nodeId) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:987,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:990,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:989,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pHash
    - streamId
    argTypes:
    - SHashObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 996
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 996
    functionName: mndResetChkptReportInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosHashGet
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndResetChkptReportInfo(SHashObj *pHash, int64_t streamId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1043,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1044,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1047,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1049,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1045,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1050,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1053,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1060,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1063,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1075,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1076,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1078,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1078,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 2
    argNames:
    - pStream
    - pRes
    argTypes:
    - SStreamObj*
    - bool*
    constantsTouched: []
    func_position:
      end: 1081
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1081
    functionName: isAllTaskPaused
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - TSDB_CHECK_CODE
    - destroyStreamTaskIter
    - taosRUnLockLatch
    - mError
    - taosHashGet
    - taosRLockLatch
    - createStreamTaskIter
    - tstrerror
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t isAllTaskPaused(SStreamObj *pStream, bool *pRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1742,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1746,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1744,1
    - Dst: doCheckForUpdated
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1743,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1748
      start: 1739
    functionDepth: 0
    functionLinenumber: 1739
    functionLinenumberEnd: 1748
    functionName: mndStreamNodeIsUpdated
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - streamMutexLock
    - taosArrayDestroy
    - doCheckForUpdated
    - streamMutexUnlock
    linkageType: ''
    returnType: bool
    signature: 'bool mndStreamNodeIsUpdated(SMnode *pMnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:627,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:634,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:639,1
    - Dst: taskNodeExists
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:648,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:632,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:650,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:652,1
    - Dst: removeTasksInBuf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:657,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:659,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:659,1
    - Dst: removeExpiredNodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:662,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:664,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:660,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 1
    argNames:
    - pNodeSnapshot
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 666
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 666
    functionName: removeExpiredNodeEntryAndTaskInBuf
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - taosHashGet
    - mDebug
    - taosArrayPush
    - removeTasksInBuf
    - taosArrayGetSize
    - removeExpiredNodeInfo
    - taskNodeExists
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t removeExpiredNodeEntryAndTaskInBuf(SArray *pNodeSnapshot) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1000,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1004,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1008,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1002,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1006,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - dst
    - status
    argTypes:
    - char*
    - int8_t
    constantsTouched: []
    func_position:
      end: 1012
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1012
    functionName: mndShowStreamStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mndShowStreamStatus(char *dst, int8_t status) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1124,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1191,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1167,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1165,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1181,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1148,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1091,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1152,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1219,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1235,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1104,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1105,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1117,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1119,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1157,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1249,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1218,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1199,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1099,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1111,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1133,1
    - Dst: mndShowStreamStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1139,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1140,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1210,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1234,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1127,1
    - Dst: isAllTaskPaused
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1132,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1141,1
    - Dst: mndShowStreamTrigger
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1186,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1187,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1089,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1093,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1123,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1160,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1203,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1156,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1171,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1213,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1222,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1231,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1189,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1098,1
    - Dst: int64ToHexStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1104,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1145,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1230,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1156,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1150,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1178,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1089,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1108,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1115,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1202,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1229,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1232,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1097,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1107,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1153,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1170,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1179,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1174,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1243,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1249,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1207,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1112,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1114,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1125,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1208,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1207,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1237,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1090,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1100,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1135,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1164,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1220,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1176,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1158,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1106,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1214,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1238,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1094,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1161,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1198,1
    - Dst: int64ToHexStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1114,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1126,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1142,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1200,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1188,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1211,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1223,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1227,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1229,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1245,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1172,1
    - Dst: mndGetStbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1170,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1149,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1241,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1208,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1182,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1192,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1144,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 166
    argCount: 3
    argNames:
    - pStream
    - pBlock
    - numOfRows
    argTypes:
    - SStreamObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1252
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1252
    functionName: setStreamAttrInResBlock
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndShowStreamTrigger
    - isAllTaskPaused
    - colDataSetVal
    - TSDB_CHECK_NULL
    - varDataSetLen
    - tsnprintf
    - mndShowStreamStatus
    - varDataVal
    - STR_WITH_MAXSIZE_TO_VARSTR
    - int64ToHexStr
    - atomic_load_8
    - mndGetStbStr
    - tListLen
    - TSDB_CHECK_CODE
    - taosArrayGet
    - mError
    - tstrncpy
    - STR_TO_VARSTR
    - memset
    - mndGetDbStr
    - tstrerror
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setStreamAttrInResBlock(SStreamObj *pStream, SSDataBlock *pBlock,
      int32_t numOfRows) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: extractStreamNodeList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1694,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1703,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1709,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1698,1
    - Dst: mndTakeVgroupSnapshot
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1714,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1716,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1720,1
    - Dst: mndFindChangedNodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1724,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1728,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1730,1
    - Dst: mndDestroyVgroupChangeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1734,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - pMnode
    - ppNodeSnapshot
    argTypes:
    - SMnode*
    - SArray**
    constantsTouched: []
    func_position:
      end: 1736
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1736
    functionName: doCheckForUpdated
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mWarn
    - mndTakeVgroupSnapshot
    - taosArrayGet
    - mndFindChangedNodeInfo
    - mndDestroyVgroupChangeInfo
    - mError
    - mDebug
    - taosGetTimestampSec
    - taosArrayGetSize
    - extractStreamNodeList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doCheckForUpdated(SMnode *pMnode, SArray **ppNodeSnapshot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SStreamTaskIter*
    constantsTouched: []
    func_position:
      end: 87
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 87
    functionName: destroyStreamTaskIter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void destroyStreamTaskIter(SStreamTaskIter *pIter) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:114,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:120,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:123,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:122,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:124,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:129,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:129,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:131,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:131,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:134,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:139,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:145,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:137,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:138,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:142,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:139,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pMnode
    - pVgroupList
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 149
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 149
    functionName: mndAddSnodeInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mError
    - mDebug
    - tstrerror
    - sdbCancelFetch
    - sdbFetch
    - taosArrayPush
    - addEpIntoEpSet
    - epsetToStr
    - tListLen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddSnodeInfo(SMnode *pMnode, SArray *pVgroupList) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:308,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:314,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:310,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - streamId
    - pStream
    argTypes:
    - SMnode*
    - int64_t
    - SStreamObj**
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: mndGetStreamObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetStreamObj(SMnode *pMnode, int64_t streamId, SStreamObj
      **pStream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:342,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:345,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:346,1
    - Dst: addEpIntoEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:344,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:349,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:355,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:359,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:361,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:362,1
    - Dst: epsetAssign
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:364,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - pMnode
    - pEpSet
    - hasEpset
    - taskId
    - nodeId
    argTypes:
    - SMnode*
    - SEpSet*
    - bool*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 372
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 372
    functionName: extractNodeEpset
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndAcquireVgroup
    - epsetAssign
    - mndReleaseVgroup
    - mError
    - mndGetVgroupEpset
    - mDebug
    - sdbCancelFetch
    - sdbFetch
    - addEpIntoEpSet
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t extractNodeEpset(SMnode *pMnode, SEpSet *pEpSet, bool *hasEpset,
      int32_t taskId, int32_t nodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:444,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:453,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:452,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:451,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:449,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:454,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:455,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:455,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:456,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:456,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:463,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:463,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:470,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:458,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:472,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:457,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 474
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 474
    functionName: mndInitExecInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - mError
    - tstrerror
    - taosGetDefaultHashFunction
    - taosHashSetFreeFp
    - taosArrayInit
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitExecInfo() '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:673,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:701,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:675,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:692,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:682,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:703,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:706,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:708,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:712,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:721,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:728,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 3
    argNames:
    - pReportInfo
    - numOfTasks
    - pName
    argTypes:
    - SChkptReportInfo*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 732
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 732
    functionName: allTasksSendChkptReport
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mWarn
    - taosArrayGet
    - mError
    - taosHashGet
    - mDebug
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t allTasksSendChkptReport(SChkptReportInfo* pReportInfo,
      int32_t numOfTasks, const char* pName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:915,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:921,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:913,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:911,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:934,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:936,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:938,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:939,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - pInfo
    - pRestoreInfo
    argTypes:
    - SCheckpointConsensusInfo*
    - SRestoreCheckpointInfo*
    constantsTouched: []
    func_position:
      end: 944
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 944
    functionName: mndAddConsensusTasks
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - taosArrayGet
    - mError
    - mDebug
    - taosArrayPush
    - memcpy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'void mndAddConsensusTasks(SCheckpointConsensusInfo *pInfo, const SRestoreCheckpointInfo
      *pRestoreInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:953,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:961,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:958,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:963,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pHash
    - streamId
    argTypes:
    - SHashObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 967
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 967
    functionName: mndClearConsensusCheckpointId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - taosHashRemove
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndClearConsensusCheckpointId(SHashObj *pHash, int64_t streamId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:92,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:99,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pVgroup
    argTypes:
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: checkStatusForEachReplica
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: bool
    signature: 'static bool checkStatusForEachReplica(SVgObj *pVgroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:158,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:166,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:165,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:164,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:171,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:172,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:173,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:177,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 181
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 181
    functionName: mndCheckMnodeStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mWarn
    - mDebug
    - sdbCancelFetch
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckMnodeStatus(SMnode* pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:321,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:325,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:323,1
    - Dst: mndKillTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:324,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:327,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:327,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:330,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - transId
    - pDbName
    argTypes:
    - SMnode*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: mndKillTransImpl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireTrans
    - mError
    - tstrerror
    - mndReleaseTrans
    - mndKillTrans
    linkageType: ''
    returnType: void
    signature: 'void mndKillTransImpl(SMnode *pMnode, int32_t transId, const char
      *pDbName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:379,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:392,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:386,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:385,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:381,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:398,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 3
    argNames:
    - pId
    - pStream
    - pTask
    argTypes:
    - STaskId*
    - SStreamObj*
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 400
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 400
    functionName: mndGetStreamTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - destroyStreamTaskIter
    - mError
    - createStreamTaskIter
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetStreamTask(STaskId *pId, SStreamObj *pStream, SStreamTask
      **pTask) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:744,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:754,1
    - Dst: mndGetStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:766,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:771,1
    - Dst: allTasksSendChkptReport
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:777,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:789,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:803,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:818,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:826,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:751,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:746,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:768,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:769,1
    - Dst: mndCreateStreamChkptInfoUpdateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:781,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:796,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:800,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:832,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:742,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:752,1
    - Dst: mndGetNumOfStreamTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:776,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:783,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:784,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:811,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:813,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:823,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:829,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:756,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:760,1
    - Dst: mndStreamTransConflictCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:779,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:793,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:806,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:817,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 75
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 834
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 834
    functionName: mndScanCheckpointReportInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndGetStreamObj
    - streamMutexLock
    - mDebug
    - TSDB_CHECK_NULL
    - taosArrayGetSize
    - taosArrayInit
    - streamMutexUnlock
    - taosArrayClear
    - taosGetTimestampMs
    - taosArrayDestroy
    - allTasksSendChkptReport
    - taosHashRemove
    - mndGetNumOfStreamTasks
    - mndStreamTransConflictCheck
    - taosArrayPush
    - taosArrayGet
    - mError
    - mInfo
    - mndCreateStreamChkptInfoUpdateTrans
    - taosHashIterate
    - taosHashGetSize
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndScanCheckpointReportInfo(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:947,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SCheckpointConsensusInfo*
    constantsTouched: []
    func_position:
      end: 949
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 949
    functionName: mndClearConsensusRspEntry
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void mndClearConsensusRspEntry(SCheckpointConsensusInfo *pInfo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:971,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:978,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:976,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pHash
    - streamId
    argTypes:
    - SHashObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 984
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 984
    functionName: mndClearChkptReportInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mDebug
    - mError
    - taosHashRemove
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndClearChkptReportInfo(SHashObj *pHash, int64_t streamId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1759,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1764,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1769,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1765,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pMnode
    - pSrcDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1772
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1772
    functionName: mndCheckForSnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - mError
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckForSnode(SMnode *pMnode, SDbObj *pSrcDb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:59,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:60,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SStreamTaskIter*
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: streamTaskIterNextTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    linkageType: ''
    returnType: bool
    signature: 'bool streamTaskIterNextTask(SStreamTaskIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:548,1
    - Dst: doRemoveTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:554,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:549,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pTaskIds
    - pExecInfo
    argTypes:
    - SArray*
    - SStreamExecInfo*
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 559
    functionName: removeTasksInBuf
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - doRemoveTasks
    - mError
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: void
    signature: 'void removeTasksInBuf(SArray *pTaskIds, SStreamExecInfo *pExecInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1017,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1023,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1021,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1019,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - dst
    - pStream
    argTypes:
    - char*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 1025
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1025
    functionName: mndShowStreamTrigger
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mndShowStreamTrigger(char *dst, SStreamObj *pStream) '
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1278,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1297,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1299,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1324,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1385,1
    - Dst: streamTaskGetStatusStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1333,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1375,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1401,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1391,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1419,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1580,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1576,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1263,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1283,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1308,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1369,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1372,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1454,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1461,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1479,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1500,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1503,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1315,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1341,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1361,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1508,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1523,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1539,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1583,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1422,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1442,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1475,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1347,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1394,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1427,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1563,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1568,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1588,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1496,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1340,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1517,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1265,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1292,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1345,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1367,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1379,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1355,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1407,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1416,1
    - Dst: taosFormatUtcTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1439,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1464,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1457,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1309,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1408,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1431,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1441,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1446,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1458,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1483,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1497,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1558,1
    - Dst: TSDB_CHECK_CONDITION
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1571,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1548,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1513,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1410,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1319,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1328,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1439,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1494,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1534,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1536,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1577,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1582,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1334,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1338,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1396,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1273,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1273,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1286,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1288,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1305,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1390,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1469,1
    - Dst: int64ToHexStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1531,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1287,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1317,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1367,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1407,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1493,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1504,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1507,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1540,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1472,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1532,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1574,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1527,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1337,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1376,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1436,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1446,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1468,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1553,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1588,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1516,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1393,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1297,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1348,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1400,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1424,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1424,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1449,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1455,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1427,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1478,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1514,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1542,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1302,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1325,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1360,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1387,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1275,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1282,1
    - Dst: int64ToHexStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1286,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1299,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1369,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1390,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1276,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1301,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1310,1
    - Dst: STR_WITH_SIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1321,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1404,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1428,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1471,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1486,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1488,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1490,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1543,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1378,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1387,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1372,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1436,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1465,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1482,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1521,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1528,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1531,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1510,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1385,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1293,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1344,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1357,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1397,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1373,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1411,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1415,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1430,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1520,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1406,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1524,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1327,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1354,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1354,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1306,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1279,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1422,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1442,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1452,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1462,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1501,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1358,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 308
    argCount: 5
    argNames:
    - pStream
    - pTask
    - pBlock
    - numOfRows
    - precision
    argTypes:
    - SStreamObj*
    - SStreamTask*
    - SSDataBlock*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 1591
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1591
    functionName: setTaskAttrInResBlock
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - TSDB_CHECK_CONDITION
    - colDataSetVal
    - TSDB_CHECK_NULL
    - varDataSetLen
    - tsnprintf
    - colDataSetNULL
    - varDataVal
    - STR_WITH_MAXSIZE_TO_VARSTR
    - int64ToHexStr
    - memcpy
    - STR_WITH_SIZE_TO_VARSTR
    - tListLen
    - TSDB_CHECK_CODE
    - taosArrayGet
    - mError
    - taosHashGet
    - memset
    - STR_TO_VARSTR
    - TMAX
    - snprintf
    - mndGetDbStr
    - tstrerror
    - taosFormatUtcTime
    - streamTaskGetStatusStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t setTaskAttrInResBlock(SStreamObj *pStream, SStreamTask *pTask,
      SSDataBlock *pBlock, int32_t numOfRows, int32_t precision) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:34,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pStream
    - pIter
    argTypes:
    - SStreamObj*
    - SStreamTaskIter**
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: createStreamTaskIter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t createStreamTaskIter(SStreamObj *pStream, SStreamTaskIter
      **pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pIter
    - pTask
    argTypes:
    - SStreamTaskIter*
    - SStreamTask**
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: streamTaskIterGetCurrent
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t streamTaskIterGetCurrent(SStreamTaskIter *pIter, SStreamTask
      **pTask) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:569,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:583,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:590,1
    - Dst: streamMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:563,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:575,1
    - Dst: doRemoveTasks
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:581,1
    - Dst: mndClearConsensusCheckpointId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:595,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:589,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:606,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:566,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:568,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:587,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:588,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:597,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:602,1
    - Dst: mndClearChkptReportInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:600,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:573,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:587,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:597,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:602,1
    - Dst: streamMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 2
    argNames:
    - pStream
    - pExecNode
    argTypes:
    - SStreamObj*
    - SStreamExecInfo*
    constantsTouched: []
    func_position:
      end: 607
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 607
    functionName: removeStreamTasksInBuf
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - mndClearChkptReportInfo
    - streamMutexLock
    - destroyStreamTaskIter
    - mError
    - mndClearConsensusCheckpointId
    - taosHashGetSize
    - tstrerror
    - createStreamTaskIter
    - doRemoveTasks
    - taosArrayGetSize
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    - streamMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void removeStreamTasksInBuf(SStreamObj *pStream, SStreamExecInfo *pExecNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1028,1
    - Dst: tintToHex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1032,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - id
    - pBuf
    - bufLen
    argTypes:
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1034
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1034
    functionName: int64ToHexStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - varDataSetLen
    - tintToHex
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void int64ToHexStr(int64_t id, char *pBuf, int32_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1594,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1597,1
    - Dst: GET_ACTIVE_EP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1595,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pPrevEpset
    - pCurrent
    argTypes:
    - SEpSet*
    - SEpSet*
    constantsTouched: []
    func_position:
      end: 1601
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1601
    functionName: isNodeEpsetChanged
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - GET_ACTIVE_EP
    - strncmp
    linkageType: ''
    returnType: bool
    signature: 'static bool isNodeEpsetChanged(const SEpSet *pPrevEpset, const SEpSet
      *pCurrent) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1605,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c:1606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SVgroupChangeInfo*
    constantsTouched: []
    func_position:
      end: 1608
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1608
    functionName: mndDestroyVgroupChangeInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamUtil.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndDestroyVgroupChangeInfo(SVgroupChangeInfo *pInfo) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:124,1
    - Dst: qSubPlanToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:124,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:126,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:127,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:132,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:135,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:141,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:142,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:144,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:145,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:148,1
    - Dst: tEncodeSMqRebVgReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:154,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:147,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:147,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:153,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 5
    argNames:
    - pBuf
    - pLen
    - pSub
    - pRebVg
    - pPlan
    argTypes:
    - void**
    - int32_t*
    - SMqSubscribeObj*
    - SMqRebOutputVg*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 156
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 156
    functionName: mndBuildSubChangeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - MND_TMQ_RETURN_CHECK
    - taosMemoryFree
    - MND_TMQ_NULL_CHECK
    - qSubPlanToString
    - tstrncpy
    - POINTER_SHIFT
    - taosStrdup
    - tEncodeSize
    - tEncodeSMqRebVgReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildSubChangeReq(void **pBuf, int32_t *pLen, SMqSubscribeObj
      *pSub, const SMqRebOutputVg *pRebVg, SSubplan *pPlan) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:204,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:207,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:212,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - key
    - topic
    - cgroup
    - fullName
    argTypes:
    - char*
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 214
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 214
    functionName: mndSplitSubscribeKey
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - memcpy
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mndSplitSubscribeKey(const char *key, char *topic, char
      *cgroup, bool fullName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:299,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:303,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:307,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:302,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:306,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:308,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:308,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:309,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pOutput
    - pInput
    argTypes:
    - SMqRebOutputObj*
    - SMqRebInputObj*
    constantsTouched: []
    func_position:
      end: 314
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 314
    functionName: processNewConsumers
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - taosArrayPush
    - taosHashPut
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processNewConsumers(SMqRebOutputObj *pOutput, const
      SMqRebInputObj *pInput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:339,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:350,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:347,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:347,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:345,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:351,1
    - Dst: pushVgDataToHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:351,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:355,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:356,1
    - Dst: pushVgDataToHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:356,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 4
    argNames:
    - pOutput
    - pHash
    - minVgCnt
    - remainderVgCnt
    argTypes:
    - SMqRebOutputObj*
    - SHashObj*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 363
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 363
    functionName: processModifiedConsumers
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - MND_TMQ_RETURN_CHECK
    - pushVgDataToHash
    - MND_TMQ_NULL_CHECK
    - taosHashIterate
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processModifiedConsumers(SMqRebOutputObj *pOutput,
      SHashObj *pHash, int32_t minVgCnt, int32_t remainderVgCnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:878,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 880
    functionName: mndRebTryStart
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - atomic_val_compare_exchange_32
    linkageType: ''
    returnType: bool
    signature: 'bool mndRebTryStart() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1386,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1398,1
    - Dst: mndSplitSubscribeKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1391,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1393,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - pMnode
    - topicName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 1402
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1402
    functionName: mndGetGroupNumByTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndSplitSubscribeKey
    - sdbFetch
    - strcmp
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetGroupNumByTopic(SMnode *pMnode, const char *topicName) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1474,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1479,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1480,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1490,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1483,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1489,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1492,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1499,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1500,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1504,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1525,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1530,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1534,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1531,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1527,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1508,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1539,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1466,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1476,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1478,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1490,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1485,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1490,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1494,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1498,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1506,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1509,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1525,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1526,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1526,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1536,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1534,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1469,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1468,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1484,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1480,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1497,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1500,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1508,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1514,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1528,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1528,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1527,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1537,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1540,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1515,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1529,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1531,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1533,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1475,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1476,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1485,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1489,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1493,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1494,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1503,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1505,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1506,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1513,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1526,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1532,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1542,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1538,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1528,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1541,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1526,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 105
    argCount: 9
    argNames:
    - pBlock
    - numOfRows
    - consumerId
    - user
    - fqdn
    - topic
    - cgroup
    - vgs
    - offsetRows
    argTypes:
    - SSDataBlock*
    - int32_t*
    - int64_t
    - char*
    - char*
    - char*
    - char*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1549
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1549
    functionName: buildResult
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mInfo
    - snprintf
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - colDataSetNULL
    - MND_TMQ_NULL_CHECK
    - colDataSetVal
    - varDataVal
    - STR_TO_VARSTR
    - strlen
    - varDataSetLen
    - tFormatOffset
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildResult(SSDataBlock *pBlock, int32_t *numOfRows,
      int64_t consumerId, const char* user, const char* fqdn, const char *topic, const
      char *cgroup, SArray *vgs, SArray *offsetRows) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:173,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:187,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:175,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:182,1
    - Dst: mndBuildSubChangeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:173,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:188,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:188,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pSub
    - pRebVg
    - pPlan
    argTypes:
    - SMnode*
    - STrans*
    - SMqSubscribeObj*
    - SMqRebOutputVg*
    - SSubplan*
    constantsTouched: []
    func_position:
      end: 194
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 194
    functionName: mndPersistSubChangeVgReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndAcquireVgroup
    - taosMemoryFree
    - MND_TMQ_RETURN_CHECK
    - mndReleaseVgroup
    - mndBuildSubChangeReq
    - mndGetVgroupEpset
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPersistSubChangeVgReq(SMnode *pMnode, STrans *pTrans,
      SMqSubscribeObj *pSub, const SMqRebOutputVg *pRebVg, SSubplan *pPlan) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:221,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:221,1
    - Dst: tNewSMqRebSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:223,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:228,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:229,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:233,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:233,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:234,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pHash
    - key
    - pReb
    argTypes:
    - SHashObj*
    - char*
    - SMqRebInfo**
    constantsTouched: []
    func_position:
      end: 242
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 242
    functionName: mndGetOrCreateRebSub
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - MND_TMQ_NULL_CHECK
    - tNewSMqRebSubscribe
    - taosHashGet
    - strlen
    - taosHashPut
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetOrCreateRebSub(SHashObj *pHash, const char *key,
      SMqRebInfo **pReb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:321,1
    - Dst: pushVgDataToHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:323,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:323,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pOutput
    - pHash
    argTypes:
    - SMqRebOutputObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: processUnassignedVgroups
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - pushVgDataToHash
    - taosArrayGetSize
    - MND_TMQ_RETURN_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processUnassignedVgroups(SMqRebOutputObj *pOutput,
      SHashObj *pHash) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:375,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:388,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:390,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:399,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:404,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:409,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:408,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:405,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:403,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:420,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:428,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:382,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:377,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:392,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:407,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:418,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:429,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:429,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:432,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:437,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:439,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:383,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:389,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:392,1
    - Dst: tDeleteSMqVgEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:419,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:427,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:428,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:438,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:427,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:374,1
    - Dst: tDeleteSMqVgEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:411,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:394,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:412,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:430,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - pMnode
    - pOutput
    argTypes:
    - SMnode*
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 441
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 441
    functionName: processRemoveAddVgs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mInfo
    - tDeleteSMqVgEp
    - taosMemoryMalloc
    - taosArrayDestroy
    - taosMemoryFree
    - MND_TMQ_NULL_CHECK
    - mndGetVgroupEpset
    - taosArrayRemove
    - taosHashIterate
    - taosArrayAddAll
    - taosArrayDestroyP
    - sdbFetch
    - taosArrayPush
    - mndVgroupInDb
    - taosArrayGetSize
    - sdbRelease
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processRemoveAddVgs(SMnode *pMnode, SMqRebOutputObj
      *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pMnode
    - pSub
    argTypes:
    - SMnode*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1408
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1408
    functionName: mndReleaseSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseSubscribe(SMnode *pMnode, SMqSubscribeObj *pSub) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1561,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1572,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1578,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1580,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1596,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1580,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1606,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1610,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1616,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1564,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1569,1
    - Dst: buildResult
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1598,1
    - Dst: buildResult
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1602,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1579,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1586,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1617,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1572,1
    - Dst: mndSplitSubscribeKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1578,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1578,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1579,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1598,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1580,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1592,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1579,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1602,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1607,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rowsCapacity
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1620
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1620
    functionName: mndRetrieveSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - MND_TMQ_RETURN_CHECK
    - blockDataEnsureCapacity
    - taosRUnLockLatch
    - varDataVal
    - taosHashIterate
    - sdbAcquire
    - buildResult
    - taosRLockLatch
    - strlen
    - sdbFetch
    - mndSplitSubscribeKey
    - varDataSetLen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRetrieveSubscribe(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rowsCapacity) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:642,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:647,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:652,1
    - Dst: processNewConsumers
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:648,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:648,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:644,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:643,1
    - Dst: processUnassignedVgroups
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:645,1
    - Dst: calcVgroupsCnt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:646,1
    - Dst: processSubOffsetRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:650,1
    - Dst: printRebalanceLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:651,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:650,1
    - Dst: processModifiedConsumers
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:647,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:642,1
    - Dst: processRemovedConsumers
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:644,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:649,1
    - Dst: processRemoveAddVgs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:634,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:645,1
    - Dst: assignVgroups
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:649,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - pMnode
    - pInput
    - pOutput
    argTypes:
    - SMnode*
    - SMqRebInputObj*
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 656
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 656
    functionName: mndDoRebalance
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - assignVgroups
    - processModifiedConsumers
    - MND_TMQ_RETURN_CHECK
    - processRemoveAddVgs
    - MND_TMQ_NULL_CHECK
    - processSubOffsetRows
    - printRebalanceLog
    - processNewConsumers
    - processUnassignedVgroups
    - processRemovedConsumers
    - calcVgroupsCnt
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDoRebalance(SMnode *pMnode, const SMqRebInputObj
      *pInput, SMqRebOutputObj *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:883,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:884,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 885
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 885
    functionName: mndRebCntInc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - atomic_add_fetch_32
    linkageType: ''
    returnType: void
    signature: 'void mndRebCntInc() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSubActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:49,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:56,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:50,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:51,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pSub
    argTypes:
    - STrans*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 60
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 60
    functionName: mndSetSubCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - MND_TMQ_NULL_CHECK
    - sdbSetRawStatus
    - mndSubActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetSubCommitLogs(STrans *pTrans, SMqSubscribeObj
      *pSub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:664,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:668,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:666,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:668,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:667,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:669,1
    - Dst: mndSetConsumerCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:669,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:670,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:675,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 5
    argNames:
    - pTrans
    - consumers
    - type
    - cgroup
    - topic
    argTypes:
    - STrans*
    - SArray*
    - int8_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 677
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 677
    functionName: presistConsumerByType
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - mndSetConsumerCommitLogs
    - tDeleteSMqConsumerObj
    - tNewSMqConsumerObj
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t presistConsumerByType(STrans *pTrans, SArray *consumers,
      int8_t type, char *cgroup, char *topic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:896,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:899,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:897,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:898,1
    - Dst: tDeleteSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:900,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - rebOutput
    argTypes:
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 902
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 902
    functionName: clearRebOutput
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tDeleteSubscribeObj
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void clearRebOutput(SMqRebOutputObj *rebOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:756,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:763,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:758,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:761,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:760,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:765,1
    - Dst: mndGetOrCreateRebSub
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:765,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:767,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:767,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:769,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:769,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:773,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - rebSubHash
    - topicList
    - type
    - pConsumer
    argTypes:
    - SHashObj*
    - SArray*
    - int8_t
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 775
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 775
    functionName: buildRebInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - taosRUnLockLatch
    - taosRLockLatch
    - taosArrayPush
    - taosArrayGetSize
    - mndGetOrCreateRebSub
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRebInfo(SHashObj *rebSubHash, SArray *topicList,
      int8_t type, SMqConsumerObj *pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:540,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:551,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:541,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:549,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 5
    argNames:
    - pInput
    - totalVgNum
    - pSubKey
    - minVgCnt
    - remainderVgCnt
    argTypes:
    - SMqRebInputObj*
    - int32_t
    - char*
    - int32_t*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 554
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 554
    functionName: calcVgroupsCnt
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void calcVgroupsCnt(const SMqRebInputObj *pInput, int32_t totalVgNum,
      const char *pSubKey, int32_t *minVgCnt, int32_t *remainderVgCnt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:684,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:686,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:685,1
    - Dst: presistConsumerByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:685,1
    - Dst: presistConsumerByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:684,1
    - Dst: presistConsumerByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:686,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - pTrans
    - pOutput
    - cgroup
    - topic
    argTypes:
    - STrans*
    - SMqRebOutputObj*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 689
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 689
    functionName: mndPresistConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - presistConsumerByType
    - MND_TMQ_RETURN_CHECK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPresistConsumer(STrans *pTrans, const SMqRebOutputObj
      *pOutput, char *cgroup, char *topic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:747,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 749
      start: 744
    functionDepth: 0
    functionLinenumber: 744
    functionLinenumberEnd: 749
    functionName: freeRebalanceItem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void freeRebalanceItem(void *param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:781,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:789,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:783,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:794,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:790,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:797,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:799,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:800,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:803,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:805,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:809,1
    - Dst: mndGetOrCreateRebSub
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:811,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:813,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:815,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:820,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:813,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:821,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:818,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 3
    argNames:
    - pMnode
    - pConsumer
    - rebSubHash
    argTypes:
    - SMnode*
    - SMqConsumerObj*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 823
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 823
    functionName: checkForVgroupSplit
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mInfo
    - mndAcquireVgroup
    - snprintf
    - mndReleaseVgroup
    - mndReleaseSubscribe
    - taosRUnLockLatch
    - mError
    - taosHashGet
    - taosRLockLatch
    - tstrerror
    - mndAcquireSubscribeByKey
    - taosArrayGetSize
    - mndGetOrCreateRebSub
    linkageType: ''
    returnType: void
    signature: 'static void checkForVgroupSplit(SMnode *pMnode, SMqConsumerObj *pConsumer,
      SHashObj *rebSubHash) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:932,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:945,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:944,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:941,1
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:939,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:945,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:947,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:948,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:948,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pMnode
    - pSub
    argTypes:
    - SMnode*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 952
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 952
    functionName: checkConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndAcquireConsumer
    - taosArrayDestroy
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - mError
    - taosArrayAddAll
    - taosHashIterate
    - taosHashRemove
    - mndReleaseConsumer
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkConsumer(SMnode *pMnode, SMqSubscribeObj *pSub) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1227,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1243,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1234,1
    - Dst: tEncodeSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1238,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1231,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1244,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1245,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1246,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1251,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1253,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1258,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1253,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1254,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 1
    argNames:
    - pSub
    argTypes:
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1260
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1260
    functionName: mndSubActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryMalloc
    - SDB_SET_INT32
    - tEncodeSubscribeObj
    - mError
    - terrstr
    - mTrace
    - taosMemoryFreeClear
    - SDB_SET_BINARY
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndSubActionEncode(SMqSubscribeObj *pSub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSubActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1413,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1420,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1415,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1414,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1417,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSub
    argTypes:
    - SMnode*
    - STrans*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1423
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1423
    functionName: mndSetDropSubCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - MND_TMQ_NULL_CHECK
    - sdbSetRawStatus
    - mndSubActionEncode
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropSubCommitLogs(SMnode *pMnode, STrans *pTrans, SMqSubscribeObj
      *pSub) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:566,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:581,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:620,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:580,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:571,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:601,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:621,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:622,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:587,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:620,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:602,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:614,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:574,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:572,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:580,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:592,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:593,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:601,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:607,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:609,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:595,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:622,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 3
    argNames:
    - pOutput
    - pHash
    - minVgCnt
    argTypes:
    - SMqRebOutputObj*
    - SHashObj*
    - int32_t
    constantsTouched: []
    func_position:
      end: 628
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 628
    functionName: assignVgroups
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - MND_TMQ_NULL_CHECK
    - mError
    - taosHashIterate
    - taosHashGetSize
    - taosArrayPush
    - taosHashCancelIterate
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t assignVgroups(SMqRebOutputObj *pOutput, SHashObj *pHash,
      int32_t minVgCnt) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qStringToSubplan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:700,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:707,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:736,1
    - Dst: mndPersistSubChangeVgReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:723,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:727,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:730,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:736,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:700,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:715,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:719,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:721,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:722,1
    - Dst: mndPresistConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:730,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:739,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:741,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:699,1
    - Dst: mndSplitSubscribeKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:705,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:714,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:715,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:723,1
    - Dst: mndSetSubCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:727,1
    - Dst: mndTransSetCb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:733,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:740,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - pMnode
    - pMsg
    - pOutput
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 742
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 742
    functionName: mndPersistRebResult
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - mndSetSubCommitLogs
    - nodesDestroyNode
    - strcmp
    - taosArrayGetSize
    - qStringToSubplan
    - mndSplitSubscribeKey
    - mndTransCheckConflict
    - mndTransSetCb
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndPresistConsumer
    - mndTransSetDbName
    - mndPersistSubChangeVgReq
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPersistRebResult(SMnode *pMnode, SRpcMsg *pMsg,
      const SMqRebOutputObj *pOutput) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:852,1
    - Dst: buildRebInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:866,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:868,1
    - Dst: checkForVgroupSplit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:862,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:846,1
    - Dst: mndSendConsumerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:853,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:856,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:866,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:837,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:842,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:844,1
    - Dst: buildRebInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:865,1
    - Dst: buildRebInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:860,1
    - Dst: mndSendConsumerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:868,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:871,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:843,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:848,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:853,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:858,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:860,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:865,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - pMsg
    - rebSubHash
    argTypes:
    - SRpcMsg*
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 875
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 875
    functionName: mndCheckConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - MND_TMQ_RETURN_CHECK
    - atomic_load_32
    - mndSendConsumerMsg
    - mDebug
    - mndConsumerStatusName
    - checkForVgroupSplit
    - sdbFetch
    - atomic_add_fetch_32
    - buildRebInfo
    - mndReleaseConsumer
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckConsumer(SRpcMsg *pMsg, SHashObj *rebSubHash) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1284,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1293,1
    - Dst: tDecodeSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1295,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1274,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1290,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1325,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1313,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1316,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1325,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1289,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1281,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1301,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1303,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1323,1
    - Dst: tmsgUpdateDnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1314,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1311,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1326,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1292,1
    - Dst: tmsgUpdateDnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1304,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1308,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1330,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 53
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 1332
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1332
    functionName: mndSubActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - tmsgUpdateDnodeEpSet
    - terrstr
    - mError
    - mTrace
    - taosHashIterate
    - taosArrayGetSize
    - SDB_GET_RESERVE
    - tDecodeSubscribeObj
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndSubActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1347,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1362,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - pSdb
    - pOldSub
    - pNewSub
    argTypes:
    - SSdb*
    - SMqSubscribeObj*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1364
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1364
    functionName: mndSubActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosWLockLatch
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSubActionUpdate(SSdb *pSdb, SMqSubscribeObj *pOldSub,
      SMqSubscribeObj *pNewSub) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1432,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1439,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1433,1
    - Dst: mndSplitSubscribeKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1438,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1444,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1449,1
    - Dst: sendDeleteSubToVnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1449,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1450,1
    - Dst: mndSetDropSubCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1450,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1457,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1455,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - topicName
    - force
    argTypes:
    - SMnode*
    - STrans*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1458
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1458
    functionName: mndDropSubByTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - MND_TMQ_RETURN_CHECK
    - sendDeleteSubToVnode
    - strcmp
    - taosHashGetSize
    - mndSplitSubscribeKey
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - mndSetDropSubCommitLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropSubByTopic(SMnode *pMnode, STrans *pTrans, const char
      *topicName, bool force) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:909,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:910,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:912,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:911,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:913,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:914,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:915,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:916,1
    - Dst: clearRebOutput
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:920,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rebOutput
    argTypes:
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 922
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 922
    functionName: initRebOutput
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - MND_TMQ_NULL_CHECK
    - clearRebOutput
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initRebOutput(SMqRebOutputObj *rebOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:76,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:79,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:77,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:78,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:80,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:82,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:83,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 86
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 86
    functionName: mndInitSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitSubscribe(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:249,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:252,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:250,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:252,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:253,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 4
    argNames:
    - vgs
    - pHash
    - consumerId
    - key
    argTypes:
    - SArray*
    - SHashObj*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 256
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 256
    functionName: pushVgDataToHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - taosArrayPop
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t pushVgDataToHash(SArray *vgs, SHashObj *pHash, int64_t
      consumerId, char *key) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:469,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:470,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:452,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:466,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:468,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:492,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:497,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:448,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:463,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:474,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:477,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:473,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:502,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:456,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:454,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:472,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:486,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:484,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:497,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:485,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:501,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 3
    argNames:
    - pMnode
    - pInput
    - pOutput
    argTypes:
    - SMnode*
    - SMqRebInputObj*
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 506
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 506
    functionName: processSubOffsetRows
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mInfo
    - taosArrayGet
    - MND_TMQ_NULL_CHECK
    - mndReleaseSubscribe
    - taosRUnLockLatch
    - taosHashIterate
    - taosHashGet
    - taosRLockLatch
    - taosArrayPush
    - mndAcquireSubscribeByKey
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processSubOffsetRows(SMnode *pMnode, const SMqRebInputObj
      *pInput, SMqRebOutputObj *pOutput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:888,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 890
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 890
    functionName: mndRebCntDec
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: void
    signature: 'void mndRebCntDec() '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:968,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:975,1
    - Dst: checkConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:992,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:980,1
    - Dst: tCloneSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:987,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:997,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:960,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:969,1
    - Dst: mndCreateSubscription
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:972,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:974,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:974,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:986,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1000,1
    - Dst: mndSplitSubscribeKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:966,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:968,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:982,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:994,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:989,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:984,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1001,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:976,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:981,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:998,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - pMnode
    - rebInput
    - rebOutput
    argTypes:
    - SMnode*
    - SMqRebInputObj*
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 1006
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 1006
    functionName: buildRebOutput
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - tCloneSubscribeObj
    - MND_TMQ_RETURN_CHECK
    - mndReleaseSubscribe
    - mError
    - taosRUnLockLatch
    - taosHashGetSize
    - taosRLockLatch
    - tstrerror
    - mndSplitSubscribeKey
    - mndAcquireTopic
    - mndAcquireSubscribeByKey
    - checkConsumer
    - memcpy
    - mndReleaseTopic
    - mndCreateSubscription
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildRebOutput(SMnode *pMnode, SMqRebInputObj *rebInput,
      SMqRebOutputObj *rebOutput) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1084,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1093,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1090,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1089,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1094,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1095,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1098,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1101,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1107,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1108,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1108,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1112,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1113,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 3
    argNames:
    - pMnode
    - pSub
    - pTrans
    argTypes:
    - SMnode*
    - SMqSubscribeObj*
    - STrans*
    constantsTouched: []
    func_position:
      end: 1115
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1115
    functionName: sendDeleteSubToVnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - htonl
    - MND_TMQ_RETURN_CHECK
    - taosMemoryCalloc
    - MND_TMQ_NULL_CHECK
    - mndGetVgroupEpset
    - sdbFetch
    - sdbCancelFetch
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sendDeleteSubToVnode(SMnode *pMnode, SMqSubscribeObj
      *pSub, STrans *pTrans) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1196,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1197,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1202,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1208,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1191,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1195,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1199,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1200,1
    - Dst: mndSetDropSubCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1202,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1212,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1214,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1176,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1188,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1189,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1199,1
    - Dst: sendDeleteSubToVnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1200,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1198,1
    - Dst: mndCheckConsumerByGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1201,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1203,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1206,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1207,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1175,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1183,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1179,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1183,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1191,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1201,1
    - Dst: PRINT_LOG_END
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1209,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1215
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1215
    functionName: mndProcessDropCgroupReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndReleaseSubscribe
    - taosWUnLockLatch
    - mndAcquireSubscribeByKey
    - mndCheckConsumerByGroup
    - MND_TMQ_NULL_CHECK
    - mndTransCreate
    - MND_TMQ_RETURN_CHECK
    - mError
    - mndTransDrop
    - mndSetDropSubCommitLogs
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - snprintf
    - sendDeleteSubToVnode
    - taosHashGetSize
    - tstrerror
    - mndTransCheckConflict
    - TAOS_RETURN
    - PRINT_LOG_END
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropCgroupReq(SRpcMsg *pMsg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pSub
    argTypes:
    - SSdb*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1337
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1337
    functionName: mndSubActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSubActionInsert(SSdb *pSdb, SMqSubscribeObj *pSub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:93,1
    - Dst: mndSchedInitSubEp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:99,1
    - Dst: tNewSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:93,1
    - Dst: tDeleteSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:103,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:99,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:104,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 4
    argNames:
    - pMnode
    - pTopic
    - subKey
    - pSub
    argTypes:
    - SMnode*
    - SMqTopicObj*
    - char*
    - SMqSubscribeObj**
    constantsTouched: []
    func_position:
      end: 106
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 106
    functionName: mndCreateSubscription
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - MND_TMQ_RETURN_CHECK
    - tDeleteSubscribeObj
    - mndSchedInitSubEp
    - tNewSubscribeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateSubscription(SMnode *pMnode, const SMqTopicObj
      *pTopic, const char *subKey, SMqSubscribeObj** pSub) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:263,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:266,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:268,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:273,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:267,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:275,1
    - Dst: pushVgDataToHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:275,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:278,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:279,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:279,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:285,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:288,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:280,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 3
    argNames:
    - pOutput
    - pHash
    - pInput
    argTypes:
    - SMqRebOutputObj*
    - SHashObj*
    - SMqRebInputObj*
    constantsTouched: []
    func_position:
      end: 292
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 292
    functionName: processRemovedConsumers
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - taosArrayDestroy
    - MND_TMQ_RETURN_CHECK
    - pushVgDataToHash
    - MND_TMQ_NULL_CHECK
    - mError
    - taosHashGet
    - taosHashRemove
    - taosArrayPush
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t processRemovedConsumers(SMqRebOutputObj *pOutput, SHashObj
      *pHash, const SMqRebInputObj *pInput) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:510,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:514,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:512,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:511,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:520,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:523,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:524,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:527,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:529,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - pOutput
    argTypes:
    - SMqRebOutputObj*
    constantsTouched: []
    func_position:
      end: 533
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 533
    functionName: printRebalanceLog
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGetP
    - taosArrayGet
    - taosHashIterate
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void printRebalanceLog(SMqRebOutputObj *pOutput) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1024,1
    - Dst: mndCheckConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1026,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1028,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1028,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1039,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1043,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1056,1
    - Dst: clearRebOutput
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1060,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1068,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1069,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1021,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1017,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1043,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1032,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1063,1
    - Dst: mndRebTryStart
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1016,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1022,1
    - Dst: initRebOutput
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1039,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1049,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1049,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1064,1
    - Dst: mndRebCntDec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1070,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1026,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1027,1
    - Dst: mndDoRebalance
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1047,1
    - Dst: buildRebOutput
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1041,1
    - Dst: mndPersistRebResult
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1054,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1056,1
    - Dst: PRINT_LOG_END
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1072,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1073,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1074
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1074
    functionName: mndProcessRebalanceReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mndCheckConsumer
    - buildRebOutput
    - taosHashInit
    - taosHashCleanup
    - MND_TMQ_NULL_CHECK
    - mndRebCntDec
    - taosHashSetFreeFp
    - mndDoRebalance
    - MND_TMQ_RETURN_CHECK
    - mError
    - initRebOutput
    - clearRebOutput
    - mInfo
    - mndPersistRebResult
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - TAOS_RETURN
    - taosHashCancelIterate
    - PRINT_LOG_END
    - mndRebTryStart
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessRebalanceReq(SRpcMsg *pMsg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1126,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1137,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1132,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1137,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1131,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1138,1
    - Dst: mndSetConsumerDropLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1138,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1139,1
    - Dst: checkTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1142,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1144,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1152,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1157,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1158,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1156,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - cgroup
    - topic
    - deleteConsumer
    argTypes:
    - SMnode*
    - STrans*
    - char*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 1160
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1160
    functionName: mndCheckConsumerByGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - checkTopic
    - MND_TMQ_RETURN_CHECK
    - mError
    - strcmp
    - sdbFetch
    - sdbCancelFetch
    - tDeleteSMqConsumerObj
    - tNewSMqConsumerObj
    - mndSetConsumerDropLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckConsumerByGroup(SMnode *pMnode, STrans *pTrans,
      char *cgroup, char *topic, bool deleteConsumer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1217
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1217
    functionName: mndCleanupSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupSubscribe(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1340,1
    - Dst: tDeleteSubscribeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pSdb
    - pSub
    argTypes:
    - SSdb*
    - SMqSubscribeObj*
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: mndSubActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - mTrace
    - tDeleteSubscribeObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSubActionDelete(SSdb *pSdb, SMqSubscribeObj *pSub) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1371,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - key
    - pSub
    argTypes:
    - SMnode*
    - char*
    - SMqSubscribeObj**
    constantsTouched: []
    func_position:
      end: 1376
      start: 1366
    functionDepth: 0
    functionLinenumber: 1366
    functionLinenumberEnd: 1376
    functionName: mndAcquireSubscribeByKey
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAcquireSubscribeByKey(SMnode *pMnode, const char *key,
      SMqSubscribeObj** pSub) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c:1627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1628
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1628
    functionName: mndCancelGetNextSubscribe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSubscribe.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'void mndCancelGetNextSubscribe(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:70,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:72,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:77,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:74,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: mndReleaseRpc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mTrace
    - atomic_sub_fetch_32
    - taosThreadRwlockRdlock
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'static inline void mndReleaseRpc(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:97,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:99,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:103,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:104,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 107
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 107
    functionName: mndPullupTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupTrans(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:123,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:125,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:128,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:129,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: mndPullupTtl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupTtl(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:320,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:332,1
    - Dst: mndAcquireRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:321,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:324,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:329,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:334,1
    - Dst: mndSetVgroupOffline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:335,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:338,1
    - Dst: mndReleaseRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 342
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 342
    functionName: mndCheckDnodeOffline
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireRpc
    - taosGetTimestampMs
    - mndSetVgroupOffline
    - mndIsDnodeOnline
    - mTrace
    - mndReleaseRpc
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndCheckDnodeOffline(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:520,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:526,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:523,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:531,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pMnode
    - path
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 532
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 532
    functionName: mndCreateDir
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosMkDir
    - TAOS_RETURN
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDir(SMnode *pMnode, const char *path) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: walClose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:574,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 577
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 577
    functionName: mndCloseWal
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - walClose
    linkageType: ''
    returnType: void
    signature: 'static void mndCloseWal(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetRole
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:835,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 836
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 836
    functionName: mndGetRole
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncGetRole
    linkageType: ''
    returnType: ESyncRole
    signature: 'ESyncRole mndGetRole(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1233
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1233
    functionName: mndGetRestored
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mndGetRestored(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:52,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:62,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:61,1
    - Dst: mndIsLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:55,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:59,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:65,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: mndAcquireRpc
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    - mTrace
    - taosThreadRwlockUnlock
    - TAOS_RETURN
    - atomic_add_fetch_32
    - mndIsLeader
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t mndAcquireRpc(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:84,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:90,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:90,1
    - Dst: tSerializeSMTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:89,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - pContLen
    argTypes:
    - int32_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 94
    functionName: mndBuildTimerMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - terrstr
    - mError
    - tSerializeSMTimerMsg
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildTimerMsg(int32_t *pContLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:110,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:117,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:117,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:112,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: mndPullupCompacts
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupCompacts(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:134,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:139,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:140,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:136,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: mndPullupTrimDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupTrimDb(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:346,1
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:347,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:354,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:349,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:359,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:363,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 365
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 365
    functionName: mnodeIsNotLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - taosThreadRwlockRdlock
    - syncGetState
    linkageType: ''
    returnType: bool
    signature: 'static bool mnodeIsNotLeader(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:537,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:565,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:556,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:554,1
    - Dst: walOpen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:561,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:565,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:566,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:569,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 570
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 570
    functionName: mndInitWal
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - snprintf
    - mError
    - walOpen
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitWal(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:593,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: mndInitSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - sdbInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitSdb(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetTerm
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:840,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: mndGetTerm
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncGetTerm
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetTerm(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1236,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1238,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1240
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1240
    functionName: mndSetStop
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadRwlockUnlock
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void mndSetStop(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:261,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:272,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:271,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:272,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:263,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: mndIncreaseUpTime
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndIncreaseUpTime(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:369,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:373,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:370,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:372,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:371,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:374,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:375,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:376,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:377,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:378,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:382,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:381,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:383,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 386
    functionName: minCronTime
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t minCronTime() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckDnodeOffline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:460,1
    - Dst: mndSyncCheckTimeout
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - sec
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: mndDoTimerCheckTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndSyncCheckTimeout
    - mndCheckDnodeOffline
    linkageType: ''
    returnType: void
    signature: 'void mndDoTimerCheckTask(SMnode *pMnode, int64_t sec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbReadFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:599,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:604,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:602,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: mndOpenSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbReadFile
    - atomic_store_64
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndOpenSdb(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:671,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:682,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:676,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:675,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:683,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pMnode
    - pos
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 685
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 685
    functionName: mndCleanupSteps
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayClear
    - taosArrayGet
    - taosArrayDestroy
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void mndCleanupSteps(SMnode *pMnode, int32_t pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:715,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - pOption
    argTypes:
    - SMnode*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: mndSetOptions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void mndSetOptions(SMnode *pMnode, const SMnodeOpt *pOption) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1014,1
    - Dst: llabs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1020,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1016,1
    - Dst: taosRand
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1018,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1023
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1023
    functionName: mndGenerateUid
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - llabs
    - taosGetTimestampUs
    - MurmurHash3_32
    - taosRand
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGenerateUid(const char *name, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:283,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:294,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:306,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:308,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:291,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:312,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:315,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 3
    argNames:
    - pMnode
    - dnodeId
    - curMs
    argTypes:
    - SMnode*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 317
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 317
    functionName: mndSetVgroupOffline
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndReleaseDb
    - mndAcquireDb
    - syncStr
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'static void mndSetVgroupOffline(SMnode *pMnode, int32_t dnodeId, int64_t
      curMs) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:470,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:480,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:474,1
    - Dst: mndGetStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:476,1
    - Dst: mnodeIsNotLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:479,1
    - Dst: mndDoTimerCheckTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:485,1
    - Dst: mndDoTimerPullupTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:487,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 491
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 491
    functionName: mndThreadFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mnodeIsNotLeader
    - mTrace
    - mndGetStop
    - mndDoTimerCheckTask
    - mndDoTimerPullupTask
    - taosMsleep
    - setThreadName
    linkageType: ''
    returnType: void*
    signature: 'static void *mndThreadFp(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:610,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 613
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 613
    functionName: mndCleanupSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - sdbCleanup
    linkageType: ''
    returnType: void
    signature: 'static void mndCleanupSdb(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:689,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:695,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:691,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:695,1
    - Dst: mndCleanupSteps
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:696,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:697,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:699,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:700,1
    - Dst: mndGetClusterId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:704,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 706
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 706
    functionName: mndExecSteps
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndGetClusterId
    - taosArrayGet
    - mndCleanupSteps
    - mError
    - tstrerror
    - TAOS_RETURN
    - tmsgReportStartup
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndExecSteps(SMnode *pMnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:721,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:723,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:726,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:733,1
    - Dst: taosParseTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:739,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:739,1
    - Dst: mndSetOptions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:746,1
    - Dst: mndCreateDir
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:757,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:769,1
    - Dst: mndClose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:770,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:729,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:753,1
    - Dst: mndClose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:761,1
    - Dst: mndInitSteps
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:766,1
    - Dst: mndClose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:779,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:751,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:741,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:749,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:742,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:760,1
    - Dst: mndExecSteps
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:775,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:778,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:784,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:726,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:731,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:734,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:743,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:741,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:753,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:760,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:769,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:778,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 63
    argCount: 2
    argNames:
    - path
    - pOption
    argTypes:
    - char*
    - SMnodeOpt*
    constantsTouched: []
    func_position:
      end: 786
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 786
    functionName: mndOpen
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosParseTime
    - taosMemoryCalloc
    - terrstr
    - mError
    - mndExecSteps
    - mndInitSteps
    - memset
    - tstrerror
    - strlen
    - mndCreateDir
    - mndClose
    - taosThreadRwlockInit
    - mndSetOptions
    - taosThreadRwlockDestroy
    - taosArrayInit
    linkageType: ''
    returnType: SMnode*
    signature: 'SMnode *mndOpen(const char *path, const SMnodeOpt *pOption) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1242
      start: 1242
    functionDepth: 0
    functionLinenumber: 1242
    functionLinenumberEnd: 1242
    functionName: mndGetStop
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool mndGetStop(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pMnode
    - msgType
    - fp
    argTypes:
    - SMnode*
    - tmsg_t
    - MndMsgFpExt
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: mndSetMsgHandleExt
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - TMSG_INDEX
    linkageType: ''
    returnType: void
    signature: 'void mndSetMsgHandleExt(SMnode *pMnode, tmsg_t msgType, MndMsgFpExt
      fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1213
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1213
    functionName: mndGetRoleTimeMs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncGetState
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetRoleTimeMs(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:183,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:189,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:188,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: mndStreamCheckpointTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - terrstr
    - mError
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: void
    signature: 'static void mndStreamCheckpointTimer(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:208,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:213,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:213,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: mndStreamCheckStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - terrstr
    - mError
    - mndBuildTimerMsg
    linkageType: ''
    returnType: void
    signature: 'static void mndStreamCheckStatus(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:231,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:238,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:238,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:233,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: mndPullupTelem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupTelem(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:496,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:501,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:502,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:497,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:499,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:502,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:503,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:506,1
    - Dst: tmsgReportStartup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:507,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: mndInitTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - mError
    - taosThreadAttrInit
    - taosThreadCreate
    - tstrerror
    - taosThreadAttrSetStackSize
    - TAOS_RETURN
    - tmsgReportStartup
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitTimer(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:621,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - pMnode
    - name
    - initFp
    - cleanupFp
    argTypes:
    - SMnode*
    - char*
    - MndInitFp
    - MndCleanupFp
    constantsTouched: []
    func_position:
      end: 625
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 625
    functionName: mndAllocStep
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAllocStep(SMnode *pMnode, char *name, MndInitFp
      initFp, MndCleanupFp cleanupFp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSyncStart
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:815,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:818,1
    - Dst: mndSetRestored
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:821,1
    - Dst: sdbDeploy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:817,1
    - Dst: grantReset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:823,1
    - Dst: mndInitTimer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 826
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 826
    functionName: mndStart
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - grantReset
    - mError
    - mndInitTimer
    - mndSetRestored
    - mndSyncStart
    - sdbDeploy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStart(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - outToken
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 843
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 843
    functionName: mndGetArbToken
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncGetArbToken
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetArbToken(SMnode *pMnode, char *outToken) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mGTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:856,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:856,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:860,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:860,1
    - Dst: syncProcessMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:858,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:861,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 865
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 865
    functionName: mndProcessSyncMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncProcessMsg
    - tstrerror
    - mGError
    - mGTrace
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessSyncMsg(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:196,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:200,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:201,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: mndStreamCheckNode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - terrstr
    - mError
    - mndBuildTimerMsg
    linkageType: ''
    returnType: void
    signature: 'static void mndStreamCheckNode(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:220,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:224,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:225,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 228
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 228
    functionName: mndStreamConsensusChkpt
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - terrstr
    - mError
    - mndBuildTimerMsg
    linkageType: ''
    returnType: void
    signature: 'static void mndStreamConsensusChkpt(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:244,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:255,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:246,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:254,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:255,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: mndPullupGrant
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupGrant(SMnode *pMnode) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mndPullupTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:404,1
    - Dst: mndStreamCheckpointTimer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:417,1
    - Dst: mndStreamConsensusChkpt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:429,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:453,1
    - Dst: mndIncreaseUpTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:442,1
    - Dst: mndPullupArbHeartbeat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:446,1
    - Dst: mndPullupS3MigrateDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:400,1
    - Dst: mndPullupCompacts
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:408,1
    - Dst: mndCalMqRebalance
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:412,1
    - Dst: mndStreamCheckStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:425,1
    - Dst: mndPullupTelem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:433,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:447,1
    - Dst: mndPullupTtl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:391,1
    - Dst: mndPullupTrimDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:395,1
    - Dst: mndStreamCheckNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:421,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:447,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:453,1
    - Dst: mndPullupArbCheckSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:452,1
    - Dst: mndPullupGrant
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:438,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 2
    argNames:
    - pMnode
    - sec
    argTypes:
    - SMnode*
    - int64_t
    constantsTouched: []
    func_position:
      end: 457
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 457
    functionName: mndDoTimerPullupTask
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndStreamCheckStatus
    - mndPullupTrans
    - mndPullupS3MigrateDb
    - mndPullupTelem
    - mndPullupCompacts
    - mndPullupTrimDb
    - mndStreamCheckpointTimer
    - mndStreamCheckNode
    - mndPullupArbHeartbeat
    - mError
    - mndCalMqRebalance
    - tstrerror
    - mndPullupTtl
    - mndStreamConsensusChkpt
    - mndPullupGrant
    - mndPullupArbCheckSync
    - mndIncreaseUpTime
    linkageType: ''
    returnType: void
    signature: 'void mndDoTimerPullupTask(SMnode *pMnode, int64_t sec) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:512,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:513,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: mndCleanupTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'static void mndCleanupTimer(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:628,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:633,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:634,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:639,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:640,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:641,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:644,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:645,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:648,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:659,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:662,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:662,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:651,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:651,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:654,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:654,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:658,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:629,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:631,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:634,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:635,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:637,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:639,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:641,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:642,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:645,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:646,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:657,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:657,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:661,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:661,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:650,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:650,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:630,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:629,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:631,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:637,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:636,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:635,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:642,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:643,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:646,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:648,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:653,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:653,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:656,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:656,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:660,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:660,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:663,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:649,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:628,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:630,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:632,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:633,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:636,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:638,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:640,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:643,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:644,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:647,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:649,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:647,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:652,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:663,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:652,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:658,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:655,1
    - Dst: mndAllocStep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:655,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 73
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 665
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 665
    functionName: mndInitSteps
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndAllocStep
    - TAOS_CHECK_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndInitSteps(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: syncIsCatchUp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 831
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 831
    functionName: mndIsCatchUp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncIsCatchUp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndIsCatchUp(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:846,1
    - Dst: mndSyncStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:847,1
    - Dst: mndCleanupTimer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: mndStop
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndSetStop
    - mndCleanupTimer
    - mndSyncStop
    linkageType: ''
    returnType: void
    signature: 'void mndStop(SMnode *pMnode) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:869,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:882,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:888,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:909,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:925,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:935,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:948,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:954,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:890,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:894,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:923,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:924,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:936,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:941,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:944,1
    - Dst: IsReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:869,1
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:878,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:874,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:900,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:906,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:912,1
    - Dst: mGDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:932,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:935,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:936,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:945,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:880,1
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:886,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:913,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:908,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:930,1
    - Dst: tSerializeSEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:947,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 101
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 955
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 955
    functionName: mndCheckMnodeState
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - IsReq
    - taosThreadRwlockRdlock
    - mndGetMnodeEpSet
    - rpcMallocCont
    - mTrace
    - mError
    - taosThreadRwlockUnlock
    - syncStr
    - mDebug
    - tstrerror
    - TAOS_RETURN
    - syncGetState
    - atomic_add_fetch_32
    - tSerializeSEpSet
    - mGDebug
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckMnodeState(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1217,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1219,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1220,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1224,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1222,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1225,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pMnode
    - restored
    argTypes:
    - SMnode*
    - bool
    constantsTouched: []
    func_position:
      end: 1231
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1231
    functionName: mndSetRestored
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMsleep
    - taosThreadRwlockUnlock
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void mndSetRestored(SMnode *pMnode, bool restored) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:145,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:150,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:147,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:151,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: mndPullupS3MigrateDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndBuildTimerMsg
    - mTrace
    - mError
    - terrstr
    - tmsgPutToQueue
    linkageType: ''
    returnType: void
    signature: 'static void mndPullupS3MigrateDb(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:164,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:166,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: mndPullupArbCheckSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - mTrace
    - mndBuildTimerMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPullupArbCheckSync(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncLeaderTransfer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:792,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:794,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:794,1
    - Dst: syncPreStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:796,1
    - Dst: sdbWriteFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:797,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:799,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:799,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 802
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 802
    functionName: mndPreClose
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - syncPreStop
    - sdbWriteFile
    - mError
    - tstrerror
    - syncLeaderTransfer
    linkageType: ''
    returnType: void
    signature: 'void mndPreClose(SMnode *pMnode) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:962,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:969,1
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:965,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:967,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:967,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:973,1
    - Dst: mndCheckMnodeState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:973,1
    - Dst: mGTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:975,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:975,1
    - Dst: mndReleaseRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:980,1
    - Dst: mGTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:985,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:991,1
    - Dst: TMSG_INFO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:992,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:995,1
    - Dst: mGError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:991,1
    - Dst: mGTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:983,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pMsg
    - pQueueInfo
    argTypes:
    - SRpcMsg*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 996
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 996
    functionName: mndProcessRpcMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndCheckMnodeState
    - tstrerror
    - TAOS_CHECK_RETURN
    - TMSG_INDEX
    - mGError
    - TAOS_RETURN
    - mndReleaseRpc
    - mGTrace
    - TMSG_INFO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessRpcMsg(SRpcMsg *pMsg, SQueueInfo *pQueueInfo) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1027,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1031,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1037,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1039,1
    - Dst: mndReleaseRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1043,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1046,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1054,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1061,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1066,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1068,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1130,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1120,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1147,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1195,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1035,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1037,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1038,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1039,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1040,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1055,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1086,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1094,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1097,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1122,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1138,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1174,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1178,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1175,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1101,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1029,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1038,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1040,1
    - Dst: mndGetNumOfConnections
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1052,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1056,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1070,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1075,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1081,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1097,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1100,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1165,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1169,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1174,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1176,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1157,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1163,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1180,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1150,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1050,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1053,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1067,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1072,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1073,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1090,1
    - Dst: mndGetClusterUpTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1092,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1094,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1103,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1124,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1135,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1165,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1178,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1183,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1110,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1148,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1122,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1167,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1166,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1181,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1172,1
    - Dst: mndReleaseRpc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1194,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1135,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1126,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 171
    argCount: 5
    argNames:
    - pMnode
    - pClusterInfo
    - pVgroupInfo
    - pStbInfo
    - pGrantInfo
    argTypes:
    - SMnode*
    - SMonClusterInfo*
    - SMonVgroupInfo*
    - SMonStbInfo*
    - SMonGrantInfo*
    constantsTouched: []
    func_position:
      end: 1196
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1196
    functionName: mndGetMonitorInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mndAcquireRpc
    - mndIsDnodeOnline
    - syncStr
    - mndGetNumOfConnections
    - mndGetClusterUpTime
    - sdbFetch
    - taosArrayInit
    - taosGetTimestampMs
    - tNameGetTableName
    - tNameGetDbName
    - taosArrayPush
    - mError
    - sdbGetSize
    - tstrncpy
    - mndReleaseRpc
    - tNameFromString
    - tstrerror
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetMonitorInfo(SMnode *pMnode, SMonClusterInfo *pClusterInfo,
      SMonVgroupInfo *pVgroupInfo, SMonStbInfo *pStbInfo, SMonGrantInfo *pGrantInfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:156,1
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:158,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:160,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: mndPullupArbHeartbeat
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - mTrace
    - mndBuildTimerMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPullupArbHeartbeat(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildTimerMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:173,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:176,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:177,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: mndCalMqRebalance
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - tmsgPutToQueue
    - terrstr
    - mError
    - mndBuildTimerMsg
    linkageType: ''
    returnType: void
    signature: 'static void mndCalMqRebalance(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:806,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:810,1
    - Dst: mndCleanupSteps
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:807,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:809,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 812
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 812
    functionName: mndClose
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFreeClear
    - mndCleanupSteps
    linkageType: ''
    returnType: void
    signature: 'void mndClose(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TMSG_INDEX
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pMnode
    - msgType
    - fp
    argTypes:
    - SMnode*
    - tmsg_t
    - MndMsgFp
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: mndSetMsgHandle
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - TMSG_INDEX
    linkageType: ''
    returnType: void
    signature: 'void mndSetMsgHandle(SMnode *pMnode, tmsg_t msgType, MndMsgFp fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1199,1
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1200,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1206,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - pLoad
    argTypes:
    - SMnode*
    - SMnodeLoad*
    constantsTouched: []
    func_position:
      end: 1208
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1208
    functionName: mndGetLoad
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndMain.c
    functionUses: []
    functionsReached:
    - mTrace
    - syncGetState
    - syncStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetLoad(SMnode *pMnode, SMnodeLoad *pLoad) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pDb
    argTypes:
    - SSdb*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: mndDbActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDbActionInsert(SSdb *pSdb, SDbObj *pDb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:394,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:404,1
    - Dst: mFatal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:404,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - pMnode
    - db
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 408
    functionName: mndAcquireDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - terrstr
    - sdbAcquire
    - mFatal
    linkageType: ''
    returnType: SDbObj*
    signature: 'SDbObj *mndAcquireDb(SMnode *pMnode, const char *db) '
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:482,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:484,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:517,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:496,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 145
    argCount: 2
    argNames:
    - pMnode
    - pCfg
    argTypes:
    - SMnode*
    - SDbCfg*
    constantsTouched: []
    func_position:
      end: 518
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 518
    functionName: mndCheckDbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndGetDnodeSize
    - taosArrayGetSize
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDbCfg(SMnode *pMnode, SDbCfg *pCfg) '
  - BBCount: 34
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 71
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SDbCfg*
    constantsTouched: []
    func_position:
      end: 637
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 637
    functionName: mndSetDefaultDbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mndSetDefaultDbCfg(SDbCfg *pCfg) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:691,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:698,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:697,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:695,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:697,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:698,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:701,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:705,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:707,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:707,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:708,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:715,1
    - Dst: mndArbGroupInitFromVgObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:715,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:708,1
    - Dst: mndSetCreateArbGroupUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:716,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:716,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:720,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 721
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 721
    functionName: mndSetCreateDbUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndTransAppendUndolog
    - mndArbGroupInitFromVgObj
    - sdbSetRawStatus
    - mndSetCreateArbGroupUndoLogs
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndDbActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbUndoLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1209,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 162
    argCount: 2
    argNames:
    - pDb
    - pAlter
    argTypes:
    - SDbObj*
    - SAlterDbReq*
    constantsTouched: []
    func_position:
      end: 1210
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1210
    functionName: mndSetDbCfgFromAlterDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDbCfgFromAlterDbReq(SDbObj *pDb, SAlterDbReq
      *pAlter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1306,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1318,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1300,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1309,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1310,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1311,1
    - Dst: mndSetAlterDbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1313,1
    - Dst: mndSetAlterDbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1315,1
    - Dst: mndSetAlterDbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1314,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1322,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1317,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1304,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1310,1
    - Dst: mndTransCheckConflictWithCompact
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1311,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1315,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1314,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pOld
    - pNew
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1324
      start: 1298
    functionDepth: 0
    functionLinenumber: 1298
    functionLinenumberEnd: 1324
    functionName: mndAlterDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndSetAlterDbCommitLogs
    - mndSetAlterDbRedoActions
    - mndSetAlterDbPrepareLogs
    - TAOS_RETURN
    - mndTransCheckConflict
    - mndTransDrop
    - mndTransCreate
    - mndTransCheckConflictWithCompact
    - mndTransSetDbName
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterDb(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pOld,
      SDbObj *pNew) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1836,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1851,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1860,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1854,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1849,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1861,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1865,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1868,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 3
    argNames:
    - pDb
    - pMnode
    - pVgList
    argTypes:
    - SDbObj*
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 1872
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1872
    functionName: mndBuildDBVgroupInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - mError
    - mndReleaseDnode
    - sdbFetch
    - taosArrayPush
    - sdbCancelFetch
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndBuildDBVgroupInfo(SDbObj *pDb, SMnode *pMnode, SArray *pVgList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:341,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pDb
    argTypes:
    - SSdb*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: mndDbActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosArrayDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDbActionDelete(SSdb *pSdb, SDbObj *pDb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 413
    functionName: mndReleaseDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseDb(SMnode *pMnode, SDbObj *pDb) '
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:573,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:598,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 132
    argCount: 3
    argNames:
    - pMnode
    - pOldCfg
    - pNewCfg
    argTypes:
    - SMnode*
    - SDbCfg*
    - SDbCfg*
    constantsTouched: []
    func_position:
      end: 599
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 599
    functionName: mndCheckInChangeDbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndGetDnodeSize
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckInChangeDbCfg(SMnode *pMnode, SDbCfg *pOldCfg,
      SDbCfg *pNewCfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:640,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:643,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:644,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 646
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 646
    functionName: mndSetCreateDbPrepareAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - mndDbActionEncode
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbPrepareAction(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:733,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:736,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:742,1
    - Dst: mndArbGroupInitFromVgObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:750,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:760,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:743,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:751,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:762,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:730,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:732,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:756,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:762,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:763,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:766,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:732,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:733,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:743,1
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:726,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:740,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:742,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:750,1
    - Dst: mndSetCreateArbGroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:751,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:763,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    - pUserDuped
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 767
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 767
    functionName: mndSetCreateDbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - mndArbGroupInitFromVgObj
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndUserActionEncode
    - mndDbActionEncode
    - mndSetCreateArbGroupCommitLogs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups, SUserObj *pUserDuped) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1214,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1222,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1218,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1221,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1220,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1225,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1226,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1227,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pOld
    - pNew
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1230
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1230
    functionName: mndSetAlterDbPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_RETURN
    - sdbFreeRaw
    - mndDbActionEncode
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterDbPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pOld, SDbObj *pNew) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1337,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1360,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1375,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1397,1
    - Dst: tFreeSAlterDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1399,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1333,1
    - Dst: tDeserializeSAlterDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1333,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1351,1
    - Dst: mndGetNumOfTopics
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1351,1
    - Dst: mndSetDbCfgFromAlterDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1366,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1380,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1387,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1389,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1398,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1335,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1344,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1344,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1347,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1347,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1362,1
    - Dst: mndAlterDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1376,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1401,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1355,1
    - Dst: mndCheckInChangeDbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1372,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1372,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1386,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1394,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1394,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1402
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1402
    functionName: mndProcessAlterDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAlterDb
    - taosGetTimestampMs
    - mndReleaseDb
    - taosArrayDestroy
    - mndGetNumOfTopics
    - tDeserializeSAlterDbReq
    - memcpy
    - mndCheckInChangeDbCfg
    - TAOS_CHECK_GOTO
    - mndAcquireDb
    - mError
    - mndSetDbCfgFromAlterDbReq
    - grantCheck
    - auditRecord
    - mInfo
    - mndCheckDbPrivilege
    - tFreeSAlterDbReq
    - tNameFromString
    - tstrerror
    - taosArrayDup
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterDbReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1876,1
    - Dst: mndBuildDBVgroupInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1886,1
    - Dst: mndGetDBTableNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1882,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1889,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1879,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1893,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1897,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pMnode
    - pDb
    - pRsp
    - pReq
    argTypes:
    - SMnode*
    - SDbObj*
    - SUseDbRsp*
    - SUseDbReq*
    constantsTouched: []
    func_position:
      end: 1898
      start: 1874
    functionDepth: 0
    functionLinenumber: 1874
    functionLinenumberEnd: 1898
    functionName: mndExtractDbInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - TAOS_RETURN
    - mndBuildDBVgroupInfo
    - memcpy
    - mndGetDBTableNum
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndExtractDbInfo(SMnode *pMnode, SDbObj *pDb, SUseDbRsp *pRsp,
      const SUseDbReq *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2247,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2251,1
    - Dst: tDeserializeSS3MigrateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2247,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2249,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2258,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2258,1
    - Dst: mndS3MigrateDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2260,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2264,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2264,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2268,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2269
      start: 2241
    functionDepth: 0
    functionLinenumber: 2241
    functionLinenumberEnd: 2269
    functionName: mndProcessS3MigrateDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndCheckDbPrivilege
    - mndS3MigrateDb
    - mndReleaseDb
    - mndAcquireDb
    - mError
    - terrstr
    - tDeserializeSS3MigrateDbReq
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessS3MigrateDbReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2311,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2321,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2316,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2322,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2317,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2323,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2326,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2327,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2329,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2330,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2336,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2339,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2340,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2343,1
    - Dst: getValOfDiffPrecision
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2338,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2335,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 1
    argNames:
    - pRetension
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 2345
      start: 2310
    functionDepth: 0
    functionLinenumber: 2310
    functionLinenumberEnd: 2345
    functionName: buildRetension
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - getValOfDiffPrecision
    - taosArrayGet
    - taosMemoryCalloc
    - varDataSetLen
    - taosArrayGetSize
    - tsnprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *buildRetension(SArray *pRetension) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 2724
      start: 2721
    functionDepth: 0
    functionLinenumber: 2721
    functionLinenumberEnd: 2724
    functionName: mndCancelGetNextDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextDb(SMnode *pMnode, void *pIter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2202,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2208,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2215,1
    - Dst: tSerializeSVS3MigrateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2203,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2213,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2216,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2219,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2220,1
    - Dst: tSerializeSVS3MigrateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2222,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2223,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2231,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2235,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2233,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2229,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2228,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - pMnode
    - pDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 2239
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2239
    functionName: mndS3MigrateDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - tSerializeSVS3MigrateDbReq
    - tmsgSendReq
    - mndGetVgroupEpset
    - mError
    - taosGetTimestampSec
    - sdbCancelFetch
    - sdbFetch
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndS3MigrateDb(SMnode *pMnode, SDbObj *pDb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - encryptAlgorithm
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 2373
      start: 2363
    functionDepth: 0
    functionLinenumber: 2363
    functionLinenumberEnd: 2373
    functionName: getEncryptAlgorithmStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *getEncryptAlgorithmStr(int8_t encryptAlgorithm) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:184,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:191,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:199,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:200,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:201,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:204,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:212,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:208,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:216,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:218,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:253,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:263,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:235,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:241,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:250,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:259,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:233,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:247,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:256,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:257,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:236,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:213,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:209,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:219,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:223,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:228,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:242,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:246,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:251,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:252,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:255,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:279,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:222,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:261,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:275,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:243,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:194,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:202,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:203,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:210,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:214,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:220,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:224,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:226,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:232,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:234,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:249,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:291,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:291,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:296,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:254,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:260,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:292,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:198,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:205,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:211,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:206,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:207,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:215,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:217,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:221,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:225,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:244,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:245,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:258,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:264,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:269,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:284,1
    - Dst: SDB_GET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:248,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 101
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 298
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 298
    functionName: mndDbActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mInfo
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_INT16
    - taosArrayPush
    - SDB_GET_RESERVE
    - taosInitRWLatch
    - taosMemoryFreeClear
    - sdbGetRowObj
    - taosArrayInit
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndDbActionDecode(SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:347,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:348,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 385
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 385
    functionName: mndDbActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosWLockLatch
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDbActionUpdate(SSdb *pSdb, SDbObj *pOld, SDbObj
      *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1405,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - cfgRsp
    - pDb
    argTypes:
    - SDbCfgRsp*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1449
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1449
    functionName: mndDumpDbCfgInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosArrayDup
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mndDumpDbCfgInfo(SDbCfgRsp *cfgRsp, SDbObj *pDb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1505,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1511,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1512,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1511,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1512,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1519,1
    - Dst: mndSetDropArbGroupPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1523,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1524,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1525,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1526,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1533,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1534
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1534
    functionName: mndSetDropDbPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndSetDropArbGroupPrepareLogs
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - mndDbActionEncode
    - mndTransAppendPrepareLog
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropDbPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1631,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1631,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1634,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 1635
      start: 1627
    functionDepth: 0
    functionLinenumber: 1627
    functionLinenumberEnd: 1635
    functionName: mndBuildDropVgroupAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAddDropVnodeAction
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildDropVgroupAction(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1907,1
    - Dst: tDeserializeSUseDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1907,1
    - Dst: mndBuildDBVgroupInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1917,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1922,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1946,1
    - Dst: tFreeSUsedbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1969,1
    - Dst: strchr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1909,1
    - Dst: mndGetGlobalVgroupVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1912,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1936,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1936,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1965,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1910,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1910,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1914,1
    - Dst: mndExtractDbInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1938,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1938,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1947,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1971,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1911,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1925,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1940,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1927,1
    - Dst: tSerializeSUseDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1955,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1968,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1972
      start: 1900
    functionDepth: 0
    functionLinenumber: 1900
    functionLinenumberEnd: 1972
    functionName: mndProcessUseDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - tSerializeSUseDbRsp
    - mDebug
    - mndExtractDbInfo
    - taosArrayGetSize
    - taosArrayInit
    - mndReleaseDb
    - memcpy
    - TAOS_CHECK_GOTO
    - tDeserializeSUseDbReq
    - mndAcquireDb
    - mError
    - mndGetGlobalVgroupVersion
    - rpcMallocCont
    - mndCheckDbPrivilege
    - strchr
    - strcmp
    - tstrerror
    - tFreeSUsedbRsp
    - TAOS_RETURN
    - mndBuildDBVgroupInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessUseDbReq(SRpcMsg *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - unit
    - val
    argTypes:
    - int8_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 2308
      start: 2285
    functionDepth: 0
    functionLinenumber: 2285
    functionLinenumberEnd: 2308
    functionName: getValOfDiffPrecision
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t getValOfDiffPrecision(int8_t unit, int64_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 4
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 2668
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2668
    functionName: mndGetTablesOfDbFp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool mndGetTablesOfDbFp(SMnode *pMnode, void *pObj, void *p1,
      void *p2, void *p3) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:306,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:322,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:319,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:312,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:321,1
    - Dst: mndDbActionDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:330,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:331,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 26
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pRaw
    argTypes:
    - SMnode*
    - STrans*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 333
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 333
    functionName: mndNewDbActionValidate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndDbActionDecode
    - mError
    - sdbAcquire
    - taosMemoryFreeClear
    - sdbGetRowObj
    - mndDbActionDelete
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndNewDbActionValidate(SMnode *pMnode, STrans *pTrans,
      SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetTableVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 390
    functionName: mndGetGlobalVgroupVersion
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbGetTableVer
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t mndGetGlobalVgroupVersion(SMnode *pMnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1458,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1460,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1461,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1460,1
    - Dst: tDeserializeSDbCfgReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1458,1
    - Dst: mndDumpDbCfgInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1468,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1471,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1472,1
    - Dst: tSerializeSDbCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1480,1
    - Dst: tFreeSDbCfgRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1492,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1500,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1495,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1495,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1498,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1501
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1501
    functionName: mndProcessGetDbCfgReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - rpcMallocCont
    - mndReleaseDb
    - mndAcquireDb
    - mError
    - tFreeSDbCfgRsp
    - terrstr
    - TAOS_RETURN
    - strcasecmp
    - mndDumpDbCfgInfo
    - tDeserializeSDbCfgReq
    - tSerializeSDbCfgRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetDbCfgReq(SRpcMsg *pReq) '
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1538,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1582,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1568,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1583,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1585,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1603,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1604,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1614,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1615,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1616,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1545,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1545,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1552,1
    - Dst: mndSetDropArbGroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1556,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1557,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1558,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1559,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1581,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1578,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1563,1
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1601,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1544,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1572,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1592,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1609,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1621,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1610,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1544,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1574,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1580,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1575,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1586,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1587,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1588,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1611,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1624,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1597,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 83
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1625
      start: 1536
    functionDepth: 0
    functionLinenumber: 1536
    functionLinenumberEnd: 1625
    functionName: mndSetDropDbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - mndStbActionEncode
    - mndDbActionEncode
    - mndSetDropArbGroupCommitLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropDbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1644,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1649,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1650,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1651,1
    - Dst: mndBuildDropVgroupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1648,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1655,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1659
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1659
    functionName: mndSetDropDbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndBuildDropVgroupAction
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropDbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1977,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1980,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2010,1
    - Dst: mndBuildDBVgroupInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2007,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2043,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2059,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2066,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2081,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2082,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2096,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2075,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2111,1
    - Dst: mndBuildDBVgroupInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2091,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1986,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1987,1
    - Dst: be64toh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1989,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1993,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2020,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1997,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2004,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2024,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2027,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2058,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2102,1
    - Dst: tSerializeSDbHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2110,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2092,1
    - Dst: be64toh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1985,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1996,1
    - Dst: mndGetGlobalVgroupVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1998,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2005,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2039,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2053,1
    - Dst: mndDumpDbCfgInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2054,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2084,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2070,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2085,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2086,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2124,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2103,1
    - Dst: tFreeSDbHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2123,1
    - Dst: tFreeSDbHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2114,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1988,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1990,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2012,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2003,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2022,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2023,1
    - Dst: mndGetDBTableNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2034,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2046,1
    - Dst: mndGetDbTsmas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2062,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2064,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2087,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2068,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2071,1
    - Dst: tSerializeSDbHbBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2118,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 147
    argCount: 5
    argNames:
    - pMnode
    - pDbs
    - numOfDbs
    - ppRsp
    - pRspLen
    argTypes:
    - SMnode*
    - SDbCacheInfo*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2125
      start: 1974
    functionDepth: 0
    functionLinenumber: 1974
    functionLinenumberEnd: 2125
    functionName: mndValidateDbInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mndBuildDBVgroupInfo
    - mDebug
    - mndGetDBTableNum
    - taosArrayGetSize
    - mndGetDbTsmas
    - taosArrayInit
    - mndReleaseDb
    - taosMemoryMalloc
    - taosArrayDestroyP
    - tFreeSDbHbBatchRsp
    - taosArrayPush
    - strcasecmp
    - memcpy
    - htonl
    - mndAcquireDb
    - mError
    - tSerializeSDbHbBatchRsp
    - mndGetGlobalVgroupVersion
    - taosMemoryFreeClear
    - mWarn
    - mTrace
    - TAOS_RETURN
    - mndDumpDbCfgInfo
    - be64toh
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndValidateDbInfo(SMnode *pMnode, SDbCacheInfo *pDbs, int32_t
      numOfDbs, void **ppRsp, int32_t *pRspLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2643,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2643,1
    - Dst: mndGetClusterCreateTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - pDbObj
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 2649
      start: 2642
    functionDepth: 0
    functionLinenumber: 2642
    functionLinenumberEnd: 2649
    functionName: setInformationSchemaDbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndGetClusterCreateTime
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void setInformationSchemaDbCfg(SMnode *pMnode, SDbObj *pDbObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2678,1
    - Dst: setPerfSchemaDbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2693,1
    - Dst: mndDumpDbInfoData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2688,1
    - Dst: setInformationSchemaDbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2685,1
    - Dst: getVisibleInfosTablesNum
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2687,1
    - Dst: getPerfDbMeta
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2695,1
    - Dst: mndDumpDbInfoData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2696,1
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2703,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2706,1
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2708,1
    - Dst: mndDumpDbInfoData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2709,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2717,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2713,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rowsCapacity
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2719
      start: 2670
    functionDepth: 0
    functionLinenumber: 2670
    functionLinenumberEnd: 2719
    functionName: mndRetrieveDbs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndCheckDbPrivilege
    - sdbTraverse
    - mndAcquireUser
    - setInformationSchemaDbCfg
    - setPerfSchemaDbCfg
    - getVisibleInfosTablesNum
    - mndDumpDbInfoData
    - getPerfDbMeta
    - sdbFetchAll
    - sdbRelease
    - mndReleaseUser
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveDbs(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rowsCapacity) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: mndProcessCompactDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessCompactDbReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:805,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:802,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:863,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:863,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:879,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:879,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:886,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:907,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:910,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:912,1
    - Dst: mndSetCreateDbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:908,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:913,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:908,1
    - Dst: mndSetCreateDbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:911,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:801,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:809,1
    - Dst: mndCheckDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:857,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:872,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:873,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:869,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:887,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:887,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:903,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:904,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:918,1
    - Dst: mndSetCreateDbUndoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:912,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:913,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:859,1
    - Dst: mndAllocVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:878,1
    - Dst: mndCheckDbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:862,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:887,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:889,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:894,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:901,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:904,1
    - Dst: mndTransSetOper
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:906,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:911,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:917,1
    - Dst: mndSetCreateDbPrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:907,1
    - Dst: mndSetCreateDbUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:910,1
    - Dst: mndSetNewVgPrepareActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:909,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:803,1
    - Dst: mndSetDefaultDbCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:855,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:858,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:858,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:868,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:864,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:880,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:886,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:889,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:889,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:909,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:919,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:916,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 93
    argCount: 5
    argNames:
    - pMnode
    - pReq
    - pCreate
    - pUser
    - dnodeList
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCreateDbReq*
    - SUserObj*
    - SArray*
    constantsTouched: []
    func_position:
      end: 920
      start: 797
    functionDepth: 0
    functionLinenumber: 797
    functionLinenumberEnd: 920
    functionName: mndCreateDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndCheckDbCfg
    - terrstr
    - mndCheckDbName
    - mndAllocVgroup
    - mndSetCreateDbCommitLogs
    - mndSetCreateDbUndoActions
    - taosGetTimestampMs
    - mndSetCreateDbUndoLogs
    - mndTransCreate
    - taosHashPut
    - memcpy
    - TAOS_CHECK_GOTO
    - mndUserFreeObj
    - mndUserDupObj
    - mError
    - mndTransDrop
    - mndTransSetDbName
    - mndSetCreateDbPrepareAction
    - mndSetCreateDbRedoActions
    - mndTransPrepare
    - mndGenerateUid
    - mInfo
    - mndTransSetOper
    - mndSetDefaultDbCfg
    - mndSetNewVgPrepareActions
    - strlen
    - TAOS_RETURN
    - mndTransCheckConflict
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDb(SMnode *pMnode, SRpcMsg *pReq, SCreateDbReq
      *pCreate, SUserObj *pUser, SArray *dnodeList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1234,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1240,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1242,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1241,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1238,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1245,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1246,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1247,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1249,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pOld
    - pNew
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1250
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1250
    functionName: mndSetAlterDbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_RETURN
    - sdbFreeRaw
    - mndDbActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterDbCommitLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pOld, SDbObj *pNew) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1740,1
    - Dst: tDeserializeSDropDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1740,1
    - Dst: mndBuildDropDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1749,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1761,1
    - Dst: tFreeSDropDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1802,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1742,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1754,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1754,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1773,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1791,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1794,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1798,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1798,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1778,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1777,1
    - Dst: mndDropDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1785,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1803,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1744,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1801,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1782,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1792,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1804
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1804
    functionName: mndProcessDropDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndCheckDbPrivilege
    - tFreeSDropDbReq
    - mndReleaseDb
    - mndDropDb
    - mndAcquireDb
    - mError
    - terrstr
    - tNameFromString
    - mndBuildDropDbRsp
    - sdbFetch
    - tDeserializeSDropDbReq
    - sdbCancelFetch
    - TAOS_RETURN
    - auditRecord
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropDbReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2132,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2140,1
    - Dst: tSerializeSVTrimDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2133,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2142,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2137,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2143,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2146,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2147,1
    - Dst: tSerializeSVTrimDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2149,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2150,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2156,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2162,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2160,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2155,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2158,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 2
    argNames:
    - pMnode
    - pDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 2166
      start: 2127
    functionDepth: 0
    functionLinenumber: 2127
    functionLinenumberEnd: 2166
    functionName: mndTrimDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - tmsgSendReq
    - mndGetVgroupEpset
    - mError
    - taosGetTimestampSec
    - sdbFetch
    - sdbCancelFetch
    - tSerializeSVTrimDbReq
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTrimDb(SMnode *pMnode, SDbObj *pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2276
      start: 2271
    functionDepth: 0
    functionLinenumber: 2271
    functionLinenumberEnd: 2276
    functionName: mndGetDbStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - strstr
    linkageType: ''
    returnType: char*
    signature: 'const char *mndGetDbStr(const char *src) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:930,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:939,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:938,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:930,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:933,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:942,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:944,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:948,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:949,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:952,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:961,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 29
    argCount: 2
    argNames:
    - pMnode
    - pReq
    argTypes:
    - SMnode*
    - SCreateDbReq*
    constantsTouched: []
    func_position:
      end: 962
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 962
    functionName: mndCheckDbEncryptKey
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosGetTimestampMs
    - mndIsDnodeOnline
    - mError
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - grantCheck
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDbEncryptKey(SMnode *pMnode, SCreateDbReq *pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mndGetDnodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:984,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:996,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1019,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1024,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1031,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1044,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1044,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1050,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:984,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:987,1
    - Dst: tDeserializeSCreateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:987,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:989,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1021,1
    - Dst: mndCheckDbDnodeList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1029,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1021,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1037,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1048,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1052,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:985,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:994,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:999,1
    - Dst: mndCheckDbEncryptKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1027,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1027,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1031,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1033,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1047,1
    - Dst: tFreeSCreateDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1049,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1019,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1029,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1024,1
    - Dst: mndCreateDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1033,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1038,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1040,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1053
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 1053
    functionName: mndProcessCreateDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - tDeserializeSCreateDbReq
    - TSDB_CHECK_NULL
    - mndCheckDbDnodeList
    - taosArrayGetSize
    - taosArrayInit
    - mndReleaseUser
    - tFreeSCreateDbReq
    - mndAcquireUser
    - mndReleaseDb
    - mndCheckDbEncryptKey
    - taosArrayDestroy
    - TAOS_CHECK_GOTO
    - mndAcquireDb
    - mError
    - grantCheck
    - auditRecord
    - mInfo
    - mndCheckDbPrivilege
    - tNameFromString
    - mndGetDnodeSize
    - tstrerror
    - mndCreateDb
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateDbReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1259,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1274,1
    - Dst: mndSetCreateArbGroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1274,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1286,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1293,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1294,1
    - Dst: mndBuildDnodesArray
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1257,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1265,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1273,1
    - Dst: mndSetDropArbGroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1278,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1283,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1278,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1287,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1290,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1290,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1292,1
    - Dst: mndArbGroupInitFromVgObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1273,1
    - Dst: mndArbGroupInitFromVgObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1277,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1277,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1267,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1262,1
    - Dst: mndBuildAlterVgroupAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1295,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pOldDb
    - pNewDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1296
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1296
    functionName: mndSetAlterDbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - sdbRelease
    - taosArrayDestroy
    - mndArbGroupInitFromVgObj
    - mError
    - tstrerror
    - TSDB_CHECK_NULL
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndBuildDnodesArray
    - sdbCancelFetch
    - mndBuildAlterVgroupAction
    - mndSetDropArbGroupCommitLogs
    - mndSetCreateArbGroupCommitLogs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetAlterDbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pOldDb, SDbObj *pNewDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1814,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1817,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1822,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1825,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - pDb
    - pMnode
    argTypes:
    - SDbObj*
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1827
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1827
    functionName: mndGetDBTableNum
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - mndVgroupInDb
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetDBTableNum(SDbObj *pDb, SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2174,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2185,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2178,1
    - Dst: tDeserializeSTrimDbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2174,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2176,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2185,1
    - Dst: mndTrimDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2187,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2191,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2191,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2194,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2196
      start: 2168
    functionDepth: 0
    functionLinenumber: 2168
    functionLinenumberEnd: 2196
    functionName: mndProcessTrimDbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndCheckDbPrivilege
    - mndReleaseDb
    - mndAcquireDb
    - mndTrimDb
    - mError
    - terrstr
    - TAOS_RETURN
    - tDeserializeSTrimDbReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessTrimDbReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2279,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 2283
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2283
    functionName: mndGetStableStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - strstr
    - mndGetDbStr
    linkageType: ''
    returnType: char*
    signature: 'const char *mndGetStableStr(const char *src) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2652,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2652,1
    - Dst: mndGetClusterCreateTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2653,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pMnode
    - pDbObj
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 2658
      start: 2651
    functionDepth: 0
    functionLinenumber: 2651
    functionLinenumberEnd: 2658
    functionName: setPerfSchemaDbCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndGetClusterCreateTime
    - tListLen
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void setPerfSchemaDbCfg(SMnode *pMnode, SDbObj *pDbObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 90
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 90
    functionName: mndCleanupDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupDb(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:416,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:420,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - db
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: mndDbIsExist
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - mndReleaseDb
    linkageType: ''
    returnType: bool
    signature: 'bool mndDbIsExist(SMnode *pMnode, const char *db) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAddNewVgPrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:650,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 653
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 653
    functionName: mndSetNewVgPrepareActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAddNewVgPrepareAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetNewVgPrepareActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:776,1
    - Dst: mndAddCreateVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:776,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:780,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 781
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 781
    functionName: mndSetCreateDbRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndAddCreateVnodeAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbRedoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pMnode
    - db
    - dnodeListStr
    - dnodeList
    argTypes:
    - SMnode*
    - char*
    - char*
    - SArray*
    constantsTouched: []
    func_position:
      end: 972
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 972
    functionName: mndCheckDbDnodeList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndCheckDbDnodeList(SMnode *pMnode, char *db, char *dnodeListStr,
      SArray *dnodeList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1665,1
    - Dst: tSerializeSDropDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1669,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1674,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1672,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1679,1
    - Dst: tSerializeSDropDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1683,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1686,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pDb
    - pRspLen
    - ppRsp
    - useRpcMalloc
    argTypes:
    - SDbObj*
    - int32_t*
    - void**
    - bool
    constantsTouched: []
    func_position:
      end: 1687
      start: 1661
    functionDepth: 0
    functionLinenumber: 1661
    functionLinenumberEnd: 1687
    functionName: mndBuildDropDbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - tSerializeSDropDbRsp
    - TAOS_RETURN
    - memcpy
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildDropDbRsp(SDbObj *pDb, int32_t *pRspLen, void
      **ppRsp, bool useRpcMalloc) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2383,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - pMnode
    - pDb
    argTypes:
    - SMnode*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 2400
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2400
    functionName: mndIsDbReady
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: bool
    signature: 'bool mndIsDbReady(SMnode *pMnode, SDbObj *pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:103,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:116,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:112,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:122,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:126,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:135,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:136,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:138,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:144,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:149,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:129,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:143,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:152,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:161,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:157,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:141,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:158,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:153,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:168,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:98,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:104,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:105,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:106,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:107,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:108,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:109,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:111,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:119,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:115,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:150,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:146,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:125,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:151,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:110,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:114,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:118,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:120,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:124,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:128,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:130,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:133,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:140,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:142,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:154,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:167,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:172,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:167,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:102,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:113,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:117,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:121,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:123,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:127,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:132,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:134,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:139,1
    - Dst: SDB_SET_INT16
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:145,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:147,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:155,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:160,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:148,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:156,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 73
    argCount: 1
    argNames:
    - pDb
    argTypes:
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 174
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 174
    functionName: mndDbActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - taosArrayGet
    - SDB_SET_INT32
    - terrstr
    - mError
    - sdbFreeRaw
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - SDB_SET_INT16
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndDbActionEncode(SDbObj *pDb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:74,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:77,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:78,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:76,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:75,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:79,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:80,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:81,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:82,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:84,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:87,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 88
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 88
    functionName: mndInitDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitDb(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:427,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - dbName
    - pUser
    argTypes:
    - char*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: mndCheckDbName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - strstr
    - taosStr2int32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckDbName(const char *dbName, SUserObj *pUser) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:657,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:663,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:663,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:661,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:664,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:664,1
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:667,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:671,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:673,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:673,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:674,1
    - Dst: mndArbGroupInitFromVgObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:681,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:682,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:686,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:681,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:674,1
    - Dst: mndSetCreateArbGroupRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:682,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 687
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 687
    functionName: mndSetCreateDbRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndArbGroupInitFromVgObj
    - mndSetCreateArbGroupRedoLogs
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndDbActionEncode
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbRedoLogs(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:790,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:794,1
    - Dst: mndAddDropVnodeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:790,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroups
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 795
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 795
    functionName: mndSetCreateDbUndoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndAddDropVnodeAction
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateDbUndoActions(SMnode *pMnode, STrans *pTrans,
      SDbObj *pDb, SVgObj *pVgroups) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1702,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1709,1
    - Dst: mndDropStreamByDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1711,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1715,1
    - Dst: mndStreamSetStopStreamTasksActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1717,1
    - Dst: mndSetDropDbRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1718,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1723,1
    - Dst: mndBuildDropDbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1723,1
    - Dst: mndTransSetRpcRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1724,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1726,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1701,1
    - Dst: mndSetDropDbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1710,1
    - Dst: mndDropIdxsByDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1716,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1713,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1717,1
    - Dst: mndTopicExistsForDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1704,1
    - Dst: mndSetDropDbPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1709,1
    - Dst: mndDropSmasByDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1715,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1711,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1718,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1719,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1726,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1730,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1692,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1702,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1699,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1710,1
    - Dst: mndDropViewByDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1713,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1716,1
    - Dst: mndUserRemoveDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1719,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:1731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pDb
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1732
      start: 1689
    functionDepth: 0
    functionLinenumber: 1689
    functionLinenumberEnd: 1732
    functionName: mndDropDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - mndUserRemoveDb
    - mndTopicExistsForDb
    - mndSetDropDbRedoActions
    - mndDropIdxsByDb
    - mndBuildDropDbRsp
    - mndTransCreate
    - TAOS_CHECK_GOTO
    - mndDropSmasByDb
    - mndDropStreamByDb
    - mndTransDrop
    - mndTransSetDbName
    - mndTransPrepare
    - mndSetDropDbPrepareLogs
    - mInfo
    - mndDropViewByDb
    - mndSetDropDbCommitLogs
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndStreamSetStopStreamTasksActions
    - mndTransSetRpcRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropDb(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2482,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2489,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2498,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2534,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2519,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2505,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2545,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2548,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2552,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2620,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2454,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2462,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2471,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2480,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2515,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2521,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2537,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2558,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2573,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2588,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2634,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2518,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2540,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2551,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2560,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2578,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2593,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2594,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2601,1
    - Dst: getEncryptAlgorithmStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2611,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2625,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2619,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2531,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2516,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2477,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2488,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2470,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2473,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2497,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2576,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2591,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2627,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2536,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2570,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2581,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2585,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2617,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2628,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2625,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2460,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2534,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2489,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2498,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2539,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2547,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2567,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2575,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2590,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2609,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2466,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2474,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2506,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2512,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2537,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2573,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2588,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2615,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2533,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2514,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2416,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2437,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2462,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2464,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2471,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2525,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2540,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2623,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2608,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2464,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2456,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2477,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2531,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2530,1
    - Dst: getCacheModelStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2554,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2564,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2572,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2587,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2606,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2620,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2496,1
    - Dst: mndIsDbReady
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2445,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2450,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2479,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2483,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2528,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2569,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2570,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2585,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2603,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2631,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2634,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2632,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2476,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2493,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2522,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2567,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2597,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2600,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2609,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2613,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2617,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2626,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2527,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2519,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2414,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2552,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2556,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2561,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2615,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2624,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2633,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2624,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2480,1
    - Dst: formatDurationOrKeep
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2507,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2510,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2525,1
    - Dst: buildRetension
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2542,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2543,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2561,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2566,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2583,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2406,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2564,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2594,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2606,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2638,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2639,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2631,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2516,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2418,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2456,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2483,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2524,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2558,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2576,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2591,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2603,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2602,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2487,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2522,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2557,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2563,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2596,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2597,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2628,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2618,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c:2614,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 271
    argCount: 9
    argNames:
    - pMnode
    - pBlock
    - pDb
    - pShow
    - rows
    - numOfTables
    - sysDb
    - objStatus
    - sysinfo
    argTypes:
    - SMnode*
    - SSDataBlock*
    - SDbObj*
    - SShowObj*
    - int32_t
    - int64_t
    - bool
    - ESdbStatus
    - bool
    constantsTouched: []
    func_position:
      end: 2640
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2640
    functionName: mndDumpDbInfoData
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - TAOS_UNUSED
    - colDataSetVal
    - formatDurationOrKeep
    - getCacheModelStr
    - varDataSetLen
    - tsnprintf
    - buildRetension
    - taosMemoryMalloc
    - colDataSetNULL
    - STR_WITH_MAXSIZE_TO_VARSTR
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - getEncryptAlgorithmStr
    - mError
    - snprintf
    - mndGetDbStr
    - mndIsDbReady
    - tstrerror
    - strlen
    linkageType: ''
    returnType: void
    signature: 'static void mndDumpDbInfoData(SMnode *pMnode, SSDataBlock *pBlock,
      SDbObj *pDb, SShowObj *pShow, int32_t rows, int64_t numOfTables, bool sysDb,
      ESdbStatus objStatus, bool sysinfo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - cacheModel
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 2361
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2361
    functionName: getCacheModelStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndDb.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static const char *getCacheModelStr(int8_t cacheModel) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:351,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:354,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:366,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:371,1
    - Dst: isRangeInWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:375,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:388,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:406,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:420,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:437,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:430,1
    - Dst: taosGetIpv4FromFqdn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:348,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:353,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:387,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:379,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:387,1
    - Dst: isRangeInWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:397,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:399,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:399,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:408,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:419,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:419,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:370,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:377,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:389,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:402,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:421,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:439,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:350,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:350,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:354,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:362,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:364,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:369,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:369,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:391,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:400,1
    - Dst: isIpRangeEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:412,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 106
    argCount: 5
    argNames:
    - pIpWhiteTab
    - user
    - fqdn
    - type
    - pUpdate
    argTypes:
    - SHashObj*
    - char*
    - char*
    - int8_t
    - bool*
    constantsTouched: []
    func_position:
      end: 440
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 440
    functionName: mndUpdateIpWhiteImpl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - isIpRangeEqual
    - taosMemoryCalloc
    - mError
    - taosGetIpv4FromFqdn
    - taosHashGet
    - mDebug
    - tstrerror
    - strlen
    - taosHashPut
    - TAOS_RETURN
    - taosHashRemove
    - memcpy
    - isRangeInWhiteList
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUpdateIpWhiteImpl(SHashObj *pIpWhiteTab, char *user, char
      *fqdn, int8_t type, bool *pUpdate) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:466,1
    - Dst: mndUpdateIpWhiteImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:470,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:477,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:479,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:491,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:498,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:481,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:487,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:502,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:489,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:496,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:475,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:486,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:464,1
    - Dst: ipWhiteMgtUpdateAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:464,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:465,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:470,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:472,1
    - Dst: mndUpdateIpWhiteImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:483,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - pMnode
    - user
    - fqdn
    - type
    - lock
    argTypes:
    - SMnode*
    - char*
    - char*
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 503
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 503
    functionName: mndUpdateIpWhiteForAllUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosGetTimestampMs
    - mInfo
    - taosMemoryFree
    - ipWhiteMgtUpdateAll
    - taosMemoryCalloc
    - mError
    - taosThreadRwlockUnlock
    - taosHashIterate
    - tstrerror
    - mndUpdateIpWhiteImpl
    - taosHashGetKey
    - TAOS_RETURN
    - memcpy
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUpdateIpWhiteForAllUser(SMnode *pMnode, char *user, char
      *fqdn, int8_t type, int8_t lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_inet_ntop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:693,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:695,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:695,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - range
    - buf
    argTypes:
    - SIpV4Range*
    - char*
    constantsTouched: []
    func_position:
      end: 699
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 699
    functionName: ipRangeToStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - strlen
    - uv_inet_ntop
    - tsnprintf
    linkageType: ''
    returnType: void
    signature: 'static void ipRangeToStr(SIpV4Range *range, char *buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ipRangeToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:710,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:711,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - range
    - num
    - buf
    - bufLen
    argTypes:
    - SIpV4Range*
    - int32_t
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 715
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 715
    functionName: ipRangeListToStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - tsnprintf
    - ipRangeToStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ipRangeListToStr(SIpV4Range *range, int32_t num, char
      *buf, int64_t bufLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIpRangeEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pList
    - tgt
    argTypes:
    - SIpWhiteList*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 726
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 726
    functionName: isRangeInIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - isIpRangeEqual
    linkageType: ''
    returnType: bool
    signature: 'static bool isRangeInIpWhiteList(SIpWhiteList *pList, SIpV4Range *tgt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1549,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1549,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1551,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1549,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1557,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1559,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1560,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1561,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1562,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1563,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1568,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - pOld
    - ppNew
    argTypes:
    - SHashObj*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1569
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1569
    functionName: mndDupTableHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - strlen
    - TAOS_RETURN
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDupTableHash(SHashObj *pOld, SHashObj **ppNew) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2830,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2843,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2832,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2848,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2853,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2854,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2863,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2802,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2806,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2816,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2817,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2820,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2821,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2842,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2826,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2846,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2849,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2825,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2833,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2845,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2846,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2858,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2866,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2866,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2808,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2812,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2809,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2813,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2840,1
    - Dst: convertIpWhiteListToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2837,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2851,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2864,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2867,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2871
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2871
    functionName: mndRetrieveUsersFull
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - convertIpWhiteListToStr
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - COL_DATA_SET_VAL_GOTO
    - varDataVal
    - tstrerror
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - varDataSetLen
    - TAOS_MEMORY_REALLOC
    - uError
    - TAOS_RETURN
    - memcpy
    - taosMemoryFreeClear
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveUsersFull(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2890,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2895,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2891,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2892,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2896,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2897,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2905,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2906,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2926,1
    - Dst: nodesNodeToSQLFormat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2933,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2975,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2934,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2959,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2900,1
    - Dst: mndExtractShortDbNameFromStbFullName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2903,1
    - Dst: mndExtractTbNameFromStbFullName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2910,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2913,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2916,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2921,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2946,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2950,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2960,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2965,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2974,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2974,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2907,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2916,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2936,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2940,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2963,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2943,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2977,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2880,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2912,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2919,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2914,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2932,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2949,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2951,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2953,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2964,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2969,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2945,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2958,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 9
    argNames:
    - hash
    - priType
    - pBlock
    - pNumOfRows
    - pSdb
    - pUser
    - pShow
    - condition
    - sql
    argTypes:
    - SHashObj*
    - char*
    - SSDataBlock*
    - int32_t*
    - SSdb*
    - SUserObj*
    - SShowObj*
    - char**
    - char**
    constantsTouched: []
    func_position:
      end: 2978
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2978
    functionName: mndLoopHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - nodesNodeToSQLFormat
    - COL_DATA_SET_VAL_GOTO
    - taosHashIterate
    - strcmp
    - nodesDestroyNode
    - tstrerror
    - mndExtractTbNameFromStbFullName
    - strlen
    - taosHashGetKey
    - STR_WITH_MAXSIZE_TO_VARSTR
    - mndExtractShortDbNameFromStbFullName
    - TAOS_MEMORY_REALLOC
    - nodesStringToNode
    - uError
    - TAOS_RETURN
    - tsnprintf
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndLoopHash(SHashObj *hash, char *priType, SSDataBlock
      *pBlock, int32_t *pNumOfRows, SSdb *pSdb, SUserObj *pUser, SShowObj *pShow,
      char **condition, char **sql) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:300,1
    - Dst: destroyIpWhiteTab
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:308,1
    - Dst: mndFetchAllIpWhite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: ipWhiteMgtUpdateAll
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndFetchAllIpWhite
    - TAOS_RETURN
    - destroyIpWhiteTab
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ipWhiteMgtUpdateAll(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:444,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:450,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:447,1
    - Dst: ipWhiteMgtUpdateAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:448,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:451,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: mndRefreshUserIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - ipWhiteMgtUpdateAll
    - taosThreadRwlockUnlock
    - TAOS_RETURN
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRefreshUserIpWhiteList(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:507,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:513,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:511,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:514,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:517,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:524,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:527,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:529,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:531,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:534,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:537,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:542,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:532,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:543,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - pUpdate
    argTypes:
    - SUpdateIpWhite*
    constantsTouched: []
    func_position:
      end: 544
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 544
    functionName: ipWhiteMgtFillMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosHashGetSize
    - TAOS_RETURN
    - taosHashGetKey
    - memcpy
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int64_t
    signature: 'static int64_t ipWhiteMgtFillMsg(SUpdateIpWhite *pUpdate) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pRange
    argTypes:
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 703
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 703
    functionName: isDefaultRange
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isDefaultRange(SIpV4Range *pRange) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SIpV4Range*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: isIpRangeEqual
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool isIpRangeEqual(SIpV4Range *a, SIpV4Range *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isIpRangeEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:732,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SIpWhiteList*
    - SIpWhiteList*
    constantsTouched: []
    func_position:
      end: 737
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 737
    functionName: isIpWhiteListEqual
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - isIpRangeEqual
    linkageType: ''
    returnType: bool
    signature: 'static bool isIpWhiteListEqual(SIpWhiteList *a, SIpWhiteList *b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1574,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1574,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1576,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1574,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1579,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1582,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1584,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1585,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1586,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1587,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1589,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1592,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pOld
    - ppNew
    argTypes:
    - SHashObj*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 1593
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1593
    functionName: mndDupUseDbHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - TAOS_RETURN
    - taosHashGetKey
    - taosHashCancelIterate
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDupUseDbHash(SHashObj *pOld, SHashObj **ppNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 2876
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2876
    functionName: mndCancelGetNextUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextUser(SMnode *pMnode, void *pIter) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3010,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3049,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3052,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3055,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3073,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3064,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3194,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3038,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3050,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3135,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3087,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3137,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3171,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3117,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3134,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3016,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3057,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3086,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3187,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3228,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3159,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3090,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3132,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3095,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3013,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3054,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3063,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3084,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3089,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3138,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3143,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3162,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3035,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3040,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3126,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3078,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3097,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3145,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3169,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3173,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3192,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3197,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3188,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3039,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3109,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3102,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3150,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3157,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3167,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3183,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3147,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3110,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3012,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3058,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3101,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3149,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3158,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3165,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3182,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3191,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3204,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3090,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3114,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3099,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3111,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3009,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3002,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3043,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3059,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3096,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3144,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3175,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3045,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3127,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3137,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3079,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3138,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3192,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3198,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3201,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3213,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3216,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3001,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3015,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3034,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3080,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3128,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3104,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3175,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3177,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3199,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3224,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3152,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3106,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3008,1
    - Dst: tNameGetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3089,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3090,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3138,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3154,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3173,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3181,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3191,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3193,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3206,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3123,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3044,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3075,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3167,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3171,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3203,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3212,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3211,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3219,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3014,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3020,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3048,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3122,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3074,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3165,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3225,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3191,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3011,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3033,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3153,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3227,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3091,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3121,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3062,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3139,1
    - Dst: mndLoopHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3169,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3186,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3207,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3092,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2997,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3140,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3192,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3208,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3227,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 237
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 3231
      start: 2980
    functionDepth: 0
    functionLinenumber: 2980
    functionLinenumberEnd: 3231
    functionName: mndRetrievePrivileges
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - COL_DATA_SET_VAL_GOTO
    - sdbFetch
    - varDataSetLen
    - uError
    - sdbRelease
    - varDataVal
    - STR_WITH_MAXSIZE_TO_VARSTR
    - mndLoopHash
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - sdbAcquire
    - tstrncpy
    - TAOS_MEMORY_REALLOC
    - taosMemoryFreeClear
    - mInfo
    - mndGetDbStr
    - TAOS_CHECK_EXIT
    - taosHashIterate
    - tNameFromString
    - taosHashGetSize
    - tstrerror
    - strlen
    - taosHashGetKey
    - TAOS_RETURN
    - tNameGetDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrievePrivileges(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3258,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3282,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3285,1
    - Dst: tSerializeSUserAuthBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3296,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3298,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3302,1
    - Dst: tSerializeSUserAuthBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3304,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3311,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3311,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3246,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3258,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3248,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3275,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3281,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3288,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3300,1
    - Dst: tFreeSUserAuthBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3309,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3312,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3257,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3253,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3260,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3260,1
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3265,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3267,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3279,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3283,1
    - Dst: mndSetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3272,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3306,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3274,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3276,1
    - Dst: tFreeSUserAuthBatchRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3318,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 6
    argNames:
    - pMnode
    - pUsers
    - numOfUses
    - ppRsp
    - pRspLen
    - ipWhiteListVer
    argTypes:
    - SMnode*
    - SUserAuthVersion*
    - int32_t
    - void**
    - int32_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 3319
      start: 3238
    functionDepth: 0
    functionLinenumber: 3238
    functionLinenumberEnd: 3319
    functionName: mndValidateUserAuthInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - ntohl
    - tFreeSGetUserAuthRsp
    - TSDB_CHECK_NULL
    - uError
    - tFreeSUserAuthBatchRsp
    - taosArrayGetSize
    - taosArrayInit
    - mndReleaseUser
    - mndAcquireUser
    - tSerializeSUserAuthBatchRsp
    - taosMemoryMalloc
    - taosArrayPush
    - memcpy
    - TAOS_CHECK_GOTO
    - mError
    - taosMemoryFreeClear
    - mndSetUserAuthRsp
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndValidateUserAuthInfo(SMnode *pMnode, SUserAuthVersion *pUsers,
      int32_t numOfUses, void **ppRsp, int32_t *pRspLen, int64_t ipWhiteListVer) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3434,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3447,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3463,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3453,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3475,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3477,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3437,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3442,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3451,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3465,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3428,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3455,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3472,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3476,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3478,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3441,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3443,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3445,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3449,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3458,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3467,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3459,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3471,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3466,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - view
    argTypes:
    - SMnode*
    - STrans*
    - char*
    constantsTouched: []
    func_position:
      end: 3479
      start: 3425
    functionDepth: 0
    functionLinenumber: 3425
    functionLinenumberEnd: 3479
    functionName: mndUserRemoveView
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndUserFreeObj
    - mndTransAppendCommitlog
    - mndUserDupObj
    - mError
    - sdbSetRawStatus
    - taosHashGet
    - taosHashRemove
    - strlen
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndUserActionEncode
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUserRemoveView(SMnode *pMnode, STrans *pTrans, char *view) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 2
    argNames:
    - pMnode
    - pUser
    argTypes:
    - SMnode*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 3532
      start: 3528
    functionDepth: 0
    functionLinenumber: 3528
    functionLinenumberEnd: 3532
    functionName: mndGetUserIpWhiteListVer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetUserIpWhiteListVer(SMnode *pMnode, SUserObj *pUser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:657,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:670,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:671,1
    - Dst: ipWhiteMgtInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:657,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:672,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:673,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:674,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:676,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:678,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:679,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:684,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:683,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:681,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:682,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 685
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 685
    functionName: mndInitUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    - TAOS_CHECK_RETURN
    - mndAddShowFreeIterHandle
    - sdbSetTable
    - ipWhiteMgtInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitUser(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:744,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:751,1
    - Dst: ipRangeListToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:749,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pList
    - buf
    argTypes:
    - SIpWhiteList*
    - char**
    constantsTouched: []
    func_position:
      end: 755
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 755
    functionName: convertIpWhiteListToStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - ipRangeListToStr
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t convertIpWhiteListToStr(SIpWhiteList *pList, char **buf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1601,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1603,1
    - Dst: mndDupDbHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1605,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1608,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1605,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1608,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1607,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1607,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1610,1
    - Dst: mndDupTopicHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1610,1
    - Dst: mndDupUseDbHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1611,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1599,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1619,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1597,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1602,1
    - Dst: mndDupDbHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1602,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1604,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1604,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1609,1
    - Dst: mndDupTableHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1606,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1609,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1606,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1611,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1612,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - pUser
    - pNew
    argTypes:
    - SUserObj*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1620
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1620
    functionName: mndUserDupObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosGetTimestampMs
    - mndDupTableHash
    - taosRUnLockLatch
    - mndDupTopicHash
    - taosRLockLatch
    - cloneIpWhiteList
    - mndDupUseDbHash
    - mndDupDbHash
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUserDupObj(SUserObj *pUser, SUserObj *pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1691,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - userName
    - ppUser
    argTypes:
    - SMnode*
    - char*
    - SUserObj**
    constantsTouched: []
    func_position:
      end: 1700
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1700
    functionName: mndAcquireUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - sdbAcquire
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAcquireUser(SMnode *pMnode, const char *userName, SUserObj
      **ppUser) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1713,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1716,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1724,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1725,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1744,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1749,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1763,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1767,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1770,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1775,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1812,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1814,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1800,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1805,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1792,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1716,1
    - Dst: createDefaultIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1733,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1758,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1780,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1782,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1784,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1784,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1792,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1793,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1804,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1760,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1798,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1786,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1735,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1737,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1742,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1748,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1752,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1753,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1743,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1747,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1754,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1757,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1785,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1761,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1719,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1723,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1733,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1788,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1790,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1791,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1796,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1799,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1799,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1801,1
    - Dst: ipWhiteMgtUpdate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1803,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1808,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1809,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1794,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1796,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 105
    argCount: 4
    argNames:
    - pMnode
    - acct
    - pCreate
    - pReq
    argTypes:
    - SMnode*
    - char*
    - SCreateUserReq*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1815
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1815
    functionName: mndCreateUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - terrstr
    - taosHashInit
    - taosHashCleanup
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - ipWhiteMgtUpdate
    - TAOS_CHECK_RETURN
    - mndTransCreate
    - taosHashPut
    - memcpy
    - TAOS_CHECK_GOTO
    - mError
    - tstrncpy
    - mndTransDrop
    - mndTransPrepare
    - mInfo
    - taosHashIterate
    - sdbSetRawStatus
    - taosHashGetSize
    - taosEncryptPass_c
    - strlen
    - createDefaultIpWhiteList
    - TAOS_RETURN
    - taosHashGetKey
    - mndUserActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateUser(SMnode *pMnode, char *acct, SCreateUserReq
      *pCreate, SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2144,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2147,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2151,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2145,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2148,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2152,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2158,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2159,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2164,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2164,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - pMnode
    - hash
    - useDbHash
    - alterReq
    - pSdb
    argTypes:
    - SMnode*
    - SHashObj*
    - SHashObj*
    - SAlterUserReq*
    - SSdb*
    constantsTouched: []
    func_position:
      end: 2167
      start: 2140
    functionDepth: 0
    functionLinenumber: 2140
    functionLinenumberEnd: 2167
    functionName: mndRemoveTablePriviledge
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosHashGet
    - taosHashRemove
    - strlen
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRemoveTablePriviledge(SMnode *pMnode, SHashObj *hash,
      SHashObj *useDbHash, SAlterUserReq *alterReq, SSdb *pSdb) '
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: ALTER_USER_ADD_WRITE_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2225,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2251,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2216,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2228,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2265,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2278,1
    - Dst: ALTER_USER_DEL_ALL_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2257,1
    - Dst: ALTER_USER_DEL_ALTER_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2331,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2313,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2323,1
    - Dst: ALTER_USER_DEL_WRITE_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2275,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2279,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2229,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2246,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2248,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2249,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2277,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2282,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2286,1
    - Dst: ALTER_USER_DEL_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2322,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2212,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2227,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2232,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2236,1
    - Dst: ALTER_USER_ADD_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2312,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2360,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2197,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2231,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2281,1
    - Dst: mndRemoveTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2323,1
    - Dst: mndTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2313,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2284,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2333,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2344,1
    - Dst: ALTER_USER_DEL_SUBSCRIBE_TOPIC_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2351,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2208,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2245,1
    - Dst: ALTER_USER_ADD_READ_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2306,1
    - Dst: ALTER_USER_DEL_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2332,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2338,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2356,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2196,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2201,1
    - Dst: ALTER_USER_ADD_ALL_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2226,1
    - Dst: ALTER_USER_DEL_ALL_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2276,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2271,1
    - Dst: mndRemoveTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2333,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2355,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2358,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2286,1
    - Dst: ALTER_USER_DEL_WRITE_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2326,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2206,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2220,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2269,1
    - Dst: ALTER_USER_ADD_ALTER_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2316,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2340,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2360,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2367,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2205,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2214,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2259,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2369,1
    - Dst: ALTER_USER_ADD_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2307,1
    - Dst: ALTER_USER_ADD_READ_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2194,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2198,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2217,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2218,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2215,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2348,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2258,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2263,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2267,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2243,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2247,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2318,1
    - Dst: mndTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2308,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2342,1
    - Dst: ALTER_USER_ADD_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2317,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2200,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2234,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2346,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2367,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2239,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2288,1
    - Dst: mndTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2328,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2345,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2352,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2362,1
    - Dst: ALTER_USER_ADD_WRITE_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2311,1
    - Dst: ALTER_USER_ADD_ALL_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2195,1
    - Dst: ALTER_USER_DEL_READ_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2256,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2260,1
    - Dst: ALTER_USER_DEL_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2327,1
    - Dst: ALTER_USER_ADD_SUBSCRIBE_TOPIC_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2337,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2267,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2203,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2237,1
    - Dst: mndRemoveTablePriviledge
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2328,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2354,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2290,1
    - Dst: ALTER_USER_DEL_READ_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2321,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2262,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2341,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 198
    argCount: 3
    argNames:
    - pAlterReq
    - pMnode
    - pNewUser
    argTypes:
    - SAlterUserReq*
    - SMnode*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 2370
      start: 2188
    functionDepth: 0
    functionLinenumber: 2188
    functionLinenumberEnd: 2370
    functionName: mndProcessAlterUserPrivilegesReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - ALTER_USER_ADD_WRITE_TB_PRIV
    - taosHashClear
    - ALTER_USER_DEL_ALTER_TB_PRIV
    - terrstr
    - ALTER_USER_ADD_SUBSCRIBE_TOPIC_PRIV
    - sdbFetch
    - ALTER_USER_DEL_WRITE_TB_PRIV
    - ALTER_USER_DEL_ALL_DB_PRIV
    - ALTER_USER_DEL_ALL_TB_PRIV
    - mndReleaseDb
    - ALTER_USER_ADD_READ_TB_PRIV
    - taosHashRemove
    - sdbCancelFetch
    - mndAcquireTopic
    - taosHashPut
    - mndReleaseTopic
    - ALTER_USER_ADD_ALL_DB_PRIV
    - TAOS_CHECK_GOTO
    - mndAcquireDb
    - mError
    - ALTER_USER_ADD_ALTER_TB_PRIV
    - ALTER_USER_DEL_READ_TB_PRIV
    - mndRemoveTablePriviledge
    - ALTER_USER_ADD_READ_DB_PRIV
    - ALTER_USER_ADD_ALL_TB_PRIV
    - mndTablePriviledge
    - ALTER_USER_DEL_SUBSCRIBE_TOPIC_PRIV
    - ALTER_USER_ADD_WRITE_DB_PRIV
    - strcmp
    - tstrerror
    - strlen
    - TAOS_RETURN
    - ALTER_USER_DEL_WRITE_DB_PRIV
    - ALTER_USER_DEL_READ_DB_PRIV
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterUserPrivilegesReq(SAlterUserReq *pAlterReq,
      SMnode *pMnode, SUserObj *pNewUser) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2599,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2599,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2606,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2606,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2617,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2610,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2608,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2612,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2615,1
    - Dst: ipWhiteMgtRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2620,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2622,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2597,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2600,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2607,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2611,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2623,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2602,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2604,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2605,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2618,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2616,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pUser
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 2624
      start: 2596
    functionDepth: 0
    functionLinenumber: 2596
    functionLinenumberEnd: 2624
    functionName: mndDropUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransAppendCommitlog
    - terrstr
    - mError
    - sdbSetRawStatus
    - TAOS_RETURN
    - ipWhiteMgtRemove
    - mndTransDrop
    - mndTransCreate
    - mndUserActionEncode
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropUser(SMnode *pMnode, SRpcMsg *pReq, SUserObj
      *pUser) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:171,1
    - Dst: isIpWhiteListEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:175,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:178,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:186,1
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:159,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:163,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:160,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:170,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:184,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:195,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:216,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:221,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:160,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:168,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:168,1
    - Dst: mndGetAllDnodeFqdns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:192,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:199,1
    - Dst: mndUpdateIpWhiteImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:201,1
    - Dst: mndUpdateIpWhiteImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:204,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:166,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:179,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:182,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:187,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:184,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:198,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:201,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:204,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:217,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:219,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:219,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 3
    argNames:
    - pMnode
    - user
    - pNew
    argTypes:
    - SMnode*
    - char*
    - SIpWhiteList*
    constantsTouched: []
    func_position:
      end: 222
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 222
    functionName: ipWhiteMgtUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosArrayGetP
    - taosMemoryFree
    - mError
    - isIpWhiteListEqual
    - taosThreadRwlockUnlock
    - taosHashGet
    - taosArrayDestroyP
    - cloneIpWhiteList
    - strlen
    - mndUpdateIpWhiteImpl
    - tstrerror
    - TAOS_RETURN
    - taosHashPut
    - taosArrayGetSize
    - mndGetAllDnodeFqdns
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ipWhiteMgtUpdate(SMnode *pMnode, char *user, SIpWhiteList
      *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipWhiteMgtCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 687
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 687
    functionName: mndCleanupUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - ipWhiteMgtCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupUser(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:761,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:763,1
    - Dst: tEncodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:764,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:764,1
    - Dst: tStartEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:763,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:768,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:768,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:769,1
    - Dst: tEncodeU32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:769,1
    - Dst: tEndEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:778,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:781,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:778,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:776,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - buf
    - len
    - pList
    - pLen
    argTypes:
    - void*
    - int32_t
    - SIpWhiteList*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 782
      start: 756
    functionDepth: 0
    functionLinenumber: 756
    functionLinenumberEnd: 782
    functionName: tSerializeIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tEncoderClear
    - tEncoderInit
    - tEncodeI32
    - mError
    - tEndEncode
    - tstrerror
    - tStartEncode
    - TAOS_RETURN
    - tEncodeU32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tSerializeIpWhiteList(void *buf, int32_t len, SIpWhiteList
      *pList, uint32_t *pLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1623,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1625,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1624,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1626,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1627,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1628,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1629,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1630,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1631,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1632,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - pUser
    argTypes:
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1644
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1644
    functionName: mndUserFreeObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndUserFreeObj(SUserObj *pUser) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pUser
    argTypes:
    - SMnode*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1705
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1705
    functionName: mndReleaseUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseUser(SMnode *pMnode, SUserObj *pUser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pwd
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1822
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1822
    functionName: mndCheckPasswordMinLen
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckPasswordMinLen(const char *pwd, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - type
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 2186
      start: 2169
    functionDepth: 0
    functionLinenumber: 2169
    functionLinenumberEnd: 2186
    functionName: mndUserAuditTypeStr
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'static char *mndUserAuditTypeStr(int32_t type) '
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2423,1
    - Dst: mndProcessAlterUserPrivilegesReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2445,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2560,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2589,1
    - Dst: mndCheckPasswordMinLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2393,1
    - Dst: isRangeInIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2463,1
    - Dst: mndAlterUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2539,1
    - Dst: ALTER_USER_ADD_WRITE_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2556,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2493,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2548,1
    - Dst: ALTER_USER_ADD_PRIVS
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2444,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2567,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2575,1
    - Dst: ALTER_USER_ADD_SUBSCRIBE_TOPIC_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2566,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2558,1
    - Dst: ALTER_USER_DEL_PRIVS
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2444,1
    - Dst: ALTER_USER_ADD_ALL_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2554,1
    - Dst: tDeserializeSAlterUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2383,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2397,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2405,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2414,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2465,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2460,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2570,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2575,1
    - Dst: ALTER_USER_DEL_SUBSCRIBE_TOPIC_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2569,1
    - Dst: ALTER_USER_ADD_ALL_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2557,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2394,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2453,1
    - Dst: ALTER_USER_ADD_READ_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2552,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2585,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2573,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2449,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2593,1
    - Dst: mndCheckPasswordFmt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2399,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2407,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2418,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2420,1
    - Dst: isDefaultRange
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2503,1
    - Dst: ALTER_USER_ADD_READ_TB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2555,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2473,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2481,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2564,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2561,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2532,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2585,1
    - Dst: ALTER_USER_ADD_WRITE_DB_PRIV
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2553,1
    - Dst: tFreeSAlterUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2588,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2392,1
    - Dst: mndCheckPasswordMaxLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2396,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2485,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2590,1
    - Dst: mndUserAuditTypeStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2546,1
    - Dst: isIpRangeEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2507,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2388,1
    - Dst: mndCheckAlterUserPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2412,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2551,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2474,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2383,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2400,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2405,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2515,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2560,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2576,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2445,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2490,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2544,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2591,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2579,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2548,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2412,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2409,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2420,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2535,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2385,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2414,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2456,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 199
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2594
      start: 2372
    functionDepth: 0
    functionLinenumber: 2372
    functionLinenumberEnd: 2594
    functionName: mndProcessAlterUserReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - ALTER_USER_ADD_WRITE_TB_PRIV
    - taosMemoryFree
    - taosMemoryCalloc
    - ALTER_USER_ADD_SUBSCRIBE_TOPIC_PRIV
    - mndCheckAlterUserPrivilege
    - mndUserAuditTypeStr
    - tsnprintf
    - mndReleaseUser
    - mndAcquireUser
    - isDefaultRange
    - ALTER_USER_ADD_READ_TB_PRIV
    - mndCheckPasswordMinLen
    - mndProcessAlterUserPrivilegesReq
    - memcpy
    - ALTER_USER_ADD_ALL_DB_PRIV
    - TAOS_CHECK_GOTO
    - mndCheckPasswordFmt
    - mndUserFreeObj
    - isIpRangeEqual
    - mndUserDupObj
    - strncmp
    - mError
    - taosMemoryFreeClear
    - auditRecord
    - ALTER_USER_ADD_READ_DB_PRIV
    - ALTER_USER_DEL_PRIVS
    - mndCheckPasswordMaxLen
    - mInfo
    - ALTER_USER_ADD_ALL_TB_PRIV
    - ALTER_USER_DEL_SUBSCRIBE_TOPIC_PRIV
    - tFreeSAlterUserReq
    - ALTER_USER_ADD_WRITE_DB_PRIV
    - ALTER_USER_ADD_PRIVS
    - tDeserializeSAlterUserReq
    - strcmp
    - tNameFromString
    - taosEncryptPass_c
    - strlen
    - tstrerror
    - mndAlterUser
    - TAOS_RETURN
    - isRangeInIpWhiteList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAlterUserReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2633,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2636,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2635,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2636,1
    - Dst: tDeserializeSDropUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2633,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2639,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2642,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2642,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2644,1
    - Dst: mndDropUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2644,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2651,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2647,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2656,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2654,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2651,1
    - Dst: tFreeSDropUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2657
      start: 2626
    functionDepth: 0
    functionLinenumber: 2626
    functionLinenumberEnd: 2657
    functionName: mndProcessDropUserReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireUser
    - mError
    - mndCheckOperPrivilege
    - mndDropUser
    - tstrerror
    - tFreeSDropUserReq
    - TAOS_RETURN
    - tDeserializeSDropUserReq
    - auditRecord
    - mndReleaseUser
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropUserReq(SRpcMsg *pReq) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3484,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3495,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3499,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3490,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3501,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3503,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3505,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3506,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3510,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3512,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3514,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3518,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3522,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3513,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3523,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3525,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3524,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3519,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - topic
    argTypes:
    - SMnode*
    - STrans*
    - char*
    constantsTouched: []
    func_position:
      end: 3526
      start: 3481
    functionDepth: 0
    functionLinenumber: 3481
    functionLinenumberEnd: 3526
    functionName: mndUserRemoveTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndUserFreeObj
    - mndTransAppendCommitlog
    - mndUserDupObj
    - mError
    - sdbSetRawStatus
    - taosHashGet
    - taosHashRemove
    - strlen
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndUserActionEncode
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUserRemoveTopic(SMnode *pMnode, STrans *pTrans, char *topic) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroyIpWhiteTab
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:150,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: ipWhiteMgtCleanup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockDestroy
    - destroyIpWhiteTab
    linkageType: ''
    returnType: void
    signature: 'void ipWhiteMgtCleanup() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:788,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:790,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:790,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:791,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:791,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:795,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:795,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:796,1
    - Dst: tDecodeU32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:796,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:800,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:801,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:803,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:806,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:803,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - buf
    - len
    - pList
    argTypes:
    - void*
    - int32_t
    - SIpWhiteList*
    constantsTouched: []
    func_position:
      end: 807
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 807
    functionName: tDerializeIpWhileList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tDecodeI32
    - tDecoderInit
    - mError
    - tStartDecode
    - tDecodeU32
    - tEndDecode
    - tstrerror
    - TAOS_RETURN
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tDerializeIpWhileList(void *buf, int32_t len, SIpWhiteList
      *pList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndCreateDefaultUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:908,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: mndCreateDefaultUsers
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndCreateDefaultUser
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultUsers(SMnode *pMnode) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1207,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1262,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1324,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1339,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1389,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1447,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1464,1
    - Dst: createIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1490,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1250,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1263,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1453,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1455,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1484,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1520,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1278,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1303,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1326,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1349,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1419,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1430,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1432,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1435,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1450,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1490,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1255,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1291,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1231,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1253,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1375,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1377,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1442,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1458,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1513,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1220,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1227,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1236,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1269,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1305,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1351,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1301,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1335,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1312,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1308,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1500,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1523,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1270,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1238,1
    - Dst: SDB_GET_UINT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1234,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1331,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1360,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1362,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1365,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1382,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1424,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1508,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1515,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1527,1
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1501,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1314,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1310,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1295,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1337,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1357,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1404,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1471,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1347,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1517,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1261,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1296,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1340,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1229,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1245,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1252,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1407,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1409,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1412,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1276,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1342,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1365,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1421,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1423,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1401,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1440,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1456,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1474,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1492,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1519,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1428,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1294,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1208,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1215,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1244,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1232,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1435,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1444,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1446,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1466,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1488,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1476,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1521,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1305,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1247,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1253,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1263,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1277,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1301,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1378,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1412,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1482,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1509,1
    - Dst: createDefaultIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1496,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1217,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1250,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1268,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1384,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1386,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1451,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1458,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1496,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1505,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1512,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1511,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1497,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1212,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1298,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1303,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1314,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1310,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1334,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1342,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1363,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1381,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1387,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1514,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1226,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1230,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1252,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1353,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1373,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1389,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1398,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1400,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1417,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1433,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1371,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1504,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1427,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1486,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1330,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1318,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1312,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1270,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1290,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1328,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1308,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1394,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1410,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1476,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1516,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1278,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1293,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1222,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1228,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1233,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1354,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1358,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1405,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1468,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1470,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1518,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 302
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 1529
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1529
    functionName: mndUserActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosInitRWLatch
    - sdbGetRowObj
    - taosHashInit
    - taosHashCleanup
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - taosGetTimestampMs
    - sdbAllocRow
    - SDB_GET_INT64
    - taosHashPut
    - taosGetDefaultHashFunction
    - TAOS_CHECK_GOTO
    - mError
    - memset
    - TAOS_MEMORY_REALLOC
    - taosMemoryFreeClear
    - SDB_GET_INT32
    - createIpWhiteList
    - sdbGetRawSoftVer
    - mTrace
    - SDB_GET_UINT8
    - tstrerror
    - strlen
    - createDefaultIpWhiteList
    - SDB_GET_RESERVE
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndUserActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pwd
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1829
      start: 1824
    functionDepth: 0
    functionLinenumber: 1824
    functionLinenumberEnd: 1829
    functionName: mndCheckPasswordMaxLen
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckPasswordMaxLen(const char *pwd, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeRetrieveIpWhite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2011,1
    - Dst: tSerializeSUpdateIpWhite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2018,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2013,1
    - Dst: ipWhiteMgtFillMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2016,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2016,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2020,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2023,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2025,1
    - Dst: tSerializeSUpdateIpWhite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2027,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2029,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2034,1
    - Dst: tFreeSUpdateIpWhiteReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2043,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2044,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2034,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2035,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2045
      start: 2002
    functionDepth: 0
    functionLinenumber: 2002
    functionLinenumberEnd: 2045
    functionName: mndProcesSRetrieveIpWhiteReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - tSerializeSUpdateIpWhite
    - TAOS_CHECK_GOTO
    - ipWhiteMgtFillMsg
    - tDeserializeRetrieveIpWhite
    - mError
    - tFreeSUpdateIpWhiteReq
    - tstrerror
    - TAOS_RETURN
    - rpcFreeCont
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcesSRetrieveIpWhiteReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2085,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2091,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2085,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2088,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2085,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2093,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2094,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2095,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2096,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2097,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2099,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pOld
    - dataLen
    - ppNew
    argTypes:
    - SHashObj*
    - int32_t
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 2103
      start: 2081
    functionDepth: 0
    functionLinenumber: 2081
    functionLinenumberEnd: 2103
    functionName: mndDupObjHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosHashIterate
    - taosHashGetSize
    - strlen
    - TAOS_RETURN
    - taosHashCancelIterate
    - taosHashPut
    - taosGetDefaultHashFunction
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDupObjHash(SHashObj *pOld, int32_t dataLen, SHashObj
      **ppNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndDupObjHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pOld
    - ppNew
    argTypes:
    - SHashObj*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 2107
      start: 2107
    functionDepth: 0
    functionLinenumber: 2107
    functionLinenumberEnd: 2107
    functionName: mndDupTopicHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndDupObjHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDupTopicHash(SHashObj *pOld, SHashObj **ppNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:815,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:817,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:818,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:818,1
    - Dst: tStartDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:817,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:820,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:822,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:824,1
    - Dst: tDerializeIpWhileList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:824,1
    - Dst: tEndDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:827,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:828,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:831,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:831,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:830,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:834,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - buf
    - len
    - ppList
    argTypes:
    - void*
    - int32_t
    - SIpWhiteList**
    constantsTouched: []
    func_position:
      end: 835
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 835
    functionName: createIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tDecodeI32
    - tDecoderInit
    - taosMemoryCalloc
    - mError
    - tStartDecode
    - tEndDecode
    - tstrerror
    - TAOS_RETURN
    - tDerializeIpWhileList
    - taosMemoryFreeClear
    - tDecoderClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createIpWhiteList(void *buf, int32_t len, SIpWhiteList
      **ppList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:917,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:981,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1042,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1118,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1123,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1147,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1152,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1142,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1070,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1031,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:924,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:956,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1001,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1080,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1068,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1067,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1072,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1136,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1105,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1124,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:948,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:998,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1094,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1188,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1036,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1049,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1027,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1033,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1034,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1035,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1089,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1111,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1145,1
    - Dst: tSerializeIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1174,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:923,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:953,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1086,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1103,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1150,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1174,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1181,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1128,1
    - Dst: SDB_SET_UINT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1039,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1058,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:920,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:973,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:990,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1015,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1037,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1040,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1061,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1038,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1156,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:970,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1076,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1081,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1119,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1125,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1159,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1110,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1046,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1054,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:916,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1018,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1132,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1137,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1161,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1185,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1189,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1041,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1095,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:919,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:987,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1022,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1025,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1044,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1032,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1064,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1069,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1075,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1090,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1012,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:945,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:962,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:995,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1083,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1108,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1177,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:925,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:942,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1004,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1122,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1146,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1151,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1179,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1082,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:922,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:931,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1100,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1117,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1139,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1163,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1182,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:959,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1009,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1097,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1176,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1170,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:934,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:967,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:984,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1055,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1077,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1048,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1052,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1104,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1133,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1138,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1164,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:921,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:976,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1066,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1091,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1096,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1114,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1131,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1153,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1187,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1043,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:918,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:939,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1065,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1060,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1109,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1160,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1171,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1194,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 278
    argCount: 1
    argNames:
    - pUser
    argTypes:
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1196
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 1196
    functionName: mndUserActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryFree
    - taosMemoryCalloc
    - SDB_SET_UINT8
    - tSerializeIpWhiteList
    - SDB_SET_INT64
    - TAOS_CHECK_GOTO
    - SDB_SET_INT32
    - mError
    - SDB_SET_BINARY
    - sdbFreeRaw
    - SDB_SET_RESERVE
    - SDB_SET_INT8
    - mTrace
    - taosHashIterate
    - taosHashGetSize
    - tstrerror
    - strlen
    - taosHashGetKey
    - sdbAllocRaw
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndUserActionEncode(SUserObj *pUser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1532,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1534,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1537,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1537,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1538,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pSdb
    - pUser
    argTypes:
    - SSdb*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1544
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1544
    functionName: mndUserActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mTrace
    - mError
    - terrstr
    - sdbAcquire
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUserActionInsert(SSdb *pSdb, SUserObj *pUser) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1832,1
    - Dst: taosIsSmallChar
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1840,1
    - Dst: taosIsNumberChar
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1842,1
    - Dst: taosIsBigChar
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1838,1
    - Dst: taosIsSpecialChar
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1844,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pwd
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1861
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1861
    functionName: mndCheckPasswordFmt
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosIsBigChar
    - strcmp
    - taosIsSpecialChar
    - taosIsNumberChar
    - taosIsSmallChar
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckPasswordFmt(const char *pwd, int32_t len) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2052,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2059,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2065,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2070,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2074,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2069,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2068,1
    - Dst: ipWhiteMgtUpdate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2073,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2056,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2057,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2064,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2075,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2049,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2051,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2051,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2054,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2058,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2058,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2069,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2071,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2062,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2060,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2077,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - pMnode
    - pOld
    - pNew
    - pReq
    argTypes:
    - SMnode*
    - SUserObj*
    - SUserObj*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2079
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2079
    functionName: mndAlterUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndTransAppendCommitlog
    - ipWhiteMgtUpdate
    - terrstr
    - mError
    - sdbSetRawStatus
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndUserActionEncode
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAlterUser(SMnode *pMnode, SUserObj *pOld, SUserObj
      *pNew, SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndDupObjHash
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pOld
    - ppNew
    argTypes:
    - SHashObj*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 2105
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2105
    functionName: mndDupDbHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndDupObjHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDupDbHash(SHashObj *pOld, SHashObj **ppNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2114,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2118,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2124,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2120,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2115,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2124,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2126,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2126,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2129,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2137,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2135,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2135,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - pMnode
    - hash
    - useDbHash
    - alterReq
    - pSdb
    argTypes:
    - SMnode*
    - SHashObj*
    - SHashObj*
    - SAlterUserReq*
    - SSdb*
    constantsTouched: []
    func_position:
      end: 2138
      start: 2109
    functionDepth: 0
    functionLinenumber: 2109
    functionLinenumberEnd: 2138
    functionName: mndTablePriviledge
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosHashGet
    - strlen
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTablePriviledge(SMnode *pMnode, SHashObj *hash,
      SHashObj *useDbHash, SAlterUserReq *alterReq, SSdb *pSdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3235,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 3236
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3236
    functionName: mndCancelGetNextPrivileges
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextPrivileges(SMnode *pMnode, void *pIter) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3372,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3407,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3399,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3416,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3420,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3422,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3381,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3386,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3389,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3393,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3415,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3409,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3378,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3391,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3397,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3419,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3421,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3385,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3387,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3395,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3402,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3411,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3410,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - stb
    argTypes:
    - SMnode*
    - STrans*
    - char*
    constantsTouched: []
    func_position:
      end: 3423
      start: 3369
    functionDepth: 0
    functionLinenumber: 3369
    functionLinenumberEnd: 3423
    functionName: mndUserRemoveStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndUserFreeObj
    - mndTransAppendCommitlog
    - mndUserDupObj
    - mError
    - sdbSetRawStatus
    - taosHashGet
    - taosHashRemove
    - strlen
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndUserActionEncode
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUserRemoveStb(SMnode *pMnode, STrans *pTrans, char *stb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:141,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:147,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:143,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:141,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: ipWhiteMgtInit
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockInit
    - taosGetDefaultHashFunction
    - TAOS_RETURN
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t ipWhiteMgtInit() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:226,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:231,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:227,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:232,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:227,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:232,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:239,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 241
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 241
    functionName: ipWhiteMgtRemove
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadRwlockUnlock
    - taosHashGet
    - taosHashRemove
    - strlen
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ipWhiteMgtRemove(char *user) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:549,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:556,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:552,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - pIpWhiteTab
    argTypes:
    - SHashObj*
    constantsTouched: []
    func_position:
      end: 557
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 557
    functionName: destroyIpWhiteTab
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosHashIterate
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void destroyIpWhiteTab(SHashObj *pIpWhiteTab) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:253,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:256,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:255,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:255,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:260,1
    - Dst: isRangeInWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:264,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:274,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:275,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:276,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:280,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:282,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:285,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:286,1
    - Dst: destroyIpWhiteTab
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:289,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 1
    argNames:
    - pList
    argTypes:
    - SIpWhiteList*
    constantsTouched: []
    func_position:
      end: 295
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 295
    functionName: ipWhiteUpdateForAllUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosThreadRwlockUnlock
    - taosHashIterate
    - taosHashPut
    - cloneIpWhiteList
    - taosHashGetKey
    - destroyIpWhiteTab
    - memcpy
    - taosGetDefaultHashFunction
    - isRangeInWhiteList
    - taosHashInit
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t ipWhiteUpdateForAllUser(SIpWhiteList *pList) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:838,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:840,1
    - Dst: uv_inet_pton
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - ppWhiteList
    argTypes:
    - SIpWhiteList**
    constantsTouched: []
    func_position:
      end: 852
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 852
    functionName: createDefaultIpWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - uv_inet_pton
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createDefaultIpWhiteList(SIpWhiteList **ppWhiteList) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1647,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1648,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pUser
    argTypes:
    - SSdb*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1650
      start: 1646
    functionDepth: 0
    functionLinenumber: 1646
    functionLinenumberEnd: 1650
    functionName: mndUserActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndUserFreeObj
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUserActionDelete(SSdb *pSdb, SUserObj *pUser) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1879,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1886,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1887,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1897,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1916,1
    - Dst: mndCreateUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1923,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1931,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1933,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1943,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1947,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1888,1
    - Dst: mndCheckPasswordMaxLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1902,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1913,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1927,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1944,1
    - Dst: tDeserializeSCreateUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1871,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1875,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1884,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1903,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1900,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1911,1
    - Dst: mndCheckPasswordFmt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1905,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1940,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1940,1
    - Dst: tFreeSCreateUserReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1945,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1884,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1872,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1893,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1906,1
    - Dst: mndCheckPasswordMinLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1899,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1918,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1921,1
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1921,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1936,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1936,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1948
      start: 1863
    functionDepth: 0
    functionLinenumber: 1863
    functionLinenumberEnd: 1948
    functionName: mndProcessCreateUserReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndCheckOperPrivilege
    - tFreeSCreateUserReq
    - tsnprintf
    - mndReleaseUser
    - mndAcquireUser
    - mndCheckPasswordMinLen
    - TAOS_CHECK_GOTO
    - mndCheckPasswordFmt
    - mError
    - tstrncpy
    - mndCreateUser
    - tDeserializeSCreateUserReq
    - grantCheck
    - auditRecord
    - mndCheckPasswordMaxLen
    - mInfo
    - strcmp
    - tstrerror
    - strlen
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateUserReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2674,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2687,1
    - Dst: tDeserializeSGetUserAuthReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2669,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2680,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2694,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2672,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2678,1
    - Dst: tSerializeSGetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2685,1
    - Dst: tFreeSGetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2692,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2695,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2669,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2672,1
    - Dst: mndSetUserAuthRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2674,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2682,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2691,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2703,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2704
      start: 2659
    functionDepth: 0
    functionLinenumber: 2659
    functionLinenumberEnd: 2704
    functionName: mndProcessGetUserAuthReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - mndAcquireUser
    - tDeserializeSGetUserAuthReq
    - mndSetUserAuthRsp
    - mTrace
    - mError
    - TAOS_CHECK_EXIT
    - tSerializeSGetUserAuthRsp
    - tFreeSGetUserAuthRsp
    - tstrerror
    - TAOS_RETURN
    - rpcFreeCont
    - rpcMallocCont
    - mndReleaseUser
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetUserAuthReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isIpRangeEqual
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:245,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pList
    - range
    argTypes:
    - SIpWhiteList*
    - SIpV4Range*
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: isRangeInWhiteList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - isIpRangeEqual
    linkageType: ''
    returnType: bool
    signature: 'bool isRangeInWhiteList(SIpWhiteList *pList, SIpV4Range *range) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:324,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:328,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:329,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:329,1
    - Dst: ipWhiteMgtUpdateAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:327,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:332,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:335,1
    - Dst: mndEnableIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:337,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: mndGetIpWhiteVer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - ipWhiteMgtUpdateAll
    - mError
    - taosThreadRwlockUnlock
    - mDebug
    - tstrerror
    - mndEnableIpWhiteList
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mndGetIpWhiteVer(SMnode *pMnode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:569,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:567,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:588,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:594,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:591,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:602,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:603,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:639,1
    - Dst: mndGetAllDnodeFqdns
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:629,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:648,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:625,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:613,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:624,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:567,1
    - Dst: cloneIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:581,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:596,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:587,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:597,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:587,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:598,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:601,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:604,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:623,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:638,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:644,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:645,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:573,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:612,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:613,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:613,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:621,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:631,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:634,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:637,1
    - Dst: destroyIpWhiteTab
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:649,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:619,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:571,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:578,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:583,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:584,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:585,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:590,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:589,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:600,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:607,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:611,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:635,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:653,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:613,1
    - Dst: mndUpdateIpWhiteImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:639,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:648,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 94
    argCount: 2
    argNames:
    - pMnode
    - ppIpWhiteTab
    argTypes:
    - SMnode*
    - SHashObj**
    constantsTouched: []
    func_position:
      end: 654
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 654
    functionName: mndFetchAllIpWhite
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryFree
    - cloneIpWhiteList
    - sdbFetch
    - taosArrayGetSize
    - taosHashInit
    - taosArrayInit
    - destroyIpWhiteTab
    - taosArrayDestroyP
    - sdbCancelFetch
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - mndGetAllDnodeFqdns
    - TAOS_CHECK_GOTO
    - strncmp
    - mError
    - mndUpdateIpWhiteImpl
    - tstrerror
    - strlen
    - TAOS_RETURN
    - taosStrdup
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndFetchAllIpWhite(SMnode *pMnode, SHashObj **ppIpWhiteTab) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:859,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:858,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:867,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:872,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:880,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:893,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:895,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:899,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:903,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:860,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:861,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:865,1
    - Dst: createDefaultIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:866,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:884,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:874,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:881,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:881,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:891,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:886,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:874,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:887,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:887,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:900,1
    - Dst: taosEncryptPass_c
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:858,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:866,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:876,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:878,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:888,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:891,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:894,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:894,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:904,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 4
    argNames:
    - pMnode
    - acct
    - user
    - pass
    argTypes:
    - SMnode*
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 905
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 905
    functionName: mndCreateDefaultUser
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - terrstr
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - TAOS_CHECK_RETURN
    - mndTransCreate
    - TAOS_CHECK_GOTO
    - mError
    - tstrncpy
    - mndTransDrop
    - sdbFreeRaw
    - mndTransPrepare
    - mInfo
    - sdbSetRawStatus
    - strcmp
    - taosEncryptPass_c
    - strlen
    - createDefaultIpWhiteList
    - TAOS_RETURN
    - mndUserActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateDefaultUser(SMnode *pMnode, char *acct, char
      *user, char *pass) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1653,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1654,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1662,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1663,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1661,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1664,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1665,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1666,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1667,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1668,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1676,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1682,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1671,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1674,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1679,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1670,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1669,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SUserObj*
    - SUserObj*
    constantsTouched: []
    func_position:
      end: 1685
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1685
    functionName: mndUserActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TSWAP
    - mTrace
    - taosWUnLockLatch
    - TAOS_MEMORY_REALLOC
    - memcpy
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUserActionUpdate(SSdb *pSdb, SUserObj *pOld, SUserObj
      *pNew) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1963,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1976,1
    - Dst: mndSetUserWhiteListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1970,1
    - Dst: tSerializeSGetUserWhiteListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1972,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1990,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1999,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1983,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1990,1
    - Dst: tDeserializeSGetUserWhiteListReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1960,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1967,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1970,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1991,1
    - Dst: tFreeSGetUserWhiteListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1988,1
    - Dst: mndReleaseUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1987,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1961,1
    - Dst: mndAcquireUser
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1965,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1974,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1978,1
    - Dst: tSerializeSGetUserWhiteListRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:1981,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2000
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 2000
    functionName: mndProcessGetUserWhiteListReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndAcquireUser
    - mTrace
    - tSerializeSGetUserWhiteListRsp
    - mError
    - tFreeSGetUserWhiteListRsp
    - tstrerror
    - mndSetUserWhiteListRsp
    - TAOS_RETURN
    - rpcFreeCont
    - tDeserializeSGetUserWhiteListReq
    - rpcMallocCont
    - mndReleaseUser
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessGetUserWhiteListReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2727,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2730,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2726,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2748,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2760,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2761,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2763,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2769,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2773,1
    - Dst: uError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2781,1
    - Dst: TAOS_MEMORY_REALLOC
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2755,1
    - Dst: convertIpWhiteListToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2752,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2766,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2779,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2782,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2778,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2781,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2720,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2724,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2731,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2734,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2735,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2738,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2739,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2744,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2747,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2758,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2743,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2757,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2761,1
    - Dst: COL_DATA_SET_VAL_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2764,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:2768,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2785
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2785
    functionName: mndRetrieveUsers
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - convertIpWhiteListToStr
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - COL_DATA_SET_VAL_GOTO
    - varDataVal
    - tstrerror
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - varDataSetLen
    - TAOS_MEMORY_REALLOC
    - uError
    - TAOS_RETURN
    - memcpy
    - taosMemoryFreeClear
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveUsers(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3339,1
    - Dst: mndUserDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3334,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3345,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3355,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3366,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3358,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3331,1
    - Dst: mndUserActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3350,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3355,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3363,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3351,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3338,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3341,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3347,1
    - Dst: mndUserFreeObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3365,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3325,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3343,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:3359,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - db
    argTypes:
    - SMnode*
    - STrans*
    - char*
    constantsTouched: []
    func_position:
      end: 3367
      start: 3321
    functionDepth: 0
    functionLinenumber: 3321
    functionLinenumberEnd: 3367
    functionName: mndUserRemoveDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndUserFreeObj
    - mndTransAppendCommitlog
    - mndUserDupObj
    - mError
    - sdbSetRawStatus
    - taosHashGet
    - taosHashRemove
    - strlen
    - sdbFetch
    - sdbCancelFetch
    - TAOS_RETURN
    - mndUserActionEncode
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndUserRemoveDb(SMnode *pMnode, STrans *pTrans, char *db) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:313,1
    - Dst: ipWhiteMgtUpdateAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:315,1
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: ipWhiteMgtUpdate2
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndUser.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    - ipWhiteMgtUpdateAll
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void ipWhiteMgtUpdate2(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:218,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:219,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:224,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:226,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pTaskNodeInfoList
    - vgId
    - pList
    argTypes:
    - SArray*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 234
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 234
    functionName: createUpdateTaskList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayPush
    - taosArrayGet
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t createUpdateTaskList(SArray* pTaskNodeInfoList, int32_t
      vgId, SArray* pList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:498,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:502,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:501,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:504,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:505,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:509,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:511,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:513,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:514,1
    - Dst: doSetUpdateTaskAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:518,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:527,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:521,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:520,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:526,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 5
    argNames:
    - pMnode
    - pStream
    - pInfo
    - pTrans
    - pTaskNodeInfoList
    argTypes:
    - SMnode*
    - SStreamObj*
    - SVgroupChangeInfo*
    - STrans*
    - SArray*
    constantsTouched: []
    func_position:
      end: 529
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 529
    functionName: mndStreamSetUpdateEpsetAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - doSetUpdateTaskAction
    - destroyStreamTaskIter
    - mError
    - mDebug
    - createStreamTaskIter
    - taosWUnLockLatch
    - taosWLockLatch
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetUpdateEpsetAction(SMnode *pMnode, SStreamObj *pStream,
      SVgroupChangeInfo *pInfo, STrans *pTrans, SArray* pTaskNodeInfoList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:584,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:592,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:587,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:585,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:588,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:594,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:596,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:597,1
    - Dst: doSetResetAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:601,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:603,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:604,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:610,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:609,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pStream
    - chkptId
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    - int64_t
    constantsTouched: []
    func_position:
      end: 612
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 612
    functionName: mndStreamSetResetTaskAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - doSetResetAction
    - destroyStreamTaskIter
    - mError
    - createStreamTaskIter
    - taosWUnLockLatch
    - taosWLockLatch
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetResetTaskAction(SMnode *pMnode, STrans *pTrans,
      SStreamObj *pStream, int64_t chkptId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:24,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:31,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:26,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:37,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:27,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:40,1
    - Dst: epsetToStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:45,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:45,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:47,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:47,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:53,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:51,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:50,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pTask
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 57
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 57
    functionName: doSetPauseAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - extractNodeEpset
    - mError
    - mDebug
    - tstrerror
    - setTransAction
    - epsetToStr
    - tListLen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetPauseAction(SMnode *pMnode, STrans *pTrans, SStreamTask
      *pTask) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:626,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:638,1
    - Dst: tEncodeRestoreCheckpointInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:641,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:640,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:633,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:642,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:644,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:649,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:650,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:654,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:660,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:662,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:656,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pTask
    - checkpointId
    - ts
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 666
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 666
    functionName: doSetCheckpointIdAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryFree
    - extractNodeEpset
    - setTransAction
    - POINTER_SHIFT
    - tEncodeRestoreCheckpointInfo
    - tEncodeSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t doSetCheckpointIdAction(SMnode *pMnode, STrans *pTrans, SStreamTask*
      pTask, int64_t checkpointId, int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:801,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:806,1
    - Dst: doSetStopAllTasksAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:805,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:807,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:808,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:812,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:815,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - dbUid
    argTypes:
    - SMnode*
    - STrans*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 817
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 817
    functionName: mndStreamSetStopStreamTasksActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - doSetStopAllTasksAction
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetStopStreamTasksActions(SMnode* pMnode, STrans
      *pTrans, uint64_t dbUid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: initNodeUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:172,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:177,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:180,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:188,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:186,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:192,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:194,1
    - Dst: tEncodeStreamTaskUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:195,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:198,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:199,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:204,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:205,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:207,1
    - Dst: tDestroyNodeUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:212,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 7
    argNames:
    - pBuf
    - pLen
    - pInfo
    - pList
    - nodeId
    - pId
    - transId
    argTypes:
    - void**
    - int32_t*
    - SVgroupChangeInfo*
    - SArray*
    - int32_t
    - SStreamTaskId*
    - int32_t
    constantsTouched: []
    func_position:
      end: 214
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 214
    functionName: doBuildStreamTaskUpdateMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryFree
    - tDestroyNodeUpdateMsg
    - POINTER_SHIFT
    - initNodeUpdateMsg
    - tEncodeSize
    - tEncodeStreamTaskUpdateMsg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doBuildStreamTaskUpdateMsg(void **pBuf, int32_t *pLen,
      SVgroupChangeInfo *pInfo, SArray* pList, int32_t nodeId, SStreamTaskId *pId,
      int32_t transId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:466,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:474,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:472,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:468,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:476,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:478,1
    - Dst: doSetResumeAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:482,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:484,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:488,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:489,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:492,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 4
    argNames:
    - pTrans
    - pMnode
    - pStream
    - igUntreated
    argTypes:
    - STrans*
    - SMnode*
    - SStreamObj*
    - int8_t
    constantsTouched: []
    func_position:
      end: 494
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 494
    functionName: mndStreamSetResumeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - destroyStreamTaskIter
    - mError
    - mDebug
    - createStreamTaskIter
    - atomic_load_8
    - doSetResumeAction
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetResumeAction(STrans *pTrans, SMnode *pMnode, SStreamObj
      *pStream, int8_t igUntreated) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:118,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:132,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:124,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:130,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:137,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:139,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pTask
    argTypes:
    - SMnode*
    - STrans*
    - SOrphanTask*
    constantsTouched: []
    func_position:
      end: 144
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 144
    functionName: doSetDropActionFromId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - extractNodeEpset
    - setTransAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetDropActionFromId(SMnode *pMnode, STrans *pTrans,
      SOrphanTask* pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:330,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:337,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:332,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:344,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:333,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:346,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:350,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:352,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pTask
    - chkptId
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    - int64_t
    constantsTouched: []
    func_position:
      end: 356
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 356
    functionName: doSetResetAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - extractNodeEpset
    - mError
    - setTransAction
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetResetAction(SMnode *pMnode, STrans *pTrans, SStreamTask
      *pTask, int64_t chkptId) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:671,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:674,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:673,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:676,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:677,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:681,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:683,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:685,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:686,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:693,1
    - Dst: doSetCheckpointIdAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:700,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:709,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:702,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:703,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:708,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pStream
    - checkpointId
    - pList
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 711
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 711
    functionName: mndStreamSetChkptIdAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - destroyStreamTaskIter
    - mError
    - createStreamTaskIter
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    - doSetCheckpointIdAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetChkptIdAction(SMnode *pMnode, STrans *pTrans,
      SStreamObj *pStream, int64_t checkpointId, SArray *pList) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:153,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:153,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:155,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:155,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:162,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:164,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 5
    argNames:
    - pMsg
    - pInfo
    - pTaskList
    - pId
    - transId
    argTypes:
    - SStreamTaskNodeUpdateMsg*
    - SVgroupChangeInfo*
    - SArray*
    - SStreamTaskId*
    - int32_t
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: initNodeUpdateMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - mError
    - taosArrayAddAll
    - tstrerror
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void initNodeUpdateMsg(SStreamTaskNodeUpdateMsg *pMsg, const
      SVgroupChangeInfo *pInfo, SArray* pTaskList, SStreamTaskId *pId, int32_t transId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:372,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:384,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:374,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:379,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:386,1
    - Dst: tEncodeStreamCheckpointSourceReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:387,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:389,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:394,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:395,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 8
    argNames:
    - pBuf
    - pLen
    - nodeId
    - checkpointId
    - streamId
    - taskId
    - transId
    - mndTrigger
    argTypes:
    - void**
    - int32_t*
    - int32_t
    - int64_t
    - int64_t
    - int32_t
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 403
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 403
    functionName: mndBuildStreamCheckpointSourceReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tEncodeStreamCheckpointSourceReq
    - POINTER_SHIFT
    - TAOS_RETURN
    - tEncodeSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBuildStreamCheckpointSourceReq(void **pBuf, int32_t
      *pLen, int32_t nodeId, int64_t checkpointId, int64_t streamId, int32_t taskId,
      int32_t transId, int8_t mndTrigger) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildStreamCheckpointSourceReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:721,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:727,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:729,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:723,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:736,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pTask
    - checkpointId
    - mndTrigger
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    - int64_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 740
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 740
    functionName: mndStreamSetCheckpointAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - extractNodeEpset
    - taosMemoryFree
    - mndBuildStreamCheckpointSourceReq
    - setTransAction
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetCheckpointAction(SMnode *pMnode, STrans *pTrans,
      SStreamTask *pTask, int64_t checkpointId, int8_t mndTrigger) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:60,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:77,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:79,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:65,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:71,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pTask
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 84
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 84
    functionName: doSetDropAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - extractNodeEpset
    - setTransAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetDropAction(SMnode *pMnode, STrans *pTrans, SStreamTask
      *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:534,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:537,1
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:535,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:538,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:542,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:544,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:546,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:547,1
    - Dst: doSetUpdateChkptAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:551,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:553,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:554,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:560,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStream
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 562
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 562
    functionName: mndStreamSetUpdateChkptAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - destroyStreamTaskIter
    - mError
    - createStreamTaskIter
    - taosWUnLockLatch
    - doSetUpdateChkptAction
    - taosWLockLatch
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetUpdateChkptAction(SMnode *pMnode, STrans *pTrans,
      SStreamObj *pStream) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:89,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:96,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:91,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:103,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:92,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:105,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:109,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 4
    argNames:
    - pTrans
    - pMnode
    - pTask
    - igUntreated
    argTypes:
    - STrans*
    - SMnode*
    - SStreamTask*
    - int8_t
    constantsTouched: []
    func_position:
      end: 115
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 115
    functionName: doSetResumeAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosMemoryCalloc
    - extractNodeEpset
    - mError
    - setTransAction
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetResumeAction(STrans *pTrans, SMnode *pMnode, SStreamTask
      *pTask, int8_t igUntreated) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:565,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:566,1
    - Dst: doSetDropActionFromId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:571,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pList
    argTypes:
    - SMnode*
    - STrans*
    - SArray*
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: mndStreamSetDropActionFromList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - doSetDropActionFromId
    - taosArrayGetSize
    - taosArrayGet
    - mDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetDropActionFromList(SMnode *pMnode, STrans *pTrans,
      SArray* pList) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:242,1
    - Dst: doBuildStreamTaskUpdateMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:255,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:250,1
    - Dst: streamTaskUpdateEpsetInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:247,1
    - Dst: createUpdateTaskList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:248,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:257,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:257,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:258,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:262,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:264,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:272,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:269,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:264,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:271,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:271,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:265,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pTask
    - pInfo
    - pTaskNodeInfoList
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    - SVgroupChangeInfo*
    - SArray*
    constantsTouched: []
    func_position:
      end: 276
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 276
    functionName: doSetUpdateTaskAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroy
    - extractNodeEpset
    - mError
    - setTransAction
    - tstrerror
    - streamTaskUpdateEpsetInfo
    - createUpdateTaskList
    - doBuildStreamTaskUpdateMsg
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetUpdateTaskAction(SMnode *pMnode, STrans *pTrans,
      SStreamTask *pTask, SVgroupChangeInfo *pInfo, SArray* pTaskNodeInfoList) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:407,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:409,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:415,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:413,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:417,1
    - Dst: doSetPauseAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:421,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:423,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:427,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:428,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:429,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:433,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStream
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 435
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 435
    functionName: mndStreamSetPauseAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - destroyStreamTaskIter
    - mError
    - doSetPauseAction
    - createStreamTaskIter
    - atomic_load_8
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetPauseAction(SMnode *pMnode, STrans *pTrans, SStreamObj
      *pStream) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStream
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 744
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 744
    functionName: mndStreamSetStopAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetStopAction(SMnode* pMnode, STrans *pTrans, SStreamObj*
      pStream) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:279,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:282,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:286,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:281,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:290,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:295,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:297,1
    - Dst: extractNodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:315,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:317,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:321,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pTask
    argTypes:
    - SMnode*
    - STrans*
    - SStreamTask*
    constantsTouched: []
    func_position:
      end: 327
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 327
    functionName: doSetUpdateChkptAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - taosMemoryFree
    - taosArrayGet
    - taosMemoryCalloc
    - extractNodeEpset
    - mError
    - taosHashGet
    - setTransAction
    - tstrerror
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetUpdateChkptAction(SMnode *pMnode, STrans *pTrans,
      SStreamTask *pTask) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: createStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:440,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:442,1
    - Dst: streamTaskIterGetCurrent
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:448,1
    - Dst: streamTaskIterNextTask
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:446,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:450,1
    - Dst: doSetDropAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:454,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:456,1
    - Dst: destroyStreamTaskIter
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:460,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStream
    argTypes:
    - SMnode*
    - STrans*
    - SStreamObj*
    constantsTouched: []
    func_position:
      end: 462
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 462
    functionName: mndStreamSetDropAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - destroyStreamTaskIter
    - mError
    - createStreamTaskIter
    - doSetDropAction
    - streamTaskIterNextTask
    - streamTaskIterGetCurrent
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndStreamSetDropAction(SMnode *pMnode, STrans *pTrans, SStreamObj
      *pStream) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:754,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:762,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:767,1
    - Dst: tEncodeStreamTaskStopReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:769,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:768,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:771,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:772,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:777,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:778,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:780,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:782,1
    - Dst: setTransAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:785,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:787,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:787,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c:788,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgObj
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 792
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 792
    functionName: doSetStopAllTasksAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndStreamTransAct.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - taosMemoryFree
    - mndGetVgroupEpset
    - mError
    - setTransAction
    - tstrerror
    - POINTER_SHIFT
    - tEncodeSize
    - tEncodeStreamTaskStopReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetStopAllTasksAction(SMnode* pMnode, STrans* pTrans,
      SVgObj* pVgObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:21,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 3
    argNames:
    - pMnode
    - name
    - type
    argTypes:
    - SMnode*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 26
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 26
    functionName: mndGetIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: void*
    signature: 'static void *mndGetIdx(SMnode *pMnode, char *name, int type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndGetIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:29,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:43,1
    - Dst: mndReleaseIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:50,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:41,1
    - Dst: mndGetIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:30,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:52,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c:55,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - pMnode
    - name
    - type
    - idx
    argTypes:
    - SMnode*
    - char*
    - int
    - SSIdx*
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: mndAcquireGlobalIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndexCom.c
    functionUses: []
    functionsReached:
    - mndGetIdx
    - mndReleaseSma
    - mndReleaseIdx
    - TAOS_RETURN
    linkageType: ''
    returnType: int
    signature: 'int mndAcquireGlobalIdx(SMnode *pMnode, char *name, int type, SSIdx
      *idx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:62,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:66,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:65,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 79
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 79
    functionName: mndInitIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitIdx(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pIdx
    argTypes:
    - SSdb*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: mndIdxActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndIdxActionInsert(SSdb *pSdb, SIdxObj *pIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:315,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:318,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SIdxObj*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: mndIdxActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - strncmp
    - memcpy
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndIdxActionUpdate(SSdb *pSdb, SIdxObj *pOld, SIdxObj
      *pNew) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:527,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:533,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:531,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:533,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:534,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:534,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 537
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 537
    functionName: mndSetDropIdxPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropIdxPrepareLogs(SMnode *pMnode, STrans *pTrans, SIdxObj
      *pIdx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:864,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:874,1
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:867,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:865,1
    - Dst: tDeserializeSDropTagIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:864,1
    - Dst: mndAcquireDbByIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:883,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:890,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:890,1
    - Dst: mndDropIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:892,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:897,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:900,1
    - Dst: mndReleaseIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:899,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:901,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:897,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 902
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 902
    functionName: mndProcessDropTagIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireGlobalIdx
    - mndCheckDbPrivilege
    - mndDropIdx
    - mndReleaseDb
    - mndAcquireDbByIdx
    - mError
    - mndReleaseIdx
    - tstrerror
    - TAOS_RETURN
    - tDeserializeSDropTagIdxReq
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessDropTagIdxReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:83,1
    - Dst: IS_IDX_ON
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pStb
    - tagName
    - hasIdx
    argTypes:
    - SStbObj*
    - char*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 92
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 92
    functionName: mndFindSuperTableTagId
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - IS_IDX_ON
    - taosStrcasecmp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndFindSuperTableTagId(const SStbObj *pStb, const char
      *tagName, int8_t *hasIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:309,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pIdx
    argTypes:
    - SSdb*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 311
    functionName: mndIdxActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndIdxActionDelete(SSdb *pSdb, SIdxObj *pIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - idxName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 329
    functionName: mndAcquireIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SIdxObj*
    signature: 'SIdxObj *mndAcquireIdx(SMnode *pMnode, char *idxName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:541,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:545,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:548,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:547,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:548,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:550,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 551
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 551
    functionName: mndSetDropIdxCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropIdxCommitLogs(SMnode *pMnode, STrans *pTrans, SIdxObj
      *pIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 906
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 906
    functionName: mndProcessGetIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetIdxReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:960,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:966,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:967,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:965,1
    - Dst: mndSetDropIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:964,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:971,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:974,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 975
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 975
    functionName: mndDropIdxsByDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndSetDropIdxCommitLogs
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropIdxsByDb(SMnode *pMnode, STrans *pTrans, SDbObj *pDb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:348,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:354,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:355,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:355,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: mndSetCreateIdxPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateIdxPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SIdxObj *pIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 556
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 556
    functionName: mndProcessGetTbIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetTbIdxReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:362,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:369,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:368,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:368,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:369,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 372
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 372
    functionName: mndSetCreateIdxCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateIdxCommitLogs(SMnode *pMnode, STrans *pTrans,
      SIdxObj *pIdx) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:569,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:574,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:585,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:578,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:586,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:617,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:625,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:625,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:627,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:631,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:638,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:638,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:613,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:615,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:594,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:594,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:597,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:602,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:605,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:607,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:605,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:604,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:598,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:568,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:591,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:591,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:618,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:618,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:622,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:611,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:624,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:634,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:640,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:631,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:608,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:608,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:610,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:611,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:615,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:630,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 643
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 643
    functionName: mndRetrieveTagIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mndReleaseDb
    - tNameGetTableName
    - mndGetDbStr
    - mndAcquireDb
    - colDataSetVal
    - mError
    - tNameFromString
    - RETRIEVE_CHECK_GOTO
    - STR_TO_VARSTR
    - strlen
    - sdbFetch
    - tstrerror
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndRetrieveTagIdx(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:179,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:182,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:189,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:181,1
    - Dst: mndBuildDropIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:187,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:190,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:196,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:200,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:201,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:202,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:209,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:206,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 210
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 210
    functionName: mndSetDropIdxRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndTransAppendRedoAction
    - mndGetVgroupEpset
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndBuildDropIdxReq
    - sdbRelease
    linkageType: ''
    returnType: int
    signature: 'int mndSetDropIdxRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj
      *pDb, SStbObj *pStb, SIdxObj *pIdx) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:102,1
    - Dst: mndBuildVCreateStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:109,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:111,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:105,1
    - Dst: mndVgroupInDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:104,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:112,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:115,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:118,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:122,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:123,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:126,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:128,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:124,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:125,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: mndSetCreateIdxRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - mndGetVgroupEpset
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndVgroupInDb
    - mndTransAppendRedoAction
    - mndBuildVCreateStbReq
    - sdbRelease
    linkageType: ''
    returnType: int
    signature: 'int mndSetCreateIdxRedoActions(SMnode *pMnode, STrans *pTrans, SDbObj
      *pDb, SStbObj *pStb, SIdxObj *pIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:226,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:231,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:230,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:233,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:232,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:234,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:235,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:236,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:237,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:238,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:247,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:248,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:252,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:241,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:240,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pIdx
    argTypes:
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 254
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 254
    functionName: mndIdxActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndIdxActionEncode(SIdxObj *pIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:376,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:386,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:383,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:382,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:386,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:388,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 389
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 389
    functionName: mndSetAlterIdxPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - sdbFreeRaw
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetAlterIdxPrepareLogs(SMnode *pMnode, STrans *pTrans,
      SIdxObj *pIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:410,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:416,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:414,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:417,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:416,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:417,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 419
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 419
    functionName: mndSetCreateIdxVgroupRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateIdxVgroupRedoLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pIdxObj
    argTypes:
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: mndDestroyIdxObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mndDestroyIdxObj(SIdxObj *pIdxObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:716,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:718,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:721,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:723,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:738,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:711,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:715,1
    - Dst: mndSetCreateIdxPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:720,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:726,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:724,1
    - Dst: mndSetUpdateIdxStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:723,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:716,1
    - Dst: mndSetCreateIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:721,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:735,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:736,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:734,1
    - Dst: mndSetCreateIdxRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:724,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:720,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:733,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:726,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:739,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 5
    argNames:
    - pMnode
    - pReq
    - pDb
    - pStb
    - pIdx
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SStbObj*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 740
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 740
    functionName: mndAddIndexImpl
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosMemoryFree
    - mndSetCreateIdxRedoActions
    - mndTransSetSerial
    - mndSetCreateIdxCommitLogs
    - mndTransCheckConflict
    - mndSetCreateIdxPrepareLogs
    - mndSetUpdateIdxStbCommitLogs
    - mndTransDrop
    - mndTransCreate
    - TAOS_RETURN
    - mndTransSetDbName
    - taosMemoryFreeClear
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAddIndexImpl(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb,
      SStbObj *pStb, SIdxObj *pIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:137,1
    - Dst: tSerializeSDropIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:144,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:138,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:142,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:150,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:156,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:157,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:159,1
    - Dst: tSerializeSDropIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:161,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 5
    argNames:
    - pMnode
    - pVgroup
    - pStbObj
    - pIdx
    - contLen
    argTypes:
    - SMnode*
    - SVgObj*
    - SStbObj*
    - SIdxObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 170
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 170
    functionName: mndBuildDropIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mInfo
    - htonl
    - taosMemoryCalloc
    - tSerializeSDropIdxReq
    - POINTER_SHIFT
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildDropIdxReq(SMnode *pMnode, SVgObj *pVgroup, SStbObj
      *pStbObj, SIdxObj *pIdx, int32_t *contLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 215
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 215
    functionName: mndCleanupIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupIdx(SMnode *pMnode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:264,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:280,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:279,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:271,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:274,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:281,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:282,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:283,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:284,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:285,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:287,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:295,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:299,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:289,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:286,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 301
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 301
    functionName: mndIdxActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - taosMemoryFree
    - sdbAllocRow
    - sdbGetRawSoftVer
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndIdxActionDecode(SSdbRaw *pRaw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndIdxActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:393,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:400,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:397,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:401,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:399,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:403,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:403,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:405,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pIdx
    argTypes:
    - SMnode*
    - STrans*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 406
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 406
    functionName: mndSetAlterIdxCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndIdxActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetAlterIdxCommitLogs(SMnode *pMnode, STrans *pTrans, SIdxObj
      *pIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:423,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:430,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:429,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:429,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:427,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:430,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:431,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 432
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 432
    functionName: mndSetCreateIdxVgroupCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateIdxVgroupCommitLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:472,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:474,1
    - Dst: tDeserializeSCreateTagIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:472,1
    - Dst: mndAcquireDbByStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:479,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:486,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:488,1
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:494,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:504,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:504,1
    - Dst: mndAddIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:506,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:515,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:520,1
    - Dst: mndReleaseIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:519,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:522,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:515,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:518,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 49
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 523
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 523
    functionName: mndProcessCreateIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireGlobalIdx
    - mndCheckDbPrivilege
    - mndReleaseStb
    - mndReleaseDb
    - mndAddIndex
    - mError
    - mndReleaseIdx
    - tstrerror
    - tDeserializeSCreateTagIdxReq
    - TAOS_RETURN
    - mndAcquireDbByStb
    - mndAcquireStb
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateIdxReq(SRpcMsg *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:745,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:762,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:758,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:746,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:754,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:765,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:766,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:767,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:771,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:774,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 27
    argCount: 2
    argNames:
    - pMnode
    - pIdxObj
    argTypes:
    - SMnode*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 776
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 776
    functionName: mndCheckIndexNameByTagName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndReleaseDb
    - strncmp
    - mndAcquireDb
    - strlen
    - sdbFetch
    - sdbCancelFetch
    - sdbRelease
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t mndCheckIndexNameByTagName(SMnode *pMnode, SIdxObj *pIdxObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIdx
    argTypes:
    - SMnode*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 334
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 334
    functionName: mndReleaseIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseIdx(SMnode *pMnode, SIdxObj *pIdx) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SCreateTagIndexReq*
    constantsTouched: []
    func_position:
      end: 653
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 653
    functionName: mndCheckIndexReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckIndexReq(SCreateTagIndexReq *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:780,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:783,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:782,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:785,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:781,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:786,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:786,1
    - Dst: mndFindSuperTableTagId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:791,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:794,1
    - Dst: mndCheckIndexNameByTagName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:798,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:805,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:801,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:809,1
    - Dst: mndAddIndexImpl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:808,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - pMnode
    - pReq
    - req
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SCreateTagIndexReq*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 810
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 810
    functionName: mndAddIndex
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndGenerateUid
    - taosGetTimestampMs
    - mndAddIndexImpl
    - mndCheckIndexNameByTagName
    - mndFindSuperTableTagId
    - strlen
    - TAOS_RETURN
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAddIndex(SMnode *pMnode, SRpcMsg *pReq, SCreateTagIndexReq
      *req, SDbObj *pDb, SStbObj *pStb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:915,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:921,1
    - Dst: mndSetDropIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:919,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:922,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:920,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:926,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:929,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 930
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 930
    functionName: mndDropIdxsByStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndSetDropIdxCommitLogs
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropIdxsByStb(SMnode *pMnode, STrans *pTrans, SDbObj *pDb,
      SStbObj *pStb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:338,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:343,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pMnode
    - idxName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: mndAcquireDbByIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    - tNameFromString
    - tNameGetFullDbName
    linkageType: ''
    returnType: SDbObj*
    signature: 'SDbObj *mndAcquireDbByIdx(SMnode *pMnode, const char *idxName) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:658,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:659,1
    - Dst: mndFindSuperTableTagId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:671,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:667,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:660,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:674,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:676,1
    - Dst: mndAllocStbSchemas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:676,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:682,1
    - Dst: SSCHMEA_SET_IDX_ON
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:684,1
    - Dst: SSCHMEA_SET_IDX_OFF
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:690,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:700,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:703,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:703,1
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:696,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:702,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:702,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:705,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 6
    argNames:
    - pMnode
    - pTrans
    - pOld
    - pNew
    - tagName
    - 'on'
    argTypes:
    - SMnode*
    - STrans*
    - SStbObj*
    - SStbObj*
    - char*
    - int
    constantsTouched: []
    func_position:
      end: 706
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 706
    functionName: mndSetUpdateIdxStbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - mndAllocStbSchemas
    - taosRUnLockLatch
    - sdbSetRawStatus
    - taosRLockLatch
    - mndFindSuperTableTagId
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - SSCHMEA_SET_IDX_ON
    - SSCHMEA_SET_IDX_OFF
    - mndStbActionEncode
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetUpdateIdxStbCommitLogs(SMnode *pMnode, STrans
      *pTrans, SStbObj *pOld, SStbObj *pNew, char *tagName, int on) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:838,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:843,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:849,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:842,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:850,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:851,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:854,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:819,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:834,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:835,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:837,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:839,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:841,1
    - Dst: mndSetDropIdxPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:838,1
    - Dst: mndSetUpdateIdxStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:841,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:843,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:853,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:855,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:833,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:826,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:835,1
    - Dst: mndSetDropIdxCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:839,1
    - Dst: mndSetDropIdxRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:842,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDb
    - pIdx
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 856
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 856
    functionName: mndDropIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndSetDropIdxCommitLogs
    - taosMemoryFree
    - mndReleaseStb
    - mndTransSetSerial
    - mndSetDropIdxPrepareLogs
    - mndTransCheckConflict
    - mndSetUpdateIdxStbCommitLogs
    - TAOS_RETURN
    - mndTransDrop
    - mndTransCreate
    - mndAcquireStb
    - mndTransSetDbName
    - taosMemoryFreeClear
    - mndSetDropIdxRedoActions
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropIdx(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb,
      SIdxObj *pIdx) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:938,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:943,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:942,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:944,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:941,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c:948,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 4
    argNames:
    - pMnode
    - pStb
    - tagName
    - idx
    argTypes:
    - SMnode*
    - SStbObj*
    - char*
    - SIdxObj*
    constantsTouched: []
    func_position:
      end: 952
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 952
    functionName: mndGetIdxsByTagName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndIndex.c
    functionUses: []
    functionsReached:
    - taosStrcasecmp
    - sdbCancelFetch
    - sdbFetch
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetIdxsByTagName(SMnode *pMnode, SStbObj *pStb, char *tagName,
      SIdxObj *idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:81,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:92,1
    - Dst: tEncodeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:96,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:109,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:112,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:79,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:82,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:93,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:104,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:111,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:101,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:111,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:118,1
    - Dst: tEncodeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:80,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:89,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:97,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:86,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:90,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:95,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:105,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:106,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 1
    argNames:
    - obj
    argTypes:
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 120
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 120
    functionName: mnCfgActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - TSDB_CHECK_CODE
    - tEncoderClear
    - tEncoderInit
    - taosMemoryMalloc
    - SDB_SET_INT32
    - mTrace
    - mError
    - tstrerror
    - TSDB_CHECK_NULL
    - SDB_SET_BINARY
    - sdbAllocRaw
    - sdbFreeRaw
    - taosMemoryFreeClear
    - tEncodeSConfigObj
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mnCfgActionEncode(SConfigObj *obj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:295,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:296,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:298,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:309,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:319,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:313,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:319,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:320,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:310,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:329,1
    - Dst: mndInitConfigVersion
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:303,1
    - Dst: mndSetCreateConfigCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:304,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:305,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:306,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:310,1
    - Dst: mndSetCreateConfigCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:318,1
    - Dst: mndInitConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:315,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:323,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:325,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:329,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:298,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:305,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:313,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:331,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 333
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 333
    functionName: mndInitWriteCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndInitConfigVersion
    - tFreeSConfigObj
    - terrstr
    - mError
    - taosGetGlobalCfg
    - tstrerror
    - mndSetCreateConfigCommitLogs
    - mndTransDrop
    - mndTransCreate
    - taosArrayGetSize
    - mndInitConfigObj
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitWriteCfg(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:640,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:648,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:641,1
    - Dst: taosStr2Int32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:645,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:644,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:651,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:651,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:652,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 3
    argNames:
    - pMCfgReq
    - optLen
    - pOutValue
    argTypes:
    - SMCfgDnodeReq*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 653
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 653
    functionName: mndMCfgGetValInt32
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mError
    - taosStr2Int32
    - strlen
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndMCfgGetValInt32(SMCfgDnodeReq *pMCfgReq, int32_t
      optLen, int32_t *pOutValue) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:132,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:140,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:144,1
    - Dst: tDecodeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:155,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:166,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:159,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:141,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:148,1
    - Dst: tDecoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:156,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:133,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:143,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:146,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:149,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:151,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:163,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:166,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:167,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:171,1
    - Dst: tDecoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 175
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 175
    functionName: mndCfgActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - tDecodeSConfigObj
    - SDB_GET_BINARY
    - TSDB_CHECK_CODE
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - tDecoderInit
    - tFreeSConfigObj
    - mError
    - mTrace
    - tstrerror
    - TSDB_CHECK_NULL
    - taosMemoryFreeClear
    - sdbGetRowObj
    - tDecoderClear
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndCfgActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:348,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:352,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:352,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:350,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 355
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 355
    functionName: mndSendRebuildReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - tmsgSendReq
    - mError
    - mndGetMnodeEpSet
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSendRebuildReq(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 629
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 629
    functionName: mndTryRebuildConfigSdbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTryRebuildConfigSdbRsp(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - obj
    argTypes:
    - SSdb*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: mndCfgActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCfgActionInsert(SSdb *pSdb, SConfigObj *obj) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:189,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:212,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:211,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 12
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SConfigObj*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 219
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 219
    functionName: mndCfgActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFree
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCfgActionUpdate(SSdb *pSdb, SConfigObj *pOld, SConfigObj
      *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSendRebuildReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 223
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 223
    functionName: mndCfgActionAfterRestored
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mndSendRebuildReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCfgActionAfterRestored(SMnode *pMnode) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mndIsLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:359,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:373,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:374,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:390,1
    - Dst: mndSetCreateConfigCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:399,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:387,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:401,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:382,1
    - Dst: cfgObjArrayCleanUp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:410,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:412,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:376,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:377,1
    - Dst: mndInitConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:381,1
    - Dst: mndInitWriteCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:370,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:368,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:373,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:376,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:379,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:402,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:407,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:409,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:371,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:392,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:398,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:407,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:411,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 413
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 413
    functionName: mndTryRebuildConfigSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayPush
    - mndTransCreate
    - cfgObjArrayCleanUp
    - taosArrayGet
    - mError
    - sdbAcquire
    - mndSetCreateConfigCommitLogs
    - mndTransDrop
    - taosGetGlobalCfg
    - mndIsLeader
    - mndTransPrepare
    - mInfo
    - tstrerror
    - TAOS_RETURN
    - mndInitConfigObj
    - sdbRelease
    - mndInitWriteCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTryRebuildConfigSdb(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:438,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:448,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:447,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:444,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:443,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:451,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:456,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - pMCfgReq
    - pDCfgReq
    argTypes:
    - SMCfgDnodeReq*
    - SDCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 457
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 457
    functionName: mndMCfg2DCfg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - strlen
    - mError
    - TAOS_RETURN
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndMCfg2DCfg(SMCfgDnodeReq *pMCfgReq, SDCfgDnodeReq
      *pDCfgReq) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:531,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:538,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:534,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:550,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:569,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:559,1
    - Dst: strncasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:575,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:575,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:580,1
    - Dst: mndConfigUpdateTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:591,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:547,1
    - Dst: mndMCfgGetValInt32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:553,1
    - Dst: mndMCfg2DCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:569,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:570,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:586,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:598,1
    - Dst: mndSendCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:603,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:610,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:612,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:615,1
    - Dst: tFreeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:616,1
    - Dst: tDeserializeSMCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:538,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:540,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:546,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:551,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:566,1
    - Dst: cfgCheckRangeForDynUpdate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:580,1
    - Dst: auditRecord
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:600,1
    - Dst: mndRefreshUserIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:609,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:617,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:605,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:534,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:541,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:565,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:571,1
    - Dst: taosGetCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:580,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:583,1
    - Dst: taosGetCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:583,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:591,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:611,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:615,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:618,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:605,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 619
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 619
    functionName: mndProcessConfigDnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosGetCfg
    - mndCheckOperPrivilege
    - tDeserializeSMCfgDnodeReq
    - mndSendCfgDnodeReq
    - cfgCheckRangeForDynUpdate
    - tsnprintf
    - mndMCfgGetValInt32
    - mndMCfg2DCfg
    - TAOS_CHECK_RETURN
    - strcasecmp
    - mndRefreshUserIpWhiteList
    - TAOS_CHECK_GOTO
    - mError
    - sdbAcquire
    - tstrncpy
    - auditRecord
    - tFreeSMCfgDnodeReq
    - mInfo
    - snprintf
    - strncasecmp
    - mndConfigUpdateTrans
    - tstrerror
    - strlen
    - TAOS_RETURN
    - cfgGetItem
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessConfigDnodeReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:771,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:776,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:778,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:781,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:773,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - array
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 782
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 782
    functionName: cfgArrayCleanUp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void cfgArrayCleanUp(SArray *array) '
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:805,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:803,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:811,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:824,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:838,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:848,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:845,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:809,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:821,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:866,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:870,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:871,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:801,1
    - Dst: rawStrPatternMatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:812,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:870,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:805,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:827,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:854,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:851,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:863,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:860,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:831,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 39
    argCount: 2
    argNames:
    - pItems
    - likePattern
    argTypes:
    - SArray*
    - char*
    constantsTouched: []
    func_position:
      end: 877
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 877
    functionName: initVariablesFromItems
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArrayDestroy
    - rawStrPatternMatch
    - mError
    - tstrncpy
    - tstrerror
    - taosArrayPush
    - taosArrayGetSize
    - tsnprintf
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'static SArray *initVariablesFromItems(SArray *pItems, const char*
      likePattern) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:62,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:66,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:65,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:64,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:63,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:67,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 70
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 70
    functionName: mndInitConfig
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitConfig(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:183,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - obj
    argTypes:
    - SSdb*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: mndCfgActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mTrace
    - tFreeSConfigObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCfgActionDelete(SSdb *pSdb, SConfigObj *obj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndInitWriteCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 221
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 221
    functionName: mndCfgActionDeploy
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mndInitWriteCfg
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCfgActionDeploy(SMnode *pMnode) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:237,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:239,1
    - Dst: initConfigArrayFromSdb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:254,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:256,1
    - Dst: tSerializeSConfigRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:262,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:285,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:283,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:233,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:274,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:283,1
    - Dst: tSerializeSConfigRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:272,1
    - Dst: tFreeSConfigReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:287,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:233,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:243,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:267,1
    - Dst: cfgArrayCleanUp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:286,1
    - Dst: tDeserializeSConfigReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:231,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:239,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:256,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 289
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 289
    functionName: mndProcessConfigReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    - cfgArrayCleanUp
    - terrstr
    - mError
    - sdbAcquire
    - tstrerror
    - initConfigArrayFromSdb
    - rpcFreeCont
    - tDeserializeSConfigReq
    - tFreeSConfigReq
    - rpcMallocCont
    - taosArrayInit
    - tSerializeSConfigRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessConfigReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mnCfgActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:417,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:420,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:422,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:422,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:423,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - item
    argTypes:
    - STrans*
    - SConfigObj*
    constantsTouched: []
    func_position:
      end: 425
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 425
    functionName: mndSetCreateConfigCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendCommitlog
    - mnCfgActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateConfigCommitLogs(STrans *pTrans, SConfigObj *item) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:468,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:477,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:479,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:482,1
    - Dst: tSerializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:488,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:502,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:502,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:512,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:517,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:504,1
    - Dst: rpcSendRecvWithTimeout
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:500,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:489,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:496,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:510,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:510,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:472,1
    - Dst: tSerializeSDCfgDnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:478,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:490,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:511,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:515,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:464,1
    - Dst: mWarn
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:474,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:483,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:492,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:503,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:523,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 3
    argNames:
    - pMnode
    - dnodeId
    - pDcfgReq
    argTypes:
    - SMnode*
    - int32_t
    - SDCfgDnodeReq*
    constantsTouched: []
    func_position:
      end: 524
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 524
    functionName: mndSendCfgDnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - mWarn
    - tSerializeSDCfgDnodeReq
    - mndIsDnodeOnline
    - mError
    - tstrerror
    - sdbFetch
    - sdbCancelFetch
    - rpcFreeCont
    - TAOS_RETURN
    - rpcSendRecvWithTimeout
    - mndGetDnodeEpset
    - rpcMallocCont
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSendCfgDnodeReq(SMnode *pMnode, int32_t dnodeId,
      SDCfgDnodeReq *pDcfgReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 624
    functionName: mndProcessConfigDnodeRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessConfigDnodeRsp(SRpcMsg *pRsp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:788,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:790,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:791,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - array
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 794
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 794
    functionName: cfgObjArrayCleanUp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - tFreeSConfigObj
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void cfgObjArrayCleanUp(SArray *array) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSShowVariablesReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:885,1
    - Dst: initVariablesFromItems
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:897,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:887,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:887,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:891,1
    - Dst: taosGetGlobalCfg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:897,1
    - Dst: tSerializeSShowVariablesRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:902,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:903,1
    - Dst: tSerializeSShowVariablesRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:909,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:910,1
    - Dst: tFreeSShowVariablesReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:924,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:926,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:922,1
    - Dst: tFreeSShowVariablesRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:925,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 927
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 927
    functionName: mndProcessShowVariablesReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - tSerializeSShowVariablesRsp
    - terrstr
    - mError
    - tDeserializeSShowVariablesReq
    - mndCheckOperPrivilege
    - tstrerror
    - TAOS_RETURN
    - tFreeSShowVariablesRsp
    - taosGetGlobalCfg
    - rpcFreeCont
    - tFreeSShowVariablesReq
    - rpcMallocCont
    - initVariablesFromItems
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessShowVariablesReq(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:659,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:669,1
    - Dst: mndUpdateObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:671,1
    - Dst: mndSetCreateConfigCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:679,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:686,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:679,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:690,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:677,1
    - Dst: mndSetCreateConfigCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:678,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:684,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:684,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:687,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:671,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:672,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:678,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:688,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:659,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:664,1
    - Dst: tFreeSConfigObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:689,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:680,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - pMnode
    - name
    - pValue
    - dtype
    - tsmmConfigVersion
    argTypes:
    - SMnode*
    - char*
    - char*
    - ECfgDataType
    - int32_t
    constantsTouched: []
    func_position:
      end: 692
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 692
    functionName: mndConfigUpdateTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - taosMemoryFree
    - taosMemoryMalloc
    - tFreeSConfigObj
    - mndUpdateObj
    - mError
    - tstrncpy
    - tstrerror
    - mndSetCreateConfigCommitLogs
    - mndTransDrop
    - mndTransCreate
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndConfigUpdateTrans(SMnode *pMnode, const char *name,
      char *pValue, ECfgDataType dtype, int32_t tsmmConfigVersion) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:701,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:708,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:707,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:713,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:716,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:717,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:741,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:743,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:744,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:750,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:751,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:752,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:757,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:761,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:761,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 43
    argCount: 2
    argNames:
    - pMnode
    - array
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 764
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 764
    functionName: initConfigArrayFromSdb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - mError
    - tstrerror
    - sdbCancelFetch
    - sdbFetch
    - strcasecmp
    - taosStrdup
    - taosArrayPush
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t initConfigArrayFromSdb(SMnode *pMnode, SArray *array) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:961,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c:962,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 28
    argCount: 3
    argNames:
    - item1
    - item2
    - compare
    argTypes:
    - SConfigObj*
    - SConfigItem*
    - bool*
    constantsTouched: []
    func_position:
      end: 974
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 974
    functionName: compareSConfigItem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConfig.c
    functionUses: []
    functionsReached:
    - taosStrdup
    - strcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t compareSConfigItem(const SConfigObj *item1, SConfigItem *item2,
      bool *compare) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:223,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:227,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:226,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:230,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:228,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 233
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 233
    functionName: mndFreeAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosMemoryFreeClear
    - taosArrayGet
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'static void mndFreeAnode(SAnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:264,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:268,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:270,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:271,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:271,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 273
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 273
    functionName: mndSetCreateAnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mndAnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateAnodeRedoLogs(STrans *pTrans, SAnodeObj
      *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: mndAnodeActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAnodeActionInsert(SSdb *pSdb, SAnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:277,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:283,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:284,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:283,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:281,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:285,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: mndSetCreateAnodeUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendUndolog
    - mndAnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateAnodeUndoLogs(STrans *pTrans, SAnodeObj
      *pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:874,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:897,1
    - Dst: sdbGetTableVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:854,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:857,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:893,1
    - Dst: taosAnalyAlgoUrlStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:894,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:881,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:882,1
    - Dst: tSerializeRetrieveAnalyticAlgoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:908,1
    - Dst: tSerializeRetrieveAnalyticAlgoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:910,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:856,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:875,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:878,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:889,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:895,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:896,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:917,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:852,1
    - Dst: tDeserializeRetrieveAnalyticAlgoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:852,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:866,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:876,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:887,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:883,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:904,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:909,1
    - Dst: tFreeRetrieveAnalyticAlgoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:916,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 918
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 918
    functionName: mndProcessAnalAlgoReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sdbFetch
    - taosArrayGetSize
    - tsnprintf
    - taosHashInit
    - taosMemoryMalloc
    - taosAnalyAlgoUrlStr
    - taosHashRemove
    - sdbGetTableVer
    - tSerializeRetrieveAnalyticAlgoRsp
    - taosHashPut
    - TAOS_CHECK_GOTO
    - taosArrayGet
    - tFreeRetrieveAnalyticAlgoRsp
    - taosMemoryFreeClear
    - rpcMallocCont
    - mInfo
    - taosHashAcquire
    - tDeserializeRetrieveAnalyticAlgoReq
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAnalAlgoReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:241,1
    - Dst: mndFreeAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: mndAnodeActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - mndFreeAnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAnodeActionDelete(SSdb *pSdb, SAnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndAnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:290,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:294,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:296,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:297,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:297,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 299
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 299
    functionName: mndSetCreateAnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndAnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateAnodeCommitLogs(STrans *pTrans, SAnodeObj
      *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:726,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 727
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 727
    functionName: mndCancelGetNextAnodeFull
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextAnodeFull(SMnode *pMnode, void *pIter) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 922
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 922
    functionName: mndProcessUnsupportReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessUnsupportReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:247,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:249,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:258,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SAnodeObj*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: mndAnodeActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosWLockLatch
    - taosWUnLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndAnodeActionUpdate(SSdb *pSdb, SAnodeObj *pOld, SAnodeObj
      *pNew) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:316,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:329,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:331,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:333,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:335,1
    - Dst: mndFreeAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:341,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:336,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:334,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:323,1
    - Dst: mndSetCreateAnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:333,1
    - Dst: mndSetCreateAnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:335,1
    - Dst: mndSetCreateAnodeUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:334,1
    - Dst: sdbGetMaxId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:306,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:318,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:336,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:343,1
    - Dst: mndGetAnodeAlgoList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:320,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:307,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:342,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pCreate
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMCreateAnodeReq*
    constantsTouched: []
    func_position:
      end: 344
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 344
    functionName: mndCreateAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - taosMemoryCalloc
    - mndTransSetSerial
    - mndSetCreateAnodeUndoLogs
    - sdbGetMaxId
    - TAOS_RETURN
    - mndSetCreateAnodeRedoLogs
    - mndGetAnodeAlgoList
    - mndFreeAnode
    - mndTransCreate
    - mndTransDrop
    - memcpy
    - mndSetCreateAnodeCommitLogs
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateAnode(SMnode *pMnode, SRpcMsg *pReq, SMCreateAnodeReq
      *pCreate) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:735,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:749,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:740,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:751,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:747,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:756,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:761,1
    - Dst: tjsonGetStringValue2
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:764,1
    - Dst: taosAnalyAlgoInt
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:766,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:769,1
    - Dst: tjsonGetStringValue2
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:776,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:783,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:785,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:771,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:780,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:773,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:782,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 58
    argCount: 2
    argNames:
    - pJson
    - pObj
    argTypes:
    - SJson*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 790
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 790
    functionName: mndDecodeAlgoList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - tjsonGetArraySize
    - tjsonGetArrayItem
    - taosMemoryCalloc
    - taosAnalyAlgoInt
    - tstrncpy
    - strlen
    - taosArrayPush
    - tjsonGetStringValue2
    - tjsonGetDoubleValue
    - tjsonGetObjectItem
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDecodeAlgoList(SJson *pJson, SAnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: mndRetrieveUnsupport
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveUnsupport(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - anodeId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: mndAcquireAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SAnodeObj*
    signature: 'SAnodeObj *mndAcquireAnode(SMnode *pMnode, int32_t anodeId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:114,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:114,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:129,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:105,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:106,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:107,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:108,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:109,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:110,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:115,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:129,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:116,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:118,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:95,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:101,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:119,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:130,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:94,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:111,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:117,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:123,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:134,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 1
    argNames:
    - pObj
    argTypes:
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 136
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 136
    functionName: mndAnodeActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - taosArrayGetSize
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndAnodeActionEncode(SAnodeObj *pObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:352,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:355,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:356,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:360,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - url
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 365
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 365
    functionName: mndAcquireAnodeByURL
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - strcasecmp
    - sdbRelease
    linkageType: ''
    returnType: SAnodeObj*
    signature: 'static SAnodeObj *mndAcquireAnodeByURL(SMnode *pMnode, char *url) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:467,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:468,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:468,1
    - Dst: tDeserializeSMUpdateAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:467,1
    - Dst: mndUpdateAllAnodes
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:471,1
    - Dst: mndAcquireAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:473,1
    - Dst: mndUpdateAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:478,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:485,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:485,1
    - Dst: mndReleaseAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:489,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:491,1
    - Dst: tFreeSMUpdateAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:490,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: mndProcessUpdateAnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tDeserializeSMUpdateAnodeReq
    - mError
    - mndCheckOperPrivilege
    - mndUpdateAnode
    - mndUpdateAllAnodes
    - mndAcquireAnode
    - tstrerror
    - TAOS_RETURN
    - tFreeSMUpdateAnodeReq
    - mndReleaseAnode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessUpdateAnodeReq(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:532,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:536,1
    - Dst: mndSetDropAnodeInfoToTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:538,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:533,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:535,1
    - Dst: mndReleaseAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:539,1
    - Dst: TSDB_CHECK_CODE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:541,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:543,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:546,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pMnode
    - pReq
    - pObj
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 548
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 548
    functionName: mndDropAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - TSDB_CHECK_CODE
    - mndTransSetSerial
    - mndSetDropAnodeInfoToTrans
    - TSDB_CHECK_NULL
    - mndTransDrop
    - mndTransCreate
    - mndReleaseAnode
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropAnode(SMnode *pMnode, SRpcMsg *pReq, SAnodeObj
      *pObj) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:651,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:665,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:660,1
    - Dst: taosArrayAddAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:658,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:660,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:667,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:667,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:672,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 23
    argCount: 3
    argNames:
    - pMnode
    - pFc
    - pAd
    argTypes:
    - SMnode*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 674
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 674
    functionName: mndRetrieveAlgoList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mError
    - taosArrayAddAll
    - tstrerror
    - sdbFetch
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndRetrieveAlgoList(SMnode* pMnode, SArray* pFc, SArray* pAd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:928,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:930,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:933,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:929,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:931,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 936
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 936
    functionName: mndInitAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitAnode(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pObj
    argTypes:
    - SMnode*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: mndReleaseAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseAnode(SMnode *pMnode, SAnodeObj *pObj) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:160,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:163,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:164,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:182,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:200,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:146,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:153,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:162,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:167,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:169,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:198,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:204,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:161,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:172,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:193,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:191,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:210,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:212,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:156,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:197,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:184,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:174,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:210,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:214,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:218,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 220
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 220
    functionName: mndAnodeActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - taosMemoryCalloc
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - taosArrayPush
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    - taosArrayInit
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndAnodeActionDecode(SSdbRaw *pRaw) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: grantCheck
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:373,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:374,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:378,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:374,1
    - Dst: tDeserializeSMCreateAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:378,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:380,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:381,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:381,1
    - Dst: mndAcquireAnodeByURL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:383,1
    - Dst: mndCreateAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:389,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:394,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:399,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:394,1
    - Dst: tFreeSMCreateAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:398,1
    - Dst: mndReleaseAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 400
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 400
    functionName: mndProcessCreateAnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireAnodeByURL
    - mError
    - mndCheckOperPrivilege
    - mndCreateAnode
    - tstrerror
    - tFreeSMCreateAnodeReq
    - TAOS_RETURN
    - grantCheck
    - mndReleaseAnode
    - tDeserializeSMCreateAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateAnodeReq(SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:496,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:502,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:503,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:503,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 506
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: mndSetDropAnodeRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - sdbSetRawStatus
    - mndTransAppendRedolog
    - mndAnodeActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropAnodeRedoLogs(STrans *pTrans, SAnodeObj *pObj) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:556,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:559,1
    - Dst: tDeserializeSMDropAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:556,1
    - Dst: mndCheckOperPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:559,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:558,1
    - Dst: mndAcquireAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:566,1
    - Dst: mndDropAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:572,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:579,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:579,1
    - Dst: tFreeSMDropAnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:582,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:583,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 584
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 584
    functionName: mndProcessDropAnodeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - tFreeSMDropAnodeReq
    - mndDropAnode
    - mError
    - mndCheckOperPrivilege
    - tstrerror
    - mndAcquireAnode
    - TAOS_RETURN
    - tDeserializeSMDropAnodeReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropAnodeReq(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:686,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:697,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:693,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:696,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:692,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:700,1
    - Dst: taosAnalysisAlgoType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:700,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:701,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:702,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:705,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:707,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:714,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:718,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:706,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 35
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 722
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 722
    functionName: mndRetrieveAnodesFull
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - STR_TO_VARSTR
    - sdbFetch
    - taosAnalysisAlgoType
    - taosArrayGetSize
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveAnodesFull(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 938
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 938
    functionName: mndCleanupAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupAnode(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pMnode
    - pFc
    - pAd
    argTypes:
    - SMnode*
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 939
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 939
    functionName: mndRetrieveAlgoList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndRetrieveAlgoList(SMnode *pMnode, SArray *pFc, SArray *pAd) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:58,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:60,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:63,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:59,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:61,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:64,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:65,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:66,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 69
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 69
    functionName: mndInitAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitAnode(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:403,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:419,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:413,1
    - Dst: mndGetAnodeAlgoList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:410,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:408,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:421,1
    - Dst: mndSetCreateAnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:421,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:422,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:422,1
    - Dst: mndFreeAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:428,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - pMnode
    - pAnode
    - pReq
    argTypes:
    - SMnode*
    - SAnodeObj*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 429
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 429
    functionName: mndUpdateAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - TAOS_CHECK_GOTO
    - TAOS_RETURN
    - mndGetAnodeAlgoList
    - mndFreeAnode
    - mndTransCreate
    - mndTransDrop
    - mndSetCreateAnodeCommitLogs
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateAnode(SMnode *pMnode, SAnodeObj *pAnode, SRpcMsg
      *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndAnodeActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:510,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:517,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:517,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:516,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:516,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pTrans
    - pObj
    argTypes:
    - STrans*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 519
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 519
    functionName: mndSetDropAnodeCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - mndAnodeActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropAnodeCommitLogs(STrans *pTrans, SAnodeObj
      *pObj) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:597,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:601,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:605,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:602,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:606,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:607,1
    - Dst: mndGetAnodeStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:611,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:612,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:614,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:616,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:620,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:621,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:624,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:625,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:617,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:629,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:633,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 44
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 637
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 637
    functionName: mndRetrieveAnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - colDataSetVal
    - STR_TO_VARSTR
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - mndGetAnodeStatus
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveAnodes(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:794,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:800,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:802,1
    - Dst: mndDecodeAlgoList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:799,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:796,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - url
    - pObj
    argTypes:
    - char*
    - SAnodeObj*
    constantsTouched: []
    func_position:
      end: 803
      start: 792
    functionDepth: 0
    functionLinenumber: 792
    functionLinenumberEnd: 803
    functionName: mndGetAnodeAlgoList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosAnalySendReqRetJson
    - tjsonDelete
    - TAOS_RETURN
    - mndDecodeAlgoList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetAnodeAlgoList(const char *url, SAnodeObj *pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 71
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 71
    functionName: mndCleanupAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupAnode(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:432,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:449,1
    - Dst: mndUpdateAnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:448,1
    - Dst: sdbFetchAll
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:442,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:436,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 2
    argNames:
    - pMnode
    - pReq
    argTypes:
    - SMnode*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 459
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 459
    functionName: mndUpdateAllAnodes
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndUpdateAnode
    - sdbGetSize
    - sdbFetchAll
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateAllAnodes(SMnode *pMnode, SRpcMsg *pReq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:523,1
    - Dst: mndSetDropAnodeCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:524,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:524,1
    - Dst: mndSetDropAnodeRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:523,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pObj
    - force
    argTypes:
    - SMnode*
    - STrans*
    - SAnodeObj*
    - bool
    constantsTouched: []
    func_position:
      end: 526
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 526
    functionName: mndSetDropAnodeInfoToTrans
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndSetDropAnodeCommitLogs
    - mndSetDropAnodeRedoLogs
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropAnodeInfoToTrans(SMnode *pMnode, STrans *pTrans,
      SAnodeObj *pObj, bool force) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:641,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 642
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 642
    functionName: mndCancelGetNextAnode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextAnode(SMnode *pMnode, void *pIter) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:810,1
    - Dst: taosAnalySendReqRetJson
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:812,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:831,1
    - Dst: tjsonGetStringValue2
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:826,1
    - Dst: tjsonGetDoubleValue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:815,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:837,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c:838,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - pObj
    - status
    - statusLen
    argTypes:
    - SAnodeObj*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 839
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 839
    functionName: mndGetAnodeStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndAnode.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosAnalySendReqRetJson
    - tjsonDelete
    - strlen
    - TAOS_RETURN
    - tjsonGetStringValue2
    - tjsonGetDoubleValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetAnodeStatus(SAnodeObj *pObj, char *status, int32_t
      statusLen) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:126,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:124,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:150,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:156,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:160,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:161,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:167,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:168,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:144,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:127,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:128,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:129,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:130,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:131,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:132,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:134,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:133,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:147,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:167,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:120,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:153,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:172,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:158,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:125,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:136,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:137,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:138,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:139,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:140,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:135,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:141,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:142,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:143,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 1
    argNames:
    - pSma
    argTypes:
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 174
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 174
    functionName: mndSmaActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - SDB_SET_INT8
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'static SSdbRaw *mndSmaActionEncode(SSmaObj *pSma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1537,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1540,1
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1541
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1541
    functionName: mndCancelRetrieveIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelRetrieveIdx(SMnode *pMnode, void *pIter) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2077,1
    - Dst: mndAcquireSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2091,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2089,1
    - Dst: mndTSMAGenerateOutputName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2084,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2101,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2106,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2108,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2114,1
    - Dst: hasRecursiveTsmasBasedOnMe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2118,1
    - Dst: mndDropTSMA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2133,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2141,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2138,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2139,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2140,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2142
      start: 2071
    functionDepth: 0
    functionLinenumber: 2071
    functionLinenumberEnd: 2142
    functionName: mndProcessDropTSMAReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndCheckDbPrivilege
    - mndReleaseStb
    - mndReleaseDb
    - mndTSMAGenerateOutputName
    - mndAcquireDb
    - tNameFromString
    - mndReleaseSma
    - mndDropTSMA
    - TAOS_RETURN
    - tDeserializeSMDropSmaReq
    - hasRecursiveTsmasBasedOnMe
    - mndAcquireStb
    - tNameGetFullDbName
    - mndAcquireSma
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropTSMAReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2399,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2409,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2401,1
    - Dst: mndAcquireSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2406,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2408,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2412,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pSma
    - ppOut
    argTypes:
    - SMnode*
    - SSmaObj*
    - SSmaObj**
    constantsTouched: []
    func_position:
      end: 2417
      start: 2395
    functionDepth: 0
    functionLinenumber: 2395
    functionLinenumberEnd: 2417
    functionName: mndGetDeepestBaseForTsma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mError
    - mndReleaseSma
    - mndAcquireSma
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetDeepestBaseForTsma(SMnode *pMnode, SSmaObj *pSma,
      SSmaObj **ppOut) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2554,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 2
    argNames:
    - pSma
    - param
    argTypes:
    - SSmaObj*
    - void*
    constantsTouched: []
    func_position:
      end: 2555
      start: 2552
    functionDepth: 0
    functionLinenumber: 2552
    functionLinenumberEnd: 2555
    functionName: tsmaTbFilter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaTbFilter(const SSmaObj *pSma, void *param) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2577,1
    - Dst: mndGetTableTSMA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2588,1
    - Dst: mndGetTSMA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2586,1
    - Dst: tDeserializeTableTSMAInfoReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2577,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2579,1
    - Dst: tSerializeTableTSMAInfoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2600,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2601,1
    - Dst: tSerializeTableTSMAInfoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2607,1
    - Dst: tFreeTableTSMAInfoRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2620,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2621,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 2622
      start: 2570
    functionDepth: 0
    functionLinenumber: 2570
    functionLinenumberEnd: 2622
    functionName: mndProcessGetTbTSMAReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tSerializeTableTSMAInfoRsp
    - tFreeTableTSMAInfoRsp
    - taosArrayInit
    - TAOS_RETURN
    - mndGetTableTSMA
    - rpcMallocCont
    - tDeserializeTableTSMAInfoReq
    - mndGetTSMA
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetTbTSMAReq(SRpcMsg *pReq) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:184,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:191,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:201,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:204,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:209,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:214,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:208,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:212,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:210,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:216,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:219,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:205,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:222,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:224,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:234,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:236,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:242,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:246,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:259,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:263,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:255,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:200,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:194,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:206,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:211,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:213,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:215,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:217,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:257,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:218,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:256,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:199,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:202,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:203,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:207,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:228,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:230,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:240,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:244,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:253,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:254,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 73
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 265
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 265
    functionName: mndSmaActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - taosMemoryCalloc
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'static SSdbRow *mndSmaActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1544,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1548,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1546,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1547,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1545,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1549,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 1566
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1566
    functionName: initSMAObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndGenerateUid
    - memcpy
    - taosGetTimestampMs
    linkageType: ''
    returnType: void
    signature: 'static void initSMAObj(SCreateTSMACxt *pCxt) '
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2164,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2158,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2168,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2175,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2178,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2178,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2195,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2187,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2195,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2180,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2282,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2246,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2283,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2290,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2278,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2167,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2179,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2196,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2201,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2202,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2223,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2224,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2237,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2247,1
    - Dst: TMIN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2247,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2272,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2293,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2197,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2219,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2152,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2185,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2185,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2191,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2232,1
    - Dst: getPrecisionUnit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2233,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2248,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2259,1
    - Dst: nodeType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2260,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2211,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2262,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2277,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2285,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2211,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2162,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2186,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2206,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2213,1
    - Dst: IS_CALENDAR_TIME_DURATION
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2231,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2235,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2238,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2239,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2245,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2255,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2212,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2218,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2276,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2263,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 170
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 2297
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2297
    functionName: mndRetrieveTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - colDataSetVal
    - sdbFetch
    - varDataSetLen
    - tsnprintf
    - nodeType
    - mndReleaseDb
    - tNameGetTableName
    - sdbCancelFetch
    - FOREACH
    - mndReleaseSma
    - taosArrayGet
    - mndAcquireDb
    - nodesDestroyNode
    - fmIsTSMASupportedFunc
    - STR_TO_VARSTR
    - getPrecisionUnit
    - mndGetDbStr
    - tNameFromString
    - nodesStringToNode
    - IS_CALENDAR_TIME_DURATION
    - TMIN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveTSMA(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2425,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2436,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2429,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2433,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2427,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2437,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2438,1
    - Dst: mndGetDeepestBaseForTsma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2441,1
    - Dst: dumpTSMAInfoFromSmaObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2443,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2445,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2454,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2452,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2449,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2458,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2446,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2450,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2447,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - pMnode
    - tsmaFName
    - rsp
    - exist
    argTypes:
    - SMnode*
    - char*
    - STableTSMAInfoRsp*
    - bool*
    constantsTouched: []
    func_position:
      end: 2459
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2459
    functionName: mndGetTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - mndGetDeepestBaseForTsma
    - taosMemoryCalloc
    - sdbAcquire
    - tFreeAndClearTableTSMAInfo
    - dumpTSMAInfoFromSmaObj
    - TAOS_RETURN
    - mndReleaseSma
    - taosArrayPush
    - mndAcquireStb
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetTSMA(SMnode *pMnode, char *tsmaFName, STableTSMAInfoRsp
      *rsp, bool *exist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGetSomeTsmas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pMnode
    - tbFName
    - pRsp
    - exist
    argTypes:
    - SMnode*
    - char*
    - STableTSMAInfoRsp*
    - bool*
    constantsTouched: []
    func_position:
      end: 2559
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2559
    functionName: mndGetTableTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndGetSomeTsmas
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetTableTSMA(SMnode *pMnode, char *tbFName, STableTSMAInfoRsp
      *pRsp, bool *exist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pSma
    - param
    argTypes:
    - SSmaObj*
    - void*
    constantsTouched: []
    func_position:
      end: 2564
      start: 2561
    functionDepth: 0
    functionLinenumber: 2561
    functionLinenumberEnd: 2564
    functionName: tsmaDbFilter
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool tsmaDbFilter(const SSmaObj *pSma, void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2625,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2633,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2632,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2635,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2631,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2637,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pTsmaVer
    - ppTsma
    argTypes:
    - STSMAVersion*
    - STableTSMAInfo**
    constantsTouched: []
    func_position:
      end: 2642
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2642
    functionName: mkNonExistTSMAInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mkNonExistTSMAInfo(const STSMAVersion *pTsmaVer, STableTSMAInfo
      **ppTsma) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:599,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:641,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:644,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:660,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:643,1
    - Dst: convertTimeFromPrecisionToUnit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:671,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:683,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:683,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:692,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:726,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:727,1
    - Dst: mndSetCreateSmaVgroupRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:743,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:744,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:748,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:750,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:760,1
    - Dst: mndSetCreateSmaVgroupRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:747,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:741,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:602,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:604,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:605,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:606,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:610,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:650,1
    - Dst: qExtractResultSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:697,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:700,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:715,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:716,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:740,1
    - Dst: mndSetCreateSmaRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:742,1
    - Dst: mndSetCreateSmaVgroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:745,1
    - Dst: mndDestroySmaObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:759,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:743,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:746,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:747,1
    - Dst: mndPersistStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:749,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:598,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:609,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:611,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:642,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:646,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:673,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:673,1
    - Dst: mndAllocSmaVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:682,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:690,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:693,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:739,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:761,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:750,1
    - Dst: tFreeStreamObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:758,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:749,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:723,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:737,1
    - Dst: mndSetUpdateSmaStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:746,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:603,1
    - Dst: mndGenerateUid
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:646,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:662,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:684,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:699,1
    - Dst: qCreateQueryPlan
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:713,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:722,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:730,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:736,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:737,1
    - Dst: mndScheduleStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:748,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:752,1
    - Dst: mndSetCreateSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:744,1
    - Dst: nodesNodeToString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:720,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:742,1
    - Dst: mndAddNewVgPrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:741,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:745,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 156
    argCount: 6
    argNames:
    - pMnode
    - pReq
    - pCreate
    - pDb
    - pStb
    - streamName
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SMCreateSmaReq*
    - SDbObj*
    - SStbObj*
    - char*
    constantsTouched: []
    func_position:
      end: 762
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 762
    functionName: mndCreateSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndSetCreateSmaVgroupRedoActions
    - taosMemoryFree
    - mndDestroySmaObj
    - mndSetCreateSmaRedoLogs
    - qExtractResultSchema
    - mndSetUpdateSmaStbCommitLogs
    - mndSetCreateSmaVgroupRedoLogs
    - taosGetTimestampMs
    - nodesNodeToString
    - mndTransCreate
    - memcpy
    - mndAllocSmaVgroup
    - mndSetCreateSmaVgroupCommitLogs
    - TAOS_CHECK_GOTO
    - convertTimeFromPrecisionToUnit
    - mndTransSetSerial
    - mError
    - nodesDestroyNode
    - tstrncpy
    - mndScheduleStream
    - mndSetCreateSmaCommitLogs
    - mndTransDrop
    - mndTransSetDbName
    - mndPersistStream
    - mndTransPrepare
    - mndGenerateUid
    - mInfo
    - snprintf
    - mndAddNewVgPrepareAction
    - tstrerror
    - strlen
    - nodesStringToNode
    - TAOS_RETURN
    - qCreateQueryPlan
    - taosStrdup
    - mndTransCheckConflict
    - tFreeStreamObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateSma(SMnode *pMnode, SRpcMsg *pReq, SMCreateSmaReq
      *pCreate, SDbObj *pDb, SStbObj *pStb, const char *streamName) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: mndGetStreamNameFromSmaName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:833,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:853,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:887,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:821,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:822,1
    - Dst: mndCheckCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:822,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:863,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:868,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:886,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:890,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:892,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:813,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:838,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:876,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:876,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:889,1
    - Dst: tDeserializeSMCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:815,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:815,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:824,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:826,1
    - Dst: mndCreateSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:878,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:840,1
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:845,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:870,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:883,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:883,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:888,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 893
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 893
    functionName: mndProcessCreateSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - tNameGetFullDbName
    - mndReleaseDb
    - tFreeSMCreateSmaReq
    - mndCreateSma
    - mndReleaseSma
    - mndCheckCreateSmaReq
    - mndAcquireStb
    - TAOS_CHECK_GOTO
    - TRACE_GET_ROOTID
    - mndAcquireGlobalIdx
    - mndAcquireDb
    - mError
    - mndGetStreamNameFromSmaName
    - tDeserializeSMCreateSmaReq
    - mInfo
    - mndCheckDbPrivilege
    - mndAcquireStream
    - tNameFromString
    - mndReleaseStream
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateSmaReq(SRpcMsg *pReq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1662,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1668,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1669,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1666,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1670,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1673,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1673,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pOld
    - pNew
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1674
      start: 1660
    functionDepth: 0
    functionLinenumber: 1660
    functionLinenumberEnd: 1674
    functionName: mndSetUpdateDbTsmaVersionPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_RETURN
    - sdbFreeRaw
    - mndDbActionEncode
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetUpdateDbTsmaVersionPrepareLogs(SMnode *pMnode,
      STrans *pTrans, SDbObj *pOld, SDbObj *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:92,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:96,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:93,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:95,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:94,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:98,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:99,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:101,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:102,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:103,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:106,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:104,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:108,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: mndInitSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitSma(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:282,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SSmaObj*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: mndSmaActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSmaActionUpdate(SSdb *pSdb, SSmaObj *pOld, SSmaObj
      *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pSma
    argTypes:
    - SMnode*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 298
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 298
    functionName: mndReleaseSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseSma(SMnode *pMnode, SSmaObj *pSma) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:306,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:316,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:334,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:316,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:340,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:346,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:347,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:349,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:350,1
    - Dst: tEncodeSVCreateTSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:351,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:353,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:352,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:357,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 4
    argNames:
    - pMnode
    - pVgroup
    - pSma
    - pContLen
    argTypes:
    - SMnode*
    - SVgObj*
    - SSmaObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 361
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 361
    functionName: mndBuildVCreateSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tNameGetTableName
    - tNameFromString
    - tstrncpy
    - POINTER_SHIFT
    - tEncodeSize
    - taosMemoryFreeClear
    - tEncodeSVCreateTSmaReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildVCreateSmaReq(SMnode *pMnode, SVgObj *pVgroup,
      SSmaObj *pSma, int32_t *pContLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSmaActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:411,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:415,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:417,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:417,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:418,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:418,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: mndSetCreateSmaRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndSmaActionEncode
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaRedoLogs(SMnode *pMnode, STrans *pTrans,
      SSmaObj *pSma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSmaActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:898,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:905,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:904,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:904,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:905,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 908
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 908
    functionName: mndSetDropSmaRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndSmaActionEncode
    - sdbSetRawStatus
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSmaRedoLogs(SMnode *pMnode, STrans *pTrans,
      SSmaObj *pSma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1156,1
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1161,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1168,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1158,1
    - Dst: tDeserializeSMDropSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1156,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1178,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1183,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1185,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1191,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1191,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1198,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1198,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1201,1
    - Dst: mndDropSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1193,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1203,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1202,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1204
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1204
    functionName: mndProcessDropSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mInfo
    - mndAcquireGlobalIdx
    - mndCheckDbPrivilege
    - mndReleaseDb
    - mndAcquireDb
    - mError
    - mndDropSma
    - tNameFromString
    - tstrerror
    - mndReleaseSma
    - TAOS_RETURN
    - tDeserializeSMDropSmaReq
    - tNameGetFullDbName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropSmaReq(SRpcMsg *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1259,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1265,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1316,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1252,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1259,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1269,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1281,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1286,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1295,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1304,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1306,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1258,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1268,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1285,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1299,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1305,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1294,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1262,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1289,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1302,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1291,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1313,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 4
    argNames:
    - pMnode
    - tbFName
    - rsp
    - exist
    argTypes:
    - SMnode*
    - char*
    - STableIndexRsp*
    - bool*
    constantsTouched: []
    func_position:
      end: 1317
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1317
    functionName: mndGetTableSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - mndAcquireVgroup
    - taosMemoryMalloc
    - taosMemoryFree
    - mndGetVgroupEpset
    - strcmp
    - tstrncpy
    - strlen
    - sdbFetch
    - sdbCancelFetch
    - taosArrayPush
    - TAOS_RETURN
    - mndAcquireStb
    - memcpy
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetTableSma(SMnode *pMnode, char *tbFName, STableIndexRsp
      *rsp, bool *exist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 111
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 111
    functionName: mndCleanupSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupSma(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:288,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - smaName
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: mndAcquireSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SSmaObj*
    signature: 'SSmaObj *mndAcquireSma(SMnode *pMnode, char *smaName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:300,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - db
    argTypes:
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 300
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 300
    functionName: mndAcquireDbBySma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndAcquireDb
    linkageType: ''
    returnType: SDbObj*
    signature: 'SDbObj *mndAcquireDbBySma(SMnode *pMnode, const char *db) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:367,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:375,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:386,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:375,1
    - Dst: tEncodeSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:379,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:392,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:393,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:395,1
    - Dst: tEncoderInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:396,1
    - Dst: tEncodeSVDropTSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:398,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:399,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:400,1
    - Dst: tEncoderClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 4
    argNames:
    - pMnode
    - pVgroup
    - pSma
    - pContLen
    argTypes:
    - SMnode*
    - SVgObj*
    - SSmaObj*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 407
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 407
    functionName: mndBuildVDropSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - htonl
    - tEncoderClear
    - taosMemoryMalloc
    - tEncoderInit
    - tNameGetTableName
    - tNameFromString
    - tstrncpy
    - tEncodeSVDropTSmaReq
    - POINTER_SHIFT
    - tEncodeSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildVDropSmaReq(SMnode *pMnode, SVgObj *pVgroup,
      SSmaObj *pSma, int32_t *pContLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSmaActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:425,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:429,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:432,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:431,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:431,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:433,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: mndSetCreateSmaUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndTransAppendUndolog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndSmaActionEncode
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaUndoLogs(SMnode *pMnode, STrans *pTrans,
      SSmaObj *pSma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSmaActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:912,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:919,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:919,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:918,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:918,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 922
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 922
    functionName: mndSetDropSmaCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndSmaActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSmaCommitLogs(SMnode *pMnode, STrans *pTrans,
      SSmaObj *pSma) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireGlobalIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1211,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1229,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1223,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1225,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1224,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1232,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1234,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1241,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - pMnode
    - indexReq
    - rsp
    - exist
    argTypes:
    - SMnode*
    - SUserIndexReq*
    - SUserIndexRsp*
    - bool*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1243
    functionName: mndGetSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndAcquireGlobalIdx
    - nodesStringToList
    - tstrncpy
    - FOREACH
    - mndReleaseSma
    - memcpy
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetSma(SMnode *pMnode, SUserIndexReq *indexReq,
      SUserIndexRsp *rsp, bool *exist) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1326,1
    - Dst: mndGetSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1328,1
    - Dst: tDeserializeSUserIndexReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1326,1
    - Dst: tSerializeSUserIndexRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1337,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1338,1
    - Dst: tSerializeSUserIndexRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1344,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1358,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1361,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1362
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1362
    functionName: mndProcessGetSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - tSerializeSUserIndexRsp
    - mError
    - tstrerror
    - tDeserializeSUserIndexReq
    - mndGetSma
    - TAOS_RETURN
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetSmaReq(SRpcMsg *pReq) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1371,1
    - Dst: mndGetTableSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1379,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1373,1
    - Dst: tDeserializeSTableIndexReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1371,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1387,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1388,1
    - Dst: tSerializeSTableIndexRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1394,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1408,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1408,1
    - Dst: tFreeSerializeSTableIndexRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1411,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1413
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1413
    functionName: mndProcessGetTbSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - rpcMallocCont
    - tSerializeSTableIndexRsp
    - tDeserializeSTableIndexReq
    - tFreeSerializeSTableIndexRsp
    - mError
    - tstrerror
    - TAOS_RETURN
    - mndGetTableSma
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessGetTbSmaReq(SRpcMsg *pReq) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1453,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1463,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1464,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1494,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1500,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1430,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1425,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1434,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1448,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1448,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1467,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1471,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1476,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1444,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1447,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1447,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1449,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1456,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1453,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1468,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1472,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1479,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1480,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1492,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1424,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1455,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1459,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1484,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1487,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1488,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 90
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1503
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1503
    functionName: mndRetrieveSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - mndReleaseDb
    - tNameGetTableName
    - mndGetDbStr
    - mndAcquireDb
    - colDataSetVal
    - tNameFromString
    - STR_TO_VARSTR
    - strlen
    - sdbFetch
    - sdbCancelFetch
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveSma(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mndGetSomeTsmas
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2567,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - pMnode
    - dbFName
    - dbUid
    - pRsp
    - exist
    argTypes:
    - SMnode*
    - char*
    - uint64_t
    - STableTSMAInfoRsp*
    - bool*
    constantsTouched: []
    func_position:
      end: 2568
      start: 2566
    functionDepth: 0
    functionLinenumber: 2566
    functionLinenumberEnd: 2568
    functionName: mndGetDbTsmas
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndGetSomeTsmas
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetDbTsmas(SMnode *pMnode, const char *dbFName, uint64_t
      dbUid, STableTSMAInfoRsp *pRsp, bool *exist) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pSma
    argTypes:
    - SSdb*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: mndSmaActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSmaActionInsert(SSdb *pSdb, SSmaObj *pSma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:465,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:471,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:471,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:469,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:472,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:472,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 474
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 474
    functionName: mndSetCreateSmaVgroupCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaVgroupCommitLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:955,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:964,1
    - Dst: mndBuildDropVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:967,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:963,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:959,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:971,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:979,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:980,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:981,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:984,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 985
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 985
    functionName: mndSetDropSmaVgroupRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - taosMemoryFree
    - mndBuildDropVnodeReq
    - mndReleaseDnode
    - TAOS_RETURN
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSmaVgroupRedoActions(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1842,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1846,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1847,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - tsmaName
    - streamName
    - targetStbName
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1849
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1849
    functionName: mndTSMAGenerateOutputName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - snprintf
    - tNameFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTSMAGenerateOutputName(const char *tsmaName, char
      *streamName, char *targetStbName) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1984,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1995,1
    - Dst: tSerializeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2025,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2026,1
    - Dst: tSerializeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2032,1
    - Dst: mndSetDropSmaRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2041,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2047,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2047,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1998,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2009,1
    - Dst: mndSetUpdateDbTsmaVersionCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2046,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2050,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1996,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1997,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2001,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2002,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2041,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2033,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2017,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2043,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2044,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2051,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2046,1
    - Dst: mndCreateTSMABuildDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1991,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2008,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2039,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2022,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2042,1
    - Dst: mndSetDropSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2042,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2043,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2044,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2045,1
    - Dst: mndSetUpdateDbTsmaVersionPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2045,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2052,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 2053
      start: 1981
    functionDepth: 0
    functionLinenumber: 1981
    functionLinenumberEnd: 2053
    functionName: mndDropTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - tSerializeSMDropStreamReq
    - taosMemoryCalloc
    - tFreeMDropStreamReq
    - mndSetUpdateDbTsmaVersionCommitLogs
    - mndSetDropSmaRedoLogs
    - mndTransCreate
    - memcpy
    - TAOS_CHECK_GOTO
    - mndGetMnodeEpSet
    - mndTransSetSerial
    - mError
    - mndCreateTSMABuildDropStreamReq
    - tstrncpy
    - mndSetDropSmaCommitLogs
    - mndTransDrop
    - tSerializeSMDropStbReq
    - mndTransSetDbName
    - mndTransPrepare
    - mndSetUpdateDbTsmaVersionPrepareLogs
    - mndTransCheckConflict
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropTSMA(SCreateTSMACxt *pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2303,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2305,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 2306
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2306
    functionName: mndCancelRetrieveTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelRetrieveTSMA(SMnode *pMnode, void *pIter) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndDbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1678,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1685,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1684,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1686,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1682,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1689,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pOld
    - pNew
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1690
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1690
    functionName: mndSetUpdateDbTsmaVersionCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_RETURN
    - sdbFreeRaw
    - mndDbActionEncode
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetUpdateDbTsmaVersionCommitLogs(SMnode *pMnode,
      STrans *pTrans, SDbObj *pOld, SDbObj *pNew) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:273,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:274,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:275,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:276,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pSma
    argTypes:
    - SSdb*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: mndSmaActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSmaActionDelete(SSdb *pSdb, SSmaObj *pSma) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:479,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:488,1
    - Dst: mndStbActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:492,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:480,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:481,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:496,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:498,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:498,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:499,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:499,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 502
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 502
    functionName: mndSetUpdateSmaStbCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - mndTransAppendCommitlog
    - taosRUnLockLatch
    - sdbSetRawStatus
    - taosRLockLatch
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndStbActionEncode
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetUpdateSmaStbCommitLogs(SMnode *pMnode, STrans
      *pTrans, SStbObj *pStb) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:770,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:769,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:771,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:772,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:773,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:774,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:775,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:776,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:778,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:779,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:777,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:768,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:782,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:780,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:786,1
    - Dst: tNameGetTableName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:787,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:790,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:781,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:783,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:783,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:767,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:782,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:780,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:781,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - pCreate
    argTypes:
    - SMCreateSmaReq*
    constantsTouched: []
    func_position:
      end: 791
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 791
    functionName: mndCheckCreateSmaReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - strlen
    - TAOS_RETURN
    - tNameFromString
    - tNameGetTableName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCheckCreateSmaReq(SMCreateSmaReq *pCreate) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1015,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1008,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1017,1
    - Dst: mndGetStreamNameFromSmaName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1022,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1040,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1034,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1040,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1046,1
    - Dst: mndSetDropSmaVgroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1048,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1050,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1029,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1033,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1033,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1045,1
    - Dst: mndSetDropSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1047,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1049,1
    - Dst: mndSetDropSmaVgroupRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1050,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1056,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1058,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1059,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1001,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1016,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1017,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1019,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1027,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1039,1
    - Dst: mndSetDropSmaVgroupRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1046,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1048,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1051,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1051,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:994,1
    - Dst: mndStreamSetDropAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1032,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1041,1
    - Dst: mndSetDropSmaRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1045,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1047,1
    - Dst: mndSetUpdateSmaStbCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1049,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1057,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1060,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 75
    argCount: 4
    argNames:
    - pMnode
    - pReq
    - pDb
    - pSma
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SDbObj*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 1061
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 1061
    functionName: mndDropSma
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - mndSetUpdateSmaStbCommitLogs
    - mndSetDropSmaRedoLogs
    - mndReleaseVgroup
    - mndTransCreate
    - mndAcquireStb
    - mndSetDropSmaVgroupRedoLogs
    - TAOS_CHECK_GOTO
    - mndAcquireVgroup
    - mndSetDropSmaVgroupRedoActions
    - mndTransSetSerial
    - mError
    - mndPersistTransLog
    - mndGetStreamNameFromSmaName
    - mndSetDropSmaVgroupCommitLogs
    - mndSetDropSmaCommitLogs
    - mndStreamSetDropAction
    - mndTransDrop
    - mndTransSetDbName
    - mndTransPrepare
    - mInfo
    - mndAcquireStream
    - mndReleaseStream
    - tstrerror
    - mndTransCheckConflict
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndDropSma(SMnode *pMnode, SRpcMsg *pReq, SDbObj *pDb,
      SSmaObj *pSma) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1865,1
    - Dst: tDeserializeSMCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1870,1
    - Dst: mndCheckCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1876,1
    - Dst: mndTSMAGenerateOutputName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1889,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1915,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1923,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1930,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1978,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1973,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1875,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1891,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1917,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1907,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1897,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1895,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1941,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1975,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1853,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1879,1
    - Dst: tNameGetFullDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1928,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1971,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1974,1
    - Dst: tFreeSMCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1976,1
    - Dst: TRACE_GET_ROOTID
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1862,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1881,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1910,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1936,1
    - Dst: mndCheckDbPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1936,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1939,1
    - Dst: mndCreateTSMA
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1963,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1968,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1968,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1972,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 91
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1979
      start: 1851
    functionDepth: 0
    functionLinenumber: 1851
    functionLinenumberEnd: 1979
    functionName: mndProcessCreateTSMAReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - tNameGetFullDbName
    - mndReleaseDb
    - mndTSMAGenerateOutputName
    - tFreeSMCreateSmaReq
    - mndReleaseSma
    - mndCheckCreateSmaReq
    - mndAcquireStb
    - TAOS_CHECK_GOTO
    - TRACE_GET_ROOTID
    - mndAcquireDb
    - mError
    - sdbAcquire
    - sdbGetSize
    - tDeserializeSMCreateSmaReq
    - mInfo
    - mndCheckDbPrivilege
    - mndAcquireStream
    - tNameFromString
    - mndReleaseStream
    - mndCreateTSMA
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessCreateTSMAReq(SRpcMsg *pReq) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2059,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2061,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2062,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2063,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2066,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pSma
    argTypes:
    - SMnode*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 2069
      start: 2055
    functionDepth: 0
    functionLinenumber: 2055
    functionLinenumberEnd: 2069
    functionName: hasRecursiveTsmasBasedOnMe
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - strncmp
    - sdbFetch
    - sdbRelease
    - sdbCancelFetch
    linkageType: ''
    returnType: bool
    signature: 'static bool hasRecursiveTsmasBasedOnMe(SMnode *pMnode, const SSmaObj
      *pSma) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1706,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1722,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1757,1
    - Dst: mndSetCreateSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1767,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1779,1
    - Dst: mndSetCreateSmaRedoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1765,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1772,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1703,1
    - Dst: mndGetMnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1710,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1714,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1738,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1763,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1766,1
    - Dst: mndSetCreateSmaUndoLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1766,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1768,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1769,1
    - Dst: mndTransAppendUndoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1770,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1771,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1767,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1769,1
    - Dst: mndSetUpdateDbTsmaVersionPrepareLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1771,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1773,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1765,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1704,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1704,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1707,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1719,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1730,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1731,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1744,1
    - Dst: tSerializeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1749,1
    - Dst: tSerializeSMDropStbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1756,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1750,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1698,1
    - Dst: tSerializeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1713,1
    - Dst: tSerializeSMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1737,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1773,1
    - Dst: mndSetUpdateDbTsmaVersionCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1772,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1768,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1778,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1770,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 80
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 1780
      start: 1692
    functionDepth: 0
    functionLinenumber: 1692
    functionLinenumberEnd: 1780
    functionName: mndCreateTSMATxnPrepare
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - tSerializeSMDropStreamReq
    - taosMemoryCalloc
    - mndSetCreateSmaRedoLogs
    - tSerializeSCMCreateStreamReq
    - mndSetUpdateDbTsmaVersionCommitLogs
    - mndTransCreate
    - memcpy
    - TAOS_CHECK_GOTO
    - mndGetMnodeEpSet
    - mndTransSetSerial
    - mError
    - tstrncpy
    - mndSetCreateSmaCommitLogs
    - mndTransDrop
    - tSerializeSMDropStbReq
    - mndTransSetDbName
    - mndSetCreateSmaUndoLogs
    - mndTransPrepare
    - mInfo
    - mndSetUpdateDbTsmaVersionPrepareLogs
    - mndTransCheckConflict
    - mndTransAppendUndoAction
    - TAOS_RETURN
    - mndTransAppendRedoAction
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateTSMATxnPrepare(SCreateTSMACxt *pCxt) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2324,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2330,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2335,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2339,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2361,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2352,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2359,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2378,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2391,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2328,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2323,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2354,1
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2318,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2340,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2365,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2346,1
    - Dst: fmIsTSMASupportedFunc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2349,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2384,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2322,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2329,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2355,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2370,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 4
    argNames:
    - pSma
    - pDestStb
    - pInfo
    - pBaseTsma
    argTypes:
    - SSmaObj*
    - SStbObj*
    - STableTSMAInfo*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 2392
      start: 2308
    functionDepth: 0
    functionLinenumber: 2308
    functionLinenumberEnd: 2392
    functionName: dumpTSMAInfoFromSmaObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosArrayDestroy
    - nodesDestroyNode
    - tNameFromString
    - tstrncpy
    - fmIsTSMASupportedFunc
    - nodesStringToNode
    - FOREACH
    - taosArrayPush
    - taosStrdup
    - TAOS_RETURN
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t dumpTSMAInfoFromSmaObj(const SSmaObj *pSma, const SStbObj
      *pDestStb, STableTSMAInfo *pInfo, const SSmaObj *pBaseTsma) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2491,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2497,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2509,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2510,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2519,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2508,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2534,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2482,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2493,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2494,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2495,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2516,1
    - Dst: dumpTSMAInfoFromSmaObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2528,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2538,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2540,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2542,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2484,1
    - Dst: filtered
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2477,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2478,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2504,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2500,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2521,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2522,1
    - Dst: mndGetDeepestBaseForTsma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2526,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2531,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2532,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2474,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2503,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2514,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2520,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2530,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2535,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2536,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2541,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 5
    argNames:
    - pMnode
    - pRsp
    - filtered
    - param
    - exist
    argTypes:
    - SMnode*
    - STableTSMAInfoRsp*
    - tsmaFilter
    - void*
    - bool*
    constantsTouched: []
    func_position:
      end: 2550
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2550
    functionName: mndGetSomeTsmas
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndReleaseStb
    - snprintf
    - mndAcquireStream
    - mndGetDeepestBaseForTsma
    - filtered
    - taosMemoryCalloc
    - tNameFromString
    - mndReleaseStream
    - tFreeAndClearTableTSMAInfo
    - dumpTSMAInfoFromSmaObj
    - sdbFetch
    - TAOS_RETURN
    - sdbCancelFetch
    - mndReleaseSma
    - taosArrayPush
    - mndAcquireStb
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetSomeTsmas(SMnode *pMnode, STableTSMAInfoRsp *pRsp,
      tsmaFilter filtered, void *param, bool *exist) '
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2663,1
    - Dst: be64toh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2662,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2683,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2696,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2679,1
    - Dst: mkNonExistTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2680,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2685,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2681,1
    - Dst: mndGetDeepestBaseForTsma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2719,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2722,1
    - Dst: tSerializeTSMAHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2750,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2656,1
    - Dst: be64toh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2661,1
    - Dst: mkNonExistTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2668,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2710,1
    - Dst: mndReleaseStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2714,1
    - Dst: dumpTSMAInfoFromSmaObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2720,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2743,1
    - Dst: tSerializeTSMAHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2737,1
    - Dst: tFreeTSMAHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2757,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2653,1
    - Dst: mndAcquireSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2666,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2690,1
    - Dst: mkNonExistTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2697,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2698,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2700,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2702,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2713,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2730,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2732,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2760,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2665,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2670,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2672,1
    - Dst: mndAcquireStb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2694,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2723,1
    - Dst: mndReleaseSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2724,1
    - Dst: tFreeAndClearTableTSMAInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:2726,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 95
    argCount: 5
    argNames:
    - pMnode
    - pTsmaVersions
    - numOfTsmas
    - ppRsp
    - pRspLen
    argTypes:
    - SMnode*
    - STSMAVersion*
    - int32_t
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 2761
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2761
    functionName: mndValidateTSMAInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - tSerializeTSMAHbRsp
    - mndReleaseStb
    - taosMemoryCalloc
    - ntohl
    - mDebug
    - mkNonExistTSMAInfo
    - mndAcquireSma
    - taosArrayInit
    - tFreeTSMAHbRsp
    - taosMemoryMalloc
    - tFreeAndClearTableTSMAInfo
    - taosArrayPush
    - mndReleaseSma
    - mndAcquireStb
    - dumpTSMAInfoFromSmaObj
    - mndGetDeepestBaseForTsma
    - mInfo
    - snprintf
    - TAOS_RETURN
    - be64toh
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndValidateTSMAInfo(SMnode *pMnode, STSMAVersion *pTsmaVersions,
      int32_t numOfTsmas, void **ppRsp, int32_t *pRspLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndSmaActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:438,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:442,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:445,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:444,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:444,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:445,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:447,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 448
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 448
    functionName: mndSetCreateSmaCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - mndSmaActionEncode
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaCommitLogs(SMnode *pMnode, STrans *pTrans,
      SSmaObj *pSma) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:521,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:516,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:517,1
    - Dst: qExtractResultSchema
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:522,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:568,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:582,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:512,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:523,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:540,1
    - Dst: mndBuildCreateVnodeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:552,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:566,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:547,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:569,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:579,1
    - Dst: nodesStringToNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:521,1
    - Dst: nodesDestroyNode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:526,1
    - Dst: mndBuildVCreateSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:543,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:532,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:567,1
    - Dst: mndTransAppendRedoAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:577,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:508,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:524,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:534,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:557,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:578,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 5
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pVgroup
    - pSma
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SVgObj*
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 583
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 583
    functionName: mndSetCreateSmaVgroupRedoActions
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndAcquireDnode
    - snprintf
    - mndBuildCreateVnodeReq
    - taosMemoryFree
    - taosMemoryCalloc
    - mndReleaseDnode
    - nodesDestroyNode
    - qExtractResultSchema
    - TAOS_CHECK_RETURN
    - nodesStringToNode
    - TAOS_RETURN
    - mndBuildVCreateSmaReq
    - mndTransAppendRedoAction
    - mndGetDnodeEpset
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaVgroupRedoActions(SMnode *pMnode, STrans
      *pTrans, SDbObj *pDb, SVgObj *pVgroup, SSmaObj *pSma) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tNameFromString
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:795,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - streamName
    - smaName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: mndGetStreamNameFromSmaName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - snprintf
    - tNameFromString
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndGetStreamNameFromSmaName(char *streamName, char
      *smaName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:926,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:932,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:932,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:933,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:933,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 936
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 936
    functionName: mndSetDropSmaVgroupRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSmaVgroupRedoLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1076,1
    - Dst: mndGetStreamNameFromSmaName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1084,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1093,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1093,1
    - Dst: mndPersistTransLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1098,1
    - Dst: mndSetDropSmaVgroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1106,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1119,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1107,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1103,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1108,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1113,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1121,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1122,1
    - Dst: mndTransSetSerial
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1075,1
    - Dst: mndAcquireStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1090,1
    - Dst: mndStreamSetDropAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1092,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1094,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1106,1
    - Dst: mndReleaseStream
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1099,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1120,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1071,1
    - Dst: mndSetDropSmaVgroupRedoActions
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1107,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1109,1
    - Dst: mndSetDropSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1108,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 4
    argNames:
    - pMnode
    - pTrans
    - pDb
    - pStb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    - SStbObj*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1123
    functionName: mndDropSmasByStb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - mndAcquireVgroup
    - mndAcquireStream
    - mndSetDropSmaVgroupRedoActions
    - mndReleaseVgroup
    - mndTransSetSerial
    - mError
    - terrstr
    - mndReleaseStream
    - mndPersistTransLog
    - sdbFetch
    - mndGetStreamNameFromSmaName
    - mndSetDropSmaVgroupCommitLogs
    - sdbCancelFetch
    - TAOS_RETURN
    - mndStreamSetDropAction
    - mndSetDropSmaCommitLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropSmasByStb(SMnode *pMnode, STrans *pTrans, SDbObj *pDb,
      SStbObj *pStb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndProcessDropSmaReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1507,1
    - Dst: mndProcessDropTagIdxReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1513
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1513
    functionName: mndProcessDropIdxReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndProcessDropTagIdxReq
    - mndProcessDropSmaReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessDropIdxReq(SRpcMsg *pReq) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1569,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1570,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1571,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1591,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1587,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1597,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1609,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1610,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1621,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1621,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1635,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1622,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1640,1
    - Dst: decimalCalcTypeMod
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1637,1
    - Dst: IS_DECIMAL_TYPE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1636,1
    - Dst: FOREACH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1630,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 1647
      start: 1568
    functionDepth: 0
    functionLinenumber: 1568
    functionLinenumberEnd: 1647
    functionName: mndCreateTSMABuildCreateStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - tstrncpy
    - strlen
    - IS_DECIMAL_TYPE
    - taosArrayPush
    - FOREACH
    - taosStrdup
    - decimalCalcTypeMod
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateTSMABuildCreateStreamReq(SCreateTSMACxt *pCxt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:452,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:458,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:458,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:456,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:459,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:459,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:460,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: mndSetCreateSmaVgroupRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mndVgroupActionEncode
    - sdbSetRawStatus
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetCreateSmaVgroupRedoLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:587,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pSmaObj
    argTypes:
    - SSmaObj*
    constantsTouched: []
    func_position:
      end: 590
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 590
    functionName: mndDestroySmaObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void mndDestroySmaObj(SSmaObj *pSmaObj) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndVgroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:940,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:947,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:947,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:946,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:946,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pVgroup
    argTypes:
    - SMnode*
    - STrans*
    - SVgObj*
    constantsTouched: []
    func_position:
      end: 950
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 950
    functionName: mndSetDropSmaVgroupCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - mndVgroupActionEncode
    - mndTransAppendCommitlog
    - sdbSetRawStatus
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropSmaVgroupCommitLogs(SMnode *pMnode, STrans
      *pTrans, SVgObj *pVgroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1132,1
    - Dst: sdbCancelFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1138,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1137,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1139,1
    - Dst: mndSetDropSmaCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1136,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1146,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pDb
    argTypes:
    - SMnode*
    - STrans*
    - SDbObj*
    constantsTouched: []
    func_position:
      end: 1147
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1147
    functionName: mndDropSmasByDb
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - sdbCancelFetch
    - sdbFetch
    - TAOS_RETURN
    - mndSetDropSmaCommitLogs
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndDropSmasByDb(SMnode *pMnode, STrans *pTrans, SDbObj *pDb) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1517,1
    - Dst: mndRetrieveTagIdx
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1524,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1528,1
    - Dst: mndRetrieveSma
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1522,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1532
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1532
    functionName: mndRetrieveIdx
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mndRetrieveSma
    - mndRetrieveTagIdx
    - taosMemoryFree
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveIdx(SRpcMsg *pReq, SShowObj *pShow, SSDataBlock
      *pBlock, int32_t rows) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1650,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1656,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 1658
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1658
    functionName: mndCreateTSMABuildDropStreamReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - strlen
    - taosStrdup
    - tstrncpy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateTSMABuildDropStreamReq(SCreateTSMACxt *pCxt) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: initSMAObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1789,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1807,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1806,1
    - Dst: nodesStringToList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1792,1
    - Dst: taosArrayDup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1800,1
    - Dst: LIST_LENGTH
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1807,1
    - Dst: mndCreateTSMABuildCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1814,1
    - Dst: mndCreateTSMABuildDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1818,1
    - Dst: mndCreateTSMATxnPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1823,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1826,1
    - Dst: nodesDestroyList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1835,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1837,1
    - Dst: tFreeSCMCreateStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1832,1
    - Dst: tFreeMDropStreamReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c:1833,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 1
    argNames:
    - pCxt
    argTypes:
    - SCreateTSMACxt*
    constantsTouched: []
    func_position:
      end: 1838
      start: 1782
    functionDepth: 0
    functionLinenumber: 1782
    functionLinenumberEnd: 1838
    functionName: mndCreateTSMA
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSma.c
    functionUses: []
    functionsReached:
    - mInfo
    - LIST_LENGTH
    - nodesStringToList
    - nodesDestroyList
    - mndCreateTSMABuildDropStreamReq
    - tFreeMDropStreamReq
    - initSMAObj
    - tFreeSCMCreateStreamReq
    - taosArrayDup
    - TAOS_RETURN
    - mndCreateTSMATxnPrepare
    - mndCreateTSMABuildCreateStreamReq
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndCreateTSMA(SCreateTSMACxt *pCxt) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - pMnode
    - vgId
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: mndAcquireArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: SArbGroup*
    signature: 'SArbGroup *mndAcquireArbGroup(SMnode *pMnode, int32_t vgId) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:197,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:201,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:211,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:178,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:198,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:211,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:200,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:212,1
    - Dst: SDB_GET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:183,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:182,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:186,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:187,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:193,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:205,1
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:168,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:175,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:196,1
    - Dst: SDB_GET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:199,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:216,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 218
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 218
    functionName: mndArbGroupActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - SDB_GET_INT8
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - sdbGetRawSoftVer
    - terrstr
    - mError
    - mTrace
    - SDB_GET_INT64
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndArbGroupActionDecode(SSdbRaw *pRaw) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:303,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:308,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:306,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:308,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: mndSetCreateArbGroupCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendCommitlog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateArbGroupCommitLogs(STrans *pTrans, SArbGroup *pGroup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:403,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:410,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:407,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:432,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:442,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:431,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:444,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:437,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:458,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:477,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:426,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:438,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:452,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:460,1
    - Dst: mndSendArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:468,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:403,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:415,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:422,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:448,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:455,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:461,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:467,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:420,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:421,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:427,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:436,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:445,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:441,1
    - Dst: mndGetTerm
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:465,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:470,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:474,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:475,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 480
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 480
    functionName: mndProcessArbHbTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndIsDnodeOnline
    - sdbFetch
    - taosHashInit
    - taosHashCleanup
    - taosArrayInit
    - taosGetTimestampMs
    - taosArrayDestroy
    - taosArrayPush
    - taosHashPut
    - taosGetDefaultHashFunction
    - mndGetArbToken
    - mError
    - taosHashGet
    - mndSendArbHeartBeatReq
    - taosThreadMutexUnlock
    - mndAcquireDnode
    - taosThreadMutexLock
    - mndReleaseDnode
    - taosHashIterate
    - TAOS_RETURN
    - taosHashGetKey
    - mndGetTerm
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbHbTimer(SRpcMsg *pReq) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndCheckArbMemberHbTimeout
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:602,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:633,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:641,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:644,1
    - Dst: mndCheckArbMemberHbTimeout
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:603,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:652,1
    - Dst: mndArbGroupSetAssignedLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:653,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 4
    argNames:
    - pArbGroup
    - nowMs
    - pOp
    - pNewGroup
    argTypes:
    - SArbGroup*
    - int64_t
    - ECheckSyncOp*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 655
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 655
    functionName: mndArbCheckSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndArbGroupDupObj
    - mndArbGroupSetAssignedLeader
    - mDebug
    - mndCheckArbMemberHbTimeout
    linkageType: ''
    returnType: void
    signature: 'void mndArbCheckSync(SArbGroup *pArbGroup, int64_t nowMs, ECheckSyncOp
      *pOp, SArbGroup *pNewGroup) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1168,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1165,1
    - Dst: mndUpdateArbGroupByCheckSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1173,1
    - Dst: mndUpdateArbGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1175,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1176,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1176,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1180,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 6
    argNames:
    - pMnode
    - vgId
    - member0Token
    - member1Token
    - newIsSync
    - rsp_code
    argTypes:
    - SMnode*
    - int32_t
    - char*
    - char*
    - bool
    - int32_t
    constantsTouched: []
    func_position:
      end: 1182
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1182
    functionName: mndUpdateArbSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndUpdateArbGroup
    - mndUpdateArbGroupByCheckSync
    - terrstr
    - sdbAcquire
    - TAOS_RETURN
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateArbSync(SMnode *pMnode, int32_t vgId, char
      *member0Token, char *member1Token, bool newIsSync, int32_t rsp_code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:100,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pGroup
    argTypes:
    - SMnode*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: mndReleaseArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseArbGroup(SMnode *pMnode, SArbGroup *pGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:221,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pSdb
    - pGroup
    argTypes:
    - SSdb*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 227
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 227
    functionName: mndArbGroupActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    - mTrace
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndArbGroupActionInsert(SSdb *pSdb, SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:315,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:318,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:321,1
    - Dst: mndTransAppendPrepareLog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: mndSetDropArbGroupPrepareLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - sdbSetRawStatus
    - TAOS_RETURN
    - mndTransAppendPrepareLog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropArbGroupPrepareLogs(STrans *pTrans, SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:490,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:494,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:498,1
    - Dst: tSerializeSVArbCheckSyncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:499,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:497,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:500,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - pContLen
    - vgId
    - arbToken
    - arbTerm
    - member0Token
    - member1Token
    argTypes:
    - int32_t*
    - int32_t
    - char*
    - int64_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 505
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 505
    functionName: mndBuildArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - htonl
    - tSerializeSVArbCheckSyncReq
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildArbCheckSyncReq(int32_t *pContLen, int32_t vgId,
      char *arbToken, int64_t arbTerm, char *member0Token, char *member1Token) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tDeserializeSAssignLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:666,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:671,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:678,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:685,1
    - Dst: mndAcquireDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:698,1
    - Dst: mndSendArbSetAssignedLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:707,1
    - Dst: tFreeSAssignLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:720,1
    - Dst: mndGetTerm
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:676,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:674,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:681,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:690,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:691,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:692,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:708,1
    - Dst: mndReleaseDnode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:700,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:694,1
    - Dst: mndIsDnodeOnline
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:699,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:674,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:699,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:717,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:721,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:678,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:717,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 722
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 722
    functionName: mndProcessAssignLeaderMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndIsDnodeOnline
    - terrstr
    - sdbFetch
    - tFreeSAssignLeaderReq
    - taosGetTimestampMs
    - tDeserializeSAssignLeaderReq
    - mndArbGroupDupObj
    - mndGetArbToken
    - mError
    - mInfo
    - taosThreadMutexUnlock
    - mndAcquireDnode
    - mndSendArbSetAssignedLeaderReq
    - taosThreadMutexLock
    - TAOS_CHECK_EXIT
    - mndReleaseDnode
    - tstrerror
    - TAOS_RETURN
    - mndGetTerm
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAssignLeaderMsg(SRpcMsg *pReq) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1186,1
    - Dst: tDeserializeSVArbHeartBeatRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1202,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1196,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1198,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1197,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1203,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1204,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1207,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1208,1
    - Dst: tFreeSVArbHeartBeatRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1218,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1214,1
    - Dst: mndUpdateArbGroupsByHeartBeat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1214,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1220
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1220
    functionName: mndProcessArbHbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_CHECK_GOTO
    - mndGetArbToken
    - mndArbCheckToken
    - mError
    - mDebug
    - tstrerror
    - TAOS_RETURN
    - mndUpdateArbGroupsByHeartBeat
    - tDeserializeSVArbHeartBeatRsp
    - tFreeSVArbHeartBeatRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbHbRsp(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 1488
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1488
    functionName: mndGetArbGroupSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - sdbGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndGetArbGroupSize(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildArbCheckSyncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:511,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:513,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:521,1
    - Dst: mndGetVgroupEpsetById
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:518,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:520,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:524,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:527,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:529,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:531,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 6
    argNames:
    - pMnode
    - vgId
    - arbToken
    - term
    - member0Token
    - member1Token
    argTypes:
    - SMnode*
    - int32_t
    - char*
    - int64_t
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 534
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 534
    functionName: mndSendArbCheckSyncReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndBuildArbCheckSyncReq
    - tmsgSendReq
    - mError
    - mDebug
    - mndGetVgroupEpsetById
    - TAOS_RETURN
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSendArbCheckSyncReq(SMnode *pMnode, int32_t vgId,
      char *arbToken, int64_t term, char *member0Token, char *member1Token) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:549,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:553,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:557,1
    - Dst: tSerializeSVArbSetAssignedLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:558,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:556,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 6
    argNames:
    - pContLen
    - vgId
    - arbToken
    - arbTerm
    - memberToken
    - force
    argTypes:
    - int32_t*
    - int32_t
    - char*
    - int64_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 564
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 564
    functionName: mndBuildArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - htonl
    - tSerializeSVArbSetAssignedLeaderReq
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildArbSetAssignedLeaderReq(int32_t *pContLen, int32_t
      vgId, char *arbToken, int64_t arbTerm, char *memberToken, bool force) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pGroup
    - outGroup
    argTypes:
    - SArbGroup*
    - SMArbUpdateGroup*
    constantsTouched: []
    func_position:
      end: 844
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 844
    functionName: mndInitArbUpdateGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void mndInitArbUpdateGroup(SArbGroup *pGroup, SMArbUpdateGroup
      *outGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1094,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1096,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1102,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1095,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1099,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1104,1
    - Dst: mndCheckArbGroupByHeartBeat
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1108,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1110,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1111,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1115,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1118,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1120,1
    - Dst: mndBatchUpdateArbGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1118,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - pMnode
    - dnodeId
    - memberArray
    argTypes:
    - SMnode*
    - int32_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 1122
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1122
    functionName: mndUpdateArbGroupsByHeartBeat
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosGetTimestampMs
    - sdbRelease
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - sdbAcquire
    - mndBatchUpdateArbGroup
    - TAOS_CHECK_RETURN
    - taosArrayPush
    - taosArrayGetSize
    - mndCheckArbGroupByHeartBeat
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateArbGroupsByHeartBeat(SMnode *pMnode, int32_t
      dnodeId, SArray *memberArray) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1396,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1406,1
    - Dst: mndGetDbStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1414,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1418,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1418,1
    - Dst: formatTimestamp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1435,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1436,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1439,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1440,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1445,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1457,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1403,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1399,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1423,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1423,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1436,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1449,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1450,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1451,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1451,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1453,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1411,1
    - Dst: STR_WITH_MAXSIZE_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1414,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1427,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1422,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1428,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1430,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1441,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1441,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1454,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1470,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1445,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1402,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1405,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1410,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1415,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1415,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1417,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1431,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1431,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1444,1
    - Dst: RETRIEVE_CHECK_GOTO
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1454,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1458,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1467,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1461,1
    - Dst: colDataSetNULL
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1464,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1474,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1460,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1463,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 81
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rows
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1478
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1478
    functionName: mndRetrieveArbGroups
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - formatTimestamp
    - taosThreadMutexLock
    - taosArrayGet
    - mndGetDbStr
    - colDataSetVal
    - colDataSetNULL
    - mError
    - sdbAcquire
    - tstrncpy
    - RETRIEVE_CHECK_GOTO
    - tstrerror
    - sdbFetch
    - STR_WITH_MAXSIZE_TO_VARSTR
    - tsnprintf
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveArbGroups(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rows) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pArbGroup
    - index
    - nowMs
    argTypes:
    - SArbGroup*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 539
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 539
    functionName: mndCheckArbMemberHbTimeout
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool mndCheckArbMemberHbTimeout(SArbGroup *pArbGroup, int32_t
      index, int64_t nowMs) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildArbSetAssignedLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:570,1
    - Dst: mndGetDnodeEpsetById
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:579,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:572,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:575,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:581,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:582,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:585,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:587,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:589,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 7
    argNames:
    - pMnode
    - dnodeId
    - vgId
    - arbToken
    - term
    - memberToken
    - force
    argTypes:
    - SMnode*
    - int32_t
    - int32_t
    - char*
    - int64_t
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 594
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 594
    functionName: mndSendArbSetAssignedLeaderReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndBuildArbSetAssignedLeaderReq
    - mInfo
    - tmsgSendReq
    - mError
    - TAOS_RETURN
    - mndGetDnodeEpsetById
    - rpcFreeCont
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSendArbSetAssignedLeaderReq(SMnode *pMnode, int32_t
      dnodeId, int32_t vgId, char *arbToken, int64_t term, char *memberToken, bool
      force) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:847,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:857,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:858,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:848,1
    - Dst: mndInitArbUpdateGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:855,1
    - Dst: mndBuildArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:861,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:863,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:869,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:872,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:875,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - pMnode
    - pNewGroup
    argTypes:
    - SMnode*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 877
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 877
    functionName: mndUpdateArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayDestroy
    - mError
    - taosHashGet
    - mndBuildArbUpdateGroupBatchReq
    - taosArrayPush
    - mndInitArbUpdateGroup
    - taosHashPut
    - tmsgPutToQueue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndUpdateArbGroup(SMnode *pMnode, SArbGroup *pNewGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1128,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1138,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1132,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1140,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1138,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1146,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1149,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1151,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1156,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 7
    argNames:
    - pGroup
    - vgId
    - member0Token
    - member1Token
    - newIsSync
    - pNewGroup
    - code
    argTypes:
    - SArbGroup*
    - int32_t
    - char*
    - char*
    - bool
    - SArbGroup*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1158
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1158
    functionName: mndUpdateArbGroupByCheckSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndArbGroupDupObj
    - taosGetTimestampMs
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mndArbCheckToken
    linkageType: ''
    returnType: bool
    signature: 'bool mndUpdateArbGroupByCheckSync(SArbGroup *pGroup, int32_t vgId,
      char *member0Token, char *member1Token, bool newIsSync, SArbGroup *pNewGroup,
      int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1483
      start: 1480
    functionDepth: 0
    functionLinenumber: 1480
    functionLinenumberEnd: 1483
    functionName: mndCancelGetNextArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextArbGroup(SMnode *pMnode, void *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:105,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - pVgObj
    - outGroup
    argTypes:
    - SVgObj*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: mndArbGroupInitFromVgObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndArbGroupInitFromVgObj(SVgObj *pVgObj, SArbGroup *outGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:279,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:285,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:282,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:284,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:285,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: mndSetCreateArbGroupRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateArbGroupRedoLogs(STrans *pTrans, SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSVArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:357,1
    - Dst: tSerializeSVArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:363,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:364,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:360,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - pContLen
    - arbToken
    - dnodeId
    - arbTerm
    - hbMembers
    argTypes:
    - int32_t*
    - char*
    - int32_t
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 369
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 369
    functionName: mndBuildArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tSerializeSVArbHeartBeatReq
    - rpcMallocCont
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildArbHeartBeatReq(int32_t *pContLen, char *arbToken,
      int32_t dnodeId, int64_t arbTerm, SArray *hbMembers) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:737,1
    - Dst: mndGetRoleTimeMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:743,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:758,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:759,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:761,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:757,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:782,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:788,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:802,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:733,1
    - Dst: mndGetTerm
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:735,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:744,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:746,1
    - Dst: mndArbCheckSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:765,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:773,1
    - Dst: mndBatchUpdateArbGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:802,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:806,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:809,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:733,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:777,1
    - Dst: mndSendArbSetAssignedLeaderReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:776,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:797,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:737,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:740,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:752,1
    - Dst: mndSendArbCheckSyncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:780,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:786,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:792,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:793,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:806,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 811
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 811
    functionName: mndProcessArbCheckSyncTimer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - terrstr
    - sdbFetch
    - taosArrayInit
    - taosGetTimestampMs
    - mndSendArbCheckSyncReq
    - taosArrayDestroy
    - taosArrayPush
    - mndArbGroupDupObj
    - mndGetArbToken
    - mError
    - mndArbCheckSync
    - mndBatchUpdateArbGroup
    - mInfo
    - taosThreadMutexUnlock
    - mndSendArbSetAssignedLeaderReq
    - taosThreadMutexLock
    - mndGetRoleTimeMs
    - mTrace
    - TAOS_CHECK_EXIT
    - TAOS_RETURN
    - mndGetTerm
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbCheckSyncTimer(SRpcMsg *pReq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1020,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pGroup
    - pNew
    argTypes:
    - SArbGroup*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: mndArbGroupDupObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'static void mndArbGroupDupObj(SArbGroup *pGroup, SArbGroup *pNew) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1224,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1236,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1235,1
    - Dst: tDeserializeSVArbCheckSyncRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1240,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1234,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1241,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1241,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1246,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1249,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1250,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1251,1
    - Dst: mndUpdateArbSync
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1258,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1260,1
    - Dst: tFreeSVArbCheckSyncRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1268,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1260,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1269
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1269
    functionName: mndProcessArbCheckSyncRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - tDeserializeSVArbCheckSyncRsp
    - mndGetArbToken
    - mndArbCheckToken
    - terrstr
    - mError
    - mDebug
    - tstrerror
    - tFreeSVArbCheckSyncRsp
    - TAOS_RETURN
    - mndUpdateArbSync
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbCheckSyncRsp(SRpcMsg *pRsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:52,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:53,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - token1
    - token2
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: mndArbCheckToken
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndArbCheckToken(const char *token1, const char *token2) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:124,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:133,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:132,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:128,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:129,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:135,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:138,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:139,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:140,1
    - Dst: SDB_SET_INT8
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:141,1
    - Dst: SDB_SET_INT64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:143,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:151,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:142,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:156,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:152,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:145,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:151,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 158
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 158
    functionName: mndArbGroupActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - SDB_SET_INT8
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - SDB_SET_BINARY
    - SDB_SET_INT64
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndArbGroupActionEncode(SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:291,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:294,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:297,1
    - Dst: mndTransAppendUndolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:296,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:297,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 299
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 299
    functionName: mndSetCreateArbGroupUndoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendUndolog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetCreateArbGroupUndoLogs(STrans *pTrans, SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndBuildArbHeartBeatReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:373,1
    - Dst: mndGetDnodeEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:380,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:383,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:375,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:382,1
    - Dst: tmsgSendReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:387,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:389,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:391,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pDnode
    - arbToken
    - arbTerm
    - hbMembers
    argTypes:
    - SDnodeObj*
    - char*
    - int64_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 394
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 394
    functionName: mndSendArbHeartBeatReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - tmsgSendReq
    - mndBuildArbHeartBeatReq
    - mTrace
    - mError
    - rpcFreeCont
    - mndGetDnodeEpset
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSendArbHeartBeatReq(SDnodeObj *pDnode, char *arbToken,
      int64_t arbTerm, SArray *hbMembers) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:817,1
    - Dst: tSerializeSMArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:822,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:823,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:819,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pContLen
    - updateArray
    argTypes:
    - int32_t*
    - SArray*
    constantsTouched: []
    func_position:
      end: 828
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 828
    functionName: mndBuildArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - rpcMallocCont
    - tSerializeSMArbUpdateGroupBatchReq
    linkageType: ''
    returnType: void*
    signature: 'static void *mndBuildArbUpdateGroupBatchReq(int32_t *pContLen, SArray
      *updateArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pGroup
    - index
    argTypes:
    - SArbGroup*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1029
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1029
    functionName: mndArbGroupSetAssignedLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void mndArbGroupSetAssignedLeader(SArbGroup *pGroup, int32_t
      index) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1275,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1277,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1283,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1276,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1283,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1288,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1292,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1298,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pGroup
    - vgId
    - memberToken
    - errcode
    - pNewGroup
    argTypes:
    - SArbGroup*
    - int32_t
    - char*
    - int32_t
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 1300
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1300
    functionName: mndUpdateArbGroupBySetAssignedLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndArbGroupDupObj
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mndArbCheckToken
    - tstrerror
    linkageType: ''
    returnType: bool
    signature: 'bool mndUpdateArbGroupBySetAssignedLeader(SArbGroup *pGroup, int32_t
      vgId, char *memberToken, int32_t errcode, SArbGroup *pNewGroup) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:68,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:69,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:72,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:71,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:70,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:73,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:74,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:76,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:77,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:79,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:85,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:79,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 86
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 86
    functionName: mndInitArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    - TAOS_RETURN
    - mndAddShowFreeIterHandle
    - sdbSetTable
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitArbGroup(SMnode *pMnode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:230,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:232,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - pSdb
    - pGroup
    argTypes:
    - SSdb*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 236
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 236
    functionName: mndArbGroupActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndArbGroupActionDelete(SSdb *pSdb, SArbGroup *pGroup) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:327,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:333,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:330,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:332,1
    - Dst: mndTransAppendRedolog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:332,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:333,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 335
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 335
    functionName: mndSetDropArbGroupRedoLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendRedolog
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSetDropArbGroupRedoLogs(STrans *pTrans, SArbGroup
      *pGroup) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:882,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:885,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:883,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:887,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:886,1
    - Dst: mndInitArbUpdateGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:892,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:894,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:895,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:898,1
    - Dst: mndBuildArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:904,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:919,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:912,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:906,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:921,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:920,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:915,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 35
    argCount: 2
    argNames:
    - pMnode
    - newGroupArray
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 927
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 927
    functionName: mndBatchUpdateArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - taosArrayDestroy
    - mError
    - taosHashGet
    - taosHashRemove
    - mndBuildArbUpdateGroupBatchReq
    - mndInitArbUpdateGroup
    - taosArrayPush
    - taosHashPut
    - taosArrayGetSize
    - tmsgPutToQueue
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndBatchUpdateArbGroup(SMnode *pMnode, SArray *newGroupArray) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pGroup
    argTypes:
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 1035
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1035
    functionName: mndArbGroupResetAssignedLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'static void mndArbGroupResetAssignedLeader(SArbGroup *pGroup) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1304,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1316,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1315,1
    - Dst: tDeserializeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1320,1
    - Dst: mndGetArbToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1314,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1321,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1322,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1325,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1326,1
    - Dst: mndAcquireArbGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1332,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1345,1
    - Dst: tFreeSVArbSetAssignedLeaderRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1353,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1334,1
    - Dst: mndUpdateArbGroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1344,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1345,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1334,1
    - Dst: mndUpdateArbGroupBySetAssignedLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1341,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - pRsp
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1355
      start: 1302
    functionDepth: 0
    functionLinenumber: 1302
    functionLinenumberEnd: 1355
    functionName: mndProcessArbSetAssignedLeaderRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndGetArbToken
    - mndUpdateArbGroupBySetAssignedLeader
    - mndUpdateArbGroup
    - mndArbCheckToken
    - terrstr
    - mError
    - tFreeSVArbSetAssignedLeaderRsp
    - mndAcquireArbGroup
    - mDebug
    - tstrerror
    - TAOS_RETURN
    - tDeserializeSVArbSetAssignedLeaderRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbSetAssignedLeaderRsp(SRpcMsg *pRsp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: mndCleanupArbGroup
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupArbGroup(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:239,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:254,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:243,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:240,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:250,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:260,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:267,1
    - Dst: mndIsLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:269,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:270,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:271,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pSdb
    - pOld
    - pNew
    argTypes:
    - SSdb*
    - SArbGroup*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 275
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 275
    functionName: mndArbGroupActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mTrace
    - mError
    - tstrncpy
    - taosHashRemove
    - mndIsLeader
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndArbGroupActionUpdate(SSdb *pSdb, SArbGroup *pOld,
      SArbGroup *pNew) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mndArbGroupActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:339,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:342,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:344,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:345,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:344,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pGroup
    argTypes:
    - STrans*
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 347
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 347
    functionName: mndSetDropArbGroupCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mndArbGroupActionEncode
    - TAOS_RETURN
    - sdbSetRawStatus
    - mndTransAppendCommitlog
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetDropArbGroupCommitLogs(STrans *pTrans, SArbGroup *pGroup) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:935,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:985,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:986,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:990,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1009,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:936,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:959,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:977,1
    - Dst: mndTransAddArbGroupId
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:982,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:942,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:940,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:946,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:954,1
    - Dst: mndSetCreateArbGroupCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:984,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:965,1
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:973,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:995,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:998,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1008,1
    - Dst: tDeserializeSMArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:934,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:942,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:948,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:975,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:976,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:999,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1007,1
    - Dst: tFreeSMArbUpdateGroupBatchReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1015,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1014,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 1
    argNames:
    - pReq
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 1017
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 1017
    functionName: mndProcessArbUpdateGroupBatchReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbRelease
    - taosArrayGet
    - terrstr
    - mError
    - sdbAcquire
    - mndTransAddArbGroupId
    - tstrncpy
    - taosHashRemove
    - tDeserializeSMArbUpdateGroupBatchReq
    - TAOS_RETURN
    - mndTransCheckConflict
    - mndTransDrop
    - mndTransCreate
    - taosArrayGetSize
    - mndTransPrepare
    - mndSetCreateArbGroupCommitLogs
    - tFreeSMArbUpdateGroupBatchReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessArbUpdateGroupBatchReq(SRpcMsg *pReq) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1042,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1070,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1060,1
    - Dst: mndArbCheckToken
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1068,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1054,1
    - Dst: mndArbGroupDupObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1075,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1076,1
    - Dst: mndArbGroupResetAssignedLeader
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1081,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1086,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1089,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 5
    argNames:
    - pGroup
    - pRspMember
    - nowMs
    - dnodeId
    - pNewGroup
    argTypes:
    - SArbGroup*
    - SVArbHbRspMember*
    - int64_t
    - int32_t
    - SArbGroup*
    constantsTouched: []
    func_position:
      end: 1091
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1091
    functionName: mndCheckArbGroupByHeartBeat
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndArbGroupDupObj
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mndArbCheckToken
    - mDebug
    - tstrncpy
    - mndArbGroupResetAssignedLeader
    linkageType: ''
    returnType: bool
    signature: 'bool mndCheckArbGroupByHeartBeat(SArbGroup *pGroup, SVArbHbRspMember
      *pRspMember, int64_t nowMs, int32_t dnodeId, SArbGroup *pNewGroup) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosLocalTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1369,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1370,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1373,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1376,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1378,1
    - Dst: sprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c:1380,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 3
    argNames:
    - buf
    - val
    - precision
    argTypes:
    - char*
    - int64_t
    - int
    constantsTouched: []
    func_position:
      end: 1384
      start: 1357
    functionDepth: 0
    functionLinenumber: 1357
    functionLinenumberEnd: 1384
    functionName: formatTimestamp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndArbGroup.c
    functionUses: []
    functionsReached:
    - mError
    - taosStrfTime
    - taosLocalTime
    - sprintf
    linkageType: ''
    returnType: char*
    signature: 'static char *formatTimestamp(char *buf, int64_t val, int precision) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tSerializeSMqHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:233,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:237,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:243,1
    - Dst: tSerializeSMqHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:242,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - pMsg
    - rsp
    argTypes:
    - SRpcMsg*
    - SMqHbRsp*
    constantsTouched: []
    func_position:
      end: 249
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 249
    functionName: buildMqHbRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - rpcMallocCont
    - tSerializeSMqHbRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildMqHbRsp(SRpcMsg *pMsg, SMqHbRsp *rsp) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:435,1
    - Dst: strncmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:436,1
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:435,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:437,1
    - Dst: tListLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:436,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:444,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:446,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:446,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:452,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:456,1
    - Dst: buildAskEpRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:461,1
    - Dst: tDeleteSMqAskEpRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:464,1
    - Dst: PRINT_LOG_END
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:466,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:465,1
    - Dst: addEpSetInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:458,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:458,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 468
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 468
    functionName: mndProcessAskEpReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - tDeleteSMqAskEpRsp
    - mndAcquireConsumer
    - MND_TMQ_RETURN_CHECK
    - strncmp
    - atomic_load_32
    - mError
    - mndConsumerStatusName
    - PRINT_LOG_END
    - mndReleaseConsumer
    - buildAskEpRsp
    - tListLen
    - addEpSetInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessAskEpReq(SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:650,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:662,1
    - Dst: mndSetConsumerCommitLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:669,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:674,1
    - Dst: PRINT_LOG_END
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:678,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:659,1
    - Dst: checkAndSortTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:661,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:665,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:670,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:669,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:667,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:654,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:655,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:656,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:668,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:675,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:651,1
    - Dst: tDeserializeSCMSubscribeReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:650,1
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:654,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:661,1
    - Dst: buildSubConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:668,1
    - Dst: validateTopics
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:667,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:670,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 680
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 680
    functionName: mndProcessSubscribeReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mndAcquireConsumer
    - MND_TMQ_RETURN_CHECK
    - checkAndSortTopic
    - MND_TMQ_NULL_CHECK
    - taosArrayDestroyP
    - validateTopics
    - mndSetConsumerCommitLogs
    - buildSubConsumer
    - tDeserializeSCMSubscribeReq
    - mndTransDrop
    - mndTransCreate
    - mndReleaseConsumer
    - tDeleteSMqConsumerObj
    - taosArrayGetSize
    - PRINT_LOG_END
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessSubscribeReq(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:946,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - pMnode
    - consumerId
    - pConsumer
    argTypes:
    - SMnode*
    - int64_t
    - SMqConsumerObj**
    constantsTouched: []
    func_position:
      end: 951
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 951
    functionName: mndAcquireConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - sdbAcquire
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndAcquireConsumer(SMnode *pMnode, int64_t consumerId, SMqConsumerObj**
      pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:261,1
    - Dst: tDeserializeSMqHbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:261,1
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:263,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:263,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:264,1
    - Dst: checkPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:264,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:265,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:266,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:268,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:269,1
    - Dst: buildMqHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:274,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:278,1
    - Dst: tDestroySMqHbReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:279,1
    - Dst: tDestroySMqHbRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:277,1
    - Dst: storeOffsetRows
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 282
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 282
    functionName: mndProcessMqHbReq
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - tDeserializeSMqHbReq
    - taosGetTimestampMs
    - mndAcquireConsumer
    - atomic_store_32
    - storeOffsetRows
    - MND_TMQ_RETURN_CHECK
    - tDestroySMqHbRsp
    - tDestroySMqHbReq
    - mDebug
    - buildMqHbRsp
    - mndReleaseConsumer
    - checkPrivilege
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessMqHbReq(SRpcMsg *pMsg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndConsumerActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:475,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:479,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:477,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:482,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:476,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pConsumer
    argTypes:
    - STrans*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: mndSetConsumerDropLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mndConsumerActionEncode
    - mndTransAppendCommitlog
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - sdbSetRawStatus
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetConsumerDropLogs(STrans *pTrans, SMqConsumerObj *pConsumer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:530,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:533,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:553,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:552,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:554,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:551,1
    - Dst: ADD_TOPIC_TO_ARRAY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:546,1
    - Dst: ADD_TOPIC_TO_ARRAY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:540,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:544,1
    - Dst: ADD_TOPIC_TO_ARRAY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:564,1
    - Dst: ADD_TOPIC_TO_ARRAY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:560,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:571,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:529,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:538,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:545,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:571,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:528,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:531,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:534,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:539,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:550,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 2
    argNames:
    - pExistedConsumer
    - pConsumerNew
    argTypes:
    - SMqConsumerObj*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 577
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 577
    functionName: getTopicAddDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - MND_TMQ_NULL_CHECK
    - strcmp
    - taosArrayGetSize
    - taosArrayInit
    - ADD_TOPIC_TO_ARRAY
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getTopicAddDelete(SMqConsumerObj *pExistedConsumer,
      SMqConsumerObj *pConsumerNew) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:691,1
    - Dst: sdbAllocRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:694,1
    - Dst: SDB_SET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:706,1
    - Dst: tEncodeSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:701,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:697,1
    - Dst: SDB_SET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:707,1
    - Dst: SDB_SET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:708,1
    - Dst: SDB_SET_DATALEN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:709,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:714,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:716,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:721,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:717,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:716,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 1
    argNames:
    - pConsumer
    argTypes:
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 723
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 723
    functionName: mndConsumerActionEncode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - SDB_SET_DATALEN
    - taosMemoryMalloc
    - SDB_SET_INT32
    - terrstr
    - mError
    - mTrace
    - tEncodeSMqConsumerObj
    - taosMemoryFreeClear
    - SDB_SET_BINARY
    - sdbAllocRaw
    - sdbFreeRaw
    - SDB_SET_RESERVE
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *mndConsumerActionEncode(SMqConsumerObj *pConsumer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:958,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pMnode
    - pConsumer
    argTypes:
    - SMnode*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 959
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 959
    functionName: mndReleaseConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - sdbRelease
    linkageType: ''
    returnType: void
    signature: 'void mndReleaseConsumer(SMnode *pMnode, SMqConsumerObj *pConsumer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 1136
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1136
    functionName: mndConsumerStatusName
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *mndConsumerStatusName(int status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: mndCleanupConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupConsumer(SMnode *pMnode) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:318,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:330,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:343,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:351,1
    - Dst: mndAcquireVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:361,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:369,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:386,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:378,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:368,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:347,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:288,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:300,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:292,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:311,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:327,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:322,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:333,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:341,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:342,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:346,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:356,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:383,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:371,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:329,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:336,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:339,1
    - Dst: mndReleaseVgroup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:364,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:372,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:379,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:350,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:380,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:384,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:349,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:335,1
    - Dst: mndGetVgroupEpset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:363,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:376,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:377,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:294,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:290,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:303,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:304,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:308,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:315,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:321,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:325,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:328,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:317,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:370,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 4
    argNames:
    - pMnode
    - pConsumer
    - epoch
    - rsp
    argTypes:
    - SMnode*
    - SMqConsumerObj*
    - int32_t
    - SMqAskEpRsp*
    constantsTouched: []
    func_position:
      end: 388
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 388
    functionName: addEpSetInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosMemoryCalloc
    - mndReleaseSubscribe
    - mndAcquireSubscribeByKey
    - taosArrayGetSize
    - taosArrayInit
    - taosArrayDestroy
    - mndReleaseVgroup
    - taosRUnLockLatch
    - mndGetVgroupEpset
    - taosArrayPush
    - mndAcquireTopic
    - memcpy
    - mndReleaseTopic
    - mndAcquireVgroup
    - taosHashGet
    - tstrncpy
    - snprintf
    - taosRLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t addEpSetInfo(SMnode *pMnode, SMqConsumerObj *pConsumer,
      int32_t epoch, SMqAskEpRsp *rsp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndConsumerActionEncode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:492,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:499,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:496,1
    - Dst: mndTransAppendCommitlog
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:494,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:493,1
    - Dst: sdbSetRawStatus
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:499,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pTrans
    - pConsumer
    argTypes:
    - STrans*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: mndSetConsumerCommitLogs
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mndConsumerActionEncode
    - mndTransAppendCommitlog
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - sdbSetRawStatus
    - sdbFreeRaw
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSetConsumerCommitLogs(STrans *pTrans, SMqConsumerObj *pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:583,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:586,1
    - Dst: taosArrayRemoveDuplicate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:584,1
    - Dst: mndGetGroupNumByTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:588,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:588,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - pMnode
    - pTopicList
    argTypes:
    - SMnode*
    - SArray*
    constantsTouched: []
    func_position:
      end: 594
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 594
    functionName: checkAndSortTopic
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mndGetGroupNumByTopic
    - taosArraySort
    - taosArrayGetSize
    - taosArrayRemoveDuplicate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkAndSortTopic(SMnode *pMnode, SArray *pTopicList) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawSoftVer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:737,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:759,1
    - Dst: sdbAllocRow
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:746,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:751,1
    - Dst: SDB_GET_INT32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:758,1
    - Dst: SDB_GET_BINARY
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:765,1
    - Dst: SDB_GET_RESERVE
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:766,1
    - Dst: tDecodeSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:768,1
    - Dst: tmsgUpdateDnodeEpSet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:773,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:776,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:778,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:780,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:779,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 40
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 784
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 784
    functionName: mndConsumerActionDecode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - SDB_GET_BINARY
    - SDB_GET_INT32
    - sdbAllocRow
    - taosMemoryMalloc
    - sdbGetRawSoftVer
    - tDecodeSMqConsumerObj
    - tmsgUpdateDnodeEpSet
    - mError
    - terrstr
    - SDB_GET_RESERVE
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *mndConsumerActionDecode(SSdbRaw *pRaw) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:75,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:86,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:76,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:87,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - pMnode
    - consumerId
    - msgType
    - info
    argTypes:
    - SMnode*
    - int64_t
    - uint16_t
    - SRpcHandleInfo*
    constantsTouched: []
    func_position:
      end: 93
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 93
    functionName: mndSendConsumerMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - tmsgPutToQueue
    - rpcMallocCont
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSendConsumerMsg(SMnode *pMnode, int64_t consumerId, uint16_t
      msgType, SRpcHandleInfo *info) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeSMqAskEpRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:396,1
    - Dst: POINTER_SHIFT
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:410,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:412,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:397,1
    - Dst: tEncodeSMqAskEpRsp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:411,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - pMsg
    - rsp
    - serverEpoch
    - consumerId
    argTypes:
    - SRpcMsg*
    - SMqAskEpRsp*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 420
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 420
    functionName: buildAskEpRsp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - POINTER_SHIFT
    - rpcMallocCont
    - tEncodeSMqAskEpRsp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildAskEpRsp(SRpcMsg *pMsg, SMqAskEpRsp *rsp, int32_t
      serverEpoch, int64_t consumerId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:510,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: freeItem
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void freeItem(void *param) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:604,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:610,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:606,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:608,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:610,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:612,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:614,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:616,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:617,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:623,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:634,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:626,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:624,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:633,1
    - Dst: getTopicAddDelete
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:624,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:623,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 3
    argNames:
    - pMnode
    - subscribe
    - ppConsumer
    argTypes:
    - SMnode*
    - SCMSubscribeReq*
    - SMqConsumerObj**
    constantsTouched: []
    func_position:
      end: 636
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 636
    functionName: buildSubConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - getTopicAddDelete
    - mndAcquireConsumer
    - mndReleaseConsumer
    - MND_TMQ_RETURN_CHECK
    - atomic_load_32
    - mndConsumerStatusName
    - tDeleteSMqConsumerObj
    - tNewSMqConsumerObj
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t buildSubConsumer(SMnode *pMnode, SCMSubscribeReq *subscribe,
      SMqConsumerObj** ppConsumer) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:790,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:791,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pConsumer
    argTypes:
    - SSdb*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: mndConsumerActionInsert
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndConsumerStatusName
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndConsumerActionInsert(SSdb *pSdb, SMqConsumerObj
      *pConsumer) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:173,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:173,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:174,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:176,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:175,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:178,1
    - Dst: taosArrayReserve
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:182,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:183,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:184,1
    - Dst: mndCheckTopicPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:185,1
    - Dst: grantCheckExpire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:186,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:191,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 4
    argNames:
    - pMnode
    - pConsumer
    - rsp
    - user
    argTypes:
    - SMnode*
    - SMqConsumerObj*
    - SMqHbRsp*
    - char*
    constantsTouched: []
    func_position:
      end: 195
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 195
    functionName: checkPrivilege
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - MND_TMQ_NULL_CHECK
    - mndReleaseTopic
    - tstrncpy
    - mndCheckTopicPrivilege
    - mndAcquireTopic
    - taosArrayReserve
    - taosArrayGetSize
    - grantCheckExpire
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t checkPrivilege(SMnode *pMnode, SMqConsumerObj *pConsumer,
      SMqHbRsp *rsp, char *user) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:842,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:844,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pConsumer
    - pTopic
    argTypes:
    - SMqConsumerObj*
    - char*
    constantsTouched: []
    func_position:
      end: 852
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 852
    functionName: existInCurrentTopicList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosArrayGetSize
    - strcmp
    linkageType: ''
    returnType: bool
    signature: 'static bool existInCurrentTopicList(const SMqConsumerObj *pConsumer,
      const char *pTopic) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:57,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:60,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:59,1
    - Dst: mndAddShowRetrieveHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:62,1
    - Dst: mndSetMsgHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:58,1
    - Dst: mndAddShowFreeIterHandle
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:63,1
    - Dst: sdbSetTable
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: mndInitConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - sdbSetTable
    - mndAddShowFreeIterHandle
    - mndAddShowRetrieveHandle
    - mndSetMsgHandle
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitConsumer(SMnode *pMnode) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:201,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:210,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:206,1
    - Dst: mndAcquireSubscribeByKey
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:211,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:202,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:213,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:216,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:217,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:219,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:223,1
    - Dst: mndReleaseSubscribe
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:225,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - pMnode
    - req
    - pConsumer
    argTypes:
    - SMnode*
    - SMqHbReq*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 227
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 227
    functionName: storeOffsetRows
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - snprintf
    - taosArrayGet
    - taosArrayDestroy
    - mndReleaseSubscribe
    - mError
    - taosHashGet
    - taosWUnLockLatch
    - mndAcquireSubscribeByKey
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: void
    signature: 'static void storeOffsetRows(SMnode *pMnode, SMqHbReq *req, SMqConsumerObj
      *pConsumer) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:823,1
    - Dst: taosArrayRemove
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:827,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:825,1
    - Dst: strcmp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:826,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:828,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:830,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:831,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - topicList
    - pTopic
    - consumerId
    - type
    argTypes:
    - SArray*
    - char*
    - int64_t
    - char*
    constantsTouched: []
    func_position:
      end: 835
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 835
    functionName: removeFromTopicList
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - mInfo
    - taosMemoryFree
    - taosArrayRemove
    - strcmp
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void removeFromTopicList(SArray *topicList, const char *pTopic,
      int64_t consumerId, char *type) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:858,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:890,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:899,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:909,1
    - Dst: removeFromTopicList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:919,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:923,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:926,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:929,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:865,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:870,1
    - Dst: taosArraySort
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:894,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:888,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:891,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:880,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:899,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:908,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:910,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:927,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:866,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:861,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:868,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:872,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:873,1
    - Dst: removeFromTopicList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:884,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:887,1
    - Dst: existInCurrentTopicList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:885,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:903,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:906,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:931,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:932,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:934,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:914,1
    - Dst: TSWAP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:864,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:874,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:876,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:904,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:910,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:911,1
    - Dst: removeFromTopicList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:918,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:923,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:933,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:933,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:937,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 3
    argNames:
    - pSdb
    - pOldConsumer
    - pNewConsumer
    argTypes:
    - SSdb*
    - SMqConsumerObj*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 939
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 939
    functionName: mndConsumerActionUpdate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - TSWAP
    - taosGetTimestampMs
    - taosArrayGetP
    - taosMemoryFree
    - mError
    - removeFromTopicList
    - mndConsumerStatusName
    - taosArraySort
    - existInCurrentTopicList
    - taosArrayPush
    - taosStrdup
    - atomic_add_fetch_32
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndConsumerActionUpdate(SSdb *pSdb, SMqConsumerObj
      *pOldConsumer, SMqConsumerObj *pNewConsumer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:102,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:105,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:104,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:106,1
    - Dst: mndAcquireTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:105,1
    - Dst: mndCheckTopicPrivilege
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:106,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:107,1
    - Dst: grantCheckExpire
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:107,1
    - Dst: mndAcquireDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:114,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:120,1
    - Dst: mndReleaseDb
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:124,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:128,1
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:130,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:136,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:130,1
    - Dst: mndTransSetDbName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:129,1
    - Dst: mndReleaseTopic
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:131,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 42
    argCount: 4
    argNames:
    - pTrans
    - subscribe
    - pMnode
    - pUser
    argTypes:
    - STrans*
    - SCMSubscribeReq*
    - SMnode*
    - char*
    constantsTouched: []
    func_position:
      end: 138
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 138
    functionName: validateTopics
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - snprintf
    - mndReleaseDb
    - MND_TMQ_RETURN_CHECK
    - mndAcquireDb
    - mndReleaseTopic
    - mndTransCheckConflict
    - mndCheckTopicPrivilege
    - mndAcquireTopic
    - mndTransSetDbName
    - taosArrayGetSize
    - grantCheckExpire
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t validateTopics(STrans* pTrans, SCMSubscribeReq *subscribe,
      SMnode *pMnode, const char *pUser) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:800,1
    - Dst: tClearSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:802,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:801,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - pConsumer
    argTypes:
    - SSdb*
    - SMqConsumerObj*
    constantsTouched: []
    func_position:
      end: 804
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 804
    functionName: mndConsumerActionDelete
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndConsumerStatusName
    - tClearSMqConsumerObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndConsumerActionDelete(SSdb *pSdb, SMqConsumerObj
      *pConsumer) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:979,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1017,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1018,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1022,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1033,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1034,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1038,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1042,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1045,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1087,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1073,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1086,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1005,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1046,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1052,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1053,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1079,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1060,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1032,1
    - Dst: taosRLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:985,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1006,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1010,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1016,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1026,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1008,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:981,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1070,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1075,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1080,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1069,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1056,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1062,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1064,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1088,1
    - Dst: varDataVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1090,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1047,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1068,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:996,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1006,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1094,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1095,1
    - Dst: sdbFetch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:974,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1006,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1078,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1052,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1051,1
    - Dst: tFormatOffset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1084,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1092,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1099,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1009,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1014,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1010,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1026,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1030,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1062,1
    - Dst: STR_TO_VARSTR
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1048,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1018,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1024,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1034,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1040,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1100,1
    - Dst: sdbRelease
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1105,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1050,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1057,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:980,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1074,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1090,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1098,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1115,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:986,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1064,1
    - Dst: varDataSetLen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1090,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1088,1
    - Dst: mndTopicGetShowName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1060,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1075,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1080,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1100,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:988,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1093,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1094,1
    - Dst: taosRUnLockLatch
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1104,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1005,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1114,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1042,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1041,1
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1061,1
    - Dst: blockDataEnsureCapacity
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:996,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1025,1
    - Dst: colDataSetVal
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1070,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 143
    argCount: 4
    argNames:
    - pReq
    - pShow
    - pBlock
    - rowsCapacity
    argTypes:
    - SRpcMsg*
    - SShowObj*
    - SSDataBlock*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1117
      start: 961
    functionDepth: 0
    functionLinenumber: 961
    functionLinenumberEnd: 1117
    functionName: mndRetrieveConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - colDataSetVal
    - taosMemoryCalloc
    - sdbFetch
    - varDataSetLen
    - taosArrayGetSize
    - MND_TMQ_NULL_CHECK
    - taosRUnLockLatch
    - varDataVal
    - mndConsumerStatusName
    - tFormatOffset
    - mndTopicGetShowName
    - taosArrayGet
    - MND_TMQ_RETURN_CHECK
    - blockDataEnsureCapacity
    - STR_TO_VARSTR
    - taosMemoryFreeClear
    - mInfo
    - snprintf
    - taosRLockLatch
    - strlen
    - sdbRelease
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndRetrieveConsumer(SRpcMsg *pReq, SShowObj *pShow,
      SSDataBlock *pBlock, int32_t rowsCapacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:151,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:152,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:155,1
    - Dst: mndConsumerStatusName
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:153,1
    - Dst: mndAcquireConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:151,1
    - Dst: tNewSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:155,1
    - Dst: mndTransCreate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:156,1
    - Dst: MND_TMQ_NULL_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:157,1
    - Dst: MND_TMQ_RETURN_CHECK
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:158,1
    - Dst: mndSetConsumerDropLogs
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:158,1
    - Dst: mndTransDrop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:164,1
    - Dst: tDeleteSMqConsumerObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:163,1
    - Dst: mndTransPrepare
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:159,1
    - Dst: mndReleaseConsumer
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - pMsg
    argTypes:
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 166
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 166
    functionName: mndProcessConsumerClearMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndAcquireConsumer
    - mndReleaseConsumer
    - MND_TMQ_RETURN_CHECK
    - MND_TMQ_NULL_CHECK
    - mndConsumerStatusName
    - tDeleteSMqConsumerObj
    - mndTransDrop
    - mndTransCreate
    - tNewSMqConsumerObj
    - mndSetConsumerDropLogs
    - mndTransPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndProcessConsumerClearMsg(SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbCancelFetchByType
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c:1122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pMnode
    - pIter
    argTypes:
    - SMnode*
    - void*
    constantsTouched: []
    func_position:
      end: 1123
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1123
    functionName: mndCancelGetNextConsumer
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndConsumer.c
    functionUses: []
    functionsReached:
    - sdbCancelFetchByType
    linkageType: ''
    returnType: void
    signature: 'static void mndCancelGetNextConsumer(SMnode *pMnode, void *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mndTransCheckConflict
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:128,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:135,1
    - Dst: mndTransValidatePrepareStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:133,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:130,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:129,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: mndTransValidateImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mError
    - mndTransCheckConflict
    - mndTransValidatePrepareStage
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransValidateImp(SMnode *pMnode, STrans *pTrans) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:288,1
    - Dst: sdbStartRead
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 4
    argNames:
    - pFsm
    - pSnapshot
    - pReaderParam
    - ppReader
    argTypes:
    - SSyncFSM*
    - SSnapshot*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 293
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 293
    functionName: mndSyncGetSnapshot
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbStartRead
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSyncGetSnapshot(const SSyncFSM *pFsm, SSnapshot *pSnapshot,
      void *pReaderParam, void **ppReader) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:364,1
    - Dst: sdbStopWrite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - isApply
    - pSnapshot
    argTypes:
    - SSyncFSM*
    - void*
    - bool
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 369
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 369
    functionName: mndSnapshotStopWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbStopWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSnapshotStopWrite(const SSyncFSM *pFsm, void *pWriter,
      bool isApply, SSnapshot *pSnapshot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:417,1
    - Dst: mndStreamResetInitTaskListLoadFlag
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:421,1
    - Dst: mndUpdateStreamExecInfoRole
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 422
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 422
    functionName: mndBecomeLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - mndUpdateStreamExecInfoRole
    - mndStreamResetInitTaskListLoadFlag
    linkageType: ''
    returnType: void
    signature: 'static void mndBecomeLeader(const SSyncFSM *pFsm) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:547,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:549,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:554,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:565,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:551,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 572
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 572
    functionName: mndSyncCheckTimeout
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mTrace
    - mError
    - mDebug
    - taosGetTimestampSec
    linkageType: ''
    returnType: void
    signature: 'void mndSyncCheckTimeout(SMnode *pMnode) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mndTransDecode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:142,1
    - Dst: sdbGetRowObj
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:149,1
    - Dst: mndTransValidateImp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:156,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:160,1
    - Dst: mndTransDropData
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:159,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:162,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 20
    argCount: 2
    argNames:
    - pMnode
    - pRaw
    argTypes:
    - SMnode*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 163
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 163
    functionName: mndTransValidate
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mndTransValidateImp
    - mndTransDecode
    - mndTransDropData
    - TAOS_RETURN
    - taosMemoryFreeClear
    - sdbGetRowObj
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransValidate(SMnode *pMnode, SSdbRaw *pRaw) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetCommitInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:297,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pFsm
    - pSnapshot
    argTypes:
    - SSyncFSM*
    - SSnapshot*
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: mndSyncGetSnapshotInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - sdbGetCommitInfo
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSyncGetSnapshotInfo(const SSyncFSM *pFsm, SSnapshot
      *pSnapshot) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbDoWrite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:373,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pWriter
    - pBuf
    - len
    argTypes:
    - SSyncFSM*
    - void*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: mndSnapshotDoWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - sdbDoWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSnapshotDoWrite(const SSyncFSM *pFsm, void *pWriter, void
      *pBuf, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: mndApplyQueueEmpty
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - tmsgGetQueueSize
    linkageType: ''
    returnType: bool
    signature: 'static bool mndApplyQueueEmpty(const SSyncFSM *pFsm) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:601,1
    - Dst: sdbGetRawTotalSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:577,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:588,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:590,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:603,1
    - Dst: sdbSetApplyInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:613,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:620,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:629,1
    - Dst: rpcMallocCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:580,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:582,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:584,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:589,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:594,1
    - Dst: syncPropose
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:599,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:604,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:610,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:616,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:616,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:591,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:596,1
    - Dst: sdbWriteWithoutFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:611,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:606,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:626,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - pMnode
    - pRaw
    - transId
    argTypes:
    - SMnode*
    - SSdbRaw*
    - int32_t
    constantsTouched: []
    func_position:
      end: 635
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 635
    functionName: mndSyncPropose
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - sdbWriteWithoutFree
    - sdbSetApplyInfo
    - taosThreadMutexLock
    - sdbGetRawTotalSize
    - terrstr
    - mError
    - tsem_wait
    - taosGetTimestampSec
    - TAOS_RETURN
    - rpcFreeCont
    - memcpy
    - rpcMallocCont
    - syncPropose
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSyncPropose(SMnode *pMnode, SSdbRaw *pRaw, int32_t transId) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:173,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:180,1
    - Dst: mndTransValidate
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:183,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:185,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:185,1
    - Dst: mndTransRefresh
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:219,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:178,1
    - Dst: mndAcquireTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:202,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:206,1
    - Dst: mndTransPerformPrepareStage
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:211,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:206,1
    - Dst: sdbWriteFile
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:222,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:191,1
    - Dst: mndReleaseTrans
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:225,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:226,1
    - Dst: sdbGetIdFromRaw
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:170,1
    - Dst: sdbWriteWithoutFree
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:192,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:194,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:200,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:196,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:218,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:194,1
    - Dst: sdbSetApplyInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:221,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 3
    argNames:
    - pMnode
    - pMsg
    - pMeta
    argTypes:
    - SMnode*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 227
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 227
    functionName: mndProcessWriteMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - sdbWriteWithoutFree
    - mndAcquireTrans
    - taosThreadMutexLock
    - sdbSetApplyInfo
    - mndTransPerformPrepareStage
    - terrstr
    - mError
    - mndTransRefresh
    - sdbWriteFile
    - syncStr
    - tstrerror
    - TAOS_RETURN
    - mndReleaseTrans
    - sdbGetIdFromRaw
    - mndTransValidate
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndProcessWriteMsg(SMnode *pMnode, SRpcMsg *pMsg, SFsmCbMeta
      *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:341,1
    - Dst: sdbStartRead
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppReader
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: mndSnapshotStartRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbStartRead
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSnapshotStartRead(const SSyncFSM *pFsm, void *pParam, void
      **ppReader) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:231,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:246,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:242,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:246,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:241,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:248,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pMnode
    - code
    argTypes:
    - SMnode*
    - int32_t
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: mndPostMgmtCode
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mError
    - tstrerror
    - tsem_post
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndPostMgmtCode(SMnode *pMnode, int32_t code) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:347,1
    - Dst: sdbStopRead
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - pFsm
    - pReader
    argTypes:
    - SSyncFSM*
    - void*
    constantsTouched: []
    func_position:
      end: 350
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 350
    functionName: mndSnapshotStopRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbStopRead
    linkageType: ''
    returnType: void
    signature: 'static void mndSnapshotStopRead(const SSyncFSM *pFsm, void *pReader) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:267,1
    - Dst: mndProcessWriteMsg
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:273,1
    - Dst: mndPostMgmtCode
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:276,1
    - Dst: syncUtilUserCommit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:269,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:277,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:279,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pFsm
    - pMsg
    - pMeta
    argTypes:
    - SSyncFSM*
    - SRpcMsg*
    - SFsmCbMeta*
    constantsTouched: []
    func_position:
      end: 280
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 280
    functionName: mndSyncCommitMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mndProcessWriteMsg
    - atomic_store_64
    - TAOS_RETURN
    - syncUtilUserCommit
    - rpcFreeCont
    - mndPostMgmtCode
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSyncCommitMsg(const SSyncFSM *pFsm, SRpcMsg *pMsg, SFsmCbMeta
      *pMeta) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbDoRead
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - pFsm
    - pReader
    - ppBuf
    - len
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 355
    functionName: mndSnapshotDoRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - sdbDoRead
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSnapshotDoRead(const SSyncFSM *pFsm, void *pReader, void
      **ppBuf, int32_t *len) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:379,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:381,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:388,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:389,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:383,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:392,1
    - Dst: mndUpdateStreamExecInfoRole
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 395
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 395
    functionName: mndBecomeFollower
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mError
    - tsem_post
    - mndUpdateStreamExecInfoRole
    linkageType: ''
    returnType: void
    signature: 'static void mndBecomeFollower(const SSyncFSM *pFsm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgGetQueueSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: mndApplyQueueItems
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - tmsgGetQueueSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndApplyQueueItems(const SSyncFSM *pFsm) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:638,1
    - Dst: syncStart
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:640,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:641,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:644,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 645
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 645
    functionName: mndSyncStart
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - syncStart
    - mError
    linkageType: ''
    returnType: void
    signature: 'void mndSyncStart(SMnode *pMnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pFSM
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: mndSyncAppliedIndex
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: SyncIndex
    signature: 'SyncIndex mndSyncAppliedIndex(const SSyncFSM *pFSM) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:358,1
    - Dst: sdbStartWrite
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:360,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 3
    argNames:
    - pFsm
    - pParam
    - ppWriter
    argTypes:
    - SSyncFSM*
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: mndSnapshotStartWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbStartWrite
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndSnapshotStartWrite(const SSyncFSM *pFsm, void *pParam,
      void **ppWriter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:400,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:410,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:402,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:409,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:404,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pFsm
    argTypes:
    - SSyncFSM*
    constantsTouched: []
    func_position:
      end: 414
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 414
    functionName: mndBecomeLearner
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mError
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'static void mndBecomeLearner(const SSyncFSM *pFsm) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: mndSyncMakeFsm
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: SSyncFSM*
    signature: 'SSyncFSM *mndSyncMakeFsm(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:650,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:657,1
    - Dst: tsem_post
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:656,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:660,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:652,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 661
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 661
    functionName: mndSyncStop
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - mError
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'void mndSyncStop(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validateFp
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:86,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 3
    argNames:
    - pMnode
    - pTrans
    - pAction
    argTypes:
    - SMnode*
    - STrans*
    - STransAction*
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: mndTransValidatePrepareAction
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - validateFp
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransValidatePrepareAction(SMnode *pMnode, STrans
      *pTrans, STransAction *pAction) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:51,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:62,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:52,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:55,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:60,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 66
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 66
    functionName: mndSyncEqMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - htonl
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSyncEqMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:306,1
    - Dst: mndTransPullup
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:307,1
    - Dst: mndSetRestored
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:308,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:310,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:313,1
    - Dst: mndRefreshUserIpWhiteList
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:315,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:317,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:317,1
    - Dst: mndSetRestored
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:318,1
    - Dst: mndSyncAppliedIndex
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:321,1
    - Dst: mndSetRestored
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:325,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:323,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pFsm
    - commitIdx
    argTypes:
    - SSyncFSM*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 327
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 327
    functionName: mndRestoreFinish
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - mndTransPullup
    - tstrerror
    - mndSyncAppliedIndex
    - mndSetRestored
    - mndRefreshUserIpWhiteList
    linkageType: ''
    returnType: void
    signature: 'void mndRestoreFinish(const SSyncFSM *pFsm, const SyncIndex commitIdx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:481,1
    - Dst: tsem_init
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:518,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:525,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:477,1
    - Dst: mndSyncMakeFsm
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:498,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:497,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:500,1
    - Dst: tmsgUpdateDnodeInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:512,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:525,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:530,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:520,1
    - Dst: syncOpen
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:522,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:519,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:510,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:519,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:476,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:513,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:531,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 532
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 532
    functionName: mndInitSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - tsem_init
    - taosThreadMutexInit
    - mndSyncMakeFsm
    - mError
    - tstrncpy
    - tstrerror
    - TAOS_RETURN
    - tmsgUpdateDnodeInfo
    - syncOpen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mndInitSync(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:28,1
    - Dst: tmsgPutToQueue
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:37,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:39,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:32,1
    - Dst: htonl
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:29,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - msgcb
    - pMsg
    argTypes:
    - SMsgCb*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 43
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 43
    functionName: mndSyncEqCtrlMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - htonl
    - tmsgPutToQueue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSyncEqCtrlMsg(const SMsgCb *msgcb, SRpcMsg *pMsg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tmsgSendSyncReq
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:69,1
    - Dst: rpcFreeCont
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pEpSet
    - pMsg
    argTypes:
    - SEpSet*
    - SRpcMsg*
    constantsTouched: []
    func_position:
      end: 75
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 75
    functionName: mndSyncSendMsg
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - rpcFreeCont
    - tmsgSendSyncReq
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndSyncSendMsg(const SEpSet *pEpSet, SRpcMsg *pMsg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:97,1
    - Dst: mndTransValidatePrepareAction
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:113,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:106,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:109,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:103,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:115,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pMnode
    - pTrans
    argTypes:
    - SMnode*
    - STrans*
    constantsTouched: []
    func_position:
      end: 123
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 123
    functionName: mndTransValidatePrepareStage
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosArrayGet
    - mndTransValidatePrepareAction
    - mError
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mndTransValidatePrepareStage(SMnode *pMnode, STrans
      *pTrans) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbAfterRestored
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:333,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:336,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pFsm
    - commitIdx
    argTypes:
    - SSyncFSM*
    - SyncIndex
    constantsTouched: []
    func_position:
      end: 338
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 338
    functionName: mndAfterRestored
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - sdbAfterRestored
    linkageType: ''
    returnType: void
    signature: 'void mndAfterRestored(const SSyncFSM *pFsm, const SyncIndex commitIdx) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: syncStop
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:536,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:540,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:542,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:539,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:537,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: mndCleanupSync
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexDestroy
    - mError
    - memset
    - syncStop
    - tsem_destroy
    linkageType: ''
    returnType: void
    signature: 'void mndCleanupSync(SMnode *pMnode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: syncGetState
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:665,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:680,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:668,1
    - Dst: mDebug
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:674,1
    - Dst: syncStr
      Src: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pMnode
    argTypes:
    - SMnode*
    constantsTouched: []
    func_position:
      end: 685
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 685
    functionName: mndIsLeader
    functionSourceFile: /src/tdengine/source/dnode/mnode/impl/src/mndSync.c
    functionUses: []
    functionsReached:
    - syncGetState
    - syncStr
    - mDebug
    linkageType: ''
    returnType: bool
    signature: 'bool mndIsLeader(SMnode *pMnode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:98,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: sdbSetRawInt32
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawInt32(SSdbRaw *pRaw, int32_t dataPos, int32_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:130,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:135,1
    - Dst: taosSetInt64Aligned
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:138,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 140
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 140
    functionName: sdbSetRawInt64
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - taosSetInt64Aligned
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawInt64(SSdbRaw *pRaw, int32_t dataPos, int64_t val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:323,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:328,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pRaw
    - dataPos
    - pVal
    - valLen
    argTypes:
    - SSdbRaw*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 334
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 334
    functionName: sdbGetRawBinary
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - memcpy
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawBinary(SSdbRaw *pRaw, int32_t dataPos, char *pVal,
      int32_t valLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:114,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int16_t
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: sdbSetRawInt16
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawInt16(SSdbRaw *pRaw, int32_t dataPos, int16_t val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:146,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - float
    constantsTouched: []
    func_position:
      end: 156
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 156
    functionName: sdbSetRawFloat
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawFloat(SSdbRaw *pRaw, int32_t dataPos, float val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pRaw
    - sver
    argTypes:
    - SSdbRaw*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: sdbGetRawSoftVer
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawSoftVer(SSdbRaw *pRaw, int8_t *sver) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pSdb
    - pRaw
    argTypes:
    - SSdb*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 26
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 26
    functionName: sdbGetIdFromRaw
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetIdFromRaw(SSdb *pSdb, SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:196,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:201,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pRaw
    - status
    argTypes:
    - SSdbRaw*
    - ESdbStatus
    constantsTouched: []
    func_position:
      end: 206
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 206
    functionName: sdbSetRawStatus
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawStatus(SSdbRaw *pRaw, ESdbStatus status) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:259,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 269
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 269
    functionName: sdbGetRawInt32
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawInt32(SSdbRaw *pRaw, int32_t dataPos, int32_t *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:29,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:40,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:40,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - type
    - sver
    - dataLen
    argTypes:
    - ESdbType
    - int8_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 43
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 43
    functionName: sdbAllocRaw
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mTrace
    - sdbTableName
    linkageType: ''
    returnType: SSdbRaw*
    signature: 'SSdbRaw *sdbAllocRaw(ESdbType type, int8_t sver, int32_t dataLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:212,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int8_t*
    constantsTouched: []
    func_position:
      end: 222
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 222
    functionName: sdbGetRawInt8
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawInt8(SSdbRaw *pRaw, int32_t dataPos, int8_t *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:275,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int16_t*
    constantsTouched: []
    func_position:
      end: 285
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 285
    functionName: sdbGetRawInt16
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawInt16(SSdbRaw *pRaw, int32_t dataPos, int16_t *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:48,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:50,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: sdbFreeRaw
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - mTrace
    - taosMemoryFree
    - sdbTableName
    linkageType: ''
    returnType: void
    signature: 'void sdbFreeRaw(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:74,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: sdbSetRawUInt8
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawUInt8(SSdbRaw *pRaw, int32_t dataPos, uint8_t val) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:162,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:171,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:167,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pRaw
    - dataPos
    - pVal
    - valLen
    argTypes:
    - SSdbRaw*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 174
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 174
    functionName: sdbSetRawBinary
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - memcpy
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawBinary(SSdbRaw *pRaw, int32_t dataPos, const char
      *pVal, int32_t valLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:58,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 68
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 68
    functionName: sdbSetRawInt8
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawInt8(SSdbRaw *pRaw, int32_t dataPos, int8_t val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbSetRawUInt8
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:88,1
    - Dst: sdbSetRawUInt8
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: sdbSetRawBool
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - sdbSetRawUInt8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawBool(SSdbRaw *pRaw, int32_t dataPos, bool val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:180,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pRaw
    - dataLen
    argTypes:
    - SSdbRaw*
    - int32_t
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 190
    functionName: sdbSetRawDataLen
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetRawDataLen(SSdbRaw *pRaw, int32_t dataLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pRaw
    argTypes:
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 354
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 354
    functionName: sdbGetRawTotalSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawTotalSize(SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:228,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: sdbGetRawUInt8
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawUInt8(SSdbRaw *pRaw, int32_t dataPos, uint8_t *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:291,1
    - Dst: taosSetPInt64Aligned
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:299,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - int64_t*
    constantsTouched: []
    func_position:
      end: 301
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 301
    functionName: sdbGetRawInt64
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - taosSetPInt64Aligned
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawInt64(SSdbRaw *pRaw, int32_t dataPos, int64_t *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetRawUInt8
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: sdbGetRawBool
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - sdbGetRawUInt8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawBool(SSdbRaw *pRaw, int32_t dataPos, bool *val) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pRaw
    - dataPos
    - val
    argTypes:
    - SSdbRaw*
    - int32_t
    - float*
    constantsTouched: []
    func_position:
      end: 317
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 317
    functionName: sdbGetRawFloat
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRaw.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetRawFloat(SSdbRaw *pRaw, int32_t dataPos, float *val) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:19,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:26,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - objSize
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: sdbAllocRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - mTrace
    linkageType: ''
    returnType: SSdbRow*
    signature: 'SSdbRow *sdbAllocRow(int32_t objSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:44,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:44,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:51,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:48,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pSdb
    - pRow
    - callFunc
    argTypes:
    - SSdb*
    - SSdbRow*
    - bool
    constantsTouched: []
    func_position:
      end: 54
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 54
    functionName: sdbFreeRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c
    functionUses: []
    functionsReached:
    - mInfo
    - mTrace
    - sdbPrintOper
    - sdbTableName
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void sdbFreeRow(SSdb *pSdb, SSdbRow *pRow, bool callFunc) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - pRow
    argTypes:
    - SSdbRow*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: sdbGetRowObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbRow.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *sdbGetRowObj(SSdbRow *pRow) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteWithoutFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:296,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:297,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - pSdb
    - pRaw
    argTypes:
    - SSdb*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: sdbWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbFreeRaw
    - sdbWriteWithoutFree
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbWrite(SSdb *pSdb, SSdbRaw *pRaw) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:425,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:429,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:432,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:440,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:436,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:441,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:447,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 19
    argCount: 6
    argNames:
    - pSdb
    - type
    - pIter
    - ppObj
    - status
    - lock
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    - void**
    - ESdbStatus*
    - bool
    constantsTouched: []
    func_position:
      end: 451
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 451
    functionName: sdbFetchAll
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbPrintOper
    - taosHashIterate
    - atomic_add_fetch_32
    - sdbReadLock
    - sdbGetHash
    linkageType: ''
    returnType: void*
    signature: 'void *sdbFetchAll(SSdb *pSdb, ESdbType type, void *pIter, void **ppObj,
      ESdbStatus *status, bool lock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:501,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:504,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:506,1
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:505,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - ESdbType
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: sdbGetSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbGetHash
    - sdbReadLock
    - taosHashGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetSize(SSdb *pSdb, ESdbType type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:304,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:314,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:312,1
    - Dst: sdbGetkeySize
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:308,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:310,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:322,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:324,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:340,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:342,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:346,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 4
    argNames:
    - pSdb
    - type
    - pKey
    - onlyReady
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 348
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 348
    functionName: sdbAcquireAll
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbGetkeySize
    - sdbPrintOper
    - taosHashGet
    - sdbReadLock
    - atomic_add_fetch_32
    - sdbGetHash
    linkageType: ''
    returnType: void*
    signature: 'void *sdbAcquireAll(SSdb *pSdb, ESdbType type, const void *pKey, bool
      onlyReady) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:456,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:463,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:462,1
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:457,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:461,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pSdb
    - pIter
    argTypes:
    - SSdb*
    - void*
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: sdbCancelFetch
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - mTrace
    - taosHashCancelIterate
    - sdbReadLock
    - sdbGetHash
    linkageType: ''
    returnType: void
    signature: 'void sdbCancelFetch(SSdb *pSdb, void *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:512,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:525,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:518,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:524,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:520,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:528,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:529,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - ESdbType
    constantsTouched: []
    func_position:
      end: 531
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 531
    functionName: sdbGetMaxId
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - taosHashIterate
    - sdbReadLock
    - TMAX
    - sdbGetHash
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetMaxId(SSdb *pSdb, ESdbType type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbTraverse
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - ESdbType
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: sdbGetValidSize
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbTraverse
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbGetValidSize(SSdb *pSdb, ESdbType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:469,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:474,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:472,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:473,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pSdb
    - pIter
    - type
    argTypes:
    - SSdb*
    - void*
    - ESdbType
    constantsTouched: []
    func_position:
      end: 475
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 475
    functionName: sdbCancelFetchByType
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - taosHashCancelIterate
    - sdbGetHash
    - sdbReadLock
    linkageType: ''
    returnType: void
    signature: 'void sdbCancelFetchByType(SSdb *pSdb, void *pIter, ESdbType type) '
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ESdbType
    constantsTouched: []
    func_position:
      end: 83
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 83
    functionName: sdbTableName
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *sdbTableName(ESdbType type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:478,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:483,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:481,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:489,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:494,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:497,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 16
    argCount: 6
    argNames:
    - pSdb
    - type
    - fp
    - p1
    - p2
    - p3
    argTypes:
    - SSdb*
    - ESdbType
    - sdbTraverseFp
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 498
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 498
    functionName: sdbTraverse
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - taosHashIterate
    - taosHashCancelIterate
    - sdbReadLock
    - sdbGetHash
    linkageType: ''
    returnType: void
    signature: 'void sdbTraverse(SSdb *pSdb, ESdbType type, sdbTraverseFp fp, void
      *p1, void *p2, void *p3) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: sdbGetHash
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SHashObj*
    signature: 'static SHashObj *sdbGetHash(SSdb *pSdb, int32_t type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - ESdbStatus
    constantsTouched: []
    func_position:
      end: 102
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 102
    functionName: sdbStatusName
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *sdbStatusName(ESdbStatus status) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquireAll
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pSdb
    - type
    - pKey
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    constantsTouched: []
    func_position:
      end: 350
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 350
    functionName: sdbAcquire
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbAcquireAll
    linkageType: ''
    returnType: void*
    signature: 'void *sdbAcquire(SSdb *pSdb, ESdbType type, const void *pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:357,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:365,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:362,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:359,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pSdb
    - pRow
    argTypes:
    - SSdb*
    - SSdbRow*
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: sdbCheckRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - sdbPrintOper
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: void
    signature: 'static void sdbCheckRow(SSdb *pSdb, SSdbRow *pRow) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:109,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:109,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:112,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:112,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:110,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:113,1
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:115,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:115,1
    - Dst: sdbStatusName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - pSdb
    - pRow
    - oper
    argTypes:
    - SSdb*
    - SSdbRow*
    - char*
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: sdbPrintOper
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - mTrace
    - sdbStatusName
    - sdbTableName
    linkageType: ''
    returnType: void
    signature: 'void sdbPrintOper(SSdb *pSdb, SSdbRow *pRow, const char *oper) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:144,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pSdb
    - type
    - pKey
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: sdbGetkeySize
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbGetkeySize(SSdb *pSdb, ESdbType type, const void
      *pKey) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbAcquireAll
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pSdb
    - type
    - pKey
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: sdbAcquireNotReadyObj
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbAcquireAll
    linkageType: ''
    returnType: void*
    signature: 'void *sdbAcquireNotReadyObj(SSdb *pSdb, ESdbType type, const void
      *pKey) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:376,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:382,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:385,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:379,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:380,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:385,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pSdb
    - pObj
    - lock
    argTypes:
    - SSdb*
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 391
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 391
    functionName: sdbReleaseLock
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - mError
    - sdbPrintOper
    - atomic_sub_fetch_32
    - sdbTableName
    linkageType: ''
    returnType: void
    signature: 'void sdbReleaseLock(SSdb *pSdb, void *pObj, bool lock) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:154,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:166,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:159,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:156,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:158,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:169,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:170,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:171,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:179,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:192,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:182,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:183,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:180,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:189,1
    - Dst: TMAX
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:195,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - pSdb
    - hash
    - pRaw
    - pRow
    - keySize
    argTypes:
    - SSdb*
    - SHashObj*
    - SSdbRaw*
    - SSdbRow*
    - int32_t
    constantsTouched: []
    func_position:
      end: 200
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 200
    functionName: sdbInsertRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - sdbPrintOper
    - mError
    - taosHashGet
    - taosHashRemove
    - TMAX
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbInsertRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw,
      SSdbRow *pRow, int32_t keySize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:232,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:234,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:236,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:244,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:237,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:245,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:247,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:248,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:249,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:254,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:256,1
    - Dst: sdbCheckRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:258,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - pSdb
    - hash
    - pRaw
    - pRow
    - keySize
    argTypes:
    - SSdb*
    - SHashObj*
    - SSdbRaw*
    - SSdbRow*
    - int32_t
    constantsTouched: []
    func_position:
      end: 260
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 260
    functionName: sdbDeleteRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - sdbPrintOper
    - taosHashGet
    - taosHashRemove
    - sdbCheckRow
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbDeleteRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw,
      SSdbRow *pRow, int32_t keySize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbReleaseLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pObj
    argTypes:
    - SSdb*
    - void*
    constantsTouched: []
    func_position:
      end: 393
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 393
    functionName: sdbRelease
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbReleaseLock
    linkageType: ''
    returnType: void
    signature: 'void sdbRelease(SSdb *pSdb, void *pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - ESdbType
    constantsTouched: []
    func_position:
      end: 540
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 540
    functionName: sdbGetTableVer
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t sdbGetTableVer(SSdb *pSdb, ESdbType type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:204,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:206,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:214,1
    - Dst: sdbInsertRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:209,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:208,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:221,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:224,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 5
    argNames:
    - pSdb
    - hash
    - pRaw
    - pNewRow
    - keySize
    argTypes:
    - SSdb*
    - SHashObj*
    - SSdbRaw*
    - SSdbRow*
    - int32_t
    constantsTouched: []
    func_position:
      end: 228
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 228
    functionName: sdbUpdateRow
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - sdbPrintOper
    - taosHashGet
    - sdbInsertRow
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbUpdateRow(SSdb *pSdb, SHashObj *hash, SSdbRaw *pRaw,
      SSdbRow *pNewRow, int32_t keySize) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:264,1
    - Dst: sdbGetkeySize
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:275,1
    - Dst: sdbInsertRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:280,1
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:266,1
    - Dst: sdbUpdateRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:285,1
    - Dst: sdbDeleteRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:288,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 17
    argCount: 2
    argNames:
    - pSdb
    - pRaw
    argTypes:
    - SSdb*
    - SSdbRaw*
    constantsTouched: []
    func_position:
      end: 293
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 293
    functionName: sdbWriteWithoutFree
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbGetkeySize
    - mTrace
    - sdbInsertRow
    - sdbGetHash
    - sdbDeleteRow
    - sdbUpdateRow
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbWriteWithoutFree(SSdb *pSdb, SSdbRaw *pRaw) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbGetHash
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:398,1
    - Dst: sdbReadLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:401,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:407,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:411,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:403,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:413,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c:417,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 4
    argNames:
    - pSdb
    - type
    - pIter
    - ppObj
    argTypes:
    - SSdb*
    - ESdbType
    - void*
    - void**
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: sdbFetch
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached:
    - sdbUnLock
    - sdbPrintOper
    - taosHashIterate
    - atomic_add_fetch_32
    - sdbReadLock
    - sdbGetHash
    linkageType: ''
    returnType: void*
    signature: 'void *sdbFetch(SSdb *pSdb, ESdbType type, void *pIter, void **ppObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 5
    argNames:
    - pMnode
    - pObj
    - p1
    - p2
    - p3
    argTypes:
    - SMnode*
    - void*
    - void*
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 546
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 546
    functionName: countValid
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbHash.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool countValid(SMnode *pMnode, void *pObj, void *p1, void *p2, void
      *p3) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:21,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:31,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:23,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:26,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:26,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:32,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:33,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:34,1
    - Dst: sdbCleanup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:36,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:38,1
    - Dst: taosThreadRwlockInit
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:48,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:63,1
    - Dst: sdbCleanup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:43,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:62,1
    - Dst: sdbCreateDir
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:42,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:38,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 1
    argNames:
    - pOption
    argTypes:
    - SSdbOpt*
    constantsTouched: []
    func_position:
      end: 65
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 65
    functionName: sdbInit
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - mInfo
    - snprintf
    - taosMemoryCalloc
    - terrstr
    - mError
    - sdbCleanup
    - sdbCreateDir
    - taosThreadMutexInit
    - taosStrdup
    - taosThreadRwlockInit
    linkageType: ''
    returnType: SSdb*
    signature: 'SSdb *sdbInit(SSdbOpt *pOption) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pSdb
    - index
    - term
    - config
    argTypes:
    - SSdb*
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: sdbSetApplyInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - mInfo
    linkageType: ''
    returnType: void
    signature: 'void sdbSetApplyInfo(SSdb *pSdb, int64_t index, int64_t term, int64_t
      config) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:141,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:148,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:141,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:143,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - pSdb
    - table
    argTypes:
    - SSdb*
    - SSdbTable
    constantsTouched: []
    func_position:
      end: 151
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 151
    functionName: sdbSetTable
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - mInfo
    - TAOS_RETURN
    - sdbTableName
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbSetTable(SSdb *pSdb, SSdbTable table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockWrlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: sdbWriteLock
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockWrlock
    linkageType: ''
    returnType: void
    signature: 'void sdbWriteLock(SSdb *pSdb, int32_t type) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMulMkDir
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:155,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:157,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:156,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:158,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:157,1
    - Dst: taosMkDir
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:161,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:162,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:163,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:163,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: sdbCreateDir
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMulMkDir
    - mError
    - tstrerror
    - TAOS_RETURN
    - taosMkDir
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbCreateDir(SSdb *pSdb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosRemoveDir
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:81,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:94,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:109,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:68,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:77,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:95,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:113,1
    - Dst: taosThreadRwlockDestroy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:105,1
    - Dst: sdbWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:72,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:73,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:104,1
    - Dst: memset
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:107,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:112,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:73,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:82,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:89,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:109,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:114,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:103,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 115
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: sdbCleanup
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbFreeRow
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosHashClear
    - sdbWriteFile
    - mError
    - taosHashIterate
    - memset
    - tstrerror
    - sdbTableName
    - taosRemoveDir
    - taosMemoryFreeClear
    - taosThreadRwlockDestroy
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void sdbCleanup(SSdb *pSdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mTrace
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - pSdb
    - index
    - term
    - config
    argTypes:
    - SSdb*
    - int64_t*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: sdbGetCommitInfo
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - mTrace
    linkageType: ''
    returnType: void
    signature: 'void sdbGetCommitInfo(SSdb *pSdb, int64_t *index, int64_t *term, int64_t
      *config) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockRdlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:201,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    functionName: sdbReadLock
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockRdlock
    linkageType: ''
    returnType: void
    signature: 'void sdbReadLock(SSdb *pSdb, int32_t type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRwlockUnlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - type
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: sdbUnLock
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdb.c
    functionUses: []
    functionsReached:
    - taosThreadRwlockUnlock
    linkageType: ''
    returnType: void
    signature: 'void sdbUnLock(SSdb *pSdb, int32_t type) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:115,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:151,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:157,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:172,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:196,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:203,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:217,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:119,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:184,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:199,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:128,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:122,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:140,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:146,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:189,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:166,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:182,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:211,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:109,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:131,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:137,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:185,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:198,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 2
    argNames:
    - pSdb
    - pFile
    argTypes:
    - SSdb*
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 221
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 221
    functionName: sdbReadFileHead
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - TAOS_SYSTEM_ERROR
    - taosReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbReadFileHead(SSdb *pSdb, TdFilePtr pFile) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:459,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:478,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:478,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:502,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:503,1
    - Dst: sdbPrintOper
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:507,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:513,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:524,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:527,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:528,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:595,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:548,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:595,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:466,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:461,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:470,1
    - Dst: sdbWriteFileHead
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:473,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:488,1
    - Dst: sdbGetSize
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:488,1
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:491,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:523,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:557,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:559,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:572,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:584,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:590,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:600,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:565,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:560,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:588,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:457,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:475,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:475,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:488,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:493,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:515,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:516,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:545,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:578,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:583,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:590,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:569,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:579,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:469,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:469,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:477,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:497,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:537,1
    - Dst: CBC_Encrypt
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:539,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:553,1
    - Dst: taosCalcChecksum
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:556,1
    - Dst: taosHashCancelIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:547,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:570,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:579,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:576,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 140
    argCount: 2
    argNames:
    - pSdb
    - skip_type
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 607
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 607
    functionName: sdbWriteFileImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - CBC_Encrypt
    - taosFsyncFile
    - taosMemoryFree
    - TAOS_SYSTEM_ERROR
    - ENCRYPTED_LEN
    - taosCalcChecksum
    - sdbWriteFileHead
    - taosOpenFile
    - sdbUnLock
    - taosMemoryMalloc
    - sdbWriteLock
    - taosCloseFile
    - mError
    - sdbPrintOper
    - sdbGetSize
    - tstrncpy
    - taosRenameFile
    - sdbFreeRaw
    - mInfo
    - snprintf
    - taosWriteFile
    - taosHashIterate
    - tstrerror
    - TAOS_RETURN
    - sdbTableName
    - taosHashCancelIterate
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbWriteFileImp(SSdb *pSdb, int32_t skip_type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sdbAfterRestoredData
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:670,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 675
    functionName: sdbAfterRestored
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - sdbAfterRestoredData
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbAfterRestored(SSdb *pSdb) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:225,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:231,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:229,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:239,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:235,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:248,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:258,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:269,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:277,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:283,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - pSdb
    - pFile
    argTypes:
    - SSdb*
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 288
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 288
    functionName: sdbWriteFileHead
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosWriteFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbWriteFileHead(SSdb *pSdb, TdFilePtr pFile) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:619,1
    - Dst: sdbWriteFileImp
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:626,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:636,1
    - Dst: syncBeginSnapshot
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:622,1
    - Dst: syncEndSnapshot
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:631,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:636,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:638,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:641,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - pSdb
    - delta
    argTypes:
    - SSdb*
    - int32_t
    constantsTouched: []
    func_position:
      end: 643
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 643
    functionName: sdbWriteFile
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - syncBeginSnapshot
    - syncEndSnapshot
    - taosThreadMutexLock
    - sdbWriteFileImp
    - mError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbWriteFile(SSdb *pSdb, int32_t delta) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:678,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:685,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:688,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:686,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 694
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: sdbCreateIter
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - snprintf
    - taosStrdup
    - taosMemoryFree
    linkageType: ''
    returnType: SSdbIter*
    signature: 'static SSdbIter *sdbCreateIter(SSdb *pSdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:32,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:38,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:38,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:41,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:41,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:41,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:46,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 48
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 48
    functionName: sdbDeployData
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - sdbTableName
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbDeployData(SSdb *pSdb) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:872,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:872,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:873,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pSdb
    - pIter
    - pBuf
    - len
    argTypes:
    - SSdb*
    - SSdbIter*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 879
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 879
    functionName: sdbDoWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - taosWriteFile
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbDoWrite(SSdb *pSdb, SSdbIter *pIter, void *pBuf, int32_t
      len) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:301,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:304,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:312,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:332,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:343,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:356,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:365,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:374,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:399,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:400,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:436,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:406,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:434,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:411,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:299,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:304,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:328,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:349,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:359,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:360,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:368,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:381,1
    - Dst: taosCheckChecksumWhole
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:404,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:406,1
    - Dst: terrstr
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:417,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:426,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:417,1
    - Dst: CBC_Decrypt
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:394,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:427,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:388,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:432,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:305,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:308,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:310,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:321,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:318,1
    - Dst: sdbReadFileHead
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:316,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:318,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:343,1
    - Dst: sdbFreeRaw
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:361,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:374,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:400,1
    - Dst: memcpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:398,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:432,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:298,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:312,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:322,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:319,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:322,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:337,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:337,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:353,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:368,1
    - Dst: ENCRYPTED_LEN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:381,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:431,1
    - Dst: sdbWriteWithoutFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:415,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:392,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 139
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 437
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 437
    functionName: sdbReadFileImp
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - ENCRYPTED_LEN
    - terrstr
    - taosOpenFile
    - taosMemoryMalloc
    - taosReadFile
    - sdbReadFileHead
    - memcpy
    - sdbWriteWithoutFree
    - taosCloseFile
    - mError
    - tstrncpy
    - sdbFreeRaw
    - mInfo
    - snprintf
    - tstrerror
    - TAOS_RETURN
    - CBC_Decrypt
    - taosCheckChecksumWhole
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbReadFileImp(SSdb *pSdb) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:701,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:709,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:702,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:710,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:702,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:710,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:712,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:716,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SSdbIter*
    constantsTouched: []
    func_position:
      end: 718
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 718
    functionName: sdbCloseIter
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosCloseFile
    - mError
    - tstrerror
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'static void sdbCloseIter(SSdbIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:440,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:445,1
    - Dst: sdbReadFileImp
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:443,1
    - Dst: sdbResetData
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:442,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:445,1
    - Dst: sdbResetData
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:446,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: sdbReadFile
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - sdbResetData
    - sdbReadFileImp
    - mError
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbReadFile(SSdb *pSdb) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sdbCreateIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:722,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:728,1
    - Dst: taosCopyFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:732,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:726,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:734,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:735,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:735,1
    - Dst: sdbCloseIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:736,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:737,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:739,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:741,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:744,1
    - Dst: sdbCloseIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:745,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:754,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:746,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:744,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 5
    argNames:
    - pSdb
    - ppIter
    - index
    - term
    - config
    argTypes:
    - SSdb*
    - SSdbIter**
    - int64_t*
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 757
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 757
    functionName: sdbStartRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosThreadMutexUnlock
    - taosOpenFile
    - snprintf
    - taosThreadMutexLock
    - sdbCloseIter
    - mError
    - sdbCreateIter
    - tstrerror
    - TAOS_RETURN
    - taosCopyFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbStartRead(SSdb *pSdb, SSdbIter **ppIter, int64_t *index,
      int64_t *term, int64_t *config) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:52,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:61,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:58,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:58,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:61,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:61,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: sdbAfterRestoredData
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - mError
    - sdbTableName
    - tstrerror
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t sdbAfterRestoredData(SSdb *pSdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbWriteFileImp
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 651
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 651
    functionName: sdbWriteFileForDump
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - sdbWriteFileImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbWriteFileForDump(SSdb *pSdb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sdbCloseIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:759,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pSdb
    - pIter
    argTypes:
    - SSdb*
    - SSdbIter*
    constantsTouched: []
    func_position:
      end: 759
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 759
    functionName: sdbStopRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - sdbCloseIter
    linkageType: ''
    returnType: void
    signature: 'void sdbStopRead(SSdb *pSdb, SSdbIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbCreateIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:795,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:804,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:798,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:804,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:801,1
    - Dst: sdbCloseIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:805,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:806,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:810,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - pSdb
    - ppIter
    argTypes:
    - SSdb*
    - SSdbIter**
    constantsTouched: []
    func_position:
      end: 812
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 812
    functionName: sdbStartWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosOpenFile
    - sdbCloseIter
    - mError
    - sdbCreateIter
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbStartWrite(SSdb *pSdb, SSdbIter **ppIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:71,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:85,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:79,1
    - Dst: sdbWriteLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:77,1
    - Dst: sdbFreeRow
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:84,1
    - Dst: taosHashClear
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:88,1
    - Dst: sdbUnLock
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:92,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:94,1
    - Dst: sdbTableName
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:94,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:103,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 104
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 104
    functionName: sdbResetData
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - sdbUnLock
    - sdbFreeRow
    - sdbWriteLock
    - taosHashClear
    - taosHashIterate
    - sdbTableName
    linkageType: ''
    returnType: void
    signature: 'static void sdbResetData(SSdb *pSdb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sdbDeployData
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:655,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:662,1
    - Dst: sdbWriteFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:660,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pSdb
    argTypes:
    - SSdb*
    constantsTouched: []
    func_position:
      end: 666
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 666
    functionName: sdbDeploy
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - sdbWriteFile
    - TAOS_RETURN
    - sdbDeployData
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbDeploy(SSdb *pSdb) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:764,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:773,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:767,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:770,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:773,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:776,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:777,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:779,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:782,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:786,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pSdb
    - pIter
    - ppBuf
    - len
    argTypes:
    - SSdb*
    - SSdbIter*
    - void**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 791
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 791
    functionName: sdbDoRead
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosMemoryFree
    - taosReadFile
    - taosMemoryCalloc
    - mError
    - tstrerror
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbDoRead(SSdb *pSdb, SSdbIter *pIter, void **ppBuf, int32_t
      *len) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:818,1
    - Dst: taosFsyncFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:823,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:825,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:824,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:825,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:829,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:830,1
    - Dst: snprintf
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:836,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:837,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:839,1
    - Dst: mError
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:845,1
    - Dst: sdbReadFile
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:843,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:845,1
    - Dst: mInfo
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:859,1
    - Dst: sdbCloseIter
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:863,1
    - Dst: tstrerror
      Src: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c:839,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 6
    argNames:
    - pSdb
    - pIter
    - isApply
    - index
    - term
    - config
    argTypes:
    - SSdb*
    - SSdbIter*
    - bool
    - int64_t
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 865
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 865
    functionName: sdbStopWrite
    functionSourceFile: /src/tdengine/source/dnode/mnode/sdb/src/sdbFile.c
    functionUses: []
    functionsReached:
    - mInfo
    - taosFsyncFile
    - snprintf
    - TAOS_SYSTEM_ERROR
    - taosCloseFile
    - sdbCloseIter
    - mError
    - tstrerror
    - taosRenameFile
    - sdbReadFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t sdbStopWrite(SSdb *pSdb, SSdbIter *pIter, bool isApply, int64_t
      index, int64_t term, int64_t config) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosIterateRef
      Src: /src/tdengine/source/util/test/trefTest.c:21,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:28,1
    - Dst: taosIterateRef
      Src: /src/tdengine/source/util/test/trefTest.c:25,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rsetId
    argTypes:
    - int
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: iterateRefs
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosIterateRef
    - printf
    linkageType: ''
    returnType: void
    signature: 'void iterateRefs(int rsetId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:53,1
    - Dst: taosRand
      Src: /src/tdengine/source/util/test/trefTest.c:54,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/util/test/trefTest.c:60,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/util/test/trefTest.c:56,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 64
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 64
    functionName: removeRef
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosRand
    - taosUsleep
    - taosRemoveRef
    - printf
    linkageType: ''
    returnType: void*
    signature: 'void *removeRef(void *param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/test/trefTest.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 84
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 84
    functionName: myfree
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void myfree(void *p) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:36,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/util/test/trefTest.c:42,1
    - Dst: taosAddRef
      Src: /src/tdengine/source/util/test/trefTest.c:40,1
    - Dst: taosRand
      Src: /src/tdengine/source/util/test/trefTest.c:37,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/test/trefTest.c:39,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: addRef
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - printf
    - taosAddRef
    - taosRand
    - taosUsleep
    linkageType: ''
    returnType: void*
    signature: 'void *addRef(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:71,1
    - Dst: taosRand
      Src: /src/tdengine/source/util/test/trefTest.c:73,1
    - Dst: taosUsleep
      Src: /src/tdengine/source/util/test/trefTest.c:76,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/util/test/trefTest.c:77,1
    - Dst: taosAcquireRef
      Src: /src/tdengine/source/util/test/trefTest.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: acquireRelease
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - printf
    - taosReleaseRef
    - taosRand
    - taosUsleep
    - taosAcquireRef
    linkageType: ''
    returnType: void*
    signature: 'void *acquireRelease(void *param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:89,1
    - Dst: taosOpenRef
      Src: /src/tdengine/source/util/test/trefTest.c:90,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/test/trefTest.c:97,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/test/trefTest.c:93,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/test/trefTest.c:98,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/test/trefTest.c:101,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/test/trefTest.c:102,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/test/trefTest.c:105,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/test/trefTest.c:106,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/test/trefTest.c:109,1
    - Dst: taosRemoveRef
      Src: /src/tdengine/source/util/test/trefTest.c:114,1
    - Dst: taosCloseRef
      Src: /src/tdengine/source/util/test/trefTest.c:117,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/test/trefTest.c:119,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/test/trefTest.c:120,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/test/trefTest.c:107,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/test/trefTest.c:110,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/test/trefTest.c:111,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 124
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 124
    functionName: openRefSpace
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosMemoryFree
    - taosMemoryCalloc
    - taosCloseRef
    - printf
    - tstrerror
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadJoin
    - taosOpenRef
    - uInfo
    - taosRemoveRef
    linkageType: ''
    returnType: void*
    signature: 'void *openRefSpace(void *param) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/tdengine/source/util/test/trefTest.c:135,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/test/trefTest.c:139,1
    - Dst: atoi
      Src: /src/tdengine/source/util/test/trefTest.c:140,1
    - Dst: atoi
      Src: /src/tdengine/source/util/test/trefTest.c:144,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:148,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:150,1
    - Dst: taosListRef
      Src: /src/tdengine/source/util/test/trefTest.c:178,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/test/trefTest.c:137,1
    - Dst: atoi
      Src: /src/tdengine/source/util/test/trefTest.c:138,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/test/trefTest.c:158,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:146,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:149,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/test/trefTest.c:159,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:166,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/test/trefTest.c:170,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/test/trefTest.c:174,1
    - Dst: atoi
      Src: /src/tdengine/source/util/test/trefTest.c:136,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/test/trefTest.c:143,1
    - Dst: exit
      Src: /src/tdengine/source/util/test/trefTest.c:152,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/test/trefTest.c:162,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/test/trefTest.c:182,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/test/trefTest.c:181,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/test/trefTest.c:141,1
    - Dst: atoi
      Src: /src/tdengine/source/util/test/trefTest.c:142,1
    - Dst: taosInitLog
      Src: /src/tdengine/source/util/test/trefTest.c:156,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:147,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/test/trefTest.c:163,1
    - Dst: printf
      Src: /src/tdengine/source/util/test/trefTest.c:179,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/util/test/trefTest.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/tdengine/source/util/test/trefTest.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - exit
    - taosMemoryFree
    - taosMemoryCalloc
    - taosCloseLog
    - strcmp
    - printf
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadJoin
    - atoi
    - taosListRef
    - taosInitLog
    linkageType: ''
    returnType: int
    signature: 'int main(int argc, char *argv[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 5
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: l2DecompressImpl_disabled
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_disabled(const char *const input, const int32_t
      compressedSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 631
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 631
    functionName: tsCompressBoolImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressBoolImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBoolImp2(const char *const input, const int32_t
      nelements, char *const output, char const type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:961,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:966,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - diff
    - flag
    - output
    - pos
    argTypes:
    - uint64_t
    - uint8_t
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 970
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 970
    functionName: encodeDoubleValue
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT64MASK
    - INT8MASK
    linkageType: ''
    returnType: void
    signature: 'void encodeDoubleValue(uint64_t diff, uint8_t flag, char *const output,
      int32_t *const pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1653,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1654
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1654
    functionName: tsCompressTimestamp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTimestamp2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1565,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1567,1
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1568,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1572
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1572
    functionName: tsDecompressInt
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressINTImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressInt(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: l2ComressInitImpl_lz4
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_lz4(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - input
    - ninput
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 635
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 635
    functionName: tsDecompressBoolImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressBoolImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBoolImp2(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output, char const type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1659
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1659
    functionName: tsDecompressTimestamp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTimestamp2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:954,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - input
    - ninput
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: tsDecompressTimestampImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressTimestampImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTimestampImp2(const char *const input, int32_t
      ninput, const int32_t nelements, char *const output, const char type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1256,1
    - Dst: tsDecompressFloatImpAvx2
      Src: /src/tdengine/source/util/src/tcompression.c:1263,1
    - Dst: tsDecompressFloatImpHelper
      Src: /src/tdengine/source/util/src/tcompression.c:1270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - input
    - ninput
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1271
      start: 1254
    functionDepth: 0
    functionLinenumber: 1254
    functionLinenumberEnd: 1271
    functionName: tsDecompressFloatImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - tsDecompressFloatImpAvx2
    - tsDecompressFloatImpHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressFloatImp(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_MODE
      Src: /src/tdengine/source/util/src/tcompression.c:1297,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1300,1
    - Dst: tdszDecompress
      Src: /src/tdengine/source/util/src/tcompression.c:1306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - input
    - compressedSize
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1307
      start: 1294
    functionDepth: 0
    functionLinenumber: 1294
    functionLinenumberEnd: 1307
    functionName: tsDecompressFloatLossyImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tdszDecompress
    - memcpy
    - HEAD_MODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressFloatLossyImp(const char *input, int32_t compressedSize,
      const int32_t nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1666,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1668,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1669
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1669
    functionName: tsCompressFloat2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - tsCompressFloatLossyImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressFloat2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L2_DISABLED
    argTypes:
    - l2
    constantsTouched: []
    func_position:
      end: 1707
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1707
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l2 == L2_DISABLED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1802,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1807,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1808
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1808
    functionName: tsCompressInt2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressInt2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdszCompress
      Src: /src/tdengine/source/util/src/tcompression.c:1311,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1316,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1325
      start: 1309
    functionDepth: 0
    functionLinenumber: 1309
    functionLinenumberEnd: 1325
    functionName: tsCompressDoubleLossyImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - tdszCompress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDoubleLossyImp(const char *input, const int32_t
      nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_ALGO
      Src: /src/tdengine/source/util/src/tcompression.c:1674,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1677,1
    - Dst: tsDecompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1678
      start: 1671
    functionDepth: 0
    functionLinenumber: 1671
    functionLinenumberEnd: 1678
    functionName: tsDecompressFloat2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressFloatLossyImp
    - FUNC_COMPRESS_IMPL
    - HEAD_ALGO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressFloat2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_RLE
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1728
      start: 1725
    functionDepth: 0
    functionLinenumber: 1725
    functionLinenumberEnd: 1728
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_RLE) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1765
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1765
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1815,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1820
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1820
    functionName: tsDecompressInt2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressInt2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1578,1
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1580,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1584,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1588
      start: 1575
    functionDepth: 0
    functionLinenumber: 1575
    functionLinenumberEnd: 1588
    functionName: tsCompressBigint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressINTImp
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBigint(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tdszCompress
      Src: /src/tdengine/source/util/src/tcompression.c:1278,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1292
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1292
    functionName: tsCompressFloatLossyImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - tdszCompress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressFloatLossyImp(const char *input, const int32_t nelements,
      char *const output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - alg
    - lvl
    argTypes:
    - uint8_t
    - uint8_t
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: tsGetCompressL2Level
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t tsGetCompressL2Level(uint8_t alg, uint8_t lvl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_ALGO
      Src: /src/tdengine/source/util/src/tcompression.c:172,1
    - Dst: l2DecompressImpl_lz4
      Src: /src/tdengine/source/util/src/tcompression.c:177,1
    - Dst: tsDecompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: l2DecompressImpl_tsz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressFloatLossyImp
    - HEAD_ALGO
    - l2DecompressImpl_lz4
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_tsz(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:866,1
    - Dst: is_bigendian
      Src: /src/tdengine/source/util/src/tcompression.c:892,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:893,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:888,1
    - Dst: tsDecompressTimestampAvx512
      Src: /src/tdengine/source/util/src/tcompression.c:870,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:895,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:897,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:914,1
    - Dst: is_bigendian
      Src: /src/tdengine/source/util/src/tcompression.c:918,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:919,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:921,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:924,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 935
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 935
    functionName: tsDecompressTimestampImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - is_bigendian
    - ZIGZAG_DECODE
    - tsDecompressTimestampAvx512
    - memcpy
    - INT8MASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTimestampImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_ALGO
      Src: /src/tdengine/source/util/src/tcompression.c:1392,1
    - Dst: tsDecompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1394,1
    - Dst: tsDecompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:1398,1
    - Dst: tsDecompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:1402,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1400,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1407
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1407
    functionName: tsDecompressFloat
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressFloatLossyImp
    - tsDecompressFloatImp
    - HEAD_ALGO
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressFloat(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 942
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 942
    functionName: tsCompressPlain2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressPlain2(const char *const input, const int32_t nelements,
      char *const output, const char type) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:600,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 606
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 606
    functionName: tsCompressBoolImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBoolImp(const char *const input, const int32_t nelements,
      char *const output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:1462,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1468,1
    - Dst: tsCompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:1464,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1472
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1472
    functionName: tsCompressBool
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressBoolImp
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBool(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - lossyFloat
    argTypes:
    - l2
    constantsTouched: []
    func_position:
      end: 1667
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1667
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressFloatLossyImp
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l2 == L2_TSZ && lvl != 0 && lossyFloat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1507,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1509,1
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1510,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1514
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1514
    functionName: tsDecompressTinyint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressINTImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTinyint(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1686,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1688,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1689
      start: 1681
    functionDepth: 0
    functionLinenumber: 1681
    functionLinenumberEnd: 1689
    functionName: tsCompressDouble2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - tsCompressDoubleLossyImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDouble2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1777,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1782
      start: 1772
    functionDepth: 0
    functionLinenumber: 1772
    functionLinenumberEnd: 1782
    functionName: tsCompressSmallint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressSmallint2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:617,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 628
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 628
    functionName: tsDecompressBoolImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT8MASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBoolImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_ALGO
      Src: /src/tdengine/source/util/src/tcompression.c:1694,1
    - Dst: tsDecompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1696,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1698,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1699
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1699
    functionName: tsDecompressDouble2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressDoubleLossyImp
    - FUNC_COMPRESS_IMPL
    - HEAD_ALGO
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDouble2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_RLE
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1740
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1740
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_RLE) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1789,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1794
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1794
    functionName: tsDecompressSmallint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressSmallint2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1803
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1803
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1414,1
    - Dst: tsCompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:1420,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1421,1
    - Dst: tsCompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:1418,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1426
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1426
    functionName: tsCompressDouble
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressDoubleImp
    - tsCompressStringImp
    - tsCompressDoubleLossyImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDouble(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1455,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1456
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1456
    functionName: tsDecompressString
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressString(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_compress
      Src: /src/tdengine/source/util/src/tcompression.c:231,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 240
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 240
    functionName: l2CompressImpl_zstd
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - ZSTD_compress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_zstd(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/util/src/tcompression.c:738,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:750,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:740,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:747,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 754
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 754
    functionName: tsDecompressStringImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - uError
    - LZ4_decompress_safe
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressStringImp(const char *const input, int32_t compressedSize,
      char *const output, int32_t outputSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1686,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - lossyDouble
    argTypes:
    - l2
    constantsTouched: []
    func_position:
      end: 1687
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1687
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressDoubleLossyImp
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l2 == L2_TSZ && lvl != 0 && lossyDouble) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZSTD_decompress
      Src: /src/tdengine/source/util/src/tcompression.c:244,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: l2DecompressImpl_zstd
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - ZSTD_decompress
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_zstd(const char *const input, const int32_t
      compressedSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:1931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 1
    argNames:
    - type
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 1936
      start: 1909
    functionDepth: 0
    functionLinenumber: 1909
    functionLinenumberEnd: 1936
    functionName: getWordLength
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t getWordLength(char type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1520,1
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1522,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1530
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1530
    functionName: tsCompressSmallint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressINTImp
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressSmallint(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tcompression.c:773,1
    - Dst: safeInt64Add
      Src: /src/tdengine/source/util/src/tcompression.c:782,1
    - Dst: BUILDIN_CLZL
      Src: /src/tdengine/source/util/src/tcompression.c:794,1
    - Dst: ZIGZAG_ENCODE
      Src: /src/tdengine/source/util/src/tcompression.c:787,1
    - Dst: safeInt64Add
      Src: /src/tdengine/source/util/src/tcompression.c:784,1
    - Dst: BUILDIN_CLZL
      Src: /src/tdengine/source/util/src/tcompression.c:801,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:806,1
    - Dst: is_bigendian
      Src: /src/tdengine/source/util/src/tcompression.c:810,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:812,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:815,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:837,1
    - Dst: is_bigendian
      Src: /src/tdengine/source/util/src/tcompression.c:840,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:845,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:855,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:821,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:842,1
    - Dst: is_bigendian
      Src: /src/tdengine/source/util/src/tcompression.c:819,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:824,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 129
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 857
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 857
    functionName: tsCompressTimestampImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - ZIGZAG_ENCODE
    - uWarn
    - is_bigendian
    - safeInt64Add
    - BUILDIN_CLZL
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTimestampImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1120,1
    - Dst: INT32MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - diff
    - flag
    - output
    - pos
    argTypes:
    - uint32_t
    - uint8_t
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 1129
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1129
    functionName: encodeFloatValue
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT32MASK
    - INT8MASK
    linkageType: ''
    returnType: void
    signature: 'void encodeFloatValue(uint32_t diff, uint8_t flag, char *const output,
      int32_t *const pos) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 3
    argCount: 4
    argNames:
    - cmprAlg
    - l1Alg
    - l2Alg
    - level
    argTypes:
    - uint32_t
    - uint8_t*
    - uint8_t*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 1858
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1858
    functionName: tcompressDebug
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tcompressDebug(uint32_t cmprAlg, uint8_t *l1Alg, uint8_t *l2Alg,
      uint8_t *level) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BUILDIN_CTZ
      Src: /src/tdengine/source/util/src/tcompression.c:1157,1
    - Dst: encodeFloatValue
      Src: /src/tdengine/source/util/src/tcompression.c:1184,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1179,1
    - Dst: BUILDIN_CLZ
      Src: /src/tdengine/source/util/src/tcompression.c:1158,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1180,1
    - Dst: encodeFloatValue
      Src: /src/tdengine/source/util/src/tcompression.c:1185,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1188,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1196,1
    - Dst: encodeFloatValue
      Src: /src/tdengine/source/util/src/tcompression.c:1201,1
    - Dst: encodeFloatValue
      Src: /src/tdengine/source/util/src/tcompression.c:1202,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1205,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1131
    functionDepth: 0
    functionLinenumber: 1131
    functionLinenumberEnd: 1212
    functionName: tsCompressFloatImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - BUILDIN_CLZ
    - INT8MASK
    - BUILDIN_CTZ
    - memcpy
    - encodeFloatValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressFloatImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1864,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1866,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1869,1
    - Dst: COMPRESS_L1_TYPE_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1868,1
    - Dst: COMPRESS_L2_TYPE_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1865,1
    - Dst: COMPRESS_L2_TYPE_LEVEL_U32
      Src: /src/tdengine/source/util/src/tcompression.c:1870,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1876,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1883,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1886,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1888,1
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1902,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 6
    argNames:
    - oldCmpr
    - newCmpr
    - l2Disabled
    - lvlDiabled
    - lvlDefault
    - dst
    argTypes:
    - uint32_t
    - uint32_t
    - uint8_t
    - uint8_t
    - uint8_t
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 1907
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1907
    functionName: tUpdateCompress
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - COMPRESS_L2_TYPE_U32
    - SET_COMPRESS
    - COMPRESS_L1_TYPE_U32
    - COMPRESS_L2_TYPE_LEVEL_U32
    linkageType: ''
    returnType: int8_t
    signature: 'int8_t tUpdateCompress(uint32_t oldCmpr, uint32_t newCmpr, uint8_t
      l2Disabled, uint8_t lvlDiabled, uint8_t lvlDefault, uint32_t *dst) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_ALGO
      Src: /src/tdengine/source/util/src/tcompression.c:1430,1
    - Dst: tsDecompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:1440,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1438,1
    - Dst: tsDecompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1432,1
    - Dst: tsDecompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:1436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1445
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1445
    functionName: tsDecompressDouble
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressDoubleLossyImp
    - tsDecompressDoubleImp
    - HEAD_ALGO
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDouble(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uncompress
      Src: /src/tdengine/source/util/src/tcompression.c:207,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:216,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 223
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 223
    functionName: l2DecompressImpl_zlib
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - uError
    - uncompress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_zlib(const char *const input, const int32_t
      compressedSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L2_DISABLED
    argTypes:
    - l2
    constantsTouched: []
    func_position:
      end: 1717
      start: 1714
    functionDepth: 0
    functionLinenumber: 1714
    functionLinenumberEnd: 1717
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l2 == L2_DISABLED) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1835,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1836
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1836
    functionName: tsCompressDecimal64
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDecimal64(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: l2ComressInitImpl_zstd
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_zstd(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1840,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1841
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1841
    functionName: tsDecompressDecimal64
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDecimal64(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1450,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1451
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1451
    functionName: tsCompressString
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressString(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getWordLength
      Src: /src/tdengine/source/util/src/tcompression.c:357,1
    - Dst: BUILDIN_CLZL
      Src: /src/tdengine/source/util/src/tcompression.c:400,1
    - Dst: ZIGZAG_ENCODE
      Src: /src/tdengine/source/util/src/tcompression.c:391,1
    - Dst: ZIGZAG_ENCODE
      Src: /src/tdengine/source/util/src/tcompression.c:438,1
    - Dst: safeInt64Add
      Src: /src/tdengine/source/util/src/tcompression.c:387,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:439,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:446,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:451,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 78
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 459
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 459
    functionName: tsCompressINTImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - ZIGZAG_ENCODE
    - INT64MASK
    - safeInt64Add
    - BUILDIN_CLZL
    - memcpy
    - getWordLength
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressINTImp(const char *const input, const int32_t nelements,
      char *const output, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1752,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1757
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1757
    functionName: tsCompressTinyint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTinyint2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: getWordLength
      Src: /src/tdengine/source/util/src/tcompression.c:462,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:506,1
    - Dst: tsDecompressIntImpl_Hw
      Src: /src/tdengine/source/util/src/tcompression.c:474,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:469,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:492,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:507,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:523,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:524,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:540,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:541,1
    - Dst: perror
      Src: /src/tdengine/source/util/src/tcompression.c:566,1
    - Dst: INT64MASK
      Src: /src/tdengine/source/util/src/tcompression.c:557,1
    - Dst: ZIGZAG_DECODE
      Src: /src/tdengine/source/util/src/tcompression.c:558,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 125
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 573
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 573
    functionName: tsDecompressINTImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressIntImpl_Hw
    - ZIGZAG_DECODE
    - INT64MASK
    - memcpy
    - perror
    - getWordLength
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressINTImp(const char *const input, const int32_t
      nelements, char *const output, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1764,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1769
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1769
    functionName: tsDecompressTinyint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTinyint2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1778
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1778
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1816
      start: 1813
    functionDepth: 0
    functionLinenumber: 1813
    functionLinenumberEnd: 1816
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 656
      start: 654
    functionDepth: 0
    functionLinenumber: 654
    functionLinenumberEnd: 656
    functionName: tsCompressINTImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressINTImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressINTImp2(const char *const input, const int32_t nelements,
      char *const output, const char type) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:1362,1
    - Dst: tsDecompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:1365,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1364,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1369
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1369
    functionName: tsDecompressTimestamp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressTimestampImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressTimestamp(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1536,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1538,1
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1543
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1543
    functionName: tsDecompressSmallint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressINTImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressSmallint(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1491,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1497,1
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1493,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1501
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1501
    functionName: tsCompressTinyint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressINTImp
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTinyint(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1709
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1709
    functionName: tsCompressString2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressString2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - input
    - ninput
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 660
    functionName: tsDecompressINTImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressINTImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressINTImp2(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1719
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1719
    functionName: tsDecompressString2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressString2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:1478,1
    - Dst: tsDecompressBoolImp
      Src: /src/tdengine/source/util/src/tcompression.c:1481,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1480,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1485
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1485
    functionName: tsDecompressBool
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressBoolImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBool(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/util/src/tcompression.c:117,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: l2CompressImpl_lz4
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - LZ4_compress_default
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_lz4(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1216,1
    - Dst: INT32MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - input
    - ipos
    - flag
    argTypes:
    - char*
    - int32_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1224
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1224
    functionName: decodeFloatValue
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT32MASK
    - INT8MASK
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t decodeFloatValue(const char *const input, int32_t *const
      ipos, uint8_t flag) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1594,1
    - Dst: tsDecompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1596,1
    - Dst: tsDecompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1597,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1601
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1601
    functionName: tsDecompressBigint
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressINTImp
    - tsDecompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBigint(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_decompress_safe
      Src: /src/tdengine/source/util/src/tcompression.c:133,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:135,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:142,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:145,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 149
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 149
    functionName: l2DecompressImpl_lz4
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - uError
    - LZ4_decompress_safe
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_lz4(const char *const input, const int32_t
      compressedSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeFloatValue
      Src: /src/tdengine/source/util/src/tcompression.c:1244,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1244,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1252
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1252
    functionName: tsDecompressFloatImpHelper
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - decodeFloatValue
    - INT8MASK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsDecompressFloatImpHelper(const char *input, int32_t
      nelements, char *output) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:1376,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1383,1
    - Dst: tsCompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:1380,1
    - Dst: tsCompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:1382,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1388
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1388
    functionName: tsCompressFloat
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressStringImp
    - tsCompressFloatLossyImp
    - tsCompressFloatImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressFloat(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1549,1
    - Dst: tsCompressINTImp
      Src: /src/tdengine/source/util/src/tcompression.c:1551,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1559
      start: 1546
    functionDepth: 0
    functionLinenumber: 1546
    functionLinenumberEnd: 1559
    functionName: tsCompressInt
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressINTImp
    - tsCompressStringImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressInt(void *pIn, int32_t nIn, int32_t nEle, void *pOut,
      int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: l2ComressInitImpl_tsz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_tsz(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:639,1
    - Dst: tsCompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 644
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 644
    functionName: tsCompressDoubleImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressDoubleImp
    - tsCompressFloatImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDoubleImp2(const char *const input, const int32_t
      nelements, char *const output, char const type) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BUILDIN_CTZL
      Src: /src/tdengine/source/util/src/tcompression.c:999,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1021,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1022,1
    - Dst: encodeDoubleValue
      Src: /src/tdengine/source/util/src/tcompression.c:1026,1
    - Dst: BUILDIN_CLZL
      Src: /src/tdengine/source/util/src/tcompression.c:1000,1
    - Dst: encodeDoubleValue
      Src: /src/tdengine/source/util/src/tcompression.c:1027,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1030,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1038,1
    - Dst: encodeDoubleValue
      Src: /src/tdengine/source/util/src/tcompression.c:1043,1
    - Dst: encodeDoubleValue
      Src: /src/tdengine/source/util/src/tcompression.c:1044,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1047,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1054
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 1054
    functionName: tsCompressDoubleImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - BUILDIN_CTZL
    - BUILDIN_CLZL
    - encodeDoubleValue
    - memcpy
    - INT8MASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDoubleImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1727,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1731,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1732
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1732
    functionName: tsCompressBool2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBool2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressFloatLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:158,1
    - Dst: tsCompressDoubleLossyImp
      Src: /src/tdengine/source/util/src/tcompression.c:162,1
    - Dst: l2CompressImpl_lz4
      Src: /src/tdengine/source/util/src/tcompression.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 167
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 167
    functionName: l2CompressImpl_tsz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - l2CompressImpl_lz4
    - tsCompressFloatLossyImp
    - tsCompressDoubleLossyImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_tsz(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsDecompressFloatImp
      Src: /src/tdengine/source/util/src/tcompression.c:648,1
    - Dst: tsDecompressDoubleImp
      Src: /src/tdengine/source/util/src/tcompression.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 5
    argNames:
    - input
    - ninput
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 653
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 653
    functionName: tsDecompressDoubleImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressFloatImp
    - tsDecompressDoubleImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDoubleImp2(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output, char const type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - input
    - ipos
    - flag
    argTypes:
    - char*
    - int32_t*
    - uint8_t
    constantsTouched: []
    func_position:
      end: 1068
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1068
    functionName: decodeDoubleValue
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE uint64_t decodeDoubleValue(const char *const input, int32_t
      *const ipos, uint8_t flag) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1739,1
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1744
      start: 1734
    functionDepth: 0
    functionLinenumber: 1734
    functionLinenumberEnd: 1744
    functionName: tsDecompressBool2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    - SET_COMPRESS
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBool2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1753
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1753
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_COMPRESS
      Src: /src/tdengine/source/util/src/tcompression.c:1789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - L1_SIMPLE_8B
    argTypes:
    - l1
    constantsTouched: []
    func_position:
      end: 1790
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1790
    functionName: if
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - SET_COMPRESS
    linkageType: ''
    returnType: DEFINE_VAR(cmprAlg)
    signature: 'DEFINE_VAR(cmprAlg) if (l1 != L1_SIMPLE_8B) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: l2ComressInitImpl_zlib
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_zlib(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 5
    argNames:
    - input
    - ninput
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 948
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 948
    functionName: tsDecompressPlain2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressPlain2(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output, const char type) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compress2
      Src: /src/tdengine/source/util/src/tcompression.c:192,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:198,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 202
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 202
    functionName: l2CompressImpl_zlib
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - compress2
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_zlib(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FL2_decompress
      Src: /src/tdengine/source/util/src/tcompression.c:270,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:272,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - input
    - compressedSize
    - output
    - outputSize
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: l2DecompressImpl_xz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FL2_decompress
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2DecompressImpl_xz(const char *const input, const int32_t
      compressedSize, char *const output, int32_t outputSize, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:950,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 4
    argNames:
    - input
    - nelements
    - output
    - type
    argTypes:
    - char*
    - int32_t
    - char*
    - char
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 951
    functionName: tsCompressTimestampImp2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressTimestampImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTimestampImp2(const char *const input, const int32_t
      nelements, char *const output, const char type) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: l2ComressInitImpl_disabled
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_disabled(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 255
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 255
    functionName: l2ComressInitImpl_xz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2ComressInitImpl_xz(char *lossyColumns, float fPrecision,
      double dPrecision, uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse,
      const char *compressor) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tdszExit
      Src: /src/tdengine/source/util/src/tcompression.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 342
    functionName: tsCompressExit
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tdszExit
    linkageType: ''
    returnType: void
    signature: 'void tsCompressExit() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:674,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:687,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tcompression.c:689,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:685,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 695
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 695
    functionName: tsCompressBoolRLEImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - uError
    - INT8MASK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBoolRLEImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: l2CompressImpl_disabled
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_disabled(const char *const input, const int32_t
      inputSize, char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FL2_compress
      Src: /src/tdengine/source/util/src/tcompression.c:258,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    - type
    - lvl
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    - char
    - int8_t
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: l2CompressImpl_xz
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - FL2_compress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t l2CompressImpl_xz(const char *const input, const int32_t inputSize,
      char *const output, int32_t outputSize, const char type, int8_t lvl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:701,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tcompression.c:704,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:702,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 710
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 710
    functionName: tsDecompressBoolRLEImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT8MASK
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBoolRLEImp(const char *const input, const int32_t
      nelements, char *const output) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LZ4_compress_default
      Src: /src/tdengine/source/util/src/tcompression.c:719,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - input
    - inputSize
    - output
    - outputSize
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 731
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 731
    functionName: tsCompressStringImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - memcpy
    - LZ4_compress_default
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressStringImp(const char *const input, int32_t inputSize,
      char *const output, int32_t outputSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/util/src/tcompression.c:333,1
    - Dst: strstr
      Src: /src/tdengine/source/util/src/tcompression.c:334,1
    - Dst: tdszInit
      Src: /src/tdengine/source/util/src/tcompression.c:336,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tcompression.c:338,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tcompression.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 7
    argNames:
    - lossyColumns
    - fPrecision
    - dPrecision
    - maxIntervals
    - intervals
    - ifAdtFse
    - compressor
    argTypes:
    - char*
    - float
    - double
    - uint32_t
    - uint32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 340
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 340
    functionName: tsCompressInit
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tdszInit
    - strstr
    - uTrace
    linkageType: ''
    returnType: void
    signature: 'void tsCompressInit(char *lossyColumns, float fPrecision, double dPrecision,
      uint32_t maxIntervals, uint32_t intervals, int32_t ifAdtFse, const char *compressor) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decodeDoubleValue
      Src: /src/tdengine/source/util/src/tcompression.c:1088,1
    - Dst: INT8MASK
      Src: /src/tdengine/source/util/src/tcompression.c:1088,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - input
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1096
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1096
    functionName: tsDecompressDoubleImpHelper
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - INT8MASK
    - decodeDoubleValue
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tsDecompressDoubleImpHelper(const char *input, int32_t
      nelements, char *output) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1825,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1826
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1826
    functionName: tsCompressBigint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressBigint2(void *pIn, int32_t nIn, int32_t nEle, void
      *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1846
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1846
    functionName: tsCompressDecimal128
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressDecimal128(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1101,1
    - Dst: tsDecompressDoubleImpHelper
      Src: /src/tdengine/source/util/src/tcompression.c:1115,1
    - Dst: tsDecompressDoubleImpAvx2
      Src: /src/tdengine/source/util/src/tcompression.c:1108,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - input
    - ninput
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1116
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1116
    functionName: tsDecompressDoubleImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsDecompressDoubleImpAvx2
    - memcpy
    - tsDecompressDoubleImpHelper
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDoubleImp(const char *const input, int32_t ninput,
      const int32_t nelements, char *const output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tsCompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:1349,1
    - Dst: tsCompressTimestampImp
      Src: /src/tdengine/source/util/src/tcompression.c:1351,1
    - Dst: tsCompressStringImp
      Src: /src/tdengine/source/util/src/tcompression.c:1352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint8_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1357
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1357
    functionName: tsCompressTimestamp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tsCompressStringImp
    - tsCompressTimestampImp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsCompressTimestamp(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint8_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1831
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1831
    functionName: tsDecompressBigint2
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressBigint2(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FUNC_COMPRESS_IMPL
      Src: /src/tdengine/source/util/src/tcompression.c:1849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 8
    argNames:
    - pIn
    - nIn
    - nEle
    - pOut
    - nOut
    - cmprAlg
    - pBuf
    - nBuf
    argTypes:
    - void*
    - int32_t
    - int32_t
    - void*
    - int32_t
    - uint32_t
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1850
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1850
    functionName: tsDecompressDecimal128
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - FUNC_COMPRESS_IMPL
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDecimal128(void *pIn, int32_t nIn, int32_t nEle,
      void *pOut, int32_t nOut, uint32_t cmprAlg, void *pBuf, int32_t nBuf) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HEAD_MODE
      Src: /src/tdengine/source/util/src/tcompression.c:1330,1
    - Dst: tdszDecompress
      Src: /src/tdengine/source/util/src/tcompression.c:1339,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tcompression.c:1333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - input
    - compressedSize
    - nelements
    - output
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 1340
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1340
    functionName: tsDecompressDoubleLossyImp
    functionSourceFile: /src/tdengine/source/util/src/tcompression.c
    functionUses: []
    functionsReached:
    - tdszDecompress
    - memcpy
    - HEAD_MODE
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tsDecompressDoubleLossyImp(const char *input, int32_t compressedSize,
      const int32_t nelements, char *const output) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:185,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:196,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:188,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:193,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - fullName
    - logName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: getFullPathName
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    linkageType: ''
    returnType: void
    signature: 'static void getFullPathName(char *fullName, const char *logName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:361,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:363,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:363,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 366
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 366
    functionName: taosUnLockLogFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - tstrerror
    - TAOS_UNUSED
    - printf
    - taosUnLockFile
    linkageType: ''
    returnType: void
    signature: 'static void taosUnLockLogFile(TdFilePtr pFile) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlog.c:471,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/src/tlog.c:479,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:476,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/src/tlog.c:480,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/util/src/tlog.c:482,1
    - Dst: taosOpenNewFile
      Src: /src/tdengine/source/util/src/tlog.c:484,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:487,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:487,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tlog.c:488,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/src/tlog.c:491,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:492,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:493,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tlog.c:495,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 502
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 502
    functionName: taosOpenNewLogFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_UNUSED
    - taosOpenNewFile
    - taosThreadAttrInit
    - taosThreadCreate
    - uError
    - taosThreadAttrSetStackSize
    - taosMemoryFreeClear
    - uInfo
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosOpenNewLogFile() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosBuildLogHead
      Src: /src/tdengine/source/util/src/tlog.c:1221,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/util/src/tlog.c:1225,1
    - Dst: taosPrintLogImp
      Src: /src/tdengine/source/util/src/tlog.c:1229,1
    - Dst: va_end
      Src: /src/tdengine/source/util/src/tlog.c:1226,1
    - Dst: va_start
      Src: /src/tdengine/source/util/src/tlog.c:1224,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1231,1
    - Dst: taosPrintTrace
      Src: /src/tdengine/source/util/src/tlog.c:1233,1
    - Dst: taosCloseLog
      Src: /src/tdengine/source/util/src/tlog.c:1236,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/util/src/tlog.c:1237,1
    - Dst: abort
      Src: /src/tdengine/source/util/src/tlog.c:1240,1
    - Dst: assert
      Src: /src/tdengine/source/util/src/tlog.c:1242,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - condition
    - file
    - line
    - core
    - format
    - '...'
    argTypes:
    - bool
    - char*
    - int32_t
    - bool
    - char*
    constantsTouched: []
    func_position:
      end: 1247
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1247
    functionName: taosAssertDebug
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosPrintTrace
    - taosPrintLog
    - va_start
    - va_end
    - taosCloseLog
    - taosPrintLogImp
    - assert
    - taosMsleep
    - vsnprintf
    - abort
    - taosBuildLogHead
    linkageType: ''
    returnType: bool
    signature: 'bool taosAssertDebug(bool condition, const char *file, int32_t line,
      bool core, const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tlog.c:1343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1341
    functionDepth: 0
    functionLinenumber: 1341
    functionLinenumberEnd: 1349
    functionName: setReportThreadWait
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: bool
    signature: 'bool setReportThreadWait() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tsem_init
      Src: /src/tdengine/source/util/src/tlog.c:1389,1
    - Dst: setCrashWriterStatus
      Src: /src/tdengine/source/util/src/tlog.c:1395,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/util/src/tlog.c:1394,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:1391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1388
    functionDepth: 0
    functionLinenumber: 1388
    functionLinenumberEnd: 1397
    functionName: initCrashLogWriter
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosGetSelfPthreadId
    - uError
    - tsem_init
    - setCrashWriterStatus
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t initCrashLogWriter() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/util/src/tlog.c:375,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:381,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:384,1
    - Dst: taosRenameFile
      Src: /src/tdengine/source/util/src/tlog.c:382,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - oldName
    - keepName
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 386
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 386
    functionName: taosReserveOldLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - snprintf
    - taosRenameFile
    - taosGetTimestampSec
    - uError
    - tstrerror
    linkageType: ''
    returnType: void
    signature: 'static void taosReserveOldLog(char *oldName, char *keepName) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/util/src/tlog.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 1330
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1330
    functionName: setCrashWriterStatus
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    linkageType: ''
    returnType: void
    signature: 'void setCrashWriterStatus(int8_t status) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:203,1
    - Dst: getDay
      Src: /src/tdengine/source/util/src/tlog.c:212,1
    - Dst: getFullPathName
      Src: /src/tdengine/source/util/src/tlog.c:208,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:205,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:214,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:214,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:217,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/util/src/tlog.c:219,1
    - Dst: taosLogBuffNew
      Src: /src/tdengine/source/util/src/tlog.c:220,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:223,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:224,1
    - Dst: taosUmaskFile
      Src: /src/tdengine/source/util/src/tlog.c:223,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlog.c:226,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 231
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 231
    functionName: taosInitSlowLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - getDay
    - snprintf
    - TAOS_UNUSED
    - taosGetTimestampToday
    - printf
    - tstrerror
    - taosLogBuffNew
    - strerror
    - getFullPathName
    - taosUmaskFile
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosInitSlowLog() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 314
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 314
    functionName: taosStopLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void taosStopLog() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosStopLog
      Src: /src/tdengine/source/util/src/tlog.c:317,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tlog.c:325,1
    - Dst: taosCheckPthreadValid
      Src: /src/tdengine/source/util/src/tlog.c:319,1
    - Dst: taosThreadClear
      Src: /src/tdengine/source/util/src/tlog.c:321,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/src/tlog.c:320,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:326,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:327,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:328,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tlog.c:334,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:335,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:336,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:338,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tlog.c:337,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: taosCloseLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexDestroy
    - taosCloseFile
    - taosThreadJoin
    - taosStopLog
    - taosMemoryFreeClear
    - taosCheckPthreadValid
    - taosThreadClear
    linkageType: ''
    returnType: void
    signature: 'void taosCloseLog() '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:614,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/util/src/tlog.c:619,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:616,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:616,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/util/src/tlog.c:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 632
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 632
    functionName: decideLogFileNameFlag
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - TAOS_UNUSED
    - taosStatFile
    linkageType: ''
    returnType: void
    signature: 'static void decideLogFileNameFlag() '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:656,1
    - Dst: taosLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:673,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:696,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:670,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlog.c:670,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tlog.c:677,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tlog.c:690,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:653,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tlog.c:662,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:661,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:668,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tlog.c:682,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:689,1
    - Dst: taosUnLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:695,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:696,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:696,1
    - Dst: processLogFileName
      Src: /src/tdengine/source/util/src/tlog.c:651,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:664,1
    - Dst: taosUmaskFile
      Src: /src/tdengine/source/util/src/tlog.c:664,1
    - Dst: taosLogBuffNew
      Src: /src/tdengine/source/util/src/tlog.c:665,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/util/src/tlog.c:681,1
    - Dst: taosFStatFile
      Src: /src/tdengine/source/util/src/tlog.c:677,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:673,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:685,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:689,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 2
    argNames:
    - logName
    - maxFileNum
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 699
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 699
    functionName: taosInitNormalLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosLSeekFile
    - snprintf
    - TAOS_UNUSED
    - taosThreadMutexInit
    - processLogFileName
    - TAOS_CHECK_EXIT
    - taosWriteFile
    - taosLockLogFile
    - printf
    - tstrerror
    - strlen
    - uError
    - taosLogBuffNew
    - strerror
    - taosUnLockLogFile
    - taosFStatFile
    - taosUmaskFile
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosInitNormalLog(const char *logName, int32_t maxFileNum) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: osLogSpaceSufficient
      Src: /src/tdengine/source/util/src/tlog.c:866,1
    - Dst: taosOpenNewSlowLogFile
      Src: /src/tdengine/source/util/src/tlog.c:870,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/util/src/tlog.c:868,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tlog.c:873,1
    - Dst: taosBuildLogHead
      Src: /src/tdengine/source/util/src/tlog.c:874,1
    - Dst: va_start
      Src: /src/tdengine/source/util/src/tlog.c:877,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/util/src/tlog.c:878,1
    - Dst: va_end
      Src: /src/tdengine/source/util/src/tlog.c:879,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:887,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tlog.c:887,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:890,1
    - Dst: taosPushLogBuffer
      Src: /src/tdengine/source/util/src/tlog.c:890,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:895,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:892,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:892,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - format
    - '...'
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 896
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 896
    functionName: taosPrintSlowLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - taosOpenNewSlowLogFile
    - TAOS_UNUSED
    - va_start
    - va_end
    - vsnprintf
    - taosPushLogBuffer
    - taosWriteFile
    - osLogSpaceSufficient
    - taosGetTimestampSec
    - atomic_add_fetch_64
    - taosBuildLogHead
    linkageType: ''
    returnType: void
    signature: 'void taosPrintSlowLog(const char *format, ...) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlog.c:955,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:957,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:956,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:959,1
    - Dst: LOG_BUF_MUTEX
      Src: /src/tdengine/source/util/src/tlog.c:955,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:962,1
    - Dst: tListLen
      Src: /src/tdengine/source/util/src/tlog.c:962,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:963,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:969,1
    - Dst: LOG_BUF_MUTEX
      Src: /src/tdengine/source/util/src/tlog.c:969,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:978,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:978,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:990,1
    - Dst: LOG_BUF_MUTEX
      Src: /src/tdengine/source/util/src/tlog.c:990,1
    - Dst: taosCopyLogBuffer
      Src: /src/tdengine/source/util/src/tlog.c:974,1
    - Dst: taosCopyLogBuffer
      Src: /src/tdengine/source/util/src/tlog.c:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 3
    argNames:
    - pLogBuf
    - msg
    - msgLen
    argTypes:
    - SLogBuff*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 993
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 993
    functionName: taosPushLogBuffer
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - snprintf
    - taosThreadMutexLock
    - LOG_BUF_END
    - LOG_BUF_START
    - taosCopyLogBuffer
    - strlen
    - LOG_BUF_MUTEX
    - tListLen
    - LOG_BUF_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosPushLogBuffer(SLogBuff *pLogBuf, const char *msg,
      int32_t msgLen) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: taosStr2int64
      Src: /src/tdengine/source/util/src/tlog.c:1109,1
    - Dst: taosStatFile
      Src: /src/tdengine/source/util/src/tlog.c:1121,1
    - Dst: abs
      Src: /src/tdengine/source/util/src/tlog.c:1133,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1134,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:1118,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tlog.c:1141,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:1141,1
    - Dst: abs
      Src: /src/tdengine/source/util/src/tlog.c:1145,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/util/src/tlog.c:1148,1
    - Dst: taosOpenDir
      Src: /src/tdengine/source/util/src/tlog.c:1080,1
    - Dst: taosReadDir
      Src: /src/tdengine/source/util/src/tlog.c:1083,1
    - Dst: isdigit
      Src: /src/tdengine/source/util/src/tlog.c:1099,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tlog.c:1110,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:1122,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tlog.c:1122,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:1135,1
    - Dst: taosKeepOldLog
      Src: /src/tdengine/source/util/src/tlog.c:1137,1
    - Dst: taosCloseDir
      Src: /src/tdengine/source/util/src/tlog.c:1140,1
    - Dst: setThreadName
      Src: /src/tdengine/source/util/src/tlog.c:1076,1
    - Dst: taosGetDirEntryName
      Src: /src/tdengine/source/util/src/tlog.c:1087,1
    - Dst: strrchr
      Src: /src/tdengine/source/util/src/tlog.c:1092,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tlog.c:1126,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/util/src/tlog.c:1078,1
    - Dst: taosDirEntryIsDir
      Src: /src/tdengine/source/util/src/tlog.c:1084,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:1110,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/util/src/tlog.c:1134,1
    - Dst: taosRemoveOldFiles
      Src: /src/tdengine/source/util/src/tlog.c:1145,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1150
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1150
    functionName: taosLogRotateFunc
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - uWarn
    - taosDirEntryIsDir
    - taosOpenDir
    - taosWUnLockLatch
    - taosGetTimestampMs
    - isdigit
    - abs
    - taosCloseDir
    - strrchr
    - taosStr2int64
    - setThreadName
    - taosGetDirEntryName
    - taosKeepOldLog
    - snprintf
    - taosStatFile
    - taosRemoveOldFiles
    - taosReadDir
    - tstrerror
    - taosWLockLatch
    - uInfo
    - taosRemoveFile
    linkageType: ''
    returnType: void*
    signature: 'static void *taosLogRotateFunc(void *param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosTime
      Src: /src/tdengine/source/util/src/tlog.c:173,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:179,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/util/src/tlog.c:178,1
    - Dst: taosStrfTime
      Src: /src/tdengine/source/util/src/tlog.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - bufSize
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: getDay
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosTime
    - taosStrfTime
    - TAOS_UNUSED
    - taosLocalTime
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t getDay(char *buf, int32_t bufSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosLockFile
      Src: /src/tdengine/source/util/src/tlog.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 355
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 355
    functionName: taosLockLogFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosLockFile
    linkageType: ''
    returnType: bool
    signature: 'static bool taosLockLogFile(TdFilePtr pFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getFullPathName
      Src: /src/tdengine/source/util/src/tlog.c:636,1
    - Dst: decideLogFileNameFlag
      Src: /src/tdengine/source/util/src/tlog.c:638,1
    - Dst: decideLogFileName
      Src: /src/tdengine/source/util/src/tlog.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - logName
    - maxFileNum
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: processLogFileName
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - decideLogFileName
    - getFullPathName
    - decideLogFileNameFlag
    linkageType: ''
    returnType: void
    signature: 'static void processLogFileName(const char *logName, int32_t maxFileNum) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:704,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tlog.c:704,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:707,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tlog.c:707,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:710,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tlog.c:710,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:714,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tlog.c:714,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 1
    argNames:
    - level
    argTypes:
    - ELogLevel
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: taosUpdateLogNums
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_64
    - TAOS_UNUSED
    linkageType: ''
    returnType: void
    signature: 'static void taosUpdateLogNums(ELogLevel level) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosUnLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:900,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pFile
    argTypes:
    - TdFilePtr
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: taosCloseLogByFd
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosCloseFile
    - taosUnLockLogFile
    linkageType: ''
    returnType: void
    signature: 'static void taosCloseLogByFd(TdFilePtr pFile) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pLogBuf
    - start
    - end
    argTypes:
    - SLogBuff*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 999
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 999
    functionName: taosGetLogRemainSize
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - LOG_BUF_SIZE
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosGetLogRemainSize(SLogBuff *pLogBuf, int32_t start,
      int32_t end) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: setThreadName
      Src: /src/tdengine/source/util/src/tlog.c:1156,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/util/src/tlog.c:1170,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tlog.c:1164,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1172,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tlog.c:1160,1
    - Dst: osUpdate
      Src: /src/tdengine/source/util/src/tlog.c:1172,1
    - Dst: taosWriteLog
      Src: /src/tdengine/source/util/src/tlog.c:1177,1
    - Dst: taosWriteSlowLog
      Src: /src/tdengine/source/util/src/tlog.c:1178,1
    - Dst: taosWriteLog
      Src: /src/tdengine/source/util/src/tlog.c:1182,1
    - Dst: taosWriteSlowLog
      Src: /src/tdengine/source/util/src/tlog.c:1183,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tlog.c:1188,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/util/src/tlog.c:1196,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/src/tlog.c:1198,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tlog.c:1202,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tlog.c:1204,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/src/tlog.c:1194,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/src/tlog.c:1193,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:1199,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1212
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1212
    functionName: taosAsyncOutputLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosGetTimestampMs
    - osUpdate
    - TAOS_UNUSED
    - taosWriteSlowLog
    - TMIN
    - uWarn
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrSetStackSize
    - taosWriteLog
    - taosMsleep
    - uInfo
    - setThreadName
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: void*
    signature: 'static void *taosAsyncOutputLog(void *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tListLen
      Src: /src/tdengine/source/util/src/tlog.c:1537,1
    - Dst: strncpy
      Src: /src/tdengine/source/util/src/tlog.c:1543,1
    - Dst: tListLen
      Src: /src/tdengine/source/util/src/tlog.c:1558,1
    - Dst: strncpy
      Src: /src/tdengine/source/util/src/tlog.c:1551,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlog.c:1560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - val
    - buf
    argTypes:
    - uint64_t
    - char*
    constantsTouched: []
    func_position:
      end: 1568
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1568
    functionName: u64toaFastLut
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - strncpy
    - memcpy
    - tListLen
    linkageType: ''
    returnType: char*
    signature: 'char * u64toaFastLut(uint64_t val, char* buf) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setReportThreadRunning
      Src: /src/tdengine/source/util/src/tlog.c:1360,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:1371,1
    - Dst: taosLogCrashInfo
      Src: /src/tdengine/source/util/src/tlog.c:1374,1
    - Dst: taosGenCrashJsonMsg
      Src: /src/tdengine/source/util/src/tlog.c:1368,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1369,1
    - Dst: setCrashWriterStatus
      Src: /src/tdengine/source/util/src/tlog.c:1375,1
    - Dst: tsem_post
      Src: /src/tdengine/source/util/src/tlog.c:1376,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:1378,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1380,1
    - Dst: tsem_post
      Src: /src/tdengine/source/util/src/tlog.c:1380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1382
    functionName: checkWriteCrashLogToFileInNewThead
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosPrintLog
    - TAOS_UNUSED
    - setCrashWriterStatus
    - strlen
    - taosGenCrashJsonMsg
    - uError
    - taosLogCrashInfo
    - tsem_post
    - setReportThreadRunning
    linkageType: ''
    returnType: void
    signature: 'static void checkWriteCrashLogToFileInNewThead() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/src/tlog.c:160,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tlog.c:167,1
    - Dst: taosThreadAttrSetStackSize
      Src: /src/tdengine/source/util/src/tlog.c:162,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/src/tlog.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: taosStartLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadAttrInit
    - taosThreadAttrSetStackSize
    - taosThreadCreate
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosStartLog() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 305
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 305
    functionName: taosSetNoNewFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosSetNoNewFile() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:563,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:568,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlog.c:568,1
    - Dst: taosLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:573,1
    - Dst: lastErrorIsFileNotExist
      Src: /src/tdengine/source/util/src/tlog.c:565,1
    - Dst: taosUnLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:574,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:575,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:578,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - logFileName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 581
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 581
    functionName: taosCheckFileIsOpen
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - lastErrorIsFileNotExist
    - taosLockLogFile
    - printf
    - strerror
    - taosUnLockLogFile
    linkageType: ''
    returnType: bool
    signature: 'static bool taosCheckFileIsOpen(char *logFileName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:725,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:729,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:732,1
    - Dst: taosGetTimeOfDay
      Src: /src/tdengine/source/util/src/tlog.c:725,1
    - Dst: taosLocalTime
      Src: /src/tdengine/source/util/src/tlog.c:727,1
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/util/src/tlog.c:734,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - flags
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 735
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 735
    functionName: taosBuildLogHead
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - snprintf
    - TAOS_UNUSED
    - uError
    - taosGetSelfPthreadId
    - taosLocalTime
    - taosGetTimeOfDay
    linkageType: ''
    returnType: int32_t
    signature: 'static inline int32_t taosBuildLogHead(char *buffer, const char *flags) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosBuildLogHead
      Src: /src/tdengine/source/util/src/tlog.c:788,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tlog.c:802,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/util/src/tlog.c:790,1
    - Dst: taosPrintLogImp
      Src: /src/tdengine/source/util/src/tlog.c:798,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - format
    - args
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 805
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 805
    functionName: taosPrintLogImplUseStackBuffer
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - vsnprintf
    - taosBuildLogHead
    - taosPrintLogImp
    - taosGetTimestampMs
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t taosPrintLogImplUseStackBuffer(const char *flags, int32_t
      level, int32_t dflag, const char *format, va_list args) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlog.c:908,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:911,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tlog.c:911,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:912,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:914,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:914,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tlog.c:920,1
    - Dst: LOG_BUF_MUTEX
      Src: /src/tdengine/source/util/src/tlog.c:920,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:926,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:926,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:915,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlog.c:927,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - bufSize
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 929
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 929
    functionName: taosLogBuffNew
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    - LOG_BUF_END
    - taosMemoryCalloc
    - LOG_BUF_START
    - taosThreadMutexInit
    - LOG_BUF_BUFFER
    - LOG_BUF_MUTEX
    - taosMemoryFreeClear
    - LOG_BUF_SIZE
    linkageType: ''
    returnType: SLogBuff*
    signature: 'static SLogBuff *taosLogBuffNew(int32_t bufSize) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:1257,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:1259,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:1270,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1272,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1286,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:1291,1
    - Dst: taosPrintTrace
      Src: /src/tdengine/source/util/src/tlog.c:1298,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:1307,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1281,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1282,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1280,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1286,1
    - Dst: taosPrintTrace
      Src: /src/tdengine/source/util/src/tlog.c:1302,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1261,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1261,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1273,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1280,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1274,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:1278,1
    - Dst: taosPrintTrace
      Src: /src/tdengine/source/util/src/tlog.c:1304,1
    - Dst: taosLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1265,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1266,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1266,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1272,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1293,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1300,1
    - Dst: taosGetCmdlineByPID
      Src: /src/tdengine/source/util/src/tlog.c:1301,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 5
    argNames:
    - nodeType
    - pMsg
    - msgLen
    - signum
    - sigInfo
    argTypes:
    - char*
    - char*
    - int64_t
    - int
    - void*
    constantsTouched: []
    func_position:
      end: 1308
      start: 1249
    functionDepth: 0
    functionLinenumber: 1249
    functionLinenumberEnd: 1308
    functionName: taosLogCrashInfo
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosPrintTrace
    - taosOpenFile
    - taosPrintLog
    - snprintf
    - TAOS_UNUSED
    - taosCloseFile
    - taosMemoryFree
    - terrstr
    - taosWriteFile
    - taosUnLockFile
    - taosLockFile
    - taosGetCmdlineByPID
    linkageType: ''
    returnType: void
    signature: 'void taosLogCrashInfo(char *nodeType, char *pMsg, int64_t msgLen,
      int signum, void *sigInfo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tlog.c:1333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1339
    functionName: reportThreadSetQuit
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: bool
    signature: 'bool reportThreadSetQuit() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ts
    argTypes:
    - int64_t
    constantsTouched: []
    func_position:
      end: 560
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 560
    functionName: taosLogObjSetToday
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosLogObjSetToday(int64_t ts) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:589,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:592,1
    - Dst: taosCheckFileIsOpen
      Src: /src/tdengine/source/util/src/tlog.c:590,1
    - Dst: taosCheckFileIsOpen
      Src: /src/tdengine/source/util/src/tlog.c:593,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:596,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:602,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tlog.c:603,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - fn
    - maxFileNum
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 605
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 605
    functionName: decideLogFileName
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - strlen
    - snprintf
    - taosCheckFileIsOpen
    - tstrncpy
    linkageType: ''
    returnType: void
    signature: 'static void decideLogFileName(const char *fn, int32_t maxFileNum) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: osLogSpaceSufficient
      Src: /src/tdengine/source/util/src/tlog.c:738,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:741,1
    - Dst: taosPushLogBuffer
      Src: /src/tdengine/source/util/src/tlog.c:741,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:743,1
    - Dst: taosUpdateLogNums
      Src: /src/tdengine/source/util/src/tlog.c:739,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:743,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:747,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tlog.c:747,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:749,1
    - Dst: taosOpenNewLogFile
      Src: /src/tdengine/source/util/src/tlog.c:749,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:772,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:775,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:775,1
    - Dst: write
      Src: /src/tdengine/source/util/src/tlog.c:771,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlog.c:772,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlog.c:772,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 4
    argNames:
    - level
    - dflag
    - buffer
    - len
    argTypes:
    - ELogLevel
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 779
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 779
    functionName: taosPrintLogImp
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosPushLogBuffer
    - fprintf
    - taosWriteFile
    - osLogSpaceSufficient
    - printf
    - taosUpdateLogNums
    - strerror
    - atomic_add_fetch_32
    - write
    - taosOpenNewLogFile
    linkageType: ''
    returnType: void
    signature: 'static inline void taosPrintLogImp(ELogLevel level, int32_t dflag,
      const char *buffer, int32_t len) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlog.c:808,1
    - Dst: taosBuildLogHead
      Src: /src/tdengine/source/util/src/tlog.c:812,1
    - Dst: taosPrintLogImp
      Src: /src/tdengine/source/util/src/tlog.c:820,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/util/src/tlog.c:814,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tlog.c:824,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:826,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - flags
    - level
    - dflag
    - format
    - args
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    - va_list
    constantsTouched: []
    func_position:
      end: 828
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 828
    functionName: taosPrintLogImplUseHeapBuffer
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosGetTimestampMs
    - taosMemoryFree
    - taosMemoryCalloc
    - taosPrintLogImp
    - vsnprintf
    - taosBuildLogHead
    linkageType: ''
    returnType: int8_t
    signature: 'static int8_t taosPrintLogImplUseHeapBuffer(const char *flags, int32_t
      level, int32_t dflag, const char *format, va_list args) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlog.c:933,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:935,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:936,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:933,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlog.c:936,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:936,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlog.c:937,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:937,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:937,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:937,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:939,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:942,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:942,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:942,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlog.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 5
    argNames:
    - pLogBuf
    - start
    - end
    - msg
    - msgLen
    argTypes:
    - SLogBuff*
    - int32_t
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 943
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 943
    functionName: taosCopyLogBuffer
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - memcpy
    - LOG_BUF_END
    - LOG_BUF_SIZE
    - LOG_BUF_BUFFER
    linkageType: ''
    returnType: void
    signature: 'static void taosCopyLogBuffer(SLogBuff *pLogBuf, int32_t start, int32_t
      end, const char *msg, int32_t msgLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1498,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/util/src/tlog.c:1498,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1501,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1502,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1501,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:1502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pFile
    - truncateFile
    argTypes:
    - TdFilePtr
    - bool
    constantsTouched: []
    func_position:
      end: 1503
      start: 1496
    functionDepth: 0
    functionLinenumber: 1496
    functionLinenumberEnd: 1503
    functionName: taosReleaseCrashLogFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosFtruncateFile
    - TAOS_UNUSED
    - taosCloseFile
    - taosUnLockFile
    linkageType: ''
    returnType: void
    signature: 'void taosReleaseCrashLogFile(TdFilePtr pFile, bool truncateFile) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1514,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/util/src/tlog.c:1518,1
    - Dst: taosPrintTrace
      Src: /src/tdengine/source/util/src/tlog.c:1515,1
    - Dst: abort
      Src: /src/tdengine/source/util/src/tlog.c:1519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - condition
    argTypes:
    - bool
    constantsTouched: []
    func_position:
      end: 1523
      start: 1507
    functionDepth: 0
    functionLinenumber: 1507
    functionLinenumberEnd: 1523
    functionName: taosAssertRelease
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosPrintTrace
    - taosPrintLog
    - taosMsleep
    - abort
    linkageType: ''
    returnType: bool
    signature: 'bool taosAssertRelease(bool condition) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checkWriteCrashLogToFileInNewThead
      Src: /src/tdengine/source/util/src/tlog.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1384
    functionDepth: 0
    functionLinenumber: 1384
    functionLinenumberEnd: 1386
    functionName: checkAndPrepareCrashInfo
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - checkWriteCrashLogToFileInNewThead
    linkageType: ''
    returnType: void
    signature: 'void checkAndPrepareCrashInfo() '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: tIsValidFilePath
      Src: /src/tdengine/source/util/src/tlog.c:237,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tlog.c:246,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tlog.c:241,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tlog.c:251,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:238,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tlog.c:256,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:258,1
    - Dst: strrchr
      Src: /src/tdengine/source/util/src/tlog.c:266,1
    - Dst: strrchr
      Src: /src/tdengine/source/util/src/tlog.c:266,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/src/tlog.c:271,1
    - Dst: tIsValidFileName
      Src: /src/tdengine/source/util/src/tlog.c:276,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/src/tlog.c:271,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:277,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:272,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 53
    argCount: 1
    argNames:
    - ppLogName
    argTypes:
    - char**
    constantsTouched: []
    func_position:
      end: 283
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 283
    functionName: taosInitLogOutput
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - strrchr
    - fprintf
    - strcmp
    - strlen
    - tIsValidFileName
    - strcasecmp
    - tIsValidFilePath
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosInitLogOutput(const char **ppLogName) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:392,1
    - Dst: taosLockFile
      Src: /src/tdengine/source/util/src/tlog.c:393,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:395,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tlog.c:396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tlog.c:393,1
    - Dst: taosCompressFile
      Src: /src/tdengine/source/util/src/tlog.c:396,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tlog.c:397,1
    - Dst: taosRemoveFile
      Src: /src/tdengine/source/util/src/tlog.c:397,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:399,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:399,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:401,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:407,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tlog.c:407,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:401,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - oldName
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 410
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 410
    functionName: taosKeepOldLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosOpenFile
    - snprintf
    - TAOS_UNUSED
    - taosCloseFile
    - fprintf
    - taosCompressFile
    - taosUnLockFile
    - tstrerror
    - taosLockFile
    - taosRemoveFile
    linkageType: ''
    returnType: void
    signature: 'static void taosKeepOldLog(char *oldName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:509,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:515,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:526,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:532,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:543,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlog.c:505,1
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/util/src/tlog.c:513,1
    - Dst: getDay
      Src: /src/tdengine/source/util/src/tlog.c:523,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlog.c:534,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:541,1
    - Dst: taosGetTimestampToday
      Src: /src/tdengine/source/util/src/tlog.c:542,1
    - Dst: sched_yield
      Src: /src/tdengine/source/util/src/tlog.c:515,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:534,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:531,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:525,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:508,1
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/util/src/tlog.c:506,1
    - Dst: taosWriteLog
      Src: /src/tdengine/source/util/src/tlog.c:519,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/util/src/tlog.c:520,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:525,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlog.c:535,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 544
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 544
    functionName: taosOpenNewSlowLogFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - getDay
    - snprintf
    - taosThreadMutexLock
    - TAOS_UNUSED
    - atomic_store_32
    - taosOpenFile
    - taosCloseFile
    - atomic_val_compare_exchange_32
    - taosGetTimestampToday
    - tstrerror
    - taosGetTimestampSec
    - uError
    - strerror
    - taosWriteLog
    - sched_yield
    - uInfo
    linkageType: ''
    returnType: void
    signature: 'void taosOpenNewSlowLogFile() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosOpenNewLogFile
      Src: /src/tdengine/source/util/src/tlog.c:551,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:556,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:555,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:553,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:553,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: taosResetLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - tstrerror
    - uError
    - uInfo
    - taosOpenNewLogFile
    linkageType: ''
    returnType: void
    signature: 'void taosResetLog() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:417,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:417,1
    - Dst: taosUmaskFile
      Src: /src/tdengine/source/util/src/tlog.c:424,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:426,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:444,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/util/src/tlog.c:435,1
    - Dst: taosReserveOldLog
      Src: /src/tdengine/source/util/src/tlog.c:448,1
    - Dst: taosLockLogFile
      Src: /src/tdengine/source/util/src/tlog.c:434,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:422,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tlog.c:422,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:430,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:430,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:434,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tlog.c:436,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:436,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:424,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:451,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tlog.c:450,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tlog.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 453
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 453
    functionName: taosOpenNewFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosLSeekFile
    - snprintf
    - TAOS_UNUSED
    - taosMemoryMalloc
    - uWarn
    - taosLockLogFile
    - tstrerror
    - uError
    - taosReserveOldLog
    - uInfo
    - taosUmaskFile
    linkageType: ''
    returnType: OldFileKeeper*
    signature: 'static OldFileKeeper *taosOpenNewFile() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/tdengine/source/util/src/tlog.c:833,1
    - Dst: taosPrintLogImplUseStackBuffer
      Src: /src/tdengine/source/util/src/tlog.c:836,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:838,1
    - Dst: taosPrintLogImplUseHeapBuffer
      Src: /src/tdengine/source/util/src/tlog.c:838,1
    - Dst: va_copy
      Src: /src/tdengine/source/util/src/tlog.c:834,1
    - Dst: va_end
      Src: /src/tdengine/source/util/src/tlog.c:840,1
    - Dst: va_end
      Src: /src/tdengine/source/util/src/tlog.c:841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - flags
    - level
    - dflag
    - format
    - '...'
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 842
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 842
    functionName: taosPrintLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - taosPrintLogImplUseHeapBuffer
    - va_start
    - va_end
    - taosPrintLogImplUseStackBuffer
    - va_copy
    linkageType: ''
    returnType: void
    signature: 'void taosPrintLog(const char *flags, int32_t level, int32_t dflag,
      const char *format, ...) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/util/src/tlog.c:1002,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/util/src/tlog.c:1005,1
    - Dst: taosWriteLog
      Src: /src/tdengine/source/util/src/tlog.c:1004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pLogBuf
    argTypes:
    - SLogBuff*
    constantsTouched: []
    func_position:
      end: 1006
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1006
    functionName: taosWriteSlowLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosWriteLog
    - atomic_val_compare_exchange_32
    - atomic_store_32
    linkageType: ''
    returnType: void
    signature: 'static void taosWriteSlowLog(SLogBuff *pLogBuf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/util/src/tlog.c:1400,1
    - Dst: setReportThreadWait
      Src: /src/tdengine/source/util/src/tlog.c:1403,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1409,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/util/src/tlog.c:1409,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - signum
    - sigInfo
    - nodeType
    - clusterId
    - startTime
    argTypes:
    - int
    - void*
    - char*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 1411
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1411
    functionName: writeCrashLogToFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosGetSelfPthreadId
    - setReportThreadWait
    - TAOS_UNUSED
    - tsem_wait
    linkageType: ''
    returnType: void
    signature: 'void writeCrashLogToFile(int signum, void *sigInfo, char *nodeType,
      int64_t clusterId, int64_t startTime) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tlog.c:286,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tlog.c:297,1
    - Dst: osUpdate
      Src: /src/tdengine/source/util/src/tlog.c:287,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tlog.c:289,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlog.c:289,1
    - Dst: taosInitNormalLog
      Src: /src/tdengine/source/util/src/tlog.c:297,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tlog.c:299,1
    - Dst: taosInitSlowLog
      Src: /src/tdengine/source/util/src/tlog.c:299,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tlog.c:301,1
    - Dst: taosStartLog
      Src: /src/tdengine/source/util/src/tlog.c:301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - logName
    - maxFiles
    - tsc
    argTypes:
    - char*
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 303
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 303
    functionName: taosInitLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - osUpdate
    - taosInitSlowLog
    - taosInitNormalLog
    - taosStartLog
    - tstrerror
    - TAOS_CHECK_RETURN
    - uError
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosInitLog(const char *logName, int32_t maxFiles, bool tsc) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosSsleep
      Src: /src/tdengine/source/util/src/tlog.c:458,1
    - Dst: taosCloseLogByFd
      Src: /src/tdengine/source/util/src/tlog.c:460,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/util/src/tlog.c:459,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:462,1
    - Dst: taosKeepOldLog
      Src: /src/tdengine/source/util/src/tlog.c:461,1
    - Dst: taosRemoveOldFiles
      Src: /src/tdengine/source/util/src/tlog.c:464,1
    - Dst: abs
      Src: /src/tdengine/source/util/src/tlog.c:464,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/util/src/tlog.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: taosThreadToCloseOldFile
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosRemoveOldFiles
    - taosKeepOldLog
    - taosSsleep
    - abs
    - taosCloseLogByFd
    - taosWUnLockLatch
    - taosWLockLatch
    linkageType: ''
    returnType: void*
    signature: 'static void *taosThreadToCloseOldFile(void *param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: osLogSpaceSufficient
      Src: /src/tdengine/source/util/src/tlog.c:845,1
    - Dst: taosBuildLogHead
      Src: /src/tdengine/source/util/src/tlog.c:850,1
    - Dst: va_start
      Src: /src/tdengine/source/util/src/tlog.c:853,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tlog.c:848,1
    - Dst: vsnprintf
      Src: /src/tdengine/source/util/src/tlog.c:854,1
    - Dst: va_end
      Src: /src/tdengine/source/util/src/tlog.c:855,1
    - Dst: taosPrintLogImp
      Src: /src/tdengine/source/util/src/tlog.c:861,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:862,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - flags
    - level
    - dflag
    - format
    - '...'
    argTypes:
    - char*
    - int32_t
    - int32_t
    - char*
    constantsTouched: []
    func_position:
      end: 863
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 863
    functionName: taosPrintLongString
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - va_start
    - va_end
    - osLogSpaceSufficient
    - taosPrintLogImp
    - vsnprintf
    - taosBuildLogHead
    linkageType: ''
    returnType: void
    signature: 'void taosPrintLongString(const char *flags, int32_t level, int32_t
      dflag, const char *format, ...) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1028,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:1031,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:1031,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:1044,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:1053,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:1047,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:1056,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:1033,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:1053,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:1008,1
    - Dst: taosGetLogRemainSize
      Src: /src/tdengine/source/util/src/tlog.c:1017,1
    - Dst: taosWriteFile
      Src: /src/tdengine/source/util/src/tlog.c:1028,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:1028,1
    - Dst: LOG_BUF_SIZE
      Src: /src/tdengine/source/util/src/tlog.c:1030,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1031,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:1053,1
    - Dst: LOG_BUF_END
      Src: /src/tdengine/source/util/src/tlog.c:1009,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1033,1
    - Dst: LOG_BUF_START
      Src: /src/tdengine/source/util/src/tlog.c:1055,1
    - Dst: LOG_BUF_BUFFER
      Src: /src/tdengine/source/util/src/tlog.c:1033,1
    - Dst: taosGetLogRemainSize
      Src: /src/tdengine/source/util/src/tlog.c:1058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - pLogBuf
    argTypes:
    - SLogBuff*
    constantsTouched: []
    func_position:
      end: 1064
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1064
    functionName: taosWriteLog
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - TAOS_UNUSED
    - LOG_BUF_END
    - LOG_BUF_START
    - taosWriteFile
    - LOG_BUF_BUFFER
    - taosGetLogRemainSize
    - LOG_BUF_SIZE
    linkageType: ''
    returnType: void
    signature: 'static void taosWriteLog(SLogBuff *pLogBuf) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: taosStatFile
      Src: /src/tdengine/source/util/src/tlog.c:1423,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1442,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1442,1
    - Dst: taosLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1446,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tlog.c:1488,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tlog.c:1436,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1446,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/util/src/tlog.c:1452,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tlog.c:1462,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/util/src/tlog.c:1468,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1464,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1485,1
    - Dst: taosUnLockFile
      Src: /src/tdengine/source/util/src/tlog.c:1487,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1488,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1428,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1428,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tlog.c:1424,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1471,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1472,1
    - Dst: TAOS_UNUSED
      Src: /src/tdengine/source/util/src/tlog.c:1487,1
    - Dst: taosPrintLog
      Src: /src/tdengine/source/util/src/tlog.c:1456,1
    - Dst: taosFtruncateFile
      Src: /src/tdengine/source/util/src/tlog.c:1485,1
    - Dst: terrstr
      Src: /src/tdengine/source/util/src/tlog.c:1457,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlog.c:1489,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - filepath
    - pMsg
    - pMsgLen
    - pFd
    argTypes:
    - char*
    - char**
    - int64_t*
    - TdFilePtr*
    constantsTouched: []
    func_position:
      end: 1494
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1494
    functionName: taosReadCrashInfo
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosPrintLog
    - taosStatFile
    - TAOS_UNUSED
    - TAOS_SYSTEM_ERROR
    - taosReadFile
    - taosMemoryMalloc
    - taosCloseFile
    - terrstr
    - taosMemoryFree
    - taosUnLockFile
    - taosFtruncateFile
    - taosLockFile
    linkageType: ''
    returnType: void
    signature: 'void taosReadCrashInfo(char *filepath, char **pMsg, int64_t *pMsgLen,
      TdFilePtr *pFd) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tlog.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1358
    functionName: setReportThreadRunning
    functionSourceFile: /src/tdengine/source/util/src/tlog.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_8
    linkageType: ''
    returnType: bool
    signature: 'bool setReportThreadRunning() '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlosertree.c:23,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SMultiwayMergeTreeInfo*
    constantsTouched: []
    func_position:
      end: 35
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 35
    functionName: tMergeTreeInit
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t tMergeTreeInit(SMultiwayMergeTreeInfo* pTree) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlosertree.c:96,1
    - Dst: memcmp
      Src: /src/tdengine/source/util/src/tlosertree.c:126,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - pTree
    - idx
    argTypes:
    - SMultiwayMergeTreeInfo*
    - int32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 131
    functionName: tMergeTreeAdjust
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - uError
    - memcmp
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMergeTreeAdjust(SMultiwayMergeTreeInfo* pTree, int32_t idx) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlosertree.c:42,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/tlosertree.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlosertree.c:58,1
    - Dst: tMergeTreeInit
      Src: /src/tdengine/source/util/src/tlosertree.c:56,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tlosertree.c:44,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:63,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/util/src/tlosertree.c:68,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlosertree.c:70,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:76,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:78,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 4
    argNames:
    - pTree
    - numOfSources
    - param
    - compareFn
    argTypes:
    - SMultiwayMergeTreeInfo**
    - uint32_t
    - void*
    - __merge_compare_fn_t
    constantsTouched: []
    func_position:
      end: 83
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 83
    functionName: tMergeTreeCreate
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - printf
    - tMergeTreeAdjust
    - uError
    - strerror
    - tMergeTreeInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMergeTreeCreate(SMultiwayMergeTreeInfo** pTree, uint32_t
      numOfSources, void* param, __merge_compare_fn_t compareFn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:151,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:156,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tlosertree.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SMultiwayMergeTreeInfo*
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: tMergeTreePrint
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreePrint(const SMultiwayMergeTreeInfo* pTree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tMergeTreeInit
      Src: /src/tdengine/source/util/src/tlosertree.c:134,1
    - Dst: tMergeTreeAdjust
      Src: /src/tdengine/source/util/src/tlosertree.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SMultiwayMergeTreeInfo*
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: tMergeTreeRebuild
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - tMergeTreeAdjust
    - tMergeTreeInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tMergeTreeRebuild(SMultiwayMergeTreeInfo* pTree) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tlosertree.c:90,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SMultiwayMergeTreeInfo**
    constantsTouched: []
    func_position:
      end: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: tMergeTreeDestroy
    functionSourceFile: /src/tdengine/source/util/src/tlosertree.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void tMergeTreeDestroy(SMultiwayMergeTreeInfo** pTree) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 28
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 28
    functionName: taosGetErrno
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t*
    signature: 'int32_t * taosGetErrno() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: taosClearErrMsg
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosClearErrMsg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: taosGetErrMsg
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * taosGetErrMsg() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: taosGetErrMsgReturn
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char * taosGetErrMsgReturn() '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 937
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 937
    functionName: taosCompareTaosError
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosCompareTaosError(const void* a, const void* b) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSort
      Src: /src/tdengine/source/util/src/terror.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 943
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 943
    functionName: tsSortError
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached:
    - taosSort
    linkageType: ''
    returnType: void
    signature: 'static void tsSortError(void) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/util/src/terror.c:947,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/terror.c:955,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/terror.c:952,1
    - Dst: strerror
      Src: /src/tdengine/source/util/src/terror.c:963,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - err
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 984
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 984
    functionName: tstrerror
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached:
    - strerror
    - taosThreadOnce
    - snprintf
    linkageType: ''
    returnType: char*
    signature: 'const char * tstrerror(int32_t err) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: taosGetErrln
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t*
    signature: 'int32_t * taosGetErrln() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/terror.c:986,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 986
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 986
    functionName: terrstr
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached:
    - tstrerror
    linkageType: ''
    returnType: char*
    signature: 'const char * terrstr() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 988
    functionName: taosGetErrSize
    functionSourceFile: /src/tdengine/source/util/src/terror.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetErrSize() '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 19
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 19
    functionName: toLowChar
    functionSourceFile: /src/tdengine/source/util/src/tenv.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'static char toLowChar(char c) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tenv.c:57,1
    - Dst: taosEnvNameToCfgName
      Src: /src/tdengine/source/util/src/tenv.c:69,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tenv.c:71,1
    - Dst: strchr
      Src: /src/tdengine/source/util/src/tenv.c:59,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tenv.c:65,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tenv.c:72,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tenv.c:78,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - envStr
    - cfgStr
    - cfgStrLen
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: taosEnvToCfg
    functionSourceFile: /src/tdengine/source/util/src/tenv.c
    functionUses: []
    functionsReached:
    - strchr
    - tstrncpy
    - memset
    - strlen
    - taosEnvNameToCfgName
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosEnvToCfg(const char *envStr, char *cfgStr, int32_t cfgStrLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toLowChar
      Src: /src/tdengine/source/util/src/tenv.c:31,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tenv.c:49,1
    - Dst: toLowChar
      Src: /src/tdengine/source/util/src/tenv.c:42,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 33
    argCount: 3
    argNames:
    - envNameStr
    - cfgNameStr
    - cfgNameMaxLen
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 50
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 50
    functionName: taosEnvNameToCfgName
    functionSourceFile: /src/tdengine/source/util/src/tenv.c
    functionUses: []
    functionsReached:
    - toLowChar
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosEnvNameToCfgName(const char *envNameStr, char *cfgNameStr,
      int32_t cfgNameMaxLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampSec
      Src: /src/tdengine/source/util/src/tdes.c:33,1
    - Dst: generate_key
      Src: /src/tdengine/source/util/src/tdes.c:37,1
    - Dst: taosSeedRand
      Src: /src/tdengine/source/util/src/tdes.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: taosDesGenKey
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - taosGetTimestampSec
    - generate_key
    - taosSeedRand
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosDesGenKey() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tdes.c:77,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tdes.c:88,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tdes.c:84,1
    - Dst: taosDesImp
      Src: /src/tdengine/source/util/src/tdes.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - key
    - src
    - len
    argTypes:
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 91
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 91
    functionName: taosDesDecode
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memcpy
    - taosDesImp
    - taosMemoryFree
    linkageType: ''
    returnType: char*
    signature: 'char * taosDesDecode(int64_t key, char* src, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdes.c:48,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdes.c:57,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tdes.c:49,1
    - Dst: generate_sub_keys
      Src: /src/tdengine/source/util/src/tdes.c:54,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tdes.c:58,1
    - Dst: process_message
      Src: /src/tdengine/source/util/src/tdes.c:59,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tdes.c:60,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - key
    - src
    - len
    - process_mode
    argTypes:
    - uint8_t*
    - char*
    - uint32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: taosDesImp
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - memset
    - memcpy
    - generate_sub_keys
    - process_message
    linkageType: ''
    returnType: char*
    signature: 'char * taosDesImp(uint8_t* key, char* src, uint32_t len, int32_t process_mode) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:157,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - input
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: print_char_as_binary
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_char_as_binary(char input) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:173,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:177,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:179,1
    - Dst: print_char_as_binary
      Src: /src/tdengine/source/util/src/tdes.c:176,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:175,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:182,1
    - Dst: print_char_as_binary
      Src: /src/tdengine/source/util/src/tdes.c:183,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:184,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:186,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:189,1
    - Dst: print_char_as_binary
      Src: /src/tdengine/source/util/src/tdes.c:190,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:191,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tdes.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - _key_set
    argTypes:
    - key_set
    constantsTouched: []
    func_position:
      end: 194
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 194
    functionName: print_key_set
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - print_char_as_binary
    - printf
    linkageType: ''
    returnType: void
    signature: 'void print_key_set(key_set _key_set) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosDesImp
      Src: /src/tdengine/source/util/src/tdes.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - key
    - src
    - len
    argTypes:
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: taosDesEncode
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - taosDesImp
    linkageType: ''
    returnType: char*
    signature: 'char * taosDesEncode(int64_t key, char* src, int32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosRand
      Src: /src/tdengine/source/util/src/tdes.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 169
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 169
    functionName: generate_key
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - taosRand
    linkageType: ''
    returnType: void
    signature: 'void generate_key(uint8_t* key) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 138
    argCount: 2
    argNames:
    - main_key
    - key_sets
    argTypes:
    - uint8_t*
    - key_set*
    constantsTouched: []
    func_position:
      end: 291
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 291
    functionName: generate_sub_keys
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void generate_sub_keys(uint8_t* main_key, key_set* key_sets) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdes.c:299,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdes.c:323,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdes.c:300,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tdes.c:321,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 243
    argCount: 4
    argNames:
    - message_piece
    - processed_piece
    - key_sets
    - mode
    argTypes:
    - uint8_t*
    - uint8_t*
    - key_set*
    - int32_t
    constantsTouched: []
    func_position:
      end: 470
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 470
    functionName: process_message
    functionSourceFile: /src/tdengine/source/util/src/tdes.c
    functionUses: []
    functionsReached:
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: 'void process_message(uint8_t* message_piece, uint8_t* processed_piece,
      key_set* key_sets, int32_t mode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDLimit36
      Src: /src/tdengine/source/util/src/tuuid.c:23,1
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/util/src/tuuid.c:29,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tuuid.c:29,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 32
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 32
    functionName: taosGetSystemUUIDU32
    functionSourceFile: /src/tdengine/source/util/src/tuuid.c
    functionUses: []
    functionsReached:
    - strlen
    - taosGetSystemUUIDLimit36
    - MurmurHash3_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetSystemUUIDU32(uint32_t *uuid) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDU32
      Src: /src/tdengine/source/util/src/tuuid.c:50,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tuuid.c:56,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/util/src/tuuid.c:57,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tuuid.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: tGenIdPI32
    functionSourceFile: /src/tdengine/source/util/src/tuuid.c
    functionUses: []
    functionsReached:
    - taosGetSystemUUIDU32
    - taosGetPId
    - atomic_add_fetch_32
    - taosGetTimestampMs
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tGenIdPI32(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tuuid.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - dnodeId
    argTypes:
    - int8_t
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: tGenQid64
    functionSourceFile: /src/tdengine/source/util/src/tuuid.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tGenQid64(int8_t dnodeId) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDU32
      Src: /src/tdengine/source/util/src/tuuid.c:66,1
    - Dst: taosGetTimestampMs
      Src: /src/tdengine/source/util/src/tuuid.c:75,1
    - Dst: taosGetPId
      Src: /src/tdengine/source/util/src/tuuid.c:76,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tuuid.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: tGenIdPI64
    functionSourceFile: /src/tdengine/source/util/src/tuuid.c
    functionUses: []
    functionsReached:
    - taosGetSystemUUIDU32
    - taosGetPId
    - atomic_add_fetch_32
    - taosGetTimestampMs
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t tGenIdPI64(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSystemUUIDLimit36
      Src: /src/tdengine/source/util/src/tuuid.c:37,1
    - Dst: MurmurHash3_64
      Src: /src/tdengine/source/util/src/tuuid.c:43,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tuuid.c:43,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - uuid
    argTypes:
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 46
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 46
    functionName: taosGetSystemUUIDU64
    functionSourceFile: /src/tdengine/source/util/src/tuuid.c
    functionUses: []
    functionsReached:
    - strlen
    - taosGetSystemUUIDLimit36
    - MurmurHash3_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetSystemUUIDU64(uint64_t *uuid) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pTree
    - x
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 52
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 52
    functionName: tRBTreeRotateRight
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tRBTreeRotateRight(SRBTree *pTree, SRBTreeNode *x) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - pTree
    - u
    - v
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: tRBTreeTransplant
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tRBTreeTransplant(SRBTree *pTree, SRBTreeNode *u, SRBTreeNode
      *v) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pTree
    - pNode
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 145
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 145
    functionName: tRBTreePredecessor
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'static SRBTreeNode *tRBTreePredecessor(const SRBTree *pTree, SRBTreeNode
      *pNode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - ECOLOR*
    - ECOLOR*
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: swap_int8
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swap_int8(ECOLOR *x, ECOLOR *y) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeGet
      Src: /src/tdengine/source/util/src/trbtree.c:413,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/util/src/trbtree.c:416,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pTree
    - pKey
    argTypes:
    - SRBTree*
    - void*
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: tRBTreeDropByKey
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeGet
    - tRBTreeDrop
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreeDropByKey(SRBTree *pTree, void *pKey) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeMax
      Src: /src/tdengine/source/util/src/trbtree.c:431,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/util/src/trbtree.c:433,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SRBTree*
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: tRBTreeDropMax
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeDrop
    - tRBTreeMax
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreeDropMax(SRBTree *pTree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeSuccessor
      Src: /src/tdengine/source/util/src/trbtree.c:463,1
    - Dst: tRBTreePredecessor
      Src: /src/tdengine/source/util/src/trbtree.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SRBTreeIter*
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: tRBTreeIterNext
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeSuccessor
    - tRBTreePredecessor
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreeIterNext(SRBTreeIter *pIter) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pTree
    - pNode
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: tRBTreeSuccessor
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'static SRBTreeNode *tRBTreeSuccessor(const SRBTree *pTree, SRBTreeNode
      *pNode) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeRotateLeft
      Src: /src/tdengine/source/util/src/trbtree.c:68,1
    - Dst: tRBTreeRotateRight
      Src: /src/tdengine/source/util/src/trbtree.c:86,1
    - Dst: tRBTreeRotateRight
      Src: /src/tdengine/source/util/src/trbtree.c:73,1
    - Dst: tRBTreeRotateLeft
      Src: /src/tdengine/source/util/src/trbtree.c:90,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - pTree
    - z
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 95
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 95
    functionName: tRBTreePutFix
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeRotateRight
    - tRBTreeRotateLeft
    linkageType: ''
    returnType: void
    signature: 'static void tRBTreePutFix(SRBTree *pTree, SRBTreeNode *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeClear
      Src: /src/tdengine/source/util/src/trbtree.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pTree
    - cmprFn
    argTypes:
    - SRBTree*
    - tRBTreeCmprFn
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: tRBTreeCreate
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeClear
    linkageType: ''
    returnType: void
    signature: 'void tRBTreeCreate(SRBTree *pTree, tRBTreeCmprFn cmprFn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeMin
      Src: /src/tdengine/source/util/src/trbtree.c:423,1
    - Dst: tRBTreeDrop
      Src: /src/tdengine/source/util/src/trbtree.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SRBTree*
    constantsTouched: []
    func_position:
      end: 428
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 428
    functionName: tRBTreeDropMin
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeDrop
    - tRBTreeMin
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreeDropMin(SRBTree *pTree) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - pTree
    - pKeyNode
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 454
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 454
    functionName: tRBTreeGet
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreeGet(const SRBTree *pTree, const SRBTreeNode *pKeyNode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 4
    argNames:
    - rbtree
    - child
    - old
    - new
    argTypes:
    - rbtree_t*
    - rbnode_t*
    - rbnode_t*
    - rbnode_t*
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: change_child_ptr
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void change_child_ptr(rbtree_t *rbtree, rbnode_t *child, rbnode_t
      *old, rbnode_t *new) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swap_int8
      Src: /src/tdengine/source/util/src/trbtree.c:346,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:353,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:354,1
    - Dst: change_parent_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:349,1
    - Dst: change_parent_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:350,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:355,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:356,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:357,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:358,1
    - Dst: swap_np
      Src: /src/tdengine/source/util/src/trbtree.c:366,1
    - Dst: swap_np
      Src: /src/tdengine/source/util/src/trbtree.c:368,1
    - Dst: rbtree_delete_fixup
      Src: /src/tdengine/source/util/src/trbtree.c:388,1
    - Dst: change_parent_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:379,1
    - Dst: swap_np
      Src: /src/tdengine/source/util/src/trbtree.c:367,1
    - Dst: change_child_ptr
      Src: /src/tdengine/source/util/src/trbtree.c:380,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 2
    argNames:
    - rbtree
    - key
    argTypes:
    - rbtree_t*
    - void*
    constantsTouched: []
    func_position:
      end: 396
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 396
    functionName: rbtree_delete
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - change_child_ptr
    - swap_np
    - change_parent_ptr
    - rbtree_delete_fixup
    - swap_int8
    linkageType: ''
    returnType: rbnode_t*
    signature: 'rbnode_t *rbtree_delete(rbtree_t *rbtree, void *key) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pTree
    - x
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 34
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 34
    functionName: tRBTreeRotateLeft
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void tRBTreeRotateLeft(SRBTree *pTree, SRBTreeNode *x) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: rbtree_rotate_right
      Src: /src/tdengine/source/util/src/trbtree.c:233,1
    - Dst: rbtree_rotate_right
      Src: /src/tdengine/source/util/src/trbtree.c:282,1
    - Dst: rbtree_rotate_right
      Src: /src/tdengine/source/util/src/trbtree.c:295,1
    - Dst: rbtree_rotate_left
      Src: /src/tdengine/source/util/src/trbtree.c:235,1
    - Dst: rbtree_rotate_left
      Src: /src/tdengine/source/util/src/trbtree.c:272,1
    - Dst: rbtree_rotate_left
      Src: /src/tdengine/source/util/src/trbtree.c:298,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 3
    argNames:
    - rbtree
    - child
    - child_parent
    argTypes:
    - rbtree_t*
    - rbnode_t*
    - rbnode_t*
    constantsTouched: []
    func_position:
      end: 300
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 300
    functionName: rbtree_delete_fixup
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - rbtree_rotate_left
    - rbtree_rotate_right
    linkageType: ''
    returnType: void
    signature: 'static void rbtree_delete_fixup(rbtree_t *rbtree, rbnode_t *child,
      rbnode_t *child_parent) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreeSuccessor
      Src: /src/tdengine/source/util/src/trbtree.c:401,1
    - Dst: tRBTreePredecessor
      Src: /src/tdengine/source/util/src/trbtree.c:404,1
    - Dst: rbtree_delete
      Src: /src/tdengine/source/util/src/trbtree.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pTree
    - z
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 410
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 410
    functionName: tRBTreeDrop
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreeSuccessor
    - tRBTreePredecessor
    - rbtree_delete
    linkageType: ''
    returnType: void
    signature: 'void tRBTreeDrop(SRBTree *pTree, SRBTreeNode *z) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - rbnode_t**
    - rbnode_t**
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: swap_np
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void swap_np(rbnode_t **x, rbnode_t **y) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 4
    argNames:
    - rbtree
    - parent
    - old
    - new
    argTypes:
    - rbtree_t*
    - rbnode_t*
    - rbnode_t*
    - rbnode_t*
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: change_parent_ptr
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void change_parent_ptr(rbtree_t *rbtree, rbnode_t *parent,
      rbnode_t *old, rbnode_t *new) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pTree
    argTypes:
    - SRBTree*
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: tRBTreeClear
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tRBTreeClear(SRBTree *pTree) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tRBTreePutFix
      Src: /src/tdengine/source/util/src/trbtree.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 2
    argNames:
    - pTree
    - z
    argTypes:
    - SRBTree*
    - SRBTreeNode*
    constantsTouched: []
    func_position:
      end: 205
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 205
    functionName: tRBTreePut
    functionSourceFile: /src/tdengine/source/util/src/trbtree.c
    functionUses: []
    functionsReached:
    - tRBTreePutFix
    linkageType: ''
    returnType: SRBTreeNode*
    signature: 'SRBTreeNode *tRBTreePut(SRBTree *pTree, SRBTreeNode *z) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:172,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SMemPool*
    constantsTouched: []
    func_position:
      end: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    functionName: mpUpdateCfg
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - uDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpUpdateCfg(SMemPool* pPool) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SMPStatPos*
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: mpPrintPosAllocStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpPrintPosAllocStat(SMPStatPos* pStat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:716,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tmempool.c:722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 6
    argNames:
    - pHash
    - pKey
    - keyLen
    - pNew
    - newSize
    - ppRes
    argTypes:
    - SHashObj*
    - void*
    - int32_t
    - void*
    - int32_t
    - void**
    constantsTouched: []
    func_position:
      end: 733
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 733
    functionName: mpGetAllocFreeStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosHashPut
    - taosHashGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpGetAllocFreeStat(SHashObj* pHash, void* pKey, int32_t keyLen,
      void* pNew, int32_t newSize, void** ppRes) '
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: mpGetPosStatFileId
      Src: /src/tdengine/source/util/src/tmempool.c:761,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:763,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:774,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:776,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:795,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:796,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:806,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:807,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:822,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:826,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:837,1
    - Dst: mpGetAllocFreeStat
      Src: /src/tdengine/source/util/src/tmempool.c:879,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:841,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:869,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:882,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:848,1
    - Dst: mpGetPosStatFileId
      Src: /src/tdengine/source/util/src/tmempool.c:866,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:748,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tmempool.c:767,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/util/src/tmempool.c:770,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:786,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:805,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/util/src/tmempool.c:813,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:816,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:817,1
    - Dst: mpGetAllocFreeStat
      Src: /src/tdengine/source/util/src/tmempool.c:819,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:821,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:868,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:881,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:899,1
    - Dst: taosHashRemove
      Src: /src/tdengine/source/util/src/tmempool.c:873,1
    - Dst: taosHashAcquire
      Src: /src/tdengine/source/util/src/tmempool.c:833,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:847,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:772,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:784,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:791,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:792,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:815,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:823,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:835,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:839,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:854,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:855,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:846,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:876,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:907,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:887,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:827,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:858,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:875,1
    - Dst: mpGetAllocFreeStat
      Src: /src/tdengine/source/util/src/tmempool.c:851,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:870,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:883,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:765,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:764,1
    - Dst: mpGetAllocFreeStat
      Src: /src/tdengine/source/util/src/tmempool.c:788,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:790,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:777,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:783,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:778,1
    - Dst: mpGetPosStatFileId
      Src: /src/tdengine/source/util/src/tmempool.c:803,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tmempool.c:830,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:840,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:859,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:853,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:886,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 122
    argCount: 4
    argNames:
    - pStat
    - item
    - pInput
    - sessionStat
    argTypes:
    - SMPStatPos*
    - EMPStatLogItem
    - SMPStatInput*
    - bool
    constantsTouched: []
    func_position:
      end: 908
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 908
    functionName: mpLogPosStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - taosHashAcquire
    - mpGetAllocFreeStat
    - taosHashGet
    - taosHashRemove
    - mpGetPosStatFileId
    - tstrerror
    - uError
    - atomic_add_fetch_64
    - uDebug
    - taosHashPut
    - MP_GET_FLAG
    linkageType: ''
    returnType: void
    signature: 'void mpLogPosStat(SMPStatPos* pStat, EMPStatLogItem item, SMPStatInput*
      pInput, bool sessionStat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:1048,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:1053,1
    - Dst: mpUpdateSystemAvailableMemorySize
      Src: /src/tdengine/source/util/src/tmempool.c:1051,1
    - Dst: atomic_load_8
      Src: /src/tdengine/source/util/src/tmempool.c:1050,1
    - Dst: mpSchedTrim
      Src: /src/tdengine/source/util/src/tmempool.c:1057,1
    - Dst: mpSchedTrim
      Src: /src/tdengine/source/util/src/tmempool.c:1061,1
    - Dst: taosMsleep
      Src: /src/tdengine/source/util/src/tmempool.c:1064,1
    - Dst: taosMemPoolModDestroy
      Src: /src/tdengine/source/util/src/tmempool.c:1080,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - param
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1083
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1083
    functionName: mpMgmtThreadFunc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemPoolModDestroy
    - atomic_load_64
    - mpUpdateSystemAvailableMemorySize
    - atomic_load_ptr
    - mpSchedTrim
    - atomic_load_8
    - taosMsleep
    linkageType: ''
    returnType: void*
    signature: 'void * mpMgmtThreadFunc(void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosInitRWLatch
      Src: /src/tdengine/source/util/src/tmempool.c:1109,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tmempool.c:1111,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1132
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1132
    functionName: mpModInit
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosInitRWLatch
    - MP_ERR_JRET
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'void mpModInit(void) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1146,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tmempool.c:1147,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tmempool.c:1151,1
    - Dst: mpPrintStatDetail
      Src: /src/tdengine/source/util/src/tmempool.c:1149,1
    - Dst: mpPrintPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:1153,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1156,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tmempool.c:1157,1
    - Dst: mpPrintSessionStat
      Src: /src/tdengine/source/util/src/tmempool.c:1159,1
    - Dst: mpPrintStatDetail
      Src: /src/tdengine/source/util/src/tmempool.c:1160,1
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tmempool.c:1166,1
    - Dst: mpPrintPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:1168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - poolHandle
    - session
    - procName
    argTypes:
    - void*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1170
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1170
    functionName: taosMemPoolPrintStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - snprintf
    - mpPrintSessionStat
    - mpPrintPosStat
    - mpPrintStatDetail
    - MP_GET_FLAG
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolPrintStat(void* poolHandle, void* session, char* procName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectStrdup
      Src: /src/tdengine/source/util/src/tmempool.c:1401,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1411,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1409,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1417,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tmempool.c:1405,1
    - Dst: TAOS_STRCPY
      Src: /src/tdengine/source/util/src/tmempool.c:1419,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1423,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1424,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 5
    argNames:
    - poolHandle
    - session
    - ptr
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1433
      start: 1399
    functionDepth: 0
    functionLinenumber: 1399
    functionLinenumberEnd: 1433
    functionName: taosMemPoolStrdup
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpLogStat
    - TAOS_STRCPY
    - strlen
    - uError
    - mpDirectStrdup
    - MP_SET_FLAG
    - mpMalloc
    linkageType: ''
    returnType: char*
    signature: 'char *taosMemPoolStrdup(void* poolHandle, void* session, const char
      *ptr, char* fileName, int32_t lineNo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 2
    argNames:
    - fileId
    - len
    argTypes:
    - char*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: mpFileIdHashFp
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t mpFileIdHashFp(const char* fileId, uint32_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SMPStatPos*
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: mpPrintPosFreeStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpPrintPosFreeStat(SMPStatPos* pStat) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MurmurHash3_32
      Src: /src/tdengine/source/util/src/tmempool.c:736,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tmempool.c:737,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tmempool.c:736,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tmempool.c:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - pStat
    - fileName
    - pId
    - sessionStat
    argTypes:
    - SMPStatPos*
    - char*
    - uint32_t*
    - bool
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: mpGetPosStatFileId
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - strlen
    - MurmurHash3_32
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpGetPosStatFileId(SMPStatPos* pStat, char* fileName, uint32_t*
      pId, bool sessionStat) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:922,1
    - Dst: mpLogDetailStat
      Src: /src/tdengine/source/util/src/tmempool.c:926,1
    - Dst: mpLogDetailStat
      Src: /src/tdengine/source/util/src/tmempool.c:923,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:928,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:925,1
    - Dst: taosSaveDisableMemPoolUsage
      Src: /src/tdengine/source/util/src/tmempool.c:929,1
    - Dst: mpLogPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:930,1
    - Dst: taosRestoreEnableMemPoolUsage
      Src: /src/tdengine/source/util/src/tmempool.c:931,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:933,1
    - Dst: taosSaveDisableMemPoolUsage
      Src: /src/tdengine/source/util/src/tmempool.c:934,1
    - Dst: mpLogPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:935,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:947,1
    - Dst: taosRestoreEnableMemPoolUsage
      Src: /src/tdengine/source/util/src/tmempool.c:936,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 23
    argCount: 4
    argNames:
    - pPool
    - pSession
    - item
    - pInput
    argTypes:
    - SMemPool*
    - SMPSession*
    - EMPStatLogItem
    - SMPStatInput*
    constantsTouched: []
    func_position:
      end: 950
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 950
    functionName: mpLogStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosSaveDisableMemPoolUsage
    - taosRestoreEnableMemPoolUsage
    - mpLogDetailStat
    - mpLogPosStat
    - uError
    - MP_GET_FLAG
    linkageType: ''
    returnType: void
    signature: 'void mpLogStat(SMemPool* pPool, SMPSession* pSession, EMPStatLogItem
      item, SMPStatInput* pInput) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tmempool.c:1137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1138
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1138
    functionName: mpFreePool
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void mpFreePool(void* p) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpModInit
      Src: /src/tdengine/source/util/src/tmempool.c:1178,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1185,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1182,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1187,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1181,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1188,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1191,1
    - Dst: mpInit
      Src: /src/tdengine/source/util/src/tmempool.c:1191,1
    - Dst: taosWLockLatch
      Src: /src/tdengine/source/util/src/tmempool.c:1193,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tmempool.c:1195,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tmempool.c:1200,1
    - Dst: taosMemPoolClose
      Src: /src/tdengine/source/util/src/tmempool.c:1209,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1197,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/util/src/tmempool.c:1202,1
    - Dst: taosWUnLockLatch
      Src: /src/tdengine/source/util/src/tmempool.c:1196,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:1204,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - poolName
    - cfg
    - poolHandle
    argTypes:
    - char*
    - SMemPoolCfg*
    - void**
    constantsTouched: []
    func_position:
      end: 1216
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1216
    functionName: taosMemPoolOpen
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - taosMemoryCalloc
    - mpModInit
    - taosMemPoolClose
    - uError
    - taosArrayPush
    - mpInit
    - taosWUnLockLatch
    - taosArrayGetSize
    - taosWLockLatch
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolOpen(char* poolName, SMemPoolCfg* cfg, void** poolHandle) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectStrndup
      Src: /src/tdengine/source/util/src/tmempool.c:1437,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1448,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tmempool.c:1442,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tmempool.c:1441,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1446,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1454,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/util/src/tmempool.c:1456,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1460,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 6
    argNames:
    - poolHandle
    - session
    - ptr
    - size
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - char*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1470
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1470
    functionName: taosMemPoolStrndup
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpDirectStrndup
    - MP_ERR_JRET
    - mpLogStat
    - strlen
    - uError
    - MP_SET_FLAG
    - TAOS_MEMCPY
    - TMIN
    - mpMalloc
    linkageType: ''
    returnType: char*
    signature: 'char *taosMemPoolStrndup(void* poolHandle, void* session, const char
      *ptr, int64_t size, char* fileName, int32_t lineNo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP_TRY_LOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1631,1
    - Dst: MP_TRY_LOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - poolHandle
    - readLock
    argTypes:
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 1637
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1637
    functionName: taosMemPoolTryLockPool
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_TRY_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolTryLockPool(void* poolHandle, bool readLock) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:1662,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - poolHandle
    - usedSize
    - needEnd
    argTypes:
    - void*
    - int64_t*
    - bool*
    constantsTouched: []
    func_position:
      end: 1663
      start: 1652
    functionDepth: 0
    functionLinenumber: 1652
    functionLinenumberEnd: 1663
    functionName: taosMemPoolGetUsedSizeBegin
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolGetUsedSizeBegin(void* poolHandle, int64_t* usedSize,
      bool* needEnd) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1808,1
    - Dst: mpUpdateReservedSize
      Src: /src/tdengine/source/util/src/tmempool.c:1816,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1813,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1812,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1809,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - newReservedSizeMB
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 1817
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1817
    functionName: taosMemoryPoolCfgUpdateReservedSize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - uError
    - MP_ERR_RET
    - mpUpdateReservedSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemoryPoolCfgUpdateReservedSize(int32_t newReservedSizeMB) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP_UNLOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1646,1
    - Dst: MP_UNLOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1648,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - poolHandle
    - readLock
    argTypes:
    - void*
    - bool
    constantsTouched: []
    func_position:
      end: 1650
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1650
    functionName: taosMemPoolUnLockPool
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolUnLockPool(void* poolHandle, bool readLock) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:69,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:71,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:77,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:71,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:72,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:79,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:79,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:80,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:86,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:88,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:97,1
    - Dst: mpFreeCacheGroup
      Src: /src/tdengine/source/util/src/tmempool.c:93,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:92,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:89,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - pPool
    - pInfo
    - pHead
    argTypes:
    - SMemPool*
    - SMPCacheGroupInfo*
    - SMPCacheGroup*
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: mpAddCacheGroup
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpFreeCacheGroup
    - atomic_val_compare_exchange_ptr
    - taosMemoryCalloc
    - MP_ERR_RET
    - tstrerror
    - uError
    - atomic_add_fetch_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpAddCacheGroup(SMemPool* pPool, SMPCacheGroupInfo* pInfo,
      SMPCacheGroup* pHead) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tmempool.c:186,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tmempool.c:192,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tmempool.c:188,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tmempool.c:190,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SMPStatPos*
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: mpDestroyPosStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mpDestroyPosStat(SMPStatPos* pStat) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/util/src/tmempool.c:229,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:233,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tmempool.c:231,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:237,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:234,1
    - Dst: mpUpdateCfg
      Src: /src/tdengine/source/util/src/tmempool.c:237,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:242,1
    - Dst: mpAddCacheGroup
      Src: /src/tdengine/source/util/src/tmempool.c:242,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:245,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:249,1
    - Dst: mpInitPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:249,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pPool
    - poolName
    - cfg
    argTypes:
    - SMemPool*
    - char*
    - SMemPoolCfg*
    constantsTouched: []
    func_position:
      end: 253
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 253
    functionName: mpInit
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpInitPosStat
    - MP_ERR_RET
    - mpAddCacheGroup
    - uError
    - taosStrdup
    - TAOS_MEMCPY
    - mpUpdateCfg
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpInit(SMemPool* pPool, char* poolName, SMemPoolCfg* cfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:314,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:319,1
    - Dst: atomic_load_32
      Src: /src/tdengine/source/util/src/tmempool.c:320,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tmempool.c:323,1
    - Dst: mpSchedTrim
      Src: /src/tdengine/source/util/src/tmempool.c:325,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:326,1
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:327,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:330,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tmempool.c:332,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:333,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:336,1
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:337,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:340,1
    - Dst: mpSchedTrim
      Src: /src/tdengine/source/util/src/tmempool.c:335,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - pPool
    - pSession
    - size
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t
    constantsTouched: []
    func_position:
      end: 355
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 355
    functionName: mpChkFullQuota
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - atomic_load_64
    - atomic_load_32
    - uWarn
    - MP_RET
    - mpSchedTrim
    - atomic_add_fetch_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChkFullQuota(SMemPool* pPool, SMPSession* pSession, int64_t
      size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:560,1
    - Dst: mpPrintPosRemainStat
      Src: /src/tdengine/source/util/src/tmempool.c:567,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:564,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:565,1
    - Dst: mpPrintPosAllocStat
      Src: /src/tdengine/source/util/src/tmempool.c:569,1
    - Dst: mpPrintPosFreeStat
      Src: /src/tdengine/source/util/src/tmempool.c:571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - pCtrl
    - pStat
    - detailName
    argTypes:
    - SMPCtrlInfo*
    - SMPStatPos*
    - char*
    constantsTouched: []
    func_position:
      end: 572
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 572
    functionName: mpPrintPosStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpPrintPosFreeStat
    - mpPrintPosAllocStat
    - MP_GET_FLAG
    - uInfo
    - mpPrintPosRemainStat
    linkageType: ''
    returnType: void
    signature: 'void mpPrintPosStat(SMPCtrlInfo* pCtrl, SMPStatPos* pStat, char* detailName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1088,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/src/tmempool.c:1089,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/src/tmempool.c:1090,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/src/tmempool.c:1088,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1089,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1092,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tmempool.c:1093,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1094,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1099,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tmempool.c:1099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1102
    functionName: mpCreateMgmtThread
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - MP_ERR_JRET
    - MP_ERR_RET
    - taosThreadAttrInit
    - taosThreadCreate
    - uError
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpCreateMgmtThread() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectAlignAlloc
      Src: /src/tdengine/source/util/src/tmempool.c:1523,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1538,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1540,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1532,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1530,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1541,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 6
    argNames:
    - poolHandle
    - session
    - alignment
    - size
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - uint32_t
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1550
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1550
    functionName: taosMemPoolMallocAlign
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpLogStat
    - uError
    - MP_SET_FLAG
    - mpDirectAlignAlloc
    - mpMalloc
    linkageType: ''
    returnType: void*
    signature: 'void * taosMemPoolMallocAlign(void* poolHandle, void* session, uint32_t
      alignment, int64_t size, char* fileName, int32_t lineNo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyEx
      Src: /src/tdengine/source/util/src/tmempool.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1578
      start: 1573
    functionDepth: 0
    functionLinenumber: 1573
    functionLinenumberEnd: 1578
    functionName: taosMemPoolModDestroy
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosArrayDestroyEx
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolModDestroy(void) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpFreeCacheGroup
      Src: /src/tdengine/source/util/src/tmempool.c:108,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - pInfo
    argTypes:
    - SMPCacheGroupInfo*
    constantsTouched: []
    func_position:
      end: 112
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 112
    functionName: mpDestroyCacheGroup
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpFreeCacheGroup
    linkageType: ''
    returnType: void
    signature: 'void mpDestroyCacheGroup(SMPCacheGroupInfo* pInfo) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tmempool.c:197,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:199,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/util/src/tmempool.c:197,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:199,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tmempool.c:203,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/util/src/tmempool.c:203,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:205,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:205,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tmempool.c:209,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/util/src/tmempool.c:209,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:221,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:211,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:217,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tmempool.c:215,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:211,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:217,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - pStat
    - sessionStat
    argTypes:
    - SMPStatPos*
    - bool
    constantsTouched: []
    func_position:
      end: 224
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 224
    functionName: mpInitPosStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - tstrerror
    - uError
    - uDebug
    - taosGetDefaultHashFunction
    - taosHashInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpInitPosStat(SMPStatPos* pStat, bool sessionStat) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:256,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:266,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/util/src/tmempool.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pMaxAllocMemSize
    - newSize
    argTypes:
    - int64_t*
    - int64_t
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: mpUpdateMaxAllocSize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_64
    - atomic_load_64
    linkageType: ''
    returnType: FORCE_INLINE
    signature: 'FORCE_INLINE void mpUpdateMaxAllocSize(int64_t* pMaxAllocMemSize,
      int64_t newSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - pPool
    - pSession
    - ptr
    argTypes:
    - SMemPool*
    - SMPSession*
    - void*
    constantsTouched: []
    func_position:
      end: 359
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 359
    functionName: mpGetMemorySizeImpl
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mpGetMemorySizeImpl(SMemPool* pPool, SMPSession* pSession,
      void *ptr) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 3
    argNames:
    - pCtrl
    - pHash
    - detailName
    argTypes:
    - SMPCtrlInfo*
    - SHashObj*
    - char*
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: mpPrintNodeStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpPrintNodeStat(SMPCtrlInfo* pCtrl, SHashObj* pHash, char* detailName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mpCheckStatDetail
      Src: /src/tdengine/source/util/src/tmempool.c:1560,1
    - Dst: mpDestroyCacheGroup
      Src: /src/tdengine/source/util/src/tmempool.c:1565,1
    - Dst: atomic_store_8
      Src: /src/tdengine/source/util/src/tmempool.c:1567,1
    - Dst: mpDestroyPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:1561,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tmempool.c:1564,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/src/tmempool.c:1569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - poolHandle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1570
      start: 1552
    functionDepth: 0
    functionLinenumber: 1552
    functionLinenumberEnd: 1570
    functionName: taosMemPoolClose
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - atomic_store_8
    - taosThreadJoin
    - mpDestroyPosStat
    - mpDestroyCacheGroup
    - mpCheckStatDetail
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolClose(void* poolHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemTrim
      Src: /src/tdengine/source/util/src/tmempool.c:1583,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1591,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1589,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1602,1
    - Dst: mpTrim
      Src: /src/tdengine/source/util/src/tmempool.c:1598,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1603,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 18
    argCount: 6
    argNames:
    - poolHandle
    - session
    - size
    - fileName
    - lineNo
    - trimed
    argTypes:
    - void*
    - void*
    - int32_t
    - char*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 1606
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1606
    functionName: taosMemPoolTrim
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpLogStat
    - MP_ERR_RET
    - uError
    - MP_SET_FLAG
    - mpTrim
    - taosMemTrim
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolTrim(void* poolHandle, void* session, int32_t size,
      char* fileName, int32_t lineNo, bool* trimed) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1677,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1678,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:1687,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:1690,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 4
    argNames:
    - session
    - ppStat
    - allocSize
    - maxAllocSize
    argTypes:
    - void*
    - SMPStatDetail**
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1694
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1694
    functionName: taosMemPoolGetSessionStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - uError
    - MP_ERR_RET
    - atomic_load_64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolGetSessionStat(void* session, SMPStatDetail** ppStat,
      int64_t* allocSize, int64_t* maxAllocSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:38,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:43,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:48,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - cfg
    argTypes:
    - SMemPoolCfg*
    constantsTouched: []
    func_position:
      end: 53
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 53
    functionName: mpCheckCfg
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpCheckCfg(SMemPoolCfg* cfg) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:120,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:125,1
    - Dst: atomic_fetch_add_32
      Src: /src/tdengine/source/util/src/tmempool.c:135,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tmempool.c:140,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:134,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:143,1
    - Dst: mpAddCacheGroup
      Src: /src/tdengine/source/util/src/tmempool.c:143,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 3
    argNames:
    - pPool
    - pInfo
    - ppRes
    argTypes:
    - SMemPool*
    - SMPCacheGroupInfo*
    - void**
    constantsTouched: []
    func_position:
      end: 151
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 151
    functionName: mpPopIdleNode
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - MP_ERR_RET
    - mpAddCacheGroup
    - atomic_load_ptr
    - atomic_sub_fetch_32
    - atomic_fetch_add_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpPopIdleNode(SMemPool* pPool, SMPCacheGroupInfo* pInfo, void**
      ppRes) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:273,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:279,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:275,1
    - Dst: mpUpdateMaxAllocSize
      Src: /src/tdengine/source/util/src/tmempool.c:280,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:282,1
    - Dst: mpUpdateMaxAllocSize
      Src: /src/tdengine/source/util/src/tmempool.c:283,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:286,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:287,1
    - Dst: mpUpdateMaxAllocSize
      Src: /src/tdengine/source/util/src/tmempool.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - pPool
    - pSession
    - size
    - addSize
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 290
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 290
    functionName: mpUpdateAllocSize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpUpdateMaxAllocSize
    - atomic_load_64
    - atomic_add_fetch_64
    - MP_GET_FLAG
    linkageType: ''
    returnType: void
    signature: 'void mpUpdateAllocSize(SMemPool* pPool, SMPSession* pSession, int64_t
      size, int64_t addSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 3
    argCount: 5
    argNames:
    - pPool
    - pSession
    - size
    - alignment
    - ppRes
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t*
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: mpMalloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpMalloc(SMemPool* pPool, SMPSession* pSession, int64_t* size,
      uint32_t alignment, void** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - pPool
    - pSession
    - ptr
    - origSize
    argTypes:
    - SMemPool*
    - SMPSession*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 393
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 393
    functionName: mpFree
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpFree(SMemPool* pPool, SMPSession* pSession, void *ptr, int64_t*
      origSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 4
    argNames:
    - pPool
    - pSession
    - size
    - trimed
    argTypes:
    - SMemPool*
    - SMPSession*
    - int32_t
    - bool*
    constantsTouched: []
    func_position:
      end: 422
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 422
    functionName: mpTrim
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpTrim(SMemPool* pPool, SMPSession* pSession, int32_t size,
      bool* trimed) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:482,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:490,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:497,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:490,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tmempool.c:484,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:498,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pHash
    - pFileLine
    argTypes:
    - SHashObj*
    - SMPFileLine*
    constantsTouched: []
    func_position:
      end: 503
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 503
    functionName: mpAddToRemainAllocHash
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosHashGet
    - tstrerror
    - uError
    - atomic_add_fetch_64
    - taosHashPut
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpAddToRemainAllocHash(SHashObj* pHash, SMPFileLine* pFileLine) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:579,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:584,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:585,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:583,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pCtrl
    - pSessStat
    - detailName
    argTypes:
    - SMPCtrlInfo*
    - SMPStatSession*
    - char*
    constantsTouched: []
    func_position:
      end: 587
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 587
    functionName: mpPrintSessionStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_GET_FLAG
    - uInfo
    linkageType: ''
    returnType: void
    signature: 'void mpPrintSessionStat(SMPCtrlInfo* pCtrl, SMPStatSession* pSessStat,
      char* detailName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tmempool.c:61,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tmempool.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pGrp
    argTypes:
    - SMPCacheGroup*
    constantsTouched: []
    func_position:
      end: 63
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 63
    functionName: mpFreeCacheGroup
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void mpFreeCacheGroup(SMPCacheGroup* pGrp) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:158,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - pPool
    - pInfo
    - pNode
    argTypes:
    - SMemPool*
    - SMPCacheGroupInfo*
    - SMPListNode*
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: mpPushIdleNode
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - atomic_load_ptr
    linkageType: ''
    returnType: void
    signature: 'void mpPushIdleNode(SMemPool* pPool, SMPCacheGroupInfo* pInfo, SMPListNode*
      pNode) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tmempool.c:294,1
    - Dst: tsem2_post
      Src: /src/tdengine/source/util/src/tmempool.c:296,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:295,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:296,1
    - Dst: atomic_val_compare_exchange_8
      Src: /src/tdengine/source/util/src/tmempool.c:302,1
    - Dst: atomic_store_ptr
      Src: /src/tdengine/source/util/src/tmempool.c:303,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:304,1
    - Dst: tsem2_post
      Src: /src/tdengine/source/util/src/tmempool.c:304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pPool
    - retireLowLevel
    argTypes:
    - SMemPool*
    - bool
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: mpPutRetireMsgToQueue
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - atomic_store_ptr
    - atomic_val_compare_exchange_8
    - tsem2_post
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpPutRetireMsgToQueue(SMemPool* pPool, bool retireLowLevel) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:369,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/util/src/tmempool.c:372,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:369,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 4
    argNames:
    - pPool
    - pSession
    - size
    - ppRes
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t*
    - void**
    constantsTouched: []
    func_position:
      end: 380
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 380
    functionName: mpCalloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - TAOS_MEMSET
    - mpMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpCalloc(SMemPool* pPool, SMPSession* pSession, int64_t* size,
      void** ppRes) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:400,1
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/tmempool.c:411,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:400,1
    - Dst: mpGetMemorySizeImpl
      Src: /src/tdengine/source/util/src/tmempool.c:409,1
    - Dst: mpFree
      Src: /src/tdengine/source/util/src/tmempool.c:404,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - pPool
    - pSession
    - pPtr
    - size
    - origSize
    argTypes:
    - SMemPool*
    - SMPSession*
    - void**
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 412
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 412
    functionName: mpRealloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpGetMemorySizeImpl
    - MP_RET
    - mpFree
    - mpMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpRealloc(SMemPool* pPool, SMPSession* pSession, void **pPtr,
      int64_t* size, int64_t* origSize) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:447,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:467,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:455,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:460,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:469,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:462,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:437,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:448,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:449,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:458,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:459,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:467,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:468,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:469,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:470,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:462,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:449,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:464,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:459,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:468,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:432,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:437,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:434,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:430,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:438,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:439,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:441,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:443,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:440,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:442,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:458,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:446,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:461,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:464,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:461,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:470,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:426,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:438,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:439,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:441,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:446,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:440,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:442,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:443,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:447,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:448,1
    - Dst: MP_STAT_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:463,1
    - Dst: MP_STAT_ORIG_VALUE
      Src: /src/tdengine/source/util/src/tmempool.c:460,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:463,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - pCtrl
    - pDetail
    - detailName
    - maxAllocSize
    argTypes:
    - SMPCtrlInfo*
    - SMPStatDetail*
    - char*
    - int64_t
    constantsTouched: []
    func_position:
      end: 475
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 475
    functionName: mpPrintStatDetail
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_GET_FLAG
    - uInfo
    - MP_STAT_ORIG_VALUE
    - MP_STAT_VALUE
    linkageType: ''
    returnType: void
    signature: 'void mpPrintStatDetail(SMPCtrlInfo* pCtrl, SMPStatDetail* pDetail,
      char* detailName, int64_t maxAllocSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosHashGetSize
      Src: /src/tdengine/source/util/src/tmempool.c:507,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:509,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tmempool.c:513,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:515,1
    - Dst: taosGetDefaultHashFunction
      Src: /src/tdengine/source/util/src/tmempool.c:513,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:515,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/util/src/tmempool.c:520,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:524,1
    - Dst: mpAddToRemainAllocHash
      Src: /src/tdengine/source/util/src/tmempool.c:524,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/util/src/tmempool.c:526,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:535,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:541,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tmempool.c:534,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/util/src/tmempool.c:543,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:537,1
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tmempool.c:548,1
    - Dst: taosHashIterate
      Src: /src/tdengine/source/util/src/tmempool.c:530,1
    - Dst: taosHashGetKey
      Src: /src/tdengine/source/util/src/tmempool.c:533,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 1
    argNames:
    - pStat
    argTypes:
    - SMPStatPos*
    constantsTouched: []
    func_position:
      end: 549
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 549
    functionName: mpPrintPosRemainStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpAddToRemainAllocHash
    - taosHashIterate
    - taosHashGet
    - taosHashGetSize
    - tstrerror
    - uError
    - taosHashGetKey
    - taosGetDefaultHashFunction
    - uInfo
    - taosHashInit
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void mpPrintPosRemainStat(SMPStatPos* pStat) '
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:595,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:602,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:613,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:619,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:624,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:627,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:646,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:650,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:652,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:657,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:687,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:695,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:666,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:691,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:688,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:647,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:662,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:681,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:677,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:682,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:594,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:618,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:611,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:631,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:636,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:644,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:651,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:659,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:661,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:665,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:674,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:667,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:642,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:648,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:598,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:600,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:604,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:610,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:617,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:615,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:626,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:630,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:635,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:643,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:663,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:672,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:678,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:706,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:694,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:690,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:680,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:676,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:596,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:599,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:603,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:609,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:614,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:625,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:629,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:632,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:634,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:637,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:692,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:658,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:673,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 96
    argCount: 3
    argNames:
    - pDetail
    - item
    - pInput
    argTypes:
    - SMPStatDetail*
    - EMPStatLogItem
    - SMPStatInput*
    constantsTouched: []
    func_position:
      end: 709
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 709
    functionName: mpLogDetailStat
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_GET_FLAG
    - atomic_add_fetch_64
    - uError
    linkageType: ''
    returnType: void
    signature: 'void mpLogDetailStat(SMPStatDetail* pDetail, EMPStatLogItem item,
      SMPStatInput* pInput) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tmempool.c:1228,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:1233,1
    - Dst: taosMemFreeClear
      Src: /src/tdengine/source/util/src/tmempool.c:1238,1
    - Dst: mpCheckStatDetail
      Src: /src/tdengine/source/util/src/tmempool.c:1234,1
    - Dst: mpDestroyPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:1235,1
    - Dst: TAOS_MEMSET
      Src: /src/tdengine/source/util/src/tmempool.c:1240,1
    - Dst: mpPushIdleNode
      Src: /src/tdengine/source/util/src/tmempool.c:1242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - poolHandle
    - session
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 1243
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1243
    functionName: taosMemPoolDestroySession
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - uWarn
    - mpDestroyPosStat
    - taosMemFreeClear
    - mpCheckStatDetail
    - atomic_add_fetch_64
    - TAOS_MEMSET
    - mpPushIdleNode
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolDestroySession(void* poolHandle, void* session) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1318,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1326,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1336,1
    - Dst: mpCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1334,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1328,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1337,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 6
    argNames:
    - poolHandle
    - session
    - num
    - size
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - int64_t
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1346
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1346
    functionName: taosMemPoolCalloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpCalloc
    - MP_ERR_JRET
    - mpLogStat
    - mpDirectCalloc
    - uError
    - MP_SET_FLAG
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemPoolCalloc(void* poolHandle, void* session, int64_t num,
      int64_t size, char* fileName, int32_t lineNo) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1610,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1613,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1612,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - jobId
    - cId
    - ppJob
    argTypes:
    - uint64_t
    - uint64_t
    - void**
    constantsTouched: []
    func_position:
      end: 1621
      start: 1608
    functionDepth: 0
    functionLinenumber: 1608
    functionLinenumberEnd: 1621
    functionName: taosMemPoolCallocJob
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - uError
    - MP_ERR_RET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolCallocJob(uint64_t jobId, uint64_t cId, void**
      ppJob) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectFree
      Src: /src/tdengine/source/util/src/tmempool.c:1475,1
    - Dst: mpFree
      Src: /src/tdengine/source/util/src/tmempool.c:1493,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1485,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1495,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1496,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 5
    argNames:
    - poolHandle
    - session
    - ptr
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1497
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1497
    functionName: taosMemPoolFree
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpFree
    - mpLogStat
    - uError
    - mpDirectFree
    - MP_SET_FLAG
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolFree(void* poolHandle, void* session, void *ptr, char*
      fileName, int32_t lineNo) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:965,1
    - Dst: MEMPOOL_GET_FREE_SIZE
      Src: /src/tdengine/source/util/src/tmempool.c:967,1
    - Dst: taosMemPoolPrintStat
      Src: /src/tdengine/source/util/src/tmempool.c:973,1
    - Dst: MEMPOOL_GET_ALLOC_SIZE
      Src: /src/tdengine/source/util/src/tmempool.c:966,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:970,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:975,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:984,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:984,1
    - Dst: MP_GET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:985,1
    - Dst: atomic_load_64
      Src: /src/tdengine/source/util/src/tmempool.c:985,1
    - Dst: taosMemPoolPrintStat
      Src: /src/tdengine/source/util/src/tmempool.c:992,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:994,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:990,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - poolHandle
    - session
    - detailName
    argTypes:
    - void*
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 998
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 998
    functionName: mpCheckStatDetail
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_load_64
    - taosMemPoolPrintStat
    - uError
    - uDebug
    - MP_GET_FLAG
    - MEMPOOL_GET_ALLOC_SIZE
    - MEMPOOL_GET_FREE_SIZE
    linkageType: ''
    returnType: void
    signature: 'void mpCheckStatDetail(void* poolHandle, void* session, char* detailName) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1250,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:1254,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1254,1
    - Dst: mpPopIdleNode
      Src: /src/tdengine/source/util/src/tmempool.c:1250,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tmempool.c:1252,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1255,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/util/src/tmempool.c:1258,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1261,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1265,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:1275,1
    - Dst: taosMemPoolDestroySession
      Src: /src/tdengine/source/util/src/tmempool.c:1273,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tmempool.c:1277,1
    - Dst: mpInitPosStat
      Src: /src/tdengine/source/util/src/tmempool.c:1265,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - poolHandle
    - ppSession
    - pJob
    - sessionId
    argTypes:
    - void*
    - void**
    - void*
    - char*
    constantsTouched: []
    func_position:
      end: 1283
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1283
    functionName: taosMemPoolInitSession
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpInitPosStat
    - taosMemPoolDestroySession
    - tstrerror
    - mpPopIdleNode
    - uError
    - atomic_add_fetch_64
    - taosStrdup
    - TAOS_MEMCPY
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosMemPoolInitSession(void* poolHandle, void** ppSession,
      void* pJob, char* sessionId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpUpdateCfg
      Src: /src/tdengine/source/util/src/tmempool.c:1221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - poolHandle
    - pCfg
    argTypes:
    - void*
    - SMemPoolCfg*
    constantsTouched: []
    func_position:
      end: 1222
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1222
    functionName: taosMemPoolCfgUpdate
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpUpdateCfg
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolCfgUpdate(void* poolHandle, SMemPoolCfg* pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1013
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1013
    functionName: mpCheckUpateCfg
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpCheckUpateCfg(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store_8
      Src: /src/tdengine/source/util/src/tmempool.c:1037,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tmempool.c:1042,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - loopTimes
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 1043
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1043
    functionName: mpSchedTrim
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - atomic_store_8
    - uDebug
    linkageType: ''
    returnType: void
    signature: 'void mpSchedTrim(int64_t* loopTimes) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectAlloc
      Src: /src/tdengine/source/util/src/tmempool.c:1288,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1296,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1295,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/tmempool.c:1302,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1304,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1305,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 5
    argNames:
    - poolHandle
    - session
    - size
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1314
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1314
    functionName: taosMemPoolMalloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpDirectAlloc
    - mpLogStat
    - uError
    - MP_SET_FLAG
    - mpMalloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemPoolMalloc(void* poolHandle, void* session, int64_t size,
      char* fileName, int32_t lineNo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mpSchedTrim
      Src: /src/tdengine/source/util/src/tmempool.c:1697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 1698
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1698
    functionName: taosMemPoolSchedTrim
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - mpSchedTrim
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolSchedTrim(void) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemPoolFree
      Src: /src/tdengine/source/util/src/tmempool.c:1773,1
    - Dst: taosMemFree
      Src: /src/tdengine/source/util/src/tmempool.c:1775,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1777
      start: 1771
    functionDepth: 0
    functionLinenumber: 1771
    functionLinenumberEnd: 1777
    functionName: taosAutoMemoryFree
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemPoolFree
    - taosMemFree
    linkageType: ''
    returnType: void
    signature: 'void taosAutoMemoryFree(void *ptr) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSysAvailMemory
      Src: /src/tdengine/source/util/src/tmempool.c:1782,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:1790,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tmempool.c:1784,1
    - Dst: MP_LOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1795,1
    - Dst: MP_UNLOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pPool
    - newReservedSizeMB
    argTypes:
    - SMemPool*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1800
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1800
    functionName: mpUpdateReservedSize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosGetSysAvailMemory
    - MP_UNLOCK
    - uInfo
    - MP_LOCK
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t mpUpdateReservedSize(SMemPool* pPool, int32_t newReservedSizeMB) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_UNLOCK
      Src: /src/tdengine/source/util/src/tmempool.c:1671,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - poolHandle
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 1672
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1672
    functionName: taosMemPoolGetUsedSizeEnd
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_UNLOCK
    linkageType: ''
    returnType: void
    signature: 'void taosMemPoolGetUsedSizeEnd(void* poolHandle) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSysAvailMemory
      Src: /src/tdengine/source/util/src/tmempool.c:1019,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tmempool.c:1023,1
    - Dst: atomic_store_64
      Src: /src/tdengine/source/util/src/tmempool.c:1029,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tmempool.c:1031,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1032
    functionName: mpUpdateSystemAvailableMemorySize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosGetSysAvailMemory
    - uTrace
    - atomic_store_64
    - tstrerror
    - uError
    linkageType: ''
    returnType: void
    signature: 'void mpUpdateSystemAvailableMemorySize() '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemSize
      Src: /src/tdengine/source/util/src/tmempool.c:1501,1
    - Dst: mpGetMemorySizeImpl
      Src: /src/tdengine/source/util/src/tmempool.c:1518,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/tmempool.c:1508,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1506,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 5
    argNames:
    - poolHandle
    - session
    - ptr
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - void*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1519
      start: 1499
    functionDepth: 0
    functionLinenumber: 1499
    functionLinenumberEnd: 1519
    functionName: taosMemPoolGetMemorySize
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - taosMemSize
    - uError
    - mpGetMemorySizeImpl
    - MP_ERR_RET
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosMemPoolGetMemorySize(void* poolHandle, void* session,
      void *ptr, char* fileName, int32_t lineNo) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mpDirectRealloc
      Src: /src/tdengine/source/util/src/tmempool.c:1350,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1368,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/tmempool.c:1359,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tmempool.c:1357,1
    - Dst: mpRealloc
      Src: /src/tdengine/source/util/src/tmempool.c:1365,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1369,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1374,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1375,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1378,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1379,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/tmempool.c:1385,1
    - Dst: mpLogStat
      Src: /src/tdengine/source/util/src/tmempool.c:1386,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 6
    argNames:
    - poolHandle
    - session
    - ptr
    - size
    - fileName
    - lineNo
    argTypes:
    - void*
    - void*
    - void*
    - int64_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 1397
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1397
    functionName: taosMemPoolRealloc
    functionSourceFile: /src/tdengine/source/util/src/tmempool.c
    functionUses: []
    functionsReached:
    - MP_ERR_JRET
    - mpRealloc
    - mpLogStat
    - uError
    - MP_SET_FLAG
    - mpDirectRealloc
    linkageType: ''
    returnType: void*
    signature: 'void *taosMemPoolRealloc(void* poolHandle, void* session, void *ptr,
      int64_t size, char* fileName, int32_t lineNo) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tidpool.c:81,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tidpool.c:83,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tidpool.c:85,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tidpool.c:87,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tidpool.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pIdPool
    argTypes:
    - id_pool_t*
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: taosIdPoolCleanUp
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - uDebug
    - memset
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'void taosIdPoolCleanUp(id_pool_t *pIdPool) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:46,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pIdPool
    argTypes:
    - id_pool_t*
    constantsTouched: []
    func_position:
      end: 62
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 62
    functionName: taosAllocateId
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAllocateId(id_pool_t *pIdPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:102,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pIdPool
    - id
    argTypes:
    - id_pool_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: taosIdPoolMarkStatus
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'bool taosIdPoolMarkStatus(id_pool_t *pIdPool, int32_t id) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tidpool.c:20,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tidpool.c:35,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tidpool.c:37,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tidpool.c:27,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tidpool.c:25,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - maxId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 40
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 40
    functionName: taosInitIdPool
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosThreadMutexInit
    - taosMemoryFree
    - uDebug
    linkageType: ''
    returnType: void*
    signature: 'void *taosInitIdPool(int32_t maxId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:67,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pIdPool
    - id
    argTypes:
    - id_pool_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: taosFreeId
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void taosFreeId(id_pool_t *pIdPool, int32_t id) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:93,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pIdPool
    argTypes:
    - id_pool_t*
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: taosIdPoolNumOfUsed
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosIdPoolNumOfUsed(id_pool_t *pIdPool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tidpool.c:122,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tidpool.c:129,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:137,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:127,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tidpool.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pIdPool
    - maxId
    argTypes:
    - id_pool_t*
    - int32_t
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: taosUpdateIdPool
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosMemoryCalloc
    - memcpy
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosUpdateIdPool(id_pool_t *pIdPool, int32_t maxId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tidpool.c:143,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tidpool.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - pIdPool
    argTypes:
    - id_pool_t*
    constantsTouched: []
    func_position:
      end: 148
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 148
    functionName: taosIdPoolMaxSize
    functionSourceFile: /src/tdengine/source/util/src/tidpool.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosIdPoolMaxSize(id_pool_t *pIdPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:24,1
    - Dst: mpPopIdleNode
      Src: /src/tdengine/source/util/src/mpChunk.c:24,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/mpChunk.c:28,1
    - Dst: taosMemMalloc
      Src: /src/tdengine/source/util/src/mpChunk.c:26,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - pPool
    - ppChunk
    argTypes:
    - SMemPool*
    - SMPChunk**
    constantsTouched: []
    func_position:
      end: 38
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 38
    functionName: mpChunkNew
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - mpPopIdleNode
    - taosMemMalloc
    - uError
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkNew(SMemPool* pPool, SMPChunk** ppChunk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_32
      Src: /src/tdengine/source/util/src/mpChunk.c:83,1
    - Dst: mpChunkPrepare
      Src: /src/tdengine/source/util/src/mpChunk.c:88,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pPool
    - pChunk
    argTypes:
    - SMemPool*
    - SMPChunkMgmt*
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: mpChunkEnsureCapacity
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - atomic_load_32
    - MP_ERR_RET
    - mpChunkPrepare
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkEnsureCapacity(SMemPool* pPool, SMPChunkMgmt* pChunk) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/mpChunk.c:100,1
    - Dst: mpChunkNotifyLowNum
      Src: /src/tdengine/source/util/src/mpChunk.c:103,1
    - Dst: atomic_val_compare_exchange_ptr
      Src: /src/tdengine/source/util/src/mpChunk.c:107,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/mpChunk.c:106,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/mpChunk.c:102,1
    - Dst: atomic_load_ptr
      Src: /src/tdengine/source/util/src/mpChunk.c:108,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/mpChunk.c:115,1
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:118,1
    - Dst: mpChunkNew
      Src: /src/tdengine/source/util/src/mpChunk.c:118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pPool
    - ppChunk
    argTypes:
    - SMemPool*
    - SMPChunk**
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: mpChunkRetrieve
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_ptr
    - MP_RET
    - atomic_load_ptr
    - mpChunkNotifyLowNum
    - atomic_sub_fetch_32
    - mpChunkNew
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkRetrieve(SMemPool* pPool, SMPChunk** ppChunk) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/mpChunk.c:147,1
    - Dst: mpUpdateAllocSize
      Src: /src/tdengine/source/util/src/mpChunk.c:155,1
    - Dst: mpChunkRetrieveFromSession
      Src: /src/tdengine/source/util/src/mpChunk.c:147,1
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/mpChunk.c:151,1
    - Dst: mpChunkNew
      Src: /src/tdengine/source/util/src/mpChunk.c:151,1
    - Dst: MP_ADD_TO_CHUNK_LIST
      Src: /src/tdengine/source/util/src/mpChunk.c:157,1
    - Dst: MP_ADD_TO_CHUNK_LIST
      Src: /src/tdengine/source/util/src/mpChunk.c:158,1
    - Dst: MP_INIT_MEM_HEADER
      Src: /src/tdengine/source/util/src/mpChunk.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 5
    argNames:
    - pPool
    - pSession
    - size
    - alignment
    - ppRes
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 184
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 184
    functionName: mpChunkAllocMem
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - mpUpdateAllocSize
    - MP_ERR_JRET
    - mpChunkNew
    - MP_ADD_TO_CHUNK_LIST
    - MP_INIT_MEM_HEADER
    - mpChunkRetrieveFromSession
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkAllocMem(SMemPool* pPool, SMPSession* pSession, int64_t
      size, uint32_t alignment, void** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:227,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:230,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:228,1
    - Dst: mpAddCacheGroup
      Src: /src/tdengine/source/util/src/mpChunk.c:228,1
    - Dst: mpAddCacheGroup
      Src: /src/tdengine/source/util/src/mpChunk.c:227,1
    - Dst: mpPopIdleNode
      Src: /src/tdengine/source/util/src/mpChunk.c:230,1
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:233,1
    - Dst: mpChunkEnsureCapacity
      Src: /src/tdengine/source/util/src/mpChunk.c:233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pPool
    - poolName
    - cfg
    argTypes:
    - SMemPool*
    - char*
    - SMemPoolCfg*
    constantsTouched: []
    func_position:
      end: 236
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 236
    functionName: mpChunkInit
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - mpAddCacheGroup
    - mpPopIdleNode
    - mpChunkEnsureCapacity
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkInit(SMemPool* pPool, char* poolName, SMemPoolCfg*
      cfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:245,1
    - Dst: mpChunkAllocMem
      Src: /src/tdengine/source/util/src/mpChunk.c:245,1
    - Dst: mpChunkNSAllocMem
      Src: /src/tdengine/source/util/src/mpChunk.c:245,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 5
    argNames:
    - pPool
    - pSession
    - size
    - alignment
    - ppRes
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t*
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: mpChunkAlloc
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_RET
    - mpChunkNSAllocMem
    - mpChunkAllocMem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkAlloc(SMemPool* pPool, SMPSession* pSession, int64_t*
      size, uint32_t alignment, void** ppRes) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/mpChunk.c:272,1
    - Dst: mpChunkFree
      Src: /src/tdengine/source/util/src/mpChunk.c:277,1
    - Dst: mpChunkFree
      Src: /src/tdengine/source/util/src/mpChunk.c:284,1
    - Dst: mpMalloc
      Src: /src/tdengine/source/util/src/mpChunk.c:272,1
    - Dst: TAOS_MEMCPY
      Src: /src/tdengine/source/util/src/mpChunk.c:276,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 13
    argCount: 5
    argNames:
    - pPool
    - pSession
    - pPtr
    - size
    - origSize
    argTypes:
    - SMemPool*
    - SMPSession*
    - void**
    - int64_t*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 287
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 287
    functionName: mpChunkRealloc
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - TAOS_MEMCPY
    - mpChunkFree
    - MP_ERR_JRET
    - mpMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkRealloc(SMemPool* pPool, SMPSession* pSession, void
      **pPtr, int64_t* size, int64_t* origSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:66,1
    - Dst: mpChunkNew
      Src: /src/tdengine/source/util/src/mpChunk.c:66,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/mpChunk.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pPool
    - num
    argTypes:
    - SMemPool*
    - int32_t
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: mpChunkPrepare
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - mpChunkNew
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkPrepare(SMemPool* pPool, int32_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:43,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/mpChunk.c:47,1
    - Dst: MP_SET_FLAG
      Src: /src/tdengine/source/util/src/mpChunk.c:52,1
    - Dst: taosMemMalloc
      Src: /src/tdengine/source/util/src/mpChunk.c:45,1
    - Dst: mpPopIdleNode
      Src: /src/tdengine/source/util/src/mpChunk.c:43,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pPool
    - ppChunk
    - chunkSize
    argTypes:
    - SMemPool*
    - SMPNSChunk**
    - int64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 60
    functionName: mpChunkNewNS
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - taosMemMalloc
    - MP_ERR_RET
    - mpPopIdleNode
    - uError
    - MP_SET_FLAG
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkNewNS(SMemPool* pPool, SMPNSChunk** ppChunk, int64_t
      chunkSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SMemPool*
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: mpChunkNotifyLowNum
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void mpChunkNotifyLowNum(SMemPool* pPool) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 5
    argNames:
    - pPool
    - pSession
    - size
    - ppChunk
    - ppPreChunk
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t
    - SMPChunk**
    - SMPChunk**
    constantsTouched: []
    func_position:
      end: 138
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 138
    functionName: mpChunkRetrieveFromSession
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkRetrieveFromSession(SMemPool* pPool, SMPSession* pSession,
      int64_t size, SMPChunk** ppChunk, SMPChunk** ppPreChunk) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_JRET
      Src: /src/tdengine/source/util/src/mpChunk.c:194,1
    - Dst: mpChunkNewNS
      Src: /src/tdengine/source/util/src/mpChunk.c:194,1
    - Dst: mpUpdateAllocSize
      Src: /src/tdengine/source/util/src/mpChunk.c:202,1
    - Dst: MP_INIT_MEM_HEADER
      Src: /src/tdengine/source/util/src/mpChunk.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pPool
    - pSession
    - size
    - alignment
    - ppRes
    argTypes:
    - SMemPool*
    - SMPSession*
    - int64_t
    - uint32_t
    - void**
    constantsTouched: []
    func_position:
      end: 216
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 216
    functionName: mpChunkNSAllocMem
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_INIT_MEM_HEADER
    - mpChunkNewNS
    - mpUpdateAllocSize
    - MP_ERR_JRET
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkNSAllocMem(SMemPool* pPool, SMPSession* pSession, int64_t
      size, uint32_t alignment, void** ppRes) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pPool
    - pSession
    - ptr
    argTypes:
    - SMemPool*
    - SMPSession*
    - void*
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: mpChunkGetMemSize
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t mpChunkGetMemSize(SMemPool* pPool, SMPSession* pSession, void
      *ptr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mpChunkGetMemSize
      Src: /src/tdengine/source/util/src/mpChunk.c:250,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/mpChunk.c:258,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/mpChunk.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - pPool
    - pSession
    - ptr
    - origSize
    argTypes:
    - SMemPool*
    - SMPSession*
    - void*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: mpChunkFree
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - mpChunkGetMemSize
    linkageType: ''
    returnType: void
    signature: 'void mpChunkFree(SMemPool* pPool, SMPSession* pSession, void *ptr,
      int64_t* origSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MP_ERR_RET
      Src: /src/tdengine/source/util/src/mpChunk.c:293,1
    - Dst: mpChunkRetrieve
      Src: /src/tdengine/source/util/src/mpChunk.c:293,1
    - Dst: MP_ADD_TO_CHUNK_LIST
      Src: /src/tdengine/source/util/src/mpChunk.c:298,1
    - Dst: MP_ADD_TO_CHUNK_LIST
      Src: /src/tdengine/source/util/src/mpChunk.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pPool
    - pSession
    argTypes:
    - SMemPool*
    - SMPSession*
    constantsTouched: []
    func_position:
      end: 302
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 302
    functionName: mpChunkInitSession
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached:
    - MP_ERR_RET
    - mpChunkRetrieve
    - MP_ADD_TO_CHUNK_LIST
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkInitSession(SMemPool* pPool, SMPSession* pSession) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pPool
    argTypes:
    - SMemPool*
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: mpChunkUpdateCfg
    functionSourceFile: /src/tdengine/source/util/src/mpChunk.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t mpChunkUpdateCfg(SMemPool* pPool) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddNumberToObject
      Src: /src/tdengine/source/util/src/tjson.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - number
    argTypes:
    - SJson*
    - char*
    - double
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: tjsonAddDoubleToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddNumberToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddDoubleToObject(SJson* pJson, const char* pName, const
      double number) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/util/src/tjson.c:131,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/util/src/tjson.c:136,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 6
    argNames:
    - pJson
    - pName
    - func
    - pArray
    - itemSize
    - num
    argTypes:
    - SJson*
    - char*
    - FToJson
    - void*
    - int32_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: tjsonAddArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonAddItem
    - tjsonAddArrayToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddArray(SJson* pJson, const char* pName, FToJson func,
      const void* pArray, int32_t itemSize, int32_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Print
      Src: /src/tdengine/source/util/src/tjson.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pJson
    argTypes:
    - SJson*
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: tjsonToString
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_Print
    linkageType: ''
    returnType: char*
    signature: 'char * tjsonToString(const SJson* pJson) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/util/src/tjson.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - uint8_t*
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: tjsonGetUTinyIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetUTinyIntValue(const SJson* pJson, const char* pName,
      uint8_t* pVal) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:305,1
    - Dst: cJSON_GetNumberValue
      Src: /src/tdengine/source/util/src/tjson.c:312,1
    - Dst: cJSON_IsNumber
      Src: /src/tdengine/source/util/src/tjson.c:309,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - double*
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: tjsonGetDoubleValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetNumberValue
    - cJSON_IsNumber
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetDoubleValue(const SJson* pJson, const char* pName,
      double* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/util/src/tjson.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - index
    argTypes:
    - SJson*
    - int32_t
    constantsTouched: []
    func_position:
      end: 318
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 318
    functionName: tjsonGetArrayItem
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetArrayItem
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonGetArrayItem(const SJson* pJson, int32_t index) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/util/src/tjson.c:382,1
    - Dst: cJSON_IsObject
      Src: /src/tdengine/source/util/src/tjson.c:387,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tjson.c:399,1
    - Dst: cJSON_GetArrayItem
      Src: /src/tdengine/source/util/src/tjson.c:392,1
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/util/src/tjson.c:390,1
    - Dst: isprint
      Src: /src/tdengine/source/util/src/tjson.c:400,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 1
    argNames:
    - jIn
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 408
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 408
    functionName: tjsonValidateJson
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_Parse
    - cJSON_GetArraySize
    - strlen
    - isprint
    - cJSON_GetArrayItem
    - cJSON_IsObject
    linkageType: ''
    returnType: bool
    signature: 'bool tjsonValidateJson(const char* jIn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddBoolToObject
      Src: /src/tdengine/source/util/src/tjson.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - boolean
    argTypes:
    - SJson*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: tjsonAddBoolToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddBoolToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddBoolToObject(SJson* pJson, const char* pName, const
      bool boolean) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tjson.c:146,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tjson.c:153,1
    - Dst: tjsonAddArrayToObject
      Src: /src/tdengine/source/util/src/tjson.c:148,1
    - Dst: tjsonAddItem
      Src: /src/tdengine/source/util/src/tjson.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pJson
    - pName
    - func
    - pArray
    argTypes:
    - SJson*
    - char*
    - FToJson
    - SArray*
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: tjsonAddTArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonAddItem
    - taosArrayGetSize
    - tjsonAddArrayToObject
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddTArray(SJson* pJson, const char* pName, FToJson func,
      const SArray* pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_PrintUnformatted
      Src: /src/tdengine/source/util/src/tjson.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pJson
    argTypes:
    - SJson*
    constantsTouched: []
    func_position:
      end: 176
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 176
    functionName: tjsonToUnformattedString
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_PrintUnformatted
    linkageType: ''
    returnType: char*
    signature: 'char * tjsonToUnformattedString(const SJson* pJson) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:293,1
    - Dst: cJSON_IsBool
      Src: /src/tdengine/source/util/src/tjson.c:297,1
    - Dst: cJSON_IsTrue
      Src: /src/tdengine/source/util/src/tjson.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - bool*
    constantsTouched: []
    func_position:
      end: 302
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 302
    functionName: tjsonGetBoolValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetObjectItem
    - cJSON_IsBool
    - cJSON_IsTrue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetBoolValue(const SJson* pJson, const char* pName, bool*
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetArraySize
      Src: /src/tdengine/source/util/src/tjson.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pJson
    argTypes:
    - SJson*
    constantsTouched: []
    func_position:
      end: 316
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 316
    functionName: tjsonGetArraySize
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetArraySize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetArraySize(const SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:321,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:325,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 4
    argNames:
    - pJson
    - pName
    - func
    - pObj
    argTypes:
    - SJson*
    - char*
    - FToObject
    - void*
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: tjsonToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - func
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonToObject(const SJson* pJson, const char* pName, FToObject
      func, void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetErrorPtr
      Src: /src/tdengine/source/util/src/tjson.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 410
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 410
    functionName: tjsonGetError
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetErrorPtr
    linkageType: ''
    returnType: char*
    signature: 'const char * tjsonGetError() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/util/src/tjson.c:266,1
    - Dst: taosStr2UInt64
      Src: /src/tdengine/source/util/src/tjson.c:273,1
    - Dst: sscanf
      Src: /src/tdengine/source/util/src/tjson.c:271,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:266,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - uint64_t*
    constantsTouched: []
    func_position:
      end: 276
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 276
    functionName: tjsonGetUBigIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - sscanf
    - cJSON_GetStringValue
    - taosStr2UInt64
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetUBigIntValue(const SJson* pJson, const char* pName,
      uint64_t* pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:357,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/util/src/tjson.c:358,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:365,1
    - Dst: taosArrayInit_s
      Src: /src/tdengine/source/util/src/tjson.c:360,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/util/src/tjson.c:365,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tjson.c:365,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 5
    argNames:
    - pJson
    - pName
    - func
    - pArray
    - itemSize
    argTypes:
    - SJson*
    - char*
    - FToObject
    - SArray**
    - int32_t
    constantsTouched: []
    func_position:
      end: 372
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 372
    functionName: tjsonToTArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - taosArrayInit_s
    - tjsonGetArraySize
    - func
    - taosArrayGet
    - tjsonGetArrayItem
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonToTArray(const SJson* pJson, const char* pName, FToObject
      func, SArray** pArray, int32_t itemSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetUBigIntValue
      Src: /src/tdengine/source/util/src/tjson.c:280,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 283
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 283
    functionName: tjsonGetUIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetUBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetUIntValue(const SJson* pJson, const char* pName, uint32_t*
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Parse
      Src: /src/tdengine/source/util/src/tjson.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pStr
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 374
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 374
    functionName: tjsonParse
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_Parse
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonParse(const char* pStr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateObject
      Src: /src/tdengine/source/util/src/tjson.c:22,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: tjsonCreateObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_CreateObject
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonCreateObject() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_Delete
      Src: /src/tdengine/source/util/src/tjson.c:39,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pJson
    argTypes:
    - SJson*
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: tjsonDelete
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_Delete
    linkageType: ''
    returnType: void
    signature: 'void tjsonDelete(SJson* pJson) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddStringToObject
      Src: /src/tdengine/source/util/src/tjson.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: tjsonAddStringToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddStringToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddStringToObject(SJson* pJson, const char* pName, const
      char* pVal) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/util/src/tjson.c:102,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/util/src/tjson.c:108,1
    - Dst: tjsonAddItemToObject
      Src: /src/tdengine/source/util/src/tjson.c:111,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 4
    argNames:
    - pJson
    - pName
    - func
    - pObj
    argTypes:
    - SJson*
    - char*
    - FToJson
    - void*
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: tjsonAddObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonAddItemToObject
    - func
    - tjsonCreateObject
    - tjsonDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddObject(SJson* pJson, const char* pName, FToJson func,
      const void* pObj) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pValueString
    argTypes:
    - SJson*
    - char**
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: tjsonGetObjectValueString
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetObjectValueString(const SJson* pJson, char** pValueString) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pVal
    argTypes:
    - SJson*
    - double*
    constantsTouched: []
    func_position:
      end: 198
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 198
    functionName: tjsonGetObjectValueDouble
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tjsonGetObjectValueDouble(const SJson* pJson, double* pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/util/src/tjson.c:232,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:232,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/util/src/tjson.c:239,1
    - Dst: sscanf
      Src: /src/tdengine/source/util/src/tjson.c:237,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: tjsonGetBigIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - sscanf
    - cJSON_GetStringValue
    - tjsonGetObjectItem
    - taosStr2Int64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetBigIntValue(const SJson* pJson, const char* pName,
      int64_t* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/util/src/tjson.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - int16_t*
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: tjsonGetSmallIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetSmallIntValue(const SJson* pJson, const char* pName,
      int16_t* pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_CreateArray
      Src: /src/tdengine/source/util/src/tjson.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 35
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 35
    functionName: tjsonCreateArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_CreateArray
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonCreateArray() '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/tdengine/source/util/src/tjson.c:45,1
    - Dst: tjsonAddStringToObject
      Src: /src/tdengine/source/util/src/tjson.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - number
    argTypes:
    - SJson*
    - char*
    - uint64_t
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: tjsonAddIntegerToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonAddStringToObject
    - snprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddIntegerToObject(SJson* pJson, const char* pName, const
      uint64_t number) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddArrayToObject
      Src: /src/tdengine/source/util/src/tjson.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - pJson
    - pName
    argTypes:
    - SJson*
    - char*
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: tjsonAddArrayToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddArrayToObject
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonAddArrayToObject(SJson* pJson, const char* pName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tjsonCreateObject
      Src: /src/tdengine/source/util/src/tjson.c:115,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:120,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/util/src/tjson.c:122,1
    - Dst: tjsonAddItemToArray
      Src: /src/tdengine/source/util/src/tjson.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - pJson
    - func
    - pObj
    argTypes:
    - SJson*
    - FToJson
    - void*
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    functionName: tjsonAddItem
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonAddItemToArray
    - func
    - tjsonCreateObject
    - tjsonDelete
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddItem(SJson* pJson, FToJson func, const void* pObj) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pVal
    argTypes:
    - SJson*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 196
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 196
    functionName: tjsonGetObjectValueBigInt
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tjsonGetObjectValueBigInt(const SJson* pJson, int64_t* pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/util/src/tjson.c:201,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:201,1
    - Dst: strcpy
      Src: /src/tdengine/source/util/src/tjson.c:205,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 207
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 207
    functionName: tjsonGetStringValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetStringValue
    - strcpy
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetStringValue(const SJson* pJson, const char* pName,
      char* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/util/src/tjson.c:246,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 249
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 249
    functionName: tjsonGetIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetIntValue(const SJson* pJson, const char* pName, int32_t*
      pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetBigIntValue
      Src: /src/tdengine/source/util/src/tjson.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - int8_t*
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: tjsonGetTinyIntValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - tjsonGetBigIntValue
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetTinyIntValue(const SJson* pJson, const char* pName,
      int8_t* pVal) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_DeleteItemFromObject
      Src: /src/tdengine/source/util/src/tjson.c:413,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pName
    argTypes:
    - SJson*
    - char*
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: tjsonDeleteItemFromObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_DeleteItemFromObject
    linkageType: ''
    returnType: void
    signature: 'void tjsonDeleteItemFromObject(const SJson* pJson, const char* pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddItemToObject
      Src: /src/tdengine/source/util/src/tjson.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 3
    argNames:
    - pJson
    - pName
    - pItem
    argTypes:
    - SJson*
    - char*
    - SJson*
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: tjsonAddItemToObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddItemToObject
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddItemToObject(SJson* pJson, const char* pName, SJson*
      pItem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - pJson
    - pName
    argTypes:
    - SJson*
    - char*
    constantsTouched: []
    func_position:
      end: 178
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 178
    functionName: tjsonGetObjectItem
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetObjectItem
    linkageType: ''
    returnType: SJson*
    signature: 'SJson * tjsonGetObjectItem(const SJson* pJson, const char* pName) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/util/src/tjson.c:210,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:210,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tjson.c:214,1
    - Dst: strcpy
      Src: /src/tdengine/source/util/src/tjson.c:218,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - pJson
    - pName
    - pVal
    - maxLen
    argTypes:
    - SJson*
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: tjsonGetStringValue2
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetStringValue
    - strlen
    - strcpy
    - tjsonGetObjectItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetStringValue2(const SJson* pJson, const char* pName,
      char* pVal, int32_t maxLen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:333,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tjson.c:337,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:341,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - pJson
    - pName
    - func
    - pObj
    - objSize
    argTypes:
    - SJson*
    - char*
    - FToObject
    - void**
    - int32_t
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: tjsonMakeObject
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - tjsonGetObjectItem
    - func
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonMakeObject(const SJson* pJson, const char* pName, FToObject
      func, void** pObj, int32_t objSize) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_AddItemToArray
      Src: /src/tdengine/source/util/src/tjson.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pItem
    argTypes:
    - SJson*
    - SJson*
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: tjsonAddItemToArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_AddItemToArray
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonAddItemToArray(SJson* pJson, SJson* pItem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - pJson
    - pName
    argTypes:
    - SJson*
    - char**
    constantsTouched: []
    func_position:
      end: 186
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 186
    functionName: tjsonGetObjectName
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonGetObjectName(const SJson* pJson, char** pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cJSON_GetStringValue
      Src: /src/tdengine/source/util/src/tjson.c:223,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tjson.c:227,1
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:223,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - pJson
    - pName
    - pVal
    argTypes:
    - SJson*
    - char*
    - char**
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: tjsonDupStringValue
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - cJSON_GetStringValue
    - tjsonGetObjectItem
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonDupStringValue(const SJson* pJson, const char* pName,
      char** pVal) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tjsonGetObjectItem
      Src: /src/tdengine/source/util/src/tjson.c:345,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/util/src/tjson.c:346,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/util/src/tjson.c:348,1
    - Dst: func
      Src: /src/tdengine/source/util/src/tjson.c:348,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 5
    argNames:
    - pJson
    - pName
    - func
    - pArray
    - itemSize
    argTypes:
    - SJson*
    - char*
    - FToObject
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 354
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 354
    functionName: tjsonToArray
    functionSourceFile: /src/tdengine/source/util/src/tjson.c
    functionUses: []
    functionsReached:
    - func
    - tjsonGetArraySize
    - tjsonGetObjectItem
    - tjsonGetArrayItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tjsonToArray(const SJson* pJson, const char* pName, FToObject
      func, void* pArray, int32_t itemSize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/util/src/tmd5.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mdContext
    argTypes:
    - T_MD5_CTX*
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: tMD5Init
    functionSourceFile: /src/tdengine/source/util/src/tmd5.c
    functionUses: []
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: 'void tMD5Init(T_MD5_CTX *mdContext) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:178,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:184,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:203,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:207,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:209,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:222,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:226,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:228,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:232,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:245,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:248,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:251,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:231,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:253,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:247,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:230,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:175,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:179,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:181,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:185,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:198,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:204,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:210,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:221,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:223,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:227,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:246,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:255,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:229,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:249,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:258,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:176,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:180,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:182,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:188,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:186,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:199,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:201,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:205,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:211,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:224,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:225,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:234,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:220,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:243,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:254,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:257,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:244,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:233,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:250,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:174,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:177,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:183,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:197,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:187,1
    - Dst: FF
      Src: /src/tdengine/source/util/src/tmd5.c:189,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:200,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:202,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:206,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:208,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:256,1
    - Dst: II
      Src: /src/tdengine/source/util/src/tmd5.c:252,1
    - Dst: HH
      Src: /src/tdengine/source/util/src/tmd5.c:235,1
    - Dst: GG
      Src: /src/tdengine/source/util/src/tmd5.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 69
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - uint32_t*
    - uint32_t*
    constantsTouched: []
    func_position:
      end: 264
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 264
    functionName: Transform
    functionSourceFile: /src/tdengine/source/util/src/tmd5.c
    functionUses: []
    functionsReached:
    - HH
    - II
    - GG
    - FF
    linkageType: ''
    returnType: void
    signature: 'static void Transform(uint32_t *buf, uint32_t *in) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tMD5Update
      Src: /src/tdengine/source/util/src/tmd5.c:146,1
    - Dst: Transform
      Src: /src/tdengine/source/util/src/tmd5.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 1
    argNames:
    - mdContext
    argTypes:
    - T_MD5_CTX*
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: tMD5Final
    functionSourceFile: /src/tdengine/source/util/src/tmd5.c
    functionUses: []
    functionsReached:
    - Transform
    - tMD5Update
    linkageType: ''
    returnType: void
    signature: 'void tMD5Final(T_MD5_CTX *mdContext) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Transform
      Src: /src/tdengine/source/util/src/tmd5.c:122,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - mdContext
    - inBuf
    - inLen
    argTypes:
    - T_MD5_CTX*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: tMD5Update
    functionSourceFile: /src/tdengine/source/util/src/tmd5.c
    functionUses: []
    functionsReached:
    - Transform
    linkageType: ''
    returnType: void
    signature: 'void tMD5Update(T_MD5_CTX *mdContext, uint8_t *inBuf, uint32_t inLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUEntryTableApply
      Src: /src/tdengine/source/util/src/tlrucache.c:142,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - table
    argTypes:
    - SLRUEntryTable*
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: taosLRUEntryTableCleanup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosLRUEntryTableApply
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUEntryTableCleanup(SLRUEntryTable *table) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:638,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 645
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 645
    functionName: taosLRUCacheShardGetPinnedUsage
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: size_t
    signature: 'static size_t taosLRUCacheShardGetPinnedUsage(SLRUCacheShard *shard) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardCleanup
      Src: /src/tdengine/source/util/src/tlrucache.c:733,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:735,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tlrucache.c:739,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:741,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 743
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 743
    functionName: taosLRUCacheCleanup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosThreadMutexDestroy
    - taosLRUCacheShardCleanup
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheCleanup(SLRUCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardGetPinnedUsage
      Src: /src/tdengine/source/util/src/tlrucache.c:835,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 839
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 839
    functionName: taosLRUCacheGetPinnedUsage
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardGetPinnedUsage
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosLRUCacheGetPinnedUsage(SLRUCache *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: functor
      Src: /src/tdengine/source/util/src/tlrucache.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 3
    argNames:
    - table
    - functor
    - ud
    argTypes:
    - SLRUEntryTable*
    - _taos_lru_functor_t
    - void*
    constantsTouched: []
    func_position:
      end: 163
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 163
    functionName: taosLRUEntryTableApplyF
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - functor
    linkageType: ''
    returnType: int
    signature: 'static int taosLRUEntryTableApplyF(SLRUEntryTable *table, _taos_lru_functor_t
      functor, void *ud) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_ENTRY_SET_IN_HIGH_POOL
      Src: /src/tdengine/source/util/src/tlrucache.c:258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: taosLRUCacheShardMaintainPoolSize
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_ENTRY_SET_IN_HIGH_POOL
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardMaintainPoolSize(SLRUCacheShard *shard) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:648,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - shard
    - strict
    argTypes:
    - SLRUCacheShard*
    - bool
    constantsTouched: []
    func_position:
      end: 653
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 653
    functionName: taosLRUCacheShardSetStrictCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardSetStrictCapacity(SLRUCacheShard *shard,
      bool strict) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_CACHE_SHARD_HASH32
      Src: /src/tdengine/source/util/src/tlrucache.c:748,1
    - Dst: taosLRUCacheShardInsert
      Src: /src/tdengine/source/util/src/tlrucache.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 10
    argNames:
    - cache
    - key
    - keyLen
    - value
    - charge
    - deleter
    - overwriter
    - handle
    - priority
    - ud
    argTypes:
    - SLRUCache*
    - void*
    - size_t
    - void*
    - size_t
    - _taos_lru_deleter_t
    - _taos_lru_overwriter_t
    - LRUHandle**
    - LRUPriority
    - void*
    constantsTouched: []
    func_position:
      end: 753
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 753
    functionName: taosLRUCacheInsert
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_CACHE_SHARD_HASH32
    - taosLRUCacheShardInsert
    linkageType: ''
    returnType: LRUStatus
    signature: 'LRUStatus taosLRUCacheInsert(SLRUCache *cache, const void *key, size_t
      keyLen, void *value, size_t charge, _taos_lru_deleter_t deleter, _taos_lru_overwriter_t
      overwriter, LRUHandle **handle, LRUPriority priority, void *ud) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:845,1
    - Dst: taosLRUCacheShardSetCapacity
      Src: /src/tdengine/source/util/src/tlrucache.c:848,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - cache
    - capacity
    argTypes:
    - SLRUCache*
    - size_t
    constantsTouched: []
    func_position:
      end: 854
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 854
    functionName: taosLRUCacheSetCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUCacheShardSetCapacity
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheSetCapacity(SLRUCache *cache, size_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUEntryTableFindPtr
      Src: /src/tdengine/source/util/src/tlrucache.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 4
    argNames:
    - table
    - key
    - keyLen
    - hash
    argTypes:
    - SLRUEntryTable*
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: taosLRUEntryTableRemove
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUEntryTableFindPtr
    linkageType: ''
    returnType: SLRUEntry*
    signature: 'static SLRUEntry *taosLRUEntryTableRemove(SLRUEntryTable *table, const
      void *key, size_t keyLen, uint32_t hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_ENTRY_IS_HIGH_PRI
      Src: /src/tdengine/source/util/src/tlrucache.c:265,1
    - Dst: TAOS_LRU_ENTRY_HAS_HIT
      Src: /src/tdengine/source/util/src/tlrucache.c:265,1
    - Dst: taosLRUCacheShardMaintainPoolSize
      Src: /src/tdengine/source/util/src/tlrucache.c:274,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_HIGH_POOL
      Src: /src/tdengine/source/util/src/tlrucache.c:282,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_HIGH_POOL
      Src: /src/tdengine/source/util/src/tlrucache.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - shard
    - e
    argTypes:
    - SLRUCacheShard*
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 287
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 287
    functionName: taosLRUCacheShardLRUInsert
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_ENTRY_SET_IN_HIGH_POOL
    - TAOS_LRU_ENTRY_HAS_HIT
    - taosLRUCacheShardMaintainPoolSize
    - TAOS_LRU_ENTRY_IS_HIGH_PRI
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardLRUInsert(SLRUCacheShard *shard, SLRUEntry
      *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardLRURemove
      Src: /src/tdengine/source/util/src/tlrucache.c:307,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:309,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tlrucache.c:312,1
    - Dst: taosLRUEntryTableRemove
      Src: /src/tdengine/source/util/src/tlrucache.c:308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - shard
    - charge
    - deleted
    argTypes:
    - SLRUCacheShard*
    - size_t
    - SArray*
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: taosLRUCacheShardEvictLRU
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - taosArrayPush
    - taosLRUEntryTableRemove
    - taosLRUCacheShardLRURemove
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardEvictLRU(SLRUCacheShard *shard, size_t
      charge, SArray *deleted) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:491,1
    - Dst: taosLRUCacheShardLRURemove
      Src: /src/tdengine/source/util/src/tlrucache.c:495,1
    - Dst: TAOS_LRU_ENTRY_HAS_REFS
      Src: /src/tdengine/source/util/src/tlrucache.c:494,1
    - Dst: TAOS_LRU_ENTRY_REF
      Src: /src/tdengine/source/util/src/tlrucache.c:497,1
    - Dst: taosLRUEntryTableLookup
      Src: /src/tdengine/source/util/src/tlrucache.c:492,1
    - Dst: TAOS_LRU_ENTRY_SET_HIT
      Src: /src/tdengine/source/util/src/tlrucache.c:498,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:501,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - shard
    - key
    - keyLen
    - hash
    argTypes:
    - SLRUCacheShard*
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 504
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 504
    functionName: taosLRUCacheShardLookup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TAOS_LRU_ENTRY_HAS_REFS
    - TAOS_LRU_ENTRY_REF
    - taosThreadMutexLock
    - TAOS_LRU_ENTRY_SET_HIT
    - taosLRUCacheShardLRURemove
    - taosLRUEntryTableLookup
    linkageType: ''
    returnType: LRUHandle*
    signature: 'static LRUHandle *taosLRUCacheShardLookup(SLRUCacheShard *shard, const
      void *key, size_t keyLen, uint32_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:531,1
    - Dst: taosLRUEntryTableApplyF
      Src: /src/tdengine/source/util/src/tlrucache.c:533,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - shard
    - functor
    - ud
    argTypes:
    - SLRUCacheShard*
    - _taos_lru_functor_t
    - void*
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: taosLRUCacheShardApply
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosLRUEntryTableApplyF
    linkageType: ''
    returnType: int
    signature: 'static int taosLRUCacheShardApply(SLRUCacheShard *shard, _taos_lru_functor_t
      functor, void *ud) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - capacity
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: getDefaultCacheShardBits
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: 'static int getDefaultCacheShardBits(size_t capacity) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardRef
      Src: /src/tdengine/source/util/src/tlrucache.c:793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - cache
    - handle
    argTypes:
    - SLRUCache*
    - LRUHandle*
    constantsTouched: []
    func_position:
      end: 794
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 794
    functionName: taosLRUCacheRef
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardRef
    linkageType: ''
    returnType: bool
    signature: 'bool taosLRUCacheRef(SLRUCache *cache, LRUHandle *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardGetUsage
      Src: /src/tdengine/source/util/src/tlrucache.c:815,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 819
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 819
    functionName: taosLRUCacheGetUsage
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardGetUsage
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosLRUCacheGetUsage(SLRUCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: taosLRUEntryUnref
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'static bool taosLRUEntryUnref(SLRUEntry *entry) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlrucache.c:113,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tlrucache.c:115,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tlrucache.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - maxUpperHashBits
    argTypes:
    - SLRUEntryTable*
    - int
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: taosLRUEntryTableInit
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_RETURN
    linkageType: ''
    returnType: int
    signature: 'static int taosLRUEntryTableInit(SLRUEntryTable *table, int maxUpperHashBits) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_ENTRY_IN_HIGH_POOL
      Src: /src/tdengine/source/util/src/tlrucache.c:298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - shard
    - e
    argTypes:
    - SLRUCacheShard*
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: taosLRUCacheShardLRURemove
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_ENTRY_IN_HIGH_POOL
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardLRURemove(SLRUCacheShard *shard, SLRUEntry
      *e) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tlrucache.c:319,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:330,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tlrucache.c:332,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:324,1
    - Dst: taosLRUCacheShardEvictLRU
      Src: /src/tdengine/source/util/src/tlrucache.c:328,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tlrucache.c:333,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:334,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tlrucache.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - shard
    - capacity
    argTypes:
    - SLRUCacheShard*
    - size_t
    constantsTouched: []
    func_position:
      end: 337
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 337
    functionName: taosLRUCacheShardSetCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosArrayDestroy
    - taosLRUCacheShardEvictLRU
    - taosLRUEntryFree
    - taosArrayGetSize
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardSetCapacity(SLRUCacheShard *shard, size_t
      capacity) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:508,1
    - Dst: taosLRUEntryTableRemove
      Src: /src/tdengine/source/util/src/tlrucache.c:510,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:512,1
    - Dst: taosLRUCacheShardLRURemove
      Src: /src/tdengine/source/util/src/tlrucache.c:514,1
    - Dst: TAOS_LRU_ENTRY_HAS_REFS
      Src: /src/tdengine/source/util/src/tlrucache.c:513,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:521,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - shard
    - key
    - keyLen
    - hash
    argTypes:
    - SLRUCacheShard*
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 526
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 526
    functionName: taosLRUCacheShardErase
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosLRUEntryTableRemove
    - taosThreadMutexLock
    - TAOS_LRU_ENTRY_HAS_REFS
    - taosLRUCacheShardLRURemove
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - taosLRUEntryFree
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardErase(SLRUCacheShard *shard, const void
      *key, size_t keyLen, uint32_t hash) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tlrucache.c:541,1
    - Dst: taosLRUCacheShardLRURemove
      Src: /src/tdengine/source/util/src/tlrucache.c:547,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:543,1
    - Dst: taosLRUEntryTableRemove
      Src: /src/tdengine/source/util/src/tlrucache.c:548,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:549,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tlrucache.c:552,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:553,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:558,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tlrucache.c:560,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tlrucache.c:561,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:563,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tlrucache.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 567
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 567
    functionName: taosLRUCacheShardEraseUnrefEntries
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosThreadMutexUnlock
    - taosLRUEntryTableRemove
    - taosThreadMutexLock
    - taosArrayDestroy
    - taosArrayGetSize
    - taosArrayPush
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - taosLRUCacheShardLRURemove
    - taosLRUEntryFree
    - taosArrayInit
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardEraseUnrefEntries(SLRUCacheShard *shard) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlrucache.c:689,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlrucache.c:699,1
    - Dst: getDefaultCacheShardBits
      Src: /src/tdengine/source/util/src/tlrucache.c:695,1
    - Dst: taosLRUCacheShardInit
      Src: /src/tdengine/source/util/src/tlrucache.c:709,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:701,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:710,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:711,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tlrucache.c:723,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - capacity
    - numShardBits
    - highPriPoolRatio
    argTypes:
    - size_t
    - int
    - double
    constantsTouched: []
    func_position:
      end: 726
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 726
    functionName: taosLRUCacheInit
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - getDefaultCacheShardBits
    - taosLRUCacheShardInit
    - taosMemoryCalloc
    - taosThreadMutexInit
    linkageType: ''
    returnType: SLRUCache*
    signature: 'SLRUCache *taosLRUCacheInit(size_t capacity, int numShardBits, double
      highPriPoolRatio) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardRelease
      Src: /src/tdengine/source/util/src/tlrucache.c:804,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - cache
    - handle
    - eraseIfLastRef
    argTypes:
    - SLRUCache*
    - LRUHandle*
    - bool
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: taosLRUCacheRelease
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardRelease
    linkageType: ''
    returnType: bool
    signature: 'bool taosLRUCacheRelease(SLRUCache *cache, LRUHandle *handle, bool
      eraseIfLastRef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardGetElems
      Src: /src/tdengine/source/util/src/tlrucache.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 829
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 829
    functionName: taosLRUCacheGetElems
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardGetElems
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosLRUCacheGetElems(SLRUCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:885,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 892
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 892
    functionName: taosLRUCacheIsStrictCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'bool taosLRUCacheIsStrictCapacity(SLRUCache *cache) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: func
      Src: /src/tdengine/source/util/src/tlrucache.c:129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 4
    argNames:
    - table
    - func
    - begin
    - end
    argTypes:
    - SLRUEntryTable*
    - _taos_lru_table_func_t
    - uint32_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: taosLRUEntryTableApply
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - func
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUEntryTableApply(SLRUEntryTable *table, _taos_lru_table_func_t
      func, uint32_t begin, uint32_t end) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/tdengine/source/util/src/tlrucache.c:167,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 4
    argNames:
    - table
    - key
    - keyLen
    - hash
    argTypes:
    - SLRUEntryTable*
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: taosLRUEntryTableFindPtr
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: SLRUEntry**
    signature: 'static SLRUEntry **taosLRUEntryTableFindPtr(SLRUEntryTable *table,
      const void *key, size_t keyLen, uint32_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUEntryTableFindPtr
      Src: /src/tdengine/source/util/src/tlrucache.c:210,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - table
    - key
    - keyLen
    - hash
    argTypes:
    - SLRUEntryTable*
    - void*
    - size_t
    - uint32_t
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: taosLRUEntryTableLookup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUEntryTableFindPtr
    linkageType: ''
    returnType: SLRUEntry*
    signature: 'static SLRUEntry *taosLRUEntryTableLookup(SLRUEntryTable *table, const
      void *key, size_t keyLen, uint32_t hash) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tlrucache.c:341,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:345,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tlrucache.c:343,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:358,1
    - Dst: taosLRUEntryTableInit
      Src: /src/tdengine/source/util/src/tlrucache.c:341,1
    - Dst: taosLRUCacheShardSetCapacity
      Src: /src/tdengine/source/util/src/tlrucache.c:360,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tlrucache.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - shard
    - capacity
    - strict
    - highPriPoolRatio
    - maxUpperHashBits
    argTypes:
    - SLRUCacheShard*
    - size_t
    - bool
    - double
    - int
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: taosLRUCacheShardInit
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosThreadMutexInit
    - taosLRUCacheShardSetCapacity
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - taosLRUEntryTableInit
    linkageType: ''
    returnType: int
    signature: 'static int taosLRUCacheShardInit(SLRUCacheShard *shard, size_t capacity,
      bool strict, double highPriPoolRatio, int maxUpperHashBits) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:571,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:575,1
    - Dst: TAOS_LRU_ENTRY_REF
      Src: /src/tdengine/source/util/src/tlrucache.c:573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - shard
    - handle
    argTypes:
    - SLRUCacheShard*
    - LRUHandle*
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 0
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: taosLRUCacheShardRef
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - TAOS_LRU_ENTRY_REF
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'static bool taosLRUCacheShardRef(SLRUCacheShard *shard, LRUHandle
      *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:618,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:620,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 623
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 623
    functionName: taosLRUCacheShardGetUsage
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: size_t
    signature: 'static size_t taosLRUCacheShardGetUsage(SLRUCacheShard *shard) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_CACHE_SHARD_HASH32
      Src: /src/tdengine/source/util/src/tlrucache.c:756,1
    - Dst: taosLRUCacheShardLookup
      Src: /src/tdengine/source/util/src/tlrucache.c:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - cache
    - key
    - keyLen
    argTypes:
    - SLRUCache*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 760
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 760
    functionName: taosLRUCacheLookup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_CACHE_SHARD_HASH32
    - taosLRUCacheShardLookup
    linkageType: ''
    returnType: LRUHandle*
    signature: 'LRUHandle *taosLRUCacheLookup(SLRUCache *cache, const void *key, size_t
      keyLen) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardApply
      Src: /src/tdengine/source/util/src/tlrucache.c:772,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - cache
    - functor
    - ud
    argTypes:
    - SLRUCache*
    - _taos_lru_functor_t
    - void*
    constantsTouched: []
    func_position:
      end: 776
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 776
    functionName: taosLRUCacheApply
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardApply
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheApply(SLRUCache *cache, _taos_lru_functor_t functor,
      void *ud) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_ENTRY_HAS_REFS
      Src: /src/tdengine/source/util/src/tlrucache.c:136,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:137,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: taosLRUEntryTableFree
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUEntryFree
    - TAOS_LRU_ENTRY_HAS_REFS
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUEntryTableFree(SLRUEntry *entry) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlrucache.c:186,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:204,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - table
    argTypes:
    - SLRUEntryTable*
    constantsTouched: []
    func_position:
      end: 207
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 207
    functionName: taosLRUEntryTableResize
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUEntryTableResize(SLRUEntryTable *table) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUEntryTableFindPtr
      Src: /src/tdengine/source/util/src/tlrucache.c:214,1
    - Dst: taosLRUEntryTableResize
      Src: /src/tdengine/source/util/src/tlrucache.c:221,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - table
    - entry
    argTypes:
    - SLRUEntryTable*
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 226
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 226
    functionName: taosLRUEntryTableInsert
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUEntryTableFindPtr
    - taosLRUEntryTableResize
    linkageType: ''
    returnType: SLRUEntry*
    signature: 'static SLRUEntry *taosLRUEntryTableInsert(SLRUEntryTable *table, SLRUEntry
      *entry) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tlrucache.c:366,1
    - Dst: taosLRUEntryTableCleanup
      Src: /src/tdengine/source/util/src/tlrucache.c:368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: taosLRUCacheShardCleanup
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUEntryTableCleanup
    - taosThreadMutexDestroy
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUCacheShardCleanup(SLRUCacheShard *shard) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:588,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:594,1
    - Dst: TAOS_LRU_ENTRY_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:591,1
    - Dst: taosLRUEntryTableRemove
      Src: /src/tdengine/source/util/src/tlrucache.c:593,1
    - Dst: taosLRUEntryUnref
      Src: /src/tdengine/source/util/src/tlrucache.c:590,1
    - Dst: taosLRUCacheShardLRUInsert
      Src: /src/tdengine/source/util/src/tlrucache.c:596,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:606,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:609,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 23
    argCount: 3
    argNames:
    - shard
    - handle
    - eraseIfLastRef
    argTypes:
    - SLRUCacheShard*
    - LRUHandle*
    - bool
    constantsTouched: []
    func_position:
      end: 613
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 613
    functionName: taosLRUCacheShardRelease
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosLRUEntryTableRemove
    - taosLRUEntryUnref
    - taosLRUCacheShardLRUInsert
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - taosLRUEntryFree
    - TAOS_LRU_ENTRY_IN_CACHE
    linkageType: ''
    returnType: bool
    signature: 'static bool taosLRUCacheShardRelease(SLRUCacheShard *shard, LRUHandle
      *handle, bool eraseIfLastRef) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:628,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - shard
    argTypes:
    - SLRUCacheShard*
    constantsTouched: []
    func_position:
      end: 633
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 633
    functionName: taosLRUCacheShardGetElems
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosLRUCacheShardGetElems(SLRUCacheShard *shard) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_LRU_CACHE_SHARD_HASH32
      Src: /src/tdengine/source/util/src/tlrucache.c:763,1
    - Dst: taosLRUCacheShardErase
      Src: /src/tdengine/source/util/src/tlrucache.c:766,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - cache
    - key
    - keyLen
    argTypes:
    - SLRUCache*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: taosLRUCacheErase
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - TAOS_LRU_CACHE_SHARD_HASH32
    - taosLRUCacheShardErase
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheErase(SLRUCache *cache, const void *key, size_t keyLen) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardEraseUnrefEntries
      Src: /src/tdengine/source/util/src/tlrucache.c:781,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: taosLRUCacheEraseUnrefEntries
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardEraseUnrefEntries
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheEraseUnrefEntries(SLRUCache *cache) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - SLRUEntry*
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: taosLRUEntryFree
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'static void taosLRUEntryFree(SLRUEntry *entry) '
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: taosLRUCacheShardEvictLRU
      Src: /src/tdengine/source/util/src/tlrucache.c:395,1
    - Dst: taosLRUCacheShardLRURemove
      Src: /src/tdengine/source/util/src/tlrucache.c:423,1
    - Dst: TAOS_LRU_ENTRY_REF
      Src: /src/tdengine/source/util/src/tlrucache.c:433,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tlrucache.c:447,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tlrucache.c:377,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tlrucache.c:388,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:421,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:444,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:390,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:379,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:391,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:404,1
    - Dst: taosLRUEntryTableInsert
      Src: /src/tdengine/source/util/src/tlrucache.c:412,1
    - Dst: taosLRUCacheShardLRUInsert
      Src: /src/tdengine/source/util/src/tlrucache.c:430,1
    - Dst: TAOS_LRU_ENTRY_HAS_REFS
      Src: /src/tdengine/source/util/src/tlrucache.c:422,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:441,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tlrucache.c:448,1
    - Dst: taosLRUEntryFree
      Src: /src/tdengine/source/util/src/tlrucache.c:450,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:384,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:399,1
    - Dst: TAOS_LRU_ENTRY_HAS_REFS
      Src: /src/tdengine/source/util/src/tlrucache.c:432,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tlrucache.c:452,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 4
    argNames:
    - shard
    - e
    - handle
    - freeOnFail
    argTypes:
    - SLRUCacheShard*
    - SLRUEntry*
    - LRUHandle**
    - bool
    constantsTouched: []
    func_position:
      end: 455
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 455
    functionName: taosLRUCacheShardInsertEntry
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - TAOS_LRU_ENTRY_HAS_REFS
    - taosLRUCacheShardEvictLRU
    - TAOS_LRU_ENTRY_REF
    - taosArrayDestroy
    - taosLRUEntryTableInsert
    - taosArrayGetSize
    - taosLRUCacheShardLRUInsert
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - taosLRUCacheShardLRURemove
    - taosLRUEntryFree
    - taosArrayInit
    linkageType: ''
    returnType: LRUStatus
    signature: 'static LRUStatus taosLRUCacheShardInsertEntry(SLRUCacheShard *shard,
      SLRUEntry *e, LRUHandle **handle, bool freeOnFail) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    argCount: 2
    argNames:
    - cache
    - handle
    argTypes:
    - SLRUCache*
    - LRUHandle*
    constantsTouched: []
    func_position:
      end: 807
      start: 807
    functionDepth: 0
    functionLinenumber: 807
    functionLinenumberEnd: 807
    functionName: taosLRUCacheValue
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void*
    signature: 'void *taosLRUCacheValue(SLRUCache *cache, LRUHandle *handle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:859,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - SLRUCache*
    constantsTouched: []
    func_position:
      end: 866
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 866
    functionName: taosLRUCacheGetCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosLRUCacheGetCapacity(SLRUCache *cache) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tlrucache.c:461,1
    - Dst: TAOS_LRU_ENTRY_SET_PRIORITY
      Src: /src/tdengine/source/util/src/tlrucache.c:480,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tlrucache.c:481,1
    - Dst: TAOS_LRU_ENTRY_SET_IN_CACHE
      Src: /src/tdengine/source/util/src/tlrucache.c:478,1
    - Dst: taosLRUCacheShardInsertEntry
      Src: /src/tdengine/source/util/src/tlrucache.c:485,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 11
    argNames:
    - shard
    - key
    - keyLen
    - hash
    - value
    - charge
    - deleter
    - overwriter
    - handle
    - priority
    - ud
    argTypes:
    - SLRUCacheShard*
    - void*
    - size_t
    - uint32_t
    - void*
    - size_t
    - _taos_lru_deleter_t
    - _taos_lru_overwriter_t
    - LRUHandle**
    - LRUPriority
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 486
    functionName: taosLRUCacheShardInsert
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosLRUCacheShardInsertEntry
    - TAOS_LRU_ENTRY_SET_PRIORITY
    - taosMemoryCalloc
    - TAOS_LRU_ENTRY_SET_IN_CACHE
    - memcpy
    linkageType: ''
    returnType: LRUStatus
    signature: 'static LRUStatus taosLRUCacheShardInsert(SLRUCacheShard *shard, const
      void *key, size_t keyLen, uint32_t hash, void *value, size_t charge, _taos_lru_deleter_t
      deleter, _taos_lru_overwriter_t overwriter, LRUHandle **handle, LRUPriority
      priority, void *ud) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 3
    argNames:
    - cache
    - handle
    - value
    argTypes:
    - SLRUCache*
    - LRUHandle*
    - void*
    constantsTouched: []
    func_position:
      end: 809
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 809
    functionName: taosLRUCacheUpdate
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheUpdate(SLRUCache *cache, LRUHandle *handle, void
      *value) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tlrucache.c:871,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tlrucache.c:879,1
    - Dst: taosLRUCacheShardSetStrictCapacity
      Src: /src/tdengine/source/util/src/tlrucache.c:874,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - cache
    - strict
    argTypes:
    - SLRUCache*
    - bool
    constantsTouched: []
    func_position:
      end: 880
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 880
    functionName: taosLRUCacheSetStrictCapacity
    functionSourceFile: /src/tdengine/source/util/src/tlrucache.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosLRUCacheShardSetStrictCapacity
    linkageType: ''
    returnType: void
    signature: 'void taosLRUCacheSetStrictCapacity(SLRUCache *cache, bool strict) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tconfig.c:52,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/util/src/tconfig.c:60,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tconfig.c:59,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/util/src/tconfig.c:57,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tconfig.c:56,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:62,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tconfig.c:62,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:67,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:67,1
    - Dst: cfgCleanup
      Src: /src/tdengine/source/util/src/tconfig.c:68,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:71,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - ppCfg
    argTypes:
    - SConfig**
    constantsTouched: []
    func_position:
      end: 72
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 72
    functionName: cfgInit
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgCleanup
    - taosMemoryCalloc
    - taosThreadMutexInit
    - tstrerror
    - TAOS_CHECK_RETURN
    - TSDB_CHECK_NULL
    - uError
    - TAOS_RETURN
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgInit(SConfig **ppCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:168,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tconfig.c:172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - SConfigItem*
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: cfgItemFreeVal
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void cfgItemFreeVal(SConfigItem *pItem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 204
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 204
    functionName: cfgGetGlobalSize
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgGetGlobalSize(SConfig *pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosExpandDir
      Src: /src/tdengine/source/util/src/tconfig.c:219,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:225,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:221,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:222,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:221,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:226,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pItem
    - inputDir
    argTypes:
    - SConfigItem*
    - char*
    constantsTouched: []
    func_position:
      end: 231
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 231
    functionName: cfgCheckAndSetDir
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosExpandDir
    - tstrerror
    - uError
    - TAOS_RETURN
    - taosStrdup
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgCheckAndSetDir(SConfigItem *pItem, const char *inputDir) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:369,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:374,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:373,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:370,1
    - Dst: taosSetSystemLocale
      Src: /src/tdengine/source/util/src/tconfig.c:373,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:374,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:375,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:376,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:379,1
    - Dst: doSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:379,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:381,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 382
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 382
    functionName: cfgSetLocale
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosSetSystemLocale
    - cfgStypeStr
    - strlen
    - uError
    - TAOS_RETURN
    - TAOS_CHECK_RETURN
    - doSetConf
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetLocale(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 599
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 599
    functionName: cfgUnLock
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    linkageType: ''
    returnType: void
    signature: 'void cfgUnLock(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:748,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - bool
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: cfgAddBool
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddBool(SConfig *pCfg, const char *name, bool defaultVal,
      int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1239,1
    - Dst: taosEnvToCfg
      Src: /src/tdengine/source/util/src/tconfig.c:1243,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tconfig.c:1244,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1251,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1241,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1255,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1259,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1262,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1265,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1270,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1280,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1273,1
    - Dst: cfgSetTfsItem
      Src: /src/tdengine/source/util/src/tconfig.c:1274,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1279,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 2
    argNames:
    - pConfig
    - envCmd
    argTypes:
    - SConfig*
    - char**
    constantsTouched: []
    func_position:
      end: 1281
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1281
    functionName: cfgLoadFromEnvCmd
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgSetTfsItem
    - uTrace
    - cfgSetItem
    - tstrncpy
    - TAOS_RETURN
    - taosEnvToCfg
    - paGetToken
    - strcasecmp
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromEnvCmd(SConfig *pConfig, const char **envCmd) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfgLoadFromCfgFile
      Src: /src/tdengine/source/util/src/tconfig.c:77,1
    - Dst: cfgLoadFromEnvVar
      Src: /src/tdengine/source/util/src/tconfig.c:81,1
    - Dst: cfgLoadFromApollUrl
      Src: /src/tdengine/source/util/src/tconfig.c:83,1
    - Dst: cfgLoadFromEnvCmd
      Src: /src/tdengine/source/util/src/tconfig.c:85,1
    - Dst: cfgLoadFromEnvFile
      Src: /src/tdengine/source/util/src/tconfig.c:79,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 3
    argNames:
    - pCfg
    - cfgType
    - sourceStr
    argTypes:
    - SConfig*
    - ECfgSrcType
    - void*
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: cfgLoad
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgLoadFromEnvVar
    - cfgLoadFromCfgFile
    - cfgLoadFromEnvFile
    - cfgLoadFromEnvCmd
    - cfgLoadFromApollUrl
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoad(SConfig *pCfg, ECfgSrcType cfgType, const void *sourceStr) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:182,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:184,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:186,1
    - Dst: cfgItemFreeVal
      Src: /src/tdengine/source/util/src/tconfig.c:185,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:189,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:191,1
    - Dst: cfgItemFreeVal
      Src: /src/tdengine/source/util/src/tconfig.c:192,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:193,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tconfig.c:196,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tconfig.c:197,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:199,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tconfig.c:198,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 200
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 200
    functionName: cfgCleanup
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayGet
    - taosArrayDestroy
    - taosThreadMutexDestroy
    - cfgItemFreeVal
    - taosArrayGetSize
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'void cfgCleanup(SConfig *pCfg) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfgItemFreeVal
      Src: /src/tdengine/source/util/src/tconfig.c:207,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:210,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:214,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - pItem
    - conf
    argTypes:
    - SConfigItem*
    - char*
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: cfgCheckAndSetConf
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgItemFreeVal
    - TAOS_RETURN
    - taosStrdup
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgCheckAndSetConf(SConfigItem *pItem, const char *conf) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:236,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/util/src/tconfig.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 246
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 246
    functionName: cfgSetBool
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - strcasecmp
    - taosStr2int32
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetBool(SConfigItem *pItem, const char *value, ECfgSrcType
      stype) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:393,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:408,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:422,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/util/src/tconfig.c:418,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tconfig.c:387,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:399,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:406,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tconfig.c:419,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tconfig.c:431,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tconfig.c:426,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:437,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:439,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tconfig.c:397,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:391,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/util/src/tconfig.c:411,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:415,1
    - Dst: taosStr2int8
      Src: /src/tdengine/source/util/src/tconfig.c:425,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tconfig.c:428,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:435,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:440,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:389,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:401,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tconfig.c:412,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 7
    argNames:
    - pCfg
    - name
    - value
    - level
    - primary
    - disable
    - stype
    argTypes:
    - SConfig*
    - char*
    - char*
    - char*
    - char*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 441
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 441
    functionName: cfgSetTfsItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tstrncpy
    - taosStr2int32
    - strlen
    - TAOS_RETURN
    - taosStr2int8
    - taosArrayPush
    - cfgGetItem
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetTfsItem(SConfig *pCfg, const char *name, const
      char *value, const char *level, const char *primary, const char *disable, ECfgSrcType
      stype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - pItem
    - isServer
    argTypes:
    - SConfigItem*
    - bool
    constantsTouched: []
    func_position:
      end: 616
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 616
    functionName: checkItemDyn
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t checkItemDyn(SConfigItem *pItem, bool isServer) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 8
    argNames:
    - pCfg
    - name
    - defaultVal
    - minval
    - maxval
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - int32_t
    - int64_t
    - int64_t
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 761
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 761
    functionName: cfgAddInt32Ex
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddInt32Ex(SConfig *pCfg, const char *name, int32_t defaultVal,
      int64_t minval, int64_t maxval, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1290,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1298,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1338,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1319,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1349,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1292,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1299,1
    - Dst: taosEnvToCfg
      Src: /src/tdengine/source/util/src/tconfig.c:1315,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1323,1
    - Dst: cfgSetTfsItem
      Src: /src/tdengine/source/util/src/tconfig.c:1342,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tconfig.c:1347,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tconfig.c:1303,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tconfig.c:1316,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1333,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1341,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1330,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1327,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1350,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/util/src/tconfig.c:1291,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/util/src/tconfig.c:1297,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1293,1
    - Dst: taosEOFFile
      Src: /src/tdengine/source/util/src/tconfig.c:1306,1
    - Dst: taosGetsFile
      Src: /src/tdengine/source/util/src/tconfig.c:1310,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 87
    argCount: 2
    argNames:
    - pConfig
    - envFile
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 1351
      start: 1283
    functionDepth: 0
    functionLinenumber: 1283
    functionLinenumberEnd: 1351
    functionName: cfgLoadFromEnvFile
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - taosGetsFile
    - cfgSetTfsItem
    - uTrace
    - cfgSetItem
    - printf
    - strlen
    - taosEOFFile
    - TAOS_RETURN
    - taosEnvToCfg
    - taosCheckExistFile
    - paGetToken
    - strcasecmp
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromEnvFile(SConfig *pConfig, const char *envFile) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:92,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:95,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - pCfg
    - pArgs
    argTypes:
    - SConfig*
    - SArray*
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: cfgLoadFromArray
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgSetItem
    - taosArrayGetSize
    - taosArrayGet
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromArray(SConfig *pCfg, SArray *pArgs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:202,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 202
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 202
    functionName: cfgGetSize
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgGetSize(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:250,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:253,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:252,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:253,1
    - Dst: taosStrHumanToInt32
      Src: /src/tdengine/source/util/src/tconfig.c:250,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:254,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: cfgSetInt32
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - taosStrHumanToInt32
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetInt32(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:278,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:280,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:280,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:281,1
    - Dst: parseCfgReal
      Src: /src/tdengine/source/util/src/tconfig.c:278,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:282,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: cfgSetFloat
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - parseCfgReal
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetFloat(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:330,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:332,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:334,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:330,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:331,1
    - Dst: osSetTimezone
      Src: /src/tdengine/source/util/src/tconfig.c:334,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:336,1
    - Dst: doSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:336,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: cfgSetTimezone
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - osSetTimezone
    - doSetConf
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetTimezone(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:823,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:824,1
    - Dst: cfgCheckAndSetDir
      Src: /src/tdengine/source/util/src/tconfig.c:823,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - char*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 825
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 825
    functionName: cfgAddDir
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgCheckAndSetDir
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddDir(SConfig *pCfg, const char *name, const char *defaultVal,
      int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:976,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:982,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:983,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:987,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:979,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tconfig.c:987,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:995,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pItem
    - buf
    - bufSize
    - pLen
    argTypes:
    - SConfigItem*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 996
      start: 972
    functionDepth: 0
    functionLinenumber: 972
    functionLinenumberEnd: 996
    functionName: cfgDumpItemCategory
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - uError
    - TAOS_RETURN
    - tsnprintf
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgDumpItemCategory(SConfigItem *pItem, char *buf, int32_t
      bufSize, int32_t *pLen) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1367,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1367,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1387,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1414,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1439,1
    - Dst: cfgUpdateDebugFlagItem
      Src: /src/tdengine/source/util/src/tconfig.c:1441,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1449,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1453,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tconfig.c:1359,1
    - Dst: taosEOFFile
      Src: /src/tdengine/source/util/src/tconfig.c:1372,1
    - Dst: taosGetsFile
      Src: /src/tdengine/source/util/src/tconfig.c:1376,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1383,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1391,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1408,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1425,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1450,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1364,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1364,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1368,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1400,1
    - Dst: cfgSetTfsItem
      Src: /src/tdengine/source/util/src/tconfig.c:1433,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1437,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1440,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tconfig.c:1446,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1452,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1452,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1365,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1403,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1396,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1410,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1410,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1417,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1420,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1427,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1427,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1432,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 128
    argCount: 2
    argNames:
    - pConfig
    - filepath
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 1455
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1455
    functionName: cfgLoadFromCfgFile
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosStrcasecmp
    - taosGetsFile
    - cfgSetTfsItem
    - taosCloseFile
    - cfgSetItem
    - printf
    - tstrerror
    - taosEOFFile
    - tstrncpy
    - TAOS_RETURN
    - paGetToken
    - strcasecmp
    - strlen
    - cfgUpdateDebugFlagItem
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromCfgFile(SConfig *pConfig, const char *filepath) '
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:105,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tconfig.c:109,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:113,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:111,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:107,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:114,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:132,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:133,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:135,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:136,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:144,1
    - Dst: cfgSetItemVal
      Src: /src/tdengine/source/util/src/tconfig.c:149,1
    - Dst: cfgSetItemVal
      Src: /src/tdengine/source/util/src/tconfig.c:141,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:159,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:151,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:143,1
    - Dst: truncateTimezoneString
      Src: /src/tdengine/source/util/src/tconfig.c:148,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:152,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 2
    argNames:
    - pCfg
    - pArgs
    argTypes:
    - SConfig*
    - SArray*
    constantsTouched: []
    func_position:
      end: 163
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 163
    functionName: cfgUpdateFromArray
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosArrayGet
    - cfgSetItemVal
    - taosArrayGetSize
    - truncateTimezoneString
    - TAOS_RETURN
    - taosStrdup
    - cfgGetItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgUpdateFromArray(SConfig *pCfg, SArray *pArgs) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 203
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 203
    functionName: cfgGetLocalSize
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgGetLocalSize(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:264,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:266,1
    - Dst: taosStrHumanToInt64
      Src: /src/tdengine/source/util/src/tconfig.c:264,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:267,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:267,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:268,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: cfgSetInt64
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosStrHumanToInt64
    - cfgStypeStr
    - TAOS_CHECK_RETURN
    - uError
    - TAOS_RETURN
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetInt64(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:291,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:293,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:293,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:294,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:294,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:295,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:298,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: cfgSetString
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - tstrerror
    - uError
    - TAOS_RETURN
    - taosStrdup
    - taosMemoryFreeClear
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetString(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:343,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:348,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:347,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:344,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:348,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:349,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:350,1
    - Dst: taosValidateEncodec
      Src: /src/tdengine/source/util/src/tconfig.c:353,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:354,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:355,1
    - Dst: taosConvInit
      Src: /src/tdengine/source/util/src/tconfig.c:358,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:359,1
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:362,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:364,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:361,1
    - Dst: doSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:362,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:361,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 365
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 365
    functionName: cfgSetCharset
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - strlen
    - uError
    - TAOS_RETURN
    - taosValidateEncodec
    - memcpy
    - TAOS_CHECK_RETURN
    - doSetConf
    - taosConvInit
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetCharset(SConfigItem *pItem, const char *value,
      ECfgSrcType stype) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:830,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:831,1
    - Dst: cfgCheckAndSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - char*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 832
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 832
    functionName: cfgAddLocale
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgCheckAndSetConf
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddLocale(SConfig *pCfg, const char *name, const char *defaultVal,
      int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:1001,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:1003,1
    - Dst: strncmp
      Src: /src/tdengine/source/util/src/tconfig.c:1006,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1007,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/src/tconfig.c:1005,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:1007,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1012,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1020,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1022,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1028,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1045,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1055,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1043,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1030,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1037,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1057,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1035,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 47
    argCount: 3
    argNames:
    - array
    - tsc
    - dump
    argTypes:
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1062
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1062
    functionName: cfgDumpCfgArrayS3
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - strncmp
    - cfgStypeStr
    - strcmp
    - tstrncpy
    - printf
    - taosArrayGetSize
    - uInfo
    linkageType: ''
    returnType: void
    signature: 'void cfgDumpCfgArrayS3(SArray *array, bool tsc, bool dump) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/tdengine/source/util/src/tconfig.c:1469,1
    - Dst: strncmp
      Src: /src/tdengine/source/util/src/tconfig.c:1476,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/util/src/tconfig.c:1478,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1479,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tconfig.c:1492,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/util/src/tconfig.c:1496,1
    - Dst: taosReadFile
      Src: /src/tdengine/source/util/src/tconfig.c:1501,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconfig.c:1512,1
    - Dst: tjsonGetArraySize
      Src: /src/tdengine/source/util/src/tconfig.c:1516,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:1522,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1565,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1581,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:1592,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/util/src/tconfig.c:1531,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1551,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1577,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1590,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tconfig.c:1465,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1472,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/util/src/tconfig.c:1493,1
    - Dst: tjsonGetError
      Src: /src/tdengine/source/util/src/tconfig.c:1508,1
    - Dst: taosLSeekFile
      Src: /src/tdengine/source/util/src/tconfig.c:1486,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1529,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1530,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:1539,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:1541,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/util/src/tconfig.c:1571,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1554,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1578,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1466,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1480,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/util/src/tconfig.c:1484,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tconfig.c:1483,1
    - Dst: tjsonGetArrayItem
      Src: /src/tdengine/source/util/src/tconfig.c:1518,1
    - Dst: tjsonGetObjectValueString
      Src: /src/tdengine/source/util/src/tconfig.c:1524,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:1533,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tconfig.c:1537,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1543,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1562,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tconfig.c:1586,1
    - Dst: tjsonDelete
      Src: /src/tdengine/source/util/src/tconfig.c:1587,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1592,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1557,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1464,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1471,1
    - Dst: tjsonParse
      Src: /src/tdengine/source/util/src/tconfig.c:1506,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1510,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:1513,1
    - Dst: tjsonGetObjectName
      Src: /src/tdengine/source/util/src/tconfig.c:1521,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:1525,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1547,1
    - Dst: cfgSetTfsItem
      Src: /src/tdengine/source/util/src/tconfig.c:1566,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:1585,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tconfig.c:1589,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1593,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:1584,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 139
    argCount: 2
    argNames:
    - pConfig
    - url
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 1595
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1595
    functionName: cfgLoadFromApollUrl
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - cfgSetTfsItem
    - uTrace
    - taosMemoryRealloc
    - tjsonGetObjectValueString
    - TSDB_CHECK_NULL
    - taosOpenFile
    - tjsonGetArraySize
    - taosMemoryMalloc
    - taosReadFile
    - tjsonDelete
    - tjsonGetObjectName
    - paGetToken
    - strcasecmp
    - tjsonGetError
    - memcpy
    - taosLSeekFile
    - taosCloseFile
    - strncmp
    - cfgSetItem
    - tjsonParse
    - printf
    - memset
    - taosCheckExistFile
    - taosMemoryFreeClear
    - strchr
    - TAOS_CHECK_EXIT
    - tstrerror
    - strlen
    - TAOS_RETURN
    - tjsonGetArrayItem
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromApollUrl(SConfig *pConfig, const char *url) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1712
      start: 1712
    functionDepth: 0
    functionLinenumber: 1712
    functionLinenumberEnd: 1712
    functionName: taosGetLocalCfg
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *taosGetLocalCfg(SConfig *pCfg) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1713
      start: 1713
    functionDepth: 0
    functionLinenumber: 1713
    functionLinenumberEnd: 1713
    functionName: taosGetGlobalCfg
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: SArray*
    signature: 'SArray *taosGetGlobalCfg(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:1709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SConfigIter*
    constantsTouched: []
    func_position:
      end: 1710
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1710
    functionName: cfgDestroyIter
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void cfgDestroyIter(SConfigIter *pIter) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgCheckAndSetDir
      Src: /src/tdengine/source/util/src/tconfig.c:305,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:308,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:308,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:307,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:307,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:309,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: cfgSetDir
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - cfgCheckAndSetDir
    - tstrerror
    - uError
    - TAOS_RETURN
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgSetDir(SConfigItem *pItem, const char *value, ECfgSrcType
      stype) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:576,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:583,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:578,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:579,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:585,1
    - Dst: taosStrcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:586,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - pCfg
    - pName
    argTypes:
    - SConfig*
    - char*
    constantsTouched: []
    func_position:
      end: 592
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 592
    functionName: cfgGetItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayGet
    - taosStrcasecmp
    linkageType: ''
    returnType: SConfigItem*
    signature: 'SConfigItem *cfgGetItem(SConfig *pCfg, const char *pName) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:766,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:776,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - pCfg
    - name
    - defaultVal
    - minval
    - maxval
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - int32_t
    - int64_t
    - int64_t
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 777
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 777
    functionName: cfgAddInt32
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddInt32(SConfig *pCfg, const char *name, int32_t defaultVal,
      int64_t minval, int64_t maxval, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 873
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 873
    functionName: cfgStypeStr
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cfgStypeStr(ECfgSrcType type) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:908,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:914,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:911,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:918,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:934,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:943,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 18
    argCount: 4
    argNames:
    - pItem
    - buf
    - bufSize
    - pLen
    argTypes:
    - SConfigItem*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 944
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 944
    functionName: cfgDumpItemValue
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tsnprintf
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgDumpItemValue(SConfigItem *pItem, char *buf, int32_t bufSize,
      int32_t *pLen) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1167,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1172,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1170,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1168,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1169,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1173,1
    - Dst: cfgDumpCfgImpl
      Src: /src/tdengine/source/util/src/tconfig.c:1175,1
    - Dst: cfgDumpCfgImpl
      Src: /src/tdengine/source/util/src/tconfig.c:1176,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1178,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1180,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCfg
    - tsc
    - dump
    argTypes:
    - SConfig*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1182
      start: 1165
    functionDepth: 0
    functionLinenumber: 1165
    functionLinenumberEnd: 1182
    functionName: cfgDumpCfg
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgDumpCfgImpl
    - uInfo
    - printf
    linkageType: ''
    returnType: void
    signature: 'void cfgDumpCfg(SConfig *pCfg, bool tsc, bool dump) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfgCheckAndSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:317,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:319,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:319,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:320,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:320,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:321,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pItem
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: doSetConf
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgStypeStr
    - tstrerror
    - uError
    - TAOS_RETURN
    - cfgCheckAndSetConf
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t doSetConf(SConfigItem *pItem, const char *value, ECfgSrcType
      stype) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tconfig.c:596,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pCfg
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: cfgLock
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void cfgLock(SConfig *pCfg) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:782,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:792,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - pCfg
    - name
    - defaultVal
    - minval
    - maxval
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - int64_t
    - int64_t
    - int64_t
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 793
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 793
    functionName: cfgAddInt64
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddInt64(SConfig *pCfg, const char *name, int64_t defaultVal,
      int64_t minval, int64_t maxval, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - ECfgDataType
    constantsTouched: []
    func_position:
      end: 902
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 902
    functionName: cfgDtypeStr
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'const char *cfgDtypeStr(ECfgDataType type) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:950,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tconfig.c:961,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:961,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:956,1
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tconfig.c:953,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:969,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - pItem
    - buf
    - bufSize
    - pLen
    argTypes:
    - SConfigItem*
    - char*
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 970
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 970
    functionName: cfgDumpItemScope
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tsnprintf
    - TAOS_SYSTEM_ERROR
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgDumpItemScope(SConfigItem *pItem, char *buf, int32_t bufSize,
      int32_t *pLen) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1191,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1202,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1196,1
    - Dst: taosEnvToCfg
      Src: /src/tdengine/source/util/src/tconfig.c:1198,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tconfig.c:1199,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1206,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1210,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1213,1
    - Dst: paGetToken
      Src: /src/tdengine/source/util/src/tconfig.c:1216,1
    - Dst: cfgSetItem
      Src: /src/tdengine/source/util/src/tconfig.c:1221,1
    - Dst: cfgSetTfsItem
      Src: /src/tdengine/source/util/src/tconfig.c:1225,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1230,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1231,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1224,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 1
    argNames:
    - pConfig
    argTypes:
    - SConfig*
    constantsTouched: []
    func_position:
      end: 1232
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1232
    functionName: cfgLoadFromEnvVar
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgSetTfsItem
    - uTrace
    - cfgSetItem
    - tstrncpy
    - TAOS_RETURN
    - taosEnvToCfg
    - paGetToken
    - strcasecmp
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgLoadFromEnvVar(SConfig *pConfig) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:444,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tconfig.c:451,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/util/src/tconfig.c:454,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:455,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:447,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:462,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tconfig.c:463,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pCfg
    - name
    - resetArray
    argTypes:
    - SConfig*
    - char*
    - bool
    constantsTouched: []
    func_position:
      end: 466
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 466
    functionName: cfgUpdateDebugFlagItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - tstrncpy
    - TAOS_RETURN
    - taosArrayPush
    - cfgGetItem
    - taosArrayInit
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgUpdateDebugFlagItem(SConfig *pCfg, const char *name,
      bool resetArray) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tconfig.c:503,1
    - Dst: cfgSetItemVal
      Src: /src/tdengine/source/util/src/tconfig.c:512,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:506,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:516,1
    - Dst: TAOS_CHECK_GOTO
      Src: /src/tdengine/source/util/src/tconfig.c:512,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:519,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - pCfg
    - pItem
    - name
    - value
    - stype
    - lock
    argTypes:
    - SConfig*
    - SConfigItem**
    - char*
    - char*
    - ECfgSrcType
    - bool
    constantsTouched: []
    func_position:
      end: 520
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 520
    functionName: cfgGetAndSetItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_GOTO
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - cfgSetItemVal
    - TAOS_RETURN
    - cfgGetItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgGetAndSetItem(SConfig *pCfg, SConfigItem **pItem, const
      char *name, const char *value, ECfgSrcType stype, bool lock) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cfgLock
      Src: /src/tdengine/source/util/src/tconfig.c:622,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:636,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:645,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/util/src/tconfig.c:664,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:669,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:655,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:682,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/util/src/tconfig.c:708,1
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:637,1
    - Dst: taosStr2int32
      Src: /src/tdengine/source/util/src/tconfig.c:653,1
    - Dst: taosStrHumanToInt32
      Src: /src/tdengine/source/util/src/tconfig.c:662,1
    - Dst: cfgUnLock
      Src: /src/tdengine/source/util/src/tconfig.c:678,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:683,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:691,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:624,1
    - Dst: TAOS_CHECK_EXIT
      Src: /src/tdengine/source/util/src/tconfig.c:627,1
    - Dst: taosSetSlowLogScope
      Src: /src/tdengine/source/util/src/tconfig.c:643,1
    - Dst: parseCfgReal
      Src: /src/tdengine/source/util/src/tconfig.c:691,1
    - Dst: cfgDtypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:694,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:706,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:709,1
    - Dst: TSDB_CHECK_NULL
      Src: /src/tdengine/source/util/src/tconfig.c:625,1
    - Dst: checkItemDyn
      Src: /src/tdengine/source/util/src/tconfig.c:627,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:630,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:648,1
    - Dst: taosStrHumanToInt64
      Src: /src/tdengine/source/util/src/tconfig.c:676,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:655,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:668,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:679,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:694,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tconfig.c:706,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 82
    argCount: 5
    argNames:
    - pCfg
    - name
    - pVal
    - isServer
    - alterType
    argTypes:
    - SConfig*
    - char*
    - char*
    - bool
    - CfgAlterType
    constantsTouched: []
    func_position:
      end: 710
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 710
    functionName: cfgCheckRangeForDynUpdate
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosStrHumanToInt64
    - checkItemDyn
    - TAOS_CHECK_EXIT
    - taosStr2int32
    - tstrerror
    - taosStrHumanToInt32
    - TSDB_CHECK_NULL
    - uError
    - strcasecmp
    - taosStrdup
    - taosSetSlowLogScope
    - TAOS_RETURN
    - cfgUnLock
    - cfgGetItem
    - cfgLock
    - parseCfgReal
    - cfgDtypeStr
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgCheckRangeForDynUpdate(SConfig *pCfg, const char *name,
      const char *pVal, bool isServer, CfgAlterType alterType) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:798,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:808,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 8
    argNames:
    - pCfg
    - name
    - defaultVal
    - minval
    - maxval
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - float
    - float
    - float
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 809
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 809
    functionName: cfgAddFloat
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddFloat(SConfig *pCfg, const char *name, float defaultVal,
      float minval, float maxval, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:837,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:838,1
    - Dst: cfgCheckAndSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - char*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 839
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 839
    functionName: cfgAddCharset
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgCheckAndSetConf
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddCharset(SConfig *pCfg, const char *name, const char
      *defaultVal, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1066,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1068,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1067,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1069,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1071,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1072,1
    - Dst: cfgDumpCfgArrayS3
      Src: /src/tdengine/source/util/src/tconfig.c:1074,1
    - Dst: cfgDumpCfgArrayS3
      Src: /src/tdengine/source/util/src/tconfig.c:1075,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1077,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1079,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pCfg
    - tsc
    - dump
    argTypes:
    - SConfig*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1081
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1081
    functionName: cfgDumpCfgS3
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgDumpCfgArrayS3
    - uInfo
    - printf
    linkageType: ''
    returnType: void
    signature: 'void cfgDumpCfgS3(SConfig *pCfg, bool tsc, bool dump) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/tdengine/source/util/src/tconfig.c:1601,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:1609,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tconfig.c:1609,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1609,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1633,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1647,1
    - Dst: strchr
      Src: /src/tdengine/source/util/src/tconfig.c:1661,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1666,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1670,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1679,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1610,1
    - Dst: strncmp
      Src: /src/tdengine/source/util/src/tconfig.c:1623,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tconfig.c:1631,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:1631,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/util/src/tconfig.c:1640,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1648,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1668,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1678,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1599,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1621,1
    - Dst: strchr
      Src: /src/tdengine/source/util/src/tconfig.c:1624,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1629,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1632,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1639,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tconfig.c:1641,1
    - Dst: taosOpenFile
      Src: /src/tdengine/source/util/src/tconfig.c:1652,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1671,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tconfig.c:1675,1
    - Dst: taosCloseFile
      Src: /src/tdengine/source/util/src/tconfig.c:1669,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1607,1
    - Dst: strchr
      Src: /src/tdengine/source/util/src/tconfig.c:1602,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1611,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:1631,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1642,1
    - Dst: taosCheckExistFile
      Src: /src/tdengine/source/util/src/tconfig.c:1646,1
    - Dst: taosEOFFile
      Src: /src/tdengine/source/util/src/tconfig.c:1654,1
    - Dst: taosGetsFile
      Src: /src/tdengine/source/util/src/tconfig.c:1655,1
    - Dst: strncmp
      Src: /src/tdengine/source/util/src/tconfig.c:1660,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tconfig.c:1668,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tconfig.c:1668,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 97
    argCount: 3
    argNames:
    - envCmd
    - envFile
    - apolloUrl
    argTypes:
    - char**
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 1680
      start: 1597
    functionDepth: 0
    functionLinenumber: 1597
    functionLinenumberEnd: 1680
    functionName: cfgGetApollUrl
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosOpenFile
    - taosCloseFile
    - taosGetsFile
    - strncmp
    - strchr
    - tstrncpy
    - strlen
    - uError
    - TAOS_RETURN
    - taosEOFFile
    - taosCheckExistFile
    - memcpy
    - TMIN
    - uInfo
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgGetApollUrl(const char **envCmd, const char *envFile, char
      *apolloUrl) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tconfig.c:1688,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:1694,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 2
    argNames:
    - pConf
    - ppIter
    argTypes:
    - SConfig*
    - SConfigIter**
    constantsTouched: []
    func_position:
      end: 1695
      start: 1687
    functionDepth: 0
    functionLinenumber: 1687
    functionLinenumberEnd: 1695
    functionName: cfgCreateIter
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - TAOS_RETURN
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgCreateIter(SConfig *pConf, SConfigIter **ppIter) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tconfig.c:473,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:478,1
    - Dst: cfgSetItemVal
      Src: /src/tdengine/source/util/src/tconfig.c:482,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:479,1
    - Dst: cfgGetItem
      Src: /src/tdengine/source/util/src/tconfig.c:476,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:485,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:487,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tconfig.c:491,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:494,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pCfg
    - name
    - value
    - stype
    - lock
    argTypes:
    - SConfig*
    - char*
    - char*
    - ECfgSrcType
    - bool
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: cfgSetItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - cfgSetItemVal
    - TAOS_RETURN
    - cfgGetItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgSetItem(SConfig *pCfg, const char *name, const char *value,
      ECfgSrcType stype, bool lock) '
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cfgSetBool
      Src: /src/tdengine/source/util/src/tconfig.c:529,1
    - Dst: cfgSetFloat
      Src: /src/tdengine/source/util/src/tconfig.c:542,1
    - Dst: cfgSetInt64
      Src: /src/tdengine/source/util/src/tconfig.c:537,1
    - Dst: cfgSetInt32
      Src: /src/tdengine/source/util/src/tconfig.c:533,1
    - Dst: cfgSetString
      Src: /src/tdengine/source/util/src/tconfig.c:546,1
    - Dst: cfgSetDir
      Src: /src/tdengine/source/util/src/tconfig.c:550,1
    - Dst: cfgSetTimezone
      Src: /src/tdengine/source/util/src/tconfig.c:554,1
    - Dst: cfgSetCharset
      Src: /src/tdengine/source/util/src/tconfig.c:558,1
    - Dst: cfgSetLocale
      Src: /src/tdengine/source/util/src/tconfig.c:562,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:571,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 4
    argNames:
    - pItem
    - name
    - value
    - stype
    argTypes:
    - SConfigItem*
    - char*
    - char*
    - ECfgSrcType
    constantsTouched: []
    func_position:
      end: 572
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 572
    functionName: cfgSetItemVal
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgSetString
    - cfgSetInt32
    - cfgSetBool
    - cfgSetCharset
    - TAOS_RETURN
    - cfgSetTimezone
    - cfgSetLocale
    - cfgSetFloat
    - cfgSetDir
    - cfgSetInt64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgSetItemVal(SConfigItem *pItem, const char *name, const
      char *value, ECfgSrcType stype) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:717,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:720,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:722,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/src/tconfig.c:723,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:724,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:725,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconfig.c:729,1
    - Dst: strntolower
      Src: /src/tdengine/source/util/src/tconfig.c:731,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tconfig.c:731,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tconfig.c:733,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:739,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:742,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:738,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tconfig.c:735,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - pCfg
    - pItem
    - name
    argTypes:
    - SConfig*
    - SConfigItem*
    - char*
    constantsTouched: []
    func_position:
      end: 743
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 743
    functionName: cfgAddItem
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - strntolower
    - taosMemoryFree
    - taosArrayGet
    - strcmp
    - strlen
    - TAOS_RETURN
    - taosArrayPush
    - taosStrdup
    - taosArrayGetSize
    - TMIN
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cfgAddItem(SConfig *pCfg, SConfigItem *pItem, const
      char *name) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStrdup
      Src: /src/tdengine/source/util/src/tconfig.c:814,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:817,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - char*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 818
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 818
    functionName: cfgAddString
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosStrdup
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddString(SConfig *pCfg, const char *name, const char *defaultVal,
      int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tconfig.c:844,1
    - Dst: cfgAddItem
      Src: /src/tdengine/source/util/src/tconfig.c:845,1
    - Dst: cfgCheckAndSetConf
      Src: /src/tdengine/source/util/src/tconfig.c:844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 6
    argNames:
    - pCfg
    - name
    - defaultVal
    - scope
    - dynScope
    - category
    argTypes:
    - SConfig*
    - char*
    - char*
    - int8_t
    - int8_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 846
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 846
    functionName: cfgAddTimezone
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - TAOS_CHECK_RETURN
    - cfgCheckAndSetConf
    - cfgAddItem
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t cfgAddTimezone(SConfig *pCfg, const char *name, const char
      *defaultVal, int8_t scope, int8_t dynScope, int8_t category) '
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:1143,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:1140,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1128,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1157,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tconfig.c:1087,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1107,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1115,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1145,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1148,1
    - Dst: cfgStypeStr
      Src: /src/tdengine/source/util/src/tconfig.c:1092,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1092,1
    - Dst: strcmp
      Src: /src/tdengine/source/util/src/tconfig.c:1091,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:1089,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconfig.c:1097,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1120,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1130,1
    - Dst: strcasecmp
      Src: /src/tdengine/source/util/src/tconfig.c:1139,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconfig.c:1122,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1155,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1105,1
    - Dst: printf
      Src: /src/tdengine/source/util/src/tconfig.c:1113,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 57
    argCount: 3
    argNames:
    - array
    - tsc
    - dump
    argTypes:
    - SArray*
    - bool
    - bool
    constantsTouched: []
    func_position:
      end: 1163
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1163
    functionName: cfgDumpCfgImpl
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - cfgStypeStr
    - strcmp
    - tstrncpy
    - printf
    - strcasecmp
    - taosArrayGetSize
    - uInfo
    linkageType: ''
    returnType: void
    signature: 'void cfgDumpCfgImpl(SArray *array, bool tsc, bool dump) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfgGetGlobalSize
      Src: /src/tdengine/source/util/src/tconfig.c:1698,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:1699,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tconfig.c:1701,1
    - Dst: cfgGetLocalSize
      Src: /src/tdengine/source/util/src/tconfig.c:1700,1
    - Dst: cfgGetGlobalSize
      Src: /src/tdengine/source/util/src/tconfig.c:1700,1
    - Dst: cfgGetGlobalSize
      Src: /src/tdengine/source/util/src/tconfig.c:1701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pIter
    argTypes:
    - SConfigIter*
    constantsTouched: []
    func_position:
      end: 1704
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1704
    functionName: cfgNextIter
    functionSourceFile: /src/tdengine/source/util/src/tconfig.c
    functionUses: []
    functionsReached:
    - cfgGetLocalSize
    - taosArrayGet
    - cfgGetGlobalSize
    linkageType: ''
    returnType: SConfigItem*
    signature: 'SConfigItem *cfgNextIter(SConfigIter *pIter) '
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/util/src/tunit.c:29,1
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/util/src/tunit.c:32,1
    - Dst: taosStr2Double
      Src: /src/tdengine/source/util/src/tunit.c:33,1
    - Dst: isnan
      Src: /src/tdengine/source/util/src/tunit.c:36,1
    - Dst: taosStr2Int64
      Src: /src/tdengine/source/util/src/tunit.c:30,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tunit.c:39,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tunit.c:79,1
    - Dst: rint
      Src: /src/tdengine/source/util/src/tunit.c:84,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 69
    argCount: 2
    argNames:
    - str
    - res
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 94
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 94
    functionName: parseCfgIntWithUnit
    functionSourceFile: /src/tdengine/source/util/src/tunit.c
    functionUses: []
    functionsReached:
    - isspace
    - taosStr2Double
    - taosStr2Int64
    - isnan
    - SET_ERRNO
    - rint
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t parseCfgIntWithUnit(const char* str, int64_t* res) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: parseCfgIntWithUnit
      Src: /src/tdengine/source/util/src/tunit.c:105,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: taosStrHumanToInt32
    functionSourceFile: /src/tdengine/source/util/src/tunit.c
    functionUses: []
    functionsReached:
    - parseCfgIntWithUnit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosStrHumanToInt32(const char* str, int32_t* out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parseCfgIntWithUnit
      Src: /src/tdengine/source/util/src/tunit.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - int64_t*
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: taosStrHumanToInt64
    functionSourceFile: /src/tdengine/source/util/src/tunit.c
    functionUses: []
    functionsReached:
    - parseCfgIntWithUnit
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosStrHumanToInt64(const char* str, int64_t* out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iconv_close
      Src: /src/tdengine/source/util/src/tconv.c:34,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconv.c:39,1
    - Dst: iconv_close
      Src: /src/tdengine/source/util/src/tconv.c:37,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tconv.c:40,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: taosConvDestroyInner
    functionSourceFile: /src/tdengine/source/util/src/tconv.c
    functionUses: []
    functionsReached:
    - taosMemoryFreeClear
    - iconv_close
    linkageType: ''
    returnType: void
    signature: 'static void taosConvDestroyInner(void *arg) '
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atomic_val_compare_exchange_32
      Src: /src/tdengine/source/util/src/tconv.c:57,1
    - Dst: taosHashSetFreeFp
      Src: /src/tdengine/source/util/src/tconv.c:70,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tconv.c:73,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconv.c:73,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tconv.c:96,1
    - Dst: iconv_open
      Src: /src/tdengine/source/util/src/tconv.c:101,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/util/src/tconv.c:67,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tconv.c:59,1
    - Dst: sched_yield
      Src: /src/tdengine/source/util/src/tconv.c:60,1
    - Dst: tstrncpy
      Src: /src/tdengine/source/util/src/tconv.c:81,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tconv.c:88,1
    - Dst: iconv_open
      Src: /src/tdengine/source/util/src/tconv.c:94,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tconv.c:103,1
    - Dst: taosHashPut
      Src: /src/tdengine/source/util/src/tconv.c:108,1
    - Dst: taosHashInit
      Src: /src/tdengine/source/util/src/tconv.c:65,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconv.c:112,1
    - Dst: taosHashGet
      Src: /src/tdengine/source/util/src/tconv.c:112,1
    - Dst: taosConvDestroyInner
      Src: /src/tdengine/source/util/src/tconv.c:116,1
    - Dst: atomic_store_32
      Src: /src/tdengine/source/util/src/tconv.c:119,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tconv.c:83,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tconv.c:108,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 63
    argCount: 1
    argNames:
    - charset
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 124
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 124
    functionName: taosConvInit
    functionSourceFile: /src/tdengine/source/util/src/tconv.c
    functionUses: []
    functionsReached:
    - atomic_store_32
    - iconv_open
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - atomic_val_compare_exchange_32
    - taosConvDestroyInner
    - taosHashGet
    - tstrncpy
    - strlen
    - taosHashPut
    - sched_yield
    - uInfo
    - taosHashInit
    - taosHashSetFreeFp
    linkageType: ''
    returnType: void*
    signature: 'void * taosConvInit(const char* charset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosHashCleanup
      Src: /src/tdengine/source/util/src/tconv.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: taosConvDestroy
    functionSourceFile: /src/tdengine/source/util/src/tconv.c
    functionUses: []
    functionsReached:
    - taosHashCleanup
    linkageType: ''
    returnType: void
    signature: 'void taosConvDestroy() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/util/src/tstrbuild.c:32,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - sb
    - len
    argTypes:
    - SStringBuilder*
    - size_t*
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: taosStringBuilderGetResult
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - taosStringBuilderEnsureCapacity
    linkageType: ''
    returnType: char*
    signature: 'char * taosStringBuilderGetResult(SStringBuilder* sb, size_t* len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/util/src/tstrbuild.c:48,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tstrbuild.c:49,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - sb
    - data
    - len
    argTypes:
    - SStringBuilder*
    - void*
    - size_t
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: taosStringBuilderAppend
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosStringBuilderEnsureCapacity
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppend(SStringBuilder* sb, const void* data,
      size_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/util/src/tstrbuild.c:59,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tstrbuild.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - sb
    - str
    - len
    argTypes:
    - SStringBuilder*
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: taosStringBuilderAppendStringLen
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosStringBuilderEnsureCapacity
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendStringLen(SStringBuilder* sb, const char*
      str, size_t len) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/util/src/tstrbuild.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - sb
    argTypes:
    - SStringBuilder*
    constantsTouched: []
    func_position:
      end: 69
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 69
    functionName: taosStringBuilderAppendNull
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - taosStringBuilderAppendStringLen
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendNull(SStringBuilder* sb) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/util/src/tstrbuild.c:22,1
    - Dst: longjmp
      Src: /src/tdengine/source/util/src/tstrbuild.c:24,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - sb
    - size
    argTypes:
    - SStringBuilder*
    - size_t
    constantsTouched: []
    func_position:
      end: 29
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 29
    functionName: taosStringBuilderEnsureCapacity
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    - longjmp
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderEnsureCapacity(SStringBuilder* sb, size_t size) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tstrbuild.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - sb
    argTypes:
    - SStringBuilder*
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: taosStringBuilderDestroy
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderDestroy(SStringBuilder* sb) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderEnsureCapacity
      Src: /src/tdengine/source/util/src/tstrbuild.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - sb
    - c
    argTypes:
    - SStringBuilder*
    - char
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: taosStringBuilderAppendChar
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - taosStringBuilderEnsureCapacity
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendChar(SStringBuilder* sb, char c) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/util/src/tstrbuild.c:66,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tstrbuild.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - sb
    - str
    argTypes:
    - SStringBuilder*
    - char*
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: taosStringBuilderAppendString
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - strlen
    - taosStringBuilderAppendStringLen
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendString(SStringBuilder* sb, const char*
      str) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tstrbuild.c:73,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/util/src/tstrbuild.c:74,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tstrbuild.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sb
    - v
    argTypes:
    - SStringBuilder*
    - int64_t
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: taosStringBuilderAppendInteger
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - TMIN
    - tsnprintf
    - taosStringBuilderAppendStringLen
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendInteger(SStringBuilder* sb, int64_t v) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsnprintf
      Src: /src/tdengine/source/util/src/tstrbuild.c:79,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tstrbuild.c:80,1
    - Dst: taosStringBuilderAppendStringLen
      Src: /src/tdengine/source/util/src/tstrbuild.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - sb
    - v
    argTypes:
    - SStringBuilder*
    - double
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: taosStringBuilderAppendDouble
    functionSourceFile: /src/tdengine/source/util/src/tstrbuild.c
    functionUses: []
    functionsReached:
    - TMIN
    - tsnprintf
    - taosStringBuilderAppendStringLen
    linkageType: ''
    returnType: void
    signature: 'void taosStringBuilderAppendDouble(SStringBuilder* sb, double v) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - heap
    - parent
    - child
    argTypes:
    - Heap*
    - HeapNode*
    - HeapNode*
    constantsTouched: []
    func_position:
      end: 64
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 64
    functionName: heapNodeSwap
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void heapNodeSwap(Heap* heap, HeapNode* parent, HeapNode* child) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: heapRemove
      Src: /src/tdengine/source/util/src/theap.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - heap
    argTypes:
    - Heap*
    constantsTouched: []
    func_position:
      end: 188
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 188
    functionName: heapDequeue
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - heapRemove
    linkageType: ''
    returnType: void
    signature: 'void heapDequeue(Heap* heap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - PriorityQueueNode*
    - PriorityQueueNode*
    constantsTouched: []
    func_position:
      end: 232
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 232
    functionName: pqSwapPQNode
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'static void pqSwapPQNode(PriorityQueueNode* a, PriorityQueueNode*
      b) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:289,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/util/src/theap.c:290,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/theap.c:294,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/theap.c:294,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:294,1
    - Dst: taosArrayPop
      Src: /src/tdengine/source/util/src/theap.c:295,1
    - Dst: pqUpdate
      Src: /src/tdengine/source/util/src/theap.c:296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - PriorityQueue*
    - size_t
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: pqRemove
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArraySet
    - pqUpdate
    - pqContainerSize
    - taosArrayPop
    linkageType: ''
    returnType: void
    signature: 'static void pqRemove(PriorityQueue* pq, size_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/theap.c:302,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:305,1
    - Dst: pqReverseHeapify
      Src: /src/tdengine/source/util/src/theap.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pq
    - node
    argTypes:
    - PriorityQueue*
    - PriorityQueueNode*
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: taosPQPush
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - pqReverseHeapify
    - pqContainerSize
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'PriorityQueueNode * taosPQPush(PriorityQueue* pq, const PriorityQueueNode*
      node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: destroyPriorityQueue
      Src: /src/tdengine/source/util/src/theap.c:357,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: destroyBoundedQueue
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - destroyPriorityQueue
    linkageType: ''
    returnType: void
    signature: 'void destroyBoundedQueue(BoundedQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 384
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 384
    functionName: taosBQMaxSize
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosBQMaxSize(BoundedQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - PriorityQueue*
    constantsTouched: []
    func_position:
      end: 299
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 299
    functionName: taosPQTop
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqContainerGetEle
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'PriorityQueueNode * taosPQTop(PriorityQueue* pq) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosPQTop
      Src: /src/tdengine/source/util/src/theap.c:309,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:313,1
    - Dst: pqRemove
      Src: /src/tdengine/source/util/src/theap.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pq
    argTypes:
    - PriorityQueue*
    constantsTouched: []
    func_position:
      end: 316
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 316
    functionName: taosPQPop
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosPQTop
    - pqRemove
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void taosPQPop(PriorityQueue* pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:362,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:363,1
    - Dst: pqHeapify
      Src: /src/tdengine/source/util/src/theap.c:374,1
    - Dst: taosBQSize
      Src: /src/tdengine/source/util/src/theap.c:374,1
    - Dst: taosPQPush
      Src: /src/tdengine/source/util/src/theap.c:376,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - q
    - n
    argTypes:
    - BoundedQueue*
    - PriorityQueueNode*
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: taosBQPush
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosBQSize
    - pqContainerGetEle
    - pqHeapify
    - pqContainerSize
    - taosPQPush
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'PriorityQueueNode * taosBQPush(BoundedQueue* q, PriorityQueueNode*
      n) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosPQSize
      Src: /src/tdengine/source/util/src/theap.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 386
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 386
    functionName: taosBQSize
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosPQSize
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosBQSize(BoundedQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 1
    argNames:
    - heap
    argTypes:
    - Heap*
    constantsTouched: []
    func_position:
      end: 34
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 34
    functionName: heapMin
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: HeapNode*
    signature: 'HeapNode * heapMin(const Heap* heap) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/theap.c:21,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - fn
    argTypes:
    - HeapCompareFn
    constantsTouched: []
    func_position:
      end: 30
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 30
    functionName: heapCreate
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: Heap*
    signature: 'Heap * heapCreate(HeapCompareFn fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: heapNodeSwap
      Src: /src/tdengine/source/util/src/theap.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - heap
    - newnode
    argTypes:
    - Heap*
    - HeapNode*
    constantsTouched: []
    func_position:
      end: 105
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 105
    functionName: heapInsert
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - heapNodeSwap
    linkageType: ''
    returnType: void
    signature: 'void heapInsert(Heap* heap, HeapNode* newnode) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqParent
      Src: /src/tdengine/source/util/src/theap.c:270,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:269,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:269,1
    - Dst: pqParent
      Src: /src/tdengine/source/util/src/theap.c:269,1
    - Dst: pqSwapPQNode
      Src: /src/tdengine/source/util/src/theap.c:271,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:271,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:271,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:274,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - PriorityQueue*
    - size_t
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: pqReverseHeapify
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqParent
    - pqSwapPQNode
    - pqContainerGetEle
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'static PriorityQueueNode * pqReverseHeapify(PriorityQueue* pq, size_t
      i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosPQSetFn
      Src: /src/tdengine/source/util/src/theap.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - q
    - fn
    argTypes:
    - BoundedQueue*
    - pq_comp_fn
    constantsTouched: []
    func_position:
      end: 346
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 346
    functionName: taosBQSetFn
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosPQSetFn
    linkageType: ''
    returnType: void
    signature: 'void taosBQSetFn(BoundedQueue* q, pq_comp_fn fn) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - heap
    argTypes:
    - Heap*
    constantsTouched: []
    func_position:
      end: 18
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 18
    functionName: heapSize
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'size_t heapSize(Heap* heap) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:32,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - heap
    argTypes:
    - Heap*
    constantsTouched: []
    func_position:
      end: 32
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 32
    functionName: heapDestroy
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void heapDestroy(Heap* heap) '
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: heapNodeSwap
      Src: /src/tdengine/source/util/src/theap.c:178,1
    - Dst: heapNodeSwap
      Src: /src/tdengine/source/util/src/theap.c:185,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - heap
    - node
    argTypes:
    - Heap*
    - HeapNode*
    constantsTouched: []
    func_position:
      end: 186
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 186
    functionName: heapRemove
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - heapNodeSwap
    linkageType: ''
    returnType: void
    signature: 'void heapRemove(Heap* heap, HeapNode* node) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:279,1
    - Dst: pqHeapify
      Src: /src/tdengine/source/util/src/theap.c:281,1
    - Dst: pqParent
      Src: /src/tdengine/source/util/src/theap.c:279,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:279,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:281,1
    - Dst: pqReverseHeapify
      Src: /src/tdengine/source/util/src/theap.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pq
    - i
    argTypes:
    - PriorityQueue*
    - size_t
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: pqUpdate
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqParent
    - pqReverseHeapify
    - pqContainerGetEle
    - pqHeapify
    - pqContainerSize
    linkageType: ''
    returnType: void
    signature: 'static void pqUpdate(PriorityQueue* pq, size_t i) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayClearEx
      Src: /src/tdengine/source/util/src/theap.c:350,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/util/src/theap.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: taosBQClear
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosArrayClear
    - taosArrayClearEx
    linkageType: ''
    returnType: void
    signature: 'void taosBQClear(BoundedQueue* q) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/util/src/theap.c:218,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:221,1
    - Dst: taosArrayDestroyP
      Src: /src/tdengine/source/util/src/theap.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pq
    argTypes:
    - PriorityQueue*
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: destroyPriorityQueue
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosArrayDestroyP
    linkageType: ''
    returnType: void
    signature: 'void destroyPriorityQueue(PriorityQueue* pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 225
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 225
    functionName: pqLeft
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t pqLeft(size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 224
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 224
    functionName: pqParent
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t pqParent(size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - size_t
    constantsTouched: []
    func_position:
      end: 226
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 226
    functionName: pqRight
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: 'static size_t pqRight(size_t i) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pq
    argTypes:
    - PriorityQueue*
    constantsTouched: []
    func_position:
      end: 237
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 237
    functionName: taosPQSize
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqContainerSize
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosPQSize(PriorityQueue* pq) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/theap.c:324,1
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/util/src/theap.c:335,1
    - Dst: destroyPriorityQueue
      Src: /src/tdengine/source/util/src/theap.c:337,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:331,1
    - Dst: createPriorityQueue
      Src: /src/tdengine/source/util/src/theap.c:329,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - maxSize
    - fn
    - deleteFn
    - param
    argTypes:
    - uint32_t
    - pq_comp_fn
    - FDelete
    - void*
    constantsTouched: []
    func_position:
      end: 344
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 344
    functionName: createBoundedQueue
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - createPriorityQueue
    - taosMemoryFree
    - taosMemoryCalloc
    - taosArrayEnsureCap
    - destroyPriorityQueue
    linkageType: ''
    returnType: BoundedQueue*
    signature: 'BoundedQueue * createBoundedQueue(uint32_t maxSize, pq_comp_fn fn,
      FDelete deleteFn, void* param) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/theap.c:197,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/theap.c:202,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/theap.c:204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - fn
    - deleteFn
    - param
    argTypes:
    - pq_comp_fn
    - FDelete
    - void*
    constantsTouched: []
    func_position:
      end: 212
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 212
    functionName: createPriorityQueue
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosArrayInit
    linkageType: ''
    returnType: PriorityQueue*
    signature: 'PriorityQueue * createPriorityQueue(pq_comp_fn fn, FDelete deleteFn,
      void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pqLeft
      Src: /src/tdengine/source/util/src/theap.c:243,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:245,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:245,1
    - Dst: pqRight
      Src: /src/tdengine/source/util/src/theap.c:244,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:248,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:248,1
    - Dst: pqSwapPQNode
      Src: /src/tdengine/source/util/src/theap.c:252,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:252,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:252,1
    - Dst: pqContainerGetEle
      Src: /src/tdengine/source/util/src/theap.c:255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - pq
    - from
    - last
    argTypes:
    - PriorityQueue*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: pqHeapify
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqLeft
    - pqSwapPQNode
    - pqRight
    - pqContainerGetEle
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'static PriorityQueueNode * pqHeapify(PriorityQueue* pq, size_t from,
      size_t last) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosPQTop
      Src: /src/tdengine/source/util/src/theap.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 380
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 380
    functionName: taosBQTop
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosPQTop
    linkageType: ''
    returnType: PriorityQueueNode*
    signature: 'PriorityQueueNode * taosBQTop(BoundedQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pq
    - fn
    argTypes:
    - PriorityQueue*
    - pq_comp_fn
    constantsTouched: []
    func_position:
      end: 214
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 214
    functionName: taosPQSetFn
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosPQSetFn(PriorityQueue* pq, pq_comp_fn fn) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:259,1
    - Dst: pqHeapify
      Src: /src/tdengine/source/util/src/theap.c:264,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:262,1
    - Dst: pqHeapify
      Src: /src/tdengine/source/util/src/theap.c:262,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:261,1
    - Dst: pqContainerSize
      Src: /src/tdengine/source/util/src/theap.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - pq
    argTypes:
    - PriorityQueue*
    constantsTouched: []
    func_position:
      end: 266
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 266
    functionName: pqBuildHeap
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqHeapify
    - pqContainerSize
    linkageType: ''
    returnType: void
    signature: 'static void pqBuildHeap(PriorityQueue* pq) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pqBuildHeap
      Src: /src/tdengine/source/util/src/theap.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 382
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 382
    functionName: taosBQBuildHeap
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - pqBuildHeap
    linkageType: ''
    returnType: void
    signature: 'void taosBQBuildHeap(BoundedQueue* q) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosPQPop
      Src: /src/tdengine/source/util/src/theap.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - q
    argTypes:
    - BoundedQueue*
    constantsTouched: []
    func_position:
      end: 388
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 388
    functionName: taosBQPop
    functionSourceFile: /src/tdengine/source/util/src/theap.c
    functionUses: []
    functionsReached:
    - taosPQPop
    linkageType: ''
    returnType: void
    signature: 'void taosBQPop(BoundedQueue* q) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadOnce
      Src: /src/tdengine/source/util/src/tref.c:66,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tref.c:73,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tref.c:75,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tref.c:79,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tref.c:68,1
    - Dst: taosIncRsetCount
      Src: /src/tdengine/source/util/src/tref.c:97,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:100,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tref.c:103,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tref.c:104,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:105,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tref.c:108,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - max
    - fp
    argTypes:
    - int32_t
    - RefFp
    constantsTouched: []
    func_position:
      end: 111
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 111
    functionName: taosOpenRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadOnce
    - taosMemoryFree
    - taosThreadMutexLock
    - taosMemoryCalloc
    - uTrace
    - taosIncRsetCount
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosOpenRef(int32_t max, RefFp fp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:203,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:212,1
    - Dst: taosLockList
      Src: /src/tdengine/source/util/src/tref.c:218,1
    - Dst: taosIncRsetCount
      Src: /src/tdengine/source/util/src/tref.c:209,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:211,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tref.c:231,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:238,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:241,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:245,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:248,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:250,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 2
    argNames:
    - rsetId
    - rid
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 253
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 253
    functionName: taosAcquireRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosUnlockList
    - uTrace
    - uWarn
    - taosDecRsetCount
    - taosIncRsetCount
    - taosLockList
    linkageType: ''
    returnType: void*
    signature: 'void *taosAcquireRef(int32_t rsetId, int64_t rid) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:146,1
    - Dst: taosIncRsetCount
      Src: /src/tdengine/source/util/src/tref.c:151,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tref.c:158,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:153,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:154,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:160,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tref.c:161,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tref.c:165,1
    - Dst: taosLockList
      Src: /src/tdengine/source/util/src/tref.c:167,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:178,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - rsetId
    - p
    argTypes:
    - int32_t
    - void*
    constantsTouched: []
    func_position:
      end: 184
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 184
    functionName: taosAddRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosUnlockList
    - uTrace
    - taosMemoryCalloc
    - taosDecRsetCount
    - uError
    - atomic_add_fetch_64
    - taosIncRsetCount
    - taosLockList
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosAddRef(int32_t rsetId, void *p) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecRefCount
      Src: /src/tdengine/source/util/src/tref.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - rsetId
    - rid
    - isReleased
    argTypes:
    - int32_t
    - int64_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: taosReleaseRefEx
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosDecRefCount
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReleaseRefEx(int32_t rsetId, int64_t rid, int32_t *isReleased) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tref.c:366,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tref.c:386,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tref.c:373,1
    - Dst: uInfo
      Src: /src/tdengine/source/util/src/tref.c:379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 389
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 389
    functionName: taosListRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - uInfo
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosListRef() '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/util/src/tref.c:473,1
    - Dst: sched_yield
      Src: /src/tdengine/source/util/src/tref.c:477,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/util/src/tref.c:475,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - lockedBy
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 480
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 480
    functionName: taosLockList
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_64
    - taosGetSelfPthreadId
    - sched_yield
    linkageType: ''
    returnType: void
    signature: 'static void taosLockList(int64_t *lockedBy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tref.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - void
    argTypes:
    - void
    constantsTouched: []
    func_position:
      end: 487
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 487
    functionName: taosInitRefModule
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosThreadMutexInit
    linkageType: ''
    returnType: void
    signature: 'static void taosInitRefModule(void) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:118,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tref.c:124,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:129,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:131,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tref.c:134,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - rsetId
    argTypes:
    - int32_t
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: taosCloseRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - uTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - taosDecRsetCount
    linkageType: ''
    returnType: void
    signature: 'void taosCloseRef(int32_t rsetId) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecRefCount
      Src: /src/tdengine/source/util/src/tref.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rsetId
    - rid
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 186
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 186
    functionName: taosRemoveRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosDecRefCount
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosRemoveRef(int32_t rsetId, int64_t rid) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosDecRefCount
      Src: /src/tdengine/source/util/src/tref.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - rsetId
    - rid
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 255
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 255
    functionName: taosReleaseRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosDecRefCount
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReleaseRef(int32_t rsetId, int64_t rid) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:400,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:411,1
    - Dst: taosLockList
      Src: /src/tdengine/source/util/src/tref.c:416,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:405,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tref.c:427,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:446,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:449,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:454,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:457,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:462,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tref.c:460,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 4
    argNames:
    - rsetId
    - rid
    - remove
    - isReleased
    argTypes:
    - int32_t
    - int64_t
    - int32_t
    - int32_t*
    constantsTouched: []
    func_position:
      end: 470
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 470
    functionName: taosDecRefCount
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosUnlockList
    - uTrace
    - uWarn
    - taosDecRsetCount
    - taosLockList
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosDecRefCount(int32_t rsetId, int64_t rid, int32_t
      remove, int32_t *isReleased) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosGetSelfPthreadId
      Src: /src/tdengine/source/util/src/tref.c:483,1
    - Dst: atomic_val_compare_exchange_64
      Src: /src/tdengine/source/util/src/tref.c:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - lockedBy
    argTypes:
    - int64_t*
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: taosUnlockList
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - atomic_val_compare_exchange_64
    - taosGetSelfPthreadId
    linkageType: ''
    returnType: void
    signature: 'static void taosUnlockList(int64_t *lockedBy) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tref.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pSet
    argTypes:
    - SRefSet*
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: taosIncRsetCount
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - atomic_add_fetch_32
    linkageType: ''
    returnType: void
    signature: 'static void taosIncRsetCount(SRefSet *pSet) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tref.c:495,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:511,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tref.c:507,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tref.c:500,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tref.c:508,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tref.c:514,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pSet
    argTypes:
    - SRefSet*
    constantsTouched: []
    func_position:
      end: 515
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 515
    functionName: taosDecRsetCount
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uTrace
    - atomic_sub_fetch_32
    - taosMemoryFreeClear
    linkageType: ''
    returnType: void
    signature: 'static void taosDecRsetCount(SRefSet *pSet) '
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:266,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:281,1
    - Dst: taosIncRsetCount
      Src: /src/tdengine/source/util/src/tref.c:279,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:272,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:283,1
    - Dst: taosLockList
      Src: /src/tdengine/source/util/src/tref.c:293,1
    - Dst: uWarn
      Src: /src/tdengine/source/util/src/tref.c:303,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tref.c:307,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:309,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:310,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:322,1
    - Dst: taosLockList
      Src: /src/tdengine/source/util/src/tref.c:329,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:339,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:347,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tref.c:349,1
    - Dst: taosUnlockList
      Src: /src/tdengine/source/util/src/tref.c:346,1
    - Dst: taosReleaseRef
      Src: /src/tdengine/source/util/src/tref.c:352,1
    - Dst: taosDecRsetCount
      Src: /src/tdengine/source/util/src/tref.c:356,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 74
    argCount: 2
    argNames:
    - rsetId
    - rid
    argTypes:
    - int32_t
    - int64_t
    constantsTouched: []
    func_position:
      end: 359
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 359
    functionName: taosIterateRef
    functionSourceFile: /src/tdengine/source/util/src/tref.c
    functionUses: []
    functionsReached:
    - taosUnlockList
    - uTrace
    - uWarn
    - taosDecRsetCount
    - uError
    - taosReleaseRef
    - taosIncRsetCount
    - taosLockList
    linkageType: ''
    returnType: void*
    signature: 'void *taosIterateRef(int32_t rsetId, int64_t rid) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tbase58.c:44,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:72,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tbase58.c:69,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tbase58.c:64,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:66,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 56
    argCount: 3
    argNames:
    - value
    - vlen
    - result
    argTypes:
    - uint8_t*
    - int32_t
    - char**
    constantsTouched: []
    func_position:
      end: 75
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 75
    functionName: base58_encode
    functionSourceFile: /src/tdengine/source/util/src/tbase58.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t base58_encode(const uint8_t *value, int32_t vlen, char **result) '
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tbase58.c:110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:127,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tbase58.c:140,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tbase58.c:118,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tbase58.c:124,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:142,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tbase58.c:148,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:150,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tbase58.c:154,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase58.c:159,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 79
    argCount: 4
    argNames:
    - value
    - inlen
    - outlen
    - result
    argTypes:
    - char*
    - size_t
    - int32_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 162
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 162
    functionName: base58_decode
    functionSourceFile: /src/tdengine/source/util/src/tbase58.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - isspace
    - taosMemoryFree
    - memset
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t base58_decode(const char *value, size_t inlen, int32_t *outlen,
      uint8_t **result) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tencode.c:49,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tencode.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SEncoder*
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: tEncoderClear
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - memset
    linkageType: ''
    returnType: void
    signature: 'void tEncoderClear(SEncoder* pCoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tencode.c:65,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tencode.c:67,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SDecoder*
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tDecoderClear
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - memset
    linkageType: ''
    returnType: void
    signature: 'void tDecoderClear(SDecoder* pCoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tEncodeI32
      Src: /src/tdengine/source/util/src/tencode.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SEncoder*
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: tEndEncode
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached:
    - tEncodeI32
    linkageType: ''
    returnType: void
    signature: 'void tEndEncode(SEncoder* pCoder) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pEncoder
    - data
    - size
    argTypes:
    - SEncoder*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: tEncoderInit
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tEncoderInit(SEncoder* pEncoder, uint8_t* data, uint32_t size) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tencode.c:75,1
    - Dst: tEncoderMalloc
      Src: /src/tdengine/source/util/src/tencode.c:78,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tencode.c:80,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SEncoder*
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: tStartEncode
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached:
    - TAOS_RETURN
    - tEncoderMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tStartEncode(SEncoder* pCoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pDecoder
    - data
    - size
    argTypes:
    - SDecoder*
    - uint8_t*
    - uint32_t
    constantsTouched: []
    func_position:
      end: 60
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 60
    functionName: tDecoderInit
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tDecoderInit(SDecoder* pDecoder, uint8_t* data, uint32_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TAOS_CHECK_RETURN
      Src: /src/tdengine/source/util/src/tencode.c:124,1
    - Dst: tDecoderMalloc
      Src: /src/tdengine/source/util/src/tencode.c:126,1
    - Dst: TAOS_RETURN
      Src: /src/tdengine/source/util/src/tencode.c:128,1
    - Dst: tDecodeI32
      Src: /src/tdengine/source/util/src/tencode.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SDecoder*
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: tStartDecode
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached:
    - tDecodeI32
    - TAOS_CHECK_RETURN
    - TAOS_RETURN
    - tDecoderMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tStartDecode(SDecoder* pCoder) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pCoder
    argTypes:
    - SDecoder*
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: tEndDecode
    functionSourceFile: /src/tdengine/source/util/src/tencode.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void tEndDecode(SDecoder* pCoder) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:135,1
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:144,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:136,1
    - Dst: comparFn
      Src: /src/tdengine/source/util/src/tarray.c:138,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:142,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:147,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tarray.c:148,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:148,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:158,1
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:159,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - pArray
    - comparFn
    - (*fp)
    argTypes:
    - SArray*
    - __compar_fn_t
    - void
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: taosArrayRemoveDuplicate
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    - taosArraySet
    - TARRAY_GET_ELEM
    - memset
    - comparFn
    - fp
    linkageType: ''
    returnType: void
    signature: 'void taosArrayRemoveDuplicate(SArray* pArray, __compar_fn_t comparFn,
      void (*fp)(void*)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/util/src/tarray.c:176,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:182,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tarray.c:185,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - pArray
    - num
    argTypes:
    - SArray*
    - int32_t
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 188
    functionName: taosArrayReserve
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayEnsureCap
    - memset
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayReserve(SArray* pArray, int32_t num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: taosArrayGetLast
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayGetLast(const SArray* pArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:398,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:402,1
    - Dst: taosArrayClear
      Src: /src/tdengine/source/util/src/tarray.c:406,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:398,1
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:402,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - pArray
    - (*fp)
    argTypes:
    - SArray*
    - void
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: taosArrayClearP
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - fp
    - TARRAY_GET_ELEM
    - taosMemoryFree
    - taosArrayClear
    linkageType: ''
    returnType: void
    signature: 'void taosArrayClearP(SArray* pArray, void (*fp)(void*)) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:467,1
    - Dst: fn
      Src: /src/tdengine/source/util/src/tarray.c:469,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:474,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:473,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:469,1
    - Dst: fn
      Src: /src/tdengine/source/util/src/tarray.c:476,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:476,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:480,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:481,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:484,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - pArray
    - i
    - j
    - fn
    - userData
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    - __ext_compar_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: taosArrayPartition
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - fn
    - taosArraySet
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosArrayPartition(SArray* pArray, int32_t i, int32_t
      j, __ext_compar_fn_t fn, const void* userData) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayAddBatch
      Src: /src/tdengine/source/util/src/tarray.c:168,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tarray.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - pArray
    - pInput
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: taosArrayAddAll
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGetSize
    - taosArrayAddBatch
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayAddAll(SArray* pArray, const SArray* pInput) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: taosArrayPop
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayPop(SArray* pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TARRAY_SIZE
      Src: /src/tdengine/source/util/src/tarray.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: taosArrayGetSize
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_SIZE
    linkageType: ''
    returnType: size_t
    signature: 'size_t taosArrayGetSize(const SArray* pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:411,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: taosArrayDestroy
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void taosArrayDestroy(SArray* pArray) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPartition
      Src: /src/tdengine/source/util/src/tarray.c:490,1
    - Dst: taosArrayQuicksortImpl
      Src: /src/tdengine/source/util/src/tarray.c:492,1
    - Dst: taosArrayQuicksortImpl
      Src: /src/tdengine/source/util/src/tarray.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 5
    argNames:
    - pArray
    - low
    - high
    - fn
    - param
    argTypes:
    - SArray*
    - int32_t
    - int32_t
    - __ext_compar_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: taosArrayQuicksortImpl
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayPartition
    - taosArrayQuicksortImpl
    linkageType: ''
    returnType: void
    signature: 'static void taosArrayQuicksortImpl(SArray* pArray, int32_t low, int32_t
      high, __ext_compar_fn_t fn, const void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosqsort
      Src: /src/tdengine/source/util/src/tarray.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pArray
    - fn
    - param
    argTypes:
    - SArray*
    - __ext_compar_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: taosArraySortPWithExt
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosqsort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosArraySortPWithExt(SArray* pArray, __ext_compar_fn_t fn,
      const void* param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosDecodeFixedI32
      Src: /src/tdengine/source/util/src/tarray.c:536,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tarray.c:542,1
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tarray.c:549,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tarray.c:537,1
    - Dst: decode
      Src: /src/tdengine/source/util/src/tarray.c:547,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:550,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - buf
    - pArray
    - decode
    - dataSz
    - sver
    argTypes:
    - void*
    - SArray**
    - FDecode
    - int32_t
    - int8_t
    constantsTouched: []
    func_position:
      end: 555
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 555
    functionName: taosDecodeArray
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryCalloc
    - taosDecodeFixedI32
    - taosArrayPush
    - decode
    - taosArrayInit
    linkageType: ''
    returnType: void*
    signature: 'void * taosDecodeArray(const void* buf, SArray** pArray, FDecode decode,
      int32_t dataSz, int8_t sver) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uError
      Src: /src/tdengine/source/util/src/tarray.c:202,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tarray.c:207,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - pArray
    - index
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 213
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 213
    functionName: taosArrayGet
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - uError
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayGet(const SArray* pArray, size_t index) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPush
      Src: /src/tdengine/source/util/src/tarray.c:246,1
    - Dst: memmove
      Src: /src/tdengine/source/util/src/tarray.c:260,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:261,1
    - Dst: taosArrayResize
      Src: /src/tdengine/source/util/src/tarray.c:250,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pArray
    - index
    - pData
    argTypes:
    - SArray*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 266
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 266
    functionName: taosArrayInsert
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayPush
    - memcpy
    - memmove
    - TARRAY_GET_ELEM
    - taosArrayResize
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayInsert(SArray* pArray, size_t index, const void* pData) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tarray.c:330,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:332,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - src
    - size
    - elemSize
    argTypes:
    - void*
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 337
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 337
    functionName: taosArrayFromList
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - memcpy
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * taosArrayFromList(const void* src, size_t size, size_t elemSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:420,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:420,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:424,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tarray.c:427,1
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:424,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pArray
    - fp
    argTypes:
    - SArray*
    - FDelete
    constantsTouched: []
    func_position:
      end: 429
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 429
    functionName: taosArrayDestroyP
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - fp
    - TARRAY_GET_ELEM
    - taosMemoryFree
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void taosArrayDestroyP(SArray* pArray, FDelete fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosSort
      Src: /src/tdengine/source/util/src/tarray.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - compar
    argTypes:
    - SArray*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: taosArraySort
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosSort
    linkageType: ''
    returnType: void
    signature: 'void taosArraySort(SArray* pArray, __compar_fn_t compar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosbsearch
      Src: /src/tdengine/source/util/src/tarray.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 4
    argNames:
    - pArray
    - key
    - comparFn
    - flags
    argTypes:
    - SArray*
    - void*
    - __compar_fn_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: taosArraySearch
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosbsearch
    linkageType: ''
    returnType: void*
    signature: 'void * taosArraySearch(const SArray* pArray, const void* key, __compar_fn_t
      comparFn, int32_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pArray
    - index
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 221
    functionName: taosArrayGetP
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGet
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayGetP(const SArray* pArray, size_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:270,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - pArray
    - index
    - pData
    argTypes:
    - SArray*
    - size_t
    - void*
    constantsTouched: []
    func_position:
      end: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    functionName: taosArraySet
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - memcpy
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void
    signature: 'void taosArraySet(SArray* pArray, size_t index, void* pData) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tarray.c:346,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:353,1
    - Dst: taosArrayInit
      Src: /src/tdengine/source/util/src/tarray.c:349,1
    - Dst: fn
      Src: /src/tdengine/source/util/src/tarray.c:356,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:356,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:357,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 2
    argNames:
    - pSrc
    - fn
    argTypes:
    - SArray*
    - __array_item_dup_fn_t
    constantsTouched: []
    func_position:
      end: 365
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 365
    functionName: taosArrayDup
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - memcpy
    - fn
    - taosArrayInit
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * taosArrayDup(const SArray* pSrc, __array_item_dup_fn_t fn) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tarray.c:437,1
    - Dst: taosArrayDestroy
      Src: /src/tdengine/source/util/src/tarray.c:445,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:442,1
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pArray
    - fp
    argTypes:
    - SArray*
    - FDelete
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: taosArrayDestroyEx
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - fp
    - TARRAY_GET_ELEM
    - taosArrayDestroy
    linkageType: ''
    returnType: void
    signature: 'void taosArrayDestroyEx(SArray* pArray, FDelete fp) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMergeSort
      Src: /src/tdengine/source/util/src/tarray.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pArray
    - compar
    argTypes:
    - SArray*
    - __compar_fn_t
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: taosArrayMSort
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMergeSort
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosArrayMSort(SArray* pArray, __compar_fn_t compar) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosArraySearch
      Src: /src/tdengine/source/util/src/tarray.c:461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - pArray
    - key
    - comparFn
    - flags
    argTypes:
    - SArray*
    - void*
    - __compar_fn_t
    - int32_t
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: taosArraySearchIdx
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArraySearch
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosArraySearchIdx(const SArray* pArray, const void* key,
      __compar_fn_t comparFn, int32_t flags) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 370
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 370
    functionName: taosArrayClear
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosArrayClear(SArray* pArray) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tarray.c:34,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tarray.c:40,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:42,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - size
    - elemSize
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 49
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 49
    functionName: taosArrayInit
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * taosArrayInit(size_t size, size_t elemSize) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:380,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - pArray
    - (*fp)
    argTypes:
    - SArray*
    - void
    constantsTouched: []
    func_position:
      end: 384
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 384
    functionName: taosArrayClearEx
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - fp
    - TARRAY_GET_ELEM
    linkageType: ''
    returnType: void
    signature: 'void taosArrayClearEx(SArray* pArray, void (*fp)(void*)) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayQuicksortImpl
      Src: /src/tdengine/source/util/src/tarray.c:500,1
    - Dst: taosArrayGetSize
      Src: /src/tdengine/source/util/src/tarray.c:500,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - pArray
    - fn
    - param
    argTypes:
    - SArray*
    - __ext_compar_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 501
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 501
    functionName: taosArrayQuickSort
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayQuicksortImpl
    - taosArrayGetSize
    linkageType: ''
    returnType: void
    signature: 'static void taosArrayQuickSort(SArray* pArray, __ext_compar_fn_t fn,
      const void* param) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - SArray*
    - SArray*
    constantsTouched: []
    func_position:
      end: 580
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 580
    functionName: taosArraySwap
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosArraySwap(SArray* a, SArray* b) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tarray.c:52,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tarray.c:58,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tarray.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - elemSize
    - initialSize
    argTypes:
    - size_t
    - size_t
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: taosArrayInit_s
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - taosMemoryFree
    - taosMemoryMalloc
    linkageType: ''
    returnType: SArray*
    signature: 'SArray * taosArrayInit_s(size_t elemSize, size_t initialSize) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/util/src/tarray.c:97,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - pArray
    - newCap
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 106
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 106
    functionName: taosArrayEnsureCap
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosArrayEnsureCap(SArray* pArray, size_t newCap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/tdengine/source/util/src/tarray.c:283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pArray
    - cnt
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: taosArrayPopFrontBatch
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void taosArrayPopFrontBatch(SArray* pArray, size_t cnt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayPop
      Src: /src/tdengine/source/util/src/tarray.c:300,1
    - Dst: memmove
      Src: /src/tdengine/source/util/src/tarray.c:305,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pArray
    - index
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 308
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 308
    functionName: taosArrayRemove
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayPop
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void taosArrayRemove(SArray* pArray, size_t index) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/util/src/tarray.c:73,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pArray
    argTypes:
    - SArray*
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: taosArrayResize
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosMemoryRealloc
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t taosArrayResize(SArray* pArray) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosArrayEnsureCap
      Src: /src/tdengine/source/util/src/tarray.c:114,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tarray.c:121,1
    - Dst: TARRAY_GET_ELEM
      Src: /src/tdengine/source/util/src/tarray.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - pArray
    - pData
    - nEles
    argTypes:
    - SArray*
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 125
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 125
    functionName: taosArrayAddBatch
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - TARRAY_GET_ELEM
    - taosArrayEnsureCap
    - memcpy
    linkageType: ''
    returnType: void*
    signature: 'void * taosArrayAddBatch(SArray* pArray, const void* pData, int32_t
      nEles) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pArray
    - cnt
    argTypes:
    - SArray*
    - size_t
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: taosArrayPopTailBatch
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosArrayPopTailBatch(SArray* pArray, size_t cnt) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fp
      Src: /src/tdengine/source/util/src/tarray.c:314,1
    - Dst: memmove
      Src: /src/tdengine/source/util/src/tarray.c:318,1
    - Dst: taosArrayGet
      Src: /src/tdengine/source/util/src/tarray.c:314,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - pArray
    - index
    - num
    - fp
    argTypes:
    - SArray*
    - size_t
    - size_t
    - FDelete
    constantsTouched: []
    func_position:
      end: 322
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 322
    functionName: taosArrayRemoveBatch
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - fp
    - taosArrayGet
    - memmove
    linkageType: ''
    returnType: void
    signature: 'void taosArrayRemoveBatch(SArray* pArray, size_t index, size_t num,
      FDelete fp) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/tdengine/source/util/src/tarray.c:510,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:510,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:510,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:511,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:512,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:513,1
    - Dst: taosArraySet
      Src: /src/tdengine/source/util/src/tarray.c:514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 3
    argNames:
    - pArray
    - fn
    - param
    argTypes:
    - SArray*
    - __ext_compar_fn_t
    - void*
    constantsTouched: []
    func_position:
      end: 520
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 520
    functionName: taosArrayInsertSort
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - fn
    - taosArraySet
    linkageType: ''
    returnType: void
    signature: 'static void taosArrayInsertSort(SArray* pArray, __ext_compar_fn_t
      fn, const void* param) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosEncodeFixedI32
      Src: /src/tdengine/source/util/src/tarray.c:526,1
    - Dst: taosArrayGetP
      Src: /src/tdengine/source/util/src/tarray.c:528,1
    - Dst: encode
      Src: /src/tdengine/source/util/src/tarray.c:529,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - buf
    - pArray
    - encode
    argTypes:
    - void**
    - SArray*
    - FEncode
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: taosEncodeArray
    functionSourceFile: /src/tdengine/source/util/src/tarray.c
    functionUses: []
    functionsReached:
    - taosArrayGetP
    - encode
    - taosEncodeFixedI32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosEncodeArray(void** buf, const SArray* pArray, FEncode
      encode) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tthread.c:19,1
    - Dst: taosThreadAttrDestroy
      Src: /src/tdengine/source/util/src/tthread.c:29,1
    - Dst: taosThreadAttrSetDetachState
      Src: /src/tdengine/source/util/src/tthread.c:27,1
    - Dst: taosThreadAttrInit
      Src: /src/tdengine/source/util/src/tthread.c:26,1
    - Dst: taosThreadCreate
      Src: /src/tdengine/source/util/src/tthread.c:28,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tthread.c:32,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tthread.c:33,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - (*__start_routine)
    - param
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 37
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 37
    functionName: taosCreateThread
    functionSourceFile: /src/tdengine/source/util/src/tthread.c
    functionUses: []
    functionsReached:
    - taosThreadAttrSetDetachState
    - taosMemoryFree
    - taosMemoryMalloc
    - TAOS_SYSTEM_ERROR
    - taosThreadAttrInit
    - taosThreadCreate
    - taosThreadAttrDestroy
    linkageType: ''
    returnType: TdThread*
    signature: 'TdThread * taosCreateThread(void* (*__start_routine)(void*), void*
      param) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadKill
      Src: /src/tdengine/source/util/src/tthread.c:52,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - TdThread*
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: taosThreadRunning
    functionSourceFile: /src/tdengine/source/util/src/tthread.c
    functionUses: []
    functionsReached:
    - taosThreadKill
    linkageType: ''
    returnType: bool
    signature: 'bool taosThreadRunning(TdThread* pthread) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadRunning
      Src: /src/tdengine/source/util/src/tthread.c:41,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tthread.c:46,1
    - Dst: taosThreadJoin
      Src: /src/tdengine/source/util/src/tthread.c:43,1
    - Dst: taosThreadCancel
      Src: /src/tdengine/source/util/src/tthread.c:42,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pthread
    argTypes:
    - TdThread*
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: taosDestroyThread
    functionSourceFile: /src/tdengine/source/util/src/tthread.c
    functionUses: []
    functionsReached:
    - taosThreadJoin
    - taosThreadRunning
    - taosMemoryFree
    - taosThreadCancel
    linkageType: ''
    returnType: bool
    signature: 'bool taosDestroyThread(TdThread* pthread) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:90,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tqueue.c:106,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:94,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:103,1
    - Dst: taosRemoveFromQset
      Src: /src/tdengine/source/util/src/tqueue.c:97,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:107,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - queue
    argTypes:
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: taosCloseQueue
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - taosRemoveFromQset
    - uDebug
    linkageType: ''
    returnType: void
    signature: 'void taosCloseQueue(STaosQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:128,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - queue
    - items
    argTypes:
    - STaosQueue*
    - int32_t
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: taosUpdateItemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void taosUpdateItemSize(STaosQueue *queue, int32_t items) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - qall
    - ppItem
    argTypes:
    - STaosQall*
    - void**
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: taosGetQitem
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uTrace
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetQitem(STaosQall *qall, void **ppItem) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:393,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:395,1
    - Dst: tsem_post
      Src: /src/tdengine/source/util/src/tqueue.c:394,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - qset
    argTypes:
    - STaosQset*
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    functionName: taosQsetThreadResume
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uError
    - uDebug
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'void taosQsetThreadResume(STaosQset *qset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:402,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:412,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:410,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:409,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:414,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - qset
    - queue
    - ahandle
    argTypes:
    - STaosQset*
    - STaosQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 418
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 418
    functionName: taosAddIntoQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - atomic_add_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAddIntoQset(STaosQset *qset, STaosQueue *queue, void *ahandle) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 561
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 561
    functionName: taosQallItemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosQallItemSize(STaosQall *qall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pQueue
    - threadId
    argTypes:
    - STaosQueue*
    - int64_t
    constantsTouched: []
    func_position:
      end: 570
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 570
    functionName: taosQueueSetThreadId
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosQueueSetThreadId(STaosQueue *pQueue, int64_t threadId) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:116,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - queue
    argTypes:
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: taosQueueEmpty
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: bool
    signature: 'bool taosQueueEmpty(STaosQueue *queue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:136,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:138,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - queue
    argTypes:
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: taosQueueItemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uTrace
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosQueueItemSize(STaosQueue *queue) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tqueue.c:352,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:359,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:363,1
    - Dst: tsem_init
      Src: /src/tdengine/source/util/src/tqueue.c:358,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tqueue.c:357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - qset
    argTypes:
    - STaosQset**
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: taosOpenQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - tsem_init
    - taosMemoryCalloc
    - taosThreadMutexInit
    - uDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosOpenQset(STaosQset **qset) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:423,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:455,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:448,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:451,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:447,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:457,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - qset
    - queue
    argTypes:
    - STaosQset*
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 458
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 458
    functionName: taosRemoveFromQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - atomic_sub_fetch_32
    - taosThreadMutexLock
    - uDebug
    linkageType: ''
    returnType: void
    signature: 'void taosRemoveFromQset(STaosQset *qset, STaosQueue *queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 562
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 562
    functionName: taosQallMemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosQallMemSize(STaosQall *qall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - pQueue
    argTypes:
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 572
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 572
    functionName: taosQueueGetThreadId
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosQueueGetThreadId(STaosQueue *pQueue) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:580,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:584,1
    - Dst: tsem_post
      Src: /src/tdengine/source/util/src/tqueue.c:582,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - qset
    - pItem
    argTypes:
    - STaosQset*
    - void*
    constantsTouched: []
    func_position:
      end: 585
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 585
    functionName: taosResetQsetThread
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - tsem_post
    linkageType: ''
    returnType: void
    signature: 'void taosResetQsetThread(STaosQset *qset, void *pItem) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:198,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:204,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:202,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:200,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pItem
    argTypes:
    - void*
    constantsTouched: []
    func_position:
      end: 205
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 205
    functionName: taosFreeQitem
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uTrace
    - atomic_sub_fetch_64
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void taosFreeQitem(void *pItem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 567
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 567
    functionName: taosResetQitems
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosResetQitems(STaosQall *qall) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/util/src/tqueue.c:210,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:216,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:213,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tqueue.c:217,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:219,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:223,1
    - Dst: tstrerror
      Src: /src/tdengine/source/util/src/tqueue.c:224,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:225,1
    - Dst: atomic_add_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:239,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:242,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:248,1
    - Dst: tsem_post
      Src: /src/tdengine/source/util/src/tqueue.c:247,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:244,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - queue
    - pItem
    argTypes:
    - STaosQueue*
    - void*
    constantsTouched: []
    func_position:
      end: 252
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 252
    functionName: taosWriteQitem
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uTrace
    - tstrerror
    - taosGetTimestampUs
    - uError
    - atomic_add_fetch_32
    - tsem_post
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosWriteQitem(STaosQueue *queue, void *pItem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - qset
    argTypes:
    - STaosQset*
    constantsTouched: []
    func_position:
      end: 568
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 568
    functionName: taosGetQueueNumber
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosGetQueueNumber(STaosQset *qset) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - cap
    argTypes:
    - STaosQueue*
    - int64_t
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: taosSetQueueMemoryCapacity
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosSetQueueMemoryCapacity(STaosQueue *queue, int64_t cap) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tqueue.c:64,1
    - Dst: taosThreadMutexInit
      Src: /src/tdengine/source/util/src/tqueue.c:69,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:75,1
    - Dst: TAOS_SYSTEM_ERROR
      Src: /src/tdengine/source/util/src/tqueue.c:72,1
    - Dst: taosMemoryFreeClear
      Src: /src/tdengine/source/util/src/tqueue.c:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - queue
    argTypes:
    - STaosQueue**
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: taosOpenQueue
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - TAOS_SYSTEM_ERROR
    - taosMemoryCalloc
    - taosThreadMutexInit
    - uDebug
    - taosMemoryFreeClear
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosOpenQueue(STaosQueue **queue) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:145,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - queue
    argTypes:
    - STaosQueue*
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: taosQueueMemorySize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosQueueMemorySize(STaosQueue *queue) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/util/src/tqueue.c:464,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:468,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:491,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:465,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:477,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:493,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:497,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:501,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - qset
    - ppItem
    - qinfo
    argTypes:
    - STaosQset*
    - void**
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 504
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 504
    functionName: taosReadQitemFromQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uTrace
    - tsem_wait
    - uError
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReadQitemFromQset(STaosQset *qset, void **ppItem, SQueueInfo
      *qinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 564
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 564
    functionName: taosQallUnAccessedItemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosQallUnAccessedItemSize(STaosQall *qall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - queue
    - size
    argTypes:
    - STaosQueue*
    - int64_t
    constantsTouched: []
    func_position:
      end: 61
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 61
    functionName: taosSetQueueCapacity
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosSetQueueCapacity(STaosQueue *queue, int64_t size) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - queue
    - itemFp
    - itemsFp
    argTypes:
    - STaosQueue*
    - FItem
    - FItems
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: taosSetQueueFp
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void taosSetQueueFp(STaosQueue *queue, FItem itemFp, FItems itemsFp) '
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:155,1
    - Dst: atomic_add_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:163,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:165,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:159,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:157,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:167,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tqueue.c:173,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:176,1
    - Dst: atomic_sub_fetch_64
      Src: /src/tdengine/source/util/src/tqueue.c:178,1
    - Dst: taosGetTimestampUs
      Src: /src/tdengine/source/util/src/tqueue.c:186,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 4
    argNames:
    - size
    - itype
    - dataSize
    - item
    argTypes:
    - int32_t
    - EQItype
    - int64_t
    - void**
    constantsTouched: []
    func_position:
      end: 190
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 190
    functionName: taosAllocateQitem
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - atomic_sub_fetch_64
    - taosMemoryCalloc
    - uTrace
    - taosGetTimestampUs
    - uError
    - atomic_add_fetch_64
    - uDebug
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAllocateQitem(int32_t size, EQItype itype, int64_t dataSize,
      void **item) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tsem_wait
      Src: /src/tdengine/source/util/src/tqueue.c:510,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:513,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:542,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:511,1
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:522,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:544,1
    - Dst: tsem_wait
      Src: /src/tdengine/source/util/src/tqueue.c:546,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:547,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:552,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:557,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - qset
    - qall
    - qinfo
    argTypes:
    - STaosQset*
    - STaosQall*
    - SQueueInfo*
    constantsTouched: []
    func_position:
      end: 559
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 559
    functionName: taosReadAllQitemsFromQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uTrace
    - tsem_wait
    - uError
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReadAllQitemsFromQset(STaosQset *qset, STaosQall *qall,
      SQueueInfo *qinfo) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 1
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 565
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 565
    functionName: taosQallUnAccessedMemSize
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t taosQallUnAccessedMemSize(STaosQall *qall) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:257,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:269,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:271,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:275,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - queue
    - ppItem
    argTypes:
    - STaosQueue*
    - void**
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: taosReadQitem
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - uTrace
    - taosThreadMutexUnlock
    - atomic_sub_fetch_32
    - taosThreadMutexLock
    linkageType: ''
    returnType: void
    signature: 'void taosReadQitem(STaosQueue *queue, void **ppItem) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 286
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 286
    functionName: taosFreeQall
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    linkageType: ''
    returnType: void
    signature: 'void taosFreeQall(STaosQall *qall) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:371,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:379,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tqueue.c:383,1
    - Dst: tsem_destroy
      Src: /src/tdengine/source/util/src/tqueue.c:382,1
    - Dst: taosThreadMutexDestroy
      Src: /src/tdengine/source/util/src/tqueue.c:381,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tqueue.c:385,1
    - Dst: uDebug
      Src: /src/tdengine/source/util/src/tqueue.c:386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - qset
    argTypes:
    - STaosQset*
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: taosCloseQset
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosMemoryFree
    - taosThreadMutexLock
    - taosThreadMutexDestroy
    - uError
    - tsem_destroy
    - uDebug
    linkageType: ''
    returnType: void
    signature: 'void taosCloseQset(STaosQset *qset) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tqueue.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - qall
    argTypes:
    - STaosQall**
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: taosAllocateQall
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosAllocateQall(STaosQall **qall) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosThreadMutexLock
      Src: /src/tdengine/source/util/src/tqueue.c:292,1
    - Dst: atomic_sub_fetch_32
      Src: /src/tdengine/source/util/src/tqueue.c:314,1
    - Dst: uTrace
      Src: /src/tdengine/source/util/src/tqueue.c:311,1
    - Dst: taosThreadMutexUnlock
      Src: /src/tdengine/source/util/src/tqueue.c:318,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tqueue.c:296,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - queue
    - qall
    argTypes:
    - STaosQueue*
    - STaosQall*
    constantsTouched: []
    func_position:
      end: 327
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 327
    functionName: taosReadAllQitems
    functionSourceFile: /src/tdengine/source/util/src/tqueue.c
    functionUses: []
    functionsReached:
    - taosThreadMutexUnlock
    - taosThreadMutexLock
    - uTrace
    - memset
    - atomic_sub_fetch_32
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosReadAllQitems(STaosQueue *queue, STaosQall *qall) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CENTROID
      Src: /src/tdengine/source/util/src/tdigest.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - t
    - compression
    argTypes:
    - TDigest*
    - int32_t
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: tdigestAutoFill
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - GET_CENTROID
    linkageType: ''
    returnType: void
    signature: 'void tdigestAutoFill(TDigest *t, int32_t compression) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: cmpCentroid
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'static int32_t cmpCentroid(const void *a, const void *b) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tdigest.c:110,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tdigest.c:128,1
    - Dst: taosSort
      Src: /src/tdengine/source/util/src/tdigest.c:124,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdigest.c:125,1
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tdigest.c:126,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdigest.c:131,1
    - Dst: mergeCentroid
      Src: /src/tdengine/source/util/src/tdigest.c:144,1
    - Dst: mergeCentroid
      Src: /src/tdengine/source/util/src/tdigest.c:147,1
    - Dst: mergeCentroid
      Src: /src/tdengine/source/util/src/tdigest.c:153,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tdigest.c:155,1
    - Dst: mergeCentroid
      Src: /src/tdengine/source/util/src/tdigest.c:158,1
    - Dst: TMAX
      Src: /src/tdengine/source/util/src/tdigest.c:167,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tdigest.c:171,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tdigest.c:162,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tdigest.c:170,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 1
    argNames:
    - t
    argTypes:
    - TDigest*
    constantsTouched: []
    func_position:
      end: 173
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 173
    functionName: tdigestCompress
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - taosSort
    - taosMemoryFree
    - taosMemoryMalloc
    - memset
    - TMAX
    - memcpy
    - TMIN
    - mergeCentroid
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdigestCompress(TDigest *t) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INTEGRATED_LOCATION
      Src: /src/tdengine/source/util/src/tdigest.c:78,1
    - Dst: TMIN
      Src: /src/tdengine/source/util/src/tdigest.c:95,1
    - Dst: TMAX
      Src: /src/tdengine/source/util/src/tdigest.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - args
    - merge
    argTypes:
    - SMergeArgs*
    - SCentroid*
    constantsTouched: []
    func_position:
      end: 99
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 99
    functionName: mergeCentroid
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - TMAX
    - TMIN
    - INTEGRATED_LOCATION
    linkageType: ''
    returnType: void
    signature: 'static void mergeCentroid(SMergeArgs *args, SCentroid *merge) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/tdengine/source/util/src/tdigest.c:52,1
    - Dst: TDIGEST_SIZE
      Src: /src/tdengine/source/util/src/tdigest.c:52,1
    - Dst: tdigestAutoFill
      Src: /src/tdengine/source/util/src/tdigest.c:54,1
    - Dst: GET_CENTROID
      Src: /src/tdengine/source/util/src/tdigest.c:57,1
    - Dst: GET_THRESHOLD
      Src: /src/tdengine/source/util/src/tdigest.c:58,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pBuf
    - compression
    argTypes:
    - void*
    - int32_t
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: tdigestNewFrom
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - tdigestAutoFill
    - GET_THRESHOLD
    - memset
    - TDIGEST_SIZE
    - GET_CENTROID
    linkageType: ''
    returnType: TDigest*
    signature: 'TDigest *tdigestNewFrom(void *pBuf, int32_t compression) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tdigestCompress
      Src: /src/tdengine/source/util/src/tdigest.c:188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - t
    - x
    - w
    argTypes:
    - TDigest*
    - double
    - int64_t
    constantsTouched: []
    func_position:
      end: 191
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 191
    functionName: tdigestAdd
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - tdigestCompress
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdigestAdd(TDigest *t, double x, int64_t w) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdigestCompress
      Src: /src/tdengine/source/util/src/tdigest.c:254,1
    - Dst: uError
      Src: /src/tdengine/source/util/src/tdigest.c:255,1
    - Dst: FLOAT_EQ
      Src: /src/tdengine/source/util/src/tdigest.c:260,1
    - Dst: FLOAT_EQ
      Src: /src/tdengine/source/util/src/tdigest.c:259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - t
    - q
    argTypes:
    - TDigest*
    - double
    constantsTouched: []
    func_position:
      end: 293
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 293
    functionName: tdigestQuantile
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - uError
    - FLOAT_EQ
    - tdigestCompress
    linkageType: ''
    returnType: double
    signature: 'double tdigestQuantile(TDigest *t, double q) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tdigestAdd
      Src: /src/tdengine/source/util/src/tdigest.c:301,1
    - Dst: tdigestAdd
      Src: /src/tdengine/source/util/src/tdigest.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - t1
    - t2
    argTypes:
    - TDigest*
    - TDigest*
    constantsTouched: []
    func_position:
      end: 312
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 312
    functionName: tdigestMerge
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - tdigestAdd
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tdigestMerge(TDigest *t1, TDigest *t2) '
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: tdigestCompress
      Src: /src/tdengine/source/util/src/tdigest.c:202,1
    - Dst: INTERPOLATE
      Src: /src/tdengine/source/util/src/tdigest.c:209,1
    - Dst: INTERPOLATE
      Src: /src/tdengine/source/util/src/tdigest.c:227,1
    - Dst: TMAX
      Src: /src/tdengine/source/util/src/tdigest.c:228,1
    - Dst: FLOAT_EQ
      Src: /src/tdengine/source/util/src/tdigest.c:207,1
    - Dst: INTERPOLATE
      Src: /src/tdengine/source/util/src/tdigest.c:239,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 2
    argNames:
    - t
    - x
    argTypes:
    - TDigest*
    - double
    constantsTouched: []
    func_position:
      end: 243
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 243
    functionName: tdigestCDF
    functionSourceFile: /src/tdengine/source/util/src/tdigest.c
    functionUses: []
    functionsReached:
    - TMAX
    - FLOAT_EQ
    - INTERPOLATE
    - tdigestCompress
    linkageType: ''
    returnType: double
    signature: 'double tdigestCDF(TDigest *t, double x) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tbase64.c:22,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - value
    - vlen
    - result
    argTypes:
    - uint8_t*
    - int32_t
    - char**
    constantsTouched: []
    func_position:
      end: 45
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 45
    functionName: base64_encode
    functionSourceFile: /src/tdengine/source/util/src/tbase64.c
    functionUses: []
    functionsReached:
    - taosMemoryMalloc
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t base64_encode(const uint8_t *value, int32_t vlen, char **result) '
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tbase64.c:58,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:83,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:85,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:79,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:81,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:88,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:88,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:91,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:91,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:94,1
    - Dst: CHAR64
      Src: /src/tdengine/source/util/src/tbase64.c:94,1
    - Dst: taosMemoryFree
      Src: /src/tdengine/source/util/src/tbase64.c:101,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 4
    argNames:
    - value
    - inlen
    - outlen
    - result
    argTypes:
    - char*
    - int32_t
    - int32_t*
    - uint8_t**
    constantsTouched: []
    func_position:
      end: 106
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 106
    functionName: base64_decode
    functionSourceFile: /src/tdengine/source/util/src/tbase64.c
    functionUses: []
    functionsReached:
    - taosMemoryFree
    - taosMemoryMalloc
    - CHAR64
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t base64_decode(const char *value, int32_t inlen, int32_t *outlen,
      uint8_t **result) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:44,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - z
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: strdequote
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t strdequote(char *z) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 36
    argCount: 3
    argNames:
    - string
    - token
    - tokenLen
    argTypes:
    - char*
    - char**
    - int32_t*
    constantsTouched: []
    func_position:
      end: 278
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 278
    functionName: paGetToken
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *paGetToken(char *string, char **token, int32_t *tokenLen) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strnchr
      Src: /src/tdengine/source/util/src/tutil.c:419,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tutil.c:425,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tutil.c:428,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tutil.c:427,1
    - Dst: memset
      Src: /src/tdengine/source/util/src/tutil.c:426,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - str
    - size
    - reject
    - rsize
    argTypes:
    - char*
    - size_t
    - char*
    - size_t
    constantsTouched: []
    func_position:
      end: 471
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 471
    functionName: tstrncspn
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - strnchr
    - memset
    linkageType: ''
    returnType: size_t
    signature: 'size_t tstrncspn(const char *str, size_t size, const char *reject,
      size_t rsize) '
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tutil.c:73,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tutil.c:86,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tutil.c:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - z
    argTypes:
    - char*
    constantsTouched: []
    func_position:
      end: 103
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 103
    functionName: strtrim
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - isspace
    linkageType: ''
    returnType: size_t
    signature: 'size_t strtrim(char *z) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:283,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:284,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - num
    - len
    argTypes:
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 312
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 312
    functionName: strnatoi
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int64_t
    signature: 'int64_t strnatoi(const char *num, int32_t len) '
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wcsnchr
      Src: /src/tdengine/source/util/src/tutil.c:475,1
    - Dst: wcsnchr
      Src: /src/tdengine/source/util/src/tutil.c:480,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - wcs
    - size
    - reject
    - rsize
    argTypes:
    - TdUcs4*
    - size_t
    - TdUcs4*
    - size_t
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: twcsncspn
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - wcsnchr
    linkageType: ''
    returnType: size_t
    signature: 'size_t twcsncspn(const TdUcs4 *wcs, size_t size, const TdUcs4 *reject,
      size_t rsize) '
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - bytes
    - len
    - str
    argTypes:
    - char
    - int32_t
    - char
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: taosByteArrayToHexStr
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosByteArrayToHexStr(char bytes[], int32_t len, char str[]) '
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tIsValidFileName
      Src: /src/tdengine/source/util/src/tutil.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - filePath
    - pattern
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 526
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 526
    functionName: tIsValidFilePath
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - tIsValidFileName
    linkageType: ''
    returnType: bool
    signature: 'bool tIsValidFilePath(const char *filePath, const char *pattern) '
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:390,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - hexstr
    - bytes
    argTypes:
    - char
    - char
    constantsTouched: []
    func_position:
      end: 415
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 415
    functionName: taosHexStrToByteArray
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t taosHexStrToByteArray(char hexstr[], char bytes[]) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: taosIsBigChar
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosIsBigChar(char c) '
  - BBCount: 29
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 585
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 585
    functionName: taosIsSpecialChar
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosIsSpecialChar(char c) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - val
    - hex
    argTypes:
    - uint64_t
    - char
    constantsTouched: []
    func_position:
      end: 350
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 350
    functionName: tintToHex
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t tintToHex(uint64_t val, char hex[]) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_ERRNO
      Src: /src/tdengine/source/util/src/tutil.c:490,1
    - Dst: isnan
      Src: /src/tdengine/source/util/src/tutil.c:492,1
    - Dst: isspace
      Src: /src/tdengine/source/util/src/tutil.c:495,1
    - Dst: taosStr2Float
      Src: /src/tdengine/source/util/src/tutil.c:491,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - float*
    constantsTouched: []
    func_position:
      end: 501
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 501
    functionName: parseCfgReal
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - taosStr2Float
    - SET_ERRNO
    - isspace
    - isnan
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t parseCfgReal(const char *str, float *out) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - val
    - radix
    - str
    argTypes:
    - uint64_t
    - size_t
    - char
    constantsTouched: []
    func_position:
      end: 372
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 372
    functionName: titoa
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: 'int32_t titoa(uint64_t val, size_t radix, char str[]) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: regcomp
      Src: /src/tdengine/source/util/src/tutil.c:510,1
    - Dst: fprintf
      Src: /src/tdengine/source/util/src/tutil.c:511,1
    - Dst: regfree
      Src: /src/tdengine/source/util/src/tutil.c:516,1
    - Dst: regexec
      Src: /src/tdengine/source/util/src/tutil.c:515,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 2
    argNames:
    - fileName
    - pattern
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 521
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 521
    functionName: tIsValidFileName
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - fprintf
    - regcomp
    - regexec
    - regfree
    linkageType: ''
    returnType: bool
    signature: 'bool tIsValidFileName(const char *fileName, const char *pattern) '
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: taosMemoryMalloc
      Src: /src/tdengine/source/util/src/tutil.c:109,1
    - Dst: strsep
      Src: /src/tdengine/source/util/src/tutil.c:114,1
    - Dst: taosMemoryRealloc
      Src: /src/tdengine/source/util/src/tutil.c:123,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:115,1
    - Dst: strsep
      Src: /src/tdengine/source/util/src/tutil.c:114,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 3
    argNames:
    - z
    - delim
    - num
    argTypes:
    - char*
    - char*
    - int32_t*
    constantsTouched: []
    func_position:
      end: 131
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 131
    functionName: strsplit
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - strlen
    - taosMemoryRealloc
    - taosMemoryMalloc
    - strsep
    linkageType: ''
    returnType: char**
    signature: 'char **strsplit(char *z, const char *delim, int32_t *num) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 3
    argNames:
    - haystack
    - needle
    - len
    argTypes:
    - TdUcs4*
    - TdUcs4
    - size_t
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: wcsnchr
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: TdUcs4*
    signature: 'TdUcs4 *wcsnchr(const TdUcs4 *haystack, TdUcs4 needle, size_t len) '
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 215
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 215
    functionName: strntolower
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *strntolower(char *dst, const char *src, int32_t n) '
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/tdengine/source/util/src/tutil.c:316,1
    - Dst: memcpy
      Src: /src/tdengine/source/util/src/tutil.c:325,1
    - Dst: taosMemoryCalloc
      Src: /src/tdengine/source/util/src/tutil.c:321,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:318,1
    - Dst: strstr
      Src: /src/tdengine/source/util/src/tutil.c:318,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:325,1
    - Dst: strlen
      Src: /src/tdengine/source/util/src/tutil.c:325,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - string
    - begin
    - end
    argTypes:
    - char*
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: strbetween
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - taosMemoryCalloc
    - strlen
    - strstr
    - memcpy
    linkageType: ''
    returnType: char*
    signature: 'char *strbetween(char *string, char *begin, char *end) '
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: taosIsSmallChar
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'bool taosIsSmallChar(char c) '
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/tdengine/source/util/src/tutil.c:28,1
    - Dst: memcmp
      Src: /src/tdengine/source/util/src/tutil.c:29,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 4
    argNames:
    - haystack
    - hlen
    - needle
    - nlen
    argTypes:
    - char*
    - int32_t
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 35
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 35
    functionName: tmemmem
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached:
    - memchr
    - memcmp
    linkageType: ''
    returnType: void*
    signature: 'void *tmemmem(const char *haystack, int32_t hlen, const char *needle,
      int32_t nlen) '
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 4
    argNames:
    - haystack
    - needle
    - len
    - skipquote
    argTypes:
    - char*
    - char
    - int32_t
    - bool
    constantsTouched: []
    func_position:
      end: 151
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 151
    functionName: strnchr
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *strnchr(const char *haystack, char needle, int32_t len, bool
      skipquote) '
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - char*
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: strtolower
    functionSourceFile: /src/tdengine/source/util/src/tutil.c
    functionUses: []
    functionsReached: []
    linkageType: ''
    returnType: char*
    signature: 'char *strtolower(char *dst, const char *src) '
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - char*
    - char*
    - int32_t
    constantsTouched: []
    func_position:
      end: 233
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 233
    func